make-alpha
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[SCM] make branch, master, updated. 4.3-204-g07eea3aa


From: Paul D. Smith
Subject: [SCM] make branch, master, updated. 4.3-204-g07eea3aa
Date: Sat, 30 Jul 2022 18:41:55 -0400 (EDT)

This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "make".

The branch, master has been updated
       via  07eea3aa496184bb763b7306e9de6a40a94605c9 (commit)
       via  16e14b4114c0c9cc14d15e818bf22588a79e39da (commit)
       via  77881d2281035e2ace1e30800ff3528e1ef1fd98 (commit)
       via  2fe96e4a410c346483a20376e58c40e63887d652 (commit)
      from  dd24a4c1cfa7b6928ddb2bcd00a023f23aaaf440 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
commit 07eea3aa496184bb763b7306e9de6a40a94605c9
Author: Dmitry Goncharov <dgoncharov@users.sf.net>
Date:   Sun Jul 24 18:16:50 2022 -0400

    [SV 62706] Only second-expand targets that might be built
    
    Second-expand only the prerequisites of the targets being built.
    Defer second-expanding the prerequisites of targets until we need
    to decide if they should be built.
    
    * NEWS: Mention the change in behavior.
    * doc/make.texi (Secondary Expansion): Document the new behavior.
    * src/filedef.h (struct file): Add flag snapped.
    (expand_deps): Declare a function to second expand the
    prerequisites of a target.
    * src/file.c (rehash_file): Merge flag snapped.
    (expand_deps): Remove qualifier static. Check flag snapped.
    (snap_deps): Remove the loop which performed second expansion for all
    targets.
    * src/remake.c (update_file_1): Second expand the prerequisites of
    the considered target.
    * tests/scripts/features/se_explicit: Add tests.
    * tests/scripts/features/se_implicit: Ditto.
    * tests/scripts/features/se_statpat: Ditto.

commit 16e14b4114c0c9cc14d15e818bf22588a79e39da
Author: Paul Smith <psmith@gnu.org>
Date:   Sun Jul 24 14:14:32 2022 -0400

    Disable the jobserver in non-recursive children
    
    Savannah issues such as SV 57242 and SV 62397 show how passing
    references to closed file descriptors via the --jobserver-auth option
    in MAKEFLAGS can lead to problematic outcomes.
    
    When computing the child environment for a non-recursive shell, add
    an extra option to MAKEFLAGS to disable the file descriptors for the
    jobserver.
    
    Unfortunately this doesn't modify the value of the make variable
    MAKEFLAGS, it only modifies the value of the sub-shell environment
    variable MAKEFLAGS.  This can lead to confusion if the user is not
    considering the distinction.
    
    * src/makeint.h: Publish the jobserver-auth value.  Add a global
    definition of the name of the command line option.
    * src/os.h (jobserver_get_invalid_auth): New function to return a
    string invalidating the jobserver-auth option.
    * src/w32/w32os.c (jobserver_get_invaid_auth): Implement it.  On
    Windows we use a semaphore so there's no need to invalidate.
    * src/posixos.c (jobserver_parse_auth): If we parse the invalid
    auth string, don't set up the jobserver.
    (jobserver_get_invalid_auth): Return an invalid option.
    * src/variable.h (target_environment): Specify if the target
    environment is for a recursive shell or non-recursive shell.
    * src/variable.c (target_environment): Move checking for MAKELEVEL
    into the loop rather than doing it at the end.
    Along with this, check for MAKEFLAGS and MFLAGS, and update them
    based on whether we're invoking a recursive or non-recursive child,
    and also on whether it's necessary to invalidate the jobserver.
    * src/function.c (func_shell_base): Shell functions can never be
    recursive to pass 0 to target_environment().
    * src/job.c (start_job_command): Specify whether the child is
    recursive when calling target_environment().
    * src/main.c: Export jobserver_auth.  sync_mutex doesn't need to
    be exported.  Use the global definition for the option name.
    * tests/scripts/variables/MAKEFLAGS: Add tests for $MAKEFLAGS.

commit 77881d2281035e2ace1e30800ff3528e1ef1fd98
Author: Paul Smith <psmith@gnu.org>
Date:   Sat Jul 16 19:43:34 2022 -0400

    Ensure that MAKEFLAGS is set when invoking $(shell ...)
    
    * src/main.c (main): Don't reset the jobserver if the number of
    slots has not changed.
    (define_makeflags): Add all normal flags even when ALL is not set.
    * tests/scripts/functions/shell: Test invoking make in $(shell ...).
    * tests/scripts/variables/MAKEFLAGS: Test the value of MAKEFLAGS in
    $(shell ...).

commit 2fe96e4a410c346483a20376e58c40e63887d652
Author: Paul Smith <psmith@gnu.org>
Date:   Sat Jul 9 13:26:30 2022 -0400

    Take advantage of mempcpy() and stpcpy()
    
    * src/makeint.h (stpcpy): Add missing declaration.
    * src/amiga.c (MyExecute): Avoid extra strlen using stpcpy.
    * src/function.c (func_shell_base): Ditto.
    (func_error): Use memcpy() not strcpy() when we know the length.
    * src/job.c (construct_command_argv_internal): Use stpcpy().
    * src/main.c (main): Ditto.
    (define_makeflags): Ditto.
    * src/variable.c (print_target_variables): Use memcpy() when we know
    the length.
    * src/commands.c (set_file_variables): Use mempcpy().
    * src/expand.c (variable_buffer_output): Ditto.
    * src/file.c (expand_deps): Ditto.
    * src/function.c (abspath): Ditto.
    (handle_function): Ditto.
    * src/implicit.c (pattern_search): Ditto.
    * src/job.c (construct_command_argv_internal): Use mempcpy() and
    don't add multiple spaces when there are no shell flags.
    * src/main.c (decode_env_switches): Use mempcpy() to simplify.
    (define_makeflags): Ditto.
    * src/variable.c (selective_vpath_search): Ditto.

-----------------------------------------------------------------------

Summary of changes:
 NEWS                               |  12 +++
 doc/make.texi                      |  22 ++--
 src/amiga.c                        |  10 +-
 src/commands.c                     |  12 +--
 src/expand.c                       |   3 +-
 src/file.c                         |  54 +++-------
 src/filedef.h                      |   3 +
 src/function.c                     |  16 ++-
 src/implicit.c                     |  28 ++---
 src/job.c                          |  12 +--
 src/main.c                         |  73 ++++++-------
 src/makeint.h                      |   8 ++
 src/os.h                           |   9 +-
 src/posixos.c                      |  13 ++-
 src/remake.c                       |  12 +++
 src/variable.c                     | 150 ++++++++++++++++++++-------
 src/variable.h                     |   4 +-
 src/vpath.c                        |   6 +-
 src/w32/w32os.c                    |   7 ++
 tests/scripts/features/se_explicit | 203 +++++++++++++++++++++++++++++++++++++
 tests/scripts/features/se_implicit |  67 +++++++++++-
 tests/scripts/features/se_statpat  | 127 ++++++++++++++++++++++-
 tests/scripts/functions/shell      |  15 +++
 tests/scripts/variables/MAKEFLAGS  |  36 ++++++-
 24 files changed, 696 insertions(+), 206 deletions(-)


hooks/post-receive
-- 
make



reply via email to

[Prev in Thread] Current Thread [Next in Thread]