aboutsummaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorNick Clifton <nickc@redhat.com>2000-12-12 20:53:02 +0000
committerNick Clifton <nickc@redhat.com>2000-12-12 20:53:02 +0000
commitb15ced227131e541f2087ba7ddab5dc657734c62 (patch)
treed131d6f51162fc4ac9504612575219ee56d8eec0 /include
parent533245522d64fa85b5e5c3d20b81443aa24b437c (diff)
downloadnewlib-b15ced227131e541f2087ba7ddab5dc657734c62.zip
newlib-b15ced227131e541f2087ba7ddab5dc657734c62.tar.gz
newlib-b15ced227131e541f2087ba7ddab5dc657734c62.tar.bz2
Add link option to allow undefiedn symbols in shared libraries
Diffstat (limited to 'include')
-rw-r--r--include/ChangeLog7
-rw-r--r--include/bfdlink.h13
2 files changed, 20 insertions, 0 deletions
diff --git a/include/ChangeLog b/include/ChangeLog
index 6847092..1b1af76 100644
--- a/include/ChangeLog
+++ b/include/ChangeLog
@@ -1,3 +1,10 @@
+2000-12-10 Fred Fish <fnf@be.com>
+
+ * bfdlink.h (struct bfd_link_info): Add new allow_shlib_undefined
+ member to struct for systems where it is normal to have undefined
+ symbols in shared libraries at runtime and the runtime linker takes
+ care of redirecting them.
+
2000-12-07 Zack Weinberg <zack@wolery.stanford.edu>
* safe-ctype.h: New file.
diff --git a/include/bfdlink.h b/include/bfdlink.h
index 18c60a5..ae96323 100644
--- a/include/bfdlink.h
+++ b/include/bfdlink.h
@@ -201,6 +201,19 @@ struct bfd_link_info
/* true if BFD should generate errors for undefined symbols
even if generating a shared object. */
boolean no_undefined;
+ /* true if BFD should allow undefined symbols in shared objects even
+ when no_undefined is set to disallow undefined symbols. The net
+ result will be that undefined symbols in regular objects will
+ still trigger an error, but undefined symbols in shared objects
+ will be ignored. The implementation of no_undefined makes the
+ assumption that the runtime linker will choke on undefined
+ symbols. However there is at least one system (BeOS) where
+ undefined symbols in shared libraries is normal since the kernel
+ patches them at load time to select which function is most
+ appropriate for the current architecture. I.E. dynamically
+ select an appropriate memset function. Apparently it is also
+ normal for HPPA shared libraries to have undefined symbols. */
+ boolean allow_shlib_undefined;
/* Which symbols to strip. */
enum bfd_link_strip strip;
/* Which local symbols to discard. */