diff options
author | Marcus Shawcroft <marcus.shawcroft@arm.com> | 2015-03-02 12:11:40 +0000 |
---|---|---|
committer | Marcus Shawcroft <marcus.shawcroft@arm.com> | 2015-03-24 14:10:43 +0000 |
commit | fc6d53be1893813f5017681a211dd20d560d8c58 (patch) | |
tree | e52e91a1bdd630e82c15c42c14d2733339cb7179 /bfd/elfnn-aarch64.c | |
parent | 30068a6d2da1ba4b0248a270c7c958ef24a80416 (diff) | |
download | gdb-fc6d53be1893813f5017681a211dd20d560d8c58.zip gdb-fc6d53be1893813f5017681a211dd20d560d8c58.tar.gz gdb-fc6d53be1893813f5017681a211dd20d560d8c58.tar.bz2 |
[AArch64] Factor out _bfd_aarch64_get_stub_for_link_section.
Diffstat (limited to 'bfd/elfnn-aarch64.c')
-rw-r--r-- | bfd/elfnn-aarch64.c | 30 |
1 files changed, 18 insertions, 12 deletions
diff --git a/bfd/elfnn-aarch64.c b/bfd/elfnn-aarch64.c index d5c1fd5..2d81199 100644 --- a/bfd/elfnn-aarch64.c +++ b/bfd/elfnn-aarch64.c @@ -2338,6 +2338,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. */ @@ -2345,18 +2361,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); } |