77 Commits

Author SHA1 Message Date
Paul Floyd
68bb7c063f FreeBSD support, patch 12
coregrind modified files
2021-10-09 15:01:08 +02:00
Petar Jovanovic
04cc9cf07e mips: Add nanoMIPS support to Valgrind 2/4
Necessary changes to support nanoMIPS on Linux.

Part 2/4 - Coregrind changes

Patch by Aleksandar Rikalo, Dimitrije Nikolic, Tamara Vlahovic and
Aleksandra Karadzic.

Related KDE issue: #400872.
2019-09-03 12:10:23 +00:00
Mark Wielaard
461cc5c003 Cleanup GPL header address notices by using http://www.gnu.org/licenses/
Sync VEX/LICENSE.GPL with top-level COPYING file. We used 3 different
addresses for writing to the FSF to receive a copy of the GPL. Replace
all different variants with an URL <http://www.gnu.org/licenses/>.

The following files might still have some slightly different (L)GPL
copyright notice because they were derived from other programs:

- files under coregrind/m_demangle which come from libiberty:
  cplus-dem.c, d-demangle.c, demangle.h, rust-demangle.c,
  safe-ctype.c and safe-ctype.h
- coregrind/m_demangle/dyn-string.[hc] derived from GCC.
- coregrind/m_demangle/ansidecl.h derived from glibc.
- VEX files for FMA detived from glibc:
  host_generic_maddf.h and host_generic_maddf.c
- files under coregrin/m_debuginfo derived from LZO:
  lzoconf.h, lzodefs.h, minilzo-inl.c and minilzo.h
- files under coregrind/m_gdbserver detived from GDB:
  gdb/signals.h, inferiors.c, regcache.c, regcache.h,
  regdef.h, remote-utils.c, server.c, server.h, signals.c,
  target.c, target.h and utils.c

Plus the following test files:

- none/tests/ppc32/testVMX.c derived from testVMX.
- ppc tests derived from QEMU: jm-insns.c, ppc64_helpers.h
  and test_isa_3_0.c
- tests derived from bzip2 (with embedded GPL text in code):
  hackedbz2.c, origin5-bz2.c, varinfo6.c
- tests detived from glibc: str_tester.c, pth_atfork1.c
- test detived from GCC libgomp: tc17_sembar.c
- performance tests derived from bzip2 or tinycc (with embedded GPL
  text in code): bz2.c, test_input_for_tinycc.c and tinycc.c
2019-05-26 20:07:51 +02:00
Petar Jovanovic
50dd9600ab mips: fix mips32r6 and mips64r6 compilation issue
Add missing variable declarations.
Modify local_sys_write_stderr to use movn if available, and use
seleqz/selnez instructions otherwise.
2019-04-19 21:25:38 +00:00
Petar Jovanovic
fee5954ae0 mips: Fix asm in m_debuglog.c
Add missing clobbers in local_sys_write_stderr() and local_sys_getpid()
functions.

Patch by Aleksandar Rikalo.
2018-08-24 15:59:14 +02:00
Petar Jovanovic
fc6c463d57 Introduce RegWord type
On majority of architectures size of long matches register width.
On mips n32 size of long is 32 bits and register width is 64 bits.
Valgrind is written with assumption that long size matches register
width. This is the reason why both UWord for Valgrind and HWord for VEX
match size of long. Long size differs from register size on mips n32 ABI.

Introducing RegWord type that will match size of registers.

Part of the changes required for BZ issue - #345763.

Contributed by:
  Tamara Vlahovic and Dimitrije Nikolic.
2018-04-10 14:09:08 +02:00
Julian Seward
6b92194aca coregrind/m_debuglog.c: fix incorrect inline assembly for amd64-linux.
This adds rcx and r11 to the trash lists for inline assembly in
local_sys_write_stderr and local_sys_getpid, since those registers are not
preserved across the embedded syscall that takes us into the kernel.  I
believe this to be the root cause of the apparent code generation bug
addressed in 53faacfda4ad6a27bc0e8ab859c1cc5388a61a5e (16 Nov 2017).  This
commit also undoes that commit, because I think it is no longer necessary.
2018-03-09 19:03:26 +01:00
Philippe Waroquiers
53faacfda4 Bypass gcc code generation bug triggered by -finline-functions
commit 7dd9a7f8b3118c25014b0a77aff899e517c46bcd has added the flag -finline-functions.

