1#!/bin/sh 2 3# program 4# <- libb.so 5# <- libb_dependency.so 6# 7# Expected: Undefined symbol in libb.so resolves to symbol in program, 8# not to symbol in libb_dependency.so. 9 10 11. ./test_setup 12 13 14# create libb_dependency.so 15cat > libb_dependency.c << EOI 16int a() { return 2; } 17EOI 18 19# build 20compile_lib -o libb_dependency.so libb_dependency.c 21 22 23# create libb.so 24cat > libb.c << EOI 25extern int a(); 26int b() { return a(); } 27EOI 28 29# build 30compile_lib -o libb.so libb.c ./libb_dependency.so 31 32 33# create program 34cat > program.c << EOI 35 36extern int b(); 37 38int a() { return 1; } 39 40int 41main() 42{ 43 return b(); 44} 45EOI 46 47# build 48compile_program -o program program.c ./libb.so 49 50# run 51test_run_ok ./program 1 52 53