Current-Users archive

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

ARM ABI changes/combinations (was Re: Preparation for creating netbsd-7 branch)



On 7/21/14, 4:28 AM, Nick Hudson wrote:


IMO, non-earm ABI builds should be dropped in favour of earm and a subset of evbarm earm variants should be made available.


This seems reasonable, and I am also going to suggest that the defaults change on those ports which are switching to EABI.

ie, it seems to me like "cats" should build MACHINE=cats MACHINE_ARCH=earmv4

while (assuming we're not ripping OABI out) "ocats" can be an alias for MACHINE=cats MACHINE_ARCH=arm

Likewise, evbarm* should change to EABI by default and evboarm* can build for the old ABI

Something (build.sh/wiki/both) can document each evbarm board to the correct MACHINE_ARCH variant based could then be provided.

build.sh already contains useful information here

zoom$ grep earm /usr/src/build.sh
MACHINE=cats            MACHINE_ARCH=earmv4     ALIAS=ecats
MACHINE=evbarm          MACHINE_ARCH=earm       ALIAS=evbearm-el
MACHINE=evbarm          MACHINE_ARCH=earmeb     ALIAS=evbearm-eb
MACHINE=evbarm          MACHINE_ARCH=earmhf     ALIAS=evbearmhf-el
MACHINE=evbarm          MACHINE_ARCH=earmhfeb   ALIAS=evbearmhf-eb
MACHINE=evbarm          MACHINE_ARCH=earmv4     ALIAS=evbearmv4-el
MACHINE=evbarm          MACHINE_ARCH=earmv4eb   ALIAS=evbearmv4-eb
MACHINE=evbarm          MACHINE_ARCH=earmv5     ALIAS=evbearmv5-el
MACHINE=evbarm          MACHINE_ARCH=earmv5eb   ALIAS=evbearmv5-eb
MACHINE=evbarm          MACHINE_ARCH=earmv6     ALIAS=evbearmv6-el
MACHINE=evbarm          MACHINE_ARCH=earmv6hf ALIAS=evbearmv6hf-el
MACHINE=evbarm          MACHINE_ARCH=earmv6eb   ALIAS=evbearmv6-eb
MACHINE=evbarm          MACHINE_ARCH=earmv6hfeb ALIAS=evbearmv6hf-eb
MACHINE=evbarm          MACHINE_ARCH=earmv7     ALIAS=evbearmv7-el
MACHINE=evbarm          MACHINE_ARCH=earmv7eb   ALIAS=evbearmv7-eb
MACHINE=evbarm          MACHINE_ARCH=earmv7hf ALIAS=evbearmv7hf-el
MACHINE=evbarm          MACHINE_ARCH=earmv7hfeb ALIAS=evbearmv7hf-eb
MACHINE=hpcarm          MACHINE_ARCH=earm       ALIAS=hpcearm
MACHINE=iyonix          MACHINE_ARCH=earm       ALIAS=eiyonix
MACHINE=netwinder       MACHINE_ARCH=earmv4     ALIAS=enetwinder
MACHINE=shark           MACHINE_ARCH=earmv4     ALIAS=eshark
MACHINE=zaurus          MACHINE_ARCH=earm       ALIAS=ezaurus
zoom$


The evbarm board information can be derived from

http://nxr.netbsd.org/xref/src/etc/etc.evbarm/Makefile.inc

Building all arm ports for acorn32 compatibility is madness.


So, what I am proposing:

- acorn26, acorn32, epoc32 remain MACHINE_ARCH=arm
- cats, netwinder, shark switch to MACHINE_ARCH=earmv4 (rename oabi equiv to ocats, onetwinder, oshark) - hpcarm, iyonix, zaurus switch to MACHINE_ARCH=earm (which is equivalent to earmv5, correct?) - evbarm switch default MACHINE_ARCH=earm, and also build the following MACHINE_ARCHes:
  * earm, earmeb
  * earmhf, earmhfeb
  * earmv6hf
  * earmv7hf

Does this make sense? If so, i'll post a diff with the proposed change to src, and once that's committed, I'll fix up the autobuild.

Does anyone have a start at documenting this on the wiki for someone who might actually want to use one of our arm ports? :)

+j



Home | Main Index | Thread Index | Old Index