This triggers a code generation bug in gcc 6.3.0
(at least with gcc version 6.3.0 20170516 (Debian 6.3.0-18)).
(this bug can be reproduced e.g. on gcc67, which is a debian 9.2 system)

The bad code causes the debug trace to be indented by more than 500 characters,
giving e.g. for the first debug line produced by stage 2:
--12305:1:launcher launching /home/philippe/valgrind/git/smallthing/./.in_place/memcheck-amd64-linux
--12305:1:debuglog                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  DebugLog system started by Stage 2 (main), level 1 logging requested

This commit bypasses the code generation bug, by moving the indent calculation
just before its usage.

Note: on amd64/x86, the code size of memcheck tool increases by about 12%
with -finline-functions.
In terms of perf impact (using perf/vg_perf) this gives mixed results :
   memcheck is usually slightly faster, but some tests are slower (e.g. heap_pdb4)
   callgrind is usually slower, but some tests are faster
   helgrind : some tests are slowed down, some tests are faster (some significantly faster such as sarp and ffbench).

See below 2 runs of comparing trunk (with -finline-functions) with fixes
(which does not have -finline-functions).

-- Running  tests in perf ----------------------------------------------
-- bigcode1 --
bigcode1 trunk_untouched:0.07s  me: 2.2s (32.0x, -----)  he: 1.7s (23.9x, -----)  ca: 9.0s (129.0x, -----)
bigcode1 fixes     :0.07s  me: 2.3s (32.3x, -0.9%)  he: 1.7s (23.9x,  0.0%)  ca: 8.8s (125.4x,  2.8%)
-- bigcode2 --
bigcode2 trunk_untouched:0.07s  me: 5.0s (72.1x, -----)  he: 3.2s (46.0x, -----)  ca:18.6s (266.4x, -----)
bigcode2 fixes     :0.07s  me: 5.1s (73.0x, -1.2%)  he: 3.2s (46.1x, -0.3%)  ca:18.4s (262.9x,  1.3%)
-- bz2 --
bz2      trunk_untouched:0.43s  me: 4.5s (10.4x, -----)  he: 6.7s (15.5x, -----)  ca:10.4s (24.2x, -----)
bz2      fixes     :0.43s  me: 4.5s (10.5x, -0.4%)  he: 6.7s (15.5x,  0.0%)  ca:10.1s (23.4x,  3.4%)
-- fbench --
fbench   trunk_untouched:0.14s  me: 2.7s (19.6x, -----)  he: 1.9s (13.4x, -----)  ca: 4.0s (28.3x, -----)
fbench   fixes     :0.14s  me: 2.8s (19.9x, -1.8%)  he: 2.0s (14.6x, -8.5%)  ca: 3.9s (28.1x,  0.8%)
-- ffbench --
ffbench  trunk_untouched:0.15s  me: 2.6s (17.1x, -----)  he: 3.4s (22.4x, -----)  ca: 1.5s (10.1x, -----)
ffbench  fixes     :0.15s  me: 2.6s (17.3x, -0.8%)  he: 3.1s (20.9x,  6.8%)  ca: 1.5s (10.0x,  1.3%)
-- heap --
heap     trunk_untouched:0.05s  me: 3.6s (72.8x, -----)  he: 5.0s (100.0x, -----)  ca: 4.9s (98.2x, -----)
heap     fixes     :0.05s  me: 3.7s (73.6x, -1.1%)  he: 5.1s (102.4x, -2.4%)  ca: 4.8s (95.6x,  2.6%)
-- heap_pdb4 --
heap_pdb4 trunk_untouched:0.06s  me: 5.9s (97.7x, -----)  he: 5.6s (93.7x, -----)  ca: 5.2s (86.8x, -----)
heap_pdb4 fixes     :0.06s  me: 5.8s (96.0x,  1.7%)  he: 5.7s (95.3x, -1.8%)  ca: 5.3s (87.7x, -1.0%)
-- many-loss-records --
many-loss-records trunk_untouched:0.01s  me: 1.0s (101.0x, -----)  he: 0.8s (85.0x, -----)  ca: 0.8s (78.0x, -----)
many-loss-records fixes     :0.01s  me: 1.0s (100.0x,  1.0%)  he: 0.9s (86.0x, -1.2%)  ca: 0.8s (78.0x,  0.0%)
-- many-xpts --
many-xpts trunk_untouched:0.03s  me: 1.1s (38.3x, -----)  he: 1.4s (46.0x, -----)  ca: 1.9s (62.7x, -----)
many-xpts fixes     :0.03s  me: 1.1s (37.0x,  3.5%)  he: 1.4s (47.0x, -2.2%)  ca: 1.8s (61.3x,  2.1%)
-- memrw --
memrw    trunk_untouched:0.04s  me: 0.9s (21.5x, -----)  he: 2.3s (58.0x, -----)  ca: 1.9s (46.8x, -----)
memrw    fixes     :0.04s  me: 0.9s (22.0x, -2.3%)  he: 2.3s (58.0x,  0.0%)  ca: 1.9s (47.2x, -1.1%)
-- sarp --
sarp     trunk_untouched:0.02s  me: 1.5s (77.0x, -----)  he: 3.4s (168.5x, -----)  ca: 1.3s (63.0x, -----)
sarp     fixes     :0.02s  me: 1.6s (80.0x, -3.9%)  he: 4.0s (200.5x,-19.0%)  ca: 1.3s (65.5x, -4.0%)
-- tinycc --
tinycc   trunk_untouched:0.10s  me: 6.7s (66.7x, -----)  he: 6.6s (65.9x, -----)  ca: 7.2s (72.4x, -----)
tinycc   fixes     :0.10s  me: 6.6s (66.0x,  1.0%)  he: 6.8s (68.0x, -3.2%)  ca: 7.2s (72.1x,  0.4%)
-- Finished tests in perf ----------------------------------------------

