kernel doesn't boot on Arndale with Linaro GCC 4.8

Bug #1186218 reported by Fathi Boudra
28
This bug affects 3 people
Affects Status Importance Assigned to Milestone
Arndale
Fix Released
Undecided
Unassigned
Linaro GCC
Fix Released
Undecided
Unassigned
Linaro Toolchain Binaries
Fix Released
Undecided
Unassigned

Bug Description

The following build fails to boot with Linaro GCC 4.8 2013.04 and 2013.05 but works with Linaro GCC 4.7:
https://ci.linaro.org/jenkins/job/linux-preempt-rt/hwpack=arndale,label=kernel_cloud/22/consoleFull

Build script is available on:
https://git.linaro.org/gitweb?p=ci/job/linux-preempt-rt.git;a=blob;f=linux-preempt-rt.sh

Boot log:
U-Boot 2013.01.-rc1 (May 17 2013 - 04:35:26) for ARNDALE5250

CPU: Exynos5250@1000MHz

Board: for ARNDALE5250
I2C: ready
DRAM: 2 GiB
WARNING: Caches not enabled

Checking Boot Mode ... SDMMC
MMC: EXYNOS DWMMC: 0, EXYNOS DWMMC: 1, EXYNOS DWMMC: 2
In: serial
Out: serial
Err: serial
Net: No ethernet found.
(Re)start USB...
USB0: USB EHCI 1.00
scanning bus 0 for devices... 4 USB Device(s) found
       scanning usb for storage devices... 0 Storage Device(s) found
       scanning usb for ethernet devices... 1 Ethernet Device(s) found
Hit any key to stop autoboot: 0
reading uImage
4232952 bytes read
reading uInitrd
1881454 bytes read
reading board.dtb
16992 bytes read
## Booting kernel from Legacy Image at 40007000 ...
   Image Name: Linux
   Image Type: ARM Linux Kernel Image (uncompressed)
   Data Size: 4232888 Bytes = 4 MiB
   Load Address: 40008000
   Entry Point: 40008000
   Verifying Checksum ... OK
## Loading init Ramdisk from Legacy Image at 42000000 ...
   Image Name: initramfs
   Image Type: ARM Linux RAMDisk Image (uncompressed)
   Data Size: 1881390 Bytes = 1.8 MiB
   Load Address: 00000000
   Entry Point: 00000000
   Verifying Checksum ... OK
## Flattened Device Tree blob at 41f00000
   Booting using the fdt blob at 0x41f00000
   Loading Kernel Image ... OK
OK
   Using Device Tree in place at 41f00000, end 41f0725f

Starting kernel ...

Uncompressing Linux... done, booting the kernel.

Fathi Boudra (fboudra)
summary: - preempt_rt kernel doesn't boot on Arndale with Linaro GCC 4.8
+ kernel doesn't boot on Arndale with Linaro GCC 4.8
Revision history for this message
Bernhard Rosenkraenzer (berolinux) wrote :

Same with the Nexus 10 kernel from AOSP (also Exynos5), chances are the problem is in Exynos code (either in the code itself or in gcc miscompiling it).

Fathi Boudra (fboudra)
summary: - kernel doesn't boot on Arndale with Linaro GCC 4.8
+ kernel doesn't boot on Arndale/Nexus with Linaro GCC 4.8
Revision history for this message
Jürg Billeter (j-bitron) wrote : Re: kernel doesn't boot on Arndale/Nexus with Linaro GCC 4.8

This might be due to missing memset fixes in the kernel tree. They are in mainline 3.9 but not in 3.8.13, as far as I can tell.

commit 455bd4c430b0c0a361f38e8658a0d6cb469942b5
    ARM: 7668/1: fix memset-related crashes caused by recent GCC (4.7.2) optimizations
commit 418df63adac56841ef6b0f1fcf435bc64d4ed177
    ARM: 7670/1: fix the memset fix

Revision history for this message
Dirk Mueller (dmllr) wrote :

I can confirm that kernel 3.10 with GCC 4.8 works fine.

Revision history for this message
Bernhard Rosenkraenzer (berolinux) wrote : Re: kernel doesn't boot on Arndale/Nexus 10 with Linaro GCC 4.8

Cherry-picking the memset fixes into the Nexus 10 kernel does not fix the issue.

summary: - kernel doesn't boot on Arndale/Nexus with Linaro GCC 4.8
+ kernel doesn't boot on Arndale/Nexus 10 with Linaro GCC 4.8
Revision history for this message
Mark Brown (broonie) wrote :

Arndale is working well for me with Linaro GCC 4.8.1 on kernel v3.10 (LSK) and with -next.

Revision history for this message
Tushar Behera (tusharbehera) wrote :

Has anybody tried the LNG kernel with GCC 4.8.2 (2013.07 release)?

Seems to work for me[1].

[1] https://pastebin.linaro.org/view/08acba63

Revision history for this message
Gary S. Robertson (gary-robertson) wrote :

On 30 July these two patches were added to the LNG 3.8 kernels (both with and without preempt-rt support):

commit 455bd4c430b0c0a361f38e8658a0d6cb469942b5
    ARM: 7668/1: fix memset-related crashes caused by recent GCC (4.7.2) optimizations
commit 418df63adac56841ef6b0f1fcf435bc64d4ed177
    ARM: 7670/1: fix the memset fix

It was also confirmed at that time that the equivalent code was already present in the 3.10 kernels.

Not sure if subsequent testing by other parties has shown any difference in behavior. LNG kernel CI loop is (for the moment) no longer testing the 3.8 kernels as we have replaced them with 3.10 kernels in our daily build and test loop.

Revision history for this message
Mike Holmes (mike-holmes) wrote : Re: [Bug 1186218] Re: kernel doesn't boot on Arndale/Nexus 10 with Linaro GCC 4.8
Download full text (3.3 KiB)

Can we kick off a 3.8 build to get the current state confirmed, and get
back to them that it is/is not fixed.

Mike

On 12 August 2013 10:35, Gary S. Robertson <email address hidden>wrote:

> On 30 July these two patches were added to the LNG 3.8 kernels (both
> with and without preempt-rt support):
>
> commit 455bd4c430b0c0a361f38e8658a0d6cb469942b5
> ARM: 7668/1: fix memset-related crashes caused by recent GCC (4.7.2)
> optimizations
> commit 418df63adac56841ef6b0f1fcf435bc64d4ed177
> ARM: 7670/1: fix the memset fix
>
> It was also confirmed at that time that the equivalent code was already
> present in the 3.10 kernels.
>
> Not sure if subsequent testing by other parties has shown any difference
> in behavior. LNG kernel CI loop is (for the moment) no longer testing
> the 3.8 kernels as we have replaced them with 3.10 kernels in our daily
> build and test loop.
>
> --
> You received this bug notification because you are subscribed to the bug
> report.
> https://bugs.launchpad.net/bugs/1186218
>
> Title:
> kernel doesn't boot on Arndale/Nexus 10 with Linaro GCC 4.8
>
> Status in Arndale Support:
> New
> Status in Linaro GCC:
> New
> Status in Linaro Toolchain Binaries:
> New
>
> Bug description:
> The following build fails to boot with Linaro GCC 4.8 2013.04 and
> 2013.05 but works with Linaro GCC 4.7:
>
> https://ci.linaro.org/jenkins/job/linux-preempt-rt/hwpack=arndale,label=kernel_cloud/22/consoleFull
>
> Build script is available on:
>
> https://git.linaro.org/gitweb?p=ci/job/linux-preempt-rt.git;a=blob;f=linux-preempt-rt.sh
>
> Boot log:
> U-Boot 2013.01.-rc1 (May 17 2013 - 04:35:26) for ARNDALE5250
>
> CPU: Exynos5250@1000MHz
>
> Board: for ARNDALE5250
> I2C: ready
> DRAM: 2 GiB
> WARNING: Caches not enabled
>
> Checking Boot Mode ... SDMMC
> MMC: EXYNOS DWMMC: 0, EXYNOS DWMMC: 1, EXYNOS DWMMC: 2
> In: serial
> Out: serial
> Err: serial
> Net: No ethernet found.
> (Re)start USB...
> USB0: USB EHCI 1.00
> scanning bus 0 for devices... 4 USB Device(s) found
> scanning usb for storage devices... 0 Storage Device(s) found
> scanning usb for ethernet devices... 1 Ethernet Device(s) found
> Hit any key to stop autoboot: 0
> reading uImage
> 4232952 bytes read
> reading uInitrd
> 1881454 bytes read
> reading board.dtb
> 16992 bytes read
> ## Booting kernel from Legacy Image at 40007000 ...
> Image Name: Linux
> Image Type: ARM Linux Kernel Image (uncompressed)
> Data Size: 4232888 Bytes = 4 MiB
> Load Address: 40008000
> Entry Point: 40008000
> Verifying Checksum ... OK
> ## Loading init Ramdisk from Legacy Image at 42000000 ...
> Image Name: initramfs
> Image Type: ARM Linux RAMDisk Image (uncompressed)
> Data Size: 1881390 Bytes = 1.8 MiB
> Load Address: 00000000
> Entry Point: 00000000
> Verifying Checksum ... OK
> ## Flattened Device Tree blob at 41f00000
> Booting using the fdt blob at 0x41f00000
> Loading Kernel Image ... OK
> OK
> Using Device Tree in place at 41f00000, end 41f0725f
>
> Starting kernel ...
>
> Uncompressing...

Read more...

Revision history for this message
Fathi Boudra (fboudra) wrote :

Latest daily builds are working fine. Closing the bug.
If the issue is still reproducible on Nexus 10, please open a separate bug.
Thanks.

Changed in linaro-toolchain-binaries:
status: New → Fix Released
Changed in gcc-linaro:
status: New → Fix Released
Changed in arndale:
status: New → Fix Released
summary: - kernel doesn't boot on Arndale/Nexus 10 with Linaro GCC 4.8
+ kernel doesn't boot on Arndale with Linaro GCC 4.8
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.