aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRafeal Auler <rafaelauler@gmail.com>2018-08-22 10:04:09 +0100
committerNick Clifton <nickc@redhat.com>2018-08-22 10:04:09 +0100
commit3da64fe404031c093e8b59565d935fed214e28c1 (patch)
treec8151df9772923b9e6aa9af39fb38f17adcda00f /bfd/elfnn-aarch64.c
parentFix typo in changelog entry for handling of undocumnented Z80 SLI instruction. (diff)
downloadbinutils-gdb-3da64fe404031c093e8b59565d935fed214e28c1.tar.gz
binutils-gdb-3da64fe404031c093e8b59565d935fed214e28c1.tar.bz2
binutils-gdb-3da64fe404031c093e8b59565d935fed214e28c1.zip
Fix AArch64 stub layout algorithm to allow for the fact that section layut might change a stub's target location.
PR 23560 * elfnn-aarch64.c (elfNN_aarch64_size_stubs): Always update the stub's target, since it may have been changed after the layout.
Diffstat (limited to 'bfd/elfnn-aarch64.c')
-rw-r--r--bfd/elfnn-aarch64.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/bfd/elfnn-aarch64.c b/bfd/elfnn-aarch64.c
index 868144489ba..ee09cd74117 100644
--- a/bfd/elfnn-aarch64.c
+++ b/bfd/elfnn-aarch64.c
@@ -4414,6 +4414,9 @@ elfNN_aarch64_size_stubs (bfd *output_bfd,
{
/* The proper stub has already been created. */
free (stub_name);
+ /* Always update this stub's target since it may have
+ changed after layout. */
+ stub_entry->target_value = sym_value + irela->r_addend;
continue;
}