Re: [PATCH v10 5/5] elf: Remove __chk_fail from dl-minimal.c

Florian Weimer <[email protected]>
Newsgroups gmane.comp.lib.glibc.alpha
Message-ID <[email protected]>
* Adhemerval Zanella:

> The elf/rtld-Rules adds $(no-fortify-source) on rtld object, so
> __chk_fail is never used.
> ---
>  elf/Makefile        | 1 +
>  elf/dl-minimal.c    | 8 --------
>  include/sys/cdefs.h | 1 -
>  3 files changed, 1 insertion(+), 9 deletions(-)
>
> diff --git a/elf/Makefile b/elf/Makefile
> index 9b0f10c7cc5..7ae62d0bf12 100644
> --- a/elf/Makefile
> +++ b/elf/Makefile
> @@ -1578,6 +1578,7 @@ endif
>  # These symbols might be emitted by the compiler when fortify is enabled
>  # (through builtins).
>  rtld-stubbed-symbols += \
> +  __GI___chk_fail \
>    __GI___vfprintf_chk \
>    __GI___vsprintf_chk \
>    __GI___vsyslog_chk \
> diff --git a/elf/dl-minimal.c b/elf/dl-minimal.c
> index 591d49e3f52..4583c48db3f 100644
> --- a/elf/dl-minimal.c
> +++ b/elf/dl-minimal.c
> @@ -163,14 +163,6 @@ __libc_fatal (const char *message)
>  }
>  rtld_hidden_def (__libc_fatal)
>  
> -void
> -__attribute__ ((noreturn))
> -__chk_fail (void)
> -{
> -  _exit (127);
> -}
> -rtld_hidden_def (__chk_fail)
> -
>  #ifndef NDEBUG
>  /* Define (weakly) our own assert failure function which doesn't use stdio.
>     If we are linked into the user program (-ldl), the normal __assert_fail
> diff --git a/include/sys/cdefs.h b/include/sys/cdefs.h
> index a676f75f625..33d0a47f431 100644
> --- a/include/sys/cdefs.h
> +++ b/include/sys/cdefs.h
> @@ -18,7 +18,6 @@
>  
>  extern void __chk_fail (void) __attribute__ ((__noreturn__));
>  libc_hidden_proto (__chk_fail)
> -rtld_hidden_proto (__chk_fail)
>  
>  /* If we are using redirects internally to support long double,
>     we need to tweak some macros to ensure the PLT bypass tricks

Okay, assuming that you have confirmed that this passes
build-many-glibcs.py.

Reviewed-by: Florian Weimer <[email protected]>

Thanks,
Florian
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.