Subject: Re: Bogus variable in ld.elf_so
To: Bang Jun-Young <junyoung@mogua.com>
From: Matt Thomas <matt@3am-software.com>
List: tech-toolchain
Date: 09/05/2002 09:55:36
At 09:47 AM 9/5/2002, Bang Jun-Young wrote:
>Hi,
>
>I don't understand this in ld.elf_so:
>
> tmp = (Elf_Addr)(defobj->relocbase + def->st_value);
> if (*where != tmp)
> *where = tmp;
>
>If *where is not same as tmp, value of tmp is assigned to *where and
>they have same value. If *where is same as tmp, they are still same.
>I can see there lots of unnecessary operations like above. Wouldn't
>it be made simpler like
>
> *where = (Elf_Addr)(defobj->relocbase + def->st_value);
No. The point is to not force a copy-on-write fault if the contents
would be the same.
--
Matt Thomas Internet: matt@3am-software.com
3am Software Foundry WWW URL: http://www.3am-software.com/bio/matt/
Cupertino, CA Disclaimer: I avow all knowledge of this message