Buildroot Archive on lore.kernel.org
 help / color / mirror / Atom feed
* [Buildroot] [PATCH v3 1/4] Revert "configs/stm32f429: force usage of binutils 2.28.x"
@ 2018-05-31 13:21 Christophe PRIOUZEAU
  2018-05-31 13:21 ` [Buildroot] [PATCH v3 2/4] Revert "configs/stm32f469: " Christophe PRIOUZEAU
                   ` (3 more replies)
  0 siblings, 4 replies; 12+ messages in thread
From: Christophe PRIOUZEAU @ 2018-05-31 13:21 UTC (permalink / raw)
  To: buildroot

This reverts commit cbe43fd417d77f846f1ca47cdacd51a73be1aaec.

Signed-off-by: Christophe Priouzeau <christophe.priouzeau@st.com>
---
 configs/stm32f429_disco_defconfig | 1 -
 1 file changed, 1 deletion(-)

diff --git a/configs/stm32f429_disco_defconfig b/configs/stm32f429_disco_defconfig
index fc167d0..5237e9a 100644
--- a/configs/stm32f429_disco_defconfig
+++ b/configs/stm32f429_disco_defconfig
@@ -2,7 +2,6 @@ BR2_arm=y
 BR2_cortex_m4=y
 BR2_GLOBAL_PATCH_DIR="board/stmicroelectronics/stm32f429-disco/patches"
 BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_11=y
-BR2_BINUTILS_VERSION_2_28_X=y
 BR2_ROOTFS_POST_BUILD_SCRIPT="board/stmicroelectronics/stm32-post-build.sh"
 BR2_LINUX_KERNEL=y
 BR2_LINUX_KERNEL_CUSTOM_VERSION=y
-- 
2.7.4

^ permalink raw reply related	[flat|nested] 12+ messages in thread

* [Buildroot] [PATCH v3 2/4] Revert "configs/stm32f469: force usage of binutils 2.28.x"
  2018-05-31 13:21 [Buildroot] [PATCH v3 1/4] Revert "configs/stm32f429: force usage of binutils 2.28.x" Christophe PRIOUZEAU
@ 2018-05-31 13:21 ` Christophe PRIOUZEAU
  2018-06-01 14:42   ` Peter Korsgaard
  2018-05-31 13:21 ` [Buildroot] [PATCH v3 3/4] package/binutils: Cortex-M targets require version <2.29 Christophe PRIOUZEAU
                   ` (2 subsequent siblings)
  3 siblings, 1 reply; 12+ messages in thread
From: Christophe PRIOUZEAU @ 2018-05-31 13:21 UTC (permalink / raw)
  To: buildroot

This reverts commit 12049cc8b8972a9d0f1e27f1382cc5752d45312f.

Signed-off-by: Christophe Priouzeau <christophe.priouzeau@st.com>
---
 configs/stm32f469_disco_defconfig | 1 -
 1 file changed, 1 deletion(-)

diff --git a/configs/stm32f469_disco_defconfig b/configs/stm32f469_disco_defconfig
index e5cacaf..8b77d8c 100644
--- a/configs/stm32f469_disco_defconfig
+++ b/configs/stm32f469_disco_defconfig
@@ -2,7 +2,6 @@ BR2_arm=y
 BR2_cortex_m4=y
 BR2_GLOBAL_PATCH_DIR="board/stmicroelectronics/stm32f469-disco/patches"
 BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_11=y
-BR2_BINUTILS_VERSION_2_28_X=y
 BR2_ROOTFS_POST_BUILD_SCRIPT="board/stmicroelectronics/stm32-post-build.sh"
 BR2_LINUX_KERNEL=y
 BR2_LINUX_KERNEL_CUSTOM_VERSION=y
-- 
2.7.4

^ permalink raw reply related	[flat|nested] 12+ messages in thread

