-----------------------------------------------------
x2000001(1):           __NR_exit below
-----------------------------------------------------
-----------------------------------------------------
x2000002(2):           __NR_fork other
-----------------------------------------------------
-----------------------------------------------------
x2000003(3):           __NR_read 1+3s 1m
-----------------------------------------------------
Syscall param (syscallno) contains uninitialised byte(s)
   ...

Syscall param read(fd) contains uninitialised byte(s)
   ...

Syscall param read(buf) contains uninitialised byte(s)
   ...

Syscall param read(count) contains uninitialised byte(s)
   ...

Syscall param read(buf) points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

-----------------------------------------------------
x2000004(4):          __NR_write 3s 1m
-----------------------------------------------------
Syscall param write(fd) contains uninitialised byte(s)
   ...

Syscall param write(buf) contains uninitialised byte(s)
   ...

Syscall param write(count) contains uninitialised byte(s)
   ...

Syscall param write(buf) points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

-----------------------------------------------------
x2000005(5):           __NR_open (2-args) 2s 1m
-----------------------------------------------------
Syscall param open(filename) contains uninitialised byte(s)
   ...

Syscall param open(flags) contains uninitialised byte(s)
   ...

Syscall param open(filename) points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

-----------------------------------------------------
x2000005(5):           __NR_open (3-args) 1s 0m
-----------------------------------------------------
Syscall param open(mode) contains uninitialised byte(s)
   ...

-----------------------------------------------------
x2000006(6):          __NR_close 1s 0m
-----------------------------------------------------
Syscall param close(fd) contains uninitialised byte(s)
   ...

-----------------------------------------------------
x2000007(7):          __NR_wait4 4s 2m
-----------------------------------------------------
Syscall param wait4(pid) contains uninitialised byte(s)
   ...

Syscall param wait4(status) contains uninitialised byte(s)
   ...

Syscall param wait4(options) contains uninitialised byte(s)
   ...

Syscall param wait4(rusage) contains uninitialised byte(s)
   ...

Syscall param wait4(status) points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

Syscall param wait4(rusage) points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

-----------------------------------------------------
(8):             old creat
-----------------------------------------------------
-----------------------------------------------------
x2000009(9):           __NR_link 2s 2m
-----------------------------------------------------
Syscall param link(oldpath) contains uninitialised byte(s)
   ...

Syscall param link(newpath) contains uninitialised byte(s)
   ...

Syscall param link(oldpath) points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

Syscall param link(newpath) points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

-----------------------------------------------------
x200000a(10):         __NR_unlink 1s 1m
-----------------------------------------------------
Syscall param unlink(pathname) contains uninitialised byte(s)
   ...

Syscall param unlink(pathname) points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

-----------------------------------------------------
(11):            old execv
-----------------------------------------------------
-----------------------------------------------------
x200000c(12):          __NR_chdir 1s 1m
-----------------------------------------------------
Syscall param chdir(path) contains uninitialised byte(s)
   ...

Syscall param chdir(path) points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

-----------------------------------------------------
x200000d(13):         __NR_fchdir 1s 0m
-----------------------------------------------------
Syscall param fchdir(fd) contains uninitialised byte(s)
   ...

-----------------------------------------------------
x200000e(14):          __NR_mknod 3s 1m
-----------------------------------------------------
Syscall param mknod(pathname) contains uninitialised byte(s)
   ...

Syscall param mknod(mode) contains uninitialised byte(s)
   ...

Syscall param mknod(dev) contains uninitialised byte(s)
   ...

Syscall param mknod(pathname) points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

-----------------------------------------------------
x200000f(15):          __NR_chmod 2s 1m
-----------------------------------------------------
Syscall param chmod(path) contains uninitialised byte(s)
   ...

Syscall param chmod(mode) contains uninitialised byte(s)
   ...

Syscall param chmod(path) points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

-----------------------------------------------------
x2000010(16):          __NR_chown 3s 1m
-----------------------------------------------------
Syscall param chown(path) contains uninitialised byte(s)
   ...

Syscall param chown(owner) contains uninitialised byte(s)
   ...

Syscall param chown(group) contains uninitialised byte(s)
   ...

