diff options
-rw-r--r-- | arch/arm/include/asm/module.h | 2 | ||||
-rw-r--r-- | arch/arm/kernel/module.c | 8 |
2 files changed, 10 insertions, 0 deletions
diff --git a/arch/arm/include/asm/module.h b/arch/arm/include/asm/module.h index 6dcff0f7f8d7..cbb0bc295d2b 100644 --- a/arch/arm/include/asm/module.h +++ b/arch/arm/include/asm/module.h | |||
@@ -17,6 +17,8 @@ enum { | |||
17 | ARM_SEC_INIT, | 17 | ARM_SEC_INIT, |
18 | ARM_SEC_DEVINIT, | 18 | ARM_SEC_DEVINIT, |
19 | ARM_SEC_CORE, | 19 | ARM_SEC_CORE, |
20 | ARM_SEC_EXIT, | ||
21 | ARM_SEC_DEVEXIT, | ||
20 | ARM_SEC_MAX, | 22 | ARM_SEC_MAX, |
21 | }; | 23 | }; |
22 | struct mod_arch_specific { | 24 | struct mod_arch_specific { |
diff --git a/arch/arm/kernel/module.c b/arch/arm/kernel/module.c index 0aa622e84b24..d9bd786ce23d 100644 --- a/arch/arm/kernel/module.c +++ b/arch/arm/kernel/module.c | |||
@@ -80,12 +80,20 @@ int module_frob_arch_sections(Elf_Ehdr *hdr, | |||
80 | maps[ARM_SEC_DEVINIT].unw_sec = s; | 80 | maps[ARM_SEC_DEVINIT].unw_sec = s; |
81 | else if (strcmp(".ARM.exidx", secname) == 0) | 81 | else if (strcmp(".ARM.exidx", secname) == 0) |
82 | maps[ARM_SEC_CORE].unw_sec = s; | 82 | maps[ARM_SEC_CORE].unw_sec = s; |
83 | else if (strcmp(".ARM.exidx.exit.text", secname) == 0) | ||
84 | maps[ARM_SEC_EXIT].unw_sec = s; | ||
85 | else if (strcmp(".ARM.exidx.devexit.text", secname) == 0) | ||
86 | maps[ARM_SEC_DEVEXIT].unw_sec = s; | ||
83 | else if (strcmp(".init.text", secname) == 0) | 87 | else if (strcmp(".init.text", secname) == 0) |
84 | maps[ARM_SEC_INIT].sec_text = s; | 88 | maps[ARM_SEC_INIT].sec_text = s; |
85 | else if (strcmp(".devinit.text", secname) == 0) | 89 | else if (strcmp(".devinit.text", secname) == 0) |
86 | maps[ARM_SEC_DEVINIT].sec_text = s; | 90 | maps[ARM_SEC_DEVINIT].sec_text = s; |
87 | else if (strcmp(".text", secname) == 0) | 91 | else if (strcmp(".text", secname) == 0) |
88 | maps[ARM_SEC_CORE].sec_text = s; | 92 | maps[ARM_SEC_CORE].sec_text = s; |
93 | else if (strcmp(".exit.text", secname) == 0) | ||
94 | maps[ARM_SEC_EXIT].sec_text = s; | ||
95 | else if (strcmp(".devexit.text", secname) == 0) | ||
96 | maps[ARM_SEC_DEVEXIT].sec_text = s; | ||
89 | } | 97 | } |
90 | #endif | 98 | #endif |
91 | return 0; | 99 | return 0; |