aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--libgcc/ChangeLog13
-rw-r--r--libgcc/config/rs6000/morestack.S4
-rw-r--r--libgcc/config/rs6000/tramp.S5
3 files changed, 19 insertions, 3 deletions
diff --git a/libgcc/ChangeLog b/libgcc/ChangeLog
index 7ccf11f..a4bce25 100644
--- a/libgcc/ChangeLog
+++ b/libgcc/ChangeLog
@@ -1,6 +1,13 @@
+2018-11-27 Alan Modra <amodra@gmail.com>
+
+ * config/rs6000/morestack.S (__stack_split_initialize),
+ (__morestack_get_guard, __morestack_set_guard),
+ (__morestack_make_guard): Provide CFI covering these functions.
+ * config/rs6000/tramp.S (__trampoline_setup): Likewise.
+
2018-11-15 Xianmiao Qu <xianmiao_qu@c-sky.com>
- * config/csky/linux-unwind.h (sc_pt_regs): Update for kernel.
+ * config/csky/linux-unwind.h (sc_pt_regs): Update for kernel.
(sc_pt_regs_lr): Update for kernel.
(sc_pt_regs_tls): Update for kernel.
@@ -11,7 +18,7 @@
2018-11-13 Xianmiao Qu <xianmiao_qu@c-sky.com>
* config/csky/linux-unwind.h (_sig_ucontext_t): Remove.
- (csky_fallback_frame_state): Modify the check of the
+ (csky_fallback_frame_state): Modify the check of the
instructions to adapt to changes in the kernel
2018-11-09 Stafford Horne <shorne@gmail.com>
@@ -243,7 +250,7 @@
2018-08-22 Iain Sandoe <iain@sandoe.co.uk>
- * config/unwind-dw2-fde-darwin.c
+ * config/unwind-dw2-fde-darwin.c
(_darwin10_Unwind_FindEnclosingFunction): move from here ...
* config/darwin10-unwind-find-enc-func.c: … to here.
* config/t-darwin: Build Darwin10 unwinder shim crt.
diff --git a/libgcc/config/rs6000/morestack.S b/libgcc/config/rs6000/morestack.S
index a0fee40..936051e 100644
--- a/libgcc/config/rs6000/morestack.S
+++ b/libgcc/config/rs6000/morestack.S
@@ -304,12 +304,15 @@ DW.ref.__gcc_personality_v0:
# new thread starts. This is called from a constructor.
# void __stack_split_initialize (void)
ENTRY(__stack_split_initialize)
+ .cfi_startproc
addi %r3,%r1,-0x4000 # We should have at least 16K.
std %r3,-0x7000-64(%r13) # tcbhead_t.__private_ss
# void __generic_morestack_set_initial_sp (void *sp, size_t len)
mr %r3,%r1
li %r4, 0x4000
b __generic_morestack_set_initial_sp
+# The lack of .cfi_endproc here is deliberate. This function and the
+# following ones can all use the default FDE.
SIZE (__stack_split_initialize)
@@ -335,6 +338,7 @@ ENTRY0(__morestack_make_guard)
sub %r3,%r3,%r4
addi %r3,%r3,BACKOFF
blr
+ .cfi_endproc
SIZE (__morestack_make_guard)
diff --git a/libgcc/config/rs6000/tramp.S b/libgcc/config/rs6000/tramp.S
index 19ea578..637f451 100644
--- a/libgcc/config/rs6000/tramp.S
+++ b/libgcc/config/rs6000/tramp.S
@@ -56,8 +56,10 @@ trampoline_size = .-trampoline_initial
/* R6 = static chain */
FUNC_START(__trampoline_setup)
+ .cfi_startproc
mflr r0 /* save return address */
bcl 20,31,.LCF0 /* load up __trampoline_initial into r7 */
+ .cfi_register lr,r0
.LCF0:
mflr r11
addi r7,r11,trampoline_initial-4-.LCF0 /* trampoline address -4 */
@@ -112,6 +114,7 @@ FUNC_START(__trampoline_setup)
addi r30,r30,_GLOBAL_OFFSET_TABLE_-1b@l
#endif
bl JUMP_TARGET(abort)
+ .cfi_endproc
FUNC_END(__trampoline_setup)
#endif
@@ -144,6 +147,7 @@ trampoline_size = .-trampoline_initial
.popsection
FUNC_START(__trampoline_setup)
+ .cfi_startproc
addis 7,2,.LC0@toc@ha
ld 7,.LC0@toc@l(7) /* trampoline address -8 */
@@ -180,6 +184,7 @@ FUNC_START(__trampoline_setup)
.Labort:
bl JUMP_TARGET(abort)
nop
+ .cfi_endproc
FUNC_END(__trampoline_setup)
#endif