aboutsummaryrefslogtreecommitdiff
path: root/gold/arm.cc
diff options
context:
space:
mode:
authorDoug Kwan <dougkwan@google.com>2010-10-20 15:30:54 +0000
committerDoug Kwan <dougkwan@google.com>2010-10-20 15:30:54 +0000
commitc9484ea5b3fb276265a52a420c9bd945b1a4f769 (patch)
treed8b3ade4536a60d0eb7b384b369cc87c8820fcb8 /gold/arm.cc
parente0ae9e28cc95e5148ec27d9465f880cc69ae5f46 (diff)
downloadgdb-c9484ea5b3fb276265a52a420c9bd945b1a4f769.zip
gdb-c9484ea5b3fb276265a52a420c9bd945b1a4f769.tar.gz
gdb-c9484ea5b3fb276265a52a420c9bd945b1a4f769.tar.bz2
2010-10-20 Doug Kwan <dougkwan@google.com>
* arm.cc (Arm_relobj::do_read_symbols): Warn about ARM EXIDX sections without SHF_LINK_ORDER flags. * layout.cc (Layout::choose_output_section): Do not filter SHF_LINK_ORDER flag in a relocatable link.
Diffstat (limited to 'gold/arm.cc')
-rw-r--r--gold/arm.cc4
1 files changed, 4 insertions, 0 deletions
diff --git a/gold/arm.cc b/gold/arm.cc
index f13ef23..c2dc026 100644
--- a/gold/arm.cc
+++ b/gold/arm.cc
@@ -6662,6 +6662,10 @@ Arm_relobj<big_endian>::do_read_symbols(Read_symbols_data* sd)
+ text_shndx * shdr_size);
this->make_exidx_input_section(i, shdr, text_shndx, text_shdr);
}
+ // EHABI 4.4.1 requires that SHF_LINK_ORDER flag to be set.
+ if ((shdr.get_sh_flags() & elfcpp::SHF_LINK_ORDER) == 0)
+ gold_warning(_("SHF_LINK_ORDER not set in EXIDX section %s of %s"),
+ this->section_name(i).c_str(), this->name().c_str());
}
}