]> git.ipfire.org Git - thirdparty/man-pages.git/commit
rtld-audit.7: Fix (typo) error in la_pltenter() description
authorNamhyung Kim <namhyung@gmail.com>
Tue, 3 Nov 2015 00:18:17 +0000 (09:18 +0900)
committerMichael Kerrisk <mtk.manpages@gmail.com>
Thu, 3 Dec 2015 05:58:48 +0000 (06:58 +0100)
commit3a0c27f88ec71f7764f89a6bc67a24339820b72b
tree9291f2604beaee61bdc50514d0084111b5396f0d
parent9242ecfe9749c3d8b45bc0b354bf5822ae39169d
rtld-audit.7: Fix (typo) error in la_pltenter() description

s/la_pltenter()/la_pltexit()/

la_pltenter() is called regardless of the value of
framesizep but la_pltexit() is called only if la_pltenter()
returns with non-zero framesizep set.  I spent long time to
figure out why la_pltexit() is not called at all.

Quoting comments in glibc/sysdeps/x86_64/dl-trampoline.h:

  /* There's nothing in the frame size, so there
     will be no call to the _dl_call_pltexit. */

and

  /* At this point we need to prepare new stack for the function
     which has to be called.  We copy the original stack to a
     temporary buffer of the size specified by the 'framesize'
     returned from _dl_profile_fixup */

I think it's because it needs to preserve 'inregs' to be passed to
la_pltexit().

The _dl_profile_fixup() sets the '*framesizep' to maximum value of
what la_pltenter() sets.  Please see glibc/elf/dl-runtime.c file.

Signed-off-by: Namhyung Kim <namhyung@gmail.com>
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
man7/rtld-audit.7