summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMarcus Shawcroft <marcus.shawcroft@arm.com>2015-03-02 12:11:40 +0000
committerAndrew Hsieh <andrewhsieh@google.com>2015-03-30 21:39:09 -0700
commitc75ceb3ca0351906d2ffe49c010b51143a886d8e (patch)
treeec7eee67df8208eeb1685798b8165e25cc9c5ad8
parent2775e1f78a873bb908bc69ae56ed5fc2ebd74314 (diff)
downloadtoolchain_binutils-c75ceb3ca0351906d2ffe49c010b51143a886d8e.tar.gz
toolchain_binutils-c75ceb3ca0351906d2ffe49c010b51143a886d8e.tar.bz2
toolchain_binutils-c75ceb3ca0351906d2ffe49c010b51143a886d8e.zip
[AArch64] Factor out _bfd_aarch64_get_stub_for_link_section.
Change-Id: Ib6171d8646bc0e825a5038c7087acc534a8612a9
-rw-r--r--binutils-2.25/bfd/elfnn-aarch64.c30
1 files changed, 18 insertions, 12 deletions
diff --git a/binutils-2.25/bfd/elfnn-aarch64.c b/binutils-2.25/bfd/elfnn-aarch64.c
index 8d58ad57..f0a49cd9 100644
--- a/binutils-2.25/bfd/elfnn-aarch64.c
+++ b/binutils-2.25/bfd/elfnn-aarch64.c
@@ -2315,6 +2315,22 @@ _bfd_aarch64_create_stub_section (asection *section,
}
+/* Find or create a stub section for a link section.
+
+ Fix or create the stub section used to collect stubs attached to
+ the specified link section. */
+
+static asection *
+_bfd_aarch64_get_stub_for_link_section (asection *link_section,
+ struct elf_aarch64_link_hash_table *htab)
+{
+ if (htab->stub_group[link_section->id].stub_sec == NULL)
+ htab->stub_group[link_section->id].stub_sec
+ = _bfd_aarch64_create_stub_section (link_section, htab);
+ return htab->stub_group[link_section->id].stub_sec;
+}
+
+
/* Find or create a stub section in the stub group for an input
section. */
@@ -2322,18 +2338,8 @@ static asection *
_bfd_aarch64_create_or_find_stub_sec (asection *section,
struct elf_aarch64_link_hash_table *htab)
{
- asection *link_sec;
- asection *stub_sec;
-
- link_sec = htab->stub_group[section->id].link_sec;
- BFD_ASSERT (link_sec != NULL);
- stub_sec = htab->stub_group[link_sec->id].stub_sec;
- if (stub_sec == NULL)
- {
- stub_sec = _bfd_aarch64_create_stub_section (link_sec, htab);
- htab->stub_group[link_sec->id].stub_sec = stub_sec;
- }
- return stub_sec;
+ asection *link_sec = htab->stub_group[section->id].link_sec;
+ return _bfd_aarch64_get_stub_for_link_section (link_sec, htab);
}