[PATCH 04/21] sysdeps/{i386,x86_64}/mempcpy_chk.S: fix linknamespace for __mempcpy_chk
Noah Goldstein
goldstein.w.n@gmail.com
Wed Jun 21 17:26:03 GMT 2023
On 6/21/23, Siddhesh Poyarekar <siddhesh@gotplt.org> wrote:
>
>
> On 2023-06-20 14:18, Frédéric Bérat wrote:
>> On i386 and x86_64, for libc.a specifically, __mempcpy_chk calls
>> mempcpy which leads POSIX routines to call non-POSIX mempcpy indirectly.
>>
>> This leads the linknamespace test to fail when glibc is built with
>> __FORTIFY_SOURCE=3.
>>
>> Since calling mempcpy doesn't bring any benefit for libc.a, directly
>> call __mempcpy instead.
>> ---
>
> LGTM as an independent fix.
>
> Reviewed-by: Siddhesh Poyarekar <siddhesh@sourceware.org>
>
>> sysdeps/i386/mempcpy_chk.S | 2 +-
>> sysdeps/x86_64/mempcpy_chk.S | 2 +-
>> 2 files changed, 2 insertions(+), 2 deletions(-)
>>
>> diff --git a/sysdeps/i386/mempcpy_chk.S b/sysdeps/i386/mempcpy_chk.S
>> index 8b785bd9a5..1e9bf71bfb 100644
>> --- a/sysdeps/i386/mempcpy_chk.S
>> +++ b/sysdeps/i386/mempcpy_chk.S
>> @@ -28,6 +28,6 @@ ENTRY (__mempcpy_chk)
>> movl 12(%esp), %eax
>> cmpl %eax, 16(%esp)
>> jb __chk_fail
>> - jmp mempcpy
>> + jmp __mempcpy
>> END (__mempcpy_chk)
>> #endif
>> diff --git a/sysdeps/x86_64/mempcpy_chk.S b/sysdeps/x86_64/mempcpy_chk.S
>> index b1ddb02f78..b60ee4ff08 100644
>> --- a/sysdeps/x86_64/mempcpy_chk.S
>> +++ b/sysdeps/x86_64/mempcpy_chk.S
>> @@ -28,6 +28,6 @@
>> ENTRY (__mempcpy_chk)
>> cmpq %rdx, %rcx
>> jb __chk_fail
>> - jmp mempcpy
>> + jmp __mempcpy
Does this get the right ifunc (or isa version isa version of built
with cpu-specific flags)?
>> END (__mempcpy_chk)
>> #endif
>
More information about the Libc-alpha
mailing list