I have software (DynamoRIO) that works on (most) 32 bit flavors of Linux by setting the LD_PRELOAD environment variable. Obviously, LD_PRELOAD on a 64 bit OS doesn't play nicely with 32 bit shared objects. I've compiled the applications I want to run with it using -m32, so I know they're fine. I read somewhere you can use LD_PRELOAD_32 to a) only use the libraries on 32-bit executables, and b) inform the loader that it really is okay to use them. It doesn't seem to be working right, though--setting LD_PRELOAD_32 instead of LD_PRELOAD does prevent the errors that it can't open the shared object files, but the code in the shared objects files doesn't seem to be running.
The question: is there some specific package, or set of packages, I need to install to make LD_PRELOAD_32 work correctly?
Assuming it's a glibc thing, I have installed:
Or is it a kernel configuration issue? This is on CentOS 4.5, and I've tried it both on the most recent official kernels from up2date and a modified kernel based on 220.127.116.11 from kernel.org.
Support for the other architectures (X86_64, s390(x) and PowerPC)
2 posts • Page 1 of 1