Skip to content

Commit

Permalink
WIP for @path testsuite non-installed.
Browse files Browse the repository at this point in the history
  • Loading branch information
iains committed Jun 29, 2023
1 parent b1bd59a commit 7fd7466
Show file tree
Hide file tree
Showing 10 changed files with 85 additions and 18 deletions.
3 changes: 3 additions & 0 deletions gcc/Makefile.in
Original file line number Diff line number Diff line change
Expand Up @@ -4200,6 +4200,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 \
Expand Down
17 changes: 14 additions & 3 deletions gcc/testsuite/gfortran.dg/coarray/caf.exp
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand All @@ -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
Expand All @@ -71,7 +73,16 @@ 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"
#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.
Expand All @@ -97,14 +108,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 ""
}
}
Expand Down
32 changes: 29 additions & 3 deletions gcc/testsuite/gfortran.dg/dg.exp
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down Expand Up @@ -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
2 changes: 1 addition & 1 deletion gcc/testsuite/lib/asan-dg.exp
Original file line number Diff line number Diff line change
Expand Up @@ -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 {
Expand Down
2 changes: 1 addition & 1 deletion gcc/testsuite/lib/atomic-dg.exp
Original file line number Diff line number Diff line change
Expand Up @@ -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 {
Expand Down
23 changes: 19 additions & 4 deletions gcc/testsuite/lib/target-libpath.exp
Original file line number Diff line number Diff line change
Expand Up @@ -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.
Expand Down Expand Up @@ -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 {
Expand Down Expand Up @@ -166,11 +168,23 @@ 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 } {
setenv PATH "$ld_library_path:$orig_path"
Expand All @@ -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]"
Expand Down
8 changes: 6 additions & 2 deletions libatomic/testsuite/lib/libatomic.exp
Original file line number Diff line number Diff line change
Expand Up @@ -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"
}

Expand Down
11 changes: 8 additions & 3 deletions libffi/testsuite/lib/libffi.exp
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down Expand Up @@ -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"
}
Expand Down
1 change: 1 addition & 0 deletions libitm/testsuite/lib/libitm.exp
Original file line number Diff line number Diff line change
Expand Up @@ -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"
}

Expand Down
4 changes: 3 additions & 1 deletion libitm/testsuite/libitm.c++/c++.exp
Original file line number Diff line number Diff line change
Expand Up @@ -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"
}
Expand All @@ -72,7 +74,7 @@ if { $lang_test_file_found } {
}

# Main loop.
dg-runtest $tests "" $libstdcxx_includes
dg-runtest $tests $stdcxxadder $libstdcxx_includes
}

# All done.
Expand Down

0 comments on commit 7fd7466

Please sign in to comment.