diff options
Diffstat (limited to 'arch/ia64/kernel/Makefile.gate')
-rw-r--r-- | arch/ia64/kernel/Makefile.gate | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/arch/ia64/kernel/Makefile.gate b/arch/ia64/kernel/Makefile.gate new file mode 100644 index 000000000000..1d87f84069b3 --- /dev/null +++ b/arch/ia64/kernel/Makefile.gate | |||
@@ -0,0 +1,27 @@ | |||
1 | # The gate DSO image is built using a special linker script. | ||
2 | |||
3 | targets += gate.so gate-syms.o | ||
4 | |||
5 | extra-y += gate.so gate-syms.o gate.lds gate.o | ||
6 | |||
7 | CPPFLAGS_gate.lds := -P -C -U$(ARCH) | ||
8 | |||
9 | quiet_cmd_gate = GATE $@ | ||
10 | cmd_gate = $(CC) -nostdlib $(GATECFLAGS_$(@F)) -Wl,-T,$(filter-out FORCE,$^) -o $@ | ||
11 | |||
12 | GATECFLAGS_gate.so = -shared -s -Wl,-soname=linux-gate.so.1 \ | ||
13 | $(call ld-option, -Wl$(comma)--hash-style=sysv) | ||
14 | $(obj)/gate.so: $(obj)/gate.lds $(obj)/gate.o FORCE | ||
15 | $(call if_changed,gate) | ||
16 | |||
17 | $(obj)/built-in.o: $(obj)/gate-syms.o | ||
18 | $(obj)/built-in.o: ld_flags += -R $(obj)/gate-syms.o | ||
19 | |||
20 | GATECFLAGS_gate-syms.o = -r | ||
21 | $(obj)/gate-syms.o: $(obj)/gate.lds $(obj)/gate.o FORCE | ||
22 | $(call if_changed,gate) | ||
23 | |||
24 | # gate-data.o contains the gate DSO image as data in section .data.gate. | ||
25 | # We must build gate.so before we can assemble it. | ||
26 | # Note: kbuild does not track this dependency due to usage of .incbin | ||
27 | $(obj)/gate-data.o: $(obj)/gate.so | ||