From fc6d53be1893813f5017681a211dd20d560d8c58 Mon Sep 17 00:00:00 2001 From: Marcus Shawcroft Date: Mon, 2 Mar 2015 12:11:40 +0000 Subject: [PATCH] [AArch64] Factor out _bfd_aarch64_get_stub_for_link_section. --- bfd/ChangeLog | 6 ++++++ bfd/elfnn-aarch64.c | 30 ++++++++++++++++++------------ 2 files changed, 24 insertions(+), 12 deletions(-) diff --git a/bfd/ChangeLog b/bfd/ChangeLog index 07b47b124c9..aad0763a818 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,3 +1,9 @@ +2015-03-24 Marcus Shawcroft + + * elfnn-aarch64.c (_bfd_aarch64_create_or_find_stub_sec): Factor + code into: + (_bfd_aarch64_get_stub_for_link_section): Define. + 2015-03-24 Marcus Shawcroft * elfnn-aarch64.c (_bfd_aarch64_create_or_find_stub_sec): Adjust diff --git a/bfd/elfnn-aarch64.c b/bfd/elfnn-aarch64.c index d5c1fd56b43..2d811997205 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); } -- 2.30.2