Port-arm archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: Booting on RiscPC



On Tue, 26 Mar 2019, Mike Pumford wrote:
[snip]
The podule problem is a lot more awkward to solve as it relates to the fact that NetBSD-current now uses GCC 7. GCC7 has dropped support for the armv3 instruction set which means that the underlying compiler architecture has changed for acorn32. Whilst the strongARM is a v4 instruction set CPU there is a hardware issue on the RiscPC that stops the ldrh instruction from working. This meant that the podule identification code was losing the top byte of the podule vendor/device IDs.

build.sh can be persuaded to revert to GCC 6. To do this you need to set the environment:
HAVE_GCC=6

You also need to add '-a arm' to the build.sh options when building things.

These force build.sh to use gcc.old rather than gcc and to select the armv3 backend. This may make it very difficult for the acorn32 port to continue to exist as its going to require local patches to gcc to keep things going.

If we can persuade gcc7 not not generate ldrh but otherwise be armv4 it might be workable but thats way outside my skillset. :(

OK, so -current drops support for ARM6/7 unless GCC6 is used. This
kills A7000, NC and RiscPC 600/700.

It may be possible to forward port the GCC5/6 code to future GCCs for the
armv3 target, but it would require someone to maintain it. I don't think llvm will help us here. Anyway, this part is probably better aimed at port-arm%netbsd.org@localhost (Cc: added).

--
Stephen



Home | Main Index | Thread Index | Old Index