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
(5) |
2
(5) |
|
3
(5) |
4
(6) |
5
(6) |
6
(10) |
7
(10) |
8
(10) |
9
(10) |
|
10
(6) |
11
(6) |
12
(8) |
13
(33) |
14
(19) |
15
(6) |
16
(15) |
|
17
(8) |
18
(29) |
19
(23) |
20
(20) |
21
(8) |
22
(6) |
23
(6) |
|
24
(6) |
25
(22) |
26
(21) |
27
(9) |
28
(21) |
29
(11) |
30
(7) |
|
31
(16) |
|
|
|
|
|
|
|
From: Nicholas N. <nj...@ca...> - 2004-10-25 20:44:12
|
CVS commit by nethercote:
Arch-abstraction:
- use less x86-specific var names
M +5 -5 vg_mylibc.c 1.96
--- valgrind/coregrind/vg_mylibc.c #1.95:1.96
@@ -1109,15 +1109,15 @@ static inline ExeContext *get_real_execo
{
ExeContext *ec;
- Addr esp, ebp;
+ Addr sp, fp;
Addr stacktop, sigstack_low, sigstack_high;
- ARCH_GET_REAL_STACK_PTR(esp);
- ARCH_GET_REAL_FRAME_PTR(ebp);
+ ARCH_GET_REAL_STACK_PTR(sp);
+ ARCH_GET_REAL_FRAME_PTR(fp);
stacktop = VG_(valgrind_last);
VG_(get_sigstack_bounds)( &sigstack_low, &sigstack_high );
- if (esp >= sigstack_low && esp < sigstack_high)
+ if (sp >= sigstack_low && sp < sigstack_high)
stacktop = sigstack_high;
- ec = VG_(get_ExeContext2)(ret, ebp, esp, stacktop);
+ ec = VG_(get_ExeContext2)(ret, fp, sp, stacktop);
return ec;
|
|
From: Nicholas N. <nj...@ca...> - 2004-10-25 20:43:16
|
CVS commit by nethercote:
comment wibbles
M +2 -2 core_platform.h 1.7
M +1 -2 ldt.c 1.3
M +1 -1 syscall.S 1.2
--- valgrind/coregrind/x86-linux/core_platform.h #1.6:1.7
@@ -62,6 +62,4 @@
post_reg_write_syscall_return)
-#endif // __X86_LINUX_CORE_PLATFORM_H
-
/* ---------------------------------------------------------------------
Exports of vg_ldt.c
@@ -122,4 +120,6 @@ extern Addr VG_(do_useseg) ( UInt seg_se
} while (0)
+#endif // __X86_LINUX_CORE_PLATFORM_H
+
/*--------------------------------------------------------------------*/
/*--- end ---*/
--- valgrind/coregrind/x86-linux/ldt.c #1.2:1.3
@@ -479,6 +479,5 @@ Int VG_(sys_get_thread_area) ( ThreadId
}
-
/*--------------------------------------------------------------------*/
-/*--- end vg_ldt.c ---*/
+/*--- end ---*/
/*--------------------------------------------------------------------*/
--- valgrind/coregrind/x86-linux/syscall.S #1.1:1.2
@@ -122,4 +122,4 @@
##--------------------------------------------------------------------##
-##--- end vg_syscall.S ---##
+##--- end ---##
##--------------------------------------------------------------------##
|
|
From: Nicholas N. <nj...@ca...> - 2004-10-25 20:21:51
|
CVS commit by nethercote: comment wibbles M +1 -1 signal.c 1.4 M +1 -1 state.c 1.10 M +1 -1 x86_private.h 1.2 --- valgrind/coregrind/x86/signal.c #1.3:1.4 @@ -1,5 +1,5 @@ /*--------------------------------------------------------------------*/ -/*--- x86 signals, etc. signal.c ---*/ +/*--- x86 signals, etc. x86/signal.c ---*/ /*--------------------------------------------------------------------*/ --- valgrind/coregrind/x86/state.c #1.9:1.10 @@ -1,5 +1,5 @@ /*--------------------------------------------------------------------*/ -/*--- x86 registers, etc. state.c ---*/ +/*--- x86 registers, etc. x86/state.c ---*/ /*--------------------------------------------------------------------*/ --- valgrind/coregrind/x86/x86_private.h #1.1:1.2 @@ -1,5 +1,5 @@ /*--------------------------------------------------------------------*/ -/*--- Private x86 specific header. x86/private.h ---*/ +/*--- Private x86 specific header. x86/x86_private.h ---*/ /*--------------------------------------------------------------------*/ |
|
From: Nicholas N. <nj...@ca...> - 2004-10-25 19:46:11
|
CVS commit by nethercote:
Avoid strange warnings about dereferencing type-punned pointers that occurs
with GCC 3.3+.
M +6 -6 mac_malloc_wrappers.c 1.14
M +1 -1 mc_clientreqs.c 1.22
--- valgrind/memcheck/mac_malloc_wrappers.c #1.13:1.14
@@ -291,5 +291,5 @@ void MAC_(handle_free) ( Addr p, UInt rz
mc = (MAC_Chunk*)VG_(HT_get_node) ( MAC_(malloc_list), (UInt)p,
- (VgHashNode***)&prev_chunks_next_ptr );
+ (void*)&prev_chunks_next_ptr );
if (mc == NULL) {
MAC_(record_free_error) ( tid, p );
@@ -343,5 +343,5 @@ void* SK_(realloc) ( void* p, Int new_si
/* First try and find the block. */
mc = (MAC_Chunk*)VG_(HT_get_node) ( MAC_(malloc_list), (UInt)p,
- (VgHashNode***)&prev_chunks_next_ptr );
+ (void*)&prev_chunks_next_ptr );
if (mc == NULL) {
@@ -450,5 +450,5 @@ void MAC_(destroy_mempool)(Addr pool)
mp = (MAC_Mempool*)VG_(HT_get_node) ( MAC_(mempool_list),
(UInt)pool,
- (VgHashNode***)&prev_next );
+ (void*)&prev_next );
if (mp == NULL) {
@@ -472,5 +472,5 @@ void MAC_(mempool_alloc)(Addr pool, Addr
mp = (MAC_Mempool*)VG_(HT_get_node) ( MAC_(mempool_list), (UInt)pool,
- (VgHashNode***)&prev_next );
+ (void*)&prev_next );
if (mp == NULL) {
@@ -495,5 +495,5 @@ void MAC_(mempool_free)(Addr pool, Addr
mp = (MAC_Mempool*)VG_(HT_get_node)(MAC_(mempool_list), (UInt)pool,
- (VgHashNode***)&prev_pool);
+ (void*)&prev_pool);
if (mp == NULL) {
@@ -503,5 +503,5 @@ void MAC_(mempool_free)(Addr pool, Addr
mc = (MAC_Chunk*)VG_(HT_get_node)(mp->chunks, (UInt)addr,
- (VgHashNode***)&prev_chunk);
+ (void*)&prev_chunk);
if (mc == NULL) {
--- valgrind/memcheck/mc_clientreqs.c #1.21:1.22
@@ -148,5 +148,5 @@ Bool MC_(client_perm_maybe_describe)( Ad
mp = (MAC_Mempool*)VG_(HT_get_node)(MAC_(mempool_list),
(UInt)vg_cgbs[i].start,
- (VgHashNode***)&d);
+ (void*)&d);
if(mp != NULL) {
if(mp->chunks != NULL) {
|
|
From: Nicholas N. <nj...@ca...> - 2004-10-25 19:33:30
|
CVS commit by nethercote: tweak M +2 -1 valgrind.h.in 1.2 --- valgrind/include/valgrind.h.in #1.1:1.2 @@ -62,5 +62,6 @@ #include <stdarg.h> -#define __@VG_ARCH@__ // Architecture we're installed on +#undef __@VG_ARCH@__ +#define __@VG_ARCH@__ 1 // Architecture we're installed on /* This file is for inclusion into client (your!) code. |
|
From: Nicholas N. <nj...@ca...> - 2004-10-25 19:20:17
|
CVS commit by nethercote:
Arch-abstraction:
- factor out varying ASM flags
M +1 -1 Makefile.core-AM_CPPFLAGS.am 1.5
M +3 -0 configure.in 1.136
--- valgrind/Makefile.core-AM_CPPFLAGS.am #1.4:1.5
@@ -6,4 +6,4 @@
AM_CPPFLAGS = $(add_includes)
-AM_CCASFLAGS = $(add_includes)
+AM_CCASFLAGS = $(add_includes) @ARCH_CORE_AM_CCASFLAGS@
--- valgrind/configure.in #1.135:1.136
@@ -71,4 +71,5 @@
AC_SUBST(ARCH_CORE_AM_CFLAGS)
AC_SUBST(ARCH_TOOL_AM_CFLAGS)
+AC_SUBST(ARCH_CORE_AM_CCASFLAGS)
case "${host_cpu}" in
@@ -79,4 +80,5 @@
ARCH_CORE_AM_CFLAGS="-fomit-frame-pointer @PREFERRED_STACK_BOUNDARY@ -DELFSZ=32"
ARCH_TOOL_AM_CFLAGS="-fomit-frame-pointer @PREFERRED_STACK_BOUNDARY@"
+ ARCH_CORE_AM_CCASFLAGS=""
;;
@@ -87,4 +89,5 @@
ARCH_CORE_AM_CFLAGS="-DELFSZ=32"
ARCH_TOOL_AM_CFLAGS="-fpic"
+ ARCH_CORE_AM_CCASFLAGS="-Wa,-maltivec"
AC_MSG_ERROR([PowerPC not supported. Sorry])
;;
|
|
From: Nicholas N. <nj...@ca...> - 2004-10-25 19:13:47
|
CVS commit by nethercote:
Revert last commit because stupid older versions (eg. 1.6.3) of automake can't
handle it. Pah.
M +15 -18 Makefile.am 1.99
--- valgrind/coregrind/Makefile.am #1.98:1.99
@@ -78,28 +78,25 @@
vg_translate.c \
vg_transtab.c
-## Use st2* variables because earlier versions of automake don't seem to like
-## having += within an if-then-else.
-st2_deps = \
- $(srcdir)/valgrind.vs \
- demangle/libdemangle.a \
- ${VG_ARCH}/libarch.a \
- ${VG_PLATFORM}/libplatform.a
-st2_ldflags = \
- -Wl,--export-dynamic -g \
- -Wl,-version-script $(srcdir)/valgrind.vs \
- -pie
+## Test repeated in both arms of the if-then-else because older versions of
+## automake don't seem to like having += within an if-then-else.
if USE_PIE
stage2_CFLAGS = $(AM_CFLAGS) -fpie
-stage2_DEPENDENCIES = $(st2_deps)
-stage2_LDFLAGS = $(st2_ldflags) -pie
+stage2_DEPENDENCIES = $(srcdir)/valgrind.vs
+stage2_LDFLAGS = -Wl,--export-dynamic -g \
+ -Wl,-version-script $(srcdir)/valgrind.vs \
+ -pie
else
stage2_CFLAGS = $(AM_CFLAGS)
-stage2_DEPENDENCIES = $(st2_deps) ${VG_ARCH}/stage2.lds
-stage2_LDFLAGS = $(st2_ldflags) \
- -Wl,-defsym,kickstart_base=@KICKSTART_BASE@ \
- -Wl,-T,${VG_ARCH}/stage2.lds
+stage2_DEPENDENCIES = $(srcdir)/valgrind.vs ${VG_ARCH}/stage2.lds
+stage2_LDFLAGS = -Wl,--export-dynamic -g \
+ -Wl,-version-script $(srcdir)/valgrind.vs \
+ -Wl,-defsym,kickstart_base=@KICKSTART_BASE@ -Wl,-T,${VG_ARCH}/stage2.lds
endif
+
stage2_LDADD= \
- demangle/libdemangle.a \
+ demangle/cp-demangle.o \
+ demangle/cplus-dem.o \
+ demangle/dyn-string.o \
+ demangle/safe-ctype.o \
${VG_ARCH}/libarch.a \
${VG_PLATFORM}/libplatform.a \
|
|
From: Nicholas N. <nj...@ca...> - 2004-10-25 17:59:45
|
CVS commit by nethercote:
Fix up stage2's dependencies.
M +18 -15 Makefile.am 1.98
--- valgrind/coregrind/Makefile.am #1.97:1.98
@@ -78,25 +78,28 @@
vg_translate.c \
vg_transtab.c
-## Test repeated in both arms of the if-then-else because older versions of
-## automake don't seem to like having += within an if-then-else.
-if USE_PIE
-stage2_CFLAGS = $(AM_CFLAGS) -fpie
-stage2_DEPENDENCIES = $(srcdir)/valgrind.vs
-stage2_LDFLAGS = -Wl,--export-dynamic -g \
+## Use st2* variables because earlier versions of automake don't seem to like
+## having += within an if-then-else.
+st2_deps = \
+ $(srcdir)/valgrind.vs \
+ demangle/libdemangle.a \
+ ${VG_ARCH}/libarch.a \
+ ${VG_PLATFORM}/libplatform.a
+st2_ldflags = \
+ -Wl,--export-dynamic -g \
-Wl,-version-script $(srcdir)/valgrind.vs \
-pie
+if USE_PIE
+stage2_CFLAGS = $(AM_CFLAGS) -fpie
+stage2_DEPENDENCIES = $(st2_deps)
+stage2_LDFLAGS = $(st2_ldflags) -pie
else
stage2_CFLAGS = $(AM_CFLAGS)
-stage2_DEPENDENCIES = $(srcdir)/valgrind.vs ${VG_ARCH}/stage2.lds
-stage2_LDFLAGS = -Wl,--export-dynamic -g \
- -Wl,-version-script $(srcdir)/valgrind.vs \
- -Wl,-defsym,kickstart_base=@KICKSTART_BASE@ -Wl,-T,${VG_ARCH}/stage2.lds
+stage2_DEPENDENCIES = $(st2_deps) ${VG_ARCH}/stage2.lds
+stage2_LDFLAGS = $(st2_ldflags) \
+ -Wl,-defsym,kickstart_base=@KICKSTART_BASE@ \
+ -Wl,-T,${VG_ARCH}/stage2.lds
endif
-
stage2_LDADD= \
- demangle/cp-demangle.o \
- demangle/cplus-dem.o \
- demangle/dyn-string.o \
- demangle/safe-ctype.o \
+ demangle/libdemangle.a \
${VG_ARCH}/libarch.a \
${VG_PLATFORM}/libplatform.a \
|
|
From: Nicholas N. <nj...@ca...> - 2004-10-25 17:28:28
|
CVS commit by nethercote:
whoops
M +0 -1 vg_main.c 1.220
--- valgrind/coregrind/vg_main.c #1.219:1.220
@@ -407,5 +407,4 @@ static void layout_remaining_space(Addr
// this is a workable approximation
if (VG_(valgrind_base) == 0) {
- OINK(1);
VG_(valgrind_base) = PGROUNDDN(&_start);
}
|
|
From: Nicholas N. <nj...@ca...> - 2004-10-25 17:18:27
|
CVS commit by nethercote:
If PIE (position-independent executables) are supported, build valgrind's
stage2 as one. This means that we're not hard-wiring stage2 in at 0xb0000000,
which means our memory layout is a bit more flexible, yay.
M +17 -0 configure.in 1.135
M +15 -4 coregrind/Makefile.am 1.97
M +10 -7 coregrind/stage1.c 1.26
M +19 -23 coregrind/ume.c 1.32
M +13 -3 coregrind/vg_main.c 1.219
M +6 -0 coregrind/demangle/Makefile.am 1.15
--- valgrind/configure.in #1.134:1.135
@@ -371,4 +371,21 @@
+# Check for PIE support in the compiler and linker
+AC_CACHE_CHECK([for PIE support], vg_cv_pie,
+ [safe_CFLAGS=$CFLAGS
+ CFLAGS="$CFLAGS -fpie"
+ safe_LDFLAGS=$LDFLAGS
+ LDFLAGS="$LDFLAGS -pie"
+ AC_TRY_LINK([int foo;],
+ [],
+ [vg_cv_pie=yes],
+ [vg_cv_pie=no])
+ CFLAGS=$safe_CFLAGS
+ LDFLAGS=$safe_LDFLAGS])
+if test "$vg_cv_pie" = yes; then
+AC_DEFINE([HAVE_PIE], 1, [can create position-independent executables])
+fi
+AM_CONDITIONAL(USE_PIE, test "$vg_cv_pie" = "yes")
+
# Checks for header files.
--- valgrind/coregrind/Makefile.am #1.96:1.97
@@ -78,9 +78,20 @@
vg_translate.c \
vg_transtab.c
+## Test repeated in both arms of the if-then-else because older versions of
+## automake don't seem to like having += within an if-then-else.
+if USE_PIE
+stage2_CFLAGS = $(AM_CFLAGS) -fpie
+stage2_DEPENDENCIES = $(srcdir)/valgrind.vs
+stage2_LDFLAGS = -Wl,--export-dynamic -g \
+ -Wl,-version-script $(srcdir)/valgrind.vs \
+ -pie
+else
+stage2_CFLAGS = $(AM_CFLAGS)
stage2_DEPENDENCIES = $(srcdir)/valgrind.vs ${VG_ARCH}/stage2.lds
-stage2_LDFLAGS=-Wl,--export-dynamic -g \
- -Wl,-defsym,kickstart_base=@KICKSTART_BASE@ \
- -Wl,-T,${VG_ARCH}/stage2.lds \
- -Wl,-version-script $(srcdir)/valgrind.vs
+stage2_LDFLAGS = -Wl,--export-dynamic -g \
+ -Wl,-version-script $(srcdir)/valgrind.vs \
+ -Wl,-defsym,kickstart_base=@KICKSTART_BASE@ -Wl,-T,${VG_ARCH}/stage2.lds
+endif
+
stage2_LDADD= \
demangle/cp-demangle.o \
--- valgrind/coregrind/stage1.c #1.25:1.26
@@ -260,14 +260,17 @@ static void main2(void)
char buf[strlen(valgrind_lib) + sizeof(stage2) + 16];
+#ifdef HAVE_PIE
+ info.exe_base = ROUNDDN(info.exe_end - 0x02000000, 0x10000000);
+ assert(info.exe_base >= PGROUNDUP(&_end));
+ info.map_base = info.exe_base + 0x01000000;
+#else
+
+ // If this system doesn't have PIE (position-independent executables),
+ // we have to choose a hardwired location for stage2.
info.exe_base = PGROUNDUP(&_end);
+ info.map_base = KICKSTART_BASE + 0x01000000;
+#endif
info.exe_end = PGROUNDDN(init_sp);
- /* XXX FIXME: how can stage1 know where stage2 wants things placed?
- Options:
- - we could look for a symbol
- - it could have a special PHDR (v. ELF specific)
- - something else?
- */
- info.map_base = KICKSTART_BASE + 0x01000000;
info.argv = NULL;
--- valgrind/coregrind/ume.c #1.31:1.32
@@ -282,11 +282,16 @@ static int load_ELF(char *hdr, int len,
struct elfinfo *e;
struct elfinfo *interp = NULL;
- ESZ(Addr) exeoff = 0; /* offset between link address and load address */
ESZ(Addr) minaddr = ~0; /* lowest mapped address */
ESZ(Addr) maxaddr = 0; /* highest mapped address */
ESZ(Addr) interp_addr = 0; /* interpreter (ld.so) address */
ESZ(Word) interp_size = 0; /* interpreter size */
+ ESZ(Word) interp_align = VKI_BYTES_PER_PAGE;
int i;
void *entry;
+ ESZ(Addr) ebase = 0;
+
+#ifdef HAVE_PIE
+ ebase = info->exe_base;
+#endif
e = readelf(fd, name);
@@ -296,5 +301,5 @@ static int load_ELF(char *hdr, int len,
info->phnum = e->e.e_phnum;
- info->entry = e->e.e_entry;
+ info->entry = e->e.e_entry + ebase;
for(i = 0; i < e->e.e_phnum; i++) {
@@ -303,5 +308,5 @@ static int load_ELF(char *hdr, int len,
switch(ph->p_type) {
case PT_PHDR:
- info->phdr = ph->p_vaddr;
+ info->phdr = ph->p_vaddr + ebase;
break;
@@ -346,4 +351,5 @@ static int load_ELF(char *hdr, int len,
if (!baseaddr_set) {
interp_addr = iph->p_vaddr;
+ interp_align = iph->p_align;
baseaddr_set = 1;
}
@@ -364,21 +370,11 @@ static int load_ELF(char *hdr, int len,
}
- if (e->e.e_type == ET_DYN) {
- /* PIE executable */
- exeoff = info->exe_base - minaddr;
- }
-
- minaddr += exeoff;
- maxaddr += exeoff;
- info->phdr += exeoff;
- info->entry += exeoff;
-
if (info->exe_base != info->exe_end) {
if (minaddr >= maxaddr ||
- (minaddr < info->exe_base ||
- maxaddr > info->exe_end)) {
+ (minaddr + ebase < info->exe_base ||
+ maxaddr + ebase > info->exe_end)) {
fprintf(stderr, "Executable range %p-%p is outside the\n"
"acceptable range %p-%p\n",
- (void *)minaddr, (void *)maxaddr,
+ (void *)minaddr + ebase, (void *)maxaddr + ebase,
(void *)info->exe_base, (void *)info->exe_end);
return ENOMEM;
@@ -386,5 +382,5 @@ static int load_ELF(char *hdr, int len,
}
- info->brkbase = mapelf(e, exeoff); /* map the executable */
+ info->brkbase = mapelf(e, ebase); /* map the executable */
if (info->brkbase == 0)
@@ -399,5 +395,5 @@ static int load_ELF(char *hdr, int len,
if (info->map_base != 0) {
- base = (char *)info->map_base;
+ base = (char *)ROUNDUP(info->map_base, interp_align);
flags |= MAP_FIXED;
}
@@ -418,8 +414,8 @@ static int load_ELF(char *hdr, int len,
free(interp);
} else
- entry = (void *)e->e.e_entry + exeoff;
+ entry = (void *)e->e.e_entry;
- info->exe_base = minaddr;
- info->exe_end = maxaddr;
+ info->exe_base = minaddr + ebase;
+ info->exe_end = maxaddr + ebase;
info->init_eip = (addr_t)entry;
--- valgrind/coregrind/vg_main.c #1.218:1.219
@@ -86,6 +86,4 @@
Startup stuff
------------------------------------------------------------------ */
-/* linker-defined base address */
-extern char kickstart_base;
/* Client address space, lowest to highest (see top of ume.c) */
@@ -379,4 +377,8 @@ int scan_auxv(void* init_sp)
found |= 2;
break;
+
+ case AT_PHDR:
+ VG_(valgrind_base) = PGROUNDDN(auxv->u.a_val);
+ break;
}
@@ -394,4 +396,6 @@ int scan_auxv(void* init_sp)
/*====================================================================*/
+extern char _start[];
+
static void layout_remaining_space(Addr argc_addr, float ratio)
{
@@ -400,5 +404,11 @@ static void layout_remaining_space(Addr
addr_t client_size, shadow_size;
- VG_(valgrind_base) = (addr_t)&kickstart_base;
+ // VG_(valgrind_base) should have been set by scan_auxv, but if not,
+ // this is a workable approximation
+ if (VG_(valgrind_base) == 0) {
+ OINK(1);
+ VG_(valgrind_base) = PGROUNDDN(&_start);
+ }
+
VG_(valgrind_last) = ROUNDUP(argc_addr, 0x10000) - 1; // stack
--- valgrind/coregrind/demangle/Makefile.am #1.14:1.15
@@ -2,5 +2,11 @@
include $(top_srcdir)/Makefile.core-AM_CPPFLAGS.am
+## Test repeated in both arms of the if-then-else because older versions of
+## automake don't seem to like having += within an if-then-else.
+if USE_PIE
+AM_CFLAGS = $(WERROR) -Winline -Wall -Wshadow -O -g -fpie
+else
AM_CFLAGS = $(WERROR) -Winline -Wall -Wshadow -O -g
+endif
noinst_HEADERS = \
|
|
From: Tom H. <th...@cy...> - 2004-10-25 16:59:49
|
CVS commit by thughes:
Actually call VGA_(has_tls) rather than just testing the function
address - this replaces Nick's replacing of the has_tls call with
an inline version.
BUG: 91844
M +2 -13 libpthread.c 1.4
--- valgrind/coregrind/x86/libpthread.c #1.3:1.4
@@ -97,16 +97,5 @@ Bool VGA_(has_tls)(void)
void VGA_(thread_create)(arch_thread_aux_t *aux)
{
- // Weirdness alert: I tried removing this call to get_gs() by using a
- // call to VGA_(has_tls)() in the condition, and Jeroen Witmond
- // experienced mysterious regtest failures (some of the pth_* ones) on
- // on of his machines:
- //
- // 'Linux DoornRoosje 2.4.26-1-386 #1 Tue Aug // 24
- // 13:31:19 JST 2004 i686 GNU/Linux' (Debian sarge)
- //
- // I don't understand what the difference is either. Compiler bug? --njn
- int gs = get_gs();
-
- if ((gs & 7) == 3) {
+ if (VGA_(has_tls)()) {
tcbhead_t *tcb = get_tcb();
@@ -119,5 +108,5 @@ void VGA_(thread_create)(arch_thread_aux
aux->tls_data = allocate_tls(NULL);
- aux->tls_segment = gs >> 3;
+ aux->tls_segment = get_gs() >> 3;
aux->sysinfo = tcb->sysinfo;
|
|
From: Nicholas N. <nj...@ca...> - 2004-10-25 15:43:24
|
CVS commit by nethercote:
Rename two params named 'syscall' as 'syscallname' to avoid clashes with a new
name in recent headers.
M +6 -6 vg_syscalls.c 1.148
--- valgrind/coregrind/vg_syscalls.c #1.147:1.148
@@ -120,5 +120,5 @@ static void do_atfork_child(ThreadId tid
/* return true if address range entirely contained within client
address space */
-static Bool valid_client_addr(Addr start, UInt size, ThreadId tid, const Char *syscall)
+static Bool valid_client_addr(Addr start, UInt size, ThreadId tid, const Char *syscallname)
{
Addr end = start+size;
@@ -139,9 +139,9 @@ static Bool valid_client_addr(Addr start
if (0)
VG_(printf)("%s: test=%p-%p client=%p-%p ret=%d\n",
- syscall, start, end, cl_base, VG_(client_end), ret);
+ syscallname, start, end, cl_base, VG_(client_end), ret);
- if (!ret && syscall != NULL) {
+ if (!ret && syscallname != NULL) {
VG_(message)(Vg_UserMsg, "Warning: client syscall %s tried to modify addresses %p-%p",
- syscall, start, end);
+ syscallname, start, end);
if (VG_(clo_verbosity) > 1) {
@@ -972,10 +972,10 @@ static Addr do_brk(Addr newbrk)
/* Return true if we're allowed to use or create this fd */
-static Bool fd_allowed(Int fd, const Char *syscall, ThreadId tid, Bool soft)
+static Bool fd_allowed(Int fd, const Char *syscallname, ThreadId tid, Bool soft)
{
if (fd < 0 || fd >= VG_(fd_hard_limit) || fd == VG_(clo_log_fd)) {
VG_(message)(Vg_UserMsg,
"Warning: invalid file descriptor %d in syscall %s()",
- fd, syscall);
+ fd, syscallname);
if (fd == VG_(clo_log_fd))
VG_(message)(Vg_UserMsg,
|
|
From: Nicholas N. <nj...@ca...> - 2004-10-25 15:32:11
|
CVS commit by nethercote: Don't bother with -fomit-frame-pointer for the demangler. M +1 -1 Makefile.am 1.14 --- valgrind/coregrind/demangle/Makefile.am #1.13:1.14 @@ -2,5 +2,5 @@ include $(top_srcdir)/Makefile.core-AM_CPPFLAGS.am -AM_CFLAGS = $(WERROR) -Winline -Wall -Wshadow -O -fomit-frame-pointer -g +AM_CFLAGS = $(WERROR) -Winline -Wall -Wshadow -O -g noinst_HEADERS = \ |
|
From: Nicholas N. <nj...@ca...> - 2004-10-25 15:21:02
|
CVS commit by nethercote:
Arch-abstraction:
- factor out different CFLAGS in Makefiles
M +1 -2 Makefile.tool-flags.am 1.3
M +6 -0 configure.in 1.134
M +1 -2 coregrind/Makefile.am 1.96
--- valgrind/Makefile.tool-flags.am #1.2:1.3
@@ -5,6 +5,5 @@
AM_CPPFLAGS = $(add_includes)
-AM_CFLAGS = $(WERROR) -Winline -Wall -Wshadow -O -fomit-frame-pointer \
- @PREFERRED_STACK_BOUNDARY@ -g
+AM_CFLAGS = $(WERROR) -Winline -Wall -Wshadow -O -g @ARCH_TOOL_AM_CFLAGS@
AM_CCASFLAGS = $(add_includes)
--- valgrind/configure.in #1.133:1.134
@@ -69,4 +69,6 @@
AC_SUBST(VG_ARCH)
AC_SUBST(KICKSTART_BASE)
+AC_SUBST(ARCH_CORE_AM_CFLAGS)
+AC_SUBST(ARCH_TOOL_AM_CFLAGS)
case "${host_cpu}" in
@@ -75,4 +77,6 @@
VG_ARCH="x86"
KICKSTART_BASE="0xb0000000"
+ ARCH_CORE_AM_CFLAGS="-fomit-frame-pointer @PREFERRED_STACK_BOUNDARY@ -DELFSZ=32"
+ ARCH_TOOL_AM_CFLAGS="-fomit-frame-pointer @PREFERRED_STACK_BOUNDARY@"
;;
@@ -81,4 +85,6 @@
VG_ARCH="ppc"
KICKSTART_BASE="0x70000000"
+ ARCH_CORE_AM_CFLAGS="-DELFSZ=32"
+ ARCH_TOOL_AM_CFLAGS="-fpic"
AC_MSG_ERROR([PowerPC not supported. Sorry])
;;
--- valgrind/coregrind/Makefile.am #1.95:1.96
@@ -7,6 +7,5 @@
-DKICKSTART_BASE=@KICKSTART_BASE@ \
-DVG_PLATFORM="\"$(VG_PLATFORM)"\"
-AM_CFLAGS = $(WERROR) -Winline -Wall -Wshadow -O -fno-omit-frame-pointer \
- @PREFERRED_STACK_BOUNDARY@ -g -DELFSZ=32
+AM_CFLAGS = $(WERROR) -Winline -Wall -Wshadow -O -g @ARCH_CORE_AM_CFLAGS@
default.supp: $(SUPP_FILES)
|
|
From: Nicholas N. <nj...@ca...> - 2004-10-25 14:06:04
|
CVS commit by nethercote:
Arch-abstraction:
- factor out KICKSTART_BASE
M +3 -0 configure.in 1.133
M +2 -8 coregrind/Makefile.am 1.95
--- valgrind/configure.in #1.132:1.133
@@ -68,4 +68,5 @@
AC_MSG_CHECKING([for a supported CPU])
AC_SUBST(VG_ARCH)
+AC_SUBST(KICKSTART_BASE)
case "${host_cpu}" in
@@ -73,4 +74,5 @@
AC_MSG_RESULT([ok (${host_cpu})])
VG_ARCH="x86"
+ KICKSTART_BASE="0xb0000000"
;;
@@ -78,4 +80,5 @@
AC_MSG_RESULT([no (${host_cpu})])
VG_ARCH="ppc"
+ KICKSTART_BASE="0x70000000"
AC_MSG_ERROR([PowerPC not supported. Sorry])
;;
--- valgrind/coregrind/Makefile.am #1.94:1.95
@@ -5,5 +5,5 @@
AM_CPPFLAGS += -DVG_LIBDIR="\"$(valdir)"\" -I$(srcdir)/demangle \
- -DKICKSTART_BASE=$(KICKSTART_BASE) \
+ -DKICKSTART_BASE=@KICKSTART_BASE@ \
-DVG_PLATFORM="\"$(VG_PLATFORM)"\"
AM_CFLAGS = $(WERROR) -Winline -Wall -Wshadow -O -fno-omit-frame-pointer \
@@ -48,10 +48,4 @@
valgrind_LDADD=
-# Where stage2 will be put.
-# Nb: Hard-wiring this sucks. A configure-time test would be better. A
-# load-time test would be even better, but would require building stage2 in
-# a position-independent way...
-KICKSTART_BASE=0xb0000000
-
stage2_SOURCES = \
ume.c \
@@ -87,5 +81,5 @@
stage2_DEPENDENCIES = $(srcdir)/valgrind.vs ${VG_ARCH}/stage2.lds
stage2_LDFLAGS=-Wl,--export-dynamic -g \
- -Wl,-defsym,kickstart_base=$(KICKSTART_BASE) \
+ -Wl,-defsym,kickstart_base=@KICKSTART_BASE@ \
-Wl,-T,${VG_ARCH}/stage2.lds \
-Wl,-version-script $(srcdir)/valgrind.vs
|
|
From: Nicholas N. <nj...@ca...> - 2004-10-25 11:25:35
|
CVS commit by nethercote:
Fix for 91844...
M +13 -2 libpthread.c 1.3
--- valgrind/coregrind/x86/libpthread.c #1.2:1.3
@@ -97,5 +97,16 @@ Bool VGA_(has_tls)(void)
void VGA_(thread_create)(arch_thread_aux_t *aux)
{
- if (VGA_(has_tls)) {
+ // Weirdness alert: I tried removing this call to get_gs() by using a
+ // call to VGA_(has_tls)() in the condition, and Jeroen Witmond
+ // experienced mysterious regtest failures (some of the pth_* ones) on
+ // on of his machines:
+ //
+ // 'Linux DoornRoosje 2.4.26-1-386 #1 Tue Aug // 24
+ // 13:31:19 JST 2004 i686 GNU/Linux' (Debian sarge)
+ //
+ // I don't understand what the difference is either. Compiler bug? --njn
+ int gs = get_gs();
+
+ if ((gs & 7) == 3) {
tcbhead_t *tcb = get_tcb();
@@ -108,5 +119,5 @@ void VGA_(thread_create)(arch_thread_aux
aux->tls_data = allocate_tls(NULL);
- aux->tls_segment = get_gs() >> 3;
+ aux->tls_segment = gs >> 3;
aux->sysinfo = tcb->sysinfo;
|
|
From: Tom H. <th...@cy...> - 2004-10-25 03:04:02
|
Nightly build on standard ( Red Hat 7.2 ) started at 2004-10-25 02:00:02 BST Checking out source tree ... done Configuring ... done Building ... done Running regression tests ... done Last 20 lines of log.verbose follow map_unmap: valgrind ./map_unmap mq: valgrind ./mq mremap: valgrind ./mremap munmap_exe: valgrind ./munmap_exe pth_blockedsig: valgrind ./pth_blockedsig *** pth_blockedsig failed (stdout) *** *** pth_blockedsig failed (stderr) *** rcrl: valgrind ./rcrl readline1: valgrind ./readline1 resolv: valgrind ./resolv rlimit_nofile: valgrind ./rlimit_nofile sem: valgrind ./sem semlimit: valgrind ./semlimit sha1_test: valgrind ./sha1_test shortpush: valgrind ./shortpush shorts: valgrind ./shorts smc1: valgrind ./smc1 susphello: valgrind ./susphello Could not read `susphello.stderr.exp' make: *** [regtest] Error 2 |
|
From: <js...@ac...> - 2004-10-25 02:57:34
|
Nightly build on phoenix ( SuSE 9.1 ) started at 2004-10-25 03:50:00 BST Checking out source tree ... done Configuring ... done Building ... done Running regression tests ... done Last 20 lines of log.verbose follow corecheck/tests/pth_once (stdout) corecheck/tests/pth_once (stderr) corecheck/tests/res_search (stdout) helgrind/tests/allok (stderr) helgrind/tests/deadlock (stderr) helgrind/tests/inherit (stderr) helgrind/tests/race (stderr) helgrind/tests/race2 (stderr) helgrind/tests/readshared (stderr) memcheck/tests/pth_once (stdout) memcheck/tests/threadederrno (stdout) memcheck/tests/writev (stderr) none/tests/pth_blockedsig (stdout) none/tests/pth_blockedsig (stderr) none/tests/susphello (stdout) none/tests/susphello (stderr) none/tests/yield (stdout) none/tests/yield (stderr) make: *** [regtest] Error 1 |
|
From: Tom H. <to...@co...> - 2004-10-25 02:25:58
|
Nightly build on dunsmere ( Fedora Core 2 ) started at 2004-10-25 03:20:03 BST Checking out source tree ... done Configuring ... done Building ... done Running regression tests ... done Last 20 lines of log.verbose follow int: valgrind ./int pushpopseg: valgrind ./pushpopseg rcl_assert: valgrind ./rcl_assert seg_override: valgrind ./seg_override -- Finished tests in none/tests/x86 ------------------------------------ yield: valgrind ./yield -- Finished tests in none/tests ---------------------------------------- == 182 tests, 8 stderr failures, 1 stdout failure ================= corecheck/tests/fdleak_cmsg (stderr) corecheck/tests/fdleak_fcntl (stderr) corecheck/tests/fdleak_ipv4 (stderr) corecheck/tests/fdleak_socketpair (stderr) memcheck/tests/buflen_check (stderr) memcheck/tests/execve (stderr) memcheck/tests/execve2 (stderr) memcheck/tests/writev (stderr) none/tests/exec-sigmask (stdout) make: *** [regtest] Error 1 |
|
From: Tom H. <th...@cy...> - 2004-10-25 02:20:24
|
Nightly build on audi ( Red Hat 9 ) started at 2004-10-25 03:15:03 BST Checking out source tree ... done Configuring ... done Building ... done Running regression tests ... done Last 20 lines of log.verbose follow int: valgrind ./int pushpopseg: valgrind ./pushpopseg rcl_assert: valgrind ./rcl_assert seg_override: valgrind ./seg_override -- Finished tests in none/tests/x86 ------------------------------------ yield: valgrind ./yield -- Finished tests in none/tests ---------------------------------------- == 182 tests, 9 stderr failures, 0 stdout failures ================= corecheck/tests/fdleak_cmsg (stderr) corecheck/tests/fdleak_fcntl (stderr) corecheck/tests/fdleak_ipv4 (stderr) corecheck/tests/fdleak_socketpair (stderr) corecheck/tests/pth_cancel2 (stderr) memcheck/tests/buflen_check (stderr) memcheck/tests/execve (stderr) memcheck/tests/execve2 (stderr) memcheck/tests/writev (stderr) make: *** [regtest] Error 1 |
|
From: Tom H. <th...@cy...> - 2004-10-25 02:13:12
|
Nightly build on ginetta ( Red Hat 8.0 ) started at 2004-10-25 03:10:02 BST Checking out source tree ... done Configuring ... done Building ... done Running regression tests ... done Last 20 lines of log.verbose follow corecheck/tests/pth_exit (stderr) corecheck/tests/pth_once (stdout) corecheck/tests/pth_once (stderr) corecheck/tests/res_search (stdout) helgrind/tests/allok (stderr) helgrind/tests/deadlock (stderr) helgrind/tests/inherit (stderr) helgrind/tests/race (stderr) helgrind/tests/race2 (stderr) helgrind/tests/readshared (stderr) memcheck/tests/pth_once (stdout) memcheck/tests/threadederrno (stdout) none/tests/pth_blockedsig (stdout) none/tests/pth_blockedsig (stderr) none/tests/susphello (stdout) none/tests/susphello (stderr) none/tests/yield (stdout) none/tests/yield (stderr) make: *** [regtest] Error 1 |
|
From: Tom H. <th...@cy...> - 2004-10-25 02:08:09
|
Nightly build on alvis ( Red Hat 7.3 ) started at 2004-10-25 03:05:02 BST Checking out source tree ... done Configuring ... done Building ... done Running regression tests ... done Last 20 lines of log.verbose follow helgrind/tests/race (stderr) helgrind/tests/race2 (stderr) helgrind/tests/readshared (stderr) memcheck/tests/badjump (stderr) memcheck/tests/brk (stderr) memcheck/tests/brk2 (stderr) memcheck/tests/error_counts (stdout) memcheck/tests/pth_once (stdout) memcheck/tests/threadederrno (stdout) memcheck/tests/toobig-allocs (stderr) memcheck/tests/vgtest_ume (stderr) memcheck/tests/writev (stderr) none/tests/pth_blockedsig (stdout) none/tests/pth_blockedsig (stderr) none/tests/susphello (stdout) none/tests/susphello (stderr) none/tests/yield (stdout) none/tests/yield (stderr) make: *** [regtest] Error 1 |