1 |
ro0 schrieb: |
2 |
> Justin wrote: |
3 |
>> ro0 wrote: |
4 |
>>> Justin wrote: |
5 |
>>>> Felix Schuster wrote: |
6 |
>>>>> Hallo! |
7 |
>>>>> |
8 |
>>>>> On Sa, 2009-03-28 at 13:39 +0100, ro0 wrote: |
9 |
>>>>>> Hi! Kleine Anmerkung.. |
10 |
>>>>> noch eine kleine Anmerkung: |
11 |
>>>>> |
12 |
>>>>>> ..das Flag -core=core2 funktioniert nur ab einem >=gcc-4.3. Und da der |
13 |
>>>>>> wohl immernoch nicht als stable markiert ist |
14 |
>>>>> Ist vollkommen korrekt, kann aber den gcc-4.3.3 empfehlen, läuft bei mir |
15 |
>>>>> auf einem Intel Core 2 Quad 64bit (und damit auch -core=core2) |
16 |
>>>>> problemlos seit nun einem halben Jahr. |
17 |
>>>>> |
18 |
>>> Kann den gcc-3.4 auch nur Empfehlen. Benutze ihn schon länger und bin |
19 |
>>> von Grund auf zufrieden. |
20 |
>>> |
21 |
>>>>> Schöne Grüße |
22 |
>>>>> Felix |
23 |
>>>> Interesanter Weise wird der Kernel auch auf 32bit, wenn man als Architektur core2 auswählt mit -march=core2 |
24 |
>>>> gebaut. |
25 |
>>>> |
26 |
>>> # cd /usr/src/linux/arch/x86_64/boot |
27 |
>>> # ls -l |
28 |
>>> lrwxrwxrwx 1 root root 22 2009-03-20 23:55 bzImage -> ../../x86/boot/bzImage |
29 |
>>> |
30 |
>>> Fällt dir was auf? :) 32bit Kernel == 64bit Kernel. |
31 |
>>> Der Unterschied liegt nur in deiner Kernelkonfiguration. |
32 |
>>> |
33 |
>>> |
34 |
>>> Grüße! |
35 |
>>> rø0^ |
36 |
>>> |
37 |
>> march=core2 aktiviert 64 specifische Optimierungen. Können die auf 32bit funktioniren? |
38 |
>> |
39 |
> Ist das eine rethorische Frage? Falls nein, ist die Antwort auch nein. |
40 |
> |
41 |
> |
42 |
Die Frage war nicht rethorisch. Ich hab letztens nen 32bit kernel per distcc gebaut und mir die logs |
43 |
verbose ausgeben lassen. Dabei habe ich gesehen, dass der Kernel so gebaut wird: |
44 |
|
45 |
gcc -MD -MF arch/x86/kernel/.i8253.o.d -nostdinc -isystem /usr/lib/gcc/i686-pc-linux-gnu/4.3.3/include |
46 |
-D__KERNEL__ -Iinclude -I/usr/src/linux-2.6.28-gentoo-r4/arch/x86/include -include |
47 |
include/linux/autoconf.h -Wall -Wundef -Wstrict-prototypes -Wno-trigraphs -fno-strict-aliasing |
48 |
-fno-common -Werror-implicit-function-declaration -O2 -m32 -msoft-float -mregparm=3 -freg-struct-return |
49 |
-mpreferred-stack-boundary=2 -march=i686 -mtune=core2 -Wa,-mtune=generic32 -ffreestanding |
50 |
-DCONFIG_AS_CFI=1 -DCONFIG_AS_CFI_SIGNAL. |
51 |
|
52 |
Daraus schließe ich, -march=core2 ist auch 32bit fähig ist. AFAIK sollte es jedoch 64bit specifische |
53 |
Optimierungen aktivieren. |