I have been struggling to bring up 2.6.8-rc2 on an Au1100 processor. I
am using gcc 3.4.1 which seems to the be source of most of the issues
that I have been having.
Here is the last issue:
- At boot time, I was encountering a fault in slab.c -- ac_data
was returning a NULL pointer. But when I put in lots of printk's
the problem disappeared. Hmmm.. sound like an optimization
issue. Has anyone else seen this?
- So I tried lowering the optimization to -O1 by editting the top-
level Makefile. Now, to my surprise, I can no longer link the
kernel. I get:
"fs/built-in.o(.text+0x3a0c4): In function `parse_extended':
: undefined reference to `bad_unaligned_access_length'"
This repeats several times.
I grep'ped through the kernel. I see that bad_unaligned_access_length()
is externed in include/asm-mips/unaligned.h. It is also used in the
default: case of several inline functions in that same file. It is not
referenced or defined anywhere else in the kernel.
My hunch is that at -O2 the calls to bad_unaligned_access_length() were
optimized away and all is well. But at -O1 they are not.
Gregory Nutt <email@example.com>