https://gcc.gnu.org/g:8e8546d1260fca932b0bfaaa7e200ecaeae46c48

commit r15-7950-g8e8546d1260fca932b0bfaaa7e200ecaeae46c48
Author: Jakub Jelinek <ja...@redhat.com>
Date:   Tue Mar 11 11:08:27 2025 +0100

    cobol: Fix --enable-link-serialization build
    
    --enable-link-serialization relies on each FE participating properly,
    setting <lang>.serial, depending on $(<lang>.prev) and printing progress.
    The configure option is mainly for LTO bootstraps when we don't want to link
    all the FEs at once because that can consume too much memory.
    
    The comment changes are unrelated, just something I've spotted while
    working on this.  .exe is a Windows suffix, so either we shouldn't
    talk about suffixes in the comments or use there $(exeext) as well
    to make it clear that it is dependent on the host/build.
    
    2025-03-11  Jakub Jelinek  <ja...@redhat.com>
    
            * Make-lang.in: Remove .exe extension from comments.
            (cobol.serial): Set to cobol1$(exeext).
            (cobol1$(exeext)): Depend on $(cobol.prev).  Add
            LINK_PROGRESS calls before/after the link command.

Diff:
---
 gcc/cobol/Make-lang.in | 15 +++++++++------
 1 file changed, 9 insertions(+), 6 deletions(-)

diff --git a/gcc/cobol/Make-lang.in b/gcc/cobol/Make-lang.in
index 1d98c25342a9..a4e005ac2bd2 100644
--- a/gcc/cobol/Make-lang.in
+++ b/gcc/cobol/Make-lang.in
@@ -38,6 +38,7 @@ gcobol_INSTALL_NAME := $(shell echo gcobol|sed 
'$(program_transform_name)')
 gcobol_TARGET_INSTALL_NAME := $(target_noncanonical)-$(shell echo gcobol|sed 
'$(program_transform_name)')
 
 cobol: cobol1$(exeext)
+cobol.serial = cobol1$(exeext)
 .PHONY: cobol
 
 BINCLUDE ?= ./gcc
@@ -67,7 +68,7 @@ YFLAGS = -Werror -Wmidrule-values -Wno-yacc \
 LFLAGS = -d -Ca
 
 #
-# These are the object files for creating the cobol1.exe compiler:
+# These are the object files for creating the cobol1 compiler:
 #
 cobol1_OBJS =    \
  cobol/cdf.o        \
@@ -112,7 +113,7 @@ cobol/charmaps.o: cobol/charmaps.cc $(LIB_SOURCE_H)
 cobol/valconv.o: cobol/valconv.cc $(LIB_SOURCE_H)
 
 #
-# These are the object files for creating the gcobol.exe "driver"
+# These are the object files for creating the gcobol "driver"
 #
 GCOBOL_D_OBJS = $(GCC_OBJS) cobol/gcobolspec.o
 
@@ -133,7 +134,7 @@ cobol_OBJS = \
 CFLAGS-cobol/gcobolspec.o += $(DRIVER_DEFINES)
 
 #
-# This controls the build of the gcobol.exe "driver"
+# This controls the build of the gcobol "driver"
 #
 gcobol$(exeext): \
         $(GCOBOL_D_OBJS) \
@@ -145,7 +146,7 @@ gcobol$(exeext): \
         $(EXTRA_GCC_LIBS) $(LIBS)
 
 #
-# These control the build of the cobol1.exe source-to-GENERIC converter
+# These control the build of the cobol1 source-to-GENERIC converter
 #
 
 # First, files needed for parsing:
@@ -264,11 +265,13 @@ cobol.srcextra: cobol/parse.cc cobol/cdf.cc cobol/scan.cc
        ln -f $^ cobol/parse.h cobol/cdf.h $(srcdir)/cobol/
 
 
-# And the cobol1.exe front end
+# And the cobol1 front end
 
-cobol1$(exeext): $(cobol1_OBJS)        $(BACKEND) $(LIBDEPS) attribs.o
+cobol1$(exeext): $(cobol1_OBJS) $(BACKEND) $(LIBDEPS) attribs.o $(cobol.prev)
+       @$(call LINK_PROGRESS,$(INDEX.cobol),start)
        +$(LLINKER) $(ALL_LINKERFLAGS) $(LDFLAGS) attribs.o -o $@       \
              $(cobol1_OBJS) $(BACKEND) $(LIBS) $(BACKENDLIBS)
+       @$(call LINK_PROGRESS,$(INDEX.cobol),end)
 
 # FIXME
 cobol.all.cross:

Reply via email to