-----------------------------------------------------
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
-----------------------------------------------------
-----------------------------------------------------
(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
-----------------------------------------------------
-----------------------------------------------------
(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)
   ...

