This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
Re: [PATCH] X86-64: Correct CFA in _dl_runtime_resolve
- From: "H.J. Lu" <hjl dot tools at gmail dot com>
- To: GNU C Library <libc-alpha at sourceware dot org>, Libc-stable Mailing List <libc-stable at sourceware dot org>
- Date: Thu, 19 Oct 2017 08:01:51 -0700
- Subject: Re: [PATCH] X86-64: Correct CFA in _dl_runtime_resolve
- Authentication-results: sourceware.org; auth=none
- References: <20160819203022.GA12109@intel.com> <CAMe9rOoKewdV+hJ=nXPRp716sDvDtxvJpYPvoe5htNC4C4+azg@mail.gmail.com>
On Fri, Aug 26, 2016 at 8:53 AM, H.J. Lu <hjl.tools@gmail.com> wrote:
> On Fri, Aug 19, 2016 at 1:30 PM, H.J. Lu <hongjiu.lu@intel.com> wrote:
>> When stack is re-aligned in _dl_runtime_resolve, there is no need to
>> adjust CFA when allocating register save area on stack.
>>
>> Tested on x86-64. OK for master?
>>
>>
>> H.J.
>> ---
>> * sysdeps/x86_64/dl-trampoline.h (_dl_runtime_resolve): Don't
>> adjust CFA when allocating register save area on re-aligned
>> stack.
>> ---
>> sysdeps/x86_64/dl-trampoline.h | 2 ++
>> 1 file changed, 2 insertions(+)
>>
>> diff --git a/sysdeps/x86_64/dl-trampoline.h b/sysdeps/x86_64/dl-trampoline.h
>> index b90836a..8161f96 100644
>> --- a/sysdeps/x86_64/dl-trampoline.h
>> +++ b/sysdeps/x86_64/dl-trampoline.h
>> @@ -69,7 +69,9 @@ _dl_runtime_resolve:
>> and $-VEC_SIZE, %RSP_LP
>> #endif
>> sub $REGISTER_SAVE_AREA, %RSP_LP
>> +#if !DL_RUNTIME_RESOLVE_REALIGN_STACK
>> cfi_adjust_cfa_offset(REGISTER_SAVE_AREA)
>> +#endif
>> # Preserve registers otherwise clobbered.
>> movq %rax, REGISTER_SAVE_RAX(%rsp)
>> movq %rcx, REGISTER_SAVE_RCX(%rsp)
>> --
>> 2.7.4
>>
>
> I am checking it in.
>
I am backporting it to 2.24 and 2.23 branches.
--
H.J.