This is the mail archive of the
binutils@sources.redhat.com
mailing list for the binutils project.
Re: [BUG] Regression in 2.14.90 (relative to 2.13.90)
On Tue, Nov 18, 2003 at 11:01:36PM +0100, Carlo Wood wrote:
> This is very weird, how is it possible that you don't see the
> bug with the current CVS and I do?
I am convinced the bug is still there. When I *only* replace
'ld', then I can flip the existance of the bug on or off.
Example:
/usr/src/GNU/gcc/PR9509/jasons.test>rm ld
Compile it with installed binutils-2.13.90 (has the bug not) using
a recent compiler that I have laying around:
/usr/src/GNU/gcc/PR9509/jasons.test>/usr/src/GNU/builds-gcc/PR13045/PR13045-native/gcc/collect2 --eh-frame-hdr -m elf_i386 -dynamic-linker /lib/ld-linux.so.2 /usr/lib/crt1.o /usr/lib/crti.o /usr/src/GNU/builds-gcc/PR13045/PR13045-native/gcc/crtbegin.o -L/usr/src/GNU/builds-gcc/PR13045/PR13045-native/i686-pc-linux-gnu/libstdc++-v3/src/.libs -L/usr/src/GNU/builds-gcc/PR13045/PR13045-native/gcc -L/usr/src/GNU/install/lib/gcc/i686-pc-linux-gnu/3.4 -L/usr/src/GNU/install/lib/gcc/i686-pc-linux-gnu/3.4/../../.. --rpath /usr/src/GNU/builds-gcc/PR13045/PR13045-native/i686-pc-linux-gnu/libstdc++-v3/src/.libs:/usr/src/GNU/builds-gcc/PR13045/PR13045-native/gcc wa.o wa2.o -lstdc++ -lm -lgcc_s -lgcc -lc -lgcc_s -lgcc /usr/src/GNU/builds-gcc/PR13045/PR13045-native/gcc/crtend.o /usr/lib/crtn.o
Store the results (independently tested to be equivalent to your
posted results):
/usr/src/GNU/gcc/PR9509/jasons.test>readelf -wl a.out | grep -A1000 'Length: 71' | sed -e 's/8048[0-9a-f]*/8048000/g' > out1
Now use a different 'ld' (I have PATH=.: ...)
/usr/src/GNU/gcc/PR9509/jasons.test>ln -sf /usr/src/GNU/binutils/src/build-i386-redhat-linux/ld/.libs/ld-new ld
And repeat the exact same test:
/usr/src/GNU/gcc/PR9509/jasons.test>/usr/src/GNU/builds-gcc/PR13045/PR13045-native/gcc/collect2 --eh-frame-hdr -m elf_i386 -dynamic-linker /lib/ld-linux.so.2 /usr/lib/crt1.o /usr/lib/crti.o /usr/src/GNU/builds-gcc/PR13045/PR13045-native/gcc/crtbegin.o -L/usr/src/GNU/builds-gcc/PR13045/PR13045-native/i686-pc-linux-gnu/libstdc++-v3/src/.libs -L/usr/src/GNU/builds-gcc/PR13045/PR13045-native/gcc -L/usr/src/GNU/install/lib/gcc/i686-pc-linux-gnu/3.4 -L/usr/src/GNU/install/lib/gcc/i686-pc-linux-gnu/3.4/../../.. --rpath /usr/src/GNU/builds-gcc/PR13045/PR13045-native/i686-pc-linux-gnu/libstdc++-v3/src/.libs:/usr/src/GNU/builds-gcc/PR13045/PR13045-native/gcc wa.o wa2.o -lstdc++ -lm -lgcc_s -lgcc -lc -lgcc_s -lgcc /usr/src/GNU/builds-gcc/PR13045/PR13045-native/gcc/crtend.o /usr/lib/crtn.o
/usr/src/GNU/gcc/PR9509/jasons.test>readelf -wl a.out | grep -A1000 'Length: 71' | sed -e 's/8048[0-9a-f]*/8048000/g' > out2
Compare results:
/usr/src/GNU/gcc/PR9509/jasons.test>diff -u out1 out2
--- out1 2003-11-18 23:20:20.753641368 +0100
+++ out2 2003-11-18 23:20:39.929726160 +0100
@@ -72,10 +72,10 @@
Line Number Statements:
Set File Name to entry 2 in the File Name Table
- Extended opcode 2: set Address to 0x0
- Special opcode 9: advance Address by 0 to 0x0 and Line by 4 to 5
- Special opcode 90: advance Address by 6 to 0x6 and Line by 1 to 6
- Advance PC by 14 to 14
+ Extended opcode 2: set Address to 0x8048000
+ Special opcode 9: advance Address by 0 to 0x8048000 and Line by 4 to 5
+ Special opcode 90: advance Address by 6 to 0x8048000 and Line by 1 to 6
+ Advance PC by 14 to 8048000
Extended opcode 1: End of Sequence
Extended opcode 2: set Address to 0x8048000
As you see, the bug appears by JUST and ONLY using the 'ld' from todays CVS.
--
Carlo Wood <carlo@alinoe.com>