|
From: <sv...@va...> - 2017-02-16 18:29:54
|
Author: iraisr
Date: Thu Feb 16 18:29:46 2017
New Revision: 16227
Log:
Solaris: Add syscall wrapper for fast trap getlgrp(6)
Fixes BZ#376518.
Modified:
trunk/NEWS
trunk/coregrind/m_syswrap/syswrap-solaris.c
trunk/include/vki/vki-scnums-solaris.h
Modified: trunk/NEWS
==============================================================================
--- trunk/NEWS (original)
+++ trunk/NEWS Thu Feb 16 18:29:46 2017
@@ -115,6 +115,7 @@
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)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Modified: trunk/coregrind/m_syswrap/syswrap-solaris.c
==============================================================================
--- trunk/coregrind/m_syswrap/syswrap-solaris.c (original)
+++ trunk/coregrind/m_syswrap/syswrap-solaris.c Thu Feb 16 18:29:46 2017
@@ -1076,6 +1076,7 @@
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_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 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 */
Modified: trunk/include/vki/vki-scnums-solaris.h
==============================================================================
--- trunk/include/vki/vki-scnums-solaris.h (original)
+++ trunk/include/vki/vki-scnums-solaris.h Thu Feb 16 18:29:46 2017
@@ -28,7 +28,7 @@
The GNU General Public License is contained in the file COPYING.
*/
-/* Copyright 2013-2016, Ivo Raisr <iv...@iv...>. */
+/* Copyright 2013-2017, Ivo Raisr <iv...@iv...>. */
/* Copyright 2013, OmniTI Computer Consulting, Inc. All rights reserved. */
@@ -353,10 +353,8 @@
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)
|