aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--bfd/ChangeLog5
-rw-r--r--bfd/elf64-ppc.c2
-rw-r--r--gold/ChangeLog7
-rw-r--r--gold/powerpc.cc4
4 files changed, 15 insertions, 3 deletions
diff --git a/bfd/ChangeLog b/bfd/ChangeLog
index 9f478f2..66d8124 100644
--- a/bfd/ChangeLog
+++ b/bfd/ChangeLog
@@ -1,3 +1,8 @@
+2017-07-23 Alan Modra <amodra@gmail.com>
+
+ * elf64-ppc.c (ppc64_elf_size_stubs): Correct advance to
+ restore of LR.
+
2017-07-19 Szabolcs Nagy <szabolcs.nagy@arm.com>
PR ld/18841
diff --git a/bfd/elf64-ppc.c b/bfd/elf64-ppc.c
index 9903373..f399e35 100644
--- a/bfd/elf64-ppc.c
+++ b/bfd/elf64-ppc.c
@@ -12871,7 +12871,7 @@ ppc64_elf_size_stubs (struct bfd_link_info *info)
*p++ = DW_CFA_register;
*p++ = 65;
*p++ = htab->opd_abi ? 12 : 0;
- *p++ = DW_CFA_advance_loc + 4;
+ *p++ = DW_CFA_advance_loc + (htab->opd_abi ? 5 : 7);
*p++ = DW_CFA_restore_extended;
*p++ = 65;
p += ((24 + align - 1) & -align) - 24;
diff --git a/gold/ChangeLog b/gold/ChangeLog
index 0dc3972..01f0d34 100644
--- a/gold/ChangeLog
+++ b/gold/ChangeLog
@@ -1,3 +1,10 @@
+2017-07-23 Alan Modra <amodra@gmail.com>
+
+ * powerpc.cc (glink_eh_frame_fde_64v2): Correct advance to
+ restore of LR.
+ (glink_eh_frame_fde_64v1): Advance to restore of LR at latest
+ possible insn.
+
2017-07-18 Nick Clifton <nickc@redhat.com>
PR 21775
diff --git a/gold/powerpc.cc b/gold/powerpc.cc
index fcbf177..a4966b8 100644
--- a/gold/powerpc.cc
+++ b/gold/powerpc.cc
@@ -3987,7 +3987,7 @@ static const unsigned char glink_eh_frame_fde_64v1[] =
0, // Augmentation size.
elfcpp::DW_CFA_advance_loc + 1,
elfcpp::DW_CFA_register, 65, 12,
- elfcpp::DW_CFA_advance_loc + 4,
+ elfcpp::DW_CFA_advance_loc + 5,
elfcpp::DW_CFA_restore_extended, 65
};
@@ -3999,7 +3999,7 @@ static const unsigned char glink_eh_frame_fde_64v2[] =
0, // Augmentation size.
elfcpp::DW_CFA_advance_loc + 1,
elfcpp::DW_CFA_register, 65, 0,
- elfcpp::DW_CFA_advance_loc + 4,
+ elfcpp::DW_CFA_advance_loc + 7,
elfcpp::DW_CFA_restore_extended, 65
};