Commit 1d3b97c94eb562fa1071abd50b3a4cb4cca7f203
1 parent
101860ef69
Exists in
smarc_8mq_lf_v2020.04
and in
11 other branches
Kbuild: add LDFLAGS_STANDALONE
Introduce a new Makefile variable for passing LDFLAGS to standalone programs. Currently the variable CONFIG_STANDALONE_LOAD_ADDR is misued on some archs to pass a specific linker script. Signed-off-by: Daniel Schwierzeck <daniel.schwierzeck@gmail.com> Reviewed-by: Tom Rini <trini@konsulko.com> Reviewed-by: Rick Chen <rick@andestech.com>
Showing 7 changed files with 14 additions and 10 deletions Side-by-side Diff
arch/mips/cpu/mips32/config.mk
... | ... | @@ -3,6 +3,6 @@ |
3 | 3 | # (C) Copyright 2003 |
4 | 4 | # Wolfgang Denk, DENX Software Engineering, <wd@denx.de> |
5 | 5 | |
6 | -CONFIG_STANDALONE_LOAD_ADDR ?= 0x80200000 \ | |
7 | - -T $(srctree)/examples/standalone/mips.lds | |
6 | +CONFIG_STANDALONE_LOAD_ADDR ?= 0x80200000 | |
7 | +LDFLAGS_STANDALONE += -T $(srctree)/examples/standalone/mips.lds |
arch/mips/cpu/mips64/config.mk
... | ... | @@ -3,6 +3,6 @@ |
3 | 3 | # (C) Copyright 2003 |
4 | 4 | # Wolfgang Denk, DENX Software Engineering, <wd@denx.de> |
5 | 5 | |
6 | -CONFIG_STANDALONE_LOAD_ADDR ?= 0xffffffff80200000 \ | |
7 | - -T $(srctree)/examples/standalone/mips64.lds | |
6 | +CONFIG_STANDALONE_LOAD_ADDR ?= 0xffffffff80200000 | |
7 | +LDFLAGS_STANDALONE += -T $(srctree)/examples/standalone/mips64.lds |
arch/nds32/config.mk
... | ... | @@ -12,8 +12,8 @@ |
12 | 12 | CROSS_COMPILE := nds32le-linux- |
13 | 13 | endif |
14 | 14 | |
15 | -CONFIG_STANDALONE_LOAD_ADDR = 0x300000 \ | |
16 | - -T $(srctree)/examples/standalone/nds32.lds | |
15 | +CONFIG_STANDALONE_LOAD_ADDR = 0x300000 | |
16 | +LDFLAGS_STANDALONE += -T $(srctree)/examples/standalone/nds32.lds | |
17 | 17 | |
18 | 18 | PLATFORM_RELFLAGS += -fno-common -mrelax |
19 | 19 | PLATFORM_RELFLAGS += -gdwarf-2 |
arch/riscv/config.mk
... | ... | @@ -27,8 +27,8 @@ |
27 | 27 | EFI_LDS := elf_riscv64_efi.lds |
28 | 28 | endif |
29 | 29 | |
30 | -CONFIG_STANDALONE_LOAD_ADDR = 0x00000000 \ | |
31 | - -T $(srctree)/examples/standalone/riscv.lds | |
30 | +CONFIG_STANDALONE_LOAD_ADDR = 0x00000000 | |
31 | +LDFLAGS_STANDALONE += -T $(srctree)/examples/standalone/riscv.lds | |
32 | 32 | |
33 | 33 | PLATFORM_CPPFLAGS += -ffixed-gp -fpic |
34 | 34 | PLATFORM_RELFLAGS += -fno-common -gdwarf-2 -ffunction-sections |
arch/sh/config.mk
config.mk
... | ... | @@ -15,6 +15,7 @@ |
15 | 15 | PLATFORM_LDFLAGS := |
16 | 16 | LDFLAGS := |
17 | 17 | LDFLAGS_FINAL := |
18 | +LDFLAGS_STANDALONE := | |
18 | 19 | OBJCOPYFLAGS := |
19 | 20 | # clear VENDOR for tcsh |
20 | 21 | VENDOR := |
... | ... | @@ -75,5 +76,6 @@ |
75 | 76 | export PLATFORM_CPPFLAGS |
76 | 77 | export RELFLAGS |
77 | 78 | export LDFLAGS_FINAL |
79 | +export LDFLAGS_STANDALONE | |
78 | 80 | export CONFIG_STANDALONE_LOAD_ADDR |
examples/standalone/Makefile
... | ... | @@ -45,6 +45,8 @@ |
45 | 45 | # source file. |
46 | 46 | ccflags-y += $(call cc-option,-fno-toplevel-reorder) |
47 | 47 | |
48 | +LDFLAGS_STANDALONE += -Ttext $(CONFIG_STANDALONE_LOAD_ADDR) | |
49 | + | |
48 | 50 | ######################################################################### |
49 | 51 | |
50 | 52 | quiet_cmd_link_lib = LD $@ |
... | ... | @@ -54,7 +56,7 @@ |
54 | 56 | $(call if_changed,link_lib) |
55 | 57 | |
56 | 58 | quiet_cmd_link_elf = LD $@ |
57 | - cmd_link_elf = $(LD) $(LDFLAGS) -g -Ttext $(CONFIG_STANDALONE_LOAD_ADDR) \ | |
59 | + cmd_link_elf = $(LD) $(LDFLAGS) $(LDFLAGS_STANDALONE) -g \ | |
58 | 60 | -o $@ -e $(SYM_PREFIX)$(@F) $< $(LIB) $(PLATFORM_LIBGCC) |
59 | 61 | |
60 | 62 | $(ELF): $(obj)/%: $(obj)/%.o $(LIB) FORCE |