* [Buildroot] [PATCH v3 3/4] package/binutils: Cortex-M targets require version <2.29
  2018-05-31 13:21 [Buildroot] [PATCH v3 1/4] Revert "configs/stm32f429: force usage of binutils 2.28.x" Christophe PRIOUZEAU
  2018-05-31 13:21 ` [Buildroot] [PATCH v3 2/4] Revert "configs/stm32f469: " Christophe PRIOUZEAU
@ 2018-05-31 13:21 ` Christophe PRIOUZEAU
  2018-06-01 14:36   ` Peter Korsgaard
  2018-06-01 15:42   ` Yann E. MORIN
  2018-05-31 13:21 ` [Buildroot] [PATCH v3 4/4] linux: config.in: add comment for Arm Cortex-M Christophe PRIOUZEAU
  2018-06-01 14:41 ` [Buildroot] [PATCH v3 1/4] Revert "configs/stm32f429: force usage of binutils 2.28.x" Peter Korsgaard
  3 siblings, 2 replies; 12+ messages in thread
From: Christophe PRIOUZEAU @ 2018-05-31 13:21 UTC (permalink / raw)
  To: buildroot

From: Laurent GONZALEZ <br22@gezedo.com>

binutils 2.29 changed the implementation of adr pseudo instruction
it breaks linux kernel and impacts Cortex-M targets (eg. stm32)

Signed-off-by: Laurent GONZALEZ <br22@gezedo.com>
Signed-off-by: Christophe Priouzeau <christophe.priouzeau@st.com>
---
 package/binutils/Config.in.host | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/package/binutils/Config.in.host b/package/binutils/Config.in.host
index 03b2281..9a4caad 100644
--- a/package/binutils/Config.in.host
+++ b/package/binutils/Config.in.host
@@ -2,8 +2,9 @@ comment "Binutils Options"
 
 choice
 	prompt "Binutils Version"
-	default BR2_BINUTILS_VERSION_2_29_X if !BR2_arc
-	default BR2_BINUTILS_VERSION_ARC if BR2_arc
+	default BR2_BINUTILS_VERSION_2_28_X if BR2_ARM_CPU_ARMV7M
+	default BR2_BINUTILS_VERSION_2_29_X if !BR2_arc && !BR2_ARM_CPU_ARMV7M
+	default BR2_BINUTILS_VERSION_ARC if BR2_arc && !BR2_ARM_CPU_ARMV7M
 	help
 	  Select the version of binutils you wish to use.
 
-- 
2.7.4

^ permalink raw reply related	[flat|nested] 12+ messages in thread

* [Buildroot] [PATCH v3 4/4] linux: config.in: add comment for Arm Cortex-M
  2018-05-31 13:21 [Buildroot] [PATCH v3 1/4] Revert "configs/stm32f429: force usage of binutils 2.28.x" Christophe PRIOUZEAU
  2018-05-31 13:21 ` [Buildroot] [PATCH v3 2/4] Revert "configs/stm32f469: " Christophe PRIOUZEAU
  2018-05-31 13:21 ` [Buildroot] [PATCH v3 3/4] package/binutils: Cortex-M targets require version <2.29 Christophe PRIOUZEAU
@ 2018-05-31 13:21 ` Christophe PRIOUZEAU
  2018-06-01 14:39   ` Peter Korsgaard
  2018-06-01 15:39   ` Yann E. MORIN
  2018-06-01 14:41 ` [Buildroot] [PATCH v3 1/4] Revert "configs/stm32f429: force usage of binutils 2.28.x" Peter Korsgaard
  3 siblings, 2 replies; 12+ messages in thread
From: Christophe PRIOUZEAU @ 2018-05-31 13:21 UTC (permalink / raw)
  To: buildroot

When binutils > 2.28 are selected on Arm Cortex-M cpu,
linux kernel does not boot due to a new implementation
of 'adr pseudo instruction' on binutils.

Bugzilla thread: https://bugs.busybox.net/show_bug.cgi?id=11051

Signed-off-by: Christophe Priouzeau <christophe.priouzeau@st.com>
---
Changes v1 -> v2
 - correct depends on for comment

Changes v2 -> v3
 - use correct TAG BR2_ARM_CPU_ARMV7M
 - invert depends for BR2_ARM_CPU_ARMV7M

 linux/Config.in | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/linux/Config.in b/linux/Config.in
