aboutsummaryrefslogtreecommitdiff
path: root/gold/target-reloc.h
diff options
context:
space:
mode:
authorIan Lance Taylor <iant@google.com>2007-10-16 23:23:08 +0000
committerIan Lance Taylor <iant@google.com>2007-10-16 23:23:08 +0000
commit436ca963fd42564971f2906e4ba7263d513e483c (patch)
tree422fb94d22ab9e5df3475ff43c3b734625a489f2 /gold/target-reloc.h
parenta360aedd0fd0e2c02c0896046bec126e6ad72308 (diff)
downloadgdb-436ca963fd42564971f2906e4ba7263d513e483c.zip
gdb-436ca963fd42564971f2906e4ba7263d513e483c.tar.gz
gdb-436ca963fd42564971f2906e4ba7263d513e483c.tar.bz2
From Cary Coutant: preliminary shared library support.
Diffstat (limited to 'gold/target-reloc.h')
-rw-r--r--gold/target-reloc.h11
1 files changed, 6 insertions, 5 deletions
diff --git a/gold/target-reloc.h b/gold/target-reloc.h
index 8b87963..c38d5f6 100644
--- a/gold/target-reloc.h
+++ b/gold/target-reloc.h
@@ -32,10 +32,10 @@ namespace gold
{
// This function implements the generic part of reloc scanning. This
-// is an inline function which takes a class whose operator()
-// implements the machine specific part of scanning. We do it this
-// way to avoidmaking a function call for each relocation, and to
-// avoid repeating the generic code for each target.
+// is an inline function which takes a class whose member functions
+// local() and global() implement the machine specific part of scanning.
+// We do it this way to avoidmaking a function call for each relocation,
+// and to avoid repeating the generic code for each target.
template<int size, bool big_endian, typename Target_type, int sh_type,
typename Scan>
@@ -195,7 +195,8 @@ relocate_section(
if (sym != NULL
&& sym->is_undefined()
- && sym->binding() != elfcpp::STB_WEAK)
+ && sym->binding() != elfcpp::STB_WEAK
+ && !parameters->output_is_shared())
gold_undefined_symbol(sym, relinfo, i, offset);
if (sym != NULL && sym->has_warning())