Let me show the simplified piece. obj-m += test.o KBUILD_CFLAGS := $(subst -pg,,$(KBUILD_CFLAGS)) all: @echo $(KBUILD_CFLAGS) $(MAKE) -C /lib/modules/`uname`/build M=$(PWD) modules So if it's not a kbuild makefile, why the -pg flag can be successful removed through KBUILD_CFLAGS. I objdump my test.o, there is not mcount inside. Opposite, with -pg every function inside test.o will be insert a ftrace point. Best regards, Raphael > On 2015-08-20 12:45, RaphaelWu@xxxxxxxxxxxxxx wrote: > > Hi, > > > > I have seen this VAR used in some kernel module which also forbid ftrace. > > but I was curious about whenever I echo $(KBUILD_CFLAGS), it's always > empty. > > > > all: > > @echo $(KBUILD_CFLAGS) > > $(MAKE) -C /path-of-kernel/ M=$(PWD) modules > > This does not look like a kbuild makefile, so it does not see any > KBUILD_* variables. > > Michal > -- > To unsubscribe from this list: send the line "unsubscribe linux-kbuild" in the > body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at > http://vger.kernel.org/majordomo-info.html The information transmitted in this e-mail is intended only for the addressee and may contain confidential and/or privileged material. Any review, retransmission, dissemination or other use of this information by persons or entities other than the intended recipient is prohibited. If you received this e-mail in error, please notify the sender immediately, and delete this e-mail and any attachments. Thank you. -- To unsubscribe from this list: send the line "unsubscribe linux-kbuild" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html