The new overflow checking may be wrong.

H.J. Lu hjl@varesearch.com
Thu Jul 1 00:00:00 GMT 1999


Hi,

It seems that the overflow checking change in

1999-04-06  Chris Torek  <torek@bsdi.com>

	* reloc.c (bfd_check_overflow): Add addrsize parameter.  Change
	all callers.  Rewrite completely.
	(_bfd_relocate_contents): Rewrite overflow checking.
	* bfd-in2.h: Rebuild.
	
breaks the Linux kernel build. Linux has relocation of R_386_32 like
from 0x80000010 to 0x801daf40. As I understand, there are some wrap
arounds in addressing scheme on x86 so that it works just fine. With
the new overflow checking, I got many messages like

arch/i386/kernel/head.o: In function `_stext':
arch/i386/kernel/head.o(.text+0x18): relocation truncated to fit: R_386_32 boot_cpu_data

I don't know what the best solution is. I hope it will be fixed soon.

Thanks.


-- 
H.J. Lu (hjl@gnu.org)


More information about the Binutils mailing list