# [gelöst]gcc 3.4 Compileroptionen für Mobile AMD Sempron

## flo_gentoo

Hallo

Ich stelle mein System grade um auf gcc 3.4, und möchte dann ein 

```
emerge -e system && emerge -e world
```

durchführen.

Ich google mir schon die Finger wund, aber ich finde nirgends etwas über die CFLAGS für meinen Prozessor

Hier noch mal mein Prozessor

```
flo@fluxbox ~ $ cat /proc/cpuinfo

processor       : 0

vendor_id       : AuthenticAMD

cpu family      : 15

model           : 8

model name      : Mobile AMD Sempron(tm) Processor 2800+

stepping        : 2

cpu MHz         : 1601.184

cache size      : 256 KB

fdiv_bug        : no

hlt_bug         : no

f00f_bug        : no

coma_bug        : no

fpu             : yes

fpu_exception   : yes

cpuid level     : 1

wp              : yes

flags           : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 syscall nx mmxext 3dnowext 3dnow

bogomips        : 3207.95

```

Edit:

Ich poste mal einen auszug von lspci, dort steht was von  [AMD] K8 [Athlon64/Opteron] 

```
fluxbox flo # lspci

0000:00:00.0 Host bridge: VIA Technologies, Inc. K8M800 Host Bridge

0000:00:00.1 Host bridge: VIA Technologies, Inc. K8M800 Host Bridge

0000:00:00.2 Host bridge: VIA Technologies, Inc. K8M800 Host Bridge

0000:00:00.3 Host bridge: VIA Technologies, Inc. K8M800 Host Bridge

0000:00:00.4 Host bridge: VIA Technologies, Inc. K8M800 Host Bridge

0000:00:00.7 Host bridge: VIA Technologies, Inc. K8M800 Host Bridge

0000:00:01.0 PCI bridge: VIA Technologies, Inc. VT8237 PCI bridge [K8T800/K8T890                                                                                     

 South]

0000:00:0b.0 CardBus bridge: Texas Instruments PCI7420 CardBus Controller

0000:00:0b.1 CardBus bridge: Texas Instruments PCI7420 CardBus Controller

0000:00:0b.2 FireWire (IEEE 1394): Texas Instruments PCI7x20 1394a-2000 OHCI Two                                                                                     

-Port PHY/Link-Layer Controller

0000:00:10.0 USB Controller: VIA Technologies, Inc. VT82xxxxx UHCI USB 1.1 Contr                                                                                     

oller (rev 80)

0000:00:10.1 USB Controller: VIA Technologies, Inc. VT82xxxxx UHCI USB 1.1 Contr                                                                                     

oller (rev 80)

0000:00:10.2 USB Controller: VIA Technologies, Inc. VT82xxxxx UHCI USB 1.1 Contr                                                                                     

oller (rev 80)

0000:00:10.3 USB Controller: VIA Technologies, Inc. USB 2.0 (rev 82)

0000:00:11.0 ISA bridge: VIA Technologies, Inc. VT8235 ISA Bridge

0000:00:11.1 IDE interface: VIA Technologies, Inc. VT82C586A/B/VT82C686/A/B/VT82                                                                                     

3x/A/C PIPC Bus Master IDE (rev 06)

0000:00:11.5 Multimedia audio controller: VIA Technologies, Inc. VT8233/A/8235/8                                                                                     

237 AC97 Audio Controller (rev 50)

0000:00:11.6 Communication controller: VIA Technologies, Inc. AC'97 Modem Contro                                                                                     

ller (rev 80)

0000:00:12.0 Ethernet controller: VIA Technologies, Inc. VT6102 [Rhine-II] (rev                                                                                      

74)

0000:00:18.0 Host bridge: Advanced Micro Devices [AMD] K8 [Athlon64/Opteron] Hyp                                                                                     

erTransport Technology Configuration

0000:00:18.1 Host bridge: Advanced Micro Devices [AMD] K8 [Athlon64/Opteron] Add                                                                                     

ress Map

0000:00:18.2 Host bridge: Advanced Micro Devices [AMD] K8 [Athlon64/Opteron] DRA                                                                                     

M Controller

0000:00:18.3 Host bridge: Advanced Micro Devices [AMD] K8 [Athlon64/Opteron] Mis                                                                                     

cellaneous Control

0000:01:00.0 VGA compatible controller: VIA Technologies, Inc. S3 Unichrome Pro                                                                                      

VGA Adapter (rev 01)

```

Also was ist es denn nun? Irgentwie verwirrt mich dasLast edited by flo_gentoo on Fri Oct 14, 2005 6:26 pm; edited 3 times in total

----------

## Hungry Hugo

Hi ,

hier mal ein "kleiner" Ausschnitt aus dem GCC 3.4.4 Handbuch.

 *Handbuch GCC 3.4.4 wrote:*   

> cpu-type
> 
> Tune to cpu-type everything applicable about the generated code, except for the ABI and the set of available instructions. The choices for cpu-type are:
> 
> i386 -> Original Intels i386 CPU.
> ...

 

Nach dem zu Urteilen würde ich als flag den K8 nehmen... opteron & athlon-fx fällt definitiv weg...

bleibt nur noch der athlon64 als zweite Möglichkeit... ja da ist guter Rat teuer

Ich gehe jetzt mal davon aus das der Sempron ein 64-bit Gerät ist??

EDIT: also habe gerade noch mal geschaut... jetzt würde ich auch athlon64 ausschließen da der ja auf nen Socket-939 kommt...(  :Cool:  bin kein Athlon Fan stehe auf Intel) also ich denke mit K8 fährst du am sichersten/besten. 

Gruß Hungry Hugo

----------

## flo_gentoo

Hallo  

Danke für die Antwort

Das ist ein 32 Bit System, das handbuch hatte ich auch schon, aber so wirklich schlau wird man daraus nicht.

Im moment nutze ich die athlon-xp Cflag, und wegen der umstellung dachte ich, ich schaue mal ob ich nicht lieber auf was anderes compillieren sollte

----------

## Hungry Hugo

Hmm...

also ist der Sempron keine 64-bit CPU??... sondern nur 32-bit??... oder meist du dein System(Gentoo) ist als 32-bit  Version installiert?? 

Gruß Hungry Hugo

----------

## flo_gentoo

nein der Sempron ist kein 64 Bit Prozessor, irgentwie ist das komisch, über Mobile Semprons steht im gcc handbuch gar nix drin

----------

## Hungry Hugo

 *flo_gentoo wrote:*   

> nein der Sempron ist kein 64 Bit Prozessor, irgentwie ist das komisch, über Mobile Semprons steht im gcc handbuch gar nix drin

 

wie war...  *Google-Suche sempron site:http://gcc.gnu.org/ wrote:*   

> Es wurden keine mit Ihrer Suchanfrage - sempron site:http://gcc.gnu.org/ - übereinstimmenden Dokumente gefunden.

 

Dann registrier dich doch einfach mal bei der mailing list von gcc-help http://gcc.gnu.org/lists.html und schildere dein Problem bei der -> http://gcc.gnu.org/ml/gcc-help/ mailing list. Du bist bestimmt nicht de einzigste mit nem Mobile Sempron.

Gruß Hungry Hugo

----------

## tam

Folgendes sollte es tun, leider ist der Sempron nicht explizit in http://gentoo-wiki.com/Safe_Cflags erwähnt

```
CHOST="i686-pc-linux-gnu"

CFLAGS="-march=athlon-xp -O2 -pipe -fomit-frame-pointer"

CXXFLAGS="${CFLAGS}"

```

----------

## flo_gentoo

```
[quote]

CHOST="i686-pc-linux-gnu"

CFLAGS="-march=athlon-xp -O2 -pipe -fomit-frame-pointer"

CXXFLAGS="${CFLAGS}"

```

Genau so habe ich das auch im moment

 *Quote:*   

> Dann registrier dich doch einfach mal bei der mailing list von gcc-help http://gcc.gnu.org/lists.html und schildere dein Problem bei der -> http://gcc.gnu.org/ml/gcc-help/ mailing list. Du bist bestimmt nicht de einzigste mit nem Mobile Sempron.
> 
> 

 

Das werde ich mal machen, danke

----------

## flo_gentoo

So, der tipp mit der anmeldung bei der Mailingliste war gold wert   :Very Happy: 

Für meinen Prozessor muss ich k8 als Optimierung angeben, nicht athlon-xp

man kann es daran unterscheiden, ob der prozessor sse2 unterstützt oder nicht, tut er es muss man k8 angeben, tut er es nicht athlon-xpLast edited by flo_gentoo on Thu Oct 13, 2005 6:50 pm; edited 1 time in total

----------

## Hilefoks

 *flo_gentoo wrote:*   

> man kann es daran unterscheiden, ob der prozessor sse2 unterstützt oder nicht, tut er es muss man athlon-xp angeben, tut er es nicht k8

 

Ist das nicht genau anders herum?

SSE2 -> K8

kein SSE2 -> AthlonXP

Mfg Hilefoks

----------

## flo_gentoo

ja richtig, habe mich verschrieben gehabt

----------

## Hungry Hugo

Hi flo_gentoo,

 *flo_gentoo wrote:*   

> So, der tipp mit der anmeldung bei der Mailingliste war gold wert  
> 
> Für meinen Prozessor muss ich k8 als Optimierung angeben, nicht athlon-xp
> 
> man kann es daran unterscheiden, ob der prozessor sse2 unterstützt oder nicht, tut er es muss man k8 angeben, tut er es nicht athlon-xp

 

wenn dein Problem gelöst ist dann füge [solved] in den Thread-Titel ein damit andere erkennen können das sich das Problem

gelöst hat  :Very Happy: .

Gruß Hungry Hugo

----------

