This is the mail archive of the
binutils@sources.redhat.com
mailing list for the binutils project.
Re: MIPS multigot fixes for Linux
- From: Richard Sandiford <rsandifo at redhat dot com>
- To: Daniel Jacobowitz <drow at mvista dot com>
- Cc: binutils at sources dot redhat dot com, Atsushi Nemoto <anemo at mba dot ocn dot ne dot jp>, Eric Christopher <echristo at redhat dot com>
- Date: 12 Nov 2003 08:38:55 +0000
- Subject: Re: MIPS multigot fixes for Linux
- References: <20031111173516.GA27967@nevyn.them.org><87n0b2a2tw.fsf@redhat.com>
Richard Sandiford <rsandifo@redhat.com> writes:
> Looking at the code above, I see VALUE is set by:
>
> if (info->shared
> || h->root.type == bfd_link_hash_undefined
> || h->root.type == bfd_link_hash_undefweak)
> value = 0;
> else if (sym->st_value)
> value = sym->st_value;
> else
> value = h->root.u.def.value;
>
> If the table above is right, then I think your patch will make this
> equivalent to:
>
> value = st_value;
>
> which IMO makes things easier to follow.
Uh. Equivalent for _glibc_. For irix, it fixes a bug, since the relocation
field should contain the symbol value even if info->shared.
Richard