Makefile.build (867ac9d737094e46a6c33213f16dd1ec9e8bd5d5) Makefile.build (ee9f8fce99640811b2b8e79d0d1dbe8bab69ba67)
1# ==========================================================================
2# Building
3# ==========================================================================
4
5src := $(obj)
6
7PHONY := __build
8__build:

--- 244 unchanged lines hidden (view full) ---

253 fi;
254endif
255
256ifdef CONFIG_STACK_VALIDATION
257ifneq ($(SKIP_STACK_VALIDATION),1)
258
259__objtool_obj := $(objtree)/tools/objtool/objtool
260
1# ==========================================================================
2# Building
3# ==========================================================================
4
5src := $(obj)
6
7PHONY := __build
8__build:

--- 244 unchanged lines hidden (view full) ---

253 fi;
254endif
255
256ifdef CONFIG_STACK_VALIDATION
257ifneq ($(SKIP_STACK_VALIDATION),1)
258
259__objtool_obj := $(objtree)/tools/objtool/objtool
260
261objtool_args = check
261objtool_args = $(if $(CONFIG_ORC_UNWINDER),orc generate,check)
262
262ifndef CONFIG_FRAME_POINTER
263objtool_args += --no-fp
264endif
265ifdef CONFIG_GCOV_KERNEL
266objtool_args += --no-unreachable
267endif
268
269# 'OBJECT_FILES_NON_STANDARD := y': skip objtool checking for a directory

--- 4 unchanged lines hidden (view full) ---

274 $(__objtool_obj) $(objtool_args) "$(@)";)
275objtool_obj = $(if $(patsubst y%,, \
276 $(OBJECT_FILES_NON_STANDARD_$(basetarget).o)$(OBJECT_FILES_NON_STANDARD)n), \
277 $(__objtool_obj))
278
279endif # SKIP_STACK_VALIDATION
280endif # CONFIG_STACK_VALIDATION
281
263ifndef CONFIG_FRAME_POINTER
264objtool_args += --no-fp
265endif
266ifdef CONFIG_GCOV_KERNEL
267objtool_args += --no-unreachable
268endif
269
270# 'OBJECT_FILES_NON_STANDARD := y': skip objtool checking for a directory

--- 4 unchanged lines hidden (view full) ---

275 $(__objtool_obj) $(objtool_args) "$(@)";)
276objtool_obj = $(if $(patsubst y%,, \
277 $(OBJECT_FILES_NON_STANDARD_$(basetarget).o)$(OBJECT_FILES_NON_STANDARD)n), \
278 $(__objtool_obj))
279
280endif # SKIP_STACK_VALIDATION
281endif # CONFIG_STACK_VALIDATION
282
283# Rebuild all objects when objtool changes, or is enabled/disabled.
284objtool_dep = $(objtool_obj) \
285 $(wildcard include/config/orc/unwinder.h \
286 include/config/stack/validation.h)
287
282define rule_cc_o_c
283 $(call echo-cmd,checksrc) $(cmd_checksrc) \
284 $(call cmd_and_fixdep,cc_o_c) \
285 $(cmd_modversions_c) \
286 $(call echo-cmd,objtool) $(cmd_objtool) \
287 $(call echo-cmd,record_mcount) $(cmd_record_mcount)
288endef
289

--- 6 unchanged lines hidden (view full) ---

296# List module undefined symbols (or empty line if not enabled)
297ifdef CONFIG_TRIM_UNUSED_KSYMS
298cmd_undef_syms = $(NM) $@ | sed -n 's/^ \+U //p' | xargs echo
299else
300cmd_undef_syms = echo
301endif
302
303# Built-in and composite module parts
288define rule_cc_o_c
289 $(call echo-cmd,checksrc) $(cmd_checksrc) \
290 $(call cmd_and_fixdep,cc_o_c) \
291 $(cmd_modversions_c) \
292 $(call echo-cmd,objtool) $(cmd_objtool) \
293 $(call echo-cmd,record_mcount) $(cmd_record_mcount)
294endef
295

