Ok, got it. However, the below patch also gives the attached kernel
panic. Also with adk revision
f8d0864c18907ea4e21d0657b34869cda66dd452
that does boot when using gcc 7...
---
linux-a2092141807514666a273971cc8fa9e80f14439f/arch/arm/Makefile.orig
2019-04-13 19:01:23.129152269 +0200
+++ linux-a2092141807514666a273971cc8fa9e80f14439f/arch/arm/Makefile
2019-04-13 19:03:51.038118795 +0200
@@ -29,6 +29,11 @@
# Never generate .eh_frame
KBUILD_CFLAGS += $(call cc-option,-fno-dwarf2-cfi-asm)
+# kernel always built with soft float, define it early so it
participates in
+# cc-option evaluation for arch and tune settings
+KBUILD_CFLAGS += -msoft-float
+
+
# This should work on most of the modern platforms
KBUILD_DEFCONFIG := multi_v7_defconfig
@@ -130,7 +135,7 @@
endif
# Need -Uarm for gcc < 3.x
-KBUILD_CFLAGS +=$(CFLAGS_ABI) $(CFLAGS_ISA) $(arch-y) $(tune-y)
$(call cc-option,-mshort-load-bytes,$(call
cc-option,-malignment-traps,)) -msoft-float -Uarm
+KBUILD_CFLAGS +=$(CFLAGS_ABI) $(CFLAGS_ISA) $(arch-y) $(tune-y)
$(call cc-option,-mshort-load-bytes,$(call
cc-option,-malignment-traps,)) -Uarm
KBUILD_AFLAGS +=$(CFLAGS_ABI) $(AFLAGS_ISA) $(arch-y) $(tune-y)
-include asm/unified.h -msoft-float
CHECKFLAGS += -D__arm__ -m32
On 11.04.19 21:04, lich000king wrote:
Hi
Sounds a lot like this:
https://www.spinics.net/lists/arm-kernel/msg712490.html
and the solution is there as well. But I don't know where to put this
flag in adk.
And I don't know how to fix this otherwise. Updating the kernel to
5.0.7, glibc to 2.29, mpfr to 4.0.2 and llvm to 7.0.1 did not help...
The patch below makes it build, but trying to boot gives a kernel
panic, so I guess this is not the right way.
Can anyone help?
Thanks
Oliver
a7e51dedd4/fix-arch.patch
---
linux-1026f584d33f27cf0101590a41d2d8a7e51dedd4/arch/arm/Makefile.orig
2019-04-09 18:02:25.564918359 +0200
+++ linux-1026f584d33f27cf0101590a41d2d8a7e51dedd4/arch/arm/Makefile
2019-04-09 18:13:01.159228340 +0200
@@ -64,7 +64,7 @@
# macro, but instead defines a whole series of macros which makes
# testing for a specific architecture or later rather impossible.
arch-$(CONFIG_CPU_32v7M) =-D__LINUX_ARM_ARCH__=7 -march=armv7-m
-Wa,-march=armv7-m
-arch-$(CONFIG_CPU_32v7) =-D__LINUX_ARM_ARCH__=7 $(call
cc-option,-march=armv7-a,-march=armv5t -Wa$(comma)-march=armv7-a)
+arch-$(CONFIG_CPU_32v7) =-D__LINUX_ARM_ARCH__=7
-march=armv7-a
arch-$(CONFIG_CPU_32v6) =-D__LINUX_ARM_ARCH__=6 $(call
cc-option,-march=armv6,-march=armv5t -Wa$(comma)-march=armv6)
# Only override the compiler option if ARMv6. The ARMv6K extensions are
# always available in ARMv7
On 07.04.19 19:18, lich000king wrote:
> Hi again
>
> It looks like this is a problem with gcc 8. The kernel won't build,
> neither with uglibc-ng nor with glibc selected. Also not with gcc
> version git.
>
> gcc 7 builds fine and boots, (arm, raspberry pi 3 model b+, new
> appliance, kernel and bootloader updated as per my patch).
>
> Build is possible on gcc 8 when choosing aarch64. Unfortunately, this
> does not boot (rainbow screen, can't ping).
>
> Any ideas how to make gcc 8 work?
>
> Oliver
>
> On 18.03.19 21:36, lich000king wrote:
>> Hi all
>>
>> When I try to build a new appliance for arm, raspberry pi 3 model b+
>> (just these two things selected in menuconfig, rev.
>> f8d0864c18907ea4e21d0657b34869cda66dd452), I get some errors like
>> this:
>>
>> tmp/cckyIFbk.s: Assembler messages:
>> /tmp/cckyIFbk.s:67: Error: selected processor does not support `dmb
>> ish' in ARM
>>
>> Looks like something goes wrong with some flags.
>>
>> make.log:
>>
>>
https://mega.nz/#!BxJnwQgR!-7Gkl_WuBg5L_0CFNf8Jp43Fqduu2siI47gvocJIXys
>>
>> I get no problem when choosing aarch64:
>>
>>
https://mega.nz/#!RtZzXagR!QIvUgjipkzg_y32zReKYjRPCKHfK7dy2bcGjw1vR4RE
>>
>> Does somebody know if something changed in the definitions of these
>> flags, maybe in a newer version of GCC, since that changed recently?
>>
>> Don't really know where to start looking...
>>
>> Cheers
>>
>> Oliver
>>