This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
Re: [PATCH 2/2] Enable ILP32 mode on aarch64 (version 2)
- From: Joseph Myers <joseph at codesourcery dot com>
- To: Steve Ellcey <sellcey at caviumnetworks dot com>
- Cc: <libc-alpha at sourceware dot org>
- Date: Tue, 6 Dec 2016 22:02:08 +0000
- Subject: Re: [PATCH 2/2] Enable ILP32 mode on aarch64 (version 2)
- Authentication-results: sourceware.org; auth=none
- References: <1481060942.29811.41.camel@caviumnetworks.com>
On Tue, 6 Dec 2016, Steve Ellcey wrote:
> diff --git a/sysdeps/aarch64/tls-macros.h b/sysdeps/aarch64/tls-macros.h
> index 2080a4d..a25debf 100644
> --- a/sysdeps/aarch64/tls-macros.h
> +++ b/sysdeps/aarch64/tls-macros.h
> @@ -32,8 +32,9 @@
> "x30", "memory", "cc"); \
> (int *) (__result); })
>
> +#ifdef __LP64__
> #define TLS_IE(x) \
> - ({ register unsigned long __result asm ("x0"); \
> + ({ register unsigned long __result; \
> register unsigned long __t; \
> asm ("mrs %1, tpidr_el0; " \
> "adrp %0, :gottprel:" #x "; " \
> @@ -41,6 +42,17 @@
> "add %0, %0, %1" \
> : "=r" (__result), "=r" (__t)); \
> (int *) (__result); })
> +#else
> +#define TLS_IE(x) \
Missing preprocessor indentation "# define" in both halves of the #ifdef.
> diff --git a/sysdeps/generic/ldconfig.h b/sysdeps/generic/ldconfig.h
> index 07600b7..8150227 100644
> --- a/sysdeps/generic/ldconfig.h
> +++ b/sysdeps/generic/ldconfig.h
> @@ -42,6 +42,7 @@
> #define FLAG_MIPS_LIB32_NAN2008 0x0c00
> #define FLAG_MIPS64_LIBN32_NAN2008 0x0d00
> #define FLAG_MIPS64_LIBN64_NAN2008 0x0e00
> +#define FLAG_AARCH64_LIB32 0x0f00
I don't see anything in the patch using this flag. I'd expect an update
to elf/cache.c to handle printing it, as well as an update to
sysdeps/unix/sysv/linux/arm/readelflib.c to set the right flags for ILP32
libraries (sysdeps/unix/sysv/linux/aarch64/dl-cache.h already uses it to
define _DL_CACHE_DEFAULT_ID for ILP32).
--
Joseph S. Myers
joseph@codesourcery.com