--- 6 unchanged lines hidden (view full) ---

302# List module undefined symbols (or empty line if not enabled)
303ifdef CONFIG_TRIM_UNUSED_KSYMS
304cmd_undef_syms = $(NM) $@ | sed -n 's/^ \+U //p' | xargs echo
305else
306cmd_undef_syms = echo
307endif
308
309# Built-in and composite module parts
304$(obj)/%.o: $(src)/%.c $(recordmcount_source) $(objtool_obj) FORCE
310$(obj)/%.o: $(src)/%.c $(recordmcount_source) $(objtool_dep) FORCE
305 $(call cmd,force_checksrc)
306 $(call if_changed_rule,cc_o_c)
307
308# Single-part modules are special since we need to mark them in $(MODVERDIR)
309
311 $(call cmd,force_checksrc)
312 $(call if_changed_rule,cc_o_c)
313
314# Single-part modules are special since we need to mark them in $(MODVERDIR)
315
310$(single-used-m): $(obj)/%.o: $(src)/%.c $(recordmcount_source) $(objtool_obj) FORCE
316$(single-used-m): $(obj)/%.o: $(src)/%.c $(recordmcount_source) $(objtool_dep) FORCE
311 $(call cmd,force_checksrc)
312 $(call if_changed_rule,cc_o_c)
313 @{ echo $(@:.o=.ko); echo $@; \
314 $(cmd_undef_syms); } > $(MODVERDIR)/$(@F:.o=.mod)
315
316quiet_cmd_cc_lst_c = MKLST $@
317 cmd_cc_lst_c = $(CC) $(c_flags) -g -c -o $*.o $< && \
318 $(CONFIG_SHELL) $(srctree)/scripts/makelst $*.o \

--- 78 unchanged lines hidden (view full) ---

397 -T $(@D)/.tmp_$(@F:.o=.ver); \
398 rm -f $(@D)/.tmp_$(@F) $(@D)/.tmp_$(@F:.o=.ver); \
399 else \
400 mv -f $(@D)/.tmp_$(@F) $@; \
401 fi;
402endif
403endif
404
317 $(call cmd,force_checksrc)
318 $(call if_changed_rule,cc_o_c)
319 @{ echo $(@:.o=.ko); echo $@; \
320 $(cmd_undef_syms); } > $(MODVERDIR)/$(@F:.o=.mod)
321
322quiet_cmd_cc_lst_c = MKLST $@
323 cmd_cc_lst_c = $(CC) $(c_flags) -g -c -o $*.o $< && \
324 $(CONFIG_SHELL) $(srctree)/scripts/makelst $*.o \

--- 78 unchanged lines hidden (view full) ---

403 -T $(@D)/.tmp_$(@F:.o=.ver); \
404 rm -f $(@D)/.tmp_$(@F) $(@D)/.tmp_$(@F:.o=.ver); \
405 else \
406 mv -f $(@D)/.tmp_$(@F) $@; \
407 fi;
408endif
409endif
410
405$(obj)/%.o: $(src)/%.S $(objtool_obj) FORCE
411$(obj)/%.o: $(src)/%.S $(objtool_dep) FORCE
406 $(call if_changed_rule,as_o_S)
407
408targets += $(real-objs-y) $(real-objs-m) $(lib-y)
409targets += $(extra-y) $(MAKECMDGOALS) $(always)
410
411# Linker scripts preprocessor (.lds.S -> .lds)
412# ---------------------------------------------------------------------------
413quiet_cmd_cpp_lds_S = LDS $@

--- 175 unchanged lines hidden ---
412 $(call if_changed_rule,as_o_S)
413
414targets += $(real-objs-y) $(real-objs-m) $(lib-y)
415targets += $(extra-y) $(MAKECMDGOALS) $(always)
416
417# Linker scripts preprocessor (.lds.S -> .lds)
418# ---------------------------------------------------------------------------
419quiet_cmd_cpp_lds_S = LDS $@

--- 175 unchanged lines hidden ---