From: nisse@lysator.liu.se (Niels Möller) Cc: nettle-bugs@lists.lysator.liu.se Date: Fri, 30 May 2014 21:37:39 +0200
Eli Zaretskii eliz@gnu.org writes:
The only thing I'd expect is a call through an indirect address, since you are linking to a DLL. But the above doesn't look like that.
[...] If I compare with the code I get if I configure nettle with --disable-assembler, I get a
4014b8: e8 2b 1a 00 00 call 402ee8 <_nettle_arcfour_crypt>
00402ee8 <_nettle_arcfour_crypt>: 402ee8: ff 25 34 81 40 00 jmp *0x408134 402eee: 90 nop 402eef: 90 nop
That jmp instruction is the indirect call I was talking about. This is how the Windows loader resolves calls into a DLL. If you "stepi" into that instruction with GDB, you will find yourself inside the function in the DLL.