11177 Commits

Author SHA1 Message Date
Mark Wielaard
bf28744a5f Bug 339858 arm64 dmb sy not implemented NEWS entry.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14621
2014-10-11 19:13:49 +00:00
Julian Seward
248498908e Update.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14620
2014-10-11 15:47:12 +00:00
Florian Krohm
1012054b60 Change eq_Invar to handle all kinds of InVars.
Move an assert to a better spot.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14619
2014-10-11 15:01:21 +00:00
Julian Seward
2476b8ff75 Handle (by ignoring) Imbe_CancelReservation. Detected by Florian
Krohm when compiling with -Wswitch-enum.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14618
2014-10-11 13:54:52 +00:00
Mark Wielaard
b57b59207f Bug 339855 arm64 unhandled getsid/setsid syscalls.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14617
2014-10-10 21:33:39 +00:00
Mark Wielaard
139476d494 Bug 339853 arm64 times syscall unknown.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14616
2014-10-10 21:13:28 +00:00
Florian Krohm
24d18a35cf Forgotten mergeinfo update.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14615
2014-10-09 19:28:30 +00:00
Florian Krohm
15ddd0c0d9 Merge revisions 14213 and 14612 from the BUF_REMOVAL branch to trunk.
The change removes the PATH_MAX limitation from the linux launcher.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14614
2014-10-09 19:22:44 +00:00
Florian Krohm
cb8c5e3d1f Use __typeof__.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14613
2014-10-09 16:44:30 +00:00
Philippe Waroquiers
800a64895b Add two gnu extensions DW_AT definition and tracing
(no functional changes, except that these values will be visible
in the dwarf trace, instead of DW_AT_???)



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14611
2014-10-07 21:25:36 +00:00
Philippe Waroquiers
2e547da1ca follow up to fix for 339721 assertion 'check_sibling == sibling' failed in readdwarf3.c ...
The fix committed in revision 14603 is properly fixing the bug 339721.
However, when enabling the dwarf tracing, the DW_FORM_ref_sig8 causes
a segmentation violation, as the tracing code is shared with the
reading code. But the DW_FORM_ref_sig8 reading code is dereferencing
some data structure that is only initialised when --read-var-info=yes.