index 73a3299..b5957b6 100644
--- a/linux/Config.in
+++ b/linux/Config.in
@@ -8,6 +8,10 @@ config BR2_LINUX_KERNEL
 
 if BR2_LINUX_KERNEL
 
+comment "Linux kernel will not boot with binutils >= 2.29"
+	depends on BR2_ARM_CPU_ARMV7M
+	depends on !BR2_BINUTILS_VERSION_2_28_X
+
 # Packages that need to have a kernel with support for loadable modules,
 # but do not use the kernel-modules infrastructure, should select that
 # option.
-- 
2.7.4

^ permalink raw reply related	[flat|nested] 12+ messages in thread

* [Buildroot] [PATCH v3 3/4] package/binutils: Cortex-M targets require version <2.29
  2018-05-31 13:21 ` [Buildroot] [PATCH v3 3/4] package/binutils: Cortex-M targets require version <2.29 Christophe PRIOUZEAU
@ 2018-06-01 14:36   ` Peter Korsgaard
  2018-06-01 15:42   ` Yann E. MORIN
  1 sibling, 0 replies; 12+ messages in thread
From: Peter Korsgaard @ 2018-06-01 14:36 UTC (permalink / raw)
  To: buildroot

>>>>> "Christophe" == Christophe PRIOUZEAU <christophe.priouzeau@st.com> writes:

 > From: Laurent GONZALEZ <br22@gezedo.com>
 > binutils 2.29 changed the implementation of adr pseudo instruction
 > it breaks linux kernel and impacts Cortex-M targets (eg. stm32)

 > Signed-off-by: Laurent GONZALEZ <br22@gezedo.com>
 > Signed-off-by: Christophe Priouzeau <christophe.priouzeau@st.com>
 > ---
 >  package/binutils/Config.in.host | 5 +++--
 >  1 file changed, 3 insertions(+), 2 deletions(-)

 > diff --git a/package/binutils/Config.in.host b/package/binutils/Config.in.host
 > index 03b2281..9a4caad 100644
 > --- a/package/binutils/Config.in.host
 > +++ b/package/binutils/Config.in.host
 > @@ -2,8 +2,9 @@ comment "Binutils Options"
 
 >  choice
 >  	prompt "Binutils Version"
 > -	default BR2_BINUTILS_VERSION_2_29_X if !BR2_arc
 > -	default BR2_BINUTILS_VERSION_ARC if BR2_arc
 > +	default BR2_BINUTILS_VERSION_2_28_X if BR2_ARM_CPU_ARMV7M
 > +	default BR2_BINUTILS_VERSION_2_29_X if !BR2_arc && !BR2_ARM_CPU_ARMV7M
 > +	default BR2_BINUTILS_VERSION_ARC if BR2_arc && !BR2_ARM_CPU_ARMV7M

kconfig will use the first available default line, so it is enough to
simply add:

default BR2_BINUTILS_VERSION_2_28_X if BR2_ARM_CPU_ARMV7M

In front of the others. Committed with that fixed, thanks.

-- 
Bye, Peter Korsgaard

^ permalink raw reply	[flat|nested] 12+ messages in thread

* [Buildroot] [PATCH v3 4/4] linux: config.in: add comment for Arm Cortex-M
  2018-05-31 13:21 ` [Buildroot] [PATCH v3 4/4] linux: config.in: add comment for Arm Cortex-M Christophe PRIOUZEAU
@ 2018-06-01 14:39   ` Peter Korsgaard
  2018-06-01 15:39   ` Yann E. MORIN
  1 sibling, 0 replies; 12+ messages in thread
From: Peter Korsgaard @ 2018-06-01 14:39 UTC (permalink / raw)
  To: buildroot

