Messages in this thread | | | Date | Fri, 21 Nov 2003 15:05:23 -0800 (PST) | From | Linus Torvalds <> | Subject | Re: ionice kills vanilla 2.6.0-test9 was [Re: [PATCH] cfq + io priorities (fwd)] |
| |
[ Trivial test input file included, and "bug-binutils" added to the CC ]
On Fri, 21 Nov 2003, Linus Torvalds wrote: > > Just do "gdb vmlinux" and do "disassemble system_call" to see this. It > says something like > > cmp $0x448,%eax > jae syscall_badsys > > and it _should_ use just 274 (0x112 rather than 0x448) on x86. > > Now, I wonder if this has ever worked, of which binutils version broke > it..
Some looking around shows that it works correctly on a SuSE box with
GNU assembler version 2.13.90.0.18 (i486-suse-linux) using BFD version 2.13.90.0.18 20030121 (SuSE Linux) GNU ld version 2.13.90.0.18 20030121 (SuSE Linux)
but is broken on RH Fedora core 1:
GNU assembler version 2.14.90.0.6 (i386-redhat-linux) using BFD version 2.14.90.0.6 20030820 GNU ld version 2.14.90.0.6 20030820
So it definitely _does_ work in some versions, and the bug appears to be new to binutils 2.14, with 2.13 doing the right thing.
You can trivially see if with a simple assembly file like
start: .long 1,2,3,a a=(.-start)/4
where 2.13.90 as shipped by SuSE will get it right (and generate a list of 1,2,3,4), while 2.14.90 from Fedora core will generate 1,2,3,16.
Linus
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |