* 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
|
||||
|
||||
|
||||
. test_setup
|
||||
. ./test_setup
|
||||
|
||||
|
||||
# create libd.so
|
||||
@@ -21,7 +21,7 @@ int a() { return 1; }
|
||||
EOI
|
||||
|
||||
# build
|
||||
gcc -shared -o libd.so libd.c
|
||||
compile_lib -o libd.so libd.c
|
||||
|
||||
|
||||
# create libb.so
|
||||
@@ -38,7 +38,7 @@ a()
|
||||
EOI
|
||||
|
||||
# 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
|
||||
@@ -54,7 +54,7 @@ a()
|
||||
EOI
|
||||
|
||||
# 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
|
||||
@@ -70,7 +70,7 @@ a()
|
||||
EOI
|
||||
|
||||
# build
|
||||
gcc -shared -o libe.so libe.c -D_GNU_SOURCE $libdl
|
||||
compile_lib_dl -o libe.so libe.c
|
||||
|
||||
|
||||
# create program
|
||||
@@ -111,7 +111,7 @@ main()
|
||||
EOI
|
||||
|
||||
# build
|
||||
gcc -o program program.c -D_GNU_SOURCE $libdl -Wl,-rpath,.,--export-dynamic
|
||||
compile_program_dl -o program program.c
|
||||
|
||||
# run
|
||||
test_run_ok ./program 31
|
||||
|
||||
@@ -11,7 +11,7 @@
|
||||
# libb_dependency.so.
|
||||
|
||||
|
||||
. test_setup
|
||||
. ./test_setup
|
||||
|
||||
|
||||
# create liba.so
|
||||
@@ -20,7 +20,7 @@ int a() { return 1; }
|
||||
EOI
|
||||
|
||||
# build
|
||||
gcc -shared -o liba.so liba.c
|
||||
compile_lib -o liba.so liba.c
|
||||
|
||||
|
||||
# create libb_dependency.so
|
||||
@@ -29,7 +29,7 @@ int a() { return 2; }
|
||||
EOI
|
||||
|
||||
# build
|
||||
gcc -shared -o libb_dependency.so libb_dependency.c
|
||||
compile_lib -o libb_dependency.so libb_dependency.c
|
||||
|
||||
|
||||
# create libb.so
|
||||
@@ -38,7 +38,7 @@ int b() { return 1; }
|
||||
EOI
|
||||
|
||||
# build
|
||||
gcc -shared -o libb.so libb.c ./libb_dependency.so
|
||||
compile_lib -o libb.so libb.c ./libb_dependency.so
|
||||
|
||||
|
||||
# create program
|
||||
@@ -83,7 +83,7 @@ main()
|
||||
EOI
|
||||
|
||||
# build
|
||||
gcc -o program program.c $libdl -Wl,-rpath,.,--export-dynamic
|
||||
compile_program_dl -o program program.c
|
||||
|
||||
# run
|
||||
test_run_ok ./program 1
|
||||
|
||||
@@ -11,7 +11,7 @@
|
||||
# liba.so.
|
||||
|
||||
|
||||
. test_setup
|
||||
. ./test_setup
|
||||
|
||||
|
||||
# create liba.so
|
||||
@@ -20,7 +20,7 @@ int a() { return 1; }
|
||||
EOI
|
||||
|
||||
# build
|
||||
gcc -shared -o liba.so liba.c
|
||||
compile_lib -o liba.so liba.c
|
||||
|
||||
|
||||
# create libb_dependency.so
|
||||
@@ -29,7 +29,7 @@ int a() { return 2; }
|
||||
EOI
|
||||
|
||||
# build
|
||||
gcc -shared -o libb_dependency.so libb_dependency.c
|
||||
compile_lib -o libb_dependency.so libb_dependency.c
|
||||
|
||||
|
||||
# create libb.so
|
||||
@@ -38,7 +38,7 @@ int b() { return 1; }
|
||||
EOI
|
||||
|
||||
# build
|
||||
gcc -shared -o libb.so libb.c ./libb_dependency.so
|
||||
compile_lib -o libb.so libb.c ./libb_dependency.so
|
||||
|
||||
|
||||
# create program
|
||||
@@ -83,7 +83,7 @@ main()
|
||||
EOI
|
||||
|
||||
# build
|
||||
gcc -o program program.c $libdl -Wl,-rpath,.,--export-dynamic
|
||||
compile_program_dl -o program program.c
|
||||
|
||||
# run
|
||||
test_run_ok ./program 2
|
||||
|
||||
@@ -12,7 +12,7 @@
|
||||
# libb_dependency.so.
|
||||
|
||||
|
||||
. test_setup
|
||||
. ./test_setup
|
||||
|
||||
|
||||
# create libb_dependency.so
|
||||
@@ -21,7 +21,7 @@ int a() { return 1; }
|
||||
EOI
|
||||
|
||||
# build
|
||||
gcc -shared -o libb_dependency.so libb_dependency.c
|
||||
compile_lib -o libb_dependency.so libb_dependency.c
|
||||
|
||||
|
||||
# create libb.so
|
||||
@@ -30,7 +30,7 @@ int b() { return 1; }
|
||||
EOI
|
||||
|
||||
# build
|
||||
gcc -shared -o libb.so libb.c ./libb_dependency.so
|
||||
compile_lib -o libb.so libb.c ./libb_dependency.so
|
||||
|
||||
|
||||
# create liba.so
|
||||
@@ -39,7 +39,7 @@ int a() { return 2; }
|
||||
EOI
|
||||
|
||||
# build
|
||||
gcc -shared -o libd.so libd.c
|
||||
compile_lib -o libd.so libd.c
|
||||
|
||||
|
||||
# create liba.so
|
||||
@@ -48,7 +48,7 @@ int c() { return 1; }
|
||||
EOI
|
||||
|
||||
# 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
|
||||
@@ -79,7 +79,7 @@ main()
|
||||
EOI
|
||||
|
||||
# build
|
||||
gcc -o program program.c $libdl -Wl,-rpath,.,--export-dynamic
|
||||
compile_program_dl -o program program.c
|
||||
|
||||
# run
|
||||
test_run_ok ./program 2
|
||||
|
||||
@@ -11,7 +11,7 @@
|
||||
# symbol in liba.so, since libb.so is loaded RTLD_LOCAL.
|
||||
|
||||
|
||||
. test_setup
|
||||
. ./test_setup
|
||||
|
||||
|
||||
# create liba.so
|
||||
@@ -20,7 +20,7 @@ int a() { return 1; }
|
||||
EOI
|
||||
|
||||
# build
|
||||
gcc -shared -o liba.so liba.c
|
||||
compile_lib -o liba.so liba.c
|
||||
|
||||
|
||||
# create libb_dependency.so
|
||||
@@ -29,7 +29,7 @@ int a() { return 2; }
|
||||
EOI
|
||||
|
||||
# build
|
||||
gcc -shared -o libb_dependency.so libb_dependency.c
|
||||
compile_lib -o libb_dependency.so libb_dependency.c
|
||||
|
||||
|
||||
# create libb.so
|
||||
@@ -38,7 +38,7 @@ int b() { return 1; }
|
||||
EOI
|
||||
|
||||
# build
|
||||
gcc -shared -o libb.so libb.c ./libb_dependency.so
|
||||
compile_lib -o libb.so libb.c ./libb_dependency.so
|
||||
|
||||
|
||||
# create program
|
||||
@@ -83,7 +83,7 @@ main()
|
||||
EOI
|
||||
|
||||
# build
|
||||
gcc -o program program.c $libdl -Wl,-rpath,.,--export-dynamic
|
||||
compile_program_dl -o program program.c
|
||||
|
||||
# run
|
||||
test_run_ok ./program 1
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
# Expected: Undefined symbol in liba.so resolve to symbol in program.
|
||||
|
||||
|
||||
. test_setup
|
||||
. ./test_setup
|
||||
|
||||
|
||||
# create liba.so
|
||||
@@ -18,7 +18,7 @@ int a() { return b(); }
|
||||
EOI
|
||||
|
||||
# build
|
||||
gcc -shared -o liba.so liba.c
|
||||
compile_lib -o liba.so liba.c
|
||||
|
||||
|
||||
# create program
|
||||
@@ -53,7 +53,7 @@ main()
|
||||
EOI
|
||||
|
||||
# build
|
||||
gcc -o program program.c $libdl -Wl,-rpath,.,--export-dynamic
|
||||
compile_program_dl -o program program.c
|
||||
|
||||
# run
|
||||
test_run_ok ./program 1
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
# Expected: Undefined symbol in liba.so resolves to symbol in libb.so.
|
||||
|
||||
|
||||
. test_setup
|
||||
. ./test_setup
|
||||
|
||||
|
||||
# create liba.so
|
||||
@@ -19,7 +19,7 @@ int a() { return b(); }
|
||||
EOI
|
||||
|
||||
# build
|
||||
gcc -shared -o liba.so liba.c
|
||||
compile_lib -o liba.so liba.c
|
||||
|
||||
|
||||
# create libb.so
|
||||
@@ -28,7 +28,7 @@ int b() { return 1; }
|
||||
EOI
|
||||
|
||||
# build
|
||||
gcc -shared -o libb.so libb.c
|
||||
compile_lib -o libb.so libb.c
|
||||
|
||||
|
||||
# create program
|
||||
@@ -60,7 +60,7 @@ main()
|
||||
EOI
|
||||
|
||||
# build
|
||||
gcc -o program program.c ./libb.so $libdl -Wl,-rpath,.,--export-dynamic
|
||||
compile_program_dl -o program program.c ./libb.so
|
||||
|
||||
# run
|
||||
test_run_ok ./program 1
|
||||
|
||||
@@ -11,7 +11,7 @@
|
||||
# libb_dependency.so.
|
||||
|
||||
|
||||
. test_setup
|
||||
. ./test_setup
|
||||
|
||||
|
||||
# create libb_dependency.so
|
||||
@@ -20,7 +20,7 @@ int c() { return 1; }
|
||||
EOI
|
||||
|
||||
# build
|
||||
gcc -shared -o libb_dependency.so libb_dependency.c
|
||||
compile_lib -o libb_dependency.so libb_dependency.c
|
||||
|
||||
|
||||
# create libb.so
|
||||
@@ -29,7 +29,7 @@ int b() { return 1; }
|
||||
EOI
|
||||
|
||||
# build
|
||||
gcc -shared -o libb.so libb.c ./libb_dependency.so
|
||||
compile_lib -o libb.so libb.c ./libb_dependency.so
|
||||
|
||||
|
||||
# create liba.so
|
||||
@@ -39,7 +39,7 @@ int a() { return c(); }
|
||||
EOI
|
||||
|
||||
# build
|
||||
gcc -shared -o liba.so liba.c ./libb.so
|
||||
compile_lib -o liba.so liba.c ./libb.so
|
||||
|
||||
|
||||
# create program
|
||||
@@ -70,7 +70,7 @@ main()
|
||||
EOI
|
||||
|
||||
# build
|
||||
gcc -o program program.c $libdl -Wl,-rpath,.,--export-dynamic
|
||||
compile_program_dl -o program program.c
|
||||
|
||||
# run
|
||||
test_run_ok ./program 1
|
||||
|
||||
@@ -10,7 +10,7 @@
|
||||
# to symbol in libb.so.
|
||||
|
||||
|
||||
. test_setup
|
||||
. ./test_setup
|
||||
|
||||
|
||||
# create liba.so
|
||||
@@ -20,7 +20,7 @@ int a() { return b(); }
|
||||
EOI
|
||||
|
||||
# build
|
||||
gcc -shared -o liba.so liba.c
|
||||
compile_lib -o liba.so liba.c
|
||||
|
||||
|
||||
# create libb.so
|
||||
@@ -29,7 +29,7 @@ int b() { return 2; }
|
||||
EOI
|
||||
|
||||
# build
|
||||
gcc -shared -o libb.so libb.c
|
||||
compile_lib -o libb.so libb.c
|
||||
|
||||
|
||||
# create program
|
||||
@@ -70,7 +70,7 @@ main()
|
||||
EOI
|
||||
|
||||
# build
|
||||
gcc -o program program.c $libdl -Wl,-rpath,.,--export-dynamic
|
||||
compile_lib_dl -o program program.c
|
||||
|
||||
# run
|
||||
test_run_ok ./program 1
|
||||
|
||||
@@ -12,7 +12,7 @@
|
||||
# libd.so, not to symbol in libb_dependency.so.
|
||||
|
||||
|
||||
. test_setup
|
||||
. ./test_setup
|
||||
|
||||
|
||||
# create libb_dependency.so
|
||||
@@ -21,7 +21,7 @@ int c() { return 1; }
|
||||
EOI
|
||||
|
||||
# build
|
||||
gcc -shared -o libb_dependency.so libb_dependency.c
|
||||
compile_lib -o libb_dependency.so libb_dependency.c
|
||||
|
||||
|
||||
# create libb.so
|
||||
@@ -30,7 +30,7 @@ int b() { return 1; }
|
||||
EOI
|
||||
|
||||
# build
|
||||
gcc -shared -o libb.so libb.c ./libb_dependency.so
|
||||
compile_lib -o libb.so libb.c ./libb_dependency.so
|
||||
|
||||
|
||||
# create libd.so
|
||||
@@ -39,7 +39,7 @@ int c() { return 2; }
|
||||
EOI
|
||||
|
||||
# build
|
||||
gcc -shared -o libd.so libd.c
|
||||
compile_lib -o libd.so libd.c
|
||||
|
||||
|
||||
# create liba.so
|
||||
@@ -49,7 +49,7 @@ int a() { return c(); }
|
||||
EOI
|
||||
|
||||
# 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
|
||||
@@ -80,7 +80,7 @@ main()
|
||||
EOI
|
||||
|
||||
# build
|
||||
gcc -o program program.c $libdl -Wl,-rpath,.,--export-dynamic
|
||||
compile_lib_dl -o program program.c
|
||||
|
||||
# run
|
||||
test_run_ok ./program 2
|
||||
|
||||
@@ -11,7 +11,7 @@
|
||||
# not to symbol in libb.so.
|
||||
|
||||
|
||||
. test_setup
|
||||
. ./test_setup
|
||||
|
||||
|
||||
# create libb.so
|
||||
@@ -20,7 +20,7 @@ int b() { return 1; }
|
||||
EOI
|
||||
|
||||
# build
|
||||
gcc -shared -o libb.so libb.c
|
||||
compile_lib -o libb.so libb.c
|
||||
|
||||
|
||||
# create liba.so
|
||||
@@ -30,7 +30,7 @@ int a() { return b(); }
|
||||
EOI
|
||||
|
||||
# build
|
||||
gcc -shared -o liba.so liba.c ./libb.so
|
||||
compile_lib -o liba.so liba.c ./libb.so
|
||||
|
||||
|
||||
# create libd.so
|
||||
@@ -39,7 +39,7 @@ int b() { return 2; }
|
||||
EOI
|
||||
|
||||
# build
|
||||
gcc -shared -o libd.so libd.c
|
||||
compile_lib -o libd.so libd.c
|
||||
|
||||
|
||||
# create program
|
||||
@@ -76,8 +76,8 @@ main()
|
||||
}
|
||||
EOI
|
||||
|
||||
# build
|
||||
gcc -o program program.c $libdl -Wl,-rpath,.,--export-dynamic
|
||||
#build
|
||||
compile_program_dl -o program program.c
|
||||
|
||||
# run
|
||||
test_run_ok ./program 2
|
||||
|
||||
@@ -12,7 +12,7 @@
|
||||
# not to symbol in libb_dependency.so.
|
||||
|
||||
|
||||
. test_setup
|
||||
. ./test_setup
|
||||
|
||||
|
||||
# create libb_dependency.so
|
||||
@@ -21,7 +21,7 @@ int c() { return 1; }
|
||||
EOI
|
||||
|
||||
# build
|
||||
gcc -shared -o libb_dependency.so libb_dependency.c
|
||||
compile_lib -o libb_dependency.so libb_dependency.c
|
||||
|
||||
|
||||
# create libb.so
|
||||
@@ -30,7 +30,7 @@ int b() { return 1; }
|
||||
EOI
|
||||
|
||||
# build
|
||||
gcc -shared -o libb.so libb.c ./libb_dependency.so
|
||||
compile_lib -o libb.so libb.c ./libb_dependency.so
|
||||
|
||||
|
||||
# create liba.so
|
||||
@@ -40,7 +40,7 @@ int a() { return c(); }
|
||||
EOI
|
||||
|
||||
# build
|
||||
gcc -shared -o liba.so liba.c ./libb.so
|
||||
compile_lib -o liba.so liba.c ./libb.so
|
||||
|
||||
|
||||
# create libd.so
|
||||
@@ -49,7 +49,7 @@ int c() { return 2; }
|
||||
EOI
|
||||
|
||||
# build
|
||||
gcc -shared -o libd.so libd.c
|
||||
compile_lib -o libd.so libd.c
|
||||
|
||||
|
||||
# create program
|
||||
@@ -87,7 +87,7 @@ main()
|
||||
EOI
|
||||
|
||||
# build
|
||||
gcc -o program program.c $libdl -Wl,-rpath,.,--export-dynamic
|
||||
compile_lib_dl -o program program.c
|
||||
|
||||
# run
|
||||
test_run_ok ./program 2
|
||||
|
||||
@@ -13,7 +13,7 @@
|
||||
# libd.so, not to symbol in libb_dependency.so.
|
||||
|
||||
|
||||
. test_setup
|
||||
. ./test_setup
|
||||
|
||||
|
||||
# create libb_dependency.so
|
||||
@@ -22,7 +22,7 @@ int c() { return 1; }
|
||||
EOI
|
||||
|
||||
# build
|
||||
gcc -shared -o libb_dependency.so libb_dependency.c
|
||||
compile_lib -o libb_dependency.so libb_dependency.c
|
||||
|
||||
|
||||
# create libb.so
|
||||
@@ -31,7 +31,7 @@ int b() { return 1; }
|
||||
EOI
|
||||
|
||||
# build
|
||||
gcc -shared -o libb.so libb.c ./libb_dependency.so
|
||||
compile_lib -o libb.so libb.c ./libb_dependency.so
|
||||
|
||||
|
||||
# create libd.so
|
||||
@@ -40,7 +40,7 @@ int c() { return 2; }
|
||||
EOI
|
||||
|
||||
# build
|
||||
gcc -shared -o libd.so libd.c
|
||||
compile_lib -o libd.so libd.c
|
||||
|
||||
|
||||
# create liba.so
|
||||
@@ -49,7 +49,7 @@ int e() { return 0; }
|
||||
EOI
|
||||
|
||||
# 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
|
||||
@@ -59,7 +59,7 @@ int a() { return c(); }
|
||||
EOI
|
||||
|
||||
# build
|
||||
gcc -shared -o libe.so libe.c
|
||||
compile_lib -o libe.so libe.c
|
||||
|
||||
|
||||
# create program
|
||||
@@ -97,7 +97,7 @@ main()
|
||||
EOI
|
||||
|
||||
# build
|
||||
gcc -o program program.c $libdl -Wl,-rpath,.,--export-dynamic
|
||||
compile_program_dl -o program program.c
|
||||
|
||||
# run
|
||||
test_run_ok ./program 2
|
||||
|
||||
@@ -13,7 +13,7 @@
|
||||
# libb_dependency.so, not to symbol in libd.so.
|
||||
|
||||
|
||||
. test_setup
|
||||
. ./test_setup
|
||||
|
||||
|
||||
# create libb_dependency.so
|
||||
@@ -22,7 +22,7 @@ int c() { return 1; }
|
||||
EOI
|
||||
|
||||
# build
|
||||
gcc -shared -o libb_dependency.so libb_dependency.c
|
||||
compile_lib -o libb_dependency.so libb_dependency.c
|
||||
|
||||
|
||||
# create libb.so
|
||||
@@ -31,7 +31,7 @@ int b() { return 1; }
|
||||
EOI
|
||||
|
||||
# build
|
||||
gcc -shared -o libb.so libb.c ./libb_dependency.so
|
||||
compile_lib -o libb.so libb.c ./libb_dependency.so
|
||||
|
||||
|
||||
# create libd.so
|
||||
@@ -40,7 +40,7 @@ int c() { return 2; }
|
||||
EOI
|
||||
|
||||
# build
|
||||
gcc -shared -o libd.so libd.c
|
||||
compile_lib -o libd.so libd.c
|
||||
|
||||
|
||||
# create liba.so
|
||||
@@ -50,7 +50,7 @@ int e() { return 0; }
|
||||
EOI
|
||||
|
||||
# build
|
||||
gcc -shared -o liba.so liba.c ./libb.so
|
||||
compile_lib -o liba.so liba.c ./libb.so
|
||||
|
||||
|
||||
# create libe.so
|
||||
@@ -60,7 +60,7 @@ int a() { return c(); }
|
||||
EOI
|
||||
|
||||
# build
|
||||
gcc -shared -o libe.so libe.c
|
||||
compile_lib -o libe.so libe.c
|
||||
|
||||
|
||||
# create program
|
||||
@@ -105,8 +105,7 @@ main()
|
||||
EOI
|
||||
|
||||
# build
|
||||
gcc -o program program.c $libdl -Wl,-rpath,.,--export-dynamic
|
||||
compile_program_dl -o program program.c
|
||||
|
||||
# run
|
||||
test_run_ok ./program 1
|
||||
|
||||
|
||||
@@ -11,7 +11,7 @@
|
||||
# not to symbol in libd.so, since it's loaded RTLD_LOCAL.
|
||||
|
||||
|
||||
. test_setup
|
||||
. ./test_setup
|
||||
|
||||
|
||||
# create libb.so
|
||||
@@ -20,7 +20,7 @@ int b() { return 1; }
|
||||
EOI
|
||||
|
||||
# build
|
||||
gcc -shared -o libb.so libb.c
|
||||
compile_lib -o libb.so libb.c
|
||||
|
||||
|
||||
# create liba.so
|
||||
@@ -30,7 +30,7 @@ int a() { return b(); }
|
||||
EOI
|
||||
|
||||
# build
|
||||
gcc -shared -o liba.so liba.c ./libb.so
|
||||
compile_lib -o liba.so liba.c ./libb.so
|
||||
|
||||
|
||||
# create libd.so
|
||||
@@ -39,7 +39,7 @@ int b() { return 2; }
|
||||
EOI
|
||||
|
||||
# build
|
||||
gcc -shared -o libd.so libd.c
|
||||
compile_lib -o libd.so libd.c
|
||||
|
||||
|
||||
# create program
|
||||
@@ -77,7 +77,7 @@ main()
|
||||
EOI
|
||||
|
||||
# build
|
||||
gcc -o program program.c $libdl -Wl,-rpath,.,--export-dynamic
|
||||
compile_program_dl -o program program.c
|
||||
|
||||
# run
|
||||
test_run_ok ./program 1
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
# Expected: dlsym(RTLD_NEXT) finds symbol in order liba.so, libb.so, libd.so
|
||||
|
||||
|
||||
. test_setup
|
||||
. ./test_setup
|
||||
|
||||
|
||||
# create libd.so
|
||||
@@ -17,7 +17,7 @@ int a() { return 1; }
|
||||
EOI
|
||||
|
||||
# build
|
||||
gcc -shared -o libd.so libd.c
|
||||
compile_lib -o libd.so libd.c
|
||||
|
||||
|
||||
# create libb.so
|
||||
@@ -34,7 +34,7 @@ a()
|
||||
EOI
|
||||
|
||||
# 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
|
||||
@@ -50,7 +50,7 @@ a()
|
||||
EOI
|
||||
|
||||
# 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
|
||||
@@ -73,8 +73,7 @@ main()
|
||||
EOI
|
||||
|
||||
# build
|
||||
gcc -o program program.c -D_GNU_SOURCE ./liba.so $libdl \
|
||||
-Wl,-rpath,.,--export-dynamic
|
||||
compile_program_dl -o program program.c ./liba.so
|
||||
|
||||
# run
|
||||
test_run_ok ./program 15
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
# Expected: Undefined symbol in liba.so resolves to symbol in program.
|
||||
|
||||
|
||||
. test_setup
|
||||
. ./test_setup
|
||||
|
||||
|
||||
# create liba.so
|
||||
@@ -16,7 +16,7 @@ int a() { return b(); }
|
||||
EOI
|
||||
|
||||
# build
|
||||
gcc -shared -o liba.so liba.c
|
||||
compile_lib -o liba.so liba.c
|
||||
|
||||
|
||||
# create program
|
||||
@@ -37,7 +37,7 @@ main()
|
||||
EOI
|
||||
|
||||
# build
|
||||
gcc -o program program.c ./liba.so -Wl,-rpath,.,--export-dynamic
|
||||
compile_program -o program program.c ./liba.so
|
||||
|
||||
# run
|
||||
test_run_ok ./program 1
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
# not to symbol in libb_dependency.so.
|
||||
|
||||
|
||||
. test_setup
|
||||
. ./test_setup
|
||||
|
||||
|
||||
# create liba.so
|
||||
@@ -18,7 +18,7 @@ int a() { return 1; }
|
||||
EOI
|
||||
|
||||
# build
|
||||
gcc -shared -o liba.so liba.c
|
||||
compile_lib -o liba.so liba.c
|
||||
|
||||
|
||||
# create libb_dependency.so
|
||||
@@ -27,7 +27,7 @@ int a() { return 2; }
|
||||
EOI
|
||||
|
||||
# build
|
||||
gcc -shared -o libb_dependency.so libb_dependency.c
|
||||
compile_lib -o libb_dependency.so libb_dependency.c
|
||||
|
||||
|
||||
# create libb.so
|
||||
@@ -36,7 +36,7 @@ int b() { return 1; }
|
||||
EOI
|
||||
|
||||
# build
|
||||
gcc -shared -o libb.so libb.c ./libb_dependency.so
|
||||
compile_lib -o libb.so libb.c ./libb_dependency.so
|
||||
|
||||
|
||||
# create program
|
||||
@@ -50,7 +50,7 @@ main()
|
||||
EOI
|
||||
|
||||
# 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
|
||||
test_run_ok ./program 1
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
# not to symbol in libb_dependency.so.
|
||||
|
||||
|
||||
. test_setup
|
||||
. ./test_setup
|
||||
|
||||
|
||||
# create liba.so
|
||||
@@ -18,7 +18,7 @@ int a() { return 1; }
|
||||
EOI
|
||||
|
||||
# build
|
||||
gcc -shared -o liba.so liba.c
|
||||
compile_lib -o liba.so liba.c
|
||||
|
||||
|
||||
# create libb_dependency.so
|
||||
@@ -27,7 +27,7 @@ int a() { return 2; }
|
||||
EOI
|
||||
|
||||
# build
|
||||
gcc -shared -o libb_dependency.so libb_dependency.c
|
||||
compile_lib -o libb_dependency.so libb_dependency.c
|
||||
|
||||
|
||||
# create libb.so
|
||||
@@ -36,7 +36,7 @@ int b() { return 1; }
|
||||
EOI
|
||||
|
||||
# build
|
||||
gcc -shared -o libb.so libb.c ./libb_dependency.so
|
||||
compile_lib -o libb.so libb.c ./libb_dependency.so
|
||||
|
||||
|
||||
# create program
|
||||
@@ -50,7 +50,7 @@ main()
|
||||
EOI
|
||||
|
||||
# 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
|
||||
test_run_ok ./program 1
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
# not to symbol in libb_dependency.so.
|
||||
|
||||
|
||||
. test_setup
|
||||
. ./test_setup
|
||||
|
||||
|
||||
# create liba.so
|
||||
@@ -18,7 +18,7 @@ int a() { return 1; }
|
||||
EOI
|
||||
|
||||
# build
|
||||
gcc -shared -o liba.so liba.c
|
||||
compile_lib -o liba.so liba.c
|
||||
|
||||
|
||||
# create libb_dependency.so
|
||||
@@ -27,7 +27,7 @@ int a() { return 2; }
|
||||
EOI
|
||||
|
||||
# build
|
||||
gcc -shared -o libb_dependency.so libb_dependency.c
|
||||
compile_lib -o libb_dependency.so libb_dependency.c
|
||||
|
||||
|
||||
# create libb.so
|
||||
@@ -37,7 +37,7 @@ int b() { return a(); }
|
||||
EOI
|
||||
|
||||
# build
|
||||
gcc -shared -o libb.so libb.c ./libb_dependency.so
|
||||
compile_lib -o libb.so libb.c ./libb_dependency.so
|
||||
|
||||
|
||||
# create program
|
||||
@@ -51,7 +51,7 @@ main()
|
||||
EOI
|
||||
|
||||
# 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
|
||||
test_run_ok ./program 1
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
# not to symbol in libb_dependency.so.
|
||||
|
||||
|
||||
. test_setup
|
||||
. ./test_setup
|
||||
|
||||
|
||||
# create libb_dependency.so
|
||||
@@ -17,7 +17,7 @@ int a() { return 2; }
|
||||
EOI
|
||||
|
||||
# build
|
||||
gcc -shared -o libb_dependency.so libb_dependency.c
|
||||
compile_lib -o libb_dependency.so libb_dependency.c
|
||||
|
||||
|
||||
# create libb.so
|
||||
@@ -27,7 +27,7 @@ int b() { return a(); }
|
||||
EOI
|
||||
|
||||
# build
|
||||
gcc -shared -o libb.so libb.c ./libb_dependency.so
|
||||
compile_lib -o libb.so libb.c ./libb_dependency.so
|
||||
|
||||
|
||||
# create program
|
||||
@@ -45,7 +45,7 @@ main()
|
||||
EOI
|
||||
|
||||
# build
|
||||
gcc -o program program.c ./libb.so -Wl,-rpath,.,--export-dynamic
|
||||
compile_program -o program program.c ./libb.so
|
||||
|
||||
# run
|
||||
test_run_ok ./program 1
|
||||
|
||||
@@ -30,3 +30,23 @@ test_run_ok()
|
||||
exit 1
|
||||
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