>>>>> "Christophe" == Christophe PRIOUZEAU <christophe.priouzeau@st.com> writes:

 > When binutils > 2.28 are selected on Arm Cortex-M cpu,
 > linux kernel does not boot due to a new implementation
 > of 'adr pseudo instruction' on binutils.

 > Bugzilla thread: https://bugs.busybox.net/show_bug.cgi?id=11051

 > Signed-off-by: Christophe Priouzeau <christophe.priouzeau@st.com>
 > ---
 > Changes v1 -> v2
 >  - correct depends on for comment

 > Changes v2 -> v3
 >  - use correct TAG BR2_ARM_CPU_ARMV7M
 >  - invert depends for BR2_ARM_CPU_ARMV7M

 >  linux/Config.in | 4 ++++
 >  1 file changed, 4 insertions(+)

 > diff --git a/linux/Config.in b/linux/Config.in
 > index 73a3299..b5957b6 100644
 > --- a/linux/Config.in
 > +++ b/linux/Config.in
 > @@ -8,6 +8,10 @@ config BR2_LINUX_KERNEL
 
 >  if BR2_LINUX_KERNEL
 
 > +comment "Linux kernel will not boot with binutils >= 2.29"

The hope is still that this may be fixed in newer Linux kernel versions
so I changed it to the less strong:

Linux kernel may fail to boot with binutils >= 2.29

And committed, thanks.

-- 
Bye, Peter Korsgaard

^ permalink raw reply	[flat|nested] 12+ messages in thread

* [Buildroot] [PATCH v3 1/4] Revert "configs/stm32f429: force usage of binutils 2.28.x"
  2018-05-31 13:21 [Buildroot] [PATCH v3 1/4] Revert "configs/stm32f429: force usage of binutils 2.28.x" Christophe PRIOUZEAU
                   ` (2 preceding siblings ...)
  2018-05-31 13:21 ` [Buildroot] [PATCH v3 4/4] linux: config.in: add comment for Arm Cortex-M Christophe PRIOUZEAU
@ 2018-06-01 14:41 ` Peter Korsgaard
  3 siblings, 0 replies; 12+ messages in thread
From: Peter Korsgaard @ 2018-06-01 14:41 UTC (permalink / raw)
  To: buildroot

>>>>> "Christophe" == Christophe PRIOUZEAU <christophe.priouzeau@st.com> writes:

 > This reverts commit cbe43fd417d77f846f1ca47cdacd51a73be1aaec.
 > Signed-off-by: Christophe Priouzeau <christophe.priouzeau@st.com>

Committed after extending the commit message with a description of why
this can now be reverted, thanks.

-- 
Bye, Peter Korsgaard

^ permalink raw reply	[flat|nested] 12+ messages in thread

* [Buildroot] [PATCH v3 2/4] Revert "configs/stm32f469: force usage of binutils 2.28.x"
  2018-05-31 13:21 ` [Buildroot] [PATCH v3 2/4] Revert "configs/stm32f469: " Christophe PRIOUZEAU
