From 5618c53ff334bff75cad40cf9ac03cbaf32da218 Mon Sep 17 00:00:00 2001 From: Andreas Tobler Date: Tue, 14 Jun 2016 21:53:01 +0200 Subject: [PATCH] freebsd.h: Only enable unaligned access for armv6 on FreeBSD 11 and above. 2016-06-14 Andreas Tobler * config/arm/freebsd.h: Only enable unaligned access for armv6 on FreeBSD 11 and above. From-SVN: r237457 --- gcc/ChangeLog | 5 +++++ gcc/config/arm/freebsd.h | 4 ++++ 2 files changed, 9 insertions(+) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index f95e4a659e5..2389681f418 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2016-06-14 Andreas Tobler + + * config/arm/freebsd.h: Only enable unaligned access for armv6 on + FreeBSD 11 and above. + 2016-06-14 Uros Bizjak * config/i386/i386.md (signbittf2): Emit sse_movmskps for TARGET_SSE. diff --git a/gcc/config/arm/freebsd.h b/gcc/config/arm/freebsd.h index 948fdd6843e..0ade4e99be1 100644 --- a/gcc/config/arm/freebsd.h +++ b/gcc/config/arm/freebsd.h @@ -120,6 +120,9 @@ #define SUBTARGET_CPU_DEFAULT TARGET_CPU_arm9 #endif +/* FreeBSD 10 does not support unaligned access for armv6 and up. + Unaligned access support was added in FreeBSD 11. */ +#if FBSD_MAJOR < 11 #define SUBTARGET_OVERRIDE_INTERNAL_OPTIONS \ do { \ if (opts_set->x_unaligned_access == 1) \ @@ -127,6 +130,7 @@ do { \ if (opts->x_unaligned_access) \ opts->x_unaligned_access = 0; \ } while (0) +#endif #undef MAX_SYNC_LIBFUNC_SIZE #define MAX_SYNC_LIBFUNC_SIZE 4 /* UNITS_PER_WORD not defined yet. */ -- 2.30.2