The workaround in reiserfs for a gcc bug in some ppc32 compilers does
not affect the ppc64 compiler. A quick test to see stack usage for both
options shows:
gcc -O1
reiserfs_delete_solid_item: 976
reiserfs_rename: 960
reiserfs_cut_from_item: 880
gcc -O2
reiserfs_rename: 1008
reiserfs_delete_solid_item: 976
reiserfs_cut_from_item: 896
So there is no reason to compile reiserfs using -O1 on ppc64.
Anton
--- 2.4.15-pre4/fs/reiserfs/Makefile Thu Nov 15 20:06:13 2001
+++ 2.4.15-pre4_work/fs/reiserfs/Makefile Thu Nov 15 20:05:26 2001
@@ -13,13 +13,13 @@
obj-m := $(O_TARGET)
-# gcc -O2 (the kernel default) is overaggressive on ppc when many inline
+# gcc -O2 (the kernel default) is overaggressive on ppc32 when many inline
# functions are used. This causes the compiler to advance the stack
# pointer out of the available stack space, corrupting kernel space,
-# and causing a panic. Since this behavior only affects ppc, this ifeq
+# and causing a panic. Since this behavior only affects ppc32, this ifeq
# will work around it. If any other architecture displays this behavior,
# add it here.
-ifeq ($(shell uname -m),ppc)
+ifeq ($(CONFIG_PPC32),y)
EXTRA_CFLAGS := -O1
endif
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/