[prev in list] [next in list] [prev in thread] [next in thread]
List: wine-devel
Subject: dll-separated lzexpand doesn't work
From: Ove Kaaven <ovehk () ping ! uio ! no>
Date: 2001-04-26 2:41:49
[Download RAW message or body]
At least not on debian unstable...
I've tracked the problem down to:
lzexpand_main.c, function LZCopy, line 525:
xread=(_readfun)LZRead;
assembles as:
movl LZRead@GOT(%ebx),%edx
movl %edx,-1012(%ebp)
so it reads out the address of LZRead out of the GOT.
The final result in liblz32.so becomes:
5eb7: 8b 93 44 00 00 00 mov 0x44(%ebx),%edx
5ebd: 89 95 0c fc ff ff mov %edx,0xfffffc0c(%ebp)
but because of the -symbolic linker switch, there's no such GOT entry.
CRASH!
The GOT entry for LZRead should be at 00007d64 in the dynamic relocation
table, as far as I can tell from objdump and peeking at the GOT, but in
the relocation table there's only this...
...
00007d60 R_386_GLOB_DAT __dso_handle
00007d68 R_386_GLOB_DAT __deregister_frame_info
...
What can be done about this? Submit bug reports on ld?
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic