[PATCH] hurd: Fix redefinition of 'P2ALIGN'.

Samuel Thibault samuel.thibault@ens-lyon.org
Sat Jun 21 12:40:19 GMT 2025


Collin Funk, le lun. 16 juin 2025 20:45:14 -0700, a ecrit:
> When building on GNU/Hurd warnings like the following occur:
> 
>     ../sysdeps/x86_64/multiarch/strnlen-evex-base.S:53:10: warning: "P2ALIGN" redefined
>        53 | # define P2ALIGN(...)   .p2align 4,, 6
>           |          ^~~~~~~
>     In file included from /usr/include/x86_64-gnu/mach/x86_64/syscall_sw.h:30,
>                      from ../sysdeps/mach/sysdep.h:21,
>                      from ../sysdeps/mach/x86/sysdep.h:31,
>                      from ../sysdeps/x86_64/multiarch/strnlen-evex-base.S:24:
>     /usr/include/x86_64-gnu/mach/x86_64/asm.h:78:9: note: this is the location of the previous definition
>        78 | #define P2ALIGN(p2)     .p2align p2     /* gas-specific */
>           |         ^~~~~~~
> 
> The fix is to undefine the macro from system headers in sysdep.h so that
> it can be properly defined in assembly files where its definition
> depends on whether string functions are being compiled for
> wide-characters or not.

Applied, thanks!

(ideally we'd rework syscall_sw.h to only pull the definitions that it
needs rather than pulling all asm defines)

> ---
>  sysdeps/mach/sysdep.h | 5 +++++
>  1 file changed, 5 insertions(+)
> 
> diff --git a/sysdeps/mach/sysdep.h b/sysdeps/mach/sysdep.h
> index 8293c66eb8..581bdcd54d 100644
> --- a/sysdeps/mach/sysdep.h
> +++ b/sysdeps/mach/sysdep.h
> @@ -20,6 +20,11 @@
>  /* Get the Mach definitions of ENTRY and kernel_trap.  */
>  #include <mach/machine/syscall_sw.h>
>  
> +/* This macro is defined in Mach system headers, but string functions use it
> +   with different definitions depending on whether being compiled for
> +   wide-characters or not.  */
> +#undef P2ALIGN
> +
>  /* The Mach definitions assume underscores should be prepended to
>     symbol names.  Redefine them to do so only when appropriate.  */
>  #undef EXT
> -- 
> 2.49.0
> 


More information about the Libc-alpha mailing list