On Fri, 2012-06-08 at 11:19 -0500, Rob Landley wrote: > On 06/07/2012 06:58 PM, shawn wrote: > > On Tue, 2012-06-05 at 20:22 -0500, Rob Landley wrote: > >> On 06/02/2012 11:39 AM, Shawn Landden wrote: > >>> This was already fixed once in this file, which until now, provided > >>> conflicting information. > >> > >> Acked-by: Rob Landley <rob@xxxxxxxxxxx> > >> > >> (Sorry for the delay, had to dig up an arm system to test it and 3.4 > >> broke the versatile board. Had to peel back three unrelated bug to > >> bisect the _two_ broken commits responsible....) > >> > >> Rob > > > > source is arch/arm/mm/alignment.c where it makes note of the move > > I build linux system images that boot under qemu (with native > development tools so I can compile and test stuff in the emulator). > > http://landley.net/aboriginal/bin > > The problem is the 3.4 kernel broke arm on the versatile board, first > because commit c334bc150524f833 added a NEEDS_RANDOM_HEADER_FILE > configuration option that it didn't stick on the versatile board (even > though it needs it). They replaced it with stub code to HIDE the fact > that a file needed it, and the result was I had a nonfunctional scsi > driver. Then commit 4d5fc58dbe34 deleted all the headers they thought > were unused (so adding the NEEDS_RANDOM_HEADER_FILE thing to the > versatile board in kconfig became a build break because the header it > tried to include had been deleted). > > The fix patch I cobbled together is attached, it just took me a while to > track it down because during the bisect I hit an unrelated serial bug, > that zapped console output so I couldn't see if it was mounting root or > not. And then trying to bisect _that_ I hit an unrelated pci build break > that prevented me from testing for the serial bug. > > So I had to track down the fix for the pci bug (commit ee5324ea33d) so I > could fix it while tracking down the fix for the serial bug (commit > c3d8b76f) so I could bisect the introduction of the versatile scsi bug I > was interested in, and then since that turned the dead driver into a > build break when applied to 3.4 I had to track down the build break. Well I havn't successfully booted 3.5 kernels yet on my arm Sheevaplug, and XZ kernel compression is completely borked, because of an inadvertent merge conflict. I posted a fix for the compiling part, but as I havn't been able to boot....... (even with gzip compression, however) > > I need to poke linux-kernel about this but my todo list runneth over and > usually by the time I bother them about this stuff somebody else has > already done it. *shrug* > > Anyway, did that now and tested it on a live system running under qemu. > The proc thing was in the place you said on 3.4, and not there in the > old place. :) :-) not just a "proc thing" a essential knob in confronting buggy, and/or unported code and it really should default to "fix" or "report+signal" (kill with SIGBUS), because silently ignoring errors (current behavior in user-space) is just NOT cool. > > Rob -- -Shawn Landden
>From 819c4dfc986278b3905bd43a9a4185f6aba90dab Mon Sep 17 00:00:00 2001 From: Shawn Landden <shawnlandden@xxxxxxxxx> Date: Wed, 30 May 2012 13:45:08 -0700 Subject: [PATCH] arm: add definition of strstr() to decompress.c MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit include/linux/dynamic_debug.h uses strstr from <linux/string.h> and is included via <linux/kernel.h> from lib/xz/xz_private.h when CONFIG_KERNEL_XZ=y. However arch/arm/boot/compressed/decompress.c defines _LINUX_STRING_H preventing the load of <linux/string.h> resulting in: include/linux/dynamic_debug.h:111:2: error: implicit declaration of function ‘strstr’ Define strstr in arch/arm/boot/compressed/decompress.c, providing the needed subset of <linux/string.h>. Signed-off-by: Shawn Landden <shawnlandden@xxxxxxxxx> --- arch/arm/boot/compressed/decompress.c | 1 + 1 file changed, 1 insertion(+) diff --git a/arch/arm/boot/compressed/decompress.c b/arch/arm/boot/compressed/decompress.c index f41b38c..cdc3cd4 100644 --- a/arch/arm/boot/compressed/decompress.c +++ b/arch/arm/boot/compressed/decompress.c @@ -47,6 +47,7 @@ extern void error(char *); #ifdef CONFIG_KERNEL_XZ #define memmove memmove #define memcpy memcpy +extern char * strstr(const char *, const char *); #include "../../../../lib/decompress_unxz.c" #endif -- 1.7.9.5