PLT Problems with Wine/Sparc

André Hentschel nerv at dawncrow.de
Mon Dec 26 10:27:32 CST 2011


Hi,
thanks to Austin i could work on our sparc port and it seems i have it it a workable state,
the remaining problem is that somehow the plt entry to libwine is fixed up wrong.
I know most people on the list don't know much about sparc, so wild guesses are all i want.

--- snip ---
readelf -r:
0002c988  00003315 R_SPARC_JMP_SLOT  00000000   wine_dbg_log + 0

objdump -D:
0002c988 <wine_dbg_log at plt>:
   2c988:       03 00 00 78     sethi  %hi(0x1e000), %g1
   2c98c:       30 bf ff e1     b,a   2c910 <_PROCEDURE_LINKAGE_TABLE_>
   2c990:       01 00 00 00     nop 

gdb:
   0xf66957e0 <+288>:   call  0xf66a8988 <wine_dbg_log at plt>
(gdb) printf "%08x\n", (void*)*0xf66a8988
033dfa34
(gdb) printf "%08x\n", (void*)*0xf66a898C
81c06200
(gdb) printf "%08x\n", (void*)*0xf66a8990
01000000
(gdb)
--- /snip (also available as http://pastebin.com/JFN2w6q2 if bad format) ---

it crashes (SIGSEGV) at wine_dbg_log at plt (0xf66a8988) in imm32.dll.so
(if i remove the TRACE from DllMain it continues to crash with other libwine functions in winex11)

033dfa34 seems like a wrongly fixed up opcode to me. What do you guess?
Should i file a bug? where?

-- 

Best Regards, André Hentschel



More information about the wine-devel mailing list