[PowerPC/RTEMS] Add 64-bit support using ELFv2 ABI
authorSebastian Huber <sebastian.huber@embedded-brains.de>
Fri, 28 Jul 2017 07:17:10 +0000 (07:17 +0000)
committerSebastian Huber <sh@gcc.gnu.org>
Fri, 28 Jul 2017 07:17:10 +0000 (07:17 +0000)
commit16bab95a79485ac5139992bd5f190ad95602ddda
treeb86d7338eca60abf956b9f82f201e11e4777c654
parentd0ee55a1f7ce56b20e9d52904da026a316241930
[PowerPC/RTEMS] Add 64-bit support using ELFv2 ABI

Add 64-bit support for RTEMS using the ELFv2 ABI with 64-bit long
double.

gcc/
* config.gcc (powerpc-*-rtems*): Remove rs6000/eabi.h.  Add
rs6000/biarch64.h.
* config/rs6000/rtems.h (ASM_DECLARE_FUNCTION_SIZE): New macro.
(ASM_OUTPUT_SPECIAL_POOL_ENTRY_P): Likewise.
(CRT_CALL_STATIC_FUNCTION): Likewise.
(ASM_DEFAULT_SPEC): New define.
(ASM_SPEC32): Likewise.
(ASM_SPEC64): Likewise.
(ASM_SPEC_COMMON): Likewise.
(ASM_SPEC): Likewise.
(INVALID_64BIT): Likewise.
(LINK_OS_DEFAULT_SPEC): Likewise.
(LINK_OS_SPEC32): Likewise.
(LINK_OS_SPEC64): Likewise.
(POWERPC_LINUX): Likewise.
(PTRDIFF_TYPE): Likewise.
(RESTORE_FP_PREFIX): Likewise.
(RESTORE_FP_SUFFIX): Likewise.
(SAVE_FP_PREFIX): Likewise.
(SAVE_FP_SUFFIX): Likewise.
(SIZE_TYPE): Likewise.
(SUBSUBTARGET_OVERRIDE_OPTIONS): Likewise.
(TARGET_64BIT): Likewise.
(TARGET_64BIT): Likewise.
(TARGET_AIX): Likewise.
(WCHAR_TYPE_SIZE): Likewise.
(WCHAR_TYPE): Undefine.
(TARGET_OS_CPP_BUILTINS): Add 64-bit PowerPC defines.
(CPP_OS_DEFAULT_SPEC): Use previous CPP_OS_RTEMS_SPEC.
(CPP_OS_RTEMS_SPEC): Delete.
(SUBSUBTARGET_EXTRA_SPECS): Remove cpp_os_rtems.  Add
asm_spec_common, asm_spec32, asm_spec64, link_os_spec32, and
link_os_spec64.
* config/rs6000/t-rtems: Add mcpu=e6500/m64 multilibs.

libgcc/
* config/rs6000/ibm-ldouble.c: Disable if defined __rtems__.

From-SVN: r250652
gcc/ChangeLog
gcc/config.gcc
gcc/config/rs6000/rtems.h
gcc/config/rs6000/t-rtems
libgcc/ChangeLog
libgcc/config/rs6000/ibm-ldouble.c