Commit a93e7e14 by Jerome Lambourg Committed by Olivier Hainque

vxworks.h (VXWORKS_LIBS_RTP): Alternative definition for 64bit configurations.

2017-06-27  Jerome Lambourg  <lambourg@adacore.com>

	* config/vxworks.h (VXWORKS_LIBS_RTP): Alternative definition for
  	64bit configurations.
  	(PTR_DIFF_TYPE): Alternative definition for TARGET_LP64.
  	(SIZE_TYPE): Likewise.
  	* config/vxworks.c (vxworks_emutls_var_fields): Use
  	long_unsigned_type_node instead of unsigned_type_node as the offset
	field type, which is "pointer" mode in emutls.c.

From-SVN: r249681
parent c1031852
2017-06-27 Jerome Lambourg <lambourg@adacore.com>
* config/vxworks.h (VXWORKS_LIBS_RTP): Alternative definition for
64bit configurations.
(PTR_DIFF_TYPE): Alternative definition for TARGET_LP64.
(SIZE_TYPE): Likewise.
* config/vxworks.c (vxworks_emutls_var_fields): Use
long_unsigned_type_node instead of unsigned_type_node as the offset
field type, which is "pointer" mode in emutls.c.
2017-06-27 Jakub Jelinek <jakub@redhat.com> 2017-06-27 Jakub Jelinek <jakub@redhat.com>
PR sanitizer/81209 PR sanitizer/81209
......
...@@ -80,8 +80,10 @@ vxworks_emutls_var_fields (tree type, tree *name) ...@@ -80,8 +80,10 @@ vxworks_emutls_var_fields (tree type, tree *name)
DECL_CHAIN (field) = next_field; DECL_CHAIN (field) = next_field;
next_field = field; next_field = field;
/* The offset field is declared as an unsigned int with pointer mode. */
field = build_decl (BUILTINS_LOCATION, FIELD_DECL, field = build_decl (BUILTINS_LOCATION, FIELD_DECL,
get_identifier ("offset"), unsigned_type_node); get_identifier ("offset"), long_unsigned_type_node);
DECL_CONTEXT (field) = type; DECL_CONTEXT (field) = type;
DECL_CHAIN (field) = next_field; DECL_CHAIN (field) = next_field;
......
...@@ -70,7 +70,11 @@ along with GCC; see the file COPYING3. If not see ...@@ -70,7 +70,11 @@ along with GCC; see the file COPYING3. If not see
/* The references to __init and __fini will be satisfied by /* The references to __init and __fini will be satisfied by
libc_internal.a. */ libc_internal.a. */
#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" #define VXWORKS_LIBS_RTP "-lc -lgcc -lc_internal -lnet -ldsi"
#endif
/* On Vx6 and previous, the libraries to pick up depends on the architecture, /* 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 so cannot be defined for all archs at once. On Vx7, a VSB is always needed
...@@ -147,10 +151,10 @@ extern void vxworks_asm_out_destructor (rtx symbol, int priority); ...@@ -147,10 +151,10 @@ extern void vxworks_asm_out_destructor (rtx symbol, int priority);
#define VXWORKS_GOTT_INDEX "__GOTT_INDEX__" #define VXWORKS_GOTT_INDEX "__GOTT_INDEX__"
#undef PTRDIFF_TYPE #undef PTRDIFF_TYPE
#define PTRDIFF_TYPE "int" #define PTRDIFF_TYPE (TARGET_LP64 ? "long int" : "int")
#undef SIZE_TYPE #undef SIZE_TYPE
#define SIZE_TYPE "unsigned int" #define SIZE_TYPE (TARGET_LP64 ? "long unsigned int" : "unsigned int")
#undef TARGET_LIBC_HAS_FUNCTION #undef TARGET_LIBC_HAS_FUNCTION
#define TARGET_LIBC_HAS_FUNCTION no_c99_libc_has_function #define TARGET_LIBC_HAS_FUNCTION no_c99_libc_has_function
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment