[PATCH 10/14 v6] De-PLTize __stack_chk_fail internal calls within libc.so.

Florian Weimer fweimer@redhat.com
Fri Jun 24 14:37:00 GMT 2016


On 06/07/2016 01:06 PM, Nix wrote:
> --- a/sysdeps/generic/symbol-hacks.h
> +++ b/sysdeps/generic/symbol-hacks.h
> @@ -5,3 +5,9 @@ asm ("memmove = __GI_memmove");
>  asm ("memset = __GI_memset");
>  asm ("memcpy = __GI_memcpy");
>  #endif
> +
> +/* -fstack-protector generates calls to __stack_chk_fail, which need
> +   similar adjustments to avoid going through the PLT.  */
> +#if !defined __ASSEMBLER__ && IS_IN (libc) && defined SHARED
> +asm ("__stack_chk_fail = __stack_chk_fail_local");
> +#endif

The condition can be merged with the previous block, I think.

Otherwise, looks reasonable.

Thanks,
Florian



More information about the Libc-alpha mailing list