SSD on the Netwinder

Ralph Siemsen ralphs at netwinder.org
Mon Apr 22 17:56:48 PDT 2019


On Mon, Apr 22, 2019 at 06:26:37AM -0700, Daniel Gimpelevich wrote:
>
>OK. I definitely misread that mailing list message before. Any thoughts
>on --fix-v4bx breaking the cfcmp* routines in libgcc
>(gcc/config/arm/ieee-{sf,df}.S) as mentioned on the Debian wiki page?

I can't see how --fix-v4bx would break cfcmp* routines. If anything, it 
is the opposite. If you compiled on armv4t or higher, an EABI compiler 
will use "bx" to return from subroutines. In the case of cfcmp* funcs, 
this would be problematic, because "bx" clobbers flags.

Looking at the source code for the cfcmp* functions, they all return 
using a macro called RETLDM. This macro checks for  __INTERWORKING__ and 
thumb mode, else it expands to a "ldm" sequence. This seems reasonable 
to me, and the binaries I built with gcc-8 are showing the "ldm".

-Ralph



More information about the Netwinder mailing list