== 12 programs, 72 timings =================

-- Running  tests in perf ----------------------------------------------
-- bigcode1 --
bigcode1 trunk_untouched:0.07s  me: 2.2s (32.0x, -----)  he: 1.7s (23.7x, -----)  ca: 9.0s (129.1x, -----)
bigcode1 fixes     :0.07s  me: 2.3s (32.3x, -0.9%)  he: 1.7s (23.9x, -0.6%)  ca: 8.8s (125.3x,  3.0%)
-- bigcode2 --
bigcode2 trunk_untouched:0.07s  me: 5.0s (72.1x, -----)  he: 3.2s (46.0x, -----)  ca:18.7s (266.6x, -----)
bigcode2 fixes     :0.07s  me: 5.1s (72.9x, -1.0%)  he: 3.2s (46.0x,  0.0%)  ca:18.5s (263.7x,  1.1%)
-- bz2 --
bz2      trunk_untouched:0.43s  me: 4.5s (10.5x, -----)  he: 6.7s (15.5x, -----)  ca:10.4s (24.2x, -----)
bz2      fixes     :0.43s  me: 4.5s (10.5x, -0.2%)  he: 6.7s (15.5x, -0.2%)  ca:10.1s (23.4x,  3.3%)
-- fbench --
fbench   trunk_untouched:0.14s  me: 2.8s (19.6x, -----)  he: 1.9s (13.4x, -----)  ca: 4.0s (28.2x, -----)
fbench   fixes     :0.14s  me: 2.8s (19.9x, -1.1%)  he: 2.0s (14.6x, -8.5%)  ca: 3.9s (28.1x,  0.3%)
-- ffbench --
ffbench  trunk_untouched:0.15s  me: 2.6s (17.1x, -----)  he: 3.4s (22.5x, -----)  ca: 1.5s (10.1x, -----)
ffbench  fixes     :0.15s  me: 2.6s (17.3x, -0.8%)  he: 3.1s (20.8x,  7.4%)  ca: 1.5s ( 9.9x,  2.0%)
-- heap --
heap     trunk_untouched:0.05s  me: 3.6s (72.6x, -----)  he: 5.0s (99.4x, -----)  ca: 4.9s (98.4x, -----)
heap     fixes     :0.05s  me: 3.7s (73.6x, -1.4%)  he: 5.1s (102.4x, -3.0%)  ca: 4.8s (95.2x,  3.3%)
-- heap_pdb4 --
heap_pdb4 trunk_untouched:0.06s  me: 5.9s (98.0x, -----)  he: 5.6s (94.0x, -----)  ca: 5.2s (86.8x, -----)
heap_pdb4 fixes     :0.06s  me: 5.8s (96.0x,  2.0%)  he: 5.7s (94.8x, -0.9%)  ca: 5.2s (87.3x, -0.6%)
-- many-loss-records --
many-loss-records trunk_untouched:0.01s  me: 1.0s (101.0x, -----)  he: 0.8s (85.0x, -----)  ca: 0.8s (76.0x, -----)
many-loss-records fixes     :0.01s  me: 1.0s (100.0x,  1.0%)  he: 0.9s (87.0x, -2.4%)  ca: 0.8s (77.0x, -1.3%)
-- many-xpts --
many-xpts trunk_untouched:0.03s  me: 1.2s (38.7x, -----)  he: 1.4s (45.3x, -----)  ca: 1.9s (62.7x, -----)
many-xpts fixes     :0.03s  me: 1.1s (37.0x,  4.3%)  he: 1.4s (47.0x, -3.7%)  ca: 1.8s (61.3x,  2.1%)
-- memrw --
memrw    trunk_untouched:0.04s  me: 0.9s (22.0x, -----)  he: 2.3s (58.2x, -----)  ca: 1.9s (46.5x, -----)
memrw    fixes     :0.04s  me: 0.9s (21.8x,  1.1%)  he: 2.3s (58.2x,  0.0%)  ca: 1.9s (47.2x, -1.6%)
-- sarp --
sarp     trunk_untouched:0.02s  me: 1.5s (76.5x, -----)  he: 3.4s (167.5x, -----)  ca: 1.3s (63.0x, -----)
sarp     fixes     :0.02s  me: 1.6s (79.5x, -3.9%)  he: 4.0s (200.5x,-19.7%)  ca: 1.3s (65.5x, -4.0%)
-- tinycc --
tinycc   trunk_untouched:0.10s  me: 6.6s (66.3x, -----)  he: 6.6s (66.2x, -----)  ca: 7.2s (72.4x, -----)
tinycc   fixes     :0.10s  me: 6.6s (66.1x,  0.3%)  he: 6.8s (68.1x, -2.9%)  ca: 7.2s (72.2x,  0.3%)
-- Finished tests in perf ----------------------------------------------

