fails to build on arm 32-bit with GCC 9, because armv5 support has been dropped

Bug #1839783 reported by Sébastien Villemot
10
This bug affects 2 people
Affects Status Importance Assigned to Milestone
SBCL
New
Undecided
Unassigned

Bug Description

Dear SBCL maintainers,

Support for ARMv5 has been removed in GCC 9 (see [1]).

As a consequence, it is no longer possible to build SBCL on GNU/Linux for ARM 32-bit, because src/runtime/Config.arm-linux adds the “-march=armv5”.

On Debian, the solution that I implemented consists in removing the ARM-specific flags from the GCC command line (so that the binary automatically aligns with the baseline for the ARM port). Ubuntu rather chose to use “-march=armv7-a” (see [2] for the discussion).

Best,

[1] https://gcc.gnu.org/git/?p=gcc.git;a=commit;h=b232e6b58e3766bc66fe08fdb7bcba1bdadda8a2
[2] https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=931795

Revision history for this message
Sébastien Villemot (sebastien-villemot) wrote :

Actually the “-marm” flag should not be dropped, it is needed. I have put it back on Debian.

Revision history for this message
Douglas Katzman (dougk) wrote :

Apropos of this, I was just asking on sbcl-devel whether we can drop support for 32-bit ARM older than ARMv6T2. Are you saying you care, or don't care? (I get that the gcc flags are also at issue)

https://groups.google.com/g/sbcl-devel/c/NkYGeHBVq8Y

Revision history for this message
Sébastien Villemot (sebastien-villemot) wrote :

Debian currently has two 32-bit ARM ports:
- "armel", whose baseline is ARMv5T
- "armhf", whose baseline is ARMv7 + VFPv3-D16

There are regularly discussions about whether to drop the oldest one (armel), but for the time being there is still a demand for it.

So I’d prefer that you keep the support for ARMv5T, but I could adapt if you were to drop it (I would basically have to ask for the removal of SBCL on our armel port).

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.