diff --git a/ChangeLog b/ChangeLog index 9b5b8f79ba..594a7d6b13 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,12 @@ +2012-11-04 Thomas Schwinge + + * csu/libc-start.c (LIBC_START_MAIN): Conditionalize use of + PTR_DEMANGLE. + + [BZ #5246] + * sysdeps/mach/hurd/i386/____longjmp_chk.S: Conditionalize use of + PTR_DEMANGLE. + 2012-11-04 Joseph Myers [BZ #14797] diff --git a/NEWS b/NEWS index a6d757f153..41f4574c08 100644 --- a/NEWS +++ b/NEWS @@ -9,16 +9,16 @@ Version 2.17 * The following bugs are resolved with this release: - 1349, 3439, 3479, 5044, 5298, 5400, 6530, 6778, 6808, 9685, 9914, 10014, - 10038, 10631, 11438, 11607, 11638, 12140, 13412, 13542, 13601, 13629, - 13679, 13696, 13717, 13741, 13939, 13966, 14042, 14047, 14090, 14150, - 14151, 14152, 14154, 14157, 14166, 14173, 14195, 14237, 14251, 14252, - 14283, 14298, 14303, 14307, 14328, 14331, 14336, 14337, 14347, 14349, - 14376, 14417, 14459, 14476, 14477, 14505, 14510, 14516, 14518, 14519, - 14530, 14532, 14538, 14543, 14544, 14545, 14557, 14562, 14568, 14576, - 14579, 14583, 14587, 14595, 14602, 14610, 14621, 14638, 14645, 14648, - 14652, 14660, 14661, 14669, 14683, 14694, 14716, 14743, 14767, 14783, - 14784, 14785, 14796, 14797. + 1349, 3439, 3479, 5044, 5246, 5298, 5400, 6530, 6778, 6808, 9685, 9914, + 10014, 10038, 10631, 11438, 11607, 11638, 12140, 13412, 13542, 13601, + 13629, 13679, 13696, 13717, 13741, 13939, 13966, 14042, 14047, 14090, + 14150, 14151, 14152, 14154, 14157, 14166, 14173, 14195, 14237, 14251, + 14252, 14283, 14298, 14303, 14307, 14328, 14331, 14336, 14337, 14347, + 14349, 14376, 14417, 14459, 14476, 14477, 14505, 14510, 14516, 14518, + 14519, 14530, 14532, 14538, 14543, 14544, 14545, 14557, 14562, 14568, + 14576, 14579, 14583, 14587, 14595, 14602, 14610, 14621, 14638, 14645, + 14648, 14652, 14660, 14661, 14669, 14683, 14694, 14716, 14743, 14767, + 14783, 14784, 14785, 14796, 14797. * Support for STT_GNU_IFUNC symbols added for s390 and s390x. Optimized versions of memcpy, memset, and memcmp added for System z10 and diff --git a/csu/libc-start.c b/csu/libc-start.c index e335b64d15..e890535e33 100644 --- a/csu/libc-start.c +++ b/csu/libc-start.c @@ -272,7 +272,9 @@ LIBC_START_MAIN (int (*main) (int, char **, char ** MAIN_AUXVEC_DECL), result = 0; # ifdef SHARED unsigned int *ptr = __libc_pthread_functions.ptr_nthreads; +# ifdef PTR_DEMANGLE PTR_DEMANGLE (ptr); +# endif # else extern unsigned int __nptl_nthreads __attribute ((weak)); unsigned int *const ptr = &__nptl_nthreads; diff --git a/sysdeps/mach/hurd/i386/____longjmp_chk.S b/sysdeps/mach/hurd/i386/____longjmp_chk.S index f499fbd1e7..39282d3174 100644 --- a/sysdeps/mach/hurd/i386/____longjmp_chk.S +++ b/sysdeps/mach/hurd/i386/____longjmp_chk.S @@ -52,8 +52,10 @@ ENTRY (____longjmp_chk) /* Get the stack pointer. */ movl (JB_SP*4)(%ecx), %edi cfi_undefined(%edi) +#ifdef PTR_DEMANGLE PTR_DEMANGLE (%edx) PTR_DEMANGLE (%edi) +#endif cmpl %edi, %esp /* Jumping to a higher-address frame is always allowed. */