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