X-Git-Url: http://git.efficios.com/?a=blobdiff_plain;f=gold%2Fincremental.cc;h=f9471f87b9d264d0065b0045d1d006bdbdd7972e;hb=aa989b27d0bad451455416953c0e5026e229863a;hp=4e35055786fddd93809a6626b997f909de222e70;hpb=41e83f2b16ec57fb7e163c19fc315c86e4994b2e;p=deliverable%2Fbinutils-gdb.git diff --git a/gold/incremental.cc b/gold/incremental.cc index 4e35055786..f9471f87b9 100644 --- a/gold/incremental.cc +++ b/gold/incremental.cc @@ -1,6 +1,6 @@ // inremental.cc -- incremental linking support for gold -// Copyright (C) 2009-2015 Free Software Foundation, Inc. +// Copyright (C) 2009-2019 Free Software Foundation, Inc. // Written by Mikolaj Zalewski . // This file is part of gold. @@ -173,8 +173,8 @@ Incremental_binary::error(const char* format, ...) const // Return TRUE if a section of type SH_TYPE can be updated in place // during an incremental update. We can update sections of type PROGBITS, -// NOBITS, INIT_ARRAY, FINI_ARRAY, PREINIT_ARRAY, and NOTE. All others -// will be regenerated. +// NOBITS, INIT_ARRAY, FINI_ARRAY, PREINIT_ARRAY, NOTE, and +// (processor-specific) unwind sections. All others will be regenerated. bool can_incremental_update(unsigned int sh_type) @@ -184,7 +184,8 @@ can_incremental_update(unsigned int sh_type) || sh_type == elfcpp::SHT_INIT_ARRAY || sh_type == elfcpp::SHT_FINI_ARRAY || sh_type == elfcpp::SHT_PREINIT_ARRAY - || sh_type == elfcpp::SHT_NOTE); + || sh_type == elfcpp::SHT_NOTE + || sh_type == parameters->target().unwind_section_type()); } // Find the .gnu_incremental_inputs section and related sections. @@ -310,7 +311,11 @@ Sized_incremental_binary::setup_readers() for (unsigned int i = 0; i < count; i++) { Input_entry_reader input_file = inputs.input_file(i); +#if __cplusplus >= 2001103L + this->input_entry_readers_.emplace_back(input_file); +#else this->input_entry_readers_.push_back(Sized_input_reader(input_file)); +#endif switch (input_file.type()) { case INCREMENTAL_INPUT_OBJECT: @@ -2536,8 +2541,8 @@ Sized_relobj_incr::do_set_local_dynsym_offset(off_t) // Relocate the input sections and write out the local symbols. // We don't actually do any relocation here. For unchanged input files, // we reapply relocations only for symbols that have changed; that happens -// in queue_final_tasks. We do need to rewrite the incremental relocations -// for this object. +// in Layout_task_runner::run(). We do need to rewrite the incremental +// relocations for this object. template void