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
(8) |
2
(8) |
3
(15) |
4
(14) |
5
(12) |
6
(40) |
7
(9) |
|
8
(5) |
9
(12) |
10
(9) |
11
(13) |
12
(7) |
13
(7) |
14
(19) |
|
15
(18) |
16
(13) |
17
(16) |
18
(8) |
19
(16) |
20
(16) |
21
(12) |
|
22
(21) |
23
(39) |
24
(27) |
25
(33) |
26
(41) |
27
(17) |
28
(15) |
|
From: <sv...@va...> - 2009-02-06 23:27:20
|
Author: njn
Date: 2009-02-06 23:27:16 +0000 (Fri, 06 Feb 2009)
New Revision: 9121
Log:
Merged r9120 (Merge Makefile.{inplace,install}.am, and simplify installation
of libmpiwrap.so) from trunk.
Removed:
trunk/Makefile.inplace.am
Modified:
trunk/Makefile.install.am
trunk/Makefile.tool.am
trunk/auxprogs/Makefile.am
trunk/coregrind/Makefile.am
Deleted: trunk/Makefile.inplace.am
===================================================================
--- trunk/Makefile.inplace.am 2009-02-06 23:24:10 UTC (rev 9120)
+++ trunk/Makefile.inplace.am 2009-02-06 23:27:16 UTC (rev 9121)
@@ -1,16 +0,0 @@
-# This is used by coregrind/Makefile.am and Makefile.tool.am for doing
-# "in-place" installs. It copies $(noinst_PROGRAMS) into $inplacedir, doing
-# some magic renaming as it does.
-# There is similar code in Makefile.install.am (which describes how the
-# magic sed commands work).
-
-all-local:
- if [ -n "$(noinst_PROGRAMS)" ] ; then \
- for f in $(noinst_PROGRAMS); do \
- name=`echo $$f | sed -e 's/-\([^-]*-[^-.]*\)\(\..*\)\?$$/\2/'`; \
- plat=`echo $$f | sed -e 's/^.*-\([^-]*-[^-.]*\)\(\..*\)\?$$/\1/'`; \
- mkdir -p $(inplacedir)/$$plat; \
- rm -f $(inplacedir)/$$plat/$$name; \
- ln -f -s ../../$(subdir)/$$f $(inplacedir)/$$plat/$$name; \
- done ; \
- fi
Modified: trunk/Makefile.install.am
===================================================================
--- trunk/Makefile.install.am 2009-02-06 23:24:10 UTC (rev 9120)
+++ trunk/Makefile.install.am 2009-02-06 23:27:16 UTC (rev 9121)
@@ -1,3 +1,18 @@
+# This is used by coregrind/Makefile.am and Makefile.tool.am for doing
+# "in-place" installs. It copies $(noinst_PROGRAMS) into $inplacedir, doing
+# some magic renaming as it does.
+# The similar code below explains how the magic sed commands work.
+all-local:
+ if [ -n "$(noinst_PROGRAMS)" ] ; then \
+ for f in $(noinst_PROGRAMS); do \
+ name=`echo $$f | sed -e 's/-\([^-]*-[^-.]*\)\(\..*\)\{0,1\}$$/\2/'`; \
+ plat=`echo $$f | sed -e 's/^.*-\([^-]*-[^-.]*\)\(\..*\)\{0,1\}$$/\1/'`; \
+ mkdir -p $(inplacedir)/$$plat; \
+ rm -f $(inplacedir)/$$plat/$$name; \
+ ln -f -s ../../$(subdir)/$$f $(inplacedir)/$$plat/$$name; \
+ done ; \
+ fi
+
# This is used by coregrind/Makefile.am and by <tool>/Makefile.am for doing
# "make install". It copies $(noinst_PROGRAMS) into $prefix/lib/valgrind/,
# doing some magic renaming as it does.
@@ -2,3 +17,2 @@
# It needs to be depended on by an 'install-exec-local' rule.
-# There is similar code in Makefile.inplace.am.
#
@@ -14,7 +28,6 @@
# and not in
# $prefix/lib/valgrind/omega-x86-linux/exp
# or similarly mutant place.
-
install-exec-local-programs:
if [ -n "$(noinst_PROGRAMS)" ] ; then \
for f in $(noinst_PROGRAMS); do \
Modified: trunk/Makefile.tool.am
===================================================================
--- trunk/Makefile.tool.am 2009-02-06 23:24:10 UTC (rev 9120)
+++ trunk/Makefile.tool.am 2009-02-06 23:27:16 UTC (rev 9121)
@@ -3,7 +3,6 @@
include $(top_srcdir)/Makefile.all.am
include $(top_srcdir)/Makefile.flags.am
-include $(top_srcdir)/Makefile.inplace.am
include $(top_srcdir)/Makefile.install.am
Modified: trunk/auxprogs/Makefile.am
===================================================================
--- trunk/auxprogs/Makefile.am 2009-02-06 23:24:10 UTC (rev 9120)
+++ trunk/auxprogs/Makefile.am 2009-02-06 23:27:16 UTC (rev 9121)
@@ -62,18 +62,18 @@
##
noinst_PROGRAMS =
if BUILD_MPIWRAP_PRI
-noinst_PROGRAMS += libmpiwrap-@VGCONF_PLATFORM_PRI_CAPS@.so
-libmpiwrap-@VGCONF_PLATFORM_PRI_CAPS@.so: libmpiwrap.c
+noinst_PROGRAMS += libmpiwrap-@VGCONF_ARCH_PRI@-@VGCONF_OS@.so
+libmpiwrap-@VGCONF_ARCH_PRI@-@VGCONF_OS@.so: libmpiwrap.c
$(MPI_CC) $(HACKY_FLAGS_PRI) \
-I../include \
- -o libmpiwrap-@VGCONF_PLATFORM_PRI_CAPS@.so libmpiwrap.c
+ -o libmpiwrap-@VGCONF_ARCH_PRI@-@VGCONF_OS@.so libmpiwrap.c
endif
if BUILD_MPIWRAP_SEC
-noinst_PROGRAMS += libmpiwrap-@VGCONF_PLATFORM_SEC_CAPS@.so
-libmpiwrap-@VGCONF_PLATFORM_SEC_CAPS@.so: libmpiwrap.c
+noinst_PROGRAMS += libmpiwrap-@VGCONF_ARCH_SEC@-@VGCONF_OS@.so
+libmpiwrap-@VGCONF_ARCH_SEC@-@VGCONF_OS@.so: libmpiwrap.c
$(MPI_CC) $(HACKY_FLAGS_SEC) \
-I../include \
- -o libmpiwrap-@VGCONF_PLATFORM_SEC_CAPS@.so libmpiwrap.c
+ -o libmpiwrap-@VGCONF_ARCH_SEC@-@VGCONF_OS@.so libmpiwrap.c
endif
@@ -85,24 +85,12 @@
install-exec-local:
if BUILD_MPIWRAP_PRI
-# convert (eg) X86_LINUX to x86-linux
-# really should use sed here, rather than assume tr is available
- pD=`echo @VGCONF_PLATFORM_PRI_CAPS@ | tr A-Z_ a-z-` ; \
- $(mkinstalldirs) $(DESTDIR)$(valdir)/$$pD; \
- rm -f ./libmpiwrap.so; \
- cp ./libmpiwrap-@VGCONF_PLATFORM_PRI_CAPS@.so ./libmpiwrap.so; \
- $(INSTALL_PROGRAM) ./libmpiwrap.so \
- $(DESTDIR)$(valdir)/$$pD; \
- rm -f ./libmpiwrap.so
+ $(mkinstalldirs) $(DESTDIR)$(valdir)/@VGCONF_ARCH_PRI@-@VGCONF_OS@; \
+ $(INSTALL_PROGRAM) ./libmpiwrap-@VGCONF_ARCH_PRI@-@VGCONF_OS@.so $(DESTDIR)$(valdir)/@VGCONF_ARCH_PRI@-@VGCONF_OS@/libmpiwrap.so;
endif
if BUILD_MPIWRAP_SEC
- pD=`echo @VGCONF_PLATFORM_SEC_CAPS@ | tr A-Z_ a-z-` ; \
- $(mkinstalldirs) $(DESTDIR)$(valdir)/$$pD; \
- rm -f ./libmpiwrap.so; \
- cp ./libmpiwrap-@VGCONF_PLATFORM_SEC_CAPS@.so ./libmpiwrap.so; \
- $(INSTALL_PROGRAM) ./libmpiwrap.so \
- $(DESTDIR)$(valdir)/$$pD; \
- rm -f ./libmpiwrap.so
+ $(mkinstalldirs) $(DESTDIR)$(valdir)/@VGCONF_ARCH_PRI@-@VGCONF_OS@; \
+ $(INSTALL_PROGRAM) ./libmpiwrap-@VGCONF_ARCH_SEC@-@VGCONF_OS@.so $(DESTDIR)$(valdir)/@VGCONF_ARCH_SEC@-@VGCONF_OS@/libmpiwrap.so;
endif
@@ -110,28 +98,28 @@
## It would seem that using nodist_SOURCES is the right fix, but
## I can't figure out how to do it.
##
-#nodist_SOURCES = libmpiwrap-@VGCONF_PLATFORM_PRI_CAPS@.c
-#nodist_SOURCES = libmpiwrap-@VGCONF_PLATFORM_SEC_CAPS@.c
+#nodist_SOURCES = libmpiwrap-@VGCONF_ARCH_PRI@-@VGCONF_OS@.c
+#nodist_SOURCES = libmpiwrap-@VGCONF_ARCH_SEC@-@VGCONF_OS@.c
libmpiwrap-.c:
rm -f libmpiwrap-.c
touch libmpiwrap-.c
-libmpiwrap-@VGCONF_PLATFORM_PRI_CAPS@.c:
- rm -f libmpiwrap-@VGCONF_PLATFORM_PRI_CAPS@.c
- touch libmpiwrap-@VGCONF_PLATFORM_PRI_CAPS@.c
+libmpiwrap-@VGCONF_ARCH_PRI@-@VGCONF_OS@.c:
+ rm -f libmpiwrap-@VGCONF_ARCH_PRI@-@VGCONF_OS@.c
+ touch libmpiwrap-@VGCONF_ARCH_PRI@-@VGCONF_OS@.c
if VGCONF_HAVE_PLATFORM_SEC_CAPS
-libmpiwrap-@VGCONF_PLATFORM_SEC_CAPS@.c:
- rm -f libmpiwrap-@VGCONF_PLATFORM_SEC_CAPS@.c
- touch libmpiwrap-@VGCONF_PLATFORM_SEC_CAPS@.c
+libmpiwrap-@VGCONF_ARCH_SEC@-@VGCONF_OS@.c:
+ rm -f libmpiwrap-@VGCONF_ARCH_SEC@-@VGCONF_OS@.c
+ touch libmpiwrap-@VGCONF_ARCH_SEC@-@VGCONF_OS@.c
endif
## cleanery
clean-local:
rm -f libmpiwrap-.c \
- libmpiwrap-@VGCONF_PLATFORM_PRI_CAPS@.c \
- libmpiwrap-@VGCONF_PLATFORM_SEC_CAPS@.c
+ libmpiwrap-@VGCONF_ARCH_PRI@-@VGCONF_OS@.c \
+ libmpiwrap-@VGCONF_ARCH_SEC@-@VGCONF_OS@.c
#
#----------------------------------------------------------
Modified: trunk/coregrind/Makefile.am
===================================================================
--- trunk/coregrind/Makefile.am 2009-02-06 23:24:10 UTC (rev 9120)
+++ trunk/coregrind/Makefile.am 2009-02-06 23:27:16 UTC (rev 9121)
@@ -5,7 +5,6 @@
include $(top_srcdir)/Makefile.all.am
include $(top_srcdir)/Makefile.flags.am
-include $(top_srcdir)/Makefile.inplace.am
include $(top_srcdir)/Makefile.install.am
|
|
From: <sv...@va...> - 2009-02-06 23:24:16
|
Author: njn
Date: 2009-02-06 23:24:10 +0000 (Fri, 06 Feb 2009)
New Revision: 9120
Log:
Merge Makefile.{inplace,install}.am. Simplify installation of
libmpiwrap.so.
Removed:
branches/DARWIN/Makefile.inplace.am
Modified:
branches/DARWIN/Makefile.install.am
branches/DARWIN/Makefile.tool.am
branches/DARWIN/auxprogs/Makefile.am
branches/DARWIN/coregrind/Makefile.am
Deleted: branches/DARWIN/Makefile.inplace.am
===================================================================
--- branches/DARWIN/Makefile.inplace.am 2009-02-06 07:22:03 UTC (rev 9119)
+++ branches/DARWIN/Makefile.inplace.am 2009-02-06 23:24:10 UTC (rev 9120)
@@ -1,16 +0,0 @@
-# This is used by coregrind/Makefile.am and Makefile.tool.am for doing
-# "in-place" installs. It copies $(noinst_PROGRAMS) into $inplacedir, doing
-# some magic renaming as it does.
-# There is similar code in Makefile.install.am (which describes how the
-# magic sed commands work).
-
-all-local:
- if [ -n "$(noinst_PROGRAMS)" ] ; then \
- for f in $(noinst_PROGRAMS); do \
- name=`echo $$f | sed -e 's/-\([^-]*-[^-.]*\)\(\..*\)\{0,1\}$$/\2/'`; \
- plat=`echo $$f | sed -e 's/^.*-\([^-]*-[^-.]*\)\(\..*\)\{0,1\}$$/\1/'`; \
- mkdir -p $(inplacedir)/$$plat; \
- rm -f $(inplacedir)/$$plat/$$name; \
- ln -f -s ../../$(subdir)/$$f $(inplacedir)/$$plat/$$name; \
- done ; \
- fi
Modified: branches/DARWIN/Makefile.install.am
===================================================================
--- branches/DARWIN/Makefile.install.am 2009-02-06 07:22:03 UTC (rev 9119)
+++ branches/DARWIN/Makefile.install.am 2009-02-06 23:24:10 UTC (rev 9120)
@@ -1,3 +1,18 @@
+# This is used by coregrind/Makefile.am and Makefile.tool.am for doing
+# "in-place" installs. It copies $(noinst_PROGRAMS) into $inplacedir, doing
+# some magic renaming as it does.
+# The similar code below explains how the magic sed commands work.
+all-local:
+ if [ -n "$(noinst_PROGRAMS)" ] ; then \
+ for f in $(noinst_PROGRAMS); do \
+ name=`echo $$f | sed -e 's/-\([^-]*-[^-.]*\)\(\..*\)\{0,1\}$$/\2/'`; \
+ plat=`echo $$f | sed -e 's/^.*-\([^-]*-[^-.]*\)\(\..*\)\{0,1\}$$/\1/'`; \
+ mkdir -p $(inplacedir)/$$plat; \
+ rm -f $(inplacedir)/$$plat/$$name; \
+ ln -f -s ../../$(subdir)/$$f $(inplacedir)/$$plat/$$name; \
+ done ; \
+ fi
+
# This is used by coregrind/Makefile.am and by <tool>/Makefile.am for doing
# "make install". It copies $(noinst_PROGRAMS) into $prefix/lib/valgrind/,
# doing some magic renaming as it does.
@@ -2,3 +17,2 @@
# It needs to be depended on by an 'install-exec-local' rule.
-# There is similar code in Makefile.inplace.am.
#
@@ -14,7 +28,6 @@
# and not in
# $prefix/lib/valgrind/omega-x86-linux/exp
# or similarly mutant place.
-
install-exec-local-programs:
if [ -n "$(noinst_PROGRAMS)" ] ; then \
for f in $(noinst_PROGRAMS); do \
Modified: branches/DARWIN/Makefile.tool.am
===================================================================
--- branches/DARWIN/Makefile.tool.am 2009-02-06 07:22:03 UTC (rev 9119)
+++ branches/DARWIN/Makefile.tool.am 2009-02-06 23:24:10 UTC (rev 9120)
@@ -3,7 +3,6 @@
include $(top_srcdir)/Makefile.all.am
include $(top_srcdir)/Makefile.flags.am
-include $(top_srcdir)/Makefile.inplace.am
include $(top_srcdir)/Makefile.install.am
Modified: branches/DARWIN/auxprogs/Makefile.am
===================================================================
--- branches/DARWIN/auxprogs/Makefile.am 2009-02-06 07:22:03 UTC (rev 9119)
+++ branches/DARWIN/auxprogs/Makefile.am 2009-02-06 23:24:10 UTC (rev 9120)
@@ -68,18 +68,18 @@
##
noinst_PROGRAMS =
if BUILD_MPIWRAP_PRI
-noinst_PROGRAMS += libmpiwrap-@VGCONF_PLATFORM_PRI_CAPS@.so
-libmpiwrap-@VGCONF_PLATFORM_PRI_CAPS@.so: libmpiwrap.c
+noinst_PROGRAMS += libmpiwrap-@VGCONF_ARCH_PRI@-@VGCONF_OS@.so
+libmpiwrap-@VGCONF_ARCH_PRI@-@VGCONF_OS@.so: libmpiwrap.c
$(MPI_CC) $(HACKY_FLAGS_PRI) \
-I../include \
- -o libmpiwrap-@VGCONF_PLATFORM_PRI_CAPS@.so libmpiwrap.c
+ -o libmpiwrap-@VGCONF_ARCH_PRI@-@VGCONF_OS@.so libmpiwrap.c
endif
if BUILD_MPIWRAP_SEC
-noinst_PROGRAMS += libmpiwrap-@VGCONF_PLATFORM_SEC_CAPS@.so
-libmpiwrap-@VGCONF_PLATFORM_SEC_CAPS@.so: libmpiwrap.c
+noinst_PROGRAMS += libmpiwrap-@VGCONF_ARCH_SEC@-@VGCONF_OS@.so
+libmpiwrap-@VGCONF_ARCH_SEC@-@VGCONF_OS@.so: libmpiwrap.c
$(MPI_CC) $(HACKY_FLAGS_SEC) \
-I../include \
- -o libmpiwrap-@VGCONF_PLATFORM_SEC_CAPS@.so libmpiwrap.c
+ -o libmpiwrap-@VGCONF_ARCH_SEC@-@VGCONF_OS@.so libmpiwrap.c
endif
@@ -91,24 +91,12 @@
install-exec-local:
if BUILD_MPIWRAP_PRI
-# convert (eg) X86_LINUX to x86-linux
-# really should use sed here, rather than assume tr is available
- pD=`echo @VGCONF_PLATFORM_PRI_CAPS@ | tr A-Z_ a-z-` ; \
- $(mkinstalldirs) $(DESTDIR)$(valdir)/$$pD; \
- rm -f ./libmpiwrap.so; \
- cp ./libmpiwrap-@VGCONF_PLATFORM_PRI_CAPS@.so ./libmpiwrap.so; \
- $(INSTALL_PROGRAM) ./libmpiwrap.so \
- $(DESTDIR)$(valdir)/$$pD; \
- rm -f ./libmpiwrap.so
+ $(mkinstalldirs) $(DESTDIR)$(valdir)/@VGCONF_ARCH_PRI@-@VGCONF_OS@; \
+ $(INSTALL_PROGRAM) ./libmpiwrap-@VGCONF_ARCH_PRI@-@VGCONF_OS@.so $(DESTDIR)$(valdir)/@VGCONF_ARCH_PRI@-@VGCONF_OS@/libmpiwrap.so;
endif
if BUILD_MPIWRAP_SEC
- pD=`echo @VGCONF_PLATFORM_SEC_CAPS@ | tr A-Z_ a-z-` ; \
- $(mkinstalldirs) $(DESTDIR)$(valdir)/$$pD; \
- rm -f ./libmpiwrap.so; \
- cp ./libmpiwrap-@VGCONF_PLATFORM_SEC_CAPS@.so ./libmpiwrap.so; \
- $(INSTALL_PROGRAM) ./libmpiwrap.so \
- $(DESTDIR)$(valdir)/$$pD; \
- rm -f ./libmpiwrap.so
+ $(mkinstalldirs) $(DESTDIR)$(valdir)/@VGCONF_ARCH_PRI@-@VGCONF_OS@; \
+ $(INSTALL_PROGRAM) ./libmpiwrap-@VGCONF_ARCH_SEC@-@VGCONF_OS@.so $(DESTDIR)$(valdir)/@VGCONF_ARCH_SEC@-@VGCONF_OS@/libmpiwrap.so;
endif
@@ -116,28 +104,28 @@
## It would seem that using nodist_SOURCES is the right fix, but
## I can't figure out how to do it.
##
-#nodist_SOURCES = libmpiwrap-@VGCONF_PLATFORM_PRI_CAPS@.c
-#nodist_SOURCES = libmpiwrap-@VGCONF_PLATFORM_SEC_CAPS@.c
+#nodist_SOURCES = libmpiwrap-@VGCONF_ARCH_PRI@-@VGCONF_OS@.c
+#nodist_SOURCES = libmpiwrap-@VGCONF_ARCH_SEC@-@VGCONF_OS@.c
libmpiwrap-.c:
rm -f libmpiwrap-.c
touch libmpiwrap-.c
-libmpiwrap-@VGCONF_PLATFORM_PRI_CAPS@.c:
- rm -f libmpiwrap-@VGCONF_PLATFORM_PRI_CAPS@.c
- touch libmpiwrap-@VGCONF_PLATFORM_PRI_CAPS@.c
+libmpiwrap-@VGCONF_ARCH_PRI@-@VGCONF_OS@.c:
+ rm -f libmpiwrap-@VGCONF_ARCH_PRI@-@VGCONF_OS@.c
+ touch libmpiwrap-@VGCONF_ARCH_PRI@-@VGCONF_OS@.c
if VGCONF_HAVE_PLATFORM_SEC_CAPS
-libmpiwrap-@VGCONF_PLATFORM_SEC_CAPS@.c:
- rm -f libmpiwrap-@VGCONF_PLATFORM_SEC_CAPS@.c
- touch libmpiwrap-@VGCONF_PLATFORM_SEC_CAPS@.c
+libmpiwrap-@VGCONF_ARCH_SEC@-@VGCONF_OS@.c:
+ rm -f libmpiwrap-@VGCONF_ARCH_SEC@-@VGCONF_OS@.c
+ touch libmpiwrap-@VGCONF_ARCH_SEC@-@VGCONF_OS@.c
endif
## cleanery
clean-local:
rm -f libmpiwrap-.c \
- libmpiwrap-@VGCONF_PLATFORM_PRI_CAPS@.c \
- libmpiwrap-@VGCONF_PLATFORM_SEC_CAPS@.c
+ libmpiwrap-@VGCONF_ARCH_PRI@-@VGCONF_OS@.c \
+ libmpiwrap-@VGCONF_ARCH_SEC@-@VGCONF_OS@.c
#
#----------------------------------------------------------
Modified: branches/DARWIN/coregrind/Makefile.am
===================================================================
--- branches/DARWIN/coregrind/Makefile.am 2009-02-06 07:22:03 UTC (rev 9119)
+++ branches/DARWIN/coregrind/Makefile.am 2009-02-06 23:24:10 UTC (rev 9120)
@@ -5,7 +5,6 @@
include $(top_srcdir)/Makefile.all.am
include $(top_srcdir)/Makefile.flags.am
-include $(top_srcdir)/Makefile.inplace.am
include $(top_srcdir)/Makefile.install.am
AM_CPPFLAGS_CORE_COMMON = \
|
|
From: Nicholas N. <n.n...@gm...> - 2009-02-06 22:31:10
|
On Fri, Feb 6, 2009 at 9:18 PM, Julian Seward <js...@ac...> wrote: >> >> I found a problem that the regtests don't show: all the .supp files >> get installed in $INSTALL/lib/valgrind/. One of these is >> glibc-2.X.supp.in, *not* libc-2.X.supp. Actually, given that >> default.supp is installed, I don't know why any of the other .supp >> files need to be installed. > > Ok; so not a showstopper bug then? .. since default.supp is the only thing > that _needs_ to be installed. Not a showstopper. I'll fix it on the trunk at some point. Nick |
|
From: Konstantin S. <kon...@gm...> - 2009-02-06 20:22:00
|
Hi Bart, On Fri, Feb 6, 2009 at 10:29 PM, Bart Van Assche <bar...@gm...> wrote: > On Mon, Jan 26, 2009 at 4:45 PM, Konstantin Serebryany > <kon...@gm...> wrote: >> Did you ever think that two data race detectors (Helgrind and Drd) is >> too much for the Valgrind project? >> In fact, I think that two is too few. :) >> >> Please welcome ThreadSanitizer, yet another data race detector based >> on Valgrind. >> http://code.google.com/p/data-race-test/wiki/ThreadSanitizer >> >> I'd appreciate your feedback, > > Hello Konstantin, > > I had a quick look at the command line options supported by > ThreadSanitizer, and found this: > > --ignore-in-dtor=yes|no, default yes, Ignore reports with a C++ class > Destructor in stack trace. > > Can you explain why this option defaults to yes, and why it even > exists ? Oh well. This is probably one of the most painful questions: to choose between false positives and false negatives. So, tsan has 3 flags that control noise vs signal: --pure-happens-before (default = no): Even though I really love the default hybrid state machine, I start thinking that the default should change to --pure-happens-before=yes. Many, many developers are not used to race detectors, false positives may frighten them... More on hybrid vs pure happens-before is here: http://code.google.com/p/data-race-test/wiki/ThreadSanitizerAlgorithm#Pure_happens-before_vs_Hybrid --fast-mode (default=yes): makes sense only for the hybrid mode. A close analog of Eraser's initialization mode. Misses roughly half of the races. But also cuts the number of false positives of the hybrid machine by something like 90%. http://code.google.com/p/data-race-test/wiki/ThreadSanitizerAlgorithm#Fast_mode --ignore-in-dtor (default=yes): One of the most frequent cause of false positives is reference counting. Ref counting implemented via atomics is not understood even by pure happens-before detectotrs. And the reports are almost always in DTORs. See test401: http://code.google.com/p/data-race-test/source/browse/trunk/unittest/racecheck_unittest.cc#6468 In hybrid mode there are more reasons for this flag. Well, maybe in pure-happens-before mode the default for this should be 'no'. Dunno. Note, that even if you use the most aggressive mode (--pure-happens-before=no --fast-mode=no --ignore-in-dtor=no), it is possible to avoid all false positives by annotating the code with http://code.google.com/p/data-race-test/wiki/DynamicAnnotations But it requires some skill. IMHO, the default values should be set in a way that will not frighten novice users too much. Those who will be brave enough to read the docs and will understand the value of the tool, will likely start using more aggressive flags. Yet I have no clear vision on which settings should be default. >Any race I have seen in C++ destructors until now indicated a > real problem. A very common cause for data races triggered inside a > C++ destructor is the following: > - A class has been defined that wraps thread creation and destruction, > e.g. CThread. > - One of the methods in that class is declared virtual and is run > inside the created thread, e.g. CThread::Run(). > - There exists methods for starting the thread and waiting until the > thread stopped, e.g. CThread::StartRunning() and > CThread::WaitUntilStopped(). This last method notifies CThread::Run() > that it should stop and then waits until that thread stopped, e.g. via > pthread_join(). > - Calling CThread::WaitUntilStopped() from the CThread destructor will > trigger a race condition on the vtbl pointer of class CThread. This is > a real bug and a bug that can cause severe trouble, not something that > should be hidden. Hehe, yea... Something similar: test86 and test87 http://code.google.com/p/data-race-test/source/browse/trunk/unittest/racecheck_unittest.cc#4060 --kcc > > Bart. > |
|
From: Bart V. A. <bar...@gm...> - 2009-02-06 19:29:48
|
On Mon, Jan 26, 2009 at 4:45 PM, Konstantin Serebryany <kon...@gm...> wrote: > Did you ever think that two data race detectors (Helgrind and Drd) is > too much for the Valgrind project? > In fact, I think that two is too few. :) > > Please welcome ThreadSanitizer, yet another data race detector based > on Valgrind. > http://code.google.com/p/data-race-test/wiki/ThreadSanitizer > > I'd appreciate your feedback, Hello Konstantin, I had a quick look at the command line options supported by ThreadSanitizer, and found this: --ignore-in-dtor=yes|no, default yes, Ignore reports with a C++ class Destructor in stack trace. Can you explain why this option defaults to yes, and why it even exists ? Any race I have seen in C++ destructors until now indicated a real problem. A very common cause for data races triggered inside a C++ destructor is the following: - A class has been defined that wraps thread creation and destruction, e.g. CThread. - One of the methods in that class is declared virtual and is run inside the created thread, e.g. CThread::Run(). - There exists methods for starting the thread and waiting until the thread stopped, e.g. CThread::StartRunning() and CThread::WaitUntilStopped(). This last method notifies CThread::Run() that it should stop and then waits until that thread stopped, e.g. via pthread_join(). - Calling CThread::WaitUntilStopped() from the CThread destructor will trigger a race condition on the vtbl pointer of class CThread. This is a real bug and a bug that can cause severe trouble, not something that should be hidden. Bart. |
|
From: Julian S. <js...@ac...> - 2009-02-06 14:39:36
|
On Friday 06 February 2009, Konstantin Serebryany wrote: > > You need to check that GDB can unwind from that specific instruction, > > not just from somewhere inside the function. Since the page number > > will be different, but the page offset will be the same, you need to > > get GDB to the instruction whose lowest 12 bits is 0x140 (since > > Valgrind reports 0xC32B140) and see if you can unwind from there. > > Indeed... > If I break at the function in gdb, I can get the stack trace. > But after typing 'n' several times, I loose this ability. > wow! Yes. It's a common problem for handwritten assembly on x86_64 Linux. J |
|
From: Julian S. <js...@ac...> - 2009-02-06 14:20:37
|
On Friday 06 February 2009, Konstantin Serebryany wrote: > On Fri, Feb 6, 2009 at 4:45 PM, Tom Hughes <to...@co...> wrote: > > Konstantin Serebryany wrote: > >> Just checking: the mechanism used to get stack traces in exp-ptrcheck > >> will *not* be confused by such hand-written assembly, right? > > > > Of course it will. To start with we only have one piece of code for > > getting stack traces, and that is used everywhere. Plus if we had a magic > > way to get the stack trace in one place we'd use it in all the other > > places as well... > > exp-ptrcheck has it's own stack trace machinery. (right, Julian?) > It does not unwind the stack, instead it tracks each call/return > (roughly speaking). > ThreadSanitizer does the same. You're both right :-) exp-ptrcheck uses the same scheme as Callgrind has for years, to track call and return instructions and thereby create a shadow stack. I believe this will not be confused by missing CFI data since it does not use it. However, exp-ptrcheck also uses the "standard" stack unwinding to construct error messages, and so that will be confused, yes. J |
|
From: Konstantin S. <kon...@gm...> - 2009-02-06 13:47:36
|
On Fri, Feb 6, 2009 at 4:45 PM, Tom Hughes <to...@co...> wrote: > Konstantin Serebryany wrote: > >> Just checking: the mechanism used to get stack traces in exp-ptrcheck >> will *not* be confused by such hand-written assembly, right? > > Of course it will. To start with we only have one piece of code for getting > stack traces, and that is used everywhere. Plus if we had a magic way to get > the stack trace in one place we'd use it in all the other places as well... exp-ptrcheck has it's own stack trace machinery. (right, Julian?) It does not unwind the stack, instead it tracks each call/return (roughly speaking). ThreadSanitizer does the same. --kcc > > Tom > > -- > Tom Hughes (to...@co...) > http://www.compton.nu/ > |
|
From: Tom H. <to...@co...> - 2009-02-06 13:45:33
|
Konstantin Serebryany wrote: > Just checking: the mechanism used to get stack traces in exp-ptrcheck > will *not* be confused by such hand-written assembly, right? Of course it will. To start with we only have one piece of code for getting stack traces, and that is used everywhere. Plus if we had a magic way to get the stack trace in one place we'd use it in all the other places as well... Tom -- Tom Hughes (to...@co...) http://www.compton.nu/ |
|
From: Konstantin S. <kon...@gm...> - 2009-02-06 13:08:33
|
Just checking: the mechanism used to get stack traces in exp-ptrcheck will *not* be confused by such hand-written assembly, right? --kcc On Fri, Feb 6, 2009 at 3:58 PM, Konstantin Serebryany <kon...@gm...> wrote: >> You need to check that GDB can unwind from that specific instruction, >> not just from somewhere inside the function. Since the page number >> will be different, but the page offset will be the same, you need to >> get GDB to the instruction whose lowest 12 bits is 0x140 (since >> Valgrind reports 0xC32B140) and see if you can unwind from there. > > Indeed... > If I break at the function in gdb, I can get the stack trace. > But after typing 'n' several times, I loose this ability. > wow! > > --kcc > |
|
From: Konstantin S. <kon...@gm...> - 2009-02-06 12:58:17
|
> You need to check that GDB can unwind from that specific instruction, > not just from somewhere inside the function. Since the page number > will be different, but the page offset will be the same, you need to > get GDB to the instruction whose lowest 12 bits is 0x140 (since > Valgrind reports 0xC32B140) and see if you can unwind from there. Indeed... If I break at the function in gdb, I can get the stack trace. But after typing 'n' several times, I loose this ability. wow! --kcc |
|
From: Julian S. <js...@ac...> - 2009-02-06 12:13:54
|
> >> ==11896== Use of uninitialised value of size 8 > >> ==11896== at 0xC32B140: bn_mul_mont (x86_64-mont.s:151) > >> ==11896== by 0xEFD8ADCFE9793F71: ??? > >> ==11896== by 0x4DC04AA2FB5DAAB0: ??? > >> ==11896== by 0xB18F5B34F8340518: ??? > >> ==11896== by 0x9629706EA81DAD54: ??? > >> ... > > > > That's a hand crafted assembler routine, so unless the author has either > > taken the trouble to setup a traditional x86 stack frame by pushing the > > frame pointer, or has added DWARF declarations to describe how to unwind > > the stack, then valgrind won't be able to unwind out of it. > > > > Can gdb unwind out of that function if you set a break point inside it? > > If I run the program under gdb and set a break point in that function, > gdb can unwind.. > > Breakpoint 1, bn_mul_mont () at x86_64-mont.s:7 > 7 x86_64-mont.s: No such file or directory. > in x86_64-mont.s > Current language: auto; currently asm > (gdb) bt > #0 bn_mul_mont () at x86_64-mont.s:7 > #1 0x00002aaab23cabe5 in BN_mod_mul_montgomery (r=0x2aaab692f220, > a=0x2aaab737a718, b=0x2aaab7374770, mont=0x2aaab7374768, > ctx=0x2aaab698fcc8) at bn_mont.c:159 You need to check that GDB can unwind from that specific instruction, not just from somewhere inside the function. Since the page number will be different, but the page offset will be the same, you need to get GDB to the instruction whose lowest 12 bits is 0x140 (since Valgrind reports 0xC32B140) and see if you can unwind from there. J |
|
From: Konstantin S. <kon...@gm...> - 2009-02-06 12:09:04
|
On Fri, Feb 6, 2009 at 2:27 PM, Tom Hughes <to...@co...> wrote:
> Konstantin Serebryany wrote:
>
>> That's a challenge. :)
>> Right now I have only one reproducer somewhere inside the openssl's
>> assembly file:
>>
>> ==11896== Use of uninitialised value of size 8
>> ==11896== at 0xC32B140: bn_mul_mont (x86_64-mont.s:151)
>> ==11896== by 0xEFD8ADCFE9793F71: ???
>> ==11896== by 0x4DC04AA2FB5DAAB0: ???
>> ==11896== by 0xB18F5B34F8340518: ???
>> ==11896== by 0x9629706EA81DAD54: ???
>> ...
>
> That's a hand crafted assembler routine, so unless the author has either
> taken the trouble to setup a traditional x86 stack frame by pushing the
> frame pointer, or has added DWARF declarations to describe how to unwind the
> stack, then valgrind won't be able to unwind out of it.
>
> Can gdb unwind out of that function if you set a break point inside it?
If I run the program under gdb and set a break point in that function,
gdb can unwind..
Breakpoint 1, bn_mul_mont () at x86_64-mont.s:7
7 x86_64-mont.s: No such file or directory.
in x86_64-mont.s
Current language: auto; currently asm
(gdb) bt
#0 bn_mul_mont () at x86_64-mont.s:7
#1 0x00002aaab23cabe5 in BN_mod_mul_montgomery (r=0x2aaab692f220,
a=0x2aaab737a718, b=0x2aaab7374770, mont=0x2aaab7374768,
ctx=0x2aaab698fcc8) at bn_mont.c:159
#2 0x00002aaab23c089d in BN_mod_exp_mont (rr=0x2aaab737a718,
a=0x2aaab737a718, p=0x2aaab737a698, m=<value optimized out>,
ctx=0x2aaab698fcc8, in_mont=0x0) at bn_exp.c:434
#3 0x00002aaab23c6431 in BN_BLINDING_create_param (b=0x0, e=<value
optimized out>, m=<value optimized out>, ctx=0x2aaab698fcc8,
bn_mod_exp=0x2aaab23c0630 <BN_mod_exp_mont>, m_ctx=0x0) at
bn_blind.c:352
#4 0x00002aaab23dd66f in RSA_setup_blinding (rsa=0x2aaab69604f8,
in_ctx=0x0) at rsa_lib.c:424
#5 0x00002aaab23dd89e in RSA_blinding_on (rsa=0x2aaab69604f8,
ctx=0x0) at rsa_lib.c:337
....
If I run valgrind with --db-attach=yes, gdb can't unwind.
(gdb) bt
#0 bn_mul_mont () at x86_64-mont.s:151
#1 0xc798652805958912 in ?? ()
#2 0x45729487728cd440 in ?? ()
#3 0x9d5b9d6a21ce321c in ?? ()
#4 0xbc472223dd03bce1 in ?? ()
#5 0xf832d2e8fb669bc2 in ?? ()
#6 0xdcfeae38f9da1b0d in ?? ()
#7 0x87511babdc7fa779 in ?? ()
So, I'll let you know if I find cases w/o hand written assembly.
Thanks for explanation!
--kcc
>
> Tom
>
> --
> Tom Hughes (to...@co...)
> http://www.compton.nu/
>
|
|
From: Tom H. <to...@co...> - 2009-02-06 11:27:42
|
Konstantin Serebryany wrote: > That's a challenge. :) > Right now I have only one reproducer somewhere inside the openssl's > assembly file: > > ==11896== Use of uninitialised value of size 8 > ==11896== at 0xC32B140: bn_mul_mont (x86_64-mont.s:151) > ==11896== by 0xEFD8ADCFE9793F71: ??? > ==11896== by 0x4DC04AA2FB5DAAB0: ??? > ==11896== by 0xB18F5B34F8340518: ??? > ==11896== by 0x9629706EA81DAD54: ??? > ... That's a hand crafted assembler routine, so unless the author has either taken the trouble to setup a traditional x86 stack frame by pushing the frame pointer, or has added DWARF declarations to describe how to unwind the stack, then valgrind won't be able to unwind out of it. Can gdb unwind out of that function if you set a break point inside it? Tom -- Tom Hughes (to...@co...) http://www.compton.nu/ |
|
From: Julian S. <js...@ac...> - 2009-02-06 11:25:41
|
> That's a challenge. :) > Right now I have only one reproducer somewhere inside the openssl's > assembly file: > > ==11896== Use of uninitialised value of size 8 > ==11896== at 0xC32B140: bn_mul_mont (x86_64-mont.s:151) Ah, handwritten assembly. A known source of problems. If the authors did not also write by hand, correct unwind information, then unwinding will have problems. Next step is to get gdb to stop at that precise instruction and see if can unwind the stack. (Maybe simplest to use --db-attach=yes). J |
|
From: Konstantin S. <kon...@gm...> - 2009-02-06 11:11:57
|
> svn co svn://svn.valgrind.org/valgrind/branches/VALGRIND_3_4_BRANCH branch34 > > See if it still has the problem. Same thing. > > Secondly, do the usual two things: > > 1. See if you can make a small test case that shows it. Without that > it will be close to impossible to fix. > That's a challenge. :) Right now I have only one reproducer somewhere inside the openssl's assembly file: ==11896== Use of uninitialised value of size 8 ==11896== at 0xC32B140: bn_mul_mont (x86_64-mont.s:151) ==11896== by 0xEFD8ADCFE9793F71: ??? ==11896== by 0x4DC04AA2FB5DAAB0: ??? ==11896== by 0xB18F5B34F8340518: ??? ==11896== by 0x9629706EA81DAD54: ??? ... Maybe this file (ftp://ftp.free.fr/.mirrors1/ftp.netbsd.org/NetBSD-current/src/crypto/dist/openssl/crypto/bn/asm/x86_64-mont.pl) has some valgrind-unfriendly stuff? Will see if I can get something simpler... --kcc > 2. If (1) does not work, do a binary search on the svn versions to find > the commit number that caused the problem. > > J > |
|
From: Julian S. <js...@ac...> - 2009-02-06 10:18:52
|
On Friday 06 February 2009, Nicholas Nethercote wrote: > On Fri, Feb 6, 2009 at 11:01 AM, Nicholas Nethercote > > <n.n...@gm...> wrote: > > I tried 3.4.1-rc1 (aka. > > http://www.valgrind.org/downloads/valgrind-3.4.1.SVN-9098-1883.tar.bz2), > > I got only the expected regression test failures, so it looks good to > > me. I don't think Julian has announced it on this list, so others > > might want to try it. > > I found a problem that the regtests don't show: all the .supp files > get installed in $INSTALL/lib/valgrind/. One of these is > glibc-2.X.supp.in, *not* libc-2.X.supp. Actually, given that > default.supp is installed, I don't know why any of the other .supp > files need to be installed. Ok; so not a showstopper bug then? .. since default.supp is the only thing that _needs_ to be installed. J |
|
From: Julian S. <js...@ac...> - 2009-02-06 10:17:28
|
On Friday 06 February 2009, Konstantin Serebryany wrote: > Hi Valgrind developers, > > I've seen the recent checkins related to stack unwinding. > Are they expected to fix all known issues with stack traces on x86_64? Yes. > ==27019== > ==27019== Use of uninitialised value of size 8 > ==27019== at 0xBD3214F: something_meaningful Urr. > Is there anything I can provide you to help debug this? First, try out the 3.4 branch: svn co svn://svn.valgrind.org/valgrind/branches/VALGRIND_3_4_BRANCH branch34 See if it still has the problem. Secondly, do the usual two things: 1. See if you can make a small test case that shows it. Without that it will be close to impossible to fix. 2. If (1) does not work, do a binary search on the svn versions to find the commit number that caused the problem. J |
|
From: Tom H. <to...@co...> - 2009-02-06 08:32:50
|
Nicholas Nethercote wrote:
> The files that are built in the tree have names like:
> memcheck-x86-linux, libcoregrind_x86_darwin.a,
> vgpreload_memcheck-x86-darwin.so, libmpiwrap-X86_LINUX.so. But when
> installed into either .in_place or the installation directory, they
> get renamed to x86-linux/{memcheck,libcoregrind.a,vgpreload_memcheck.so,libmpiwrap.so}.
>
> This requires various pieces of appalling sed hackery at install-time.
> But I don't see any good reasons for it. I also don't see any good
> reason for the inconsistency in the original names, eg. '-' vs '_',
> caps vs. non-caps.
I suspect it's partly historical in that we decided to put each backend
in a separate directory then found that automake really wanted to
generate everything in one directory so we resorted to hackery to get
the installation to adjust things.
> I have a patch which gets rid of the platform-specific directory in
> the installation dir, and just keeps the platform-specific suffixes on
> the various files. The launcher requires minor changes to find
> things, but it's not difficult. It cuts out various horrendous parts
> of Makefile.am files, some of which are the worst lines in the entire
> build system.
Sounds reasonable to me.
Tom
--
Tom Hughes (to...@co...)
http://www.compton.nu/
|
|
From: Konstantin S. <kon...@gm...> - 2009-02-06 07:31:15
|
Hi Valgrind developers, I've seen the recent checkins related to stack unwinding. Are they expected to fix all known issues with stack traces on x86_64? This is what I see with the fresh trunk: ==27019== ==27019== Use of uninitialised value of size 8 ==27019== at 0xBD3214F: something_meaningful ==27019== by 0x7A2C730C750BD1E8: ??? ==27019== by 0xD075D9E9E5D0101: ??? ==27019== by 0x4EAF8BD8815341D7: ??? ==27019== by 0x262956DDE630E67F: ??? ==27019== by 0xEBD8C81E497E5F10: ??? ==27019== by 0x6C6DCB5AF54DD8FF: ??? ==27019== by 0xBF7C9DAE3F6B4DF1: ??? ==27019== by 0x7094A51C580E33E: ??? ==27019== by 0x691AAF338D45C9C8: ??? ==27019== by 0x96D13F92611B33C5: ??? ==27019== by 0x1A2633D708F8FA01: ??? ==27019== ==27019== Use of uninitialised value of size 8 ==27019== at 0xBD3214F: something_meaningful ==27019== by 0x7A2C730C750BD1E8: ??? ==27019== by 0xD075D9E9E5D0101: ??? ==27019== by 0xF: ??? ==27019== by 0xF: ??? ==27019== by 0xF: ??? ==27019== by 0xF: ??? ==27019== by 0xF: ??? ==27019== by 0xF: ??? ==27019== by 0xF: ??? ==27019== by 0xF: ??? ==27019== by 0xF: ??? Is there anything I can provide you to help debug this? Thanks, --kcc |
|
From: <sv...@va...> - 2009-02-06 07:22:11
|
Author: njn
Date: 2009-02-06 07:22:03 +0000 (Fri, 06 Feb 2009)
New Revision: 9119
Log:
Merged r9118 (make Makefile.install.am less confusing) from the trunk.
Modified:
branches/DARWIN/Makefile.inplace.am
branches/DARWIN/Makefile.install.am
branches/DARWIN/Makefile.tool.am
branches/DARWIN/coregrind/Makefile.am
Modified: branches/DARWIN/Makefile.inplace.am
===================================================================
--- branches/DARWIN/Makefile.inplace.am 2009-02-06 07:12:57 UTC (rev 9118)
+++ branches/DARWIN/Makefile.inplace.am 2009-02-06 07:22:03 UTC (rev 9119)
@@ -1,8 +1,8 @@
# This is used by coregrind/Makefile.am and Makefile.tool.am for doing
# "in-place" installs. It copies $(noinst_PROGRAMS) into $inplacedir, doing
# some magic renaming as it does.
-# For a description of what these magic sed commands do, see comments
-# in Makefile.install.am (which has identical magic)
+# There is similar code in Makefile.install.am (which describes how the
+# magic sed commands work).
all-local:
if [ -n "$(noinst_PROGRAMS)" ] ; then \
Modified: branches/DARWIN/Makefile.install.am
===================================================================
--- branches/DARWIN/Makefile.install.am 2009-02-06 07:12:57 UTC (rev 9118)
+++ branches/DARWIN/Makefile.install.am 2009-02-06 07:22:03 UTC (rev 9119)
@@ -1,6 +1,11 @@
-
-# What the first for loop does: it copies a bunch of files which names
-# of the form wurble-arch-os to $prefix/lib/valgrind/arch-os/wurble.
+# This is used by coregrind/Makefile.am and by <tool>/Makefile.am for doing
+# "make install". It copies $(noinst_PROGRAMS) into $prefix/lib/valgrind/,
+# doing some magic renaming as it does.
+# It needs to be depended on by an 'install-exec-local' rule.
+# There is similar code in Makefile.inplace.am.
+#
+# Details about the renaming: the loop copies a bunch of files with
+# names of the form wurble-arch-os to $prefix/lib/valgrind/arch-os/wurble.
# There is some complexity in the sed mangling because wurble may itself
# contain a dash, which must be ignored. For example we want
# exp-omega-x86-linux
@@ -9,20 +14,8 @@
# and not in
# $prefix/lib/valgrind/omega-x86-linux/exp
# or similarly mutant place.
-#
-# Note there is identical sed magic in Makefile.inplace.am.
-# What the second for loop does: it copies libcoregrind.a and libvex.a
-# into the correct (target-specific) lib dirs at install time.
-# $(noinst_LIBRARIES) will look like this:
-# libcoregrind_x86_linux.a libreplacemalloc_toolpreload_x86_linux.a
-# libcoregrind_amd64_linux.a libreplacemalloc_toolpreload_amd64_linux.a
-# The 'if expr' filters out all but the libcoregrind_ ones.
-# pD and pU are the (arch,os) target pairs separated by a dash (pD) or
-# an underscore (pU) respectively, eg amd64-linux (pD) and amd64_linux (pU).
-# It then copies libcoregrind.a and libvex.a to the right places.
-
-install-exec-local:
+install-exec-local-programs:
if [ -n "$(noinst_PROGRAMS)" ] ; then \
for f in $(noinst_PROGRAMS); do \
name=`echo $$f | sed -e 's/-\([^-]*-[^-.]*\)\(\..*\)\{0,1\}$$/\2/'`; \
@@ -30,15 +23,5 @@
$(mkinstalldirs) $(DESTDIR)$(valdir)/$$plat; \
$(INSTALL_PROGRAM) $$f $(DESTDIR)$(valdir)/$$plat/$$name; \
done ; \
- fi ; \
- if [ -n "$(noinst_LIBRARIES)" ] ; then \
- for f in $(noinst_LIBRARIES) expr_wont_match_me; do \
- if expr match $$f libcoregrind_ > /dev/null ; then \
- pU=`echo $$f | sed -e 's/libcoregrind_//g' -e 's/\.a//g'` ; \
- pD=`echo $$pU | sed -e 's/_/-/g'` ; \
- $(INSTALL_DATA) $$f $(DESTDIR)$(valdir)/$$pD/libcoregrind.a ; \
- $(INSTALL_DATA) @VEX_DIR@/libvex_$$pU.a \
- $(DESTDIR)$(valdir)/$$pD/libvex.a ; \
- fi ; \
- done ; \
fi
+
Modified: branches/DARWIN/Makefile.tool.am
===================================================================
--- branches/DARWIN/Makefile.tool.am 2009-02-06 07:12:57 UTC (rev 9118)
+++ branches/DARWIN/Makefile.tool.am 2009-02-06 07:22:03 UTC (rev 9119)
@@ -203,3 +203,6 @@
LIBREPLACEMALLOC_LDFLAGS_AMD64_DARWIN = \
$(LIBREPLACEMALLOC_AMD64_DARWIN)
+
+
+install-exec-local: install-exec-local-programs
Modified: branches/DARWIN/coregrind/Makefile.am
===================================================================
--- branches/DARWIN/coregrind/Makefile.am 2009-02-06 07:12:57 UTC (rev 9118)
+++ branches/DARWIN/coregrind/Makefile.am 2009-02-06 07:22:03 UTC (rev 9119)
@@ -1,8 +1,7 @@
# Be very careful when renaming any files, targets, whatever, in this
-# Makefile. The install-exec-local target in ../Makefile.install.am
-# does some fragile sed file-name-mangling which is liable to break if
-# the names of noinst_LIBRARIES or noinst_PROGRAMS change 'shape'.
+# Makefile. Various parts of the system rely on these names having
+# particular forms.
include $(top_srcdir)/Makefile.all.am
include $(top_srcdir)/Makefile.flags.am
@@ -42,29 +41,38 @@
noinst_LIBRARIES =
+LIBPLATFORMS =
if VGCONF_PLATFORMS_INCLUDE_X86_LINUX
noinst_LIBRARIES += libcoregrind_x86_linux.a libreplacemalloc_toolpreload_x86_linux.a
+LIBPLATFORMS += x86_linux
endif
if VGCONF_PLATFORMS_INCLUDE_AMD64_LINUX
noinst_LIBRARIES += libcoregrind_amd64_linux.a libreplacemalloc_toolpreload_amd64_linux.a
+LIBPLATFORMS += amd64_linux
endif
if VGCONF_PLATFORMS_INCLUDE_PPC32_LINUX
noinst_LIBRARIES += libcoregrind_ppc32_linux.a libreplacemalloc_toolpreload_ppc32_linux.a
+LIBPLATFORMS += ppc32_linux
endif
if VGCONF_PLATFORMS_INCLUDE_PPC64_LINUX
noinst_LIBRARIES += libcoregrind_ppc64_linux.a libreplacemalloc_toolpreload_ppc64_linux.a
+LIBPLATFORMS += ppc64_linux
endif
if VGCONF_PLATFORMS_INCLUDE_PPC32_AIX5
noinst_LIBRARIES += libcoregrind_ppc32_aix5.a libreplacemalloc_toolpreload_ppc32_aix5.a
+LIBPLATFORMS += ppc32_aix5
endif
if VGCONF_PLATFORMS_INCLUDE_PPC64_AIX5
noinst_LIBRARIES += libcoregrind_ppc64_aix5.a libreplacemalloc_toolpreload_ppc64_aix5.a
+LIBPLATFORMS += ppc64_aix5
endif
if VGCONF_PLATFORMS_INCLUDE_X86_DARWIN
noinst_LIBRARIES += libcoregrind_x86_darwin.a libreplacemalloc_toolpreload_x86_darwin.a
+LIBPLATFORMS += x86_darwin
endif
if VGCONF_PLATFORMS_INCLUDE_AMD64_DARWIN
noinst_LIBRARIES += libcoregrind_amd64_darwin.a libreplacemalloc_toolpreload_amd64_darwin.a
+LIBPLATFORMS += amd64_darwin
endif
@@ -388,7 +396,6 @@
m_sigframe/sigframe-x86-linux.c \
m_syswrap/syscall-x86-linux.S \
m_syswrap/syswrap-x86-linux.c
-
libcoregrind_x86_linux_a_CPPFLAGS = $(AM_CPPFLAGS_X86_LINUX)
libcoregrind_x86_linux_a_CFLAGS = $(AM_CFLAGS_X86_LINUX)
libcoregrind_x86_linux_a_CCASFLAGS = $(AM_CCASFLAGS_X86_LINUX)
@@ -402,7 +409,6 @@
m_sigframe/sigframe-amd64-linux.c \
m_syswrap/syscall-amd64-linux.S \
m_syswrap/syswrap-amd64-linux.c
-
libcoregrind_amd64_linux_a_CPPFLAGS = $(AM_CPPFLAGS_AMD64_LINUX)
libcoregrind_amd64_linux_a_CFLAGS = $(AM_CFLAGS_AMD64_LINUX)
libcoregrind_amd64_linux_a_CCASFLAGS = $(AM_CCASFLAGS_AMD64_LINUX)
@@ -415,7 +421,6 @@
m_sigframe/sigframe-ppc32-linux.c \
m_syswrap/syscall-ppc32-linux.S \
m_syswrap/syswrap-ppc32-linux.c
-
libcoregrind_ppc32_linux_a_CPPFLAGS = $(AM_CPPFLAGS_PPC32_LINUX)
libcoregrind_ppc32_linux_a_CFLAGS = $(AM_CFLAGS_PPC32_LINUX)
libcoregrind_ppc32_linux_a_CCASFLAGS = $(AM_CCASFLAGS_PPC32_LINUX)
@@ -428,7 +433,6 @@
m_sigframe/sigframe-ppc64-linux.c \
m_syswrap/syscall-ppc64-linux.S \
m_syswrap/syswrap-ppc64-linux.c
-
libcoregrind_ppc64_linux_a_CPPFLAGS = $(AM_CPPFLAGS_PPC64_LINUX)
libcoregrind_ppc64_linux_a_CFLAGS = $(AM_CFLAGS_PPC64_LINUX)
libcoregrind_ppc64_linux_a_CCASFLAGS = $(AM_CCASFLAGS_PPC64_LINUX)
@@ -441,7 +445,6 @@
m_sigframe/sigframe-ppc32-aix5.c \
m_syswrap/syscall-ppc32-aix5.S \
m_syswrap/syswrap-ppc32-aix5.c
-
libcoregrind_ppc32_aix5_a_CPPFLAGS = $(AM_CPPFLAGS_PPC32_AIX5)
libcoregrind_ppc32_aix5_a_CFLAGS = $(AM_CFLAGS_PPC32_AIX5)
libcoregrind_ppc32_aix5_a_CCASFLAGS = $(AM_CCASFLAGS_PPC32_AIX5)
@@ -455,7 +458,6 @@
m_sigframe/sigframe-ppc64-aix5.c \
m_syswrap/syscall-ppc64-aix5.S \
m_syswrap/syswrap-ppc64-aix5.c
-
libcoregrind_ppc64_aix5_a_CPPFLAGS = $(AM_CPPFLAGS_PPC64_AIX5)
libcoregrind_ppc64_aix5_a_CFLAGS = $(AM_CFLAGS_PPC64_AIX5)
libcoregrind_ppc64_aix5_a_CCASFLAGS = $(AM_CCASFLAGS_PPC64_AIX5)
@@ -474,7 +476,6 @@
m_mach/mach_traps-x86-darwin.S \
m_start-x86-darwin.S \
m_cpuid-x86-darwin.S
-
libcoregrind_x86_darwin_a_CPPFLAGS = $(AM_CPPFLAGS_X86_DARWIN)
libcoregrind_x86_darwin_a_CFLAGS = $(AM_CFLAGS_X86_DARWIN)
libcoregrind_x86_darwin_a_CCASFLAGS = $(AM_CCASFLAGS_X86_DARWIN)
@@ -491,7 +492,6 @@
m_mach/mach_traps-amd64-darwin.S \
m_start-amd64-darwin.S \
m_cpuid-amd64-darwin.S
-
libcoregrind_amd64_darwin_a_CPPFLAGS = $(AM_CPPFLAGS_AMD64_DARWIN)
libcoregrind_amd64_darwin_a_CFLAGS = $(AM_CFLAGS_AMD64_DARWIN)
libcoregrind_amd64_darwin_a_CCASFLAGS = $(AM_CCASFLAGS_AMD64_DARWIN)
@@ -598,6 +598,22 @@
$(MAKE) -C @VEX_DIR@ CC="$(CC)" AR="$(AR)" clean
rm -f $(mach_srcs) $(mach_server_srcs) $(mach_hdrs)
+# Nb: The loop installs some .a files for possible use by standalone tools
+# into the correct (target-specific) lib dirs at install time.
+# $(LIBPLATFORMS) will look like this:
+# x86_linux amd64_linux
+# pD and pU are the (arch,os) target pairs separated by a dash (pD) or
+# an underscore (pU) respectively, eg amd64-linux (pD) and amd64_linux (pU).
+# It then copies the libraries to the right places.
+install-exec-local: install-exec-local-programs
+ for pU in $(LIBPLATFORMS) ; do \
+ pD=`echo $$pU | sed -e 's/_/-/g'` ; \
+ $(INSTALL_DATA) libcoregrind_$$pU.a $(DESTDIR)$(valdir)/$$pD/libcoregrind.a ; \
+ $(INSTALL_DATA) libreplacemalloc_toolpreload_$$pU.a $(DESTDIR)$(valdir)/$$pD/libreplacemalloc_toolpreload.a ; \
+ $(INSTALL_DATA) @VEX_DIR@/libvex_$$pU.a $(DESTDIR)$(valdir)/$$pD/libvex.a ; \
+ done
+
+
MANUAL_DEPS = $(noinst_HEADERS) $(include_HEADERS)
EXTRA_DIST = \
|
|
From: <sv...@va...> - 2009-02-06 07:13:04
|
Author: njn Date: 2009-02-06 07:12:57 +0000 (Fri, 06 Feb 2009) New Revision: 9118 Log: Make Makefile.install.am much less confusing. Modified: trunk/Makefile.inplace.am trunk/Makefile.install.am trunk/Makefile.tool.am trunk/coregrind/Makefile.am Modified: trunk/Makefile.inplace.am =================================================================== --- trunk/Makefile.inplace.am 2009-02-06 06:39:37 UTC (rev 9117) +++ trunk/Makefile.inplace.am 2009-02-06 07:12:57 UTC (rev 9118) @@ -1,8 +1,8 @@ # This is used by coregrind/Makefile.am and Makefile.tool.am for doing # "in-place" installs. It copies $(noinst_PROGRAMS) into $inplacedir, doing # some magic renaming as it does. -# For a description of what these magic sed commands do, see comments -# in Makefile.install.am (which has identical magic) +# There is similar code in Makefile.install.am (which describes how the +# magic sed commands work). all-local: if [ -n "$(noinst_PROGRAMS)" ] ; then \ Modified: trunk/Makefile.install.am =================================================================== --- trunk/Makefile.install.am 2009-02-06 06:39:37 UTC (rev 9117) +++ trunk/Makefile.install.am 2009-02-06 07:12:57 UTC (rev 9118) @@ -1,6 +1,11 @@ - -# What the first for loop does: it copies a bunch of files which names -# of the form wurble-arch-os to $prefix/lib/valgrind/arch-os/wurble. +# This is used by coregrind/Makefile.am and by <tool>/Makefile.am for doing +# "make install". It copies $(noinst_PROGRAMS) into $prefix/lib/valgrind/, +# doing some magic renaming as it does. +# It needs to be depended on by an 'install-exec-local' rule. +# There is similar code in Makefile.inplace.am. +# +# Details about the renaming: the loop copies a bunch of files with +# names of the form wurble-arch-os to $prefix/lib/valgrind/arch-os/wurble. # There is some complexity in the sed mangling because wurble may itself # contain a dash, which must be ignored. For example we want # exp-omega-x86-linux @@ -9,20 +14,8 @@ # and not in # $prefix/lib/valgrind/omega-x86-linux/exp # or similarly mutant place. -# -# Note there is identical sed magic in Makefile.inplace.am. -# What the second for loop does: it copies libcoregrind.a and libvex.a -# into the correct (target-specific) lib dirs at install time. -# $(noinst_LIBRARIES) will look like this: -# libcoregrind_x86_linux.a libreplacemalloc_toolpreload_x86_linux.a -# libcoregrind_amd64_linux.a libreplacemalloc_toolpreload_amd64_linux.a -# The 'if expr' filters out all but the libcoregrind_ ones. -# pD and pU are the (arch,os) target pairs separated by a dash (pD) or -# an underscore (pU) respectively, eg amd64-linux (pD) and amd64_linux (pU). -# It then copies libcoregrind.a and libvex.a to the right places. - -install-exec-local: +install-exec-local-programs: if [ -n "$(noinst_PROGRAMS)" ] ; then \ for f in $(noinst_PROGRAMS); do \ name=`echo $$f | sed -e 's/-\([^-]*-[^-.]*\)\(\..*\)\?$$/\2/'`; \ @@ -30,15 +23,5 @@ $(mkinstalldirs) $(DESTDIR)$(valdir)/$$plat; \ $(INSTALL_PROGRAM) $$f $(DESTDIR)$(valdir)/$$plat/$$name; \ done ; \ - fi ; \ - if [ -n "$(noinst_LIBRARIES)" ] ; then \ - for f in $(noinst_LIBRARIES) expr_wont_match_me; do \ - if expr match $$f libcoregrind_ > /dev/null ; then \ - pU=`echo $$f | sed -e 's/libcoregrind_//g' -e 's/\.a//g'` ; \ - pD=`echo $$pU | sed -e 's/_/-/g'` ; \ - $(INSTALL_DATA) $$f $(DESTDIR)$(valdir)/$$pD/libcoregrind.a ; \ - $(INSTALL_DATA) @VEX_DIR@/libvex_$$pU.a \ - $(DESTDIR)$(valdir)/$$pD/libvex.a ; \ - fi ; \ - done ; \ fi + Modified: trunk/Makefile.tool.am =================================================================== --- trunk/Makefile.tool.am 2009-02-06 06:39:37 UTC (rev 9117) +++ trunk/Makefile.tool.am 2009-02-06 07:12:57 UTC (rev 9118) @@ -153,3 +153,6 @@ LIBREPLACEMALLOC_LDFLAGS_PPC64_AIX5 = \ $(LIBREPLACEMALLOC_PPC64_AIX5) + + +install-exec-local: install-exec-local-programs Modified: trunk/coregrind/Makefile.am =================================================================== --- trunk/coregrind/Makefile.am 2009-02-06 06:39:37 UTC (rev 9117) +++ trunk/coregrind/Makefile.am 2009-02-06 07:12:57 UTC (rev 9118) @@ -1,8 +1,7 @@ # Be very careful when renaming any files, targets, whatever, in this -# Makefile. The install-exec-local target in ../Makefile.install.am -# does some fragile sed file-name-mangling which is liable to break if -# the names of noinst_LIBRARIES or noinst_PROGRAMS change 'shape'. +# Makefile. Various parts of the system rely on these names having +# particular forms. include $(top_srcdir)/Makefile.all.am include $(top_srcdir)/Makefile.flags.am @@ -32,23 +31,30 @@ noinst_LIBRARIES = +LIBPLATFORMS = if VGCONF_PLATFORMS_INCLUDE_X86_LINUX noinst_LIBRARIES += libcoregrind_x86_linux.a libreplacemalloc_toolpreload_x86_linux.a +LIBPLATFORMS += x86_linux endif if VGCONF_PLATFORMS_INCLUDE_AMD64_LINUX noinst_LIBRARIES += libcoregrind_amd64_linux.a libreplacemalloc_toolpreload_amd64_linux.a +LIBPLATFORMS += amd64_linux endif if VGCONF_PLATFORMS_INCLUDE_PPC32_LINUX noinst_LIBRARIES += libcoregrind_ppc32_linux.a libreplacemalloc_toolpreload_ppc32_linux.a +LIBPLATFORMS += ppc32_linux endif if VGCONF_PLATFORMS_INCLUDE_PPC64_LINUX noinst_LIBRARIES += libcoregrind_ppc64_linux.a libreplacemalloc_toolpreload_ppc64_linux.a +LIBPLATFORMS += ppc64_linux endif if VGCONF_PLATFORMS_INCLUDE_PPC32_AIX5 noinst_LIBRARIES += libcoregrind_ppc32_aix5.a libreplacemalloc_toolpreload_ppc32_aix5.a +LIBPLATFORMS += ppc32_aix5 endif if VGCONF_PLATFORMS_INCLUDE_PPC64_AIX5 noinst_LIBRARIES += libcoregrind_ppc64_aix5.a libreplacemalloc_toolpreload_ppc64_aix5.a +LIBPLATFORMS += ppc64_aix5 endif @@ -267,7 +273,6 @@ m_sigframe/sigframe-x86-linux.c \ m_syswrap/syscall-x86-linux.S \ m_syswrap/syswrap-x86-linux.c - libcoregrind_x86_linux_a_CPPFLAGS = $(AM_CPPFLAGS_X86_LINUX) libcoregrind_x86_linux_a_CFLAGS = $(AM_CFLAGS_X86_LINUX) libcoregrind_x86_linux_a_CCASFLAGS = $(AM_CCASFLAGS_X86_LINUX) @@ -280,7 +285,6 @@ m_sigframe/sigframe-amd64-linux.c \ m_syswrap/syscall-amd64-linux.S \ m_syswrap/syswrap-amd64-linux.c - libcoregrind_amd64_linux_a_CPPFLAGS = $(AM_CPPFLAGS_AMD64_LINUX) libcoregrind_amd64_linux_a_CFLAGS = $(AM_CFLAGS_AMD64_LINUX) libcoregrind_amd64_linux_a_CCASFLAGS = $(AM_CCASFLAGS_AMD64_LINUX) @@ -293,7 +297,6 @@ m_sigframe/sigframe-ppc32-linux.c \ m_syswrap/syscall-ppc32-linux.S \ m_syswrap/syswrap-ppc32-linux.c - libcoregrind_ppc32_linux_a_CPPFLAGS = $(AM_CPPFLAGS_PPC32_LINUX) libcoregrind_ppc32_linux_a_CFLAGS = $(AM_CFLAGS_PPC32_LINUX) libcoregrind_ppc32_linux_a_CCASFLAGS = $(AM_CCASFLAGS_PPC32_LINUX) @@ -306,7 +309,6 @@ m_sigframe/sigframe-ppc64-linux.c \ m_syswrap/syscall-ppc64-linux.S \ m_syswrap/syswrap-ppc64-linux.c - libcoregrind_ppc64_linux_a_CPPFLAGS = $(AM_CPPFLAGS_PPC64_LINUX) libcoregrind_ppc64_linux_a_CFLAGS = $(AM_CFLAGS_PPC64_LINUX) libcoregrind_ppc64_linux_a_CCASFLAGS = $(AM_CCASFLAGS_PPC64_LINUX) @@ -319,7 +321,6 @@ m_sigframe/sigframe-ppc32-aix5.c \ m_syswrap/syscall-ppc32-aix5.S \ m_syswrap/syswrap-ppc32-aix5.c - libcoregrind_ppc32_aix5_a_CPPFLAGS = $(AM_CPPFLAGS_PPC32_AIX5) libcoregrind_ppc32_aix5_a_CFLAGS = $(AM_CFLAGS_PPC32_AIX5) libcoregrind_ppc32_aix5_a_CCASFLAGS = $(AM_CCASFLAGS_PPC32_AIX5) @@ -333,7 +334,6 @@ m_sigframe/sigframe-ppc64-aix5.c \ m_syswrap/syscall-ppc64-aix5.S \ m_syswrap/syswrap-ppc64-aix5.c - libcoregrind_ppc64_aix5_a_CPPFLAGS = $(AM_CPPFLAGS_PPC64_AIX5) libcoregrind_ppc64_aix5_a_CFLAGS = $(AM_CFLAGS_PPC64_AIX5) libcoregrind_ppc64_aix5_a_CCASFLAGS = $(AM_CCASFLAGS_PPC64_AIX5) @@ -418,6 +418,22 @@ clean-local: $(MAKE) -C @VEX_DIR@ CC="$(CC)" AR="$(AR)" clean +# Nb: The loop installs some .a files for possible use by standalone tools +# into the correct (target-specific) lib dirs at install time. +# $(LIBPLATFORMS) will look like this: +# x86_linux amd64_linux +# pD and pU are the (arch,os) target pairs separated by a dash (pD) or +# an underscore (pU) respectively, eg amd64-linux (pD) and amd64_linux (pU). +# It then copies the libraries to the right places. +install-exec-local: install-exec-local-programs + for pU in $(LIBPLATFORMS) ; do \ + pD=`echo $$pU | sed -e 's/_/-/g'` ; \ + $(INSTALL_DATA) libcoregrind_$$pU.a $(DESTDIR)$(valdir)/$$pD/libcoregrind.a ; \ + $(INSTALL_DATA) libreplacemalloc_toolpreload_$$pU.a $(DESTDIR)$(valdir)/$$pD/libreplacemalloc_toolpreload.a ; \ + $(INSTALL_DATA) @VEX_DIR@/libvex_$$pU.a $(DESTDIR)$(valdir)/$$pD/libvex.a ; \ + done + + MANUAL_DEPS = $(noinst_HEADERS) $(include_HEADERS) EXTRA_DIST = \ |
|
From: <sv...@va...> - 2009-02-06 06:39:43
|
Author: njn
Date: 2009-02-06 06:39:37 +0000 (Fri, 06 Feb 2009)
New Revision: 9117
Log:
Merged r9116 (removed Makefile.core.am and fixed launcher-linux.c) from the
trunk.
Added:
branches/DARWIN/Makefile.inplace.am
Removed:
branches/DARWIN/Makefile.tool-inplace.am
Modified:
branches/DARWIN/Makefile.install.am
branches/DARWIN/Makefile.tool.am
branches/DARWIN/coregrind/Makefile.am
branches/DARWIN/coregrind/launcher-linux.c
Copied: branches/DARWIN/Makefile.inplace.am (from rev 9116, trunk/Makefile.inplace.am)
===================================================================
--- branches/DARWIN/Makefile.inplace.am (rev 0)
+++ branches/DARWIN/Makefile.inplace.am 2009-02-06 06:39:37 UTC (rev 9117)
@@ -0,0 +1,16 @@
+# This is used by coregrind/Makefile.am and Makefile.tool.am for doing
+# "in-place" installs. It copies $(noinst_PROGRAMS) into $inplacedir, doing
+# some magic renaming as it does.
+# For a description of what these magic sed commands do, see comments
+# in Makefile.install.am (which has identical magic)
+
+all-local:
+ if [ -n "$(noinst_PROGRAMS)" ] ; then \
+ for f in $(noinst_PROGRAMS); do \
+ name=`echo $$f | sed -e 's/-\([^-]*-[^-.]*\)\(\..*\)\{0,1\}$$/\2/'`; \
+ plat=`echo $$f | sed -e 's/^.*-\([^-]*-[^-.]*\)\(\..*\)\{0,1\}$$/\1/'`; \
+ mkdir -p $(inplacedir)/$$plat; \
+ rm -f $(inplacedir)/$$plat/$$name; \
+ ln -f -s ../../$(subdir)/$$f $(inplacedir)/$$plat/$$name; \
+ done ; \
+ fi
Modified: branches/DARWIN/Makefile.install.am
===================================================================
--- branches/DARWIN/Makefile.install.am 2009-02-06 05:34:19 UTC (rev 9116)
+++ branches/DARWIN/Makefile.install.am 2009-02-06 06:39:37 UTC (rev 9117)
@@ -10,7 +10,7 @@
# $prefix/lib/valgrind/omega-x86-linux/exp
# or similarly mutant place.
#
-# Note there is identical sed magic in Makefile.tool-inplace.am.
+# Note there is identical sed magic in Makefile.inplace.am.
# What the second for loop does: it copies libcoregrind.a and libvex.a
# into the correct (target-specific) lib dirs at install time.
Deleted: branches/DARWIN/Makefile.tool-inplace.am
===================================================================
--- branches/DARWIN/Makefile.tool-inplace.am 2009-02-06 05:34:19 UTC (rev 9116)
+++ branches/DARWIN/Makefile.tool-inplace.am 2009-02-06 06:39:37 UTC (rev 9117)
@@ -1,14 +0,0 @@
-
-# For a description of what these magic sed commands do, see comments
-# in Makefile.install.am (which has identical magic)
-
-all-local:
- if [ -n "$(noinst_PROGRAMS)" ] ; then \
- for f in $(noinst_PROGRAMS); do \
- name=`echo $$f | sed -e 's/-\([^-]*-[^-.]*\)\(\..*\)\{0,1\}$$/\2/'`; \
- plat=`echo $$f | sed -e 's/^.*-\([^-]*-[^-.]*\)\(\..*\)\{0,1\}$$/\1/'`; \
- mkdir -p $(inplacedir)/$$plat; \
- rm -f $(inplacedir)/$$plat/$$name; \
- ln -f -s ../../$(subdir)/$$f $(inplacedir)/$$plat/$$name; \
- done ; \
- fi
Modified: branches/DARWIN/Makefile.tool.am
===================================================================
--- branches/DARWIN/Makefile.tool.am 2009-02-06 05:34:19 UTC (rev 9116)
+++ branches/DARWIN/Makefile.tool.am 2009-02-06 06:39:37 UTC (rev 9117)
@@ -3,8 +3,8 @@
include $(top_srcdir)/Makefile.all.am
include $(top_srcdir)/Makefile.flags.am
+include $(top_srcdir)/Makefile.inplace.am
include $(top_srcdir)/Makefile.install.am
-include $(top_srcdir)/Makefile.tool-inplace.am
LIBREPLACEMALLOC_X86_LINUX = \
Modified: branches/DARWIN/coregrind/Makefile.am
===================================================================
--- branches/DARWIN/coregrind/Makefile.am 2009-02-06 05:34:19 UTC (rev 9116)
+++ branches/DARWIN/coregrind/Makefile.am 2009-02-06 06:39:37 UTC (rev 9117)
@@ -6,6 +6,7 @@
include $(top_srcdir)/Makefile.all.am
include $(top_srcdir)/Makefile.flags.am
+include $(top_srcdir)/Makefile.inplace.am
include $(top_srcdir)/Makefile.install.am
AM_CPPFLAGS_CORE_COMMON = \
@@ -599,15 +600,6 @@
MANUAL_DEPS = $(noinst_HEADERS) $(include_HEADERS)
-all-local:
- for f in $(noinst_PROGRAMS); do \
- p=`echo $$f | sed -e 's/^[^-]*-//' -e 's/\..*$$//'`; \
- n=`echo $$f | sed -e 's/-[^-]\{1,\}-[^-.]\{1,\}//'`; \
- mkdir -p $(inplacedir)/$$p; \
- rm -f $(inplacedir)/$$p/$$n; \
- ln -f -s ../../$(subdir)/$$f $(inplacedir)/$$p/$$n; \
- done
-
EXTRA_DIST = \
m_debuginfo/UNUSED_STABS.txt \
m_debuginfo/README.txt
Modified: branches/DARWIN/coregrind/launcher-linux.c
===================================================================
--- branches/DARWIN/coregrind/launcher-linux.c 2009-02-06 05:34:19 UTC (rev 9116)
+++ branches/DARWIN/coregrind/launcher-linux.c 2009-02-06 06:39:37 UTC (rev 9117)
@@ -243,7 +243,7 @@
(0==strcmp(VG_PLATFORM,"amd64-linux")) ||
(0==strcmp(VG_PLATFORM,"ppc32-linux")) ||
(0==strcmp(VG_PLATFORM,"ppc64-linux")))
- default_platform = VG_PLATFORM"ppc32-linux";
+ default_platform = VG_PLATFORM;
else
barf("Unknown VG_PLATFORM '%s'", VG_PLATFORM);
|
|
From: <sv...@va...> - 2009-02-06 05:34:23
|
Author: njn
Date: 2009-02-06 05:34:19 +0000 (Fri, 06 Feb 2009)
New Revision: 9116
Log:
Removed Makefile.core.am with some judicious refactoring. Also fix a stupid
typo in launcher-linux.c that was added in the last commit.
Added:
trunk/Makefile.inplace.am
Removed:
trunk/Makefile.tool-inplace.am
Modified:
trunk/Makefile.install.am
trunk/Makefile.tool.am
trunk/coregrind/Makefile.am
trunk/coregrind/launcher-linux.c
Copied: trunk/Makefile.inplace.am (from rev 9107, trunk/Makefile.tool-inplace.am)
===================================================================
--- trunk/Makefile.inplace.am (rev 0)
+++ trunk/Makefile.inplace.am 2009-02-06 05:34:19 UTC (rev 9116)
@@ -0,0 +1,16 @@
+# This is used by coregrind/Makefile.am and Makefile.tool.am for doing
+# "in-place" installs. It copies $(noinst_PROGRAMS) into $inplacedir, doing
+# some magic renaming as it does.
+# For a description of what these magic sed commands do, see comments
+# in Makefile.install.am (which has identical magic)
+
+all-local:
+ if [ -n "$(noinst_PROGRAMS)" ] ; then \
+ for f in $(noinst_PROGRAMS); do \
+ name=`echo $$f | sed -e 's/-\([^-]*-[^-.]*\)\(\..*\)\?$$/\2/'`; \
+ plat=`echo $$f | sed -e 's/^.*-\([^-]*-[^-.]*\)\(\..*\)\?$$/\1/'`; \
+ mkdir -p $(inplacedir)/$$plat; \
+ rm -f $(inplacedir)/$$plat/$$name; \
+ ln -f -s ../../$(subdir)/$$f $(inplacedir)/$$plat/$$name; \
+ done ; \
+ fi
Property changes on: trunk/Makefile.inplace.am
___________________________________________________________________
Name: svn:keywords
+ author date id revision
Name: svn:mergeinfo
+
Name: svn:eol-style
+ native
Modified: trunk/Makefile.install.am
===================================================================
--- trunk/Makefile.install.am 2009-02-06 04:59:35 UTC (rev 9115)
+++ trunk/Makefile.install.am 2009-02-06 05:34:19 UTC (rev 9116)
@@ -10,7 +10,7 @@
# $prefix/lib/valgrind/omega-x86-linux/exp
# or similarly mutant place.
#
-# Note there is identical sed magic in Makefile.tool-inplace.am.
+# Note there is identical sed magic in Makefile.inplace.am.
# What the second for loop does: it copies libcoregrind.a and libvex.a
# into the correct (target-specific) lib dirs at install time.
Deleted: trunk/Makefile.tool-inplace.am
===================================================================
--- trunk/Makefile.tool-inplace.am 2009-02-06 04:59:35 UTC (rev 9115)
+++ trunk/Makefile.tool-inplace.am 2009-02-06 05:34:19 UTC (rev 9116)
@@ -1,14 +0,0 @@
-
-# For a description of what these magic sed commands do, see comments
-# in Makefile.install.am (which has identical magic)
-
-all-local:
- if [ -n "$(noinst_PROGRAMS)" ] ; then \
- for f in $(noinst_PROGRAMS); do \
- name=`echo $$f | sed -e 's/-\([^-]*-[^-.]*\)\(\..*\)\?$$/\2/'`; \
- plat=`echo $$f | sed -e 's/^.*-\([^-]*-[^-.]*\)\(\..*\)\?$$/\1/'`; \
- mkdir -p $(inplacedir)/$$plat; \
- rm -f $(inplacedir)/$$plat/$$name; \
- ln -f -s ../../$(subdir)/$$f $(inplacedir)/$$plat/$$name; \
- done ; \
- fi
Modified: trunk/Makefile.tool.am
===================================================================
--- trunk/Makefile.tool.am 2009-02-06 04:59:35 UTC (rev 9115)
+++ trunk/Makefile.tool.am 2009-02-06 05:34:19 UTC (rev 9116)
@@ -3,8 +3,8 @@
include $(top_srcdir)/Makefile.all.am
include $(top_srcdir)/Makefile.flags.am
+include $(top_srcdir)/Makefile.inplace.am
include $(top_srcdir)/Makefile.install.am
-include $(top_srcdir)/Makefile.tool-inplace.am
LIBREPLACEMALLOC_X86_LINUX = \
Modified: trunk/coregrind/Makefile.am
===================================================================
--- trunk/coregrind/Makefile.am 2009-02-06 04:59:35 UTC (rev 9115)
+++ trunk/coregrind/Makefile.am 2009-02-06 05:34:19 UTC (rev 9116)
@@ -6,6 +6,7 @@
include $(top_srcdir)/Makefile.all.am
include $(top_srcdir)/Makefile.flags.am
+include $(top_srcdir)/Makefile.inplace.am
include $(top_srcdir)/Makefile.install.am
@@ -419,15 +420,6 @@
MANUAL_DEPS = $(noinst_HEADERS) $(include_HEADERS)
-all-local:
- for f in $(noinst_PROGRAMS); do \
- p=`echo $$f | sed -e 's/^[^-]*-//' -e 's/\..*$$//'`; \
- n=`echo $$f | sed -e 's/-[^-]\{1,\}-[^-.]\{1,\}//'`; \
- mkdir -p $(inplacedir)/$$p; \
- rm -f $(inplacedir)/$$p/$$n; \
- ln -f -s ../../$(subdir)/$$f $(inplacedir)/$$p/$$n; \
- done
-
EXTRA_DIST = \
m_debuginfo/UNUSED_STABS.txt \
m_debuginfo/README.txt
Modified: trunk/coregrind/launcher-linux.c
===================================================================
--- trunk/coregrind/launcher-linux.c 2009-02-06 04:59:35 UTC (rev 9115)
+++ trunk/coregrind/launcher-linux.c 2009-02-06 05:34:19 UTC (rev 9116)
@@ -243,7 +243,7 @@
(0==strcmp(VG_PLATFORM,"amd64-linux")) ||
(0==strcmp(VG_PLATFORM,"ppc32-linux")) ||
(0==strcmp(VG_PLATFORM,"ppc64-linux")))
- default_platform = VG_PLATFORM"ppc32-linux";
+ default_platform = VG_PLATFORM;
else
barf("Unknown VG_PLATFORM '%s'", VG_PLATFORM);
|
|
From: Nicholas N. <n.n...@gm...> - 2009-02-06 05:12:50
|
On Fri, Feb 6, 2009 at 3:59 PM, Greg Parker <gp...@ap...> wrote: > > We might need to make Valgrind's dSYM locator more robust in the face of > renames anyway. I'm not sure what the expected behavior of other tools is > when a dSYM directory is renamed. Ok. Even if we do that, I still think avoiding the awful renaming within Valgrind would be a win. N |