Syscall param chown(path) points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

-----------------------------------------------------
(17):            old break
-----------------------------------------------------
-----------------------------------------------------
x2000012(18):      __NR_getfsstat 3s 1m
-----------------------------------------------------
Syscall param getfsstat(buf) contains uninitialised byte(s)
   ...

Syscall param getfsstat(bufsize) contains uninitialised byte(s)
   ...

Syscall param getfsstat(flags) contains uninitialised byte(s)
   ...

Syscall param getfsstat(buf) points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

-----------------------------------------------------
(19):            old lseek
-----------------------------------------------------
-----------------------------------------------------
(21):            old mount
-----------------------------------------------------
-----------------------------------------------------
(22):            old umount
-----------------------------------------------------
-----------------------------------------------------
(38):            old stat
-----------------------------------------------------
-----------------------------------------------------
(40):            old lstat
-----------------------------------------------------
-----------------------------------------------------
(45):            old ktrace
-----------------------------------------------------
-----------------------------------------------------
(62):            old fstat
-----------------------------------------------------
-----------------------------------------------------
(63):            used internally, reserved
-----------------------------------------------------
-----------------------------------------------------
(64):            old getpagesize
-----------------------------------------------------
-----------------------------------------------------
(67):            old vread
-----------------------------------------------------
-----------------------------------------------------
(68):            old vwrite
-----------------------------------------------------
-----------------------------------------------------
(69):            old sbrk
-----------------------------------------------------
-----------------------------------------------------
(70):            old sstk
-----------------------------------------------------
-----------------------------------------------------
(71):            old mmap
-----------------------------------------------------
-----------------------------------------------------
(72):            old vadvise
-----------------------------------------------------
-----------------------------------------------------
(76):            old vhangup
-----------------------------------------------------
-----------------------------------------------------
(77):            old vlimit
-----------------------------------------------------
-----------------------------------------------------
x200004e(78):        __NR_mincore 3s 1m
-----------------------------------------------------
Syscall param mincore(start) contains uninitialised byte(s)
   ...

Syscall param mincore(length) contains uninitialised byte(s)
   ...

Syscall param mincore(vec) contains uninitialised byte(s)
   ...

Syscall param mincore(vec) points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

-----------------------------------------------------
x2000052(82):        __NR_setpgid 2s 0m
-----------------------------------------------------
Syscall param setpgid(pid) contains uninitialised byte(s)
   ...

Syscall param setpgid(pgid) contains uninitialised byte(s)
   ...

-----------------------------------------------------
(78):            old wait
-----------------------------------------------------
-----------------------------------------------------
(87):            old gethostname
-----------------------------------------------------
-----------------------------------------------------
(88):            old sethostname
-----------------------------------------------------
-----------------------------------------------------
(91):            old getdopt
-----------------------------------------------------
-----------------------------------------------------
(94):            old setdopt
-----------------------------------------------------
-----------------------------------------------------
(99):            old accept
-----------------------------------------------------
-----------------------------------------------------
(101):           old send
-----------------------------------------------------
-----------------------------------------------------
(102):           old recv
-----------------------------------------------------
-----------------------------------------------------
(103):           old sigreturn
-----------------------------------------------------
-----------------------------------------------------
x2000069(105):     __NR_setsockopt 5s 1m
-----------------------------------------------------
Syscall param setsockopt(s) contains uninitialised byte(s)
   ...

Syscall param setsockopt(level) contains uninitialised byte(s)
   ...

Syscall param setsockopt(optname) contains uninitialised byte(s)
   ...

Syscall param setsockopt(optval) contains uninitialised byte(s)
   ...

Syscall param setsockopt(optlen) contains uninitialised byte(s)
   ...

Syscall param socketcall.setsockopt(optval) points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

