https://gcc.gnu.org/bugzilla/show_bug.cgi?id=78382
Bug ID: 78382 Summary: ICE when compiling on aarch64 in ILP32 mode with traditional thread local storage and pic Product: gcc Version: 7.0 Status: UNCONFIRMED Keywords: ice-on-valid-code Severity: normal Priority: P3 Component: target Assignee: unassigned at gcc dot gnu.org Reporter: sje at gcc dot gnu.org Target Milestone: --- Target: aarch64 Compiling this code: __thread int abc; void foo() { int *p; p = &abc; } With thee options '-O0 -fpic -mabi=ilp32 -mtls-dialect=trad' generates an ICE in the aarch64 backend. You may need to configure GCC with "--with-multilib-list=lp64,ilp32" to get a GCC that supports the "-mabi=ilp32" flag.