aboutsummaryrefslogtreecommitdiffstats
path: root/arch/sh
diff options
context:
space:
mode:
authorRoland McGrath <roland@redhat.com>2007-10-15 23:42:02 -0400
committerLinus Torvalds <torvalds@woody.linux-foundation.org>2007-10-16 13:01:50 -0400
commitc4eecc99538db762d8d058ebf89d3f05c5526ce6 (patch)
treeb18229fa3a3784dbce0452997369fe27781f9dfa /arch/sh
parent1a43be74a7597a1a1fdef73350bb143dd634ae07 (diff)
SH vDSO: linker script indentation
This cleans up the formatting in the vDSO linker script, mostly just the use of whitespace. It's intended to approximate the kernel standard conventions for indenting C, treating elements of the linker script about like initialized variable definitions. Signed-off-by: Roland McGrath <roland@redhat.com> Cc: Sam Ravnborg <sam@ravnborg.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'arch/sh')
-rw-r--r--arch/sh/kernel/vsyscall/vsyscall.lds.S77
1 files changed, 42 insertions, 35 deletions
diff --git a/arch/sh/kernel/vsyscall/vsyscall.lds.S b/arch/sh/kernel/vsyscall/vsyscall.lds.S
index b13c3d439fee..c9bf2af35d35 100644
--- a/arch/sh/kernel/vsyscall/vsyscall.lds.S
+++ b/arch/sh/kernel/vsyscall/vsyscall.lds.S
@@ -17,45 +17,52 @@ ENTRY(__kernel_vsyscall);
17 17
18SECTIONS 18SECTIONS
19{ 19{
20 . = SIZEOF_HEADERS; 20 . = SIZEOF_HEADERS;
21 21
22 .hash : { *(.hash) } :text 22 .hash : { *(.hash) } :text
23 .gnu.hash : { *(.gnu.hash) } 23 .gnu.hash : { *(.gnu.hash) }
24 .dynsym : { *(.dynsym) } 24 .dynsym : { *(.dynsym) }
25 .dynstr : { *(.dynstr) } 25 .dynstr : { *(.dynstr) }
26 .gnu.version : { *(.gnu.version) } 26 .gnu.version : { *(.gnu.version) }
27 .gnu.version_d : { *(.gnu.version_d) } 27 .gnu.version_d : { *(.gnu.version_d) }
28 .gnu.version_r : { *(.gnu.version_r) } 28 .gnu.version_r : { *(.gnu.version_r) }
29 29
30 /* This linker script is used both with -r and with -shared. 30 /*
31 For the layouts to match, we need to skip more than enough 31 * This linker script is used both with -r and with -shared.
32 space for the dynamic symbol table et al. If this amount 32 * For the layouts to match, we need to skip more than enough
33 is insufficient, ld -shared will barf. Just increase it here. */ 33 * space for the dynamic symbol table et al. If this amount
34 . = 0x400; 34 * is insufficient, ld -shared will barf. Just increase it here.
35 */
36 . = 0x400;
35 37
36 .text : { *(.text) } :text =0x90909090 38 .text : { *(.text) } :text =0x90909090
37 .note : { *(.note.*) } :text :note 39 .note : { *(.note.*) } :text :note
38 .eh_frame_hdr : { *(.eh_frame_hdr) } :text :eh_frame_hdr 40 .eh_frame_hdr : { *(.eh_frame_hdr ) } :text :eh_frame_hdr
39 .eh_frame : { KEEP (*(.eh_frame)) } :text 41 .eh_frame : { KEEP (*(.eh_frame)) } :text
40 .dynamic : { *(.dynamic) } :text :dynamic 42 .dynamic : { *(.dynamic) } :text :dynamic
41 .useless : { 43 .useless : {
42 *(.got.plt) *(.got) 44 *(.got.plt) *(.got)
43 *(.data .data.* .gnu.linkonce.d.*) 45 *(.data .data.* .gnu.linkonce.d.*)
44 *(.dynbss) 46 *(.dynbss)
45 *(.bss .bss.* .gnu.linkonce.b.*) 47 *(.bss .bss.* .gnu.linkonce.b.*)
46 } :text 48 } :text
47} 49}
48 50
49/* 51/*
52 * Very old versions of ld do not recognize this name token; use the constant.
53 */
54#define PT_GNU_EH_FRAME 0x6474e550
55
56/*
50 * We must supply the ELF program headers explicitly to get just one 57 * We must supply the ELF program headers explicitly to get just one
51 * PT_LOAD segment, and set the flags explicitly to make segments read-only. 58 * PT_LOAD segment, and set the flags explicitly to make segments read-only.
52 */ 59 */
53PHDRS 60PHDRS
54{ 61{
55 text PT_LOAD FILEHDR PHDRS FLAGS(5); /* PF_R|PF_X */ 62 text PT_LOAD FILEHDR PHDRS FLAGS(5); /* PF_R|PF_X */
56 dynamic PT_DYNAMIC FLAGS(4); /* PF_R */ 63 dynamic PT_DYNAMIC FLAGS(4); /* PF_R */
57 note PT_NOTE FLAGS(4); /* PF_R */ 64 note PT_NOTE FLAGS(4); /* PF_R */
58 eh_frame_hdr 0x6474e550; /* PT_GNU_EH_FRAME, but ld doesn't match the name */ 65 eh_frame_hdr PT_GNU_EH_FRAME;
59} 66}
60 67
61/* 68/*
@@ -63,12 +70,12 @@ PHDRS
63 */ 70 */
64VERSION 71VERSION
65{ 72{
66 LINUX_2.6 { 73 LINUX_2.6 {
67 global: 74 global:
68 __kernel_vsyscall; 75 __kernel_vsyscall;
69 __kernel_sigreturn; 76 __kernel_sigreturn;
70 __kernel_rt_sigreturn; 77 __kernel_rt_sigreturn;
71 78
72 local: *; 79 local: *;
73 }; 80 };
74} 81}