diff options
author | Ian Lance Taylor <ian@airs.com> | 2009-12-31 01:14:34 +0000 |
---|---|---|
committer | Ian Lance Taylor <ian@airs.com> | 2009-12-31 01:14:34 +0000 |
commit | 1c74fab0d1fd52933617779be761ce2cc860fa31 (patch) | |
tree | 6f909afc533442abeb4ead034395ffbfc7dff5a0 /gold/symtab.cc | |
parent | 48c5c55f2f2f30fed4eebca75728d77407090bc5 (diff) | |
download | gdb-1c74fab0d1fd52933617779be761ce2cc860fa31.zip gdb-1c74fab0d1fd52933617779be761ce2cc860fa31.tar.gz gdb-1c74fab0d1fd52933617779be761ce2cc860fa31.tar.bz2 |
PR 10916
* symtab.cc (Symbol_table::add_from_relobj): When not exporting
symbols from this object, don't change the visibility of an
undefined symbol.
* testsuite/exclude_libs_test_1.c (lib1_ref): New function.
Diffstat (limited to 'gold/symtab.cc')
-rw-r--r-- | gold/symtab.cc | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/gold/symtab.cc b/gold/symtab.cc index d8461a7..79fc4e6 100644 --- a/gold/symtab.cc +++ b/gold/symtab.cc @@ -1151,7 +1151,8 @@ Symbol_table::add_from_relobj( } // Fix up visibility if object has no-export set. - if (relobj->no_export()) + if (relobj->no_export() + && (orig_st_shndx != elfcpp::SHN_UNDEF || !is_ordinary)) { // We may have copied symbol already above. if (psym != &sym2) |