Hi all Help needed desperately. Some background on the problem:
The embedded linux (built as one large elf file) contains an important function called "board_init()" A test module (built as a shared object test.so) contains a function called start_test() void start_test() { board_init(); /* The shared object has to call a function defined in the embedded linux elf image */ /*Do board tests here... */ } 1. Linux comes up to the command prompt on the board. 2. A GUI application communicates with the board via Ethernet 3. The GUI transfers the test module test.so over Ethernet 4. The downloaded test.so is loaded via dlopen(). 5. dlopen() and dlsym() calls succeed. start_test() starts executing 6. It barfs at board_init() saying "Undefined symbol: board_init" So the dynamically loaded shared object cannot get a reference to a function define in the linux that loaded it... How do we solve this problem? How do I make sure that symbols in the linux image are exposed to dynamically loaded libraries? Most probably, it has a simple solution to tweak some compiler/linker options. But I may be wrong... Waiting, Nishant