summaryrefslogtreecommitdiff
path: root/sys/gnu
diff options
context:
space:
mode:
authorRuslan Ermilov <ru@FreeBSD.org>2005-12-04 09:57:09 +0000
committerRuslan Ermilov <ru@FreeBSD.org>2005-12-04 09:57:09 +0000
commitb2be20597ca0f18202f9d96f4386fbb56bbde2f8 (patch)
treed5ac5b0359101e0300dd8e76572b08f22f1fb9ea /sys/gnu
parent44dbe53f04929682ffe50ef1d391a49294dc1918 (diff)
Notes
Diffstat (limited to 'sys/gnu')
-rw-r--r--sys/gnu/fs/reiserfs/reiserfs_fs.h9
1 files changed, 9 insertions, 0 deletions
diff --git a/sys/gnu/fs/reiserfs/reiserfs_fs.h b/sys/gnu/fs/reiserfs/reiserfs_fs.h
index 1046f29971e2..691f612a7305 100644
--- a/sys/gnu/fs/reiserfs/reiserfs_fs.h
+++ b/sys/gnu/fs/reiserfs/reiserfs_fs.h
@@ -1015,8 +1015,17 @@ struct path {
#define pos_in_item(path) ((path)->pos_in_item)
+#ifdef __amd64__
+/* To workaround a bug in gcc. He generates a call to memset() which
+ * is a inline function; this causes a compile time error. */
+#define INITIALIZE_PATH(var) \
+ struct path var; \
+ bzero(&var, sizeof(var)); \
+ var.path_length = ILLEGAL_PATH_ELEMENT_OFFSET;
+#else
#define INITIALIZE_PATH(var) \
struct path var = { ILLEGAL_PATH_ELEMENT_OFFSET, }
+#endif
/* Get path element by path and path position. */
#define PATH_OFFSET_PELEMENT(p_s_path, n_offset) \