Bug 146078

Summary: Assembler error
Product: [Fedora] Fedora Reporter: Max Waterman <davidmaxwaterman>
Component: binutilsAssignee: Jakub Jelinek <jakub>
Status: CLOSED NOTABUG QA Contact:
Severity: high Docs Contact:
Priority: medium    
Version: 3   
Target Milestone: ---   
Target Release: ---   
Hardware: x86_64   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2005-01-25 12:52:38 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Max Waterman 2005-01-25 09:31:48 UTC
Description of problem:

When attempting to compile mythmusic-0.16-61 from source[1], I get the
message :

{standard input}: Assembler messages:
{standard input}:128: Error: suffix or operands invalid for `pop'
{standard input}:134: Error: suffix or operands invalid for `pop'
make[1]: *** [filters.o] Error 1

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

Thinking the assembler was part of the binutils package, I downloaded
the latest version from http://ftp.gnu.org/gnu/binutils/ and installed
it[2]

How reproducible:
every time

Steps to Reproduce:
1. d/l mythmusic-0.16-61.rhfc3.at.src.rpm from
http://atrpms.net/dist/fc3/mythmusic/ (notice that there is no binary
package for x86_64)
2.install mythmusic-0.16-61.rhfc3.at.src.rpm using rpm
3. d/l mythmusic.spec from the above web page
4. run 'rpmbuild -bb mythmusic.spec'

Actual results:
eventual assembler error

Expected results:
no error

Additional info:
[1] mythmusic-0.16-61.rhfc3.at.src.rpm
[2] I had trouble ensuring that the compiler was using the correct
version of 'as'; I ended up moving /usr/bin/as to as.O and moving the
new version in it's place.

Comment 1 Jakub Jelinek 2005-01-25 12:52:38 UTC
That means the source you're compiling has i386 assembly in it, while you are
building it as 64-bit program or library.
E.g. in 64-bit mode pushl or popl aren't valid instructions (only pushq and popq
can be used).
So, either you need to port that to x86-64, or convince somebody to do that for
you, or live with i386.rpm package.

Comment 2 Max Waterman 2005-01-26 16:11:10 UTC
I guess it was this comment that made me think there was a problem :

http://lists.gnu.org/archive/html/bug-binutils/2004-12/msg00036.html

but if you don't think that applies, then feel free to ignore this.