Nina Schoetterl-Glausch <nsg@xxxxxxxxxxxxx> writes: > On Thu, 2023-01-19 at 12:40 +0100, Marc Hartmayer wrote: >> Use the C pre-processor for the linker script generation. For example, >> this enables us the use of constants in the "linker scripts" `*.lds.S`. >> >> Signed-off-by: Marc Hartmayer <mhartmay@xxxxxxxxxxxxx> >> --- >> .gitignore | 1 + >> s390x/Makefile | 6 ++++-- >> s390x/{flat.lds => flat.lds.S} | 0 >> s390x/snippets/asm/{flat.lds => flat.lds.S} | 0 >> s390x/snippets/c/{flat.lds => flat.lds.S} | 0 >> 5 files changed, 5 insertions(+), 2 deletions(-) >> rename s390x/{flat.lds => flat.lds.S} (100%) >> rename s390x/snippets/asm/{flat.lds => flat.lds.S} (100%) >> rename s390x/snippets/c/{flat.lds => flat.lds.S} (100%) >> >> diff --git a/.gitignore b/.gitignore >> index 601822d67325..29f352c5ceb6 100644 >> --- a/.gitignore >> +++ b/.gitignore >> @@ -31,3 +31,4 @@ cscope.* >> /s390x/comm.key >> /s390x/snippets/*/*.hdr >> /s390x/snippets/*/*.*obj >> +/s390x/**/*.lds >> diff --git a/s390x/Makefile b/s390x/Makefile >> index 8719f0c837cf..44ccca8102d6 100644 >> --- a/s390x/Makefile >> +++ b/s390x/Makefile >> @@ -76,7 +76,7 @@ CFLAGS += -fno-delete-null-pointer-checks >> LDFLAGS += -nostdlib -Wl,--build-id=none >> >> # We want to keep intermediate files >> -.PRECIOUS: %.o >> +.PRECIOUS: %.o %.lds >> >> asm-offsets = lib/$(ARCH)/asm-offsets.h >> include $(SRCDIR)/scripts/asm-offsets.mak >> @@ -159,6 +159,8 @@ $(SNIPPET_DIR)/c/%.gbin: $(SNIPPET_DIR)/c/%.o $(snippet_lib) $(FLATLIBS) $(SNIPP >> %.hdr.obj: %.hdr >> $(OBJCOPY) -I binary -O elf64-s390 -B "s390:64-bit" $< $@ >> >> +%.lds: %.lds.S >> + $(CPP) $(autodepend-flags) $(CPPFLAGS) -P -C -o $@ $< > > Where is CPP defined? > Do you need the $(autodepend-flags)? It generates a rule with target flat.lds.o. ^^^^^^^^^^ Where does it generate a new Makefile rule? It generates the dependency file used for the dependency tracking with the name: .flat.lds.S.d (or similar) > I don't think that would be used anywhere. It’s used for the dependency tracking. See line $KUT/Makefile:122 -include */.*.d */*/.*.d > In the next patch you add $(asm-offsets) as a prerequisite, if the generated rule would > be effective, you wouldn't need that, would you? I thought, $(asm-offsets) is used to make sure that the file <asm/asm-offsets.h> is generated. […snip] -- Kind regards / Beste Grüße Marc Hartmayer IBM Deutschland Research & Development GmbH Vorsitzender des Aufsichtsrats: Gregor Pillen Geschäftsführung: David Faller Sitz der Gesellschaft: Böblingen Registergericht: Amtsgericht Stuttgart, HRB 243294