I've thought some more deeply about the usage of unstripped libs. On Tue, 22 Oct 2002 11:31:14 -0500 [EMAIL PROTECTED] wrote:
> Package: xlibs-dbg > [...] > Unstripped versions of Xlib's internationalization loadable modules are > provided in /usr/X11R6/lib/debug/X11/locale/common. Note that if you wish > to debug these modules, you will need to set XLOCALEDIR to > /usr/X11R6/lib/debug/X11/locale. Also note that for security reasons, > unprivileged users are unable to override XLOCALEDIR in this way, so you > may have to perform your debugging of the Xlib modules as root. It may worth mentioning that by intercepting dlopen() call, we can make a process to load alternate(unstripped) modules without having root privilege. How about creating dlwrap.c which looks like ------------------------BEGIN HERE------------------------ #define _GNU_SOURCE 1 #include <dlfcn.h> #include <string.h> void * dlopen(const char *filename, int flag){ static void * (* fptr)() = 0; char buffer[] = "/usr/X11R6/lib/debug/X11/locale/common/0123456789ABCDEF"; if (!fptr) { fptr = dlsym(RTLD_NEXT, "dlopen"); if (!fptr) return 0; } if ((strncmp("/usr/X11R6/lib/X11/locale/common/", filename, 33) == 0) && (strlen(filename) < 33+16)){ memcpy(buffer+32, filename+33, strlen(filename) -32); return ((*fptr)(buffer, flag)); } return ((*fptr)(filename, flag)); } ------------------------END HERE------------------------ and doing ~$ gcc -shared -o dlwrap.so dlwrap.c -ldl ~$ LD_PRELOAD=./dlwrap.so FOOBAR ?