This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]