SSD on the Netwinder

D. Hugh Redelmeier hugh at
Wed Apr 17 19:01:18 PDT 2019

| From: Ralph Siemsen <ralphs at>

| Last time I tried building, I ran into problems with both uClibc and glibc. I
| couldn't convince their build systems to pass the --fix-v4bx kludge to the
| linker. However I was able to build musl (which is yet another libc
| implementation).

Wow.  I just Googled for that flag.

If GCC no longer supports -march=armv4 but still supports
-march=armv4t, it will generate instructions that use the bx register.
This will not work on armv4 machines.
But the linker, if fed --fix-v4bx, will patch out those instructions.

Boy that sounds dumb.  How hard would it have been to keep
-march=armv4 if v4t is kept?

At least that's how I understand this message on LKML from December


That only covered the kernel.  Do we know if userland can be handled
so simply?

Has -march=armv4 actually gone?

Would it be better to use the last GCC that supported -march=v4?  I
assume that since the loss of support was in the future in 2017, it
might not be too much of a downgrade.  The LKML message suggests that
GCC 8.0 would likely be the first compiler without armv4 support.

I wonder if the loss of -mtune=strongarm110 has a noticeable effect on
code density or speed.  A later message in the thread suggests
-mtune=xscale might be a good substitute.  Or maybe -mtune=arm7tdmi.


More information about the Netwinder mailing list