From eb42429a935fcf4d18085b7ba01137083cee8857 Mon Sep 17 00:00:00 2001 From: Ian Lance Taylor Date: Thu, 20 Mar 2008 05:22:37 +0000 Subject: [PATCH] From Craig Silverstein: implement -z defs. --- gold/options.h | 3 +++ gold/target-reloc.h | 3 ++- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/gold/options.h b/gold/options.h index efe92e22fe4..22866497353 100644 --- a/gold/options.h +++ b/gold/options.h @@ -601,6 +601,9 @@ class General_options // value, so we need to use different variables for them. DEFINE_uint64(common_page_size, options::DASH_Z, '\0', 0, N_("Set common page size to SIZE"), N_("SIZE")); + DEFINE_bool(defs, options::DASH_Z, '\0', false, + N_("Report undefined symbols (even with --shared)"), + NULL); DEFINE_bool(execstack, options::DASH_Z, '\0', false, N_("Mark output as requiring executable stack"), NULL); DEFINE_uint64(max_page_size, options::DASH_Z, '\0', 0, diff --git a/gold/target-reloc.h b/gold/target-reloc.h index c5bb4f1dc78..eab3c37eb4a 100644 --- a/gold/target-reloc.h +++ b/gold/target-reloc.h @@ -217,7 +217,8 @@ relocate_section( if (sym != NULL && sym->is_undefined() && sym->binding() != elfcpp::STB_WEAK - && !parameters->options().shared()) + && (!parameters->options().shared() // -shared + || parameters->options().defs())) // -z defs gold_undefined_symbol(sym, relinfo, i, offset); if (sym != NULL && sym->has_warning()) -- 2.30.2