* [Buildroot] [PATCH 1/1] package/audit: force arm mode instead of Thumb mode
@ 2023-02-22 14:35 Fabrice Fontaine
2023-02-23 6:22 ` Yann E. MORIN
2023-03-16 21:35 ` Peter Korsgaard
0 siblings, 2 replies; 6+ messages in thread
From: Fabrice Fontaine @ 2023-02-22 14:35 UTC (permalink / raw)
To: buildroot; +Cc: Fabrice Fontaine
Fix the following build failure:
/tmp/ccY5gl3z.s:2145: Error: selected processor does not support `mcr p15,0,r2,c7,c10,5' in Thumb mode
Fixes:
- http://autobuild.buildroot.org/results/9d18a0d360b2e2f9e87c55daedda62d6ce198bb9
Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
---
package/audit/audit.mk | 7 +++++++
1 file changed, 7 insertions(+)
diff --git a/package/audit/audit.mk b/package/audit/audit.mk
index cbb174b980..af81dabac0 100644
--- a/package/audit/audit.mk
+++ b/package/audit/audit.mk
@@ -15,6 +15,13 @@ AUDIT_INSTALL_STAGING = YES
AUDIT_CONF_OPTS = --without-python --without-python3
+# src/libev has some assembly function that is not present in Thumb mode:
+# Error: selected processor does not support `mcr p15,0,r3,c7,c10,5' in Thumb mode
+# so, we desactivate Thumb mode
+ifeq ($(BR2_ARM_INSTRUCTIONS_THUMB),y)
+AUDIT_CONF_ENV += CFLAGS="$(TARGET_CFLAGS) -marm"
+endif
+
ifeq ($(BR2_PACKAGE_LIBCAP_NG),y)
AUDIT_DEPENDENCIES += libcap-ng
AUDIT_CONF_OPTS += --with-libcap-ng=yes
--
2.39.0
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply related [flat|nested] 6+ messages in thread
* Re: [Buildroot] [PATCH 1/1] package/audit: force arm mode instead of Thumb mode
2023-02-22 14:35 [Buildroot] [PATCH 1/1] package/audit: force arm mode instead of Thumb mode Fabrice Fontaine
@ 2023-02-23 6:22 ` Yann E. MORIN
2023-02-23 6:41 ` Yann E. MORIN
2023-02-23 21:42 ` Thomas Petazzoni via buildroot
2023-03-16 21:35 ` Peter Korsgaard
1 sibling, 2 replies; 6+ messages in thread
From: Yann E. MORIN @ 2023-02-23 6:22 UTC (permalink / raw)
To: Fabrice Fontaine; +Cc: buildroot
Fabrice, All,
On 2023-02-22 15:35 +0100, Fabrice Fontaine spake thusly:
> Fix the following build failure:
>
> /tmp/ccY5gl3z.s:2145: Error: selected processor does not support `mcr p15,0,r2,c7,c10,5' in Thumb mode
>
> Fixes:
> - http://autobuild.buildroot.org/results/9d18a0d360b2e2f9e87c55daedda62d6ce198bb9
>
> Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
> ---
> package/audit/audit.mk | 7 +++++++
> 1 file changed, 7 insertions(+)
>
> diff --git a/package/audit/audit.mk b/package/audit/audit.mk
> index cbb174b980..af81dabac0 100644
> --- a/package/audit/audit.mk
> +++ b/package/audit/audit.mk
> @@ -15,6 +15,13 @@ AUDIT_INSTALL_STAGING = YES
>
> AUDIT_CONF_OPTS = --without-python --without-python3
>
> +# src/libev has some assembly function that is not present in Thumb mode:
> +# Error: selected processor does not support `mcr p15,0,r3,c7,c10,5' in Thumb mode
> +# so, we desactivate Thumb mode
> +ifeq ($(BR2_ARM_INSTRUCTIONS_THUMB),y)
> +AUDIT_CONF_ENV += CFLAGS="$(TARGET_CFLAGS) -marm"
> +endif
But then it would not work on systems that have a armv7m: BR2_cortex_m3,
BR2_cortex_m4, or BR2_cortex_m7.
I looked at the code, and it's going to be very complex to patch it to
support armv7m, i.e. thumb-only.
So, we will have to disallow audit in this case. It is going to be easy,
as it already have a _ARCH_SUPPORTS, but it going to neeed a bit of
cleanup:
config BR2_PACKAGE_AUDIT_ARCH_SUPPORTS
bool
default y if BR2_aarch64
default y if (BR2_arm || BR2_armeb) && BR2_ARM_CPU_HAS_ARM
default y if BR2_i386 || BR2_x86_64
default y if BR2_powerpc || BR2_powerpc64
And then, the only 'select' is from libsemanage, which already depends
on AUDIT_ARCH_SUPPORT, so all is going to be alright (in the end).
Regards,
Yann E. MORIN.
> ifeq ($(BR2_PACKAGE_LIBCAP_NG),y)
> AUDIT_DEPENDENCIES += libcap-ng
> AUDIT_CONF_OPTS += --with-libcap-ng=yes
> --
> 2.39.0
>
> _______________________________________________
> buildroot mailing list
> buildroot@buildroot.org
> https://lists.buildroot.org/mailman/listinfo/buildroot
--
.-----------------.--------------------.------------------.--------------------.
| Yann E. MORIN | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software Designer | \ / CAMPAIGN | ___ |
| +33 561 099 427 `------------.-------: X AGAINST | \e/ There is no |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL | v conspiracy. |
'------------------------------^-------^------------------^--------------------'
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [Buildroot] [PATCH 1/1] package/audit: force arm mode instead of Thumb mode
2023-02-23 6:22 ` Yann E. MORIN
@ 2023-02-23 6:41 ` Yann E. MORIN
2023-02-23 21:42 ` Thomas Petazzoni via buildroot
1 sibling, 0 replies; 6+ messages in thread
From: Yann E. MORIN @ 2023-02-23 6:41 UTC (permalink / raw)
To: Fabrice Fontaine; +Cc: buildroot
Fabrice, All,
On 2023-02-23 07:22 +0100, Yann E. MORIN spake thusly:
> On 2023-02-22 15:35 +0100, Fabrice Fontaine spake thusly:
> > Fix the following build failure:
> >
> > /tmp/ccY5gl3z.s:2145: Error: selected processor does not support `mcr p15,0,r2,c7,c10,5' in Thumb mode
> >
> > Fixes:
> > - http://autobuild.buildroot.org/results/9d18a0d360b2e2f9e87c55daedda62d6ce198bb9
> >
> > Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
> > ---
> > package/audit/audit.mk | 7 +++++++
> > 1 file changed, 7 insertions(+)
> >
> > diff --git a/package/audit/audit.mk b/package/audit/audit.mk
> > index cbb174b980..af81dabac0 100644
> > --- a/package/audit/audit.mk
> > +++ b/package/audit/audit.mk
> > @@ -15,6 +15,13 @@ AUDIT_INSTALL_STAGING = YES
> >
> > AUDIT_CONF_OPTS = --without-python --without-python3
> >
> > +# src/libev has some assembly function that is not present in Thumb mode:
> > +# Error: selected processor does not support `mcr p15,0,r3,c7,c10,5' in Thumb mode
> > +# so, we desactivate Thumb mode
> > +ifeq ($(BR2_ARM_INSTRUCTIONS_THUMB),y)
> > +AUDIT_CONF_ENV += CFLAGS="$(TARGET_CFLAGS) -marm"
> > +endif
>
> But then it would not work on systems that have a armv7m: BR2_cortex_m3,
> BR2_cortex_m4, or BR2_cortex_m7.
>
> I looked at the code, and it's going to be very complex to patch it to
> support armv7m, i.e. thumb-only.
>
> So, we will have to disallow audit in this case. It is going to be easy,
> as it already have a _ARCH_SUPPORTS, but it going to neeed a bit of
> cleanup:
>
> config BR2_PACKAGE_AUDIT_ARCH_SUPPORTS
> bool
> default y if BR2_aarch64
> default y if (BR2_arm || BR2_armeb) && BR2_ARM_CPU_HAS_ARM
As I wrote in the libev review for the same issue, the condition is a
bit more complex:
default y if (BR2_arm || BR2_armeb) && (BR2_ARM_CPU_HAS_ARM || BR2_ARM_CPU_HAS_THUMB2)
Regards,
Yann E. MORIN.
> default y if BR2_i386 || BR2_x86_64
> default y if BR2_powerpc || BR2_powerpc64
>
> And then, the only 'select' is from libsemanage, which already depends
> on AUDIT_ARCH_SUPPORT, so all is going to be alright (in the end).
>
> Regards,
> Yann E. MORIN.
>
> > ifeq ($(BR2_PACKAGE_LIBCAP_NG),y)
> > AUDIT_DEPENDENCIES += libcap-ng
> > AUDIT_CONF_OPTS += --with-libcap-ng=yes
> > --
> > 2.39.0
> >
> > _______________________________________________
> > buildroot mailing list
> > buildroot@buildroot.org
> > https://lists.buildroot.org/mailman/listinfo/buildroot
>
> --
> .-----------------.--------------------.------------------.--------------------.
> | Yann E. MORIN | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
> | +33 662 376 056 | Software Designer | \ / CAMPAIGN | ___ |
> | +33 561 099 427 `------------.-------: X AGAINST | \e/ There is no |
> | http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL | v conspiracy. |
> '------------------------------^-------^------------------^--------------------'
> _______________________________________________
> buildroot mailing list
> buildroot@buildroot.org
> https://lists.buildroot.org/mailman/listinfo/buildroot
--
.-----------------.--------------------.------------------.--------------------.
| Yann E. MORIN | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software Designer | \ / CAMPAIGN | ___ |
| +33 561 099 427 `------------.-------: X AGAINST | \e/ There is no |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL | v conspiracy. |
'------------------------------^-------^------------------^--------------------'
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [Buildroot] [PATCH 1/1] package/audit: force arm mode instead of Thumb mode
2023-02-23 6:22 ` Yann E. MORIN
2023-02-23 6:41 ` Yann E. MORIN
@ 2023-02-23 21:42 ` Thomas Petazzoni via buildroot
2023-03-09 21:43 ` Arnout Vandecappelle
1 sibling, 1 reply; 6+ messages in thread
From: Thomas Petazzoni via buildroot @ 2023-02-23 21:42 UTC (permalink / raw)
To: Yann E. MORIN; +Cc: Fabrice Fontaine, buildroot
Hello Yann,
On Thu, 23 Feb 2023 07:22:59 +0100
"Yann E. MORIN" <yann.morin.1998@free.fr> wrote:
> > +# src/libev has some assembly function that is not present in Thumb mode:
> > +# Error: selected processor does not support `mcr p15,0,r3,c7,c10,5' in Thumb mode
> > +# so, we desactivate Thumb mode
> > +ifeq ($(BR2_ARM_INSTRUCTIONS_THUMB),y)
> > +AUDIT_CONF_ENV += CFLAGS="$(TARGET_CFLAGS) -marm"
> > +endif
>
> But then it would not work on systems that have a armv7m: BR2_cortex_m3,
> BR2_cortex_m4, or BR2_cortex_m7.
BR2_ARM_INSTRUCTIONS_THUMB is for "classic" Thumb, not Thumb2.
BR2_ARM_INSTRUCTIONS_THUMB2 is used for Thumb2 platforms, such as
ARMv7-M.
So the above condition will only trigger for ARMv4/ARMv5/ARMv6 cores,
and they all support both classic Thumb and regular ARM instruction set.
So to me, the above proposal from Fabrice works fine.
> I looked at the code, and it's going to be very complex to patch it to
> support armv7m, i.e. thumb-only.
Thumb2-only, which is totally different.
Best regards,
Thomas
--
Thomas Petazzoni, co-owner and CEO, Bootlin
Embedded Linux and Kernel engineering and training
https://bootlin.com
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [Buildroot] [PATCH 1/1] package/audit: force arm mode instead of Thumb mode
2023-02-23 21:42 ` Thomas Petazzoni via buildroot
@ 2023-03-09 21:43 ` Arnout Vandecappelle
0 siblings, 0 replies; 6+ messages in thread
From: Arnout Vandecappelle @ 2023-03-09 21:43 UTC (permalink / raw)
To: Thomas Petazzoni, Yann E. MORIN; +Cc: Fabrice Fontaine, buildroot
On 23/02/2023 22:42, Thomas Petazzoni via buildroot wrote:
> Hello Yann,
>
> On Thu, 23 Feb 2023 07:22:59 +0100
> "Yann E. MORIN" <yann.morin.1998@free.fr> wrote:
>
>>> +# src/libev has some assembly function that is not present in Thumb mode:
>>> +# Error: selected processor does not support `mcr p15,0,r3,c7,c10,5' in Thumb mode
>>> +# so, we desactivate Thumb mode
>>> +ifeq ($(BR2_ARM_INSTRUCTIONS_THUMB),y)
>>> +AUDIT_CONF_ENV += CFLAGS="$(TARGET_CFLAGS) -marm"
>>> +endif
>>
>> But then it would not work on systems that have a armv7m: BR2_cortex_m3,
>> BR2_cortex_m4, or BR2_cortex_m7.
>
> BR2_ARM_INSTRUCTIONS_THUMB is for "classic" Thumb, not Thumb2.
> BR2_ARM_INSTRUCTIONS_THUMB2 is used for Thumb2 platforms, such as
> ARMv7-M.
>
> So the above condition will only trigger for ARMv4/ARMv5/ARMv6 cores,
> and they all support both classic Thumb and regular ARM instruction set.
>
> So to me, the above proposal from Fabrice works fine.
I completely agree. Adding those redundant arch dependencies adds a bunch of
needless complexity for libev. And we can be pretty sure that we're never going
to add a thumb1-only architecture.
So I applied the v1 of this patch to master, thanks.
Regards,
Arnout
>
>> I looked at the code, and it's going to be very complex to patch it to
>> support armv7m, i.e. thumb-only.
>
> Thumb2-only, which is totally different.
>
> Best regards,
>
> Thomas
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [Buildroot] [PATCH 1/1] package/audit: force arm mode instead of Thumb mode
2023-02-22 14:35 [Buildroot] [PATCH 1/1] package/audit: force arm mode instead of Thumb mode Fabrice Fontaine
2023-02-23 6:22 ` Yann E. MORIN
@ 2023-03-16 21:35 ` Peter Korsgaard
1 sibling, 0 replies; 6+ messages in thread
From: Peter Korsgaard @ 2023-03-16 21:35 UTC (permalink / raw)
To: Fabrice Fontaine; +Cc: buildroot
>>>>> "Fabrice" == Fabrice Fontaine <fontaine.fabrice@gmail.com> writes:
> Fix the following build failure:
> /tmp/ccY5gl3z.s:2145: Error: selected processor does not support `mcr p15,0,r2,c7,c10,5' in Thumb mode
> Fixes:
> - http://autobuild.buildroot.org/results/9d18a0d360b2e2f9e87c55daedda62d6ce198bb9
> Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
Committed to 2022.11.x and 2022.02.x, thanks.
--
Bye, Peter Korsgaard
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2023-03-16 21:35 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-02-22 14:35 [Buildroot] [PATCH 1/1] package/audit: force arm mode instead of Thumb mode Fabrice Fontaine
2023-02-23 6:22 ` Yann E. MORIN
2023-02-23 6:41 ` Yann E. MORIN
2023-02-23 21:42 ` Thomas Petazzoni via buildroot
2023-03-09 21:43 ` Arnout Vandecappelle
2023-03-16 21:35 ` Peter Korsgaard
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox