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
(32) |
Oct
|
Nov
|
Dec
|
| S | M | T | W | T | F | S |
|---|---|---|---|---|---|---|
|
|
|
|
1
(22) |
2
(32) |
3
(34) |
4
(27) |
|
5
(36) |
6
(30) |
7
(19) |
8
(30) |
9
(28) |
10
(13) |
11
(1) |
|
12
|
13
(1) |
14
(2) |
15
(14) |
16
(21) |
17
(16) |
18
(19) |
|
19
(2) |
20
(9) |
21
(19) |
22
(15) |
23
(30) |
24
(28) |
25
(22) |
|
26
(23) |
27
(18) |
28
(35) |
29
(24) |
30
(24) |
31
(16) |
|
|
From: Tom H. <to...@co...> - 2012-08-05 02:41:57
|
valgrind revision: 12835 VEX revision: 2458 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.4.0-1.fc17.x86_64 x86_64 Vendor version: Fedora release 14 (Laughlin) Nightly build on bristol ( x86_64, Fedora 14 ) Started at 2012-08-05 03:12:02 BST Ended at 2012-08-05 03:41:46 BST 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 == 622 tests, 1 stderr failure, 0 stdout failures, 1 stderrB failure, 2 stdoutB failures, 0 post failures == gdbserver_tests/mcinfcallWSRU (stderrB) gdbserver_tests/nlcontrolc (stdoutB) gdbserver_tests/nlpasssigalrm (stdoutB) memcheck/tests/origin5-bz2 (stderr) |
|
From: Tom H. <to...@co...> - 2012-08-05 02:34:03
|
valgrind revision: 12835 VEX revision: 2458 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.4.0-1.fc17.x86_64 x86_64 Vendor version: Fedora release 15 (Lovelock) Nightly build on bristol ( x86_64, Fedora 15 ) Started at 2012-08-05 03:03:15 BST Ended at 2012-08-05 03:33:51 BST 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, 1 stderrB failure, 2 stdoutB failures, 0 post failures == gdbserver_tests/mcinfcallWSRU (stderrB) gdbserver_tests/nlcontrolc (stdoutB) gdbserver_tests/nlpasssigalrm (stdoutB) memcheck/tests/origin5-bz2 (stderr) memcheck/tests/overlap (stderr) |
|
From: Tom H. <to...@co...> - 2012-08-05 02:23:50
|
valgrind revision: 12835 VEX revision: 2458 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.4.0-1.fc17.x86_64 x86_64 Vendor version: Fedora release 16 (Verne) Nightly build on bristol ( x86_64, Fedora 16 ) Started at 2012-08-05 02:52:08 BST Ended at 2012-08-05 03:23:38 BST Results differ 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, 1 stderrB failure, 2 stdoutB failures, 0 post failures == gdbserver_tests/mcinfcallWSRU (stderrB) gdbserver_tests/nlcontrolc (stdoutB) gdbserver_tests/nlpasssigalrm (stdoutB) memcheck/tests/origin5-bz2 (stderr) memcheck/tests/overlap (stderr) ================================================= == Results 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, 3 stderr failures, 0 stdout failures, 1 stderrB failure, 2 stdoutB failures, 0 post failures == gdbserver_tests/mcinfcallWSRU (stderrB) gdbserver_tests/nlcontrolc (stdoutB) gdbserver_tests/nlpasssigalrm (stdoutB) memcheck/tests/origin5-bz2 (stderr) memcheck/tests/overlap (stderr) memcheck/tests/str_tester (stderr) ================================================= == Difference between 24 hours ago and now == ================================================= *** old.short 2012-08-05 03:07:29.967328364 +0100 --- new.short 2012-08-05 03:23:38.375449300 +0100 *************** *** 8,10 **** ! == 624 tests, 3 stderr failures, 0 stdout failures, 1 stderrB failure, 2 stdoutB failures, 0 post failures == gdbserver_tests/mcinfcallWSRU (stderrB) --- 8,10 ---- ! == 624 tests, 2 stderr failures, 0 stdout failures, 1 stderrB failure, 2 stdoutB failures, 0 post failures == gdbserver_tests/mcinfcallWSRU (stderrB) *************** *** 14,16 **** memcheck/tests/overlap (stderr) - memcheck/tests/str_tester (stderr) --- 14,15 ---- |
|
From: <sv...@va...> - 2012-08-05 02:23:19
|
petarj 2012-08-05 03:22:52 +0100 (Sun, 05 Aug 2012)
New Revision: 12836
Log:
Fixing incorrect case in putSyscallArgsIntoGuestState for __NR_syscall.
Previously unused arg8 is now used to hold NR_syscall value when that call is
executed. This is important, so putSyscallArgsIntoGuestState can correctly
fill up the guest state. This is MIPS-only change.
Modified files:
trunk/coregrind/m_syswrap/syswrap-main.c
Modified: trunk/coregrind/m_syswrap/syswrap-main.c (+21 -8)
===================================================================
--- trunk/coregrind/m_syswrap/syswrap-main.c 2012-08-05 01:08:25 +01:00 (rev 12835)
+++ trunk/coregrind/m_syswrap/syswrap-main.c 2012-08-05 03:22:52 +01:00 (rev 12836)
@@ -473,6 +473,7 @@
canonical->arg4 = gst->guest_r7; // a3
canonical->arg5 = *((UInt*) (gst->guest_r29 + 16)); // 16(guest_SP/sp)
canonical->arg6 = *((UInt*) (gst->guest_r29 + 20)); // 20(sp)
+ canonical->arg8 = 0;
} else {
// Fixme hack handle syscall()
canonical->sysno = gst->guest_r4; // a0
@@ -482,6 +483,7 @@
canonical->arg4 = *((UInt*) (gst->guest_r29 + 16)); // 16(guest_SP/sp)
canonical->arg5 = *((UInt*) (gst->guest_r29 + 20)); // 20(guest_SP/sp)
canonical->arg6 = *((UInt*) (gst->guest_r29 + 24)); // 24(guest_SP/sp)
+ canonical->arg8 = __NR_syscall;
}
#elif defined(VGP_x86_darwin)
@@ -719,14 +721,25 @@
#elif defined(VGP_mips32_linux)
VexGuestMIPS32State* gst = (VexGuestMIPS32State*)gst_vanilla;
- gst->guest_r2 = canonical->sysno;
- gst->guest_r4 = canonical->arg1;
- gst->guest_r5 = canonical->arg2;
- gst->guest_r6 = canonical->arg3;
- gst->guest_r7 = canonical->arg4;
- *((UInt*) (gst->guest_r29 + 16)) = canonical->arg5; // 16(guest_GPR29/sp)
- *((UInt*) (gst->guest_r29 + 20)) = canonical->arg6; // 20(sp)
-
+ if (canonical->arg8 != __NR_syscall) {
+ gst->guest_r2 = canonical->sysno;
+ gst->guest_r4 = canonical->arg1;
+ gst->guest_r5 = canonical->arg2;
+ gst->guest_r6 = canonical->arg3;
+ gst->guest_r7 = canonical->arg4;
+ *((UInt*) (gst->guest_r29 + 16)) = canonical->arg5; // 16(guest_GPR29/sp)
+ *((UInt*) (gst->guest_r29 + 20)) = canonical->arg6; // 20(sp)
+ } else {
+ canonical->arg8 = 0;
+ gst->guest_r2 = __NR_syscall;
+ gst->guest_r4 = canonical->sysno;
+ gst->guest_r5 = canonical->arg1;
+ gst->guest_r6 = canonical->arg2;
+ gst->guest_r7 = canonical->arg3;
+ *((UInt*) (gst->guest_r29 + 16)) = canonical->arg4; // 16(guest_GPR29/sp)
+ *((UInt*) (gst->guest_r29 + 20)) = canonical->arg5; // 20(sp)
+ *((UInt*) (gst->guest_r29 + 24)) = canonical->arg6; // 24(sp)
+ }
#else
# error "putSyscallArgsIntoGuestState: unknown arch"
#endif
|
|
From: Tom H. <to...@co...> - 2012-08-05 02:14:29
|
valgrind revision: 12835 VEX revision: 2458 C compiler: gcc (GCC) 4.7.0 20120507 (Red Hat 4.7.0-5) 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.4.0-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-08-05 02:41:22 BST Ended at 2012-08-05 03:14:16 BST Results differ 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, 5 stderr failures, 1 stdout failure, 1 stderrB failure, 2 stdoutB failures, 0 post failures == gdbserver_tests/mcinfcallWSRU (stderr) gdbserver_tests/mcinfcallWSRU (stderrB) gdbserver_tests/mcmain_pic (stderr) gdbserver_tests/nlcontrolc (stdoutB) gdbserver_tests/nlpasssigalrm (stdoutB) memcheck/tests/origin5-bz2 (stderr) memcheck/tests/overlap (stderr) exp-sgcheck/tests/preen_invars (stdout) exp-sgcheck/tests/preen_invars (stderr) ================================================= == Results 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, 7 stderr failures, 1 stdout failure, 1 stderrB failure, 2 stdoutB failures, 0 post failures == gdbserver_tests/mcinfcallRU (stderr) gdbserver_tests/mcinfcallWSRU (stderr) gdbserver_tests/mcinfcallWSRU (stderrB) gdbserver_tests/mcmain_pic (stderr) gdbserver_tests/nlcontrolc (stdoutB) gdbserver_tests/nlpasssigalrm (stdoutB) memcheck/tests/origin5-bz2 (stderr) memcheck/tests/overlap (stderr) memcheck/tests/str_tester (stderr) exp-sgcheck/tests/preen_invars (stdout) exp-sgcheck/tests/preen_invars (stderr) ================================================= == Difference between 24 hours ago and now == ================================================= *** old.short 2012-08-05 02:57:55.456080329 +0100 --- new.short 2012-08-05 03:14:16.176013799 +0100 *************** *** 8,11 **** ! == 624 tests, 7 stderr failures, 1 stdout failure, 1 stderrB failure, 2 stdoutB failures, 0 post failures == ! gdbserver_tests/mcinfcallRU (stderr) gdbserver_tests/mcinfcallWSRU (stderr) --- 8,10 ---- ! == 624 tests, 5 stderr failures, 1 stdout failure, 1 stderrB failure, 2 stdoutB failures, 0 post failures == gdbserver_tests/mcinfcallWSRU (stderr) *************** *** 17,19 **** memcheck/tests/overlap (stderr) - memcheck/tests/str_tester (stderr) exp-sgcheck/tests/preen_invars (stdout) --- 16,17 ---- |
|
From: Christian B. <bor...@de...> - 2012-08-05 02:12:14
|
valgrind revision: 12835 VEX revision: 2458 C compiler: gcc (SUSE Linux) 4.3.4 [gcc-4_3-branch revision 152973] Assembler: GNU assembler (GNU Binutils; SUSE Linux Enterprise 11) 2.20.0.20100122-0.7.9 C library: GNU C Library stable release version 2.11.1 (20100118) uname -mrs: Linux 2.6.32.59-0.7-default s390x Vendor version: Welcome to SUSE Linux Enterprise Server 11 SP1 (s390x) - Kernel %r (%t). Nightly build on sless390 ( SUSE Linux Enterprise Server 11 SP1 gcc 4.3.4 on z196 (s390x) ) Started at 2012-08-05 03:45:01 CEST Ended at 2012-08-05 04:12:03 CEST Results differ from 24 hours ago Checking out valgrind source tree ... done Configuring valgrind ... done Building valgrind ... done Running regression tests ... failed Regression test results follow == 557 tests, 2 stderr failures, 0 stdout failures, 0 stderrB failures, 0 stdoutB failures, 0 post failures == helgrind/tests/tc18_semabuse (stderr) helgrind/tests/tc20_verifywrap (stderr) ================================================= == Results from 24 hours ago == ================================================= Checking out valgrind source tree ... done Configuring valgrind ... done Building valgrind ... done Running regression tests ... failed Regression test results follow == 557 tests, 2 stderr failures, 2 stdout failures, 0 stderrB failures, 0 stdoutB failures, 0 post failures == none/tests/s390x/cu12 (stdout) none/tests/s390x/cu12_1 (stdout) helgrind/tests/tc18_semabuse (stderr) helgrind/tests/tc20_verifywrap (stderr) ================================================= == Difference between 24 hours ago and now == ================================================= *** old.short Sun Aug 5 03:58:37 2012 --- new.short Sun Aug 5 04:12:03 2012 *************** *** 8,12 **** ! == 557 tests, 2 stderr failures, 2 stdout failures, 0 stderrB failures, 0 stdoutB failures, 0 post failures == ! none/tests/s390x/cu12 (stdout) ! none/tests/s390x/cu12_1 (stdout) helgrind/tests/tc18_semabuse (stderr) --- 8,10 ---- ! == 557 tests, 2 stderr failures, 0 stdout failures, 0 stderrB failures, 0 stdoutB failures, 0 post failures == helgrind/tests/tc18_semabuse (stderr) |
|
From: Christian B. <bor...@de...> - 2012-08-05 02:04:13
|
valgrind revision: 12835 VEX revision: 2458 C compiler: gcc (GCC) 4.5.3 20110121 (Red Hat 4.5.3-5) Assembler: GNU assembler version 2.20.51.0.7-4bb6.fc13 20100318 C library: GNU C Library stable release version 2.12.1 uname -mrs: Linux 3.3.4-53.x.20120504-s390xperformance s390x Vendor version: unknown Nightly build on fedora390 ( Fedora 13/14/15 mix with gcc 3.5.3 on z196 (s390x) ) Started at 2012-08-05 03:45:01 CEST Ended at 2012-08-05 04:04:18 CEST Results differ from 24 hours ago Checking out valgrind source tree ... done Configuring valgrind ... done Building valgrind ... done Running regression tests ... failed Regression test results follow == 556 tests, 5 stderr failures, 1 stdout failure, 1 stderrB failure, 1 stdoutB failure, 0 post failures == gdbserver_tests/mcinvokeWS (stdoutB) gdbserver_tests/mcinvokeWS (stderrB) none/tests/s390x/cu12 (stdout) helgrind/tests/tc18_semabuse (stderr) helgrind/tests/tc20_verifywrap (stderr) helgrind/tests/tc21_pthonce (stderr) helgrind/tests/tc22_exit_w_lock (stderr) drd/tests/tc21_pthonce (stderr) ================================================= == Results from 24 hours ago == ================================================= Checking out valgrind source tree ... done Configuring valgrind ... done Building valgrind ... done Running regression tests ... failed Regression test results follow == 556 tests, 5 stderr failures, 2 stdout failures, 0 stderrB failures, 0 stdoutB failures, 0 post failures == none/tests/s390x/cu12 (stdout) none/tests/s390x/cu12_1 (stdout) helgrind/tests/tc18_semabuse (stderr) helgrind/tests/tc20_verifywrap (stderr) helgrind/tests/tc21_pthonce (stderr) helgrind/tests/tc22_exit_w_lock (stderr) drd/tests/tc21_pthonce (stderr) ================================================= == Difference between 24 hours ago and now == ================================================= *** old.short Sun Aug 5 03:54:39 2012 --- new.short Sun Aug 5 04:04:18 2012 *************** *** 8,12 **** ! == 556 tests, 5 stderr failures, 2 stdout failures, 0 stderrB failures, 0 stdoutB failures, 0 post failures == none/tests/s390x/cu12 (stdout) - none/tests/s390x/cu12_1 (stdout) helgrind/tests/tc18_semabuse (stderr) --- 8,13 ---- ! == 556 tests, 5 stderr failures, 1 stdout failure, 1 stderrB failure, 1 stdoutB failure, 0 post failures == ! gdbserver_tests/mcinvokeWS (stdoutB) ! gdbserver_tests/mcinvokeWS (stderrB) none/tests/s390x/cu12 (stdout) helgrind/tests/tc18_semabuse (stderr) |
|
From: Tom H. <to...@co...> - 2012-08-05 01:59:14
|
valgrind revision: 12835 VEX revision: 2458 C compiler: gcc (GCC) 4.7.1 20120720 (Red Hat 4.7.1-5) Assembler: GNU assembler version 2.22.52.0.4-6.fc18 20120604 C library: GNU C Library stable release version 2.16 uname -mrs: Linux 3.4.0-1.fc17.x86_64 x86_64 Vendor version: Fedora release 18 (Rawhide) Nightly build on bristol ( x86_64, Fedora 18 ) Started at 2012-08-05 02:31:33 BST Ended at 2012-08-05 02:59:01 BST Results differ 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, 5 stderr failures, 0 stdout failures, 0 stderrB failures, 0 stdoutB failures, 0 post failures == gdbserver_tests/mcinfcallRU (stderr) gdbserver_tests/mcinfcallWSRU (stderr) gdbserver_tests/mcmain_pic (stderr) memcheck/tests/origin5-bz2 (stderr) memcheck/tests/overlap (stderr) ================================================= == Results 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, 6 stderr failures, 0 stdout failures, 0 stderrB failures, 0 stdoutB failures, 0 post failures == gdbserver_tests/mcinfcallRU (stderr) gdbserver_tests/mcinfcallWSRU (stderr) gdbserver_tests/mcmain_pic (stderr) memcheck/tests/origin5-bz2 (stderr) memcheck/tests/overlap (stderr) memcheck/tests/str_tester (stderr) ================================================= == Difference between 24 hours ago and now == ================================================= *** old.short 2012-08-05 02:45:23.609464342 +0100 --- new.short 2012-08-05 02:59:01.161734822 +0100 *************** *** 8,10 **** ! == 624 tests, 6 stderr failures, 0 stdout failures, 0 stderrB failures, 0 stdoutB failures, 0 post failures == gdbserver_tests/mcinfcallRU (stderr) --- 8,10 ---- ! == 624 tests, 5 stderr failures, 0 stdout failures, 0 stderrB failures, 0 stdoutB failures, 0 post failures == gdbserver_tests/mcinfcallRU (stderr) *************** *** 14,16 **** memcheck/tests/overlap (stderr) - memcheck/tests/str_tester (stderr) --- 14,15 ---- |
|
From: Siddharth N. <sn...@dr...> - 2012-08-05 01:30:09
|
On 4 August 2012 20:15, Philippe Waroquiers <phi...@sk...>wrote: > On Sat, 2012-08-04 at 18:43 -0400, Siddharth Nilakantan wrote: > > > When I run it normally, it runs fine as shown above. However, when I > > run it under gdb: > > It is unclear what you are trying to do. > > Launching gdb on callgrind-amd64-linux means you will debug > the callgrind tool. > If this is really what you want to do, then see README_DEVELOPERS > that describes how to debug Valgrind and its tools. > > Debugging callgrind is what I wanted to do. I made some modifications to Callgrind for a research project. I was debugging some changes I recently made, when I saw this issue, the first step was to test unmodified source with gdb. Following README_DEVELOPERS, even the pwd example doesn't seem to be working: (gdb) handle SIGSEGV SIGILL nostop noprint Signal Stop Print Pass to program Description SIGILL No No Yes Illegal instruction SIGSEGV No No Yes Segmentation fault (gdb) r pwd Starting program: /usr/local/lib/valgrind/callgrind-amd64-linux pwd warning: no loadable sections found in added symbol-file system-supplied DSO at 0x2aaaaaaab000 ==10498== Callgrind, a call-graph generating cache profiler ==10498== Copyright (C) 2002-2011, and GNU GPL'd, by Josef Weidendorfer et al. ==10498== Using Valgrind-3.8.0.SVN and LibVEX; rerun with -h for copyright info ==10498== Command: pwd ==10498== ==10498== For interactive control, run 'callgrind_control -h'. --10498-- VG_USERREQ__CLIENT_CALL1: func=0x0 --10498-- VG_USERREQ__CLIENT_CALL1: func=0x0 --10498-- VG_USERREQ__CLIENT_CALL1: func=0x0 ==10498== ==10498== Process terminating with default action of signal 11 (SIGSEGV) ==10498== Access not within mapped region at address 0x0 ==10498== at 0x4A07862: strlen (mc_replace_strmem.c:391) ==10498== by 0x3D9022D7FD: _nl_make_l10nflist (in /lib64/libc-2.5.so) ==10498== by 0x3D902278AA: _nl_find_locale (in /lib64/libc-2.5.so) ==10498== by 0x3D902272CD: setlocale (in /lib64/libc-2.5.so) ==10498== by 0x401756: ??? (in /bin/pwd) ==10498== by 0x3D9021D993: (below main) (in /lib64/libc-2.5.so) ==10498== If you believe this happened as a result of a stack ==10498== overflow in your program's main thread (unlikely but ==10498== possible), you can try to increase the size of the ==10498== main thread stack using the --main-stacksize= flag. ==10498== The main thread stack size used in this run was 10485760. ==10498== ==10498== Events : Ir ==10498== Collected : 114266 ==10498== ==10498== I refs: 114,266 Program terminated with signal SIGSEGV, Segmentation fault. The program no longer exists. > Otherwise, if you want to debug your application while running > under callgrind, you can use the embedded Valgrind gdbserver > (see the doc, or give --vgdb-error=0 option and follow instructions > on the screen). > > Philippe > > > |
|
From: Philippe W. <phi...@sk...> - 2012-08-05 00:15:52
|
On Sat, 2012-08-04 at 18:43 -0400, Siddharth Nilakantan wrote: > When I run it normally, it runs fine as shown above. However, when I > run it under gdb: It is unclear what you are trying to do. Launching gdb on callgrind-amd64-linux means you will debug the callgrind tool. If this is really what you want to do, then see README_DEVELOPERS that describes how to debug Valgrind and its tools. Otherwise, if you want to debug your application while running under callgrind, you can use the embedded Valgrind gdbserver (see the doc, or give --vgdb-error=0 option and follow instructions on the screen). Philippe |
|
From: <sv...@va...> - 2012-08-05 00:08:34
|
philippe 2012-08-05 01:08:25 +0100 (Sun, 05 Aug 2012)
New Revision: 12835
Log:
301265 - add x86 support to Android build
Patch by Dragos Tatulea.
Modified files:
trunk/Makefile.all.am
trunk/NEWS
trunk/README.android
trunk/auxprogs/Makefile.am
trunk/configure.in
trunk/coregrind/Makefile.am
trunk/coregrind/launcher-linux.c
trunk/coregrind/m_coredump/coredump-elf.c
trunk/coregrind/m_debuginfo/readelf.c
trunk/coregrind/m_debuginfo/readstabs.c
trunk/coregrind/m_debuglog.c
trunk/coregrind/m_initimg/initimg-linux.c
trunk/coregrind/m_options.c
trunk/coregrind/m_replacemalloc/vg_replace_malloc.c
trunk/coregrind/m_syswrap/syswrap-linux.c
trunk/coregrind/m_ume/main.c
trunk/coregrind/vg_preloaded.c
trunk/coregrind/vgdb.c
trunk/include/vki/vki-linux.h
trunk/memcheck/mc_replace_strmem.c
Modified: trunk/coregrind/vg_preloaded.c (+2 -22)
===================================================================
--- trunk/coregrind/vg_preloaded.c 2012-08-05 00:10:23 -23:00 (rev 12834)
+++ trunk/coregrind/vg_preloaded.c 2012-08-05 01:08:25 +01:00 (rev 12835)
@@ -56,7 +56,8 @@
void VG_NOTIFY_ON_LOAD(freeres)( void );
void VG_NOTIFY_ON_LOAD(freeres)( void )
{
-# if !defined(__UCLIBC__) && !defined(VGPV_arm_linux_android)
+# if !defined(__UCLIBC__) \
+ && !defined(VGPV_arm_linux_android) && !defined(VGPV_x86_linux_android)
extern void __libc_freeres(void);
__libc_freeres();
# endif
@@ -89,27 +90,6 @@
return (void*)result;
}
-#if defined(ANDROID_HARDWARE_emulator)
-/* When running on android emulator, we get the following error when doing
- ./valgrind date
-
- link_image[1921]: 494 could not load needed library
- '/data/local/Inst/lib/valgrind/vgpreload_core-arm-linux.so' for 'date'
- (reloc_library[1285]: 494 cannot locate '__cxa_finalize'...
- )CANNOT LINK EXECUTABLE
-
- This problem is bypassed by adding the below function.
- Do not ask me to explain neither the problem nor the solution.
-*/
-extern void __cxa_finalize(void);
-void __cxa_finalize(void)
-{
- // ??? what should we do here ? Silently do nothing looks not sane.
- // So, try to crash:
- *(volatile int *)0 = 'x';
-}
-#endif
-
#elif defined(VGO_darwin)
#include "config.h" /* VERSION */
Modified: trunk/coregrind/m_replacemalloc/vg_replace_malloc.c (+5 -2)
===================================================================
--- trunk/coregrind/m_replacemalloc/vg_replace_malloc.c 2012-08-05 00:10:23 -23:00 (rev 12834)
+++ trunk/coregrind/m_replacemalloc/vg_replace_malloc.c 2012-08-05 01:08:25 +01:00 (rev 12835)
@@ -119,6 +119,9 @@
# if defined(VGPV_arm_linux_android)
__asm__ __volatile__(".word 0xFFFFFFFF");
while (1) {}
+# elif defined(VGPV_x86_linux_android)
+ __asm__ __volatile__("ud2");
+ while (1) {}
# else
extern __attribute__ ((__noreturn__)) void _exit(int status);
_exit(x);
@@ -128,7 +131,7 @@
/* Same problem with getpagesize. */
static inline int my_getpagesize ( void )
{
-# if defined(VGPV_arm_linux_android)
+# if defined(VGPV_arm_linux_android) || defined(VGPV_x86_linux_android)
return 4096; /* kludge - link failure on Android, for some reason */
# else
extern int getpagesize (void);
@@ -904,7 +907,7 @@
MALLOC_USABLE_SIZE(SO_SYN_MALLOC, malloc_usable_size);
MALLOC_USABLE_SIZE(VG_Z_LIBC_SONAME, malloc_size);
MALLOC_USABLE_SIZE(SO_SYN_MALLOC, malloc_size);
-# if defined(VGPV_arm_linux_android)
+# if defined(VGPV_arm_linux_android) || defined(VGPV_x86_linux_android)
MALLOC_USABLE_SIZE(VG_Z_LIBC_SONAME, dlmalloc_usable_size);
MALLOC_USABLE_SIZE(SO_SYN_MALLOC, dlmalloc_usable_size);
# endif
Modified: trunk/coregrind/m_coredump/coredump-elf.c (+9 -7)
===================================================================
--- trunk/coregrind/m_coredump/coredump-elf.c 2012-08-05 00:10:23 -23:00 (rev 12834)
+++ trunk/coregrind/m_coredump/coredump-elf.c 2012-08-05 01:08:25 +01:00 (rev 12835)
@@ -136,7 +136,7 @@
phdr->p_align = VKI_PAGE_SIZE;
}
-#if defined(VGPV_arm_linux_android)
+#if defined(VGPV_arm_linux_android) || defined(VGPV_x86_linux_android)
/* Android's libc doesn't provide a definition for this. Hence: */
typedef
struct {
@@ -159,7 +159,7 @@
+ VG_ROUNDUP(n->note.n_descsz, 4);
}
-#if !defined(VGPV_arm_linux_android)
+#if !defined(VGPV_arm_linux_android) && !defined(VGPV_x86_linux_android)
static void add_note(struct note **list, const Char *name, UInt type,
const void *data, UInt datasz)
{
@@ -181,7 +181,7 @@
VG_(memcpy)(n->name, name, namelen);
VG_(memcpy)(n->name+VG_ROUNDUP(namelen,4), data, datasz);
}
-#endif /* !defined(VGPV_arm_linux_android) */
+#endif /* !defined(VGPV_*_linux_android) */
static void write_note(Int fd, const struct note *n)
{
@@ -476,7 +476,7 @@
#endif
}
-#if defined(VGP_x86_linux)
+#if defined(VGP_x86_linux) && !defined(VGPV_x86_linux_android)
static void fill_xfpu(const ThreadState *tst, vki_elf_fpxregset_t *xfpu)
{
ThreadArchState* arch = (ThreadArchState*)&tst->arch;
@@ -589,26 +589,28 @@
continue;
# if defined(VGP_x86_linux)
+# if !defined(VGPV_arm_linux_android) && !defined(VGPV_x86_linux_android)
{
vki_elf_fpxregset_t xfpu;
fill_xfpu(&VG_(threads)[i], &xfpu);
add_note(¬elist, "LINUX", NT_PRXFPREG, &xfpu, sizeof(xfpu));
}
# endif
+# endif
fill_fpu(&VG_(threads)[i], &fpu);
-# if !defined(VGPV_arm_linux_android)
+# if !defined(VGPV_arm_linux_android) && !defined(VGPV_x86_linux_android)
add_note(¬elist, "CORE", NT_FPREGSET, &fpu, sizeof(fpu));
# endif
fill_prstatus(&VG_(threads)[i], &prstatus, si);
-# if !defined(VGPV_arm_linux_android)
+# if !defined(VGPV_arm_linux_android) && !defined(VGPV_x86_linux_android)
add_note(¬elist, "CORE", NT_PRSTATUS, &prstatus, sizeof(prstatus));
# endif
}
fill_prpsinfo(&VG_(threads)[tid], &prpsinfo);
-# if !defined(VGPV_arm_linux_android)
+# if !defined(VGPV_arm_linux_android) && !defined(VGPV_x86_linux_android)
add_note(¬elist, "CORE", NT_PRPSINFO, &prpsinfo, sizeof(prpsinfo));
# endif
Modified: trunk/README.android (+28 -4)
===================================================================
--- trunk/README.android 2012-08-05 00:10:23 -23:00 (rev 12834)
+++ trunk/README.android 2012-08-05 01:08:25 +01:00 (rev 12835)
@@ -3,13 +3,18 @@
17 Feb 2012, for Valgrind SVN revision 12390/2257.
This is known to work at least for :
+ARM:
+####
Android 4.0.3 running on a (rooted, AOSP build) Nexus S.
Android 4.0.3 running on Motorola Xoom.
- Android 4.0.3 running on android emulator.
+ Android 4.0.3 running on android arm emulator.
Android 4.1 running on android emulator.
-
Android 2.3.4 on Nexus S worked at some time in the past.
+x86:
+####
+ Android 4.0.3 running on android x86 emulator.
+
On android, GDBserver might insert breaks at wrong addresses.
Feedback on this welcome.
@@ -43,7 +48,7 @@
# So choose one of the below:
#
export HWKIND=nexus_s # Samsung Nexus S; also Xoom (for now)
-export HWKIND=pandaboard # Pandaboard running Linaro Android
+export HWKIND=generic # A generic Android device. eg, Pandaboard
export HWKIND=emulator # Android emulator
# Then cd to the root of your Valgrind source tree.
@@ -57,11 +62,19 @@
# Set up toolchain paths.
#
+For ARM
+#######
export AR=$NDKROOT/toolchains/arm-linux-androideabi-4.4.3/prebuilt/linux-x86/bin/arm-linux-androideabi-ar
export LD=$NDKROOT/toolchains/arm-linux-androideabi-4.4.3/prebuilt/linux-x86/bin/arm-linux-androideabi-ld
export CC=$NDKROOT/toolchains/arm-linux-androideabi-4.4.3/prebuilt/linux-x86/bin/arm-linux-androideabi-gcc
+For x86
+#######
+export AR=$NDKROOT/toolchains/x86-4.4.3/prebuilt/linux-x86/bin/i686-android-linux-ar
+export LD=$NDKROOT/toolchains/x86-4.4.3/prebuilt/linux-x86/bin/i686-android-linux-ld
+export CC=$NDKROOT/toolchains/x86-4.4.3/prebuilt/linux-x86/bin/i686-android-linux-gcc
+
# Do configuration stuff. Don't mess with the --prefix in the
# configure command below, even if you think it's wrong.
# You may need to set the --with-tmpdir path to something
@@ -70,6 +83,7 @@
./autogen.sh
+# for ARM
CPPFLAGS="--sysroot=$NDKROOT/platforms/android-3/arch-arm -DANDROID_HARDWARE_$HWKIND" \
CFLAGS="--sysroot=$NDKROOT/platforms/android-3/arch-arm" \
./configure --prefix=/data/local/Inst \
@@ -78,11 +92,21 @@
# note: on android emulator, android-14 platform was also tested and works.
# It is not clear what this platform nr really is.
+# for x86
+CPPFLAGS="--sysroot=$NDKROOT/platforms/android-9/arch-x86 -DANDROID_HARDWARE_$HWKIND" \
+ CFLAGS="--sysroot=$NDKROOT/platforms/android-9/arch-x86 -fno-pic" \
+ ./configure --prefix=/data/local/Inst \
+ --host=i686-android-linux --target=i686-android-linux \
+ --with-tmpdir=/sdcard
+
# At the end of the configure run, a few lines of details
# are printed. Make sure that you see these two lines:
-#
+# For ARM:
# Platform variant: android
# Primary -DVGPV string: -DVGPV_arm_linux_android=1
+# For x86:
+# Platform variant: android
+# Primary -DVGPV string: -DVGPV_x86_linux_android=1
#
# If you see anything else at this point, something is wrong, and
# either the build will fail, or will succeed but you'll get something
Modified: trunk/Makefile.all.am (+7 -0)
===================================================================
--- trunk/Makefile.all.am 2012-08-05 00:10:23 -23:00 (rev 12834)
+++ trunk/Makefile.all.am 2012-08-05 01:08:25 +01:00 (rev 12835)
@@ -198,6 +198,13 @@
PRELOAD_LDFLAGS_COMMON_LINUX = -nodefaultlibs -shared -Wl,-z,interpose,-z,initfirst
PRELOAD_LDFLAGS_COMMON_DARWIN = -dynamic -dynamiclib -all_load
+if VGCONF_PLATVARIANT_IS_ANDROID
+# The Android toolchain includes all kinds of stdlib helpers present in
+# bionic which is bad because we are not linking with it and the Android
+# linker will panic.
+PRELOAD_LDFLAGS_COMMON_LINUX += -nostdlib
+endif
+
PRELOAD_LDFLAGS_X86_LINUX = $(PRELOAD_LDFLAGS_COMMON_LINUX) @FLAG_M32@
PRELOAD_LDFLAGS_AMD64_LINUX = $(PRELOAD_LDFLAGS_COMMON_LINUX) @FLAG_M64@
PRELOAD_LDFLAGS_PPC32_LINUX = $(PRELOAD_LDFLAGS_COMMON_LINUX) @FLAG_M32@
Modified: trunk/coregrind/vgdb.c (+2 -2)
===================================================================
--- trunk/coregrind/vgdb.c 2012-08-05 00:10:23 -23:00 (rev 12834)
+++ trunk/coregrind/vgdb.c 2012-08-05 01:08:25 +01:00 (rev 12835)
@@ -94,7 +94,7 @@
#undef PTRACEINVOKER
#endif
-#if defined(VGPV_arm_linux_android)
+#if defined(VGPV_arm_linux_android) || defined(VGPV_x86_linux_android)
#undef PTRACEINVOKER
#endif
@@ -1634,7 +1634,7 @@
sigpipe++;
} else if (signum == SIGALRM) {
sigalrm++;
-#if defined(VGPV_arm_linux_android)
+#if defined(VGPV_arm_linux_android) || defined(VGPV_x86_linux_android)
/* Android has no pthread_cancel. As it also does not have
PTRACE_INVOKER, there is no need for cleanup action.
So, we just do nothing. */
Modified: trunk/coregrind/m_options.c (+1 -1)
===================================================================
--- trunk/coregrind/m_options.c 2012-08-05 00:10:23 -23:00 (rev 12834)
+++ trunk/coregrind/m_options.c 2012-08-05 01:08:25 +01:00 (rev 12835)
@@ -47,7 +47,7 @@
Bool VG_(clo_error_limit) = True;
Int VG_(clo_error_exitcode) = 0;
-#if defined(VGPV_arm_linux_android)
+#if defined(VGPV_arm_linux_android) || defined(VGPV_x86_linux_android)
VgVgdb VG_(clo_vgdb) = Vg_VgdbNo; // currently disabled on Android
#else
VgVgdb VG_(clo_vgdb) = Vg_VgdbYes;
Modified: trunk/coregrind/m_syswrap/syswrap-linux.c (+14 -18)
===================================================================
--- trunk/coregrind/m_syswrap/syswrap-linux.c 2012-08-05 00:10:23 -23:00 (rev 12834)
+++ trunk/coregrind/m_syswrap/syswrap-linux.c 2012-08-05 01:08:25 +01:00 (rev 12835)
@@ -223,13 +223,15 @@
assembler. */
#if defined(VGP_x86_linux)
asm volatile (
+ "pushl %%ebx\n"
"movl %1, %0\n" /* set tst->status = VgTs_Empty */
"movl %2, %%eax\n" /* set %eax = __NR_exit */
"movl %3, %%ebx\n" /* set %ebx = tst->os_state.exitcode */
"int $0x80\n" /* exit(tst->os_state.exitcode) */
+ "popl %%ebx\n"
: "=m" (tst->status)
: "n" (VgTs_Empty), "n" (__NR_exit), "m" (tst->os_state.exitcode)
- : "eax", "ebx"
+ : "eax"
);
#elif defined(VGP_amd64_linux)
asm volatile (
@@ -5379,7 +5381,7 @@
/* These just take an int by value */
break;
-# if defined(VGPV_arm_linux_android)
+# if defined(VGPV_arm_linux_android) || defined(VGPV_x86_linux_android)
/* ashmem */
case VKI_ASHMEM_GET_SIZE:
case VKI_ASHMEM_SET_SIZE:
@@ -5445,7 +5447,7 @@
PRE_FIELD_WRITE("ioctl(BINDER_VERSION)", bv->protocol_version);
}
break;
-# endif /* defined(VGPV_arm_linux_android) */
+# endif /* defined(VGPV_*_linux_android) */
case VKI_HCIINQUIRY:
if (ARG3) {
@@ -5505,7 +5507,7 @@
/* --- BEGIN special IOCTL handlers for specific Android hardware --- */
-# if defined(VGPV_arm_linux_android)
+# if defined(VGPV_arm_linux_android) || defined(VGPV_x86_linux_android)
# if defined(ANDROID_HARDWARE_nexus_s)
@@ -5567,20 +5569,13 @@
/* END Nexus S specific ioctls */
-# elif defined(ANDROID_HARDWARE_pandaboard)
+# elif defined(ANDROID_HARDWARE_generic) || defined(ANDROID_HARDWARE_emulator)
- /* BEGIN Pandaboard specific ioctls */
+ /* BEGIN generic/emulator specific ioctls */
/* currently none are known */
- /* END Pandaboard specific ioctls */
+ /* END generic/emulator specific ioctls */
-# elif defined(ANDROID_HARDWARE_emulator)
-
- /* BEGIN emulator specific ioctls */
- /* currently none are known */
- /* END emulator specific ioctls */
-
-
# else /* no ANDROID_HARDWARE_anything defined */
# warning ""
@@ -5589,7 +5584,8 @@
# warning "building for. Currently known values are"
# warning ""
# warning " ANDROID_HARDWARE_nexus_s Samsung Nexus S"
-# warning " ANDROID_HARDWARE_pandaboard Pandaboard running Linaro Android"
+# warning " ANDROID_HARDWARE_generic Generic device (eg, Pandaboard)"
+# warning " ANDROID_HARDWARE_emulator x86 or arm emulator"
# warning ""
# warning "Make sure you exactly follow the steps in README.android."
# warning ""
@@ -5597,7 +5593,7 @@
# endif /* cases for ANDROID_HARDWARE_blah */
-# endif /* defined(VGPV_arm_linux_android) */
+# endif /* defined(VGPV_*_linux_android) */
/* --- END special IOCTL handlers for specific Android hardware --- */
@@ -6408,7 +6404,7 @@
}
break;
-# if defined(VGPV_arm_linux_android)
+# if defined(VGPV_arm_linux_android) || defined(VGPV_x86_linux_android)
/* ashmem */
case VKI_ASHMEM_GET_SIZE:
case VKI_ASHMEM_SET_SIZE:
@@ -6449,7 +6445,7 @@
POST_FIELD_WRITE(bv->protocol_version);
}
break;
-# endif /* defined(VGPV_arm_linux_android) */
+# endif /* defined(VGPV_*_linux_android) */
case VKI_HCIINQUIRY:
if (ARG3) {
Modified: trunk/NEWS (+3 -0)
===================================================================
--- trunk/NEWS 2012-08-05 00:10:23 -23:00 (rev 12834)
+++ trunk/NEWS 2012-08-05 01:08:25 +01:00 (rev 12835)
@@ -16,6 +16,8 @@
Memcheck, massif, lackey, callgrind and none are tools that have been
tested and are known to work well. See README.mips for more details.
+* Preliminary support for x86 platform running Android.
+
* ==================== TOOL CHANGES ====================
* Massif
@@ -261,6 +263,7 @@
300414 FCOM and FCOMP unimplemented for amd64 guest
301204 infinite loop in canonicaliseSymtab with ifunc symbol
301229 dup of 203877, see above.
+301265 add x86 support to Android build
301984 configure script doesn't detect certain versions of clang
302205 Fix compiler warnings for POWER VEX code and POWER test cases
302287 Unhandled movbe instruction on Atom processors
Modified: trunk/memcheck/mc_replace_strmem.c (+15 -5)
===================================================================
--- trunk/memcheck/mc_replace_strmem.c 2012-08-05 00:10:23 -23:00 (rev 12834)
+++ trunk/memcheck/mc_replace_strmem.c 2012-08-05 01:08:25 +01:00 (rev 12835)
@@ -142,6 +142,9 @@
# if defined(VGPV_arm_linux_android)
__asm__ __volatile__(".word 0xFFFFFFFF");
while (1) {}
+# elif defined(VGPV_x86_linux_android)
+ __asm__ __volatile__("ud2");
+ while (1) {}
# else
extern __attribute__ ((__noreturn__)) void _exit(int status);
_exit(x);
@@ -179,6 +182,9 @@
STRRCHR(VG_Z_LIBC_SONAME, rindex)
STRRCHR(VG_Z_LIBC_SONAME, __GI_strrchr)
STRRCHR(VG_Z_LD_LINUX_SO_2, rindex)
+#if defined(VGPV_arm_linux_android) || defined(VGPV_x86_linux_android)
+ STRRCHR(NONE, __dl_strrchr); /* in /system/bin/linker */
+#endif
#elif defined(VGO_darwin)
//STRRCHR(VG_Z_LIBC_SONAME, strrchr)
@@ -391,7 +397,7 @@
#if defined(VGO_linux)
STRLEN(VG_Z_LIBC_SONAME, strlen)
STRLEN(VG_Z_LIBC_SONAME, __GI_strlen)
-# if defined(VGPV_arm_linux_android)
+# if defined(VGPV_arm_linux_android) || defined(VGPV_x86_linux_android)
STRLEN(NONE, __dl_strlen); /* in /system/bin/linker */
# endif
@@ -502,6 +508,10 @@
#if defined(VGO_linux)
+#if defined(VGPV_arm_linux_android) || defined(VGPV_x86_linux_android)
+ STRLCPY(VG_Z_LIBC_SONAME, strlcpy);
+#endif
+
#elif defined(VGO_darwin)
//STRLCPY(VG_Z_LIBC_SONAME, strlcpy)
//STRLCPY(VG_Z_DYLD, strlcpy)
@@ -568,7 +578,7 @@
}
#if defined(VGO_linux)
-# if !defined(VGPV_arm_linux_android)
+# if !defined(VGPV_arm_linux_android) && !defined(VGPV_x86_linux_android)
STRCASECMP(VG_Z_LIBC_SONAME, strcasecmp)
STRCASECMP(VG_Z_LIBC_SONAME, __GI_strcasecmp)
# endif
@@ -605,7 +615,7 @@
}
#if defined(VGO_linux)
-# if !defined(VGPV_arm_linux_android)
+# if !defined(VGPV_arm_linux_android) && !defined(VGPV_x86_linux_android)
STRNCASECMP(VG_Z_LIBC_SONAME, strncasecmp)
STRNCASECMP(VG_Z_LIBC_SONAME, __GI_strncasecmp)
# endif
@@ -715,7 +725,7 @@
STRCMP(VG_Z_LIBC_SONAME, __GI_strcmp)
STRCMP(VG_Z_LD_LINUX_X86_64_SO_2, strcmp)
STRCMP(VG_Z_LD64_SO_1, strcmp)
-# if defined(VGPV_arm_linux_android)
+# if defined(VGPV_arm_linux_android) || defined(VGPV_x86_linux_android)
STRCMP(NONE, __dl_strcmp); /* in /system/bin/linker */
# endif
@@ -1524,7 +1534,7 @@
}
#if defined(VGO_linux)
-# if !defined(VGPV_arm_linux_android)
+# if !defined(VGPV_arm_linux_android) && !defined(VGPV_x86_linux_android)
STRCASESTR(VG_Z_LIBC_SONAME, strcasestr)
# endif
Modified: trunk/coregrind/m_debuglog.c (+3 -1)
===================================================================
--- trunk/coregrind/m_debuglog.c 2012-08-05 00:10:23 -23:00 (rev 12834)
+++ trunk/coregrind/m_debuglog.c 2012-08-05 01:08:25 +01:00 (rev 12835)
@@ -76,12 +76,14 @@
Int result;
__asm__ volatile (
+ "pushl %%ebx\n"
"movl $"VG_STRINGIFY(__NR_write)", %%eax\n" /* %eax = __NR_write */
"movl $2, %%ebx\n" /* %ebx = stderr */
"int $0x80\n" /* write(stderr, buf, n) */
+ "popl %%ebx\n"
: /*wr*/ "=a" (result)
: /*rd*/ "c" (buf), "d" (n)
- : /*trash*/ "ebx", "edi", "memory", "cc"
+ : /*trash*/ "edi", "memory", "cc"
);
return result >= 0 ? result : -1;
Modified: trunk/coregrind/m_debuginfo/readelf.c (+4 -3)
===================================================================
--- trunk/coregrind/m_debuginfo/readelf.c 2012-08-05 00:10:23 -23:00 (rev 12834)
+++ trunk/coregrind/m_debuginfo/readelf.c 2012-08-05 01:08:25 +01:00 (rev 12835)
@@ -385,7 +385,7 @@
in /system/bin/linker: __dl_strcmp __dl_strlen
*/
if (sym->st_size == 0) {
-# if defined(VGPV_arm_linux_android)
+# if defined(VGPV_arm_linux_android) || defined(VGPV_x86_linux_android)
*sym_size_out = 2048;
# else
TRACE_SYMTAB(" ignore -- size=0: %s\n", sym_name);
@@ -1120,7 +1120,7 @@
{
vg_assert(*dimage == 0 && *n_dimage == 0);
-# if !defined(VGPV_arm_linux_android)
+# if !defined(VGPV_arm_linux_android) && !defined(VGPV_x86_linux_android)
return False; /* we don't know narfink */
# else /* android specific hacks; look away now. */
@@ -2659,7 +2659,8 @@
# if !defined(VGP_amd64_linux) \
&& !defined(VGP_s390x_linux) \
&& !defined(VGP_ppc64_linux) \
- && !defined(VGPV_arm_linux_android)
+ && !defined(VGPV_arm_linux_android) \
+ && !defined(VGPV_x86_linux_android)
if (stab_img && stabstr_img) {
ML_(read_debuginfo_stabs) ( di, stab_img, stab_sz,
stabstr_img, stabstr_sz );
Modified: trunk/coregrind/Makefile.am (+4 -2)
===================================================================
--- trunk/coregrind/Makefile.am 2012-08-05 00:10:23 -23:00 (rev 12834)
+++ trunk/coregrind/Makefile.am 2012-08-05 01:08:25 +01:00 (rev 12835)
@@ -53,17 +53,19 @@
valgrind_LDFLAGS += -Wl,-read_only_relocs -Wl,suppress
endif
# On Android we must ask for non-executable stack, not sure why.
-if VGCONF_PLATFORMS_INCLUDE_ARM_LINUX
if VGCONF_PLATVARIANT_IS_ANDROID
+valgrind_CFLAGS += -static
valgrind_LDFLAGS += -Wl,-z,noexecstack
endif
-endif
vgdb_SOURCES = vgdb.c
vgdb_CPPFLAGS = $(AM_CPPFLAGS_PRI)
vgdb_CFLAGS = $(AM_CFLAGS_PRI)
vgdb_CCASFLAGS = $(AM_CCASFLAGS_PRI)
vgdb_LDFLAGS = $(AM_CFLAGS_PRI)
+if VGCONF_PLATVARIANT_IS_ANDROID
+vgdb_CFLAGS += -static
+endif
if !VGCONF_PLATVARIANT_IS_ANDROID
vgdb_LDADD = -lpthread
endif
Modified: trunk/auxprogs/Makefile.am (+3 -0)
===================================================================
--- trunk/auxprogs/Makefile.am 2012-08-05 00:10:23 -23:00 (rev 12834)
+++ trunk/auxprogs/Makefile.am 2012-08-05 01:08:25 +01:00 (rev 12835)
@@ -31,6 +31,9 @@
valgrind_listener_CFLAGS = $(AM_CFLAGS_PRI)
valgrind_listener_CCASFLAGS = $(AM_CCASFLAGS_PRI)
valgrind_listener_LDFLAGS = $(AM_CFLAGS_PRI)
+if VGCONF_PLATVARIANT_IS_ANDROID
+valgrind_listener_CFLAGS += -static
+endif
if VGCONF_PLATFORMS_INCLUDE_X86_DARWIN
valgrind_listener_LDFLAGS += -Wl,-read_only_relocs -Wl,suppress
endif
Modified: trunk/include/vki/vki-linux.h (+2 -2)
===================================================================
--- trunk/include/vki/vki-linux.h 2012-08-05 00:10:23 -23:00 (rev 12834)
+++ trunk/include/vki/vki-linux.h 2012-08-05 01:08:25 +01:00 (rev 12835)
@@ -2844,7 +2844,7 @@
// From kernel/common/include/linux/ashmem.h
//----------------------------------------------------------------------
-#if defined(VGPV_arm_linux_android)
+#if defined(VGPV_arm_linux_android) || defined(VGPV_x86_linux_android)
#define VKI_ASHMEM_NAME_LEN 256
@@ -2899,7 +2899,7 @@
#define VKI_BINDER_THREAD_EXIT _VKI_IOW('b', 8, int)
#define VKI_BINDER_VERSION _VKI_IOWR('b', 9, struct vki_binder_version)
-#endif /* defined(VGPV_arm_linux_android) */
+#endif /* defined(VGPV_*_linux_android) */
//----------------------------------------------------------------------
// From linux-3.0.4/include/net/bluetooth/bluetooth.h
Modified: trunk/coregrind/m_initimg/initimg-linux.c (+1 -1)
===================================================================
--- trunk/coregrind/m_initimg/initimg-linux.c 2012-08-05 00:10:23 -23:00 (rev 12834)
+++ trunk/coregrind/m_initimg/initimg-linux.c 2012-08-05 01:08:25 +01:00 (rev 12835)
@@ -643,7 +643,7 @@
case AT_GID:
case AT_EGID:
case AT_CLKTCK:
-# if !defined(VGPV_arm_linux_android)
+# if !defined(VGPV_arm_linux_android) && !defined(VGPV_x86_linux_android)
case AT_FPUCW: /* missing on android */
# endif
/* All these are pointerless, so we don't need to do
Modified: trunk/coregrind/launcher-linux.c (+1 -1)
===================================================================
--- trunk/coregrind/launcher-linux.c 2012-08-05 00:10:23 -23:00 (rev 12834)
+++ trunk/coregrind/launcher-linux.c 2012-08-05 01:08:25 +01:00 (rev 12835)
@@ -210,7 +210,7 @@
platform = "amd64-linux";
}
} else if (header[EI_DATA] == ELFDATA2MSB) {
-# if !defined(VGPV_arm_linux_android)
+# if !defined(VGPV_arm_linux_android) && !defined(VGPV_x86_linux_android)
if (ehdr->e_machine == EM_PPC64 &&
(ehdr->e_ident[EI_OSABI] == ELFOSABI_SYSV ||
ehdr->e_ident[EI_OSABI] == ELFOSABI_LINUX)) {
Modified: trunk/coregrind/m_ume/main.c (+1 -1)
===================================================================
--- trunk/coregrind/m_ume/main.c 2012-08-05 00:10:23 -23:00 (rev 12834)
+++ trunk/coregrind/m_ume/main.c 2012-08-05 01:08:25 +01:00 (rev 12835)
@@ -199,7 +199,7 @@
// will refuse to (eg. scripts lacking a "#!" prefix).
static Int do_exec_shell_followup(Int ret, HChar* exe_name, ExeInfo* info)
{
-# if defined(VGPV_arm_linux_android)
+# if defined(VGPV_arm_linux_android) || defined(VGPV_x86_linux_android)
Char* default_interp_name = "/system/bin/sh";
# else
Char* default_interp_name = "/bin/sh";
Modified: trunk/coregrind/m_debuginfo/readstabs.c (+4 -3)
===================================================================
--- trunk/coregrind/m_debuginfo/readstabs.c 2012-08-05 00:10:23 -23:00 (rev 12834)
+++ trunk/coregrind/m_debuginfo/readstabs.c 2012-08-05 01:08:25 +01:00 (rev 12835)
@@ -35,8 +35,9 @@
*/
/* "on Linux (except android), or on Darwin" */
-#if (defined(VGO_linux) && !defined(VGPV_arm_linux_android)) \
- || defined(VGO_darwin)
+#if (defined(VGO_linux) && \
+ !(defined(VGPV_arm_linux_android) || defined(VGPV_x86_linux_android)) \
+ || defined(VGO_darwin))
#include "pub_core_basics.h"
#include "pub_core_debuginfo.h"
@@ -388,7 +389,7 @@
}
}
-#endif /* (defined(VGO_linux) && !defined(VGPV_arm_linux_android)) \
+#endif /* (defined(VGO_linux) && !defined(VGPV_*_linux_android)) \
|| defined(VGO_darwin) */
/*--------------------------------------------------------------------*/
Modified: trunk/configure.in (+8 -9)
===================================================================
--- trunk/configure.in 2012-08-05 00:10:23 -23:00 (rev 12834)
+++ trunk/configure.in 2012-08-05 01:08:25 +01:00 (rev 12835)
@@ -944,10 +944,10 @@
# Normally the PLAT = (ARCH, OS) characterisation of the platform is enough.
# But there are times where we need a bit more control. The motivating
-# and currently only case is Android: this is almost identical to arm-linux,
-# but not quite. So this introduces the concept of platform variant tags,
-# which get passed in the compile as -DVGPV_<arch>_<os>_<variant> along
-# with the main -DVGP_<arch>_<os> definition.
+# and currently only case is Android: this is almost identical to
+# {x86,arm}-linux, but not quite. So this introduces the concept of platform
+# variant tags, which get passed in the compile as -DVGPV_<arch>_<os>_<variant>
+# along with the main -DVGP_<arch>_<os> definition.
#
# In almost all cases, the <variant> bit is "vanilla". But for Android
# it is "android" instead.
@@ -960,15 +960,14 @@
#
# -DVGP_arm_linux -DVGPV_arm_linux_android
#
-# The setup of the platform variant is pushed relatively far down this
-# file in order that we can inspect any of the variables set above.
+# Same for x86. The setup of the platform variant is pushed relatively far
+# down this file in order that we can inspect any of the variables set above.
# In the normal case ..
VGCONF_PLATVARIANT="vanilla"
-# Android on ARM ?
-if test "$VGCONF_ARCH_PRI-$VGCONF_OS" = "arm-linux" \
- -a "$GLIBC_VERSION" = "bionic";
+# Android ?
+if test "$GLIBC_VERSION" = "bionic";
then
VGCONF_PLATVARIANT="android"
fi
|