Linux 2.6.21.1 early putstr() fails on ARM

From: Mattias Rönnblom
Date: Mon May 14 2007 - 13:52:22 EST


Hi all.

I just tried updating Linux 2.6.16 to 2.6.21.1 on our IXP420-based
board, but I've run into some trouble. Except for some modifications
to the PCI setup code, the tree is unmodified. GCC is 3.4.3 and
Binutils 2.15.94.

During the decompression stage, the kernel "Uncompressing Linux..."
printout is garbled. When digging into this I found that the string
passed to putstr() is not "Uncompressing Linux...", but rather
something much longer containing a lot of unprintable characters.
putc() as such works fine, and putting "putc('A');" into the
decompress_kernel function (arch/arm/boot/compressed/misc.c), for
example, prints a nice "A" on the console.

>From what limited experience I have of these sorts of things I came to
the conclusion that maybe the linking wasn't done correctly. But
replacing the previously mentioned toolchain with CodeSourcery's
pre-built GCC 4.2.0 and Binutils 2.17 didn't make any difference.

Besides our old (and working, on 2.6.16) .config, I've been trying all
kinds of configs (including ixp4xx_defconfig) without success.

What might I be doing wrong? Any help is appreciated.

Regards,
Mattias

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/