aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Howells <dhowells@redhat.com>2007-07-20 17:02:04 +0100
committerLinus Torvalds <torvalds@woody.linux-foundation.org>2007-07-20 12:01:34 -0700
commit0b1937ac0ef1541c0ea44e6f81c33d2f59803957 (patch)
treeedf587df9329cd84659f772aadaabec1dd0a426e
parent03ce11048b3832f5f0c471ccdb3363a870a14ac1 (diff)
FRV: Fix linkage problems
Make it possible to use __start_notes and __stop_notes without getting a GPREL overflow error from the FRV linker. Small variables that would otherwise be in .data or .bss may, depending on the arch, be placed in special sections (.sdata or .sbss) that permit single instruction references on fixed instruction width machines. __start_notes and __stop_notes aren't really char variables, and certainly don't refer to data in .data or .bss. Making them type "void" fools the compiler into not assuming anything about them. Signed-off-by: David Howells <dhowells@redhat.com> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
-rw-r--r--kernel/ksysfs.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/kernel/ksysfs.c b/kernel/ksysfs.c
index 2565e1b6dd7..d0e5c48e18c 100644
--- a/kernel/ksysfs.c
+++ b/kernel/ksysfs.c
@@ -65,8 +65,8 @@ KERNEL_ATTR_RO(kexec_crash_loaded);
/*
* Make /sys/kernel/notes give the raw contents of our kernel .notes section.
*/
-extern const char __start_notes __attribute__((weak));
-extern const char __stop_notes __attribute__((weak));
+extern const void __start_notes __attribute__((weak));
+extern const void __stop_notes __attribute__((weak));
#define notes_size (&__stop_notes - &__start_notes)
static ssize_t notes_read(struct kobject *kobj, struct bin_attribute *bin_attr,