From 854770991f736fdad0fe6dca6c0cc6e280f8a6ce Mon Sep 17 00:00:00 2001 From: Nick Clifton Date: Mon, 6 Oct 2003 11:07:08 +0000 Subject: [PATCH] lexsup.c (parse_args): Report unresolved symbols in shared libraries when creating a dynamic executable. This is a restoration of the default behaviour for previous versions of the linker. --- ld/ChangeLog | 9 ++++++++- ld/lexsup.c | 13 ++++++++++--- 2 files changed, 18 insertions(+), 4 deletions(-) diff --git a/ld/ChangeLog b/ld/ChangeLog index aeb04609021..71e5e4aa025 100644 --- a/ld/ChangeLog +++ b/ld/ChangeLog @@ -1,4 +1,11 @@ -2003-10-03 Matt Thomas +2003-10-06 Nick Clifton + + * lexsup.c (parse_args): Report unresolved symbols in shared + libraries when creating a dynamic executable. This is a + restoration of the default behaviour for previous versions of + the linker. + +2003-10-06 Matt Thomas * emulparams/hppanbsd.sh: Remove OUTPUT_FORMAT. * emulparams/hppaobsd.sh: Add OUTPUT_FORMAT="elf32-hppa". diff --git a/ld/lexsup.c b/ld/lexsup.c index fe19e61e543..556a5ba0829 100644 --- a/ld/lexsup.c +++ b/ld/lexsup.c @@ -660,12 +660,19 @@ parse_args (unsigned argc, char **argv) break; case OPTION_CALL_SHARED: config.dynamic_link = TRUE; - /* When linking against shared libraries, the default - behaviour is to ignore any unresolved references. */ + /* When linking against shared libraries, the default behaviour is + to report any unresolved references. This is for backwards + comptability with previous linker behaviour. Whilst strictly + speaking it is not a failure to encounter unresolved symbols at + link time - the symbol *might* be available at load time - it is + nevertheless necessary for the correct execution of the autoconf + package. (It needs to be able to detect functions that are not + provided by the host OS). Since this package is used by lots of + projects, maintaining the old linker behaviour is important. */ if (link_info.unresolved_syms_in_objects == RM_NOT_YET_SET) link_info.unresolved_syms_in_objects = RM_IGNORE; if (link_info.unresolved_syms_in_shared_libs == RM_NOT_YET_SET) - link_info.unresolved_syms_in_shared_libs = RM_IGNORE; + link_info.unresolved_syms_in_shared_libs = how_to_report_unresolved_symbols; break; case OPTION_NON_SHARED: config.dynamic_link = FALSE; -- 2.30.2