diff options
author | Ian Lance Taylor <iant@google.com> | 2007-11-07 18:29:34 +0000 |
---|---|---|
committer | Ian Lance Taylor <iant@google.com> | 2007-11-07 18:29:34 +0000 |
commit | 91ea499d4ae67d29f4ef3aefc3335224a2837254 (patch) | |
tree | b07d9444c7ef4ef8747202a7e9b8e62f73ee7f2f | |
parent | 71fe8fb398bbfd79c5beadd1cce5656165f8ed37 (diff) | |
download | gdb-91ea499d4ae67d29f4ef3aefc3335224a2837254.zip gdb-91ea499d4ae67d29f4ef3aefc3335224a2837254.tar.gz gdb-91ea499d4ae67d29f4ef3aefc3335224a2837254.tar.bz2 |
Check that we don't set the output section index twice.
-rw-r--r-- | gold/output.cc | 2 | ||||
-rw-r--r-- | gold/output.h | 10 |
2 files changed, 9 insertions, 3 deletions
diff --git a/gold/output.cc b/gold/output.cc index acba77c..64aa4dc 100644 --- a/gold/output.cc +++ b/gold/output.cc @@ -992,7 +992,7 @@ Output_section::Output_section(const char* name, elfcpp::Elf_Word type, info_(0), type_(type), flags_(flags), - out_shndx_(0), + out_shndx_(-1U), symtab_index_(0), dynsym_index_(0), input_sections_(), diff --git a/gold/output.h b/gold/output.h index a615a71..b6c1245 100644 --- a/gold/output.h +++ b/gold/output.h @@ -1183,12 +1183,18 @@ class Output_section : public Output_data // Return the section index in the output file. unsigned int do_out_shndx() const - { return this->out_shndx_; } + { + gold_assert(this->out_shndx_ != -1U); + return this->out_shndx_; + } // Set the output section index. void do_set_out_shndx(unsigned int shndx) - { this->out_shndx_ = shndx; } + { + gold_assert(this->out_shndx_ == -1U); + this->out_shndx_ = shndx; + } // Return the entsize field. uint64_t |