From 2e1e3f0d75c2b2304ca06a90156acb9a19020bd8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=A9r=C3=B4me=20Duval?= Date: Sun, 3 Mar 2019 18:01:20 +0100 Subject: [PATCH] runtime_loader: fix failures in the test suite. * use --no-as-needed on Linux as the default changed some time ago. * adjust LD_LIBRARY_PATH/LIBRARY_PATH to load in the current directory. * fix some builds of program with compile_lib. Only dlopen_lookup_next1 fails on Ubuntu 18.04.02 x86_64. Change-Id: I6ecf70f742f67ab24d7d00fa615baa209634d02c Reviewed-on: https://review.haiku-os.org/c/1140 Reviewed-by: waddlesplash --- .../runtime_loader/test_suite/dlopen_resolve_order1 | 2 +- .../runtime_loader/test_suite/dlopen_resolve_order2 | 2 +- .../runtime_loader/test_suite/dlopen_resolve_order4 | 2 +- src/tests/system/runtime_loader/test_suite/test_setup | 10 ++++++++-- 4 files changed, 11 insertions(+), 5 deletions(-) diff --git a/src/tests/system/runtime_loader/test_suite/dlopen_resolve_order1 b/src/tests/system/runtime_loader/test_suite/dlopen_resolve_order1 index f57f51fee8..c7722384d8 100755 --- a/src/tests/system/runtime_loader/test_suite/dlopen_resolve_order1 +++ b/src/tests/system/runtime_loader/test_suite/dlopen_resolve_order1 @@ -70,7 +70,7 @@ main() EOI # build -compile_lib_dl -o program program.c +compile_program_dl -o program program.c # run test_run_ok ./program 1 diff --git a/src/tests/system/runtime_loader/test_suite/dlopen_resolve_order2 b/src/tests/system/runtime_loader/test_suite/dlopen_resolve_order2 index b82b5a1f86..3dffb34012 100755 --- a/src/tests/system/runtime_loader/test_suite/dlopen_resolve_order2 +++ b/src/tests/system/runtime_loader/test_suite/dlopen_resolve_order2 @@ -80,7 +80,7 @@ main() EOI # build -compile_lib_dl -o program program.c +compile_program_dl -o program program.c # run test_run_ok ./program 2 diff --git a/src/tests/system/runtime_loader/test_suite/dlopen_resolve_order4 b/src/tests/system/runtime_loader/test_suite/dlopen_resolve_order4 index 862c830592..c905dc5d1e 100755 --- a/src/tests/system/runtime_loader/test_suite/dlopen_resolve_order4 +++ b/src/tests/system/runtime_loader/test_suite/dlopen_resolve_order4 @@ -87,7 +87,7 @@ main() EOI # build -compile_lib_dl -o program program.c +compile_program_dl -o program program.c # run test_run_ok ./program 2 diff --git a/src/tests/system/runtime_loader/test_suite/test_setup b/src/tests/system/runtime_loader/test_suite/test_setup index d8e0d70f94..c46fdacb32 100644 --- a/src/tests/system/runtime_loader/test_suite/test_setup +++ b/src/tests/system/runtime_loader/test_suite/test_setup @@ -22,6 +22,12 @@ test_run_ok() exit 1 fi + case $os in + FreeBSD|Linux) export LD_LIBRARY_PATH=.:$LD_LIBRARY_PATH;; + Haiku) export LIBRARY_PATH=.:$LIBRARY_PATH;; + *) echo "Unsupported OS: $os"; exit 1;; + esac + # run $1 retval=$? @@ -33,7 +39,7 @@ test_run_ok() compile_lib() { - gcc -shared $@ -D_GNU_SOURCE -fPIC + gcc -shared -Wl,--no-as-needed -D_GNU_SOURCE -fPIC $@ } compile_lib_dl() @@ -43,7 +49,7 @@ compile_lib_dl() compile_program() { - gcc $@ -D_GNU_SOURCE -Wl,-rpath,.,--export-dynamic + gcc -Wl,--no-as-needed $@ -D_GNU_SOURCE -Wl,-rpath,.,--export-dynamic } compile_program_dl()