[bug #57896] Incorrect directory is printed in "Entering directory" message when -j1 disables jobserver mode for a sub make

classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|

[bug #57896] Incorrect directory is printed in "Entering directory" message when -j1 disables jobserver mode for a sub make

anonymous
URL:
  <https://savannah.gnu.org/bugs/?57896>

                 Summary: Incorrect directory is printed in "Entering
directory" message when -j1 disables jobserver mode for a sub make
                 Project: make
            Submitted by: None
            Submitted on: Tue 25 Feb 2020 05:09:22 PM UTC
                Severity: 3 - Normal
              Item Group: Bug
                  Status: None
                 Privacy: Public
             Assigned to: None
             Open/Closed: Open
         Discussion Lock: Any
       Component Version: 4.2.1
        Operating System: Any
           Fixed Release: None
           Triage Status: None

    _______________________________________________________

Details:

gmake seems to be printing what the directory was prior to the launching of a
sub make that disables jobserver mode with -j1. The submake is started in the
correct directory, but the wrong one is printed in the "Entering directory"
message.

This inconsistency in messages was not present in gmake 3.82 (Debian 7, 9,
MacOS 10.10, Windows 7). I have reproduced the behavior with gmake 4.1 (on
Debian 9) and with gmake 4.2.1 (on Debian 7, 9, 10, MacOS 10.10, Windows 7)

Simple makefiles attached to reproduce the behavior.

% gmake -v
GNU Make 4.2.1
Built for x86_64-pc-linux-gnu
Copyright (C) 1988-2016 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.


% pwd
/tmp/a

------------ All Correct ---------
% gmake -w
gmake: Entering directory '/tmp/a'
gmake -C /tmp/a/b/c
gmake[1]: Entering directory '/tmp/a/b/c'
echo /tmp/a/b/c
/tmp/a/b/c
gmake[1]: Leaving directory '/tmp/a/b/c'
gmake -C /tmp/a/b/d -j1
gmake[1]: Entering directory '/tmp/a/b/d'
echo /tmp/a/b/d
/tmp/a/b/d
gmake[1]: Leaving directory '/tmp/a/b/d'
gmake: Leaving directory '/tmp/a'

------------ Second submake incorrectly reports "Entering directory '/tmp/a'"
instead of Entering directory '/tmp/a/b/d' ---------
% gmake -w -j2
gmake: Entering directory '/tmp/a'
gmake -C /tmp/a/b/c
gmake[1]: Entering directory '/tmp/a/b/c'
echo /tmp/a/b/c
/tmp/a/b/c
gmake[1]: Leaving directory '/tmp/a/b/c'
gmake -C /tmp/a/b/d -j1
gmake[1]: Entering directory '/tmp/a'
gmake[1]: warning: -jN forced in submake: disabling jobserver mode.
echo /tmp/a/b/d
/tmp/a/b/d
gmake[1]: Leaving directory '/tmp/a/b/d'
gmake: Leaving directory '/tmp/a'






    _______________________________________________________

File Attachments:


-------------------------------------------------------
Date: Tue 25 Feb 2020 05:09:22 PM UTC  Name: gmake.print-dir.tar  Size: 10KiB
 By: None

<http://savannah.gnu.org/bugs/download.php?file_id=48498>

    _______________________________________________________

Reply to this item at:

  <https://savannah.gnu.org/bugs/?57896>

_______________________________________________
  Message sent via Savannah
  https://savannah.gnu.org/


Reply | Threaded
Open this post in threaded view
|

[bug #57896] Incorrect directory is printed in "Entering directory" message when -j1 disables jobserver mode for a sub make

anonymous
Update of bug #57896 (project make):

                  Status:                    None => Fixed                  
             Open/Closed:                    Open => Closed                
           Fixed Release:                    None => SCM                    

    _______________________________________________________

Follow-up Comment #2:

I fixed this, but it also involved fixing some incorrect behavior when
providing both -w and --no-print-directory.

    _______________________________________________________

Reply to this item at:

  <https://savannah.gnu.org/bugs/?57896>

_______________________________________________
  Message sent via Savannah
  https://savannah.gnu.org/