Mark Wielaard 3a21fd4
Index: valgrind/memcheck/mc_replace_strmem.c
Mark Wielaard 3a21fd4
===================================================================
Mark Wielaard 3a21fd4
--- valgrind/memcheck/mc_replace_strmem.c	(revision 13016)
Mark Wielaard 3a21fd4
+++ valgrind/memcheck/mc_replace_strmem.c	(working copy)
Mark Wielaard 3a21fd4
@@ -97,6 +97,10 @@
Mark Wielaard 3a21fd4
    20350 STRCASESTR
Mark Wielaard 3a21fd4
    20360 MEMRCHR
Mark Wielaard 3a21fd4
    20370 WCSLEN
Mark Wielaard 3a21fd4
+   20380 WCSCMP
Mark Wielaard 3a21fd4
+   20390 WCSCPY
Mark Wielaard 3a21fd4
+   20400 WCSCHR
Mark Wielaard 3a21fd4
+   20410 WCSRCHR
Mark Wielaard 3a21fd4
 */
Mark Wielaard 3a21fd4
 
Mark Wielaard 3a21fd4
 
Mark Wielaard 3a21fd4
@@ -1570,7 +1574,115 @@
Mark Wielaard 3a21fd4
 
Mark Wielaard 3a21fd4
 #endif
Mark Wielaard 3a21fd4
 
Mark Wielaard 3a21fd4
+/*---------------------- wcscmp ----------------------*/
Mark Wielaard 3a21fd4
 
