History log of /external/valgrind/coregrind/m_syswrap/syswrap-amd64-linux.c
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
ed39800a83baf5bffbe391f3974eb2af0f415f80 21-Jun-2017 Elliott Hughes <enh@google.com> Upgrade to valgrind 3.13.0 (15 June 2017).

Release 3.13.0 (15 June 2017)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

3.13.0 is a feature release with many improvements and the usual collection of
bug fixes.

This release supports X86/Linux, AMD64/Linux, ARM32/Linux, ARM64/Linux,
PPC32/Linux, PPC64BE/Linux, PPC64LE/Linux, S390X/Linux, MIPS32/Linux,
MIPS64/Linux, ARM/Android, ARM64/Android, MIPS32/Android, X86/Android,
X86/Solaris, AMD64/Solaris and AMD64/MacOSX 10.12.

* ==================== CORE CHANGES ===================

* The translation cache size has been increased to keep up with the demands of
large applications. The maximum number of sectors has increased from 24 to
48. The default number of sectors has increased from 16 to 32 on all
targets except Android, where the increase is from 6 to 12.

* The amount of memory that Valgrind can use has been increased from 64GB to
128GB. In particular this means your application can allocate up to about
60GB when running on Memcheck.

* Valgrind's default load address has been changed from 0x3800'0000 to
0x5800'0000, so as to make it possible to load larger executables. This
should make it possible to load executables of size at least 1200MB.

* A massive spaceleak caused by reading compressed debuginfo files has been
fixed. Valgrind should now be entirely usable with gcc-7.0 "-gz" created
debuginfo.

* The C++ demangler has been updated.

* Support for demangling Rust symbols has been added.

* A new representation of stack traces, the "XTree", has been added. An XTree
is a tree of stacktraces with data associated with the stacktraces. This is
used by various tools (Memcheck, Helgrind, Massif) to report on the heap
consumption of your program. Reporting is controlled by the new options
--xtree-memory=none|allocs|full and --xtree-memory-file=<file>.

A report can also be produced on demand using the gdbserver monitor command
'xtmemory [<filename>]>'. The XTree can be output in 2 formats: 'callgrind
format' and 'massif format. The existing visualisers for these formats (e.g.
callgrind_annotate, KCachegrind, ms_print) can be used to visualise and
analyse these reports.

Memcheck can also produce XTree leak reports using the Callgrind file
format. For more details, see the user manual.

* ================== PLATFORM CHANGES =================

* ppc64: support for ISA 3.0B and various fixes for existing 3.0 support

* amd64: fixes for JIT failure problems on long AVX2 code blocks

* amd64 and x86: support for CET prefixes has been added

* arm32: a few missing ARMv8 instructions have been implemented

* arm64, mips64, mips32: an alternative implementation of Load-Linked and
Store-Conditional instructions has been added. This is to deal with
processor implementations that implement the LL/SC specifications strictly
and as a result cause Valgrind to hang in certain situations. The
alternative implementation is automatically enabled at startup, as required.
You can use the option --sim-hints=fallback-llsc to force-enable it if you
want.

* Support for OSX 10.12 has been improved.

* On Linux, clone handling has been improved to honour CLONE_VFORK that
involves a child stack. Note however that CLONE_VFORK | CLONE_VM is handled
like CLONE_VFORK (by removing CLONE_VM), so applications that depend on
CLONE_VM exact semantics will (still) not work.

* The TileGX/Linux port has been removed because it appears to be both unused
and unsupported.

* ==================== TOOL CHANGES ====================

* Memcheck:

- Memcheck should give fewer false positives when running optimised
Clang/LLVM generated code.

- Support for --xtree-memory and 'xtmemory [<filename>]>'.

- New command line options --xtree-leak=no|yes and --xtree-leak-file=<file>
to produce the end of execution leak report in a xtree callgrind format
file.

- New option 'xtleak' in the memcheck leak_check monitor command, to produce
the leak report in an xtree file.

* Massif:

- Support for --xtree-memory and 'xtmemory [<filename>]>'.

- For some workloads (typically, for big applications), Massif memory
consumption and CPU consumption has decreased significantly.

* Helgrind:

- Support for --xtree-memory and 'xtmemory [<filename>]>'.

- addition of client request VALGRIND_HG_GNAT_DEPENDENT_MASTER_JOIN, useful
for Ada gnat compiled applications.

* ==================== OTHER CHANGES ====================

* For Valgrind developers: in an outer/inner setup, the outer Valgrind will
append the inner guest stacktrace to the inner host stacktrace. This helps
to investigate the errors reported by the outer, when they are caused by the
inner guest program (such as an inner regtest). See README_DEVELOPERS for
more info.

* To allow fast detection of callgrind files by desktop environments and file
managers, the format was extended to have an optional first line that
uniquely identifies the format ("# callgrind format"). Callgrind creates
this line now, as does the new xtree functionality.

* File name template arguments (such as --log-file, --xtree-memory-file, ...)
have a new %n format letter that is replaced by a sequence number.

* "--version -v" now shows the SVN revision numbers from which Valgrind was
built.

* ==================== FIXED BUGS ====================

