diff options
author | Doug Kwan <dougkwan@google.com> | 2010-02-24 20:50:59 +0000 |
---|---|---|
committer | Doug Kwan <dougkwan@google.com> | 2010-02-24 20:50:59 +0000 |
commit | 101654612f383f5427e2d727556eda80537de76b (patch) | |
tree | b57e25c9d904f79e0cd79d05af1fdc32f1be34b9 /gold/arm.cc | |
parent | 24291992dac3f63bef7ee031d4d5f2f96920e070 (diff) | |
download | gdb-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.cc | 9 |
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( |