Mark Wielaard 3a21fd4
+// This is a wchar_t equivalent to strcmp.  We don't
Mark Wielaard 3a21fd4
+// have wchar_t available here, but in the GNU C Library
Mark Wielaard 3a21fd4
+// wchar_t is always 32 bits wide and wcscmp uses signed
Mark Wielaard 3a21fd4
+// comparison, not unsigned as in strcmp function.
Mark Wielaard 3a21fd4
+
Mark Wielaard 3a21fd4
+#define WCSCMP(soname, fnname) \
Mark Wielaard 3a21fd4
+   int VG_REPLACE_FUNCTION_EZU(20380,soname,fnname) \
Mark Wielaard 3a21fd4
+          ( const Int* s1, const Int* s2 ); \
Mark Wielaard 3a21fd4
+   int VG_REPLACE_FUNCTION_EZU(20380,soname,fnname) \
Mark Wielaard 3a21fd4
+          ( const Int* s1, const Int* s2 ) \
Mark Wielaard 3a21fd4
+   { \
Mark Wielaard 3a21fd4
+      register Int c1; \
Mark Wielaard 3a21fd4
+      register Int c2; \
Mark Wielaard 3a21fd4
+      while (True) { \
Mark Wielaard 3a21fd4
+         c1 = *s1; \
Mark Wielaard 3a21fd4
+         c2 = *s2; \
Mark Wielaard 3a21fd4
+         if (c1 != c2) break; \
Mark Wielaard 3a21fd4
+         if (c1 == 0) break; \
Mark Wielaard 3a21fd4
+         s1++; s2++; \
Mark Wielaard 3a21fd4
+      } \
Mark Wielaard 3a21fd4
+      if (c1 < c2) return -1; \
Mark Wielaard 3a21fd4
+      if (c1 > c2) return 1; \
Mark Wielaard 3a21fd4
+      return 0; \
Mark Wielaard 3a21fd4
+   }
Mark Wielaard 3a21fd4
+
Mark Wielaard 3a21fd4
+#if defined(VGO_linux)
Mark Wielaard 3a21fd4
+ WCSCMP(VG_Z_LIBC_SONAME,          wcscmp)
Mark Wielaard 3a21fd4
+#endif
Mark Wielaard 3a21fd4
+
Mark Wielaard 3a21fd4
+/*---------------------- wcscpy ----------------------*/
Mark Wielaard 3a21fd4
+
Mark Wielaard 3a21fd4
+// This is a wchar_t equivalent to strcpy.  We don't
Mark Wielaard 3a21fd4
+// have wchar_t available here, but in the GNU C Library
Mark Wielaard 3a21fd4
+// wchar_t is always 32 bits wide.
Mark Wielaard 3a21fd4
+
Mark Wielaard 3a21fd4
+#define WCSCPY(soname, fnname) \
Mark Wielaard 3a21fd4
+   Int* VG_REPLACE_FUNCTION_EZU(20390,soname,fnname) \
Mark Wielaard 3a21fd4
+      ( Int* dst, const Int* src ); \
Mark Wielaard 3a21fd4
+   Int* VG_REPLACE_FUNCTION_EZU(20390,soname,fnname) \
Mark Wielaard 3a21fd4
+      ( Int* dst, const Int* src ) \
Mark Wielaard 3a21fd4
+   { \
Mark Wielaard 3a21fd4
+      const Int* src_orig = src; \
Mark Wielaard 3a21fd4
+            Int* dst_orig = dst; \
Mark Wielaard 3a21fd4
+      \
Mark Wielaard 3a21fd4
+      while (*src) *dst++ = *src++; \
Mark Wielaard 3a21fd4
+      *dst = 0; \
Mark Wielaard 3a21fd4
+      \
Mark Wielaard 3a21fd4
+      /* This checks for overlap after copying, unavoidable without */ \
Mark Wielaard 3a21fd4
+      /* pre-counting length... should be ok */ \
Mark Wielaard 3a21fd4
+      if (is_overlap(dst_orig,  \
Mark Wielaard 3a21fd4
+                     src_orig,  \
Mark Wielaard 3a21fd4
+                     (Addr)dst-(Addr)dst_orig+1, \
Mark Wielaard 3a21fd4
+                     (Addr)src-(Addr)src_orig+1)) \
Mark Wielaard 3a21fd4
+         RECORD_OVERLAP_ERROR("wcscpy", dst_orig, src_orig, 0); \
Mark Wielaard 3a21fd4
+      \
Mark Wielaard 3a21fd4
+      return dst_orig; \
Mark Wielaard 3a21fd4
+   }
Mark Wielaard 3a21fd4
+
Mark Wielaard 3a21fd4
+#if defined(VGO_linux)
Mark Wielaard 3a21fd4
+ WCSCPY(VG_Z_LIBC_SONAME, wcscpy)
Mark Wielaard 3a21fd4
+#endif
Mark Wielaard 3a21fd4
+
Mark Wielaard 3a21fd4
+
Mark Wielaard 3a21fd4
+/*---------------------- wcschr ----------------------*/
Mark Wielaard 3a21fd4
+
Mark Wielaard 3a21fd4
+// This is a wchar_t equivalent to strchr.  We don't
Mark Wielaard 3a21fd4
+// have wchar_t available here, but in the GNU C Library
Mark Wielaard 3a21fd4
+// wchar_t is always 32 bits wide.
Mark Wielaard 3a21fd4
+
Mark Wielaard 3a21fd4
+#define WCSCHR(soname, fnname) \
Mark Wielaard 3a21fd4
+   Int* VG_REPLACE_FUNCTION_EZU(20400,soname,fnname) ( const Int* s, Int c ); \
Mark Wielaard 3a21fd4
+   Int* VG_REPLACE_FUNCTION_EZU(20400,soname,fnname) ( const Int* s, Int c ) \
Mark Wielaard 3a21fd4
+   { \
Mark Wielaard 3a21fd4
+      Int* p  = (Int*)s; \
Mark Wielaard 3a21fd4
+      while (True) { \
Mark Wielaard 3a21fd4
+         if (*p == c) return p; \
Mark Wielaard 3a21fd4
+         if (*p == 0) return NULL; \
Mark Wielaard 3a21fd4
+         p++; \
Mark Wielaard 3a21fd4
+      } \
Mark Wielaard 3a21fd4
+   }
Mark Wielaard 3a21fd4
+
Mark Wielaard 3a21fd4
+#if defined(VGO_linux)
Mark Wielaard 3a21fd4
+ WCSCHR(VG_Z_LIBC_SONAME,          wcschr)
Mark Wielaard 3a21fd4
+#endif
Mark Wielaard 3a21fd4
+/*---------------------- wcsrchr ----------------------*/
Mark Wielaard 3a21fd4
+
Mark Wielaard 3a21fd4
+// This is a wchar_t equivalent to strrchr.  We don't
Mark Wielaard 3a21fd4
+// have wchar_t available here, but in the GNU C Library
Mark Wielaard 3a21fd4
+// wchar_t is always 32 bits wide.
Mark Wielaard 3a21fd4
+
Mark Wielaard 3a21fd4
+#define WCSRCHR(soname, fnname) \
Mark Wielaard 3a21fd4
+   Int* VG_REPLACE_FUNCTION_EZU(20410,soname,fnname)( const Int* s, Int c ); \
Mark Wielaard 3a21fd4
+   Int* VG_REPLACE_FUNCTION_EZU(20410,soname,fnname)( const Int* s, Int c ) \
Mark Wielaard 3a21fd4
+   { \
Mark Wielaard 3a21fd4
+      Int* p    = (Int*) s; \
Mark Wielaard 3a21fd4
+      Int* last = NULL; \
Mark Wielaard 3a21fd4
+      while (True) { \
Mark Wielaard 3a21fd4
+         if (*p == c) last = p; \
Mark Wielaard 3a21fd4
+         if (*p == 0) return last; \
Mark Wielaard 3a21fd4
+         p++; \
Mark Wielaard 3a21fd4
+      } \
Mark Wielaard 3a21fd4
+   }
Mark Wielaard 3a21fd4
+
Mark Wielaard 3a21fd4
+#if defined(VGO_linux)
Mark Wielaard 3a21fd4
+ WCSRCHR(VG_Z_LIBC_SONAME, wcsrchr)
Mark Wielaard 3a21fd4
+#endif
Mark Wielaard 3a21fd4
+
Mark Wielaard 3a21fd4
 /*------------------------------------------------------------*/
