diff options
author | ebotcazou <ebotcazou@138bc75d-0d04-0410-961f-82ee72b054a4> | 2012-02-13 21:46:38 +0000 |
---|---|---|
committer | ebotcazou <ebotcazou@138bc75d-0d04-0410-961f-82ee72b054a4> | 2012-02-13 21:46:38 +0000 |
commit | 9a8d01ee90eeb9a2ec0ea7aac9b8925c1e4ac55e (patch) | |
tree | b55e6dc77c9621f5c9185ca1566529c83dd91063 | |
parent | 49ba6a35776ad54d2b9be833992b49454a09baac (diff) | |
download | ppe42-gcc-9a8d01ee90eeb9a2ec0ea7aac9b8925c1e4ac55e.tar.gz ppe42-gcc-9a8d01ee90eeb9a2ec0ea7aac9b8925c1e4ac55e.zip |
gcc/
* gcc.c (LINK_COMMAND_SPEC): Deal with -fgnu-tm.
(GTM_SELF_SPECS): Define if not already defined.
(driver_self_specs): Add GTM_SELF_SPECS.
* config/darwin.h (LINK_COMMAND_SPEC_A): Deal with -fgnu-tm.
(GTM_SELF_SPECS): Define.
* config/i386/cygwin.h (GTM_SELF_SPECS): Likewise.
* config/i386/mingw32.h (GTM_SELF_SPECS): Likewise.
libitm/
* configure.ac (link_itm): Fix comment.
* configure: Regenerate.
* testsuite/lib/libitm.exp: Do not pass -litm for the link.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@184174 138bc75d-0d04-0410-961f-82ee72b054a4
-rw-r--r-- | gcc/ChangeLog | 10 | ||||
-rw-r--r-- | gcc/config/darwin.h | 4 | ||||
-rw-r--r-- | gcc/config/i386/cygwin.h | 2 | ||||
-rw-r--r-- | gcc/config/i386/mingw32.h | 2 | ||||
-rw-r--r-- | gcc/gcc.c | 8 | ||||
-rw-r--r-- | libitm/ChangeLog | 6 | ||||
-rw-r--r-- | libitm/configure | 2 | ||||
-rw-r--r-- | libitm/configure.ac | 2 | ||||
-rw-r--r-- | libitm/testsuite/lib/libitm.exp | 1 |
9 files changed, 33 insertions, 4 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 7a469e46648..22777f1610e 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,13 @@ +2012-02-13 Eric Botcazou <ebotcazou@adacore.com> + + * gcc.c (LINK_COMMAND_SPEC): Deal with -fgnu-tm. + (GTM_SELF_SPECS): Define if not already defined. + (driver_self_specs): Add GTM_SELF_SPECS. + * config/darwin.h (LINK_COMMAND_SPEC_A): Deal with -fgnu-tm. + (GTM_SELF_SPECS): Define. + * config/i386/cygwin.h (GTM_SELF_SPECS): Likewise. + * config/i386/mingw32.h (GTM_SELF_SPECS): Likewise. + 2012-02-13 Jakub Jelinek <jakub@redhat.com> * cselib.c (expand_loc): Return sp, fp, hfp or cfa base reg right diff --git a/gcc/config/darwin.h b/gcc/config/darwin.h index 70ac80c19ac..24253320208 100644 --- a/gcc/config/darwin.h +++ b/gcc/config/darwin.h @@ -183,6 +183,8 @@ extern GTY(()) int darwin_ms_struct; %{L*} %(link_libgcc) %o %{fprofile-arcs|fprofile-generate*|coverage:-lgcov} \ %{fopenmp|ftree-parallelize-loops=*: \ %{static|static-libgcc|static-libstdc++|static-libgfortran: libgomp.a%s; : -lgomp } } \ + %{fgnu-tm: \ + %{static|static-libgcc|static-libstdc++|static-libgfortran: libitm.a%s; : -litm } } \ %{!nostdlib:%{!nodefaultlibs:\ %(link_ssp) %(link_gcc_c_sequence)\ }}\ @@ -915,6 +917,8 @@ void add_framework_path (char *); #undef GOMP_SELF_SPECS #define GOMP_SELF_SPECS "" +#undef GTM_SELF_SPECS +#define GTM_SELF_SPECS "" /* Darwin disables section anchors by default. They should be enabled per arch where support exists in that arch. */ diff --git a/gcc/config/i386/cygwin.h b/gcc/config/i386/cygwin.h index d84c5c3aed8..5cf7f9cf51d 100644 --- a/gcc/config/i386/cygwin.h +++ b/gcc/config/i386/cygwin.h @@ -126,6 +126,8 @@ along with GCC; see the file COPYING3. If not see and the -pthread flag is not recognized. */ #undef GOMP_SELF_SPECS #define GOMP_SELF_SPECS "" +#undef GTM_SELF_SPECS +#define GTM_SELF_SPECS "" /* This matches SHLIB_SONAME and SHLIB_SOVERSION in t-cygwin. */ #if DWARF2_UNWIND_INFO diff --git a/gcc/config/i386/mingw32.h b/gcc/config/i386/mingw32.h index 00dcca60bb0..4fdef2664bd 100644 --- a/gcc/config/i386/mingw32.h +++ b/gcc/config/i386/mingw32.h @@ -187,6 +187,8 @@ do { \ #undef GOMP_SELF_SPECS #define GOMP_SELF_SPECS "%{fopenmp|ftree-parallelize-loops=*: " \ "-mthreads -pthread}" +#undef GTM_SELF_SPECS +#define GTM_SELF_SPECS "%{fgnu-tm:-mthreads -pthread}" /* mingw32 atexit function is safe to use in shared libraries. Use it to register C++ static destructors. */ diff --git a/gcc/gcc.c b/gcc/gcc.c index 6f98fc9b9d6..c7c8c053ba3 100644 --- a/gcc/gcc.c +++ b/gcc/gcc.c @@ -675,6 +675,7 @@ proper position among the other output files. */ %{s} %{t} %{u*} %{z} %{Z} %{!nostdlib:%{!nostartfiles:%S}}\ %{static:} %{L*} %(mfwrap) %(link_libgcc) %o\ %{fopenmp|ftree-parallelize-loops=*:%:include(libgomp.spec)%(link_gomp)}\ + %{fgnu-tm:%:include(libitm.spec)%(link_itm)}\ %(mflib) " STACK_SPLIT_SPEC "\ %{fprofile-arcs|fprofile-generate*|coverage:-lgcov}\ %{!nostdlib:%{!nodefaultlibs:%(link_ssp) %(link_gcc_c_sequence)}}\ @@ -839,9 +840,14 @@ static const char *const multilib_defaults_raw[] = MULTILIB_DEFAULTS; #define GOMP_SELF_SPECS "%{fopenmp|ftree-parallelize-loops=*: -pthread}" #endif +/* Likewise for -fgnu-tm. */ +#ifndef GTM_SELF_SPECS +#define GTM_SELF_SPECS "%{fgnu-tm: -pthread}" +#endif + static const char *const driver_self_specs[] = { "%{fdump-final-insns:-fdump-final-insns=.} %<fdump-final-insns", - DRIVER_SELF_SPECS, CONFIGURE_SPECS, GOMP_SELF_SPECS + DRIVER_SELF_SPECS, CONFIGURE_SPECS, GOMP_SELF_SPECS, GTM_SELF_SPECS }; #ifndef OPTION_DEFAULT_SPECS diff --git a/libitm/ChangeLog b/libitm/ChangeLog index 2bcb5ebaeb6..9ce9ba71a9a 100644 --- a/libitm/ChangeLog +++ b/libitm/ChangeLog @@ -1,3 +1,9 @@ +2012-02-11 Eric Botcazou <ebotcazou@adacore.com> + + * configure.ac (link_itm): Fix comment. + * configure: Regenerate. + * testsuite/lib/libitm.exp: Do not pass -litm for the link. + 2012-01-31 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> PR libitm/51822 diff --git a/libitm/configure b/libitm/configure index 5fc8703cd9c..47c7b0cd484 100644 --- a/libitm/configure +++ b/libitm/configure @@ -17463,7 +17463,7 @@ else fi # Set up the set of libraries that we need to link against for libitm. -# Note that the GOMP_SELF_SPEC in gcc.c will force -pthread for -fopenmp, +# Note that the GTM_SELF_SPECS in gcc.c will force -pthread for -fgnu-tm, # which will force linkage against -lpthread (or equivalent for the system). # That's not 100% ideal, but about the best we can do easily. if test $enable_shared = yes; then diff --git a/libitm/configure.ac b/libitm/configure.ac index 7b54371fa88..2cce2b102f5 100644 --- a/libitm/configure.ac +++ b/libitm/configure.ac @@ -268,7 +268,7 @@ else fi # Set up the set of libraries that we need to link against for libitm. -# Note that the GOMP_SELF_SPEC in gcc.c will force -pthread for -fopenmp, +# Note that the GTM_SELF_SPECS in gcc.c will force -pthread for -fgnu-tm, # which will force linkage against -lpthread (or equivalent for the system). # That's not 100% ideal, but about the best we can do easily. if test $enable_shared = yes; then diff --git a/libitm/testsuite/lib/libitm.exp b/libitm/testsuite/lib/libitm.exp index 74f7f80859a..b2556d14091 100644 --- a/libitm/testsuite/lib/libitm.exp +++ b/libitm/testsuite/lib/libitm.exp @@ -140,7 +140,6 @@ proc libitm_init { args } { lappend ALWAYS_CFLAGS "ldflags=-L${blddir}/.libs" } lappend ALWAYS_CFLAGS "additional_flags=-I${srcdir}/.." - lappend ALWAYS_CFLAGS "ldflags=-litm" # We use atomic operations in the testcases to validate results. if { ([istarget i?86-*-*] || [istarget x86_64-*-*]) |