OSDN Git Service

PR libffi/21285
authorrth <rth@138bc75d-0d04-0410-961f-82ee72b054a4>
Sun, 8 May 2005 23:23:50 +0000 (23:23 +0000)
committerrth <rth@138bc75d-0d04-0410-961f-82ee72b054a4>
Sun, 8 May 2005 23:23:50 +0000 (23:23 +0000)
        * src/alpha/osf.S: Update unwind into to match code.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@99415 138bc75d-0d04-0410-961f-82ee72b054a4

libffi/ChangeLog
libffi/src/alpha/osf.S

index 84003df..a686d39 100644 (file)
@@ -1,3 +1,8 @@
+2005-05-08  Richard Henderson  <rth@redhat.com>
+
+       PR libffi/21285
+       * src/alpha/osf.S: Update unwind into to match code.
+
 2005-05-04  Andreas Degert <ad@papyrus-gmbh.de>
            Richard Henderson  <rth@redhat.com>
 
index cfa7a96..2f03d62 100644 (file)
@@ -49,12 +49,10 @@ $LFB1:
        addq    $16,$17,$1
        mov     $16, $30
        stq     $26, 0($1)
-$LCFI0:
        stq     $15, 8($1)
-$LCFI1:
        stq     $18, 16($1)
        mov     $1, $15
-$LCFI2:
+$LCFI1:
        .prologue 0
 
        stq     $19, 24($1)
@@ -84,6 +82,7 @@ $LCFI2:
        ldq     $19, 24($15)
        ldq     $18, 16($15)
        ldq     $26, 0($15)
+$LCFI2:
        beq     $19, $noretval
 
        # Store the return value out in the proper type.
@@ -94,22 +93,26 @@ $LCFI2:
        cmpeq   $18, FFI_TYPE_DOUBLE, $3
        bne     $3, $retdouble
 
+       .align  3
 $noretval:
        ldq     $15, 8($15)
        ret
 
+       .align  4
 $retint:
        stq     $0, 0($19)
        nop
        ldq     $15, 8($15)
        ret
 
+       .align  4
 $retfloat:
        sts     $f0, 0($19)
        nop
        ldq     $15, 8($15)
        ret
 
+       .align  4
 $retdouble:
        stt     $f0, 0($19)
        nop
@@ -295,61 +298,62 @@ $load_table:
 #ifdef __ELF__
        .section        .eh_frame,EH_FRAME_FLAGS,@progbits
 __FRAME_BEGIN__:
-       .4byte  $LECIE1-$LSCIE1  # Length of Common Information Entry
+       .4byte  $LECIE1-$LSCIE1 # Length of Common Information Entry
 $LSCIE1:
-       .4byte  0x0      # CIE Identifier Tag
-       .byte   0x1      # CIE Version
-       .ascii "zR\0"    # CIE Augmentation
-       .byte   0x1      # uleb128 0x1; CIE Code Alignment Factor
-       .byte   0x78     # sleb128 -8; CIE Data Alignment Factor
-       .byte   0x1a     # CIE RA Column
-       .byte   0x1      # uleb128 0x1; Augmentation size
-       .byte   0x1b     # FDE Encoding (pcrel sdata4)
-       .byte   0xc      # DW_CFA_def_cfa
-       .byte   0x1e     # uleb128 0x1e
-       .byte   0x0      # uleb128 0x0
+       .4byte  0x0             # CIE Identifier Tag
+       .byte   0x1             # CIE Version
+       .ascii "zR\0"           # CIE Augmentation
+       .byte   0x1             # uleb128 0x1; CIE Code Alignment Factor
+       .byte   0x78            # sleb128 -8; CIE Data Alignment Factor
+       .byte   26              # CIE RA Column
+       .byte   0x1             # uleb128 0x1; Augmentation size
+       .byte   0x1b            # FDE Encoding (pcrel sdata4)
+       .byte   0xc             # DW_CFA_def_cfa
+       .byte   30              # uleb128 column 30
+       .byte   0               # uleb128 offset 0
        .align 3
 $LECIE1:
 $LSFDE1:
