aarch64: Exclude symbols using GOT from code models
Symbols using GOT are not supported by the aarch64-w64-mingw32 target and should be excluded from the code models. gcc/ChangeLog: * config/aarch64/aarch64.cc (aarch64_classify_symbol): Disable GOT for PECOFF target.
This commit is contained in:
parent
e39e523c84
commit
fef211ff73
1 changed files with 4 additions and 2 deletions
|
@ -21241,7 +21241,8 @@ aarch64_classify_symbol (rtx x, HOST_WIDE_INT offset)
|
|||
case AARCH64_CMODEL_TINY:
|
||||
/* With -fPIC non-local symbols use the GOT. For orthogonality
|
||||
always use the GOT for extern weak symbols. */
|
||||
if ((flag_pic || SYMBOL_REF_WEAK (x))
|
||||
if (!TARGET_PECOFF
|
||||
&& (flag_pic || SYMBOL_REF_WEAK (x))
|
||||
&& !aarch64_symbol_binds_local_p (x))
|
||||
return SYMBOL_TINY_GOT;
|
||||
|
||||
|
@ -21263,7 +21264,8 @@ aarch64_classify_symbol (rtx x, HOST_WIDE_INT offset)
|
|||
case AARCH64_CMODEL_SMALL_SPIC:
|
||||
case AARCH64_CMODEL_SMALL_PIC:
|
||||
case AARCH64_CMODEL_SMALL:
|
||||
if ((flag_pic || SYMBOL_REF_WEAK (x))
|
||||
if (!TARGET_PECOFF
|
||||
&& (flag_pic || SYMBOL_REF_WEAK (x))
|
||||
&& !aarch64_symbol_binds_local_p (x))
|
||||
return aarch64_cmodel == AARCH64_CMODEL_SMALL_SPIC
|
||||
? SYMBOL_SMALL_GOT_28K : SYMBOL_SMALL_GOT_4G;
|
||||
|
|
Loading…
Add table
Reference in a new issue