talons

Fork of Claws Mail https://www.claws-mail
Log | Files | Refs | README | LICENSE

commit d13a3413d799f89f6936965771d51430b39f5e33
parent 500012d987e6be3b23e9f1113fac256c149c04a6
Author: Colin Leroy <colin@colino.net>
Date:   Wed, 23 Feb 2011 10:20:07 +0000

2011-02-23 [colin]	3.7.8cvs59

	* src/Makefile.am
	* src/main.c
	* src/common/Makefile.am
	* src/common/plugin.c
	* src/common/valgrind.h
		Fix bug #2369, "valgrind.h should NOT be part of claws-mail"
		Use valgrind's own header.

Diffstat:
MChangeLog | 10++++++++++
MPATCHSETS | 1+
Mconfigure.ac | 2+-
Msrc/Makefile.am | 3++-
Msrc/common/Makefile.am | 3++-
Msrc/common/plugin.c | 11++++++++---
Dsrc/common/valgrind.h | 469-------------------------------------------------------------------------------
Msrc/main.c | 6+++---
8 files changed, 27 insertions(+), 478 deletions(-)

diff --git a/ChangeLog b/ChangeLog @@ -1,3 +1,13 @@ +2011-02-23 [colin] 3.7.8cvs59 + + * src/Makefile.am + * src/main.c + * src/common/Makefile.am + * src/common/plugin.c + * src/common/valgrind.h + Fix bug #2369, "valgrind.h should NOT be part of claws-mail" + Use valgrind's own header. + 2011-02-22 [colin] 3.7.8cvs58 * src/prefs_account.c diff --git a/PATCHSETS b/PATCHSETS @@ -4132,3 +4132,4 @@ ( cvs diff -u -r 1.395.2.425 -r 1.395.2.426 src/summaryview.c; ) > 3.7.8cvs56.patchset ( cvs diff -u -r 1.654.2.4205 -r 1.654.2.4206 configure.ac; cvs diff -u -r 1.61.2.95 -r 1.61.2.96 src/account.c; cvs diff -u -r 1.11.2.14 -r 1.11.2.15 src/account.h; cvs diff -u -r 1.12.2.63 -r 1.12.2.64 src/action.c; cvs diff -u -r 1.3.2.12 -r 1.3.2.13 src/action.h; cvs diff -u -r 1.1.14.6 -r 1.1.14.7 src/adbookbase.h; cvs diff -u -r 1.27.2.49 -r 1.27.2.50 src/addr_compl.c; cvs diff -u -r 1.8.2.13 -r 1.8.2.14 src/addr_compl.h; cvs diff -u -r 1.22.2.23 -r 1.22.2.24 src/addrbook.c; cvs diff -u -r 1.15.2.16 -r 1.15.2.17 src/addrcache.c; cvs diff -u -r 1.9.2.9 -r 1.9.2.10 src/addrcache.h; cvs diff -u -r 1.5.2.10 -r 1.5.2.11 src/addrclip.c; cvs diff -u -r 1.1.14.7 -r 1.1.14.8 src/addrclip.h; cvs diff -u -r 1.1.2.8 -r 1.1.2.9 src/addrcustomattr.c; cvs diff -u -r 1.1.2.2 -r 1.1.2.3 src/addrcustomattr.h; cvs diff -u -r 1.1.4.7 -r 1.1.4.8 src/addrdefs.h; cvs diff -u -r 1.1.2.16 -r 1.1.2.17 src/addrduplicates.c; cvs diff -u -r 1.1.2.4 -r 1.1.2.5 src/addrduplicates.h; cvs diff -u -r 1.9.2.31 -r 1.9.2.32 src/addressadd.c; cvs diff -u -r 1.2.16.7 -r 1.2.16.8 src/addressadd.h; cvs diff -u -r 1.60.2.139 -r 1.60.2.140 src/addressbook.c; cvs diff -u -r 1.18.2.16 -r 1.18.2.17 src/addressbook.h; cvs diff -u -r 1.1.2.18 -r 1.1.2.19 src/addressbook_foldersel.c; cvs diff -u -r 1.1.2.6 -r 1.1.2.7 src/addressbook_foldersel.h; cvs diff -u -r 1.5.2.14 -r 1.5.2.15 src/addressitem.h; cvs diff -u -r 1.5.10.32 -r 1.5.10.33 src/addrgather.c; cvs diff -u -r 1.3.12.6 -r 1.3.12.7 src/addrgather.h; cvs diff -u -r 1.6.10.24 -r 1.6.10.25 src/addrharvest.c; cvs diff -u -r 1.4.12.7 -r 1.4.12.8 src/addrharvest.h; cvs diff -u -r 1.28.2.46 -r 1.28.2.47 src/addrindex.c; cvs diff -u -r 1.9.2.16 -r 1.9.2.17 src/addrindex.h; cvs diff -u -r 1.13.2.20 -r 1.13.2.21 src/addritem.c; cvs diff -u -r 1.12.2.15 -r 1.12.2.16 src/addritem.h; cvs diff -u -r 1.1.4.10 -r 1.1.4.11 src/addrquery.c; cvs diff -u -r 1.3.2.8 -r 1.3.2.9 src/addrquery.h; cvs diff -u -r 1.3.2.10 -r 1.3.2.11 src/addrselect.c; cvs diff -u -r 1.1.14.8 -r 1.1.14.9 src/addrselect.h; cvs diff -u -r 1.17.2.42 -r 1.17.2.43 src/alertpanel.c; cvs diff -u -r 1.5.2.14 -r 1.5.2.15 src/alertpanel.h; cvs diff -u -r 1.1.2.5 -r 1.1.2.6 src/autofaces.c; cvs diff -u -r 1.1.2.1 -r 1.1.2.2 src/autofaces.h; cvs diff -u -r 1.2.4.24 -r 1.2.4.25 src/browseldap.c; cvs diff -u -r 1.2.4.7 -r 1.2.4.8 src/browseldap.h; cvs diff -u -r 1.65.2.71 -r 1.65.2.72 src/codeconv.c; cvs diff -u -r 1.15.2.25 -r 1.15.2.26 src/codeconv.h; cvs diff -u -r 1.382.2.567 -r 1.382.2.568 src/compose.c; cvs diff -u -r 1.50.2.61 -r 1.50.2.62 src/compose.h; cvs diff -u -r 1.23.2.35 -r 1.23.2.36 src/crash.c; cvs diff -u -r 1.1.12.3 -r 1.1.12.4 src/crash.h; cvs diff -u -r 1.5.2.11 -r 1.5.2.12 src/customheader.c; cvs diff -u -r 1.2.16.7 -r 1.2.16.8 src/customheader.h; cvs diff -u -r 1.2.16.6 -r 1.2.16.7 src/displayheader.c; cvs diff -u -r 1.2.16.6 -r 1.2.16.7 src/displayheader.h; cvs diff -u -r 1.14.2.57 -r 1.14.2.58 src/editaddress.c; cvs diff -u -r 1.3.2.9 -r 1.3.2.10 src/editaddress.h; cvs diff -u -r 1.1.2.10 -r 1.1.2.11 src/editaddress_other_attributes_ldap.c; cvs diff -u -r 1.1.2.11 -r 1.1.2.12 src/editaddress_other_attributes_ldap.h; cvs diff -u -r 1.5.12.15 -r 1.5.12.16 src/editbook.c; cvs diff -u -r 1.2.16.6 -r 1.2.16.7 src/editbook.h; cvs diff -u -r 1.11.2.25 -r 1.11.2.26 src/editgroup.c; cvs diff -u -r 1.3.2.6 -r 1.3.2.7 src/editgroup.h; cvs diff -u -r 1.5.12.17 -r 1.5.12.18 src/editjpilot.c; cvs diff -u -r 1.3.16.6 -r 1.3.16.7 src/editjpilot.h; cvs diff -u -r 1.8.2.39 -r 1.8.2.40 src/editldap.c; cvs diff -u -r 1.4.2.6 -r 1.4.2.7 src/editldap.h; cvs diff -u -r 1.10.2.17 -r 1.10.2.18 src/editldap_basedn.c; cvs diff -u -r 1.3.2.7 -r 1.3.2.8 src/editldap_basedn.h; cvs diff -u -r 1.1.2.21 -r 1.1.2.22 src/edittags.c; cvs diff -u -r 1.1.2.7 -r 1.1.2.8 src/edittags.h; cvs diff -u -r 1.5.12.16 -r 1.5.12.17 src/editvcard.c; cvs diff -u -r 1.3.16.6 -r 1.3.16.7 src/editvcard.h; cvs diff -u -r 1.3.2.27 -r 1.3.2.28 src/exphtmldlg.c; cvs diff -u -r 1.2.2.6 -r 1.2.2.7 src/exphtmldlg.h; cvs diff -u -r 1.1.4.32 -r 1.1.4.33 src/expldifdlg.c; cvs diff -u -r 1.1.4.7 -r 1.1.4.8 src/expldifdlg.h; cvs diff -u -r 1.8.2.30 -r 1.8.2.31 src/export.c; cvs diff -u -r 1.1.16.6 -r 1.1.16.7 src/export.h; cvs diff -u -r 1.5.2.28 -r 1.5.2.29 src/exporthtml.c; cvs diff -u -r 1.1.14.7 -r 1.1.14.8 src/exporthtml.h; cvs diff -u -r 1.1.4.21 -r 1.1.4.22 src/exportldif.c; cvs diff -u -r 1.1.4.7 -r 1.1.4.8 src/exportldif.h; cvs diff -u -r 1.60.2.56 -r 1.60.2.57 src/filtering.c; cvs diff -u -r 1.21.2.18 -r 1.21.2.19 src/filtering.h; cvs diff -u -r 1.213.2.199 -r 1.213.2.200 src/folder.c; cvs diff -u -r 1.87.2.62 -r 1.87.2.63 src/folder.h; cvs diff -u -r 1.2.2.35 -r 1.2.2.36 src/folder_item_prefs.c; cvs diff -u -r 1.2.2.22 -r 1.2.2.23 src/folder_item_prefs.h; cvs diff -u -r 1.26.2.45 -r 1.26.2.46 src/foldersel.c; cvs diff -u -r 1.4.12.9 -r 1.4.12.10 src/foldersel.h; cvs diff -u -r 1.3.2.19 -r 1.3.2.20 src/folderutils.c; cvs diff -u -r 1.1.4.8 -r 1.1.4.9 src/folderutils.h; cvs diff -u -r 1.207.2.218 -r 1.207.2.219 src/folderview.c; cvs diff -u -r 1.20.2.27 -r 1.20.2.28 src/folderview.h; cvs diff -u -r 1.14.2.27 -r 1.14.2.28 src/grouplistdialog.c; cvs diff -u -r 1.3.14.6 -r 1.3.14.7 src/grouplistdialog.h; cvs diff -u -r 1.8.2.32 -r 1.8.2.33 src/headerview.c; cvs diff -u -r 1.2.2.6 -r 1.2.2.7 src/headerview.h; cvs diff -u -r 1.12.2.28 -r 1.12.2.29 src/html.c; cvs diff -u -r 1.3.2.10 -r 1.3.2.11 src/html.h; cvs diff -u -r 1.1.2.28 -r 1.1.2.29 src/image_viewer.c; cvs diff -u -r 1.1.2.8 -r 1.1.2.9 src/image_viewer.h; cvs diff -u -r 1.179.2.253 -r 1.179.2.254 src/imap.c; cvs diff -u -r 1.34.2.22 -r 1.34.2.23 src/imap.h; cvs diff -u -r 1.1.2.65 -r 1.1.2.66 src/imap_gtk.c; cvs diff -u -r 1.1.2.10 -r 1.1.2.11 src/imap_gtk.h; cvs diff -u -r 1.13.2.29 -r 1.13.2.30 src/import.c; cvs diff -u -r 1.2.16.6 -r 1.2.16.7 src/import.h; cvs diff -u -r 1.14.2.25 -r 1.14.2.26 src/importldif.c; cvs diff -u -r 1.4.2.6 -r 1.4.2.7 src/importldif.h; cvs diff -u -r 1.4.12.21 -r 1.4.12.22 src/importmutt.c; cvs diff -u -r 1.2.12.6 -r 1.2.12.7 src/importmutt.h; cvs diff -u -r 1.1.14.21 -r 1.1.14.22 src/importpine.c; cvs diff -u -r 1.1.14.6 -r 1.1.14.7 src/importpine.h; cvs diff -u -r 1.149.2.102 -r 1.149.2.103 src/inc.c; cvs diff -u -r 1.29.2.15 -r 1.29.2.16 src/inc.h; cvs diff -u -r 1.18.2.31 -r 1.18.2.32 src/jpilot.c; cvs diff -u -r 1.10.2.7 -r 1.10.2.8 src/jpilot.h; cvs diff -u -r 1.2.2.22 -r 1.2.2.23 src/ldapctrl.c; cvs diff -u -r 1.1.4.15 -r 1.1.4.16 src/ldapctrl.h; cvs diff -u -r 1.1.4.8 -r 1.1.4.9 src/ldaplocate.c; cvs diff -u -r 1.1.4.7 -r 1.1.4.8 src/ldaplocate.h; cvs diff -u -r 1.3.2.37 -r 1.3.2.38 src/ldapquery.c; cvs diff -u -r 1.4.2.14 -r 1.4.2.15 src/ldapquery.h; cvs diff -u -r 1.4.2.22 -r 1.4.2.23 src/ldapserver.c; cvs diff -u -r 1.2.2.13 -r 1.2.2.14 src/ldapserver.h; cvs diff -u -r 1.1.2.28 -r 1.1.2.29 src/ldapupdate.c; cvs diff -u -r 1.1.2.3 -r 1.1.2.4 src/ldapupdate.h; cvs diff -u -r 1.1.4.20 -r 1.1.4.21 src/ldaputil.c; cvs diff -u -r 1.1.4.11 -r 1.1.4.12 src/ldaputil.h; cvs diff -u -r 1.12.2.22 -r 1.12.2.23 src/ldif.c; cvs diff -u -r 1.5.2.9 -r 1.5.2.10 src/ldif.h; cvs diff -u -r 1.3.4.7 -r 1.3.4.8 src/localfolder.c; cvs diff -u -r 1.2.4.4 -r 1.2.4.5 src/localfolder.h; cvs diff -u -r 1.115.2.232 -r 1.115.2.233 src/main.c; cvs diff -u -r 1.7.2.18 -r 1.7.2.19 src/main.h; cvs diff -u -r 1.274.2.320 -r 1.274.2.321 src/mainwindow.c; cvs diff -u -r 1.39.2.59 -r 1.39.2.60 src/mainwindow.h; cvs diff -u -r 1.11.2.15 -r 1.11.2.16 src/manual.c; cvs diff -u -r 1.8.2.10 -r 1.8.2.11 src/manual.h; cvs diff -u -r 1.75.2.68 -r 1.75.2.69 src/matcher.c; cvs diff -u -r 1.39.2.18 -r 1.39.2.19 src/matcher.h; cvs diff -u -r 1.28.2.49 -r 1.28.2.50 src/mbox.c; cvs diff -u -r 1.3.2.10 -r 1.3.2.11 src/mbox.h; cvs diff -u -r 1.3.12.34 -r 1.3.12.35 src/message_search.c; cvs diff -u -r 1.1.16.7 -r 1.1.16.8 src/message_search.h; cvs diff -u -r 1.94.2.212 -r 1.94.2.213 src/messageview.c; cvs diff -u -r 1.19.2.25 -r 1.19.2.26 src/messageview.h; cvs diff -u -r 1.79.2.70 -r 1.79.2.71 src/mh.c; cvs diff -u -r 1.9.2.9 -r 1.9.2.10 src/mh.h; cvs diff -u -r 1.2.2.38 -r 1.2.2.39 src/mh_gtk.c; cvs diff -u -r 1.1.2.7 -r 1.1.2.8 src/mh_gtk.h; cvs diff -u -r 1.83.2.166 -r 1.83.2.167 src/mimeview.c; cvs diff -u -r 1.20.2.30 -r 1.20.2.31 src/mimeview.h; cvs diff -u -r 1.16.2.69 -r 1.16.2.70 src/msgcache.c; cvs diff -u -r 1.5.2.8 -r 1.5.2.9 src/msgcache.h; cvs diff -u -r 1.6.10.17 -r 1.6.10.18 src/mutt.c; cvs diff -u -r 1.3.12.6 -r 1.3.12.7 src/mutt.h; cvs diff -u -r 1.101.2.63 -r 1.101.2.64 src/news.c; cvs diff -u -r 1.21.2.9 -r 1.21.2.10 src/news.h; cvs diff -u -r 1.2.2.33 -r 1.2.2.34 src/news_gtk.c; cvs diff -u -r 1.1.2.11 -r 1.1.2.12 src/news_gtk.h; cvs diff -u -r 1.5.2.24 -r 1.5.2.25 src/noticeview.c; cvs diff -u -r 1.3.8.10 -r 1.3.8.11 src/noticeview.h; cvs diff -u -r 1.1.2.24 -r 1.1.2.25 src/partial_download.c; cvs diff -u -r 1.1.2.9 -r 1.1.2.10 src/partial_download.h; cvs diff -u -r 1.6.2.16 -r 1.6.2.17 src/pine.c; cvs diff -u -r 1.1.14.6 -r 1.1.14.7 src/pine.h; cvs diff -u -r 1.56.2.67 -r 1.56.2.68 src/pop.c; cvs diff -u -r 1.17.2.23 -r 1.17.2.24 src/pop.h; cvs diff -u -r 1.49.2.44 -r 1.49.2.45 src/prefs_account.h; cvs diff -u -r 1.60.2.72 -r 1.60.2.73 src/prefs_actions.c; cvs diff -u -r 1.5.2.6 -r 1.5.2.7 src/prefs_actions.h; cvs diff -u -r 1.1.2.29 -r 1.1.2.30 src/prefs_compose_writing.c; cvs diff -u -r 1.1.2.8 -r 1.1.2.9 src/prefs_compose_writing.h; cvs diff -u -r 1.16.2.40 -r 1.16.2.41 src/prefs_customheader.c; cvs diff -u -r 1.2.16.7 -r 1.2.16.8 src/prefs_customheader.h; cvs diff -u -r 1.16.2.38 -r 1.16.2.39 src/prefs_display_header.c; cvs diff -u -r 1.1.16.7 -r 1.1.16.8 src/prefs_display_header.h; cvs diff -u -r 1.3.2.25 -r 1.3.2.26 src/prefs_ext_prog.c; cvs diff -u -r 1.1.4.4 -r 1.1.4.5 src/prefs_ext_prog.h; cvs diff -u -r 1.59.2.81 -r 1.59.2.82 src/prefs_filtering.c; cvs diff -u -r 1.6.2.9 -r 1.6.2.10 src/prefs_filtering.h; cvs diff -u -r 1.1.4.64 -r 1.1.4.65 src/prefs_filtering_action.c; cvs diff -u -r 1.1.4.7 -r 1.1.4.8 src/prefs_filtering_action.h; cvs diff -u -r 1.1.2.17 -r 1.1.2.18 src/prefs_folder_column.c; cvs diff -u -r 1.1.2.8 -r 1.1.2.9 src/prefs_folder_column.h; cvs diff -u -r 1.52.2.81 -r 1.52.2.82 src/prefs_folder_item.c; cvs diff -u -r 1.17.2.7 -r 1.17.2.8 src/prefs_folder_item.h; cvs diff -u -r 1.4.2.26 -r 1.4.2.27 src/prefs_fonts.c; cvs diff -u -r 1.1.4.7 -r 1.1.4.8 src/prefs_fonts.h; cvs diff -u -r 1.10.2.41 -r 1.10.2.42 src/prefs_gtk.c; cvs diff -u -r 1.5.2.19 -r 1.5.2.20 src/prefs_gtk.h; cvs diff -u -r 1.1.2.15 -r 1.1.2.16 src/prefs_image_viewer.c; cvs diff -u -r 1.1.2.7 -r 1.1.2.8 src/prefs_image_viewer.h; cvs diff -u -r 1.1.2.18 -r 1.1.2.19 src/prefs_logging.c; cvs diff -u -r 1.1.2.5 -r 1.1.2.6 src/prefs_logging.h; cvs diff -u -r 1.43.2.86 -r 1.43.2.87 src/prefs_matcher.c; cvs diff -u -r 1.4.2.9 -r 1.4.2.10 src/prefs_matcher.h; cvs diff -u -r 1.1.2.32 -r 1.1.2.33 src/prefs_message.c; cvs diff -u -r 1.1.2.5 -r 1.1.2.6 src/prefs_message.h; cvs diff -u -r 1.1.2.41 -r 1.1.2.42 src/prefs_msg_colors.c; cvs diff -u -r 1.1.2.8 -r 1.1.2.9 src/prefs_msg_colors.h; cvs diff -u -r 1.1.2.37 -r 1.1.2.38 src/prefs_other.c; cvs diff -u -r 1.1.2.5 -r 1.1.2.6 src/prefs_other.h; cvs diff -u -r 1.1.2.33 -r 1.1.2.34 src/prefs_quote.c; cvs diff -u -r 1.1.2.5 -r 1.1.2.6 src/prefs_quote.h; cvs diff -u -r 1.1.2.27 -r 1.1.2.28 src/prefs_receive.c; cvs diff -u -r 1.1.2.5 -r 1.1.2.6 src/prefs_receive.h; cvs diff -u -r 1.1.2.27 -r 1.1.2.28 src/prefs_send.c; cvs diff -u -r 1.1.2.5 -r 1.1.2.6 src/prefs_send.h; cvs diff -u -r 1.5.2.41 -r 1.5.2.42 src/prefs_spelling.c; cvs diff -u -r 1.1.4.6 -r 1.1.4.7 src/prefs_spelling.h; cvs diff -u -r 1.1.2.64 -r 1.1.2.65 src/prefs_summaries.c; cvs diff -u -r 1.1.2.8 -r 1.1.2.9 src/prefs_summaries.h; cvs diff -u -r 1.10.2.26 -r 1.10.2.27 src/prefs_summary_column.c; cvs diff -u -r 1.1.16.7 -r 1.1.16.8 src/prefs_summary_column.h; cvs diff -u -r 1.1.2.9 -r 1.1.2.10 src/prefs_summary_open.c; cvs diff -u -r 1.1.2.4 -r 1.1.2.5 src/prefs_summary_open.h; cvs diff -u -r 1.12.2.74 -r 1.12.2.75 src/prefs_template.c; cvs diff -u -r 1.1.16.10 -r 1.1.16.11 src/prefs_template.h; cvs diff -u -r 1.3.2.67 -r 1.3.2.68 src/prefs_themes.c; cvs diff -u -r 1.1.4.7 -r 1.1.4.8 src/prefs_themes.h; cvs diff -u -r 1.30.2.62 -r 1.30.2.63 src/prefs_toolbar.c; cvs diff -u -r 1.5.2.11 -r 1.5.2.12 src/prefs_toolbar.h; cvs diff -u -r 1.1.2.21 -r 1.1.2.22 src/prefs_wrapping.c; cvs diff -u -r 1.1.2.7 -r 1.1.2.8 src/prefs_wrapping.h; cvs diff -u -r 1.1.2.30 -r 1.1.2.31 src/printing.c; cvs diff -u -r 1.1.2.8 -r 1.1.2.9 src/printing.h; cvs diff -u -r 1.10.2.25 -r 1.10.2.26 src/privacy.c; cvs diff -u -r 1.10.2.20 -r 1.10.2.21 src/privacy.h; cvs diff -u -r 1.47.2.53 -r 1.47.2.54 src/procheader.c; cvs diff -u -r 1.11.2.11 -r 1.11.2.12 src/procheader.h; cvs diff -u -r 1.49.2.138 -r 1.49.2.139 src/procmime.c; cvs diff -u -r 1.17.2.25 -r 1.17.2.26 src/procmime.h; cvs diff -u -r 1.150.2.116 -r 1.150.2.117 src/procmsg.c; cvs diff -u -r 1.60.2.55 -r 1.60.2.56 src/procmsg.h; cvs diff -u -r 1.8.2.43 -r 1.8.2.44 src/quote_fmt.c; cvs diff -u -r 1.17.2.15 -r 1.17.2.16 src/recv.c; cvs diff -u -r 1.6.12.9 -r 1.6.12.10 src/recv.h; cvs diff -u -r 1.1.4.8 -r 1.1.4.9 src/remotefolder.c; cvs diff -u -r 1.1.4.9 -r 1.1.4.10 src/remotefolder.h; cvs diff -u -r 1.17.2.58 -r 1.17.2.59 src/send_message.c; cvs diff -u -r 1.1.4.10 -r 1.1.4.11 src/send_message.h; cvs diff -u -r 1.5.2.16 -r 1.5.2.17 src/setup.c; cvs diff -u -r 1.1.1.1.16.7 -r 1.1.1.1.16.8 src/setup.h; cvs diff -u -r 1.9.2.25 -r 1.9.2.26 src/sourcewindow.c; cvs diff -u -r 1.1.1.1.16.9 -r 1.1.1.1.16.10 src/sourcewindow.h; cvs diff -u -r 1.3.2.33 -r 1.3.2.34 src/ssl_manager.c; cvs diff -u -r 1.2.2.10 -r 1.2.2.11 src/ssl_manager.h; cvs diff -u -r 1.5.2.28 -r 1.5.2.29 src/statusbar.c; cvs diff -u -r 1.3.2.11 -r 1.3.2.12 src/statusbar.h; cvs diff -u -r 1.25.2.67 -r 1.25.2.68 src/stock_pixmap.c; cvs diff -u -r 1.18.2.41 -r 1.18.2.42 src/stock_pixmap.h; cvs diff -u -r 1.15.2.60 -r 1.15.2.61 src/summary_search.c; cvs diff -u -r 1.3.16.6 -r 1.3.16.7 src/summary_search.h; cvs diff -u -r 1.395.2.426 -r 1.395.2.427 src/summaryview.c; cvs diff -u -r 1.68.2.56 -r 1.68.2.57 src/summaryview.h; cvs diff -u -r 1.12.2.26 -r 1.12.2.27 src/textview.h; cvs diff -u -r 1.43.2.121 -r 1.43.2.122 src/toolbar.c; cvs diff -u -r 1.19.2.32 -r 1.19.2.33 src/toolbar.h; cvs diff -u -r 1.13.2.21 -r 1.13.2.22 src/undo.c; cvs diff -u -r 1.5.14.11 -r 1.5.14.12 src/undo.h; cvs diff -u -r 1.8.2.17 -r 1.8.2.18 src/unmime.c; cvs diff -u -r 1.2.10.8 -r 1.2.10.9 src/unmime.h; cvs diff -u -r 1.1.2.13 -r 1.1.2.14 src/uri_opener.c; cvs diff -u -r 1.1.2.4 -r 1.1.2.5 src/uri_opener.h; cvs diff -u -r 1.14.2.19 -r 1.14.2.20 src/vcard.c; cvs diff -u -r 1.5.12.7 -r 1.5.12.8 src/vcard.h; cvs diff -u -r 1.1.2.80 -r 1.1.2.81 src/wizard.c; cvs diff -u -r 1.1.2.10 -r 1.1.2.11 src/wizard.h; cvs diff -u -r 1.1.4.11 -r 1.1.4.12 src/common/base64.c; cvs diff -u -r 1.1.4.8 -r 1.1.4.9 src/common/base64.h; cvs diff -u -r 1.1.2.8 -r 1.1.2.9 src/common/claws.c; cvs diff -u -r 1.9.2.50 -r 1.9.2.51 src/common/defs.h; cvs diff -u -r 1.10.2.9 -r 1.10.2.10 src/common/hooks.c; cvs diff -u -r 1.6.2.6 -r 1.6.2.7 src/common/hooks.h; cvs diff -u -r 1.6.2.21 -r 1.6.2.22 src/common/log.c; cvs diff -u -r 1.4.2.8 -r 1.4.2.9 src/common/log.h; cvs diff -u -r 1.1.4.11 -r 1.1.4.12 src/common/mgutils.c; cvs diff -u -r 1.1.4.7 -r 1.1.4.8 src/common/mgutils.h; cvs diff -u -r 1.3.2.12 -r 1.3.2.13 src/common/passcrypt.c; cvs diff -u -r 1.13.2.40 -r 1.13.2.41 src/common/plugin.c; cvs diff -u -r 1.5.2.15 -r 1.5.2.16 src/common/plugin.h; cvs diff -u -r 1.5.2.17 -r 1.5.2.18 src/common/prefs.c; cvs diff -u -r 1.3.2.7 -r 1.3.2.8 src/common/prefs.h; cvs diff -u -r 1.1.4.6 -r 1.1.4.7 src/common/progressindicator.c; cvs diff -u -r 1.1.4.6 -r 1.1.4.7 src/common/progressindicator.h; cvs diff -u -r 1.3.2.15 -r 1.3.2.16 src/common/quoted-printable.c; cvs diff -u -r 1.3.2.7 -r 1.3.2.8 src/common/quoted-printable.h; cvs diff -u -r 1.23.2.25 -r 1.23.2.26 src/common/session.c; cvs diff -u -r 1.8.2.17 -r 1.8.2.18 src/common/session.h; cvs diff -u -r 1.11.2.29 -r 1.11.2.30 src/common/smtp.c; cvs diff -u -r 1.6.2.17 -r 1.6.2.18 src/common/smtp.h; cvs diff -u -r 1.13.2.45 -r 1.13.2.46 src/common/socket.c; cvs diff -u -r 1.13.2.23 -r 1.13.2.24 src/common/socket.h; cvs diff -u -r 1.9.2.42 -r 1.9.2.43 src/common/ssl.c; cvs diff -u -r 1.2.2.13 -r 1.2.2.14 src/common/ssl.h; cvs diff -u -r 1.4.2.37 -r 1.4.2.38 src/common/ssl_certificate.c; cvs diff -u -r 1.1.4.14 -r 1.1.4.15 src/common/ssl_certificate.h; cvs diff -u -r 1.2.2.9 -r 1.2.2.10 src/common/stringtable.c; cvs diff -u -r 1.1.4.7 -r 1.1.4.8 src/common/stringtable.h; cvs diff -u -r 1.1.2.10 -r 1.1.2.11 src/common/tags.c; cvs diff -u -r 1.1.2.5 -r 1.1.2.6 src/common/tags.h; cvs diff -u -r 1.2.4.30 -r 1.2.4.31 src/common/template.c; cvs diff -u -r 1.1.4.11 -r 1.1.4.12 src/common/template.h; cvs diff -u -r 1.1.2.10 -r 1.1.2.11 src/common/timing.h; cvs diff -u -r 1.36.2.190 -r 1.36.2.191 src/common/utils.c; cvs diff -u -r 1.20.2.75 -r 1.20.2.76 src/common/utils.h; cvs diff -u -r 1.1.4.26 -r 1.1.4.27 src/common/xml.c; cvs diff -u -r 1.1.4.14 -r 1.1.4.15 src/common/xml.h; cvs diff -u -r 1.1.4.11 -r 1.1.4.12 src/common/xmlprops.c; cvs diff -u -r 1.2.2.8 -r 1.2.2.9 src/common/xmlprops.h; cvs diff -u -r 1.1.4.5 -r 1.1.4.6 src/etpan/etpan-errors.h; cvs diff -u -r 1.1.4.8 -r 1.1.4.9 src/etpan/etpan-thread-manager-types.h; cvs diff -u -r 1.1.4.14 -r 1.1.4.15 src/etpan/etpan-thread-manager.c; cvs diff -u -r 1.1.4.7 -r 1.1.4.8 src/etpan/etpan-thread-manager.h; cvs diff -u -r 1.1.4.112 -r 1.1.4.113 src/etpan/imap-thread.c; cvs diff -u -r 1.1.4.27 -r 1.1.4.28 src/etpan/imap-thread.h; cvs diff -u -r 1.1.2.12 -r 1.1.2.13 src/etpan/nntp-thread.c; cvs diff -u -r 1.1.2.3 -r 1.1.2.4 src/etpan/nntp-thread.h; cvs diff -u -r 1.1.4.3 -r 1.1.4.4 src/gtk/about.h; cvs diff -u -r 1.2.2.30 -r 1.2.2.31 src/gtk/colorlabel.c; cvs diff -u -r 1.1.4.9 -r 1.1.4.10 src/gtk/colorlabel.h; cvs diff -u -r 1.1.4.14 -r 1.1.4.15 src/gtk/colorsel.c; cvs diff -u -r 1.1.4.6 -r 1.1.4.7 src/gtk/colorsel.h; cvs diff -u -r 1.1.2.17 -r 1.1.2.18 src/gtk/combobox.c; cvs diff -u -r 1.1.2.14 -r 1.1.2.15 src/gtk/combobox.h; cvs diff -u -r 1.5.2.29 -r 1.5.2.30 src/gtk/description_window.c; cvs diff -u -r 1.1.4.8 -r 1.1.4.9 src/gtk/description_window.h; cvs diff -u -r 1.2.2.41 -r 1.2.2.42 src/gtk/filesel.c; cvs diff -u -r 1.1.4.12 -r 1.1.4.13 src/gtk/filesel.h; cvs diff -u -r 1.1.2.19 -r 1.1.2.20 src/gtk/foldersort.c; cvs diff -u -r 1.1.2.7 -r 1.1.2.8 src/gtk/foldersort.h; cvs diff -u -r 1.1.4.59 -r 1.1.4.60 src/gtk/gtksctree.c; cvs diff -u -r 1.1.4.16 -r 1.1.4.17 src/gtk/gtksctree.h; cvs diff -u -r 1.1.4.13 -r 1.1.4.14 src/gtk/gtkshruler.c; cvs diff -u -r 1.1.4.6 -r 1.1.4.7 src/gtk/gtkshruler.h; cvs diff -u -r 1.5.2.93 -r 1.5.2.94 src/gtk/gtkutils.c; cvs diff -u -r 1.4.2.51 -r 1.4.2.52 src/gtk/gtkutils.h; cvs diff -u -r 1.1.2.18 -r 1.1.2.19 src/gtk/icon_legend.c; cvs diff -u -r 1.1.2.4 -r 1.1.2.5 src/gtk/icon_legend.h; cvs diff -u -r 1.2.2.39 -r 1.2.2.40 src/gtk/inputdialog.c; cvs diff -u -r 1.1.2.12 -r 1.1.2.13 src/gtk/inputdialog.h; cvs diff -u -r 1.1.4.36 -r 1.1.4.37 src/gtk/logwindow.c; cvs diff -u -r 1.1.4.17 -r 1.1.4.18 src/gtk/logwindow.h; cvs diff -u -r 1.1.4.9 -r 1.1.4.10 src/gtk/manage_window.c; cvs diff -u -r 1.1.4.9 -r 1.1.4.10 src/gtk/manage_window.h; cvs diff -u -r 1.5.2.41 -r 1.5.2.42 src/gtk/menu.c; cvs diff -u -r 1.4.2.23 -r 1.4.2.24 src/gtk/menu.h; cvs diff -u -r 1.5.2.58 -r 1.5.2.59 src/gtk/pluginwindow.c; cvs diff -u -r 1.1.4.6 -r 1.1.4.7 src/gtk/pluginwindow.h; cvs diff -u -r 1.12.2.54 -r 1.12.2.55 src/gtk/prefswindow.c; cvs diff -u -r 1.7.2.15 -r 1.7.2.16 src/gtk/prefswindow.h; cvs diff -u -r 1.1.4.26 -r 1.1.4.27 src/gtk/progressdialog.c; cvs diff -u -r 1.1.4.15 -r 1.1.4.16 src/gtk/progressdialog.h; cvs diff -u -r 1.1.2.99 -r 1.1.2.100 src/gtk/quicksearch.c; cvs diff -u -r 1.1.2.21 -r 1.1.2.22 src/gtk/quicksearch.h; cvs diff -u -r 1.1.2.10 -r 1.1.2.11 src/gtk/spell_entry.c; cvs diff -u -r 1.1.2.4 -r 1.1.2.5 src/gtk/spell_entry.h; cvs diff -u -r 1.9.2.31 -r 1.9.2.32 src/gtk/sslcertwindow.c; cvs diff -u -r 1.6.2.11 -r 1.6.2.12 src/gtk/sslcertwindow.h; cvs diff -u -r 1.1.2.40 -r 1.1.2.41 src/plugins/bogofilter/bogofilter.c; cvs diff -u -r 1.1.2.15 -r 1.1.2.16 src/plugins/bogofilter/bogofilter.h; cvs diff -u -r 1.1.2.37 -r 1.1.2.38 src/plugins/bogofilter/bogofilter_gtk.c; cvs diff -u -r 1.13.2.18 -r 1.13.2.19 src/plugins/demo/demo.c; cvs diff -u -r 1.5.2.25 -r 1.5.2.26 src/plugins/dillo_viewer/dillo_prefs.c; cvs diff -u -r 1.2.4.9 -r 1.2.4.10 src/plugins/dillo_viewer/dillo_prefs.h; cvs diff -u -r 1.12.2.28 -r 1.12.2.29 src/plugins/dillo_viewer/dillo_viewer.c; cvs diff -u -r 1.1.2.33 -r 1.1.2.34 src/plugins/pgpcore/passphrase.c; cvs diff -u -r 1.1.2.8 -r 1.1.2.9 src/plugins/pgpcore/passphrase.h; cvs diff -u -r 1.1.2.17 -r 1.1.2.18 src/plugins/pgpcore/pgp_viewer.c; cvs diff -u -r 1.1.2.7 -r 1.1.2.8 src/plugins/pgpcore/pgp_viewer.h; cvs diff -u -r 1.1.2.20 -r 1.1.2.21 src/plugins/pgpcore/plugin.c; cvs diff -u -r 1.1.2.33 -r 1.1.2.34 src/plugins/pgpcore/prefs_gpg.c; cvs diff -u -r 1.1.2.13 -r 1.1.2.14 src/plugins/pgpcore/prefs_gpg.h; cvs diff -u -r 1.1.2.28 -r 1.1.2.29 src/plugins/pgpcore/select-keys.c; cvs diff -u -r 1.1.2.10 -r 1.1.2.11 src/plugins/pgpcore/select-keys.h; cvs diff -u -r 1.1.2.67 -r 1.1.2.68 src/plugins/pgpcore/sgpgme.c; cvs diff -u -r 1.1.2.14 -r 1.1.2.15 src/plugins/pgpcore/sgpgme.h; cvs diff -u -r 1.1.2.47 -r 1.1.2.48 src/plugins/pgpinline/pgpinline.c; cvs diff -u -r 1.1.2.8 -r 1.1.2.9 src/plugins/pgpinline/pgpinline.h; cvs diff -u -r 1.1.2.19 -r 1.1.2.20 src/plugins/pgpinline/plugin.c; cvs diff -u -r 1.1.2.57 -r 1.1.2.58 src/plugins/pgpmime/pgpmime.c; cvs diff -u -r 1.1.2.8 -r 1.1.2.9 src/plugins/pgpmime/pgpmime.h; cvs diff -u -r 1.1.2.28 -r 1.1.2.29 src/plugins/pgpmime/plugin.c; cvs diff -u -r 1.1.2.2 -r 1.1.2.3 src/plugins/smime/plugin.c; cvs diff -u -r 1.1.2.9 -r 1.1.2.10 src/plugins/smime/smime.c; cvs diff -u -r 1.1.2.2 -r 1.1.2.3 src/plugins/smime/smime.h; cvs diff -u -r 1.18.2.64 -r 1.18.2.65 src/plugins/spamassassin/spamassassin.c; cvs diff -u -r 1.4.2.19 -r 1.4.2.20 src/plugins/spamassassin/spamassassin.h; cvs diff -u -r 1.23.2.54 -r 1.23.2.55 src/plugins/spamassassin/spamassassin_gtk.c; cvs diff -u -r 1.14.2.75 -r 1.14.2.76 src/plugins/trayicon/trayicon.c; cvs diff -u -r 1.1.2.8 -r 1.1.2.9 src/plugins/trayicon/trayicon_prefs.c; cvs diff -u -r 1.1.2.5 -r 1.1.2.6 src/plugins/trayicon/trayicon_prefs.h; ) > 3.7.8cvs57.patchset ( cvs diff -u -r 1.105.2.164 -r 1.105.2.165 src/prefs_account.c; ) > 3.7.8cvs58.patchset +( cvs diff -u -r 1.155.2.96 -r 1.155.2.97 src/Makefile.am; cvs diff -u -r 1.115.2.233 -r 1.115.2.234 src/main.c; cvs diff -u -r 1.24.2.20 -r 1.24.2.21 src/common/Makefile.am; cvs diff -u -r 1.13.2.41 -r 1.13.2.42 src/common/plugin.c; cvs diff -u -r -1.1.2.1 -r -1.1.2.2 src/common/valgrind.h; ) > 3.7.8cvs59.patchset diff --git a/configure.ac b/configure.ac @@ -12,7 +12,7 @@ MINOR_VERSION=7 MICRO_VERSION=8 INTERFACE_AGE=0 BINARY_AGE=0 -EXTRA_VERSION=58 +EXTRA_VERSION=59 EXTRA_RELEASE= EXTRA_GTK2_VERSION= diff --git a/src/Makefile.am b/src/Makefile.am @@ -548,7 +548,8 @@ AM_CPPFLAGS = \ $(MAEMO_CFLAGS) \ $(CONIC_CFLAGS) \ $(DBUS_CFLAGS) \ - $(NETWORKMANAGER_SUPPORT_CFLAGS) + $(NETWORKMANAGER_SUPPORT_CFLAGS) \ + $(VALGRIND_CFLAGS) #no-unused-function is there because of bison stuff #no-deprecated-declarations because of gpgme_data_rewind, which we have diff --git a/src/common/Makefile.am b/src/common/Makefile.am @@ -66,7 +66,6 @@ clawscommoninclude_HEADERS = $(arch_headers) \ timing.h \ utils.h \ uuencode.h \ - valgrind.h \ version.h \ xml.h \ xmlprops.h @@ -77,6 +76,7 @@ INCLUDES = \ AM_CPPFLAGS = \ $(GLIB_CFLAGS) \ $(MAEMO_CFLAGS) \ + $(VALGRIND_CFLAGS) \ -DLOCALEDIR=\""$(localedir)"\" \ -DPLUGINDIR=\"$(PLUGINDIR)\" \ -DDATAROOTDIR=\""$(datarootdir)"\" \ @@ -90,5 +90,6 @@ libclawscommon_la_LIBADD = \ $(MAEMO_LIBS) EXTRA_DIST = \ + valgrind.h \ version.h.in fnmatch_loop.c diff --git a/src/common/plugin.c b/src/common/plugin.c @@ -17,7 +17,15 @@ * */ + +#ifdef HAVE_CONFIG_H +# include "config.h" +#endif + #include <stdio.h> +#ifdef HAVE_VALGRIND +#include <valgrind.h> +#endif #include "defs.h" #include <glib.h> @@ -35,9 +43,6 @@ #include "claws.h" #include "timing.h" -#ifdef HAVE_VALGRIND -#include "valgrind.h" -#endif struct _Plugin { gchar *filename; diff --git a/src/common/valgrind.h b/src/common/valgrind.h @@ -1,469 +0,0 @@ -/* -*- c -*- - ---------------------------------------------------------------- - - Notice that the following BSD-style license applies to this one - file (valgrind.h) only. The entire rest of Valgrind is licensed - under the terms of the GNU General Public License, version 2. See - the COPYING file in the source distribution for details. - - ---------------------------------------------------------------- - - This file is part of Valgrind, a dynamic binary instrumentation - framework. - - Copyright (C) 2000-2005 Julian Seward. All rights reserved. - - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions - are met: - - 1. Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - - 2. The origin of this software must not be misrepresented; you must - not claim that you wrote the original software. If you use this - software in a product, an acknowledgment in the product - documentation would be appreciated but is not required. - - 3. Altered source versions must be plainly marked as such, and must - not be misrepresented as being the original software. - - 4. The name of the author may not be used to endorse or promote - products derived from this software without specific prior written - permission. - - THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS - OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED - WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY - DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE - GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, - WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS - SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - ---------------------------------------------------------------- - - Notice that the above BSD-style license applies to this one file - (valgrind.h) only. The entire rest of Valgrind is licensed under - the terms of the GNU General Public License, version 2. See the - COPYING file in the source distribution for details. - - ---------------------------------------------------------------- -*/ - - -/* This file is for inclusion into client (your!) code. - - You can use these macros to manipulate and query Valgrind's - execution inside your own programs. - - The resulting executables will still run without Valgrind, just a - little bit more slowly than they otherwise would, but otherwise - unchanged. When not running on valgrind, each client request - consumes very few (eg. < 10) instructions, so the resulting performance - loss is negligible unless you plan to execute client requests - millions of times per second. Nevertheless, if that is still a - problem, you can compile with the NVALGRIND symbol defined (gcc - -DNVALGRIND) so that client requests are not even compiled in. */ - -#ifndef __VALGRIND_H -#define __VALGRIND_H - -#include <stdarg.h> - -/* Nb: this file might be included in a file compiled with -ansi. So - we can't use C++ style "//" comments nor the "asm" keyword (instead - use "__asm__"). */ - -/* If we're not compiling for our target architecture, don't generate - any inline asms. Note that in this file we're using the compiler's - CPP symbols for identifying architectures, which are different to - the ones we use within the rest of Valgrind. */ -#if !defined(__i386__) && !defined(__x86_64__) && !defined(__powerpc__) -# ifndef NVALGRIND -# define NVALGRIND 1 -# endif /* NVALGRIND */ -#endif - -/* ------------------------------------------------------------------ */ -/* The architecture-specific part */ -/* ------------------------------------------------------------------ */ - -#ifdef NVALGRIND - -/* Define NVALGRIND to completely remove the Valgrind magic sequence - from the compiled code (analogous to NDEBUG's effects on assert()) */ -#define VALGRIND_MAGIC_SEQUENCE( \ - _zzq_rlval, _zzq_default, _zzq_request, \ - _zzq_arg1, _zzq_arg2, _zzq_arg3, _zzq_arg4) \ - { \ - (_zzq_rlval) = (_zzq_default); \ - } - -#else /* NVALGRIND */ - -/* The following defines the magic code sequences which the JITter spots and - handles magically. Don't look too closely at them; they will rot - your brain. We must ensure that the default value gets put in the return - slot, so that everything works when this is executed not under Valgrind. - Args are passed in a memory block, and so there's no intrinsic limit to - the number that could be passed, but it's currently four. - - The macro args are: - _zzq_rlval result lvalue - _zzq_default default value (result returned when running on real CPU) - _zzq_request request code - _zzq_arg1..4 request params - - Nb: we put the assembly code sequences for all architectures in this one - file. This is because this file must be stand-alone, and we don't want - to have multiple files. -*/ - -#ifdef __x86_64__ -#define VALGRIND_MAGIC_SEQUENCE( \ - _zzq_rlval, _zzq_default, _zzq_request, \ - _zzq_arg1, _zzq_arg2, _zzq_arg3, _zzq_arg4) \ - \ - { volatile unsigned long long _zzq_args[5]; \ - _zzq_args[0] = (volatile unsigned long long)(_zzq_request); \ - _zzq_args[1] = (volatile unsigned long long)(_zzq_arg1); \ - _zzq_args[2] = (volatile unsigned long long)(_zzq_arg2); \ - _zzq_args[3] = (volatile unsigned long long)(_zzq_arg3); \ - _zzq_args[4] = (volatile unsigned long long)(_zzq_arg4); \ - __asm__ volatile("roll $29, %%eax ; roll $3, %%eax\n\t" \ - "rorl $27, %%eax ; rorl $5, %%eax\n\t" \ - "roll $13, %%eax ; roll $19, %%eax" \ - : "=d" (_zzq_rlval) \ - : "a" (&_zzq_args[0]), "0" (_zzq_default) \ - : "cc", "memory" \ - ); \ - } -#endif /* __x86_64__ */ - -#ifdef __i386__ -#define VALGRIND_MAGIC_SEQUENCE( \ - _zzq_rlval, _zzq_default, _zzq_request, \ - _zzq_arg1, _zzq_arg2, _zzq_arg3, _zzq_arg4) \ - \ - { unsigned int _zzq_args[5]; \ - _zzq_args[0] = (unsigned int)(_zzq_request); \ - _zzq_args[1] = (unsigned int)(_zzq_arg1); \ - _zzq_args[2] = (unsigned int)(_zzq_arg2); \ - _zzq_args[3] = (unsigned int)(_zzq_arg3); \ - _zzq_args[4] = (unsigned int)(_zzq_arg4); \ - __asm__ volatile("roll $29, %%eax ; roll $3, %%eax\n\t" \ - "rorl $27, %%eax ; rorl $5, %%eax\n\t" \ - "roll $13, %%eax ; roll $19, %%eax" \ - : "=d" (_zzq_rlval) \ - : "a" (&_zzq_args[0]), "0" (_zzq_default) \ - : "cc", "memory" \ - ); \ - } -#endif /* __i386__ */ - -#ifdef __powerpc__ -#define VALGRIND_MAGIC_SEQUENCE( \ - _zzq_rlval, _zzq_default, _zzq_request, \ - _zzq_arg1, _zzq_arg2, _zzq_arg3, _zzq_arg4) \ - \ - { volatile unsigned int _zzq_args[5]; \ - register unsigned int _zzq_tmp __asm__("r3"); \ - register volatile unsigned int *_zzq_ptr __asm__("r4"); \ - _zzq_args[0] = (volatile unsigned int)(_zzq_request); \ - _zzq_args[1] = (volatile unsigned int)(_zzq_arg1); \ - _zzq_args[2] = (volatile unsigned int)(_zzq_arg2); \ - _zzq_args[3] = (volatile unsigned int)(_zzq_arg3); \ - _zzq_args[4] = (volatile unsigned int)(_zzq_arg4); \ - _zzq_ptr = _zzq_args; \ - __asm__ volatile("tw 0,3,27\n\t" \ - "rlwinm 0,0,29,0,0\n\t" \ - "rlwinm 0,0,3,0,0\n\t" \ - "rlwinm 0,0,13,0,0\n\t" \ - "rlwinm 0,0,19,0,0\n\t" \ - "nop\n\t" \ - : "=r" (_zzq_tmp) \ - : "0" (_zzq_default), "r" (_zzq_ptr) \ - : "memory"); \ - _zzq_rlval = (__typeof__(_zzq_rlval)) _zzq_tmp; \ - } -#endif /* __powerpc__ */ - -/* Insert assembly code for other architectures here... */ - -#endif /* NVALGRIND */ - - -/* ------------------------------------------------------------------ */ -/* The architecture-independent part */ -/* ------------------------------------------------------------------ */ - -/* Some request codes. There are many more of these, but most are not - exposed to end-user view. These are the public ones, all of the - form 0x1000 + small_number. - - Core ones are in the range 0x00000000--0x0000ffff. The non-public ones - start at 0x2000. -*/ - -/* These macros are used by tools -- they must be public, but don't embed them - * into other programs. */ -#define VG_USERREQ_TOOL_BASE(a,b) \ - ((unsigned int)(((a)&0xff) << 24 | ((b)&0xff) << 16)) -#define VG_IS_TOOL_USERREQ(a, b, v) \ - (VG_USERREQ_TOOL_BASE(a,b) == ((v) & 0xffff0000)) - -typedef - enum { VG_USERREQ__RUNNING_ON_VALGRIND = 0x1001, - VG_USERREQ__DISCARD_TRANSLATIONS = 0x1002, - - /* These allow any function to be called from the - simulated CPU but run on the real CPU. - Nb: the first arg passed to the function is always the ThreadId of - the running thread! So CLIENT_CALL0 actually requires a 1 arg - function, etc. */ - VG_USERREQ__CLIENT_CALL0 = 0x1101, - VG_USERREQ__CLIENT_CALL1 = 0x1102, - VG_USERREQ__CLIENT_CALL2 = 0x1103, - VG_USERREQ__CLIENT_CALL3 = 0x1104, - - /* Can be useful in regression testing suites -- eg. can send - Valgrind's output to /dev/null and still count errors. */ - VG_USERREQ__COUNT_ERRORS = 0x1201, - - /* These are useful and can be interpreted by any tool that tracks - malloc() et al, by using vg_replace_malloc.c. */ - VG_USERREQ__MALLOCLIKE_BLOCK = 0x1301, - VG_USERREQ__FREELIKE_BLOCK = 0x1302, - /* Memory pool support. */ - VG_USERREQ__CREATE_MEMPOOL = 0x1303, - VG_USERREQ__DESTROY_MEMPOOL = 0x1304, - VG_USERREQ__MEMPOOL_ALLOC = 0x1305, - VG_USERREQ__MEMPOOL_FREE = 0x1306, - - /* Allow printfs to valgrind log. */ - VG_USERREQ__PRINTF = 0x1401, - VG_USERREQ__PRINTF_BACKTRACE = 0x1402, - - /* Stack support. */ - VG_USERREQ__STACK_REGISTER = 0x1501, - VG_USERREQ__STACK_DEREGISTER = 0x1502, - VG_USERREQ__STACK_CHANGE = 0x1503, - } Vg_ClientRequest; - -#ifndef __GNUC__ -#define __extension__ -#endif - -/* Returns the number of Valgrinds this code is running under. That is, - 0 if running natively, 1 if running under Valgrind, 2 if running under - Valgrind which is running under another Valgrind, etc. */ -#define RUNNING_ON_VALGRIND __extension__ \ - ({unsigned int _qzz_res; \ - VALGRIND_MAGIC_SEQUENCE(_qzz_res, 0 /* returned if not */, \ - VG_USERREQ__RUNNING_ON_VALGRIND, \ - 0, 0, 0, 0); \ - _qzz_res; \ - }) - - -/* Discard translation of code in the range [_qzz_addr .. _qzz_addr + - _qzz_len - 1]. Useful if you are debugging a JITter or some such, - since it provides a way to make sure valgrind will retranslate the - invalidated area. Returns no value. */ -#define VALGRIND_DISCARD_TRANSLATIONS(_qzz_addr,_qzz_len) \ - {unsigned int _qzz_res; \ - VALGRIND_MAGIC_SEQUENCE(_qzz_res, 0, \ - VG_USERREQ__DISCARD_TRANSLATIONS, \ - _qzz_addr, _qzz_len, 0, 0); \ - } - -#ifdef NVALGRIND - -#define VALGRIND_PRINTF(...) -#define VALGRIND_PRINTF_BACKTRACE(...) - -#else /* NVALGRIND */ - -int VALGRIND_PRINTF(const char *format, ...) - __attribute__((format(__printf__, 1, 2))); -__attribute__((weak)) -int -VALGRIND_PRINTF(const char *format, ...) -{ - unsigned long _qzz_res; - va_list vargs; - va_start(vargs, format); - VALGRIND_MAGIC_SEQUENCE(_qzz_res, 0, VG_USERREQ__PRINTF, - (unsigned long)format, (unsigned long)vargs, 0, 0); - va_end(vargs); - return (int)_qzz_res; -} - -int VALGRIND_PRINTF_BACKTRACE(const char *format, ...) - __attribute__((format(__printf__, 1, 2))); -__attribute__((weak)) -int -VALGRIND_PRINTF_BACKTRACE(const char *format, ...) -{ - unsigned long _qzz_res; - va_list vargs; - va_start(vargs, format); - VALGRIND_MAGIC_SEQUENCE(_qzz_res, 0, VG_USERREQ__PRINTF_BACKTRACE, - (unsigned long)format, (unsigned long)vargs, 0, 0); - va_end(vargs); - return (int)_qzz_res; -} - -#endif /* NVALGRIND */ - -/* These requests allow control to move from the simulated CPU to the - real CPU, calling an arbitary function */ -#define VALGRIND_NON_SIMD_CALL0(_qyy_fn) \ - ({unsigned long _qyy_res; \ - VALGRIND_MAGIC_SEQUENCE(_qyy_res, 0 /* default return */, \ - VG_USERREQ__CLIENT_CALL0, \ - _qyy_fn, \ - 0, 0, 0); \ - _qyy_res; \ - }) - -#define VALGRIND_NON_SIMD_CALL1(_qyy_fn, _qyy_arg1) \ - ({unsigned long _qyy_res; \ - VALGRIND_MAGIC_SEQUENCE(_qyy_res, 0 /* default return */, \ - VG_USERREQ__CLIENT_CALL1, \ - _qyy_fn, \ - _qyy_arg1, 0, 0); \ - _qyy_res; \ - }) - -#define VALGRIND_NON_SIMD_CALL2(_qyy_fn, _qyy_arg1, _qyy_arg2) \ - ({unsigned long _qyy_res; \ - VALGRIND_MAGIC_SEQUENCE(_qyy_res, 0 /* default return */, \ - VG_USERREQ__CLIENT_CALL2, \ - _qyy_fn, \ - _qyy_arg1, _qyy_arg2, 0); \ - _qyy_res; \ - }) - -#define VALGRIND_NON_SIMD_CALL3(_qyy_fn, _qyy_arg1, _qyy_arg2, _qyy_arg3) \ - ({unsigned long _qyy_res; \ - VALGRIND_MAGIC_SEQUENCE(_qyy_res, 0 /* default return */, \ - VG_USERREQ__CLIENT_CALL3, \ - _qyy_fn, \ - _qyy_arg1, _qyy_arg2, _qyy_arg3); \ - _qyy_res; \ - }) - - -/* Counts the number of errors that have been recorded by a tool. Nb: - the tool must record the errors with VG_(maybe_record_error)() or - VG_(unique_error)() for them to be counted. */ -#define VALGRIND_COUNT_ERRORS \ - ({unsigned int _qyy_res; \ - VALGRIND_MAGIC_SEQUENCE(_qyy_res, 0 /* default return */, \ - VG_USERREQ__COUNT_ERRORS, \ - 0, 0, 0, 0); \ - _qyy_res; \ - }) - -/* Mark a block of memory as having been allocated by a malloc()-like - function. `addr' is the start of the usable block (ie. after any - redzone) `rzB' is redzone size if the allocator can apply redzones; - use '0' if not. Adding redzones makes it more likely Valgrind will spot - block overruns. `is_zeroed' indicates if the memory is zeroed, as it is - for calloc(). Put it immediately after the point where a block is - allocated. - - If you're allocating memory via superblocks, and then handing out small - chunks of each superblock, if you don't have redzones on your small - blocks, it's worth marking the superblock with VALGRIND_MAKE_NOACCESS - when it's created, so that block overruns are detected. But if you can - put redzones on, it's probably better to not do this, so that messages - for small overruns are described in terms of the small block rather than - the superblock (but if you have a big overrun that skips over a redzone, - you could miss an error this way). See memcheck/tests/custom_alloc.c - for an example. - - Nb: block must be freed via a free()-like function specified - with VALGRIND_FREELIKE_BLOCK or mismatch errors will occur. */ -#define VALGRIND_MALLOCLIKE_BLOCK(addr, sizeB, rzB, is_zeroed) \ - {unsigned int _qzz_res; \ - VALGRIND_MAGIC_SEQUENCE(_qzz_res, 0, \ - VG_USERREQ__MALLOCLIKE_BLOCK, \ - addr, sizeB, rzB, is_zeroed); \ - } - -/* Mark a block of memory as having been freed by a free()-like function. - `rzB' is redzone size; it must match that given to - VALGRIND_MALLOCLIKE_BLOCK. Memory not freed will be detected by the leak - checker. Put it immediately after the point where the block is freed. */ -#define VALGRIND_FREELIKE_BLOCK(addr, rzB) \ - {unsigned int _qzz_res; \ - VALGRIND_MAGIC_SEQUENCE(_qzz_res, 0, \ - VG_USERREQ__FREELIKE_BLOCK, \ - addr, rzB, 0, 0); \ - } - -/* Create a memory pool. */ -#define VALGRIND_CREATE_MEMPOOL(pool, rzB, is_zeroed) \ - {unsigned int _qzz_res; \ - VALGRIND_MAGIC_SEQUENCE(_qzz_res, 0, \ - VG_USERREQ__CREATE_MEMPOOL, \ - pool, rzB, is_zeroed, 0); \ - } - -/* Destroy a memory pool. */ -#define VALGRIND_DESTROY_MEMPOOL(pool) \ - {unsigned int _qzz_res; \ - VALGRIND_MAGIC_SEQUENCE(_qzz_res, 0, \ - VG_USERREQ__DESTROY_MEMPOOL, \ - pool, 0, 0, 0); \ - } - -/* Associate a piece of memory with a memory pool. */ -#define VALGRIND_MEMPOOL_ALLOC(pool, addr, size) \ - {unsigned int _qzz_res; \ - VALGRIND_MAGIC_SEQUENCE(_qzz_res, 0, \ - VG_USERREQ__MEMPOOL_ALLOC, \ - pool, addr, size, 0); \ - } - -/* Disassociate a piece of memory from a memory pool. */ -#define VALGRIND_MEMPOOL_FREE(pool, addr) \ - {unsigned int _qzz_res; \ - VALGRIND_MAGIC_SEQUENCE(_qzz_res, 0, \ - VG_USERREQ__MEMPOOL_FREE, \ - pool, addr, 0, 0); \ - } - -/* Mark a piece of memory as being a stack. Returns a stack id. */ -#define VALGRIND_STACK_REGISTER(start, end) \ - ({unsigned int _qzz_res; \ - VALGRIND_MAGIC_SEQUENCE(_qzz_res, 0, \ - VG_USERREQ__STACK_REGISTER, \ - start, end, 0, 0); \ - _qzz_res; \ - }) - -/* Unmark the piece of memory associated with a stack id as being a - stack. */ -#define VALGRIND_STACK_DEREGISTER(id) \ - {unsigned int _qzz_res; \ - VALGRIND_MAGIC_SEQUENCE(_qzz_res, 0, \ - VG_USERREQ__STACK_DEREGISTER, \ - id, 0, 0, 0); \ - } - -/* Change the start and end address of the stack id. */ -#define VALGRIND_STACK_CHANGE(id, start, end) \ - {unsigned int _qzz_res; \ - VALGRIND_MAGIC_SEQUENCE(_qzz_res, 0, \ - VG_USERREQ__STACK_CHANGE, \ - id, start, end, 0); \ - } - -#endif /* __VALGRIND_H */ diff --git a/src/main.c b/src/main.c @@ -57,6 +57,9 @@ #ifdef HAVE_NETWORKMANAGER_SUPPORT #include <NetworkManager.h> #endif +#ifdef HAVE_VALGRIND +#include <valgrind.h> +#endif #include "claws.h" #include "main.h" @@ -114,9 +117,6 @@ #include "nntp-thread.h" #endif #include "stock_pixmap.h" -#ifdef HAVE_VALGRIND -#include "valgrind.h" -#endif #ifdef USE_GNUTLS # include "ssl.h" #endif