mirror of
git://sourceware.org/git/glibc.git
synced 2024-12-27 04:41:02 +08:00
70c50602cc
* elf/check-textrel.c: Include config.h. (AB(handle_file)): Don't fail if PF_X | PF_W on architectures known to have executable writable PLT. * sysdeps/powerpc/powerpc32/configure.in (HAVE_PPC_SECURE_PLT): New test. * config.h.in (HAVE_PPC_SECURE_PLT): Add. * malloc/malloc.c (MALLOC_ALIGNMENT): Set to __alignof__ (long double) if long double is more aligned than 2 * SIZE_SZ. (misaligned_chunk): Define. (public_rEALLOc, _int_free, _int_realloc): Use it.
33 lines
1.0 KiB
Plaintext
33 lines
1.0 KiB
Plaintext
GLIBC_PROVIDES dnl See aclocal.m4 in the top level source directory.
|
|
# Local configure fragment for sysdeps/powerpc/powerpc32.
|
|
|
|
# See whether gas has R_PPC_REL16 relocs.
|
|
AC_CACHE_CHECK(for R_PPC_REL16 gas support, libc_cv_ppc_rel16, [dnl
|
|
cat > conftest.s <<\EOF
|
|
.text
|
|
addis 11,30,_GLOBAL_OFFSET_TABLE_-.@ha
|
|
EOF
|
|
if AC_TRY_COMMAND(${CC-cc} -c $CFLAGS conftest.s 1>&AS_MESSAGE_LOG_FD); then
|
|
libc_cv_ppc_rel16=yes
|
|
else
|
|
libc_cv_ppc_rel16=no
|
|
fi
|
|
rm -f conftest*])
|
|
if test $libc_cv_ppc_rel16 = yes; then
|
|
AC_DEFINE(HAVE_ASM_PPC_REL16)
|
|
fi
|
|
|
|
# See whether GCC uses -msecure-plt.
|
|
AC_CACHE_CHECK(for -msecure-plt by default, libc_cv_ppc_secure_plt, [dnl
|
|
echo 'int foo (void) { extern int bar; return bar; }' > conftest.c
|
|
libc_cv_ppc_secure_plt=no
|
|
if AC_TRY_COMMAND(${CC-cc} -S $CFLAGS conftest.c -fpic -o conftest.s 1>&AS_MESSAGE_LOG_FD); then
|
|
if grep '_GLOBAL_OFFSET_TABLE_-.*@ha' conftest.s > /dev/null 2>&1; then
|
|
libc_cv_ppc_secure_plt=yes
|
|
fi
|
|
fi
|
|
rm -rf conftest*])
|
|
if test $libc_cv_ppc_secure_plt = yes; then
|
|
AC_DEFINE(HAVE_PPC_SECURE_PLT)
|
|
fi
|