Bug#901699: libc6-dev: #include <sys/mman.h> doesn't import MAP_ANONYMOUS but man 2 mmap says it does, causing builds to break
Package: libc6-dev
Version: 2.24-11+deb9u1
Severity: normal
Dear Maintainer,
#include <sys/mman.h>
#include "myplatform.h"
void *slaballoc()
{
void *slab = mmap(... MAP_ANONYMOUS ...);
}
does not build due to MAP_ANONYMOUS not being defined. man 2 mmap says this should work.
#include <asm/mman.h>
fixes the problem but is oddly Linux specific. Use of mmap to allocate large slabs w/o using heap is reasonable on any architecture.
-- System Information:
Debian Release: 9.3
APT prefers stable-updates
APT policy: (500, 'stable-updates'), (500, 'stable')
Architecture: amd64 (x86_64)
Foreign Architectures: i386
Kernel: Linux 4.9.0-6-amd64 (SMP w/4 CPU cores)
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8) (ignored: LC_ALL set to en_US.UTF-8), LANGUAGE=en_US.UTF-8 (charmap=UTF-8) (ignored: LC_ALL set to en_US.UTF-8)
Shell: /bin/sh linked to /bin/dash
Init: sysvinit (via /sbin/init)
Versions of packages libc6-dev depends on:
ii libc-dev-bin 2.24-11+deb9u1
ii libc6 2.24-11+deb9u1
ii linux-libc-dev 4.9.82-1+deb9u3
libc6-dev recommends no packages.
Versions of packages libc6-dev suggests:
pn glibc-doc <none>
ii manpages-dev 4.10-2
-- no debconf information
Reply to: