Excerpts from Christophe Leroy's message of October 15, 2021 4:24 pm:
Le 15/10/2021 à 08:16, Nicholas Piggin a écrit :
quoted
Excerpts from Christophe Leroy's message of October 14, 2021 3:49 pm:
quoted
Replace HAVE_DEREFERENCE_FUNCTION_DESCRIPTOR by
HAVE_FUNCTION_DESCRIPTORS and use it instead of
'dereference_function_descriptor' macro to know
whether an arch has function descriptors.
To limit churn in one of the following patches, use
an #ifdef/#else construct with empty first part
instead of an #ifndef in asm-generic/sections.h
Is it worth putting this into Kconfig if you're going to
change it? In any case
That was what I wanted to do in the begining but how can I do that in
Kconfig ?
#ifdef __powerpc64__
#if defined(_CALL_ELF) && _CALL_ELF == 2
#define PPC64_ELF_ABI_v2
#else
#define PPC64_ELF_ABI_v1
#endif
#endif /* __powerpc64__ */
#ifdef PPC64_ELF_ABI_v1
#define HAVE_DEREFERENCE_FUNCTION_DESCRIPTOR 1
We have ELFv2 ABI / function descriptors iff big-endian so you could
just select based on that.
I have a patch that makes the ABI version configurable which cleans
some of this up a bit, but that can be rebased on your series if we
ever merge it. Maybe just add BUILD_BUG_ONs in the above ifdef block
to ensure CONFIG_HAVE_FUNCTION_DESCRIPTORS was set the right way, so
I don't forget.
Thanks,
Nick