aboutsummaryrefslogtreecommitdiff
path: root/gold/arm.cc
diff options
context:
space:
mode:
authorDoug Kwan <dougkwan@google.com>2010-02-24 20:50:59 +0000
committerDoug Kwan <dougkwan@google.com>2010-02-24 20:50:59 +0000
commit101654612f383f5427e2d727556eda80537de76b (patch)
treeb57e25c9d904f79e0cd79d05af1fdc32f1be34b9 /gold/arm.cc
parent24291992dac3f63bef7ee031d4d5f2f96920e070 (diff)
downloadgdb-101654612f383f5427e2d727556eda80537de76b.zip
gdb-101654612f383f5427e2d727556eda80537de76b.tar.gz
gdb-101654612f383f5427e2d727556eda80537de76b.tar.bz2
2010-02-24 Doug Kwan <dougkwan@google.com>
* arm.cc (Target_arm::do_finalize_sections): Skip processor specific flags and attributes merging if an input file is a binary file. * fileread.cc (Input_file::open): Record format of original file. * fileread.h (Input_file::Format): New enum type. (Input_file::Input_file): Initialize data member format_. (Input_file::format): New method definition. (Input_file::format_):: New data member.
Diffstat (limited to 'gold/arm.cc')
-rw-r--r--gold/arm.cc9
1 files changed, 9 insertions, 0 deletions
diff --git a/gold/arm.cc b/gold/arm.cc
index ca34023..497072a 100644
--- a/gold/arm.cc
+++ b/gold/arm.cc
@@ -7922,6 +7922,15 @@ Target_arm<big_endian>::do_finalize_sections(
p != input_objects->relobj_end();
++p)
{
+ // If this input file is a binary file, it has no processor
+ // specific flags and attributes section.
+ Input_file::Format format = (*p)->input_file()->format();
+ if (format != Input_file::FORMAT_ELF)
+ {
+ gold_assert(format == Input_file::FORMAT_BINARY);
+ continue;
+ }
+
Arm_relobj<big_endian>* arm_relobj =
Arm_relobj<big_endian>::as_arm_relobj(*p);
this->merge_processor_specific_flags(