* Source text_setup with explicitly given current directory path component.
Apparently the source semantics has changed, as the that wasn't necessary
in older OpenSuse versions.
* Replaced gcc invocations in the test scripts with with
compile_{lib,program}[_dl]() shell functions defined in test_setup.
* Build libraries with -fPIC, so we don't get complaints for x86_64.
Apparently the runtime loader semantics has changed in OpenSuse 11.2 compared
to older versions. Some tests don't pass any longer (respectively even crash).
Would be interesting to know what happens on a current FreeBSD.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39308 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
@@ -12,7 +12,7 @@
|
|||||||
# libd.so
|
# libd.so
|
||||||
|
|
||||||
|
|
||||||
. test_setup
|
. ./test_setup
|
||||||
|
|
||||||
|
|
||||||
# create libd.so
|
# create libd.so
|
||||||
@@ -21,7 +21,7 @@ int a() { return 1; }
|
|||||||
EOI
|
EOI
|
||||||
|
|
||||||
# build
|
# build
|
||||||
gcc -shared -o libd.so libd.c
|
compile_lib -o libd.so libd.c
|
||||||
|
|
||||||
|
|
||||||
# create libb.so
|
# create libb.so
|
||||||
@@ -38,7 +38,7 @@ a()
|
|||||||
EOI
|
EOI
|
||||||
|
|
||||||
# build
|
# build
|
||||||
gcc -shared -o libb.so libb.c -D_GNU_SOURCE ./libd.so $libdl
|
compile_lib_dl -o libb.so libb.c ./libd.so
|
||||||
|
|
||||||
|
|
||||||
# create liba.so
|
# create liba.so
|
||||||
@@ -54,7 +54,7 @@ a()
|
|||||||
EOI
|
EOI
|
||||||
|
|
||||||
# build
|
# build
|
||||||
gcc -shared -o liba.so liba.c -D_GNU_SOURCE ./libb.so $libdl
|
compile_lib_dl -o liba.so liba.c ./libb.so
|
||||||
|
|
||||||
|
|
||||||
# create libe.so
|
# create libe.so
|
||||||
@@ -70,7 +70,7 @@ a()
|
|||||||
EOI
|
EOI
|
||||||
|
|
||||||
# build
|
# build
|
||||||
gcc -shared -o libe.so libe.c -D_GNU_SOURCE $libdl
|
compile_lib_dl -o libe.so libe.c
|
||||||
|
|
||||||
|
|
||||||
# create program
|
# create program
|
||||||
@@ -111,7 +111,7 @@ main()
|
|||||||
EOI
|
EOI
|
||||||
|
|
||||||
# build
|
# build
|
||||||
gcc -o program program.c -D_GNU_SOURCE $libdl -Wl,-rpath,.,--export-dynamic
|
compile_program_dl -o program program.c
|
||||||
|
|
||||||
# run
|
# run
|
||||||
test_run_ok ./program 31
|
test_run_ok ./program 31
|
||||||
|
|||||||
@@ -11,7 +11,7 @@
|
|||||||
# libb_dependency.so.
|
# libb_dependency.so.
|
||||||
|
|
||||||
|
|
||||||
. test_setup
|
. ./test_setup
|
||||||
|
|
||||||
|
|
||||||
# create liba.so
|
# create liba.so
|
||||||
@@ -20,7 +20,7 @@ int a() { return 1; }
|
|||||||
EOI
|
EOI
|
||||||
|
|
||||||
# build
|
# build
|
||||||
gcc -shared -o liba.so liba.c
|
compile_lib -o liba.so liba.c
|
||||||
|
|
||||||
|
|
||||||
# create libb_dependency.so
|
# create libb_dependency.so
|
||||||
@@ -29,7 +29,7 @@ int a() { return 2; }
|
|||||||
EOI
|
EOI
|
||||||
|
|
||||||
# build
|
# build
|
||||||
gcc -shared -o libb_dependency.so libb_dependency.c
|
compile_lib -o libb_dependency.so libb_dependency.c
|
||||||
|
|
||||||
|
|
||||||
# create libb.so
|
# create libb.so
|
||||||
@@ -38,7 +38,7 @@ int b() { return 1; }
|
|||||||
EOI
|
EOI
|
||||||
|
|
||||||
# build
|
# build
|
||||||
gcc -shared -o libb.so libb.c ./libb_dependency.so
|
compile_lib -o libb.so libb.c ./libb_dependency.so
|
||||||
|
|
||||||
|
|
||||||
# create program
|
# create program
|
||||||
@@ -83,7 +83,7 @@ main()
|
|||||||
EOI
|
EOI
|
||||||
|
|
||||||
# build
|
# build
|
||||||
gcc -o program program.c $libdl -Wl,-rpath,.,--export-dynamic
|
compile_program_dl -o program program.c
|
||||||
|
|
||||||
# run
|
# run
|
||||||
test_run_ok ./program 1
|
test_run_ok ./program 1
|
||||||
|
|||||||
@@ -11,7 +11,7 @@
|
|||||||
# liba.so.
|
# liba.so.
|
||||||
|
|
||||||
|
|
||||||
. test_setup
|
. ./test_setup
|
||||||
|
|
||||||
|
|
||||||
# create liba.so
|
# create liba.so
|
||||||
@@ -20,7 +20,7 @@ int a() { return 1; }
|
|||||||
EOI
|
EOI
|
||||||
|
|
||||||
# build
|
# build
|
||||||
gcc -shared -o liba.so liba.c
|
compile_lib -o liba.so liba.c
|
||||||
|
|
||||||
|
|
||||||
# create libb_dependency.so
|
# create libb_dependency.so
|
||||||
@@ -29,7 +29,7 @@ int a() { return 2; }
|
|||||||
EOI
|
EOI
|
||||||
|
|
||||||
# build
|
# build
|
||||||
gcc -shared -o libb_dependency.so libb_dependency.c
|
compile_lib -o libb_dependency.so libb_dependency.c
|
||||||
|
|
||||||
|
|
||||||
# create libb.so
|
# create libb.so
|
||||||
@@ -38,7 +38,7 @@ int b() { return 1; }
|
|||||||
EOI
|
EOI
|
||||||
|
|
||||||
# build
|
# build
|
||||||
gcc -shared -o libb.so libb.c ./libb_dependency.so
|
compile_lib -o libb.so libb.c ./libb_dependency.so
|
||||||
|
|
||||||
|
|
||||||
# create program
|
# create program
|
||||||
@@ -83,7 +83,7 @@ main()
|
|||||||
EOI
|
EOI
|
||||||
|
|
||||||
# build
|
# build
|
||||||
gcc -o program program.c $libdl -Wl,-rpath,.,--export-dynamic
|
compile_program_dl -o program program.c
|
||||||
|
|
||||||
# run
|
# run
|
||||||
test_run_ok ./program 2
|
test_run_ok ./program 2
|
||||||
|
|||||||
@@ -12,7 +12,7 @@
|
|||||||
# libb_dependency.so.
|
# libb_dependency.so.
|
||||||
|
|
||||||
|
|
||||||
. test_setup
|
. ./test_setup
|
||||||
|
|
||||||
|
|
||||||
# create libb_dependency.so
|
# create libb_dependency.so
|
||||||
@@ -21,7 +21,7 @@ int a() { return 1; }
|
|||||||
EOI
|
EOI
|
||||||
|
|
||||||
# build
|
# build
|
||||||
gcc -shared -o libb_dependency.so libb_dependency.c
|
compile_lib -o libb_dependency.so libb_dependency.c
|
||||||
|
|
||||||
|
|
||||||
# create libb.so
|
# create libb.so
|
||||||
@@ -30,7 +30,7 @@ int b() { return 1; }
|
|||||||
EOI
|
EOI
|
||||||
|
|
||||||
# build
|
# build
|
||||||
gcc -shared -o libb.so libb.c ./libb_dependency.so
|
compile_lib -o libb.so libb.c ./libb_dependency.so
|
||||||
|
|
||||||
|
|
||||||
# create liba.so
|
# create liba.so
|
||||||
@@ -39,7 +39,7 @@ int a() { return 2; }
|
|||||||
EOI
|
EOI
|
||||||
|
|
||||||
# build
|
# build
|
||||||
gcc -shared -o libd.so libd.c
|
compile_lib -o libd.so libd.c
|
||||||
|
|
||||||
|
|
||||||
# create liba.so
|
# create liba.so
|
||||||
@@ -48,7 +48,7 @@ int c() { return 1; }
|
|||||||
EOI
|
EOI
|
||||||
|
|
||||||
# build
|
# build
|
||||||
gcc -shared -o liba.so liba.c ./libb.so ./libd.so
|
compile_lib -o liba.so liba.c ./libb.so ./libd.so
|
||||||
|
|
||||||
|
|
||||||
# create program
|
# create program
|
||||||
@@ -79,7 +79,7 @@ main()
|
|||||||
EOI
|
EOI
|
||||||
|
|
||||||
# build
|
# build
|
||||||
gcc -o program program.c $libdl -Wl,-rpath,.,--export-dynamic
|
compile_program_dl -o program program.c
|
||||||
|
|
||||||
# run
|
# run
|
||||||
test_run_ok ./program 2
|
test_run_ok ./program 2
|
||||||
|
|||||||
@@ -11,7 +11,7 @@
|
|||||||
# symbol in liba.so, since libb.so is loaded RTLD_LOCAL.
|
# symbol in liba.so, since libb.so is loaded RTLD_LOCAL.
|
||||||
|
|
||||||
|
|
||||||
. test_setup
|
. ./test_setup
|
||||||
|
|
||||||
|
|
||||||
# create liba.so
|
# create liba.so
|
||||||
@@ -20,7 +20,7 @@ int a() { return 1; }
|
|||||||
EOI
|
EOI
|
||||||
|
|
||||||
# build
|
# build
|
||||||
gcc -shared -o liba.so liba.c
|
compile_lib -o liba.so liba.c
|
||||||
|
|
||||||
|
|
||||||
# create libb_dependency.so
|
# create libb_dependency.so
|
||||||
@@ -29,7 +29,7 @@ int a() { return 2; }
|
|||||||
EOI
|
EOI
|
||||||
|
|
||||||
# build
|
# build
|
||||||
gcc -shared -o libb_dependency.so libb_dependency.c
|
compile_lib -o libb_dependency.so libb_dependency.c
|
||||||
|
|
||||||
|
|
||||||
# create libb.so
|
# create libb.so
|
||||||
@@ -38,7 +38,7 @@ int b() { return 1; }
|
|||||||
EOI
|
EOI
|
||||||
|
|
||||||
# build
|
# build
|
||||||
gcc -shared -o libb.so libb.c ./libb_dependency.so
|
compile_lib -o libb.so libb.c ./libb_dependency.so
|
||||||
|
|
||||||
|
|
||||||
# create program
|
# create program
|
||||||
@@ -83,7 +83,7 @@ main()
|
|||||||
EOI
|
EOI
|
||||||
|
|
||||||
# build
|
# build
|
||||||
gcc -o program program.c $libdl -Wl,-rpath,.,--export-dynamic
|
compile_program_dl -o program program.c
|
||||||
|
|
||||||
# run
|
# run
|
||||||
test_run_ok ./program 1
|
test_run_ok ./program 1
|
||||||
|
|||||||
@@ -8,7 +8,7 @@
|
|||||||
# Expected: Undefined symbol in liba.so resolve to symbol in program.
|
# Expected: Undefined symbol in liba.so resolve to symbol in program.
|
||||||
|
|
||||||
|
|
||||||
. test_setup
|
. ./test_setup
|
||||||
|
|
||||||
|
|
||||||
# create liba.so
|
# create liba.so
|
||||||
@@ -18,7 +18,7 @@ int a() { return b(); }
|
|||||||
EOI
|
EOI
|
||||||
|
|
||||||
# build
|
# build
|
||||||
gcc -shared -o liba.so liba.c
|
compile_lib -o liba.so liba.c
|
||||||
|
|
||||||
|
|
||||||
# create program
|
# create program
|
||||||
@@ -53,7 +53,7 @@ main()
|
|||||||
EOI
|
EOI
|
||||||
|
|
||||||
# build
|
# build
|
||||||
gcc -o program program.c $libdl -Wl,-rpath,.,--export-dynamic
|
compile_program_dl -o program program.c
|
||||||
|
|
||||||
# run
|
# run
|
||||||
test_run_ok ./program 1
|
test_run_ok ./program 1
|
||||||
|
|||||||
@@ -9,7 +9,7 @@
|
|||||||
# Expected: Undefined symbol in liba.so resolves to symbol in libb.so.
|
# Expected: Undefined symbol in liba.so resolves to symbol in libb.so.
|
||||||
|
|
||||||
|
|
||||||
. test_setup
|
. ./test_setup
|
||||||
|
|
||||||
|
|
||||||
# create liba.so
|
# create liba.so
|
||||||
@@ -19,7 +19,7 @@ int a() { return b(); }
|
|||||||
EOI
|
EOI
|
||||||
|
|
||||||
# build
|
# build
|
||||||
gcc -shared -o liba.so liba.c
|
compile_lib -o liba.so liba.c
|
||||||
|
|
||||||
|
|
||||||
# create libb.so
|
# create libb.so
|
||||||
@@ -28,7 +28,7 @@ int b() { return 1; }
|
|||||||
EOI
|
EOI
|
||||||
|
|
||||||
# build
|
# build
|
||||||
gcc -shared -o libb.so libb.c
|
compile_lib -o libb.so libb.c
|
||||||
|
|
||||||
|
|
||||||
# create program
|
# create program
|
||||||
@@ -60,7 +60,7 @@ main()
|
|||||||
EOI
|
EOI
|
||||||
|
|
||||||
# build
|
# build
|
||||||
gcc -o program program.c ./libb.so $libdl -Wl,-rpath,.,--export-dynamic
|
compile_program_dl -o program program.c ./libb.so
|
||||||
|
|
||||||
# run
|
# run
|
||||||
test_run_ok ./program 1
|
test_run_ok ./program 1
|
||||||
|
|||||||
@@ -11,7 +11,7 @@
|
|||||||
# libb_dependency.so.
|
# libb_dependency.so.
|
||||||
|
|
||||||
|
|
||||||
. test_setup
|
. ./test_setup
|
||||||
|
|
||||||
|
|
||||||
# create libb_dependency.so
|
# create libb_dependency.so
|
||||||
@@ -20,7 +20,7 @@ int c() { return 1; }
|
|||||||
EOI
|
EOI
|
||||||
|
|
||||||
# build
|
# build
|
||||||
gcc -shared -o libb_dependency.so libb_dependency.c
|
compile_lib -o libb_dependency.so libb_dependency.c
|
||||||
|
|
||||||
|
|
||||||
# create libb.so
|
# create libb.so
|
||||||
@@ -29,7 +29,7 @@ int b() { return 1; }
|
|||||||
EOI
|
EOI
|
||||||
|
|
||||||
# build
|
# build
|
||||||
gcc -shared -o libb.so libb.c ./libb_dependency.so
|
compile_lib -o libb.so libb.c ./libb_dependency.so
|
||||||
|
|
||||||
|
|
||||||
# create liba.so
|
# create liba.so
|
||||||
@@ -39,7 +39,7 @@ int a() { return c(); }
|
|||||||
EOI
|
EOI
|
||||||
|
|
||||||
# build
|
# build
|
||||||
gcc -shared -o liba.so liba.c ./libb.so
|
compile_lib -o liba.so liba.c ./libb.so
|
||||||
|
|
||||||
|
|
||||||
# create program
|
# create program
|
||||||
@@ -70,7 +70,7 @@ main()
|
|||||||
EOI
|
EOI
|
||||||
|
|
||||||
# build
|
# build
|
||||||
gcc -o program program.c $libdl -Wl,-rpath,.,--export-dynamic
|
compile_program_dl -o program program.c
|
||||||
|
|
||||||
# run
|
# run
|
||||||
test_run_ok ./program 1
|
test_run_ok ./program 1
|
||||||
|
|||||||
@@ -10,7 +10,7 @@
|
|||||||
# to symbol in libb.so.
|
# to symbol in libb.so.
|
||||||
|
|
||||||
|
|
||||||
. test_setup
|
. ./test_setup
|
||||||
|
|
||||||
|
|
||||||
# create liba.so
|
# create liba.so
|
||||||
@@ -20,7 +20,7 @@ int a() { return b(); }
|
|||||||
EOI
|
EOI
|
||||||
|
|
||||||
# build
|
# build
|
||||||
gcc -shared -o liba.so liba.c
|
compile_lib -o liba.so liba.c
|
||||||
|
|
||||||
|
|
||||||
# create libb.so
|
# create libb.so
|
||||||
@@ -29,7 +29,7 @@ int b() { return 2; }
|
|||||||
EOI
|
EOI
|
||||||
|
|
||||||
# build
|
# build
|
||||||
gcc -shared -o libb.so libb.c
|
compile_lib -o libb.so libb.c
|
||||||
|
|
||||||
|
|
||||||
# create program
|
# create program
|
||||||
@@ -70,7 +70,7 @@ main()
|
|||||||
EOI
|
EOI
|
||||||
|
|
||||||
# build
|
# build
|
||||||
gcc -o program program.c $libdl -Wl,-rpath,.,--export-dynamic
|
compile_lib_dl -o program program.c
|
||||||
|
|
||||||
# run
|
# run
|
||||||
test_run_ok ./program 1
|
test_run_ok ./program 1
|
||||||
|
|||||||
@@ -12,7 +12,7 @@
|
|||||||
# libd.so, not to symbol in libb_dependency.so.
|
# libd.so, not to symbol in libb_dependency.so.
|
||||||
|
|
||||||
|
|
||||||
. test_setup
|
. ./test_setup
|
||||||
|
|
||||||
|
|
||||||
# create libb_dependency.so
|
# create libb_dependency.so
|
||||||
@@ -21,7 +21,7 @@ int c() { return 1; }
|
|||||||
EOI
|
EOI
|
||||||
|
|
||||||
# build
|
# build
|
||||||
gcc -shared -o libb_dependency.so libb_dependency.c
|
compile_lib -o libb_dependency.so libb_dependency.c
|
||||||
|
|
||||||
|
|
||||||
# create libb.so
|
# create libb.so
|
||||||
@@ -30,7 +30,7 @@ int b() { return 1; }
|
|||||||
EOI
|
EOI
|
||||||
|
|
||||||
# build
|
# build
|
||||||
gcc -shared -o libb.so libb.c ./libb_dependency.so
|
compile_lib -o libb.so libb.c ./libb_dependency.so
|
||||||
|
|
||||||
|
|
||||||
# create libd.so
|
# create libd.so
|
||||||
@@ -39,7 +39,7 @@ int c() { return 2; }
|
|||||||
EOI
|
EOI
|
||||||
|
|
||||||
# build
|
# build
|
||||||
gcc -shared -o libd.so libd.c
|
compile_lib -o libd.so libd.c
|
||||||
|
|
||||||
|
|
||||||
# create liba.so
|
# create liba.so
|
||||||
@@ -49,7 +49,7 @@ int a() { return c(); }
|
|||||||
EOI
|
EOI
|
||||||
|
|
||||||
# build
|
# build
|
||||||
gcc -shared -o liba.so liba.c ./libb.so ./libd.so
|
compile_lib -o liba.so liba.c ./libb.so ./libd.so
|
||||||
|
|
||||||
|
|
||||||
# create program
|
# create program
|
||||||
@@ -80,7 +80,7 @@ main()
|
|||||||
EOI
|
EOI
|
||||||
|
|
||||||
# build
|
# build
|
||||||
gcc -o program program.c $libdl -Wl,-rpath,.,--export-dynamic
|
compile_lib_dl -o program program.c
|
||||||
|
|
||||||
# run
|
# run
|
||||||
test_run_ok ./program 2
|
test_run_ok ./program 2
|
||||||
|
|||||||
@@ -11,7 +11,7 @@
|
|||||||
# not to symbol in libb.so.
|
# not to symbol in libb.so.
|
||||||
|
|
||||||
|
|
||||||
. test_setup
|
. ./test_setup
|
||||||
|
|
||||||
|
|
||||||
# create libb.so
|
# create libb.so
|
||||||
@@ -20,7 +20,7 @@ int b() { return 1; }
|
|||||||
EOI
|
EOI
|
||||||
|
|
||||||
# build
|
# build
|
||||||
gcc -shared -o libb.so libb.c
|
compile_lib -o libb.so libb.c
|
||||||
|
|
||||||
|
|
||||||
# create liba.so
|
# create liba.so
|
||||||
@@ -30,7 +30,7 @@ int a() { return b(); }
|
|||||||
EOI
|
EOI
|
||||||
|
|
||||||
# build
|
# build
|
||||||
gcc -shared -o liba.so liba.c ./libb.so
|
compile_lib -o liba.so liba.c ./libb.so
|
||||||
|
|
||||||
|
|
||||||
# create libd.so
|
# create libd.so
|
||||||
@@ -39,7 +39,7 @@ int b() { return 2; }
|
|||||||
EOI
|
EOI
|
||||||
|
|
||||||
# build
|
# build
|
||||||
gcc -shared -o libd.so libd.c
|
compile_lib -o libd.so libd.c
|
||||||
|
|
||||||
|
|
||||||
# create program
|
# create program
|
||||||
@@ -76,8 +76,8 @@ main()
|
|||||||
}
|
}
|
||||||
EOI
|
EOI
|
||||||
|
|
||||||
# build
|
#build
|
||||||
gcc -o program program.c $libdl -Wl,-rpath,.,--export-dynamic
|
compile_program_dl -o program program.c
|
||||||
|
|
||||||
# run
|
# run
|
||||||
test_run_ok ./program 2
|
test_run_ok ./program 2
|
||||||
|
|||||||
@@ -12,7 +12,7 @@
|
|||||||
# not to symbol in libb_dependency.so.
|
# not to symbol in libb_dependency.so.
|
||||||
|
|
||||||
|
|
||||||
. test_setup
|
. ./test_setup
|
||||||
|
|
||||||
|
|
||||||
# create libb_dependency.so
|
# create libb_dependency.so
|
||||||
@@ -21,7 +21,7 @@ int c() { return 1; }
|
|||||||
EOI
|
EOI
|
||||||
|
|
||||||
# build
|
# build
|
||||||
gcc -shared -o libb_dependency.so libb_dependency.c
|
compile_lib -o libb_dependency.so libb_dependency.c
|
||||||
|
|
||||||
|
|
||||||
# create libb.so
|
# create libb.so
|
||||||
@@ -30,7 +30,7 @@ int b() { return 1; }
|
|||||||
EOI
|
EOI
|
||||||
|
|
||||||
# build
|
# build
|
||||||
gcc -shared -o libb.so libb.c ./libb_dependency.so
|
compile_lib -o libb.so libb.c ./libb_dependency.so
|
||||||
|
|
||||||
|
|
||||||
# create liba.so
|
# create liba.so
|
||||||
@@ -40,7 +40,7 @@ int a() { return c(); }
|
|||||||
EOI
|
EOI
|
||||||
|
|
||||||
# build
|
# build
|
||||||
gcc -shared -o liba.so liba.c ./libb.so
|
compile_lib -o liba.so liba.c ./libb.so
|
||||||
|
|
||||||
|
|
||||||
# create libd.so
|
# create libd.so
|
||||||
@@ -49,7 +49,7 @@ int c() { return 2; }
|
|||||||
EOI
|
EOI
|
||||||
|
|
||||||
# build
|
# build
|
||||||
gcc -shared -o libd.so libd.c
|
compile_lib -o libd.so libd.c
|
||||||
|
|
||||||
|
|
||||||
# create program
|
# create program
|
||||||
@@ -87,7 +87,7 @@ main()
|
|||||||
EOI
|
EOI
|
||||||
|
|
||||||
# build
|
# build
|
||||||
gcc -o program program.c $libdl -Wl,-rpath,.,--export-dynamic
|
compile_lib_dl -o program program.c
|
||||||
|
|
||||||
# run
|
# run
|
||||||
test_run_ok ./program 2
|
test_run_ok ./program 2
|
||||||
|
|||||||
@@ -13,7 +13,7 @@
|
|||||||
# libd.so, not to symbol in libb_dependency.so.
|
# libd.so, not to symbol in libb_dependency.so.
|
||||||
|
|
||||||
|
|
||||||
. test_setup
|
. ./test_setup
|
||||||
|
|
||||||
|
|
||||||
# create libb_dependency.so
|
# create libb_dependency.so
|
||||||
@@ -22,7 +22,7 @@ int c() { return 1; }
|
|||||||
EOI
|
EOI
|
||||||
|
|
||||||
# build
|
# build
|
||||||
gcc -shared -o libb_dependency.so libb_dependency.c
|
compile_lib -o libb_dependency.so libb_dependency.c
|
||||||
|
|
||||||
|
|
||||||
# create libb.so
|
# create libb.so
|
||||||
@@ -31,7 +31,7 @@ int b() { return 1; }
|
|||||||
EOI
|
EOI
|
||||||
|
|
||||||
# build
|
# build
|
||||||
gcc -shared -o libb.so libb.c ./libb_dependency.so
|
compile_lib -o libb.so libb.c ./libb_dependency.so
|
||||||
|
|
||||||
|
|
||||||
# create libd.so
|
# create libd.so
|
||||||
@@ -40,7 +40,7 @@ int c() { return 2; }
|
|||||||
EOI
|
EOI
|
||||||
|
|
||||||
# build
|
# build
|
||||||
gcc -shared -o libd.so libd.c
|
compile_lib -o libd.so libd.c
|
||||||
|
|
||||||
|
|
||||||
# create liba.so
|
# create liba.so
|
||||||
@@ -49,7 +49,7 @@ int e() { return 0; }
|
|||||||
EOI
|
EOI
|
||||||
|
|
||||||
# build
|
# build
|
||||||
gcc -shared -o liba.so liba.c ./libb.so ./libd.so
|
compile_lib -o liba.so liba.c ./libb.so ./libd.so
|
||||||
|
|
||||||
|
|
||||||
# create libe.so
|
# create libe.so
|
||||||
@@ -59,7 +59,7 @@ int a() { return c(); }
|
|||||||
EOI
|
EOI
|
||||||
|
|
||||||
# build
|
# build
|
||||||
gcc -shared -o libe.so libe.c
|
compile_lib -o libe.so libe.c
|
||||||
|
|
||||||
|
|
||||||
# create program
|
# create program
|
||||||
@@ -97,7 +97,7 @@ main()
|
|||||||
EOI
|
EOI
|
||||||
|
|
||||||
# build
|
# build
|
||||||
gcc -o program program.c $libdl -Wl,-rpath,.,--export-dynamic
|
compile_program_dl -o program program.c
|
||||||
|
|
||||||
# run
|
# run
|
||||||
test_run_ok ./program 2
|
test_run_ok ./program 2
|
||||||
|
|||||||
@@ -13,7 +13,7 @@
|
|||||||
# libb_dependency.so, not to symbol in libd.so.
|
# libb_dependency.so, not to symbol in libd.so.
|
||||||
|
|
||||||
|
|
||||||
. test_setup
|
. ./test_setup
|
||||||
|
|
||||||
|
|
||||||
# create libb_dependency.so
|
# create libb_dependency.so
|
||||||
@@ -22,7 +22,7 @@ int c() { return 1; }
|
|||||||
EOI
|
EOI
|
||||||
|
|
||||||
# build
|
# build
|
||||||
gcc -shared -o libb_dependency.so libb_dependency.c
|
compile_lib -o libb_dependency.so libb_dependency.c
|
||||||
|
|
||||||
|
|
||||||
# create libb.so
|
# create libb.so
|
||||||
@@ -31,7 +31,7 @@ int b() { return 1; }
|
|||||||
EOI
|
EOI
|
||||||
|
|
||||||
# build
|
# build
|
||||||
gcc -shared -o libb.so libb.c ./libb_dependency.so
|
compile_lib -o libb.so libb.c ./libb_dependency.so
|
||||||
|
|
||||||
|
|
||||||
# create libd.so
|
# create libd.so
|
||||||
@@ -40,7 +40,7 @@ int c() { return 2; }
|
|||||||
EOI
|
EOI
|
||||||
|
|
||||||
# build
|
# build
|
||||||
gcc -shared -o libd.so libd.c
|
compile_lib -o libd.so libd.c
|
||||||
|
|
||||||
|
|
||||||
# create liba.so
|
# create liba.so
|
||||||
@@ -50,7 +50,7 @@ int e() { return 0; }
|
|||||||
EOI
|
EOI
|
||||||
|
|
||||||
# build
|
# build
|
||||||
gcc -shared -o liba.so liba.c ./libb.so
|
compile_lib -o liba.so liba.c ./libb.so
|
||||||
|
|
||||||
|
|
||||||
# create libe.so
|
# create libe.so
|
||||||
@@ -60,7 +60,7 @@ int a() { return c(); }
|
|||||||
EOI
|
EOI
|
||||||
|
|
||||||
# build
|
# build
|
||||||
gcc -shared -o libe.so libe.c
|
compile_lib -o libe.so libe.c
|
||||||
|
|
||||||
|
|
||||||
# create program
|
# create program
|
||||||
@@ -105,8 +105,7 @@ main()
|
|||||||
EOI
|
EOI
|
||||||
|
|
||||||
# build
|
# build
|
||||||
gcc -o program program.c $libdl -Wl,-rpath,.,--export-dynamic
|
compile_program_dl -o program program.c
|
||||||
|
|
||||||
# run
|
# run
|
||||||
test_run_ok ./program 1
|
test_run_ok ./program 1
|
||||||
|
|
||||||
|
|||||||
@@ -11,7 +11,7 @@
|
|||||||
# not to symbol in libd.so, since it's loaded RTLD_LOCAL.
|
# not to symbol in libd.so, since it's loaded RTLD_LOCAL.
|
||||||
|
|
||||||
|
|
||||||
. test_setup
|
. ./test_setup
|
||||||
|
|
||||||
|
|
||||||
# create libb.so
|
# create libb.so
|
||||||
@@ -20,7 +20,7 @@ int b() { return 1; }
|
|||||||
EOI
|
EOI
|
||||||
|
|
||||||
# build
|
# build
|
||||||
gcc -shared -o libb.so libb.c
|
compile_lib -o libb.so libb.c
|
||||||
|
|
||||||
|
|
||||||
# create liba.so
|
# create liba.so
|
||||||
@@ -30,7 +30,7 @@ int a() { return b(); }
|
|||||||
EOI
|
EOI
|
||||||
|
|
||||||
# build
|
# build
|
||||||
gcc -shared -o liba.so liba.c ./libb.so
|
compile_lib -o liba.so liba.c ./libb.so
|
||||||
|
|
||||||
|
|
||||||
# create libd.so
|
# create libd.so
|
||||||
@@ -39,7 +39,7 @@ int b() { return 2; }
|
|||||||
EOI
|
EOI
|
||||||
|
|
||||||
# build
|
# build
|
||||||
gcc -shared -o libd.so libd.c
|
compile_lib -o libd.so libd.c
|
||||||
|
|
||||||
|
|
||||||
# create program
|
# create program
|
||||||
@@ -77,7 +77,7 @@ main()
|
|||||||
EOI
|
EOI
|
||||||
|
|
||||||
# build
|
# build
|
||||||
gcc -o program program.c $libdl -Wl,-rpath,.,--export-dynamic
|
compile_program_dl -o program program.c
|
||||||
|
|
||||||
# run
|
# run
|
||||||
test_run_ok ./program 1
|
test_run_ok ./program 1
|
||||||
|
|||||||
@@ -8,7 +8,7 @@
|
|||||||
# Expected: dlsym(RTLD_NEXT) finds symbol in order liba.so, libb.so, libd.so
|
# Expected: dlsym(RTLD_NEXT) finds symbol in order liba.so, libb.so, libd.so
|
||||||
|
|
||||||
|
|
||||||
. test_setup
|
. ./test_setup
|
||||||
|
|
||||||
|
|
||||||
# create libd.so
|
# create libd.so
|
||||||
@@ -17,7 +17,7 @@ int a() { return 1; }
|
|||||||
EOI
|
EOI
|
||||||
|
|
||||||
# build
|
# build
|
||||||
gcc -shared -o libd.so libd.c
|
compile_lib -o libd.so libd.c
|
||||||
|
|
||||||
|
|
||||||
# create libb.so
|
# create libb.so
|
||||||
@@ -34,7 +34,7 @@ a()
|
|||||||
EOI
|
EOI
|
||||||
|
|
||||||
# build
|
# build
|
||||||
gcc -shared -o libb.so libb.c -D_GNU_SOURCE ./libd.so $libdl
|
compile_lib_dl -o libb.so libb.c ./libd.so
|
||||||
|
|
||||||
|
|
||||||
# create liba.so
|
# create liba.so
|
||||||
@@ -50,7 +50,7 @@ a()
|
|||||||
EOI
|
EOI
|
||||||
|
|
||||||
# build
|
# build
|
||||||
gcc -shared -o liba.so liba.c -D_GNU_SOURCE ./libb.so $libdl
|
compile_lib_dl -o liba.so liba.c ./libb.so
|
||||||
|
|
||||||
|
|
||||||
# create program
|
# create program
|
||||||
@@ -73,8 +73,7 @@ main()
|
|||||||
EOI
|
EOI
|
||||||
|
|
||||||
# build
|
# build
|
||||||
gcc -o program program.c -D_GNU_SOURCE ./liba.so $libdl \
|
compile_program_dl -o program program.c ./liba.so
|
||||||
-Wl,-rpath,.,--export-dynamic
|
|
||||||
|
|
||||||
# run
|
# run
|
||||||
test_run_ok ./program 15
|
test_run_ok ./program 15
|
||||||
|
|||||||
@@ -6,7 +6,7 @@
|
|||||||
# Expected: Undefined symbol in liba.so resolves to symbol in program.
|
# Expected: Undefined symbol in liba.so resolves to symbol in program.
|
||||||
|
|
||||||
|
|
||||||
. test_setup
|
. ./test_setup
|
||||||
|
|
||||||
|
|
||||||
# create liba.so
|
# create liba.so
|
||||||
@@ -16,7 +16,7 @@ int a() { return b(); }
|
|||||||
EOI
|
EOI
|
||||||
|
|
||||||
# build
|
# build
|
||||||
gcc -shared -o liba.so liba.c
|
compile_lib -o liba.so liba.c
|
||||||
|
|
||||||
|
|
||||||
# create program
|
# create program
|
||||||
@@ -37,7 +37,7 @@ main()
|
|||||||
EOI
|
EOI
|
||||||
|
|
||||||
# build
|
# build
|
||||||
gcc -o program program.c ./liba.so -Wl,-rpath,.,--export-dynamic
|
compile_program -o program program.c ./liba.so
|
||||||
|
|
||||||
# run
|
# run
|
||||||
test_run_ok ./program 1
|
test_run_ok ./program 1
|
||||||
|
|||||||
@@ -9,7 +9,7 @@
|
|||||||
# not to symbol in libb_dependency.so.
|
# not to symbol in libb_dependency.so.
|
||||||
|
|
||||||
|
|
||||||
. test_setup
|
. ./test_setup
|
||||||
|
|
||||||
|
|
||||||
# create liba.so
|
# create liba.so
|
||||||
@@ -18,7 +18,7 @@ int a() { return 1; }
|
|||||||
EOI
|
EOI
|
||||||
|
|
||||||
# build
|
# build
|
||||||
gcc -shared -o liba.so liba.c
|
compile_lib -o liba.so liba.c
|
||||||
|
|
||||||
|
|
||||||
# create libb_dependency.so
|
# create libb_dependency.so
|
||||||
@@ -27,7 +27,7 @@ int a() { return 2; }
|
|||||||
EOI
|
EOI
|
||||||
|
|
||||||
# build
|
# build
|
||||||
gcc -shared -o libb_dependency.so libb_dependency.c
|
compile_lib -o libb_dependency.so libb_dependency.c
|
||||||
|
|
||||||
|
|
||||||
# create libb.so
|
# create libb.so
|
||||||
@@ -36,7 +36,7 @@ int b() { return 1; }
|
|||||||
EOI
|
EOI
|
||||||
|
|
||||||
# build
|
# build
|
||||||
gcc -shared -o libb.so libb.c ./libb_dependency.so
|
compile_lib -o libb.so libb.c ./libb_dependency.so
|
||||||
|
|
||||||
|
|
||||||
# create program
|
# create program
|
||||||
@@ -50,7 +50,7 @@ main()
|
|||||||
EOI
|
EOI
|
||||||
|
|
||||||
# build
|
# build
|
||||||
gcc -o program program.c ./liba.so ./libb.so -Wl,-rpath,.,--export-dynamic
|
compile_program -o program program.c ./liba.so ./libb.so
|
||||||
|
|
||||||
# run
|
# run
|
||||||
test_run_ok ./program 1
|
test_run_ok ./program 1
|
||||||
|
|||||||
@@ -9,7 +9,7 @@
|
|||||||
# not to symbol in libb_dependency.so.
|
# not to symbol in libb_dependency.so.
|
||||||
|
|
||||||
|
|
||||||
. test_setup
|
. ./test_setup
|
||||||
|
|
||||||
|
|
||||||
# create liba.so
|
# create liba.so
|
||||||
@@ -18,7 +18,7 @@ int a() { return 1; }
|
|||||||
EOI
|
EOI
|
||||||
|
|
||||||
# build
|
# build
|
||||||
gcc -shared -o liba.so liba.c
|
compile_lib -o liba.so liba.c
|
||||||
|
|
||||||
|
|
||||||
# create libb_dependency.so
|
# create libb_dependency.so
|
||||||
@@ -27,7 +27,7 @@ int a() { return 2; }
|
|||||||
EOI
|
EOI
|
||||||
|
|
||||||
# build
|
# build
|
||||||
gcc -shared -o libb_dependency.so libb_dependency.c
|
compile_lib -o libb_dependency.so libb_dependency.c
|
||||||
|
|
||||||
|
|
||||||
# create libb.so
|
# create libb.so
|
||||||
@@ -36,7 +36,7 @@ int b() { return 1; }
|
|||||||
EOI
|
EOI
|
||||||
|
|
||||||
# build
|
# build
|
||||||
gcc -shared -o libb.so libb.c ./libb_dependency.so
|
compile_lib -o libb.so libb.c ./libb_dependency.so
|
||||||
|
|
||||||
|
|
||||||
# create program
|
# create program
|
||||||
@@ -50,7 +50,7 @@ main()
|
|||||||
EOI
|
EOI
|
||||||
|
|
||||||
# build
|
# build
|
||||||
gcc -o program program.c ./libb.so ./liba.so -Wl,-rpath,.,--export-dynamic
|
compile_program -o program program.c ./libb.so ./liba.so
|
||||||
|
|
||||||
# run
|
# run
|
||||||
test_run_ok ./program 1
|
test_run_ok ./program 1
|
||||||
|
|||||||
@@ -9,7 +9,7 @@
|
|||||||
# not to symbol in libb_dependency.so.
|
# not to symbol in libb_dependency.so.
|
||||||
|
|
||||||
|
|
||||||
. test_setup
|
. ./test_setup
|
||||||
|
|
||||||
|
|
||||||
# create liba.so
|
# create liba.so
|
||||||
@@ -18,7 +18,7 @@ int a() { return 1; }
|
|||||||
EOI
|
EOI
|
||||||
|
|
||||||
# build
|
# build
|
||||||
gcc -shared -o liba.so liba.c
|
compile_lib -o liba.so liba.c
|
||||||
|
|
||||||
|
|
||||||
# create libb_dependency.so
|
# create libb_dependency.so
|
||||||
@@ -27,7 +27,7 @@ int a() { return 2; }
|
|||||||
EOI
|
EOI
|
||||||
|
|
||||||
# build
|
# build
|
||||||
gcc -shared -o libb_dependency.so libb_dependency.c
|
compile_lib -o libb_dependency.so libb_dependency.c
|
||||||
|
|
||||||
|
|
||||||
# create libb.so
|
# create libb.so
|
||||||
@@ -37,7 +37,7 @@ int b() { return a(); }
|
|||||||
EOI
|
EOI
|
||||||
|
|
||||||
# build
|
# build
|
||||||
gcc -shared -o libb.so libb.c ./libb_dependency.so
|
compile_lib -o libb.so libb.c ./libb_dependency.so
|
||||||
|
|
||||||
|
|
||||||
# create program
|
# create program
|
||||||
@@ -51,7 +51,7 @@ main()
|
|||||||
EOI
|
EOI
|
||||||
|
|
||||||
# build
|
# build
|
||||||
gcc -o program program.c ./liba.so ./libb.so -Wl,-rpath,.,--export-dynamic
|
compile_program -o program program.c ./liba.so ./libb.so
|
||||||
|
|
||||||
# run
|
# run
|
||||||
test_run_ok ./program 1
|
test_run_ok ./program 1
|
||||||
|
|||||||
@@ -8,7 +8,7 @@
|
|||||||
# not to symbol in libb_dependency.so.
|
# not to symbol in libb_dependency.so.
|
||||||
|
|
||||||
|
|
||||||
. test_setup
|
. ./test_setup
|
||||||
|
|
||||||
|
|
||||||
# create libb_dependency.so
|
# create libb_dependency.so
|
||||||
@@ -17,7 +17,7 @@ int a() { return 2; }
|
|||||||
EOI
|
EOI
|
||||||
|
|
||||||
# build
|
# build
|
||||||
gcc -shared -o libb_dependency.so libb_dependency.c
|
compile_lib -o libb_dependency.so libb_dependency.c
|
||||||
|
|
||||||
|
|
||||||
# create libb.so
|
# create libb.so
|
||||||
@@ -27,7 +27,7 @@ int b() { return a(); }
|
|||||||
EOI
|
EOI
|
||||||
|
|
||||||
# build
|
# build
|
||||||
gcc -shared -o libb.so libb.c ./libb_dependency.so
|
compile_lib -o libb.so libb.c ./libb_dependency.so
|
||||||
|
|
||||||
|
|
||||||
# create program
|
# create program
|
||||||
@@ -45,7 +45,7 @@ main()
|
|||||||
EOI
|
EOI
|
||||||
|
|
||||||
# build
|
# build
|
||||||
gcc -o program program.c ./libb.so -Wl,-rpath,.,--export-dynamic
|
compile_program -o program program.c ./libb.so
|
||||||
|
|
||||||
# run
|
# run
|
||||||
test_run_ok ./program 1
|
test_run_ok ./program 1
|
||||||
|
|||||||
@@ -30,3 +30,23 @@ test_run_ok()
|
|||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
|
compile_lib()
|
||||||
|
{
|
||||||
|
gcc -shared $@ -D_GNU_SOURCE -fPIC
|
||||||
|
}
|
||||||
|
|
||||||
|
compile_lib_dl()
|
||||||
|
{
|
||||||
|
compile_lib $@ $libdl
|
||||||
|
}
|
||||||
|
|
||||||
|
compile_program()
|
||||||
|
{
|
||||||
|
gcc $@ -D_GNU_SOURCE -Wl,-rpath,.,--export-dynamic
|
||||||
|
}
|
||||||
|
|
||||||
|
compile_program_dl()
|
||||||
|
{
|
||||||
|
compile_program $@ $libdl
|
||||||
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user