The recent commit 7f507ee17a added a new
local variable "offset" to tls_get_addr_tail. This conflicts with the
ia64 code which also declares an offset code inline in this func. So
have the ia64 code rename its local vars with a prefix that shouldn't
collide with anything else in the future.
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
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.
Autoconf has been deprecating configure.in for quite a long time.
Rename all our configure.in and preconfigure.in files to .ac.
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
http://sourceware.org/ml/libc-alpha/2013-08/msg00081.html
This is the first of a series of patches to ban ieee854_long_double
and the ieee854_long_double macros when using IBM long double. union
ieee854_long_double just isn't correct for IBM long double, especially
when little-endian, and pretending it is OK has allowed a number of
bugs to remain undetected in sysdeps/ieee754/ldbl-128ibm/.
This changes the few places in generic code that use it.
* stdio-common/printf_size.c (__printf_size): Don't use
union ieee854_long_double in fpnum union.
* stdio-common/printf_fphex.c (__printf_fphex): Likewise. Use
signbit macro to retrieve sign from long double.
* stdio-common/printf_fp.c (___printf_fp): Use signbit macro to
retrieve sign from long double.
* sysdeps/ieee754/ldbl-128ibm/printf_fphex.c: Adjust for fpnum change.
* sysdeps/ieee754/ldbl-128/printf_fphex.c: Likewise.
* sysdeps/ieee754/ldbl-96/printf_fphex.c: Likewise.
* sysdeps/x86_64/fpu/printf_fphex.c: Likewise.
* math/test-misc.c (main): Don't use union ieee854_long_double.
ports/
* sysdeps/ia64/fpu/printf_fphex.c: Adjust for fpnum change.
The pointer guard used for pointer mangling was not initialized for
static applications resulting in the security feature being disabled.
The pointer guard is now correctly initialized to a random value for
static applications. Existing static applications need to be
recompiled to take advantage of the fix.
The test tst-ptrguard1-static and tst-ptrguard1 add regression
coverage to ensure the pointer guards are sufficiently random
and initialized to a default value.
The current code declares double constants by using a char buffer and
then casting the pointer to a different type. This makes the aliasing
logic unhappy. Change it to use a union instead to avoid that.
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
Function pointers on ia64 are like parisc -- they're plabels. While
the parisc port enjoys a gcc builtin for extracting the address here,
ia64 has no such luck.
Casting & dereferencing in one go triggers a strict aliasing warning.
Use a union to fix that.
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
The new strtod function wants rounding information from the C lib, so
move the guts of the ia64 version into a header file for it to use.
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
The ia64 gcc port has never shipped a crtbeginT.o, so keep using the
old crtbegin.o object when static linking.
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
The original runtime linker auditing interface described
by Solaris allows the 5th argument of la_pltenter() to be
modified. This patch cleans up the ldsodefs.h definitions
such that the 5th argument is not constant.
At one point the 5th argument *was* constant but this was
changed with commit 2413fdba7a.
This patch updates alpha, ia64, mips, sh and sparc with similar
changes.
Looks like a wart copied from the i386 code base. The only place I can
find that checks this is the i386 sysdep.h, and even then this looks like
a check that should get thrown away as obsolete ...
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
Since we require a new enough version of binutils that has TLS, we don't
need to bother checking for it anymore.
Signed-off-by: Mike Frysinger <vapier@gentoo.org>