]> sourceware.org Git - glibc.git/commit - ChangeLog
Don't use broken DL_AUTO_FUNCTION_ADDRESS()
authorGuy Martin <gmsoft@tuxicoman.be>
Thu, 21 Nov 2013 18:23:16 +0000 (13:23 -0500)
committerCarlos O'Donell <carlos@redhat.com>
Thu, 21 Nov 2013 20:52:31 +0000 (15:52 -0500)
commitdaf75146de07303ea0c5ad700ec5ef703ec114a1
treeed307e39a90288cbcdf727a7c07addb9f38f65d8
parentd33cafadfe365befa4ca6e0463fa926d56144046
Don't use broken DL_AUTO_FUNCTION_ADDRESS()

On hppa and ia64, the macro DL_AUTO_FUNCTION_ADDRESS() uses the
variable fptr[2] in it's own scope.

The content of fptr[] is thus undefined right after the macro exits.
Newer gcc's (>= 4.7) reuse the stack space of this variable triggering
a segmentation fault in dl-init.c:69.

To fix this we rewrite the macros to make the call directly to init
and fini without needing to pass back a constructed function pointer.
ChangeLog
elf/dl-close.c
elf/dl-fini.c
elf/dl-init.c
ports/ChangeLog.hppa
ports/ChangeLog.ia64
ports/sysdeps/hppa/dl-lookupcfg.h
ports/sysdeps/hppa/dl-machine.h
ports/sysdeps/ia64/dl-lookupcfg.h
ports/sysdeps/ia64/dl-machine.h
sysdeps/generic/ldsodefs.h
This page took 0.041305 seconds and 5 git commands to generate.