Follow-up Comment #1, bug #60444 (project make):

I noticed that if I build make using `build_w32.bat gcc` instead, only a
single C file from gnulib is compiled (lib/getloadavg.c). There are two other
files from lib that aren't from gnulib (lib/fnmatch.c and lib/glob.c).
make.exe then uses its own fcntl from posixfcn.c, which avoids this issue.

I see this same bug if I build using a "MSYS2 MinGW 64-bit" environment.

I'm working on a patch that moves the F_SETLKW handling from posixfcn.c into
output.c. Maybe that's a fix.

To reproduce the bug (on Linux, using a cross-compiled make.exe):

$ cat Makefile
$(info HELLO)
all:
        echo ALL

$ wine /x/make/make.exe -O
wine: Read access denied for device L"\\??\\Z:\\", FS volume label and serial
are not available.
fcntl(): Bad file descriptor
HELLO
echo ALL
ALL


(file #51310)
    _______________________________________________________

Additional Item Attachment:

File name: inline-Windows-fcntl-locking.patch Size:6 KB
   
<https://file.savannah.gnu.org/file/inline-Windows-fcntl-locking.patch?file_id=51310>



    _______________________________________________________

Reply to this item at:

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

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


Reply via email to