diff options
author | Rafeal Auler <rafaelauler@gmail.com> | 2018-08-22 10:04:09 +0100 |
---|---|---|
committer | Nick Clifton <nickc@redhat.com> | 2018-08-22 10:04:09 +0100 |
commit | 3da64fe404031c093e8b59565d935fed214e28c1 (patch) | |
tree | c8151df9772923b9e6aa9af39fb38f17adcda00f | |
parent | d000b7630e07e808098cbf079c9cdf6c891e6e5e (diff) | |
download | gdb-3da64fe404031c093e8b59565d935fed214e28c1.zip gdb-3da64fe404031c093e8b59565d935fed214e28c1.tar.gz gdb-3da64fe404031c093e8b59565d935fed214e28c1.tar.bz2 |
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.
-rw-r--r-- | bfd/ChangeLog | 6 | ||||
-rw-r--r-- | bfd/elfnn-aarch64.c | 3 |
2 files changed, 9 insertions, 0 deletions
diff --git a/bfd/ChangeLog b/bfd/ChangeLog index 6eac668..6946a65 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,3 +1,9 @@ +2018-08-22 Rafeal Auler <rafaelauler@gmail.com> + + PR 23560 + * elfnn-aarch64.c (elfNN_aarch64_size_stubs): Always update the + stub's target, since it may have been changed after the layout. + 2018-08-21 John Darington <john@darrington.wattle.id.au> * elf32-s12z.c (opru18_reloc): New function. diff --git a/bfd/elfnn-aarch64.c b/bfd/elfnn-aarch64.c index 8681444..ee09cd7 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; } |