Summary: | Unable to compile perl-5.10.1 with gcc-4.5.0, no such instruction "movbe" (+gettext too) | ||
---|---|---|---|
Product: | Gentoo Linux | Reporter: | Piotrek Juzwiak <piotrek.juzwiak> |
Component: | [OLD] GCC Porting | Assignee: | Gentoo Linux bug wranglers <bug-wranglers> |
Status: | RESOLVED INVALID | ||
Severity: | major | ||
Priority: | High | ||
Version: | unspecified | ||
Hardware: | x86 | ||
OS: | Linux | ||
Whiteboard: | |||
Package list: | Runtime testing required: | --- |
Description
Piotrek Juzwiak
2010-05-14 14:03:59 UTC
If that changes anything i am compiling it while chrooting (fresh system). Are you sure about '-mfpmath=sse -mssse3' part of your CFLAGS ? Also, on ~x86 '-m32' is rather redundant. Why shouldn't i be sure about those settings? From what i gathered (forums, mailing lists) it is safe and if i don't explicitly use -mssse3 (at least with native, no idea if it is the same with -march=atom) it won't be used. I put -m32 since there are 64 bit atom chips but i want only 32 bit code without 64 bit optimizations (of course i may be wrong). If i understand it right -mssse3 is the same as -msse3 (or not?) otherwise it would say that there is no such command/flag ? Atom has sse,sse2,ssse3 and mmx so i guess ssse3 is safe since it will automatically enable sse,sse2,ssse3 and mmx? I just read online docs for gcc 4.5.0 so it looks like atom already activates sse,sse2,ssse3 and mmx (ssse3 is correct from what i see and it shouldn't result in compile failures) http://gcc.gnu.org/onlinedocs/gcc-4.5.0/gcc/i386-and-x86_002d64-Options.html The docs introduce new instructions (aforementioned movbe) which DO NOT exist in gcc 4.4.3 (just change the numbers after gcc in above link to check 4.4.3 docs. I found the same bug with not found instruction (movbe) in gettext, should i file another bug report? From what i see my CPU supports movbe instructions. Is it possible i get those errors because i am compiling the system (chroot) while using ubuntu 10.4 or should i use system rescue cd (which is gentoo based from what i remember) cat /proc/cpuinfo cat /proc/cpuinfo processor : 0 vendor_id : GenuineIntel cpu family : 6 model : 28 model name : Intel(R) Atom(TM) CPU N270 @ 1.60GHz stepping : 2 cpu MHz : 800.000 cache size : 512 KB physical id : 0 siblings : 2 core id : 0 cpu cores : 1 apicid : 0 initial apicid : 0 fdiv_bug : no hlt_bug : no f00f_bug : no coma_bug : no fpu : yes fpu_exception : yes cpuid level : 10 wp : yes flags : fpu vme de tsc msr pae mce cx8 apic mtrr pge mca cmov pat clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe nx constant_tsc arch_perfmon pebs bts aperfmperf pni dtes64 monitor ds_cpl est tm2 ssse3 xtpr pdcm movbe lahf_lm bogomips : 3191.91 clflush size : 64 cache_alignment : 64 address sizes : 32 bits physical, 32 bits virtual power management: processor : 1 vendor_id : GenuineIntel cpu family : 6 model : 28 model name : Intel(R) Atom(TM) CPU N270 @ 1.60GHz stepping : 2 cpu MHz : 800.000 cache size : 512 KB physical id : 0 siblings : 2 core id : 0 cpu cores : 1 apicid : 1 initial apicid : 1 fdiv_bug : no hlt_bug : no f00f_bug : no coma_bug : no fpu : yes fpu_exception : yes cpuid level : 10 wp : yes flags : fpu vme de pse tsc msr pae mce cx8 apic mtrr pge mca cmov pat clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe nx constant_tsc arch_perfmon pebs bts aperfmperf pni dtes64 monitor ds_cpl est tm2 ssse3 xtpr pdcm movbe lahf_lm bogomips : 3191.94 clflush size : 64 cache_alignment : 64 address sizes : 32 bits physical, 32 bits virtual power management: Is it possible that by using Ubuntu 10.4 (and in fact using that kernel) and it's GENERIC kernel (which probably doesn't suport movbe) i am unable to use those instructions when chrooting to my installation? I found answer to my bug, as it was a fresh system i had old binutils 2.8.x while movbe is available from binutils version 2.10.x After recompiling binutils with old gcc 4.3.4 i can now use gcc 4.5.0 without problems |