Hi Everyone,

I think this is a GCC or Debian bug. Here is my reasoning.

Developers are responsible to declare the ISA they are using through
options. In our case, we are using armv4 and armv7, so we let the
compiler know via -march=armv7-a. That's where a developer's
responsibility ends. We are not using fp or neon, so we don't declare
it.

This could be GCC's bug because GCC knows a fp unit is used, and knows
it is hardfloat ABI, but it fails to compile/assemble the source
because we did not specify an option we are not using. If GCC knows
the ABI, then it should use that knowledge. And it makes no sense to
me to declare options we are not using. I'm not getting into that
business.

This could be a Debian bug because the compiler configuration could be
incomplete. Apparently an ABI is specified, but a fp is not. Debian
should supply both or neither. Supplying half of the configuration
seems like a mistake because it is confusing the compiler. For what
it's worth, I sympathize with Debian here. How can you have an
architecture with a hardfloat ABI but not have a fp unit? It makes no
sense to me.

Maybe Debian will have better luck helping the GCC folks to sort out
their twisted logic.

Jeff

Reply via email to