mirror of
git://gcc.gnu.org/git/gcc.git
synced 2025-03-24 19:01:17 +08:00
gcc.c (LINK_COMMAND_SPEC): Deal with -fgnu-tm.
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. From-SVN: r184174
This commit is contained in:
parent
b2cb69647e
commit
255a9a1bb5
@ -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
|
||||
|
@ -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. */
|
||||
|
@ -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
|
||||
|
@ -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. */
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
2
libitm/configure
vendored
2
libitm/configure
vendored
@ -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
|
||||
|
@ -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
|
||||
|
@ -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-*-*])
|
||||
|
Loading…
x
Reference in New Issue
Block a user