Comment 1 for bug 1764595

Revision history for this message
Przemyslaw Wirkus (wirkus) wrote :

I can still reproduce with GCC 9.2.1 (9-2019-q4-major):

main:
 @ args = 0, pretend = 0, frame = 0
 @ frame_needed = 1, uses_anonymous_args = 0
 push {r7, lr} @
 add r7, sp, #0 @,,
.L3:
@ at.c:7: while (atomic_flag_test_and_set( &aflag));
 nop
.L2:
@ at.c:7: while (atomic_flag_test_and_set( &aflag));
 ldr r3, .L4 @ tmp112,
 ldrb r2, [r3] @ tmp113,
 movs r1, #1 @ tmp114,
 strb r1, [r3] @ tmp115,
 uxtb r3, r2 @ _1, tmp113
@ at.c:7: while (atomic_flag_test_and_set( &aflag));
 cmp r3, #0 @ _1,
 bne .L2 @,
@ at.c:8: atomic_flag_clear( &aflag);
 ldr r3, .L4 @ tmp116,
 dmb ish
 movs r2, #0 @ tmp117,
 strb r2, [r3] @ tmp118,
 dmb ish
@ at.c:7: while (atomic_flag_test_and_set( &aflag));
 b .L3 @
.L5:
 .align 2
.L4:
 .word aflag
 .size main, .-main
 .ident "GCC: (GNU Tools for Arm Embedded Processors 9-2019-q4-major) 9.2.1 20191025 (release) [ARM/arm-9-branch revision 277599]"