This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
[darwin] linkonce patch troubles
- From: Andreas Tobler <toa at pop dot agri dot ch>
- To: Matt Austern <austern at apple dot com>
- Cc: GCC <gcc at gcc dot gnu dot org>
- Date: Thu, 01 Apr 2004 21:20:00 +0200
- Subject: [darwin] linkonce patch troubles
Hi Matt,
I'd appreciate if you could do a complete bootstrap especially with
libffi and libjava.
You patch from the 12 of march breaks the libffi unwinding and quite a
few testcases in the libjava suite which rely on correct unwinding.
It took me quite a bit time to figure out since my PBG4 is on the way to
its end. I could not follow the last couple of days with daily trapping
and testing.
Nevertheless I figured your patch as responsible for this breakage.
The fix for it is a two times one liner for the darwin .S files in
src/powerpc.
Though, I do _NOT_ know if it is correct since I can follow what you did
and I'd probably have done the same. But testing would have shown you
something weird there.
I'd appreciate some explanation, even from an unwinder expert :)
TIA,
Andreas
Btw, here the one liners ......
Index: src/powerpc/darwin.S
===================================================================
RCS file: /cvs/gcc/gcc/libffi/src/powerpc/darwin.S,v
retrieving revision 1.8
diff -u -r1.8 darwin.S
--- src/powerpc/darwin.S 12 Mar 2004 17:09:03 -0000 1.8
+++ src/powerpc/darwin.S 1 Apr 2004 19:10:22 -0000
@@ -174,7 +174,7 @@
.byte 0x7c ; sleb128 -4; CIE Data Alignment Factor
.byte 0x41 ; CIE RA Column
.byte 0x1 ; uleb128 0x1; Augmentation size
- .byte 0x90 ; FDE Encoding (indirect pcrel)
+ .byte 0x10 ; FDE Encoding (pcrel)
.byte 0xc ; DW_CFA_def_cfa
.byte 0x1 ; uleb128 0x1
.byte 0x0 ; uleb128 0x0
Index: src/powerpc/darwin_closure.S
===================================================================
RCS file: /cvs/gcc/gcc/libffi/src/powerpc/darwin_closure.S,v
retrieving revision 1.7
diff -u -r1.7 darwin_closure.S
--- src/powerpc/darwin_closure.S 12 Mar 2004 17:09:03 -0000 1.7
+++ src/powerpc/darwin_closure.S 1 Apr 2004 19:18:20 -0000
@@ -246,7 +246,7 @@
.byte 0x7c ; sleb128 -4; CIE Data Alignment Factor
.byte 0x41 ; CIE RA Column
.byte 0x1 ; uleb128 0x1; Augmentation size
- .byte 0x90 ; FDE Encoding (indirect pcrel)
+ .byte 0x10 ; FDE Encoding (pcrel)
.byte 0xc ; DW_CFA_def_cfa
.byte 0x1 ; uleb128 0x1
.byte 0x0 ; uleb128 0x0