-       .4byte  $LEFDE1-$LASFDE1         # FDE Length
+       .4byte  $LEFDE1-$LASFDE1                # FDE Length
 $LASFDE1:
-       .4byte  $LASFDE1-__FRAME_BEGIN__         # FDE CIE offset
-       .4byte  $LFB1-.  # FDE initial location
-       .4byte  $LFE1-$LFB1      # FDE address range
-       .byte   0x0      # uleb128 0x0; Augmentation size
-       .byte   0x4      # DW_CFA_advance_loc4
-       .4byte  $LCFI0-$LFB1
-       .byte   0xe      # DW_CFA_def_cfa_offset
-       .byte   0x30     # uleb128 0x30
-       .byte   0x4      # DW_CFA_advance_loc4
-       .4byte  $LCFI1-$LCFI0
-       .byte   0x9a     # DW_CFA_offset, column 0x1a
-       .byte   0x6      # uleb128 0x6
-       .byte   0x8f     # DW_CFA_offset, column 0xf
-       .byte   0x5      # uleb128 0x5
-       .byte   0x4      # DW_CFA_advance_loc4
+       .4byte  $LASFDE1-__FRAME_BEGIN__        # FDE CIE offset
+       .4byte  $LFB1-.         # FDE initial location
+       .4byte  $LFE1-$LFB1     # FDE address range
+       .byte   0x0             # uleb128 0x0; Augmentation size
+
+       .byte   0x4             # DW_CFA_advance_loc4
+       .4byte  $LCFI1-$LFB1
+       .byte   0x9a            # DW_CFA_offset, column 26
+       .byte   4               # uleb128 4*-8
+       .byte   0x8f            # DW_CFA_offset, column 15
+       .byte   0x3             # uleb128 3*-8
+       .byte   0xc             # DW_CFA_def_cfa
+       .byte   15              # uleb128 column 15
+       .byte   32              # uleb128 offset 32
+
+       .byte   0x4             # DW_CFA_advance_loc4
        .4byte  $LCFI2-$LCFI1
-       .byte   0xc      # DW_CFA_def_cfa
-       .byte   0xf      # uleb128 0xf
-       .byte   0x30     # uleb128 0x30
+       .byte   0xda            # DW_CFA_restore, column 26
        .align 3
 $LEFDE1:
 
 $LSFDE3:
-       .4byte  $LEFDE3-$LASFDE3         # FDE Length
+       .4byte  $LEFDE3-$LASFDE3                # FDE Length
 $LASFDE3:
-       .4byte  $LASFDE3-__FRAME_BEGIN__         # FDE CIE offset
-       .4byte  $LFB2-.  # FDE initial location
-       .4byte  $LFE2-$LFB2      # FDE address range
-       .byte   0x0      # uleb128 0x0; Augmentation size
-       .byte   0x4      # DW_CFA_advance_loc4
+       .4byte  $LASFDE3-__FRAME_BEGIN__        # FDE CIE offset
+       .4byte  $LFB2-.         # FDE initial location
+       .4byte  $LFE2-$LFB2     # FDE address range
+       .byte   0x0             # uleb128 0x0; Augmentation size
+
+       .byte   0x4             # DW_CFA_advance_loc4
        .4byte  $LCFI5-$LFB2
-       .byte   0xe      # DW_CFA_def_cfa_offset
-       .byte   0x90,0x1         # uleb128 0x90
-       .byte   0x4      # DW_CFA_advance_loc4
+       .byte   0xe             # DW_CFA_def_cfa_offset
+       .byte   0x80,0x1        # uleb128 128
+
+       .byte   0x4             # DW_CFA_advance_loc4
        .4byte  $LCFI6-$LCFI5
-       .byte   0x9a     # DW_CFA_offset, column 0x1a
-       .byte   0x12     # uleb128 0x12
+       .byte   0x9a            # DW_CFA_offset, column 26
+       .byte   16              # uleb128 offset 16*-8
        .align 3
 $LEFDE3:
 #endif