Harden_all_packages_with_position-independent_code + guile modules

Adam Jackson ajax at redhat.com
Mon Mar 16 20:58:56 UTC 2015


On Mon, 2015-03-16 at 18:31 +0100, Jakub Jelinek wrote:
> On Mon, Mar 16, 2015 at 01:24:19PM -0400, Adam Jackson wrote:
> > On Fri, 2015-03-13 at 12:14 +0100, Florian Weimer wrote:
> > PIE does alter symbol resolution, though not in a particularly big way.
> > In a normal executable, taking the address of a global function takes
> > the address of the definition found in the executable itself, if any; in
> > a PIE, you take the address of the first definition found by the runtime
> > linker.  Normally that's not a correctness issue since the executable
> > usually ends up as the first object searched, but it does mean an
> > LD_PRELOAD can override more symbols than it used to because the
> > (now-PIE) executable is importing more symbols than before.
> 
> ???  PIE is the first object in symbol search scope, before LD_PRELOAD,
> identically to normal executables.

Yeah, sorry, I was reading readelf's output wrong.  Those symbols get
emitted as relocations (where they wouldn't for an executable), but they
resolve to the providing object.  My error, I apologize.

- ajax



More information about the devel mailing list