aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--arch/arc/Kconfig2
-rw-r--r--arch/arc/include/asm/module.h4
-rw-r--r--arch/arc/kernel/module.c4
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
18struct mod_arch_specific { 17struct 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