Mark Wielaard 3a21fd4
 /*--- Improve definedness checking of process environment  ---*/
Mark Wielaard 3a21fd4
 /*------------------------------------------------------------*/
Mark Wielaard 3a21fd4
Index: valgrind/memcheck/tests/Makefile.am
Mark Wielaard 3a21fd4
===================================================================
Mark Wielaard 3a21fd4
--- valgrind/memcheck/tests/Makefile.am	(revision 13016)
Mark Wielaard 3a21fd4
+++ valgrind/memcheck/tests/Makefile.am	(working copy)
Mark Wielaard 3a21fd4
@@ -216,6 +217,7 @@
Mark Wielaard 3a21fd4
 	vcpu_fbench.stdout.exp vcpu_fbench.stderr.exp vcpu_fbench.vgtest \
Mark Wielaard 3a21fd4
 	vcpu_fnfns.stdout.exp vcpu_fnfns.stdout.exp-glibc28-amd64 \
Mark Wielaard 3a21fd4
 	vcpu_fnfns.stdout.exp-darwin vcpu_fnfns.stderr.exp vcpu_fnfns.vgtest \
Mark Wielaard 3a21fd4
+	wcs.vgtest wcs.stderr.exp \
Mark Wielaard 3a21fd4
 	wrap1.vgtest wrap1.stdout.exp wrap1.stderr.exp \
Mark Wielaard 3a21fd4
 	wrap2.vgtest wrap2.stdout.exp wrap2.stderr.exp \
Mark Wielaard 3a21fd4
 	wrap3.vgtest wrap3.stdout.exp wrap3.stderr.exp \
Mark Wielaard 3a21fd4
@@ -292,6 +294,7 @@
Mark Wielaard 3a21fd4
 	varinfo1 varinfo2 varinfo3 varinfo4 \
Mark Wielaard 3a21fd4
 	varinfo5 varinfo5so.so varinfo6 \
Mark Wielaard 3a21fd4
 	vcpu_fbench vcpu_fnfns \
Mark Wielaard 3a21fd4
+	wcs \
Mark Wielaard 3a21fd4
 	xml1 \
Mark Wielaard 3a21fd4
 	wrap1 wrap2 wrap3 wrap4 wrap5 wrap6 wrap7 wrap7so.so wrap8 \
Mark Wielaard 3a21fd4
 	writev1
