On Wed, Oct 29, 2003 at 10:14:00AM -0800, Jun Sun wrote: > On Wed, Oct 29, 2003 at 04:32:01PM +0900, Atsushi Nemoto wrote: > > >>>>> On Wed, 22 Oct 2003 17:11:18 +0900 (JST), Atsushi Nemoto <anemo@mba.ocn.ne.jp> said: > > anemo> I have a problem that my huge dynamically linked program cause > > anemo> SIGSEGV or SIGBUS immediately after running from main() on > > anemo> mips-linux. > > > > anemo> Digging into this problem, I found that GOT entries are > > anemo> corrupted. > > ... > > anemo> My program is huge enough so that older binutils causes > > anemo> "relocation truncated to fit" error. > > > > More information. My program's .got size exceeds 64K. It seems the > > corruption does not happen if .got size is smaller then 64K. > > > > $ mips-linux-readelf -e myapp > > ... > > Section Headers: > > [Nr] Name Type Addr Off Size ES Flg Lk Inf Al > > ... > > [21] .got PROGBITS 100b15d0 a075d0 013a04 04 WAp 0 0 16 > > > > Isn't this a known problem in binutils? IIRC, someone is working or has > added "--big-got" support. Atsushi-san's program would not even link with a binutils that didn't support multiple GOTs; I guess that something is going wrong with that support. I don't suppose you could provide a testcase? -- Daniel Jacobowitz MontaVista Software Debian GNU/Linux Developer