From: Nicholas Nethercote Date: Fri, 26 Aug 2005 04:03:04 +0000 (+0000) Subject: Move cap{get,set} syscalls from "generic" to "linux". X-Git-Tag: svn/VALGRIND_3_1_0~520 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=7fd1f0216975a54712c2d4e846e3c34719b35ecb;p=thirdparty%2Fvalgrind.git Move cap{get,set} syscalls from "generic" to "linux". git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4520 --- diff --git a/coregrind/m_syswrap/priv_syswrap-generic.h b/coregrind/m_syswrap/priv_syswrap-generic.h index f529bcdac9..8986a53dc9 100644 --- a/coregrind/m_syswrap/priv_syswrap-generic.h +++ b/coregrind/m_syswrap/priv_syswrap-generic.h @@ -129,15 +129,6 @@ DECL_TEMPLATE(generic, sys_fsync); DECL_TEMPLATE(generic, sys_wait4); DECL_TEMPLATE(generic, sys_mprotect); DECL_TEMPLATE(generic, sys_sigprocmask); -DECL_TEMPLATE(generic, sys_timer_create); // Linux: varies across archs? -DECL_TEMPLATE(generic, sys_timer_settime); -DECL_TEMPLATE(generic, sys_timer_gettime); -DECL_TEMPLATE(generic, sys_timer_getoverrun); -DECL_TEMPLATE(generic, sys_timer_delete); -DECL_TEMPLATE(generic, sys_clock_settime); -DECL_TEMPLATE(generic, sys_clock_gettime); -DECL_TEMPLATE(generic, sys_clock_getres); -DECL_TEMPLATE(generic, sys_clock_nanosleep); DECL_TEMPLATE(generic, sys_getcwd); DECL_TEMPLATE(generic, sys_symlink); DECL_TEMPLATE(generic, sys_getgroups); @@ -223,8 +214,6 @@ DECL_TEMPLATE(generic, sys_rt_sigqueueinfo); // * ? DECL_TEMPLATE(generic, sys_rt_sigsuspend); // () () DECL_TEMPLATE(generic, sys_pread64); // * (Unix98?) DECL_TEMPLATE(generic, sys_pwrite64); // * (Unix98?) -DECL_TEMPLATE(generic, sys_capget); // * L? -DECL_TEMPLATE(generic, sys_capset); // * L? DECL_TEMPLATE(generic, sys_sigaltstack); // (x86) (XPG4-UNIX) DECL_TEMPLATE(generic, sys_getpmsg); // (?) (?) DECL_TEMPLATE(generic, sys_putpmsg); // (?) (?) diff --git a/coregrind/m_syswrap/priv_syswrap-linux.h b/coregrind/m_syswrap/priv_syswrap-linux.h index 30869683ca..428dbf00f9 100644 --- a/coregrind/m_syswrap/priv_syswrap-linux.h +++ b/coregrind/m_syswrap/priv_syswrap-linux.h @@ -114,6 +114,9 @@ DECL_TEMPLATE(linux, sys_timer_gettime); DECL_TEMPLATE(linux, sys_timer_getoverrun); DECL_TEMPLATE(linux, sys_timer_delete); +DECL_TEMPLATE(linux, sys_capget); +DECL_TEMPLATE(linux, sys_capset); + #endif // __PRIV_SYSWRAP_LINUX_H /*--------------------------------------------------------------------*/ diff --git a/coregrind/m_syswrap/syswrap-amd64-linux.c b/coregrind/m_syswrap/syswrap-amd64-linux.c index 05fc4aa9ad..10fb9a6fe4 100644 --- a/coregrind/m_syswrap/syswrap-amd64-linux.c +++ b/coregrind/m_syswrap/syswrap-amd64-linux.c @@ -1326,8 +1326,8 @@ const SyscallTableEntry ML_(syscall_table)[] = { LINX_(__NR_setfsgid, sys_setfsgid), // 123 GENX_(__NR_getsid, sys_getsid), // 124 - // (__NR_capget, sys_capget), // 125 - // (__NR_capset, sys_capset), // 126 + // LINXY(__NR_capget, sys_capget), // 125 + // LINX_(__NR_capset, sys_capset), // 126 GENXY(__NR_rt_sigpending, sys_rt_sigpending), // 127 GENXY(__NR_rt_sigtimedwait, sys_rt_sigtimedwait),// 128 GENXY(__NR_rt_sigqueueinfo, sys_rt_sigqueueinfo),// 129 diff --git a/coregrind/m_syswrap/syswrap-generic.c b/coregrind/m_syswrap/syswrap-generic.c index 4f04814894..0c22135140 100644 --- a/coregrind/m_syswrap/syswrap-generic.c +++ b/coregrind/m_syswrap/syswrap-generic.c @@ -2215,34 +2215,6 @@ PRE(sys_init_module) PRE_MEM_RASCIIZ( "init_module(uargs)", ARG3 ); } -PRE(sys_capget) -{ - PRINT("sys_capget ( %p, %p )", ARG1, ARG2 ); - PRE_REG_READ2(long, "capget", - vki_cap_user_header_t, header, vki_cap_user_data_t, data); - PRE_MEM_READ( "capget(header)", ARG1, - sizeof(struct __vki_user_cap_header_struct) ); - PRE_MEM_WRITE( "capget(data)", ARG2, - sizeof(struct __vki_user_cap_data_struct) ); -} -POST(sys_capget) -{ - if (ARG2 != (Addr)NULL) - POST_MEM_WRITE( ARG2, sizeof(struct __vki_user_cap_data_struct) ); -} - -PRE(sys_capset) -{ - PRINT("sys_capset ( %p, %p )", ARG1, ARG2 ); - PRE_REG_READ2(long, "capset", - vki_cap_user_header_t, header, - const vki_cap_user_data_t, data); - PRE_MEM_READ( "capset(header)", - ARG1, sizeof(struct __vki_user_cap_header_struct) ); - PRE_MEM_READ( "capset(data)", - ARG2, sizeof(struct __vki_user_cap_data_struct) ); -} - // Pre_read a char** argument. static void pre_argv_envp(Addr a, ThreadId tid, Char* s1, Char* s2) { diff --git a/coregrind/m_syswrap/syswrap-linux.c b/coregrind/m_syswrap/syswrap-linux.c index b6b6cda9e1..69aa45d27c 100644 --- a/coregrind/m_syswrap/syswrap-linux.c +++ b/coregrind/m_syswrap/syswrap-linux.c @@ -1127,6 +1127,34 @@ PRE(sys_timer_delete) PRE_REG_READ1(long, "timer_delete", vki_timer_t, timerid); } +PRE(sys_capget) +{ + PRINT("sys_capget ( %p, %p )", ARG1, ARG2 ); + PRE_REG_READ2(long, "capget", + vki_cap_user_header_t, header, vki_cap_user_data_t, data); + PRE_MEM_READ( "capget(header)", ARG1, + sizeof(struct __vki_user_cap_header_struct) ); + PRE_MEM_WRITE( "capget(data)", ARG2, + sizeof(struct __vki_user_cap_data_struct) ); +} +POST(sys_capget) +{ + if (ARG2 != (Addr)NULL) + POST_MEM_WRITE( ARG2, sizeof(struct __vki_user_cap_data_struct) ); +} + +PRE(sys_capset) +{ + PRINT("sys_capset ( %p, %p )", ARG1, ARG2 ); + PRE_REG_READ2(long, "capset", + vki_cap_user_header_t, header, + const vki_cap_user_data_t, data); + PRE_MEM_READ( "capset(header)", + ARG1, sizeof(struct __vki_user_cap_header_struct) ); + PRE_MEM_READ( "capset(data)", + ARG2, sizeof(struct __vki_user_cap_data_struct) ); +} + #undef PRE #undef POST diff --git a/coregrind/m_syswrap/syswrap-ppc32-linux.c b/coregrind/m_syswrap/syswrap-ppc32-linux.c index 0eb9ff8e14..53e9d4668b 100644 --- a/coregrind/m_syswrap/syswrap-ppc32-linux.c +++ b/coregrind/m_syswrap/syswrap-ppc32-linux.c @@ -2180,9 +2180,9 @@ const SyscallTableEntry ML_(syscall_table)[] = { GENX_(__NR_pwrite64, sys_pwrite64), // 180 GENX_(__NR_chown, sys_chown16), // 181 GENXY(__NR_getcwd, sys_getcwd), // 182 -//.. GENXY(__NR_capget, sys_capget), // 183 +//.. LINXY(__NR_capget, sys_capget), // 183 //.. -//.. GENX_(__NR_capset, sys_capset), // 184 +//.. LINX_(__NR_capset, sys_capset), // 184 GENXY(__NR_sigaltstack, sys_sigaltstack), // 185 //.. LINXY(__NR_sendfile, sys_sendfile), // 186 //.. GENXY(__NR_getpmsg, sys_getpmsg), // 187 diff --git a/coregrind/m_syswrap/syswrap-x86-linux.c b/coregrind/m_syswrap/syswrap-x86-linux.c index 4133d62437..fc3c6c6808 100644 --- a/coregrind/m_syswrap/syswrap-x86-linux.c +++ b/coregrind/m_syswrap/syswrap-x86-linux.c @@ -2162,9 +2162,9 @@ const SyscallTableEntry ML_(syscall_table)[] = { GENX_(__NR_pwrite64, sys_pwrite64), // 181 GENX_(__NR_chown, sys_chown16), // 182 GENXY(__NR_getcwd, sys_getcwd), // 183 - GENXY(__NR_capget, sys_capget), // 184 + LINXY(__NR_capget, sys_capget), // 184 - GENX_(__NR_capset, sys_capset), // 185 + LINX_(__NR_capset, sys_capset), // 185 GENXY(__NR_sigaltstack, sys_sigaltstack), // 186 LINXY(__NR_sendfile, sys_sendfile), // 187 GENXY(__NR_getpmsg, sys_getpmsg), // 188