Dan Egli wrote:
> I tried that. No good. If I strace the running process, the grep for
> dlopen comes up empty. If I run it via a separate process, it never gets
> that far. The exim process seems to freeze.
>
> I'll try it again, just to be sure.
>
> Ok, I did this:
>
> strace -f exim -d -bd >& trace.out
>
Ok, try ltrace instead. Dummy source:
void *p;
int main()
{
p=dlopen("a",0);
}
Output of ltrace -S:
SYS_uname(0xbfffee70) = 0
SYS_brk(NULL) = 0x0804960c
SYS_mmap2(0, 4096, 3, 34, -1) = 0x40018000
SYS_open("/etc/ld.so.preload", 0, 03) = -2
SYS_open("/etc/ld.so.cache", 0, 00) = 3
SYS_fstat64(3, 0xbfffe4f0, 0x40017990, 3, 0x40017a98) = 0
SYS_mmap2(0, 70691, 1, 2, 3) = 0x40019000
SYS_close(3) = 0
SYS_open("/lib/libdl.so.2", 0, 00) = 3
SYS_read(3, "\177ELF\001\001\001", 1024) = 1024
SYS_fstat64(3, 0xbfffe590, 0x40017990, 0x40027ac5, 0x080481b5) = 0
SYS_mmap2(0, 11528, 5, 2, 3) = 0x4002b000
SYS_mprotect(0x4002d000, 3336, 0, 0xbfffe494, 8192) = 0
SYS_mmap2(0x4002d000, 4096, 3, 18, 3) = 0x4002d000
SYS_close(3) = 0
SYS_open("/lib/libc.so.6", 0, 00) = 3
SYS_read(3, "\177ELF\001\001\001", 1024) = 1024
SYS_fstat64(3, 0xbfffe580, 0x40017990, 0x4002843a, 0x080481ea) = 0
SYS_mmap2(0, 0x0015fea4, 5, 2, 3) = 0x4002e000
SYS_mprotect(0x40186000, 32420, 0, 0xbfffe464, 0x00158000) = 0
SYS_mmap2(0x40186000, 24576, 3, 18, 3) = 0x40186000
SYS_mmap2(0x4018c000, 7844, 3, 50, -1) = 0x4018c000
SYS_close(3) = 0
SYS_munmap(0x40019000, 70691) = 0
__libc_start_main(0x08048398, 1, 0xbffff344, 0x080483d0, 0x08048460
<unfinished ...>
dlopen("a", 0 <unfinished ...>
SYS_brk(NULL) = 0x0804960c
SYS_brk(0x0804a60c) = 0x0804a60c
SYS_brk(NULL) = 0x0804a60c
SYS_brk(0x0804b000) = 0x0804b000
<... dlopen resumed> ) = NULL
SYS_252(0, 0, 0, 0x40189dac, 0) = -38
SYS_exit(0 <unfinished ...>
+++ exited (status 0) +++
--
Andreas Steinmetz SPAMmers use robotrap@???