[Bug dynamic-link/21265] _dl_runtime_resolve isn't compatible with Intel C++ __regcall calling convention
hjl.tools at gmail dot com
sourceware-bugzilla@sourceware.org
Fri Mar 17 23:54:00 GMT 2017
https://sourceware.org/bugzilla/show_bug.cgi?id=21265
--- Comment #3 from H.J. Lu <hjl.tools at gmail dot com> ---
(In reply to Andreas Schwab from comment #2)
> Like the regparm attribute on 32-bit x86 it can only be safely used by
> internal function calls.
i386 _dl_runtime_resolve preserves EAX, ECX and EDX for regparm:
Dump of assembler code for function _dl_runtime_resolve:
0x000174c0 <+0>: push %eax
0x000174c1 <+1>: push %ecx
0x000174c2 <+2>: push %edx
0x000174c3 <+3>: mov 0x10(%esp),%edx
0x000174c7 <+7>: mov 0xc(%esp),%eax
0x000174cb <+11>: call 0xff60 <_dl_fixup>
0x000174d0 <+16>: pop %edx
0x000174d1 <+17>: mov (%esp),%ecx
0x000174d4 <+20>: mov %eax,(%esp)
0x000174d7 <+23>: mov 0x4(%esp),%eax
0x000174db <+27>: ret $0xc
--
You are receiving this mail because:
You are on the CC list for the bug.
More information about the Glibc-bugs
mailing list