Mark Wielaard 3a21fd4
Index: valgrind/memcheck/tests/wcs.c
Mark Wielaard 3a21fd4
===================================================================
Mark Wielaard 3a21fd4
--- valgrind/memcheck/tests/wcs.c	(revision 0)
Mark Wielaard 3a21fd4
+++ valgrind/memcheck/tests/wcs.c	(working copy)
Mark Wielaard 3a21fd4
@@ -0,0 +1,29 @@
Mark Wielaard 3a21fd4
+// Uses various wchar_t * functions that have hand written SSE assembly
Mark Wielaard 3a21fd4
+// implementations in glibc. wcslen, wcscpy, wcscmp, wcsrchr, wcschr.
Mark Wielaard 3a21fd4
+
Mark Wielaard 3a21fd4
+#include <stdio.h>
Mark Wielaard 3a21fd4
+#include <stdlib.h>
Mark Wielaard 3a21fd4
+#include <wchar.h>
Mark Wielaard 3a21fd4
+
Mark Wielaard 3a21fd4
+int main(int argc, char **argv)
Mark Wielaard 3a21fd4
+{
Mark Wielaard 3a21fd4
+  wchar_t a[] = L"The spazzy orange tiger jumped over the tawny jaguar.";
Mark Wielaard 3a21fd4
+  wchar_t *b, *c;
Mark Wielaard 3a21fd4
+  wchar_t *d, *e;
Mark Wielaard 3a21fd4
+
Mark Wielaard 3a21fd4
+  size_t l = wcslen (a);
Mark Wielaard 3a21fd4
+  fprintf (stderr, "wcslen: %zd\n", l); // wcslen: 53
Mark Wielaard 3a21fd4
+
Mark Wielaard 3a21fd4
+  b = (wchar_t *) malloc((l + 1) * sizeof (wchar_t));
Mark Wielaard 3a21fd4
+  c = wcscpy (b, a);
Mark Wielaard 3a21fd4
+
Mark Wielaard 3a21fd4
+  fprintf (stderr, "wcscmp equal: %d\n", wcscmp (a, b)); // wcscmp equal: 0
Mark Wielaard 3a21fd4
+
Mark Wielaard 3a21fd4
+  d = wcsrchr (a, L'd');
Mark Wielaard 3a21fd4
+  e = wcschr (a, L'd');
Mark Wielaard 3a21fd4
+
Mark Wielaard 3a21fd4
+  fprintf (stderr, "wcsrchr == wcschr: %d\n", d == e); // wcsrchr == wcschr: 1
Mark Wielaard 3a21fd4
+
Mark Wielaard 3a21fd4
+  free (c); // b == c
Mark Wielaard 3a21fd4
+  return 0;
Mark Wielaard 3a21fd4
+}
Mark Wielaard 3a21fd4
Index: valgrind/memcheck/tests/wcs.stderr.exp
Mark Wielaard 3a21fd4
===================================================================
Mark Wielaard 3a21fd4
--- valgrind/memcheck/tests/wcs.stderr.exp	(revision 0)
Mark Wielaard 3a21fd4
+++ valgrind/memcheck/tests/wcs.stderr.exp	(working copy)
Mark Wielaard 3a21fd4
@@ -0,0 +1,3 @@
Mark Wielaard 3a21fd4
+wcslen: 53
Mark Wielaard 3a21fd4
+wcscmp equal: 0
Mark Wielaard 3a21fd4
+wcsrchr == wcschr: 1
Mark Wielaard 3a21fd4
Index: valgrind/memcheck/tests/wcs.vgtest
Mark Wielaard 3a21fd4
===================================================================
Mark Wielaard 3a21fd4
--- valgrind/memcheck/tests/wcs.vgtest	(revision 0)
Mark Wielaard 3a21fd4
+++ valgrind/memcheck/tests/wcs.vgtest	(working copy)
Mark Wielaard 3a21fd4
@@ -0,0 +1,2 @@
Mark Wielaard 3a21fd4
+prog: wcs
Mark Wielaard 3a21fd4
+vgopts: -q
Mark Wielaard 3a21fd4
--- valgrind-3.8.1/memcheck/tests/Makefile.in.orig	2012-10-04 22:27:31.879093431 +0200
Mark Wielaard 3a21fd4
+++ valgrind-3.8.1/memcheck/tests/Makefile.in	2012-10-04 22:28:55.381301338 +0200
Mark Wielaard 3a21fd4
@@ -114,7 +114,7 @@
Mark Wielaard 3a21fd4
 	unit_oset$(EXEEXT) varinfo1$(EXEEXT) varinfo2$(EXEEXT) \
