From: Alexandre Oliva Date: Mon, 5 Apr 1999 21:04:13 +0000 (+0000) Subject: * ltconfig.in (exclude_expsyms): Exclude _GLOBAL_OFFSET_TABLE_ by X-Git-Tag: release-1-3~71 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=fa9213617960d0944eeffefac90cb6aaff063e7e;p=thirdparty%2Flibtool.git * 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. --- diff --git a/ChangeLog b/ChangeLog index 2f36a8b4e..77b9f31bf 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 837ad4fca..75863f2b5 100755 --- a/ltconfig.in +++ b/ltconfig.in @@ -1015,7 +1015,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. case "$host_os" in cygwin* | mingw*) @@ -1027,10 +1032,6 @@ cygwin* | mingw*) fi ;; -freebsd2* | sunos4*) - exclude_expsyms="_GLOBAL_OFFSET_TABLE_" - ;; - esac ld_shlibs=yes