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

2014-07-25 Thread Alan Barrett

On Thu, 24 Jul 2014, Jeff Rizzo wrote:
(Please keep me on the cc: when replying, otherwise we get 24-hour 
lags such as this waiting for me to check list mail again)


OK.


... I'd keep the new ALIAS=evbearm* and remove the old ALIAS=evbarm*
lines, not provide both.


This ^^^  is actually why I have two aliase, because I personally 
would keep the evbarm* style ones (since that's the port name) while 
removing the evbearm* style ones, now that earm is the default.


I don't care which of the two you keep, but I think it's ugly to 
have two aliases that mean the same thing.


If backward compatibility in alias names is important, then let's 
at least invent a DEPRECATED keyword to mark the old aliases, or 
use OALIAS= instead of ALIAS=.  Adding a new keyword will not 
require code changes, whereas adding OALIAS= will require a small 
patch, such as the attached.


--apb (Alan Barrett)
Index: build.sh
===
--- build.sh6 Jul 2014 18:04:44 -   1.285
+++ build.sh25 Jul 2014 07:25:58 -
@@ -578,7 +578,8 @@ initdefaults()
 #
 # Each line contains a MACHINE and MACHINE_ARCH value, an optional ALIAS
 # which may be used to refer to the MACHINE/MACHINE_ARCH pair, and an
-# optional DEFAULT or NO_DEFAULT keyword.
+# optional DEFAULT or NO_DEFAULT keyword.  OALIAS works just like ALIAS,
+# but is for obsolete or deprecated aliases that may be removed in future.
 #
 # When a MACHINE corresponds to multiple possible values of
 # MACHINE_ARCH, then this table should list all allowed combinations.
@@ -727,6 +728,12 @@ getarch()
found=$line
break
;;
+   * OALIAS=${MACHINE} *)
+   # Found a line with a matching OALIAS=alias.
+   warning Machine alias '${MACHINE}' is deprecated.
+   found=$line
+   break
+   ;;
MACHINE=${MACHINE} * NO_DEFAULT*)
# Found an explicit NO_DEFAULT for this MACHINE.
found=$line


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

2014-07-25 Thread William D. Jones

Would it be a problem for you if the alias names were changed?


--apb (Alan Barrett)

Not at all- I'll just regenerate my scripts. I was concerned that the 
aliases would be removed period because technically they're redundant. The 
aliases however, make generating my scripts easier. 



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

2014-07-25 Thread Jeff Rizzo

On 7/25/14, 12:28 AM, Alan Barrett wrote:


I don't care which of the two you keep, but I think it's ugly to have 
two aliases that mean the same thing.


After thinking about it some more, I've adopted your original 
suggestion.  Here's what I want to commit, probably tomorrow.



Index: build.sh
===
RCS file: /cvsroot/src/build.sh,v
retrieving revision 1.285
diff -u -r1.285 build.sh
--- build.sh6 Jul 2014 18:04:44 -   1.285
+++ build.sh26 Jul 2014 00:23:41 -
@@ -602,17 +602,17 @@
 MACHINE=arcMACHINE_ARCH=mipsel DEFAULT
 MACHINE=atari  MACHINE_ARCH=m68k
 MACHINE=bebox  MACHINE_ARCH=powerpc
-MACHINE=cats   MACHINE_ARCH=armDEFAULT
-MACHINE=cats   MACHINE_ARCH=earmv4 ALIAS=ecats
+MACHINE=cats   MACHINE_ARCH=armALIAS=ocats
+MACHINE=cats   MACHINE_ARCH=earmv4 ALIAS=ecats DEFAULT
 MACHINE=cesfic MACHINE_ARCH=m68k
 MACHINE=cobalt MACHINE_ARCH=mips64el   ALIAS=cobalt64
 MACHINE=cobalt MACHINE_ARCH=mipsel DEFAULT
 MACHINE=dreamcast  MACHINE_ARCH=sh3el
 MACHINE=emips  MACHINE_ARCH=mipseb
 MACHINE=epoc32 MACHINE_ARCH=arm
