* Arm userland not building with gcc-9 and later
@ 2021-08-06 13:00 Jan Kiszka
2021-08-06 13:09 ` Philippe Gerum
` (2 more replies)
0 siblings, 3 replies; 12+ messages in thread
From: Jan Kiszka @ 2021-08-06 13:00 UTC (permalink / raw)
To: Xenomai, Greg Gallagher, Philippe Gerum
Hi all,
just wanted to debug the RTnet issues we now see in CI on arm and arm64.
I picked arm as first target, but that apparently starts to break with
gcc-9 or newer (tried 9.2 and 10.2):
make[5]: Entering directory '/xenomai/lib/cobalt/arch/arm'
CC libarch_la-features.lo
features.c: In function 'cobalt_arch_check_features':
features.c:82:1: error: r7 cannot be used in 'asm' here
82 | }
| ^
That seems to be related to passing the syscall number via r7 on ARM. Is
our ABI soon no longer compilable, or can we fix this?
Jan
--
Siemens AG, T RDA IOT
Corporate Competence Center Embedded Linux
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: Arm userland not building with gcc-9 and later
2021-08-06 13:00 Arm userland not building with gcc-9 and later Jan Kiszka
@ 2021-08-06 13:09 ` Philippe Gerum
2021-08-06 13:14 ` Jan Kiszka
2021-08-07 17:00 ` Philippe Gerum
2021-08-09 12:00 ` Jan Kiszka
2 siblings, 1 reply; 12+ messages in thread
From: Philippe Gerum @ 2021-08-06 13:09 UTC (permalink / raw)
To: Jan Kiszka; +Cc: Xenomai, Greg Gallagher
Jan Kiszka <jan.kiszka@siemens.com> writes:
> Hi all,
>
> just wanted to debug the RTnet issues we now see in CI on arm and arm64.
> I picked arm as first target, but that apparently starts to break with
> gcc-9 or newer (tried 9.2 and 10.2):
>
> make[5]: Entering directory '/xenomai/lib/cobalt/arch/arm'
> CC libarch_la-features.lo
> features.c: In function 'cobalt_arch_check_features':
> features.c:82:1: error: r7 cannot be used in 'asm' here
> 82 | }
> | ^
>
> That seems to be related to passing the syscall number via r7 on ARM. Is
> our ABI soon no longer compilable, or can we fix this?
>
> Jan
r7 may be used as a scratch register by gcc in some
cases. -fomit-frame-pointer for debug builds may help (i.e. when the
optimizer is switched off).
--
Philippe.
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: Arm userland not building with gcc-9 and later
2021-08-06 13:09 ` Philippe Gerum
@ 2021-08-06 13:14 ` Jan Kiszka
2021-08-06 13:34 ` Philippe Gerum
0 siblings, 1 reply; 12+ messages in thread
From: Jan Kiszka @ 2021-08-06 13:14 UTC (permalink / raw)
To: Philippe Gerum; +Cc: Xenomai, Greg Gallagher
On 06.08.21 15:09, Philippe Gerum wrote:
>
> Jan Kiszka <jan.kiszka@siemens.com> writes:
>
>> Hi all,
>>
>> just wanted to debug the RTnet issues we now see in CI on arm and arm64.
>> I picked arm as first target, but that apparently starts to break with
>> gcc-9 or newer (tried 9.2 and 10.2):
>>
>> make[5]: Entering directory '/xenomai/lib/cobalt/arch/arm'
>> CC libarch_la-features.lo
>> features.c: In function 'cobalt_arch_check_features':
>> features.c:82:1: error: r7 cannot be used in 'asm' here
>> 82 | }
>> | ^
>>
>> That seems to be related to passing the syscall number via r7 on ARM. Is
>> our ABI soon no longer compilable, or can we fix this?
>>
>> Jan
>
> r7 may be used as a scratch register by gcc in some
> cases. -fomit-frame-pointer for debug builds may help (i.e. when the
> optimizer is switched off).
>
Good hint. I had --enable-debug=full set, and it builds without it (and
now reports other issues that Debian's gcc-10 sees).
But how to resolve this properly?
Jan
--
Siemens AG, T RDA IOT
Corporate Competence Center Embedded Linux
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: Arm userland not building with gcc-9 and later
2021-08-06 13:14 ` Jan Kiszka
@ 2021-08-06 13:34 ` Philippe Gerum
2021-08-06 16:16 ` Jan Kiszka
0 siblings, 1 reply; 12+ messages in thread
From: Philippe Gerum @ 2021-08-06 13:34 UTC (permalink / raw)
To: Jan Kiszka; +Cc: Xenomai, Greg Gallagher
Jan Kiszka <jan.kiszka@siemens.com> writes:
> On 06.08.21 15:09, Philippe Gerum wrote:
>>
>> Jan Kiszka <jan.kiszka@siemens.com> writes:
>>
>>> Hi all,
>>>
>>> just wanted to debug the RTnet issues we now see in CI on arm and arm64.
>>> I picked arm as first target, but that apparently starts to break with
>>> gcc-9 or newer (tried 9.2 and 10.2):
>>>
>>> make[5]: Entering directory '/xenomai/lib/cobalt/arch/arm'
>>> CC libarch_la-features.lo
>>> features.c: In function 'cobalt_arch_check_features':
>>> features.c:82:1: error: r7 cannot be used in 'asm' here
>>> 82 | }
>>> | ^
>>>
>>> That seems to be related to passing the syscall number via r7 on ARM. Is
>>> our ABI soon no longer compilable, or can we fix this?
>>>
>>> Jan
>>
>> r7 may be used as a scratch register by gcc in some
>> cases. -fomit-frame-pointer for debug builds may help (i.e. when the
>> optimizer is switched off).
>>
>
> Good hint. I had --enable-debug=full set, and it builds without it (and
> now reports other issues that Debian's gcc-10 sees).
>
> But how to resolve this properly?
>
> Jan
XENOMAI_SYSCALL2(sc_cobalt_archcall) in features.c is likely the issue.
Either move those bits into some new syscall wrapper which would live in
lib/cobalt/internal.c, where there is no register allocation conflict so
far. Or discourage gcc from using r7 as a scratch register in
arm/features.c entirely? e.g.:
diff --git a/lib/cobalt/arch/arm/Makefile.am b/lib/cobalt/arch/arm/Makefile.am
index a5095be3d..d5e542ebe 100644
--- a/lib/cobalt/arch/arm/Makefile.am
+++ b/lib/cobalt/arch/arm/Makefile.am
@@ -6,6 +6,7 @@ libarch_la_SOURCES = features.c
libarch_la_CPPFLAGS = \
@XENO_COBALT_CFLAGS@ \
+ -fomit-frame-pointer \
-I$(srcdir)/../.. \
-I$(top_srcdir)/include/cobalt \
-I$(top_srcdir)/include
--
Philippe.
^ permalink raw reply related [flat|nested] 12+ messages in thread
* Re: Arm userland not building with gcc-9 and later
2021-08-06 13:34 ` Philippe Gerum
@ 2021-08-06 16:16 ` Jan Kiszka
2021-08-06 17:12 ` Jan Kiszka
0 siblings, 1 reply; 12+ messages in thread
From: Jan Kiszka @ 2021-08-06 16:16 UTC (permalink / raw)
To: Philippe Gerum; +Cc: Xenomai, Greg Gallagher
On 06.08.21 15:34, Philippe Gerum wrote:
>
> Jan Kiszka <jan.kiszka@siemens.com> writes:
>
>> On 06.08.21 15:09, Philippe Gerum wrote:
>>>
>>> Jan Kiszka <jan.kiszka@siemens.com> writes:
>>>
>>>> Hi all,
>>>>
>>>> just wanted to debug the RTnet issues we now see in CI on arm and arm64.
>>>> I picked arm as first target, but that apparently starts to break with
>>>> gcc-9 or newer (tried 9.2 and 10.2):
>>>>
>>>> make[5]: Entering directory '/xenomai/lib/cobalt/arch/arm'
>>>> CC libarch_la-features.lo
>>>> features.c: In function 'cobalt_arch_check_features':
>>>> features.c:82:1: error: r7 cannot be used in 'asm' here
>>>> 82 | }
>>>> | ^
>>>>
>>>> That seems to be related to passing the syscall number via r7 on ARM. Is
>>>> our ABI soon no longer compilable, or can we fix this?
>>>>
>>>> Jan
>>>
>>> r7 may be used as a scratch register by gcc in some
>>> cases. -fomit-frame-pointer for debug builds may help (i.e. when the
>>> optimizer is switched off).
>>>
>>
>> Good hint. I had --enable-debug=full set, and it builds without it (and
>> now reports other issues that Debian's gcc-10 sees).
>>
>> But how to resolve this properly?
>>
>> Jan
>
> XENOMAI_SYSCALL2(sc_cobalt_archcall) in features.c is likely the issue.
>
> Either move those bits into some new syscall wrapper which would live in
> lib/cobalt/internal.c, where there is no register allocation conflict so
> far. Or discourage gcc from using r7 as a scratch register in
> arm/features.c entirely? e.g.:
>
> diff --git a/lib/cobalt/arch/arm/Makefile.am b/lib/cobalt/arch/arm/Makefile.am
> index a5095be3d..d5e542ebe 100644
> --- a/lib/cobalt/arch/arm/Makefile.am
> +++ b/lib/cobalt/arch/arm/Makefile.am
> @@ -6,6 +6,7 @@ libarch_la_SOURCES = features.c
>
> libarch_la_CPPFLAGS = \
> @XENO_COBALT_CFLAGS@ \
> + -fomit-frame-pointer \
> -I$(srcdir)/../.. \
> -I$(top_srcdir)/include/cobalt \
> -I$(top_srcdir)/include
>
-fomit-frame-pointer does not help with -O0. It even keeps the problem
alive with -O2.
Looks like arm needs a non-unlined helper function for syscalls, to be safe.
Jan
--
Siemens AG, T RDA IOT
Corporate Competence Center Embedded Linux
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: Arm userland not building with gcc-9 and later
2021-08-06 16:16 ` Jan Kiszka
@ 2021-08-06 17:12 ` Jan Kiszka
0 siblings, 0 replies; 12+ messages in thread
From: Jan Kiszka @ 2021-08-06 17:12 UTC (permalink / raw)
To: Philippe Gerum; +Cc: Xenomai, Greg Gallagher
On 06.08.21 18:16, Jan Kiszka wrote:
> On 06.08.21 15:34, Philippe Gerum wrote:
>>
>> Jan Kiszka <jan.kiszka@siemens.com> writes:
>>
>>> On 06.08.21 15:09, Philippe Gerum wrote:
>>>>
>>>> Jan Kiszka <jan.kiszka@siemens.com> writes:
>>>>
>>>>> Hi all,
>>>>>
>>>>> just wanted to debug the RTnet issues we now see in CI on arm and arm64.
>>>>> I picked arm as first target, but that apparently starts to break with
>>>>> gcc-9 or newer (tried 9.2 and 10.2):
>>>>>
>>>>> make[5]: Entering directory '/xenomai/lib/cobalt/arch/arm'
>>>>> CC libarch_la-features.lo
>>>>> features.c: In function 'cobalt_arch_check_features':
>>>>> features.c:82:1: error: r7 cannot be used in 'asm' here
>>>>> 82 | }
>>>>> | ^
>>>>>
>>>>> That seems to be related to passing the syscall number via r7 on ARM. Is
>>>>> our ABI soon no longer compilable, or can we fix this?
>>>>>
>>>>> Jan
>>>>
>>>> r7 may be used as a scratch register by gcc in some
>>>> cases. -fomit-frame-pointer for debug builds may help (i.e. when the
>>>> optimizer is switched off).
>>>>
>>>
>>> Good hint. I had --enable-debug=full set, and it builds without it (and
>>> now reports other issues that Debian's gcc-10 sees).
>>>
>>> But how to resolve this properly?
>>>
>>> Jan
>>
>> XENOMAI_SYSCALL2(sc_cobalt_archcall) in features.c is likely the issue.
>>
>> Either move those bits into some new syscall wrapper which would live in
>> lib/cobalt/internal.c, where there is no register allocation conflict so
>> far. Or discourage gcc from using r7 as a scratch register in
>> arm/features.c entirely? e.g.:
>>
>> diff --git a/lib/cobalt/arch/arm/Makefile.am b/lib/cobalt/arch/arm/Makefile.am
>> index a5095be3d..d5e542ebe 100644
>> --- a/lib/cobalt/arch/arm/Makefile.am
>> +++ b/lib/cobalt/arch/arm/Makefile.am
>> @@ -6,6 +6,7 @@ libarch_la_SOURCES = features.c
>>
>> libarch_la_CPPFLAGS = \
>> @XENO_COBALT_CFLAGS@ \
>> + -fomit-frame-pointer \
>> -I$(srcdir)/../.. \
>> -I$(top_srcdir)/include/cobalt \
>> -I$(top_srcdir)/include
>>
>
> -fomit-frame-pointer does not help with -O0. It even keeps the problem
> alive with -O2.
>
> Looks like arm needs a non-unlined helper function for syscalls, to be safe.
>
What might be cheaper, a call-out to a helper or some push/pop around
the syscall like below? But I suspect the helper will do push/pop as well...
#define __SYS_CALLOP "push {r7}; mov %%r7,%[__r7]; swi\t0; pop {r7}"
Jan
--
Siemens AG, T RDA IOT
Corporate Competence Center Embedded Linux
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: Arm userland not building with gcc-9 and later
2021-08-06 13:00 Arm userland not building with gcc-9 and later Jan Kiszka
2021-08-06 13:09 ` Philippe Gerum
@ 2021-08-07 17:00 ` Philippe Gerum
2021-08-08 16:55 ` Jan Kiszka
2021-08-09 12:00 ` Jan Kiszka
2 siblings, 1 reply; 12+ messages in thread
From: Philippe Gerum @ 2021-08-07 17:00 UTC (permalink / raw)
To: Jan Kiszka; +Cc: Xenomai, Greg Gallagher
Jan Kiszka <jan.kiszka@siemens.com> writes:
> Hi all,
>
> just wanted to debug the RTnet issues we now see in CI on arm and arm64.
> I picked arm as first target, but that apparently starts to break with
> gcc-9 or newer (tried 9.2 and 10.2):
>
> make[5]: Entering directory '/xenomai/lib/cobalt/arch/arm'
> CC libarch_la-features.lo
> features.c: In function 'cobalt_arch_check_features':
> features.c:82:1: error: r7 cannot be used in 'asm' here
> 82 | }
> | ^
>
> That seems to be related to passing the syscall number via r7 on ARM. Is
> our ABI soon no longer compilable, or can we fix this?
>
Just tried to reproduce this issue with the latest stable (10.3-2021.07)
from ARM [1], and a fairly recent linaro snapshot (11.0.1-2021.03) [2],
to no avail. I tried with --enable-debug=symbols, --disable-debug,
--enable-debug=full, no issue so far.
Can you please share you configure settings?
[1]
https://developer.arm.com/-/media/Files/downloads/gnu-a/10.3-2021.07/binrel/gcc-arm-10.3-2021.07-x86_64-arm-none-linux-gnueabihf.tar.xz
[2]
https://snapshots.linaro.org/gnu-toolchain/11.0-2021.03-1/arm-linux-gnueabihf/gcc-linaro-11.0.1-2021.03-aarch64_arm-linux-gnueabihf.tar.xz
--
Philippe.
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: Arm userland not building with gcc-9 and later
2021-08-07 17:00 ` Philippe Gerum
@ 2021-08-08 16:55 ` Jan Kiszka
2021-08-08 17:21 ` Philippe Gerum
0 siblings, 1 reply; 12+ messages in thread
From: Jan Kiszka @ 2021-08-08 16:55 UTC (permalink / raw)
To: Philippe Gerum; +Cc: Xenomai, Greg Gallagher
On 07.08.21 19:00, Philippe Gerum wrote:
>
> Jan Kiszka <jan.kiszka@siemens.com> writes:
>
>> Hi all,
>>
>> just wanted to debug the RTnet issues we now see in CI on arm and arm64.
>> I picked arm as first target, but that apparently starts to break with
>> gcc-9 or newer (tried 9.2 and 10.2):
>>
>> make[5]: Entering directory '/xenomai/lib/cobalt/arch/arm'
>> CC libarch_la-features.lo
>> features.c: In function 'cobalt_arch_check_features':
>> features.c:82:1: error: r7 cannot be used in 'asm' here
>> 82 | }
>> | ^
>>
>> That seems to be related to passing the syscall number via r7 on ARM. Is
>> our ABI soon no longer compilable, or can we fix this?
>>
>
> Just tried to reproduce this issue with the latest stable (10.3-2021.07)
> from ARM [1], and a fairly recent linaro snapshot (11.0.1-2021.03) [2],
> to no avail. I tried with --enable-debug=symbols, --disable-debug,
> --enable-debug=full, no issue so far.
>
> Can you please share you configure settings?
I'm on ARM gcc 10.3-2021.07 as well. Debian's gcc from bullseye show
this, too.
./configure --host=arm-none-linux-gnueabihf --enable-debug=full
on master. And that results in
CC libarch_la-features.lo
../../../../../lib/cobalt/arch/arm/features.c: In function ‘cobalt_arch_check_features’:
../../../../../lib/cobalt/arch/arm/features.c:82:1: error: r7 cannot be used in ‘asm’ here
82 | }
| ^
Jan
--
Siemens AG, T RDA IOT
Corporate Competence Center Embedded Linux
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: Arm userland not building with gcc-9 and later
2021-08-08 16:55 ` Jan Kiszka
@ 2021-08-08 17:21 ` Philippe Gerum
2021-08-08 17:30 ` Jan Kiszka
0 siblings, 1 reply; 12+ messages in thread
From: Philippe Gerum @ 2021-08-08 17:21 UTC (permalink / raw)
To: Jan Kiszka; +Cc: Xenomai, Greg Gallagher
Jan Kiszka <jan.kiszka@siemens.com> writes:
> On 07.08.21 19:00, Philippe Gerum wrote:
>>
>> Jan Kiszka <jan.kiszka@siemens.com> writes:
>>
>>> Hi all,
>>>
>>> just wanted to debug the RTnet issues we now see in CI on arm and arm64.
>>> I picked arm as first target, but that apparently starts to break with
>>> gcc-9 or newer (tried 9.2 and 10.2):
>>>
>>> make[5]: Entering directory '/xenomai/lib/cobalt/arch/arm'
>>> CC libarch_la-features.lo
>>> features.c: In function 'cobalt_arch_check_features':
>>> features.c:82:1: error: r7 cannot be used in 'asm' here
>>> 82 | }
>>> | ^
>>>
>>> That seems to be related to passing the syscall number via r7 on ARM. Is
>>> our ABI soon no longer compilable, or can we fix this?
>>>
>>
>> Just tried to reproduce this issue with the latest stable (10.3-2021.07)
>> from ARM [1], and a fairly recent linaro snapshot (11.0.1-2021.03) [2],
>> to no avail. I tried with --enable-debug=symbols, --disable-debug,
>> --enable-debug=full, no issue so far.
>>
>> Can you please share you configure settings?
>
> I'm on ARM gcc 10.3-2021.07 as well. Debian's gcc from bullseye show
> this, too.
>
> ./configure --host=arm-none-linux-gnueabihf --enable-debug=full
>
> on master. And that results in
>
> CC libarch_la-features.lo
> ../../../../../lib/cobalt/arch/arm/features.c: In function ‘cobalt_arch_check_features’:
> ../../../../../lib/cobalt/arch/arm/features.c:82:1: error: r7 cannot be used in ‘asm’ here
> 82 | }
> | ^
>
Confirmed, found it. next is fine with this compiler, which is the
version I tested. However, building stable and master does break.
--
Philippe.
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: Arm userland not building with gcc-9 and later
2021-08-08 17:21 ` Philippe Gerum
@ 2021-08-08 17:30 ` Jan Kiszka
2021-08-08 17:55 ` Philippe Gerum
0 siblings, 1 reply; 12+ messages in thread
From: Jan Kiszka @ 2021-08-08 17:30 UTC (permalink / raw)
To: Philippe Gerum; +Cc: Xenomai, Greg Gallagher
On 08.08.21 19:21, Philippe Gerum wrote:
>
> Jan Kiszka <jan.kiszka@siemens.com> writes:
>
>> On 07.08.21 19:00, Philippe Gerum wrote:
>>>
>>> Jan Kiszka <jan.kiszka@siemens.com> writes:
>>>
>>>> Hi all,
>>>>
>>>> just wanted to debug the RTnet issues we now see in CI on arm and arm64.
>>>> I picked arm as first target, but that apparently starts to break with
>>>> gcc-9 or newer (tried 9.2 and 10.2):
>>>>
>>>> make[5]: Entering directory '/xenomai/lib/cobalt/arch/arm'
>>>> CC libarch_la-features.lo
>>>> features.c: In function 'cobalt_arch_check_features':
>>>> features.c:82:1: error: r7 cannot be used in 'asm' here
>>>> 82 | }
>>>> | ^
>>>>
>>>> That seems to be related to passing the syscall number via r7 on ARM. Is
>>>> our ABI soon no longer compilable, or can we fix this?
>>>>
>>>
>>> Just tried to reproduce this issue with the latest stable (10.3-2021.07)
>>> from ARM [1], and a fairly recent linaro snapshot (11.0.1-2021.03) [2],
>>> to no avail. I tried with --enable-debug=symbols, --disable-debug,
>>> --enable-debug=full, no issue so far.
>>>
>>> Can you please share you configure settings?
>>
>> I'm on ARM gcc 10.3-2021.07 as well. Debian's gcc from bullseye show
>> this, too.
>>
>> ./configure --host=arm-none-linux-gnueabihf --enable-debug=full
>>
>> on master. And that results in
>>
>> CC libarch_la-features.lo
>> ../../../../../lib/cobalt/arch/arm/features.c: In function ‘cobalt_arch_check_features’:
>> ../../../../../lib/cobalt/arch/arm/features.c:82:1: error: r7 cannot be used in ‘asm’ here
>> 82 | }
>> | ^
>>
>
> Confirmed, found it. next is fine with this compiler, which is the
> version I tested. However, building stable and master does break.
>
Yeah, I've already pushed the two related fixes into next for testing.
Can still be changed if we find a better solution.
Jan
--
Siemens AG, T RDA IOT
Corporate Competence Center Embedded Linux
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: Arm userland not building with gcc-9 and later
2021-08-08 17:30 ` Jan Kiszka
@ 2021-08-08 17:55 ` Philippe Gerum
0 siblings, 0 replies; 12+ messages in thread
From: Philippe Gerum @ 2021-08-08 17:55 UTC (permalink / raw)
To: Jan Kiszka; +Cc: Xenomai, Greg Gallagher
Jan Kiszka <jan.kiszka@siemens.com> writes:
> On 08.08.21 19:21, Philippe Gerum wrote:
>>
>> Jan Kiszka <jan.kiszka@siemens.com> writes:
>>
>>> On 07.08.21 19:00, Philippe Gerum wrote:
>>>>
>>>> Jan Kiszka <jan.kiszka@siemens.com> writes:
>>>>
>>>>> Hi all,
>>>>>
>>>>> just wanted to debug the RTnet issues we now see in CI on arm and arm64.
>>>>> I picked arm as first target, but that apparently starts to break with
>>>>> gcc-9 or newer (tried 9.2 and 10.2):
>>>>>
>>>>> make[5]: Entering directory '/xenomai/lib/cobalt/arch/arm'
>>>>> CC libarch_la-features.lo
>>>>> features.c: In function 'cobalt_arch_check_features':
>>>>> features.c:82:1: error: r7 cannot be used in 'asm' here
>>>>> 82 | }
>>>>> | ^
>>>>>
>>>>> That seems to be related to passing the syscall number via r7 on ARM. Is
>>>>> our ABI soon no longer compilable, or can we fix this?
>>>>>
>>>>
>>>> Just tried to reproduce this issue with the latest stable (10.3-2021.07)
>>>> from ARM [1], and a fairly recent linaro snapshot (11.0.1-2021.03) [2],
>>>> to no avail. I tried with --enable-debug=symbols, --disable-debug,
>>>> --enable-debug=full, no issue so far.
>>>>
>>>> Can you please share you configure settings?
>>>
>>> I'm on ARM gcc 10.3-2021.07 as well. Debian's gcc from bullseye show
>>> this, too.
>>>
>>> ./configure --host=arm-none-linux-gnueabihf --enable-debug=full
>>>
>>> on master. And that results in
>>>
>>> CC libarch_la-features.lo
>>> ../../../../../lib/cobalt/arch/arm/features.c: In function ‘cobalt_arch_check_features’:
>>> ../../../../../lib/cobalt/arch/arm/features.c:82:1: error: r7 cannot be used in ‘asm’ here
>>> 82 | }
>>> | ^
>>>
>>
>> Confirmed, found it. next is fine with this compiler, which is the
>> version I tested. However, building stable and master does break.
>>
>
> Yeah, I've already pushed the two related fixes into next for testing.
> Can still be changed if we find a better solution.
>
Ack.
--
Philippe.
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: Arm userland not building with gcc-9 and later
2021-08-06 13:00 Arm userland not building with gcc-9 and later Jan Kiszka
2021-08-06 13:09 ` Philippe Gerum
2021-08-07 17:00 ` Philippe Gerum
@ 2021-08-09 12:00 ` Jan Kiszka
2 siblings, 0 replies; 12+ messages in thread
From: Jan Kiszka @ 2021-08-09 12:00 UTC (permalink / raw)
To: Xenomai, Greg Gallagher, Philippe Gerum
On 06.08.21 15:00, Jan Kiszka via Xenomai wrote:
> Hi all,
>
> just wanted to debug the RTnet issues we now see in CI on arm and arm64.
> I picked arm as first target, but that apparently starts to break with
> gcc-9 or newer (tried 9.2 and 10.2):
>
> make[5]: Entering directory '/xenomai/lib/cobalt/arch/arm'
> CC libarch_la-features.lo
> features.c: In function 'cobalt_arch_check_features':
> features.c:82:1: error: r7 cannot be used in 'asm' here
> 82 | }
> | ^
>
> That seems to be related to passing the syscall number via r7 on ARM. Is
> our ABI soon no longer compilable, or can we fix this?
>
> Jan
>
Correction: The issue is likely older. I've just checked buster's gcc-8,
and it shows the very same behavior. Will update the commit messages if
we stick with my solutions.
Jan
--
Siemens AG, T RDA IOT
Corporate Competence Center Embedded Linux
^ permalink raw reply [flat|nested] 12+ messages in thread
end of thread, other threads:[~2021-08-09 12:00 UTC | newest]
Thread overview: 12+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-08-06 13:00 Arm userland not building with gcc-9 and later Jan Kiszka
2021-08-06 13:09 ` Philippe Gerum
2021-08-06 13:14 ` Jan Kiszka
2021-08-06 13:34 ` Philippe Gerum
2021-08-06 16:16 ` Jan Kiszka
2021-08-06 17:12 ` Jan Kiszka
2021-08-07 17:00 ` Philippe Gerum
2021-08-08 16:55 ` Jan Kiszka
2021-08-08 17:21 ` Philippe Gerum
2021-08-08 17:30 ` Jan Kiszka
2021-08-08 17:55 ` Philippe Gerum
2021-08-09 12:00 ` Jan Kiszka
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.