diff options
-rw-r--r-- | arch/arc/Kconfig | 2 | ||||
-rw-r--r-- | arch/arc/include/asm/module.h | 4 | ||||
-rw-r--r-- | arch/arc/kernel/module.c | 4 |
3 files changed, 6 insertions, 4 deletions
diff --git a/arch/arc/Kconfig b/arch/arc/Kconfig index c75d29077e4a..283099c9560a 100644 --- a/arch/arc/Kconfig +++ b/arch/arc/Kconfig | |||
@@ -29,7 +29,7 @@ config ARC | |||
29 | select HAVE_KPROBES | 29 | select HAVE_KPROBES |
30 | select HAVE_KRETPROBES | 30 | select HAVE_KRETPROBES |
31 | select HAVE_MEMBLOCK | 31 | select HAVE_MEMBLOCK |
32 | select HAVE_MOD_ARCH_SPECIFIC if ARC_DW2_UNWIND | 32 | select HAVE_MOD_ARCH_SPECIFIC |
33 | select HAVE_OPROFILE | 33 | select HAVE_OPROFILE |
34 | select HAVE_PERF_EVENTS | 34 | select HAVE_PERF_EVENTS |
35 | select HANDLE_DOMAIN_IRQ | 35 | select HANDLE_DOMAIN_IRQ |
diff --git a/arch/arc/include/asm/module.h b/arch/arc/include/asm/module.h index 6e91d8b339c3..567590ea8f6c 100644 --- a/arch/arc/include/asm/module.h +++ b/arch/arc/include/asm/module.h | |||
@@ -14,13 +14,13 @@ | |||
14 | 14 | ||
15 | #include <asm-generic/module.h> | 15 | #include <asm-generic/module.h> |
16 | 16 | ||
17 | #ifdef CONFIG_ARC_DW2_UNWIND | ||
18 | struct mod_arch_specific { | 17 | struct mod_arch_specific { |
18 | #ifdef CONFIG_ARC_DW2_UNWIND | ||
19 | void *unw_info; | 19 | void *unw_info; |
20 | int unw_sec_idx; | 20 | int unw_sec_idx; |
21 | #endif | ||
21 | const char *secstr; | 22 | const char *secstr; |
22 | }; | 23 | }; |
23 | #endif | ||
24 | 24 | ||
25 | #define MODULE_PROC_FAMILY "ARC700" | 25 | #define MODULE_PROC_FAMILY "ARC700" |
26 | 26 | ||
diff --git a/arch/arc/kernel/module.c b/arch/arc/kernel/module.c index 42e964db2967..3d99a6091332 100644 --- a/arch/arc/kernel/module.c +++ b/arch/arc/kernel/module.c | |||
@@ -32,8 +32,8 @@ int module_frob_arch_sections(Elf_Ehdr *hdr, Elf_Shdr *sechdrs, | |||
32 | #ifdef CONFIG_ARC_DW2_UNWIND | 32 | #ifdef CONFIG_ARC_DW2_UNWIND |
33 | mod->arch.unw_sec_idx = 0; | 33 | mod->arch.unw_sec_idx = 0; |
34 | mod->arch.unw_info = NULL; | 34 | mod->arch.unw_info = NULL; |
35 | mod->arch.secstr = secstr; | ||
36 | #endif | 35 | #endif |
36 | mod->arch.secstr = secstr; | ||
37 | return 0; | 37 | return 0; |
38 | } | 38 | } |
39 | 39 | ||
@@ -113,8 +113,10 @@ int apply_relocate_add(Elf32_Shdr *sechdrs, | |||
113 | 113 | ||
114 | } | 114 | } |
115 | 115 | ||
116 | #ifdef CONFIG_ARC_DW2_UNWIND | ||
116 | if (strcmp(module->arch.secstr+sechdrs[tgtsec].sh_name, ".eh_frame") == 0) | 117 | if (strcmp(module->arch.secstr+sechdrs[tgtsec].sh_name, ".eh_frame") == 0) |
117 | module->arch.unw_sec_idx = tgtsec; | 118 | module->arch.unw_sec_idx = tgtsec; |
119 | #endif | ||
118 | 120 | ||
119 | return 0; | 121 | return 0; |
120 | 122 | ||