From ec3f783efde154039bcf29fca808e70d523953d4 Mon Sep 17 00:00:00 2001 From: Ian Lance Taylor Date: Wed, 24 Jun 2009 05:09:11 +0000 Subject: [PATCH] PR 10156 * layout.cc (Layout::create_note): Use choose_output_section rather than make_output_section. --- gold/ChangeLog | 6 ++++++ gold/layout.cc | 16 ++++++++-------- 2 files changed, 14 insertions(+), 8 deletions(-) diff --git a/gold/ChangeLog b/gold/ChangeLog index 5507317..debf933 100644 --- a/gold/ChangeLog +++ b/gold/ChangeLog @@ -1,5 +1,11 @@ 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 * options.cc (General_options::parse_V): Set printed_version_. (General_options::General_options): Initialize printed_version_. diff --git a/gold/layout.cc b/gold/layout.cc index 8dba501..4014ec0 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"); -- 2.7.4