-MACHINE=evbarm MACHINE_ARCH=armALIAS=evbarm-el DEFAULT
-MACHINE=evbarm MACHINE_ARCH=armeb  ALIAS=evbarm-eb
-MACHINE=evbarm MACHINE_ARCH=earm   ALIAS=evbearm-el
+MACHINE=evbarm MACHINE_ARCH=armALIAS=evboarm-el
+MACHINE=evbarm MACHINE_ARCH=armeb  ALIAS=evboarm-eb
+MACHINE=evbarm MACHINE_ARCH=earm   ALIAS=evbearm-el DEFAULT
 MACHINE=evbarm MACHINE_ARCH=earmeb ALIAS=evbearm-eb
 MACHINE=evbarm MACHINE_ARCH=earmhf ALIAS=evbearmhf-el
 MACHINE=evbarm MACHINE_ARCH=earmhfeb   ALIAS=evbearmhf-eb
@@ -642,15 +642,16 @@
 MACHINE=ews4800mipsMACHINE_ARCH=mipseb
 MACHINE=hp300  MACHINE_ARCH=m68k
 MACHINE=hppa   MACHINE_ARCH=hppa
-MACHINE=hpcarm MACHINE_ARCH=armDEFAULT
+MACHINE=hpcarm MACHINE_ARCH=armALIAS=hpcoarm
 MACHINE=hpcarm MACHINE_ARCH=earm   ALIAS=hpcearm
+MACHINE=hpcarm MACHINE_ARCH=earmv4 ALIAS=hpcearmv4 DEFAULT
 MACHINE=hpcmipsMACHINE_ARCH=mipsel
 MACHINE=hpcsh  MACHINE_ARCH=sh3el
 MACHINE=i386   MACHINE_ARCH=i386
 MACHINE=ia64   MACHINE_ARCH=ia64
 MACHINE=ibmnws MACHINE_ARCH=powerpc
-MACHINE=iyonix MACHINE_ARCH=armDEFAULT
-MACHINE=iyonix MACHINE_ARCH=earm   ALIAS=eiyonix
+MACHINE=iyonix MACHINE_ARCH=armALIAS=oiyonix
+MACHINE=iyonix MACHINE_ARCH=earm   ALIAS=eiyonix DEFAULT
 MACHINE=landiskMACHINE_ARCH=sh3el
 MACHINE=luna68kMACHINE_ARCH=m68k
 MACHINE=mac68k MACHINE_ARCH=m68k
@@ -660,8 +661,8 @@
 MACHINE=mmeye  MACHINE_ARCH=sh3eb
 MACHINE=mvme68kMACHINE_ARCH=m68k
 MACHINE=mvmeppcMACHINE_ARCH=powerpc
-MACHINE=netwinder  MACHINE_ARCH=armDEFAULT
-MACHINE=netwinder  MACHINE_ARCH=earmv4 ALIAS=enetwinder
+MACHINE=netwinder  MACHINE_ARCH=armALIAS=onetwinder
+MACHINE=netwinder  MACHINE_ARCH=earmv4 ALIAS=enetwinder DEFAULT
 MACHINE=news68kMACHINE_ARCH=m68k
 MACHINE=newsmips   MACHINE_ARCH=mipseb
 MACHINE=next68kMACHINE_ARCH=m68k
@@ -680,16 +681,16 @@
 MACHINE=sbmips MACHINE_ARCH=mipsel ALIAS=sbmips-el
 MACHINE=sgimipsMACHINE_ARCH=mips64eb   ALIAS=sgimips64
 MACHINE=sgimipsMACHINE_ARCH=mipseb DEFAULT
-MACHINE=shark  MACHINE_ARCH=armDEFAULT
-MACHINE=shark  MACHINE_ARCH=earmv4 ALIAS=eshark
+MACHINE=shark  MACHINE_ARCH=armALIAS=oshark
+MACHINE=shark  MACHINE_ARCH=earmv4 ALIAS=eshark DEFAULT
 MACHINE=sparc  MACHINE_ARCH=sparc
 MACHINE=sparc64MACHINE_ARCH=sparc64
 MACHINE=sun2   MACHINE_ARCH=m68000
 MACHINE=sun3   MACHINE_ARCH=m68k
 MACHINE=vaxMACHINE_ARCH=vax
 MACHINE=x68k   MACHINE_ARCH=m68k
