Commit Graph

963 Commits

Author SHA1 Message Date
Mark Wielaard
54794decc8 Bug 359201 followup. futex skips argument 5 if op is FUTEX_WAIT_BITSET.
The original fix in svn r15793 read argument 6 separately by using PRA6
unconditionally. This is wrong. We need to first check whether a
track_pre_reg_read callback is registered (only memcheck does).
The PRE_REG_READX macro already had this check. Just add the same
before calling PRA6. Thanks to Tom Hughes for noticing. Without this
helgrind/tests/cond_timedwait_test and drd/tests/pth_inconsistent_cond_wait
regtests would fail.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@15795
2016-02-18 11:14:47 +00:00
Mark Wielaard
ccd541e916 Bug 359201 futex syscall skips argument 5 if op is FUTEX_WAIT_BITSET
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@15793
2016-02-17 20:53:34 +00:00
Ivo Raisr
f71b442444 Solaris syscall: commands A_GETSTAT and A_SETSTAT
for auditon(2) subcode of the auditsys() syscall
were removed in Solaris 12.
However they stay for Solaris 11 and illumos.
n-i-bz


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@15791
2016-02-17 18:11:32 +00:00
Ivo Raisr
24e1e9f493 Solaris syscall: Add support for getrandom(143).
n-i-bz


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@15782
2016-02-05 22:57:42 +00:00
Philippe Waroquiers
f2e1687cb8 Fix misplaced closing parenthesis in various VG_(....) calls
At many places, we have:
   VG_(fun(a,b,c))
instead of
   VG_(fun)(a,b,c)
