|
From: <sv...@va...> - 2011-10-04 03:38:47
|
Author: florian
Date: 2011-10-04 04:33:59 +0100 (Tue, 04 Oct 2011)
New Revision: 12093
Log:
Turns out there is at least one version of glibc tat contains
a file name writev.c. This screws our filename based backtrace
filtering. Rename writev to writev1 to avoid that problem.
Added:
trunk/memcheck/tests/writev1.c
trunk/memcheck/tests/writev1.stderr.exp
trunk/memcheck/tests/writev1.vgtest
Removed:
trunk/memcheck/tests/writev.c
trunk/memcheck/tests/writev.stderr.exp
trunk/memcheck/tests/writev.vgtest
Modified:
trunk/memcheck/tests/
trunk/memcheck/tests/Makefile.am
Property changes on: trunk/memcheck/tests
___________________________________________________________________
Name: svn:ignore
- *.dSYM
*.stderr.diff*
*.stderr.out
*.stdout.diff*
*.stdout.out
.deps
addressable
atomic_incs
badaddrvalue
badfree
badjump
badjump2
badloop
badpoll
badrw
brk
brk2
buflen_check
calloc-overflow
clientperm
clientstackperm
custom-overlap
custom_alloc
deep_templates
describe-block
dir
doublefree
erringfds
error_counts
errs1
err_disable1
err_disable2
err_disable3
err_disable4
execve1
execve2
exitprog
file_locking
filter_leak_check_size
filter_stderr
fprw
fwrite
hello
inits
inline
leak-0
leak-cases
leak-cycle
leak-delta
leak-pool
leak-regroot
leak-tree
leakotron
linux-capget
linux-syscalls-2007
linux-syslog-syscall
linux-timerfd-syscall
long-supps
long_namespace_xml
lsframe1
lsframe2
Makefile
Makefile.in
mallinfo
malloc1
malloc2
malloc3
malloc_free_fill
malloc_usable
manuel1
manuel2
manuel3
match-overrun
memalign2
memalign_test
memcmptest
mempool
mempool2
metadata
mismatches
mmaptest
nanoleak
nanoleak2
nanoleak_supp
new_nothrow
new_override
noisy_child
null_socket
origin1-yes
origin2-not-quite
origin3-no
origin4-many
origin5-bz2
origin6-fp
oset_test
overlap
partiallydefinedeq
partial_load
pdb-realloc
pdb-realloc2
pipe
pointer-trace
post-syscall
realloc1
realloc2
realloc3
sbfragment
scalar
scalar_exit_group
scalar_fork
scalar_supp
scalar_vfork
sh-mem
sh-mem-random
sigaltstack
sigkill
signal2
sigprocmask
stack_changes
stack_switch
strchr
str_tester
supp1
supp2
suppfree
supp_unknown
threadederrno
trivialleak
unit_libcbase
unit_oset
varinfo1
varinfo2
varinfo3
varinfo4
varinfo5
varinfo5so.so
varinfo6
vcpu_bz2
vcpu_fbench
vcpu_fnfns
vgtest_ume
weirdioctl
with space
wrap1
wrap2
wrap3
wrap4
wrap5
wrap6
wrap7
wrap7so.so
wrap8
writev
xml1
zeropage
+ *.dSYM
*.stderr.diff*
*.stderr.out
*.stdout.diff*
*.stdout.out
.deps
addressable
atomic_incs
badaddrvalue
badfree
badjump
badjump2
badloop
badpoll
badrw
brk
brk2
buflen_check
calloc-overflow
clientperm
clientstackperm
custom-overlap
custom_alloc
deep_templates
describe-block
dir
doublefree
erringfds
error_counts
errs1
err_disable1
err_disable2
err_disable3
err_disable4
execve1
execve2
exitprog
file_locking
filter_leak_check_size
filter_stderr
fprw
fwrite
hello
inits
inline
leak-0
leak-cases
leak-cycle
leak-delta
leak-pool
leak-regroot
leak-tree
leakotron
linux-capget
linux-syscalls-2007
linux-syslog-syscall
linux-timerfd-syscall
long-supps
long_namespace_xml
lsframe1
lsframe2
Makefile
Makefile.in
mallinfo
malloc1
malloc2
malloc3
malloc_free_fill
malloc_usable
manuel1
manuel2
manuel3
match-overrun
memalign2
memalign_test
memcmptest
mempool
mempool2
metadata
mismatches
mmaptest
nanoleak
nanoleak2
nanoleak_supp
new_nothrow
new_override
noisy_child
null_socket
origin1-yes
origin2-not-quite
origin3-no
origin4-many
origin5-bz2
origin6-fp
oset_test
overlap
partiallydefinedeq
partial_load
pdb-realloc
pdb-realloc2
pipe
pointer-trace
post-syscall
realloc1
realloc2
realloc3
sbfragment
scalar
scalar_exit_group
scalar_fork
scalar_supp
scalar_vfork
sh-mem
sh-mem-random
sigaltstack
sigkill
signal2
sigprocmask
stack_changes
stack_switch
strchr
str_tester
supp1
supp2
suppfree
supp_unknown
threadederrno
trivialleak
unit_libcbase
unit_oset
varinfo1
varinfo2
varinfo3
varinfo4
varinfo5
varinfo5so.so
varinfo6
vcpu_bz2
vcpu_fbench
vcpu_fnfns
vgtest_ume
weirdioctl
with space
wrap1
wrap2
wrap3
wrap4
wrap5
wrap6
wrap7
wrap7so.so
wrap8
writev1
xml1
zeropage
Modified: trunk/memcheck/tests/Makefile.am
===================================================================
--- trunk/memcheck/tests/Makefile.am 2011-10-04 03:15:38 UTC (rev 12092)
+++ trunk/memcheck/tests/Makefile.am 2011-10-04 03:33:59 UTC (rev 12093)
@@ -201,7 +201,7 @@
wrap7.vgtest wrap7.stdout.exp wrap7.stderr.exp \
wrap8.vgtest wrap8.stdout.exp wrap8.stderr.exp \
wrap8.stdout.exp2 wrap8.stderr.exp2 \
- writev.stderr.exp writev.vgtest \
+ writev1.stderr.exp writev1.vgtest \
xml1.stderr.exp xml1.stdout.exp xml1.vgtest
check_PROGRAMS = \
@@ -261,7 +261,7 @@
vcpu_fbench vcpu_fnfns \
xml1 \
wrap1 wrap2 wrap3 wrap4 wrap5 wrap6 wrap7 wrap7so.so wrap8 \
- writev
+ writev1
AM_CFLAGS += $(AM_FLAG_M3264_PRI)
Deleted: trunk/memcheck/tests/writev.c
===================================================================
--- trunk/memcheck/tests/writev.c 2011-10-04 03:15:38 UTC (rev 12092)
+++ trunk/memcheck/tests/writev.c 2011-10-04 03:33:59 UTC (rev 12093)
@@ -1,89 +0,0 @@
-#include <stdio.h>
-#include <sys/types.h>
-#include <sys/uio.h>
-#include <fcntl.h>
-#include <errno.h>
-#include <unistd.h>
-#include <string.h>
-
-#define K_1 8192
-#define NBUFS 2
-#define CHUNK K_1 /* single chunk */
-#define MAX_IOVEC 2
-#define DATA_FILE "writev_data_file"
-
-static char buf1[K_1];
-static char buf2[K_1];
-static char *buf_list[NBUFS], f_name[]="writev_data_file";
-static int fd;
-
-struct iovec wr_iovec[MAX_IOVEC] = {
- {(caddr_t)-1, CHUNK},
- {(caddr_t)NULL, 0}
-};
-
-int main(void)
-{
- int nbytes;
-
- /* Fill the buf_list[0] and buf_list[1] with 0 zeros */
- buf_list[0] = buf1;
- buf_list[1] = buf2;
- memset(buf_list[0], 0, K_1);
- memset(buf_list[1], 0, K_1);
-
- if ((fd = open(f_name, O_WRONLY | O_CREAT, 0666)) < 0) {
- fprintf(stderr, "open(2) failed: fname = %s, errno = %d\n",
- f_name, errno);
- return 1;
- } else if ((nbytes = write(fd, buf_list[1], K_1)) != K_1) {
- fprintf(stderr, "write(2) failed: nbytes = %d, errno = %d\n",
- nbytes, errno);
- return 1;
- }
- if (close(fd) < 0) {
- fprintf(stderr, "close failed: errno = %d\n", errno);
- return 1;
- }
- fprintf(stderr, "Test file created.\n");
- if ((fd = open(f_name, O_RDWR, 0666)) < 0) {
- fprintf(stderr, "open failed: fname = %s, errno = %d\n",
- f_name, errno);
- return 1;
- }
-
- lseek(fd, 0, 0);
- if (writev(fd, wr_iovec, 2) < 0) {
- if (errno == EFAULT)
- fprintf(stderr, "Received EFAULT as expected\n");
- else
- fprintf(stderr, "Expected EFAULT, got %d\n", errno);
- lseek(fd, K_1, 0);
- if ((nbytes = read(fd, buf_list[0], CHUNK)) != 0)
- fprintf(stderr, "Expected nbytes = 0, got %d\n", nbytes);
- }
- else
- fprintf(stderr, "Error writev returned a positive value\n");
- // Now check invalid vector count
- if (writev(fd, wr_iovec, -1) < 0) {
- if (errno == EINVAL)
- fprintf(stderr, "Received EINVAL as expected\n");
- else
- fprintf(stderr, "expected errno = EINVAL, got %d\n", errno);
- }
- else
- fprintf(stderr, "Error writev returned a positive value\n");
- if (readv(fd, wr_iovec, -1) < 0) {
- if (errno == EINVAL)
- fprintf(stderr, "Received EINVAL as expected\n");
- else
- fprintf(stderr, "expected errno = EINVAL, got %d\n", errno);
- }
- else
- fprintf(stderr, "Error writev returned a positive value\n");
-
- unlink(f_name);
-
- return 0;
-}
-
Deleted: trunk/memcheck/tests/writev.stderr.exp
===================================================================
--- trunk/memcheck/tests/writev.stderr.exp 2011-10-04 03:15:38 UTC (rev 12092)
+++ trunk/memcheck/tests/writev.stderr.exp 2011-10-04 03:33:59 UTC (rev 12093)
@@ -1,19 +0,0 @@
-Test file created.
-Syscall param writev(vector[...]) points to unaddressable byte(s)
- at 0x........: writev (writev.c:51)
- by 0x........: main (writev.c:56)
- Address 0x........ is not stack'd, malloc'd or (recently) free'd
-
-Received EFAULT as expected
-Syscall param writev(vector) points to unaddressable byte(s)
- at 0x........: writev (writev.c:51)
- by 0x........: main (writev.c:68)
- Address 0x........ is not stack'd, malloc'd or (recently) free'd
-
-Received EINVAL as expected
-Syscall param readv(vector) points to unaddressable byte(s)
- ...
- by 0x........: main (writev.c:76)
- Address 0x........ is not stack'd, malloc'd or (recently) free'd
-
-Received EINVAL as expected
Deleted: trunk/memcheck/tests/writev.vgtest
===================================================================
--- trunk/memcheck/tests/writev.vgtest 2011-10-04 03:15:38 UTC (rev 12092)
+++ trunk/memcheck/tests/writev.vgtest 2011-10-04 03:33:59 UTC (rev 12093)
@@ -1,2 +0,0 @@
-prog: writev
-vgopts: -q
Copied: trunk/memcheck/tests/writev1.c (from rev 12092, trunk/memcheck/tests/writev.c)
===================================================================
--- trunk/memcheck/tests/writev1.c (rev 0)
+++ trunk/memcheck/tests/writev1.c 2011-10-04 03:33:59 UTC (rev 12093)
@@ -0,0 +1,89 @@
+#include <stdio.h>
+#include <sys/types.h>
+#include <sys/uio.h>
+#include <fcntl.h>
+#include <errno.h>
+#include <unistd.h>
+#include <string.h>
+
+#define K_1 8192
+#define NBUFS 2
+#define CHUNK K_1 /* single chunk */
+#define MAX_IOVEC 2
+#define DATA_FILE "writev_data_file"
+
+static char buf1[K_1];
+static char buf2[K_1];
+static char *buf_list[NBUFS], f_name[]="writev_data_file";
+static int fd;
+
+struct iovec wr_iovec[MAX_IOVEC] = {
+ {(caddr_t)-1, CHUNK},
+ {(caddr_t)NULL, 0}
+};
+
+int main(void)
+{
+ int nbytes;
+
+ /* Fill the buf_list[0] and buf_list[1] with 0 zeros */
+ buf_list[0] = buf1;
+ buf_list[1] = buf2;
+ memset(buf_list[0], 0, K_1);
+ memset(buf_list[1], 0, K_1);
+
+ if ((fd = open(f_name, O_WRONLY | O_CREAT, 0666)) < 0) {
+ fprintf(stderr, "open(2) failed: fname = %s, errno = %d\n",
+ f_name, errno);
+ return 1;
+ } else if ((nbytes = write(fd, buf_list[1], K_1)) != K_1) {
+ fprintf(stderr, "write(2) failed: nbytes = %d, errno = %d\n",
+ nbytes, errno);
+ return 1;
+ }
+ if (close(fd) < 0) {
+ fprintf(stderr, "close failed: errno = %d\n", errno);
+ return 1;
+ }
+ fprintf(stderr, "Test file created.\n");
+ if ((fd = open(f_name, O_RDWR, 0666)) < 0) {
+ fprintf(stderr, "open failed: fname = %s, errno = %d\n",
+ f_name, errno);
+ return 1;
+ }
+
+ lseek(fd, 0, 0);
+ if (writev(fd, wr_iovec, 2) < 0) {
+ if (errno == EFAULT)
+ fprintf(stderr, "Received EFAULT as expected\n");
+ else
+ fprintf(stderr, "Expected EFAULT, got %d\n", errno);
+ lseek(fd, K_1, 0);
+ if ((nbytes = read(fd, buf_list[0], CHUNK)) != 0)
+ fprintf(stderr, "Expected nbytes = 0, got %d\n", nbytes);
+ }
+ else
+ fprintf(stderr, "Error writev returned a positive value\n");
+ // Now check invalid vector count
+ if (writev(fd, wr_iovec, -1) < 0) {
+ if (errno == EINVAL)
+ fprintf(stderr, "Received EINVAL as expected\n");
+ else
+ fprintf(stderr, "expected errno = EINVAL, got %d\n", errno);
+ }
+ else
+ fprintf(stderr, "Error writev returned a positive value\n");
+ if (readv(fd, wr_iovec, -1) < 0) {
+ if (errno == EINVAL)
+ fprintf(stderr, "Received EINVAL as expected\n");
+ else
+ fprintf(stderr, "expected errno = EINVAL, got %d\n", errno);
+ }
+ else
+ fprintf(stderr, "Error writev returned a positive value\n");
+
+ unlink(f_name);
+
+ return 0;
+}
+
Copied: trunk/memcheck/tests/writev1.stderr.exp (from rev 12092, trunk/memcheck/tests/writev.stderr.exp)
===================================================================
--- trunk/memcheck/tests/writev1.stderr.exp (rev 0)
+++ trunk/memcheck/tests/writev1.stderr.exp 2011-10-04 03:33:59 UTC (rev 12093)
@@ -0,0 +1,19 @@
+Test file created.
+Syscall param writev(vector[...]) points to unaddressable byte(s)
+ ...
+ by 0x........: main (writev1.c:56)
+ Address 0x........ is not stack'd, malloc'd or (recently) free'd
+
+Received EFAULT as expected
+Syscall param writev(vector) points to unaddressable byte(s)
+ ...
+ by 0x........: main (writev1.c:68)
+ Address 0x........ is not stack'd, malloc'd or (recently) free'd
+
+Received EINVAL as expected
+Syscall param readv(vector) points to unaddressable byte(s)
+ ...
+ by 0x........: main (writev1.c:76)
+ Address 0x........ is not stack'd, malloc'd or (recently) free'd
+
+Received EINVAL as expected
Copied: trunk/memcheck/tests/writev1.vgtest (from rev 12092, trunk/memcheck/tests/writev.vgtest)
===================================================================
--- trunk/memcheck/tests/writev1.vgtest (rev 0)
+++ trunk/memcheck/tests/writev1.vgtest 2011-10-04 03:33:59 UTC (rev 12093)
@@ -0,0 +1,2 @@
+prog: writev1
+vgopts: -q
|