-MACHINE=zaurus MACHINE_ARCH=armDEFAULT
-MACHINE=zaurus MACHINE_ARCH=earm   ALIAS=ezaurus
+MACHINE=zaurus MACHINE_ARCH=armALIAS=ozaurus
+MACHINE=zaurus MACHINE_ARCH=earm   ALIAS=ezaurus DEFAULT
 '
 
 # getarch -- find the default MACHINE_ARCH for a MACHINE,


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

2014-07-24 Thread Jeff Rizzo
(Please keep me on the cc: when replying, otherwise we get 24-hour lags 
such as this waiting for me to check list mail again)


On 7/23/14, 12:10 PM, Alan Barrett wrote:

On Wed, 23 Jul 2014, Jeff Rizzo wrote:
Attached is the proposed diff to build.sh with the changes, including 
hpcarm - MACHINE_ARCH=earmv4 .


This patch introduces many cases in which the same 
MACHINE/MACHINE_ARCH pair is listed under more than one ALIAS.  I 
don't see the point of that.


To forestall complaints of the form, the name I used to use no longer 
works, and it's not clear what new one I should use.


Aliases are primarily useful as a shorthand for people who run 
build.sh, and such people can be expected to adapt to changed alias 
names or changed defaults, without needing both old and new alias 
names to refer to identical MACHINE/MACHINE_ARCH pairs.




OK, aliases are also usable with kver(8) from pkgsrc/devel/libkver, 
which contains a cut and pasted copy of the part of build.sh that 
deals with MACHINE/MACHINE_ARCH/ALIAS parsing, but kver uses are so 
specialised that I don't think we need backward compatible aliases 
there either.


For example, in this list ...


-MACHINE=evbarmMACHINE_ARCH=arm ALIAS=evbarm-elDEFAULT
-MACHINE=evbarmMACHINE_ARCH=armebALIAS=evbarm-eb
+MACHINE=evbarmMACHINE_ARCH=armALIAS=evboarm-el
+MACHINE=evbarmMACHINE_ARCH=armebALIAS=evboarm-eb
+MACHINE=evbarmMACHINE_ARCH=earmALIAS=evbarm-el DEFAULT
MACHINE=evbarmMACHINE_ARCH=earmALIAS=evbearm-el
+MACHINE=evbarmMACHINE_ARCH=earmebALIAS=evbarm-eb
MACHINE=evbarmMACHINE_ARCH=earmebALIAS=evbearm-eb
+MACHINE=evbarmMACHINE_ARCH=earmhfALIAS=evbarmhf-el
MACHINE=evbarmMACHINE_ARCH=earmhfALIAS=evbearmhf-el
+MACHINE=evbarmMACHINE_ARCH=earmhfeb ALIAS=evbarmhf-eb
MACHINE=evbarmMACHINE_ARCH=earmhfeb ALIAS=evbearmhf-eb
+MACHINE=evbarmMACHINE_ARCH=earmv4ALIAS=evbarmv4-el
MACHINE=evbarmMACHINE_ARCH=earmv4ALIAS=evbearmv4-el
+MACHINE=evbarmMACHINE_ARCH=earmv4eb ALIAS=evbarmv4-eb
MACHINE=evbarmMACHINE_ARCH=earmv4eb ALIAS=evbearmv4-eb
+MACHINE=evbarmMACHINE_ARCH=earmv5ALIAS=evbarmv5-el
MACHINE=evbarmMACHINE_ARCH=earmv5ALIAS=evbearmv5-el
+MACHINE=evbarmMACHINE_ARCH=earmv5eb ALIAS=evbarmv5-eb
MACHINE=evbarmMACHINE_ARCH=earmv5eb ALIAS=evbearmv5-eb
+MACHINE=evbarmMACHINE_ARCH=earmv6ALIAS=evbarmv6-el
MACHINE=evbarmMACHINE_ARCH=earmv6ALIAS=evbearmv6-el
+MACHINE=evbarmMACHINE_ARCH=earmv6hf ALIAS=evbarmv6hf-el
MACHINE=evbarmMACHINE_ARCH=earmv6hf ALIAS=evbearmv6hf-el
+MACHINE=evbarmMACHINE_ARCH=earmv6eb ALIAS=evbarmv6-eb
MACHINE=evbarmMACHINE_ARCH=earmv6eb ALIAS=evbearmv6-eb
+MACHINE=evbarmMACHINE_ARCH=earmv6hfeb ALIAS=evbarmv6hf-eb
MACHINE=evbarmMACHINE_ARCH=earmv6hfeb ALIAS=evbearmv6hf-eb
+MACHINE=evbarmMACHINE_ARCH=earmv7ALIAS=evbarmv7-el
MACHINE=evbarmMACHINE_ARCH=earmv7ALIAS=evbearmv7-el
+MACHINE=evbarmMACHINE_ARCH=earmv7eb ALIAS=evbarmv7-eb
MACHINE=evbarmMACHINE_ARCH=earmv7eb ALIAS=evbearmv7-eb
+MACHINE=evbarmMACHINE_ARCH=earmv7hf ALIAS=evbarmv7hf-el
MACHINE=evbarmMACHINE_ARCH=earmv7hf ALIAS=evbearmv7hf-el
+MACHINE=evbarmMACHINE_ARCH=earmv7hfeb ALIAS=evbarmv7hf-eb
MACHINE=evbarmMACHINE_ARCH=earmv7hfeb ALIAS=evbearmv7hf-eb


