Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit e26d6b83 authored by Don Zickus's avatar Don Zickus Committed by Michal Marek
Browse files

Makefile.build: make KBUILD_SYMTYPES work again



commit 37a8d9f6 tried to combine some
duplicate code and accidentally broke how KBUILD_SYMTYPES worked

This fixes the code to match the original intention by the author who
originally added the code I believe.

The fixes include:
- removing extra whitespaces in the if-statements
- moving the if-statement from around the -r to the -T
- adding a second arg to cmd_gensymtypes to simplify the options passed
  to genksyms.

Tested by instrumenting genksyms and seeing what options were passed in
during a make, KBUILD_SYMTYPES make, and when a foo.symref was created.

Everything compiled and looked ok.

Signed-off-by: default avatarDon Zickus <dzickus@redhat.com>
Signed-off-by: default avatarMichal Marek <mmarek@suse.cz>
parent 64ffc9ff
Loading
Loading
Loading
Loading
+13 −13
Original line number Original line Diff line number Diff line
@@ -156,14 +156,14 @@ $(obj)/%.i: $(src)/%.c FORCE


cmd_gensymtypes =                                                           \
cmd_gensymtypes =                                                           \
    $(CPP) -D__GENKSYMS__ $(c_flags) $< |                                   \
    $(CPP) -D__GENKSYMS__ $(c_flags) $< |                                   \
    $(GENKSYMS) -T $@ -a $(ARCH)                                            \
    $(GENKSYMS) $(if $(1), -T $(2)) -a $(ARCH)                              \
     $(if $(KBUILD_PRESERVE),-p)                                            \
     $(if $(KBUILD_PRESERVE),-p)                                            \
     $(if $(1),-r $(firstword $(wildcard $(@:.symtypes=.symref) /dev/null)))
     -r $(firstword $(wildcard $(2:.symtypes=.symref) /dev/null))


quiet_cmd_cc_symtypes_c = SYM $(quiet_modtag) $@
quiet_cmd_cc_symtypes_c = SYM $(quiet_modtag) $@
cmd_cc_symtypes_c =                                                         \
cmd_cc_symtypes_c =                                                         \
    set -e;                                                                 \
    set -e;                                                                 \
    $(call cmd_gensymtypes, true) >/dev/null;                               \
    $(call cmd_gensymtypes,true,$@) >/dev/null;                             \
    test -s $@ || rm -f $@
    test -s $@ || rm -f $@


$(obj)/%.symtypes : $(src)/%.c FORCE
$(obj)/%.symtypes : $(src)/%.c FORCE
@@ -194,7 +194,7 @@ else
cmd_cc_o_c = $(CC) $(c_flags) -c -o $(@D)/.tmp_$(@F) $<
cmd_cc_o_c = $(CC) $(c_flags) -c -o $(@D)/.tmp_$(@F) $<
cmd_modversions =								\
cmd_modversions =								\
	if $(OBJDUMP) -h $(@D)/.tmp_$(@F) | grep -q __ksymtab; then		\
	if $(OBJDUMP) -h $(@D)/.tmp_$(@F) | grep -q __ksymtab; then		\
		$(call cmd_gensymtypes, $(KBUILD_SYMTYPES))		\
		$(call cmd_gensymtypes,$(KBUILD_SYMTYPES),$(@:.o=.symtypes))	\
		    > $(@D)/.tmp_$(@F:.o=.ver);					\
		    > $(@D)/.tmp_$(@F:.o=.ver);					\
										\
										\
		$(LD) $(LDFLAGS) -r -o $@ $(@D)/.tmp_$(@F) 			\
		$(LD) $(LDFLAGS) -r -o $@ $(@D)/.tmp_$(@F) 			\