From: Ian Lance Taylor Date: Wed, 24 Jun 2009 05:09:11 +0000 (+0000) Subject: PR 10156 X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=ec3f783efde154039bcf29fca808e70d523953d4;p=binutils-gdb.git PR 10156 * layout.cc (Layout::create_note): Use choose_output_section rather than make_output_section. --- diff --git a/gold/ChangeLog b/gold/ChangeLog index 55073175a4c..debf9339b0a 100644 --- a/gold/ChangeLog +++ b/gold/ChangeLog @@ -1,3 +1,9 @@ +2009-06-23 Ian Lance Taylor + + PR 10156 + * layout.cc (Layout::create_note): Use choose_output_section + rather than make_output_section. + 2009-06-23 Ian Lance Taylor PR 10237 diff --git a/gold/layout.cc b/gold/layout.cc index 8dba501813f..4014ec016bf 100644 --- a/gold/layout.cc +++ b/gold/layout.cc @@ -1361,10 +1361,11 @@ Layout::finalize(const Input_objects* input_objects, Symbol_table* symtab, } // Create a note header following the format defined in the ELF ABI. -// NAME is the name, NOTE_TYPE is the type, DESCSZ is the size of the -// descriptor. ALLOCATE is true if the section should be allocated in -// memory. This returns the new note section. It sets -// *TRAILING_PADDING to the number of trailing zero bytes required. +// NAME is the name, NOTE_TYPE is the type, SECTION_NAME is the name +// of the section to create, DESCSZ is the size of the descriptor. +// ALLOCATE is true if the section should be allocated in memory. +// This returns the new note section. It sets *TRAILING_PADDING to +// the number of trailing zero bytes required. Output_section* Layout::create_note(const char* name, int note_type, @@ -1435,13 +1436,12 @@ Layout::create_note(const char* name, int note_type, memcpy(buffer + 3 * (size / 8), name, namesz); - const char *note_name = this->namepool_.add(section_name, false, NULL); elfcpp::Elf_Xword flags = 0; if (allocate) flags = elfcpp::SHF_ALLOC; - Output_section* os = this->make_output_section(note_name, - elfcpp::SHT_NOTE, - flags); + Output_section* os = this->choose_output_section(NULL, section_name, + elfcpp::SHT_NOTE, + flags, false); Output_section_data* posd = new Output_data_const_buffer(buffer, notehdrsz, size / 8, "** note header");