@ 2018-06-01 14:42   ` Peter Korsgaard
  0 siblings, 0 replies; 12+ messages in thread
From: Peter Korsgaard @ 2018-06-01 14:42 UTC (permalink / raw)
  To: buildroot

>>>>> "Christophe" == Christophe PRIOUZEAU <christophe.priouzeau@st.com> writes:

 > This reverts commit 12049cc8b8972a9d0f1e27f1382cc5752d45312f.
 > Signed-off-by: Christophe Priouzeau <christophe.priouzeau@st.com>

Committed after extending the commit message with a description of why
this can now be reverted, thanks.

-- 
Bye, Peter Korsgaard

^ permalink raw reply	[flat|nested] 12+ messages in thread

* [Buildroot] [PATCH v3 4/4] linux: config.in: add comment for Arm Cortex-M
  2018-05-31 13:21 ` [Buildroot] [PATCH v3 4/4] linux: config.in: add comment for Arm Cortex-M Christophe PRIOUZEAU
  2018-06-01 14:39   ` Peter Korsgaard
@ 2018-06-01 15:39   ` Yann E. MORIN
  2018-06-01 17:21     ` Yann E. MORIN
  1 sibling, 1 reply; 12+ messages in thread
From: Yann E. MORIN @ 2018-06-01 15:39 UTC (permalink / raw)
  To: buildroot

Christophe, All,

On 2018-05-31 13:21 +0000, Christophe PRIOUZEAU spake thusly:
> When binutils > 2.28 are selected on Arm Cortex-M cpu,
> linux kernel does not boot due to a new implementation
> of 'adr pseudo instruction' on binutils.
> 
> Bugzilla thread: https://bugs.busybox.net/show_bug.cgi?id=11051
> 
> Signed-off-by: Christophe Priouzeau <christophe.priouzeau@st.com>
> ---
> Changes v1 -> v2
>  - correct depends on for comment
> 
> Changes v2 -> v3
>  - use correct TAG BR2_ARM_CPU_ARMV7M
>  - invert depends for BR2_ARM_CPU_ARMV7M
> 
>  linux/Config.in | 4 ++++
>  1 file changed, 4 insertions(+)
> 
> diff --git a/linux/Config.in b/linux/Config.in
> index 73a3299..b5957b6 100644
> --- a/linux/Config.in
> +++ b/linux/Config.in
> @@ -8,6 +8,10 @@ config BR2_LINUX_KERNEL
>  
>  if BR2_LINUX_KERNEL
>  
> +comment "Linux kernel will not boot with binutils >= 2.29"
> +	depends on BR2_ARM_CPU_ARMV7M

So, my understanding was that the build in Thuimb mode was what was
causing the issue, rather than the actual architecture.

So, if one has (say) a Cortex-A9, and decides to build in Thumb mode, as
well as build its kernel in Thumb mode, wouldn't that also trigger the
issue as well?

Regards,
Yann E. MORIN.

> +	depends on !BR2_BINUTILS_VERSION_2_28_X
> +
>  # Packages that need to have a kernel with support for loadable modules,
>  # but do not use the kernel-modules infrastructure, should select that
>  # option.
> -- 
> 2.7.4
> _______________________________________________
> buildroot mailing list
> buildroot at busybox.net
> http://lists.busybox.net/mailman/listinfo/buildroot

-- 
.-----------------.--------------------.------------------.--------------------.
|  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software  Designer | \ / CAMPAIGN     |  ___               |
| +33 223 225 172 `------------.-------:  X  AGAINST      |  \e/  There is no  |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v   conspiracy.  |
'------------------------------^-------^------------------^--------------------'

^ permalink raw reply	[flat|nested] 12+ messages in thread

* [Buildroot] [PATCH v3 3/4] package/binutils: Cortex-M targets require version <2.29
  2018-05-31 13:21 ` [Buildroot] [PATCH v3 3/4] package/binutils: Cortex-M targets require version <2.29 Christophe PRIOUZEAU
  2018-06-01 14:36   ` Peter Korsgaard
@ 2018-06-01 15:42   ` Yann E. MORIN
  2018-06-01 17:17     ` Peter Korsgaard
  1 sibling, 1 reply; 12+ messages in thread
From: Yann E. MORIN @ 2018-06-01 15:42 UTC (permalink / raw)
  To: buildroot

Christophe, All,

On 2018-05-31 13:21 +0000, Christophe PRIOUZEAU spake thusly:
> From: Laurent GONZALEZ <br22@gezedo.com>
> 
> binutils 2.29 changed the implementation of adr pseudo instruction
> it breaks linux kernel and impacts Cortex-M targets (eg. stm32)
> 
> Signed-off-by: Laurent GONZALEZ <br22@gezedo.com>
> Signed-off-by: Christophe Priouzeau <christophe.priouzeau@st.com>
> ---
>  package/binutils/Config.in.host | 5 +++--
>  1 file changed, 3 insertions(+), 2 deletions(-)
> 
> diff --git a/package/binutils/Config.in.host b/package/binutils/Config.in.host
> index 03b2281..9a4caad 100644
> --- a/package/binutils/Config.in.host
> +++ b/package/binutils/Config.in.host
> @@ -2,8 +2,9 @@ comment "Binutils Options"
>  
>  choice
>  	prompt "Binutils Version"
> -	default BR2_BINUTILS_VERSION_2_29_X if !BR2_arc
> -	default BR2_BINUTILS_VERSION_ARC if BR2_arc
> +	default BR2_BINUTILS_VERSION_2_28_X if BR2_ARM_CPU_ARMV7M

