I've reduced the procps failure to the following test case:

$ cat mmap_test.c
#include <unistd.h>
#include <stdio.h>
#include <sys/mman.h>

int
main ()
{
  void *addr;
  int page_size = getpagesize ();

  addr = mmap (0, page_size, PROT_READ | PROT_WRITE,
               MAP_PRIVATE | MAP_ANONYMOUS, -1, 0);
  if (addr == MAP_FAILED)
    perror ("mmap");
}

$ gcc mmap_test.c

$ ./a
mmap: Invalid argument

This happens if I use cygwin1.dll built from the current git master. But it also happens if I build from cygwin-3_2_0-release with the recent patches applied that make Cygwin build without error:

0e12b4939 Cygwin: C++17: register keyword is deprecated
a7340e0c0 Cygwin: dumper: fix up GCC pragma for g++ 11.2
2a212c086 Cygwin: workaround a g++ 11.2 initialization bug
9e3f1737e Cygwin: loader script: add DWARF 5 sections
bdfd2b004 Cygwin: testsuite: avoid "conflicting types" gcc warning
6fc498e2e strstr: avoid warnings
26da270b2 ldexp/ldexpf: avoid assembler warning
edce2a557 Cygwin: fix declaration of RtlInitEmptyUnicodeString

So there appears to be something wrong with cygwin1.dll built with the current build tools (gcc 11.2.0, binutils 2.37, not sure what else is relevant).

Ken

--
Problem reports:      https://cygwin.com/problems.html
FAQ:                  https://cygwin.com/faq/
Documentation:        https://cygwin.com/docs.html
Unsubscribe info:     https://cygwin.com/ml/#unsubscribe-simple

Reply via email to