--- zzzz-none-000/linux-4.1.52/arch/arm/include/asm/module.h 2018-05-28 02:26:45.000000000 +0000 +++ bcm63-7530ax-731/linux-4.1.52/arch/arm/include/asm/module.h 2022-03-02 11:37:12.000000000 +0000 @@ -5,6 +5,7 @@ struct unwind_table; +#ifdef CONFIG_BCM_KF_MISC_BACKPORTS #ifdef CONFIG_ARM_UNWIND enum { ARM_SEC_INIT, @@ -14,12 +15,44 @@ ARM_SEC_DEVEXIT, ARM_SEC_HOT, ARM_SEC_UNLIKELY, + ARM_SEC_FASTPATH, + ARM_SEC_FASTPATH_HOST, ARM_SEC_MAX, }; +#endif struct mod_arch_specific { +#ifdef CONFIG_ARM_UNWIND struct unwind_table *unwind[ARM_SEC_MAX]; +#endif +#ifdef CONFIG_ARM_MODULE_PLTS + struct elf32_shdr *core_plt; + struct elf32_shdr *init_plt; + int core_plt_count; + int init_plt_count; +#endif }; + +u32 get_module_plt(struct module *mod, unsigned long loc, Elf32_Addr val); +#else +#ifdef CONFIG_ARM_UNWIND +enum { + ARM_SEC_INIT, + ARM_SEC_DEVINIT, + ARM_SEC_CORE, + ARM_SEC_EXIT, + ARM_SEC_DEVEXIT, + ARM_SEC_HOT, + ARM_SEC_UNLIKELY, + ARM_SEC_FASTPATH, + ARM_SEC_FASTPATH_HOST, + ARM_SEC_MAX, +}; + +struct mod_arch_specific { + struct unwind_table *unwind[ARM_SEC_MAX]; +}; +#endif #endif /*