From Bugzilla Helper: User-Agent: Mozilla/5.0 (X11; U; Linux i586; en-US; rv:1.2) Gecko/20021202 Description of problem: When trying to compile lame 3.93.1 with gcc 3.2.1-2 from Redhat Rawhide, the procedure stops with an error from the assembler if the "-march=k6-3" option is set. The file "encoder.c" in the directory "libmp3lame" of lame-3.93.1 (the latest) has problem if compiled with "-march=k6-3" and "-fPIC". Version-Release number of selected component (if applicable): 3.2.1-2 How reproducible: Always Steps to Reproduce: 1. cd to "libmp3lame" in the lame-3.93.1 directory 2. Type the following compiling command (one line): gcc -DHAVE_CONFIG_H -I. -I. -I.. -I../include -I. -I../mpglib/ -I.. -Wall -s -march=k6-3 -O3 -fomit-frame-pointer -ffast-math -funroll-loops -maccumulate-outgoing-args -Wall -c encoder.c -MT encoder.lo -MD -MP -MF .deps/encoder.TPlo -fPIC -DPIC -o .libs/encoder.lo 2a. If "-S" is added (to the above line), the produced assembler output (encoder.s) cannot be assebled with "as encoder.s", giving the error as reported below. Actual Results: /tmp/ccFUgnFV.s: Assembler messages: /tmp/ccFUgnFV.s:787: Error: value of -141 too large for field of 1 bytes at 2361 Expected Results: The file is compiled with no error/warning messages. Additional info: If "-march=i586" is choosen everything works fine. If "-fPIC" is removed, the compilation gives no error, but it is not sure the overall result will be OK.
Can you provide encoder.i (e.g. by adding -save-temps to the above gcc cmdline) which you can reproduce it on?
Created attachment 90312 [details] Here is the request file. Note this is gcc-3.2.2-2, same bug still present.
Created attachment 90924 [details] New file from lame 3.93.1 with problems With new gcc-3.2.2-10, lame 3.93.1 compilation goes further, "encoder.c" is compiled, but it fails at the following line, with similar error: gcc -DHAVE_CONFIG_H -I. -I. -I.. -I../include -I. -I../mpglib/ -I.. -Wall -s -march=k6-3 -O3 -fomit-frame-pointer -ffast-math -funroll-loops -maccumulate-outgoing-args -Wall -c vbrquantize.c -MT vbrquantize.lo -MD -MP -MF .deps/vbrquantize.TPlo -fPIC -DPIC -o .libs/vbrquantize.lo vbrquantize.s: Assembler messages: vbrquantize.s:5440: Error: value of -138 too large for field of 1 bytes at 15357
Created attachment 90925 [details] Assembly file with problems
New gcc 3.2.3-4 from RawHide shows the same problem with "vbrquantize.c"
Using gcc 3.3-7 from Rawhide the problem is still there, with "vbrquantize.c".
Tried gcc 3.3.1-1 from Rawhide. Problem still there, with vbrquantize.c
Again, gcc 3.3.1-2 from Rahide, same story. Is this going to be fixed sometime or not?
Reproduced second failure with gcc 3.2.3-20, but works with 3.3.2-1, 3.4.3 20041001, 4.0.0 20041001.