You can subscribe to this list here.
| 2002 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
(1) |
Oct
(122) |
Nov
(152) |
Dec
(69) |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2003 |
Jan
(6) |
Feb
(25) |
Mar
(73) |
Apr
(82) |
May
(24) |
Jun
(25) |
Jul
(10) |
Aug
(11) |
Sep
(10) |
Oct
(54) |
Nov
(203) |
Dec
(182) |
| 2004 |
Jan
(307) |
Feb
(305) |
Mar
(430) |
Apr
(312) |
May
(187) |
Jun
(342) |
Jul
(487) |
Aug
(637) |
Sep
(336) |
Oct
(373) |
Nov
(441) |
Dec
(210) |
| 2005 |
Jan
(385) |
Feb
(480) |
Mar
(636) |
Apr
(544) |
May
(679) |
Jun
(625) |
Jul
(810) |
Aug
(838) |
Sep
(634) |
Oct
(521) |
Nov
(965) |
Dec
(543) |
| 2006 |
Jan
(494) |
Feb
(431) |
Mar
(546) |
Apr
(411) |
May
(406) |
Jun
(322) |
Jul
(256) |
Aug
(401) |
Sep
(345) |
Oct
(542) |
Nov
(308) |
Dec
(481) |
| 2007 |
Jan
(427) |
Feb
(326) |
Mar
(367) |
Apr
(255) |
May
(244) |
Jun
(204) |
Jul
(223) |
Aug
(231) |
Sep
(354) |
Oct
(374) |
Nov
(497) |
Dec
(362) |
| 2008 |
Jan
(322) |
Feb
(482) |
Mar
(658) |
Apr
(422) |
May
(476) |
Jun
(396) |
Jul
(455) |
Aug
(267) |
Sep
(280) |
Oct
(253) |
Nov
(232) |
Dec
(304) |
| 2009 |
Jan
(486) |
Feb
(470) |
Mar
(458) |
Apr
(423) |
May
(696) |
Jun
(461) |
Jul
(551) |
Aug
(575) |
Sep
(134) |
Oct
(110) |
Nov
(157) |
Dec
(102) |
| 2010 |
Jan
(226) |
Feb
(86) |
Mar
(147) |
Apr
(117) |
May
(107) |
Jun
(203) |
Jul
(193) |
Aug
(238) |
Sep
(300) |
Oct
(246) |
Nov
(23) |
Dec
(75) |
| 2011 |
Jan
(133) |
Feb
(195) |
Mar
(315) |
Apr
(200) |
May
(267) |
Jun
(293) |
Jul
(353) |
Aug
(237) |
Sep
(278) |
Oct
(611) |
Nov
(274) |
Dec
(260) |
| 2012 |
Jan
(303) |
Feb
(391) |
Mar
(417) |
Apr
(441) |
May
(488) |
Jun
(655) |
Jul
(590) |
Aug
(610) |
Sep
(526) |
Oct
(478) |
Nov
(359) |
Dec
(372) |
| 2013 |
Jan
(467) |
Feb
(226) |
Mar
(391) |
Apr
(281) |
May
(299) |
Jun
(252) |
Jul
(311) |
Aug
(352) |
Sep
(481) |
Oct
(571) |
Nov
(222) |
Dec
(231) |
| 2014 |
Jan
(185) |
Feb
(329) |
Mar
(245) |
Apr
(238) |
May
(281) |
Jun
(399) |
Jul
(382) |
Aug
(500) |
Sep
(579) |
Oct
(435) |
Nov
(487) |
Dec
(256) |
| 2015 |
Jan
(338) |
Feb
(357) |
Mar
(330) |
Apr
(294) |
May
(191) |
Jun
(108) |
Jul
(142) |
Aug
(261) |
Sep
(190) |
Oct
(54) |
Nov
(83) |
Dec
(22) |
| 2016 |
Jan
(49) |
Feb
(89) |
Mar
(33) |
Apr
(50) |
May
(27) |
Jun
(34) |
Jul
(53) |
Aug
(53) |
Sep
(98) |
Oct
(206) |
Nov
(93) |
Dec
(53) |
| 2017 |
Jan
(65) |
Feb
(82) |
Mar
(102) |
Apr
(86) |
May
(187) |
Jun
(67) |
Jul
(23) |
Aug
(93) |
Sep
(65) |
Oct
(45) |
Nov
(35) |
Dec
(17) |
| 2018 |
Jan
(26) |
Feb
(35) |
Mar
(38) |
Apr
(32) |
May
(8) |
Jun
(43) |
Jul
(27) |
Aug
(30) |
Sep
(43) |
Oct
(42) |
Nov
(38) |
Dec
(67) |
| 2019 |
Jan
(32) |
Feb
(37) |
Mar
(53) |
Apr
(64) |
May
(49) |
Jun
(18) |
Jul
(14) |
Aug
(53) |
Sep
(25) |
Oct
(30) |
Nov
(49) |
Dec
(31) |
| 2020 |
Jan
(87) |
Feb
(45) |
Mar
(37) |
Apr
(51) |
May
(99) |
Jun
(36) |
Jul
(11) |
Aug
(14) |
Sep
(20) |
Oct
(24) |
Nov
(40) |
Dec
(23) |
| 2021 |
Jan
(14) |
Feb
(53) |
Mar
(85) |
Apr
(15) |
May
(19) |
Jun
(3) |
Jul
(14) |
Aug
(1) |
Sep
(57) |
Oct
(73) |
Nov
(56) |
Dec
(22) |
| 2022 |
Jan
(3) |
Feb
(22) |
Mar
(6) |
Apr
(55) |
May
(46) |
Jun
(39) |
Jul
(15) |
Aug
(9) |
Sep
(11) |
Oct
(34) |
Nov
(20) |
Dec
(36) |
| 2023 |
Jan
(79) |
Feb
(41) |
Mar
(99) |
Apr
(169) |
May
(48) |
Jun
(16) |
Jul
(16) |
Aug
(57) |
Sep
(19) |
Oct
|
Nov
|
Dec
|
| S | M | T | W | T | F | S |
|---|---|---|---|---|---|---|
|
|
|
|
|
1
(16) |
2
(16) |
3
(17) |
|
4
(14) |
5
(16) |
6
(4) |
7
(18) |
8
(24) |
9
(19) |
10
(8) |
|
11
(6) |
12
(4) |
13
|
14
|
15
(1) |
16
(15) |
17
(13) |
|
18
(16) |
19
(11) |
20
(18) |
21
(6) |
22
(4) |
23
(15) |
24
(15) |
|
25
(22) |
26
(17) |
27
(18) |
28
(2) |
29
(16) |
30
(8) |
|
|
From: <sv...@va...> - 2012-11-04 20:40:44
|
philippe 2012-11-04 20:40:33 +0000 (Sun, 04 Nov 2012)
New Revision: 13104
Log:
factorise sys_socketcall
sys_socketcall was duplicated in syswrap-{ppc64|ppc32|arm|mips32|s390x}-linux.c
=>
* Similarly for what was done for sys_ipc, factorise the code in syswrap-linux.c
* re-enabled PRE_MEM_READ for VKI_SYS_SENDMSG and VKI_SYS_RECVMSG
(PRE_MEM_READ calls were commented out around 2003, for what
was supposed a glibc bug.
The PRE_MEM_READ calls were already re-enabled in s390x)
* s390x also had some more checking to verify the addressibility of
the args and fail the syscall with EFAULT if not addressable
=> same checks are now done for all platforms.
(tested on x86/amd64/mips32/s390x/ppc32/ppc64,
compiled for arm-android-emulator)
Modified files:
trunk/coregrind/m_syswrap/priv_syswrap-generic.h
trunk/coregrind/m_syswrap/priv_syswrap-linux.h
trunk/coregrind/m_syswrap/syswrap-arm-linux.c
trunk/coregrind/m_syswrap/syswrap-linux.c
trunk/coregrind/m_syswrap/syswrap-mips32-linux.c
trunk/coregrind/m_syswrap/syswrap-ppc32-linux.c
trunk/coregrind/m_syswrap/syswrap-ppc64-linux.c
trunk/coregrind/m_syswrap/syswrap-s390x-linux.c
trunk/coregrind/m_syswrap/syswrap-x86-linux.c
Modified: trunk/coregrind/m_syswrap/syswrap-s390x-linux.c (+1 -320)
===================================================================
--- trunk/coregrind/m_syswrap/syswrap-s390x-linux.c 2012-11-03 19:32:28 +00:00 (rev 13103)
+++ trunk/coregrind/m_syswrap/syswrap-s390x-linux.c 2012-11-04 20:40:33 +00:00 (rev 13104)
@@ -339,7 +339,6 @@
magic. */
DECL_TEMPLATE(s390x_linux, sys_ptrace);
-DECL_TEMPLATE(s390x_linux, sys_socketcall);
DECL_TEMPLATE(s390x_linux, sys_mmap);
DECL_TEMPLATE(s390x_linux, sys_clone);
DECL_TEMPLATE(s390x_linux, sys_sigreturn);
@@ -439,324 +438,6 @@
}
}
-
-PRE(sys_socketcall)
-{
-# define ARG2_0 (((UWord*)ARG2)[0])
-# define ARG2_1 (((UWord*)ARG2)[1])
-# define ARG2_2 (((UWord*)ARG2)[2])
-# define ARG2_3 (((UWord*)ARG2)[3])
-# define ARG2_4 (((UWord*)ARG2)[4])
-# define ARG2_5 (((UWord*)ARG2)[5])
-
- *flags |= SfMayBlock;
- PRINT("sys_socketcall ( %ld, %#lx )",ARG1,ARG2);
- PRE_REG_READ2(long, "socketcall", int, call, unsigned long *, args);
-
- switch (ARG1 /* request */) {
-
- case VKI_SYS_SOCKETPAIR:
- /* int socketpair(int d, int type, int protocol, int sv[2]); */
- PRE_MEM_READ( "socketcall.socketpair(args)", ARG2, 4*sizeof(Addr) );
- if (!ML_(valid_client_addr)(ARG2, 4*sizeof(Addr), tid, NULL)) {
- SET_STATUS_Failure( VKI_EFAULT );
- break;
- }
- ML_(generic_PRE_sys_socketpair)( tid, ARG2_0, ARG2_1, ARG2_2, ARG2_3 );
- break;
-
- case VKI_SYS_SOCKET:
- /* int socket(int domain, int type, int protocol); */
- PRE_MEM_READ( "socketcall.socket(args)", ARG2, 3*sizeof(Addr) );
- if (!ML_(valid_client_addr)(ARG2, 3*sizeof(Addr), tid, NULL)) {
- SET_STATUS_Failure( VKI_EFAULT );
- break;
- }
- break;
-
- case VKI_SYS_BIND:
- /* int bind(int sockfd, struct sockaddr *my_addr,
- int addrlen); */
- PRE_MEM_READ( "socketcall.bind(args)", ARG2, 3*sizeof(Addr) );
- if (!ML_(valid_client_addr)(ARG2, 3*sizeof(Addr), tid, NULL)) {
- SET_STATUS_Failure( VKI_EFAULT );
- break;
- }
- ML_(generic_PRE_sys_bind)( tid, ARG2_0, ARG2_1, ARG2_2 );
- break;
-
- case VKI_SYS_LISTEN:
- /* int listen(int s, int backlog); */
- PRE_MEM_READ( "socketcall.listen(args)", ARG2, 2*sizeof(Addr) );
- if (!ML_(valid_client_addr)(ARG2, 2*sizeof(Addr), tid, NULL)) {
- SET_STATUS_Failure( VKI_EFAULT );
- break;
- }
- break;
-
- case VKI_SYS_ACCEPT: {
- /* int accept(int s, struct sockaddr *addr, int *addrlen); */
- PRE_MEM_READ( "socketcall.accept(args)", ARG2, 3*sizeof(Addr) );
- if (!ML_(valid_client_addr)(ARG2, 3*sizeof(Addr), tid, NULL)) {
- SET_STATUS_Failure( VKI_EFAULT );
- break;
- }
- ML_(generic_PRE_sys_accept)( tid, ARG2_0, ARG2_1, ARG2_2 );
- break;
- }
-
- case VKI_SYS_SENDTO:
- /* int sendto(int s, const void *msg, int len,
- unsigned int flags,
- const struct sockaddr *to, int tolen); */
- PRE_MEM_READ( "socketcall.sendto(args)", ARG2, 6*sizeof(Addr) );
- if (!ML_(valid_client_addr)(ARG2, 6*sizeof(Addr), tid, NULL)) {
- SET_STATUS_Failure( VKI_EFAULT );
- break;
- }
- ML_(generic_PRE_sys_sendto)( tid, ARG2_0, ARG2_1, ARG2_2,
- ARG2_3, ARG2_4, ARG2_5 );
- break;
-
- case VKI_SYS_SEND:
- /* int send(int s, const void *msg, size_t len, int flags); */
- PRE_MEM_READ( "socketcall.send(args)", ARG2, 4*sizeof(Addr) );
- if (!ML_(valid_client_addr)(ARG2, 4*sizeof(Addr), tid, NULL)) {
- SET_STATUS_Failure( VKI_EFAULT );
- break;
- }
- ML_(generic_PRE_sys_send)( tid, ARG2_0, ARG2_1, ARG2_2 );
- break;
-
- case VKI_SYS_RECVFROM:
- /* int recvfrom(int s, void *buf, int len, unsigned int flags,
- struct sockaddr *from, int *fromlen); */
- PRE_MEM_READ( "socketcall.recvfrom(args)", ARG2, 6*sizeof(Addr) );
- if (!ML_(valid_client_addr)(ARG2, 6*sizeof(Addr), tid, NULL)) {
- SET_STATUS_Failure( VKI_EFAULT );
- break;
- }
- ML_(generic_PRE_sys_recvfrom)( tid, ARG2_0, ARG2_1, ARG2_2,
- ARG2_3, ARG2_4, ARG2_5 );
- break;
-
- case VKI_SYS_RECV:
- /* int recv(int s, void *buf, int len, unsigned int flags); */
- /* man 2 recv says:
- The recv call is normally used only on a connected socket
- (see connect(2)) and is identical to recvfrom with a NULL
- from parameter.
- */
- PRE_MEM_READ( "socketcall.recv(args)", ARG2, 4*sizeof(Addr) );
- if (!ML_(valid_client_addr)(ARG2, 4*sizeof(Addr), tid, NULL)) {
- SET_STATUS_Failure( VKI_EFAULT );
- break;
- }
- ML_(generic_PRE_sys_recv)( tid, ARG2_0, ARG2_1, ARG2_2 );
- break;
-
- case VKI_SYS_CONNECT:
- /* int connect(int sockfd,
- struct sockaddr *serv_addr, int addrlen ); */
- PRE_MEM_READ( "socketcall.connect(args)", ARG2, 3*sizeof(Addr) );
- if (!ML_(valid_client_addr)(ARG2, 3*sizeof(Addr), tid, NULL)) {
- SET_STATUS_Failure( VKI_EFAULT );
- break;
- }
- ML_(generic_PRE_sys_connect)( tid, ARG2_0, ARG2_1, ARG2_2 );
- break;
-
- case VKI_SYS_SETSOCKOPT:
- /* int setsockopt(int s, int level, int optname,
- const void *optval, int optlen); */
- PRE_MEM_READ( "socketcall.setsockopt(args)", ARG2, 5*sizeof(Addr) );
- if (!ML_(valid_client_addr)(ARG2, 5*sizeof(Addr), tid, NULL)) {
- SET_STATUS_Failure( VKI_EFAULT );
- break;
- }
- ML_(generic_PRE_sys_setsockopt)( tid, ARG2_0, ARG2_1, ARG2_2,
- ARG2_3, ARG2_4 );
- break;
-
- case VKI_SYS_GETSOCKOPT:
- /* int getsockopt(int s, int level, int optname,
- void *optval, socklen_t *optlen); */
- PRE_MEM_READ( "socketcall.getsockopt(args)", ARG2, 5*sizeof(Addr) );
- if (!ML_(valid_client_addr)(ARG2, 5*sizeof(Addr), tid, NULL)) {
- SET_STATUS_Failure( VKI_EFAULT );
- break;
- }
- ML_(linux_PRE_sys_getsockopt)( tid, ARG2_0, ARG2_1, ARG2_2,
- ARG2_3, ARG2_4 );
- break;
-
- case VKI_SYS_GETSOCKNAME:
- /* int getsockname(int s, struct sockaddr* name, int* namelen) */
- PRE_MEM_READ( "socketcall.getsockname(args)", ARG2, 3*sizeof(Addr) );
- if (!ML_(valid_client_addr)(ARG2, 3*sizeof(Addr), tid, NULL)) {
- SET_STATUS_Failure( VKI_EFAULT );
- break;
- }
- ML_(generic_PRE_sys_getsockname)( tid, ARG2_0, ARG2_1, ARG2_2 );
- break;
-
- case VKI_SYS_GETPEERNAME:
- /* int getpeername(int s, struct sockaddr* name, int* namelen) */
- PRE_MEM_READ( "socketcall.getpeername(args)", ARG2, 3*sizeof(Addr) );
- if (!ML_(valid_client_addr)(ARG2, 3*sizeof(Addr), tid, NULL)) {
- SET_STATUS_Failure( VKI_EFAULT );
- break;
- }
- ML_(generic_PRE_sys_getpeername)( tid, ARG2_0, ARG2_1, ARG2_2 );
- break;
-
- case VKI_SYS_SHUTDOWN:
- /* int shutdown(int s, int how); */
- PRE_MEM_READ( "socketcall.shutdown(args)", ARG2, 2*sizeof(Addr) );
- if (!ML_(valid_client_addr)(ARG2, 2*sizeof(Addr), tid, NULL)) {
- SET_STATUS_Failure( VKI_EFAULT );
- break;
- }
- break;
-
- case VKI_SYS_SENDMSG: {
- /* int sendmsg(int s, const struct msghdr *msg, int flags); */
- PRE_MEM_READ( "socketcall.sendmsg(args)", ARG2, 3*sizeof(Addr) );
- if (!ML_(valid_client_addr)(ARG2, 3*sizeof(Addr), tid, NULL)) {
- SET_STATUS_Failure( VKI_EFAULT );
- break;
- }
- ML_(generic_PRE_sys_sendmsg)( tid, "msg", (struct vki_msghdr *)ARG2_1 );
- break;
- }
-
- case VKI_SYS_RECVMSG: {
- /* int recvmsg(int s, struct msghdr *msg, int flags); */
- PRE_MEM_READ("socketcall.recvmsg(args)", ARG2, 3*sizeof(Addr) );
- if (!ML_(valid_client_addr)(ARG2, 3*sizeof(Addr), tid, NULL)) {
- SET_STATUS_Failure( VKI_EFAULT );
- break;
- }
- ML_(generic_PRE_sys_recvmsg)( tid, "msg2", (struct vki_msghdr *)ARG2_1 );
- break;
- }
-
- default:
- VG_(message)(Vg_DebugMsg,"Warning: unhandled socketcall 0x%lx\n",ARG1);
- SET_STATUS_Failure( VKI_EINVAL );
- break;
- }
-# undef ARG2_0
-# undef ARG2_1
-# undef ARG2_2
-# undef ARG2_3
-# undef ARG2_4
-# undef ARG2_5
-}
-
-POST(sys_socketcall)
-{
-# define ARG2_0 (((UWord*)ARG2)[0])
-# define ARG2_1 (((UWord*)ARG2)[1])
-# define ARG2_2 (((UWord*)ARG2)[2])
-# define ARG2_3 (((UWord*)ARG2)[3])
-# define ARG2_4 (((UWord*)ARG2)[4])
-# define ARG2_5 (((UWord*)ARG2)[5])
-
- SysRes r;
- vg_assert(SUCCESS);
- switch (ARG1 /* request */) {
-
- case VKI_SYS_SOCKETPAIR:
- r = ML_(generic_POST_sys_socketpair)(
- tid, VG_(mk_SysRes_Success)(RES),
- ARG2_0, ARG2_1, ARG2_2, ARG2_3
- );
- SET_STATUS_from_SysRes(r);
- break;
-
- case VKI_SYS_SOCKET:
- r = ML_(generic_POST_sys_socket)( tid, VG_(mk_SysRes_Success)(RES) );
- SET_STATUS_from_SysRes(r);
- break;
-
- case VKI_SYS_BIND:
- /* int bind(int sockfd, struct sockaddr *my_addr,
- int addrlen); */
- break;
-
- case VKI_SYS_LISTEN:
- /* int listen(int s, int backlog); */
- break;
-
- case VKI_SYS_ACCEPT:
- /* int accept(int s, struct sockaddr *addr, int *addrlen); */
- r = ML_(generic_POST_sys_accept)( tid, VG_(mk_SysRes_Success)(RES),
- ARG2_0, ARG2_1, ARG2_2 );
- SET_STATUS_from_SysRes(r);
- break;
-
- case VKI_SYS_SENDTO:
- break;
-
- case VKI_SYS_SEND:
- break;
-
- case VKI_SYS_RECVFROM:
- ML_(generic_POST_sys_recvfrom)( tid, VG_(mk_SysRes_Success)(RES),
- ARG2_0, ARG2_1, ARG2_2,
- ARG2_3, ARG2_4, ARG2_5 );
- break;
-
- case VKI_SYS_RECV:
- ML_(generic_POST_sys_recv)( tid, RES, ARG2_0, ARG2_1, ARG2_2 );
- break;
-
- case VKI_SYS_CONNECT:
- break;
-
- case VKI_SYS_SETSOCKOPT:
- break;
-
- case VKI_SYS_GETSOCKOPT:
- ML_(linux_POST_sys_getsockopt)( tid, VG_(mk_SysRes_Success)(RES),
- ARG2_0, ARG2_1,
- ARG2_2, ARG2_3, ARG2_4 );
- break;
-
- case VKI_SYS_GETSOCKNAME:
- ML_(generic_POST_sys_getsockname)( tid, VG_(mk_SysRes_Success)(RES),
- ARG2_0, ARG2_1, ARG2_2 );
- break;
-
- case VKI_SYS_GETPEERNAME:
- ML_(generic_POST_sys_getpeername)( tid, VG_(mk_SysRes_Success)(RES),
- ARG2_0, ARG2_1, ARG2_2 );
- break;
-
- case VKI_SYS_SHUTDOWN:
- break;
-
- case VKI_SYS_SENDMSG:
- break;
-
- case VKI_SYS_RECVMSG:
- ML_(generic_POST_sys_recvmsg)( tid, "msg", (struct vki_msghdr *)ARG2_1, RES );
- break;
-
- default:
- VG_(message)(Vg_DebugMsg,"FATAL: unhandled socketcall 0x%lx\n",ARG1);
- VG_(core_panic)("... bye!\n");
- break; /*NOTREACHED*/
- }
-# undef ARG2_0
-# undef ARG2_1
-# undef ARG2_2
-# undef ARG2_3
-# undef ARG2_4
-# undef ARG2_5
-}
-
PRE(sys_mmap)
{
UWord a0, a1, a2, a3, a4, a5;
@@ -1081,7 +762,7 @@
GENXY(__NR_fstatfs, sys_fstatfs), // 100
GENX_(101, sys_ni_syscall), /* unimplemented (by the kernel) */ // 101
- PLAXY(__NR_socketcall, sys_socketcall), // 102
+ LINXY(__NR_socketcall, sys_socketcall), // 102
LINXY(__NR_syslog, sys_syslog), // 103
GENXY(__NR_setitimer, sys_setitimer), // 104
Modified: trunk/coregrind/m_syswrap/syswrap-ppc64-linux.c (+1 -268)
===================================================================
--- trunk/coregrind/m_syswrap/syswrap-ppc64-linux.c 2012-11-03 19:32:28 +00:00 (rev 13103)
+++ trunk/coregrind/m_syswrap/syswrap-ppc64-linux.c 2012-11-04 20:40:33 +00:00 (rev 13104)
@@ -439,7 +439,6 @@
aren't visible outside this file, but that requires even more macro
magic. */
-DECL_TEMPLATE(ppc64_linux, sys_socketcall);
DECL_TEMPLATE(ppc64_linux, sys_mmap);
//zz DECL_TEMPLATE(ppc64_linux, sys_mmap2);
//zz DECL_TEMPLATE(ppc64_linux, sys_stat64);
@@ -450,272 +449,6 @@
DECL_TEMPLATE(ppc64_linux, sys_rt_sigreturn);
DECL_TEMPLATE(ppc64_linux, sys_fadvise64);
-PRE(sys_socketcall)
-{
-# define ARG2_0 (((UWord*)ARG2)[0])
-# define ARG2_1 (((UWord*)ARG2)[1])
-# define ARG2_2 (((UWord*)ARG2)[2])
-# define ARG2_3 (((UWord*)ARG2)[3])
-# define ARG2_4 (((UWord*)ARG2)[4])
-# define ARG2_5 (((UWord*)ARG2)[5])
-
- *flags |= SfMayBlock;
- PRINT("sys_socketcall ( %ld, %#lx )",ARG1,ARG2);
- PRE_REG_READ2(long, "socketcall", int, call, unsigned long *, args);
-
- switch (ARG1 /* request */) {
-
- case VKI_SYS_SOCKETPAIR:
- /* int socketpair(int d, int type, int protocol, int sv[2]); */
- PRE_MEM_READ( "socketcall.socketpair(args)", ARG2, 4*sizeof(Addr) );
- ML_(generic_PRE_sys_socketpair)( tid, ARG2_0, ARG2_1, ARG2_2, ARG2_3 );
- break;
-
- case VKI_SYS_SOCKET:
- /* int socket(int domain, int type, int protocol); */
- PRE_MEM_READ( "socketcall.socket(args)", ARG2, 3*sizeof(Addr) );
- break;
-
- case VKI_SYS_BIND:
- /* int bind(int sockfd, struct sockaddr *my_addr,
- int addrlen); */
- PRE_MEM_READ( "socketcall.bind(args)", ARG2, 3*sizeof(Addr) );
- ML_(generic_PRE_sys_bind)( tid, ARG2_0, ARG2_1, ARG2_2 );
- break;
-
- case VKI_SYS_LISTEN:
- /* int listen(int s, int backlog); */
- PRE_MEM_READ( "socketcall.listen(args)", ARG2, 2*sizeof(Addr) );
- break;
-
- case VKI_SYS_ACCEPT: {
- /* int accept(int s, struct sockaddr *addr, int *addrlen); */
- PRE_MEM_READ( "socketcall.accept(args)", ARG2, 3*sizeof(Addr) );
- ML_(generic_PRE_sys_accept)( tid, ARG2_0, ARG2_1, ARG2_2 );
- break;
- }
-
- case VKI_SYS_ACCEPT4: {
- /* int accept4(int s, struct sockaddr *addr, int *addrlen, int flags); */
- PRE_MEM_READ( "socketcall.accept4(args)", ARG2, 4*sizeof(Addr) );
- ML_(generic_PRE_sys_accept)( tid, ARG2_0, ARG2_1, ARG2_2 );
- break;
- }
-
- case VKI_SYS_SENDTO:
- /* int sendto(int s, const void *msg, int len,
- unsigned int flags,
- const struct sockaddr *to, int tolen); */
- PRE_MEM_READ( "socketcall.sendto(args)", ARG2, 6*sizeof(Addr) );
- ML_(generic_PRE_sys_sendto)( tid, ARG2_0, ARG2_1, ARG2_2,
- ARG2_3, ARG2_4, ARG2_5 );
- break;
-
- case VKI_SYS_SEND:
- /* int send(int s, const void *msg, size_t len, int flags); */
- PRE_MEM_READ( "socketcall.send(args)", ARG2, 4*sizeof(Addr) );
- ML_(generic_PRE_sys_send)( tid, ARG2_0, ARG2_1, ARG2_2 );
- break;
-
- case VKI_SYS_RECVFROM:
- /* int recvfrom(int s, void *buf, int len, unsigned int flags,
- struct sockaddr *from, int *fromlen); */
- PRE_MEM_READ( "socketcall.recvfrom(args)", ARG2, 6*sizeof(Addr) );
- ML_(generic_PRE_sys_recvfrom)( tid, ARG2_0, ARG2_1, ARG2_2,
- ARG2_3, ARG2_4, ARG2_5 );
- break;
-
- case VKI_SYS_RECV:
- /* int recv(int s, void *buf, int len, unsigned int flags); */
- /* man 2 recv says:
- The recv call is normally used only on a connected socket
- (see connect(2)) and is identical to recvfrom with a NULL
- from parameter.
- */
- PRE_MEM_READ( "socketcall.recv(args)", ARG2, 4*sizeof(Addr) );
- ML_(generic_PRE_sys_recv)( tid, ARG2_0, ARG2_1, ARG2_2 );
- break;
-
- case VKI_SYS_CONNECT:
- /* int connect(int sockfd,
- struct sockaddr *serv_addr, int addrlen ); */
- PRE_MEM_READ( "socketcall.connect(args)", ARG2, 3*sizeof(Addr) );
- ML_(generic_PRE_sys_connect)( tid, ARG2_0, ARG2_1, ARG2_2 );
- break;
-
- case VKI_SYS_SETSOCKOPT:
- /* int setsockopt(int s, int level, int optname,
- const void *optval, int optlen); */
- PRE_MEM_READ( "socketcall.setsockopt(args)", ARG2, 5*sizeof(Addr) );
- ML_(generic_PRE_sys_setsockopt)( tid, ARG2_0, ARG2_1, ARG2_2,
- ARG2_3, ARG2_4 );
- break;
-
- case VKI_SYS_GETSOCKOPT:
- /* int getsockopt(int s, int level, int optname,
- void *optval, socklen_t *optlen); */
- PRE_MEM_READ( "socketcall.getsockopt(args)", ARG2, 5*sizeof(Addr) );
- ML_(linux_PRE_sys_getsockopt)( tid, ARG2_0, ARG2_1, ARG2_2,
- ARG2_3, ARG2_4 );
- break;
-
- case VKI_SYS_GETSOCKNAME:
- /* int getsockname(int s, struct sockaddr* name, int* namelen) */
- PRE_MEM_READ( "socketcall.getsockname(args)", ARG2, 3*sizeof(Addr) );
- ML_(generic_PRE_sys_getsockname)( tid, ARG2_0, ARG2_1, ARG2_2 );
- break;
-
- case VKI_SYS_GETPEERNAME:
- /* int getpeername(int s, struct sockaddr* name, int* namelen) */
- PRE_MEM_READ( "socketcall.getpeername(args)", ARG2, 3*sizeof(Addr) );
- ML_(generic_PRE_sys_getpeername)( tid, ARG2_0, ARG2_1, ARG2_2 );
- break;
-
- case VKI_SYS_SHUTDOWN:
- /* int shutdown(int s, int how); */
- PRE_MEM_READ( "socketcall.shutdown(args)", ARG2, 2*sizeof(Addr) );
- break;
-
- case VKI_SYS_SENDMSG: {
- /* int sendmsg(int s, const struct msghdr *msg, int flags); */
-
- /* this causes warnings, and I don't get why. glibc bug?
- * (after all it's glibc providing the arguments array)
- PRE_MEM_READ( "socketcall.sendmsg(args)", ARG2, 3*sizeof(Addr) );
- */
- ML_(generic_PRE_sys_sendmsg)( tid, "msg", (struct vki_msghdr *)ARG2_1 );
- break;
- }
-
- case VKI_SYS_RECVMSG: {
- /* int recvmsg(int s, struct msghdr *msg, int flags); */
-
- /* this causes warnings, and I don't get why. glibc bug?
- * (after all it's glibc providing the arguments array)
- PRE_MEM_READ("socketcall.recvmsg(args)", ARG2, 3*sizeof(Addr) );
- */
- ML_(generic_PRE_sys_recvmsg)( tid, "msg", (struct vki_msghdr *)ARG2_1 );
- break;
- }
-
- default:
- VG_(message)(Vg_DebugMsg,"Warning: unhandled socketcall 0x%lx\n",ARG1);
- SET_STATUS_Failure( VKI_EINVAL );
- break;
- }
-# undef ARG2_0
-# undef ARG2_1
-# undef ARG2_2
-# undef ARG2_3
-# undef ARG2_4
-# undef ARG2_5
-}
-
-POST(sys_socketcall)
-{
-# define ARG2_0 (((UWord*)ARG2)[0])
-# define ARG2_1 (((UWord*)ARG2)[1])
-# define ARG2_2 (((UWord*)ARG2)[2])
-# define ARG2_3 (((UWord*)ARG2)[3])
-# define ARG2_4 (((UWord*)ARG2)[4])
-# define ARG2_5 (((UWord*)ARG2)[5])
-
- SysRes r;
- vg_assert(SUCCESS);
- switch (ARG1 /* request */) {
-
- case VKI_SYS_SOCKETPAIR:
- r = ML_(generic_POST_sys_socketpair)(
- tid, VG_(mk_SysRes_Success)(RES),
- ARG2_0, ARG2_1, ARG2_2, ARG2_3
- );
- SET_STATUS_from_SysRes(r);
- break;
-
- case VKI_SYS_SOCKET:
- r = ML_(generic_POST_sys_socket)( tid, VG_(mk_SysRes_Success)(RES) );
- SET_STATUS_from_SysRes(r);
- break;
-
- case VKI_SYS_BIND:
- /* int bind(int sockfd, struct sockaddr *my_addr,
- int addrlen); */
- break;
-
- case VKI_SYS_LISTEN:
- /* int listen(int s, int backlog); */
- break;
-
- case VKI_SYS_ACCEPT:
- case VKI_SYS_ACCEPT4:
- /* int accept(int s, struct sockaddr *addr, int *addrlen); */
- /* int accept4(int s, struct sockaddr *addr, int *addrlen, int flags); */
- r = ML_(generic_POST_sys_accept)( tid, VG_(mk_SysRes_Success)(RES),
- ARG2_0, ARG2_1, ARG2_2 );
- SET_STATUS_from_SysRes(r);
- break;
-
- case VKI_SYS_SENDTO:
- break;
-
- case VKI_SYS_SEND:
- break;
-
- case VKI_SYS_RECVFROM:
- ML_(generic_POST_sys_recvfrom)( tid, VG_(mk_SysRes_Success)(RES),
- ARG2_0, ARG2_1, ARG2_2,
- ARG2_3, ARG2_4, ARG2_5 );
- break;
-
- case VKI_SYS_RECV:
- ML_(generic_POST_sys_recv)( tid, RES, ARG2_0, ARG2_1, ARG2_2 );
- break;
-
- case VKI_SYS_CONNECT:
- break;
-
- case VKI_SYS_SETSOCKOPT:
- break;
-
- case VKI_SYS_GETSOCKOPT:
- ML_(linux_POST_sys_getsockopt)( tid, VG_(mk_SysRes_Success)(RES),
- ARG2_0, ARG2_1,
- ARG2_2, ARG2_3, ARG2_4 );
- break;
-
- case VKI_SYS_GETSOCKNAME:
- ML_(generic_POST_sys_getsockname)( tid, VG_(mk_SysRes_Success)(RES),
- ARG2_0, ARG2_1, ARG2_2 );
- break;
-
- case VKI_SYS_GETPEERNAME:
- ML_(generic_POST_sys_getpeername)( tid, VG_(mk_SysRes_Success)(RES),
- ARG2_0, ARG2_1, ARG2_2 );
- break;
-
- case VKI_SYS_SHUTDOWN:
- break;
-
- case VKI_SYS_SENDMSG:
- break;
-
- case VKI_SYS_RECVMSG:
- ML_(generic_POST_sys_recvmsg)( tid, "msg", (struct vki_msghdr *)ARG2_1, RES );
- break;
-
- default:
- VG_(message)(Vg_DebugMsg,"FATAL: unhandled socketcall 0x%lx\n",ARG1);
- VG_(core_panic)("... bye!\n");
- break; /*NOTREACHED*/
- }
-# undef ARG2_0
-# undef ARG2_1
-# undef ARG2_2
-# undef ARG2_3
-# undef ARG2_4
-# undef ARG2_5
-}
-
PRE(sys_mmap)
{
SysRes r;
@@ -1066,7 +799,7 @@
GENXY(__NR_fstatfs, sys_fstatfs), // 100
// _____(__NR_ioperm, sys_ioperm), // 101
- PLAXY(__NR_socketcall, sys_socketcall), // 102
+ LINXY(__NR_socketcall, sys_socketcall), // 102
LINXY(__NR_syslog, sys_syslog), // 103
GENXY(__NR_setitimer, sys_setitimer), // 104
Modified: trunk/coregrind/m_syswrap/syswrap-linux.c (+273 -1)
===================================================================
--- trunk/coregrind/m_syswrap/syswrap-linux.c 2012-11-03 19:32:28 +00:00 (rev 13103)
+++ trunk/coregrind/m_syswrap/syswrap-linux.c 2012-11-04 20:40:33 +00:00 (rev 13104)
@@ -3301,7 +3301,7 @@
return *a_p;
}
-Bool semctl_cmd_has_4args (UWord cmd)
+static Bool semctl_cmd_has_4args (UWord cmd)
{
switch (cmd & ~VKI_IPC_64)
{
@@ -3502,6 +3502,278 @@
#endif
/* ---------------------------------------------------------------------
+ Generic handler for sys_socketcall
+ Depending on the platform, some socket related syscalls (e.g. socketpair,
+ socket, bind, ...)
+ are either direct system calls, or are all implemented via sys_socketcall.
+ ------------------------------------------------------------------ */
+#ifdef __NR_socketcall
+PRE(sys_socketcall)
+{
+# define ARG2_0 (((UWord*)ARG2)[0])
+# define ARG2_1 (((UWord*)ARG2)[1])
+# define ARG2_2 (((UWord*)ARG2)[2])
+# define ARG2_3 (((UWord*)ARG2)[3])
+# define ARG2_4 (((UWord*)ARG2)[4])
+# define ARG2_5 (((UWord*)ARG2)[5])
+
+// call PRE_MEM_READ and check for EFAULT result.
+#define PRE_MEM_READ_ef(msg, arg, size) \
+ { \
+ PRE_MEM_READ( msg, arg, size); \
+ if (!ML_(valid_client_addr)(arg, size, tid, NULL)) { \
+ SET_STATUS_Failure( VKI_EFAULT ); \
+ break; \
+ } \
+ }
+
+ *flags |= SfMayBlock;
+ PRINT("sys_socketcall ( %ld, %#lx )",ARG1,ARG2);
+ PRE_REG_READ2(long, "socketcall", int, call, unsigned long *, args);
+
+ switch (ARG1 /* request */) {
+
+ case VKI_SYS_SOCKETPAIR:
+ /* int socketpair(int d, int type, int protocol, int sv[2]); */
+ PRE_MEM_READ_ef( "socketcall.socketpair(args)", ARG2, 4*sizeof(Addr) );
+ ML_(generic_PRE_sys_socketpair)( tid, ARG2_0, ARG2_1, ARG2_2, ARG2_3 );
+ break;
+
+ case VKI_SYS_SOCKET:
+ /* int socket(int domain, int type, int protocol); */
+ PRE_MEM_READ_ef( "socketcall.socket(args)", ARG2, 3*sizeof(Addr) );
+ break;
+
+ case VKI_SYS_BIND:
+ /* int bind(int sockfd, struct sockaddr *my_addr,
+ int addrlen); */
+ PRE_MEM_READ_ef( "socketcall.bind(args)", ARG2, 3*sizeof(Addr) );
+ ML_(generic_PRE_sys_bind)( tid, ARG2_0, ARG2_1, ARG2_2 );
+ break;
+
+ case VKI_SYS_LISTEN:
+ /* int listen(int s, int backlog); */
+ PRE_MEM_READ_ef( "socketcall.listen(args)", ARG2, 2*sizeof(Addr) );
+ break;
+
+ case VKI_SYS_ACCEPT:
+ /* int accept(int s, struct sockaddr *addr, int *addrlen); */
+ PRE_MEM_READ_ef( "socketcall.accept(args)", ARG2, 3*sizeof(Addr) );
+ ML_(generic_PRE_sys_accept)( tid, ARG2_0, ARG2_1, ARG2_2 );
+ break;
+
+ case VKI_SYS_ACCEPT4:
+ /* int accept4(int s, struct sockaddr *addr, int *addrlen, int flags); */
+ PRE_MEM_READ_ef( "socketcall.accept4(args)", ARG2, 4*sizeof(Addr) );
+ ML_(generic_PRE_sys_accept)( tid, ARG2_0, ARG2_1, ARG2_2 );
+ break;
+
+ case VKI_SYS_SENDTO:
+ /* int sendto(int s, const void *msg, int len,
+ unsigned int flags,
+ const struct sockaddr *to, int tolen); */
+ PRE_MEM_READ_ef( "socketcall.sendto(args)", ARG2, 6*sizeof(Addr) );
+ ML_(generic_PRE_sys_sendto)( tid, ARG2_0, ARG2_1, ARG2_2,
+ ARG2_3, ARG2_4, ARG2_5 );
+ break;
+
+ case VKI_SYS_SEND:
+ /* int send(int s, const void *msg, size_t len, int flags); */
+ PRE_MEM_READ_ef( "socketcall.send(args)", ARG2, 4*sizeof(Addr) );
+ ML_(generic_PRE_sys_send)( tid, ARG2_0, ARG2_1, ARG2_2 );
+ break;
+
+ case VKI_SYS_RECVFROM:
+ /* int recvfrom(int s, void *buf, int len, unsigned int flags,
+ struct sockaddr *from, int *fromlen); */
+ PRE_MEM_READ_ef( "socketcall.recvfrom(args)", ARG2, 6*sizeof(Addr) );
+ ML_(generic_PRE_sys_recvfrom)( tid, ARG2_0, ARG2_1, ARG2_2,
+ ARG2_3, ARG2_4, ARG2_5 );
+ break;
+
+ case VKI_SYS_RECV:
+ /* int recv(int s, void *buf, int len, unsigned int flags); */
+ /* man 2 recv says:
+ The recv call is normally used only on a connected socket
+ (see connect(2)) and is identical to recvfrom with a NULL
+ from parameter.
+ */
+ PRE_MEM_READ_ef( "socketcall.recv(args)", ARG2, 4*sizeof(Addr) );
+ ML_(generic_PRE_sys_recv)( tid, ARG2_0, ARG2_1, ARG2_2 );
+ break;
+
+ case VKI_SYS_CONNECT:
+ /* int connect(int sockfd,
+ struct sockaddr *serv_addr, int addrlen ); */
+ PRE_MEM_READ_ef( "socketcall.connect(args)", ARG2, 3*sizeof(Addr) );
+ ML_(generic_PRE_sys_connect)( tid, ARG2_0, ARG2_1, ARG2_2 );
+ break;
+
+ case VKI_SYS_SETSOCKOPT:
+ /* int setsockopt(int s, int level, int optname,
+ const void *optval, int optlen); */
+ PRE_MEM_READ_ef( "socketcall.setsockopt(args)", ARG2, 5*sizeof(Addr) );
+ ML_(generic_PRE_sys_setsockopt)( tid, ARG2_0, ARG2_1, ARG2_2,
+ ARG2_3, ARG2_4 );
+ break;
+
+ case VKI_SYS_GETSOCKOPT:
+ /* int getsockopt(int s, int level, int optname,
+ void *optval, socklen_t *optlen); */
+ PRE_MEM_READ_ef( "socketcall.getsockopt(args)", ARG2, 5*sizeof(Addr) );
+ ML_(linux_PRE_sys_getsockopt)( tid, ARG2_0, ARG2_1, ARG2_2,
+ ARG2_3, ARG2_4 );
+ break;
+
+ case VKI_SYS_GETSOCKNAME:
+ /* int getsockname(int s, struct sockaddr* name, int* namelen) */
+ PRE_MEM_READ_ef( "socketcall.getsockname(args)", ARG2, 3*sizeof(Addr) );
+ ML_(generic_PRE_sys_getsockname)( tid, ARG2_0, ARG2_1, ARG2_2 );
+ break;
+
+ case VKI_SYS_GETPEERNAME:
+ /* int getpeername(int s, struct sockaddr* name, int* namelen) */
+ PRE_MEM_READ_ef( "socketcall.getpeername(args)", ARG2, 3*sizeof(Addr) );
+ ML_(generic_PRE_sys_getpeername)( tid, ARG2_0, ARG2_1, ARG2_2 );
+ break;
+
+ case VKI_SYS_SHUTDOWN:
+ /* int shutdown(int s, int how); */
+ PRE_MEM_READ_ef( "socketcall.shutdown(args)", ARG2, 2*sizeof(Addr) );
+ break;
+
+ case VKI_SYS_SENDMSG:
+ /* int sendmsg(int s, const struct msghdr *msg, int flags); */
+ PRE_MEM_READ_ef( "socketcall.sendmsg(args)", ARG2, 3*sizeof(Addr) );
+ ML_(generic_PRE_sys_sendmsg)( tid, "msg", (struct vki_msghdr *)ARG2_1 );
+ break;
+
+ case VKI_SYS_RECVMSG:
+ /* int recvmsg(int s, struct msghdr *msg, int flags); */
+ PRE_MEM_READ_ef("socketcall.recvmsg(args)", ARG2, 3*sizeof(Addr) );
+ ML_(generic_PRE_sys_recvmsg)( tid, "msg", (struct vki_msghdr *)ARG2_1 );
+ break;
+
+ default:
+ VG_(message)(Vg_DebugMsg,"Warning: unhandled socketcall 0x%lx\n",ARG1);
+ SET_STATUS_Failure( VKI_EINVAL );
+ break;
+ }
+# undef ARG2_0
+# undef ARG2_1
+# undef ARG2_2
+# undef ARG2_3
+# undef ARG2_4
+# undef ARG2_5
+}
+
+POST(sys_socketcall)
+{
+# define ARG2_0 (((UWord*)ARG2)[0])
+# define ARG2_1 (((UWord*)ARG2)[1])
+# define ARG2_2 (((UWord*)ARG2)[2])
+# define ARG2_3 (((UWord*)ARG2)[3])
+# define ARG2_4 (((UWord*)ARG2)[4])
+# define ARG2_5 (((UWord*)ARG2)[5])
+
+ SysRes r;
+ vg_assert(SUCCESS);
+ switch (ARG1 /* request */) {
+
+ case VKI_SYS_SOCKETPAIR:
+ r = ML_(generic_POST_sys_socketpair)(
+ tid, VG_(mk_SysRes_Success)(RES),
+ ARG2_0, ARG2_1, ARG2_2, ARG2_3
+ );
+ SET_STATUS_from_SysRes(r);
+ break;
+
+ case VKI_SYS_SOCKET:
+ r = ML_(generic_POST_sys_socket)( tid, VG_(mk_SysRes_Success)(RES) );
+ SET_STATUS_from_SysRes(r);
+ break;
+
+ case VKI_SYS_BIND:
+ /* int bind(int sockfd, struct sockaddr *my_addr,
+ int addrlen); */
+ break;
+
+ case VKI_SYS_LISTEN:
+ /* int listen(int s, int backlog); */
+ break;
+
+ case VKI_SYS_ACCEPT:
+ case VKI_SYS_ACCEPT4:
+ /* int accept(int s, struct sockaddr *addr, int *addrlen); */
+ /* int accept4(int s, struct sockaddr *addr, int *addrlen, int flags); */
+ r = ML_(generic_POST_sys_accept)( tid, VG_(mk_SysRes_Success)(RES),
+ ARG2_0, ARG2_1, ARG2_2 );
+ SET_STATUS_from_SysRes(r);
+ break;
+
+ case VKI_SYS_SENDTO:
+ break;
+
+ case VKI_SYS_SEND:
+ break;
+
+ case VKI_SYS_RECVFROM:
+ ML_(generic_POST_sys_recvfrom)( tid, VG_(mk_SysRes_Success)(RES),
+ ARG2_0, ARG2_1, ARG2_2,
+ ARG2_3, ARG2_4, ARG2_5 );
+ break;
+
+ case VKI_SYS_RECV:
+ ML_(generic_POST_sys_recv)( tid, RES, ARG2_0, ARG2_1, ARG2_2 );
+ break;
+
+ case VKI_SYS_CONNECT:
+ break;
+
+ case VKI_SYS_SETSOCKOPT:
+ break;
+
+ case VKI_SYS_GETSOCKOPT:
+ ML_(linux_POST_sys_getsockopt)( tid, VG_(mk_SysRes_Success)(RES),
+ ARG2_0, ARG2_1,
+ ARG2_2, ARG2_3, ARG2_4 );
+ break;
+
+ case VKI_SYS_GETSOCKNAME:
+ ML_(generic_POST_sys_getsockname)( tid, VG_(mk_SysRes_Success)(RES),
+ ARG2_0, ARG2_1, ARG2_2 );
+ break;
+
+ case VKI_SYS_GETPEERNAME:
+ ML_(generic_POST_sys_getpeername)( tid, VG_(mk_SysRes_Success)(RES),
+ ARG2_0, ARG2_1, ARG2_2 );
+ break;
+
+ case VKI_SYS_SHUTDOWN:
+ break;
+
+ case VKI_SYS_SENDMSG:
+ break;
+
+ case VKI_SYS_RECVMSG:
+ ML_(generic_POST_sys_recvmsg)( tid, "msg", (struct vki_msghdr *)ARG2_1, RES );
+ break;
+
+ default:
+ VG_(message)(Vg_DebugMsg,"FATAL: unhandled socketcall 0x%lx\n",ARG1);
+ VG_(core_panic)("... bye!\n");
+ break; /*NOTREACHED*/
+ }
+# undef ARG2_0
+# undef ARG2_1
+# undef ARG2_2
+# undef ARG2_3
+# undef ARG2_4
+# undef ARG2_5
+}
+#endif
+
+/* ---------------------------------------------------------------------
*at wrappers
------------------------------------------------------------------ */
Modified: trunk/coregrind/m_syswrap/priv_syswrap-linux.h (+2 -1)
===================================================================
--- trunk/coregrind/m_syswrap/priv_syswrap-linux.h 2012-11-03 19:32:28 +00:00 (rev 13103)
+++ trunk/coregrind/m_syswrap/priv_syswrap-linux.h 2012-11-04 20:40:33 +00:00 (rev 13104)
@@ -294,9 +294,10 @@
#undef UW
#undef SR
-/* sys_ipc is a multiplexor which implements several syscalls.
+/* sys_ipc and sys_socketcall are multiplexors which implements several syscalls.
Used e.g. by x86, ppc32, ppc64, ... */
DECL_TEMPLATE(linux, sys_ipc);
+DECL_TEMPLATE(linux, sys_socketcall);
#endif // __PRIV_SYSWRAP_LINUX_H
Modified: trunk/coregrind/m_syswrap/syswrap-ppc32-linux.c (+1 -267)
===================================================================
--- trunk/coregrind/m_syswrap/syswrap-ppc32-linux.c 2012-11-03 19:32:28 +00:00 (rev 13103)
+++ trunk/coregrind/m_syswrap/syswrap-ppc32-linux.c 2012-11-04 20:40:33 +00:00 (rev 13104)
@@ -410,7 +410,6 @@
aren't visible outside this file, but that requires even more macro
magic. */
-DECL_TEMPLATE(ppc32_linux, sys_socketcall);
DECL_TEMPLATE(ppc32_linux, sys_mmap);
DECL_TEMPLATE(ppc32_linux, sys_mmap2);
DECL_TEMPLATE(ppc32_linux, sys_stat64);
@@ -424,271 +423,6 @@
DECL_TEMPLATE(ppc32_linux, sys_spu_create);
DECL_TEMPLATE(ppc32_linux, sys_spu_run);
-PRE(sys_socketcall)
-{
-# define ARG2_0 (((UWord*)ARG2)[0])
-# define ARG2_1 (((UWord*)ARG2)[1])
-# define ARG2_2 (((UWord*)ARG2)[2])
-# define ARG2_3 (((UWord*)ARG2)[3])
-# define ARG2_4 (((UWord*)ARG2)[4])
-# define ARG2_5 (((UWord*)ARG2)[5])
-
- *flags |= SfMayBlock;
- PRINT("sys_socketcall ( %ld, %#lx )",ARG1,ARG2);
- PRE_REG_READ2(long, "socketcall", int, call, unsigned long *, args);
-
- switch (ARG1 /* request */) {
-
- case VKI_SYS_SOCKETPAIR:
- /* int socketpair(int d, int type, int protocol, int sv[2]); */
- PRE_MEM_READ( "socketcall.socketpair(args)", ARG2, 4*sizeof(Addr) );
- ML_(generic_PRE_sys_socketpair)( tid, ARG2_0, ARG2_1, ARG2_2, ARG2_3 );
- break;
-
- case VKI_SYS_SOCKET:
- /* int socket(int domain, int type, int protocol); */
- PRE_MEM_READ( "socketcall.socket(args)", ARG2, 3*sizeof(Addr) );
- break;
-
- case VKI_SYS_BIND:
- /* int bind(int sockfd, struct sockaddr *my_addr,
- int addrlen); */
- PRE_MEM_READ( "socketcall.bind(args)", ARG2, 3*sizeof(Addr) );
- ML_(generic_PRE_sys_bind)( tid, ARG2_0, ARG2_1, ARG2_2 );
- break;
-
- case VKI_SYS_LISTEN:
- /* int listen(int s, int backlog); */
- PRE_MEM_READ( "socketcall.listen(args)", ARG2, 2*sizeof(Addr) );
- break;
-
- case VKI_SYS_ACCEPT: {
- /* int accept(int s, struct sockaddr *addr, int *addrlen); */
- PRE_MEM_READ( "socketcall.accept(args)", ARG2, 3*sizeof(Addr) );
- ML_(generic_PRE_sys_accept)( tid, ARG2_0, ARG2_1, ARG2_2 );
- break;
- }
-
- case VKI_SYS_ACCEPT4: {
- /* int accept(int s, struct sockaddr *addr, int *addrlen, int args); */
- PRE_MEM_READ( "socketcall.accept4(args)", ARG2, 4*sizeof(Addr) );
- ML_(generic_PRE_sys_accept)( tid, ARG2_0, ARG2_1, ARG2_2 );
- break;
- }
-
- case VKI_SYS_SENDTO:
- /* int sendto(int s, const void *msg, int len,
- unsigned int flags,
- const struct sockaddr *to, int tolen); */
- PRE_MEM_READ( "socketcall.sendto(args)", ARG2, 6*sizeof(Addr) );
- ML_(generic_PRE_sys_sendto)( tid, ARG2_0, ARG2_1, ARG2_2,
- ARG2_3, ARG2_4, ARG2_5 );
- break;
-
- case VKI_SYS_SEND:
- /* int send(int s, const void *msg, size_t len, int flags); */
- PRE_MEM_READ( "socketcall.send(args)", ARG2, 4*sizeof(Addr) );
- ML_(generic_PRE_sys_send)( tid, ARG2_0, ARG2_1, ARG2_2 );
- break;
-
- case VKI_SYS_RECVFROM:
- /* int recvfrom(int s, void *buf, int len, unsigned int flags,
- struct sockaddr *from, int *fromlen); */
- PRE_MEM_READ( "socketcall.recvfrom(args)", ARG2, 6*sizeof(Addr) );
- ML_(generic_PRE_sys_recvfrom)( tid, ARG2_0, ARG2_1, ARG2_2,
- ARG2_3, ARG2_4, ARG2_5 );
- break;
-
- case VKI_SYS_RECV:
- /* int recv(int s, void *buf, int len, unsigned int flags); */
- /* man 2 recv says:
- The recv call is normally used only on a connected socket
- (see connect(2)) and is identical to recvfrom with a NULL
- from parameter.
- */
- PRE_MEM_READ( "socketcall.recv(args)", ARG2, 4*sizeof(Addr) );
- ML_(generic_PRE_sys_recv)( tid, ARG2_0, ARG2_1, ARG2_2 );
- break;
-
- case VKI_SYS_CONNECT:
- /* int connect(int sockfd,
- struct sockaddr *serv_addr, int addrlen ); */
- PRE_MEM_READ( "socketcall.connect(args)", ARG2, 3*sizeof(Addr) );
- ML_(generic_PRE_sys_connect)( tid, ARG2_0, ARG2_1, ARG2_2 );
- break;
-
- case VKI_SYS_SETSOCKOPT:
- /* int setsockopt(int s, int level, int optname,
- const void *optval, int optlen); */
- PRE_MEM_READ( "socketcall.setsockopt(args)", ARG2, 5*sizeof(Addr) );
- ML_(generic_PRE_sys_setsockopt)( tid, ARG2_0, ARG2_1, ARG2_2,
- ARG2_3, ARG2_4 );
- break;
-
- case VKI_SYS_GETSOCKOPT:
- /* int getsockopt(int s, int level, int optname,
- void *optval, socklen_t *optlen); */
- PRE_MEM_READ( "socketcall.getsockopt(args)", ARG2, 5*sizeof(Addr) );
- ML_(linux_PRE_sys_getsockopt)( tid, ARG2_0, ARG2_1, ARG2_2,
- ARG2_3, ARG2_4 );
- break;
-
- case VKI_SYS_GETSOCKNAME:
- /* int getsockname(int s, struct sockaddr* name, int* namelen) */
- PRE_MEM_READ( "socketcall.getsockname(args)", ARG2, 3*sizeof(Addr) );
- ML_(generic_PRE_sys_getsockname)( tid, ARG2_0, ARG2_1, ARG2_2 );
- break;
-
- case VKI_SYS_GETPEERNAME:
- /* int getpeername(int s, struct sockaddr* name, int* namelen) */
- PRE_MEM_READ( "socketcall.getpeername(args)", ARG2, 3*sizeof(Addr) );
- ML_(generic_PRE_sys_getpeername)( tid, ARG2_0, ARG2_1, ARG2_2 );
- break;
-
- case VKI_SYS_SHUTDOWN:
- /* int shutdown(int s, int how); */
- PRE_MEM_READ( "socketcall.shutdown(args)", ARG2, 2*sizeof(Addr) );
- break;
-
- case VKI_SYS_SENDMSG: {
- /* int sendmsg(int s, const struct msghdr *msg, int flags); */
-
- /* this causes warnings, and I don't get why. glibc bug?
- * (after all it's glibc providing the arguments array)
- PRE_MEM_READ( "socketcall.sendmsg(args)", ARG2, 3*sizeof(Addr) );
- */
- ML_(generic_PRE_sys_sendmsg)( tid, "msg", (struct vki_msghdr *)ARG2_1 );
- break;
- }
-
- case VKI_SYS_RECVMSG: {
- /* int recvmsg(int s, struct msghdr *msg, int flags); */
-
- /* this causes warnings, and I don't get why. glibc bug?
- * (after all it's glibc providing the arguments array)
- PRE_MEM_READ("socketcall.recvmsg(args)", ARG2, 3*sizeof(Addr) );
- */
- ML_(generic_PRE_sys_recvmsg)( tid, "msg", (struct vki_msghdr *)ARG2_1 );
- break;
- }
-
- default:
- VG_(message)(Vg_DebugMsg,"Warning: unhandled socketcall 0x%lx\n",ARG1);
- SET_STATUS_Failure( VKI_EINVAL );
- break;
- }
-# undef ARG2_0
-# undef ARG2_1
-# undef ARG2_2
-# undef ARG2_3
-# undef ARG2_4
-# undef ARG2_5
-}
-
-POST(sys_socketcall)
-{
-# define ARG2_0 (((UWord*)ARG2)[0])
-# define ARG2_1 (((UWord*)ARG2)[1])
-# define ARG2_2 (((UWord*)ARG2)[2])
-# define ARG2_3 (((UWord*)ARG2)[3])
-# define ARG2_4 (((UWord*)ARG2)[4])
-# define ARG2_5 (((UWord*)ARG2)[5])
-
- SysRes r;
- vg_assert(SUCCESS);
- switch (ARG1 /* request */) {
-
- case VKI_SYS_SOCKETPAIR:
- r = ML_(generic_POST_sys_socketpair)(
- tid, VG_(mk_SysRes_Success)(RES),
- ARG2_0, ARG2_1, ARG2_2, ARG2_3
- );
- SET_STATUS_from_SysRes(r);
- break;
-
- case VKI_SYS_SOCKET:
- r = ML_(generic_POST_sys_socket)( tid, VG_(mk_SysRes_Success)(RES) );
- SET_STATUS_from_SysRes(r);
- break;
-
- case VKI_SYS_BIND:
- /* int bind(int sockfd, struct sockaddr *my_addr,
- int addrlen); */
- break;
-
- case VKI_SYS_LISTEN:
- /* int listen(int s, int backlog); */
- break;
-
- case VKI_SYS_ACCEPT:
- case VKI_SYS_ACCEPT4:
- /* int accept(int s, struct sockaddr *addr, int *addrlen); */
- r = ML_(generic_POST_sys_accept)( tid, VG_(mk_SysRes_Success)(RES),
- ARG2_0, ARG2_1, ARG2_2 );
- SET_STATUS_from_SysRes(r);
- break;
-
- case VKI_SYS_SENDTO:
- break;
-
- case VKI_SYS_SEND:
- break;
-
- case VKI_SYS_RECVFROM:
- ML_(generic_POST_sys_recvfrom)( tid, VG_(mk_SysRes_Success)(RES),
- ARG2_0, ARG2_1, ARG2_2,
- ARG2_3, ARG2_4, ARG2_5 );
- break;
-
- case VKI_SYS_RECV:
- ML_(generic_POST_sys_recv)( tid, RES, ARG2_0, ARG2_1, ARG2_2 );
- break;
-
- case VKI_SYS_CONNECT:
- break;
-
- case VKI_SYS_SETSOCKOPT:
- break;
-
- case VKI_SYS_GETSOCKOPT:
- ML_(linux_POST_sys_getsockopt)( tid, VG_(mk_SysRes_Success)(RES),
- ARG2_0, ARG2_1,
- ARG2_2, ARG2_3, ARG2_4 );
- break;
-
- case VKI_SYS_GETSOCKNAME:
- ML_(generic_POST_sys_getsockname)( tid, VG_(mk_SysRes_Success)(RES),
- ARG2_0, ARG2_1, ARG2_2 );
- break;
-
- case VKI_SYS_GETPEERNAME:
- ML_(generic_POST_sys_getpeername)( tid, VG_(mk_SysRes_Success)(RES),
- ARG2_0, ARG2_1, ARG2_2 );
- break;
-
- case VKI_SYS_SHUTDOWN:
- break;
-
- case VKI_SYS_SENDMSG:
- break;
-
- case VKI_SYS_RECVMSG:
- ML_(generic_POST_sys_recvmsg)( tid, "msg", (struct vki_msghdr *)ARG2_1, RES );
- break;
-
- default:
- VG_(message)(Vg_DebugMsg,"FATAL: unhandled socketcall 0x%lx\n",ARG1);
- VG_(core_panic)("... bye!\n");
- break; /*NOTREACHED*/
- }
-# undef ARG2_0
-# undef ARG2_1
-# undef ARG2_2
-# undef ARG2_3
-# undef ARG2_4
-# undef ARG2_5
-}
-
PRE(sys_mmap)
{
SysRes r;
@@ -1265,7 +999,7 @@
//..
GENXY(__NR_fstatfs, sys_fstatfs), // 100
//.. LINX_(__NR_ioperm, sys_ioperm), // 101
- PLAXY(__NR_socketcall, sys_socketcall), // 102
+ LINXY(__NR_socketcall, sys_socketcall), // 102
LINXY(__NR_syslog, sys_syslog), // 103
GENXY(__NR_setitimer, sys_setitimer), // 104
Modified: trunk/coregrind/m_syswrap/syswrap-mips32-linux.c (+1 -223)
===================================================================
--- trunk/coregrind/m_syswrap/syswrap-mips32-linux.c 2012-11-03 19:32:28 +00:00 (rev 13103)
+++ trunk/coregrind/m_syswrap/syswrap-mips32-linux.c 2012-11-04 20:40:33 +00:00 (rev 13104)
@@ -373,7 +373,6 @@
aren't visible outside this file, but that requires even more macro
magic. */
//DECL_TEMPLATE (mips_linux, sys_syscall);
-DECL_TEMPLATE (mips_linux, sys_socketcall);
DECL_TEMPLATE (mips_linux, sys_socket);
DECL_TEMPLATE (mips_linux, sys_setsockopt);
DECL_TEMPLATE (mips_linux, sys_getsockopt);
@@ -415,227 +414,6 @@
DECL_TEMPLATE (mips_linux, sys_set_thread_area);
DECL_TEMPLATE (mips_linux, sys_pipe);
-PRE (sys_socketcall)
-{
-# define ARG2_0 (((UWord*)ARG2)[0])
-# define ARG2_1 (((UWord*)ARG2)[1])
-# define ARG2_2 (((UWord*)ARG2)[2])
-# define ARG2_3 (((UWord*)ARG2)[3])
-# define ARG2_4 (((UWord*)ARG2)[4])
-# define ARG2_5 (((UWord*)ARG2)[5])
- *flags |= SfMayBlock;
- PRINT ("sys_socketcall ( %ld, %#lx )", ARG1, ARG2);
- PRE_REG_READ2 (long, "socketcall", int, call, unsigned long *, args);
- switch (ARG1 /* request */ )
- {
- case VKI_SYS_SOCKETPAIR:
- /* int socketpair(int d, int type, int protocol, int sv[2]); */
- PRE_MEM_READ ("socketcall.socketpair(args)", ARG2,
- 4 * sizeof (Addr));
- ML_ (generic_PRE_sys_socketpair) (tid, ARG2_0, ARG2_1, ARG2_2, ARG2_3);
- break;
- case VKI_SYS_SOCKET:
- /* int socket(int domain, int type, int protocol); */
- PRE_MEM_READ ("socketcall.socket(args)", ARG2, 3 * sizeof (Addr));
- break;
- case VKI_SYS_BIND:
- /* int bind(int sockfd, struct sockaddr *my_addr,
- int addrlen); */
- PRE_MEM_READ ("socketcall.bind(args)", ARG2, 3 * sizeof (Addr));
- ML_ (generic_PRE_sys_bind) (tid, ARG2_0, ARG2_1, ARG2_2);
- break;
- case VKI_SYS_LISTEN:
- /* int listen(int s, int backlog); */
- PRE_MEM_READ ("socketcall.listen(args)", ARG2, 2 * sizeof (Addr));
- break;
- case VKI_SYS_ACCEPT:
- {
- /* int accept(int s, struct sockaddr *addr, int *addrlen); */
- PRE_MEM_READ ("socketcall.accept(args)", ARG2, 3 * sizeof (Addr));
- ML_ (generic_PRE_sys_accept) (tid, ARG2_0, ARG2_1, ARG2_2);
- break;
- }
- case VKI_SYS_SENDTO:
- /* int sendto(int s, const void *msg, int len,
- unsigned int flags,
- const struct sockaddr *to, int tolen); */
- PRE_MEM_READ ("socketcall.sendto(args)", ARG2, 6 * sizeof (Addr));
- ML_ (generic_PRE_sys_sendto) (tid, ARG2_0, ARG2_1, ARG2_2, ARG2_3,
- ARG2_4, ARG2_5);
- break;
- case VKI_SYS_SEND:
- /* int send(int s, const void *msg, size_t len, int flags); */
- PRE_MEM_READ ("socketcall.send(args)", ARG2, 4 * sizeof (Addr));
- ML_ (generic_PRE_sys_send) (tid, ARG2_0, ARG2_1, ARG2_2);
- break;
- case VKI_SYS_RECVFROM:
- /* int recvfrom(int s, void *buf, int len, unsigned int flags,
- struct sockaddr *from, int *fromlen); */
- PRE_MEM_READ ("socketcall.recvfrom(args)", ARG2, 6 * sizeof (Addr));
- ML_ (generic_PRE_sys_recvfrom) (tid, ARG2_0, ARG2_1, ARG2_2,
- ARG2_3, ARG2_4, ARG2_5);
- break;
- case VKI_SYS_RECV:
- /* int recv(int s, void *buf, int len, unsigned int flags); */
- /* man 2 recv says:
- The recv call is normally used only on a connected socket
- (see connect(2)) and is identical to recvfrom with a NULL
- from parameter.
- */
- PRE_MEM_READ ("socketcall.recv(args)", ARG2, 4 * sizeof (Addr));
- ML_ (generic_PRE_sys_recv) (tid, ARG2_0, ARG2_1, ARG2_2);
- break;
- case VKI_SYS_CONNECT:
- /* int connect(int sockfd,
- struct sockaddr *serv_addr, int addrlen ); */
- PRE_MEM_READ ("socketcall.connect(args)", ARG2, 3 * sizeof (Addr));
- ML_ (generic_PRE_sys_connect) (tid, ARG2_0, ARG2_1, ARG2_2);
- break;
- case VKI_SYS_SETSOCKOPT:
- /* int setsockopt(int s, int level, int optname,
- const void *optval, int optlen); */
- PRE_MEM_READ ("socketcall.setsockopt(args)", ARG2, 5 * sizeof (Addr));
- ML_ (generic_PRE_sys_setsockopt) (tid, ARG2_0, ARG2_1, ARG2_2,
- ARG2_3, ARG2_4);
- break;
- case VKI_SYS_GETSOCKOPT:
- /* int getsockopt(int s, int level, int optname,
- void *optval, socklen_t *optlen); */
- PRE_MEM_READ ("socketcall.getsockopt(args)", ARG2, 5 * sizeof (Addr));
- ML_ (linux_PRE_sys_getsockopt) (tid, ARG2_0, ARG2_1, ARG2_2, ARG2_3, ARG2_4);
- break;
- case VKI_SYS_GETSOCKNAME:
- /* int getsockname(int s, struct sockaddr* name, int* namelen) */
- PRE_MEM_READ ("socketcall.getsockname(args)", ARG2, 3 * sizeof (Addr));
- ML_ (generic_PRE_sys_getsockname) (tid, ARG2_0, ARG2_1, ARG2_2);
- break;
- case VKI_SYS_GETPEERNAME:
- /* int getpeername(int s, struct sockaddr* name, int* namelen) */
- PRE_MEM_READ ("socketcall.getpeername(args)", ARG2, 3 * sizeof (Addr));
- ML_ (generic_PRE_sys_getpeername) (tid, ARG2_0, ARG2_1, ARG2_2);
- break;
- case VKI_SYS_SHUTDOWN:
- /* int shutdown(int s, int how); */
- PRE_MEM_READ ("socketcall.shutdown(args)", ARG2, 2 * sizeof (Addr));
- break;
- case VKI_SYS_SENDMSG:
- {
- /* int sendmsg(int s, const struct msghdr *msg, int flags); */
- /* this causes warnings, and I don't get why. glibc bug?
- * (after all it's glibc providing the arguments array)
- PRE_MEM_READ( "socketcall.sendmsg(args)", ARG2, 3*sizeof(Addr) );
- */
- ML_ (generic_PRE_sys_sendmsg) (tid, (UChar *)ARG2_0, (struct vki_msghdr *)ARG2_1);
- break;
- }
- case VKI_SYS_RECVMSG:
- {
- /* int recvmsg(int s, struct msghdr *msg, int flags); */
- /* this causes warnings, and I don't get why. glibc bug?
- * (after all it's glibc providing the arguments array)
- PRE_MEM_READ("socketcall.recvmsg(args)", ARG2, 3*sizeof(Addr) );
- */
- ML_ (generic_PRE_sys_recvmsg) (tid, (UChar *)ARG2_0,
- (struct vki_msghdr *)ARG2_1);
- break;
- }
- default:
- VG_ (message) (Vg_DebugMsg, "Warning: unhandled socketcall 0x%lx", ARG1);
- SET_STATUS_Failure (VKI_EINVAL);
- break;
- }
-# undef ARG2_0
-# undef ARG2_1
-# undef ARG2_2
-# undef ARG2_3
-# undef ARG2_4
-# undef ARG2_5
-}
-
-POST (sys_socketcall)
-{
-# define ARG2_0 (((UWord*)ARG2)[0])
-# define ARG2_1 (((UWord*)ARG2)[1])
-# define ARG2_2 (((UWord*)ARG2)[2])
-# define ARG2_3 (((UWord*)ARG2)[3])
-# define ARG2_4 (((UWord*)ARG2)[4])
-# define ARG2_5 (((UWord*)ARG2)[5])
- SysRes r;
- vg_assert (SUCCESS);
- switch (ARG1 /* request */ )
- {
- case VKI_SYS_SOCKETPAIR:
- r = ML_ (generic_POST_sys_socketpair) ( tid,
- VG_ (mk_SysRes_Success) (RES),
- ARG2_0, ARG2_1, ARG2_2, ARG2_3);
- SET_STATUS_from_SysRes (r);
- break;
- case VKI_SYS_SOCKET:
- r = ML_ (generic_POST_sys_socket) (tid, VG_ (mk_SysRes_Success) (RES));
- SET_STATUS_from_SysRes (r);
- break;
- case VKI_SYS_BIND:
- /* int bind(int sockfd, struct sockaddr *my_addr, int addrlen); */
- break;
- case VKI_SYS_LISTEN:
- /* int listen(int s, int backlog); */
- break;
- case VKI_SYS_ACCEPT:
- /* int accept(int s, struct sockaddr *addr, int *addrlen); */
- r = ML_ (generic_POST_sys_accept) (tid, VG_ (mk_SysRes_Success) (RES),
- ARG2_0, ARG2_1, ARG2_2);
- SET_STATUS_from_SysRes (r);
- break;
- case VKI_SYS_SENDTO:
- break;
- case VKI_SYS_SEND:
- break;
- case VKI_SYS_RECVFROM:
- ML_ (generic_POST_sys_recvfrom) (tid, VG_ (mk_SysRes_Success) (RES),
- ARG2_0, ARG2_1, ARG2_2, ARG2_3,
- ARG2_4, ARG2_5);
- break;
- case VKI_SYS_RECV:
- ML_ (generic_POST_sys_recv) (tid, RES, ARG2_0, ARG2_1, ARG2_2);
- break;
- case VKI_SYS_CONNECT:
- break;
- case VKI_SYS_SETSOCKOPT:
- break;
- case VKI_SYS_GETSOCKOPT:
- ML_ (linux_POST_sys_getsockopt) (tid, VG_ (mk_SysRes_Success) (RES),
- ARG2_0, ARG2_1, ARG2_2,
- ARG2_3, ARG2_4);
- break;
- case VKI_SYS_GETSOCKNAME:
- ML_ (generic_POST_sys_getsockname) (tid, VG_ (mk_SysRes_Success) (RES),
- ARG2_0, ARG2_1, ARG2_2);
- break;
- case VKI_SYS_GETPEERNAME:
- ML_ (generic_POST_sys_getpeername) (tid, VG_ (mk_SysRes_Success) (RES),
- ARG2_0, ARG2_1, ARG2_2);
- break;
- case VKI_SYS_SHUTDOWN:
- break;
- case VKI_SYS_SENDMSG:
- break;
- case VKI_SYS_RECVMSG:
- ML_(generic_PRE_sys_recvmsg)( tid, "msg", (struct vki_msghdr *)ARG2_1 );
- break;
- default:
- VG_ (message) (Vg_DebugMsg, "FATAL: unhandled socketcall 0x%lx", ARG1);
- VG_ (core_panic) ("... bye!\n");
- break;
- /*NOTREACHED*/
- }
-# undef ARG2_0
-# undef ARG2_1
-# undef ARG2_2
-# undef ARG2_3
-# undef ARG2_4
-# undef ARG2_5
-}
-
PRE (sys_socket)
{
PRINT ("sys_socket ( %ld, %ld, %ld )", ARG1, ARG2, ARG3);
@@ -1372,7 +1150,7 @@
//..
GENXY (__NR_fstatfs, sys_fstatfs), // 100
//.. LINX_(__NR_ioperm, sys_ioperm), // 101
- PLAXY (__NR_socketcall, sys_socketcall), // 102
+ LINXY (__NR_socketcall, sys_socketcall), // 102
LINXY (__NR_syslog, sys_syslog), // 103
GENXY (__NR_setitimer, sys_setitimer), // 104
//..
Modified: trunk/coregrind/m_syswrap/priv_syswrap-generic.h (+1 -2)
===================================================================
--- trunk/coregrind/m_syswrap/priv_syswrap-generic.h 2012-11-03 19:32:28 +00:00 (rev 13103)
+++ trunk/coregrind/m_syswrap/priv_syswrap-generic.h 2012-11-04 20:40:33 +00:00 (rev 13104)
@@ -191,7 +191,6 @@
DECL_TEMPLATE(generic, sys_statfs); // * L?
DECL_TEMPLATE(generic, sys_fstatfs); // * L?
DECL_TEMPLATE(generic, sys_iopl); // (x86/amd64) L
-DECL_TEMPLATE(generic, sys_ipc); // (x86) L
DECL_TEMPLATE(generic, sys_newuname); // * P
DECL_TEMPLATE(generic, sys_pread64); // * (Unix98?)
DECL_TEMPLATE(generic, sys_pwrite64); // * (Unix98?)
@@ -210,7 +209,7 @@
/* ---------------------------------------------------------------------
Wrappers for sockets and ipc-ery. These are split into standalone
- procedures because x86-linux hides them inside multiplexors
+ procedures because some platforms hides them inside multiplexors
(sys_socketcall and sys_ipc).
------------------------------------------------------------------ */
Modified: trunk/coregrind/m_syswrap/syswrap-arm-linux.c (+1 -267)
===================================================================
--- trunk/coregrind/m_syswrap/syswrap-arm-linux.c 2012-11-03 19:32:28 +00:00 (rev 13103)
+++ trunk/coregrind/m_syswrap/syswrap-arm-linux.c 2012-11-04 20:40:33 +00:00 (rev 13104)
@@ -344,7 +344,6 @@
aren't visible outside this file, but that requires even more macro
magic. */
-DECL_TEMPLATE(arm_linux, sys_socketcall);
DECL_TEMPLATE(arm_linux, sys_socket);
DECL_TEMPLATE(arm_linux, sys_setsockopt);
DECL_TEMPLATE(arm_linux, sys_getsockopt);
@@ -392,272 +391,7 @@
DECL_TEMPLATE(arm_linux, sys_cacheflush);
DECL_TEMPLATE(arm_linux, sys_ptrace);
-PRE(sys_socketcall)
-{
-# define ARG2_0 (((UWord*)ARG2)[0])
-# define ARG2_1 (((UWord*)ARG2)[1])
-# define ARG2_2 (((UWord*)ARG2)[2])
-# define ARG2_3 (((UWord*)ARG2)[3])
-# define ARG2_4 (((UWord*)ARG2)[4])
-# define ARG2_5 (((UWord*)ARG2)[5])
- *flags |= SfMayBlock;
- PRINT("sys_socketcall ( %ld, %#lx )",ARG1,ARG2);
- PRE_REG_READ2(long, "socketcall", int, call, unsigned long *, args);
-
- switch (ARG1 /* request */) {
-
- case VKI_SYS_SOCKETPAIR:
- /* int socketpair(int d, int type, int protocol, int sv[2]); */
- PRE_MEM_READ( "socketcall.socketpair(args)", ARG2, 4*sizeof(Addr) );
- ML_(generic_PRE_sys_socketpair)( tid, ARG2_0, ARG2_1, ARG2_2, ARG2_3 );
- break;
-
- case VKI_SYS_SOCKET:
- /* int socket(int domain, int type, int protocol); */
- PRE_MEM_READ( "socketcall.socket(args)", ARG2, 3*sizeof(Addr) );
- break;
-
- case VKI_SYS_BIND:
- /* int bind(int sockfd, struct sockaddr *my_addr,
- int addrlen); */
- PRE_MEM_READ( "socketcall.bind(args)", ARG2, 3*sizeof(Addr) );
- ML_(generic_PRE_sys_bind)( tid, ARG2_0, ARG2_1, ARG2_2 );
- break;
-
- case VKI_SYS_LISTEN:
- /* int listen(int s, int backlog); */
- PRE_MEM_READ( "socketcall.listen(args)", ARG2, 2*sizeof(Addr) );
- break;
-
- case VKI_SYS_ACCEPT: {
- /* int accept(int s, struct sockaddr *addr, int *addrlen); */
- PRE_MEM_READ( "socketcall.accept(args)", ARG2, 3*sizeof(Addr) );
- ML_(generic_PRE_sys_accept)( tid, ARG2_0, ARG2_1, ARG2_2 );
- break;
- }
-
- case VKI_SYS_ACCEPT4: {
- /*int accept(int s, struct sockaddr *add, int *addrlen, int flags)*/
- PRE_MEM_READ( "socketcall.accept4(args)", ARG2, 4*sizeof(Addr) );
- ML_(generic_PRE_sys_accept)( tid, ARG2_0, ARG2_1, ARG2_2 );
- break;
- }
-
- case VKI_SYS_SENDTO:
- /* int sendto(int s, const void *msg, int len,
- unsigned int flags,
- const struct sockaddr *to, int tolen); */
- PRE_MEM_READ( "socketcall.sendto(args)", ARG2, 6*sizeof(Addr) );
- ML_(generic_PRE_sys_sendto)( tid, ARG2_0, ARG2_1, ARG2_2,
- ARG2_3, ARG2_4, ARG2_5 );
- break;
-
- case VKI_SYS_SEND:
- /* int send(int s, const void *msg, size_t len, int flags); */
- PRE_MEM_READ( "socketcall.send(args)", ARG2, 4*sizeof(Addr) );
- ML_(generic_PRE_sys_send)( tid, ARG2_0, ARG2_1, ARG2_2 );
- break;
-
- case VKI_SYS_RECVFROM:
- /* int recvfrom(int s, void *buf, int len, unsigned int flags,
- struct sockaddr *from, int *fromlen); */
- PRE_MEM_READ( "socketcall.recvfrom(args)", ARG2, 6*sizeof(Addr) );
- ML_(generic_PRE_sys_recvfrom)( tid, ARG2_0, ARG2_1, ARG2_2,
- ARG2_3, ARG2_4, ARG2_5 );
- break;
-
- case VKI_SYS_RECV:
- /* int recv(int s, void *buf, int len, unsigned int flags); */
- /* man 2 recv says:
- The recv call is normally used only on a connected socket
- (see connect(2)) and is identical to recvfrom with a NULL
- from parameter.
- */
- PRE_MEM_READ( "socketcall.recv(args)", ARG2, 4*sizeof(Addr) );
- ML_(generic_PRE_sys_recv)( tid, ARG2_0, ARG2_1, ARG2_2 );
- break;
-
- case VKI_SYS_CONNECT:
- /* int connect(int sockfd,
- struct sockaddr *serv_addr, int addrlen ); */
- PRE_MEM_READ( "socketcall.connect(args)", ARG2, 3*sizeof(Addr) );
- ML_(generic_PRE_sys_connect)( tid, ARG2_0, ARG2_1, ARG2_2 );
- break;
-
- case VKI_SYS_SETSOCKOPT:
- /* int setsockopt(int s, int level, int optname,
- const void *optval, int optlen); */
- PRE_MEM_READ( "socketcall.setsockopt(args)", ARG2, 5*sizeof(Addr) );
- ML_(generic_PRE_sys_setsockopt)( tid, ARG2_0, ARG2_1, ARG2_2,
- ARG2_3, ARG2_4 );
- break;
-
- case VKI_SYS_GETSOCKOPT:
- /* int getsockopt(int s, int level, int optname,
- void *optval, socklen_t *optlen); */
- PRE_MEM_READ( "socketcall.getsockopt(args)", ARG2, 5*sizeof(Addr) );
- ML_(linux_PRE_sys_getsockopt)( tid, ARG2_0, ARG2_1, ARG2_2,
- ARG2_3, ARG2_4 );
- break;
-
- case VKI_SYS_GETSOCKNAME:
- /* int getsockname(int s, struct sockaddr* name, int* namelen) */
- PRE_MEM_READ( "socketcall.getsockname(args)", ARG2, 3*sizeof(Addr) );
- ML_(generic_PRE_sys_getsockname)( tid, ARG2_0, ARG2_1, ARG2_2 );
- break;
-
- case VKI_SYS_GETPEERNAME:
- /* int getpeername(int s, struct sockaddr* name, int* namelen) */
- PRE_MEM_READ( "socketcall.getpeername(args)", ARG2, 3*sizeof(Addr) );
- ML_(generic_PRE_sys_getpeername)( tid, ARG2_0, ARG2_1, ARG2_2 );
- break;
-
- case VKI_SYS_SHUTDOWN:
- /* int shutdown(int s, int how); */
- PRE_MEM_READ( "socketcall.shutdown(args)", ARG2, 2*sizeof(Addr) );
- break;
-
- case VKI_SYS_SENDMSG: {
- /* int sendmsg(int s, const struct msghdr *msg, int flags); */
-
- /* this causes warnings, and I don't get why. glibc bug?
- * (after all it's glibc providing the arguments array)
- PRE_MEM_READ( "socketcall.sendmsg(args)", ARG2, 3*sizeof(Addr) );
- */
- ML_(generic_PRE_sys_sendmsg)( tid, "msg", (struct vki_msghdr *)ARG2_1 );
- break;
- }
-
- case VKI_SYS_RECVMSG: {
- /* int recvmsg(int s, struct msghdr *msg, int flags); */
-
- /* this causes warnings, and I don't get why. glibc bug?
- * (after all it's glibc providing the arguments array)
- PRE_MEM_READ("socketcall.recvmsg(args)", ARG2, 3*sizeof(Addr) );
- */
- ML_(generic_PRE_sys_recvmsg)( tid, "msg", (struct vki_msghdr *)ARG2_1 );
- break;
- }
...
[truncated message content] |
|
From: Tom H. <to...@co...> - 2012-11-04 04:08:53
|
valgrind revision: 13103 VEX revision: 2558 C compiler: gcc (GCC) 4.3.0 20080428 (Red Hat 4.3.0-8) Assembler: GNU assembler version 2.18.50.0.6-2 20080403 C library: GNU C Library stable release version 2.8 uname -mrs: Linux 3.5.3-1.fc17.x86_64 x86_64 Vendor version: Fedora release 9 (Sulphur) Nightly build on bristol ( x86_64, Fedora 9 ) Started at 2012-11-04 03:41:25 GMT Ended at 2012-11-04 04:08:37 GMT Results unchanged from 24 hours ago Checking out valgrind source tree ... done Configuring valgrind ... done Building valgrind ... done Running regression tests ... failed Regression test results follow == 609 tests, 1 stderr failure, 1 stdout failure, 0 stderrB failures, 0 stdoutB failures, 0 post failures == memcheck/tests/err_disable4 (stderr) none/tests/amd64/sse4-64 (stdout) |
|
From: Tom H. <to...@co...> - 2012-11-04 04:00:26
|
valgrind revision: 13103 VEX revision: 2558 C compiler: gcc (GCC) 4.4.1 20090725 (Red Hat 4.4.1-2) Assembler: GNU assembler version 2.19.51.0.14-3.fc11 20090722 C library: GNU C Library stable release version 2.10.2 uname -mrs: Linux 3.5.3-1.fc17.x86_64 x86_64 Vendor version: Fedora release 11 (Leonidas) Nightly build on bristol ( x86_64, Fedora 11 ) Started at 2012-11-04 03:31:47 GMT Ended at 2012-11-04 04:00:04 GMT Results unchanged from 24 hours ago Checking out valgrind source tree ... done Configuring valgrind ... done Building valgrind ... done Running regression tests ... failed Regression test results follow == 613 tests, 2 stderr failures, 1 stdout failure, 0 stderrB failures, 0 stdoutB failures, 0 post failures == memcheck/tests/err_disable4 (stderr) memcheck/tests/long_namespace_xml (stderr) none/tests/amd64/sse4-64 (stdout) |
|
From: Tom H. <to...@co...> - 2012-11-04 03:58:09
|
valgrind revision: 13103 VEX revision: 2558 C compiler: gcc (GCC) 4.4.5 20101112 (Red Hat 4.4.5-2) Assembler: GNU assembler version 2.20.51.0.2-20.fc13 20091009 C library: GNU C Library stable release version 2.12.2 uname -mrs: Linux 3.5.3-1.fc17.x86_64 x86_64 Vendor version: Fedora release 13 (Goddard) Nightly build on bristol ( x86_64, Fedora 13 ) Started at 2012-11-04 03:22:57 GMT Ended at 2012-11-04 03:57:44 GMT Results unchanged from 24 hours ago Checking out valgrind source tree ... done Configuring valgrind ... done Building valgrind ... done Running regression tests ... failed Regression test results follow == 613 tests, 2 stderr failures, 0 stdout failures, 0 stderrB failures, 0 stdoutB failures, 0 post failures == memcheck/tests/err_disable4 (stderr) helgrind/tests/pth_barrier3 (stderr) |
|
From: Philippe W. <phi...@sk...> - 2012-11-04 03:49:31
|
valgrind revision: 13103 VEX revision: 2558 C compiler: gcc (GCC) 4.6.3 20120306 (Red Hat 4.6.3-2) Assembler: GNU assembler version 2.21.53.0.1-6.fc16 20110716 C library: GNU C Library development release version 2.14.90 uname -mrs: Linux 3.3.1-3.fc16.ppc64 ppc64 Vendor version: Fedora release 16 (Verne) Nightly build on gcc110 ( Fedora release 16 (Verne), ppc64 ) Started at 2012-11-03 20:00:09 PDT Ended at 2012-11-03 20:47:56 PDT Results unchanged from 24 hours ago Checking out valgrind source tree ... done Configuring valgrind ... done Building valgrind ... done Running regression tests ... failed Regression test results follow == 537 tests, 7 stderr failures, 2 stdout failures, 1 stderrB failure, 1 stdoutB failure, 2 post failures == gdbserver_tests/mcmain_pic (stdout) gdbserver_tests/mcmain_pic (stderr) gdbserver_tests/mcmain_pic (stdoutB) gdbserver_tests/mcmain_pic (stderrB) memcheck/tests/supp_unknown (stderr) memcheck/tests/trivialleak (stderr) memcheck/tests/varinfo6 (stderr) memcheck/tests/wrap8 (stdout) memcheck/tests/wrap8 (stderr) massif/tests/big-alloc (post) massif/tests/deep-D (post) helgrind/tests/tc18_semabuse (stderr) helgrind/tests/tc20_verifywrap (stderr) |
|
From: Tom H. <to...@co...> - 2012-11-04 03:48:07
|
valgrind revision: 13103 VEX revision: 2558 C compiler: gcc (GCC) 4.5.1 20100924 (Red Hat 4.5.1-4) Assembler: GNU assembler version 2.20.51.0.7-8.fc14 20100318 C library: GNU C Library stable release version 2.13 uname -mrs: Linux 3.5.3-1.fc17.x86_64 x86_64 Vendor version: Fedora release 14 (Laughlin) Nightly build on bristol ( x86_64, Fedora 14 ) Started at 2012-11-04 03:12:16 GMT Ended at 2012-11-04 03:47:48 GMT Results unchanged from 24 hours ago Checking out valgrind source tree ... done Configuring valgrind ... done Building valgrind ... done Running regression tests ... failed Regression test results follow == 631 tests, 2 stderr failures, 0 stdout failures, 0 stderrB failures, 0 stdoutB failures, 0 post failures == memcheck/tests/err_disable4 (stderr) memcheck/tests/origin5-bz2 (stderr) |
|
From: Tom H. <to...@co...> - 2012-11-04 03:37:59
|
valgrind revision: 13103 VEX revision: 2558 C compiler: gcc (GCC) 4.6.3 20120306 (Red Hat 4.6.3-2) Assembler: GNU assembler version 2.21.51.0.6-6.fc15 20110118 C library: GNU C Library stable release version 2.14.1 uname -mrs: Linux 3.5.3-1.fc17.x86_64 x86_64 Vendor version: Fedora release 15 (Lovelock) Nightly build on bristol ( x86_64, Fedora 15 ) Started at 2012-11-04 03:03:15 GMT Ended at 2012-11-04 03:37:46 GMT Results unchanged from 24 hours ago Checking out valgrind source tree ... done Configuring valgrind ... done Building valgrind ... done Running regression tests ... failed Regression test results follow == 633 tests, 2 stderr failures, 0 stdout failures, 0 stderrB failures, 0 stdoutB failures, 0 post failures == memcheck/tests/err_disable4 (stderr) memcheck/tests/origin5-bz2 (stderr) |
|
From: Tom H. <to...@co...> - 2012-11-04 03:27:15
|
valgrind revision: 13103 VEX revision: 2558 C compiler: gcc (GCC) 4.6.3 20120306 (Red Hat 4.6.3-2) Assembler: GNU assembler version 2.21.53.0.1-6.fc16 20110716 C library: GNU C Library development release version 2.14.90 uname -mrs: Linux 3.5.3-1.fc17.x86_64 x86_64 Vendor version: Fedora release 16 (Verne) Nightly build on bristol ( x86_64, Fedora 16 ) Started at 2012-11-04 02:52:29 GMT Ended at 2012-11-04 03:27:03 GMT Results unchanged from 24 hours ago Checking out valgrind source tree ... done Configuring valgrind ... done Building valgrind ... done Running regression tests ... failed Regression test results follow == 633 tests, 2 stderr failures, 0 stdout failures, 0 stderrB failures, 0 stdoutB failures, 0 post failures == memcheck/tests/err_disable4 (stderr) memcheck/tests/origin5-bz2 (stderr) |
|
From: Tom H. <to...@co...> - 2012-11-04 03:16:11
|
valgrind revision: 13103 VEX revision: 2558 C compiler: gcc (GCC) 4.7.2 20120921 (Red Hat 4.7.2-2) Assembler: GNU assembler version 2.22.52.0.1-10.fc17 20120131 C library: GNU C Library stable release version 2.15 uname -mrs: Linux 3.5.3-1.fc17.x86_64 x86_64 Vendor version: Fedora release 17 (Beefy Miracle) Nightly build on bristol ( x86_64, Fedora 17 (Beefy Miracle) ) Started at 2012-11-04 02:42:34 GMT Ended at 2012-11-04 03:15:57 GMT Results unchanged from 24 hours ago Checking out valgrind source tree ... done Configuring valgrind ... done Building valgrind ... done Running regression tests ... failed Regression test results follow == 633 tests, 6 stderr failures, 1 stdout failure, 0 stderrB failures, 0 stdoutB failures, 0 post failures == gdbserver_tests/mcinfcallRU (stderr) gdbserver_tests/mcinfcallWSRU (stderr) gdbserver_tests/mcmain_pic (stderr) memcheck/tests/err_disable4 (stderr) memcheck/tests/origin5-bz2 (stderr) exp-sgcheck/tests/preen_invars (stdout) exp-sgcheck/tests/preen_invars (stderr) |
|
From: Christian B. <bor...@de...> - 2012-11-04 03:13:42
|
valgrind revision: 13103 VEX revision: 2558 C compiler: gcc (SUSE Linux) 4.3.4 [gcc-4_3-branch revision 152973] Assembler: GNU assembler (GNU Binutils; SUSE Linux Enterprise 11) 2.21.1 C library: GNU C Library stable release version 2.11.3 (20110527) uname -mrs: Linux 3.0.38-0.5-default s390x Vendor version: Welcome to SUSE Linux Enterprise Server 11 SP2 (s390x) - Kernel %r (%t). Nightly build on sless390 ( SUSE Linux Enterprise Server 11 SP1 gcc 4.3.4 on z196 (s390x) ) Started at 2012-11-04 03:45:01 CET Ended at 2012-11-04 04:13:31 CET Results unchanged from 24 hours ago Checking out valgrind source tree ... done Configuring valgrind ... done Building valgrind ... done Running regression tests ... failed Regression test results follow == 608 tests, 16 stderr failures, 0 stdout failures, 0 stderrB failures, 0 stdoutB failures, 0 post failures == cachegrind/tests/chdir (stderr) cachegrind/tests/clreq (stderr) cachegrind/tests/dlclose (stderr) cachegrind/tests/notpower2 (stderr) cachegrind/tests/wrap5 (stderr) callgrind/tests/notpower2-hwpref (stderr) callgrind/tests/notpower2-use (stderr) callgrind/tests/notpower2-wb (stderr) callgrind/tests/notpower2 (stderr) callgrind/tests/simwork-both (stderr) callgrind/tests/simwork-cache (stderr) callgrind/tests/simwork1 (stderr) callgrind/tests/simwork2 (stderr) callgrind/tests/simwork3 (stderr) callgrind/tests/threads-use (stderr) helgrind/tests/tc20_verifywrap (stderr) |
|
From: Christian B. <bor...@de...> - 2012-11-04 03:06:40
|
valgrind revision: 13103 VEX revision: 2558 C compiler: gcc (GCC) 4.6.1 20110908 (Red Hat 4.6.1-9bb4) Assembler: GNU assembler version 2.21.51.0.6-6bb6.fc15 20110118 C library: GNU C Library stable release version 2.14.1 uname -mrs: Linux 3.6.1-56.x.20121010-s390xperformance s390x Vendor version: unknown Nightly build on fedora390 ( Fedora 15 with devel libc/toolchain on z196 (s390x) ) Started at 2012-11-04 03:45:01 CET Ended at 2012-11-04 04:06:47 CET Results unchanged from 24 hours ago Checking out valgrind source tree ... done Configuring valgrind ... done Building valgrind ... done Running regression tests ... failed Regression test results follow == 609 tests, 17 stderr failures, 0 stdout failures, 6 stderrB failures, 0 stdoutB failures, 0 post failures == gdbserver_tests/mcbreak (stderrB) gdbserver_tests/mcclean_after_fork (stderrB) gdbserver_tests/mcleak (stderrB) gdbserver_tests/mcmain_pic (stderrB) gdbserver_tests/mcvabits (stderrB) gdbserver_tests/mssnapshot (stderrB) cachegrind/tests/chdir (stderr) cachegrind/tests/clreq (stderr) cachegrind/tests/dlclose (stderr) cachegrind/tests/notpower2 (stderr) cachegrind/tests/wrap5 (stderr) callgrind/tests/notpower2-hwpref (stderr) callgrind/tests/notpower2-use (stderr) callgrind/tests/notpower2-wb (stderr) callgrind/tests/notpower2 (stderr) callgrind/tests/simwork-both (stderr) callgrind/tests/simwork-cache (stderr) callgrind/tests/simwork1 (stderr) callgrind/tests/simwork2 (stderr) callgrind/tests/simwork3 (stderr) callgrind/tests/threads-use (stderr) helgrind/tests/tc18_semabuse (stderr) helgrind/tests/tc20_verifywrap (stderr) |
|
From: Tom H. <to...@co...> - 2012-11-04 03:05:53
|
valgrind revision: 13103 VEX revision: 2558 C compiler: gcc (GCC) 4.7.2 20121001 (Red Hat 4.7.2-3) Assembler: GNU assembler version 2.23.51.0.1-3.fc18 20120806 C library: GNU C Library stable release version 2.16 uname -mrs: Linux 3.5.3-1.fc17.x86_64 x86_64 Vendor version: Fedora release 18 (Spherical Cow) Nightly build on bristol ( x86_64, Fedora 18 (Spherical Cow) ) Started at 2012-11-04 02:31:42 GMT Ended at 2012-11-04 03:05:39 GMT Results unchanged from 24 hours ago Checking out valgrind source tree ... done Configuring valgrind ... done Building valgrind ... done Running regression tests ... failed Regression test results follow == 633 tests, 3 stderr failures, 1 stdout failure, 0 stderrB failures, 0 stdoutB failures, 0 post failures == memcheck/tests/err_disable4 (stderr) memcheck/tests/origin5-bz2 (stderr) exp-sgcheck/tests/preen_invars (stdout) exp-sgcheck/tests/preen_invars (stderr) |
|
From: Rich C. <rc...@wi...> - 2012-11-04 02:55:43
|
valgrind revision: 13103
VEX revision: 2558
C compiler: gcc (SUSE Linux) 4.5.1 20101208 [gcc-4_5-branch revision 167585]
Assembler: GNU assembler (GNU Binutils; openSUSE 11.4) 2.21
C library: GNU C Library stable release version 2.11.3 (20110203)
uname -mrs: Linux 2.6.37.6-0.7-desktop x86_64
Vendor version: Welcome to openSUSE 11.4 "Celadon" - Kernel %r (%t).
Nightly build on ultra ( gcc 4.5.1 Linux 2.6.37.6-0.7-desktop x86_64 )
Started at 2012-11-03 21:30:01 CDT
Ended at 2012-11-03 21:55:33 CDT
Results unchanged from 24 hours ago
Checking out valgrind source tree ... done
Configuring valgrind ... done
Building valgrind ... done
Running regression tests ... failed
Regression test results follow
== 624 tests, 2 stderr failures, 0 stdout failures, 6 stderrB failures, 0 stdoutB failures, 0 post failures ==
gdbserver_tests/mcbreak (stderrB)
gdbserver_tests/mcclean_after_fork (stderrB)
gdbserver_tests/mcleak (stderrB)
gdbserver_tests/mcmain_pic (stderrB)
gdbserver_tests/mcvabits (stderrB)
gdbserver_tests/mssnapshot (stderrB)
memcheck/tests/linux/timerfd-syscall (stderr)
memcheck/tests/origin5-bz2 (stderr)
=================================================
./valgrind-new/gdbserver_tests/mcbreak.stderrB.diff
=================================================
--- mcbreak.stderrB.exp 2012-11-03 21:42:46.145361048 -0500
+++ mcbreak.stderrB.out 2012-11-03 21:46:26.240830060 -0500
@@ -1,5 +1,7 @@
relaying data between gdb and process ....
vgdb-error value changed from 0 to 999999
+
+
vgdb-error value changed from 999999 to 0
n_errs_found 1 n_errs_shown 1 (vgdb-error 0)
vgdb-error value changed from 0 to 0
=================================================
./valgrind-new/gdbserver_tests/mcclean_after_fork.stderrB.diff
=================================================
--- mcclean_after_fork.stderrB.exp 2012-11-03 21:42:46.145361048 -0500
+++ mcclean_after_fork.stderrB.out 2012-11-03 21:46:27.951028124 -0500
@@ -1,4 +1,6 @@
relaying data between gdb and process ....
vgdb-error value changed from 0 to 999999
+
+
monitor command request to kill this process
Remote connection closed
=================================================
./valgrind-new/gdbserver_tests/mcleak.stderrB.diff
=================================================
--- mcleak.stderrB.exp 2012-11-03 21:42:46.141360584 -0500
+++ mcleak.stderrB.out 2012-11-03 21:46:46.457171395 -0500
@@ -1,5 +1,7 @@
relaying data between gdb and process ....
vgdb-error value changed from 0 to 999999
+
+
10 bytes in 1 blocks are still reachable in loss record ... of ...
at 0x........: malloc (vg_replace_malloc.c:...)
by 0x........: f (leak-delta.c:14)
=================================================
./valgrind-new/gdbserver_tests/mcmain_pic.stderrB.diff
=================================================
--- mcmain_pic.stderrB.exp 2012-11-03 21:42:46.149361512 -0500
+++ mcmain_pic.stderrB.out 2012-11-03 21:46:48.123364362 -0500
@@ -1,2 +1,4 @@
relaying data between gdb and process ....
vgdb-error value changed from 0 to 999999
+
+
=================================================
./valgrind-new/gdbserver_tests/mcvabits.stderrB.diff
=================================================
--- mcvabits.stderrB.exp 2012-11-03 21:42:46.150361628 -0500
+++ mcvabits.stderrB.out 2012-11-03 21:46:52.888916278 -0500
@@ -1,5 +1,7 @@
relaying data between gdb and process ....
vgdb-error value changed from 0 to 999999
+
+
Address 0x........ len 10 addressable
Address 0x........ is 0 bytes inside data symbol "undefined"
Address 0x........ len 10 defined
=================================================
./valgrind-new/gdbserver_tests/mssnapshot.stderrB.diff
=================================================
--- mssnapshot.stderrB.exp 2012-11-03 21:42:46.149361512 -0500
+++ mssnapshot.stderrB.out 2012-11-03 21:46:55.980274300 -0500
@@ -1,5 +1,9 @@
relaying data between gdb and process ....
vgdb-error value changed from 0 to 999999
+
+
+Missing separate debuginfo for /lib64/libc.so.6
+Try: zypper install -C "debuginfo(build-id)=92ec8fe859846a62345f74696ab349721415587a"
general valgrind monitor commands:
help [debug] : monitor command help. With debug: + debugging commands
v.wait [<ms>] : sleep <ms> (default 0) then continue
=================================================
./valgrind-new/memcheck/tests/linux/timerfd-syscall.stderr.diff
=================================================
--- timerfd-syscall.stderr.exp 2012-11-03 21:42:47.224485883 -0500
+++ timerfd-syscall.stderr.out 2012-11-03 21:48:05.709349842 -0500
@@ -33,7 +33,7 @@
got timer ticks (1) after 0.5 s
absolute timer test (at 500 ms) ...
waiting timer ...
-got timer ticks (1) after 0.5 s
+got timer ticks (1) after 0.0 s
sequential timer test (100 ms clock) ...
sleeping one second ...
timerfd_gettime returned:
=================================================
./valgrind-new/memcheck/tests/origin5-bz2.stderr.diff-glibc212-s390x
=================================================
--- origin5-bz2.stderr.exp-glibc212-s390x 2012-11-03 21:42:48.567641263 -0500
+++ origin5-bz2.stderr.out 2012-11-03 21:48:21.172140626 -0500
@@ -75,17 +75,6 @@
at 0x........: main (origin5-bz2.c:6479)
Use of uninitialised value of size 8
- at 0x........: mainSort (origin5-bz2.c:2859)
- by 0x........: BZ2_blockSort (origin5-bz2.c:3105)
- by 0x........: BZ2_compressBlock (origin5-bz2.c:4034)
- by 0x........: handle_compress (origin5-bz2.c:4753)
- by 0x........: BZ2_bzCompress (origin5-bz2.c:4822)
- by 0x........: BZ2_bzBuffToBuffCompress (origin5-bz2.c:5630)
- by 0x........: main (origin5-bz2.c:6484)
- Uninitialised value was created by a client request
- at 0x........: main (origin5-bz2.c:6479)
-
-Use of uninitialised value of size 8
at 0x........: mainSort (origin5-bz2.c:2963)
by 0x........: BZ2_blockSort (origin5-bz2.c:3105)
by 0x........: BZ2_compressBlock (origin5-bz2.c:4034)
@@ -131,6 +120,12 @@
Conditional jump or move depends on uninitialised value(s)
at 0x........: main (origin5-bz2.c:6512)
- Uninitialised value was created by a client request
- at 0x........: main (origin5-bz2.c:6479)
+ Uninitialised value was created by a heap allocation
+ at 0x........: malloc (vg_replace_malloc.c:...)
+ by 0x........: g_serviceFn (origin5-bz2.c:6429)
+ by 0x........: default_bzalloc (origin5-bz2.c:4470)
+ by 0x........: BZ2_decompress (origin5-bz2.c:1578)
+ by 0x........: BZ2_bzDecompress (origin5-bz2.c:5192)
+ by 0x........: BZ2_bzBuffToBuffDecompress (origin5-bz2.c:5678)
+ by 0x........: main (origin5-bz2.c:6498)
=================================================
./valgrind-new/memcheck/tests/origin5-bz2.stderr.diff-glibc234-s390x
=================================================
--- origin5-bz2.stderr.exp-glibc234-s390x 2012-11-03 21:42:48.550639295 -0500
+++ origin5-bz2.stderr.out 2012-11-03 21:48:21.172140626 -0500
@@ -120,6 +120,12 @@
Conditional jump or move depends on uninitialised value(s)
at 0x........: main (origin5-bz2.c:6512)
- Uninitialised value was created by a client request
- at 0x........: main (origin5-bz2.c:6479)
+ Uninitialised value was created by a heap allocation
+ at 0x........: malloc (vg_replace_malloc.c:...)
+ by 0x........: g_serviceFn (origin5-bz2.c:6429)
+ by 0x........: default_bzalloc (origin5-bz2.c:4470)
+ by 0x........: BZ2_decompress (origin5-bz2.c:1578)
+ by 0x........: BZ2_bzDecompress (origin5-bz2.c:5192)
+ by 0x........: BZ2_bzBuffToBuffDecompress (origin5-bz2.c:5678)
+ by 0x........: main (origin5-bz2.c:6498)
=================================================
./valgrind-new/memcheck/tests/origin5-bz2.stderr.diff-glibc25-amd64
=================================================
--- origin5-bz2.stderr.exp-glibc25-amd64 2012-11-03 21:42:48.493632701 -0500
+++ origin5-bz2.stderr.out 2012-11-03 21:48:21.172140626 -0500
@@ -120,6 +120,12 @@
Conditional jump or move depends on uninitialised value(s)
at 0x........: main (origin5-bz2.c:6512)
- Uninitialised value was created by a client request
- at 0x........: main (origin5-bz2.c:6479)
+ Uninitialised value was created by a heap allocation
+ at 0x........: malloc (vg_replace_malloc.c:...)
+ by 0x........: g_serviceFn (origin5-bz2.c:6429)
+ by 0x........: default_bzalloc (origin5-bz2.c:4470)
+ by 0x........: BZ2_decompress (origin5-bz2.c:1578)
+ by 0x........: BZ2_bzDecompress (origin5-bz2.c:5192)
+ by 0x........: BZ2_bzBuffToBuffDecompress (origin5-bz2.c:5678)
+ by 0x........: main (origin5-bz2.c:6498)
=================================================
./valgrind-new/memcheck/tests/origin5-bz2.stderr.diff-glibc25-x86
=================================================
--- origin5-bz2.stderr.exp-glibc25-x86 2012-11-03 21:42:48.523636172 -0500
+++ origin5-bz2.stderr.out 2012-11-03 21:48:21.172140626 -0500
@@ -12,7 +12,7 @@
Uninitialised value was created by a client request
at 0x........: main (origin5-bz2.c:6479)
-Use of uninitialised value of size 4
+Use of uninitialised value of size 8
at 0x........: copy_input_until_stop (origin5-bz2.c:4686)
by 0x........: handle_compress (origin5-bz2.c:4750)
by 0x........: BZ2_bzCompress (origin5-bz2.c:4822)
@@ -21,7 +21,7 @@
Uninitialised value was created by a client request
at 0x........: main (origin5-bz2.c:6479)
-Use of uninitialised value of size 4
+Use of uninitialised value of size 8
at 0x........: copy_input_until_stop (origin5-bz2.c:4686)
by 0x........: handle_compress (origin5-bz2.c:4750)
by 0x........: BZ2_bzCompress (origin5-bz2.c:4822)
@@ -30,7 +30,7 @@
Uninitialised value was created by a client request
at 0x........: main (origin5-bz2.c:6479)
-Use of uninitialised value of size 4
+Use of uninitialised value of size 8
at 0x........: mainSort (origin5-bz2.c:2820)
by 0x........: BZ2_blockSort (origin5-bz2.c:3105)
by 0x........: BZ2_compressBlock (origin5-bz2.c:4034)
@@ -41,7 +41,7 @@
Uninitialised value was created by a client request
at 0x........: main (origin5-bz2.c:6479)
-Use of uninitialised value of size 4
+Use of uninitialised value of size 8
at 0x........: mainSort (origin5-bz2.c:2823)
by 0x........: BZ2_blockSort (origin5-bz2.c:3105)
by 0x........: BZ2_compressBlock (origin5-bz2.c:4034)
@@ -52,7 +52,7 @@
Uninitialised value was created by a client request
at 0x........: main (origin5-bz2.c:6479)
-Use of uninitialised value of size 4
+Use of uninitialised value of size 8
at 0x........: mainSort (origin5-bz2.c:2854)
by 0x........: BZ2_blockSort (origin5-bz2.c:3105)
by 0x........: BZ2_compressBlock (origin5-bz2.c:4034)
@@ -63,7 +63,7 @@
Uninitialised value was created by a client request
at 0x........: main (origin5-bz2.c:6479)
-Use of uninitialised value of size 4
+Use of uninitialised value of size 8
at 0x........: mainSort (origin5-bz2.c:2858)
by 0x........: BZ2_blockSort (origin5-bz2.c:3105)
by 0x........: BZ2_compressBlock (origin5-bz2.c:4034)
@@ -74,7 +74,7 @@
Uninitialised value was created by a client request
at 0x........: main (origin5-bz2.c:6479)
-Use of uninitialised value of size 4
+Use of uninitialised value of size 8
at 0x........: mainSort (origin5-bz2.c:2963)
by 0x........: BZ2_blockSort (origin5-bz2.c:3105)
by 0x........: BZ2_compressBlock (origin5-bz2.c:4034)
@@ -85,7 +85,7 @@
Uninitialised value was created by a client request
at 0x........: main (origin5-bz2.c:6479)
-Use of uninitialised value of size 4
+Use of uninitialised value of size 8
at 0x........: mainSort (origin5-bz2.c:2964)
by 0x........: BZ2_blockSort (origin5-bz2.c:3105)
by 0x........: BZ2_compressBlock (origin5-bz2.c:4034)
@@ -96,7 +96,7 @@
Uninitialised value was created by a client request
at 0x........: main (origin5-bz2.c:6479)
-Use of uninitialised value of size 4
+Use of uninitialised value of size 8
at 0x........: fallbackSort (origin5-bz2.c:2269)
by 0x........: BZ2_blockSort (origin5-bz2.c:3116)
by 0x........: BZ2_compressBlock (origin5-bz2.c:4034)
@@ -107,7 +107,7 @@
Uninitialised value was created by a client request
at 0x........: main (origin5-bz2.c:6479)
-Use of uninitialised value of size 4
+Use of uninitialised value of size 8
at 0x........: fallbackSort (origin5-bz2.c:2275)
by 0x........: BZ2_blockSort (origin5-bz2.c:3116)
by 0x........: BZ2_compressBlock (origin5-bz2.c:4034)
@@ -120,6 +120,12 @@
Conditional jump or move depends on uninitialised value(s)
at 0x........: main (origin5-bz2.c:6512)
- Uninitialised value was created by a client request
- at 0x........: main (origin5-bz2.c:6479)
+ Uninitialised value was created by a heap allocation
+ at 0x........: malloc (vg_replace_malloc.c:...)
<truncated beyond 100 lines>
=================================================
./valgrind-new/memcheck/tests/origin5-bz2.stderr.diff-glibc27-ppc64
=================================================
--- origin5-bz2.stderr.exp-glibc27-ppc64 2012-11-03 21:42:48.536637674 -0500
+++ origin5-bz2.stderr.out 2012-11-03 21:48:21.172140626 -0500
@@ -1,7 +1,7 @@
Conditional jump or move depends on uninitialised value(s)
at 0x........: main (origin5-bz2.c:6481)
Uninitialised value was created by a client request
- at 0x........: main (origin5-bz2.c:6481)
+ at 0x........: main (origin5-bz2.c:6479)
Conditional jump or move depends on uninitialised value(s)
at 0x........: copy_input_until_stop (origin5-bz2.c:4686)
@@ -10,7 +10,7 @@
by 0x........: BZ2_bzBuffToBuffCompress (origin5-bz2.c:5630)
by 0x........: main (origin5-bz2.c:6484)
Uninitialised value was created by a client request
- at 0x........: main (origin5-bz2.c:6481)
+ at 0x........: main (origin5-bz2.c:6479)
Use of uninitialised value of size 8
at 0x........: copy_input_until_stop (origin5-bz2.c:4686)
@@ -19,7 +19,7 @@
by 0x........: BZ2_bzBuffToBuffCompress (origin5-bz2.c:5630)
by 0x........: main (origin5-bz2.c:6484)
Uninitialised value was created by a client request
- at 0x........: main (origin5-bz2.c:6481)
+ at 0x........: main (origin5-bz2.c:6479)
Use of uninitialised value of size 8
at 0x........: copy_input_until_stop (origin5-bz2.c:4686)
@@ -28,7 +28,7 @@
by 0x........: BZ2_bzBuffToBuffCompress (origin5-bz2.c:5630)
by 0x........: main (origin5-bz2.c:6484)
Uninitialised value was created by a client request
- at 0x........: main (origin5-bz2.c:6481)
+ at 0x........: main (origin5-bz2.c:6479)
Use of uninitialised value of size 8
at 0x........: mainSort (origin5-bz2.c:2820)
@@ -39,7 +39,7 @@
by 0x........: BZ2_bzBuffToBuffCompress (origin5-bz2.c:5630)
by 0x........: main (origin5-bz2.c:6484)
Uninitialised value was created by a client request
- at 0x........: main (origin5-bz2.c:6481)
+ at 0x........: main (origin5-bz2.c:6479)
Use of uninitialised value of size 8
at 0x........: mainSort (origin5-bz2.c:2823)
@@ -50,7 +50,7 @@
by 0x........: BZ2_bzBuffToBuffCompress (origin5-bz2.c:5630)
by 0x........: main (origin5-bz2.c:6484)
Uninitialised value was created by a client request
- at 0x........: main (origin5-bz2.c:6481)
+ at 0x........: main (origin5-bz2.c:6479)
Use of uninitialised value of size 8
at 0x........: mainSort (origin5-bz2.c:2854)
@@ -61,7 +61,7 @@
by 0x........: BZ2_bzBuffToBuffCompress (origin5-bz2.c:5630)
by 0x........: main (origin5-bz2.c:6484)
Uninitialised value was created by a client request
- at 0x........: main (origin5-bz2.c:6481)
+ at 0x........: main (origin5-bz2.c:6479)
Use of uninitialised value of size 8
at 0x........: mainSort (origin5-bz2.c:2858)
@@ -72,7 +72,7 @@
by 0x........: BZ2_bzBuffToBuffCompress (origin5-bz2.c:5630)
by 0x........: main (origin5-bz2.c:6484)
Uninitialised value was created by a client request
- at 0x........: main (origin5-bz2.c:6481)
+ at 0x........: main (origin5-bz2.c:6479)
Use of uninitialised value of size 8
at 0x........: mainSort (origin5-bz2.c:2963)
@@ -83,7 +83,7 @@
by 0x........: BZ2_bzBuffToBuffCompress (origin5-bz2.c:5630)
by 0x........: main (origin5-bz2.c:6484)
Uninitialised value was created by a client request
- at 0x........: main (origin5-bz2.c:6481)
+ at 0x........: main (origin5-bz2.c:6479)
Use of uninitialised value of size 8
at 0x........: mainSort (origin5-bz2.c:2964)
@@ -94,7 +94,7 @@
by 0x........: BZ2_bzBuffToBuffCompress (origin5-bz2.c:5630)
by 0x........: main (origin5-bz2.c:6484)
Uninitialised value was created by a client request
- at 0x........: main (origin5-bz2.c:6481)
+ at 0x........: main (origin5-bz2.c:6479)
Use of uninitialised value of size 8
at 0x........: fallbackSort (origin5-bz2.c:2269)
@@ -105,7 +105,7 @@
by 0x........: BZ2_bzBuffToBuffCompress (origin5-bz2.c:5630)
by 0x........: main (origin5-bz2.c:6484)
Uninitialised value was created by a client request
- at 0x........: main (origin5-bz2.c:6481)
+ at 0x........: main (origin5-bz2.c:6479)
Use of uninitialised value of size 8
<truncated beyond 100 lines>
=================================================
./valgrind-old/gdbserver_tests/mcbreak.stderrB.diff
=================================================
--- mcbreak.stderrB.exp 2012-11-03 21:30:16.024590670 -0500
+++ mcbreak.stderrB.out 2012-11-03 21:33:29.618983731 -0500
@@ -1,5 +1,7 @@
relaying data between gdb and process ....
vgdb-error value changed from 0 to 999999
+
+
vgdb-error value changed from 999999 to 0
n_errs_found 1 n_errs_shown 1 (vgdb-error 0)
vgdb-error value changed from 0 to 0
=================================================
./valgrind-old/gdbserver_tests/mcclean_after_fork.stderrB.diff
=================================================
--- mcclean_after_fork.stderrB.exp 2012-11-03 21:30:16.023590554 -0500
+++ mcclean_after_fork.stderrB.out 2012-11-03 21:33:31.332181900 -0500
@@ -1,4 +1,6 @@
relaying data between gdb and process ....
vgdb-error value changed from 0 to 999999
+
+
monitor command request to kill this process
Remote connection closed
=================================================
./valgrind-old/gdbserver_tests/mcleak.stderrB.diff
=================================================
--- mcleak.stderrB.exp 2012-11-03 21:30:16.020590206 -0500
+++ mcleak.stderrB.out 2012-11-03 21:33:49.400271873 -0500
@@ -1,5 +1,7 @@
relaying data between gdb and process ....
vgdb-error value changed from 0 to 999999
+
+
10 bytes in 1 blocks are still reachable in loss record ... of ...
at 0x........: malloc (vg_replace_malloc.c:...)
by 0x........: f (leak-delta.c:14)
=================================================
./valgrind-old/gdbserver_tests/mcmain_pic.stderrB.diff
=================================================
--- mcmain_pic.stderrB.exp 2012-11-03 21:30:16.027591018 -0500
+++ mcmain_pic.stderrB.out 2012-11-03 21:33:51.009458012 -0500
@@ -1,2 +1,4 @@
relaying data between gdb and process ....
vgdb-error value changed from 0 to 999999
+
+
=================================================
./valgrind-old/gdbserver_tests/mcvabits.stderrB.diff
=================================================
--- mcvabits.stderrB.exp 2012-11-03 21:30:16.028591134 -0500
+++ mcvabits.stderrB.out 2012-11-03 21:33:55.758007289 -0500
@@ -1,5 +1,7 @@
relaying data between gdb and process ....
vgdb-error value changed from 0 to 999999
+
+
Address 0x........ len 10 addressable
Address 0x........ is 0 bytes inside data symbol "undefined"
Address 0x........ len 10 defined
=================================================
./valgrind-old/gdbserver_tests/mssnapshot.stderrB.diff
=================================================
--- mssnapshot.stderrB.exp 2012-11-03 21:30:16.027591018 -0500
+++ mssnapshot.stderrB.out 2012-11-03 21:33:58.830362676 -0500
@@ -1,5 +1,9 @@
relaying data between gdb and process ....
vgdb-error value changed from 0 to 999999
+
+
+Missing separate debuginfo for /lib64/libc.so.6
+Try: zypper install -C "debuginfo(build-id)=92ec8fe859846a62345f74696ab349721415587a"
general valgrind monitor commands:
help [debug] : monitor command help. With debug: + debugging commands
v.wait [<ms>] : sleep <ms> (default 0) then continue
=================================================
./valgrind-old/memcheck/tests/linux/timerfd-syscall.stderr.diff
=================================================
--- timerfd-syscall.stderr.exp 2012-11-03 21:30:16.339627111 -0500
+++ timerfd-syscall.stderr.out 2012-11-03 21:35:08.870464433 -0500
@@ -33,7 +33,7 @@
got timer ticks (1) after 0.5 s
absolute timer test (at 500 ms) ...
waiting timer ...
-got timer ticks (1) after 0.5 s
+got timer ticks (1) after 0.0 s
sequential timer test (100 ms clock) ...
sleeping one second ...
timerfd_gettime returned:
=================================================
./valgrind-old/memcheck/tests/origin5-bz2.stderr.diff-glibc212-s390x
=================================================
--- origin5-bz2.stderr.exp-glibc212-s390x 2012-11-03 21:30:16.862687612 -0500
+++ origin5-bz2.stderr.out 2012-11-03 21:35:24.438265221 -0500
@@ -75,17 +75,6 @@
at 0x........: main (origin5-bz2.c:6479)
Use of uninitialised value of size 8
- at 0x........: mainSort (origin5-bz2.c:2859)
- by 0x........: BZ2_blockSort (origin5-bz2.c:3105)
- by 0x........: BZ2_compressBlock (origin5-bz2.c:4034)
- by 0x........: handle_compress (origin5-bz2.c:4753)
- by 0x........: BZ2_bzCompress (origin5-bz2.c:4822)
- by 0x........: BZ2_bzBuffToBuffCompress (origin5-bz2.c:5630)
- by 0x........: main (origin5-bz2.c:6484)
- Uninitialised value was created by a client request
- at 0x........: main (origin5-bz2.c:6479)
-
-Use of uninitialised value of size 8
at 0x........: mainSort (origin5-bz2.c:2963)
by 0x........: BZ2_blockSort (origin5-bz2.c:3105)
by 0x........: BZ2_compressBlock (origin5-bz2.c:4034)
@@ -131,6 +120,12 @@
Conditional jump or move depends on uninitialised value(s)
at 0x........: main (origin5-bz2.c:6512)
- Uninitialised value was created by a client request
- at 0x........: main (origin5-bz2.c:6479)
+ Uninitialised value was created by a heap allocation
+ at 0x........: malloc (vg_replace_malloc.c:...)
+ by 0x........: g_serviceFn (origin5-bz2.c:6429)
+ by 0x........: default_bzalloc (origin5-bz2.c:4470)
+ by 0x........: BZ2_decompress (origin5-bz2.c:1578)
+ by 0x........: BZ2_bzDecompress (origin5-bz2.c:5192)
+ by 0x........: BZ2_bzBuffToBuffDecompress (origin5-bz2.c:5678)
+ by 0x........: main (origin5-bz2.c:6498)
=================================================
./valgrind-old/memcheck/tests/origin5-bz2.stderr.diff-glibc234-s390x
=================================================
--- origin5-bz2.stderr.exp-glibc234-s390x 2012-11-03 21:30:16.845685643 -0500
+++ origin5-bz2.stderr.out 2012-11-03 21:35:24.438265221 -0500
@@ -120,6 +120,12 @@
Conditional jump or move depends on uninitialised value(s)
at 0x........: main (origin5-bz2.c:6512)
- Uninitialised value was created by a client request
- at 0x........: main (origin5-bz2.c:6479)
+ Uninitialised value was created by a heap allocation
+ at 0x........: malloc (vg_replace_malloc.c:...)
+ by 0x........: g_serviceFn (origin5-bz2.c:6429)
+ by 0x........: default_bzalloc (origin5-bz2.c:4470)
+ by 0x........: BZ2_decompress (origin5-bz2.c:1578)
+ by 0x........: BZ2_bzDecompress (origin5-bz2.c:5192)
+ by 0x........: BZ2_bzBuffToBuffDecompress (origin5-bz2.c:5678)
+ by 0x........: main (origin5-bz2.c:6498)
=================================================
./valgrind-old/memcheck/tests/origin5-bz2.stderr.diff-glibc25-amd64
=================================================
--- origin5-bz2.stderr.exp-glibc25-amd64 2012-11-03 21:30:16.788679051 -0500
+++ origin5-bz2.stderr.out 2012-11-03 21:35:24.438265221 -0500
@@ -120,6 +120,12 @@
Conditional jump or move depends on uninitialised value(s)
at 0x........: main (origin5-bz2.c:6512)
- Uninitialised value was created by a client request
- at 0x........: main (origin5-bz2.c:6479)
+ Uninitialised value was created by a heap allocation
+ at 0x........: malloc (vg_replace_malloc.c:...)
+ by 0x........: g_serviceFn (origin5-bz2.c:6429)
+ by 0x........: default_bzalloc (origin5-bz2.c:4470)
+ by 0x........: BZ2_decompress (origin5-bz2.c:1578)
+ by 0x........: BZ2_bzDecompress (origin5-bz2.c:5192)
+ by 0x........: BZ2_bzBuffToBuffDecompress (origin5-bz2.c:5678)
+ by 0x........: main (origin5-bz2.c:6498)
=================================================
./valgrind-old/memcheck/tests/origin5-bz2.stderr.diff-glibc25-x86
=================================================
--- origin5-bz2.stderr.exp-glibc25-x86 2012-11-03 21:30:16.818682521 -0500
+++ origin5-bz2.stderr.out 2012-11-03 21:35:24.438265221 -0500
@@ -12,7 +12,7 @@
Uninitialised value was created by a client request
at 0x........: main (origin5-bz2.c:6479)
-Use of uninitialised value of size 4
+Use of uninitialised value of size 8
at 0x........: copy_input_until_stop (origin5-bz2.c:4686)
by 0x........: handle_compress (origin5-bz2.c:4750)
by 0x........: BZ2_bzCompress (origin5-bz2.c:4822)
@@ -21,7 +21,7 @@
Uninitialised value was created by a client request
at 0x........: main (origin5-bz2.c:6479)
-Use of uninitialised value of size 4
+Use of uninitialised value of size 8
at 0x........: copy_input_until_stop (origin5-bz2.c:4686)
by 0x........: handle_compress (origin5-bz2.c:4750)
by 0x........: BZ2_bzCompress (origin5-bz2.c:4822)
@@ -30,7 +30,7 @@
Uninitialised value was created by a client request
at 0x........: main (origin5-bz2.c:6479)
-Use of uninitialised value of size 4
+Use of uninitialised value of size 8
at 0x........: mainSort (origin5-bz2.c:2820)
by 0x........: BZ2_blockSort (origin5-bz2.c:3105)
by 0x........: BZ2_compressBlock (origin5-bz2.c:4034)
@@ -41,7 +41,7 @@
Uninitialised value was created by a client request
at 0x........: main (origin5-bz2.c:6479)
-Use of uninitialised value of size 4
+Use of uninitialised value of size 8
at 0x........: mainSort (origin5-bz2.c:2823)
by 0x........: BZ2_blockSort (origin5-bz2.c:3105)
by 0x........: BZ2_compressBlock (origin5-bz2.c:4034)
@@ -52,7 +52,7 @@
Uninitialised value was created by a client request
at 0x........: main (origin5-bz2.c:6479)
-Use of uninitialised value of size 4
+Use of uninitialised value of size 8
at 0x........: mainSort (origin5-bz2.c:2854)
by 0x........: BZ2_blockSort (origin5-bz2.c:3105)
by 0x........: BZ2_compressBlock (origin5-bz2.c:4034)
@@ -63,7 +63,7 @@
Uninitialised value was created by a client request
at 0x........: main (origin5-bz2.c:6479)
-Use of uninitialised value of size 4
+Use of uninitialised value of size 8
at 0x........: mainSort (origin5-bz2.c:2858)
by 0x........: BZ2_blockSort (origin5-bz2.c:3105)
by 0x........: BZ2_compressBlock (origin5-bz2.c:4034)
@@ -74,7 +74,7 @@
Uninitialised value was created by a client request
at 0x........: main (origin5-bz2.c:6479)
-Use of uninitialised value of size 4
+Use of uninitialised value of size 8
at 0x........: mainSort (origin5-bz2.c:2963)
by 0x........: BZ2_blockSort (origin5-bz2.c:3105)
by 0x........: BZ2_compressBlock (origin5-bz2.c:4034)
@@ -85,7 +85,7 @@
Uninitialised value was created by a client request
at 0x........: main (origin5-bz2.c:6479)
-Use of uninitialised value of size 4
+Use of uninitialised value of size 8
at 0x........: mainSort (origin5-bz2.c:2964)
by 0x........: BZ2_blockSort (origin5-bz2.c:3105)
by 0x........: BZ2_compressBlock (origin5-bz2.c:4034)
@@ -96,7 +96,7 @@
Uninitialised value was created by a client request
at 0x........: main (origin5-bz2.c:6479)
-Use of uninitialised value of size 4
+Use of uninitialised value of size 8
at 0x........: fallbackSort (origin5-bz2.c:2269)
by 0x........: BZ2_blockSort (origin5-bz2.c:3116)
by 0x........: BZ2_compressBlock (origin5-bz2.c:4034)
@@ -107,7 +107,7 @@
Uninitialised value was created by a client request
at 0x........: main (origin5-bz2.c:6479)
-Use of uninitialised value of size 4
+Use of uninitialised value of size 8
at 0x........: fallbackSort (origin5-bz2.c:2275)
by 0x........: BZ2_blockSort (origin5-bz2.c:3116)
by 0x........: BZ2_compressBlock (origin5-bz2.c:4034)
@@ -120,6 +120,12 @@
Conditional jump or move depends on uninitialised value(s)
at 0x........: main (origin5-bz2.c:6512)
- Uninitialised value was created by a client request
- at 0x........: main (origin5-bz2.c:6479)
+ Uninitialised value was created by a heap allocation
+ at 0x........: malloc (vg_replace_malloc.c:...)
<truncated beyond 100 lines>
=================================================
./valgrind-old/memcheck/tests/origin5-bz2.stderr.diff-glibc27-ppc64
=================================================
--- origin5-bz2.stderr.exp-glibc27-ppc64 2012-11-03 21:30:16.831684026 -0500
+++ origin5-bz2.stderr.out 2012-11-03 21:35:24.438265221 -0500
@@ -1,7 +1,7 @@
Conditional jump or move depends on uninitialised value(s)
at 0x........: main (origin5-bz2.c:6481)
Uninitialised value was created by a client request
- at 0x........: main (origin5-bz2.c:6481)
+ at 0x........: main (origin5-bz2.c:6479)
Conditional jump or move depends on uninitialised value(s)
at 0x........: copy_input_until_stop (origin5-bz2.c:4686)
@@ -10,7 +10,7 @@
by 0x........: BZ2_bzBuffToBuffCompress (origin5-bz2.c:5630)
by 0x........: main (origin5-bz2.c:6484)
Uninitialised value was created by a client request
- at 0x........: main (origin5-bz2.c:6481)
+ at 0x........: main (origin5-bz2.c:6479)
Use of uninitialised value of size 8
at 0x........: copy_input_until_stop (origin5-bz2.c:4686)
@@ -19,7 +19,7 @@
by 0x........: BZ2_bzBuffToBuffCompress (origin5-bz2.c:5630)
by 0x........: main (origin5-bz2.c:6484)
Uninitialised value was created by a client request
- at 0x........: main (origin5-bz2.c:6481)
+ at 0x........: main (origin5-bz2.c:6479)
Use of uninitialised value of size 8
at 0x........: copy_input_until_stop (origin5-bz2.c:4686)
@@ -28,7 +28,7 @@
by 0x........: BZ2_bzBuffToBuffCompress (origin5-bz2.c:5630)
by 0x........: main (origin5-bz2.c:6484)
Uninitialised value was created by a client request
- at 0x........: main (origin5-bz2.c:6481)
+ at 0x........: main (origin5-bz2.c:6479)
Use of uninitialised value of size 8
at 0x........: mainSort (origin5-bz2.c:2820)
@@ -39,7 +39,7 @@
by 0x........: BZ2_bzBuffToBuffCompress (origin5-bz2.c:5630)
by 0x........: main (origin5-bz2.c:6484)
Uninitialised value was created by a client request
- at 0x........: main (origin5-bz2.c:6481)
+ at 0x........: main (origin5-bz2.c:6479)
Use of uninitialised value of size 8
at 0x........: mainSort (origin5-bz2.c:2823)
@@ -50,7 +50,7 @@
by 0x........: BZ2_bzBuffToBuffCompress (origin5-bz2.c:5630)
by 0x........: main (origin5-bz2.c:6484)
Uninitialised value was created by a client request
- at 0x........: main (origin5-bz2.c:6481)
+ at 0x........: main (origin5-bz2.c:6479)
Use of uninitialised value of size 8
at 0x........: mainSort (origin5-bz2.c:2854)
@@ -61,7 +61,7 @@
by 0x........: BZ2_bzBuffToBuffCompress (origin5-bz2.c:5630)
by 0x........: main (origin5-bz2.c:6484)
Uninitialised value was created by a client request
- at 0x........: main (origin5-bz2.c:6481)
+ at 0x........: main (origin5-bz2.c:6479)
Use of uninitialised value of size 8
at 0x........: mainSort (origin5-bz2.c:2858)
@@ -72,7 +72,7 @@
by 0x........: BZ2_bzBuffToBuffCompress (origin5-bz2.c:5630)
by 0x........: main (origin5-bz2.c:6484)
Uninitialised value was created by a client request
- at 0x........: main (origin5-bz2.c:6481)
+ at 0x........: main (origin5-bz2.c:6479)
Use of uninitialised value of size 8
at 0x........: mainSort (origin5-bz2.c:2963)
@@ -83,7 +83,7 @@
by 0x........: BZ2_bzBuffToBuffCompress (origin5-bz2.c:5630)
by 0x........: main (origin5-bz2.c:6484)
Uninitialised value was created by a client request
- at 0x........: main (origin5-bz2.c:6481)
+ at 0x........: main (origin5-bz2.c:6479)
Use of uninitialised value of size 8
at 0x........: mainSort (origin5-bz2.c:2964)
@@ -94,7 +94,7 @@
by 0x........: BZ2_bzBuffToBuffCompress (origin5-bz2.c:5630)
by 0x........: main (origin5-bz2.c:6484)
Uninitialised value was created by a client request
- at 0x........: main (origin5-bz2.c:6481)
+ at 0x........: main (origin5-bz2.c:6479)
Use of uninitialised value of size 8
at 0x........: fallbackSort (origin5-bz2.c:2269)
@@ -105,7 +105,7 @@
by 0x........: BZ2_bzBuffToBuffCompress (origin5-bz2.c:5630)
by 0x........: main (origin5-bz2.c:6484)
Uninitialised value was created by a client request
- at 0x........: main (origin5-bz2.c:6481)
+ at 0x........: main (origin5-bz2.c:6479)
Use of uninitialised value of size 8
<truncated beyond 100 lines>
|
|
From: Tom H. <to...@co...> - 2012-11-04 02:51:28
|
valgrind revision: 13103 VEX revision: 2558 C compiler: gcc (GCC) 4.7.2 20121015 (Red Hat 4.7.2-6) Assembler: GNU assembler version 2.23.51.0.3-3.fc19 20120918 C library: GNU C Library development release version 2.16.90 uname -mrs: Linux 3.5.3-1.fc17.x86_64 x86_64 Vendor version: Fedora release 19 (Rawhide) Nightly build on bristol ( x86_64, Fedora 19 ) Started at 2012-11-04 02:22:23 GMT Ended at 2012-11-04 02:51:13 GMT Results unchanged from 24 hours ago Checking out valgrind source tree ... done Configuring valgrind ... done Building valgrind ... done Running regression tests ... failed Regression test results follow == 633 tests, 2 stderr failures, 0 stdout failures, 0 stderrB failures, 0 stdoutB failures, 0 post failures == memcheck/tests/err_disable4 (stderr) memcheck/tests/origin5-bz2 (stderr) |