Oops. I wrote incorrectly. -O1 does work, but not -O, -O0, or no -O.
>1. Why can't I get the kernel to build if I use -O, -O1, or no -O
>except -O2) in the main Makefile CFLAGS? It fails during link. Virtually
>every symbol is undefined. I want to turn off optimizations so that I can
>read the disassembly easier. Also, I thought that optimizations might be
>causing the problem in #2 below. It builds fine when I use -O2.
>2. Why might ld be liking procedure address wrong (adding 0x00010000 to
>them)? When I assign a procedure address to a variable (for an indirect
>call), it gets it wrong. The funny thing is that in a small test program
>gets it right, but not when I do it in the kernel.