File tree Expand file tree Collapse file tree 6 files changed +48
-6
lines changed Expand file tree Collapse file tree 6 files changed +48
-6
lines changed Original file line number Diff line number Diff line change 15
15
16
16
#include <asm/unistd.h>
17
17
18
+ .section .rodata
18
19
.align 5
19
20
.globl __kuser_helper_start
20
21
__kuser_helper_start:
Original file line number Diff line number Diff line change 15
15
16
16
#include <asm/unistd.h>
17
17
18
+ . section .rodata
18
19
.globl __aarch32_sigret_code_start
19
20
__aarch32_sigret_code_start:
20
21
Original file line number Diff line number Diff line change @@ -24,7 +24,13 @@ btildflags-$(CONFIG_ARM64_BTI_KERNEL) += -z force-bti
24
24
# routines, as x86 does (see 6f121e548f83 ("x86, vdso: Reimplement vdso.so
25
25
# preparation in build-time C")).
26
26
ldflags-y := -shared -soname=linux-vdso.so.1 --hash-style=sysv \
27
- -Bsymbolic --build-id=sha1 -n $(btildflags-y ) -T
27
+ -Bsymbolic --build-id=sha1 -n $(btildflags-y )
28
+
29
+ ifdef CONFIG_LD_ORPHAN_WARN
30
+ ldflags-y += --orphan-handling=warn
31
+ endif
32
+
33
+ ldflags-y += -T
28
34
29
35
ccflags-y := -fno-common -fno-builtin -fno-stack-protector -ffixed-x18
30
36
ccflags-y += -DDISABLE_BRANCH_PROFILING -DBUILD_VDSO
Original file line number Diff line number Diff line change 11
11
#include <linux/const.h>
12
12
#include <asm/page.h>
13
13
#include <asm/vdso.h>
14
+ #include <asm-generic/vmlinux.lds.h>
14
15
15
16
OUTPUT_FORMAT("elf64-littleaarch64" , "elf64-bigaarch64" , "elf64-littleaarch64" )
16
17
OUTPUT_ARCH(aarch64)
@@ -49,11 +50,24 @@ SECTIONS
49
50
50
51
.dynamic : { *(.dynamic) } :text :dynamic
51
52
52
- .rodata : { *(.rodata*) } :text
53
+ .rela.dyn : ALIGN(8 ) { *(.rela .rela*) }
54
+
55
+ .rodata : {
56
+ *(.rodata*)
57
+ *(.got)
58
+ *(.got.plt)
59
+ *(.plt)
60
+ *(.plt.*)
61
+ *(.iplt)
62
+ *(.igot .igot.plt)
63
+ } :text
53
64
54
65
_end = .;
55
66
PROVIDE(end = .);
56
67
68
+ DWARF_DEBUG
69
+ ELF_DETAILS
70
+
57
71
/DISCARD/ : {
58
72
*(.data .data .* .gnu.linkonce .d.* .sdata*)
59
73
*(.bss .sbss .dynbss .dynsbss)
Original file line number Diff line number Diff line change @@ -104,6 +104,7 @@ VDSO_AFLAGS += -D__ASSEMBLY__
104
104
VDSO_LDFLAGS += -Bsymbolic --no-undefined -soname=linux-vdso.so.1
105
105
VDSO_LDFLAGS += -z max-page-size=4096 -z common-page-size=4096
106
106
VDSO_LDFLAGS += -shared --hash-style=sysv --build-id=sha1
107
+ VDSO_LDFLAGS += --orphan-handling=warn
107
108
108
109
109
110
# Borrow vdsomunge.c from the arm vDSO
Original file line number Diff line number Diff line change 11
11
#include <linux/const.h>
12
12
#include <asm/page.h>
13
13
#include <asm/vdso.h>
14
+ #include <asm-generic/vmlinux.lds.h>
14
15
15
16
OUTPUT_FORMAT("elf32-littlearm" , "elf32-bigarm" , "elf32-littlearm" )
16
17
OUTPUT_ARCH(arm)
@@ -35,12 +36,30 @@ SECTIONS
35
36
36
37
.dynamic : { *(.dynamic) } :text :dynamic
37
38
38
- .rodata : { *(.rodata*) } :text
39
+ .rodata : {
40
+ *(.rodata*)
41
+ *(.got)
42
+ *(.got.plt)
43
+ *(.plt)
44
+ *(.rel.iplt)
45
+ *(.iplt)
46
+ *(.igot.plt)
47
+ } :text
39
48
40
- .text : { *(.text *) } :text =0xe7f001f2
49
+ .text : {
50
+ *(.text *)
51
+ *(.glue_7)
52
+ *(.glue_7t)
53
+ *(.vfp11_veneer)
54
+ *(.v4_bx)
55
+ } :text =0xe7f001f2
41
56
42
- .got : { *(.got) }
43
- .rel.plt : { *(.rel.plt) }
57
+ .rel.dyn : { *(.rel*) }
58
+
59
+ .ARM.exidx : { *(.ARM.exidx*) }
60
+ DWARF_DEBUG
61
+ ELF_DETAILS
62
+ .ARM.attributes 0 : { *(.ARM.attributes) }
44
63
45
64
/DISCARD/ : {
46
65
*(.note.GNU-stack)
You can’t perform that action at this time.
0 commit comments