svn commit: r248119 - in head/sys/arm: arm include

Roman Divacky rdivacky at freebsd.org
Sun Mar 10 10:13:06 UTC 2013


Should clang define __FreeBSD_ARCH_armv6__ ? Any other define thats missing
and should be defined?

Roman

On Sat, Mar 09, 2013 at 11:55:24PM +0000, Andrew Turner wrote:
> Author: andrew
> Date: Sat Mar  9 23:55:23 2013
> New Revision: 248119
> URL: http://svnweb.freebsd.org/changeset/base/248119
> 
> Log:
>   __FreeBSD_ARCH_armv6__ is undefined on clang. We can use __ARM_ARCH in
>   it's place. This makes 'uname -p' correctly output 'armv6' on a kernel
>   built with clang.
> 
> Modified:
>   head/sys/arm/arm/disassem.c
>   head/sys/arm/include/param.h
> 
> Modified: head/sys/arm/arm/disassem.c
> ==============================================================================
> --- head/sys/arm/arm/disassem.c	Sat Mar  9 23:05:19 2013	(r248118)
> +++ head/sys/arm/arm/disassem.c	Sat Mar  9 23:55:23 2013	(r248119)
> @@ -130,7 +130,7 @@ static const struct arm32_insn arm32_i[]
>      { 0x0c500000, 0x04100000, "ldr",	"daW" },
>      { 0x0c500000, 0x04400000, "strb",	"daW" },
>      { 0x0c500000, 0x04500000, "ldrb",	"daW" },
> -#ifdef	__FreeBSD_ARCH_armv6__
> +#if defined(__FreeBSD_ARCH_armv6__)  || (defined(__ARM_ARCH) && __ARM_ARCH >= 6)
>      { 0xffffffff, 0xf57ff01f, "clrex",	"c" },
>      { 0x0ff00ff0, 0x01800f90, "strex",	"dmo" },
>      { 0x0ff00fff, 0x01900f9f, "ldrex",	"do" },
> 
> Modified: head/sys/arm/include/param.h
> ==============================================================================
> --- head/sys/arm/include/param.h	Sat Mar  9 23:05:19 2013	(r248118)
> +++ head/sys/arm/include/param.h	Sat Mar  9 23:55:23 2013	(r248119)
> @@ -56,7 +56,7 @@
>  #define	MACHINE		"arm"
>  #endif
>  #ifndef MACHINE_ARCH
> -#ifdef __FreeBSD_ARCH_armv6__
> +#if defined(__FreeBSD_ARCH_armv6__) || (defined(__ARM_ARCH) && __ARM_ARCH >= 6)
>  #ifdef __ARMEB__
>  #define	MACHINE_ARCH	"armv6eb"
>  #else


More information about the svn-src-all mailing list