On Wed, 30 Jul 2025 at 01:42, Richard Henderson
<richard.hender...@linaro.org> wrote:
>
> Move the workaround out of linux-user/elfload.c, so that
> we don't have to replicate it in many places.  Place it
> immediately after the include of <signal.h>, which draws
> in the relevant symbols.
>
> Signed-off-by: Richard Henderson <richard.hender...@linaro.org>
> ---
>  include/qemu/osdep.h | 8 ++++++++
>  linux-user/elfload.c | 7 -------
>  2 files changed, 8 insertions(+), 7 deletions(-)
>
> diff --git a/include/qemu/osdep.h b/include/qemu/osdep.h
> index 96fe51bc39..be3460b32f 100644
> --- a/include/qemu/osdep.h
> +++ b/include/qemu/osdep.h
> @@ -133,6 +133,14 @@ QEMU_EXTERN_C int daemon(int, int);
>  #include <setjmp.h>
>  #include <signal.h>
>
> +/*
> + * Avoid conflict with linux/arch/powerpc/include/uapi/asm/elf.h, included
> + * from <asm/sigcontext.h>, but we might as well do this unconditionally.
> + */
> +#undef ELF_CLASS
> +#undef ELF_DATA
> +#undef ELF_ARCH
> +

This should allow us also to remove the hw/core/loader.c

#ifdef ELF_CLASS
#undef ELF_CLASS
#endif

(added in commit 3efa9a672e4a in 2009 with a commit message
and other PPC related changes suggesting it was for the same
ppc include problem).


> -#ifdef _ARCH_PPC64
> -#undef ARCH_DLINFO
> -#undef ELF_CLASS
> -#undef ELF_DATA
> -#undef ELF_ARCH
> -#endif

Your osdep.h change is missing ARCH_DLINFO -- did our uses of
that symbol get renamed to something else in an earlier patch?

thanks
-- PMM

Reply via email to