core_kernel_data(): Fix architectures that do not define _sdata
authorIngo Molnar <mingo@elte.hu>
Thu, 19 May 2011 23:22:14 +0000 (01:22 +0200)
committerIngo Molnar <mingo@elte.hu>
Thu, 19 May 2011 23:27:16 +0000 (01:27 +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 c2d625fcda77000d00a397529762bc1426a1d648..d44aac0c3faa06b05e49005b9e31d843e2c7481e 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;