-----------------------------------------------------
(107):           old vtimes
-----------------------------------------------------
-----------------------------------------------------
(108):           old sigvec
-----------------------------------------------------
-----------------------------------------------------
(109):           old sigblock
-----------------------------------------------------
-----------------------------------------------------
(110):           old sigsetmask
-----------------------------------------------------
-----------------------------------------------------
x200006f(111):     __NR_sigsuspend ignore
-----------------------------------------------------
-----------------------------------------------------
(112):           old sigstack
-----------------------------------------------------
-----------------------------------------------------
(113):           old recvmsg
-----------------------------------------------------
-----------------------------------------------------
(114):           old sendmsg
-----------------------------------------------------
-----------------------------------------------------
(115):           old vtrace
-----------------------------------------------------
-----------------------------------------------------
x2000076(118):     __NR_getsockopt 5s 1m
-----------------------------------------------------
Syscall param getsockopt(s) contains uninitialised byte(s)
   ...

Syscall param getsockopt(level) contains uninitialised byte(s)
   ...

Syscall param getsockopt(optname) contains uninitialised byte(s)
   ...

Syscall param getsockopt(optval) contains uninitialised byte(s)
   ...

Syscall param getsockopt(optlen) contains uninitialised byte(s)
   ...

Syscall param socketcall.getsockopt(optlen) points to unaddressable byte(s)
   ...
 Address 0x........ is 0 bytes after a block of size 4 alloc'd
   at 0x........: malloc (vg_replace_malloc.c:...)
   by 0x........: main (scalar.c:14)

-----------------------------------------------------
(119):           old resuba
-----------------------------------------------------
-----------------------------------------------------
(125):           old recvfrom
-----------------------------------------------------
-----------------------------------------------------
(129):           old truncate
-----------------------------------------------------
-----------------------------------------------------
(130):           old ftruncate
-----------------------------------------------------
-----------------------------------------------------
x2000084(132):         __NR_mkfifo 2s 1m
-----------------------------------------------------
Syscall param mkfifo(mode) contains uninitialised byte(s)
   ...
   by 0x........: main (in ./scalar)

Syscall param mkfifo(path) points to unaddressable byte(s)
   ...
   by 0x........: main (in ./scalar)
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

-----------------------------------------------------
-----------------------------------------------------
(141):           old getpeername
-----------------------------------------------------
-----------------------------------------------------
(143):           old sethostid
-----------------------------------------------------
-----------------------------------------------------
(144):           old getrlimit
-----------------------------------------------------
-----------------------------------------------------
(145):           old setrlimit
-----------------------------------------------------
-----------------------------------------------------
(146):           old killpg
-----------------------------------------------------
-----------------------------------------------------
(148):           old setquota
-----------------------------------------------------
-----------------------------------------------------
(149):           old qquota
-----------------------------------------------------
-----------------------------------------------------
(150):           old getsockname
-----------------------------------------------------
-----------------------------------------------------
(156):           old getdirentries
-----------------------------------------------------
-----------------------------------------------------
(160):           old async_daemon
-----------------------------------------------------
-----------------------------------------------------
(162):           old getdomainname
-----------------------------------------------------
-----------------------------------------------------
(163):           old setdomainname
-----------------------------------------------------
-----------------------------------------------------
(166):           old exportfs
-----------------------------------------------------
-----------------------------------------------------
x20000a7(167):          __NR_mount 4s 2m
-----------------------------------------------------
Syscall param mount(type) contains uninitialised byte(s)
   ...

Syscall param mount(dir) contains uninitialised byte(s)
   ...

Syscall param mount(flags) contains uninitialised byte(s)
   ...

Syscall param mount(data) contains uninitialised byte(s)
   ...

Syscall param mount(type) points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

Syscall param mount(dir) points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

-----------------------------------------------------
(168):           old ustat
-----------------------------------------------------
-----------------------------------------------------
x20000a9(169):          __NR_csops 4s 1m
-----------------------------------------------------
Syscall param csops(pid) contains uninitialised byte(s)
   ...

Syscall param csops(ops) contains uninitialised byte(s)
   ...

Syscall param csops(useraddr) contains uninitialised byte(s)
   ...

Syscall param csops(usersize) contains uninitialised byte(s)
   ...

Syscall param csops(useraddr) points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

