Hello all,
I'm using uClibc-0.9.29 for ARM. I compiled and loaded PHP which requires librt.so. When ldso tries to load librt.so, it fails with "Can't modify librt.so's text section. Use GCC option -fPIC for shared objects, please". I tracked the print in the code. It's in dl-elf.c under: if (dynamic_info[DT_TEXTREL]) { ... _dl_dprintf(_dl_debug_file, "Can't modify %s's text section. Use GCC option -fPIC for shared objects, please.\n",libname); _dl_exit(1);
However, I did compile librt with -fPIC and when I objdump -x it, I see that: Dynamic Section: NEEDED libc.so.0 SONAME librt.so.0 HASH 0x134 STRTAB 0x414 SYMTAB 0x204 STRSZ 0x15e SYMENT 0x10 PLTGOT 0x9000 PLTRELSZ 0x20 PLTREL 0x11 JMPREL 0x57c REL 0x574 RELSZ 0x8 RELENT 0x8 TEXTREL 0x0
So TEXTREL is not set. Is anyone aware of a bug in ldso that would cause that? Any other suggestions?