FYI: Here is a cut down test case showing the failure: int foo (void) { } extern void plunk (); int splat (void) { static int once = 0; plunk (&once, foo); }
% obj/gcc/gcc/cc1 -mabi=ilp32 -O2 -quiet x.i during RTL pass: final x.i: In function ‘splat’: x.i:7:1: internal compiler error: in aarch64_print_address_internal, at config/aarch64/aarch64.c:5638 } ^ 0x14286c7 aarch64_print_address_internal /home/sellcey/gcc-spec- ilp32/src/gcc/gcc/config/aarch64/aarch64.c:5638 0x1428d4b aarch64_print_operand_address /home/sellcey/gcc-spec- ilp32/src/gcc/gcc/config/aarch64/aarch64.c:5735 0xb5fa93 output_address(machine_mode, rtx_def*) /home/sellcey/gcc-spec-ilp32/src/gcc/gcc/final.c:3905 0xb5f40b output_asm_insn(char const*, rtx_def**) /home/sellcey/gcc-spec-ilp32/src/gcc/gcc/final.c:3766 0xb5e0df final_scan_insn(rtx_insn*, _IO_FILE*, int, int, int*) /home/sellcey/gcc-spec-ilp32/src/gcc/gcc/final.c:3064 0xb5bfbb final(rtx_insn*, _IO_FILE*, int) /home/sellcey/gcc-spec-ilp32/src/gcc/gcc/final.c:2052 0xb60d27 rest_of_handle_final /home/sellcey/gcc-spec-ilp32/src/gcc/gcc/final.c:4490 0xb6110f execute /home/sellcey/gcc-spec-ilp32/src/gcc/gcc/final.c:4564 Please submit a full bug report, with preprocessed source if appropriate. Please include the complete backtrace with any bug report. See <https://gcc.gnu.org/bugs/> for instructions.