19 lines
748 B
Text
19 lines
748 B
Text
|
The redirection of mmap through __syscall(2) is broken in multiple ways.
|
||
|
Just call mmap directly.
|
||
|
|
||
|
Index: lib/libv4lconvert/libv4lsyscall-priv.h
|
||
|
--- lib/libv4lconvert/libv4lsyscall-priv.h.orig
|
||
|
+++ lib/libv4lconvert/libv4lsyscall-priv.h
|
||
|
@@ -107,10 +107,7 @@
|
||
|
syscall(SYS_mmap, (void *)(addr), (size_t)(len), \
|
||
|
(int)(prot), (int)(flags), (int)(fd), (off_t)(off))
|
||
|
#elif defined(__OpenBSD__)
|
||
|
-register_t __syscall(quad_t, ...);
|
||
|
-#define SYS_MMAP(addr, len, prot, flags, fd, offset) \
|
||
|
- __syscall((quad_t)SYS_mmap, (void *)(addr), (size_t)(len), \
|
||
|
- (int)(prot), (int)(flags), (int)(fd), 0, (off_t)(offset))
|
||
|
+#define SYS_MMAP mmap
|
||
|
#else
|
||
|
#define SYS_MMAP(addr, len, prot, flags, fd, off) \
|
||
|
syscall(SYS_mmap2, (void *)(addr), (size_t)(len), \
|