[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20151216165819.GD27051@e104818-lin.cambridge.arm.com>
Date: Wed, 16 Dec 2015 16:58:20 +0000
From: Catalin Marinas <catalin.marinas@....com>
To: Arnd Bergmann <arnd@...db.de>
Cc: Yury Norov <ynorov@...iumnetworks.com>, pinskia@...il.com,
Prasun.Kapoor@...iumnetworks.com, Nathan_Lynch@...tor.com,
linux-kernel@...r.kernel.org, agraf@...e.de,
Andrew Pinski <apinski@...ium.com>, klimov.linux@...il.com,
Andrew Pinski <Andrew.Pinski@...iumnetworks.com>,
broonie@...nel.org, jan.dakinevich@...il.com,
joseph@...esourcery.com, ddaney.cavm@...il.com, schwab@...e.de,
bamvor.zhangjian@...wei.com, philipp.tomsich@...obroma-systems.com,
linux-arm-kernel@...ts.infradead.org,
christoph.muellner@...obroma-systems.com
Subject: Re: [PATCH v6 09/20] arm64:ilp32: share HWCAP between LP64 and ILP32
On Wed, Dec 16, 2015 at 04:54:34PM +0100, Arnd Bergmann wrote:
> On Wednesday 16 December 2015 00:42:35 Yury Norov wrote:
> >
> > #ifdef CONFIG_COMPAT
> > -#define COMPAT_ELF_HWCAP (compat_elf_hwcap)
> > -#define COMPAT_ELF_HWCAP2 (compat_elf_hwcap2)
> > extern unsigned int compat_elf_hwcap, compat_elf_hwcap2;
> > +#define COMPAT_ELF_HWCAP \
> > + (is_a32_compat_task() \
> > + ? compat_elf_hwcap \
> > + : elf_hwcap)
> > +
> > +#define COMPAT_ELF_HWCAP2 \
> > + (is_a32_compat_task() \
> > + ? compat_elf_hwcap2 \
> > + : 0)
> > +
> > #endif
>
> I'm trying to understand how this is used. Are you compiling
> fs/compat_binfmt_elf.c twice to handle both 32-bit ELF types?
It's the same compat_binfmt_elf.c which handles all 32-bit ELF types,
i.e. AArch32 and A64/ILP32. The above macros are not constants, so they
are evaluated every time a new ELF file is loaded. We do a similar trick
with COMPAT_SET_PERSONALITY in patch 11.
--
Catalin
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists