]> git.ipfire.org Git - thirdparty/valgrind.git/commitdiff
Solaris: Add syscall wrapper for fast trap getlgrp(6)
authorIvo Raisr <ivosh@ivosh.net>
Thu, 16 Feb 2017 18:29:46 +0000 (18:29 +0000)
committerIvo Raisr <ivosh@ivosh.net>
Thu, 16 Feb 2017 18:29:46 +0000 (18:29 +0000)
Fixes BZ#376518.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@16227

NEWS
coregrind/m_syswrap/syswrap-solaris.c
include/vki/vki-scnums-solaris.h

diff --git a/NEWS b/NEWS
index 8764802ed8072ec9a85da1fc000779cc79d534ff..d48f1a99d3f85028d1db8de06944a0ab402ebe44 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -115,6 +115,7 @@ where XXXXXX is the bug number as listed below.
         for ML_(find_rx_mapping)()
 375806  Test helgrind/tests/tc22_exit_w_lock fails with glibc 2.24
 376455  Solaris: unhandled syscall lgrpsys(180)
+376518  Solaris: unhandled fast trap getlgrp(6)
 
 Release 3.12.0 (20 October 2016)
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
index 48fa72b3d3fcd476df7d3c5aad65503c512acc5f..b5a1f74eca5d8da1a0f16f87e777b2f1e0ea3f82 100644 (file)
@@ -1076,6 +1076,7 @@ DECL_TEMPLATE(solaris, sys_umount2);
 DECL_TEMPLATE(solaris, fast_gethrtime);
 DECL_TEMPLATE(solaris, fast_gethrvtime);
 DECL_TEMPLATE(solaris, fast_gethrestime);
+DECL_TEMPLATE(solaris, fast_getlgrp);
 #if defined(SOLARIS_GETHRT_FASTTRAP)
 DECL_TEMPLATE(solaris, fast_gethrt);
 #endif /* SOLARIS_GETHRT_FASTTRAP */
@@ -10674,6 +10675,13 @@ PRE(fast_gethrestime)
    PRE_REG_READ0(long, "gethrestime");
 }
 
+PRE(fast_getlgrp)
+{
+   /* Fasttrap number shared between gethomelgroup() and getcpuid(). */
+   PRINT("fast_getlgrp ( )");
+   PRE_REG_READ0(long, "getlgrp");
+}
+
 #if defined(SOLARIS_GETHRT_FASTTRAP)
 PRE(fast_gethrt)
 {
@@ -11011,7 +11019,8 @@ static SyscallTableEntry syscall_table[] = {
 static SyscallTableEntry fasttrap_table[] = {
    SOLX_(__NR_gethrtime,            fast_gethrtime),            /*   3 */
    SOLX_(__NR_gethrvtime,           fast_gethrvtime),           /*   4 */
-   SOLX_(__NR_gethrestime,          fast_gethrestime)           /*   5 */
+   SOLX_(__NR_gethrestime,          fast_gethrestime),          /*   5 */
+   SOLX_(__NR_getlgrp,              fast_getlgrp)               /*   6 */
 #if defined(SOLARIS_GETHRT_FASTTRAP)
    ,
    SOLXY(__NR_gethrt,               fast_gethrt)                /*   7 */
index 4422bd401f0f3d7e8bff90aa9431d1c71601f535..eaabe657cd78eadeefa16baec11b273a37e85383 100644 (file)
@@ -28,7 +28,7 @@
    The GNU General Public License is contained in the file COPYING.
 */
 
-/* Copyright 2013-2016, Ivo Raisr <ivosh@ivosh.net>. */
+/* Copyright 2013-2017, Ivo Raisr <ivosh@ivosh.net>. */
 
 /* Copyright 2013, OmniTI Computer Consulting, Inc. All rights reserved. */
 
    VG_SOLARIS_SYSCALL_CONSTRUCT_FASTTRAP(T_GETHRVTIME)
 #define __NR_gethrestime \
    VG_SOLARIS_SYSCALL_CONSTRUCT_FASTTRAP(T_GETHRESTIME)
-/*
 #define __NR_getlgrp \
    VG_SOLARIS_SYSCALL_CONSTRUCT_FASTTRAP(T_GETLGRP)
-*/
 #if defined(SOLARIS_GETHRT_FASTTRAP)
 #define __NR_gethrt \
    VG_SOLARIS_SYSCALL_CONSTRUCT_FASTTRAP(T_GETHRT)