The following bugs have been fixed or resolved. Note that "n-i-bz"
stands for "not in bugzilla" -- that is, a bug that was reported to us
but never got a bugzilla entry. We encourage you to file bugs in
bugzilla (https://bugs.kde.org/enter_bug.cgi?product=valgrind) rather
than mailing the developers (or mailing lists) directly -- bugs that
are not entered into bugzilla tend to get forgotten about or ignored.

To see details of a given bug, visit
https://bugs.kde.org/show_bug.cgi?id=XXXXXX
where XXXXXX is the bug number as listed below.

162848 --log-file output isn't split when a program forks
340777 Illegal instruction on mips (ar71xx)
341481 MIPS64: Iop_CmpNE32 triggers false warning on MIPS64 platforms
342040 Valgrind mishandles clone with CLONE_VFORK | CLONE_VM that clones
to a different stack.
344139 x86 stack-seg overrides, needed by the Wine people
344524 store conditional of guest applications always fail - observed on
Octeon3(MIPS)
348616 Wine/valgrind: noted but unhandled ioctl 0x5390 [..] (DVD_READ_STRUCT)
352395 Please provide SVN revision info in --version -v
352767 Wine/valgrind: noted but unhandled ioctl 0x5307 [..] (CDROMSTOP)
356374 Assertion 'DRD_(g_threadinfo)[tid].pt_threadid !=
INVALID_POSIX_THREADID' failed
358213 helgrind/drd bar_bad testcase hangs or crashes with new glibc pthread
barrier implementation
358697 valgrind.h: Some code remains even when defining NVALGRIND
359202 Add musl libc configure/compile
360415 amd64 instructions ADCX and ADOX are not implemented in VEX
== 372828 (vex amd64->IR: 0x66 0xF 0x3A 0x62 0x4A 0x10)
360429 unhandled ioctl 0x530d with no size/direction hints (CDROMREADMODE1)
362223 assertion failed when .valgrindrc is a directory instead of a file
367543 bt/btc/btr/bts x86/x86_64 instructions are poorly-handled wrt flags
367942 Segfault vgPlain_do_sys_sigaction (m_signals.c:1138)
368507 can't malloc chunks larger than about 34GB
368529 Android arm target link error, missing atexit and pthread_atfork
368863 WARNING: unhandled arm64-linux syscall: 100 (get_robust_list)
368865 WARNING: unhandled arm64-linux syscall: 272 (kcmp)
368868 disInstr(arm64): unhandled instruction 0xD53BE000 = cntfrq_el0 (ARMv8)
368917 WARNING: unhandled arm64-linux syscall: 218 (request_key)
368918 WARNING: unhandled arm64-linux syscall: 127 (sched_rr_get_interval)
368922 WARNING: unhandled arm64-linux syscall: 161 (sethostname)
368924 WARNING: unhandled arm64-linux syscall: 84 (sync_file_range)
368925 WARNING: unhandled arm64-linux syscall: 130 (tkill)
368926 WARNING: unhandled arm64-linux syscall: 97 (unshare)
369459 valgrind on arm64 violates the ARMv8 spec (ldxr/stxr)
370028 Reduce the number of compiler warnings on MIPS platforms
370635 arm64 missing syscall getcpu
371225 Fix order of timer_{gettime,getoverrun,settime} syscalls on arm64
371227 Clean AArch64 syscall table
371412 Rename wrap_sys_shmat to sys_shmat like other wrappers
371471 Valgrind complains about non legit memory leaks on placement new (C++)
371491 handleAddrOverrides() is [incorrect] when ASO prefix is used
371503 disInstr(arm64): unhandled instruction 0xF89F0000
371869 support '%' in symbol Z-encoding
371916 execution tree xtree concept
372120 c++ demangler demangles symbols which are not c++
372185 Support of valgrind on ARMv8 with 32 bit executable
372188 vex amd64->IR: 0x66 0xF 0x3A 0x62 0x4A 0x10 0x10 0x48 (PCMPxSTRx $0x10)
372195 Power PC, xxsel instruction is not always recognized.
372504 Hanging on exit_group
372600 process loops forever when fatal signals are arriving quickly
372794 LibVEX (arm32 front end): 'Assertion szBlg2 <= 3' failed
373046 Stacks registered by core are never deregistered
373069 memcheck/tests/leak_cpp_interior fails with GCC 5.1+
373086 Implement additional Xen hypercalls
373192 Calling posix_spawn in glibc 2.24 completely broken
373488 Support for fanotify API on ARM64 architecture
== 368864 WARNING: unhandled arm64-linux syscall: 262 (fanotify_init)
373555 Rename BBPTR to GSPTR as it denotes guest state pointer only
373938 const IRExpr arguments for matchIRExpr()
374719 some spelling fixes
374963 increase valgrind's load address to prevent mmap failure
375514 valgrind_get_tls_addr() does not work in case of static TLS
375772 +1 error in get_elf_symbol_info() when computing value of 'hi' address
for ML_(find_rx_mapping)()
375806 Test helgrind/tests/tc22_exit_w_lock fails with glibc 2.24
375839 Temporary storage exhausted, with long sequence of vfmadd231ps insns
== 377159 "vex: the `impossible' happened" still present
== 375150 Assertion 'tres.status == VexTransOK' failed
== 378068 valgrind crashes on AVX2 function in FFmpeg
376142 Segfaults on MIPS Cavium Octeon boards
376279 disInstr(arm64): unhandled instruction 0xD50320FF
376455 Solaris: unhandled syscall lgrpsys(180)
376518 Solaris: unhandled fast trap getlgrp(6)
376611 ppc64 and arm64 don't know about prlimit64 syscall
376729 PPC64, remove R2 from the clobber list
== 371668
376956 syswrap of SNDDRV and DRM_IOCTL_VERSION causing some addresses
to be wrongly marked as addressable
377066 Some Valgrind unit tests fail to compile on Ubuntu 16.10 with
PIE enabled by default
377376 memcheck/tests/linux/getregset fails with glibc2.24
377427 PPC64, lxv instruction failing on odd destination register
377478 PPC64: ISA 3.0 setup fixes
377698 Missing memory check for futex() uaddr arg for FUTEX_WAKE
and FUTEX_WAKE_BITSET, check only 4 args for FUTEX_WAKE_BITSET,
and 2 args for FUTEX_TRYLOCK_PI
377717 Fix massive space leak when reading compressed debuginfo sections
377891 Update Xen 4.6 domctl wrappers
377930 fcntl syscall wrapper is missing flock structure check
378524 libvexmultiarch_test regression on s390x and ppc64
378535 Valgrind reports INTERNAL ERROR in execve syscall wrapper
378673 Update libiberty demangler
378931 Add ISA 3.0B additional isnstructions, add OV32, CA32 setting support
379039 syscall wrapper for prctl(PR_SET_NAME) must not check more than 16 bytes
379094 Valgrind reports INTERNAL ERROR in rt_sigsuspend syscall wrapper
379371 UNKNOWN task message [id 3444, to mach_task_self(), reply 0x603]
(task_register_dyld_image_infos)
379372 UNKNOWN task message [id 3447, to mach_task_self(), reply 0x603]
(task_register_dyld_shared_cache_image_info)
379390 unhandled syscall: mach:70 (host_create_mach_voucher_trap)
379473 MIPS: add support for rdhwr cycle counter register
379504 remove TileGX/Linux port
379525 Support more x86 nop opcodes
379838 disAMode(x86): not an addr!
379703 PC ISA 3.0 fixes: stxvx, stxv, xscmpexpdp instructions
379890 arm: unhandled instruction: 0xEBAD 0x1B05 (sub.w fp, sp, r5, lsl #4)
379895 clock_gettime does not execute POST syscall wrapper
379925 PPC64, mtffs does not set the FPCC and C bits in the FPSCR correctly
379966 WARNING: unhandled amd64-linux syscall: 313 (finit_module)
380200 xtree generated callgrind files refer to files without directory name
380202 Assertion failure for cache line size (cls == 64) on aarch64.
380397 s390x: __GI_strcspn() replacement needed
n-i-bz Fix pub_tool_basics.h build issue with g++ 4.4.7.

(3.13.0.RC1: 2 June 2017, vex r3386, valgrind r16434)
(3.13.0.RC2: 9 June 2017, vex r3389, valgrind r16443)
(3.13.0: 14 June 2017, vex r3396, valgrind r16446)

Bug: N/A
Test: manual
Change-Id: Id4498a49f462c3689cbcb35c15f96a8c7e3cea17
/external/valgrind/coregrind/m_syswrap/syswrap-amd64-linux.c
a0664b9ca67b594bd6f570a61d3301167a24750c 19-Apr-2017 Elliott Hughes <enh@google.com> Upgrade to valgrind 3.12.0.

Release 3.12.0 (20 October 2016)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

3.12.0 is a feature release with many improvements and the usual
collection of bug fixes.

This release supports X86/Linux, AMD64/Linux, ARM32/Linux,
ARM64/Linux, PPC32/Linux, PPC64BE/Linux, PPC64LE/Linux, S390X/Linux,
MIPS32/Linux, MIPS64/Linux, ARM/Android, ARM64/Android,
MIPS32/Android, X86/Android, X86/Solaris, AMD64/Solaris, X86/MacOSX
10.10 and AMD64/MacOSX 10.10. There is also preliminary support for
X86/MacOSX 10.11/12, AMD64/MacOSX 10.11/12 and TILEGX/Linux.

* ================== PLATFORM CHANGES =================

* POWER: Support for ISA 3.0 has been added

* mips: support for O32 FPXX ABI has been added.
* mips: improved recognition of different processors
* mips: determination of page size now done at run time

* amd64: Partial support for AMD FMA4 instructions.

* arm, arm64: Support for v8 crypto and CRC instructions.

* Improvements and robustification of the Solaris port.

* Preliminary support for MacOS 10.12 (Sierra) has been added.

Whilst 3.12.0 continues to support the 32-bit x86 instruction set, we
would prefer users to migrate to 64-bit x86 (a.k.a amd64 or x86_64)
where possible. Valgrind's support for 32-bit x86 has stagnated in
recent years and has fallen far behind that for 64-bit x86
instructions. By contrast 64-bit x86 is well supported, up to and
including AVX2.

* ==================== TOOL CHANGES ====================

* Memcheck:

- Added meta mempool support for describing a custom allocator which:
- Auto-frees all chunks assuming that destroying a pool destroys all
objects in the pool
- Uses itself to allocate other memory blocks

- New flag --ignore-range-below-sp to ignore memory accesses below
the stack pointer, if you really have to. The related flag
--workaround-gcc296-bugs=yes is now deprecated. Use
--ignore-range-below-sp=1024-1 as a replacement.

* DRD:

- Improved thread startup time significantly on non-Linux platforms.

* DHAT

- Added collection of the metric "tot-blocks-allocd"

* ==================== OTHER CHANGES ====================

* Replacement/wrapping of malloc/new related functions is now done not just
for system libraries by default, but for any globally defined malloc/new
related function (both in shared libraries and statically linked alternative
malloc implementations). The dynamic (runtime) linker is excluded, though.
To only intercept malloc/new related functions in
system libraries use --soname-synonyms=somalloc=nouserintercepts (where
"nouserintercepts" can be any non-existing library name).
This new functionality is not implemented for MacOS X.

* The maximum number of callers in a suppression entry is now equal to
the maximum size for --num-callers (500).
Note that --gen-suppressions=yes|all similarly generates suppressions
containing up to --num-callers frames.

* New and modified GDB server monitor features:

- Valgrind's gdbserver now accepts the command 'catch syscall'.
Note that you must have GDB >= 7.11 to use 'catch syscall' with
gdbserver.

* New option --run-cxx-freeres=<yes|no> can be used to change whether
__gnu_cxx::__freeres() cleanup function is called or not. Default is
'yes'.

* Valgrind is able to read compressed debuginfo sections in two formats:
- zlib ELF gABI format with SHF_COMPRESSED flag (gcc option -gz=zlib)
- zlib GNU format with .zdebug sections (gcc option -gz=zlib-gnu)

* Modest JIT-cost improvements: the cost of instrumenting code blocks
for the most common use case (x86_64-linux, Memcheck) has been
reduced by 10%-15%.

* Improved performance for programs that do a lot of discarding of
instruction address ranges of 8KB or less.

* The C++ symbol demangler has been updated.

* More robustness against invalid syscall parameters on Linux.

* ==================== FIXED BUGS ====================

The following bugs have been fixed or resolved. Note that "n-i-bz"
stands for "not in bugzilla" -- that is, a bug that was reported to us
but never got a bugzilla entry. We encourage you to file bugs in
bugzilla (https://bugs.kde.org/enter_bug.cgi?product=valgrind) rather
than mailing the developers (or mailing lists) directly -- bugs that
are not entered into bugzilla tend to get forgotten about or ignored.

To see details of a given bug, visit
https://bugs.kde.org/show_bug.cgi?id=XXXXXX
where XXXXXX is the bug number as listed below.

191069 Exiting due to signal not reported in XML output
199468 Suppressions: stack size limited to 25
while --num-callers allows more frames
212352 vex amd64 unhandled opc_aux = 0x 2, first_opcode == 0xDC (FCOM)
278744 cvtps2pd with redundant RexW
303877 valgrind doesn't support compressed debuginfo sections.
345307 Warning about "still reachable" memory when using libstdc++ from gcc 5
348345 Assertion fails for negative lineno
351282 V 3.10.1 MIPS softfloat build broken with GCC 4.9.3 / binutils 2.25.1
351692 Dumps created by valgrind are not readable by gdb (mips32 specific)
351804 Crash on generating suppressions for "printf" call on OS X 10.10
352197 mips: mmap2() not wrapped correctly for page size > 4096
353083 arm64 doesn't implement various xattr system calls
353084 arm64 doesn't support sigpending system call
353137 www: update info for Supported Platforms
353138 www: update "The Valgrind Developers" page
353370 don't advertise RDRAND in cpuid for Core-i7-4910-like avx2 machine
== 365325
== 357873
353384 amd64->IR: 0x66 0xF 0x3A 0x62 0xD1 0x62 (pcmpXstrX $0x62)
353398 WARNING: unhandled amd64-solaris syscall: 207
353660 XML in auxwhat tag not escaping reserved symbols properly
353680 s390x: Crash with certain glibc versions due to non-implemented TBEGIN
353727 amd64->IR: 0x66 0xF 0x3A 0x62 0xD1 0x72 (pcmpXstrX $0x72)
353802 ELF debug info reader confused with multiple .rodata sections
353891 Assert 'bad_scanned_addr < VG_ROUNDDN(start+len, sizeof(Addr))' failed
353917 unhandled amd64-solaris syscall fchdir(120)
353920 unhandled amd64-solaris syscall: 170
354274 arm: unhandled instruction: 0xEBAD 0x0AC1 (sub.w sl, sp, r1, lsl #3)
354392 unhandled amd64-solaris syscall: 171
354797 Vbit test does not include Iops for Power 8 instruction support
354883 tst->os_state.pthread - magic_delta assertion failure on OSX 10.11
== 361351
== 362920
== 366222
354933 Fix documentation of --kernel-variant=android-no-hw-tls option
355188 valgrind should intercept all malloc related global functions
355454 do not intercept malloc related symbols from the runtime linker
355455 stderr.exp of test cases wrapmalloc and wrapmallocstatic overconstrained
356044 Dwarf line info reader misinterprets is_stmt register
356112 mips: replace addi with addiu
356393 valgrind (vex) crashes because isZeroU happened
== 363497
== 364497
356676 arm64-linux: unhandled syscalls 125, 126 (sched_get_priority_max/min)
356678 arm64-linux: unhandled syscall 232 (mincore)
356817 valgrind.h triggers compiler errors on MSVC when defining NVALGRIND
356823 Unsupported ARM instruction: stlex
357059 x86/amd64: SSE cvtpi2ps with memory source does transition to MMX state
357338 Unhandled instruction for SHA instructions libcrypto Boring SSL
357673 crash if I try to run valgrind with a binary link with libcurl
357833 Setting RLIMIT_DATA to zero breaks with linux 4.5+
357871 pthread_spin_destroy not properly wrapped
357887 Calls to VG_(fclose) do not close the file descriptor
357932 amd64->IR: accept redundant REX prefixes for {minsd,maxsd} m128, xmm.
358030 support direct socket calls on x86 32bit (new in linux 4.3)
358478 drd/tests/std_thread.cpp doesn't build with GCC6
359133 Assertion 'eltSzB <= ddpa->poolSzB' failed
359181 Buffer Overflow during Demangling
359201 futex syscall "skips" argument 5 if op is FUTEX_WAIT_BITSET
359289 s390x: popcnt (B9E1) not implemented
359472 The Power PC vsubuqm instruction doesn't always give the correct result
359503 Add missing syscalls for aarch64 (arm64)
359645 "You need libc6-dbg" help message could be more helpful
359703 s390: wire up separate socketcalls system calls
359724 getsockname might crash - deref_UInt should call safe_to_deref
359733 amd64 implement ld.so strchr/index override like x86
359767 Valgrind does not support the IBM POWER ISA 3.0 instructions, part 1/5
359829 Power PC test suite none/tests/ppc64/test_isa_2_07.c uses
uninitialized data
359838 arm64: Unhandled instruction 0xD5033F5F (clrex)
359871 Incorrect mask handling in ppoll
359952 Unrecognised PCMPESTRM variants (0x70, 0x19)
360008 Contents of Power vr registers contents is not printed correctly when
the --vgdb-shadow-registers=yes option is used
360035 POWER PC instruction bcdadd and bcdsubtract generate result with
non-zero shadow bits
360378 arm64: Unhandled instruction 0x5E280844 (sha1h s4, s2)
360425 arm64 unsupported instruction ldpsw
== 364435
360519 none/tests/arm64/memory.vgtest might fail with newer gcc
360571 Error about the Android Runtime reading below the stack pointer on ARM
360574 Wrong parameter type for an ashmem ioctl() call on Android and ARM64
360749 kludge for multiple .rodata sections on Solaris no longer needed
360752 raise the number of reserved fds in m_main.c from 10 to 12
361207 Valgrind does not support the IBM POWER ISA 3.0 instructions, part 2/5
361226 s390x: risbgn (EC59) not implemented
361253 [s390x] ex_clone.c:42: undefined reference to `pthread_create'
361354 ppc64[le]: wire up separate socketcalls system calls
361615 Inconsistent termination for multithreaded process terminated by signal
361926 Unhandled Solaris syscall: sysfs(84)
362009 V dumps core on unimplemented functionality before threads are created
362329 Valgrind does not support the IBM POWER ISA 3.0 instructions, part 3/5
362894 missing (broken) support for wbit field on mtfsfi instruction (ppc64)
362935 [AsusWRT] Assertion 'sizeof(TTEntryC) <= 88' failed
362953 Request for an update to the Valgrind Developers page
363680 add renameat2() support
363705 arm64 missing syscall name_to_handle_at and open_by_handle_at
363714 ppc64 missing syscalls sync, waitid and name_to/open_by_handle_at
363858 Valgrind does not support the IBM POWER ISA 3.0 instructions, part 4/5
364058 clarify in manual limitations of array overruns detections
364413 pselect sycallwrapper mishandles NULL sigmask
364728 Power PC, missing support for several HW registers in
get_otrack_shadow_offset_wrk()
364948 Valgrind does not support the IBM POWER ISA 3.0 instructions, part 5/5
365273 Invalid write to stack location reported after signal handler runs
365912 ppc64BE segfault during jm-insns test (RELRO)
366079 FPXX Support for MIPS32 Valgrind
366138 Fix configure errors out when using Xcode 8 (clang 8.0.0)
366344 Multiple unhandled instruction for Aarch64
(0x0EE0E020, 0x1AC15800, 0x4E284801, 0x5E040023, 0x5E056060)
367995 Integration of memcheck with custom memory allocator
368120 x86_linux asm _start functions do not keep 16-byte aligned stack pointer
368412 False positive result for altivec capability check
368416 Add tc06_two_races_xml.exp output for ppc64
368419 Perf Events ioctls not implemented
368461 mmapunmap test fails on ppc64
368823 run_a_thread_NORETURN assembly code typo for VGP_arm64_linux target
369000 AMD64 fma4 instructions unsupported.
369169 ppc64 fails jm_int_isa_2_07 test
369175 jm_vec_isa_2_07 test crashes on ppc64
369209 valgrind loops and eats up all memory if cwd doesn't exist.
369356 pre_mem_read_sockaddr syscall wrapper can crash with bad sockaddr
369359 msghdr_foreachfield can crash when handling bad iovec
369360 Bad sigprocmask old or new sets can crash valgrind
369361 vmsplice syscall wrapper crashes on bad iovec
369362 Bad sigaction arguments crash valgrind
369383 x86 sys_modify_ldt wrapper crashes on bad ptr
369402 Bad set/get_thread_area pointer crashes valgrind
369441 bad lvec argument crashes process_vm_readv/writev syscall wrappers
369446 valgrind crashes on unknown fcntl command
369439 S390x: Unhandled insns RISBLG/RISBHG and LDE/LDER
369468 Remove quadratic metapool algorithm using VG_(HT_remove_at_Iter)
370265 ISA 3.0 HW cap stuff needs updating
371128 BCD add and subtract instructions on Power BE in 32-bit mode do not work
n-i-bz Fix incorrect (or infinite loop) unwind on RHEL7 x86 and amd64
n-i-bz massif --pages-as-heap=yes does not report peak caused by mmap+munmap
n-i-bz false positive leaks due to aspacemgr merging heap & non heap segments
n-i-bz Fix ppoll_alarm exclusion on OS X
n-i-bz Document brk segment limitation, reference manual in limit reached msg.
n-i-bz Fix clobber list in none/tests/amd64/xacq_xrel.c [valgrind r15737]
n-i-bz Bump allowed shift value for "add.w reg, sp, reg, lsl #N" [vex r3206]
n-i-bz amd64: memcheck false positive with shr %edx
n-i-bz arm3: Allow early writeback of SP base register in "strd rD, [sp, #-16]"
n-i-bz ppc: Fix two cases of PPCAvFpOp vs PPCFpOp enum confusion
n-i-bz arm: Fix incorrect register-number constraint check for LDAEX{,B,H,D}
n-i-bz DHAT: added collection of the metric "tot-blocks-allocd"

(3.12.0.RC1: 20 October 2016, vex r3282, valgrind r16094)
(3.12.0.RC2: 20 October 2016, vex r3282, valgrind r16096)
(3.12.0: 21 October 2016, vex r3282, valgrind r16098)

Bug: http://b/37470713
Bug: http://b/29251682
Test: ran runtests-arm(64)?.sh and the bug reporter's specific binary (32- and 64-bit)
Change-Id: I43ccbea946d89fc4ae9f355181ac5061d6ce4453
/external/valgrind/coregrind/m_syswrap/syswrap-amd64-linux.c
b3a1e4bffbdbbf38304f216af405009868f43628 21-Aug-2015 sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> Update copyright dates, to include 2015. No functional change.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@15577 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_syswrap/syswrap-amd64-linux.c
b26101c4d128f0bfed780434c4e4f8d67f8aeee4 08-Aug-2015 florian <florian@a5019735-40e9-0310-863c-91ae7b9d1cf9> Fix printf format inconsistencies as pointed out by gcc -Wformat-signedness.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@15510 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_syswrap/syswrap-amd64-linux.c
ad4e979f408239dabbaae955d8ffcb84a51a5c85 05-Jul-2015 florian <florian@a5019735-40e9-0310-863c-91ae7b9d1cf9> Fix typos in source code. Patch by Dmitriy (olshevskiy87@bk.ru).
Fixes BZ #349874


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@15394 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_syswrap/syswrap-amd64-linux.c
9e2645c0b8d76ece8eed2d08d1b7a8021da41252 07-May-2015 tom <tom@a5019735-40e9-0310-863c-91ae7b9d1cf9> Add support for the syncfs system call.

Based on patch from j@eckel.me on BZ#347389.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@15191 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_syswrap/syswrap-amd64-linux.c
faaf86055a7af8ff13c591cdf692724aab94c960 18-Apr-2015 florian <florian@a5019735-40e9-0310-863c-91ae7b9d1cf9> Remove a few unneeded header files.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@15111 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_syswrap/syswrap-amd64-linux.c
9d7592e571487e08e2166212890e65b87e2905a4 19-Jan-2015 tom <tom@a5019735-40e9-0310-863c-91ae7b9d1cf9> Handle the memfd_create system call.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14875 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_syswrap/syswrap-amd64-linux.c
8e7857747b7e178de4cc825cb35c10efec855ab2 17-Dec-2014 philippe <philippe@a5019735-40e9-0310-863c-91ae7b9d1cf9> Fix 197259 Unsupported arch_prtctl PR_SET_GS option
(valgrind side).
In summary: we were counting somewhat on the luck for FS,
we now similarly count on luch for GS
See VEX commit log r3043 for more details.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14815 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_syswrap/syswrap-amd64-linux.c
e6366711ec586437958764b451145749c7bcded1 10-Nov-2014 tom <tom@a5019735-40e9-0310-863c-91ae7b9d1cf9> Add support for the getrandom system call. BZ#340788.

Requires r14705 for updated system call lists.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14709 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_syswrap/syswrap-amd64-linux.c
8a3377f03c4865cda1dd1e9a152861fdb77315fa 08-Sep-2014 sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> Add support for sys_pivot_root and sys_unshare. Patch from
Steven Stewart-Gallus <sstewartgallus00@mylangara.bc.ca>.
n-i-bz (patch on dev@, 27 Aug 2014)



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14494 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_syswrap/syswrap-amd64-linux.c
2fee8701a03de747cf0d112e13efdb9151b0154c 04-Sep-2014 sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> Add support for sys_kcmp. Patch from Chris Jones
(cjones.bugs@gmail.com). Fixes #338106.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14451 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_syswrap/syswrap-amd64-linux.c
38a74d2cc4670e3eb559adff51a376cd6ec98005 30-Aug-2014 philippe <philippe@a5019735-40e9-0310-863c-91ae7b9d1cf9> The semantic of the stack bounds is not consistent or is not described.
At various places, there were either some assumption that the 'end'
boundary (highest address) was either not included, included,
or was the highest addressable word, or the highest addressable byte.
This e.g. was very visible when doing:
./vg-in-place -d -d ./helgrind/tests/tc01_simple_race|&grep regi
giving
--24040:2:stacks register 0xBEDB4000-0xBEDB4FFF as stack 0
--24040:2:stacks register 0x402C000-0x4A2C000 as stack 1
showing that the main stack end was (on x86) not the highest word
but the highest byte, while for the thread 1, the registered end
was a byte not part of the stack.

The attached patch ensures that stack bounds semantic are documented and
consistent. Also, some of the stack handling code is factorised.

The convention that the patch ensures and documents is:
start is the lowest addressable byte, end is the highest addressable byte.
(the words 'min' and 'max' have been kept when already used, as this wording is
consistent with the new semantic of start/end).

In various debug log, used brackets [ and ] to make clear that
both bounds are included.

The code to guess and register the client stack was duplicated
in all the platform specific syswrap-<plat>-<os>.c files.
Code has been factorised in syswrap-generic.c

The patch has been regression tested on
x86, amd64, ppc32/64, s390x.
It has been compiled and one test run on arm64.
Not compiled/not tested on darwin, android, mips32/64, arm


More in details, the patch does the following:

coregrind/pub_core_aspacemgr.h
include/valgrind.h
include/pub_tool_machine.h
coregrind/pub_core_scheduler.h
coregrind/pub_core_stacks.h
- document start/end semantic in various functions
also in pub_tool_machine.h:
- replaces unclear 'bottommost address' by 'lowest address'
(unclear as stack bottom is or at least can be interpreted as
the 'functional' bottom of the stack, which is the highest
address for 'stack growing downwards').
coregrind/pub_core_initimg.h
replace unclear clstack_top by clstack_end
coregrind/m_main.c
updated to clstack_end

coregrind/pub_core_threadstate.h
renamed client_stack_highest_word to client_stack_highest_byte
coregrind/m_scheduler/scheduler.c
computes client_stack_highest_byte as the highest addressable byte
Update comments in call to VG_(show_sched_status)
coregrind/m_machine.c
coregrind/m_stacktrace.c
updated to client_stack_highest_byte, and switched
stack_lowest/highest_word to stack_lowest/highest_byte accordingly

coregrind/m_stacks.c
clarify semantic of start/end,
added a comment to indicate why we invert start/end in register call
(note that the code find_stack_by_addr was already assuming that
end was included as the checks were doing e.g.
sp >= i->start && sp <= i->end

coregrind/pub_core_clientstate.h
coregrind/m_clientstate.c
renames Addr VG_(clstk_base) to Addr VG_(clstk_start_base)
(start to indicate it is the lowest address, base suffix kept
to indicate it is the initial lowest address).

coregrind/m_initimg/initimg-darwin.c
updated to VG_(clstk_start_base)
replace unclear iicii.clstack_top by iicii.clstack_end
updated clstack_max_size computation according to both bounds included.

coregrind/m_initimg/initimg-linux.c
updated to VG_(clstk_start_base)
updated VG_(clstk_end) computation according to both bounds included.
replace unclear iicii.clstack_top by iicii.clstack_end

coregrind/pub_core_aspacemgr.h
extern Addr VG_(am_startup) : clarify semantic of the returned value
coregrind/m_aspacemgr/aspacemgr-linux.c
removed a copy of a comment that was already in pub_core_aspacemgr.h
(avoid double maintenance)
renamed unclear suggested_clstack_top to suggested_clstack_end
(note that here, it looks like suggested_clstack_top was already
the last addressable byte)

* factorisation of the stack guessing and registration causes
mechanical changes in the following files:
coregrind/m_syswrap/syswrap-ppc64-linux.c
coregrind/m_syswrap/syswrap-x86-darwin.c
coregrind/m_syswrap/syswrap-amd64-linux.c
coregrind/m_syswrap/syswrap-arm-linux.c
coregrind/m_syswrap/syswrap-generic.c
coregrind/m_syswrap/syswrap-mips64-linux.c
coregrind/m_syswrap/syswrap-ppc32-linux.c
coregrind/m_syswrap/syswrap-amd64-darwin.c
coregrind/m_syswrap/syswrap-mips32-linux.c
coregrind/m_syswrap/priv_syswrap-generic.h
coregrind/m_syswrap/syswrap-x86-linux.c
coregrind/m_syswrap/syswrap-s390x-linux.c
coregrind/m_syswrap/syswrap-darwin.c
coregrind/m_syswrap/syswrap-arm64-linux.c
Some files to look at more in details:
syswrap-darwin.c : the handling of sysctl(kern.usrstack) looked
buggy to me, and has probably be made correct by the fact that
VG_(clstk_end) is now the last addressable byte. However,unsure
about this, as I could not find any documentation about
sysctl(kern.usrstack). I only find several occurences on the web,
showing that the result of this is page aligned, which I guess
means it must be 1+ the last addressable byte.
syswrap-x86-darwin.c and syswrap-amd64-darwin.c
I suspect the code that was computing client_stack_highest_word
was wrong, and the patch makes it correct.
syswrap-mips64-linux.c
not sure what to do for this code. This is the only code
that was guessing the stack differently from others.
Kept (almost) untouched. To be discussed with mips maintainers.

coregrind/pub_core_libcassert.h
coregrind/m_libcassert.c
* void VG_(show_sched_status):
renamed Bool valgrind_stack_usage to Bool stack_usage
if stack_usage, shows both the valgrind stack usage and
the client stack boundaries
coregrind/m_scheduler/scheduler.c
coregrind/m_gdbserver/server.c
coregrind/m_gdbserver/remote-utils.c
Updated comments in callers to VG_(show_sched_status)



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14392 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_syswrap/syswrap-amd64-linux.c
ec905f7ed1659f2251045114c785659fbb11ea88 17-Aug-2014 philippe <philippe@a5019735-40e9-0310-863c-91ae7b9d1cf9> The attached patch cleanups the clo processing
of clo which are (or should be) 'enum set'.

* pub_tool_options.h : add new macrox VG_USET_CLO and VG_USETX_CLO to
parse an 'enum set' command line option (with or without "all" keyword).

* use VG_USET_CLO for existing enum set clo options:
memcheck --errors-for-leak-kinds, --show-leak-kinds, --leak-check-heuristics
coregrind --vgdb-stop-at

* change --sim-hints and --kernel-variants to enum set
(this allows to detect user typos: currently, a typo in a sim-hint
or kernel variant is silently ignored. Now, an error will be given
to the user)

* The 2 new sets (--sim-hints and --kernel-variants) should not make
use of the 'all' keyword => VG_(parse_enum_set) has a new argument
to enable/disable the use of the "all" keyword.

* The macros defining an 'all enum' set definition was duplicating
all enum values (so addition of a new enum value could easily
give a bug). Removing these macros as they are unused
(to the exception of the leak-kind set).
For this set, the 'all macro' has been replaced by an 'all function',
coded using parse_enum_set parsing the "all" keyword.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14301 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_syswrap/syswrap-amd64-linux.c
ddc4a18e6aeaf9124b9d86cd515e1093ff00eeed 30-Jan-2014 tom <tom@a5019735-40e9-0310-863c-91ae7b9d1cf9> Add support for the clock_adjtime system call.

Based on a patch from Stefan Sørensen on BZ#330469.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@13785 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_syswrap/syswrap-amd64-linux.c
4f5be8cb2f8e83559648578e5d2098425a6a3068 30-Jan-2014 tom <tom@a5019735-40e9-0310-863c-91ae7b9d1cf9> Both eventfd and eventfd2 have post handlers that we were failing
to call on most platforms. Fixes BZ #330459.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@13784 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_syswrap/syswrap-amd64-linux.c
0f157ddb404bcde7815a1c5bf2d7e41c114f3d73 18-Oct-2013 sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> Update copyright dates (20XY-2012 ==> 20XY-2013)


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@13658 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_syswrap/syswrap-amd64-linux.c
cec24b5ef2b4414b223bbbcb9e6f8bfc5e8dfb95 17-Jul-2013 tom <tom@a5019735-40e9-0310-863c-91ae7b9d1cf9> Add support for fanotify_init and fanotify_mark, based on patches
from Heinrich Schuchardt. BZ#320895.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@13460 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_syswrap/syswrap-amd64-linux.c
43ca097004b406779c2f62301dff5717c0c817dc 17-Jul-2013 tom <tom@a5019735-40e9-0310-863c-91ae7b9d1cf9> Add support for open_by_handle_at and fix name_to_handle_at
to check the file handle argument correctly. BZ#316761.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@13459 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_syswrap/syswrap-amd64-linux.c
f93bbd90a4e8b5c73270f230a5d7a5fadba540bd 17-Jul-2013 tom <tom@a5019735-40e9-0310-863c-91ae7b9d1cf9> Handle the sethostname system call. BZ#311922.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@13458 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_syswrap/syswrap-amd64-linux.c
f9e5b5e2833d5a24224f54485e7b06bdc01b42e6 03-Mar-2013 tom <tom@a5019735-40e9-0310-863c-91ae7b9d1cf9> Implement the name_to_handle_at system call for x86 and amd64.
Based on patch from Asmadeus to fix BZ#308930.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@13304 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_syswrap/syswrap-amd64-linux.c
6b087764e018db13d67e9d896f02dc34df294da4 02-Mar-2013 philippe <philippe@a5019735-40e9-0310-863c-91ae7b9d1cf9> Factorise some code from syswrap-amd64/arm/mips32/mips64-linux.c to syswrap-linux.c

Almost mechanical transformation, removes > 1000 SLOC.

Compiled and regtested on amd64/x86/mips32
Compiled and (somewhat) tested on mips64
Compiled on arm



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@13302 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_syswrap/syswrap-amd64-linux.c
fdd27acff8c73826e198f1464a7d52a40a9915a2 21-Feb-2013 tom <tom@a5019735-40e9-0310-863c-91ae7b9d1cf9> Make msgrcv wrappers on amd64, arm and mips32 look for IPC_NOWAIT in
the flags argument, not the type argument. Fixes #315534.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@13289 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_syswrap/syswrap-amd64-linux.c
b2cd1bc0abb95119df1b9b8e6dcc71e48b828a94 08-Nov-2012 cborntra <cborntra@a5019735-40e9-0310-863c-91ae7b9d1cf9> also wire up arm, x86 and amd64 regarding ptrace regsets
original patch from
Andreas Arnez <arnez AT linux DOT vnet DOT ibm DOT com>

Seems that ppc and mips dont have ptrace support....



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@13113 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_syswrap/syswrap-amd64-linux.c
5db7a79503f7720d3f3d5f40e4d1a411bb56b2bd 08-Aug-2012 tom <tom@a5019735-40e9-0310-863c-91ae7b9d1cf9> Add support for the tee and vmsplice system calls. BZ#304561.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12861 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_syswrap/syswrap-amd64-linux.c
03f8d3fc25f5a45c5826259d1b33b7f310117279 05-Aug-2012 sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> Update copyright dates to include 2012.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12843 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_syswrap/syswrap-amd64-linux.c
8414ab3a1ecf206a6f48e7d44794fceb08051402 27-May-2012 philippe <philippe@a5019735-40e9-0310-863c-91ae7b9d1cf9> Fix false positive in sys_clone on amd64 when optional args are not given (e.g. child_tidptr)

rev 10493 fixed bug 117564 in syswrap-x86-linux.c.
This commit fixes the same problem in syswrap-amd64-linux.c.
The problem makes memcheck/tests/linux/stack_switch fails (at least on gcc20)
with unexpected
==802== Syscall param clone(child_tidptr) contains uninitialised byte(s)
The problem originates from always checking 3 optional args PRE_read,
while these should be checked only if the corresponding flags are set.

syswrap-{arm,ppc32,ppc64}-linux.c seems to have the same problem
(but no visible effect) : VKI_CLONE_PARENT_SETTID,VKI_CLONE_CHILD_SETTID
and VKI_CLONE_SETTLS not properly handled in the PRE part.

syswrap-s390x-linux.c seems to have the VKI_CLONE_SETTLS part wrong,
but VKI_CLONE_PARENT_SETTID and VKI_CLONE_CHILD_SETTID correct.

Commiting a fix just for amd64 for now.
We probably better make some common code in syswrap-generic.c
to regroup all similar platforms.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12586 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_syswrap/syswrap-amd64-linux.c
9fdca565049e35998c06d96ca97beb84d9c7f39d 17-Apr-2012 philippe <philippe@a5019735-40e9-0310-863c-91ae7b9d1cf9> add some .globl or used attribute to avoid link failures with gold linker + LTO

When doing experiment with gcc 4.7.0 and link time optimisation,
encountered link failures on amd64 which were solved by adding
.globl and used attribute.
=> added .globl in similar places for arm/x86/ppc32/s390.
Did not touch darwin (which asm seems somewhat different).




git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12506 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_syswrap/syswrap-amd64-linux.c
d5fb58e1285b1d094e81fb584386f5cfd9bf5953 03-Apr-2012 tom <tom@a5019735-40e9-0310-863c-91ae7b9d1cf9> Add support for the move_pages system call. BZ#282790.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12485 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_syswrap/syswrap-amd64-linux.c
9a2b80d276717c327e5d3c7dad78625166df7340 25-Mar-2012 bart <bart@a5019735-40e9-0310-863c-91ae7b9d1cf9> Check whether the big lock is held before invoking pre_thread_ll_create.

If the pre_thread_ll_create tracking function would be invoked without the
big lock being held, that would trigger a race condition in the tools that
implement this tracking function.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12458 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_syswrap/syswrap-amd64-linux.c
8b3a6094d817ca6677592ce7f1147eb24c1a94f4 10-Feb-2012 tom <tom@a5019735-40e9-0310-863c-91ae7b9d1cf9> Only mark data which has actually been filled in by recvmsg as defined.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12380 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_syswrap/syswrap-amd64-linux.c
2764000a537721165ba211bb0fea0158f0b741c0 10-Feb-2012 tom <tom@a5019735-40e9-0310-863c-91ae7b9d1cf9> It turns out sendmmsg also updates the msg_len fields.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12377 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_syswrap/syswrap-amd64-linux.c
a4991237861dd834a58620b6a9eeca0e6e843f24 10-Feb-2012 tom <tom@a5019735-40e9-0310-863c-91ae7b9d1cf9> Add support for the sendmmsg and recvmmsg system calls. Fixes BZ#277779.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12376 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_syswrap/syswrap-amd64-linux.c
9e4b636f786d7d105cb8ead0a4c9f0b403e82e71 10-Feb-2012 tom <tom@a5019735-40e9-0310-863c-91ae7b9d1cf9> Add support for process_vm_readv and process_vm_writev system calls.
Patch from Lénaïc Huard to fix BZ#292995.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12374 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_syswrap/syswrap-amd64-linux.c
5eac4b505ec9ec3f96dd57de1efef7cf950203e7 09-Feb-2012 tom <tom@a5019735-40e9-0310-863c-91ae7b9d1cf9> Wire up getcpu on amd64. Patch from Lénaïc Huard to close BZ#292993.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12371 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_syswrap/syswrap-amd64-linux.c
ec062e8d96a361af9905b5447027819dfbfee01a 23-Oct-2011 sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> Update all copyright dates, from 20xy-2010 to 20xy-2011.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12206 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_syswrap/syswrap-amd64-linux.c
5ba9530ab846cd5f220e25ccf53e4242e8451976 10-Aug-2011 tom <tom@a5019735-40e9-0310-863c-91ae7b9d1cf9> Make sure the post handler for mincore is called in amd64 and s390 as
it already was on other platforms. Fix to #279795.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11959 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_syswrap/syswrap-amd64-linux.c
46d02abf94a41586ef84aebf974db51a470e10da 08-Jun-2011 tom <tom@a5019735-40e9-0310-863c-91ae7b9d1cf9> Add support for prlimit64 on x86 and amd64.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11806 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_syswrap/syswrap-amd64-linux.c
c8232f94b88c0b9ea62399fa5abe5a5a34d35c40 08-Jun-2011 tom <tom@a5019735-40e9-0310-863c-91ae7b9d1cf9> It seems that the perf_counter_open system call was renamed to
perf_event_open some time after we added it, so correct the name
wherever it appears to match the current kernel source.

Also fixup the PRE handler to do the check correctly, using the
size field of the structure to work out how much data there is.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11804 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_syswrap/syswrap-amd64-linux.c
6c591e15c1d6402a2a755310f005f795b68e7e38 11-Apr-2011 sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> Create new module m_libcsetjmp, which wraps up uses of
__builtin_setjmp and __builtin_longjmp so that they can be selectively
replaced, on a platform by platform basis. Does not change any
functionality. Related to #259977.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11687 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_syswrap/syswrap-amd64-linux.c
792e00ab0267d6ac7143b7d6d3a8ecd86270ea90 04-Oct-2010 sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> Support sys_readahead on Linux.
(Sean Bartell, wingedtachikoma@gmail.com) Fixes #247894.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11394 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_syswrap/syswrap-amd64-linux.c
44e534d0b73f586272d8adc87c14803cf95853f5 24-May-2010 tom <tom@a5019735-40e9-0310-863c-91ae7b9d1cf9> Fix amd64 and ppc64 to correctly mark mq_timedreceive as LINXY so that
the post handler is run to mark the retrieved message as correct.

Also change the post handler to only mark the number of bytes actually
returned as defined, rather than the whole buffer.

Fixes #238679.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11133 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_syswrap/syswrap-amd64-linux.c
9eecbbb9a9cbbd30b903c09a9e04d8efc20bda33 03-May-2010 sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> Update copyright dates to 2010.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11121 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_syswrap/syswrap-amd64-linux.c
3a7c5ad5ac99454ae15caadf67defdfaa6395292 08-Mar-2010 sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> Fix the definedness handling of the last argument of sys_socketpair.
The last argument is really a pointer to an array of two ints and so
we need to say it is an int* and not an int [2]. This just happens to
work on amd64-linux because sizeof(int [2]) == 8 == sizeof(int*). On
arm-linux it duly craps out w/ an assertion because sizeof(int [2]) !=
sizeof(UWord).



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11083 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_syswrap/syswrap-amd64-linux.c
cbfb990b9cdbbd51075b018db49c333e2dd97a71 05-Mar-2010 tom <tom@a5019735-40e9-0310-863c-91ae7b9d1cf9> On amd64 all IPC calls behave as if the IPC_64 flag is set in the
command, so pretend that it is set when calling the generic wrapper
functions in pre and post handlers. Fixes #229509.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11064 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_syswrap/syswrap-amd64-linux.c
110743c026aeefc4c952373a1887cfc44ff553e5 23-Feb-2010 tom <tom@a5019735-40e9-0310-863c-91ae7b9d1cf9> Add a wrapper for the splice system call and wire it up on
x86 and amd64 systems. Closes #205788.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11055 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_syswrap/syswrap-amd64-linux.c
ce21563b673c3b62cf896cb71df6da66d787514b 22-Feb-2010 sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> When creating a child thread, initially set its os_state.threadgroup
to have the same value as the parent. This avoids exit races leading
to hangs and strange behaviour in heavily multithreaded apps, in the
situation where threads are rapidly being created, and at the same
time an existing thread does sys_exit_group so as to terminate the
entire process. Thanks to Konstantin S for chasing this down to a
small test case. Fixes #226116.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11053 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_syswrap/syswrap-amd64-linux.c
59570ffbe31930ab4d678754daaeec0715117a3d 01-Jan-2010 sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> 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 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_syswrap/syswrap-amd64-linux.c
710f7cb43578a9b23a11aa7f9cfaea0311bc5ad9 25-Nov-2009 tom <tom@a5019735-40e9-0310-863c-91ae7b9d1cf9> Add support for accept4 system call based on patch
from Dodji Seketeli. Part fix for #215973.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@10955 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_syswrap/syswrap-amd64-linux.c
acb7c34ea58e86d0fd3330f73a7486d3f8436b5d 25-Nov-2009 tom <tom@a5019735-40e9-0310-863c-91ae7b9d1cf9> Wire up vhangup system call on amd64/ppc32/ppc64 linux platforms.
Patch from Dodji Seketeli. Part fix for #215973.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@10954 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_syswrap/syswrap-amd64-linux.c
9ceaa9781f4886e8f6a4309e19d0cbaeb7616714 24-Nov-2009 tom <tom@a5019735-40e9-0310-863c-91ae7b9d1cf9> Re-enable old support for adjtimex system call based on patch
from Dodji Seketeli. Part fix for #215973.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@10948 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_syswrap/syswrap-amd64-linux.c
d18b541df83952925fc4eb2bd98843ad447124ff 24-Nov-2009 tom <tom@a5019735-40e9-0310-863c-91ae7b9d1cf9> Add support for rt_tgsigqueueinfo system call based on patch
from Dodji Seketeli. Part fix for #215973.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@10947 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_syswrap/syswrap-amd64-linux.c
b8b4848fd1006533130f49437369e73a636b6144 24-Nov-2009 tom <tom@a5019735-40e9-0310-863c-91ae7b9d1cf9> Add support for sched_rr_get_interval system call based on patch
from Dodji Seketeli. Part fix for #215973.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@10946 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_syswrap/syswrap-amd64-linux.c
f43793ad48d3cb1577ac637472bfb9b9b1188ad9 23-Nov-2009 tom <tom@a5019735-40e9-0310-863c-91ae7b9d1cf9> Handle the dup3 system call. Closes #215448.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@10945 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_syswrap/syswrap-amd64-linux.c
d8feb70c360acdd48bc3b72507f58d74bccf9998 28-Oct-2009 tom <tom@a5019735-40e9-0310-863c-91ae7b9d1cf9> Add support for preadv and pwritev. Fixes #212149.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@10914 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_syswrap/syswrap-amd64-linux.c
7bb1b1c0c69d84b3d660e360cb5ce43c630b2aef 27-Oct-2009 tom <tom@a5019735-40e9-0310-863c-91ae7b9d1cf9> Add support for the inotify_init1 system call, based on patches
from Dodji Seketeli and Jakub Jelinek. Fixes #202315.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@10909 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_syswrap/syswrap-amd64-linux.c
3fbcceef22610e2b0b7eec05b5f612c9b22b2cdc 27-Oct-2009 tom <tom@a5019735-40e9-0310-863c-91ae7b9d1cf9> Add support for the perf_counter_open system call. Fixes #211498.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@10907 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_syswrap/syswrap-amd64-linux.c
4969c79e4ec456a106ac13e272c0de8991647ccf 27-Oct-2009 tom <tom@a5019735-40e9-0310-863c-91ae7b9d1cf9> Update linux system calls lists to match 2.6.31.5 kernel.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@10906 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_syswrap/syswrap-amd64-linux.c
738856f99eea33d86ce91dcb1d6cd5b151e307ca 15-Jul-2009 sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> Merge coregrind/ changes from branches/MESSAGING_TIDYUP r10464.

This commit tidies up and rationalises what could be called the
"messaging" system -- that part of V to do with presenting output to
the user. In particular it brings significant improvements to XML
output.

Changes are:

* XML and normal text output now have separate file descriptors,
which solves longstanding problems for XML consumers caused by
the XML output getting polluted by unexpected non-XML output.

* This also means that we no longer have to hardwire all manner
of output settings (verbosity, etc) when XML is requested.

* The XML output format has been revised, cleaned up, and made
more suitable for use by error detecting tools in general
(various Memcheck-specific features have been removed). XML
output is enabled for Ptrcheck and Helgrind, and Memcheck is
updated to the new format.

* One side effect is that the behaviour of VG_(message) has been
made to be consistent with printf: it no longer automatically
adds a newline at the end of the output. This means multiple
calls to it can be used to build up a single line message; or a
single call can write a multi-line message. The ==pid==
preamble is automatically inserted at each newline.

* VG_(message)(Vg_UserMsg, ..args..) now has the abbreviated form
VG_(UMSG)(..args..); ditto VG_(DMSG) for Vg_DebugMsg and
VG_(EMSG) for Vg_DebugExtraMsg. A couple of other useful
printf derivatives have been added to pub_tool_libcprint.h,
most particularly VG_(vcbprintf).

* There's a small change in the core-tool interface to do with
error handling: VG_(needs_tool_errors) has a new method
void (*before_pp_Error)(Error* err) which, if non-NULL, is
called just before void (*pp_Error)(Error* err). This is to
give tools the chance to look at errors before any part of them
is printed, so they can print any XML preamble they like.

* coregrind/m_errormgr.c has been overhauled and cleaned up, and
is a bit simpler and more commented. In particular pp_Error
and VG_(maybe_record_error) are significantly changed.

The diff is huge, but mostly very boring. Most of the changes
are of the form

- VG_(message)(Vg_UserMsg, "this is a message %d", n);
+ VG_(message)(Vg_UserMsg, "this is a message %d\n", n);

Unfortunately as a result of this, it touches a large number
of source files.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@10465 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_syswrap/syswrap-amd64-linux.c
0bd7177a9f2fb45e9e54608f0577f4cd672d8d67 15-Jul-2009 njn <njn@a5019735-40e9-0310-863c-91ae7b9d1cf9> Handle fallocate() on 64-bit platforms. Fixes bug 185794.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@10456 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_syswrap/syswrap-amd64-linux.c
7271588235cfca5ae3b6e355d7ad054f0d6d46fd 10-Jul-2009 njn <njn@a5019735-40e9-0310-863c-91ae7b9d1cf9> Handle epoll_create1. Patch from Sam Varshavchik. Fixes bug 188427.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@10427 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_syswrap/syswrap-amd64-linux.c
25eba41d2ddecb72dc434b75fd5b36e45c2f4926 24-Jun-2009 njn <njn@a5019735-40e9-0310-863c-91ae7b9d1cf9> Enable mincore() on AMD64/Linux. Hopefully fixes bug 197591.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@10367 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_syswrap/syswrap-amd64-linux.c
8b68b64759254d514d98328c496cbd88cde4c9a5 24-Jun-2009 njn <njn@a5019735-40e9-0310-863c-91ae7b9d1cf9> This commit merges the BUILD_TWEAKS branch onto the trunk. It has the
following improvements:

- Arch/OS/platform-specific files are now included/excluded via the
preprocessor, rather than via the build system. This is more consistent
(we use the pre-processor for small arch/OS/platform-specific chunks
within files) and makes the build system much simpler, as the sources for
all programs are the same on all platforms.

- Vast amounts of cut+paste Makefile.am code has been factored out. If a
new platform is implemented, you need to add 11 extra Makefile.am lines.
Previously it was over 100 lines.

- Vex has been autotoolised. Dependency checking now works in Vex (no more
incomplete builds). Parallel builds now also work. --with-vex no longer
works; it's little use and a pain to support. VEX/Makefile is still in
the Vex repository and gets overwritten at configure-time; it should
probably be renamed Makefile-gcc to avoid possible problems, such as
accidentally committing a generated Makefile. There's a bunch of hacky
copying to deal with the fact that autotools don't handle same-named files
in different directories. Julian plans to rename the files to avoid this
problem.

- Various small Makefile.am things have been made more standard automake
style, eg. the use of pkginclude/pkglib prefixes instead of rolling our
own.

- The existing five top-level Makefile.am include files have been
consolidated into three.

- Most Makefile.am files now are structured more clearly, with comment
headers separating sections, declarations relating to the same things next
to each other, better spacing and layout, etc.

- Removed the unused exp-ptrcheck/tests/x86 directory.

- Renamed some XML files.

- Factored out some duplicated dSYM handling code.

- Split auxprogs/ into auxprogs/ and mpi/, which allowed the resulting
Makefile.am files to be much more standard.

- Cleaned up m_coredump by merging a bunch of files that had been
overzealously separated.

The net result is 630 fewer lines of Makefile.am code, or 897 if you exclude
the added Makefile.vex.am, or 997 once the hacky file copying for Vex is
removed. And the build system is much simpler.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@10364 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_syswrap/syswrap-amd64-linux.c
631b819596d389e9ad8ea0a0b5926f6107d7b1e0 11-Jun-2009 njn <njn@a5019735-40e9-0310-863c-91ae7b9d1cf9> Add wrappers for shmat() and shmdt() on Darwin. Fixes bug 191271.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@10297 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_syswrap/syswrap-amd64-linux.c
7b1edbdf64325be8000b0662a2f9695c0fa53465 19-May-2009 njn <njn@a5019735-40e9-0310-863c-91ae7b9d1cf9> DARWIN sync: pread64 and pwrite64 wrappers.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@9971 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_syswrap/syswrap-amd64-linux.c
cda2f0fbda4c4b2644babc830244be8aed95de1d 18-May-2009 njn <njn@a5019735-40e9-0310-863c-91ae7b9d1cf9> Merged non-Darwin-specific parts of r9397,r9423,r9490, 9461, 9462 from the
DARWIN branch. A big ugly DARWIN/trunk sync commit, mostly to do with
changing the representation of SysRes and vki_sigset_t. Functionality of
the trunk shouldn't be changed by it.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@9876 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_syswrap/syswrap-amd64-linux.c
9f207460d70d38c46c9e81996a3dcdf90961c6db 10-Mar-2009 njn <njn@a5019735-40e9-0310-863c-91ae7b9d1cf9> Updated copyright years.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@9344 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_syswrap/syswrap-amd64-linux.c
096ccdd670d4e4eabdafb18598b1cd06d790fda8 23-Feb-2009 njn <njn@a5019735-40e9-0310-863c-91ae7b9d1cf9> Merge a large chunk of r8949 (the part that moved fcntl and ioctl wrappers
out of syswrap-generic into syswrap-linux) from the DARWIN branch.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@9219 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_syswrap/syswrap-amd64-linux.c
f37a81bac9893b05fdb7166be94734babc7ad2c4 17-Feb-2009 njn <njn@a5019735-40e9-0310-863c-91ae7b9d1cf9> Merged r9185 (fix up getsockopt mess) from the DARWIN branch, minus the
Darwin-specific parts.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@9186 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_syswrap/syswrap-amd64-linux.c
6c67ef5f17464cd608e27ce06566a8874e0de7a1 09-Jan-2009 tom <tom@a5019735-40e9-0310-863c-91ae7b9d1cf9> Add signalfd4 support.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@8930 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_syswrap/syswrap-amd64-linux.c
16dfea421cc650175c3458788e7bc5928643a951 15-Dec-2008 tom <tom@a5019735-40e9-0310-863c-91ae7b9d1cf9> Add support ioprio_get and wire up ioprio_set on all platforms.
Fixes bug #177819.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@8826 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_syswrap/syswrap-amd64-linux.c
84eb41fea45f85c284e6cca9543ff40e176ef4e5 10-Dec-2008 tom <tom@a5019735-40e9-0310-863c-91ae7b9d1cf9> Add support for eventfd2 (and wire up pipe2 on PPC platforms).


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@8815 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_syswrap/syswrap-amd64-linux.c
d3263e575dc9e84fd1a7aca4d10075257e54a5a7 16-Nov-2008 sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> Handle sys_lookup_dcookie on amd64-linux (Andrew Haley). Also take
the opportunity to move the handlers from syswrap-generic.c (which
they certainly aren't) to syswrap-linux.c. Fixes #175044.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@8769 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_syswrap/syswrap-amd64-linux.c
50a99dee2074f04ece05299852f02e405d65f78b 13-Nov-2008 sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> Fix debug printing of fd in mmap system calls.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@8764 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_syswrap/syswrap-amd64-linux.c
586c81539ed8c4d033d8b2385bca57bdb7e7a9a1 05-Nov-2008 sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> Support sys_pipe2 on {amd64,x86}-linux. Also, update syscall numbers
for all supported Linuxes to those in linux-2.6.28-rc3.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@8730 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_syswrap/syswrap-amd64-linux.c
a4885133e9e23b86d5e241191e2430e35f5fbe95 30-Oct-2008 sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> Enable sys_quotactl on amd64-linux. Possible fixes #173177.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@8720 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_syswrap/syswrap-amd64-linux.c
744f9ea3d597b563be728dc17c0ad229de069547 27-Aug-2008 bart <bart@a5019735-40e9-0310-863c-91ae7b9d1cf9> Enabled capget and capset system calls for amd64, ppc32 and ppc64.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@8554 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_syswrap/syswrap-amd64-linux.c
edc9547bf4ab4268fd2273ff91dde7f22ab692f8 07-Aug-2008 sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> Tidy up the wrappers for pread64 and pwrite64, and make these two
syscalls available on ppc64-linux.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@8519 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_syswrap/syswrap-amd64-linux.c
2819f142fbcbc9bac4af97fdc87d44bc5cff7b3e 09-Jul-2008 bart <bart@a5019735-40e9-0310-863c-91ae7b9d1cf9> Enabled support for the sched_setparam() system call on the amd64, ppc32 and ppc64 platforms (was already enabled on x86).

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@8405 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_syswrap/syswrap-amd64-linux.c
a0b6b2cf9abc7b0d87be1215a245eaccc0452af9 07-Jul-2008 bart <bart@a5019735-40e9-0310-863c-91ae7b9d1cf9> Merged FORMATCHECK branch (r8368) to trunk.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@8369 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_syswrap/syswrap-amd64-linux.c
10ac144c88e5fd1791345237b14d5bc73eb68fa1 21-Jun-2008 bart <bart@a5019735-40e9-0310-863c-91ae7b9d1cf9> Moved support for Linux-specific system call sys_init_module from generic to Linux wrappers. Added wrapper for sys_delete_module system call.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@8266 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_syswrap/syswrap-amd64-linux.c
1dcacdfe99bfa3069cffa31ba97fdc45c7362564 20-Jun-2008 bart <bart@a5019735-40e9-0310-863c-91ae7b9d1cf9> Enabled support for the init_module() system call on amd64. Should fix #164476.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@8263 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_syswrap/syswrap-amd64-linux.c
7cf4e6b6aed533af53339f36099ed244dc4a5b7f 01-May-2008 sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> Merge branches/OTRACK_BY_INSTRUMENTATION into the trunk. This adds
support to Memcheck for tracking the origin of uninitialised values,
if you use the --track-origins=yes flag.

This currently causes some Memcheck regression tests to fail, because
they now print an extra line of advisory text in their output. This
will be fixed.

The core-tool interface is slightly changed. The version number for
the interface needs to be incremented.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@7982 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_syswrap/syswrap-amd64-linux.c
5fc7da201dec005bec8d9a5e71581c2de8f9b5da 27-Apr-2008 bart <bart@a5019735-40e9-0310-863c-91ae7b9d1cf9> Added support for timerfd_create(), timerfd_gettime() and timerfd_settime() system calls.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@7942 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_syswrap/syswrap-amd64-linux.c
65bfd210f421d123eaab515785509707f6e1b322 26-Apr-2008 bart <bart@a5019735-40e9-0310-863c-91ae7b9d1cf9> Enabled syslog and create_module system calls.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@7920 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_syswrap/syswrap-amd64-linux.c
f5ceec82074e18723069cdea025041f19000df24 26-Apr-2008 bart <bart@a5019735-40e9-0310-863c-91ae7b9d1cf9> Added support for epoll_pwait(), utimensat(), eventfd(), timerfd() and signalfd(). Fixes bug 160907.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@7917 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_syswrap/syswrap-amd64-linux.c
4d474d086188fd1f29fa97dbd84d8ea2e589a9b8 11-Feb-2008 sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> Update copyright dates ("200X-2007" --> "200X-2008").


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@7398 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_syswrap/syswrap-amd64-linux.c
9084de7593a0c22f7aaeade0da5eb8a141a4e81f 11-Feb-2008 sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> Include headers for VG_(register_stack) calls.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@7396 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_syswrap/syswrap-amd64-linux.c
690c3c807be3571951400b98d5136437dd957b65 08-Feb-2008 tom <tom@a5019735-40e9-0310-863c-91ae7b9d1cf9> Make the clone system call wrappers call VG_(register_stack) to record
the new thread's stack, then make the stack unwinder use that information
to make a better guess at the stack bounds.

This helps avoid crashes trying to unwind the stack under wine when
the starting point is a routine without a proper stack frame.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@7383 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_syswrap/syswrap-amd64-linux.c
c4e466f788b6d768653d5a89fb5466df6fe9dfc3 08-Jan-2008 tom <tom@a5019735-40e9-0310-863c-91ae7b9d1cf9> Add support for the sync_file_range system call.

Based on patch from Russell Sears <sears@cs.berkeley.edu>.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@7324 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_syswrap/syswrap-amd64-linux.c
adb102f8a53d100cf2d68a1a00bb24a4bcd2b049 10-Nov-2007 sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> Merge (from branches/THRCHECK) the following two changes to the core-tool
interface:

r6805: Modify two thread-notification events in the core-tool
interface. This removes track_post_thread_create and
track_post_thread_join. The core can only see low level thread
creation and exiting, and has no idea about pthread-level concepts
like "pthread_create" and "pthread_join", so these are a bit
ambiguous.

Replace them with track_pre_thread_ll_create, which is notified before
a new thread makes any memory references, and
track_pre_thread_ll_exit, which is notified just before the new thread
exits, that is, after it has made its last memory reference.

r6823: Core-tool interface: give 'needs_tool_errors' an extra Boolean
indicating whether or not the core should print thread id's on error
messages.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@7123 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_syswrap/syswrap-amd64-linux.c
cba8f436f93390f672a5c7e626c6c88fadc471d2 19-Mar-2007 sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> Followup to r6650: tidy up sys_sigreturn/sys_rt_sigreturn on ppc32/64-linux.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@6651 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_syswrap/syswrap-amd64-linux.c
1829053b0355a28f1dc71c56f1bba6773e299e40 19-Mar-2007 sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> Document and tidy up one of the more arcane corners of signal
handling: why PRE(sys_sigreturn) has to construct a fake syscall
return value which, when written back to the guest state, leaves it
unchanged. It's only taken me about 3 years to realise why :-)
Fixes to ppc platforms to follow.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@6650 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_syswrap/syswrap-amd64-linux.c
7acef084777619ccd17bb062da8f515512ce4f77 11-Mar-2007 sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> Handle sys_ioprio_set on amd64-linux.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@6641 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_syswrap/syswrap-amd64-linux.c
7f4d7e42a880cd0872f93f5178a723beb56941a4 07-Mar-2007 tom <tom@a5019735-40e9-0310-863c-91ae7b9d1cf9> Add support for linux key management system calls.
Based on patch from Ezra Peisach <epeisach@bu.edu>.
Fixes bug #139300.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@6632 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_syswrap/syswrap-amd64-linux.c
b807a78ac64d06eb04977044035d665d8a3c4f68 07-Mar-2007 tom <tom@a5019735-40e9-0310-863c-91ae7b9d1cf9> Handle some additional ptrace reason codes. Based on a patch
from Magnus Vesterlund <magnus_vesterlund@hotmail.com>.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@6630 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_syswrap/syswrap-amd64-linux.c
303dabc65698a82c8394b56dba01e4840cba54f9 18-Jan-2007 sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> Enable the pselect6 wrapper on amd64-linux.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@6530 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_syswrap/syswrap-amd64-linux.c
9ebd6e0c607fa30301b1325874eb8de871c21cc5 08-Jan-2007 sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> Update copyright dates.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@6488 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_syswrap/syswrap-amd64-linux.c
a39ebc8e9f7e1b2cdee6c263a3898677a3296e56 18-Dec-2006 tom <tom@a5019735-40e9-0310-863c-91ae7b9d1cf9> Improve prctl support - based on patch from Eric Pouech in bug #138627.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@6410 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_syswrap/syswrap-amd64-linux.c
ef1cf8b3583107c7d918c60895937f09969d5b3e 17-Oct-2006 sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> Merge r6140 (some of):

- track SysRes changes

- track VG_(am_find_nsegment) const-ness change

- increase number of client syscall args supported from 6 to 8

- simplify type SyscallStatus. Simply hold a copy of the SysRes
for the syscall rather than have this be a data structure
incorporating something very similar to the fields of a SysRes,
and more besides. Change various macros in priv_types_n_macros.h
to match.

- syswrap-main.c: instantiate the various impedance-matching
functions for AIX.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@6276 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_syswrap/syswrap-amd64-linux.c
53c0dc942ecc679acfd34035de69549f321d2405 14-Oct-2006 sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> Unbreak amd64-linux after recent commits.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@6229 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_syswrap/syswrap-amd64-linux.c
4c91c8c688c0586acfb160ad3d6d6958a614d4be 07-Jun-2006 tom <tom@a5019735-40e9-0310-863c-91ae7b9d1cf9> Fix display of buffer address in sendto system call arguments.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5967 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_syswrap/syswrap-amd64-linux.c
e4b0bf07b0ee0a18eacc5aba91686ab5fc1d327b 06-Jun-2006 sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> Update copyright dates.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5954 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_syswrap/syswrap-amd64-linux.c
05b1f9a0d68e6d2c497ed4b671b8ff65e4ddbab9 17-May-2006 tom <tom@a5019735-40e9-0310-863c-91ae7b9d1cf9> Implement the set_robust_list and get_robust_list system calls.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5905 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_syswrap/syswrap-amd64-linux.c
e25e7655319d89b0115a297252bdca0d67a56787 20-Apr-2006 sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> Add support for sys_broc on amd64-linux when --kernel-variant=bproc.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5860 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_syswrap/syswrap-amd64-linux.c
a58bbbce4107134b061c1a908bb107c3b753a7e1 14-Apr-2006 sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> Syscall wrappers for ppc32-linux (and one for amd64-linux).
(from Jakub Jelinek) See #125492.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5849 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_syswrap/syswrap-amd64-linux.c
363ec7610ee649b946edf5c1a5546b94bbf0844d 21-Mar-2006 tom <tom@a5019735-40e9-0310-863c-91ae7b9d1cf9> Add wrappers for a load of new 2.6.16 system calls. Fixes bug #123248.

Also expands pathname arguments as strings in a lot more system call
trace messages and fixed the poll wrapper to not be x86 specific.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5785 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_syswrap/syswrap-amd64-linux.c
c8cfca6dbe3c261e09d37ac4e864699721177c9f 15-Feb-2006 tom <tom@a5019735-40e9-0310-863c-91ae7b9d1cf9> Fix the tkill system call wrapper and enable it on x86 and amd64.
Fixes bug #121901.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5651 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_syswrap/syswrap-amd64-linux.c
1a626abeb4ea8133bf49545a4745e1fa7ba2dde6 01-Dec-2005 tom <tom@a5019735-40e9-0310-863c-91ae7b9d1cf9> Enable getpriority and setpriority on amd64. Fixes bug #117369.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5256 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_syswrap/syswrap-amd64-linux.c
e329b26e2a6a004b908edbfc9681a07c07ac3186 21-Nov-2005 tom <tom@a5019735-40e9-0310-863c-91ae7b9d1cf9> Enable a few extra system calls on amd64 as found by the Python test suite.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5227 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_syswrap/syswrap-amd64-linux.c
2fedc648b91676a18d736dcb641b6dae6ab32b7a 19-Nov-2005 sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> Counterpart to r5202: restore previous assembler state with .previous


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5204 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_syswrap/syswrap-amd64-linux.c
d9fc382d8dcfb8da3602e0feef3155e3c98deba2 19-Nov-2005 sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> Hmm. Perhaps all those top-level pieces of assembly weren't such a
clever idea. There's no reason to assume the assembler is in
.text-mode when it encounters them, and as gcc 2.96 rudely
demonstrates, sometimes it isn't. So put .text in front of all of
them.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5202 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_syswrap/syswrap-amd64-linux.c
4e45eb6db569424e8687c891b8f11b2fa4b9f88c 14-Nov-2005 tom <tom@a5019735-40e9-0310-863c-91ae7b9d1cf9> Enable the prctl system call on amd64.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5127 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_syswrap/syswrap-amd64-linux.c
1a7bda9003a0b98ef8a11e693ff029b268f6b90b 13-Nov-2005 tom <tom@a5019735-40e9-0310-863c-91ae7b9d1cf9> Enable remaining *xattr system calls on amd64. Fixes bug #116200.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5106 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_syswrap/syswrap-amd64-linux.c
60677fb64297c6eb0f2d0717c1f118903f03c7ab 11-Nov-2005 tom <tom@a5019735-40e9-0310-863c-91ae7b9d1cf9> Fix compiler warnings.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5081 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_syswrap/syswrap-amd64-linux.c
ffd9c1d52f20865d57a0d05577b73bcd557d5cae 10-Nov-2005 njn <njn@a5019735-40e9-0310-863c-91ae7b9d1cf9> Try to avoid compiler warnings on AMD64.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5065 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_syswrap/syswrap-amd64-linux.c
e14866697a430053751e599416ddb9fb9887ddaf 10-Nov-2005 njn <njn@a5019735-40e9-0310-863c-91ae7b9d1cf9> Factor out some common code in m_syswrap.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5062 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_syswrap/syswrap-amd64-linux.c
0dce48b09996d22c164d5dcbd987936d0e5a740b 09-Nov-2005 tom <tom@a5019735-40e9-0310-863c-91ae7b9d1cf9> Add missing quote.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5051 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_syswrap/syswrap-amd64-linux.c
a3afdfbcb25683c6f5fbde43ba07d7e1c6b3f268 09-Nov-2005 njn <njn@a5019735-40e9-0310-863c-91ae7b9d1cf9> Factor out some common code in m_syswrap.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5049 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_syswrap/syswrap-amd64-linux.c
70a5cb0068c128edaf36a70b38061dee20b7f818 20-Oct-2005 tom <tom@a5019735-40e9-0310-863c-91ae7b9d1cf9> Add support for the mbind system call on x86 and amd64. Fixes bug #114756.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4958 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_syswrap/syswrap-amd64-linux.c
60a4b0b77180f0c54ddca5c8d9ca20a877637f01 12-Oct-2005 tom <tom@a5019735-40e9-0310-863c-91ae7b9d1cf9> Fix statement-before-declaration warnings for the core code.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4906 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_syswrap/syswrap-amd64-linux.c
9548a16a2cf8a0de3f4d9d72e5777e9b70481f14 30-Sep-2005 tom <tom@a5019735-40e9-0310-863c-91ae7b9d1cf9> Rationalise the mmap system call handling - after examining the kernel
source it turns out that there are five different versions of mmap for
the three platforms we currently support:

- On x86-linux there is mmap (aka old_mmap) which takes the
arguments in a memory block and the offset in bytes; and
mmap2 (aka sys_mmap2) which takes the arguments in the normal
way and the offset in pages.

- On ppc32-linux there is mmap (aka sys_mmap) which takes the
arguments in the normal way and the offset in bytes; and
mmap2 (aka sys_mmap2) which takes the arguments in the normal
way and the offset in pages.

- On amd64-linux everything is simple and there is just the one
call, mmap (aka sys_mmap) which takes the arguments in the normal
way and the offset in bytes.

To reconcile all this I have created a generic handler and then
written five platform specific wrappers which normalise all the
arguments and then call the generic handler.

I have also modified the address space manager to use mmap2 rather
than mmap on x86 and ppc32 so that large offsets can be correctly
handled.

There is still an issue of OffT truncating offsets as we go through
the address space manager that will need to be addressed.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4834 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_syswrap/syswrap-amd64-linux.c
7d15e51cf7cd1f2380676cad3bcda906b946e998 30-Sep-2005 sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> Get rid of duplicated STRINGIFY macros.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4829 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_syswrap/syswrap-amd64-linux.c
877d53e9bd0168a3b65072c3a817c468ffb6d0d4 30-Sep-2005 njn <njn@a5019735-40e9-0310-863c-91ae7b9d1cf9> Enable sys_iopl on AMD64.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4826 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_syswrap/syswrap-amd64-linux.c
98eee482704697c5acd774b19b71875c69c11e70 29-Sep-2005 sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> Comment-only changes


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4818 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_syswrap/syswrap-amd64-linux.c
1ae3f3ae5188a7da990be18406c7920b89f19043 28-Sep-2005 sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> Get rid of pub_core_main.h, so that m_main is not imported by anyone,
and so is not part of a module cycle. This requires a moderately
grotty hack of passing a continuation-function pointer in a global
variable.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4806 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_syswrap/syswrap-amd64-linux.c
3bcbd2e9237187da12e98da64db317cb54be8a8e 27-Sep-2005 sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> Unbreak build on amd64 following aspacem merge.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4792 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_syswrap/syswrap-amd64-linux.c
45f4e7c91119c7d01a59f5e827c67841632c9314 27-Sep-2005 sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> This commit merges in changes from branches/ASPACEM (specifically,
changes from r4341 through r4787 inclusive). That branch is now dead.
Please do not commit anything else to it.

For the most part the merge was not troublesome. The main areas of
uncertainty are:

- build system: I had to import by hand Makefile.core-AM_CPPFLAGS.am
and include it in a couple of places. Building etc seems to still
work, but I haven't tried building the documentation.

- syscall wrappers: Following analysis by Greg & Nick, a whole lot of
stuff was moved from -generic to -linux after the branch was created.
I think that is satisfactorily glued back together now.

- Regtests: although this appears to work, no .out files appear, which
is strange, and makes it hard to diagnose regtest failures. In
particular memcheck/tests/x86/scalar.stderr.exp remains in a
conflicted state.

- amd64 is broken (slightly), and ppc32 will be unbuildable. I'll
attend to the former shortly.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4789 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_syswrap/syswrap-amd64-linux.c
a560c5c27a5bf8d892f00164e2d68742d156c7fb 01-Sep-2005 njn <njn@a5019735-40e9-0310-863c-91ae7b9d1cf9> Unbreak amd64 and ppc32 some more.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4607 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_syswrap/syswrap-amd64-linux.c
de5c5f5eaab663f3d272c851dd2f575231147f86 01-Sep-2005 njn <njn@a5019735-40e9-0310-863c-91ae7b9d1cf9> Fix AMD64 breakage and possibly the PPC32 breakage, too.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4606 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_syswrap/syswrap-amd64-linux.c
5c691751e72bf121d533f69fa7a80f4eb7419084 31-Aug-2005 njn <njn@a5019735-40e9-0310-863c-91ae7b9d1cf9> Moved sys_mmap2 wrapper from "generic" to "linux".



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4595 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_syswrap/syswrap-amd64-linux.c
cd405eab1a2e6942ca50ca2230cea2264f73e859 31-Aug-2005 njn <njn@a5019735-40e9-0310-863c-91ae7b9d1cf9> Moved some more syscall wrappers from "generic" to "linux".



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4594 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_syswrap/syswrap-amd64-linux.c
b2480c95e596b733048b3d13ccf6ffff6088c4a1 30-Aug-2005 njn <njn@a5019735-40e9-0310-863c-91ae7b9d1cf9> Moved sched_* from "generic" to "linux"; Darwin doesn't have them.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4576 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_syswrap/syswrap-amd64-linux.c
65ccc5099570541b315c6e854b223b64363ad19a 30-Aug-2005 njn <njn@a5019735-40e9-0310-863c-91ae7b9d1cf9> Move *xattr from "generic" to "linux". Darwin has them, but with an extra
parameter.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4575 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_syswrap/syswrap-amd64-linux.c
9fe7b129d7e04fcad5f8a6d84a68aba1ea73dfe3 26-Aug-2005 njn <njn@a5019735-40e9-0310-863c-91ae7b9d1cf9> Move cap{get,set} syscalls from "generic" to "linux".


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4520 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_syswrap/syswrap-amd64-linux.c
424c056d1799ca01936273515aafd9e45448944b 26-Aug-2005 njn <njn@a5019735-40e9-0310-863c-91ae7b9d1cf9> Move timer_* syscalls from "generic" to "linux".


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4519 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_syswrap/syswrap-amd64-linux.c
1588bc0274dc3363b97c006d63efd2c4a66523a4 26-Aug-2005 njn <njn@a5019735-40e9-0310-863c-91ae7b9d1cf9> Move clock_* syscalls from "generic" to "linux".



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4518 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_syswrap/syswrap-amd64-linux.c
4279a8884ad1aee46dfe34b5df5950b51e93532c 26-Aug-2005 njn <njn@a5019735-40e9-0310-863c-91ae7b9d1cf9> Move mq_* syscalls from "generic" to "linux".



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4517 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_syswrap/syswrap-amd64-linux.c
95d23ccdc9a0fb85282302ca73c0082264acb30e 06-Aug-2005 tom <tom@a5019735-40e9-0310-863c-91ae7b9d1cf9> Enable the inotify system calls on amd64.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4336 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_syswrap/syswrap-amd64-linux.c
0605fd637aa61794feb99a49b8c472e23d782036 05-Aug-2005 tom <tom@a5019735-40e9-0310-863c-91ae7b9d1cf9> Implement the waitid system call. Fixes bug #110202.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4329 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_syswrap/syswrap-amd64-linux.c
20d357216104d6b8a95b8ac33d338c44c4579986 28-Jul-2005 tom <tom@a5019735-40e9-0310-863c-91ae7b9d1cf9> Handle the fadvise64 system calls correctly on 32 bit platforms.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4285 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_syswrap/syswrap-amd64-linux.c
2af58f27aa3d05dfd31613c9c61971cb7879c94a 22-Jul-2005 tom <tom@a5019735-40e9-0310-863c-91ae7b9d1cf9> Yet more system calls.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4227 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_syswrap/syswrap-amd64-linux.c
a514661287d0b44b5a88b6feee29695502c362d2 21-Jul-2005 tom <tom@a5019735-40e9-0310-863c-91ae7b9d1cf9> Enable rt_sigpending on amd64. Fixes bug #109429.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4223 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_syswrap/syswrap-amd64-linux.c
b0987f0304b7382a885f28eb88ecf2f367fab3bf 20-Jul-2005 tom <tom@a5019735-40e9-0310-863c-91ae7b9d1cf9> Document different argument order for clone on amd64.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4217 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_syswrap/syswrap-amd64-linux.c
1b1a22395014bad0778dc0d346ac433bdc6ab29e 20-Jul-2005 tom <tom@a5019735-40e9-0310-863c-91ae7b9d1cf9> More system call fixups.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4213 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_syswrap/syswrap-amd64-linux.c
507ae562562fbd21cc8d78ecadaf893ef9378d01 20-Jul-2005 tom <tom@a5019735-40e9-0310-863c-91ae7b9d1cf9> Yet more amd64 system calls.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4212 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_syswrap/syswrap-amd64-linux.c
2b18aa814e7f959bfc403175ffb3fa37ec47a2ed 20-Jul-2005 tom <tom@a5019735-40e9-0310-863c-91ae7b9d1cf9> Pass clone arguments in the correct order when doing a fork style
clone. This should fix bug #109358.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4201 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_syswrap/syswrap-amd64-linux.c
4c9c80da438e42ebcce63461f10262cf7842729b 20-Jul-2005 tom <tom@a5019735-40e9-0310-863c-91ae7b9d1cf9> Enable sched_yield on amd64. Fixes bug #109362.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4200 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_syswrap/syswrap-amd64-linux.c
f2dab38a7da591501639b35f63df41377bb25311 20-Jul-2005 tom <tom@a5019735-40e9-0310-863c-91ae7b9d1cf9> Support ARCH_GET_FS with arch_prctl on amd64.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4197 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_syswrap/syswrap-amd64-linux.c
bc49f3deed2d2b109e31f0cdf898fa95e8d6bee4 19-Jul-2005 tom <tom@a5019735-40e9-0310-863c-91ae7b9d1cf9> Enable some more system calls on amd64.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4191 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_syswrap/syswrap-amd64-linux.c
963757348182c57b3a040a94650f7fdf66da0058 19-Jul-2005 tom <tom@a5019735-40e9-0310-863c-91ae7b9d1cf9> Enable setuid and setgid on amd64.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4189 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_syswrap/syswrap-amd64-linux.c
01c3dae8a131cbf2e8d9e05759a49670e89ff65c 19-Jul-2005 tom <tom@a5019735-40e9-0310-863c-91ae7b9d1cf9> Enable the rt_sigqueueinfo syscall on amd64.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4178 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_syswrap/syswrap-amd64-linux.c
b2112c1a3fd78175539f4800b688617c03942550 06-Jul-2005 tom <tom@a5019735-40e9-0310-863c-91ae7b9d1cf9> Enable some more amd64 syscalls.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4111 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_syswrap/syswrap-amd64-linux.c
4f08a65cffea7f918d96d8ffc04964ca66d022c4 06-Jul-2005 tom <tom@a5019735-40e9-0310-863c-91ae7b9d1cf9> Sort out the mess that is pread64/pwrite64 properly. All three platforms
that we currently support use the same handlers in the kernel without any
platform specific wrappers.

The final argument is a 64 bit argument however, which means that it
requires two registers on x86 and ppc32 and only one on amd64. The
reason it works in the kernel is that x86 and ppc32 calling conventions
inside the kernel work out correctly and the values get joined together.

For our purposes we make x86 and ppc32 use the generic veneer with
five arguments and amd64 use a platform specific one with four...


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4110 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_syswrap/syswrap-amd64-linux.c
43557d3cbe66b8f9918498eac7135d46f6270d6a 01-Jul-2005 sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> Reinstate wrappers for epoll_{create,wait,ctl}.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4074 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_syswrap/syswrap-amd64-linux.c
310ed28d40c8d1302fbead2f41c81bc5734ed6c5 26-Jun-2005 njn <njn@a5019735-40e9-0310-863c-91ae7b9d1cf9> Simplify atfork to only provide the functionality we need.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4032 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_syswrap/syswrap-amd64-linux.c
7b2c38c2ed00b4214d199184a50837a009e1acc0 23-Jun-2005 cerion <cerion@a5019735-40e9-0310-863c-91ae7b9d1cf9> VG_() -> ML() for ppc32, amd64
(plus a few scattered ones in comments etc)



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4003 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_syswrap/syswrap-amd64-linux.c
af839f52d74df156d655201a889954133ab01be7 23-Jun-2005 njn <njn@a5019735-40e9-0310-863c-91ae7b9d1cf9> Removed the VGA_/VGO_/VGP_ prefixes for arch/OS/platform-specific
things. These made sense when the arch/OS/platform-specific code was in
one module, but as that code got mixed in with generic code the boundary
between generic and non-generic blurred, and the distinction made less
sense. So let's get rid of them.




git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4002 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_syswrap/syswrap-amd64-linux.c
899ce73b9eb1f679562e93f8e5c162aa049413f1 21-Jun-2005 njn <njn@a5019735-40e9-0310-863c-91ae7b9d1cf9> Don't #include pub_core_debuginfo.h in pub_core_aspacemgr.h. So have
to #include it explicitly in lots of other places, but at least the
dependency is clear now.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3974 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_syswrap/syswrap-amd64-linux.c
85665ca6fa29dd64754dabe50eb98f25896e752a 20-Jun-2005 cerion <cerion@a5019735-40e9-0310-863c-91ae7b9d1cf9> Finally, valgrind on ppc32.
Plenty still to do, but simple programs like ls seem to run ok

Thanks, Paul, for having your ppc port of valgrind 2.4 to work from!




git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3969 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_syswrap/syswrap-amd64-linux.c
c7561b931e249acf3768ead77638545b0ccaa8f1 19-Jun-2005 njn <njn@a5019735-40e9-0310-863c-91ae7b9d1cf9> Final commit for the initial modularisation pass:

- Broke part of m_scheduler off into a new module m_threadstate. It
contains ThreadState, VG_(threads)[] and some basic operations on the
thread table. All simple stuff, the complex stuff stays in m_scheduler.
This avoids lots of circular dependencies between m_scheduler and other
modules.

- Managed to finally remove core.h and tool.h, double hurrah!

- Introduced pub_tool_basics.h and pub_core_basics.h, one of which is
include by every single C file.

- Lots of little cleanups and changes related to the above.

- I even did a small amount of documentation updating.




git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3944 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_syswrap/syswrap-amd64-linux.c
fd0922c413332ab905868dbac18da8dda1e5a0d4 18-Jun-2005 rjwalsh <rjwalsh@a5019735-40e9-0310-863c-91ae7b9d1cf9> Fix x86_64 build.
Also fix vgtest_ume (although it fails on x86_64.)



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3943 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_syswrap/syswrap-amd64-linux.c
fcb7c3e7a1b5d1654d309438036c5a3e6a76512d 18-Jun-2005 njn <njn@a5019735-40e9-0310-863c-91ae7b9d1cf9> Moved call_on_new_stack_0_1 and jump_and_switch_stacks to better places.
This enabled the removal of $ARCH/jmp_with_stack.c, hurrah!


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3938 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_syswrap/syswrap-amd64-linux.c
8a4eeaf314e696d5f2abe261159bf761ed3c05ee 18-Jun-2005 njn <njn@a5019735-40e9-0310-863c-91ae7b9d1cf9> Rename m_syscalls/ as m_syswrap/ to complete the module renaming.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3924 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_syswrap/syswrap-amd64-linux.c