Lines Matching refs:link
1 link-script$(sm) = $(ta-dev-kit-dir$(sm))/src/ta.ld.S
2 link-script-pp$(sm) = $(link-out-dir$(sm))/ta.lds
3 link-script-dep$(sm) = $(link-out-dir$(sm))/.ta.ld.d
20 all: $(link-out-dir$(sm))/$(user-ta-uuid).dmp \
21 $(link-out-dir$(sm))/$(user-ta-uuid).stripped.elf \
22 $(link-out-dir$(sm))/$(user-ta-uuid).ta
23 cleanfiles += $(link-out-dir$(sm))/$(user-ta-uuid).elf
24 cleanfiles += $(link-out-dir$(sm))/$(user-ta-uuid).dmp
25 cleanfiles += $(link-out-dir$(sm))/$(user-ta-uuid).map
26 cleanfiles += $(link-out-dir$(sm))/$(user-ta-uuid).stripped.elf
27 cleanfiles += $(link-out-dir$(sm))/$(user-ta-uuid).ta
28 cleanfiles += $(link-script-pp$(sm)) $(link-script-dep$(sm))
30 link-ldflags = -e__ta_entry -pie
31 link-ldflags += -T $(link-script-pp$(sm))
32 link-ldflags += -Map=$(link-out-dir$(sm))/$(user-ta-uuid).map
33 link-ldflags += --sort-section=alignment
34 link-ldflags += -z max-page-size=4096 # OP-TEE always uses 4K alignment
36 link-ldflags += $(call ld-option,-z force-bti) --fatal-warnings
38 link-ldflags += --as-needed # Do not add dependency on unused shlib
39 link-ldflags += $(link-ldflags$(sm))
41 $(link-out-dir$(sm))/dyn_list: FORCE
54 link-ldflags += --dynamic-list $(link-out-dir$(sm))/dyn_list
55 dynlistdep = $(link-out-dir$(sm))/dyn_list
56 cleanfiles += $(link-out-dir$(sm))/dyn_list
58 link-ldadd = $(user-ta-ldadd) $(addprefix -L,$(libdirs))
59 link-ldadd += --start-group
60 link-ldadd += $(addprefix -l,$(libnames))
65 link-ldflags += --eh-frame-hdr
66 link-ldadd += $(libstdc++$(sm)) $(libgcc_eh$(sm))
68 link-ldadd += --end-group
70 link-ldadd += $(libgcc$(sm))
73 link-ldadd-after-libgcc += $(addprefix -l,$(libnames-after-libgcc))
75 ldargs-$(user-ta-uuid).elf := $(link-ldflags) $(objs) $(link-ldadd) \
76 $(link-ldadd-after-libgcc)
78 link-script-cppflags-$(sm) := \
81 $(addprefix -I,$(incdirs$(sm)) $(link-out-dir$(sm))) \
84 -include $(link-script-dep$(sm))
86 link-script-pp-makefiles$(sm) = $(filter-out %.d %.cmd,$(MAKEFILE_LIST))
88 define gen-link-t
89 $(link-script-pp$(sm)): $(link-script$(sm)) $(conf-file) $(link-script-pp-makefiles$(sm))
92 $(q)$(CPP$(sm)) -P -MT $$@ -MD -MP -MF $(link-script-dep$(sm)) \
93 $(link-script-cppflags-$(sm)) $$< -o $$@
95 $(link-out-dir$(sm))/$(user-ta-uuid).elf: $(objs) $(libdeps) \
97 $(link-script-pp$(sm)) \
99 $(additional-link-deps)
103 $(link-out-dir$(sm))/$(user-ta-uuid).dmp: \
104 $(link-out-dir$(sm))/$(user-ta-uuid).elf
108 $(link-out-dir$(sm))/$(user-ta-uuid).stripped.elf: \
109 $(link-out-dir$(sm))/$(user-ta-uuid).elf
118 $(link-out-dir$(sm))/$(user-ta-uuid).ta: \
119 $(link-out-dir$(sm))/$(user-ta-uuid).stripped.elf \
129 $(eval $(call gen-link-t))
131 additional-link-deps :=