aboutsummaryrefslogtreecommitdiff
path: root/gold/dynobj.cc
diff options
context:
space:
mode:
authorIan Lance Taylor <iant@google.com>2007-11-09 07:00:15 +0000
committerIan Lance Taylor <iant@google.com>2007-11-09 07:00:15 +0000
commit730cdc88f70c0804b5daf2259d3bd8ad29b6411b (patch)
treebdc5f06993a5579fea47d658ecb900c9586727f2 /gold/dynobj.cc
parent0abe36f50df0f2475fec735f5c907bb7af584ab0 (diff)
downloadfsf-binutils-gdb-730cdc88f70c0804b5daf2259d3bd8ad29b6411b.zip
fsf-binutils-gdb-730cdc88f70c0804b5daf2259d3bd8ad29b6411b.tar.gz
fsf-binutils-gdb-730cdc88f70c0804b5daf2259d3bd8ad29b6411b.tar.bz2
Generate a complete exception frame header. Discard duplicate
exception frame information.
Diffstat (limited to 'gold/dynobj.cc')
-rw-r--r--gold/dynobj.cc2
1 files changed, 2 insertions, 0 deletions
diff --git a/gold/dynobj.cc b/gold/dynobj.cc
index 95ffe08..9845194 100644
--- a/gold/dynobj.cc
+++ b/gold/dynobj.cc
@@ -288,6 +288,7 @@ Sized_dynobj<size, big_endian>::do_read_symbols(Read_symbols_data* sd)
sd->symbols = NULL;
sd->symbols_size = 0;
+ sd->external_symbols_offset = 0;
sd->symbol_names = NULL;
sd->symbol_names_size = 0;
@@ -606,6 +607,7 @@ Sized_dynobj<size, big_endian>::do_add_symbols(Symbol_table* symtab,
const int sym_size = This::sym_size;
const size_t symcount = sd->symbols_size / sym_size;
+ gold_assert(sd->external_symbols_offset == 0);
if (static_cast<off_t>(symcount * sym_size) != sd->symbols_size)
{
this->error(_("size of dynamic symbols is not multiple of symbol size"));