[darwin] linkonce patch troubles

Andreas Tobler toa@pop.agri.ch
Thu Apr 1 19:20:00 GMT 2004


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



More information about the Gcc mailing list