aboutsummaryrefslogtreecommitdiffstats
path: root/include/asm-generic/vmlinux.lds.h
diff options
context:
space:
mode:
authorSam Ravnborg <sam@ravnborg.org>2007-05-29 15:29:00 -0400
committerSam Ravnborg <sam@ravnborg.org>2007-05-29 15:29:00 -0400
commit4096b46f01a362fe2cc83f6be25cc7be6bce2ab7 (patch)
tree7738ca7a7962dc88cc5b9e6dc3b789e73504a7c8 /include/asm-generic/vmlinux.lds.h
parentc420bc9f09a0926b708c3edb27eacba434a4f4ba (diff)
sparc64: fix alignment bug in linker definition script
The RO_DATA section were hardcoded to a specific alignment in include/asm-generic/vmlinux.h. But for sparc64 this did not match the PAGE_SIZE. Introduce a new section definition named: RO_DATA that takes actual alignment as parameter. RODATA are provided for backward compatibility. On top of this avoid hardcoding alignment for sparc64 in reset of the script Fix is build-tested on sparc64 + x86_64. Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
Diffstat (limited to 'include/asm-generic/vmlinux.lds.h')
-rw-r--r--include/asm-generic/vmlinux.lds.h10
1 files changed, 7 insertions, 3 deletions
diff --git a/include/asm-generic/vmlinux.lds.h b/include/asm-generic/vmlinux.lds.h
index 8307b1bb337a..84155eb67f1d 100644
--- a/include/asm-generic/vmlinux.lds.h
+++ b/include/asm-generic/vmlinux.lds.h
@@ -14,8 +14,8 @@
14 *(.data) \ 14 *(.data) \
15 *(.data.init.refok) 15 *(.data.init.refok)
16 16
17#define RODATA \ 17#define RO_DATA(align) \
18 . = ALIGN(4096); \ 18 . = ALIGN((align)); \
19 .rodata : AT(ADDR(.rodata) - LOAD_OFFSET) { \ 19 .rodata : AT(ADDR(.rodata) - LOAD_OFFSET) { \
20 VMLINUX_SYMBOL(__start_rodata) = .; \ 20 VMLINUX_SYMBOL(__start_rodata) = .; \
21 *(.rodata) *(.rodata.*) \ 21 *(.rodata) *(.rodata.*) \
@@ -135,7 +135,11 @@
135 VMLINUX_SYMBOL(__end_rodata) = .; \ 135 VMLINUX_SYMBOL(__end_rodata) = .; \
136 } \ 136 } \
137 \ 137 \
138 . = ALIGN(4096); 138 . = ALIGN((align));
139
140/* RODATA provided for backward compatibility.
141 * All archs are supposed to use RO_DATA() */
142#define RODATA RO_DATA(4096)
139 143
140#define SECURITY_INIT \ 144#define SECURITY_INIT \
141 .security_initcall.init : AT(ADDR(.security_initcall.init) - LOAD_OFFSET) { \ 145 .security_initcall.init : AT(ADDR(.security_initcall.init) - LOAD_OFFSET) { \