On 11/09/2011 08:14 AM, Iain Sandoe wrote: > On i686-darwin9 it fails with "target only supports weak alias" > (I need to understand better where that comes from - but the machine is tied > up right now).
This is fixed. I removed the alias in favor of a plain function for portability. I also added PR 51065 to track the automatic optimization possibility. > On x86_64-darwin10 it fails to build sjlj.S because that file makes > use of assembler constructs not available on the system as (I think > Rainer perhaps already observed this for some solaris versions). Testing a fix for the cfi pseudos now. That won't totally fix darwin, because there are also elf-specific pseudos as well (e.g. ".type"). I'll crib a patch together for that from cross-compiled examples for you to test later. > I had a quick look at config/x86/target.h and observe that the jmpbuf > layout in that header is different from the system definition... Irrelevant. It's a local jmpbuf for the local definition in sjlj.S. Which is Special because we're actually recording the state for an outer frame. One can NOT use the system setjmp/longjmp to implement libitm. > Index: libitm/configure.tgt > =================================================================== > --- libitm/configure.tgt (revision 181206) > +++ libitm/configure.tgt (working copy) > @@ -93,10 +93,14 @@ case "${target}" in > *-*-gnu* | *-*-k*bsd*-gnu \ > | *-*-netbsd* | *-*-freebsd* | *-*-openbsd* \ > | *-*-solaris2* | *-*-sysv4* | *-*-irix6* | *-*-osf* | *-*-hpux11* \ > - | *-*-darwin* | *-*-aix*) > + | *-*-aix*) > # POSIX system. The OS is supported. > ;; > > + *-*-darwin*) # POSIX, but needs some work. > + UNSUPPORTED=1 > + ;; > + > *) # Non-POSIX, or embedded system > UNSUPPORTED=1 If you want to commit that right away, that's fine by me. r~