Add even more cfi to s390 asm files.
authorAndreas Krebbel <Andreas.Krebbel@de.ibm.com>
Tue, 8 Dec 2009 01:27:45 +0000 (17:27 -0800)
committerUlrich Drepper <drepper@redhat.com>
Tue, 8 Dec 2009 01:27:45 +0000 (17:27 -0800)
ChangeLog
sysdeps/s390/s390-32/dl-trampoline.S
sysdeps/s390/s390-32/s390-mcount.S
sysdeps/s390/s390-64/dl-trampoline.S
sysdeps/s390/s390-64/s390x-mcount.S

index 4aa537f..1f4d2b2 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,11 @@
+2009-12-04  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
+
+       * sysdeps/s390/s390-64/dl-trampoline.S: Add CFI for the call saved
+       registers.
+       * sysdeps/s390/s390-32/dl-trampoline.S: Likewise.
+       * sysdeps/s390/s390-32/s390-mcount.S: Add CFI.
+       * sysdeps/s390/s390-64/s390x-mcount.S: Add CFI.
+
 2009-11-30  Ulrich Drepper  <drepper@redhat.com>
 
        * sysdeps/unix/sysv/linux/bits/sched.h: Define SCHED_IDLE and
index fbbbc18..cedef46 100644 (file)
@@ -45,6 +45,7 @@
 _dl_runtime_resolve:
        stm    %r2,%r5,32(%r15)         # save registers
        st     %r14,8(%r15)
+       cfi_offset (r14, -88)
        lr     %r0,%r15                 # create stack frame
        ahi    %r15,-96
        cfi_adjust_cfa_offset (96)
@@ -76,6 +77,11 @@ _dl_runtime_profile:
        st     %r6,8(%r15)
        st     %r12,12(%r15)
        st     %r14,16(%r15)
+       cfi_offset (r6, -64)
+       cfi_offset (f0, -40)
+       cfi_offset (f2, -32)
+       cfi_offset (r12, -84)
+       cfi_offset (r14, -80)
        lr     %r12,%r15                # create stack frame
        cfi_def_cfa_register (12)
        ahi    %r15,-96
index 6d11f9b..aae433b 100644 (file)
 
        ASM_GLOBAL_DIRECTIVE C_SYMBOL_NAME(_mcount)
        ASM_TYPE_DIRECTIVE(C_SYMBOL_NAME(_mcount), @function)
+       cfi_startproc
        .align ALIGNARG(4)
 C_LABEL(_mcount)
        /* Save the caller-clobbered registers.  */
        ahi   %r15,-128
+       cfi_adjust_cfa_offset (128)
        stm   %r14,%r5,96(%r15)
+       cfi_offset (r14, 0)
+       cfi_offset (r15, 4)
        l     %r2,132(%r15)       # callers address  = first parameter
        la    %r2,0(%r2)          # clear bit 0
        la    %r3,0(%r14)         # callees address  = second parameter
@@ -77,7 +81,9 @@ C_LABEL(_mcount)
         */
        lm    %r14,%r5,96(%r15)
        ahi   %r15,128
+       cfi_adjust_cfa_offset (-128)
        br    %r14
+       cfi_endproc
        ASM_SIZE_DIRECTIVE(C_SYMBOL_NAME(_mcount))
 
 #undef mcount
index 72043c9..b49c681 100644 (file)
@@ -42,6 +42,7 @@
 _dl_runtime_resolve:
        stmg   2,5,64(15)       # save registers
        stg    14,96(15)
+       cfi_offset (r14, -64)
        lgr    0,15             # create stack frame
        aghi   15,-160
        cfi_adjust_cfa_offset (160)
@@ -72,6 +73,13 @@ _dl_runtime_profile:
        stg    %r6,16(%r15)
        stg    %r12,24(%r15)
        stg    %r14,32(%r15)
+       cfi_offset (r6, -96)
+       cfi_offset (f0, -56)
+       cfi_offset (f2, -48)
+       cfi_offset (f4, -40)
+       cfi_offset (f6, -32)
+       cfi_offset (r12, -136)
+       cfi_offset (r14, -128)
        lgr    %r12,%r15                # create stack frame
        cfi_def_cfa_register (12)
        aghi   %r15,-160
index 78b5521..e866c3f 100644 (file)
 
        ASM_GLOBAL_DIRECTIVE C_SYMBOL_NAME(_mcount)
        ASM_TYPE_DIRECTIVE(C_SYMBOL_NAME(_mcount), @function)
+       cfi_startproc
        .align ALIGNARG(4)
 C_LABEL(_mcount)
        /* Save the caller-clobbered registers.  */
         aghi  %r15,-224
+       cfi_adjust_cfa_offset (224)
         stmg  %r14,%r5,160(%r15)
+       cfi_offset (r14, 0)
+       cfi_offset (r15, 8)
         lg    %r2,232(%r15)       # callers address  = first parameter
         la    %r2,0(%r2)          # clear bit 0
         la    %r3,0(%r14)         # callees address  = second parameter
@@ -65,7 +69,9 @@ C_LABEL(_mcount)
           return value.  */
        lmg   %r14,%r5,160(%r15)
         aghi   %r15,224
+       cfi_adjust_cfa_offset (-224)
         br    %r14
+       cfi_endproc
        ASM_SIZE_DIRECTIVE(C_SYMBOL_NAME(_mcount))
 
 #undef mcount