Index: external/gpl3/gcc/dist/gcc/config/arm/arm.c =================================================================== RCS file: /home/netbsd/src/external/gpl3/gcc/dist/gcc/config/arm/arm.c,v retrieving revision 1.10 diff -p -u -r1.10 arm.c --- external/gpl3/gcc/dist/gcc/config/arm/arm.c 5 Sep 2020 09:12:25 -0000 1.10 +++ external/gpl3/gcc/dist/gcc/config/arm/arm.c 30 Oct 2020 09:37:57 -0000 @@ -3056,20 +3056,21 @@ arm_option_override_internal (struct gcc opts->x_arm_restrict_it = 0; /* Enable -munaligned-access by default for - - all ARMv6 architecture-based processors when compiling for a 32-bit ISA - i.e. Thumb2 and ARM state only. + - all ARMv6 architecture-based processors in little-endian mode when + compiling for a 32-bit ISA i.e. Thumb2 and ARM state only. - ARMv7-A, ARMv7-R, and ARMv7-M architecture-based processors. - ARMv8 architecture-base processors. Disable -munaligned-access by default for - all pre-ARMv6 architecture-based processors + - ARMv6 architecture-based processors in big-endian mode - ARMv6-M architecture-based processors - ARMv8-M Baseline processors. */ if (! opts_set->x_unaligned_access) { opts->x_unaligned_access = (TARGET_32BIT_P (opts->x_target_flags) - && arm_arch6 && (arm_arch_notm || arm_arch7)); + && arm_arch6 && ((arm_arch_notm && !BYTES_BIG_ENDIAN) || arm_arch7)); } else if (opts->x_unaligned_access == 1 && !(arm_arch6 && (arm_arch_notm || arm_arch7)))