From 91ea499d4ae67d29f4ef3aefc3335224a2837254 Mon Sep 17 00:00:00 2001 From: Ian Lance Taylor Date: Wed, 7 Nov 2007 18:29:34 +0000 Subject: [PATCH] Check that we don't set the output section index twice. --- gold/output.cc | 2 +- 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 -- 2.7.4