hana-dce.patch
changeset 24 02787e1dfd96
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/hana-dce.patch	Wed Jul 04 17:06:26 2012 +0900
@@ -0,0 +1,83 @@
+diff -r 42feac0c6693 model/dce-string.cc
+--- a/model/dce-string.cc	Fri Jun 29 18:26:32 2012 +0900
++++ b/model/dce-string.cc	Tue Jul 03 12:09:55 2012 +0900
+@@ -32,3 +32,11 @@
+   return strrchr (s, c);
+ }
+ 
++char *dce___memcpy_chk (char *__restrict __dest,
++                        const char *__restrict __src,
++                        size_t __len,
++                        size_t __destlen)
++{
++  /// \todo Do actual checking
++  memcpy (__dest, __src, __len); 
++}
+diff -r 42feac0c6693 model/dce-string.h
+--- a/model/dce-string.h	Fri Jun 29 18:26:32 2012 +0900
++++ b/model/dce-string.h	Tue Jul 03 12:09:55 2012 +0900
+@@ -13,6 +13,10 @@
+ 						const char *__restrict __src,
+ 						size_t __destlen);
+ char *dce_strrchr(char *s, int c);
++char *dce___memcpy_chk (char *__restrict __dest,
++                        const char *__restrict __src,
++                        size_t __len,
++                        size_t __destlen);
+ 
+ #ifdef __cplusplus
+ }
+diff -r 42feac0c6693 model/libc-dce.cc
+--- a/model/libc-dce.cc	Fri Jun 29 18:26:32 2012 +0900
++++ b/model/libc-dce.cc	Tue Jul 03 12:09:55 2012 +0900
+@@ -107,6 +107,9 @@
+ extern char *__strcpy_chk (char *__restrict __dest,
+                const char *__restrict __src,
+                size_t __destlen);
++extern void *__memcpy_chk (void *__restrict __dest,
++                           const void *__restrict __src, size_t __len,
++                           size_t __destlen);
+ // from glibc's stdio.h
+ extern int __sprintf_chk (char *, int, size_t, const char *, ...) __THROW;
+ extern int __snprintf_chk (char *, size_t, int, size_t, const char *, ...)
+diff -r 42feac0c6693 model/libc-ns3.h
+--- a/model/libc-ns3.h	Fri Jun 29 18:26:32 2012 +0900
++++ b/model/libc-ns3.h	Tue Jul 03 12:09:55 2012 +0900
+@@ -109,6 +109,7 @@
+ NATIVE (strcoll)
+ NATIVE (memset)
+ NATIVE (memcpy)
++DCE (__memcpy_chk)
+ NATIVE (bcopy)
+ NATIVE (memcmp)
+ NATIVE (memmove)
+diff -r 42feac0c6693 model/linux-socket-fd.cc
+--- a/model/linux-socket-fd.cc	Fri Jun 29 18:26:32 2012 +0900
++++ b/model/linux-socket-fd.cc	Tue Jul 03 12:09:55 2012 +0900
+@@ -178,8 +178,9 @@
+       break;
+     default:
+       //XXX commands missing
+-      NS_FATAL_ERROR ("fcntl not implemented on socket");
+-      return -1;
++      // NS_FATAL_ERROR ("fcntl not implemented on socket");
++      // return -1;
++      return 0;
+     }
+ }
+ int 
+diff -r 42feac0c6693 model/local-socket-fd.cc
+--- a/model/local-socket-fd.cc	Fri Jun 29 18:26:32 2012 +0900
++++ b/model/local-socket-fd.cc	Tue Jul 03 12:09:55 2012 +0900
+@@ -202,8 +202,9 @@
+       break;
+     default:
+       //XXX commands missing
+-      NS_FATAL_ERROR ("fcntl not implemented on socket");
+-      return -1;
++      // NS_FATAL_ERROR ("fcntl not implemented on socket");
++      // return -1;
++      return 0;
+     }
+ }
+ int