## tam

Vielleicht solltest Du den Sempron noch hier http://gentoo-wiki.com/Safe_Cflags eintragen.

----------

## flo_gentoo

 *Quote:*   

> Vielleicht solltest Du den Sempron noch hier http://gentoo-wiki.com/Safe_Cflags eintragen.

 

Done

----------

## flo_gentoo

Hm, jetzt wird es komisch, ich hatte das alles schön in die make.conf eingetaragen,  (bin bei der Installation) und dann das bootstrap script ausgeführt, da kommt dann ein fehler, das irgentwas mit gcc1 `ntune=k8  nicht stimen würde.

Das ist die 2005.1, kann es sein das es mit dem gcc 3.3 nicht geht?

----------

## Hungry Hugo

jepp so sieht es aus  :Cool: 

da bleibt dir nichts anderes übrig als gcc 3.4.x zu emergen und dann die make anzupassen...

oder machst du ne neuinstall??

EDIT: hier die Auswahlmöglichkeiten der Vers. 3.3.6

-mcpu=cpu-type

Tune to cpu-type everything applicable about the generated code, except for the ABI and the set of available instructions. The choices for cpu-type are i386, i486, i586, i686, pentium, pentium-mmx, pentiumpro, pentium2, pentium3, pentium4, prescott, nocona, k6, k6-2, k6-3, athlon, athlon-tbird, athlon-4, athlon-xp, athlon-mp, winchip-c6, winchip2 and c3.

EDIT: kannst das ja noch auf der Wiki-Seite -> CPU Flags posten das K8 nur ab Vers. 3.4.x geht.

Gruß Hungry Hugo

----------

## flo_gentoo

Ja habe es in der Wiki geändert, na sowas blödes aber auch, ich dachte ich kann es gleich verwenden, oder kann man auch vor dem Bootstrapen auf ne andere gcc umsteigen? (bei ner neuinstall, das andere weis ich)

----------

## Hungry Hugo

 *flo_gentoo wrote:*   

> Ja habe es in der Wiki geändert, na sowas blödes aber auch, ich dachte ich kann es gleich verwenden, oder kann man auch vor dem Bootstrapen auf ne andere gcc umsteigen? (bei ner neuinstall, das andere weis ich)

 

Ne du ich glaube da mußt du dich noch einen Moment gedulden bis du dich als ROOT oder wer auch immer das erste mal einloggen kannst.

Du kannst ja dann nach der Änderung in der make.conf dein System komplett neu kompilieren  :Very Happy:  mit 

```
# emerge -e world
```

.

Gruß Hungry Hugo

----------

## flo_gentoo

 *Quote:*   

> Du kannst ja dann nach der Änderung in der make.conf dein System komplett neu kompilieren  mit
> 
> Code:
> 
> # emerge -e world
> ...

 

Ja ist bekannt, schade, aber da muss ich dann wohl durch

----------

## flo_gentoo

Hm, ich bin schon wieder etwas verwirrt, in der Deutschen Wiki steht man sollte 

emerge-e system && emerge -e world machen, du hast aber nur emerge -e world geschrieben, was denn nun?

----------

## Hungry Hugo

 *flo_gentoo wrote:*   

> Hm, ich bin schon wieder etwas verwirrt, in der Deutschen Wiki steht man sollte
> 
> emerge-e system && emerge -e world machen, du hast aber nur emerge -e world geschrieben, was denn nun?

 

ja ich kann mir auch denken warum...  :Cool: 

mit einem emerge -e system kompilierst du erst alle System relevanten Sachen sozusagen die Basis (alles was du nicht selber emerged hast)

um dann mit dem "neuen" System dann den Rest zu kompilieren... also alle anderen Packete die du selber installiert hast.

Ich persönlich habe auch erst gcc 3.3.x drauf gehabt und dann auf 3.4.x gewechselt, das CPU Flag auf pentium-m geändert

und nur ein emerge -uD --newuse world gemacht weil ich noch ein paar USE Flags geändert habe und die Kiste läuft auch wie Atze...

was ich dir aber immer empfehlen kann ist vorher mit emerge --newuse -pvtuD world (das rote ist das wichtige!!!) zu schauen

was alles emerge vor hat... was die Buchstaben "p", "v" und "t" bedeuten kannst du ja wenn du es nicht schon weißt im Wiki nachlesen.

emerge -e system && emerge -e world <- auf jeden Fall wird das ne menge Zeit in Anspruch nehmen also mach es gleich

nach dem ersten Reboot wenn du gcc 3.4.x emerged hast (ich gehe davon aus das du weißt wie man das macht...)

da sind schon ein paar Sachen zu beachten..  :Very Happy: 

Gruß Hungry Hugo

----------

## flo_gentoo

Ach so, jetzt ist der Groschen gefallen...

Is Fertig mit compillieren, rennt echt gut der gcc 3.4.4 und das sys auch, das -mtune=k8  hat echt was gebracht

----------

