On 9 Nov 2011, at 17:01, Richard Henderson wrote:
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.
I'll hang on .. and test stuff ;-)
cheers
Iain