aboutsummaryrefslogtreecommitdiff
path: root/ports/ChangeLog.ia64
diff options
context:
space:
mode:
authorGuy Martin <gmsoft@tuxicoman.be>2013-11-21 13:23:16 -0500
committerCarlos O'Donell <carlos@redhat.com>2013-11-21 15:52:31 -0500
commitdaf75146de07303ea0c5ad700ec5ef703ec114a1 (patch)
treeed307e39a90288cbcdf727a7c07addb9f38f65d8 /ports/ChangeLog.ia64
parentd33cafadfe365befa4ca6e0463fa926d56144046 (diff)
downloadglibc-daf75146de07303ea0c5ad700ec5ef703ec114a1.tar
glibc-daf75146de07303ea0c5ad700ec5ef703ec114a1.tar.gz
glibc-daf75146de07303ea0c5ad700ec5ef703ec114a1.tar.bz2
glibc-daf75146de07303ea0c5ad700ec5ef703ec114a1.zip
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.
Diffstat (limited to 'ports/ChangeLog.ia64')
-rw-r--r--ports/ChangeLog.ia649
1 files changed, 9 insertions, 0 deletions
diff --git a/ports/ChangeLog.ia64 b/ports/ChangeLog.ia64
index 1eb0f389c2..89133295e1 100644
--- a/ports/ChangeLog.ia64
+++ b/ports/ChangeLog.ia64
@@ -1,3 +1,12 @@
+2013-11-21 Guy Martin <gmsoft@tuxicoman.be>
+
+ * sysdeps/ia64/dl-lookupcfg.h: Remove obsolete
+ DL_DT_INIT_ADDRESS() and DL_DT_FINI_ADDRESS() macro and implement
+ DL_CALL_DT_INIT() as well as DL_CALL_DT_FINI().
+ Define DL_DT_FUNCTION_ADDRESS().
+ * sysdeps/ia64/dl-machine.h: Update ELF_MACHINE_START_ADDRESS()
+ to use DL_DT_FUNCTION_ADDRESS().
+
2013-10-30 Mike Frysinger <vapier@gentoo.org>
* sysdeps/ia64/configure.in: Moved to ...