This patch against trunk fixes it: diff --git a/gcc/config/arm/arm.c b/gcc/config/arm/arm.c index 866385c..18d0ff4 100644 --- a/gcc/config/arm/arm.c +++ b/gcc/config/arm/arm.c @@ -13021,7 +13021,10 @@ create_fix_barrier (Mfix *fix, HOST_WIDE_INT max_address) new_cost = arm_barrier_cost (from); - if (count < max_count + /* The pool is aligned to a 4-byte boundary. However, 16-bit Thumb + insns can result in count being unaligned here, so we must compare + the aligned offset against the limit. */ + if (((count + 3) & ~3) < max_count && (!selected || new_cost <= selected_cost)) { selected = from;
-- You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. https://bugs.launchpad.net/bugs/1049614 Title: Assembler messages with -O0: Error: offset out of range To manage notifications about this bug go to: https://bugs.launchpad.net/gcc-linaro/+bug/1049614/+subscriptions -- ubuntu-bugs mailing list ubuntu-bugs@lists.ubuntu.com https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs