From 590b40f7ec801ea1b4be47112a016ed369041e64 Mon Sep 17 00:00:00 2001 From: Ulrich Drepper Date: Wed, 8 Sep 2004 07:02:28 +0000 Subject: Update. 2004-09-07 Jakub Jelinek * sysdeps/powerpc/powerpc64/configure.in: New file. * config.h.in (USE_PPC64_OVERLAPPING_OPD): Add. * configure.in (HAVE_ASM_GLOBAL_DOT_NAME): Remove. * sysdeps/powerpc/powerpc64/sysdep.h: Formatting. (OPD_ENT, BODY_LABEL, ENTRY_1, ENTRY_2, END_2, DOT_PREFIX, BODY_PREFIX): Define. (ENTRY, DOT_LABEL, END, TRACEBACK, END_GEN_TB, EALIGN): Support HAVE_ASM_GLOBAL_DOT_NAME or no dot symbols, USE_PPC64_OVERLAPPING_OPD or never overlapping .opd entries. * sysdeps/powerpc/powerpc64/dl-machine.h: Include sysdep.h. (TRAMPOLINE_TEMPLATE, RTLD_START): Use the new sysdep.h macros. --- sysdeps/powerpc/powerpc64/configure | 68 +++++++++++++++++++++++++++++++++++++ 1 file changed, 68 insertions(+) create mode 100644 sysdeps/powerpc/powerpc64/configure (limited to 'sysdeps/powerpc/powerpc64/configure') diff --git a/sysdeps/powerpc/powerpc64/configure b/sysdeps/powerpc/powerpc64/configure new file mode 100644 index 0000000000..9075a5c8c4 --- /dev/null +++ b/sysdeps/powerpc/powerpc64/configure @@ -0,0 +1,68 @@ +# This file is generated from configure.in by Autoconf. DO NOT EDIT! + # Local configure fragment for sysdeps/powerpc/powerpc64. + +# The Aix ld uses global .symbol_names instead of symbol_names +# and unfortunately early Linux PPC64 linkers use it as well. +echo "$as_me:$LINENO: checking for support for omitting dot symbols" >&5 +echo $ECHO_N "checking for support for omitting dot symbols... $ECHO_C" >&6 +if test "${libc_cv_omit_dot_syms+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + libc_cv_omit_dot_syms=no +echo 'void foo (void) {}' > conftest.c +if { ac_try='${CC-cc} $CFLAGS $CPPFLAGS -S conftest.c -o conftest.s 1>&5' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + if grep -w '\.foo' conftest.s > /dev/null; then + : + else + libc_cv_omit_dot_syms=yes + fi +fi +rm -f conftest.c conftest.s + +fi +echo "$as_me:$LINENO: result: $libc_cv_omit_dot_syms" >&5 +echo "${ECHO_T}$libc_cv_omit_dot_syms" >&6 +if test x$libc_cv_omit_dot_syms != xyes; then + cat >>confdefs.h <<\_ACEOF +#define HAVE_ASM_GLOBAL_DOT_NAME 1 +_ACEOF + +fi + +echo "$as_me:$LINENO: checking for linker support for overlapping .opd entries" >&5 +echo $ECHO_N "checking for linker support for overlapping .opd entries... $ECHO_C" >&6 +if test "${libc_cv_overlapping_opd+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + libc_cv_overlapping_opd=no +echo 'void foo (void) {}' > conftest.c +if { ac_try='${CC-cc} $CFLAGS $CPPFLAGS -S conftest.c -o conftest.s 1>&5' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + if grep '\.TOC\.@tocbase' conftest.s > /dev/null; then + if grep '\.TOC\.@tocbase[ ]*,[ ]*0' conftest.s > /dev/null; then + : + else + libc_cv_overlapping_opd=yes + fi + fi +fi +rm -f conftest.c conftest.s + +fi +echo "$as_me:$LINENO: result: $libc_cv_overlapping_opd" >&5 +echo "${ECHO_T}$libc_cv_overlapping_opd" >&6 +if test x$libc_cv_overlapping_opd = xyes; then + cat >>confdefs.h <<\_ACEOF +#define USE_PPC64_OVERLAPPING_OPD 1 +_ACEOF + +fi -- cgit v1.2.3