This is the mail archive of the
binutils@sources.redhat.com
mailing list for the binutils project.
Re: Huge dynamically linked program does not run on mips-linux
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