-----------------------------------------------------
(170):           old table
-----------------------------------------------------
-----------------------------------------------------
(171):           old wait3
-----------------------------------------------------
-----------------------------------------------------
(172):           old rpause
-----------------------------------------------------
-----------------------------------------------------
(174):           old getdents
-----------------------------------------------------
-----------------------------------------------------
(175):           old gc_control
-----------------------------------------------------
-----------------------------------------------------
(177-179):       unused
-----------------------------------------------------
-----------------------------------------------------
(186-187):       unused
-----------------------------------------------------
-----------------------------------------------------
(193):           unused
-----------------------------------------------------
-----------------------------------------------------
(213):           reserved for AppleTalk
-----------------------------------------------------
-----------------------------------------------------
x20000df(223):   __NR_exchangedata 3s 2m
-----------------------------------------------------
Syscall param exchangedata(path1) contains uninitialised byte(s)
   ...

Syscall param exchangedata(path2) contains uninitialised byte(s)
   ...

Syscall param exchangedata(options) contains uninitialised byte(s)
   ...

Syscall param exchangedata(path1) points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

Syscall param exchangedata(path2) points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

-----------------------------------------------------
(228-229):       unused
-----------------------------------------------------
-----------------------------------------------------
(245-246):       unused
-----------------------------------------------------
-----------------------------------------------------
(249):           unused
-----------------------------------------------------
-----------------------------------------------------
(257):           unused
-----------------------------------------------------
-----------------------------------------------------
x2000106(262):          __NR_shmat 3s 0m
-----------------------------------------------------
Syscall param shmat(shmid) contains uninitialised byte(s)
   ...

Syscall param shmat(shmaddr) contains uninitialised byte(s)
   ...

Syscall param shmat(shmflg) contains uninitialised byte(s)
   ...

-----------------------------------------------------
x2000107(263):         __NR_shmctl 3s 1m
-----------------------------------------------------
Syscall param shmctl(shmid) contains uninitialised byte(s)
   ...

Syscall param shmctl(cmd) contains uninitialised byte(s)
   ...

Syscall param shmctl(buf) contains uninitialised byte(s)
   ...

Syscall param shmctl(IPC_STAT, buf) points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

-----------------------------------------------------
x2000108(264):          __NR_shmdt 1s 0m
-----------------------------------------------------
Syscall param shmdt(shmaddr) contains uninitialised byte(s)
   ...

-----------------------------------------------------
x2000109(265):         __NR_shmget 3s 0m
-----------------------------------------------------
Syscall param shmget(key) contains uninitialised byte(s)
   ...

Syscall param shmget(size) contains uninitialised byte(s)
   ...

Syscall param shmget(shmflg) contains uninitialised byte(s)
   ...

-----------------------------------------------------
x200010c(268):       __NR_sem_open 2s 1m
-----------------------------------------------------
Syscall param sem_open(name) contains uninitialised byte(s)
   ...

Syscall param sem_open(oflag) contains uninitialised byte(s)
   ...

Syscall param sem_open(name) points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

-----------------------------------------------------
x200010c(268):       __NR_sem_open (4-args) 2s 0m
-----------------------------------------------------
Syscall param sem_open(mode) contains uninitialised byte(s)
   ...

Syscall param sem_open(value) contains uninitialised byte(s)
   ...

-----------------------------------------------------
x200010d(269):      __NR_sem_close 1s 0m
-----------------------------------------------------
Syscall param sem_close(sem) contains uninitialised byte(s)
   ...

-----------------------------------------------------
x200010e(270):     __NR_sem_unlink 1s 1m
-----------------------------------------------------
Syscall param sem_unlink(name) contains uninitialised byte(s)
   ...

Syscall param sem_unlink(name) points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

-----------------------------------------------------
x200010f(271):       __NR_sem_wait 1s 0m
-----------------------------------------------------
Syscall param sem_wait(sem) contains uninitialised byte(s)
   ...

-----------------------------------------------------
x2000110(272):    __NR_sem_trywait 1s 0m
-----------------------------------------------------
Syscall param sem_trywait(sem) contains uninitialised byte(s)
   ...

-----------------------------------------------------
x2000111(273):       __NR_sem_post 1s 0m
-----------------------------------------------------
Syscall param sem_post(sem) contains uninitialised byte(s)
   ...

