Re: exception tables in 2.5.55

Greg Ungerer
2003-01-13T03:06:34Z

Hi All,

Rusty Russell wrote:
> You can now make kernel/extable.o depend on this configuration option
> (whatever you decide it should be).
>
> And surround kernel/module.c's search_module_extables with the same
> option.
>
> It's trivial, just CC: me when you send to Linus, and I'll re-xmit if
> he drops it.

Heres a patch for it. Pretty strait forward, if everyone is
happy with this I will run with it...

Tested and working on m68knommu architecture.

Regards
Greg

diff -Naur linux-2.5.56/kernel/Makefile linux-2.5.56-uc0/kernel/Makefile
--- linux-2.5.56/kernel/Makefile Sat Jan 11 06:11:36 2003
+++ linux-2.5.56-uc0/kernel/Makefile Mon Jan 13 13:03:45 2003
@@ -10,7 +10,7 @@
exit.o itimer.o time.o softirq.o resource.o \
sysctl.o capability.o ptrace.o timer.o user.o \
signal.o sys.o kmod.o workqueue.o futex.o pid.o \
- rcupdate.o intermodule.o extable.o params.o
+ rcupdate.o intermodule.o params.o

obj-$(CONFIG_GENERIC_ISA_DMA) += dma.o
obj-$(CONFIG_SMP) += cpu.o
@@ -22,6 +22,7 @@
obj-$(CONFIG_BSD_PROCESS_ACCT) += acct.o
obj-$(CONFIG_SOFTWARE_SUSPEND) += suspend.o
obj-$(CONFIG_COMPAT) += compat.o
+obj-$(CONFIG_MMU) += extable.o

ifneq ($(CONFIG_IA64),y)
# According to Alan Modra <alan@linuxcare.com.au>, the
-fno-omit-frame-pointer is
diff -Naur linux-2.5.56/kernel/module.c linux-2.5.56-uc0/kernel/module.c
--- linux-2.5.56/kernel/module.c Sat Jan 11 06:12:11 2003
+++ linux-2.5.56-uc0/kernel/module.c Mon Jan 13 13:06:00 2003
@@ -1438,6 +1438,7 @@
.show = m_show
};

+#ifdef CONFIG_MMU
/* Given an address, look for it in the module exception tables. */
const struct exception_table_entry *search_module_extables(unsigned
long addr)
{
@@ -1460,6 +1461,7 @@
we cannot unload the module, hence no refcnt needed. */
return e;
}
+#endif /* CONFIG_MMU */

/* Is this a valid kernel address? We don't grab the lock: we are
oopsing. */
int module_text_address(unsigned long addr)

------------------------------------------------------------------------
Greg Ungerer -- Chief Software Wizard EMAIL: gerg@snapgear.com
SnapGear Pty Ltd PHONE: +61 7 3435 2888
825 Stanley St, FAX: +61 7 3891 3630
Woolloongabba, QLD, 4102, Australia WEB: www.SnapGear.com