2002-10-01 Roland McGrath <roland@frob.com>

* config.h.in (NO_HIDDEN): New #undef.
	* include/libc-symbols.h [! NO_HIDDEN]: Add this condition to
	nonempty definitions of hidden_proto et al.
	* configure.in: Grok --disable-hidden-plt to define NO_HIDDEN.
	* configure: Regenerated.
	* sysdeps/mach/hurd/configure.in: Always define NO_HIDDEN.
	* sysdeps/mach/hurd/configure: Regenerated.
This commit is contained in:
Roland McGrath 2002-10-01 08:45:44 +00:00
parent d1f69fed96
commit 749a9a4fbf
6 changed files with 183 additions and 147 deletions

View File

@ -143,6 +143,10 @@
and does not need relocations. */
#undef PI_STATIC_AND_HIDDEN
/* Define this to disable the `hidden_proto' et al macros in
include/libc-symbols.h that avoid PLT slots in the shared objects. */
#undef NO_HIDDEN
/* Defined to some form of __attribute__ ((...)) if the compiler supports
a different, more efficient calling convention. */

299
configure vendored

File diff suppressed because it is too large Load Diff

View File

@ -145,6 +145,13 @@ AC_ARG_WITH(tls, dnl
[ --with-tls enable support for TLS],
usetls=$withval, usetls=no)
AC_ARG_ENABLE(hidden-plt, dnl
[ --disable-hidden-plt do not hide internal function calls to avoid PLT],
hidden=$enableval, hidden=yes)
if test "x$hidden" = xno; then
AC_DEFINE(NO_HIDDEN)
fi
AC_CONFIG_SUBDIRS($add_ons)
add_ons_pfx=
if test x"$add_ons" != x; then

View File

@ -545,7 +545,7 @@
libc_hidden_ver (__real_foo, foo) */
#if defined SHARED && defined DO_VERSIONING \
&& !defined HAVE_BROKEN_ALIAS_ATTRIBUTE
&& !defined HAVE_BROKEN_ALIAS_ATTRIBUTE && !defined NO_HIDDEN
# ifndef __ASSEMBLER__
# if !defined HAVE_VISIBILITY_ATTRIBUTE \
|| defined HAVE_BROKEN_VISIBILITY_ATTRIBUTE

View File

@ -2,6 +2,11 @@
# GNU libc on the Hurd is always reentrant.
DEFINES="$DEFINES -D_LIBC_REENTRANT"
cat >> confdefs.h <<\EOF
#define NO_HIDDEN 1
EOF
# Don't bother trying to generate any glue code to be compatible with the
# existing system library, because we are the only system library.
inhibit_glue=yes
@ -21,12 +26,12 @@ case "$machine" in
esac
echo $ac_n "checking Hurd header version""... $ac_c" 1>&6
echo "configure:25: checking Hurd header version" >&5
echo "configure:30: checking Hurd header version" >&5
if eval "test \"`echo '$''{'libc_cv_hurd_version'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
#line 30 "configure"
#line 35 "configure"
#include "confdefs.h"
#include <hurd/version.h>
int main() {
@ -37,7 +42,7 @@ int main() {
#endif
; return 0; }
EOF
if { (eval echo configure:41: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
if { (eval echo configure:46: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
libc_cv_hurd_version=ok
else
@ -58,7 +63,7 @@ fi
# See if mig groks `retcode'.
echo $ac_n "checking whether $MIG supports the retcode keyword""... $ac_c" 1>&6
echo "configure:62: checking whether $MIG supports the retcode keyword" >&5
echo "configure:67: checking whether $MIG supports the retcode keyword" >&5
if eval "test \"`echo '$''{'hurd_cv_mig_retcode'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@ -72,7 +77,7 @@ simpleroutine foobar_reply (
reply_port: reply_port_t;
err: kern_return_t, RetCode);
EOF
if { ac_try='CC="${CC}" ${MIG-false} -n conftest.defs 1>&5'; { (eval echo configure:76: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; }; then
if { ac_try='CC="${CC}" ${MIG-false} -n conftest.defs 1>&5'; { (eval echo configure:81: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; }; then
hurd_cv_mig_retcode=yes
else
hurd_cv_mig_retcode=no

View File

@ -4,6 +4,9 @@ GLIBC_PROVIDES dnl See aclocal.m4 in the top level source directory.
# GNU libc on the Hurd is always reentrant.
DEFINES="$DEFINES -D_LIBC_REENTRANT"
dnl We need this setting because of the need for PLT calls in ld.so.
AC_DEFINE([NO_HIDDEN])
# Don't bother trying to generate any glue code to be compatible with the
# existing system library, because we are the only system library.
inhibit_glue=yes