Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 39674 - certain CFLAGS cause error emerging libperl ("suffix or operands invalid for `movd')
Summary: certain CFLAGS cause error emerging libperl ("suffix or operands invalid for ...
Status: RESOLVED WORKSFORME
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] Core system (show other bugs)
Hardware: x86 Linux
: High major (vote)
Assignee: Gentoo Perl team
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2004-01-28 09:11 UTC by Joseph Pingenot
Modified: 2005-08-12 13:41 UTC (History)
1 user (show)

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Joseph Pingenot 2004-01-28 09:11:36 UTC
I tried to emerge system last night while installing Gentoo on this new Inspiron 8600 (Pentium-M).

I used the following CFLAGS="-march=pentium3 -mfpmath=sse -mmmx -msse -msse2 -Os -pipe -fschedule-insns2 -fexpensive-optimizations -fomit-frame-pointer"

When emerging libperl, I get the following:
        CCCMD =  gcc -DPERL_CORE -c -fno-strict-aliasing -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -march=pentium3 -mmmx -msse -msse2 -mfpmath=sse -O2 -pipe -fschedule-insns2 -fexpensive-optimizations -fomit-frame-pointer -Wall
{standard input}: Assembler messages:
{standard input}:4360: Error: suffix or operands invalid for `movd'
make: *** [gv.o] Error 1
make: *** Waiting for unfinished jobs....

!!! ERROR: sys-devel/libperl-5.8.0 failed.
!!! Function src_compile, Line 235, Exitcode 2
!!! Unable to make libperl.so
Comment 1 Joseph Pingenot 2004-01-28 09:12:31 UTC
Removing -msse did nothing to change the situation.

Removing -mfpmath=sse -msse -msse2 and -mmmx worked.
Comment 2 Joseph Pingenot 2004-01-28 09:21:05 UTC
Removing -mmmx didn't solve the problem (*only* removed -mmmx)
Removing -mfpmath=sse didn't solve the problem (*only* removed -mfpmath=sse)

EXACT CULPRIT FLAG FOUND:
Removing -msse2 let it build.  The following CFLAGS were supplied:
  "-march=pentium3 -msse -mfpath=sse -mmmx -Os -pipe -fschedule-insns2 -fexpensive-optimizations -fomit-frame-pointer"

Hmm.  This may be just a symptom of the Pentium-M Problem, i.e. Pentium-M is just a Pentium 3 Core with SSE2 and stuff bolted on.  [as far as my reading goes.]

Maybe GCC will support Pentium-M someday.  My understanding is that the best performance comes with -march=pentium3.  Ah well.
Comment 3 SpanKY gentoo-dev 2004-01-28 14:46:33 UTC
what if you append -mno-sse2 and/or -mno-sse

also, you neglected to provide `emerge info` ...

i emerge libperl on my machine with -march=pentium4 and have no problems (pentium4 implies mmx, sse, sse2)
Comment 4 Eric Sammer (RETIRED) gentoo-dev 2004-01-28 15:12:43 UTC
Do we know if this combo (p3 + sse2) works on non-pentium M boxes? If it doesn't, we can just filter it for now, but I'd be surprised if it did. The specific combination should fail regardless of chip, unless I'm mistaken.

Can someone with similar hardware (but not a p-M) test this combo and report back?
Comment 5 SpanKY gentoo-dev 2004-01-28 15:19:45 UTC
SSE2 support - The Pentium M supports MMX, SSE, and SSE2 instructions, though it won't support the 13 new instructions that will reportedly be incorporated into Intel's upcoming Prescott-core Pentium 4 desktop chip.

sounds like you wont experience this bug with just libperl ...

like the better solution would be for you to remove -msse2 from your CFLAGS until gcc catches up
Comment 6 Joseph Pingenot 2004-01-28 15:29:08 UTC
Actually, I just emerged system, the 2.6.2-rc2-mm1 kernel, and ati-radeon drivers (and vim).  Everything worked out great, all the way up from stage 1.

I didn't enable PNI (the 13 new instructions), since I don't have a Prescott chip.

As stated before, once I took the -msse2 flags out, libperl built just fine.

Will send 'emerge info' later, when I have the laptop up the rest of the way.
Comment 7 Joseph Pingenot 2004-01-29 13:39:00 UTC
xine-lib also has the same problem, fwiw.  I've emerged my entire system now (with the -msse2), and only libperl and xine-lib have this problem thus far.  I'll likely emerge some more packages, but it seems unlikely to affect many more.
Comment 8 SpanKY gentoo-dev 2004-01-29 14:49:53 UTC
you still havent given us `emerge info` ;)
Comment 9 Robin Smidsrød 2004-05-12 07:51:09 UTC
Just thought I'd mention that I have a Dell Precision M60 with Pentium-M, and libperl built just fine on my box with arch=pentium3 and -msse2, but I had problems with gtk+-1.2.10-r11 and now with konqueror (part of kdebase-3.2.1). Emerging gtk+ without sse2 fixed it, and I have a feeling konqueror without sse2 will work too.
Comment 10 Jakub Moc (RETIRED) gentoo-dev 2005-08-12 13:41:41 UTC
Closing a stale bug, could not find any later occurrence of this problem in
bugzilla (except for Bug 86859), assuming fixed with up-to-date gcc versions;
besides, emerge --info is still missing here anyway. ;p