X-Git-Url: http://git.lttng.org/?a=blobdiff_plain;f=include%2Fwrapper%2Fkallsyms.h;h=8129833f8a896e27e4084b8530ad4710b4479fe9;hb=92e2c5feecb39cdd4796da89f2b684e395403040;hp=6a3e27e986e0b72d0e2c843f2b9f854e9ed940cd;hpb=5f4c791e2ad2c814101ccdb500e65543f2792c41;p=lttng-modules.git diff --git a/include/wrapper/kallsyms.h b/include/wrapper/kallsyms.h index 6a3e27e9..8129833f 100644 --- a/include/wrapper/kallsyms.h +++ b/include/wrapper/kallsyms.h @@ -16,11 +16,21 @@ #include #include +#include + +/* CONFIG_PPC64_ELF_ABI_V1/V2 were introduced in v5.19 */ +#if defined(CONFIG_PPC64_ELF_ABI_V2) || (defined(CONFIG_PPC64) && defined(CONFIG_CPU_LITTLE_ENDIAN)) +#define LTTNG_CONFIG_PPC64_ELF_ABI_V2 +#endif +#if defined(CONFIG_PPC64_ELF_ABI_V1) || (defined(CONFIG_PPC64) && defined(CONFIG_CPU_BIG_ENDIAN)) +#define LTTNG_CONFIG_PPC64_ELF_ABI_V1 +#endif + /* * PowerPC ABIv1 needs KALLSYMS_ALL to get the function descriptor, * which is needed to perform the function call. */ -#if defined(CONFIG_PPC64) && (!defined(_CALL_ELF) || _CALL_ELF < 2) +#ifdef LTTNG_CONFIG_PPC64_ELF_ABI_V1 # ifndef CONFIG_KALLSYMS_ALL # error "LTTng-modules requires CONFIG_KALLSYMS_ALL on PowerPC ABIv1" # endif @@ -46,11 +56,9 @@ unsigned long kallsyms_lookup_funcptr(const char *name) unsigned long addr; addr = wrapper_kallsyms_lookup_name(name); -#ifdef CONFIG_ARM -#ifdef CONFIG_THUMB2_KERNEL +#if defined(CONFIG_ARM) && defined(CONFIG_THUMB2_KERNEL) if (addr) addr |= 1; /* set bit 0 in address for thumb mode */ -#endif #endif return addr; }