Again, isn't it the fact that a Thumb-mode compilation is attempted, so
we'd trigger the same issue when building in Thumb mode for (e.g.) a
cortex-a CPU as well?

Regards,
Yann E. MORIN.

> +	default BR2_BINUTILS_VERSION_2_29_X if !BR2_arc && !BR2_ARM_CPU_ARMV7M
> +	default BR2_BINUTILS_VERSION_ARC if BR2_arc && !BR2_ARM_CPU_ARMV7M
>  	help
>  	  Select the version of binutils you wish to use.
>  
> -- 
> 2.7.4
> _______________________________________________
> buildroot mailing list
> buildroot at busybox.net
> http://lists.busybox.net/mailman/listinfo/buildroot

-- 
.-----------------.--------------------.------------------.--------------------.
|  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software  Designer | \ / CAMPAIGN     |  ___               |
| +33 223 225 172 `------------.-------:  X  AGAINST      |  \e/  There is no  |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v   conspiracy.  |
'------------------------------^-------^------------------^--------------------'

^ permalink raw reply	[flat|nested] 12+ messages in thread

* [Buildroot] [PATCH v3 3/4] package/binutils: Cortex-M targets require version <2.29
  2018-06-01 15:42   ` Yann E. MORIN
@ 2018-06-01 17:17     ` Peter Korsgaard
  0 siblings, 0 replies; 12+ messages in thread
From: Peter Korsgaard @ 2018-06-01 17:17 UTC (permalink / raw)
  To: buildroot

>>>>> "Yann" == Yann E MORIN <yann.morin.1998@free.fr> writes:

 > Christophe, All,
 > On 2018-05-31 13:21 +0000, Christophe PRIOUZEAU spake thusly:
 >> From: Laurent GONZALEZ <br22@gezedo.com>
 >> 
 >> binutils 2.29 changed the implementation of adr pseudo instruction
 >> it breaks linux kernel and impacts Cortex-M targets (eg. stm32)
 >> 
 >> Signed-off-by: Laurent GONZALEZ <br22@gezedo.com>
 >> Signed-off-by: Christophe Priouzeau <christophe.priouzeau@st.com>
 >> ---
 >> package/binutils/Config.in.host | 5 +++--
 >> 1 file changed, 3 insertions(+), 2 deletions(-)
 >> 
 >> diff --git a/package/binutils/Config.in.host b/package/binutils/Config.in.host
 >> index 03b2281..9a4caad 100644
 >> --- a/package/binutils/Config.in.host
 >> +++ b/package/binutils/Config.in.host
 >> @@ -2,8 +2,9 @@ comment "Binutils Options"
 >> 
 >> choice
 >> prompt "Binutils Version"
 >> -	default BR2_BINUTILS_VERSION_2_29_X if !BR2_arc
 >> -	default BR2_BINUTILS_VERSION_ARC if BR2_arc
 >> +	default BR2_BINUTILS_VERSION_2_28_X if BR2_ARM_CPU_ARMV7M

 > Again, isn't it the fact that a Thumb-mode compilation is attempted, so
 > we'd trigger the same issue when building in Thumb mode for (e.g.) a
 > cortex-a CPU as well?

Yes, it looks like you are right. Lacking hardware at hand I did a test
build of qemu_arm_vexpress:

default, E.G. binutils 2.29, ARM instructions: OK
2.28, THUMB2_KERNEL / BR2_ARM_INSTRUCTIONS_THUMB2: OK
2.29, THUMB2_KERNEL / BR2_ARM_INSTRUCTIONS_THUMB2: FAIL

It crashes in init:

devtmpfs: mounted
Freeing unused kernel memory: 1024K
Internal error: Oops - undefined instruction: 0 [#1] SMP THUMB2
Modules linked in:
CPU: 0 PID: 1 Comm: init Not tainted 4.16.7 #1
Hardware name: ARM-Versatile Express
PC is at ret_fast_syscall+0x4/0x62

See https://pastebin.com/VdtBWEgi for the complete boot log.

So I guess we should change the BR2_ARM_CPU_ARMV7M to
BR2_ARM_INSTRUCTIONS_THUMB2.

-- 
Bye, Peter Korsgaard

^ permalink raw reply	[flat|nested] 12+ messages in thread

* [Buildroot] [PATCH v3 4/4] linux: config.in: add comment for Arm Cortex-M
  2018-06-01 15:39   ` Yann E. MORIN