-----------------------------------------------------
x2000113(275):       __NR_sem_init 3s 1m
-----------------------------------------------------

More than 100 errors detected.  Subsequent errors
will still be recorded, but in less detail than before.
Syscall param sem_init(sem) contains uninitialised byte(s)
   ...

Syscall param sem_init(pshared) contains uninitialised byte(s)
   ...

Syscall param sem_init(value) contains uninitialised byte(s)
   ...

Syscall param sem_init(sem) points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

-----------------------------------------------------
x2000114(276):    __NR_sem_destroy 1s 1m
-----------------------------------------------------
Syscall param sem_destroy(sem) contains uninitialised byte(s)
   ...

Syscall param sem_destroy(sem) points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

-----------------------------------------------------
x2000117(279):  __NR_stat_extended 4s 4m
-----------------------------------------------------
Syscall param stat_extended(file_name) contains uninitialised byte(s)
   ...

Syscall param stat_extended(buf) contains uninitialised byte(s)
   ...

Syscall param stat_extended(fsacl) contains uninitialised byte(s)
   ...

Syscall param stat_extended(fsacl_size) contains uninitialised byte(s)
   ...

Syscall param stat_extended(file_name) points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

Syscall param stat_extended(buf) points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

Syscall param stat_extended(fsacl_size) points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

Syscall param stat_extended(fsacl) points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

-----------------------------------------------------
x2000118(280): __NR_lstat_extended 4s 4m
-----------------------------------------------------
Syscall param lstat_extended(file_name) contains uninitialised byte(s)
   ...

Syscall param lstat_extended(buf) contains uninitialised byte(s)
   ...

Syscall param lstat_extended(fsacl) contains uninitialised byte(s)
   ...

Syscall param lstat_extended(fsacl_size) contains uninitialised byte(s)
   ...

Syscall param lstat_extended(file_name) points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

Syscall param lstat_extended(buf) points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

Syscall param lstat_extended(fsacl_size) points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

Syscall param lstat_extended(fsacl) points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

-----------------------------------------------------
x2000119(280): __NR_fstat_extended 4s 3m
-----------------------------------------------------
Syscall param fstat_extended(fd) contains uninitialised byte(s)
   ...

Syscall param fstat_extended(buf) contains uninitialised byte(s)
   ...

Syscall param fstat_extended(fsacl) contains uninitialised byte(s)
   ...

Syscall param fstat_extended(fsacl_size) contains uninitialised byte(s)
   ...

Syscall param fstat_extended(buf) points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

Syscall param fstat_extended(fsacl_size) points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

Syscall param fstat_extended(fsacl) points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

-----------------------------------------------------
x200011c(284):__NR_access_extended 4s 1m
-----------------------------------------------------
Syscall param access_extended(entries) contains uninitialised byte(s)
   ...

Syscall param access_extended(size) contains uninitialised byte(s)
   ...

Syscall param access_extended(results) contains uninitialised byte(s)
   ...

Syscall param access_extended(uid) contains uninitialised byte(s)
   ...

Syscall param access_extended(entries) points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

-----------------------------------------------------
(296):           old load_shared_file
-----------------------------------------------------
-----------------------------------------------------
(297):           old reset_shared_file
-----------------------------------------------------
-----------------------------------------------------
(298):           old new_system_shared_regions
-----------------------------------------------------
-----------------------------------------------------
(299):           old shared_region_map_file_np
-----------------------------------------------------
-----------------------------------------------------
(300):           old shared_region_make_private_np
-----------------------------------------------------
-----------------------------------------------------
x200013a(314):     __NR_aio_return 1s 0m
-----------------------------------------------------
Syscall param aio_return(aiocbp) contains uninitialised byte(s)
   ...

-----------------------------------------------------
x200013b(315):    __NR_aio_suspend 1s 0m
-----------------------------------------------------
Syscall param aio_suspend(aiocbp) contains uninitialised byte(s)
   ...

Syscall param aio_suspend(nent) contains uninitialised byte(s)
   ...

Syscall param aio_suspend(timeout) contains uninitialised byte(s)
   ...

Syscall param aio_suspend(list) points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

