From: Ian Lance Taylor Date: Wed, 7 Nov 2007 18:29:34 +0000 (+0000) Subject: Check that we don't set the output section index twice. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=91ea499d4ae67d29f4ef3aefc3335224a2837254;p=binutils-gdb.git Check that we don't set the output section index twice. --- diff --git a/gold/output.cc b/gold/output.cc index acba77ce459..64aa4dc872b 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 a615a71150e..b6c12456d01 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