@ 2018-06-01 17:21     ` Yann E. MORIN
  0 siblings, 0 replies; 12+ messages in thread
From: Yann E. MORIN @ 2018-06-01 17:21 UTC (permalink / raw)
  To: buildroot

Christophe, All,

On 2018-06-01 17:39 +0200, Yann E. MORIN spake thusly:
> On 2018-05-31 13:21 +0000, Christophe PRIOUZEAU spake thusly:
> > When binutils > 2.28 are selected on Arm Cortex-M cpu,
> > linux kernel does not boot due to a new implementation
> > of 'adr pseudo instruction' on binutils.
> > 
> > Bugzilla thread: https://bugs.busybox.net/show_bug.cgi?id=11051
[--SNIP--]
> > diff --git a/linux/Config.in b/linux/Config.in
> > index 73a3299..b5957b6 100644
> > --- a/linux/Config.in
> > +++ b/linux/Config.in
> > @@ -8,6 +8,10 @@ config BR2_LINUX_KERNEL
> >  
> >  if BR2_LINUX_KERNEL
> >  
> > +comment "Linux kernel will not boot with binutils >= 2.29"
> > +	depends on BR2_ARM_CPU_ARMV7M
> 
> So, my understanding was that the build in Thuimb mode was what was
> causing the issue, rather than the actual architecture.
> 
> So, if one has (say) a Cortex-A9, and decides to build in Thumb mode, as
> well as build its kernel in Thumb mode, wouldn't that also trigger the
> issue as well?

So, with Peter, we've attemped various tests, all based of our
qemu_arm_vexpress_defconfig, with the followingf results:

  - defconfig with no change, ie.e arm mode with binutils 2.29: OK

  - defconfig with just Thumb mode and kernel in Thumb2, still with
    binutils 2.29: KO

  - defconfig with Thumb mode, kernel in Thumb2, and binutils 2.28: OK

So, it really is thumb mode and binutils 2.29 that is at fault, not just
armv7m.

I'm cooking the patch right now, theres a good smell around; baking is
on good tracks... ;-)

Regards,
Yann E. MORIN.

-- 
.-----------------.--------------------.------------------.--------------------.
|  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software  Designer | \ / CAMPAIGN     |  ___               |
| +33 223 225 172 `------------.-------:  X  AGAINST      |  \e/  There is no  |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v   conspiracy.  |
'------------------------------^-------^------------------^--------------------'

^ permalink raw reply	[flat|nested] 12+ messages in thread

end of thread, other threads:[~2018-06-01 17:21 UTC | newest]

Thread overview: 12+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2018-05-31 13:21 [Buildroot] [PATCH v3 1/4] Revert "configs/stm32f429: force usage of binutils 2.28.x" Christophe PRIOUZEAU
2018-05-31 13:21 ` [Buildroot] [PATCH v3 2/4] Revert "configs/stm32f469: " Christophe PRIOUZEAU
2018-06-01 14:42   ` Peter Korsgaard
2018-05-31 13:21 ` [Buildroot] [PATCH v3 3/4] package/binutils: Cortex-M targets require version <2.29 Christophe PRIOUZEAU
2018-06-01 14:36   ` Peter Korsgaard
2018-06-01 15:42   ` Yann E. MORIN
2018-06-01 17:17     ` Peter Korsgaard
2018-05-31 13:21 ` [Buildroot] [PATCH v3 4/4] linux: config.in: add comment for Arm Cortex-M Christophe PRIOUZEAU
2018-06-01 14:39   ` Peter Korsgaard
2018-06-01 15:39   ` Yann E. MORIN
2018-06-01 17:21     ` Yann E. MORIN
2018-06-01 14:41 ` [Buildroot] [PATCH v3 1/4] Revert "configs/stm32f429: force usage of binutils 2.28.x" Peter Korsgaard

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox