ARM: pxa/corgi: armv5te kernel 4.12 fails to decompress compiled with gcc7

Andrea Adami andrea.adami at gmail.com
Tue Oct 17 01:18:57 PDT 2017


On Tue, Oct 17, 2017 at 10:10 AM, Petr Cvek <petrcvekcz at gmail.com> wrote:
> Dne 17.10.2017 v 10:02 Andrea Adami napsal(a):
>>
>> <cut>
>>
>> Hi,
>
> Hi
>
>
>>
>> I am trying to debug further but I don't have any output on serial
>> console...
>> I enabled:
>>
>> CONFIG_DEBUG_LL=y
>> CONFIG_DEBUG_PXA_UART1=y
>> # CONFIG_DEBUG_ICEDCC is not set
>> # CONFIG_DEBUG_SEMIHOSTING is not set
>> # CONFIG_DEBUG_LL_UART_8250 is not set
>> # CONFIG_DEBUG_LL_UART_PL01X is not set
>> CONFIG_DEBUG_LL_INCLUDE="debug/8250.S"
>> CONFIG_DEBUG_UART_8250=y
>> CONFIG_DEBUG_UART_PHYS=0x40100000
>> CONFIG_DEBUG_UART_VIRT=0xf6200000
>> CONFIG_DEBUG_UART_8250_SHIFT=2
>> # CONFIG_DEBUG_UART_8250_WORD is not set
>> # CONFIG_DEBUG_UART_8250_PALMCHIP is not set
>> # CONFIG_DEBUG_UART_8250_FLOW_CONTROL is not set
>> CONFIG_UNCOMPRESS_INCLUDE="mach/uncompress.h"
>> CONFIG_EARLY_PRINTK=y
>>
>> then I added #define DEBUG  to both head.S and decompress.c under
>> arm/boot/compressed.
>> I added earlyprintk to the cmdline args used by the kexec bootloader but
>> nothing
>>
>> That kernel does boot silently, just 'Uncompresing..' then
>> 'XZ-compressed data is corrupt -- System halted'
>>
>> I do have output from the Angel bootloader at 9600 and by the kernel
>> at 115200 so the uart is working...
>> Any hint?
>
>
> If it is a problem with gcc (as Russell said before), there is no way you
> can fix it in the kernel. Only compiling it with an older gcc version can
> help.
>
> Maybe you can try to compile it for armv4 code.
>
> best regards,
> Petr

Hi,
yes, out of curtiosity I'll test on collie/sa1100 later.

As far as I can see, the disassembled code is indeed for armv5 (there
are 'bx lr') but apparently there are no misalignments.
I could only disassemble the gcc6 and gcc7 versions and upload for
competent eyes...

https://github.com/andrea-adami/gcc7-kernel-debug/tree/master/disassembled

Cheers
Andrea



More information about the linux-arm-kernel mailing list