summaryrefslogtreecommitdiffstats
path: root/binutils-2.25/gold
diff options
context:
space:
mode:
authorHan Shen <shenhan@google.com>2015-07-09 15:38:12 -0700
committerThan McIntosh <thanm@google.com>2015-09-29 10:26:50 -0400
commit1c1d236da96495760f7d62d255c26ea27c8874f8 (patch)
tree50151700ce762610d369c299b2d674c8b8034332 /binutils-2.25/gold
parent042c220bc2d2c48ecf410b0dfffb388a5d57cccc (diff)
downloadtoolchain_binutils-1c1d236da96495760f7d62d255c26ea27c8874f8.tar.gz
toolchain_binutils-1c1d236da96495760f7d62d255c26ea27c8874f8.tar.bz2
toolchain_binutils-1c1d236da96495760f7d62d255c26ea27c8874f8.zip
Drop 'missing mapping symbols' warning for arm and aarch64.
The psABI (AAELF) says this about mapping symbols: 4.6.5.1 Section-relative mapping symbols Mapping symbols defined in a section define a sequence of half-open address intervals that cover the address range of the section. Each interval starts at the address defined by the mapping symbol, and continues up to, but not including, the address defined by the next (in address order) mapping symbol or the end of the section. A section must have a mapping symbol defined at the beginning of the section; however, if the section contains only data then the mapping symbol may be omitted. That makes it pretty clear that, in the absence of a mapping symbol, the entire section can be treated as data. gold/ChangeLog: * aarch64.cc (AArch64_relobj::scan_errata): Drop missing symbol warning. * arm.cc (Arm_relobj::scan_section_for_cortex_a8_erratum): Drop missing symbol warning. (cherry picked from commit 61163dfaaedb90d78e11c1d79ad1e469daf3da47)
Diffstat (limited to 'binutils-2.25/gold')
-rw-r--r--binutils-2.25/gold/ChangeLog8
-rw-r--r--binutils-2.25/gold/aarch64.cc4
-rw-r--r--binutils-2.25/gold/arm.cc11
3 files changed, 10 insertions, 13 deletions
diff --git a/binutils-2.25/gold/ChangeLog b/binutils-2.25/gold/ChangeLog
index f4bbfb17..19544c44 100644
--- a/binutils-2.25/gold/ChangeLog
+++ b/binutils-2.25/gold/ChangeLog
@@ -1,3 +1,11 @@
+2015-07-09 Han Shen <shenhan@google.com>
+
+ Drop missing symbol warning for arm/aarch64.
+
+ * aarch64.cc (AArch64_relobj::scan_errata): Drop missing symbol warning.
+ * arm.cc (Arm_relobj::scan_section_for_cortex_a8_erratum): Drop missing
+ symbol warning.
+
2015-07-07 Han Shen <shenhan@google.com>
Make gold aarch64 accept long form of mapping symbols.
diff --git a/binutils-2.25/gold/aarch64.cc b/binutils-2.25/gold/aarch64.cc
index 1589bd86..5b9a8cda 100644
--- a/binutils-2.25/gold/aarch64.cc
+++ b/binutils-2.25/gold/aarch64.cc
@@ -2080,10 +2080,6 @@ AArch64_relobj<size, big_endian>::scan_errata(
// Find the first mapping symbol record within section shndx.
typename Mapping_symbol_info::const_iterator p =
this->mapping_symbol_info_.lower_bound(section_start);
- if (p == this->mapping_symbol_info_.end() || p->first.shndx_ != shndx)
- gold_warning(_("cannot scan executable section %u of %s for Cortex-A53 "
- "erratum because it has no mapping symbols."),
- shndx, this->name().c_str());
while (p != this->mapping_symbol_info_.end() &&
p->first.shndx_ == shndx)
{
diff --git a/binutils-2.25/gold/arm.cc b/binutils-2.25/gold/arm.cc
index f1d4fe93..299290b3 100644
--- a/binutils-2.25/gold/arm.cc
+++ b/binutils-2.25/gold/arm.cc
@@ -6255,16 +6255,9 @@ Arm_relobj<big_endian>::scan_section_for_cortex_a8_erratum(
this->mapping_symbols_info_.lower_bound(section_start);
// There are no mapping symbols for this section. Treat it as a data-only
- // section. Issue a warning if section is marked as containing
- // instructions.
+ // section.
if (p == this->mapping_symbols_info_.end() || p->first.first != shndx)
- {
- if ((this->section_flags(shndx) & elfcpp::SHF_EXECINSTR) != 0)
- gold_warning(_("cannot scan executable section %u of %s for Cortex-A8 "
- "erratum because it has no mapping symbols."),
- shndx, this->name().c_str());
- return;
- }
+ return;
Arm_address output_address =
this->simple_input_section_output_address(shndx, os);