From 88f4e7668cc3c73302cc81c15037a2d75d1e8327 Mon Sep 17 00:00:00 2001 From: Olivier Hainque Date: Tue, 4 Jul 2017 08:41:39 +0000 Subject: [PATCH] vxworks.h (PTRDIFF_TYPE, SIZE_TYPE): Restore unconditional basic definitions. 2017-07-04 Olivier Hainque * config/vxworks.h (PTRDIFF_TYPE, SIZE_TYPE): Restore unconditional basic definitions. (VXWORKS_LIBS_RTP): Likewise, prefixed by VXWORKS_SYSCALL_LIBS_RTP, empty by default. * config/i386/vxworks.h (PTRDIFF_TYPE, SIZE_TYPE): Redefine, accounting for 64bit ABIs using cpu specific macros available for this purpose. (VXWORKS_SYSCALL_LIBS_RTP): Likewise. From-SVN: r249950 --- gcc/config/i386/vxworks.h | 11 +++++++++++ gcc/config/vxworks.h | 16 ++++++++-------- 2 files changed, 19 insertions(+), 8 deletions(-) diff --git a/gcc/config/i386/vxworks.h b/gcc/config/i386/vxworks.h index 24e4807a9ce..6095f723850 100644 --- a/gcc/config/i386/vxworks.h +++ b/gcc/config/i386/vxworks.h @@ -35,6 +35,17 @@ along with GCC; see the file COPYING3. If not see #define DBX_REGISTER_NUMBER(n) \ (TARGET_64BIT ? dbx64_register_map[n] : svr4_dbx_register_map[n]) +#undef PTRDIFF_TYPE +#define PTRDIFF_TYPE (TARGET_LP64 ? "long int" : "int") + +#undef SIZE_TYPE +#define SIZE_TYPE (TARGET_LP64 ? "long unsigned int" : "unsigned int") + +#if TARGET_64BIT_DEFAULT +#undef VXWORKS_SYSCALL_LIBS_RTP +#define VXWORKS_SYSCALL_LIBS_RTP "-lsyscall" +#endif + #define TARGET_OS_CPP_BUILTINS() \ do \ { \ diff --git a/gcc/config/vxworks.h b/gcc/config/vxworks.h index e78ea280050..62149d45e21 100644 --- a/gcc/config/vxworks.h +++ b/gcc/config/vxworks.h @@ -68,13 +68,13 @@ along with GCC; see the file COPYING3. If not see #endif /* The references to __init and __fini will be satisfied by - libc_internal.a. */ + libc_internal.a, and some versions of VxWorks rely on explicit + extra libraries for system calls. */ -#if TARGET_64BIT_DEFAULT -#define VXWORKS_LIBS_RTP "-lsyscall -lc -lgcc -lc_internal -lnet -ldsi" -#else -#define VXWORKS_LIBS_RTP "-lc -lgcc -lc_internal -lnet -ldsi" -#endif +#define VXWORKS_SYSCALL_LIBS_RTP + +#define VXWORKS_LIBS_RTP \ + VXWORKS_SYSCALL_LIBS_RTP " -lc -lgcc -lc_internal -lnet -ldsi" /* On Vx6 and previous, the libraries to pick up depends on the architecture, so cannot be defined for all archs at once. On Vx7, a VSB is always needed @@ -160,10 +160,10 @@ extern void vxworks_asm_out_destructor (rtx symbol, int priority); #define VXWORKS_GOTT_INDEX "__GOTT_INDEX__" #undef PTRDIFF_TYPE -#define PTRDIFF_TYPE (TARGET_LP64 ? "long int" : "int") +#define PTRDIFF_TYPE "int" #undef SIZE_TYPE -#define SIZE_TYPE (TARGET_LP64 ? "long unsigned int" : "unsigned int") +#define SIZE_TYPE "unsigned int" #undef TARGET_LIBC_HAS_FUNCTION #define TARGET_LIBC_HAS_FUNCTION no_c99_libc_has_function -- 2.30.2