summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
Diffstat (limited to 'include')
-rw-r--r--include/asm-generic/sections.h1
-rw-r--r--include/asm-ia64/sections.h1
-rw-r--r--include/asm-ppc/sections.h2
-rw-r--r--include/asm-sparc64/sections.h2
-rw-r--r--include/linux/init.h4
-rw-r--r--include/linux/jiffies.h10
-rw-r--r--include/linux/kernel.h2
7 files changed, 14 insertions, 8 deletions
diff --git a/include/asm-generic/sections.h b/include/asm-generic/sections.h
index 40b935fa003f..976ac29598b7 100644
--- a/include/asm-generic/sections.h
+++ b/include/asm-generic/sections.h
@@ -8,5 +8,6 @@ extern char _data[], _sdata[], _edata[];
extern char __bss_start[], __bss_stop[];
extern char __init_begin[], __init_end[];
extern char _sinittext[], _einittext[];
+extern char _end[];
#endif /* _ASM_GENERIC_SECTIONS_H_ */
diff --git a/include/asm-ia64/sections.h b/include/asm-ia64/sections.h
index f6dae5cf805a..8e3dbde1b429 100644
--- a/include/asm-ia64/sections.h
+++ b/include/asm-ia64/sections.h
@@ -17,7 +17,6 @@ extern char __start_gate_vtop_patchlist[], __end_gate_vtop_patchlist[];
extern char __start_gate_fsyscall_patchlist[], __end_gate_fsyscall_patchlist[];
extern char __start_gate_brl_fsys_bubble_down_patchlist[], __end_gate_brl_fsys_bubble_down_patchlist[];
extern char __start_unwind[], __end_unwind[];
-extern char _end[]; /* end of kernel image */
#endif /* _ASM_IA64_SECTIONS_H */
diff --git a/include/asm-ppc/sections.h b/include/asm-ppc/sections.h
index 0a06f83dd543..ba8f43ac9bf3 100644
--- a/include/asm-ppc/sections.h
+++ b/include/asm-ppc/sections.h
@@ -4,8 +4,6 @@
#include <asm-generic/sections.h>
-extern char _end[];
-
#define __pmac __attribute__ ((__section__ (".pmac.text")))
#define __pmacdata __attribute__ ((__section__ (".pmac.data")))
#define __pmacfunc(__argpmac) \
diff --git a/include/asm-sparc64/sections.h b/include/asm-sparc64/sections.h
index 1e74d704d433..3f4b9fdc28d0 100644
--- a/include/asm-sparc64/sections.h
+++ b/include/asm-sparc64/sections.h
@@ -4,6 +4,6 @@
/* nothing to see, move along */
#include <asm-generic/sections.h>
-extern char _end[], _start[];
+extern char _start[];
#endif
diff --git a/include/linux/init.h b/include/linux/init.h
index 7a9f69992516..05c83e0521ca 100644
--- a/include/linux/init.h
+++ b/include/linux/init.h
@@ -64,8 +64,8 @@
typedef int (*initcall_t)(void);
typedef void (*exitcall_t)(void);
-extern initcall_t __con_initcall_start, __con_initcall_end;
-extern initcall_t __security_initcall_start, __security_initcall_end;
+extern initcall_t __con_initcall_start[], __con_initcall_end[];
+extern initcall_t __security_initcall_start[], __security_initcall_end[];
/* Defined in init/main.c */
extern char saved_command_line[];
diff --git a/include/linux/jiffies.h b/include/linux/jiffies.h
index d45eff83b906..d882d689519a 100644
--- a/include/linux/jiffies.h
+++ b/include/linux/jiffies.h
@@ -70,13 +70,19 @@
/* a value TUSEC for TICK_USEC (can be set bij adjtimex) */
#define TICK_USEC_TO_NSEC(TUSEC) (SH_DIV (TUSEC * USER_HZ * 1000, ACTHZ, 8))
+/* some arch's have a small-data section that can be accessed register-relative
+ * but that can only take up to, say, 4-byte variables. jiffies being part of
+ * an 8-byte variable may not be correctly accessed unless we force the issue
+ */
+#define __jiffy_data __attribute__((section(".data")))
+
/*
* The 64-bit value is not volatile - you MUST NOT read it
* without sampling the sequence number in xtime_lock.
* get_jiffies_64() will do this for you as appropriate.
*/
-extern u64 jiffies_64;
-extern unsigned long volatile jiffies;
+extern u64 __jiffy_data jiffies_64;
+extern unsigned long volatile __jiffy_data jiffies;
#if (BITS_PER_LONG < 64)
u64 get_jiffies_64(void);
diff --git a/include/linux/kernel.h b/include/linux/kernel.h
index 1d33d8dcbc1b..843ad4f18ec0 100644
--- a/include/linux/kernel.h
+++ b/include/linux/kernel.h
@@ -16,6 +16,8 @@
#include <asm/byteorder.h>
#include <asm/bug.h>
+extern const char linux_banner[];
+
#define INT_MAX ((int)(~0U>>1))
#define INT_MIN (-INT_MAX - 1)
#define UINT_MAX (~0U)