Bug 168171 - gas internal error (tc-i386.c:3652)
gas internal error (tc-i386.c:3652)
Status: CLOSED RAWHIDE
Product: Fedora
Classification: Fedora
Component: binutils (Show other bugs)
4
x86_64 Linux
medium Severity high
: ---
: ---
Assigned To: Jakub Jelinek
:
Depends On:
Blocks:
  Show dependency treegraph
 
Reported: 2005-09-13 02:55 EDT by Colin Bayer
Modified: 2007-11-30 17:11 EST (History)
0 users

See Also:
Fixed In Version: 2.16.91.0.2-4
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2005-09-13 03:38:30 EDT
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


Attachments (Terms of Use)
The offending assembly file. (1.96 KB, application/octet-stream)
2005-09-13 02:56 EDT, Colin Bayer
no flags Details

  None (edit)
Description Colin Bayer 2005-09-13 02:55:07 EDT
From Bugzilla Helper:
User-Agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.7.8) Gecko/20050524 Fedora/1.0.4-4 Firefox/1.0.4

Description of problem:
Trying to build cross-compiling (i386 target) gcc 3.3.1 with gcc 3.4.3, make all-gcc errors out on gcc-3.3.1/gcc/crtstuff.c with an assembler error.  Error message in "Additional information".

Version-Release number of selected component (if applicable):
binutils-2.15.94.0.2.2-2.1

How reproducible:
Always

Steps to Reproduce:
1. Assemble the attached asm file with as.

Additional info:

/tmp/cc0sodb2.s: Assembler messages:
/tmp/cc0sodb2.s:36: Error: suffix or operands invalid for `push'
/tmp/cc0sodb2.s:49: Error: suffix or operands invalid for `call'
/tmp/cc0sodb2.s:59: Error: suffix or operands invalid for `push'
/tmp/cc0sodb2.s:77: Error: suffix or operands invalid for `push'
/tmp/cc0sodb2.s:83: Error: suffix or operands invalid for `pop'
/tmp/cc0sodb2.s:84: Internal error, aborting at ../../gas/config/tc-i386.c line 3652 in output_imm
Please report this bug.
make[1]: *** [crtbegin.o] Error 1
make[1]: Leaving directory `/opt/lgp/gcc-3.3.1/gcc'
make: *** [all-gcc] Error 2
Comment 1 Colin Bayer 2005-09-13 02:56:42 EDT
Created attachment 118750 [details]
The offending assembly file.
Comment 2 Jakub Jelinek 2005-09-13 03:38:30 EDT
This no longer crashes in rawhide:
rpm -q binutils; as 168171.s; echo $?
binutils-2.16.91.0.2-4
168171.s: Assembler messages:
168171.s:36: Error: suffix or operands invalid for `push'
168171.s:49: Error: suffix or operands invalid for `call'
168171.s:59: Error: suffix or operands invalid for `push'
168171.s:77: Error: suffix or operands invalid for `push'
168171.s:83: Error: suffix or operands invalid for `pop'
168171.s:89: Error: suffix or operands invalid for `push'
168171.s:90: Error: suffix or operands invalid for `push'
168171.s:91: Error: suffix or operands invalid for `push'
168171.s:92: Error: suffix or operands invalid for `push'
168171.s:103: Error: suffix or operands invalid for `push'
1

The errors are correct, you are trying to assemble 32-bit code as if it was
64-bit.
Comment 3 Colin Bayer 2005-09-13 04:51:30 EDT
(In reply to comment #2)
> This no longer crashes in rawhide:
> [snip]
> The errors are correct, you are trying to assemble 32-bit code as if it was
> 64-bit.

The build process is the one doing the assembling, but good to know it's fixed.
 Thanks.

Note You need to log in before you can comment on or make changes to this bug.