diff options
author | Cary Coutant <ccoutant@google.com> | 2011-09-29 17:04:36 +0000 |
---|---|---|
committer | Cary Coutant <ccoutant@google.com> | 2011-09-29 17:04:36 +0000 |
commit | a7dac15368485853f4bd463352afb9b49517b624 (patch) | |
tree | fc084d79c73bad8d161d8907b033b703553b3186 /gold/symtab.cc | |
parent | 68fb0ec00bfd65b1085a011086d0328a904ab3df (diff) | |
download | binutils-a7dac15368485853f4bd463352afb9b49517b624.zip binutils-a7dac15368485853f4bd463352afb9b49517b624.tar.gz binutils-a7dac15368485853f4bd463352afb9b49517b624.tar.bz2 |
* gold/incremental.cc (Sized_incremental_binary::do_process_got_plt):
Check for NULL.
* gold/symtab.cc (Symbol_table::add_from_relobj): Ignore version
symbols during incremental update.
(Symbol_table::add_from_dynobj): Likewise.
Diffstat (limited to 'gold/symtab.cc')
-rw-r--r-- | gold/symtab.cc | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/gold/symtab.cc b/gold/symtab.cc index ff1b5ca..a90fee4 100644 --- a/gold/symtab.cc +++ b/gold/symtab.cc @@ -1143,6 +1143,14 @@ Symbol_table::add_from_relobj( bool is_default_version = false; bool is_forced_local = false; + // FIXME: For incremental links, we don't store version information, + // so we need to ignore version symbols for now. + if (parameters->incremental_update() && ver != NULL) + { + namelen = ver - name; + ver = NULL; + } + if (ver != NULL) { // The symbol name is of the form foo@VERSION or foo@@VERSION @@ -1346,6 +1354,11 @@ Symbol_table::add_from_dynobj( return; } + // FIXME: For incremental links, we don't store version information, + // so we need to ignore version symbols for now. + if (parameters->incremental_update()) + versym = NULL; + if (versym != NULL && versym_size / 2 < count) { dynobj->error(_("too few symbol versions")); |