/* Definitions of target machine for GNU compiler,
for 64 bit PowerPC linux.
- Copyright (C) 2000-2019 Free Software Foundation, Inc.
+ Copyright (C) 2000-2020 Free Software Foundation, Inc.
This file is part of GCC.
{ \
rs6000_current_abi = ABI_ELFv2; \
if (dot_symbols) \
- error ("-mcall-aixdesc incompatible with -mabi=elfv2"); \
+ error ("%<-mcall-aixdesc%> incompatible with %<-mabi=elfv2%>"); \
} \
if (rs6000_isa_flags & OPTION_MASK_RELOCATABLE) \
{ \
if ((rs6000_isa_flags & OPTION_MASK_POWERPC64) == 0) \
{ \
rs6000_isa_flags |= OPTION_MASK_POWERPC64; \
- error ("-m64 requires a PowerPC64 cpu"); \
+ error ("%<-m64%> requires a PowerPC64 cpu"); \
} \
if ((rs6000_isa_flags_explicit \
& OPTION_MASK_MINIMAL_TOC) != 0) \
{ \
if (global_options_set.x_rs6000_current_cmodel \
&& rs6000_current_cmodel != CMODEL_SMALL) \
- error ("-mcmodel incompatible with other toc options"); \
+ error ("%<-mcmodel incompatible with other toc options%>"); \
SET_CMODEL (CMODEL_SMALL); \
} \
else \
TARGET_NO_SUM_IN_TOC = 0; \
} \
} \
+ if (TARGET_PLTSEQ && DEFAULT_ABI != ABI_ELFv2) \
+ { \
+ if (global_options_set.x_rs6000_pltseq) \
+ warning (0, "%qs unsupported for this ABI", \
+ "-mpltseq"); \
+ rs6000_pltseq = false; \
+ } \
} \
else \
{ \
} \
while (0)
-#undef ASM_DEFAULT_SPEC
#undef ASM_SPEC
#undef LINK_OS_LINUX_SPEC
#undef LINK_SECURE_PLT_SPEC
#ifndef RS6000_BI_ARCH
-#define ASM_DEFAULT_SPEC "-mppc64"
#define ASM_SPEC "%(asm_spec64) %(asm_spec_common)"
#define LINK_OS_LINUX_SPEC "%(link_os_linux_spec64)"
#define LINK_SECURE_PLT_SPEC ""
#else
#if DEFAULT_ARCH64_P
-#define ASM_DEFAULT_SPEC "-mppc%{!m32:64}"
#define ASM_SPEC "%{m32:%(asm_spec32)}%{!m32:%(asm_spec64)} %(asm_spec_common)"
#define LINK_OS_LINUX_SPEC "%{m32:%(link_os_linux_spec32)}%{!m32:%(link_os_linux_spec64)}"
#define LINK_SECURE_PLT_SPEC "%{m32: " LINK_SECURE_PLT_DEFAULT_SPEC "}"
#else
-#define ASM_DEFAULT_SPEC "-mppc%{m64:64}"
#define ASM_SPEC "%{!m64:%(asm_spec32)}%{m64:%(asm_spec64)} %(asm_spec_common)"
#define LINK_OS_LINUX_SPEC "%{!m64:%(link_os_linux_spec32)}%{m64:%(link_os_linux_spec64)}"
#define LINK_SECURE_PLT_SPEC "%{!m64: " LINK_SECURE_PLT_DEFAULT_SPEC "}"
#ifndef RS6000_BI_ARCH
/* 64-bit PowerPC Linux always has a TOC. */
-#undef TARGET_TOC
-#define TARGET_TOC 1
+#undef TARGET_HAS_TOC
+#define TARGET_HAS_TOC 1
/* Some things from sysv4.h we don't do when 64 bit. */
#undef OPTION_RELOCATABLE
#define TARGET_OS_CPP_BUILTINS() \
do \
{ \
- if (strcmp (rs6000_abi_name, "linux") == 0) \
+ if (strcmp (rs6000_abi_name, "linux") == 0 \
+ || strcmp (rs6000_abi_name, "aixdesc") == 0) \
GNU_USER_TARGET_OS_CPP_BUILTINS(); \
if (TARGET_64BIT) \
{ \
} \
while (0)
-#define GNU_USER_TARGET_D_OS_VERSIONS() \
- do { \
- builtin_version ("linux"); \
- if (OPTION_GLIBC) \
- builtin_version ("CRuntime_Glibc"); \
- else if (OPTION_UCLIBC) \
- builtin_version ("CRuntime_UClibc"); \
- else if (OPTION_BIONIC) \
- builtin_version ("CRuntime_Bionic"); \
- else if (OPTION_MUSL) \
- builtin_version ("CRuntime_Musl"); \
- } while (0)
-
#undef CPP_OS_DEFAULT_SPEC
#define CPP_OS_DEFAULT_SPEC "%(cpp_os_linux) %(include_extra)"