09e56a2d07
Without these, exit functions cannot be stack-traced, so to speak. This implies that module unloads that perform allocations (don't laugh) will cause noisy warnings on the console when kmemleak is enabled, as it presumes that all code's call chains are traceable. Similarly, BUGs and WARN_ONs will give additional console spam. Signed-off-by: Phil Carmody <ext-phil.2.carmody@nokia.com> Acked-by: Catalin Marinas <catalin.marinas@arm.com> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
37 lines
662 B
C
37 lines
662 B
C
#ifndef _ASM_ARM_MODULE_H
|
|
#define _ASM_ARM_MODULE_H
|
|
|
|
#define Elf_Shdr Elf32_Shdr
|
|
#define Elf_Sym Elf32_Sym
|
|
#define Elf_Ehdr Elf32_Ehdr
|
|
|
|
struct unwind_table;
|
|
|
|
#ifdef CONFIG_ARM_UNWIND
|
|
struct arm_unwind_mapping {
|
|
Elf_Shdr *unw_sec;
|
|
Elf_Shdr *sec_text;
|
|
struct unwind_table *unwind;
|
|
};
|
|
enum {
|
|
ARM_SEC_INIT,
|
|
ARM_SEC_DEVINIT,
|
|
ARM_SEC_CORE,
|
|
ARM_SEC_EXIT,
|
|
ARM_SEC_DEVEXIT,
|
|
ARM_SEC_MAX,
|
|
};
|
|
struct mod_arch_specific {
|
|
struct arm_unwind_mapping map[ARM_SEC_MAX];
|
|
};
|
|
#else
|
|
struct mod_arch_specific {
|
|
};
|
|
#endif
|
|
|
|
/*
|
|
* Include the ARM architecture version.
|
|
*/
|
|
#define MODULE_ARCH_VERMAGIC "ARMv" __stringify(__LINUX_ARM_ARCH__) " "
|
|
|
|
#endif /* _ASM_ARM_MODULE_H */
|