core_kernel_data(): Fix architectures that do not define _sdata
Ingo Molnar [Thu, 19 May 2011 23:22:14 +0000 (01:22 +0200)]
Some architectures such as Alpha do not define _sdata but _data:

  kernel/built-in.o: In function `core_kernel_data':
  kernel/extable.c:77: undefined reference to `_sdata'

So expand the scope of the data range to the text addresses too,
this might be more correct anyway because this way we can
cover readonly variables as well.

Cc: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
Cc: Steven Rostedt <rostedt@goodmis.org>
Link: http://lkml.kernel.org/n/tip-i878c8a0e0g0ep4v7i6vxnhz@git.kernel.org
Signed-off-by: Ingo Molnar <mingo@elte.hu>

kernel/extable.c

index c2d625f..d44aac0 100644 (file)
@@ -74,7 +74,7 @@ int core_kernel_text(unsigned long addr)
 
 int core_kernel_data(unsigned long addr)
 {
-       if (addr >= (unsigned long)_sdata &&
+       if (addr >= (unsigned long)_stext &&
            addr < (unsigned long)_edata)
                return 1;
        return 0;