vppinfra: fix GCC 7.3 build error with asm inline 49/35949/2
authorGuillaume Solignac <gsoligna@cisco.com>
Wed, 13 Apr 2022 10:03:48 +0000 (12:03 +0200)
committerGuillaume Solignac <gsoligna@cisco.com>
Wed, 13 Apr 2022 11:30:41 +0000 (13:30 +0200)
GCC added asm inline in 8.3, so we change asm inline to asm volatile.

Type: fix
Fixes: d5045e68a782 ("vppinfra: introduce clib_perfmom")
Signed-off-by: Guillaume Solignac <gsoligna@cisco.com>
Change-Id: I9f7781ba9de66211404348ff477a17059b408a78

src/vppinfra/perfmon/perfmon.h

index 0d09dc6..d940921 100644 (file)
@@ -69,10 +69,10 @@ static_always_inline void
 clib_perfmon_ioctl (int fd, u32 req)
 {
 #ifdef __x86_64__
-  asm inline("syscall"
-            :
-            : "D"(fd), "S"(req), "a"(__NR_ioctl), "d"(PERF_IOC_FLAG_GROUP)
-            : "rcx", "r11" /* registers modified by kernel */);
+  asm volatile("syscall"
+              :
+              : "D"(fd), "S"(req), "a"(__NR_ioctl), "d"(PERF_IOC_FLAG_GROUP)
+              : "rcx", "r11" /* registers modified by kernel */);
 #else
   ioctl (fd, req, PERF_IOC_FLAG_GROUP);
 #endif