aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gcc/Makefile.in3
-rw-r--r--gcc/testsuite/gfortran.dg/coarray/caf.exp16
-rw-r--r--gcc/testsuite/gfortran.dg/dg.exp32
-rw-r--r--gcc/testsuite/lib/asan-dg.exp2
-rw-r--r--gcc/testsuite/lib/atomic-dg.exp2
-rw-r--r--gcc/testsuite/lib/target-libpath.exp23
-rw-r--r--libatomic/testsuite/lib/libatomic.exp8
-rw-r--r--libffi/testsuite/lib/libffi.exp11
-rw-r--r--libitm/testsuite/lib/libitm.exp1
-rw-r--r--libitm/testsuite/libitm.c++/c++.exp4
10 files changed, 84 insertions, 18 deletions
diff --git a/gcc/Makefile.in b/gcc/Makefile.in
index bc6a76f..7b7a4ff 100644
--- a/gcc/Makefile.in
+++ b/gcc/Makefile.in
@@ -4245,6 +4245,9 @@ site.exp: ./config.status Makefile
echo "set COMPAT_OPTIONS \"$(COMPAT_OPTIONS)\"" >> ./site.tmp; \
else true; \
fi
+ @if test "x@enable_darwin_at_rpath@" = "xyes" ; then \
+ echo "set ENABLE_DARWIN_AT_RPATH 1" >> ./site.tmp; \
+ fi
@echo "## All variables above are generated by configure. Do Not Edit ##" >> ./site.tmp
@cat ./site.tmp > site.exp
@cat site.bak | sed \
diff --git a/gcc/testsuite/gfortran.dg/coarray/caf.exp b/gcc/testsuite/gfortran.dg/coarray/caf.exp
index d232be2..a10b17a 100644
--- a/gcc/testsuite/gfortran.dg/coarray/caf.exp
+++ b/gcc/testsuite/gfortran.dg/coarray/caf.exp
@@ -28,6 +28,7 @@
# Load procedures from common libraries.
load_lib gfortran-dg.exp
+load_lib atomic-dg.exp
# If a testcase doesn't have special options, use these.
global DEFAULT_FFLAGS
@@ -47,6 +48,7 @@ global gfortran_test_path
global gfortran_aux_module_flags
set gfortran_test_path $srcdir/$subdir
set gfortran_aux_module_flags $DEFAULT_FFLAGS
+
proc dg-compile-aux-modules { args } {
global gfortran_test_path
global gfortran_aux_module_flags
@@ -71,7 +73,15 @@ proc dg-compile-aux-modules { args } {
# Add -latomic only where supported. Assume built-in support elsewhere.
set maybe_atomic_lib ""
if [check_effective_target_libatomic_available] {
- set maybe_atomic_lib "-latomic"
+ if ![is_remote host] {
+ if [info exists TOOL_OPTIONS] {
+ set maybe_atomic_lib "[atomic_link_flags [get_multilibs ${TOOL_OPTIONS}]]"
+ } else {
+ set maybe_atomic_lib "[atomic_link_flags [get_multilibs]]"
+ }
+ }
+ set t [get_multilibs]
+ puts "maybe al $maybe_atomic_lib ml $t"
}
# Main loop.
@@ -97,14 +107,14 @@ foreach test [lsort [glob -nocomplain $srcdir/$subdir/*.\[fF\]{,90,95,03,08} ]]
foreach flags $option_list {
verbose "Testing $nshort (single), $flags" 1
set gfortran_aux_module_flags "-fcoarray=single $flags"
- dg-test $test "-fcoarray=single $flags $maybe_atomic_lib" ""
+ dg-test $test "-fcoarray=single $flags" $maybe_atomic_lib
cleanup-modules ""
}
foreach flags $option_list {
verbose "Testing $nshort (libcaf_single), $flags" 1
set gfortran_aux_module_flags "-fcoarray=lib $flags -lcaf_single"
- dg-test $test "-fcoarray=lib $flags -lcaf_single $maybe_atomic_lib" ""
+ dg-test $test "-fcoarray=lib $flags -lcaf_single" $maybe_atomic_lib
cleanup-modules ""
}
}
diff --git a/gcc/testsuite/gfortran.dg/dg.exp b/gcc/testsuite/gfortran.dg/dg.exp
index ee27603..73541ea 100644
--- a/gcc/testsuite/gfortran.dg/dg.exp
+++ b/gcc/testsuite/gfortran.dg/dg.exp
@@ -18,6 +18,7 @@
# Load support procs.
load_lib gfortran-dg.exp
+load_lib atomic-dg.exp
# If a testcase doesn't have special options, use these.
global DEFAULT_FFLAGS
@@ -53,13 +54,38 @@ proc dg-compile-aux-modules { args } {
}
}
+# coarray tests might need libatomic. Assume that it is either not needed or
+# provided by builtins if it's not available.
+set maybe_atomic_lib ""
+if [check_effective_target_libatomic_available] {
+ if ![is_remote host] {
+ if [info exists TOOL_OPTIONS] {
+ set maybe_atomic_lib "[atomic_link_flags [get_multilibs ${TOOL_OPTIONS}]]"
+ } else {
+ set maybe_atomic_lib "[atomic_link_flags [get_multilibs]]"
+ }
+ } else {
+ set maybe_atomic_lib ""
+ }
+ set t [get_multilibs]
+ puts "dg set al $maybe_atomic_lib ml $t"
+}
+
+set all_flags $DEFAULT_FFLAGS
+if { $maybe_atomic_lib != "" } {
+ foreach f $maybe_atomic_lib {
+ lappend all_flags $f
+ }
+}
+
+puts "revised FFLAGS $all_flags"
+
# Main loop.
gfortran-dg-runtest [lsort \
- [glob -nocomplain $srcdir/$subdir/*.\[fF\]{,90,95,03,08} ] ] "" $DEFAULT_FFLAGS
+ [glob -nocomplain $srcdir/$subdir/*.\[fF\]{,90,95,03,08} ] ] "" $all_flags
gfortran-dg-runtest [lsort \
- [glob -nocomplain $srcdir/$subdir/g77/*.\[fF\] ] ] "" $DEFAULT_FFLAGS
-
+ [glob -nocomplain $srcdir/$subdir/g77/*.\[fF\] ] ] "" $all_flags
# All done.
dg-finish
diff --git a/gcc/testsuite/lib/asan-dg.exp b/gcc/testsuite/lib/asan-dg.exp
index 35e60ea..157b609 100644
--- a/gcc/testsuite/lib/asan-dg.exp
+++ b/gcc/testsuite/lib/asan-dg.exp
@@ -78,7 +78,7 @@ proc asan_link_flags_1 { paths lib } {
|| [file exists "${gccpath}/libsanitizer/${lib}/.libs/lib${lib}.${shlib_ext}"] } {
append flags " -B${gccpath}/libsanitizer/ "
append flags " -B${gccpath}/libsanitizer/${lib}/ "
- append flags " -L${gccpath}/libsanitizer/${lib}/.libs "
+ append flags " -B${gccpath}/libsanitizer/${lib}/.libs "
append ld_library_path ":${gccpath}/libsanitizer/${lib}/.libs"
}
} else {
diff --git a/gcc/testsuite/lib/atomic-dg.exp b/gcc/testsuite/lib/atomic-dg.exp
index 1589acd..ce1799c 100644
--- a/gcc/testsuite/lib/atomic-dg.exp
+++ b/gcc/testsuite/lib/atomic-dg.exp
@@ -33,7 +33,7 @@ proc atomic_link_flags { paths } {
if { [file exists "${gccpath}/libatomic/.libs/libatomic.a"]
|| [file exists "${gccpath}/libatomic/.libs/libatomic.${shlib_ext}"] } {
append flags " -B${gccpath}/libatomic/ "
- append flags " -L${gccpath}/libatomic/.libs"
+ append flags " -B${gccpath}/libatomic/.libs"
append ld_library_path ":${gccpath}/libatomic/.libs"
}
} else {
diff --git a/gcc/testsuite/lib/target-libpath.exp b/gcc/testsuite/lib/target-libpath.exp
index 6d530fb..36b64dd 100644
--- a/gcc/testsuite/lib/target-libpath.exp
+++ b/gcc/testsuite/lib/target-libpath.exp
@@ -67,6 +67,7 @@ proc set_ld_library_path_env_vars { } {
global orig_dyld_library_path
global orig_path
global orig_gcc_exec_prefix
+ global ENABLE_DARWIN_AT_RPATH
global env
# Save the original GCC_EXEC_PREFIX.
@@ -133,6 +134,7 @@ proc set_ld_library_path_env_vars { } {
#
# Doing this is somewhat of a hack as ld_library_path gets repeated in
# SHLIB_PATH and LD_LIBRARY_PATH when unix_load sets these variables.
+ if { ![istarget *-*-darwin*] } {
if { $orig_ld_library_path_saved } {
setenv LD_LIBRARY_PATH "$ld_library_path:$orig_ld_library_path"
} else {
@@ -166,10 +168,22 @@ proc set_ld_library_path_env_vars { } {
} else {
setenv LD_LIBRARY_PATH_64 "$ld_library_path"
}
- if { $orig_dyld_library_path_saved } {
- setenv DYLD_LIBRARY_PATH "$ld_library_path:$orig_dyld_library_path"
- } else {
- setenv DYLD_LIBRARY_PATH "$ld_library_path"
+ }
+ if { [istarget *-*-darwin*] } {
+ if { [info exists ENABLE_DARWIN_AT_RPATH] || [istarget *-*-darwin1\[5-9\]*]
+ || [istarget *-*-darwin20*] } {
+ # Either we are not using DYLD_LIBRARY_PATH or we're on a version of the
+ # OS for which it is not passed through system exes.
+ if [info exists env(DYLD_LIBRARY_PATH)] {
+ unsetenv DYLD_LIBRARY_PATH
+ }
+ } else {
+ if { $orig_dyld_library_path_saved } {
+ setenv DYLD_LIBRARY_PATH "$ld_library_path:$orig_dyld_library_path"
+ } else {
+ setenv DYLD_LIBRARY_PATH "$ld_library_path"
+ }
+ }
}
if { [istarget *-*-cygwin*] || [istarget *-*-mingw*] } {
if { $orig_path_saved } {
@@ -179,6 +193,7 @@ proc set_ld_library_path_env_vars { } {
}
}
+ verbose -log "set paths"
verbose -log "LD_LIBRARY_PATH=[getenv LD_LIBRARY_PATH]"
verbose -log "LD_RUN_PATH=[getenv LD_RUN_PATH]"
verbose -log "SHLIB_PATH=[getenv SHLIB_PATH]"
diff --git a/libatomic/testsuite/lib/libatomic.exp b/libatomic/testsuite/lib/libatomic.exp
index 10f3847..c6d645e 100644
--- a/libatomic/testsuite/lib/libatomic.exp
+++ b/libatomic/testsuite/lib/libatomic.exp
@@ -148,11 +148,15 @@ proc libatomic_init { args } {
if { $blddir != "" } {
lappend ALWAYS_CFLAGS "additional_flags=-B${blddir}/"
lappend ALWAYS_CFLAGS "additional_flags=-I${blddir}"
- lappend ALWAYS_CFLAGS "ldflags=-L${blddir}/.libs"
+ if [istarget *-*-darwin*] {
+ lappend ALWAYS_CFLAGS "additional_flags=-B${blddir}/.libs"
+ } else {
+ lappend ALWAYS_CFLAGS "ldflags=-L${blddir}/.libs"
+ }
}
lappend ALWAYS_CFLAGS "additional_flags=-I${srcdir}/.."
- if [istarget *-*-darwin*] {
+ if [istarget *-*-darwin\[89\]*] {
lappend ALWAYS_CFLAGS "additional_flags=-shared-libgcc"
}
diff --git a/libffi/testsuite/lib/libffi.exp b/libffi/testsuite/lib/libffi.exp
index 15d3d5e..611f517 100644
--- a/libffi/testsuite/lib/libffi.exp
+++ b/libffi/testsuite/lib/libffi.exp
@@ -337,8 +337,13 @@ proc libffi-init { args } {
verbose "libffi_dir $libffi_dir"
if { $libffi_dir != "" } {
set libffi_dir [file dirname ${libffi_dir}]
- set libffi_link_flags "-L${libffi_dir}/.libs"
- lappend libffi_link_flags "-L${blddircxx}/src/.libs"
+ if [istarget *-*-darwin*] {
+ set libffi_link_flags "-B${libffi_dir}/.libs"
+ lappend libffi_link_flags "-B${blddircxx}/src/.libs"
+ } else {
+ set libffi_link_flags "-L${libffi_dir}/.libs"
+ lappend libffi_link_flags "-L${blddircxx}/src/.libs"
+ }
}
set_ld_library_path_env_vars
@@ -382,7 +387,7 @@ proc libffi_target_compile { source dest type options } {
# Darwin needs a stack execution allowed flag.
if { [istarget "*-*-darwin9*"] || [istarget "*-*-darwin1*"]
- || [istarget "*-*-darwin2*"] } {
+ || [istarget "x86_64-*-darwin2*"] } {
lappend options "additional_flags=-Wl,-allow_stack_execute"
lappend options "additional_flags=-Wl,-search_paths_first"
}
diff --git a/libitm/testsuite/lib/libitm.exp b/libitm/testsuite/lib/libitm.exp
index da918d1..61bbfa0 100644
--- a/libitm/testsuite/lib/libitm.exp
+++ b/libitm/testsuite/lib/libitm.exp
@@ -159,6 +159,7 @@ proc libitm_init { args } {
}
if [istarget *-*-darwin*] {
+ lappend ALWAYS_CFLAGS "additional_flags=-B${blddir}/.libs"
lappend ALWAYS_CFLAGS "additional_flags=-shared-libgcc"
}
diff --git a/libitm/testsuite/libitm.c++/c++.exp b/libitm/testsuite/libitm.c++/c++.exp
index de45e7e..1b0ead0 100644
--- a/libitm/testsuite/libitm.c++/c++.exp
+++ b/libitm/testsuite/libitm.c++/c++.exp
@@ -56,8 +56,10 @@ if { $lang_test_file_found } {
# Gather a list of all tests.
set tests [lsort [glob -nocomplain $srcdir/$subdir/*.C]]
+ set stdcxxadder ""
if { $blddir != "" } {
set ld_library_path "$always_ld_library_path:${blddir}/${lang_library_path}"
+ set stdcxxadder "-B ${blddir}/${lang_library_path}"
} else {
set ld_library_path "$always_ld_library_path"
}
@@ -72,7 +74,7 @@ if { $lang_test_file_found } {
}
# Main loop.
- dg-runtest $tests "" $libstdcxx_includes
+ dg-runtest $tests $stdcxxadder $libstdcxx_includes
}
# All done.