So, fix these cases, found using:
grep -n -i -e 'VG_([a-z][a-z0-9_]*[^a-z0-9_)]' *.c */*.c */*/*.c



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@15776
2016-01-27 22:35:14 +00:00
Philippe Waroquiers
9c66c9607b Implement support for 'catch syscall' in gdbserver.
Note that catch syscall implies to use the soon to be released
gdb 7.11 version.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@15770
2016-01-22 21:06:23 +00:00
Mark Wielaard
6072a5a3ac Bug #357833 Setting RLIMIT_DATA to zero breaks with linux 4.5+
We used to set the process datasize rlimit to zero to prevent
any internal use of brk() from having any effect. But later
linux kernels redefine RLIMIT_DATA as the size of any data
areas, including some dynamic mmap memory allocations.

See bug #357833 for the commit that went into linux 4.5
changing the definition of RLIMIT_DATA. So don't mess with
RLIMIT_DATA anymore. Just remember it for use in the syscall
wrappers.

This also cleans up some hacks around the execv and spawn wrappers.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@15766
2016-01-21 11:37:43 +00:00
Mark Wielaard
68a1308014 Bug #358030 Support direct socket calls on x86 32bit (new in linux 4.3)
Patch by ronald.wahl@raritan.com.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@15764
2016-01-20 22:24:43 +00:00
Ivo Raisr
d5266b32f7 Solaris syscall: Fix pset(getloadavg).
The buffer holds integers, not doubles.
n-i-bz


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@15732
2015-11-19 09:34:29 +00:00
Ivo Raisr
e7be5069c3 Solaris syscall: Add support for lwp_cond_signal(171).
Fixes BZ#354392.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@15718
2015-10-26 16:13:05 +00:00
Julian Seward
5e5d78dda0 Fix inconsistent use of vki_ prefixes for struct vki_ifreq.
No functional change.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@15713
2015-10-19 11:21:33 +00:00
Ivo Raisr
b6aeb1c9e6 Solaris syscall: Add support for lwp_cond_wait(170).
Provide scalar test as well.
Fixes BZ #353920.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@15708
2015-10-16 12:20:20 +00:00
Ivo Raisr
9aaa41b23d Solaris syscall: Enable fchdir(120) - generic.
Provide scalar tests as well.
Fixes BZ #353917.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@15707
2015-10-15 09:37:14 +00:00
Rhys Kidd
06d960e68d Fill out missing functionality on amd64 OS X to back up guest state to restart a system call.
No regressions on OS X 10.10

Before:

== 596 tests, 219 stderr failures, 10 stdout failures, 0 stderrB failures, 0 stdoutB failures, 30 post failures ==

After:

== 596 tests, 219 stderr failures, 10 stdout failures, 0 stderrB failures, 0 stdoutB failures, 30 post failures ==

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@15705
2015-10-15 05:40:17 +00:00
Rhys Kidd
7dec5ffbbf Establish some plumbing for old_semwait_signal syscall on OS X.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@15704
2015-10-15 04:43:06 +00:00
Ivo Raisr
6ef7c1085f Solaris syscall: Add support for pset family (207).
Provide scalar tests as well.
Fixes BZ #353398.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@15700
2015-10-12 19:10:42 +00:00
Florian Krohm
193f88fad4 Make sure no executable stack gets created.
Explanation by Matthias Schwarzott:

The linker will request an executable stack as soon as at least one
object file, that is linked in, wants an executable stack.
And the absence of the 
      .section .note.GNU-stack."",@progbits
is enough to tell the linker that an executable stack is needed.
So even an empty asm-file must at least contain this statement to not
force executable stacks on the whole executable.

* Define a helper macro MARK_STACK_NO_EXEC that disables the
  executable stack.
* Instantiate this macro unconditionally at the end of each asm file.

Patch by Matthias Schwarzott <zzam@gentoo.org>.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@15692
2015-09-30 20:30:48 +00:00
Ivo Raisr
cf2ca3123f Solaris ioctl: more of those sockio ioctl wrappers.
SIOCGLIFBRDADDR, SIOCGLIFCONF, SIOCGLIFFLAGS, SIOCGLIFNETMASK.
n-i-bz


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@15689
2015-09-29 14:23:51 +00:00
Ivo Raisr
9c3ee43887 Solaris ioctl: more wrappers for sockio ioctls.
SIOCGIFCONF, SIOCGIFFLAGS, SIOCGIFNETMASK, and SIOCGIFNUM.
n-i-bz


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@15686
2015-09-29 05:20:16 +00:00
Ivo Raisr
a0bde0618b Solaris syscall: Add support for system_stats (154).
Provide scalar test as well.
n-i-bz


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@15684
2015-09-25 21:04:45 +00:00
Ivo Raisr
516df5f4b5 Support correctly AT_SUN_SYSSTAT_ADDR and AT_SUN_SYSSTAT_ZONE_ADDR
in the auxiliary vector.

This is possible as Solaris 12 kernel now creates auxv even
for statically linked binaries.
n-i-bz


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@15682
2015-09-25 20:12:26 +00:00
Mark Wielaard
3d7da7a718 Bug 353084 arm64 doesn't support sigpending system call.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@15676
2015-09-23 12:15:36 +00:00
Mark Wielaard
3d33343cb7 Bug 353083 arm64 doesn't implement various xattr system calls.
This enables setxattr, lsetxattr, fsetxattr, fgetxattr, removexattr,
lremovexattr, fremovexattr, listxattr, llistxattr and flistxattr on
arm64-linux.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@15675
2015-09-23 11:51:47 +00:00
Florian Krohm
c332279b5c Fix up a few comments.
Patch by Jean Delvare <jdelvare@suse.de>.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@15657
2015-09-20 13:42:06 +00:00
Florian Krohm
0d5f723bec Followup to r14908 (BZ #342603).
Comparing the command byte with VKI_I2C_SMBUS_QUICK is like comparing
apples to carrots, it makes no sense. The command byte is unused for
quick transactions anyway so checking its value is pointless.
Patch by Jean Delvare <jdelvare@suse.de>.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@15656
2015-09-20 13:41:25 +00:00
Florian Krohm
4a999cf4a2 Followup to r14908 (BZ #342603).
The first byte of the data array holds the length, so the actual data
length is the value of that byte plus one.
Patch by Jean Delvare <jdelvare@suse.de>.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@15655
2015-09-20 13:40:47 +00:00
Rhys Kidd
b1631e4c8e Fix UNKNOWN fcntl 97 on OS X 10.11
bz#351632

On OS X 10.11 (DP8)

Before:

== 595 tests, 575 stderr failures, 10 stdout failures, 0 stderrB failures, 0 stdoutB failures, 30 post failures ==

After:

== 595 tests, 219 stderr failures, 9 stdout failures, 0 stderrB failures, 0 stdoutB failures, 30 post failures ==

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@15619
2015-09-03 11:31:58 +00:00
Julian Seward
d60f46535c Add missing copyright notices for Xen related files.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@15614
2015-09-01 13:32:21 +00:00
Ivo Raisr
7a4cc7d5fd Add support for ldsoexec on Solaris.
Solaris runtime linker allows to run dynamically linked programs indirectly, as:
    ld.so.1 <dynamic_executable>
This is now possible under Valgrind as well.

Fixes BZ#351858.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@15607
2015-08-31 21:31:09 +00:00
Rhys Kidd
d8a45cbef1 Preliminary support for OS X 10.11 (El Capitan) documentation. bz#348909.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@15584
2015-08-23 08:27:45 +00:00
Ivo Raisr
b00530b6de Distinguish properly when to establish the client data segment.
Initial data segment is established (see initimg-solaris.c for rationale):
- directly during client program image initialization,
- or on demand when the executed program is the runtime linker itself,
  after it has loaded its target dynamic executable (see PRE(sys_mmapobj)),
  or when the first brk() syscall is made.

More preparatory work for ldsoexec support.
n-i-bz


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@15583
2015-08-22 22:08:43 +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
Ivo Raisr
542fa886dc Initial data (brk) segment is setup on demand, when a first brk() syscall
is made. It cannot be established during client image initialization because
that would conflict with a temporary stack which ld.so.1 (when executed directly)
uses for loading the target dynamic executable.
See PRE(sys_brk) in syswrap-solaris.c.

Preparatory work for ldsoexec support.
n-i-bz



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@15572
2015-08-20 20:25:19 +00:00
Julian Seward
bbb480bad2 Fix format string confusion that was somehow related to r15510.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@15556
2015-08-16 11:54:38 +00:00
Ivo Raisr
b66705c636 Newer Solaris has added /proc/self/cmdline and /proc/<pid>/cmdline.
Add support for it in the syswrap machinery and test it more thoroughly.
n-i-bz


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@15545
2015-08-14 20:50:11 +00:00
Julian Seward
e421887527 345338 - TIOCGSERIAL and TIOCSSERIAL ioctl support on Linux
Patch from Martin Ling (martin-kdebugs@earth.li)


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@15542
2015-08-14 08:17:37 +00:00
Julian Seward
396f02357d Bug 349034 - Add Lustre ioctls LL_IOC_GROUP_LOCK and LL_IOC_GROUP_UNLOCK
Patch from Frank Zago (fzago@cray.com)


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@15541
2015-08-14 08:05:35 +00:00
Florian Krohm
cdf7f871da Improve mmap MAP_HUGETLB support.
This is a follow up to r14682:

When an mmap retry is done without any constraints, the kernel can
place it into free or reservation segments (i.e. anywhere there is no
mapping yet).
In r14682 a sanity check made the hypothesis that the new mapping was
in a free segment, but it does not hold at least on Linux 3.12 and 3.16
on amd64 (tested under Debian).
There is no risk in allowing the mapping to end up in (what was
previously) a reservation at this point, because it is also allowed.

Patch by Guillaume Knispel <xilun0@gmail.com>. Fixes BZ #348269.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@15538
2015-08-13 20:35:03 +00:00
Julian Seward
a2df7642ef Bug 339563 - The DVB demux DMX_STOP ioctl doesn't have a wrapper.
Patch from mchehab@infradead.org (Mauro Carvalho Chehab).


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@15537
2015-08-13 14:53:17 +00:00
Florian Krohm
673a4411f0 Write a SysRes value as an unsigned number.
Previously, whether the bitpattern was interpreted as a 
signed or unsigned value depended on the platform.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@15531
2015-08-13 12:27:48 +00:00
Ivo Raisr
166c052df4 Fix the regression from r15518 which broke builds
on older Solaris releases.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@15530
2015-08-12 16:03:16 +00:00
Ivo Raisr
cb0b01d098 Add support for repository cache protocol version 26.
Patch contributed by Tomas Jedlicka <jedlickat@gmail.com>.
n-i-bz


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@15518
2015-08-11 09:12:40 +00:00
Mark Wielaard
a398bfb863 Bug #351140 arm64 syscalls setuid (146) and setresgid (149) not implemented.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@15517
2015-08-09 22:37:52 +00:00
Florian Krohm
9a3883bf3d Fix printf format inconsistencies as pointed out by gcc -Wformat-signedness.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@15510
2015-08-08 21:45:33 +00:00
Rhys Kidd
c5cf91fc5d ioctl handling needs to do POST handling on generic ioctls and needs to handle BPF ioctls
bz#312989

Patch by Guy Harris <guy@alum.mit.edu>

On OS X 10.10

Before:

== 593 tests, 214 stderr failures, 10 stdout failures, 0 stderrB failures, 0 stdoutB failures, 30 post failures ==

After:

== 593 tests, 214 stderr failures, 10 stdout failures, 0 stderrB failures, 0 stdoutB failures, 30 post failures ==


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@15451
2015-07-25 07:57:55 +00:00
Rhys Kidd
e2dfee078f Fix valgrind 3.9.0 build fails on Mac OS X 10.6.8
bz#327745

Patch by Mark H <mh8928@yahoo.com>


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@15444
2015-07-24 10:23:34 +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
Rhys Kidd
dd23e30c68 OS X 10.11: Tweak magic offset, which was amended prior to xnu-3247.1.36~7 (DP3). Also align some debug output text between x86 and amd64. bz#348909.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@15411
2015-07-12 13:25:55 +00:00
Rhys Kidd
042441c57f Fix Valgrind does not support pthread_sigmask() on OS X
bz#201216

On OS X 10.10

Before:

== 592 tests, 220 stderr failures, 15 stdout failures, 0 stderrB failures, 0 stdoutB failures, 30 post failures ==

After:

== 592 tests, 219 stderr failures, 15 stdout failures, 0 stderrB failures, 0 stdoutB failures, 30 post failures ==


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@15410
2015-07-12 06:54:56 +00:00
Julian Seward
2ac4c69401 Fix "346411 MIPS: SysRes::_valEx handling is incorrect"
Specialise type SysRes for mips{32,64}-linux to enable 
meaningful equality comparisons.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@15404
2015-07-08 17:08:23 +00:00