]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - README-BRANCH
merge from head, part 9 of many
[FreeBSD/FreeBSD.git] / README-BRANCH
1 TARGET_BIG_ENDIAN must die
2
3 Changes in MACHINE_ARCH:
4
5 mips (big endian)       mipseb
6 mips (little endian)    mipsel
7 arm (little endian)     arm             For historical reasons
8 arm (big endian)        armeb
9
10 What we call today MACHINE_ARCH is really MACHINE_CPUARCH.  This is
11 called MACHINE_CPU on NetBSD, but FreeBSD already uses MACHINE_CPU for
12 other purposes.  In general $MACHINE_ARCH -> $MACHINE_CPUARCH in most
13 places in the tree.  MACHINE_CPUARCH is defined in bsd.own.mk, since
14 it is dependent on the bsd tree, actually.  All the translation from
15 MACHINE_ARCH to MACHINE_CPUARCH assumes that all members of that
16 family are supported by one set of files on FreeBSD.  So mips files
17 have support for both big and little endian.  But MACHINE_ARCH
18 determines the default binaries that are generated.
19
20 We'll likely need to have a MACHINE_ABI at some point.  Both MIPS and
21 ARM have multiple ABIs, and we'll need something to be the default,
22 and different CPUs within a family might have different defaults.
23 Etc.  Plus there's t he need for multilib.  However, issues like this
24 are beyond the scope of this branch.
25
26 In addition, this branch starts to move away from having if this
27 machine compile this, if that machine compile that lists in the Makefiles,
28 but moves them to a Makefile.$ARCH where $ARCH is $MACHINE_CPUARCH,
29 $MACHINE_ARCH or $MACHINE, tried in that order.