diff options
author | Ian Lance Taylor <iant@google.com> | 2007-10-16 23:23:08 +0000 |
---|---|---|
committer | Ian Lance Taylor <iant@google.com> | 2007-10-16 23:23:08 +0000 |
commit | 436ca963fd42564971f2906e4ba7263d513e483c (patch) | |
tree | 422fb94d22ab9e5df3475ff43c3b734625a489f2 /gold/target-reloc.h | |
parent | a360aedd0fd0e2c02c0896046bec126e6ad72308 (diff) | |
download | gdb-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.h | 11 |
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()) |