From: Doug Kwan Date: Wed, 16 Jun 2010 18:19:18 +0000 (+0000) Subject: 2010-06-16 Doug Kwan X-Git-Tag: gdb_7_2-2010-07-07-branchpoint~214 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=3e23530232f272b7a55c6492948bdd76f65e7334;p=external%2Fbinutils.git 2010-06-16 Doug Kwan * arm.cc (Target_arm::do_finalize_sections): Do not emit an .ARM.attributes section if we have not merged any input attributes sections. --- diff --git a/gold/ChangeLog b/gold/ChangeLog index f5e960a..afb8753 100644 --- a/gold/ChangeLog +++ b/gold/ChangeLog @@ -1,3 +1,9 @@ +2010-06-16 Doug Kwan + + * arm.cc (Target_arm::do_finalize_sections): Do not emit an + .ARM.attributes section if we have not merged any input + attributes sections. + 2010-06-15 Viktor Kutuzov * arm.cc: Allow combining objects with no EABI version diff --git a/gold/arm.cc b/gold/arm.cc index ff07a90..d9aa767 100644 --- a/gold/arm.cc +++ b/gold/arm.cc @@ -8101,6 +8101,7 @@ Target_arm::do_finalize_sections( const Input_objects* input_objects, Symbol_table* symtab) { + bool merged_any_attributes = false; // Merge processor-specific flags. for (Input_objects::Relobj_iterator p = input_objects->relobj_begin(); p != input_objects->relobj_end(); @@ -8115,6 +8116,7 @@ Target_arm::do_finalize_sections( arm_relobj->processor_specific_flags()); this->merge_object_attributes(arm_relobj->name().c_str(), arm_relobj->attributes_section_data()); + merged_any_attributes = true; } } @@ -8129,6 +8131,7 @@ Target_arm::do_finalize_sections( arm_dynobj->processor_specific_flags()); this->merge_object_attributes(arm_dynobj->name().c_str(), arm_dynobj->attributes_section_data()); + merged_any_attributes = true; } // Create an empty uninitialized attribute section if we still don't have it @@ -8210,9 +8213,9 @@ Target_arm::do_finalize_sections( } } - // Create an .ARM.attributes section unless we have no regular input - // object. In that case the output will be empty. - if (input_objects->number_of_relobjs() != 0) + // Create an .ARM.attributes section if we have merged any attributes + // from inputs. + if (merged_any_attributes) { Output_attributes_section_data* attributes_section = new Output_attributes_section_data(*this->attributes_section_data_);