== 12 programs, 72 timings =================
2017-11-16 22:53:46 +01:00
Ivo Raisr
246bb0e25f Remove TileGX/Linux port.
Fixes BZ#379504.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@16340
2017-05-08 17:21:59 +00:00
Ivo Raisr
38edd50c0e Update copyright end year to 2017 in preparation for 3.13 release.
n-i-bz



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@16333
2017-05-04 15:09:39 +00:00
Carl Love
41308849ef Patch submitted by Will Schmidt for PPC64.
On ppc64*, the TOC ptr should not be considered a scratch
register, and should not be in the clobber list.
This is called out in newer GCC (i.e. gcc7) and triggers an error.

Thusly, remove R2 from the clobber list.

Signed-Off-By: Will Schmidt <will_schmidt@vnet.ibm.com>

Tested and committed by: Carl Love <cel@us.ibm.com>

Bugzilla is 376729.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@16254
2017-02-20 19:04:13 +00:00
Julian Seward
adc2dafee9 Update copyright dates, to include 2015. No functional change.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@15577
2015-08-21 11:32:26 +00:00
Julian Seward
ac60633d65 Bug 345248 - add support for Solaris OS in valgrind
Authors of this port:
    Petr Pavlu         setup@dagobah.cz
    Ivo Raisr          ivosh@ivosh.net
    Theo Schlossnagle  theo@omniti.com
            


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@15426
2015-07-21 14:44:28 +00:00
Florian Krohm
6f0aedc6af Fix rounding when printing floating point numbers.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@15264
2015-05-20 15:14:00 +00:00
Zhi-Gang Liu
b6b2f0ebb3 Address minor issues in Julian's last review.
For TILEGX only.
By: Zhi-Gang Liu


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@15094
2015-04-15 02:33:09 +00:00
Julian Seward
082f9298a1 Add a port to Linux/TileGx. Zhi-Gang Liu (zliu@tilera.com)
Valgrind aspects, to match vex r3124.

