This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
[PATCH] Use DW_CFA_offset_extended_sf rather than DW_CFA_GNU_negative_offset_extended in libffi
- From: Jakub Jelinek <jakub at redhat dot com>
- To: David Edelsohn <dje at watson dot ibm dot com>, Geoff Keating <geoffk at geoffk dot org>, Tom Tromey <tromey at redhat dot com>
- Cc: gcc-patches at gcc dot gnu dot org
- Date: Sat, 6 Aug 2005 05:54:21 -0400
- Subject: [PATCH] Use DW_CFA_offset_extended_sf rather than DW_CFA_GNU_negative_offset_extended in libffi
- Reply-to: Jakub Jelinek <jakub at redhat dot com>
Hi!
GCC switched from the nonstandard DW_CFA_GNU_negative_offset_extended
opcode to DW_CFA_offset_extended_sf in early 2002, so I guess it is time
for libffi to follow it. It causes problems in GDB which doesn't handle
DW_CFA_GNU_negative_offset_extended (it should handle it IMHO anyway,
but there is no reason why libffi should keep using the obsolete opcode
forever).
Ok for HEAD?
2005-08-06 Jakub Jelinek <jakub@redhat.com>
* src/powerpc/ppc_closure.S (ffi_closure_SYSV): Use
DW_CFA_offset_extended_sf rather than
DW_CFA_GNU_negative_offset_extended.
* src/powerpc/sysv.S (ffi_call_SYSV): Likewise.
--- libffi/src/powerpc/ppc_closure.S.jj 2005-08-06 10:40:46.000000000 +0200
+++ libffi/src/powerpc/ppc_closure.S 2005-08-06 11:46:03.000000000 +0200
@@ -319,9 +319,9 @@ END(ffi_closure_SYSV)
.uleb128 144
.byte 0x4 # DW_CFA_advance_loc4
.4byte .LCFI1-.LCFI0
- .byte 0x2f # DW_CFA_GNU_negative_offset_extended
+ .byte 0x11 # DW_CFA_offset_extended_sf
.uleb128 0x41
- .uleb128 0x1
+ .sleb128 -1
.align 2
.LEFDE1:
--- libffi/src/powerpc/sysv.S.jj 2005-08-06 10:40:46.000000000 +0200
+++ libffi/src/powerpc/sysv.S 2005-08-06 11:45:16.000000000 +0200
@@ -191,9 +191,9 @@ END(ffi_call_SYSV)
.uleb128 0x08
.byte 0x4 /* DW_CFA_advance_loc4 */
.4byte .LCFI5-.LCFI0
- .byte 0x2f /* DW_CFA_GNU_negative_offset_extended */
+ .byte 0x11 /* DW_CFA_offset_extended_sf */
.uleb128 0x41
- .uleb128 0x1
+ .sleb128 -1
.byte 0x9f /* DW_CFA_offset, column 0x1f */
.uleb128 0x1
.byte 0x9e /* DW_CFA_offset, column 0x1e */
Jakub