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
(21) |
2
(18) |
3
(19) |
4
(17) |
|
5
(6) |
6
(5) |
7
(9) |
8
(21) |
9
(16) |
10
(21) |
11
(22) |
|
12
(19) |
13
(19) |
14
(8) |
15
(16) |
16
(17) |
17
(16) |
18
(33) |
|
19
(33) |
20
(34) |
21
(32) |
22
(26) |
23
(23) |
24
(16) |
25
(21) |
|
26
(19) |
27
(7) |
28
(29) |
29
(27) |
30
(55) |
|
|
|
From: <sv...@va...> - 2005-06-18 18:58:16
|
Author: rjwalsh
Date: 2005-06-18 19:58:14 +0100 (Sat, 18 Jun 2005)
New Revision: 3943
Log:
Fix x86_64 build.
Also fix vgtest_ume (although it fails on x86_64.)
Modified:
trunk/coregrind/m_syswrap/syswrap-amd64-linux.c
trunk/memcheck/tests/Makefile.am
Modified: trunk/coregrind/m_syswrap/syswrap-amd64-linux.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- trunk/coregrind/m_syswrap/syswrap-amd64-linux.c 2005-06-18 18:49:40 U=
TC (rev 3942)
+++ trunk/coregrind/m_syswrap/syswrap-amd64-linux.c 2005-06-18 18:58:14 U=
TC (rev 3943)
@@ -902,7 +902,7 @@
PRE(sys_semget)
{
PRINT("sys_semget ( %d, %d, %d )",ARG1,ARG2,ARG3);
- PRE_REG_READ3(long, "semget", key_t, key, int, nsems, int, semflg);
+ PRE_REG_READ3(long, "semget", vki_key_t, key, int, nsems, int, semflg=
);
}
=20
PRE(sys_semop)
@@ -962,14 +962,14 @@
PRE(sys_msgget)
{
PRINT("sys_msgget ( %d, %d )",ARG1,ARG2);
- PRE_REG_READ2(long, "msgget", key_t, key, int, msgflg);
+ PRE_REG_READ2(long, "msgget", vki_key_t, key, int, msgflg);
}
=20
PRE(sys_msgsnd)
{
PRINT("sys_msgsnd ( %d, %p, %d, %d )",ARG1,ARG2,ARG3,ARG4);
PRE_REG_READ4(long, "msgsnd",
- int, msqid, struct msgbuf *, msgp, size_t, msgsz, int, =
msgflg);
+ int, msqid, struct msgbuf *, msgp, vki_size_t, msgsz, i=
nt, msgflg);
VG_(generic_PRE_sys_msgsnd)(tid, ARG1,ARG2,ARG3,ARG4);
if ((ARG4 & VKI_IPC_NOWAIT) =3D=3D 0)
*flags |=3D SfMayBlock;
@@ -979,7 +979,7 @@
{
PRINT("sys_msgrcv ( %d, %p, %d, %d, %d )",ARG1,ARG2,ARG3,ARG4,ARG5);
PRE_REG_READ5(long, "msgrcv",
- int, msqid, struct msgbuf *, msgp, size_t, msgsz,
+ int, msqid, struct msgbuf *, msgp, vki_size_t, msgsz,
long, msgytp, int, msgflg);
VG_(generic_PRE_sys_msgrcv)(tid, ARG1,ARG2,ARG3,ARG4,ARG5);
if ((ARG4 & VKI_IPC_NOWAIT) =3D=3D 0)
@@ -1005,7 +1005,7 @@
PRE(sys_shmget)
{
PRINT("sys_shmget ( %d, %d, %d )",ARG1,ARG2,ARG3);
- PRE_REG_READ3(long, "shmget", key_t, key, size_t, size, int, shmflg);
+ PRE_REG_READ3(long, "shmget", vki_key_t, key, vki_size_t, size, int, =
shmflg);
}
=20
PRE(wrap_sys_shmat)
Modified: trunk/memcheck/tests/Makefile.am
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- trunk/memcheck/tests/Makefile.am 2005-06-18 18:49:40 UTC (rev 3942)
+++ trunk/memcheck/tests/Makefile.am 2005-06-18 18:58:14 UTC (rev 3943)
@@ -202,6 +202,5 @@
=20
vgtest_ume_CFLAGS =3D -DVGA_$(VG_ARCH)
vgtest_ume_SOURCES =3D vgtest_ume.c
-vgtest_ume_LDADD =3D ../../coregrind/ume.o \
- ../../coregrind/jmp_with_stack.o
+vgtest_ume_LDADD =3D ../../coregrind/ume.o
=20
|
|
From: <sv...@va...> - 2005-06-18 18:49:43
|
Author: njn
Date: 2005-06-18 19:49:40 +0100 (Sat, 18 Jun 2005)
New Revision: 3942
Log:
Add some missing "_H" suffixes.
Modified:
trunk/include/pub_tool_aspacemgr.h
trunk/include/pub_tool_machine.h
trunk/include/pub_tool_redir.h
Modified: trunk/include/pub_tool_aspacemgr.h
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- trunk/include/pub_tool_aspacemgr.h 2005-06-18 18:44:33 UTC (rev 3941)
+++ trunk/include/pub_tool_aspacemgr.h 2005-06-18 18:49:40 UTC (rev 3942)
@@ -28,8 +28,8 @@
The GNU General Public License is contained in the file COPYING.
*/
=20
-#ifndef __PUB_TOOL_ASPACEMGR
-#define __PUB_TOOL_ASPACEMGR
+#ifndef __PUB_TOOL_ASPACEMGR_H
+#define __PUB_TOOL_ASPACEMGR_H
=20
extern Bool VG_(is_client_addr) (Addr a);
=20
@@ -54,7 +54,7 @@
*/
extern void VG_(find_root_memory)(void (*add_rootrange)(Addr addr, SizeT=
sz));
=20
-#endif // __PUB_TOOL_ASPACEMGR
+#endif // __PUB_TOOL_ASPACEMGR_H
=20
/*--------------------------------------------------------------------*/
/*--- end ---*/
Modified: trunk/include/pub_tool_machine.h
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- trunk/include/pub_tool_machine.h 2005-06-18 18:44:33 UTC (rev 3941)
+++ trunk/include/pub_tool_machine.h 2005-06-18 18:49:40 UTC (rev 3942)
@@ -28,8 +28,8 @@
The GNU General Public License is contained in the file COPYING.
*/
=20
-#ifndef __PUB_TOOL_MACHINE
-#define __PUB_TOOL_MACHINE
+#ifndef __PUB_TOOL_MACHINE_H
+#define __PUB_TOOL_MACHINE_H
=20
/* VGA_STACK_REDZONE_SZB: how many bytes below the stack pointer are val=
idly
* addressible? */
@@ -70,7 +70,7 @@
// doing leak checking.
extern void VG_(apply_to_GP_regs)(void (*f)(UWord val));
=20
-#endif // __PUB_TOOL_MACHINE
+#endif // __PUB_TOOL_MACHINE_H
=20
/*--------------------------------------------------------------------*/
/*--- end ---*/
Modified: trunk/include/pub_tool_redir.h
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- trunk/include/pub_tool_redir.h 2005-06-18 18:44:33 UTC (rev 3941)
+++ trunk/include/pub_tool_redir.h 2005-06-18 18:49:40 UTC (rev 3942)
@@ -28,8 +28,8 @@
The GNU General Public License is contained in the file COPYING.
*/
=20
-#ifndef __PUB_TOOL_REDIR
-#define __PUB_TOOL_REDIR
+#ifndef __PUB_TOOL_REDIR_H
+#define __PUB_TOOL_REDIR_H
=20
/* The following macros facilitate function replacement, which is one fo=
rm
of code replacement.
@@ -90,7 +90,7 @@
#define VG_REPLACE_FUNCTION_PREFIX "_vgi_"
#define VG_REPLACE_FUNCTION_PREFIX_LEN 5
=20
-#endif // __PUB_TOOL_REDIR
+#endif // __PUB_TOOL_REDIR_H
=20
/*--------------------------------------------------------------------*/
/*--- end ---*/
|
|
From: <sv...@va...> - 2005-06-18 18:44:35
|
Author: njn Date: 2005-06-18 19:44:33 +0100 (Sat, 18 Jun 2005) New Revision: 3941 Log: Add some svn:ignore entries. Modified: trunk/ trunk/memcheck/tests/ Property changes on: trunk ___________________________________________________________________ Name: svn:ignore - acinclude.m4 aclocal.m4 autom4te-*.cache autom4te.cache bin cachegrind cachegrind.out.* compile config.guess config.h* config.log config.status config.sub configure default.supp depcomp include .in_place install-sh lib Makefile Makefile.in missing share stamp-h* valgrind valgrind.pc valgrind.spec vg_annotate vg_cachegen + acinclude.m4 aclocal.m4 autom4te-*.cache autom4te.cache bin cachegrind cachegrind.out.* compile config.guess config.h* config.log config.status config.sub configure default.supp depcomp include .in_place install-sh lib Makefile Makefile.in missing mkinstalldirs share stamp-h* svn-commit.tmp svn-commit.2.tmp valgrind valgrind.pc valgrind.spec vg_annotate vg_cachegen Property changes on: trunk/memcheck/tests ___________________________________________________________________ Name: svn:ignore - addressable badaddrvalue badfree badjump badjump2 badloop badpoll badrw brk brk2 buflen_check clientperm clientstackperm custom_alloc .deps describe-block dir doublefree error_counts errs1 execve execve2 exitprog filter_leak_check_size filter_stderr fprw fwrite hello inits inline leak-0 leak-cycle leakotron leak-regroot leak-tree Makefile Makefile.in malloc1 malloc2 malloc3 manuel1 manuel2 manuel3 match-overrun memalign2 memalign_test memcmptest mempool metadata mismatches mmaptest nanoleak new_nothrow new_override null_socket overlap pointer-trace post-syscall realloc1 realloc2 realloc3 scalar scalar_exit_group scalar_fork scalar_supp scalar_vfork sigaltstack signal2 sigprocmask *.stderr.diff* *.stderr.out *.stdout.diff *.stdout.out str_tester supp1 supp2 suppfree threadederrno trivialleak vgtest_ume weirdioctl writev xml1 zeropage + addressable badaddrvalue badfree badjump badjump2 badloop badpoll badrw brk brk2 buflen_check clientperm clientstackperm custom_alloc .deps describe-block dir doublefree error_counts errs1 execve execve2 exitprog filter_leak_check_size filter_stderr fprw fwrite hello inits inline leak-0 leak-cycle leakotron leak-regroot leak-tree Makefile Makefile.in malloc1 malloc2 malloc3 manuel1 manuel2 manuel3 match-overrun memalign2 memalign_test memcmptest mempool metadata mismatches mmaptest nanoleak new_nothrow new_override null_socket overlap pointer-trace post-syscall realloc1 realloc2 realloc3 scalar scalar_exit_group scalar_fork scalar_supp scalar_vfork sigaltstack signal2 sigprocmask *.stderr.diff* *.stderr.out *.stdout.diff *.stdout.out strchr str_tester supp1 supp2 suppfree threadederrno trivialleak vgtest_ume weirdioctl writev xml1 zeropage |
|
From: Robert W. <rj...@du...> - 2005-06-18 18:42:54
|
> It's strange that you're only just seeing this, as those names have been=20 > in for some time. I've been making lots of changes but I don't see how=20 > they would have affected these. Try adding the "vki_" prefixes to the=20 > names and see if that helps. FWIW, I didn't see this problem yesterday. I'll make the changes and see what happens. --=20 Robert Walsh Amalgamated Durables, Inc. - "We don't make the things you buy." Email: rj...@du... |
|
From: Nicholas N. <nj...@cs...> - 2005-06-18 18:36:58
|
On Sat, 18 Jun 2005, Robert Walsh wrote: > Anyone else seeing this? > > syswrap-amd64-linux.c: In function `vgSysWrap_amd64_linux_sys_semget_before': > syswrap-amd64-linux.c:905: error: `key_t' undeclared (first use in this function) > syswrap-amd64-linux.c:905: error: (Each undeclared identifier is reported only once > syswrap-amd64-linux.c:905: error: for each function it appears in.) > syswrap-amd64-linux.c: In function `vgSysWrap_amd64_linux_sys_msgget_before': > syswrap-amd64-linux.c:965: error: `key_t' undeclared (first use in this function) > syswrap-amd64-linux.c: In function `vgSysWrap_amd64_linux_sys_msgsnd_before': > syswrap-amd64-linux.c:971: error: `size_t' undeclared (first use in this function) > syswrap-amd64-linux.c: In function `vgSysWrap_amd64_linux_sys_msgrcv_before': > syswrap-amd64-linux.c:981: error: `size_t' undeclared (first use in this function) > syswrap-amd64-linux.c: In function `vgSysWrap_amd64_linux_sys_shmget_before': > syswrap-amd64-linux.c:1008: error: `key_t' undeclared (first use in this function) > syswrap-amd64-linux.c:1008: error: `size_t' undeclared (first use in this function) > make[4]: *** [syswrap-amd64-linux.o] Error 1 I'm not but I don't have access to an amd64 box. Those type names should be "vki_key_t" and "vki_size_t" respectively. It's strange that you're only just seeing this, as those names have been in for some time. I've been making lots of changes but I don't see how they would have affected these. Try adding the "vki_" prefixes to the names and see if that helps. Nick |
|
From: <sv...@va...> - 2005-06-18 18:32:09
|
Author: njn
Date: 2005-06-18 19:31:26 +0100 (Sat, 18 Jun 2005)
New Revision: 3940
Log:
Move CPUID functions into their own module, m_cpuid.
Added:
trunk/coregrind/m_cpuid.S
trunk/coregrind/pub_core_cpuid.h
trunk/include/pub_tool_cpuid.h
Removed:
trunk/coregrind/amd64/
trunk/coregrind/arm/
trunk/coregrind/x86/
Modified:
trunk/cachegrind/cg-x86.c
trunk/configure.in
trunk/coregrind/
trunk/coregrind/Makefile.am
trunk/coregrind/m_translate.c
trunk/include/Makefile.am
trunk/include/tool.h
Modified: trunk/cachegrind/cg-x86.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- trunk/cachegrind/cg-x86.c 2005-06-18 16:41:30 UTC (rev 3939)
+++ trunk/cachegrind/cg-x86.c 2005-06-18 18:31:26 UTC (rev 3940)
@@ -29,6 +29,7 @@
*/
=20
#include "tool.h"
+#include "pub_tool_cpuid.h"
#include "pub_tool_libcbase.h"
#include "pub_tool_libcassert.h"
#include "pub_tool_libcprint.h"
Modified: trunk/configure.in
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- trunk/configure.in 2005-06-18 16:41:30 UTC (rev 3939)
+++ trunk/configure.in 2005-06-18 18:31:26 UTC (rev 3940)
@@ -430,9 +430,6 @@
coregrind/m_scheduler/Makefile=20
coregrind/m_sigframe/Makefile=20
coregrind/m_syswrap/Makefile=20
- coregrind/amd64/Makefile
- coregrind/arm/Makefile
- coregrind/x86/Makefile
addrcheck/Makefile
addrcheck/tests/Makefile
addrcheck/docs/Makefile
Property changes on: trunk/coregrind
___________________________________________________________________
Name: svn:ignore
- .deps
Makefile
Makefile.in
*.so
stage2
valgrind
vg_intercept.c
vg_replace_malloc.c
vg_toolint.c
vg_toolint.h
+ .deps
Makefile
Makefile.in
*.so
stage2
stage2.lds
valgrind
vg_intercept.c
vg_replace_malloc.c
vg_toolint.c
vg_toolint.h
Modified: trunk/coregrind/Makefile.am
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- trunk/coregrind/Makefile.am 2005-06-18 16:41:30 UTC (rev 3939)
+++ trunk/coregrind/Makefile.am 2005-06-18 18:31:26 UTC (rev 3940)
@@ -14,13 +14,9 @@
## When building, we are only interested in the current arch/OS/platform=
.
## But when doing 'make dist', we are interested in every arch/OS/platfo=
rm.
## That's what DIST_SUBDIRS specifies.
-SUBDIRS =3D \
- $(VG_ARCH) \
- $(MODULES) .
+SUBDIRS =3D $(MODULES) .
=20
-DIST_SUBDIRS =3D \
- $(VG_ARCH_ALL) \
- $(MODULES) .
+DIST_SUBDIRS =3D $(MODULES) .
=20
AM_CPPFLAGS +=3D -DVG_LIBDIR=3D"\"$(valdir)"\" \
-DKICKSTART_BASE=3D@KICKSTART_BASE@
@@ -38,6 +34,7 @@
core.h \
coregrind.h \
pub_core_aspacemgr.h \
+ pub_core_cpuid.h \
pub_core_debuginfo.h \
pub_core_debuglog.h \
pub_core_demangle.h \
@@ -96,6 +93,7 @@
valgrind_LDADD=3D
=20
stage2_SOURCES =3D \
+ m_cpuid.S \
m_debuglog.c \
m_errormgr.c \
m_execontext.c \
@@ -135,7 +133,6 @@
m_aspacemgr/libaspacemgr.a \
m_sigframe/libsigframe.a \
m_syswrap/libsyswrap.a \
- ${VG_ARCH}/libarch.a \
@VEX_DIR@/libvex.a
=20
## These ones must be linked in with the --whole-archive flag, because t=
hey
Added: trunk/coregrind/m_cpuid.S
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- trunk/coregrind/m_cpuid.S 2005-06-18 16:41:30 UTC (rev 3939)
+++ trunk/coregrind/m_cpuid.S 2005-06-18 18:31:26 UTC (rev 3940)
@@ -0,0 +1,151 @@
+
+##--------------------------------------------------------------------##
+##--- CPUID interface. m_cpuid.S ---##
+##--------------------------------------------------------------------##
+
+/*
+ This file is part of Valgrind, a dynamic binary instrumentation
+ framework.
+
+ Copyright (C) 2000-2005 Julian Seward=20
+ js...@ac...
+
+ This program is free software; you can redistribute it and/or
+ modify it under the terms of the GNU General Public License as
+ published by the Free Software Foundation; either version 2 of the
+ License, or (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful, but
+ WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+ 02111-1307, USA.
+
+ The GNU General Public License is contained in the file COPYING.
+*/
+
+#include "pub_basics_asm.h"
+
+/*
+ Bool VG_(has_cpuid)(void)
+ */
+.globl VG_(has_cpuid)
+#if defined(VGA_x86)
+ VG_(has_cpuid):
+ pushl %ebp
+ movl %esp, %ebp
+ pushl %ecx
+ pushfl
+ pushfl
+ popl %eax
+ movl %eax, %ecx
+ xorl $0x200000, %eax
+ pushl %eax
+ popfl
+ pushfl
+ popl %eax
+ popfl
+ xorl %ecx, %eax
+ andl $0x200000, %eax
+ shrl $21, %eax
+ popl %ecx
+ movl %ebp, %esp
+ popl %ebp
+ ret
+#elif defined(VGA_amd64)
+ VG_(has_cpuid):
+ movq $1, %rax
+ ret
+#endif
+
+/*
+ void VG_(cpuid)(UInt eax,
+ UInt* eax_ret, UInt* ebx_ret, UInt* ecx_ret, UInt* e=
dx_ret)
+ */
+.globl VG_(cpuid)
+#if defined(VGA_x86)
+ VG_(cpuid):
+ pushl %ebp
+ movl %esp, %ebp
+ pushl %eax
+ pushl %ebx
+ pushl %ecx
+ pushl %edx
+ pushl %esi
+ movl 8(%ebp), %eax
+ cpuid
+ movl 12(%ebp), %esi
+ testl %esi, %esi
+ jz 1f
+ movl %eax, (%esi)
+ 1:
+ movl 16(%ebp), %esi
+ testl %esi, %esi
+ jz 2f
+ movl %ebx, (%esi)
+ 2:
+ movl 20(%ebp), %esi
+ testl %esi, %esi
+ jz 3f
+ movl %ecx, (%esi)
+ 3:
+ movl 24(%ebp), %esi
+ testl %esi, %esi
+ jz 4f
+ movl %edx, (%esi)
+ 4:
+ popl %esi
+ popl %edx
+ popl %ecx
+ popl %ebx
+ popl %eax
+ movl %ebp, %esp
+ popl %ebp
+ ret
+#elif defined(VGA_amd64)
+ VG_(cpuid):
+ pushq %rbp
+ movq %rsp, %rbp
+ pushq %rbx
+ movl %edi, %eax
+ movq %rdx, %rdi
+ movq %rcx, %r9
+ /*
+ eax_ret now in %rsi
+ ebx_ret now in %rdi
+ ecx_ret now in %r9
+ edx_ret now in %r8
+ */
+ cpuid
+ testq %rsi, %rsi
+ jz 1f
+ movl %eax, (%rsi)
+ 1:
+ testq %rdi, %rdi
+ jz 2f
+ movl %ebx, (%rdi)
+ 2:
+ testq %r9, %r9
+ jz 3f
+ movl %ecx, (%r9)
+ 3:
+ testq %r8, %r8
+ jz 4f
+ movl %edx, (%r8)
+ 4:
+ popq %rbx
+ movq %rbp, %rsp
+ popq %rbp
+ ret
+#endif
+ =20
+/* Let the linker know we don't need an executable stack */
+.section .note.GNU-stack,"",@progbits
+ =09
+##--------------------------------------------------------------------##
+##--- end ---##
+##--------------------------------------------------------------------##
Modified: trunk/coregrind/m_translate.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- trunk/coregrind/m_translate.c 2005-06-18 16:41:30 UTC (rev 3939)
+++ trunk/coregrind/m_translate.c 2005-06-18 18:31:26 UTC (rev 3940)
@@ -31,6 +31,7 @@
=20
#include "core.h"
#include "pub_core_aspacemgr.h"
+#include "pub_core_cpuid.h"
#include "pub_core_libcbase.h"
#include "pub_core_libcassert.h"
#include "pub_core_libcprint.h"
Added: trunk/coregrind/pub_core_cpuid.h
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- trunk/coregrind/pub_core_cpuid.h 2005-06-18 16:41:30 UTC (rev 3939)
+++ trunk/coregrind/pub_core_cpuid.h 2005-06-18 18:31:26 UTC (rev 3940)
@@ -0,0 +1,45 @@
+
+/*--------------------------------------------------------------------*/
+/*--- Interface to CPUID. pub_core_cpuid.h ---*/
+/*--------------------------------------------------------------------*/
+
+/*
+ This file is part of Valgrind, a dynamic binary instrumentation
+ framework.
+
+ Copyright (C) 2000-2005 Julian Seward
+ js...@ac...
+
+ This program is free software; you can redistribute it and/or
+ modify it under the terms of the GNU General Public License as
+ published by the Free Software Foundation; either version 2 of the
+ License, or (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful, but
+ WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+ 02111-1307, USA.
+
+ The GNU General Public License is contained in the file COPYING.
+*/
+
+#ifndef __PUB_CORE_CPUID_H
+#define __PUB_CORE_CPUID_H
+
+//--------------------------------------------------------------------
+// PURPOSE: This module provides Valgrind's interface to the x86/amd64
+// CPUID instruction.
+//--------------------------------------------------------------------
+
+#include "pub_tool_cpuid.h"
+
+#endif // __PUB_CORE_CPUID_H
+
+/*--------------------------------------------------------------------*/
+/*--- end ---*/
+/*--------------------------------------------------------------------*/
Modified: trunk/include/Makefile.am
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- trunk/include/Makefile.am 2005-06-18 16:41:30 UTC (rev 3939)
+++ trunk/include/Makefile.am 2005-06-18 18:31:26 UTC (rev 3940)
@@ -6,6 +6,7 @@
tool.h \
pub_basics_asm.h \
pub_tool_aspacemgr.h \
+ pub_tool_cpuid.h \
pub_tool_errormgr.h \
pub_tool_execontext.h \
pub_tool_hashtable.h \
Added: trunk/include/pub_tool_cpuid.h
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- trunk/include/pub_tool_cpuid.h 2005-06-18 16:41:30 UTC (rev 3939)
+++ trunk/include/pub_tool_cpuid.h 2005-06-18 18:31:26 UTC (rev 3940)
@@ -0,0 +1,46 @@
+
+/*--------------------------------------------------------------------*/
+/*--- Interface to CPUID. pub_tool_cpuid.h ---*/
+/*--------------------------------------------------------------------*/
+
+/*
+ This file is part of Valgrind, a dynamic binary instrumentation
+ framework.
+
+ Copyright (C) 2000-2005 Julian Seward
+ js...@ac...
+
+ This program is free software; you can redistribute it and/or
+ modify it under the terms of the GNU General Public License as
+ published by the Free Software Foundation; either version 2 of the
+ License, or (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful, but
+ WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+ 02111-1307, USA.
+
+ The GNU General Public License is contained in the file COPYING.
+*/
+
+#ifndef __PUB_TOOL_CPUID_H
+#define __PUB_TOOL_CPUID_H
+
+#if defined(VGA_x86) || defined(VGA_amd64)
+extern Bool VG_(has_cpuid) ( void );
+
+extern void VG_(cpuid) ( UInt eax,
+ UInt* eax_ret, UInt* ebx_ret,
+ UInt* ecx_ret, UInt* edx_ret );
+#endif
+
+#endif // __PUB_TOOL_CPUID_H
+
+/*--------------------------------------------------------------------*/
+/*--- end ---*/
+/*--------------------------------------------------------------------*/
Modified: trunk/include/tool.h
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- trunk/include/tool.h 2005-06-18 16:41:30 UTC (rev 3939)
+++ trunk/include/tool.h 2005-06-18 18:31:26 UTC (rev 3940)
@@ -68,18 +68,6 @@
( Bool (*p) ( Addr stack_min, Addr stack_max, vo=
id* d ),
void* d );
=20
-/*=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D*/
-/*=3D=3D=3D Valgrind's version of libc =
=3D=3D=3D*/
-/*=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D*/
-
-/* ------------------------------------------------------------------ */
-/* other, randomly useful functions */
-extern Bool VG_(has_cpuid) ( void );
-
-extern void VG_(cpuid) ( UInt eax,
- UInt *eax_ret, UInt *ebx_ret,
- UInt *ecx_ret, UInt *edx_ret );
-
#endif /* __TOOL_H */
=20
=20
|
|
From: Robert W. <rj...@du...> - 2005-06-18 18:23:22
|
Anyone else seeing this? syswrap-amd64-linux.c: In function `vgSysWrap_amd64_linux_sys_semget_before= ': syswrap-amd64-linux.c:905: error: `key_t' undeclared (first use in this fun= ction) syswrap-amd64-linux.c:905: error: (Each undeclared identifier is reported o= nly once syswrap-amd64-linux.c:905: error: for each function it appears in.) syswrap-amd64-linux.c: In function `vgSysWrap_amd64_linux_sys_msgget_before= ': syswrap-amd64-linux.c:965: error: `key_t' undeclared (first use in this fun= ction) syswrap-amd64-linux.c: In function `vgSysWrap_amd64_linux_sys_msgsnd_before= ': syswrap-amd64-linux.c:971: error: `size_t' undeclared (first use in this fu= nction) syswrap-amd64-linux.c: In function `vgSysWrap_amd64_linux_sys_msgrcv_before= ': syswrap-amd64-linux.c:981: error: `size_t' undeclared (first use in this fu= nction) syswrap-amd64-linux.c: In function `vgSysWrap_amd64_linux_sys_shmget_before= ': syswrap-amd64-linux.c:1008: error: `key_t' undeclared (first use in this fu= nction) syswrap-amd64-linux.c:1008: error: `size_t' undeclared (first use in this f= unction) make[4]: *** [syswrap-amd64-linux.o] Error 1 Regards, Robert. --=20 Robert Walsh Amalgamated Durables, Inc. - "We don't make the things you buy." Email: rj...@du... |
|
From: <sv...@va...> - 2005-06-18 16:41:36
|
Author: njn
Date: 2005-06-18 17:41:30 +0100 (Sat, 18 Jun 2005)
New Revision: 3939
Log:
Make the stage2.lds building platform-independent by not trying to match
an exact address (idea from Paul Mackerras' PPC port). Thus it could be
moved into coregrind/Makefile.am.
Let me know if this breaks anything on other platforms.
Modified:
trunk/coregrind/Makefile.am
trunk/coregrind/amd64/Makefile.am
trunk/coregrind/arm/Makefile.am
trunk/coregrind/x86/Makefile.am
trunk/memcheck/tests/Makefile.am
Modified: trunk/coregrind/Makefile.am
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- trunk/coregrind/Makefile.am 2005-06-18 15:54:25 UTC (rev 3938)
+++ trunk/coregrind/Makefile.am 2005-06-18 16:41:30 UTC (rev 3939)
@@ -83,6 +83,9 @@
valgrind.vs \
README_MODULES.txt
=20
+BUILT_SOURCES =3D stage2.lds
+CLEANFILES =3D stage2.lds
+=09
valgrind_SOURCES =3D \
ume.c \
\
@@ -159,11 +162,11 @@
-Wl,--whole-archive $(stage2_extra2) -Wl,--no-whole-archive \
-pie
else
-stage2_DEPENDENCIES =3D $(st2_DEPS_common) ${VG_ARCH}/stage2.lds
+stage2_DEPENDENCIES =3D $(st2_DEPS_common) stage2.lds
stage2_LDFLAGS =3D \
$(st2_LDFLAGS_common) \
-Wl,--whole-archive $(stage2_extra2) -Wl,--no-whole-archive \
- -Wl,-defsym,kickstart_base=3D@KICKSTART_BASE@ -Wl,-T,${VG_ARCH}/stage2.=
lds
+ -Wl,-defsym,kickstart_base=3D@KICKSTART_BASE@ -Wl,-T,stage2.lds
endif
=20
stage2_LDADD=3D $(stage2_extra) \
@@ -177,6 +180,16 @@
-Wl,--soname,vg_preload_core.so \
-Wl,-z,initfirst
=20
+# Extract ld's default linker script and hack it to our needs.
+# This relies on finding "executable_start" and replacing the address on
+# that line with kickstart_base.
+stage2.lds: Makefile
+ $(CC) -Wl,--verbose -nostdlib 2>&1 | sed \
+ -e '1,/^=3D=3D=3D=3D=3D\+$$/d' \
+ -e '/^=3D=3D=3D=3D=3D\+$$/d' \
+ -e '/executable_start/s/0x[0-9A-Fa-f]\+/kickstart_base/g' > $@ \
+ || rm -f $@
+
MANUAL_DEPS =3D $(noinst_HEADERS) $(include_HEADERS)
=20
all-local:
Modified: trunk/coregrind/amd64/Makefile.am
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- trunk/coregrind/amd64/Makefile.am 2005-06-18 15:54:25 UTC (rev 3938)
+++ trunk/coregrind/amd64/Makefile.am 2005-06-18 16:41:30 UTC (rev 3939)
@@ -3,15 +3,6 @@
=20
noinst_LIBRARIES =3D libarch.a
=20
-BUILT_SOURCES =3D stage2.lds
-CLEANFILES =3D stage2.lds
-
libarch_a_SOURCES =3D \
cpuid.S
=20
-# Extract ld's default linker script and hack it to our needs
-stage2.lds: Makefile
- $(CC) -Wl,--verbose -nostdlib 2>&1 | sed \
- -e '1,/^=3D=3D=3D=3D=3D\+$$/d' \
- -e '/^=3D=3D=3D=3D=3D\+$$/d' \
- -e 's/0x400000/kickstart_base/g' > $@ || rm -f $@
Modified: trunk/coregrind/arm/Makefile.am
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- trunk/coregrind/arm/Makefile.am 2005-06-18 15:54:25 UTC (rev 3938)
+++ trunk/coregrind/arm/Makefile.am 2005-06-18 16:41:30 UTC (rev 3939)
@@ -3,14 +3,5 @@
=20
noinst_LIBRARIES =3D libarch.a
=20
-BUILT_SOURCES =3D stage2.lds
-CLEANFILES =3D stage2.lds
-
libarch_a_SOURCES =3D
=20
-# Extract ld's default linker script and hack it to our needs
-stage2.lds: Makefile
- $(CC) -Wl,--verbose -nostdlib 2>&1 | sed \
- -e '1,/^=3D=3D=3D=3D=3D\+$$/d' \
- -e '/^=3D=3D=3D=3D=3D\+$$/d' \
- -e 's/0x00008000/kickstart_base/g' > $@ || rm -f $@
Modified: trunk/coregrind/x86/Makefile.am
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- trunk/coregrind/x86/Makefile.am 2005-06-18 15:54:25 UTC (rev 3938)
+++ trunk/coregrind/x86/Makefile.am 2005-06-18 16:41:30 UTC (rev 3939)
@@ -3,15 +3,6 @@
=20
noinst_LIBRARIES =3D libarch.a
=20
-BUILT_SOURCES =3D stage2.lds
-CLEANFILES =3D stage2.lds
-
libarch_a_SOURCES =3D \
cpuid.S
=20
-# Extract ld's default linker script and hack it to our needs
-stage2.lds: Makefile
- $(CC) $(AM_CFLAGS) -Wl,--verbose -nostdlib 2>&1 | sed \
- -e '1,/^=3D=3D=3D=3D=3D\+$$/d' \
- -e '/^=3D=3D=3D=3D=3D\+$$/d' \
- -e 's/0x08048000/kickstart_base/g' > $@ || rm -f $@
Modified: trunk/memcheck/tests/Makefile.am
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- trunk/memcheck/tests/Makefile.am 2005-06-18 15:54:25 UTC (rev 3938)
+++ trunk/memcheck/tests/Makefile.am 2005-06-18 16:41:30 UTC (rev 3939)
@@ -196,8 +196,8 @@
hello_LDFLAGS =3D -pie
else
hello_LDFLAGS =3D -Wl,-defsym,kickstart_base=3D0x50000000 \
- -Wl,-T,../../coregrind/${VG_ARCH}/stage2.lds
-hello_DEPENDENCIES =3D ../../coregrind/${VG_ARCH}/stage2.lds
+ -Wl,-T,../../coregrind/stage2.lds
+hello_DEPENDENCIES =3D ../../coregrind/stage2.lds
endif
=20
vgtest_ume_CFLAGS =3D -DVGA_$(VG_ARCH)
|
|
From: Nicholas N. <nj...@cs...> - 2005-06-18 16:09:30
|
On Sat, 18 Jun 2005, Tom Hughes wrote: >> I made it extern because I get this warning when it's static: >> >> m_syscall.c:90: warning: 'do_syscall_WRK' used but never defined >> >> Perhaps it should be extern and renamed VG_(do_syscall_WRK) to avoid >> namespace pollution? > > I think the warning is because it is defined in the inline asm block > and the compiler doesn't realise that it is there. Yes. Making it extern means the compiler is happy to see its declaration without a definition. Nick |
|
From: <sv...@va...> - 2005-06-18 15:54:31
|
Author: njn
Date: 2005-06-18 16:54:25 +0100 (Sat, 18 Jun 2005)
New Revision: 3938
Log:
Moved call_on_new_stack_0_1 and jump_and_switch_stacks to better places.
This enabled the removal of $ARCH/jmp_with_stack.c, hurrah!
Removed:
trunk/coregrind/amd64/jmp_with_stack.c
trunk/coregrind/arm/jmp_with_stack.c
trunk/coregrind/x86/jmp_with_stack.c
Modified:
trunk/coregrind/Makefile.am
trunk/coregrind/amd64/Makefile.am
trunk/coregrind/arm/Makefile.am
trunk/coregrind/m_syswrap/syswrap-amd64-linux.c
trunk/coregrind/m_syswrap/syswrap-x86-linux.c
trunk/coregrind/ume.c
trunk/coregrind/ume.h
trunk/coregrind/x86/Makefile.am
Modified: trunk/coregrind/Makefile.am
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- trunk/coregrind/Makefile.am 2005-06-18 15:18:15 UTC (rev 3937)
+++ trunk/coregrind/Makefile.am 2005-06-18 15:54:25 UTC (rev 3938)
@@ -87,8 +87,7 @@
ume.c \
\
stage1.c \
- m_debuglog.c \
- ${VG_ARCH}/jmp_with_stack.c=20
+ m_debuglog.c
valgrind_DEPENDENCIES =3D
valgrind_LDFLAGS=3D-static -g
valgrind_LDADD=3D
Modified: trunk/coregrind/amd64/Makefile.am
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- trunk/coregrind/amd64/Makefile.am 2005-06-18 15:18:15 UTC (rev 3937)
+++ trunk/coregrind/amd64/Makefile.am 2005-06-18 15:54:25 UTC (rev 3938)
@@ -7,8 +7,7 @@
CLEANFILES =3D stage2.lds
=20
libarch_a_SOURCES =3D \
- cpuid.S \
- jmp_with_stack.c
+ cpuid.S
=20
# Extract ld's default linker script and hack it to our needs
stage2.lds: Makefile
Deleted: trunk/coregrind/amd64/jmp_with_stack.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- trunk/coregrind/amd64/jmp_with_stack.c 2005-06-18 15:18:15 UTC (rev 3=
937)
+++ trunk/coregrind/amd64/jmp_with_stack.c 2005-06-18 15:54:25 UTC (rev 3=
938)
@@ -1,103 +0,0 @@
-
-/*
- This file is part of Valgrind, a dynamic binary instrumentation
- framework.
-
- Copyright (C) 2000-2005 Julian Seward=20
- js...@ac...
-
- This program is free software; you can redistribute it and/or
- modify it under the terms of the GNU General Public License as
- published by the Free Software Foundation; either version 2 of the
- License, or (at your option) any later version.
-
- This program is distributed in the hope that it will be useful, but
- WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software
- Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
- 02111-1307, USA.
-
- The GNU General Public License is contained in the file COPYING.
-*/
-
-#include "ume.h"
-
-
-#define ZERO_ALL_INT_REGS \
- " movq $0, %rax\n" \
- " movq $0, %rbx\n" \
- " movq $0, %rcx\n" \
- " movq $0, %rdx\n" \
- " movq $0, %rsi\n" \
- " movq $0, %rdi\n" \
- " movq $0, %rbp\n" \
- " movq $0, %r8\n" \
- " movq $0, %r9\n" \
- " movq $0, %r10\n" \
- " movq $0, %r11\n" \
- " movq $0, %r12\n" \
- " movq $0, %r13\n" \
- " movq $0, %r14\n" \
- " movq $0, %r15\n"
-
-
-/* Jump to 'dst', but first set the stack pointer to 'stack'. Also,
- clear all the integer registers before entering 'dst'. It's
- important that the stack pointer is set to exactly 'stack' and not
- (eg) stack - apparently_harmless_looking_small_offset. Basically
- because the code at 'dst' might be wanting to scan the area above
- 'stack' (viz, the auxv array), and putting spurious words on the
- stack confuses it.
-*/
-/*
-__attribute__((noreturn))
-void jump_and_switch_stacks ( Addr stack, Addr dst );
-
- %rdi =3D=3D stack
- %rsi =3D=3D dst
-*/
-asm(
-".global jump_and_switch_stacks\n"
-"jump_and_switch_stacks:\n"
-" movq %rdi, %rsp\n" /* set stack */
-" pushq %rsi\n" /* f to stack*/
- ZERO_ALL_INT_REGS
-" ret\n" /* jump to f */
-" ud2\n" /* should never get here */
-);
-
-
-
-/* Call f(arg1), but first switch stacks, using 'stack' as the new
- stack, and use 'retaddr' as f's return-to address. Also, clear all
- the integer registers before entering f.*/
-/*
-__attribute__((noreturn))
-void call_on_new_stack_0_1 ( Addr stack,
- Addr retaddr,
- void (*f)(Word),
- Word arg1 );
- %rdi =3D=3D stack
- %rsi =3D=3D retaddr
- %rdx =3D=3D f
- %rcx =3D=3D arg1
-*/
-asm(
-".global call_on_new_stack_0_1\n"
-"call_on_new_stack_0_1:\n"
-" movq %rdi, %rsp\n" /* set stack */
-" pushq %rsi\n" /* retaddr to stack */
-" pushq %rdx\n" /* f to stack*/
-" pushq %rcx\n" /* arg1 to stack*/
- ZERO_ALL_INT_REGS
-" popq %rdi\n" /* arg1 to correct arg reg */
-" ret\n" /* jump to f */
-" ud2\n" /* should never get here */
-);
-
-
-#undef ZERO_ALL_INT_REGS
Modified: trunk/coregrind/arm/Makefile.am
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- trunk/coregrind/arm/Makefile.am 2005-06-18 15:18:15 UTC (rev 3937)
+++ trunk/coregrind/arm/Makefile.am 2005-06-18 15:54:25 UTC (rev 3938)
@@ -6,8 +6,7 @@
BUILT_SOURCES =3D stage2.lds
CLEANFILES =3D stage2.lds
=20
-libarch_a_SOURCES =3D \
- jmp_with_stack.c
+libarch_a_SOURCES =3D
=20
# Extract ld's default linker script and hack it to our needs
stage2.lds: Makefile
Deleted: trunk/coregrind/arm/jmp_with_stack.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- trunk/coregrind/arm/jmp_with_stack.c 2005-06-18 15:18:15 UTC (rev 393=
7)
+++ trunk/coregrind/arm/jmp_with_stack.c 2005-06-18 15:54:25 UTC (rev 393=
8)
@@ -1,38 +0,0 @@
-
-/*
- This file is part of Valgrind, a dynamic binary instrumentation
- framework.
-
- Copyright (C) 2000-2005 Julian Seward=20
- js...@ac...
-
- This program is free software; you can redistribute it and/or
- modify it under the terms of the GNU General Public License as
- published by the Free Software Foundation; either version 2 of the
- License, or (at your option) any later version.
-
- This program is distributed in the hope that it will be useful, but
- WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software
- Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
- 02111-1307, USA.
-
- The GNU General Public License is contained in the file COPYING.
-*/
-
-#include "ume.h"
-
-void jmp_with_stack(Addr eip, Addr esp)
-{
- // XXX: temporary only
-extern int printf (__const char *__restrict __format, ...);
-extern void exit (int __status);
- printf("jmp_with_stack: argh\n");
- exit(1);
-
- // XXX: see x86/jmp_with_stack.c for how to implement this
-}=20
Modified: trunk/coregrind/m_syswrap/syswrap-amd64-linux.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- trunk/coregrind/m_syswrap/syswrap-amd64-linux.c 2005-06-18 15:18:15 U=
TC (rev 3937)
+++ trunk/coregrind/m_syswrap/syswrap-amd64-linux.c 2005-06-18 15:54:25 U=
TC (rev 3938)
@@ -29,7 +29,6 @@
*/
=20
#include "core.h"
-#include "ume.h" /* for jmp_with_stack */
#include "pub_core_debuglog.h"
#include "pub_core_aspacemgr.h"
#include "pub_core_options.h"
@@ -197,6 +196,44 @@
}
=20
=20
+/* Call f(arg1), but first switch stacks, using 'stack' as the new
+ stack, and use 'retaddr' as f's return-to address. Also, clear all
+ the integer registers before entering f. */
+__attribute__((noreturn))
+void call_on_new_stack_0_1 ( Addr stack,
+ Addr retaddr,
+ void (*f)(Word),
+ Word arg1 );
+// %rdi =3D=3D stack
+// %rsi =3D=3D retaddr
+// %rdx =3D=3D f
+// %rcx =3D=3D arg1
+asm(
+"call_on_new_stack_0_1:\n"
+" movq %rdi, %rsp\n" // set stack
+" pushq %rsi\n" // retaddr to stack
+" pushq %rdx\n" // f to stack
+" pushq %rcx\n" // arg1 to stack
+" movq $0, %rax\n" // zero all GP regs
+" movq $0, %rbx\n"=20
+" movq $0, %rcx\n"
+" movq $0, %rdx\n"
+" movq $0, %rsi\n"
+" movq $0, %rdi\n"
+" movq $0, %rbp\n"
+" movq $0, %r8\n"
+" movq $0, %r9\n"
+" movq $0, %r10\n"
+" movq $0, %r11\n"
+" movq $0, %r12\n"
+" movq $0, %r13\n"
+" movq $0, %r14\n"
+" movq $0, %r15\n"
+" popq %rdi\n" // arg1 to correct arg reg
+" ret\n" // jump to f
+" ud2\n" // should never get here
+);
+
/*
Allocate a stack for the main thread, and run it all the way to the
end. =20
Modified: trunk/coregrind/m_syswrap/syswrap-x86-linux.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- trunk/coregrind/m_syswrap/syswrap-x86-linux.c 2005-06-18 15:18:15 UTC=
(rev 3937)
+++ trunk/coregrind/m_syswrap/syswrap-x86-linux.c 2005-06-18 15:54:25 UTC=
(rev 3938)
@@ -34,7 +34,6 @@
*/
=20
#include "core.h"
-#include "ume.h" /* for jmp_with_stack */
#include "pub_core_debuglog.h"
#include "pub_core_aspacemgr.h"
#include "pub_core_options.h"
@@ -203,6 +202,37 @@
}
=20
=20
+/* Call f(arg1), but first switch stacks, using 'stack' as the new
+ stack, and use 'retaddr' as f's return-to address. Also, clear all
+ the integer registers before entering f.*/
+__attribute__((noreturn))
+void call_on_new_stack_0_1 ( Addr stack,
+ Addr retaddr,
+ void (*f)(Word),
+ Word arg1 );
+// 4(%esp) =3D=3D stack
+// 8(%esp) =3D=3D retaddr
+// 12(%esp) =3D=3D f
+// 16(%esp) =3D=3D arg1
+asm(
+"call_on_new_stack_0_1:\n"
+" movl %esp, %esi\n" // remember old stack pointer
+" movl 4(%esi), %esp\n" // set stack
+" pushl 16(%esi)\n" // arg1 to stack
+" pushl 8(%esi)\n" // retaddr to stack
+" pushl 12(%esi)\n" // f to stack
+" movl $0, %eax\n" // zero all GP regs
+" movl $0, %ebx\n"
+" movl $0, %ecx\n"
+" movl $0, %edx\n"
+" movl $0, %esi\n"
+" movl $0, %edi\n"
+" movl $0, %ebp\n"
+" ret\n" // jump to f
+" ud2\n" // should never get here
+);
+
+
/*
Allocate a stack for the main thread, and run it all the way to the
end. =20
Modified: trunk/coregrind/ume.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- trunk/coregrind/ume.c 2005-06-18 15:18:15 UTC (rev 3937)
+++ trunk/coregrind/ume.c 2005-06-18 15:54:25 UTC (rev 3938)
@@ -122,6 +122,61 @@
}
=20
/*------------------------------------------------------------*/
+/*--- Stack switching ---*/
+/*------------------------------------------------------------*/
+
+// __attribute__((noreturn))
+// void jump_and_switch_stacks ( Addr stack, Addr dst );
+#if defined(VGA_x86)
+// 4(%esp) =3D=3D stack
+// 8(%esp) =3D=3D dst
+asm(
+".global jump_and_switch_stacks\n"
+"jump_and_switch_stacks:\n"
+" movl %esp, %esi\n" // remember old stack pointer
+" movl 4(%esi), %esp\n" // set stack
+" pushl 8(%esi)\n" // dst to stack
+" movl $0, %eax\n" // zero all GP regs
+" movl $0, %ebx\n"
+" movl $0, %ecx\n"
+" movl $0, %edx\n"
+" movl $0, %esi\n"
+" movl $0, %edi\n"
+" movl $0, %ebp\n"
+" ret\n" // jump to dst
+" ud2\n" // should never get here
+);
+#elif defined(VGA_amd64)
+// %rdi =3D=3D stack
+// %rsi =3D=3D dst
+asm(
+".global jump_and_switch_stacks\n"
+"jump_and_switch_stacks:\n"
+" movq %rdi, %rsp\n" // set stack
+" pushq %rsi\n" // dst to stack
+" movq $0, %rax\n" // zero all GP regs
+" movq $0, %rbx\n"
+" movq $0, %rcx\n"
+" movq $0, %rdx\n"
+" movq $0, %rsi\n"
+" movq $0, %rdi\n"
+" movq $0, %rbp\n"
+" movq $0, %r8\n"\
+" movq $0, %r9\n"\
+" movq $0, %r10\n"
+" movq $0, %r11\n"
+" movq $0, %r12\n"
+" movq $0, %r13\n"
+" movq $0, %r14\n"
+" movq $0, %r15\n"
+" ret\n" // jump to dst
+" ud2\n" // should never get here
+);
+#else
+# error Unknown architecture
+#endif
+
+/*------------------------------------------------------------*/
/*--- Finding auxv on the stack ---*/
/*------------------------------------------------------------*/
=20
Modified: trunk/coregrind/ume.h
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- trunk/coregrind/ume.h 2005-06-18 15:18:15 UTC (rev 3937)
+++ trunk/coregrind/ume.h 2005-06-18 15:54:25 UTC (rev 3938)
@@ -54,23 +54,14 @@
because the code at 'dst' might be wanting to scan the area above
'stack' (viz, the auxv array), and putting spurious words on the
stack confuses it.
+
+ This is only exported so that vgtest_ume.c can use it.
*/
extern
__attribute__((noreturn))
void jump_and_switch_stacks ( Addr stack, Addr dst );
=20
=20
-/* Call f(arg1), but first switch stacks, using 'stack' as the new
- stack, and use 'retaddr' as f's return-to address. Also, clear all
- the integer registers before entering f.*/
-extern
-__attribute__((noreturn))
-void call_on_new_stack_0_1 ( Addr stack,
- Addr retaddr,
- void (*f)(Word),
- Word arg1 );
-
-
/*------------------------------------------------------------*/
/*--- Loading ELF files ---*/
/*------------------------------------------------------------*/
Modified: trunk/coregrind/x86/Makefile.am
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- trunk/coregrind/x86/Makefile.am 2005-06-18 15:18:15 UTC (rev 3937)
+++ trunk/coregrind/x86/Makefile.am 2005-06-18 15:54:25 UTC (rev 3938)
@@ -7,8 +7,7 @@
CLEANFILES =3D stage2.lds
=20
libarch_a_SOURCES =3D \
- cpuid.S \
- jmp_with_stack.c
+ cpuid.S
=20
# Extract ld's default linker script and hack it to our needs
stage2.lds: Makefile
Deleted: trunk/coregrind/x86/jmp_with_stack.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- trunk/coregrind/x86/jmp_with_stack.c 2005-06-18 15:18:15 UTC (rev 393=
7)
+++ trunk/coregrind/x86/jmp_with_stack.c 2005-06-18 15:54:25 UTC (rev 393=
8)
@@ -1,96 +0,0 @@
-
-/*
- This file is part of Valgrind, a dynamic binary instrumentation
- framework.
-
- Copyright (C) 2000-2005 Julian Seward=20
- js...@ac...
-
- This program is free software; you can redistribute it and/or
- modify it under the terms of the GNU General Public License as
- published by the Free Software Foundation; either version 2 of the
- License, or (at your option) any later version.
-
- This program is distributed in the hope that it will be useful, but
- WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software
- Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
- 02111-1307, USA.
-
- The GNU General Public License is contained in the file COPYING.
-*/
-
-#include "ume.h"
-
-
-#define ZERO_ALL_INT_REGS \
- " movl $0, %eax\n" \
- " movl $0, %ebx\n" \
- " movl $0, %ecx\n" \
- " movl $0, %edx\n" \
- " movl $0, %esi\n" \
- " movl $0, %edi\n" \
- " movl $0, %ebp\n"
-
-
-/* Jump to 'dst', but first set the stack pointer to 'stack'. Also,
- clear all the integer registers before entering 'dst'. It's
- important that the stack pointer is set to exactly 'stack' and not
- (eg) stack - apparently_harmless_looking_small_offset. Basically
- because the code at 'dst' might be wanting to scan the area above
- 'stack' (viz, the auxv array), and putting spurious words on the
- stack confuses it.
-*/
-/*
-__attribute__((noreturn))
-void jump_and_switch_stacks ( Addr stack, Addr dst );
-
- 4(%esp) =3D=3D stack
- 8(%esp) =3D=3D f
-*/
-asm(
-".global jump_and_switch_stacks\n"
-"jump_and_switch_stacks:\n"
-" movl %esp, %esi\n" /* remember old stack pointer */
-" movl 4(%esi), %esp\n" /* set stack */
-" pushl 8(%esi)\n" /* f to stack*/
- ZERO_ALL_INT_REGS
-" ret\n" /* jump to f */
-" ud2\n" /* should never get here */
-);
-
-
-
-/* Call f(arg1), but first switch stacks, using 'stack' as the new
- stack, and use 'retaddr' as f's return-to address. Also, clear all
- the integer registers before entering f.*/
-/*
-__attribute__((noreturn))
-void call_on_new_stack_0_1 ( Addr stack,
- Addr retaddr,
- void (*f)(Word),
- Word arg1 );
- 4(%esp) =3D=3D stack
- 8(%esp) =3D=3D retaddr
- 12(%esp) =3D=3D f
- 16(%esp) =3D=3D arg1
-*/
-asm(
-".global call_on_new_stack_0_1\n"
-"call_on_new_stack_0_1:\n"
-" movl %esp, %esi\n" /* remember old stack pointer */
-" movl 4(%esi), %esp\n" /* set stack */
-" pushl 16(%esi)\n" /* arg1 to stack */
-" pushl 8(%esi)\n" /* retaddr to stack */
-" pushl 12(%esi)\n" /* f to stack */
- ZERO_ALL_INT_REGS
-" ret\n" /* jump to f */
-" ud2\n" /* should never get here */
-);
-
-
-#undef ZERO_ALL_INT_REGS
|
|
From: Tom H. <to...@co...> - 2005-06-18 15:48:05
|
In message <Pin...@ch...>
Nicholas Nethercote <nj...@cs...> wrote:
> On Sat, 18 Jun 2005 sv...@va... wrote:
>
> > Log:
> > Make do_syscall_WRK take UWord arguments and return UWord results to
> > avoid inappropriate truncations on 64 bit systems. Also make it static
> > as it is not used anywhere else.
>
> Thanks for fixing the argument type.
>
> I made it extern because I get this warning when it's static:
>
> m_syscall.c:90: warning: 'do_syscall_WRK' used but never defined
>
> Perhaps it should be extern and renamed VG_(do_syscall_WRK) to avoid
> namespace pollution?
I think the warning is because it is defined in the inline asm block
and the compiler doesn't realise that it is there.
Tom
--
Tom Hughes (to...@co...)
http://www.compton.nu/
|
|
From: <sv...@va...> - 2005-06-18 15:19:06
|
Author: njn Date: 2005-06-18 16:18:15 +0100 (Sat, 18 Jun 2005) New Revision: 3937 Log: Move VG_(set_fault_catcher) out of tool.h. Had to create a pub_tool_signals.h for this which I didn't want to, but I couldn't see how else to do it. Added: trunk/include/pub_tool_signals.h Modified: trunk/coregrind/pub_core_signals.h trunk/include/tool.h trunk/memcheck/mac_leakcheck.c Modified: trunk/coregrind/pub_core_signals.h =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/coregrind/pub_core_signals.h 2005-06-18 15:09:28 UTC (rev 3936) +++ trunk/coregrind/pub_core_signals.h 2005-06-18 15:18:15 UTC (rev 3937) @@ -35,6 +35,8 @@ // PURPOSE: This module implements all the signal handling stuff. //-------------------------------------------------------------------- =20 +#include "pub_tool_signals.h" // I want to get rid of this header.= .. + /* Highest signal the kernel will let us use */ extern Int VG_(max_signal); =20 Added: trunk/include/pub_tool_signals.h =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/include/pub_tool_signals.h 2005-06-18 15:09:28 UTC (rev 3936) +++ trunk/include/pub_tool_signals.h 2005-06-18 15:18:15 UTC (rev 3937) @@ -0,0 +1,47 @@ + +/*--------------------------------------------------------------------*/ +/*--- Signals stuff. pub_tool_signals.h ---*/ +/*--------------------------------------------------------------------*/ + +/* + This file is part of Valgrind, a dynamic binary instrumentation + framework. + + Copyright (C) 2000-2005 Julian Seward + js...@ac... + + This program is free software; you can redistribute it and/or + modify it under the terms of the GNU General Public License as + published by the Free Software Foundation; either version 2 of the + License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, but + WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA + 02111-1307, USA. + + The GNU General Public License is contained in the file COPYING. +*/ + +#ifndef __PUB_TOOL_SIGNALS_H +#define __PUB_TOOL_SIGNALS_H + +// Register an interest in apparently internal faults; used code which +// wanders around dangerous memory (ie, leakcheck). The catcher is +// not expected to return. +// +// It's frustrating that we need this header for a single function used +// only by Memcheck and Addrcheck during leak checking. We should find +// a way to remove the need for this file. +extern void VG_(set_fault_catcher)(void (*catcher)(Int sig, Addr addr)); + +#endif // __PUB_TOOL_SIGNALS_H + +/*--------------------------------------------------------------------*/ +/*--- end ---*/ +/*--------------------------------------------------------------------*/ Modified: trunk/include/tool.h =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/include/tool.h 2005-06-18 15:09:28 UTC (rev 3936) +++ trunk/include/tool.h 2005-06-18 15:18:15 UTC (rev 3937) @@ -73,12 +73,6 @@ /*=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D*/ =20 /* ------------------------------------------------------------------ */ -/* Register an interest in apparently internal faults; used code which - wanders around dangerous memory (ie, leakcheck). The catcher is - not expected to return. */ -extern void VG_(set_fault_catcher)(void (*catcher)(Int sig, Addr addr)); - -/* ------------------------------------------------------------------ */ /* other, randomly useful functions */ extern Bool VG_(has_cpuid) ( void ); =20 Modified: trunk/memcheck/mac_leakcheck.c =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/memcheck/mac_leakcheck.c 2005-06-18 15:09:28 UTC (rev 3936) +++ trunk/memcheck/mac_leakcheck.c 2005-06-18 15:18:15 UTC (rev 3937) @@ -38,6 +38,7 @@ #include "pub_tool_libcprint.h" #include "pub_tool_libcsignal.h" #include "pub_tool_machine.h" +#include "pub_tool_signals.h" =20 /* Define to debug the memory-leak-detector. */ #define VG_DEBUG_LEAKCHECK 0 |
|
From: <sv...@va...> - 2005-06-18 15:09:30
|
Author: njn
Date: 2005-06-18 16:09:28 +0100 (Sat, 18 Jun 2005)
New Revision: 3936
Log:
Replace use of __amd64__ with VGA_amd64.
Modified:
trunk/coregrind/m_libcsignal.c
Modified: trunk/coregrind/m_libcsignal.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- trunk/coregrind/m_libcsignal.c 2005-06-18 15:07:39 UTC (rev 3935)
+++ trunk/coregrind/m_libcsignal.c 2005-06-18 15:09:28 UTC (rev 3936)
@@ -224,7 +224,7 @@
// __NR_rt_sigpending. This function will have to be abstracted in some
// way to account for this. In the meantime, the easy option is to forg=
et
// about it for AMD64 until it's needed.
-#ifdef __amd64__
+#if defined(VGA_amd64)
I_die_here;
#else
SysRes res =3D VG_(do_syscall1)(__NR_sigpending, (UWord)set);
|
|
From: <sv...@va...> - 2005-06-18 15:08:08
|
Author: njn
Date: 2005-06-18 16:07:39 +0100 (Sat, 18 Jun 2005)
New Revision: 3935
Log:
Minor rearrangement, no functional change.
Modified:
trunk/include/valgrind.h
Modified: trunk/include/valgrind.h
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- trunk/include/valgrind.h 2005-06-18 11:58:18 UTC (rev 3934)
+++ trunk/include/valgrind.h 2005-06-18 15:07:39 UTC (rev 3935)
@@ -55,6 +55,20 @@
*/
=20
=20
+/* This file is for inclusion into client (your!) code.
+
+ You can use these macros to manipulate and query Valgrind's=20
+ execution inside your own programs.
+
+ The resulting executables will still run without Valgrind, just a
+ little bit more slowly than they otherwise would, but otherwise
+ unchanged. When not running on valgrind, each client request
+ consumes very few (eg. < 10) instructions, so the resulting performan=
ce
+ loss is negligible unless you plan to execute client requests
+ millions of times per second. Nevertheless, if that is still a
+ problem, you can compile with the NVALGRIND symbol defined (gcc
+ -DNVALGRIND) so that client requests are not even compiled in. */
+
#ifndef __VALGRIND_H
#define __VALGRIND_H
=20
@@ -70,21 +84,10 @@
# endif /* NVALGRIND */
#endif
=20
+/* ------------------------------------------------------------------ */
+/* The architecture-specific part */
+/* ------------------------------------------------------------------ */
=20
-/* This file is for inclusion into client (your!) code.
-
- You can use these macros to manipulate and query Valgrind's=20
- execution inside your own programs.
-
- The resulting executables will still run without Valgrind, just a
- little bit more slowly than they otherwise would, but otherwise
- unchanged. When not running on valgrind, each client request
- consumes very few (eg. < 10) instructions, so the resulting performan=
ce
- loss is negligible unless you plan to execute client requests
- millions of times per second. Nevertheless, if that is still a
- problem, you can compile with the NVALGRIND symbol defined (gcc
- -DNVALGRIND) so that client requests are not even compiled in. */
-
#ifdef NVALGRIND
=20
/* Define NVALGRIND to completely remove the Valgrind magic sequence
@@ -187,6 +190,10 @@
#endif /* NVALGRIND */
=20
=20
+/* ------------------------------------------------------------------ */
+/* The architecture-independent part */
+/* ------------------------------------------------------------------ */
+
/* Some request codes. There are many more of these, but most are not
exposed to end-user view. These are the public ones, all of the
form 0x1000 + small_number.
@@ -231,7 +238,7 @@
VG_USERREQ__MEMPOOL_FREE =3D 0x1306,
=20
/* Allow printfs to valgrind log. */
- VG_USERREQ__PRINTF =3D 0x1401,
+ VG_USERREQ__PRINTF =3D 0x1401,
VG_USERREQ__PRINTF_BACKTRACE =3D 0x1402,
=20
/* Stack support. */
|
|
From: Nicholas N. <nj...@cs...> - 2005-06-18 14:46:04
|
On Sat, 18 Jun 2005 sv...@va... wrote: > Log: > Make do_syscall_WRK take UWord arguments and return UWord results to > avoid inappropriate truncations on 64 bit systems. Also make it static > as it is not used anywhere else. Thanks for fixing the argument type. I made it extern because I get this warning when it's static: m_syscall.c:90: warning: 'do_syscall_WRK' used but never defined Perhaps it should be extern and renamed VG_(do_syscall_WRK) to avoid namespace pollution? Nick |
|
From: Tom H. <to...@co...> - 2005-06-18 12:00:22
|
In message <Pin...@ch...>
Nicholas Nethercote <nj...@cs...> wrote:
> On Sat, 18 Jun 2005, Tom Hughes wrote:
>
> > Nightly build on gill ( x86_64, Fedora Core 2 ) started at 2005-06-18 03:00:02 BST
> >
> > == 157 tests, 150 stderr failures, 57 stdout failures =================
>
> Was that me? What's the problem?
It was the system call wrapper - do_syscall_WRK was prototyped as
taking UInt arguments so 64 bit values passed in got truncated. Worse
with the final argument passed on the stack the assembly still loaded
eight bytes from the stack so the high bytes were random.
I've just committed a fix.
Tom
--
Tom Hughes (to...@co...)
http://www.compton.nu/
|
|
From: <sv...@va...> - 2005-06-18 11:58:23
|
Author: tom
Date: 2005-06-18 12:58:18 +0100 (Sat, 18 Jun 2005)
New Revision: 3934
Log:
Make do_syscall_WRK take UWord arguments and return UWord results to
avoid inappropriate truncations on 64 bit systems. Also make it static
as it is not used anywhere else.
Modified:
trunk/coregrind/m_syscall.c
Modified: trunk/coregrind/m_syscall.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- trunk/coregrind/m_syscall.c 2005-06-18 11:37:01 UTC (rev 3933)
+++ trunk/coregrind/m_syscall.c 2005-06-18 11:58:18 UTC (rev 3934)
@@ -83,10 +83,10 @@
A function for doing syscalls.
------------------------------------------------------------------ */
=20
-extern UInt do_syscall_WRK (
- UInt syscall_no,=20
- UInt a1, UInt a2, UInt a3,
- UInt a4, UInt a5, UInt a6
+static UWord do_syscall_WRK (
+ UWord syscall_no,=20
+ UWord a1, UWord a2, UWord a3,
+ UWord a4, UWord a5, UWord a6
);
#if defined(VGP_x86_linux)
/* Incoming args (syscall number + up to 6 args) come on the stack.
|
|
From: <sv...@va...> - 2005-06-18 11:37:08
|
Author: tom Date: 2005-06-18 12:37:01 +0100 (Sat, 18 Jun 2005) New Revision: 3933 Log: Export amd64 specific trampline offsets. Modified: trunk/coregrind/m_trampoline.S Modified: trunk/coregrind/m_trampoline.S =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/coregrind/m_trampoline.S 2005-06-18 04:13:54 UTC (rev 3932) +++ trunk/coregrind/m_trampoline.S 2005-06-18 11:37:01 UTC (rev 3933) @@ -42,6 +42,8 @@ .global VG_(tramp_sigreturn_offset) .global VG_(tramp_rt_sigreturn_offset) .global VG_(tramp_syscall_offset) +.global VG_(tramp_gettimeofday_offset) +.global VG_(tramp_time_offset) =09 VG_(trampoline_code_start): #if defined(VGP_x86_linux) |
|
From: <sv...@va...> - 2005-06-18 04:13:56
|
Author: njn Date: 2005-06-18 05:13:54 +0100 (Sat, 18 Jun 2005) New Revision: 3932 Log: Move VG_CLO_DEFAULT_LOGPORT to a better spot. Modified: trunk/auxprogs/valgrind-listener.c trunk/coregrind/pub_core_libcfile.h trunk/coregrind/pub_core_options.h Modified: trunk/auxprogs/valgrind-listener.c =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/auxprogs/valgrind-listener.c 2005-06-18 04:10:56 UTC (rev 3931) +++ trunk/auxprogs/valgrind-listener.c 2005-06-18 04:13:54 UTC (rev 3932) @@ -46,7 +46,7 @@ =20 #include "core.h" #include "pub_core_libcassert.h" // For VG_BUGS_TO -#include "pub_core_options.h" // For VG_CLO_DEFAULT_LOGPORT +#include "pub_core_libcfile.h" // For VG_CLO_DEFAULT_LOGPORT =20 =20 /*---------------------------------------------------------------*/ Modified: trunk/coregrind/pub_core_libcfile.h =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/coregrind/pub_core_libcfile.h 2005-06-18 04:10:56 UTC (rev 3931= ) +++ trunk/coregrind/pub_core_libcfile.h 2005-06-18 04:13:54 UTC (rev 3932= ) @@ -46,6 +46,10 @@ extern Int VG_(safe_fd) ( Int oldfd ); extern Int VG_(fcntl) ( Int fd, Int cmd, Int arg ); =20 +/* Default destination port to be used in logging over a network, if + none specified. */ +#define VG_CLO_DEFAULT_LOGPORT 1500 + extern Int VG_(write_socket)( Int sd, void *msg, Int count ); extern Int VG_(connect_via_socket)( UChar* str ); extern Int VG_(getsockname) ( Int sd, struct vki_sockaddr *name, Int *na= melen ); Modified: trunk/coregrind/pub_core_options.h =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/coregrind/pub_core_options.h 2005-06-18 04:10:56 UTC (rev 3931) +++ trunk/coregrind/pub_core_options.h 2005-06-18 04:13:54 UTC (rev 3932) @@ -39,10 +39,6 @@ =20 #include "pub_tool_options.h" =20 -/* Default destination port to be used in logging over a network, if - none specified. */ -#define VG_CLO_DEFAULT_LOGPORT 1500 - /* The max number of suppression files. */ #define VG_CLO_MAX_SFILES 10 =20 |
|
From: <sv...@va...> - 2005-06-18 04:11:57
|
Author: njn
Date: 2005-06-18 05:10:56 +0100 (Sat, 18 Jun 2005)
New Revision: 3931
Log:
Renamed tool_asm.h as pub_basics_asm.h. Removed core_asm.h.
Added:
trunk/include/pub_basics_asm.h
Removed:
trunk/coregrind/core_asm.h
trunk/include/tool_asm.h
Modified:
trunk/NOTES.txt
trunk/coregrind/Makefile.am
trunk/coregrind/amd64/cpuid.S
trunk/coregrind/m_dispatch/dispatch-amd64.S
trunk/coregrind/m_dispatch/dispatch-arm.S
trunk/coregrind/m_dispatch/dispatch-x86.S
trunk/coregrind/m_syswrap/syscall-amd64-linux.S
trunk/coregrind/m_syswrap/syscall-arm-linux.S
trunk/coregrind/m_syswrap/syscall-x86-linux.S
trunk/coregrind/m_trampoline.S
trunk/coregrind/pub_core_debuglog.h
trunk/coregrind/x86/cpuid.S
trunk/include/Makefile.am
trunk/include/basic_types.h
trunk/include/tool.h
Modified: trunk/NOTES.txt
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- trunk/NOTES.txt 2005-06-18 03:44:34 UTC (rev 3930)
+++ trunk/NOTES.txt 2005-06-18 04:10:56 UTC (rev 3931)
@@ -10,18 +10,6 @@
x86-only systems. However, am not sure where to look for the call
into memcheck that states the new stack area.
=20
-
-9 Apr 05 (starting work on memcheck for 32/64-bit and big/little endian)
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-* get rid of include/tool_asm.h. I think=20
- this is left over from single-platform days, when it made
- sense to have tool-helpers written in assembly. Looks like we
- need to retain coregrind/core_asm.h, though.
-
- [tool_asm.h will need to remain in some form -- there are still assemb=
ly
- files that need to see VG_() and related macros. --njn]
-
-
23 March 05
~~~~~~~~~~~
Do we still need ARCH_PTHREQ_RET (or *PTHREQ* for that matter) ?
Modified: trunk/coregrind/Makefile.am
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- trunk/coregrind/Makefile.am 2005-06-18 03:44:34 UTC (rev 3930)
+++ trunk/coregrind/Makefile.am 2005-06-18 04:10:56 UTC (rev 3931)
@@ -36,7 +36,6 @@
=20
noinst_HEADERS =3D \
core.h \
- core_asm.h \
coregrind.h \
pub_core_aspacemgr.h \
pub_core_debuginfo.h \
Modified: trunk/coregrind/amd64/cpuid.S
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- trunk/coregrind/amd64/cpuid.S 2005-06-18 03:44:34 UTC (rev 3930)
+++ trunk/coregrind/amd64/cpuid.S 2005-06-18 04:10:56 UTC (rev 3931)
@@ -28,7 +28,7 @@
The GNU General Public License is contained in the file COPYING.
*/
=20
-#include "core_asm.h"
+#include "pub_basics_asm.h"
=20
/*
Bool VG_(has_cpuid)(void)
Deleted: trunk/coregrind/core_asm.h
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- trunk/coregrind/core_asm.h 2005-06-18 03:44:34 UTC (rev 3930)
+++ trunk/coregrind/core_asm.h 2005-06-18 04:10:56 UTC (rev 3931)
@@ -1,2 +0,0 @@
-// XXX: temporary only
-#include "tool_asm.h"
Modified: trunk/coregrind/m_dispatch/dispatch-amd64.S
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- trunk/coregrind/m_dispatch/dispatch-amd64.S 2005-06-18 03:44:34 UTC (=
rev 3930)
+++ trunk/coregrind/m_dispatch/dispatch-amd64.S 2005-06-18 04:10:56 UTC (=
rev 3931)
@@ -29,7 +29,7 @@
The GNU General Public License is contained in the file COPYING.
*/
=20
-#include "core_asm.h"
+#include "pub_basics_asm.h"
#include "pub_core_dispatch_asm.h"
#include "pub_core_transtab_asm.h"
#include "libvex_guest_offsets.h" /* for OFFSET_amd64_RIP */
Modified: trunk/coregrind/m_dispatch/dispatch-arm.S
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- trunk/coregrind/m_dispatch/dispatch-arm.S 2005-06-18 03:44:34 UTC (re=
v 3930)
+++ trunk/coregrind/m_dispatch/dispatch-arm.S 2005-06-18 04:10:56 UTC (re=
v 3931)
@@ -29,7 +29,7 @@
The GNU General Public License is contained in the file COPYING.
*/
=20
-#include "core_asm.h"
+#include "pub_basics_asm.h"
#include "pub_core_dispatch_asm.h"
#include "pub_core_transtab_asm.h"
=20
Modified: trunk/coregrind/m_dispatch/dispatch-x86.S
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- trunk/coregrind/m_dispatch/dispatch-x86.S 2005-06-18 03:44:34 UTC (re=
v 3930)
+++ trunk/coregrind/m_dispatch/dispatch-x86.S 2005-06-18 04:10:56 UTC (re=
v 3931)
@@ -29,7 +29,7 @@
The GNU General Public License is contained in the file COPYING.
*/
=20
-#include "core_asm.h"
+#include "pub_basics_asm.h"
#include "pub_core_dispatch_asm.h"
#include "pub_core_transtab_asm.h"
#include "libvex_guest_offsets.h" /* for OFFSET_x86_EIP */
Modified: trunk/coregrind/m_syswrap/syscall-amd64-linux.S
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- trunk/coregrind/m_syswrap/syscall-amd64-linux.S 2005-06-18 03:44:34 U=
TC (rev 3930)
+++ trunk/coregrind/m_syswrap/syscall-amd64-linux.S 2005-06-18 04:10:56 U=
TC (rev 3931)
@@ -28,7 +28,7 @@
The GNU General Public License is contained in the file COPYING.
*/
=20
-#include "core_asm.h"
+#include "pub_basics_asm.h"
#include "vki_unistd.h"
#include "libvex_guest_offsets.h"
=20
Modified: trunk/coregrind/m_syswrap/syscall-arm-linux.S
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- trunk/coregrind/m_syswrap/syscall-arm-linux.S 2005-06-18 03:44:34 UTC=
(rev 3930)
+++ trunk/coregrind/m_syswrap/syscall-arm-linux.S 2005-06-18 04:10:56 UTC=
(rev 3931)
@@ -28,7 +28,7 @@
The GNU General Public License is contained in the file COPYING.
*/
=20
-#include "core_asm.h"
+#include "pub_basics_asm.h"
#include "vki_unistd.h"
=20
# XXX: must reinstate comments also -- see x86-linux/syscall.S
Modified: trunk/coregrind/m_syswrap/syscall-x86-linux.S
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- trunk/coregrind/m_syswrap/syscall-x86-linux.S 2005-06-18 03:44:34 UTC=
(rev 3930)
+++ trunk/coregrind/m_syswrap/syscall-x86-linux.S 2005-06-18 04:10:56 UTC=
(rev 3931)
@@ -28,7 +28,7 @@
The GNU General Public License is contained in the file COPYING.
*/
=20
-#include "core_asm.h"
+#include "pub_basics_asm.h"
#include "vki_unistd.h"
#include "libvex_guest_offsets.h"
=09
Modified: trunk/coregrind/m_trampoline.S
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- trunk/coregrind/m_trampoline.S 2005-06-18 03:44:34 UTC (rev 3930)
+++ trunk/coregrind/m_trampoline.S 2005-06-18 04:10:56 UTC (rev 3931)
@@ -28,7 +28,7 @@
The GNU General Public License is contained in the file COPYING.
*/
=20
-#include "core_asm.h"
+#include "pub_basics_asm.h"
#include "vki_unistd.h"
=20
/* ------------------ SIMULATED CPU HELPERS ------------------ */
Modified: trunk/coregrind/pub_core_debuglog.h
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- trunk/coregrind/pub_core_debuglog.h 2005-06-18 03:44:34 UTC (rev 3930=
)
+++ trunk/coregrind/pub_core_debuglog.h 2005-06-18 04:10:56 UTC (rev 3931=
)
@@ -47,7 +47,7 @@
portable way to avoid using stdarg.h. */
#include <stdarg.h>
=20
-#include "core_asm.h" /* For definition of VG_ macro */
+#include "pub_basics_asm.h" /* For definition of VG_ macro */
=20
/* There are no tool-visible exports from m_debuglog, hence no header
file for it. */
Modified: trunk/coregrind/x86/cpuid.S
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- trunk/coregrind/x86/cpuid.S 2005-06-18 03:44:34 UTC (rev 3930)
+++ trunk/coregrind/x86/cpuid.S 2005-06-18 04:10:56 UTC (rev 3931)
@@ -28,7 +28,7 @@
The GNU General Public License is contained in the file COPYING.
*/
=20
-#include "core_asm.h"
+#include "pub_basics_asm.h"
=20
/*
Bool VG_(has_cpuid)(void)
Modified: trunk/include/Makefile.am
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- trunk/include/Makefile.am 2005-06-18 03:44:34 UTC (rev 3930)
+++ trunk/include/Makefile.am 2005-06-18 04:10:56 UTC (rev 3931)
@@ -4,7 +4,7 @@
incinc_HEADERS =3D \
basic_types.h \
tool.h \
- tool_asm.h \
+ pub_basics_asm.h \
pub_tool_aspacemgr.h \
pub_tool_errormgr.h \
pub_tool_execontext.h \
Modified: trunk/include/basic_types.h
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- trunk/include/basic_types.h 2005-06-18 03:44:34 UTC (rev 3930)
+++ trunk/include/basic_types.h 2005-06-18 04:10:56 UTC (rev 3931)
@@ -1,6 +1,6 @@
=20
/*--------------------------------------------------------------------*/
-/*--- Basic types basic_types.h ---*/
+/*--- Header included by every C file. basic_types.h ---*/
/*--------------------------------------------------------------------*/
=20
/*
Copied: trunk/include/pub_basics_asm.h (from rev 3925, trunk/include/tool=
_asm.h)
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- trunk/include/tool_asm.h 2005-06-18 01:35:16 UTC (rev 3925)
+++ trunk/include/pub_basics_asm.h 2005-06-18 04:10:56 UTC (rev 3931)
@@ -0,0 +1,49 @@
+
+/*--------------------------------------------------------------------*/
+/*--- Header imported directly by every asm file, and indirectly ---*/
+/*--- (via pub_basics.h) by every C file. pub_basics_asm.h ---*/
+/*--------------------------------------------------------------------*/
+
+/*
+ This file is part of Valgrind, a dynamic binary instrumentation
+ framework.
+
+ Copyright (C) 2000-2005 Julian Seward=20
+ js...@ac...
+
+ This program is free software; you can redistribute it and/or
+ modify it under the terms of the GNU General Public License as
+ published by the Free Software Foundation; either version 2 of the
+ License, or (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful, but
+ WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+ 02111-1307, USA.
+
+ The GNU General Public License is contained in the file COPYING.
+*/
+
+#ifndef __PUB_BASICS_ASM_H
+#define __PUB_BASICS_ASM_H
+
+/* All symbols externally visible from Valgrind are prefixed
+ as specified here to avoid namespace conflict problems. */
+
+#define VGAPPEND(str1,str2) str1##str2
+
+#define VG_(str) VGAPPEND(vgPlain_, str)
+#define VGA_(str) VGAPPEND(vgArch_, str)
+#define VGO_(str) VGAPPEND(vgOS_, str)
+#define VGP_(str) VGAPPEND(vgPlatform_, str)
+
+#endif /* __PUB_BASICS_ASM_H */
+
+/*--------------------------------------------------------------------*/
+/*--- end ---*/
+/*--------------------------------------------------------------------*/
Modified: trunk/include/tool.h
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- trunk/include/tool.h 2005-06-18 03:44:34 UTC (rev 3930)
+++ trunk/include/tool.h 2005-06-18 04:10:56 UTC (rev 3931)
@@ -33,7 +33,7 @@
#include <stdarg.h> /* ANSI varargs stuff */
=20
#include "basic_types.h"
-#include "tool_asm.h" /* asm stuff */
+#include "pub_basics_asm.h" /* asm stuff */
=20
#if defined(VGO_linux)
# include "vki-linux.h"
Deleted: trunk/include/tool_asm.h
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- trunk/include/tool_asm.h 2005-06-18 03:44:34 UTC (rev 3930)
+++ trunk/include/tool_asm.h 2005-06-18 04:10:56 UTC (rev 3931)
@@ -1,68 +0,0 @@
-
-/*--------------------------------------------------------------------*/
-/*--- Tool-specific, asm-specific includes. tool_asm.h ---*/
-/*--------------------------------------------------------------------*/
-
-/*
- This file is part of Valgrind, a dynamic binary instrumentation
- framework.
-
- Copyright (C) 2000-2005 Julian Seward=20
- js...@ac...
-
- This program is free software; you can redistribute it and/or
- modify it under the terms of the GNU General Public License as
- published by the Free Software Foundation; either version 2 of the
- License, or (at your option) any later version.
-
- This program is distributed in the hope that it will be useful, but
- WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software
- Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
- 02111-1307, USA.
-
- The GNU General Public License is contained in the file COPYING.
-*/
-
-#ifndef __TOOL_ASM_H
-#define __TOOL_ASM_H
-
-
-/* All symbols externally visible from valgrind.so are prefixed
- as specified here. The prefix can be changed, so as to avoid
- namespace conflict problems.
-*/
-#define VGAPPEND(str1,str2) str1##str2
-
-/* These macros should add different prefixes so the same base
- name can safely be used across different macros. */
-#define VG_(str) VGAPPEND(vgPlain_,str)
-#define VGA_(str) VGAPPEND(vgArch_,str)
-#define VGO_(str) VGAPPEND(vgOS_,str)
-#define VGP_(str) VGAPPEND(vgPlatform_,str)
-
-// Print a constant from asm code.
-// Nb: you'll need to define VG_(oynk)(Int) to use this.
-#if defined(VGA_x86)
-# define OYNK(nnn) pushal; pushl $nnn; call VG_(oynk) ; addl $4,%esp; =
popal
-#elif defined(VGA_amd64)
-# define OYNK(nnn) push %r8 ; push %r9 ; push %r10; push %r11; \
- push %rax; push %rbx; push %rcx; push %rdx; \
- push %rsi; push %rdi; \
- movl $nnn, %edi; call VG_(oynk); \
- pop %rdi; pop %rsi; pop %rdx; pop %rcx; \
- pop %rbx; pop %rax; pop %r11; pop %r10; \
- pop %r9 ; pop %r8
-#else
-# error Unknown architecture
-#endif
-
-#endif /* ndef __TOOL_ASM_H */
-
-/*--------------------------------------------------------------------*/
-/*--- end ---*/
-/*--------------------------------------------------------------------*/
|
|
From: <sv...@va...> - 2005-06-18 03:44:37
|
Author: njn
Date: 2005-06-18 04:44:34 +0100 (Sat, 18 Jun 2005)
New Revision: 3930
Log:
Moved VGA_(getArchAndSubArch) into m_translate and made it local. This
allowed the removal of $ARCH/state.c, hooray!
Removed:
trunk/coregrind/amd64/state.c
trunk/coregrind/arm/state.c
trunk/coregrind/x86/state.c
Modified:
trunk/coregrind/amd64/Makefile.am
trunk/coregrind/arm/Makefile.am
trunk/coregrind/core.h
trunk/coregrind/m_translate.c
trunk/coregrind/x86/Makefile.am
Modified: trunk/coregrind/amd64/Makefile.am
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- trunk/coregrind/amd64/Makefile.am 2005-06-18 03:27:58 UTC (rev 3929)
+++ trunk/coregrind/amd64/Makefile.am 2005-06-18 03:44:34 UTC (rev 3930)
@@ -3,16 +3,12 @@
=20
noinst_LIBRARIES =3D libarch.a
=20
-EXTRA_DIST =3D \
- jmp_with_stack.c
-
BUILT_SOURCES =3D stage2.lds
CLEANFILES =3D stage2.lds
=20
libarch_a_SOURCES =3D \
cpuid.S \
- jmp_with_stack.c \
- state.c
+ jmp_with_stack.c
=20
# Extract ld's default linker script and hack it to our needs
stage2.lds: Makefile
Deleted: trunk/coregrind/amd64/state.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- trunk/coregrind/amd64/state.c 2005-06-18 03:27:58 UTC (rev 3929)
+++ trunk/coregrind/amd64/state.c 2005-06-18 03:44:34 UTC (rev 3930)
@@ -1,59 +0,0 @@
-
-/*--------------------------------------------------------------------*/
-/*--- Arch-specific registers, etc. amd64/state.c ---*/
-/*--------------------------------------------------------------------*/
-
-/*
- This file is part of Valgrind, a dynamic binary instrumentation
- framework.
-
- Copyright (C) 2000-2005 Julian Seward
- js...@ac...
-
- This program is free software; you can redistribute it and/or
- modify it under the terms of the GNU General Public License as
- published by the Free Software Foundation; either version 2 of the
- License, or (at your option) any later version.
-
- This program is distributed in the hope that it will be useful, but
- WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software
- Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
- 02111-1307, USA.
-
- The GNU General Public License is contained in the file COPYING.
-*/
-
-#include "core.h"
-#include "pub_core_libcbase.h"
-#include "pub_core_libcassert.h"
-#include "pub_core_tooliface.h"
-#include <sys/ptrace.h>
-
-#include "libvex_guest_amd64.h"
-
-
-/*------------------------------------------------------------*/
-/*--- Determining arch/subarch. ---*/
-/*------------------------------------------------------------*/
-
-// Returns the architecture and subarchitecture, or indicates
-// that this subarchitecture is unable to run Valgrind
-// Returns False to indicate we cannot proceed further.
-Bool VGA_(getArchAndSubArch)( /*OUT*/VexArch* vex_arch,=20
- /*OUT*/VexSubArch* vex_subarch )
-{
- vg_assert(VG_(has_cpuid)());
- *vex_arch =3D VexArchAMD64;
- *vex_subarch =3D VexSubArch_NONE;
- return True;
-}
-
-
-/*--------------------------------------------------------------------*/
-/*--- end ---*/
-/*--------------------------------------------------------------------*/
Modified: trunk/coregrind/arm/Makefile.am
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- trunk/coregrind/arm/Makefile.am 2005-06-18 03:27:58 UTC (rev 3929)
+++ trunk/coregrind/arm/Makefile.am 2005-06-18 03:44:34 UTC (rev 3930)
@@ -3,15 +3,11 @@
=20
noinst_LIBRARIES =3D libarch.a
=20
-EXTRA_DIST =3D \
- jmp_with_stack.c \
- libpthread.c
-
BUILT_SOURCES =3D stage2.lds
CLEANFILES =3D stage2.lds
=20
libarch_a_SOURCES =3D \
- state.c
+ jmp_with_stack.c
=20
# Extract ld's default linker script and hack it to our needs
stage2.lds: Makefile
Deleted: trunk/coregrind/arm/state.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- trunk/coregrind/arm/state.c 2005-06-18 03:27:58 UTC (rev 3929)
+++ trunk/coregrind/arm/state.c 2005-06-18 03:44:34 UTC (rev 3930)
@@ -1,155 +0,0 @@
-
-/*--------------------------------------------------------------------*/
-/*--- Arch-specific registers, etc. x86/state.c ---*/
-/*--------------------------------------------------------------------*/
-
-/*
- This file is part of Valgrind, a dynamic binary instrumentation
- framework.
-
- Copyright (C) 2000-2005 Nicholas Nethercote
- nj...@va...
-
- This program is free software; you can redistribute it and/or
- modify it under the terms of the GNU General Public License as
- published by the Free Software Foundation; either version 2 of the
- License, or (at your option) any later version.
-
- This program is distributed in the hope that it will be useful, but
- WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software
- Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
- 02111-1307, USA.
-
- The GNU General Public License is contained in the file COPYING.
-*/
-
-#include "core.h"
-#include <sys/ptrace.h>
-
-#include "libvex_guest_arm.h"
-
-
-/*------------------------------------------------------------*/
-/*--- Initialising the first thread ---*/
-/*------------------------------------------------------------*/
-
-/* Given a pointer to the ThreadArchState for thread 1 (the root
- thread), initialise the VEX guest state, and copy in essential
- starting values.
-*/
-void VGA_(init_thread1state) ( Addr client_eip,=20
- Addr esp_at_startup,
- /*MOD*/ ThreadArchState* arch )
-{
- I_die_here;
-#if 0
- // When implementing this, look at x86/state.c
-#endif
-}
-
-
-/*------------------------------------------------------------*/
-/*--- Thread stuff ---*/
-/*------------------------------------------------------------*/
-
-void VGA_(clear_thread)( ThreadArchState *arch )
-{
- I_die_here;
-#if 0
- arch->ldt =3D NULL;
- VG_(clear_TLS_for_thread)(arch->tls);
-#endif
-} =20
-
-void VGA_(cleanup_thread) ( ThreadArchState *arch )
-{ =20
- I_die_here;
-#if 0
- /* Deallocate its LDT, if it ever had one. */
- VG_(deallocate_LDT_for_thread)( arch->ldt );=20
- arch->ldt =3D NULL;
- =20
- /* Clear its TLS array. */
- VG_(clear_TLS_for_thread)( arch->tls );
-#endif
-} =20
-
-void VGA_(setup_child) ( ThreadArchState *regs, ThreadArchState *parent_=
regs )
-{ =20
- I_die_here;
-#if 0
- // XXX: look at x86/state.c
-#endif
-} =20
-
-
-/*------------------------------------------------------------*/
-/*--- pointercheck ---*/
-/*------------------------------------------------------------*/
-
-Bool VGA_(setup_pointercheck)(Addr client_base, Addr client_end)
-{
- I_die_here;
-#if 0
- vki_modify_ldt_t ldt =3D {=20
- VG_POINTERCHECK_SEGIDX, // entry_number
- VG_(client_base), // base_addr
- (VG_(client_end)-VG_(client_base)) / VKI_PAGE_SIZE, // limit
- 1, // seg_32bit
- 0, // contents: data, RW, non-expanding
- 0, // ! read_exec_only
- 1, // limit_in_pages
- 0, // ! seg not present
- 1, // useable
- };
- int ret =3D VG_(do_syscall)(__NR_modify_ldt, 1, &ldt, sizeof(ldt));
- if (ret < 0) {
- VG_(message)(Vg_UserMsg,
- "Warning: ignoring --pointercheck=3Dyes, "
- "because modify_ldt failed (errno=3D%d)", -ret);
- return False;
- } else {
- return True;
- }
-#endif
-}
-
-/*------------------------------------------------------------*/
-/*--- Debugger-related operations ---*/
-/*------------------------------------------------------------*/
-
-Int VGA_(ptrace_setregs_from_tst)(Int pid, ThreadArchState* arch)
-{
- I_die_here;
-#if 0
- struct vki_user_regs_struct regs;
-
- regs.cs =3D arch->vex.guest_CS;
- regs.ss =3D arch->vex.guest_SS;
- regs.ds =3D arch->vex.guest_DS;
- regs.es =3D arch->vex.guest_ES;
- regs.fs =3D arch->vex.guest_FS;
- regs.gs =3D arch->vex.guest_GS;
- regs.eax =3D arch->vex.guest_EAX;
- regs.ebx =3D arch->vex.guest_EBX;
- regs.ecx =3D arch->vex.guest_ECX;
- regs.edx =3D arch->vex.guest_EDX;
- regs.esi =3D arch->vex.guest_ESI;
- regs.edi =3D arch->vex.guest_EDI;
- regs.ebp =3D arch->vex.guest_EBP;
- regs.esp =3D arch->vex.guest_ESP;
- regs.eflags =3D LibVEX_GuestX86_get_eflags(&arch->vex);
- regs.eip =3D arch->vex.guest_EIP;
-
- return ptrace(PTRACE_SETREGS, pid, NULL, ®s);
-#endif
-}
-
-/*--------------------------------------------------------------------*/
-/*--- end ---*/
-/*--------------------------------------------------------------------*/
Modified: trunk/coregrind/core.h
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- trunk/coregrind/core.h 2005-06-18 03:27:58 UTC (rev 3929)
+++ trunk/coregrind/core.h 2005-06-18 03:44:34 UTC (rev 3930)
@@ -49,16 +49,6 @@
=20
#include "pub_core_scheduler.h" // for types 'ThreadArchState'
=20
-// ---------------------------------------------------------------------
-// Architecture-specific things defined in eg. x86/*.c
-// ---------------------------------------------------------------------
-
-// Returns the architecture and subarchitecture, or indicates
-// that this subarchitecture is unable to run Valgrind
-// Returns False to indicate we cannot proceed further.
-extern Bool VGA_(getArchAndSubArch)( /*OUT*/VexArch*,=20
- /*OUT*/VexSubArch* );
-
/* ---------------------------------------------------------------------
Finally - autoconf-generated settings
------------------------------------------------------------------ */
Modified: trunk/coregrind/m_translate.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- trunk/coregrind/m_translate.c 2005-06-18 03:27:58 UTC (rev 3929)
+++ trunk/coregrind/m_translate.c 2005-06-18 03:44:34 UTC (rev 3930)
@@ -43,11 +43,87 @@
#include "pub_core_translate.h"
#include "pub_core_transtab.h"
=20
+/*------------------------------------------------------------*/
+/*--- Determining arch/subarch. ---*/
+/*------------------------------------------------------------*/
=20
+// Returns the architecture and subarchitecture, or indicates
+// that this subarchitecture is unable to run Valgrind
+// Returns False to indicate we cannot proceed further.
+static Bool getArchAndSubArch( /*OUT*/VexArch* vex_arch,=20
+ /*OUT*/VexSubArch* vex_subarch )
+{
+#if defined(VGA_x86)
+ Bool have_sse0, have_sse1, have_sse2;
+ UInt eax, ebx, ecx, edx;
+
+ if (!VG_(has_cpuid)())
+ /* we can't do cpuid at all. Give up. */
+ return False;
+
+ VG_(cpuid)(0, &eax, &ebx, &ecx, &edx);
+ if (eax < 1)
+ /* we can't ask for cpuid(x) for x > 0. Give up. */
+ return False;
+
+ /* get capabilities bits into edx */
+ VG_(cpuid)(1, &eax, &ebx, &ecx, &edx);
+
+ have_sse0 =3D (edx & (1<<24)) !=3D 0; /* True =3D> have fxsave/fxrsto=
r */
+ have_sse1 =3D (edx & (1<<25)) !=3D 0; /* True =3D> have sse insns */
+ have_sse2 =3D (edx & (1<<26)) !=3D 0; /* True =3D> have sse2 insns */
+
+ if (have_sse2 && have_sse1 && have_sse0) {
+ *vex_arch =3D VexArchX86;
+ *vex_subarch =3D VexSubArchX86_sse2;
+ return True;
+ }
+
+ if (have_sse1 && have_sse0) {
+ *vex_arch =3D VexArchX86;
+ *vex_subarch =3D VexSubArchX86_sse1;
+ return True;
+ }
+
+ if (have_sse0) {
+ *vex_arch =3D VexArchX86;
+ *vex_subarch =3D VexSubArchX86_sse0;
+ return True;
+ }
+
+ /* we need at least SSE state to operate. */
+ return False;
+#elif defined(VGA_amd64)
+ vg_assert(VG_(has_cpuid)());
+ *vex_arch =3D VexArchAMD64;
+ *vex_subarch =3D VexSubArch_NONE;
+ return True;
+#else
+# error Unknown architecture
+#endif
+}
+
+
/*------------------------------------------------------------*/
/*--- %SP-update pass ---*/
/*------------------------------------------------------------*/
=20
+static Bool need_to_handle_SP_assignment(void)
+{
+ return ( VG_(tdict).track_new_mem_stack_4 ||
+ VG_(tdict).track_die_mem_stack_4 ||
+ VG_(tdict).track_new_mem_stack_8 ||
+ VG_(tdict).track_die_mem_stack_8 ||
+ VG_(tdict).track_new_mem_stack_12 ||
+ VG_(tdict).track_die_mem_stack_12 ||
+ VG_(tdict).track_new_mem_stack_16 ||
+ VG_(tdict).track_die_mem_stack_16 ||
+ VG_(tdict).track_new_mem_stack_32 ||
+ VG_(tdict).track_die_mem_stack_32 ||
+ VG_(tdict).track_new_mem_stack ||
+ VG_(tdict).track_die_mem_stack );
+}
+
/* NOTE: this comment is out of date */
=20
/* For tools that want to know about %ESP changes, this pass adds
@@ -336,22 +412,6 @@
}
}
=20
-static Bool need_to_handle_SP_assignment(void)
-{
- return ( VG_(tdict).track_new_mem_stack_4 ||
- VG_(tdict).track_die_mem_stack_4 ||
- VG_(tdict).track_new_mem_stack_8 ||
- VG_(tdict).track_die_mem_stack_8 ||
- VG_(tdict).track_new_mem_stack_12 ||
- VG_(tdict).track_die_mem_stack_12 ||
- VG_(tdict).track_new_mem_stack_16 ||
- VG_(tdict).track_die_mem_stack_16 ||
- VG_(tdict).track_new_mem_stack_32 ||
- VG_(tdict).track_die_mem_stack_32 ||
- VG_(tdict).track_new_mem_stack ||
- VG_(tdict).track_die_mem_stack );
-}
-
Bool VG_(translate) ( ThreadId tid,=20
Addr64 orig_addr,
Bool debugging_translation,
@@ -373,7 +433,7 @@
static Bool vex_init_done =3D False;
=20
if (!vex_init_done) {
- Bool ok =3D VGA_(getArchAndSubArch)( &vex_arch, &vex_subarch );
+ Bool ok =3D getArchAndSubArch( &vex_arch, &vex_subarch );
if (!ok) {
VG_(printf)("\n");
VG_(printf)("valgrind: fatal error: unsupported CPU.\n");
Modified: trunk/coregrind/x86/Makefile.am
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- trunk/coregrind/x86/Makefile.am 2005-06-18 03:27:58 UTC (rev 3929)
+++ trunk/coregrind/x86/Makefile.am 2005-06-18 03:44:34 UTC (rev 3930)
@@ -3,16 +3,12 @@
=20
noinst_LIBRARIES =3D libarch.a
=20
-EXTRA_DIST =3D \
- jmp_with_stack.c
-
BUILT_SOURCES =3D stage2.lds
CLEANFILES =3D stage2.lds
=20
libarch_a_SOURCES =3D \
cpuid.S \
- jmp_with_stack.c \
- state.c
+ jmp_with_stack.c
=20
# Extract ld's default linker script and hack it to our needs
stage2.lds: Makefile
Deleted: trunk/coregrind/x86/state.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- trunk/coregrind/x86/state.c 2005-06-18 03:27:58 UTC (rev 3929)
+++ trunk/coregrind/x86/state.c 2005-06-18 03:44:34 UTC (rev 3930)
@@ -1,93 +0,0 @@
-
-/*--------------------------------------------------------------------*/
-/*--- Arch-specific registers, etc. x86/state.c ---*/
-/*--------------------------------------------------------------------*/
-
-/*
- This file is part of Valgrind, a dynamic binary instrumentation
- framework.
-
- Copyright (C) 2000-2005 Nicholas Nethercote
- nj...@va...
-
- This program is free software; you can redistribute it and/or
- modify it under the terms of the GNU General Public License as
- published by the Free Software Foundation; either version 2 of the
- License, or (at your option) any later version.
-
- This program is distributed in the hope that it will be useful, but
- WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software
- Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
- 02111-1307, USA.
-
- The GNU General Public License is contained in the file COPYING.
-*/
-
-#include "core.h"
-#include "pub_core_libcbase.h"
-#include "pub_core_libcassert.h"
-#include "pub_core_tooliface.h"
-#include <sys/ptrace.h>
-
-#include "libvex_guest_x86.h"
-
-
-/*------------------------------------------------------------*/
-/*--- Determining arch/subarch. ---*/
-/*------------------------------------------------------------*/
-
-// Returns the architecture and subarchitecture, or indicates
-// that this subarchitecture is unable to run Valgrind
-// Returns False to indicate we cannot proceed further.
-Bool VGA_(getArchAndSubArch)( /*OUT*/VexArch* vex_arch,=20
- /*OUT*/VexSubArch* vex_subarch )
-{
- Bool have_sse0, have_sse1, have_sse2;
- UInt eax, ebx, ecx, edx;
-
- if (!VG_(has_cpuid)())
- /* we can't do cpuid at all. Give up. */
- return False;
-
- VG_(cpuid)(0, &eax, &ebx, &ecx, &edx);
- if (eax < 1)
- /* we can't ask for cpuid(x) for x > 0. Give up. */
- return False;
-
- /* get capabilities bits into edx */
- VG_(cpuid)(1, &eax, &ebx, &ecx, &edx);
-
- have_sse0 =3D (edx & (1<<24)) !=3D 0; /* True =3D> have fxsave/fxrsto=
r */
- have_sse1 =3D (edx & (1<<25)) !=3D 0; /* True =3D> have sse insns */
- have_sse2 =3D (edx & (1<<26)) !=3D 0; /* True =3D> have sse2 insns */
-
- if (have_sse2 && have_sse1 && have_sse0) {
- *vex_arch =3D VexArchX86;
- *vex_subarch =3D VexSubArchX86_sse2;
- return True;
- }
-
- if (have_sse1 && have_sse0) {
- *vex_arch =3D VexArchX86;
- *vex_subarch =3D VexSubArchX86_sse1;
- return True;
- }
-
- if (have_sse0) {
- *vex_arch =3D VexArchX86;
- *vex_subarch =3D VexSubArchX86_sse0;
- return True;
- }
-
- /* we need at least SSE state to operate. */
- return False;
-}
-
-/*--------------------------------------------------------------------*/
-/*--- end ---*/
-/*--------------------------------------------------------------------*/
|
|
From: <sv...@va...> - 2005-06-18 03:28:03
|
Author: njn Date: 2005-06-18 04:27:58 +0100 (Sat, 18 Jun 2005) New Revision: 3929 Log: Moved the code trampoline stuff into a new module, m_trampoline. Not certain this was the right thing to do, but that stuff sure as hell didn't fit in any of the existing modules. Added: trunk/coregrind/m_trampoline.S trunk/coregrind/pub_core_trampoline.h Removed: trunk/coregrind/amd64/helpers.S trunk/coregrind/x86/helpers.S Modified: trunk/coregrind/Makefile.am trunk/coregrind/amd64/Makefile.am trunk/coregrind/core.h trunk/coregrind/m_main.c trunk/coregrind/m_redir.c trunk/coregrind/m_sigframe/sigframe-amd64-linux.c trunk/coregrind/m_sigframe/sigframe-x86-linux.c trunk/coregrind/m_stacktrace.c trunk/coregrind/x86/Makefile.am Modified: trunk/coregrind/Makefile.am =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/coregrind/Makefile.am 2005-06-18 02:25:16 UTC (rev 3928) +++ trunk/coregrind/Makefile.am 2005-06-18 03:27:58 UTC (rev 3929) @@ -70,6 +70,7 @@ pub_core_syswrap.h \ pub_core_threadmodel.h \ pub_core_tooliface.h \ + pub_core_trampoline.h \ pub_core_translate.h \ pub_core_transtab.h \ pub_core_transtab_asm.h \ @@ -118,6 +119,7 @@ m_syscall.c \ m_threadmodel.c \ m_tooliface.c \ + m_trampoline.S \ m_translate.c \ m_transtab.c \ \ Modified: trunk/coregrind/amd64/Makefile.am =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/coregrind/amd64/Makefile.am 2005-06-18 02:25:16 UTC (rev 3928) +++ trunk/coregrind/amd64/Makefile.am 2005-06-18 03:27:58 UTC (rev 3929) @@ -11,7 +11,6 @@ =20 libarch_a_SOURCES =3D \ cpuid.S \ - helpers.S \ jmp_with_stack.c \ state.c =20 Deleted: trunk/coregrind/amd64/helpers.S =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/coregrind/amd64/helpers.S 2005-06-18 02:25:16 UTC (rev 3928) +++ trunk/coregrind/amd64/helpers.S 2005-06-18 03:27:58 UTC (rev 3929) @@ -1,96 +0,0 @@ -##--------------------------------------------------------------------## -##--- Support routines for the JITter output. amd64/helpers.S ---## -##--------------------------------------------------------------------## - -/* - This file is part of Valgrind, a dynamic binary instrumentation - framework. - - Copyright (C) 2000-2005 Julian Seward=20 - js...@ac... - - This program is free software; you can redistribute it and/or - modify it under the terms of the GNU General Public License as - published by the Free Software Foundation; either version 2 of the - License, or (at your option) any later version. - - This program is distributed in the hope that it will be useful, but - WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307, USA. - - The GNU General Public License is contained in the file COPYING. -*/ - -#include "core_asm.h" -#include "vki_unistd.h" - -/* ------------------ SIMULATED CPU HELPERS ------------------ */ -/* A stubs for a return which we want to catch: a signal return. - returns and pthread returns. In the latter case, the thread's - return value is in %EAX, so we pass this as the first argument - to the request. In both cases we use the user request mechanism. - You need to to read the definition of VALGRIND_MAGIC_SEQUENCE - in valgrind.h to make sense of this. - - This isn't used in-place. It is copied into the client address space - at an arbitary address. Therefore, this code must be completely - position-independent. -*/ -.global VG_(trampoline_code_start) -.global VG_(trampoline_code_length) -.global VG_(tramp_rt_sigreturn_offset) -.global VG_(tramp_syscall_offset) -.global VG_(tramp_gettimeofday_offset) -.global VG_(tramp_time_offset) -=09 -VG_(trampoline_code_start): -rt_sigreturn_start: - /* Likewise for rt signal frames */ - movq $__NR_rt_sigreturn, %rax - syscall - ud2 - - # We can point our sysinfo stuff here - .align 16 -syscall_start: - /* unused on amd64 */ - - .align 16 -gettimeofday_start: - movq $__NR_gettimeofday, %rax - syscall - ret - - .align 16 -time_start: - movq $__NR_time, %rax - syscall - ret -tramp_code_end: - =09 -.data -VG_(trampoline_code_length): - .long tramp_code_end - VG_(trampoline_code_start) -VG_(tramp_rt_sigreturn_offset): - .long rt_sigreturn_start - VG_(trampoline_code_start) -VG_(tramp_syscall_offset): - .long syscall_start - VG_(trampoline_code_start) -VG_(tramp_gettimeofday_offset): - .long gettimeofday_start - VG_(trampoline_code_start) -VG_(tramp_time_offset): - .long time_start - VG_(trampoline_code_start) -.text - - -/* Let the linker know we don't need an executable stack */ -.section .note.GNU-stack,"",@progbits - =09 -##--------------------------------------------------------------------## -##--- end ---## -##--------------------------------------------------------------------## Modified: trunk/coregrind/core.h =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/coregrind/core.h 2005-06-18 02:25:16 UTC (rev 3928) +++ trunk/coregrind/core.h 2005-06-18 03:27:58 UTC (rev 3929) @@ -49,19 +49,6 @@ =20 #include "pub_core_scheduler.h" // for types 'ThreadArchState' =20 -/* --------------------------------------------------------------------- - Exports of vg_helpers.S - ------------------------------------------------------------------ */ - -/* Information about trampoline code (for signal return and syscalls) */ -extern const Char VG_(trampoline_code_start); -extern const Int VG_(trampoline_code_length); -extern const Int VG_(tramp_sigreturn_offset); -extern const Int VG_(tramp_rt_sigreturn_offset); -extern const Int VG_(tramp_syscall_offset); -extern const Int VG_(tramp_gettimeofday_offset); -extern const Int VG_(tramp_time_offset); -=20 // --------------------------------------------------------------------- // Architecture-specific things defined in eg. x86/*.c // --------------------------------------------------------------------- Modified: trunk/coregrind/m_main.c =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/coregrind/m_main.c 2005-06-18 02:25:16 UTC (rev 3928) +++ trunk/coregrind/m_main.c 2005-06-18 03:27:58 UTC (rev 3929) @@ -52,6 +52,7 @@ #include "pub_core_signals.h" #include "pub_core_syswrap.h" #include "pub_core_tooliface.h" +#include "pub_core_trampoline.h" #include "pub_core_transtab.h" =20 #include <dirent.h> Modified: trunk/coregrind/m_redir.c =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/coregrind/m_redir.c 2005-06-18 02:25:16 UTC (rev 3928) +++ trunk/coregrind/m_redir.c 2005-06-18 03:27:58 UTC (rev 3929) @@ -40,6 +40,7 @@ #include "pub_core_options.h" #include "pub_core_redir.h" #include "pub_core_skiplist.h" +#include "pub_core_trampoline.h" #include "pub_core_transtab.h" #include "m_debuginfo/priv_symtab.h" // XXX: bad! =20 Modified: trunk/coregrind/m_sigframe/sigframe-amd64-linux.c =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/coregrind/m_sigframe/sigframe-amd64-linux.c 2005-06-18 02:25:16= UTC (rev 3928) +++ trunk/coregrind/m_sigframe/sigframe-amd64-linux.c 2005-06-18 03:27:58= UTC (rev 3929) @@ -39,6 +39,7 @@ #include "pub_core_sigframe.h" #include "pub_core_signals.h" #include "pub_core_tooliface.h" +#include "pub_core_trampoline.h" =20 #include "libvex_guest_amd64.h" =20 Modified: trunk/coregrind/m_sigframe/sigframe-x86-linux.c =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/coregrind/m_sigframe/sigframe-x86-linux.c 2005-06-18 02:25:16 U= TC (rev 3928) +++ trunk/coregrind/m_sigframe/sigframe-x86-linux.c 2005-06-18 03:27:58 U= TC (rev 3929) @@ -39,6 +39,7 @@ #include "pub_core_sigframe.h" #include "pub_core_signals.h" #include "pub_core_tooliface.h" +#include "pub_core_trampoline.h" =20 #include "libvex_guest_x86.h" =20 Modified: trunk/coregrind/m_stacktrace.c =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/coregrind/m_stacktrace.c 2005-06-18 02:25:16 UTC (rev 3928) +++ trunk/coregrind/m_stacktrace.c 2005-06-18 03:27:58 UTC (rev 3929) @@ -37,6 +37,7 @@ #include "pub_core_options.h" #include "pub_core_profile.h" #include "pub_core_stacktrace.h" +#include "pub_core_trampoline.h" =20 /*------------------------------------------------------------*/ /*--- Exported functions. ---*/ Copied: trunk/coregrind/m_trampoline.S (from rev 3925, trunk/coregrind/x8= 6/helpers.S) =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/coregrind/x86/helpers.S 2005-06-18 01:35:16 UTC (rev 3925) +++ trunk/coregrind/m_trampoline.S 2005-06-18 03:27:58 UTC (rev 3929) @@ -0,0 +1,122 @@ + +##--------------------------------------------------------------------## +##--- Trampoline code page stuff. m_trampoline.S ---## +##--------------------------------------------------------------------## + +/* + This file is part of Valgrind, a dynamic binary instrumentation + framework. + + Copyright (C) 2000-2005 Julian Seward=20 + js...@ac... + + This program is free software; you can redistribute it and/or + modify it under the terms of the GNU General Public License as + published by the Free Software Foundation; either version 2 of the + License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, but + WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA + 02111-1307, USA. + + The GNU General Public License is contained in the file COPYING. +*/ + +#include "core_asm.h" +#include "vki_unistd.h" + +/* ------------------ SIMULATED CPU HELPERS ------------------ */ +/* Stubs for returns which we want to catch. + This code isn't used in-place. It is copied into the client address + space at an arbitary address. Therefore, this code must be completel= y + position-independent. +*/ +.global VG_(trampoline_code_start) +.global VG_(trampoline_code_length) +.global VG_(tramp_sigreturn_offset) +.global VG_(tramp_rt_sigreturn_offset) +.global VG_(tramp_syscall_offset) +=09 +VG_(trampoline_code_start): +#if defined(VGP_x86_linux) + sigreturn_start: + /* This is a very specific sequence which GDB uses to + recognize signal handler frames. */ + popl %eax + movl $__NR_sigreturn, %eax + int $0x80 + ud2 + + rt_sigreturn_start: + /* Likewise for rt signal frames */ + movl $__NR_rt_sigreturn, %eax + int $0x80 + ud2 + + # We can point our sysinfo stuff here + .align 16 + syscall_start:=09 + int $0x80 + ret + + gettimeofday_start: + time_start: + /* unused on x86 */ + +#elif defined(VGP_amd64_linux) + rt_sigreturn_start: + /* Likewise for rt signal frames */ + movq $__NR_rt_sigreturn, %rax + syscall + ud2 + + .align 16 + gettimeofday_start: + movq $__NR_gettimeofday, %rax + syscall + ret + + .align 16 + time_start: + movq $__NR_time, %rax + syscall + ret + + .align 16 + sigreturn_start: + syscall_start: + /* unused on amd64 */ + +#else +# error Unknown platform +#endif +tramp_code_end: + =09 +.data +VG_(trampoline_code_length): + .long tramp_code_end - VG_(trampoline_code_start) +VG_(tramp_sigreturn_offset): + .long sigreturn_start - VG_(trampoline_code_start) +VG_(tramp_rt_sigreturn_offset): + .long rt_sigreturn_start - VG_(trampoline_code_start) +VG_(tramp_syscall_offset): + .long syscall_start - VG_(trampoline_code_start) +VG_(tramp_gettimeofday_offset): + .long gettimeofday_start - VG_(trampoline_code_start) +VG_(tramp_time_offset): + .long time_start - VG_(trampoline_code_start) +.text + + +/* Let the linker know we don't need an executable stack */ +.section .note.GNU-stack,"",@progbits + =09 +##--------------------------------------------------------------------## +##--- end ---## +##--------------------------------------------------------------------## Added: trunk/coregrind/pub_core_trampoline.h =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/coregrind/pub_core_trampoline.h 2005-06-18 02:25:16 UTC (rev 39= 28) +++ trunk/coregrind/pub_core_trampoline.h 2005-06-18 03:27:58 UTC (rev 39= 29) @@ -0,0 +1,56 @@ + +/*--------------------------------------------------------------------*/ +/*--- The trampoline code page. pub_core_trampoline.h ---*/ +/*--------------------------------------------------------------------*/ + +/* + This file is part of Valgrind, a dynamic binary instrumentation + framework. + + Copyright (C) 2000-2005 Julian Seward + js...@ac... + + This program is free software; you can redistribute it and/or + modify it under the terms of the GNU General Public License as + published by the Free Software Foundation; either version 2 of the + License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, but + WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA + 02111-1307, USA. + + The GNU General Public License is contained in the file COPYING. +*/ + +#ifndef __PUB_CORE_TRAMPOLINE_H +#define __PUB_CORE_TRAMPOLINE_H + +//-------------------------------------------------------------------- +// PURPOSE: This module defines our trampoline code page, which we copy +// over the client's, for arcane signal return and syscall purposes... +//-------------------------------------------------------------------- + +// Platform-specifics aren't neatly factored out here, since some of the +// constants are not used on all platforms. But it's non-obvious how +// to do it better. + +extern const Char VG_(trampoline_code_start); // x86 + amd64 +extern const Int VG_(trampoline_code_length); // x86 + amd64 + +extern const Int VG_(tramp_sigreturn_offset); // x86 +extern const Int VG_(tramp_rt_sigreturn_offset); // x86 + amd64 +extern const Int VG_(tramp_syscall_offset); // x86 +extern const Int VG_(tramp_gettimeofday_offset); // amd64 +extern const Int VG_(tramp_time_offset); // amd64 +=20 +#endif // __PUB_CORE_TRAMPOLINE_H + +/*--------------------------------------------------------------------*/ +/*--- end ---*/ +/*--------------------------------------------------------------------*/ Modified: trunk/coregrind/x86/Makefile.am =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/coregrind/x86/Makefile.am 2005-06-18 02:25:16 UTC (rev 3928) +++ trunk/coregrind/x86/Makefile.am 2005-06-18 03:27:58 UTC (rev 3929) @@ -11,7 +11,6 @@ =20 libarch_a_SOURCES =3D \ cpuid.S \ - helpers.S \ jmp_with_stack.c \ state.c =20 Deleted: trunk/coregrind/x86/helpers.S =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/coregrind/x86/helpers.S 2005-06-18 02:25:16 UTC (rev 3928) +++ trunk/coregrind/x86/helpers.S 2005-06-18 03:27:58 UTC (rev 3929) @@ -1,90 +0,0 @@ -##--------------------------------------------------------------------## -##--- Support routines for the JITter output. x86/helpers.S ---## -##--------------------------------------------------------------------## - -/* - This file is part of Valgrind, a dynamic binary instrumentation - framework. - - Copyright (C) 2000-2005 Julian Seward=20 - js...@ac... - - This program is free software; you can redistribute it and/or - modify it under the terms of the GNU General Public License as - published by the Free Software Foundation; either version 2 of the - License, or (at your option) any later version. - - This program is distributed in the hope that it will be useful, but - WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307, USA. - - The GNU General Public License is contained in the file COPYING. -*/ - -#include "core_asm.h" -#include "vki_unistd.h" - -/* ------------------ SIMULATED CPU HELPERS ------------------ */ -/* A stubs for a return which we want to catch: a signal return. - returns and pthread returns. In the latter case, the thread's - return value is in %EAX, so we pass this as the first argument - to the request. In both cases we use the user request mechanism. - You need to to read the definition of VALGRIND_MAGIC_SEQUENCE - in valgrind.h to make sense of this. - - This isn't used in-place. It is copied into the client address space - at an arbitary address. Therefore, this code must be completely - position-independent. -*/ -.global VG_(trampoline_code_start) -.global VG_(trampoline_code_length) -.global VG_(tramp_sigreturn_offset) -.global VG_(tramp_rt_sigreturn_offset) -.global VG_(tramp_syscall_offset) -=09 -VG_(trampoline_code_start): -sigreturn_start: - /* This is a very specific sequence which GDB uses to - recognize signal handler frames. */ - popl %eax - movl $__NR_sigreturn, %eax - int $0x80 - ud2 - -rt_sigreturn_start: - /* Likewise for rt signal frames */ - movl $__NR_rt_sigreturn, %eax - int $0x80 - ud2 - - # We can point our sysinfo stuff here - .align 16 -syscall_start:=09 - int $0x80 - ret -tramp_code_end: - =09 -.data -VG_(trampoline_code_length): - .long tramp_code_end - VG_(trampoline_code_start) -VG_(tramp_sigreturn_offset): - .long sigreturn_start - VG_(trampoline_code_start) -VG_(tramp_rt_sigreturn_offset): - .long rt_sigreturn_start - VG_(trampoline_code_start) -VG_(tramp_syscall_offset): - .long syscall_start - VG_(trampoline_code_start) -.text - - -/* Let the linker know we don't need an executable stack */ -.section .note.GNU-stack,"",@progbits - =09 -##--------------------------------------------------------------------## -##--- end ---## -##--------------------------------------------------------------------## |
|
From: Tom H. <th...@cy...> - 2005-06-18 03:00:55
|
Nightly build on audi ( i686, Red Hat 9 ) started at 2005-06-18 03:25:02 BST Checking out vex source tree ... done Building vex ... done Checking out valgrind source tree ... done Configuring valgrind ... done Building valgrind ... done Running regression tests ... failed Regression test results follow == 177 tests, 8 stderr failures, 1 stdout failure ================= memcheck/tests/sigaltstack (stderr) memcheck/tests/xml1 (stderr) corecheck/tests/fdleak_cmsg (stderr) corecheck/tests/pth_cancel1 (stdout) corecheck/tests/pth_cancel1 (stderr) corecheck/tests/pth_cancel2 (stderr) none/tests/faultstatus (stderr) none/tests/pth_blockedsig (stderr) none/tests/x86/int (stderr) |
|
From: Nicholas N. <nj...@cs...> - 2005-06-18 02:45:52
|
On Sat, 18 Jun 2005, Tom Hughes wrote: > Nightly build on gill ( x86_64, Fedora Core 2 ) started at 2005-06-18 03:00:02 BST > > == 157 tests, 150 stderr failures, 57 stdout failures ================= Was that me? What's the problem? Nick |
|
From: <js...@ac...> - 2005-06-18 02:40:12
|
Nightly build on phoenix ( SuSE 9.1 ) started at 2005-06-18 03:30:00 BST Checking out vex source tree ... done Building vex ... done Checking out valgrind source tree ... done Configuring valgrind ... done Building valgrind ... done Running regression tests ... failed Regression test results follow == 175 tests, 2 stderr failures, 0 stdout failures ================= none/tests/faultstatus (stderr) none/tests/x86/int (stderr) |