|
Message-Id: <1607F838-B823-40E7-882F-B4D24852AE94@pennware.com> Date: Fri, 8 Jun 2012 17:43:31 -0500 From: Richard Pennington <rich@...nware.com> To: "musl@...ts.openwall.com" <musl@...ts.openwall.com> Subject: Re: _GLOBAL_OFFSET_TABLE_ in ldso/*/start.s? Thanks Rich. Becoming familiar with git is definitely on my todo list. -Rich Sent from my iPhone On Jun 8, 2012, at 5:31 PM, Rich Felker <dalias@...ifal.cx> wrote: > On Fri, Jun 08, 2012 at 03:54:46PM -0500, Richard Pennington wrote: >> What is the purpose of the _GLOBAL_OFFSET_TABLE_ reference in these files? It >> doesn't seem to be used by __dynlink(), although it seems to be passed a a >> third parameter. > > If you check git, you'll see that this code was removed. A much older > version of __dynlink took a third argument that was the base address > of the GOT, which was used to find a pointer to _DYNAMIC in the first > GOT slot (traditionally, it was stored there). Then people started > reporting crashes when linking with a non-binutils linker (gold? or > something from clang/llvm? I don't remember...) that didn't follow > this practice, so I replaced it with more elaborate code to find > _DYNAMIC. The unneeded code in the asm was not removed until much > later. I actually have a new idea for simplifying/replacing some of > the C code, but it won't affect the asm. > > By the way, it might be a good idea to familiarize yourself with git > or even the gitweb interface. Questions like the one you had just now > can usually be answered quickly by checking the history of the > relevant files. > > Rich
Powered by blists - more mailing lists
Confused about mailing lists and their use? Read about mailing lists on Wikipedia and check out these guidelines on proper formatting of your messages.