From: "Luis R. Rodriguez" <mcgrof@xxxxxxxxxx> scripts/module-common.lds is currently pretty static, in the future this may change and we will want access to kernel macros to help expands certain areas. To get access to use macros we need to generate module-common.lds from module-common.lds.S, for now though only enable the generation. We'll later expand on this as needed. Since this file is now generated add it to .gitignore. v4: add file to MAINTAINERS v3: new to this series Signed-off-by: Luis R. Rodriguez <mcgrof@xxxxxxxxxx> --- .gitignore | 2 ++ MAINTAINERS | 1 + Makefile | 6 +++++- scripts/Makefile.modpost | 2 +- scripts/{module-common.lds => module-common.lds.S} | 0 5 files changed, 9 insertions(+), 2 deletions(-) rename scripts/{module-common.lds => module-common.lds.S} (100%) diff --git a/.gitignore b/.gitignore index c2ed4ecb0acd..0f0702054fdb 100644 --- a/.gitignore +++ b/.gitignore @@ -114,3 +114,5 @@ all.config # Kdevelop4 *.kdev4 + +scripts/module-common.lds diff --git a/MAINTAINERS b/MAINTAINERS index d635ab047f3a..5aec01883020 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -7887,6 +7887,7 @@ M: Rusty Russell <rusty@xxxxxxxxxxxxxxx> S: Maintained F: include/linux/module.h F: kernel/module.c +F: scripts/module-common.lds.S MOTION EYE VAIO PICTUREBOOK CAMERA DRIVER W: http://popies.net/meye/ diff --git a/Makefile b/Makefile index 5c18baad7218..b3e5ea78d582 100644 --- a/Makefile +++ b/Makefile @@ -408,6 +408,10 @@ KBUILD_AFLAGS_MODULE := -DMODULE KBUILD_CFLAGS_MODULE := -DMODULE KBUILD_LDFLAGS_MODULE := -T $(srctree)/scripts/module-common.lds +$(srctree)/scripts/module-common.lds: $(srctree)/scripts/module-common.lds.S + $(Q)$(CC) $(CFLAGS) $(INCLUDES) $(LINUXINCLUDE) -E -P \ + -D__ASSEMBLY__ -DLINKER_SCRIPT -o $@ $< + # Read KERNELRELEASE from include/config/kernel.release (if it exists) KERNELRELEASE = $(shell cat include/config/kernel.release 2> /dev/null) KERNELVERSION = $(VERSION)$(if $(PATCHLEVEL),.$(PATCHLEVEL)$(if $(SUBLEVEL),.$(SUBLEVEL)))$(EXTRAVERSION) @@ -1174,7 +1178,7 @@ all: modules # using awk while concatenating to the final file. PHONY += modules -modules: $(vmlinux-dirs) $(if $(KBUILD_BUILTIN),vmlinux) modules.builtin +modules: $(srctree)/scripts/module-common.lds $(vmlinux-dirs) $(if $(KBUILD_BUILTIN),vmlinux) modules.builtin $(Q)$(AWK) '!x[$$0]++' $(vmlinux-dirs:%=$(objtree)/%/modules.order) > $(objtree)/modules.order @$(kecho) ' Building modules, stage 2.'; $(Q)$(MAKE) -f $(srctree)/scripts/Makefile.modpost diff --git a/scripts/Makefile.modpost b/scripts/Makefile.modpost index 1366a94b6c39..2d8aff7735d6 100644 --- a/scripts/Makefile.modpost +++ b/scripts/Makefile.modpost @@ -121,7 +121,7 @@ quiet_cmd_ld_ko_o = LD [M] $@ $(KBUILD_LDFLAGS_MODULE) $(LDFLAGS_MODULE) \ -o $@ $(filter-out FORCE,$^) -$(modules): %.ko :%.o %.mod.o FORCE +$(modules): %.ko : $(srctree)/scripts/module-common.lds %.o %.mod.o FORCE $(call if_changed,ld_ko_o) targets += $(modules) diff --git a/scripts/module-common.lds b/scripts/module-common.lds.S similarity index 100% rename from scripts/module-common.lds rename to scripts/module-common.lds.S -- 2.9.2 -- 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