Package: libc6 Version: 2.3.2.ds1-22 Severity: wishlist Background: some of the 32-bit binaries my users would like to run on amd64 require tricks such as LD_PRELOAD=/usr/lib32/libpangohack.so.0.
Problem: ld-linux (part of the libc6 package) chokes if LD_PRELOAD contains a library for the wrong architecture (i.e. a 32-bit library if the executable is 64-bit, and vice-versa). Since LD_PRELOAD is propagated through the environment, this can prevent a legacy 32-bit binary from exec()ing a 64-bit binary (e.g., /bin/sh as in the system(3) library call). Wish: please make ld-linux skip libraries of the wrong architecture in LD_PRELOAD without aborting the load. This would make life a lot easier for users. My apologies if this has been discussed before: I searched for such a discussion with Google and didn't find anything. I've thought a little about alternative solutions. For example, one could introduce additional environment variables LD32_PRELOAD etc. (I seem to recall that IRIX is/was doing something along these lines.) This seems less elegant to me, and may cause security problems since some software may strip LD_PRELOAD from the environment but let other variables through. Another possibility might be to LD_PRELOAD a library that intercepts the exec() call and prevents LD_PRELOAD propagation to the child process. But I find that a lot less convenient in general (although it may be a desirable approach in some cases; but I don't think my proposal would prevent anyone from taking that approach where warranted). Question: does LD_LIBRARY_PATH need similar treatment? -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]