Mark Wielaard 3a21fd4
 	varinfo3$(EXEEXT) varinfo4$(EXEEXT) varinfo5$(EXEEXT) \
Mark Wielaard 3a21fd4
 	varinfo5so.so$(EXEEXT) varinfo6$(EXEEXT) vcpu_fbench$(EXEEXT) \
Mark Wielaard 3a21fd4
-	vcpu_fnfns$(EXEEXT) xml1$(EXEEXT) wrap1$(EXEEXT) \
Mark Wielaard 3a21fd4
+	vcpu_fnfns$(EXEEXT) wcs$(EXEEXT) xml1$(EXEEXT) wrap1$(EXEEXT) \
Mark Wielaard 3a21fd4
 	wrap2$(EXEEXT) wrap3$(EXEEXT) wrap4$(EXEEXT) wrap5$(EXEEXT) \
Mark Wielaard 3a21fd4
 	wrap6$(EXEEXT) wrap7$(EXEEXT) wrap7so.so$(EXEEXT) \
Mark Wielaard 3a21fd4
 	wrap8$(EXEEXT) writev1$(EXEEXT) $(am__EXEEXT_1)
Mark Wielaard 3a21fd4
@@ -530,6 +530,9 @@
Mark Wielaard 3a21fd4
 vcpu_fnfns_DEPENDENCIES =
