diff options
author | Marcus Shawcroft <marcus.shawcroft@arm.com> | 2015-03-02 12:11:40 +0000 |
---|---|---|
committer | Andrew Hsieh <andrewhsieh@google.com> | 2015-03-30 21:39:09 -0700 |
commit | c75ceb3ca0351906d2ffe49c010b51143a886d8e (patch) | |
tree | ec7eee67df8208eeb1685798b8165e25cc9c5ad8 /binutils-2.25 | |
parent | 2775e1f78a873bb908bc69ae56ed5fc2ebd74314 (diff) | |
download | toolchain_binutils-c75ceb3ca0351906d2ffe49c010b51143a886d8e.zip toolchain_binutils-c75ceb3ca0351906d2ffe49c010b51143a886d8e.tar.gz toolchain_binutils-c75ceb3ca0351906d2ffe49c010b51143a886d8e.tar.bz2 |
[AArch64] Factor out _bfd_aarch64_get_stub_for_link_section.
Change-Id: Ib6171d8646bc0e825a5038c7087acc534a8612a9
Diffstat (limited to 'binutils-2.25')
-rw-r--r-- | binutils-2.25/bfd/elfnn-aarch64.c | 30 |
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 8d58ad5..f0a49cd 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); } |