... I'd keep the new ALIAS=evbearm* and remove the old ALIAS=evbarm*
lines, not provide both.



This ^^^  is actually why I have two aliase, because I personally would 
keep the evbarm* style ones (since that's the port name) while removing 
the evbearm* style ones, now that earm is the default.



That said, if people don't care about aliases, I can remove them.


--apb (Alan Barrett)


+j



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

2014-07-24 Thread William D. Jones

Accidentally forgot to Cc: the mailing list... whoops!

-Original Message- 
From: William D. Jones

Sent: Thursday, July 24, 2014 10:55 PM
To: Jeff Rizzo
Subject: Re: ARM ABI changes/combinations (was Re: Preparation for creating 
netbsd-7 branch)




That said, if people don't care about aliases, I can remove them.
+j


I happen to use the aliases to simplify generation of a build.sh wrapper
using m4 (although if necessary I could run etcmanage on my cross compiling
machine). See: https://gist.github.com/cr1901/07b8e6810caedc31fe7c

--
William D. Jones
Rowan University | ECE | 2012
Member IEEE
Member Tau Beta Pi
thor0...@comcast.net
Message sent using 'Windows Live Mail' client.

--
William D. Jones
Rowan University | ECE | 2012
Member IEEE
Member Tau Beta Pi
thor0...@comcast.net
Message sent using 'Windows Live Mail' client. 



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

2014-07-23 Thread Alan Barrett

On Tue, 22 Jul 2014, Robert Swindells wrote:

I would prefer hpcarm to switch to MACHINE_ARCH=earmv4


Currently, build.sh would reject that as invalid.  It knows the
following MACHINE/MACHINE_ARCH settings for hpcarm:

MACHINE=hpcarm  MACHINE_ARCH=armDEFAULT
MACHINE=hpcarm  MACHINE_ARCH=earm   ALIAS=hpcearm

If you want earmv4 to be the default, you could change those lines,
perhaps to something like:

MACHINE=hpcarm  MACHINE_ARCH=armALIAS=hpcarm-old
MACHINE=hpcarm  MACHINE_ARCH=earm   ALIAS=hpcearm
MACHINE=hpcarm  MACHINE_ARCH=earmv4 ALIAS=hpcearmv4 DEFAULT

The MACHINE_ARCH tagged DEFAULT is used if you run build.sh with 
-m MACHINE and without -a MACHINE_ARCH.  The ALIAS is usable 
as a shorthand, where running build.sh with -m ALIAS implies -m 
MACHINE -a MACHINE_ARCH.


--apb (Alan Barrett)


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

2014-07-23 Thread Jeff Rizzo

On 7/22/14, 2:28 PM, Jeff Rizzo wrote:


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




Attached is the proposed diff to build.sh with the changes, including 
hpcarm - MACHINE_ARCH=earmv4 .


I would like to commit this in the next 48h unless there are objections.

Index: build.sh
===
RCS file: /cvsroot/src/build.sh,v
retrieving revision 1.285
diff -u -r1.285 build.sh
--- build.sh6 Jul 2014 18:04:44 -   1.285
+++ build.sh23 Jul 2014 18:43:32 -
@@ -602,31 +602,47 @@
 MACHINE=arcMACHINE_ARCH=mipsel DEFAULT
 MACHINE=atari  MACHINE_ARCH=m68k
 MACHINE=bebox  MACHINE_ARCH=powerpc
-MACHINE=cats   MACHINE_ARCH=armDEFAULT
-MACHINE=cats   MACHINE_ARCH=earmv4 ALIAS=ecats
+MACHINE=cats   MACHINE_ARCH=armALIAS=ocats
+MACHINE=cats   MACHINE_ARCH=earmv4 ALIAS=ecats DEFAULT
 MACHINE=cesfic MACHINE_ARCH=m68k
 MACHINE=cobalt MACHINE_ARCH=mips64el   ALIAS=cobalt64
 MACHINE=cobalt MACHINE_ARCH=mipsel DEFAULT
 MACHINE=dreamcast  MACHINE_ARCH=sh3el
 MACHINE=emips  MACHINE_ARCH=mipseb
 MACHINE=epoc32 MACHINE_ARCH=arm
-MACHINE=evbarm MACHINE_ARCH=armALIAS=evbarm-el DEFAULT
-MACHINE=evbarm MACHINE_ARCH=armeb  ALIAS=evbarm-eb
+MACHINE=evbarm MACHINE_ARCH=armALIAS=evboarm-el
+MACHINE=evbarm MACHINE_ARCH=armeb  ALIAS=evboarm-eb
+MACHINE=evbarm MACHINE_ARCH=earm   ALIAS=evbarm-el DEFAULT
 MACHINE=evbarm MACHINE_ARCH=earm   ALIAS=evbearm-el
+MACHINE=evbarm MACHINE_ARCH=earmeb ALIAS=evbarm-eb
 MACHINE=evbarm MACHINE_ARCH=earmeb ALIAS=evbearm-eb
+MACHINE=evbarm MACHINE_ARCH=earmhf ALIAS=evbarmhf-el
 MACHINE=evbarm MACHINE_ARCH=earmhf ALIAS=evbearmhf-el
+MACHINE=evbarm MACHINE_ARCH=earmhfeb   ALIAS=evbarmhf-eb
 MACHINE=evbarm MACHINE_ARCH=earmhfeb   ALIAS=evbearmhf-eb
+MACHINE=evbarm MACHINE_ARCH=earmv4 ALIAS=evbarmv4-el
 MACHINE=evbarm MACHINE_ARCH=earmv4 ALIAS=evbearmv4-el
+MACHINE=evbarm MACHINE_ARCH=earmv4eb   ALIAS=evbarmv4-eb
 MACHINE=evbarm MACHINE_ARCH=earmv4eb   ALIAS=evbearmv4-eb
+MACHINE=evbarm MACHINE_ARCH=earmv5 ALIAS=evbarmv5-el
 MACHINE=evbarm MACHINE_ARCH=earmv5 ALIAS=evbearmv5-el
+MACHINE=evbarm MACHINE_ARCH=earmv5eb   ALIAS=evbarmv5-eb
 MACHINE=evbarm MACHINE_ARCH=earmv5eb   ALIAS=evbearmv5-eb
+MACHINE=evbarm MACHINE_ARCH=earmv6 ALIAS=evbarmv6-el
 MACHINE=evbarm MACHINE_ARCH=earmv6 ALIAS=evbearmv6-el
+MACHINE=evbarm MACHINE_ARCH=earmv6hf   ALIAS=evbarmv6hf-el
 MACHINE=evbarm MACHINE_ARCH=earmv6hf   ALIAS=evbearmv6hf-el
+MACHINE=evbarm MACHINE_ARCH=earmv6eb   ALIAS=evbarmv6-eb
 MACHINE=evbarm MACHINE_ARCH=earmv6eb   ALIAS=evbearmv6-eb
+MACHINE=evbarm MACHINE_ARCH=earmv6hfeb ALIAS=evbarmv6hf-eb
 MACHINE=evbarm MACHINE_ARCH=earmv6hfeb ALIAS=evbearmv6hf-eb
+MACHINE=evbarm MACHINE_ARCH=earmv7 ALIAS=evbarmv7-el
 MACHINE=evbarm MACHINE_ARCH=earmv7 ALIAS=evbearmv7-el
+MACHINE=evbarm MACHINE_ARCH=earmv7eb   ALIAS=evbarmv7-eb
 MACHINE=evbarm MACHINE_ARCH=earmv7eb   ALIAS=evbearmv7-eb
+MACHINE=evbarm MACHINE_ARCH=earmv7hf   ALIAS=evbarmv7hf-el
 MACHINE=evbarm MACHINE_ARCH=earmv7hf   ALIAS=evbearmv7hf-el
+MACHINE=evbarm MACHINE_ARCH=earmv7hfeb ALIAS=evbarmv7hf-eb
 MACHINE=evbarm MACHINE_ARCH=earmv7hfeb ALIAS=evbearmv7hf-eb
 MACHINE=evbcf  MACHINE_ARCH=coldfire
 MACHINE=evbmipsMACHINE_ARCH=   NO_DEFAULT
@@ -642,15 +658,16 @@
 MACHINE=ews4800mipsMACHINE_ARCH=mipseb
 MACHINE=hp300  MACHINE_ARCH=m68k
 MACHINE=hppa   MACHINE_ARCH=hppa
-MACHINE=hpcarm MACHINE_ARCH=armDEFAULT
+MACHINE=hpcarm MACHINE_ARCH=armALIAS=hpcoarm
 MACHINE=hpcarm MACHINE_ARCH=earm   ALIAS=hpcearm
+MACHINE=hpcarm MACHINE_ARCH=earmv4 ALIAS=hpcearmv4 DEFAULT
 MACHINE=hpcmipsMACHINE_ARCH=mipsel
 MACHINE=hpcsh  MACHINE_ARCH=sh3el
 MACHINE=i386   MACHINE_ARCH=i386
 MACHINE=ia64   MACHINE_ARCH=ia64
 

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

2014-07-23 Thread Alan Barrett

On Wed, 23 Jul 2014, Jeff Rizzo wrote:
Attached is the proposed diff to build.sh with the changes, including 
hpcarm - MACHINE_ARCH=earmv4 .


This patch introduces many cases in which the same 
MACHINE/MACHINE_ARCH pair is listed under more than one ALIAS.  I 
don't see the point of that.


Aliases are primarily useful as a shorthand for people who run 
build.sh, and such people can be expected to adapt to changed 
alias names or changed defaults, without needing both old and new 
alias names to refer to identical MACHINE/MACHINE_ARCH pairs.


OK, aliases are also usable with kver(8) from 
pkgsrc/devel/libkver, which contains a cut and pasted copy of 
the part of build.sh that deals with MACHINE/MACHINE_ARCH/ALIAS 
parsing, but kver uses are so specialised that I don't think we 
need backward compatible aliases there either.


For example, in this list ...


-MACHINE=evbarm MACHINE_ARCH=armALIAS=evbarm-el DEFAULT
-MACHINE=evbarm MACHINE_ARCH=armeb  ALIAS=evbarm-eb
+MACHINE=evbarm MACHINE_ARCH=armALIAS=evboarm-el
+MACHINE=evbarm MACHINE_ARCH=armeb  ALIAS=evboarm-eb
+MACHINE=evbarm MACHINE_ARCH=earm   ALIAS=evbarm-el DEFAULT
MACHINE=evbarm  MACHINE_ARCH=earm   ALIAS=evbearm-el
+MACHINE=evbarm MACHINE_ARCH=earmeb ALIAS=evbarm-eb
MACHINE=evbarm  MACHINE_ARCH=earmeb ALIAS=evbearm-eb
+MACHINE=evbarm MACHINE_ARCH=earmhf ALIAS=evbarmhf-el
MACHINE=evbarm  MACHINE_ARCH=earmhf ALIAS=evbearmhf-el
+MACHINE=evbarm MACHINE_ARCH=earmhfeb   ALIAS=evbarmhf-eb
MACHINE=evbarm  MACHINE_ARCH=earmhfeb   ALIAS=evbearmhf-eb
+MACHINE=evbarm MACHINE_ARCH=earmv4 ALIAS=evbarmv4-el
MACHINE=evbarm  MACHINE_ARCH=earmv4 ALIAS=evbearmv4-el
+MACHINE=evbarm MACHINE_ARCH=earmv4eb   ALIAS=evbarmv4-eb
MACHINE=evbarm  MACHINE_ARCH=earmv4eb   ALIAS=evbearmv4-eb
+MACHINE=evbarm MACHINE_ARCH=earmv5 ALIAS=evbarmv5-el
MACHINE=evbarm  MACHINE_ARCH=earmv5 ALIAS=evbearmv5-el
+MACHINE=evbarm MACHINE_ARCH=earmv5eb   ALIAS=evbarmv5-eb
MACHINE=evbarm  MACHINE_ARCH=earmv5eb   ALIAS=evbearmv5-eb
+MACHINE=evbarm MACHINE_ARCH=earmv6 ALIAS=evbarmv6-el
MACHINE=evbarm  MACHINE_ARCH=earmv6 ALIAS=evbearmv6-el
+MACHINE=evbarm MACHINE_ARCH=earmv6hf   ALIAS=evbarmv6hf-el
MACHINE=evbarm  MACHINE_ARCH=earmv6hf   ALIAS=evbearmv6hf-el
+MACHINE=evbarm MACHINE_ARCH=earmv6eb   ALIAS=evbarmv6-eb
MACHINE=evbarm  MACHINE_ARCH=earmv6eb   ALIAS=evbearmv6-eb
+MACHINE=evbarm MACHINE_ARCH=earmv6hfeb ALIAS=evbarmv6hf-eb
MACHINE=evbarm  MACHINE_ARCH=earmv6hfeb ALIAS=evbearmv6hf-eb
+MACHINE=evbarm MACHINE_ARCH=earmv7 ALIAS=evbarmv7-el
MACHINE=evbarm  MACHINE_ARCH=earmv7 ALIAS=evbearmv7-el
+MACHINE=evbarm MACHINE_ARCH=earmv7eb   ALIAS=evbarmv7-eb
MACHINE=evbarm  MACHINE_ARCH=earmv7eb   ALIAS=evbearmv7-eb
+MACHINE=evbarm MACHINE_ARCH=earmv7hf   ALIAS=evbarmv7hf-el
MACHINE=evbarm  MACHINE_ARCH=earmv7hf   ALIAS=evbearmv7hf-el
+MACHINE=evbarm MACHINE_ARCH=earmv7hfeb ALIAS=evbarmv7hf-eb
MACHINE=evbarm  MACHINE_ARCH=earmv7hfeb ALIAS=evbearmv7hf-eb


... I'd keep the new ALIAS=evbearm* and remove the old ALIAS=evbarm*
lines, not provide both.

--apb (Alan Barrett)


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

2014-07-22 Thread Jeff Rizzo

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=catsMACHINE_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



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

2014-07-22 Thread Robert Swindells

Jeff Rizzo wrote:
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.

[snip]

So, what I am proposing:

- hpcarm, iyonix, zaurus switch to MACHINE_ARCH=earm(which is 
equivalent to earmv5, correct?)

I would prefer hpcarm to switch to MACHINE_ARCH=earmv4

Robert Swindells


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

2014-07-22 Thread Robert Swindells

Jeff Rizzo wrote:
On 7/22/14, 2:45 PM, Robert Swindells wrote:
 I would prefer hpcarm to switch to MACHINE_ARCH=earmv4

 Robert Swindells

noted.  (may have been a transcription error on my part)

No, you didn't make an error transcribing it.

The current definitions in build.sh are:

MACHINE=hpcarm  MACHINE_ARCH=armDEFAULT
MACHINE=hpcarm  MACHINE_ARCH=earm   ALIAS=hpcearm

I would prefer the EABI definition used to be earmv4 as several of the
supported devices are ARMv4 ones.

Robert Swindells