diff options
author | David Howells <dhowells@redhat.com> | 2007-07-19 04:49:09 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@woody.linux-foundation.org> | 2007-07-19 13:04:50 -0400 |
commit | ea02e3dde3509ffa7fda7f8de9c8a366e03f7bbd (patch) | |
tree | 0c48aa948de8549a2b183c2ed3e5b338fa9730b7 | |
parent | 3abf7afd406866a84276d3ed04f4edf6070c9cb5 (diff) |
FRV: work around a possible compiler bug
Work around a possible bug in the FRV compiler.
What appears to be happening is that gcc resolves the
__builtin_constant_p() in kmalloc() to true, but then fails to reduce the
therefore constant conditions in the if-statements it guards to constant
results.
When compiling with -O2 or -Os, one single spurious error crops up in
cpuup_callback() in mm/slab.c. This can be avoided by making the memsize
variable const.
Signed-off-by: David Howells <dhowells@redhat.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
-rw-r--r-- | arch/frv/Makefile | 2 | ||||
-rw-r--r-- | mm/slab.c | 2 |
2 files changed, 2 insertions, 2 deletions
diff --git a/arch/frv/Makefile b/arch/frv/Makefile index 038e3a8457e0..9bf7345c5cc9 100644 --- a/arch/frv/Makefile +++ b/arch/frv/Makefile | |||
@@ -88,7 +88,7 @@ ASFLAGS += -mno-fdpic | |||
88 | # make sure the .S files get compiled with debug info | 88 | # make sure the .S files get compiled with debug info |
89 | # and disable optimisations that are unhelpful whilst debugging | 89 | # and disable optimisations that are unhelpful whilst debugging |
90 | ifdef CONFIG_DEBUG_INFO | 90 | ifdef CONFIG_DEBUG_INFO |
91 | CFLAGS += -O1 | 91 | #CFLAGS += -O1 |
92 | AFLAGS += -Wa,--gdwarf2 | 92 | AFLAGS += -Wa,--gdwarf2 |
93 | ASFLAGS += -Wa,--gdwarf2 | 93 | ASFLAGS += -Wa,--gdwarf2 |
94 | endif | 94 | endif |
@@ -1163,7 +1163,7 @@ static int __cpuinit cpuup_callback(struct notifier_block *nfb, | |||
1163 | struct kmem_cache *cachep; | 1163 | struct kmem_cache *cachep; |
1164 | struct kmem_list3 *l3 = NULL; | 1164 | struct kmem_list3 *l3 = NULL; |
1165 | int node = cpu_to_node(cpu); | 1165 | int node = cpu_to_node(cpu); |
1166 | int memsize = sizeof(struct kmem_list3); | 1166 | const int memsize = sizeof(struct kmem_list3); |
1167 | 1167 | ||
1168 | switch (action) { | 1168 | switch (action) { |
1169 | case CPU_LOCK_ACQUIRE: | 1169 | case CPU_LOCK_ACQUIRE: |