See bug 339778 - Linux/TileGx platform support to Valgrind



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@15080
2015-04-10 12:30:09 +00:00
Florian Krohm
9246ef1635 Fix parsing the %z format specifier. Need to advance to next character.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@15027
2015-03-20 16:45:02 +00:00
Julian Seward
e0297b57d8 arm32: local_sys_write_stderr and local_sys_getpid: don't trash r7
in the inline assembly, because gcc doesn't like that when compiling
for Thumb.  And this file is compiled for Thumb during "make check".


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14927
2015-02-11 00:41:48 +00:00
Florian Krohm
e61bbd6a9d Move definition of type SizeT to VEX (see VEX r3046).
Enhance printeffery to print SizeT values.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14836
2014-12-29 19:06:40 +00:00
Florian Krohm
48c0ff5c76 Fix BZ #116002.
Left justification of strings in myvprintf_str was mixed up.
Now fixed and %s formats changed accordingly.
In function myvprintf_int64: the local buffer was not large
enough to hold ULONG_MAX in binary notation. Numbers were
truncated at 39 digits. 
Testcases added.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14808
2014-12-13 18:35:00 +00:00
Florian Krohm
f7c5c06c5d Add limited support for printing floating point numbers to
VG_(debugLog_vprintf). 
Remove function VG_(percentify) and fix up its call sites (part of
fixing BZ #337869.
Allow the width in a format specification to be '*', i.e. the width is
given as an additional function argument.

The limitations for printing floating point numbers are:
(1) %f is the only supported format. Width and precision can be
    specified.
(2) Funny numbers (NaN and such) are not supported.
(3) Floating point numbers need to be benign in the sense that their
    integral part fits into an ULong.
This is good enough for our purposes.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14806
2014-12-12 19:32:10 +00:00
Florian Krohm
665280aeaf Merge r14202 from the BUF_REMOVAL branch to trunk.
This patch changes the interface and behaviour of VG_(demangle) and
VG_(maybe_Z_demangle). Instead of copying the demangled name into a
fixed sized buffer that is passed in from the caller (HChar *buf, Int n_buf),
the demangling functions will now return a pointer to the full-length
demangled name (HChar **result). It is the caller's responsiblilty to
make a copy if needed. 

This change in function parameters ripples upward
- first: to get_sym_name
- then to the convenience wrappers
  - VG_(get_fnname)
  - VG_(get_fnname_w_offset)
  - VG_(get_fnname_if_entry)
  - VG_(get_fnname_raw)
  - VG_(get_fnname_no_cxx_demangle)
  - VG_(get_datasym_and_offset)

The changes in foComplete then forces the arguments of
  - VG_(get_objname) to be changed as well

There are some issues regarding the ownership and persistence of
character strings to consider.
In general, the returned character string is owned by "somebody else"
which means the caller must not free it. Also, the caller must not 
modify the returned string as it possibly points to read only memory.
Additionally, the returned string is not necessarily persistent. Here are
the scenarios:
- the returned string is a demangled function name in which case the
  memory holding the string will be freed when the demangler is called again.
- the returned string hangs off of a DebugInfo structure in which case
  it will be freed when the DebugInfo is discarded
- the returned string hangs off of a segment in the address space manager
  in which case it may be overwritten when the segment is merged with
  another segment
So the rule of thunb here is: if in doubt strdup the string.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14664
2014-10-25 19:20:38 +00:00
Carl Love
914f75de32 This commit is for Bugzilla 334384. The Bugzilla contains patch 1 of 3
to add PPC64 LE support.  The other two patches can be found in Bugzillas
334834 and 334836.  The commit does not have a VEX commit associated with it.

POWER PC, add initial Little Endian support

The IBM POWER processor now supports both Big Endian and Little Endian.
This patch renames the #defines with the name ppc64 to ppc64be for the BE
specific code.  This patch adds the Little Endian #define ppc64le to the

Additionally, a few functions are renamed to remove BE from the name if the
function is used by BE and LE. Functions that are BE specific have BE put
in the name.

The goals of this patch is to make sure #defines, function names and
variables consistently use PPC64/ppc64 if it refers to BE and LE,
PPC64BE/ppc64be if it is specific to BE, PPC64LE/ppc64le if it is LE
specific.  The patch does not break the code for PPC64 Big Endian.

The test files memcheck/tests/atomic_incs.c, tests/power_insn_available.c
and tests/power_insn_available.c are also updated to the new #define
definition for PPC64 BE.

Signed-off-by: Carl Love <carll@us.ibm.com>


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14238
2014-08-07 23:17:29 +00:00
Julian Seward
3f6d211236 Add support for ARMv8 AArch64 (the 64 bit ARM instruction set).
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@13770
2014-01-12 12:54:00 +00:00
Julian Seward
dbf9b63605 Update copyright dates (20XY-2012 ==> 20XY-2013)
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@13658
2013-10-18 14:27:36 +00:00
Florian Krohm
6d15b5deb4 Include pub_core/tool_clreq.h instead of valgrind.h where apropriate.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@13555
2013-09-16 20:56:35 +00:00
Petar Jovanovic
5dd4c02e39 mips: adding MIPS64LE support to Valgrind
Necessary changes to Valgrind to support MIPS64LE on Linux.
Minor cleanup/style changes embedded in the patch as well.
The change corresponds to r2687 in VEX.
Patch written by Dejan Jevtic and Petar Jovanovic.

More information about this issue:
https://bugs.kde.org/show_bug.cgi?id=313267


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@13292
2013-02-27 23:17:33 +00:00
Florian Krohm
af66466ce4 Changes to allow compilation with -Wwrite-strings. That compiler option
is not used for testcases, just for valgrind proper.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@13137
2012-11-23 16:17:43 +00:00
Florian Krohm
d0aa69c331 Fix more Char/HChar mixups. Closing in...
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@13119
2012-11-10 22:29:54 +00:00
Florian Krohm
5337376bf2 More Char/HChar fixes and constification.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@13088
2012-10-27 18:39:11 +00:00
Julian Seward
4a3633e266 Update copyright dates to include 2012.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12843
2012-08-05 15:46:46 +00:00
Philippe Waroquiers
ab7b338320 301265 - add x86 support to Android build
Patch by Dragos Tatulea.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12835
2012-08-05 00:08:25 +00:00
Julian Seward
3e344c57f6 Merge in a port for mips32-linux, by Petar Jovanovic and Dejan Jevtic,
mips-valgrind@rt-rk.com, Bug 270777.

Valgrind: changes to existing files.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12616
2012-06-07 09:13:21 +00:00
Bart Van Assche
6c474ee221 Make -d (enable debug logging) work on Fedora 16 / x86.
Apparently the 32-bit Fedora 16 compiler chooses register esp to pass "&block"
to the inline assembly code in local_sys_write_stderr(). First pushing data on
the stack and next reading the contents of %0 doesn't yield the desired result
if %0 == %esp.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12360
2012-01-30 15:07:20 +00:00
Julian Seward
c96096ab24 Update all copyright dates, from 20xy-2010 to 20xy-2011.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12206
2011-10-23 07:32:08 +00:00
Bart Van Assche
99066365d5 Add format specifier %ps: only escape XML-metacharacters for --xml=yes
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12135
2011-10-11 18:49:35 +00:00
Bart Van Assche
71a513f01a Format functions: change format specifier %t into %pS. Remove the _no_f_c formatting function variants.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12108
2011-10-06 19:08:37 +00:00
Julian Seward
ad7de5b336 Delete the AIX5 port. The last release this worked for is 3.4.1,
and then only on AIX 5.2 and 5.3.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11842
2011-06-28 07:25:29 +00:00
Julian Seward
f06f0f7185 Fix a couple of bogus asm constraints observed when trying to build
V with clang-2.9.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11707
2011-04-26 07:52:44 +00:00
Julian Seward
9c6d0dc9c9 Fix up most but not all warnings generated by gcc-4.6 about
dead assignments ("[-Wunused-but-set-variable]").



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11673
2011-03-28 16:26:42 +00:00
Julian Seward
6107fd666c Add a port to IBM z/Architecture (s390x) running Linux -- Valgrind
side components. (Florian Krohm <britzel@acm.org> and Christian
Borntraeger <borntraeger@de.ibm.com>).  Fixes #243404.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11604
2011-03-07 16:05:35 +00:00
Julian Seward
b0091f4461 arm-linux: send output to stderr, as on all other platforms.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11290
2010-08-26 09:40:37 +00:00
Julian Seward
9b0574dff8 Update copyright dates to 2010.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11121
2010-05-03 21:37:12 +00:00
Julian Seward
e9de458500 Merge from branches/ARM, all parts of the ARM-Linux port except for
the changes to do with reading and using ELF and DWARF3 info.
This breaks all targets except amd64-linux and x86-linux.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@10982
2010-01-01 11:59:33 +00:00
Bart Van Assche
dbdfae4ced The format attribute may be repeated in the function definition but does not have to.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@10862
2009-08-23 11:14:12 +00:00
Bart Van Assche
eee5e4caba Added support for %o (octal format).
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@10604
2009-07-26 08:40:17 +00:00
Nicholas Nethercote
2a7d944c27 A number of changes relating to syscall numbering:
- Introduced VG_SYSNUM_STRING and VG_SYSNUM_STRING_EXTRA which factor out
  differences in the way syscall numbers are printed on different platforms.
  This gets rid of seven "DDD" fixme-style comments.

- This also meant that Darwin syscall numbers are now printed in a
  non-ambiguous way -- previously Unix, machine-dependent and diagnostic
  syscalls were all printed the same way, even though their numbers overlap.
  Now each number is prefixed with "unix", "mdep", etc.  And Mach trap
  numbers aren't printed as negative numbers now that they have a "mach"
  prefix.

- Split each of pub_core_vkiscnums.h and pub_tool_vkiscnums.h into two
  parts, one suitable for inclusion in asm files, one suitable for inclusion
  in C files;  in both cases the latter includes the former.  This makes
  this module more like other modules that have asm-only components (eg.
  m_transtab);  it also allows the hacky VG_IN_ASSEMBLY_SOURCE macros and
  tests to be removed.

- Removed some of the VG_DARWIN_SYSNO_* macros that were no longer needed,
  and renamed some of the existing ones to make their meanings clearer.

- Added comments on the encoding of Darwin syscall numbers so it's
  possible for mortals to understand without reading the kernel code..



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@10218
2009-06-03 06:50:06 +00:00
Nicholas Nethercote
07045477ca Merge the DARWIN branch onto the trunk.
I tried using 'svn merge' to do the merge but it did a terrible job and
there were bazillions of conflicts.  So instead I just took the diff between
the branch and trunk  at r10155, applied the diff to the trunk, 'svn add'ed
the added files (no files needed to be 'svn remove'd) and committed.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@10156
2009-05-28 01:53:07 +00:00
Nicholas Nethercote
1a110f34eb On x86-linux, send debuglog output to stderr, not stdout.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@10041
2009-05-20 06:59:19 +00:00
Nicholas Nethercote
2001629c3f Updated copyright years.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@9344
2009-03-10 22:02:09 +00:00