diff options
author | Ian Lance Taylor <ian@airs.com> | 2009-12-31 05:07:22 +0000 |
---|---|---|
committer | Ian Lance Taylor <ian@airs.com> | 2009-12-31 05:07:22 +0000 |
commit | eda294df6d71e405810e6b56e2bab2bff91a1799 (patch) | |
tree | cae358d1e57adf539483db13d65defa840bf0397 /gold/symtab.h | |
parent | d7bb5745008bb111becc3dc87e7ce243f59b7170 (diff) | |
download | gdb-eda294df6d71e405810e6b56e2bab2bff91a1799.zip gdb-eda294df6d71e405810e6b56e2bab2bff91a1799.tar.gz gdb-eda294df6d71e405810e6b56e2bab2bff91a1799.tar.bz2 |
PR 10979
* common.cc (Sort_commons::operator()): Stabilize sort when both
entries are NULL.
(Symbol_table::do_allocate_commons_list): When allocating common
symbols, skip a symbol which is no longer common.
* symtab.h (Symbol::is_common): Test whether the symbol comes from
an object before checking its type.
* testsuite/common_test_2.c: New file.
* testsuite/common_test_3.c: New file.
* testsuite/Makefile.am (check_PROGRAMS): Add common_test_2.
(common_test_2_SOURCES, common_test_2_DEPENDENCIES): Define.
(common_test_2_LDFLAGS, common_test_2_LDADD): Define.
(common_test_2_pic.o, common_test_2.so): New targets.
(common_test_3_pic.o, common_test_3.so): New targets.
* testsuite/Makefile.in: Rebuild.
Diffstat (limited to 'gold/symtab.h')
-rw-r--r-- | gold/symtab.h | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/gold/symtab.h b/gold/symtab.h index 8ee2091..f79fc8d 100644 --- a/gold/symtab.h +++ b/gold/symtab.h @@ -478,10 +478,10 @@ class Symbol bool is_common() const { - if (this->type_ == elfcpp::STT_COMMON) - return true; if (this->source_ != FROM_OBJECT) return false; + if (this->type_ == elfcpp::STT_COMMON) + return true; bool is_ordinary; unsigned int shndx = this->shndx(&is_ordinary); return !is_ordinary && Symbol::is_common_shndx(shndx); |