https://gcc.gnu.org/bugzilla/show_bug.cgi?id=118477

--- Comment #11 from GCC Commits <cvs-commit at gcc dot gnu.org> ---
The releases/gcc-13 branch has been updated by Jakub Jelinek
<ja...@gcc.gnu.org>:

https://gcc.gnu.org/g:9e27bc5a751dc61a1b2a2b13756ca07db8b209ee

commit r13-9585-g9e27bc5a751dc61a1b2a2b13756ca07db8b209ee
Author: Arsen ArsenoviÄ <ar...@aarsen.me>
Date:   Wed Jan 29 21:14:33 2025 +0100

    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Ä  <ar...@aarsen.me>
                Jakub Jelinek  <ja...@redhat.com>

            PR d/118477
            * Make-lang.in (DCOMPILE, DPOSTCOMPILE): Use $(basename $(@F))
            instead of $(*F).

    Co-Authored-By: Jakub Jelinek <ja...@redhat.com>
    (cherry picked from commit d9ac0ad1e9a4ceec2d354ac0368da7462bea5675)

Reply via email to