summaryrefslogtreecommitdiff
path: root/src/helper/replacements.h
diff options
context:
space:
mode:
authormifi <mifi@b42882b7-edfa-0310-969c-e2dbd0fdcd60>2007-12-14 19:08:03 +0000
committermifi <mifi@b42882b7-edfa-0310-969c-e2dbd0fdcd60>2007-12-14 19:08:03 +0000
commit05abd25ddc6dd0a9a41c9be8a3dee93f07a4c911 (patch)
treeafb2d8d39487405c4a1a0911e554ae2c37f1d9a0 /src/helper/replacements.h
parent900c70f8e8e746bd402cd9a65e378451be627edc (diff)
downloadopenocd+libswd-05abd25ddc6dd0a9a41c9be8a3dee93f07a4c911.tar.gz
openocd+libswd-05abd25ddc6dd0a9a41c9be8a3dee93f07a4c911.tar.bz2
openocd+libswd-05abd25ddc6dd0a9a41c9be8a3dee93f07a4c911.tar.xz
openocd+libswd-05abd25ddc6dd0a9a41c9be8a3dee93f07a4c911.zip
git-svn-id: svn://svn.berlios.de/openocd/trunk@228 b42882b7-edfa-0310-969c-e2dbd0fdcd60
Diffstat (limited to 'src/helper/replacements.h')
-rw-r--r--src/helper/replacements.h34
1 files changed, 33 insertions, 1 deletions
diff --git a/src/helper/replacements.h b/src/helper/replacements.h
index 99aaba43..7d48e3c6 100644
--- a/src/helper/replacements.h
+++ b/src/helper/replacements.h
@@ -67,7 +67,39 @@ struct timezone {
};
extern int gettimeofday(struct timeval *tv, struct timezone *tz);
-#endif
+#endif
+
+/**** clear_malloc & fill_malloc ****/
+void *clear_malloc(size_t size);
+void *fill_malloc(size_t size);
+
+/*
+ * Now you have 3 ways for the malloc function:
+ *
+ * 1. Do not change anything, use the original malloc
+ *
+ * 2. Use the clear_malloc function instead of the original malloc.
+ * In this case you must use the following define:
+ * #define malloc((_a)) clear_malloc((_a))
+ *
+ * 3. Use the fill_malloc function instead of the original malloc.
+ * In this case you must use the following define:
+ * #define malloc((_a)) fill_malloc((_a))
+ *
+ * We have figured out that there could exist some malloc problems
+ * where variables are using without to be initialise. To find this
+ * places, use the fill_malloc function. With this function we want
+ * to initialize memory to some known bad state. This is quite easily
+ * spotted in the debugger and will trap to an invalid address.
+ *
+ * clear_malloc can be used if you want to set not initialise
+ * variable to 0.
+ *
+ * If you do not want to change the malloc function, to not use one of
+ * the following macros. Which is the default way.
+ */
+//#define malloc((_a)) clear_malloc((_a))
+//#define malloc((_a)) fill_malloc((_a))
/* GNU extensions to the C library that may be missing on some systems */
#ifndef HAVE_STRNDUP