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