aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorArsen Arsenović <arsen@aarsen.me>2025-01-29 21:14:33 +0100
committerJakub Jelinek <jakub@gcc.gnu.org>2025-01-29 21:14:33 +0100
commitd9ac0ad1e9a4ceec2d354ac0368da7462bea5675 (patch)
tree9ff5299e34e1aecbbac546b14f76a798941c5909 /gcc
parenta0a202d07339ff55793029b5bde152c38b90aaf5 (diff)
downloadgcc-d9ac0ad1e9a4ceec2d354ac0368da7462bea5675.zip
gcc-d9ac0ad1e9a4ceec2d354ac0368da7462bea5675.tar.gz
gcc-d9ac0ad1e9a4ceec2d354ac0368da7462bea5675.tar.bz2
d: give dependency files better filenames [PR118477]
Currently, the dependency files for root-file.o and common-file.o were both d/.deps/file.Po, which would cause parallel builds to fail sometimes with: make[3]: Leaving directory '/var/tmp/portage/sys-devel/gcc-14.1.1_p20240511/work/build/gcc' make[3]: Entering directory '/var/tmp/portage/sys-devel/gcc-14.1.1_p20240511/work/build/gcc' mv: cannot stat 'd/.deps/file.TPo': No such file or directory make[3]: *** [/var/tmp/portage/sys-devel/gcc-14.1.1_p20240511/work/gcc-14-20240511/gcc/d/Make-lang.in:421: d/root-file.o] Error 1 shuffle=131581365 Also, this means that dependencies of one of root-file or common-file are missing when developing. After this patch, those two files get assigned dependency files d/.deps/root-file.Po and d/.deps/common-file.Po respectively, so match the actual object files in the d/ subdirectory. There are other files with similar conflicts (mangle-package.o, visitor-package.o for instance). 2025-01-29 Arsen Arsenović <arsen@aarsen.me> Jakub Jelinek <jakub@redhat.com> PR d/118477 * Make-lang.in (DCOMPILE, DPOSTCOMPILE): Use $(basename $(@F)) instead of $(*F). Co-Authored-By: Jakub Jelinek <jakub@redhat.com>
Diffstat (limited to 'gcc')
-rw-r--r--gcc/d/Make-lang.in4
1 files changed, 2 insertions, 2 deletions
diff --git a/gcc/d/Make-lang.in b/gcc/d/Make-lang.in
index f28761e..a29531c 100644
--- a/gcc/d/Make-lang.in
+++ b/gcc/d/Make-lang.in
@@ -65,8 +65,8 @@ ALL_DFLAGS = $(DFLAGS-$@) $(GDCFLAGS) -fversion=IN_GCC $(CHECKING_DFLAGS) \
$(WARN_DFLAGS)
DCOMPILE.base = $(GDC) -c $(ALL_DFLAGS) -o $@
-DCOMPILE = $(DCOMPILE.base) -MT $@ -MMD -MP -MF $(@D)/$(DEPDIR)/$(*F).TPo
-DPOSTCOMPILE = @mv $(@D)/$(DEPDIR)/$(*F).TPo $(@D)/$(DEPDIR)/$(*F).Po
+DCOMPILE = $(DCOMPILE.base) -MT $@ -MMD -MP -MF $(@D)/$(DEPDIR)/$(basename $(@F)).TPo
+DPOSTCOMPILE = @mv $(@D)/$(DEPDIR)/$(basename $(@F)).TPo $(@D)/$(DEPDIR)/$(basename $(@F)).Po
DLINKER = $(GDC) $(NO_PIE_FLAG) -lstdc++
# Like LINKER, but use a mutex for serializing front end links.