File: sys_openat.patch

package info (click to toggle)
cctools 9.9-2
  • links: PTS, VCS
  • area: main
  • in suites: bookworm
  • size: 44,624 kB
  • sloc: ansic: 192,539; python: 20,827; cpp: 20,199; sh: 11,719; perl: 4,106; xml: 3,688; makefile: 1,224
file content (33 lines) | stat: -rw-r--r-- 876 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
Description: ARM64, etc. no longer support SYS_open, only SYS_openat.
Author: Alastair McKinstry <mckinstry@debian.org>
Last-Updated: 2018-06-15
Forwarded: no

--- a/resource_monitor/src/rmonitor_helper.c
+++ b/resource_monitor/src/rmonitor_helper.c
@@ -280,8 +280,13 @@
 	mode = va_arg(ap, int);
 	va_end(ap);
 
+	
 	if(!original_open) {
+#ifdef SYS_openat
+	        return syscall(SYS_openat, AT_FDCWD,  path, flags, mode);
+#else		
 		return syscall(SYS_open, path, flags, mode);
+#endif	         
 	}
 
 	debug(D_RMON, "open %s from %d.\n", path, getpid());
@@ -324,7 +329,11 @@
 	va_end(ap);
 
 	if(!original_open64) {
+#ifdef SYS_openat
+                return syscall(SYS_openat, AT_FDCWD,  path, flags | O_LARGEFILE, mode);
+#else		
 		return syscall(SYS_open, path, flags | O_LARGEFILE, mode);
+#endif		
 	}
 
 	debug(D_RMON, "open64 %s from %d.\n", path, getpid());