From 8e2656a10dc6ef7bd258df56e3ca5f765f38a388 Mon Sep 17 00:00:00 2001 From: Alexandre Oliva Date: Mon, 5 Apr 1999 21:04:32 +0000 Subject: [PATCH] * ltconfig.in (exclude_expsyms): Exclude _GLOBAL_OFFSET_TABLE_ by default, as most a.out platforms use it, and end up in trouble if we preload it, so it's safer to rule it out by default, and special case its removal from exclude_expsyms if someone ever complains. --- ChangeLog | 8 ++++++++ ltconfig.in | 11 ++++++----- 2 files changed, 14 insertions(+), 5 deletions(-) diff --git a/ChangeLog b/ChangeLog index 34a2e7c84..8f3c8e5cd 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,11 @@ +1999-04-05 Alexandre Oliva + + * ltconfig.in (exclude_expsyms): Exclude _GLOBAL_OFFSET_TABLE_ by + default, as most a.out platforms use it, and end up in trouble if + we preload it, so it's safer to rule it out by default, and + special case its removal from exclude_expsyms if someone ever + complains. + 1999-04-05 Thomas Tanner * doc/libtool.texi: reorder tests to reflect execution order, diff --git a/ltconfig.in b/ltconfig.in index bdf14c1dd..21a380ec7 100755 --- a/ltconfig.in +++ b/ltconfig.in @@ -1018,7 +1018,12 @@ include_expsyms= # it will be wrapped by ` (' and `)$', so one must not match beginning or # end of line. Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc', # as well as any symbol that contains `d'. -exclude_expsyms= +exclude_expsyms="_GLOBAL_OFFSET_TABLE_" +# Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out +# platforms (ab)use it in PIC code, but their linkers get confused if +# the symbol is explicitly referenced. Since portable code cannot +# rely on this symbol name, it's probably fine to never include it in +# preloaded symbol tables. extract_expsyms_cmds= case "$host_os" in @@ -1031,10 +1036,6 @@ cygwin* | mingw*) fi ;; -freebsd2* | sunos4*) - exclude_expsyms="_GLOBAL_OFFSET_TABLE_" - ;; - esac ld_shlibs=yes -- 2.47.3