svn commit: r302670 - in head: . gnu/usr.bin/binutils gnu/usr.bin/cc gnu/usr.bin/gdb gnu/usr.bin/gdb/libgdb share/mk
Bryan Drewery
bdrewery at FreeBSD.org
Wed Jul 13 01:35:10 UTC 2016
On 7/12/2016 6:32 PM, Bryan Drewery wrote:
> On 7/12/2016 11:57 AM, Bryan Drewery wrote:
>> Author: bdrewery
>> Date: Tue Jul 12 18:57:25 2016
>> New Revision: 302670
>> URL: https://svnweb.freebsd.org/changeset/base/302670
>>
>> Log:
>> Create one list of replacements for MACHINE_CPUARCH as MACHINE_CPUARCH_SUB.
>>
>> This also adds missing s/aarch64/arm64 to the sys.mk version and also
>
> This breaks the arm64 build, but I think it's correct.
>
> Let's first start with what even is MACHINE_CPUARCH? It's unclear.
> Looking at r209024 we get:
>
>> Introduce MACHINE_CPUARCH. Many different MACHINE_ARCHs will be built
>> from one MACHINE_CPUARCH. This will allow us to move to a more
>> standard MACHINE_ARCH for mips and arm which exist in many different
>> endian variants, and for powerpc where both 32 and 64 bit binaries are
>> generated from the same sources.
>
> If we look at the current targets list we have:
>
>> # make targets
>> Supported TARGET/TARGET_ARCH pairs for world and kernel targets
>> amd64/amd64
>> arm/arm
>> arm/armeb
>> arm/armv6
>> arm64/aarch64
>> i386/i386
>> mips/mipsel
>> mips/mips
>> mips/mips64el
>> mips/mips64
>> mips/mipsn32
>> pc98/i386
>> powerpc/powerpc
>> powerpc/powerpc64
>> sparc64/sparc64
>
> So one TARGET can have multiple TARGET_ARCH. So MACHINE_CPUARCH sounds
> like TARGET.
>
> In all but the arm64 cases it seems that MACHINE_CPUARCH == MACHINE
> (meaning TARGET_CPUARCH == TARGET).
>
> So 1. I think MACHINE_CPUARCH is really just MACHINE.
> and 2. I think the proper MACHINE_CPUARCH for AArch64 is arm64 since
> that is what the TARGET is. There's a lot of code using MACHINE_CPUARCH
> == aarc64 instead of MACHINE_CPUARCH == arm64 (and directories named
> "aarch64" rather than "arm64",
And I think this is only the case because we had these replacements
spread everywhere and C/aarch64/arm64/ was missed in share/mk/sys.mk
until I added it here.
> so I am willing to revert or modify this
> but it seems to be inconsistent.
>
> For now I am just reverting this, but I think the commit is worth having
> in here if we are going to keep MACHINE_CPUARCH as it keeps the
> replacement list in 1 place.
>
>> adds back armv6hf for universe since it was added to the sys.mk version
>> in r300438.
>>
>> MFC after: 3 days
>> Sponsored by: EMC / Isilon Storage Division
>> Differential Revision: https://reviews.freebsd.org/D7159
>>
>> Modified:
>> head/Makefile
>> head/gnu/usr.bin/binutils/Makefile.inc0
>> head/gnu/usr.bin/cc/Makefile.tgt
>> head/gnu/usr.bin/gdb/Makefile.inc
>> head/gnu/usr.bin/gdb/libgdb/Makefile
>> head/share/mk/sys.mk
>>
>> Modified: head/Makefile
>> ==============================================================================
>> --- head/Makefile Tue Jul 12 17:58:58 2016 (r302669)
>> +++ head/Makefile Tue Jul 12 18:57:25 2016 (r302670)
>> @@ -235,7 +235,7 @@ _MAKE+= MK_META_MODE=no
>> _TARGET_ARCH= ${TARGET:S/pc98/i386/:S/arm64/aarch64/}
>> .elif !defined(TARGET) && defined(TARGET_ARCH) && \
>> ${TARGET_ARCH} != ${MACHINE_ARCH}
>> -_TARGET= ${TARGET_ARCH:C/mips(n32|64)?(el)?/mips/:C/arm(v6)?(eb)?/arm/:C/aarch64/arm64/:C/powerpc64/powerpc/:C/riscv64/riscv/}
>> +_TARGET= ${TARGET_ARCH:${MACHINE_CPUARCH_SUB:ts:}}
>> .endif
>> .if defined(TARGET) && !defined(_TARGET)
>> _TARGET=${TARGET}
>>
>> Modified: head/gnu/usr.bin/binutils/Makefile.inc0
>> ==============================================================================
>> --- head/gnu/usr.bin/binutils/Makefile.inc0 Tue Jul 12 17:58:58 2016 (r302669)
>> +++ head/gnu/usr.bin/binutils/Makefile.inc0 Tue Jul 12 18:57:25 2016 (r302670)
>> @@ -7,7 +7,7 @@
>> VERSION= "2.17.50 [FreeBSD] 2007-07-03"
>>
>> .if defined(TARGET_ARCH)
>> -TARGET_CPUARCH=${TARGET_ARCH:C/mips(n32|64)?(el)?/mips/:C/arm(v6)?(eb)?/arm/:C/powerpc64/powerpc/}
>> +TARGET_CPUARCH=${TARGET_ARCH:${MACHINE_CPUARCH_SUB:ts:}}
>> .else
>> TARGET_CPUARCH=${MACHINE_CPUARCH}
>> .endif
>>
>> Modified: head/gnu/usr.bin/cc/Makefile.tgt
>> ==============================================================================
>> --- head/gnu/usr.bin/cc/Makefile.tgt Tue Jul 12 17:58:58 2016 (r302669)
>> +++ head/gnu/usr.bin/cc/Makefile.tgt Tue Jul 12 18:57:25 2016 (r302670)
>> @@ -4,7 +4,7 @@
>> # MACHINE_CPUARCH, but there's no easy way to export make functions...
>>
>> .if defined(TARGET_ARCH)
>> -TARGET_CPUARCH=${TARGET_ARCH:C/mips(n32|64)?(el)?/mips/:C/arm(v6)?(eb)?/arm/:C/powerpc64/powerpc/}
>> +TARGET_CPUARCH=${TARGET_ARCH:${MACHINE_CPUARCH_SUB:ts:}}
>> .else
>> TARGET_CPUARCH=${MACHINE_CPUARCH}
>> .endif
>>
>> Modified: head/gnu/usr.bin/gdb/Makefile.inc
>> ==============================================================================
>> --- head/gnu/usr.bin/gdb/Makefile.inc Tue Jul 12 17:58:58 2016 (r302669)
>> +++ head/gnu/usr.bin/gdb/Makefile.inc Tue Jul 12 18:57:25 2016 (r302670)
>> @@ -23,7 +23,7 @@ OBJ_RL= ${OBJ_ROOT}/../lib/libreadline/r
>> # MACHINE_CPUARCH, but there's no easy way to export make functions...
>>
>> .if defined(TARGET_ARCH)
>> -TARGET_CPUARCH=${TARGET_ARCH:C/mips(n32|64)?(el)?/mips/:C/arm(v6)?(eb)?/arm/:C/powerpc64/powerpc/}
>> +TARGET_CPUARCH=${TARGET_ARCH:${MACHINE_CPUARCH_SUB:ts:}}
>> .else
>> TARGET_CPUARCH=${MACHINE_CPUARCH}
>> .endif
>>
>> Modified: head/gnu/usr.bin/gdb/libgdb/Makefile
>> ==============================================================================
>> --- head/gnu/usr.bin/gdb/libgdb/Makefile Tue Jul 12 17:58:58 2016 (r302669)
>> +++ head/gnu/usr.bin/gdb/libgdb/Makefile Tue Jul 12 18:57:25 2016 (r302670)
>> @@ -4,7 +4,7 @@
>> # MACHINE_CPUARCH, but there's no easy way to export make functions...
>>
>> .if defined(TARGET_ARCH)
>> -TARGET_CPUARCH=${TARGET_ARCH:C/mips(n32|64)?(el)?/mips/:C/arm(v6)?(eb)?/arm/:C/powerpc64/powerpc/}
>> +TARGET_CPUARCH=${TARGET_ARCH:${MACHINE_CPUARCH_SUB:ts:}}
>> .else
>> TARGET_CPUARCH=${MACHINE_CPUARCH}
>> .endif
>>
>> Modified: head/share/mk/sys.mk
>> ==============================================================================
>> --- head/share/mk/sys.mk Tue Jul 12 17:58:58 2016 (r302669)
>> +++ head/share/mk/sys.mk Tue Jul 12 18:57:25 2016 (r302670)
>> @@ -13,7 +13,13 @@ unix ?= We run FreeBSD, not UNIX.
>> # and/or endian. This is called MACHINE_CPU in NetBSD, but that's used
>> # for something different in FreeBSD.
>> #
>> -MACHINE_CPUARCH=${MACHINE_ARCH:C/mips(n32|64)?(el)?/mips/:C/arm(v6)?(eb|hf)?/arm/:C/powerpc64/powerpc/:C/riscv64/riscv/}
>> +MACHINE_CPUARCH_SUB= \
>> + C/mips(n32|64)?(el)?/mips/ \
>> + C/arm(v6)?(eb|hf)?/arm/ \
>> + C/aarch64/arm64/ \
>> + C/powerpc64/powerpc/ \
>> + C/riscv64/riscv/
>> +MACHINE_CPUARCH=${MACHINE_ARCH:${MACHINE_CPUARCH_SUB:ts:}}
>> .endif
>>
>>
>>
>
>
--
Regards,
Bryan Drewery
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 473 bytes
Desc: OpenPGP digital signature
URL: <http://lists.freebsd.org/pipermail/svn-src-head/attachments/20160712/a43c5b8a/attachment-0001.sig>
More information about the svn-src-head
mailing list