-----------------------------------------------------
x200013d(317):      __NR_aio_error 1s 0m
-----------------------------------------------------
Syscall param aio_error(aiocbp) contains uninitialised byte(s)
   ...

-----------------------------------------------------
x200013e(318):       __NR_aio_read 1s 1m
-----------------------------------------------------
Syscall param aio_read(aiocbp) contains uninitialised byte(s)
   ...

Syscall param aio_read(aiocbp) points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

-----------------------------------------------------
x200013f(319):      __NR_aio_write 1s 1m
-----------------------------------------------------
Syscall param aio_write(aiocbp) contains uninitialised byte(s)
   ...

Syscall param aio_write(aiocbp) points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

-----------------------------------------------------
(323):           unused
-----------------------------------------------------
-----------------------------------------------------
(326):           unused
-----------------------------------------------------
-----------------------------------------------------
x2000148(328): __NR___pthread_kill 2s 0m
-----------------------------------------------------
Syscall param __pthread_kill(thread) contains uninitialised byte(s)
   ...

Syscall param __pthread_kill(sig) contains uninitialised byte(s)
   ...

-----------------------------------------------------
(335):           old utrace
-----------------------------------------------------
-----------------------------------------------------
x2000155(341):__NR_stat64_extended 4s 4m
-----------------------------------------------------
Syscall param stat64_extended(file_name) contains uninitialised byte(s)
   ...

Syscall param stat64_extended(buf) contains uninitialised byte(s)
   ...

Syscall param stat64_extended(fsacl) contains uninitialised byte(s)
   ...

Syscall param stat64_extended(fsacl_size) contains uninitialised byte(s)
   ...

Syscall param stat64_extended(file_name) points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

Syscall param stat64_extended(buf) points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

Syscall param stat64_extended(fsacl_size) points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

Syscall param stat64_extended(fsacl) points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

-----------------------------------------------------
x2000156(342):__NR_lstat64_extended 4s 4m
-----------------------------------------------------
Syscall param lstat64_extended(file_name) contains uninitialised byte(s)
   ...

Syscall param lstat64_extended(buf) contains uninitialised byte(s)
   ...

Syscall param lstat64_extended(fsacl) contains uninitialised byte(s)
   ...

Syscall param lstat64_extended(fsacl_size) contains uninitialised byte(s)
   ...

Syscall param lstat64_extended(file_name) points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

Syscall param lstat64_extended(buf) points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

Syscall param lstat64_extended(fsacl_size) points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

Syscall param lstat64_extended(fsacl) points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

-----------------------------------------------------
x2000157(342):__NR_fstat64_extended 4s 3m
-----------------------------------------------------
Syscall param fstat64_extended(fd) contains uninitialised byte(s)
   ...

Syscall param fstat64_extended(buf) contains uninitialised byte(s)
   ...

Syscall param fstat64_extended(fsacl) contains uninitialised byte(s)
   ...

Syscall param fstat64_extended(fsacl_size) contains uninitialised byte(s)
   ...

Syscall param fstat64_extended(buf) points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

Syscall param fstat64_extended(fsacl_size) points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

Syscall param fstat64_extended(fsacl) points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

-----------------------------------------------------
x200015b(347):    __NR_getfsstat64 3s 1m
-----------------------------------------------------
Syscall param getfsstat64(buf) contains uninitialised byte(s)
   ...

Syscall param getfsstat64(bufsize) contains uninitialised byte(s)
   ...

Syscall param getfsstat64(flags) contains uninitialised byte(s)
   ...

Syscall param getfsstat64(buf) points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

-----------------------------------------------------
(369-379):       unused
-----------------------------------------------------
-----------------------------------------------------
x270f(9999):                9999 1e
-----------------------------------------------------
WARNING: unhandled syscall: unix:9999
You may be able to write your own handler.
Read the file README_MISSING_SYSCALL_OR_IOCTL.
Nevertheless we consider this a bug.  Please report
it at http://valgrind.org/support/bug_reports.html.
-----------------------------------------------------
x2000001(1):           __NR_exit 1s 0m
-----------------------------------------------------
Syscall param exit(status) contains uninitialised byte(s)
   ...

