[bug #63287] Only use open with O_TMPFILE when supported.

2022-10-30 Thread Paul D. Smith
Update of bug #63287 (project make):

  Status:None => Fixed  
 Assigned to:None => psmith 
 Open/Closed:Open => Closed 
   Component Version:None => SCM
   Fixed Release:None => SCM
   Triage Status:None => Small Effort   


___

Reply to this item at:

  

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




[bug #63287] Only use open with O_TMPFILE when supported.

2022-10-29 Thread Paul D. Smith
Follow-up Comment #3, bug #63287 (project make):

An autoconf macro isn't going to work for this.  Autoconf macros can only be
used for tests that are definitive at build time, and this detection is based
on which filesystem you happen to be using and that is very much a RUNTIME
decision; someone could be building GNU make to install into their GNU/Linux
distribution and on the build system TMPDIR has O_TMPFILE working fine for
TMPDIR but that doesn't mean anything for the filesystems that the various
users will be using with TMPDIR at runtime.

I have installed a change where after O_TMPFILE fails once, we don't retry it
again for that instance of make.  So we should see this debug message only
once per instance of make.

Thanks for noticing this!


___

Reply to this item at:

  

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




[bug #63287] Only use open with O_TMPFILE when supported.

2022-10-28 Thread Dmitry Goncharov
Follow-up Comment #2, bug #63287 (project make):

This failure gets especially annoying when make is building multiple targets,
because make keeps bumping into it.


$ cat makefile
all: 1.x 2.x 3.x 4.x 5.x; $(info $@)
%.x:; $(info $@)
$ 
$ 
$ ~/src/gmake/make/m64/make -Orecurse --debug=b
GNU Make 4.3.92
Built for x86_64-pc-linux-gnu
Copyright (C) 1988-2022 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later

This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
Reading makefiles...
Updating makefiles
Updating goal targets
 File 'all' does not exist.
   File '1.x' does not exist.
  Must remake target '1.x'.
Cannot open '/tmp' with O_TMPFILE: Operation not supported.
1.x
  Successfully remade target file '1.x'.
   File '2.x' does not exist.
  Must remake target '2.x'.
Cannot open '/tmp' with O_TMPFILE: Operation not supported.
2.x
  Successfully remade target file '2.x'.
   File '3.x' does not exist.
  Must remake target '3.x'.
Cannot open '/tmp' with O_TMPFILE: Operation not supported.
3.x
  Successfully remade target file '3.x'.
   File '4.x' does not exist.
  Must remake target '4.x'.
Cannot open '/tmp' with O_TMPFILE: Operation not supported.
4.x
  Successfully remade target file '4.x'.
   File '5.x' does not exist.
  Must remake target '5.x'.
Cannot open '/tmp' with O_TMPFILE: Operation not supported.
5.x
  Successfully remade target file '5.x'.
Must remake target 'all'.
Cannot open '/tmp' with O_TMPFILE: Operation not supported.
all
Successfully remade target file 'all'.
make: 'all' is up to date.



___

Reply to this item at:

  

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




[bug #63287] Only use open with O_TMPFILE when supported.

2022-10-28 Thread Dmitry Goncharov
Additional Item Attachment, bug #63287 (project make):

File name: sv63287.diff   Size:1 KB




___

Reply to this item at:

  

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




[bug #63287] Only use open with O_TMPFILE when supported.

2022-10-28 Thread Dmitry Goncharov
Follow-up Comment #1, bug #63287 (project make):

This patch adds a configure check to detect whether O_TMPFILE is supported by
the filesystem/kernel.
The goal is to avoid doomed syscalls and related failure logging. Users tend
to freak out on failure logging.


___

Reply to this item at:

  

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




[bug #63287] Only use open with O_TMPFILE when supported.

2022-10-28 Thread Dmitry Goncharov
URL:
  

 Summary: Only use open with O_TMPFILE when supported.
 Project: make
   Submitter: dgoncharov
   Submitted: Sat 29 Oct 2022 12:40:40 AM UTC
Severity: 3 - Normal
  Item Group: Bug
  Status: None
 Privacy: Public
 Assigned to: None
 Open/Closed: Open
 Discussion Lock: Any
   Component Version: None
Operating System: POSIX-Based
   Fixed Release: None
   Triage Status: None


___

Follow-up Comments:


---
Date: Sat 29 Oct 2022 12:40:40 AM UTC By: Dmitry Goncharov 
.







___

Reply to this item at:

  

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