[PATCH v2 2/3] locale: Use compat_symbol_reference in _nl_postload_ctype
Adhemerval Zanella
adhemerval.zanella@linaro.org
Wed Mar 24 17:11:21 GMT 2021
On 19/03/2021 17:07, Florian Weimer via Libc-alpha wrote:
> These symbol usages are not definitions, so compat_symbol_reference is
> more appropriate than compat_symbol. compat_symbol_reference is also
> safe to emit multiple times (in case the inline assembly is
> duplicated; this is possible because it is nested in a function).
> compat_symbol does not necessarily have this property because it is
> intended to provide a symbol definition.
LGTM, thanks.
Reviewed-by: Adhemerval Zanella <adhemerval.zanella@linaro.org>
> ---
> locale/lc-ctype.c | 14 ++++++++------
> 1 file changed, 8 insertions(+), 6 deletions(-)
>
> diff --git a/locale/lc-ctype.c b/locale/lc-ctype.c
> index 1db0605c82..7c97480cbd 100644
> --- a/locale/lc-ctype.c
> +++ b/locale/lc-ctype.c
> @@ -93,12 +93,14 @@ _nl_postload_ctype (void)
> We need those relocations so that a versioned definition with a COPY
> reloc in an executable will override the libc.so definition. */
>
> -compat_symbol (libc, __ctype_b, __ctype_b, GLIBC_2_0);
> -compat_symbol (libc, __ctype_tolower, __ctype_tolower, GLIBC_2_0);
> -compat_symbol (libc, __ctype_toupper, __ctype_toupper, GLIBC_2_0);
> -compat_symbol (libc, __ctype32_b, __ctype32_b, GLIBC_2_0);
> -compat_symbol (libc, __ctype32_tolower, __ctype32_tolower, GLIBC_2_2);
> -compat_symbol (libc, __ctype32_toupper, __ctype32_toupper, GLIBC_2_2);
> +compat_symbol_reference (libc, __ctype_b, __ctype_b, GLIBC_2_0);
> +compat_symbol_reference (libc, __ctype_tolower, __ctype_tolower, GLIBC_2_0);
> +compat_symbol_reference (libc, __ctype_toupper, __ctype_toupper, GLIBC_2_0);
> +compat_symbol_reference (libc, __ctype32_b, __ctype32_b, GLIBC_2_0);
> +compat_symbol_reference (libc, __ctype32_tolower, __ctype32_tolower,
> + GLIBC_2_2);
> +compat_symbol_reference (libc, __ctype32_toupper, __ctype32_toupper,
> + GLIBC_2_2);
>
> __ctype_b = current (uint16_t, CLASS, 128);
> __ctype_toupper = current (int32_t, TOUPPER, 128);
>
More information about the Libc-alpha
mailing list