Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 01 Feb 2020 09:14:28 +0000
From:      bugzilla-noreply@freebsd.org
To:        gecko@FreeBSD.org
Subject:   [Bug 243734] security/nss: fix build on armv6
Message-ID:  <bug-243734-21738-ZGuMGQy0gU@https.bugs.freebsd.org/bugzilla/>
In-Reply-To: <bug-243734-21738@https.bugs.freebsd.org/bugzilla/>
References:  <bug-243734-21738@https.bugs.freebsd.org/bugzilla/>

next in thread | previous in thread | raw e-mail | index | archive | help
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=3D243734

Jan Beich <jbeich@FreeBSD.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
 Attachment #211198|                            |maintainer-approval+
              Flags|                            |

--- Comment #1 from Jan Beich <jbeich@FreeBSD.org> ---
Comment on attachment 211198
  --> https://bugs.freebsd.org/bugzilla/attachment.cgi?id=3D211198
patch

Looks OK. FreeBSD armv7 implicitly uses -march=3Darmv7-a but Clang doesn't
distinguish between -march=3Darmv7 and -march=3Darmv7-a, so if GCC ends up =
using
Thumb state (e.g., on Linux) it's out of scope.

    $ gcc9 -dM -E -mfpu=3Dneon -</dev/null >default.neon.gcc9
    $ gcc9 -dM -E -march=3Darmv7 -mfpu=3Dneon -</dev/null >armv7.neon.gcc9
    $ diff -u default.neon.gcc9 armv7.neon.gcc9
    --- default.neon.gcc9
    +++ armv7.neon.gcc9
    @@ -23,14 +23,12 @@
     #define __USFRACT_FBIT__ 8
     #define __ORDER_LITTLE_ENDIAN__ 1234
     #define __SIZE_MAX__ 0xffffffffU
    -#define __ARM_ARCH_ISA_ARM 1
     #define __WCHAR_MAX__ 0xffffffffU
     #define __LACCUM_IBIT__ 32
     #define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_1 1
     #define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_2 1
     #define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_4 1
     #define __DBL_DENORM_MIN__ ((double)4.9406564584124654e-324L)
    -#define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_8 1
     #define __GCC_ATOMIC_CHAR_LOCK_FREE 2
     #define __GCC_IEC_559 2
     #define __FLT32X_DECIMAL_DIG__ 17
    @@ -61,6 +59,7 @@
     #define __SHRT_MAX__ 0x7fff
     #define __LDBL_MAX__ 1.7976931348623157e+308L
     #define __FRACT_MAX__ 0X7FFFP-15R
    +#define __thumb2__ 1
     #define __UFRACT_FBIT__ 16
     #define __ARM_FP 12
     #define __UFRACT_MIN__ 0.0UR
    @@ -76,6 +75,7 @@
     #define __TA_IBIT__ 64
     #define __LDBL_MAX_EXP__ 1024
     #define __WINT_MIN__ (-__WINT_MAX__ - 1)
    +#define __ARM_ASM_SYNTAX_UNIFIED__ 1
     #define __INT_LEAST16_WIDTH__ 16
     #define __ULLFRACT_MIN__ 0.0ULLR
     #define __SCHAR_MAX__ 0x7f
    @@ -146,7 +146,7 @@
     #define __FLT32X_HAS_DENORM__ 1
     #define __INT_FAST16_TYPE__ int
     #define __LDBL_HAS_DENORM__ 1
    -#define __ARM_FEATURE_LDREX 15
    +#define __ARM_FEATURE_LDREX 7
     #define __DEC128_MAX__ 9.999999999999999999999999999999999E6144DL
     #define __INT_LEAST32_MAX__ 0x7fffffff
     #define __DEC32_MIN__ 1E-95DF
    @@ -229,12 +229,12 @@
     #define __UINT64_MAX__ 0xffffffffffffffffULL
     #define __UDQ_FBIT__ 64
     #define __INT8_TYPE__ signed char
    +#define __thumb__ 1
     #define __ELF__ 1
     #define __ULFRACT_EPSILON__ 0x1P-32ULR
     #define __LLFRACT_FBIT__ 63
     #define __FLT_RADIX__ 2
     #define __INT_LEAST16_TYPE__ short int
    -#define __ARM_ARCH_PROFILE 65
     #define __LDBL_EPSILON__ 2.2204460492503131e-16L
     #define __UINTMAX_C(c) c ## ULL
     #define __FreeBSD__ 12
    @@ -302,6 +302,7 @@
     #define __UINT16_TYPE__ short unsigned int
     #define __WCHAR_TYPE__ unsigned int
     #define __SIZEOF_FLOAT__ 4
    +#define __THUMBEL__ 1
     #define __USQ_FBIT__ 32
     #define __UINTPTR_MAX__ 0xffffffffU
     #define __INT_FAST64_WIDTH__ 64
    @@ -336,11 +337,9 @@
     #define __INT_LEAST8_MAX__ 0x7f
     #define __FLT32X_MAX_10_EXP__ 308
     #define __LFRACT_FBIT__ 31
    -#define __ARM_ARCH_7A__ 1
     #define __LDBL_MAX_10_EXP__ 308
     #define __ATOMIC_RELAXED 0
     #define __DBL_EPSILON__ ((double)2.2204460492503131e-16L)
    -#define __ARM_FEATURE_SIMD32 1
     #define __UINT8_C(c) c
     #define __FLT64_MAX_EXP__ 1024
     #define __INT_LEAST32_TYPE__ int
    @@ -385,6 +384,7 @@
     #define __INTMAX_TYPE__ long long int
     #define __DEC128_MAX_EXP__ 6145
     #define __FLT32X_HAS_QUIET_NAN__ 1
    +#define __ARM_ARCH_7__ 1
     #define __ATOMIC_CONSUME 1
     #define __GNUC_MINOR__ 2
     #define __INT_FAST16_WIDTH__ 32
    @@ -411,7 +411,7 @@
     #define __SIZEOF_LONG_LONG__ 8
     #define __ULACCUM_EPSILON__ 0x1P-32ULK
     #define __SACCUM_IBIT__ 8
    -#define __GCC_ATOMIC_LLONG_LOCK_FREE 2
    +#define __GCC_ATOMIC_LLONG_LOCK_FREE 1
     #define __FLT32X_MIN__ 2.2250738585072014e-308F32x
     #define __LDBL_DIG__ 15
     #define __FLT_DECIMAL_DIG__ 9
    @@ -422,7 +422,6 @@
     #define __UINT_FAST8_TYPE__ unsigned int
     #define __USFRACT_EPSILON__ 0x1P-8UHR
     #define __ULACCUM_FBIT__ 32
    -#define __ARM_FEATURE_DSP 1
     #define __QQ_IBIT__ 0
     #define __ATOMIC_ACQ_REL 4
     #define __ATOMIC_RELEASE 3


Can you move the patch into files/patch-bug1612177 to facilitate pruning on
update?

--=20
You are receiving this mail because:
You are the assignee for the bug.=



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?bug-243734-21738-ZGuMGQy0gU>