So, in case DW_FORM_ref_sig8 form reading is done and --read-var-info=no,
then check that we are tracing, and avoid dereferencing the (not initialised)
signature hash table.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14610
2014-10-07 20:35:06 +00:00
Florian Krohm
97dc435677 Merge revisions 14372 and 14607 from the BUF_REMOVAL branch to trunk.
This change makes VG_(clo_suppressions), VG_(clo_fullpath_after),
and VG_(clo_req_tsyms) XArrays. They used to be arrays of fixed size.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14609
2014-10-07 18:36:28 +00:00
Florian Krohm
2941478e87 Update mergeinfo. r14606 wasn't a proper svn merge. It was just an
applied patch.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14608
2014-10-07 17:58:42 +00:00
Florian Krohm
5929994d48 Merge revisions 14230, 14602, and 14604 from the BUF_REMOVAL branch to trunk.
The change eliminates the fixed size buffers in gen_suppression and
show_used_suppressions. This is achieved by changing the return type from
VG_TDICT_CALL(tool_get_extra_suppression_info and
VG_TDICT_CALL(tool_print_extra_suppression_use from Bool to SizeT.
A return value of 0 indicates that nothing (except the terminating '\0'
which is always inserted) was written to the buffer. This corresponds to the
previous False return value. A return value which is equal to the buffer
size (that was passed in as function argument) indicates that the buffer was
not large enough. The caller then resizes the buffer and retries.
Otherwise, the buffer was large enough.
Regtested with a resize value of 1.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14606
2014-10-07 14:28:52 +00:00
Philippe Waroquiers
fe265a392f Indicate the fix for 339721 is only partial
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14605
2014-10-06 21:55:00 +00:00
Philippe Waroquiers
623a54340e fix 339721 assertion 'check_sibling == sibling' failed in readdwarf3.c ...
The skip code was wrongly skipping 16 bytes, while only 8 are read
for a DW_FORM_ref_sig8.

Note that the problem is made visible by an assert when using 
--trace-symtab=yes but in fact this is a real bug in the dwarf reader,
that was introduced in one of the optimisations done for the inline info.

It can manifest itself with other symptoms:

One of the 2 following assertions can fail:
   vg_assert (check_sibling == sibling);
   vg_assert (get_position_of_Cursor (&check_skip) 
              == get_position_of_Cursor (&c));

Or the following error can be given:
--29973-- WARNING: Serious error when reading debug info
--29973-- When reading debug info from /home/philippe/valgrind/trunk_untouched/memcheck/tests/dw4:
--29973-- Overrun whilst reading .debug_info section




git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14603
2014-10-06 21:46:43 +00:00
Florian Krohm
2891e3ceaa Followup to r14600. Copy the contents of pub_core_guest.h to pub_tool_guest.h
to make it available to tools. This allows to remove quite a bit of
ifdeffery from memcheck's mc_machine.c


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14601
2014-10-06 21:04:14 +00:00
Florian Krohm
9eb0cdb015 Entangle header files a bit. Specifically, pub_core_basics.h no longer
includes libvex.h. It isn't needed to successfully compile pub_core_basics.h
standalone and the declarations libvex.h provides aren't used as broadly as
the comment in the code implied. 
Move the guest-specific includes and some ifdeffery to the new file
pub_core_guest.h
For the curious reader: The change above avoids a problem when linking the
linux-launcher which previously included libvex.h indirectly. libvex.h also
defines the inline function LibVEX_Alloc which, when emitted, causes the
link step to fail due to unresoled references (as the launcher does not link
against libvex.a). See also BZ #339542.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14600
2014-10-06 16:41:14 +00:00
Florian Krohm
5658acec7e Use correct tag names in sys_getdents/64 wrappers.
Patch by Ivo Raisr (ivosh@ivosh.net).
Fixes BZ #339645


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14599
2014-10-04 21:32:06 +00:00
Florian Krohm
1af502ff14 The XArray element type of variable "described" is HChar not UChar.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14598
2014-10-04 21:08:42 +00:00
Florian Krohm
3065f2e199 Merge revisions 14337, 14596 from the BUF_REMOVAL branch to trunk.
Change callgrind's init_cmdbuf function to allocate a large enough
buffer for the command line.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14597
2014-10-01 14:16:05 +00:00
Florian Krohm
cd357d71b4 Merge six easy pieces from the BUF_REMOVAL branch:
r14271  Audit a few buffer sizes, increase one.
r14280  Audit buffer size.
r14296  Remove a few unneeded header files.
r14310  Replace fixed size buffers with a large enough buffers.
r14338  Remove a dead assignment in print_bbcs and make global variable
        print_fd a local variable.
r14359  Remove a benign macro redefinition in cachegrind.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14595
2014-09-30 22:15:05 +00:00
Florian Krohm
b641262cb8 Merge revisions 14216,14591,14593 from the BUF_REMOVAL branch to trunk.
Chang the semantics of VG_(getgroups) to support querying the number
of supplementary group IDs which simplifies obtaining them and gets
rid of fixed size buffers.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14594
2014-09-30 19:26:58 +00:00
Julian Seward
81fb4ba387 Update.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14592
2014-09-30 12:48:02 +00:00
Carl Love
460a76b82a Add entry to NEWS file for fixed bugzilla 339433
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14590
2014-09-29 19:41:11 +00:00
Carl Love
8ebec45281 Add entry to NEWS file for fixed bugzilla 339182
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14589
2014-09-29 18:28:33 +00:00
Florian Krohm
e52ad4cb36 Merge r14125 from the BUF_REMOVAL branch to trunk.
This change eliminates the fixed size buffer in VG_(assert_fail).


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14588
2014-09-28 21:35:07 +00:00
Florian Krohm
4ec9cf0b9d Merge revisions 14212 and 14586 from the BUF_REMOVAL branch to trunk.
The change eliminates the use of fixed size buffers for path names.
There was a comment in the code that dynamic memory allocation could
not be used. But that is no longer true. 
Clean up #includes.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14587
2014-09-28 21:22:26 +00:00
Bart Van Assche
0b849cee4d drd/tests/std_thread2.supp: Add a suppression pattern
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14585
2014-09-28 18:28:18 +00:00
Philippe Waroquiers
2d86346244 Fix VG_(snprintf) missing arg in inner setup
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14584
2014-09-28 16:13:09 +00:00
Florian Krohm
532dc90dbd Merge r14229 from the BUF_REMOVAL branch to trunk.
Function MC_(snprintf_delta) requires a buffer of size 31 or larger to
avoid overflow.Add an assert, change and document the buffer size and
fix all call sites. Remove magic constants along the way.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14583
2014-09-28 13:29:06 +00:00
Florian Krohm
68e0108e02 Merge r14251 from BUF_REMOVAL branch to trunk.
This change eliminates the fixed size buffer when reading /proc/version.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14582
2014-09-28 09:08:59 +00:00
Florian Krohm
1c6c4ff94e Merge r14209 from BUF_REMOVAL branch to trunk.
In VG_(redir_notify_new_DebugInfo) use a large enough buffer
allocated on the stack.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14581
2014-09-27 18:47:07 +00:00
Florian Krohm
9a406c8279 Merge r14208 from BUF_REMOVAL branch to trunk.
In function read_dot_valgrindrc use a large enough buffer 
allocated on the stack. 
Also assert that the passed in directory is not NULL. This is 
true at all call sites. The old code would have attempted to read
/.valgrindrc for dir == NULL and I don't think we want that.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14580
2014-09-27 18:01:19 +00:00
Florian Krohm
76575e29cf Merge 14206,14207,14261,14577,14578 from BUF_REMOVAL branch to trunk.
This changes VG_(record_startup_wd) to dynamically allocate a large
enough buffer for the directory name. As the dynamic memory manager has
started up a while ago, this is quite safe. Also rewrite VG_(get_startup_wd)
to simply return the directory name. No more messing with copying it
around. Adapt call sites.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14579
2014-09-27 17:42:07 +00:00
Florian Krohm
9ffd4ba593 Merge revisions 14203,14574,14575 from the BUF_REMOVAL
branch to trunk.
This change eliminates the fixed size buffers in VG_(basename)
and VG_(dirname).


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14576
2014-09-27 13:29:09 +00:00
Florian Krohm
7cfaa923ea Remove unneeded header file which does not exist on Darwin.
Disable test for darwin as pthread_setname_np is not implemented.
But setting and observing the threadname is what this test is all about.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14573
2014-09-27 11:36:08 +00:00
Petar Jovanovic
7449ebb921 mips64: enable soft-float build of the tests
Cavium toolchain defaults to soft-float, so it is important to enable full
build of the test suite to work in that case as well.

This boils down to protecting FPU-specific code segments with

#if defined(__mips_hard_float)
#endif


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14572
2014-09-27 05:40:33 +00:00
Petar Jovanovic
89b035b3a1 mips64: run FPU tests only when FPU is available
Check whether the target platform is meant to have an FPU before executing
tests that make use of a floating-point unit.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14571
2014-09-27 05:33:07 +00:00
Petar Jovanovic
d04098575e mips: extend mips_features with a check for FPU
Extend mips_features with "hard-float" query to which mips_features will
respond whether or not the platform is meant to have a floating point unit.
The query is not a runtime check, but a built-time check.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14570
2014-09-27 05:18:21 +00:00
Christian Borntraeger
3b8b96e924 implement KVM_KVMCLOCK_CTRL. Interestingly, the kernel does not check
the parameter. QEMU does pass 0 nevertheless as parameter.

bugzilla:  [Bug 339424] Full support of KVM ioctl


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14569
2014-09-26 18:44:40 +00:00
Christian Borntraeger
0b5642095e provide ioctl handlers for KVM_SET_TSS_ADDR.
part of bugzilla 339424


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14568
2014-09-26 12:25:02 +00:00
Florian Krohm
457f0b2d1a The testbuckets none/tests/ppc{32,64} did not build in case the
toolchain did not support -maltivec -mabi=altivec.
This should work now. Fixes BZ #338731


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14566
2014-09-24 22:02:54 +00:00
Florian Krohm
b865506dd8 Glibc versions prior to 2.5 do not define PTRACE_GETSIGINFO
(determined by Patrick J. LoPresti).
Tweak the ifdeffery.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14565
2014-09-24 19:13:01 +00:00
Florian Krohm
e383c673dd Ripple from constifying parameters of instrumentation functions and
callbacks from VexTranslateArgs. See VEX r2958.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14564
2014-09-24 12:06:55 +00:00
Florian Krohm
faee9f43f1 Adapt LibVEX_Init invocation due to VEX r2955 changes.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14563
2014-09-22 21:40:06 +00:00
Philippe Waroquiers
2a31369561 Fix some comments that were still describing 32Gb as the limit for 'fast' memcheck
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14562
2014-09-22 19:46:48 +00:00
Philippe Waroquiers
3453b54f22 Add missing ]] to terminate CDATA. Missing brackets are causing
the man page to contain:
               ></programlisting>

                     <para>And here are the same errors with
                     <option>--read-var-info=yes</option>:</para>

               <programlisting><![CDATA[

Rather than the nicely formatted 'And here ...' paragraph.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14561
2014-09-22 19:19:50 +00:00
Philippe Waroquiers
0560b0dc91 Fix wrong checking of ARG2 of getrlimit
(spotted by Florian Krohm/IBM's BEAM checker)



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14559
2014-09-19 19:35:24 +00:00
Philippe Waroquiers
80f3d4e69a Handle explicitely all enum values in 'switch' on AddrInfo tag
(reported by Florian)

Note that Addr_Undescribed will cause an assert if such
an undescribed addrinfo is pretty printed, as normally
such addrinfo should always be described before being pretty printed.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14558
2014-09-19 18:58:18 +00:00