Subject: Re: CVS commit: basesrc
To: None <tv@wasabisystems.com,tech-toolchain@netbsd.org>
From: Ben Harris <bjh21@netbsd.org>
List: tech-toolchain
Date: 02/10/2001 16:13:18
In article <Pine.WNT.4.32.0102091558320.-90187-100000@xpc.int.duh.org> you write:
>On Fri, 9 Feb 2001, Jason R Thorpe wrote:
>
>:  > Log Message:
>:  > __arm26__ || __arm32__ -> __arm__
>:  > Not least because the unified NetBSD/arm compiler probably won't predefine
>:  > __arm26__ or __arm32__.
>:
>: Err.... if MACHINE_ARCH == arm32, then it should -D__arm32__, etc.
>
>And a similar converse:  If both system types use the same compiler
>executables by default, the MACHINE_ARCH should be "arm", not
>"arm26"/"arm32", indicating their ABI compatibility.
>
>(Both these considerations should be kept in mind when dealing with
>MACHINE_ARCH related stuff.)

You're both right.  At present, NetBSD/arm26 and NetBSD/arm32 have different
ABIs, and hence different values of MACHINE_ARCH.  They even use different
binary formats.  I'm trying to get them to use the same ABI and binary
format, and I suspect it's possible even now to generate an executable that
both of them will run.  Once the toolchain to do this is in the tree,
MACHINE_ARCH for both arm26 and arm32 will be "arm".

Now, I suppose I could make all the conditionals check all of __arm__,
__arm32__ and __arm26__, but since the current arm26 and arm32 compilers,
along with my experimental shared comiler, all define __arm__, it seemed
excessive to check all three.

If the current arm26 and arm32 compilers shouldn't be defining __arm__, I'll
change the conditionals (and the compilers) to match.

-- 
Ben Harris                                                   <bjh21@netbsd.org>
Portmaster, NetBSD/arm26               <URL:http://www.netbsd.org/Ports/arm26/>