Mark Wielaard 3a21fd4
 vcpu_fnfns_LINK = $(CCLD) $(vcpu_fnfns_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
Mark Wielaard 3a21fd4
 	$(LDFLAGS) -o $@
Mark Wielaard 3a21fd4
+wcs_SOURCES = wcs.c
Mark Wielaard 3a21fd4
+wcs_OBJECTS = wcs.$(OBJEXT)
Mark Wielaard 3a21fd4
+wcs_LDADD = $(LDADD)
Mark Wielaard 3a21fd4
 wrap1_SOURCES = wrap1.c
Mark Wielaard 3a21fd4
 wrap1_OBJECTS = wrap1.$(OBJEXT)
Mark Wielaard 3a21fd4
 wrap1_LDADD = $(LDADD)
Mark Wielaard 3a21fd4
@@ -610,9 +613,9 @@
Mark Wielaard 3a21fd4
 	suppfree.c test-plo.c trivialleak.c unit_libcbase.c \
Mark Wielaard 3a21fd4
 	unit_oset.c varinfo1.c varinfo2.c varinfo3.c varinfo4.c \
Mark Wielaard 3a21fd4
 	$(varinfo5_SOURCES) $(varinfo5so_so_SOURCES) varinfo6.c \
Mark Wielaard 3a21fd4
-	vcpu_fbench.c vcpu_fnfns.c wrap1.c wrap2.c wrap3.c wrap4.c \
Mark Wielaard 3a21fd4
-	wrap5.c wrap6.c $(wrap7_SOURCES) $(wrap7so_so_SOURCES) wrap8.c \
Mark Wielaard 3a21fd4
-	writev1.c xml1.c
Mark Wielaard 3a21fd4
+	vcpu_fbench.c vcpu_fnfns.c wcs.c wrap1.c wrap2.c wrap3.c \
Mark Wielaard 3a21fd4
+	wrap4.c wrap5.c wrap6.c $(wrap7_SOURCES) $(wrap7so_so_SOURCES) \
Mark Wielaard 3a21fd4
+	wrap8.c writev1.c xml1.c
Mark Wielaard 3a21fd4
 DIST_SOURCES = accounting.c addressable.c atomic_incs.c badaddrvalue.c \
Mark Wielaard 3a21fd4
 	badfree.c badjump.c badjump2.c badloop.c badpoll.c badrw.c \
Mark Wielaard 3a21fd4
 	big_blocks_freed_list.c brk2.c buflen_check.c bug287260.c \
Mark Wielaard 3a21fd4
@@ -641,9 +644,9 @@
Mark Wielaard 3a21fd4
 	suppfree.c test-plo.c trivialleak.c unit_libcbase.c \
Mark Wielaard 3a21fd4
 	unit_oset.c varinfo1.c varinfo2.c varinfo3.c varinfo4.c \
Mark Wielaard 3a21fd4
 	$(varinfo5_SOURCES) $(varinfo5so_so_SOURCES) varinfo6.c \
Mark Wielaard 3a21fd4
-	vcpu_fbench.c vcpu_fnfns.c wrap1.c wrap2.c wrap3.c wrap4.c \
Mark Wielaard 3a21fd4
-	wrap5.c wrap6.c $(wrap7_SOURCES) $(wrap7so_so_SOURCES) wrap8.c \
Mark Wielaard 3a21fd4
-	writev1.c xml1.c
Mark Wielaard 3a21fd4
+	vcpu_fbench.c vcpu_fnfns.c wcs.c wrap1.c wrap2.c wrap3.c \
Mark Wielaard 3a21fd4
+	wrap4.c wrap5.c wrap6.c $(wrap7_SOURCES) $(wrap7so_so_SOURCES) \
Mark Wielaard 3a21fd4
+	wrap8.c writev1.c xml1.c
Mark Wielaard 3a21fd4
 RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \
Mark Wielaard 3a21fd4
 	html-recursive info-recursive install-data-recursive \
Mark Wielaard 3a21fd4
 	install-dvi-recursive install-exec-recursive \
Mark Wielaard 3a21fd4
@@ -1142,6 +1145,7 @@
Mark Wielaard 3a21fd4
 	vcpu_fbench.stdout.exp vcpu_fbench.stderr.exp vcpu_fbench.vgtest \
Mark Wielaard 3a21fd4
 	vcpu_fnfns.stdout.exp vcpu_fnfns.stdout.exp-glibc28-amd64 \
Mark Wielaard 3a21fd4
 	vcpu_fnfns.stdout.exp-darwin vcpu_fnfns.stderr.exp vcpu_fnfns.vgtest \
Mark Wielaard 3a21fd4
+	wcs.vgtest wcs.stderr.exp \
Mark Wielaard 3a21fd4
 	wrap1.vgtest wrap1.stdout.exp wrap1.stderr.exp \
Mark Wielaard 3a21fd4
 	wrap2.vgtest wrap2.stdout.exp wrap2.stderr.exp \
Mark Wielaard 3a21fd4
 	wrap3.vgtest wrap3.stdout.exp wrap3.stderr.exp \
Mark Wielaard 3a21fd4
@@ -1629,6 +1633,9 @@
Mark Wielaard 3a21fd4
 vcpu_fnfns$(EXEEXT): $(vcpu_fnfns_OBJECTS) $(vcpu_fnfns_DEPENDENCIES) 
Mark Wielaard 3a21fd4
 	@rm -f vcpu_fnfns$(EXEEXT)
Mark Wielaard 3a21fd4
 	$(vcpu_fnfns_LINK) $(vcpu_fnfns_OBJECTS) $(vcpu_fnfns_LDADD) $(LIBS)
Mark Wielaard 3a21fd4
+wcs$(EXEEXT): $(wcs_OBJECTS) $(wcs_DEPENDENCIES) 
Mark Wielaard 3a21fd4
+	@rm -f wcs$(EXEEXT)
Mark Wielaard 3a21fd4
+	$(LINK) $(wcs_OBJECTS) $(wcs_LDADD) $(LIBS)
Mark Wielaard 3a21fd4
 wrap1$(EXEEXT): $(wrap1_OBJECTS) $(wrap1_DEPENDENCIES) 
Mark Wielaard 3a21fd4
 	@rm -f wrap1$(EXEEXT)
Mark Wielaard 3a21fd4
 	$(LINK) $(wrap1_OBJECTS) $(wrap1_LDADD) $(LIBS)
Mark Wielaard 3a21fd4
@@ -1784,6 +1791,7 @@
Mark Wielaard 3a21fd4
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/varinfo6-varinfo6.Po@am__quote@
Mark Wielaard 3a21fd4
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/vcpu_fbench-vcpu_fbench.Po@am__quote@
Mark Wielaard 3a21fd4
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/vcpu_fnfns-vcpu_fnfns.Po@am__quote@
Mark Wielaard 3a21fd4
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/wcs.Po@am__quote@
Mark Wielaard 3a21fd4
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/wrap1.Po@am__quote@
Mark Wielaard 3a21fd4
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/wrap2.Po@am__quote@
Mark Wielaard 3a21fd4
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/wrap3.Po@am__quote@