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~

Reply via email to