CVS commit: src/external/gpl3/gcc/dist/gcc/config/sparc
Module Name:src Committed By: martin Date: Thu Aug 21 15:25:41 UTC 2014 Modified Files: src/external/gpl3/gcc/dist/gcc/config/sparc: netbsd-elf.h Log Message: Restore ABI for fast_{u,}int_*_t to what we have used for thirteen years. To generate a diff of this commit: cvs rdiff -u -r1.8 -r1.9 \ src/external/gpl3/gcc/dist/gcc/config/sparc/netbsd-elf.h Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/external/gpl3/gcc/dist/gcc/config/sparc/netbsd-elf.h diff -u src/external/gpl3/gcc/dist/gcc/config/sparc/netbsd-elf.h:1.8 src/external/gpl3/gcc/dist/gcc/config/sparc/netbsd-elf.h:1.9 --- src/external/gpl3/gcc/dist/gcc/config/sparc/netbsd-elf.h:1.8 Fri Aug 15 09:25:25 2014 +++ src/external/gpl3/gcc/dist/gcc/config/sparc/netbsd-elf.h Thu Aug 21 15:25:41 2014 @@ -53,6 +53,30 @@ along with GCC; see the file COPYING3. #undef UINTPTR_TYPE #define UINTPTR_TYPE SIZE_TYPE +#undef INT_FAST8_TYPE +#define INT_FAST8_TYPE (LONG_TYPE_SIZE == 64 ? long int : int) + +#undef UINT_FAST8_TYPE +#define UINT_FAST8_TYPE (LONG_TYPE_SIZE == 64 ? unsigned char : unsigned int) + +#undef INT_FAST16_TYPE +#define INT_FAST16_TYPE (LONG_TYPE_SIZE == 64 ? long int : int) + +#undef UINT_FAST16_TYPE +#define UINT_FAST16_TYPE (LONG_TYPE_SIZE == 64 ? short unsigned int : unsigned int) + +#undef INT_FAST32_TYPE +#define INT_FAST32_TYPE (LONG_TYPE_SIZE == 64 ? long int : int) + +#undef UINT_FAST32_TYPE +#define UINT_FAST32_TYPE unsigned int + +#undef INT_FAST64_TYPE +#define INT_FAST64_TYPE (LONG_TYPE_SIZE == 64 ? long int : long long int) + +#undef UINT_FAST64_TYPE +#define UINT_FAST64_TYPE (LONG_TYPE_SIZE == 64 ? long unsigned int : long long unsigned int) + /* This is the char to use for continuation (in case we need to turn continuation back on). */ #undef DBX_CONTIN_CHAR
CVS commit: src/external/gpl3/gcc/dist/gcc/config/sparc
Module Name:src Committed By: martin Date: Fri Aug 15 09:25:25 UTC 2014 Modified Files: src/external/gpl3/gcc/dist/gcc/config/sparc: netbsd-elf.h Log Message: Make {u,}intptr_t long on both sparc and sparc64 (as the NetBSD headers always did) To generate a diff of this commit: cvs rdiff -u -r1.7 -r1.8 \ src/external/gpl3/gcc/dist/gcc/config/sparc/netbsd-elf.h Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/external/gpl3/gcc/dist/gcc/config/sparc/netbsd-elf.h diff -u src/external/gpl3/gcc/dist/gcc/config/sparc/netbsd-elf.h:1.7 src/external/gpl3/gcc/dist/gcc/config/sparc/netbsd-elf.h:1.8 --- src/external/gpl3/gcc/dist/gcc/config/sparc/netbsd-elf.h:1.7 Sat Mar 1 08:58:33 2014 +++ src/external/gpl3/gcc/dist/gcc/config/sparc/netbsd-elf.h Fri Aug 15 09:25:25 2014 @@ -46,6 +46,13 @@ along with GCC; see the file COPYING3. #undef PTRDIFF_TYPE #define PTRDIFF_TYPE long int +/* we keep these long on both 32bit and 64bit targets */ +#undef INTPTR_TYPE +#define INTPTR_TYPE PTRDIFF_TYPE + +#undef UINTPTR_TYPE +#define UINTPTR_TYPE SIZE_TYPE + /* This is the char to use for continuation (in case we need to turn continuation back on). */ #undef DBX_CONTIN_CHAR
CVS commit: src/external/gpl3/gcc/dist/gcc/config/sparc
Module Name:src Committed By: martin Date: Fri Jan 3 08:30:41 UTC 2014 Modified Files: src/external/gpl3/gcc/dist/gcc/config/sparc: constraints.md predicates.md sync.md Log Message: Port from newer gcc: Add a mem_noofs_operand predicate and corresponding w constraint. Use those instead of memory_reg_operand/m for some atomic instrinsic patterns: casx (and friends) do not accept an offset from the pointer register (they are synthetic instructions mapping to e.g. casxa [..] ASI_P, ... and the opcode space encoding offsets in other instructions is needed to encode the ASI here). This fixes the build of gtk+-3.10.6 from pkgsrc on sparc64. To generate a diff of this commit: cvs rdiff -u -r1.1.1.1 -r1.2 \ src/external/gpl3/gcc/dist/gcc/config/sparc/constraints.md \ src/external/gpl3/gcc/dist/gcc/config/sparc/predicates.md \ src/external/gpl3/gcc/dist/gcc/config/sparc/sync.md Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/external/gpl3/gcc/dist/gcc/config/sparc/constraints.md diff -u src/external/gpl3/gcc/dist/gcc/config/sparc/constraints.md:1.1.1.1 src/external/gpl3/gcc/dist/gcc/config/sparc/constraints.md:1.2 --- src/external/gpl3/gcc/dist/gcc/config/sparc/constraints.md:1.1.1.1 Tue Jun 21 01:22:24 2011 +++ src/external/gpl3/gcc/dist/gcc/config/sparc/constraints.md Fri Jan 3 08:30:41 2014 @@ -141,6 +141,10 @@ Memory reference for 'e' constraint floating-point register (and (match_code mem,reg) (match_test memory_ok_for_ldd (op + +(define_memory_constraint w + A memory with only a base register + (match_operand 0 mem_noofs_operand)) (define_constraint Y The vector zero constant Index: src/external/gpl3/gcc/dist/gcc/config/sparc/predicates.md diff -u src/external/gpl3/gcc/dist/gcc/config/sparc/predicates.md:1.1.1.1 src/external/gpl3/gcc/dist/gcc/config/sparc/predicates.md:1.2 --- src/external/gpl3/gcc/dist/gcc/config/sparc/predicates.md:1.1.1.1 Tue Jun 21 01:22:24 2011 +++ src/external/gpl3/gcc/dist/gcc/config/sparc/predicates.md Fri Jan 3 08:30:41 2014 @@ -427,6 +427,9 @@ (and (match_code mem) (match_test call_address_operand (XEXP (op, 0), mode +(define_predicate mem_noofs_operand + (and (match_code mem) + (match_code reg 0))) ;; Predicates for operators. Index: src/external/gpl3/gcc/dist/gcc/config/sparc/sync.md diff -u src/external/gpl3/gcc/dist/gcc/config/sparc/sync.md:1.1.1.1 src/external/gpl3/gcc/dist/gcc/config/sparc/sync.md:1.2 --- src/external/gpl3/gcc/dist/gcc/config/sparc/sync.md:1.1.1.1 Tue Jun 21 01:22:25 2011 +++ src/external/gpl3/gcc/dist/gcc/config/sparc/sync.md Fri Jan 3 08:30:41 2014 @@ -81,7 +81,7 @@ (define_insn *sync_compare_and_swapmode [(set (match_operand:I48MODE 0 register_operand =r) - (match_operand:I48MODE 1 memory_reg_operand +m)) + (match_operand:I48MODE 1 mem_noofs_operand +w)) (set (match_dup 1) (unspec_volatile:I48MODE [(match_operand:I48MODE 2 register_operand r) @@ -93,7 +93,7 @@ (define_insn *sync_compare_and_swapdi_v8plus [(set (match_operand:DI 0 register_operand =h) - (match_operand:DI 1 memory_reg_operand +m)) + (match_operand:DI 1 mem_noofs_operand +w)) (set (match_dup 1) (unspec_volatile:DI [(match_operand:DI 2 register_operand h)
CVS commit: src/external/gpl3/gcc/dist/gcc/config/sparc
Module Name:src Committed By: martin Date: Thu Nov 14 12:21:05 UTC 2013 Modified Files: src/external/gpl3/gcc/dist/gcc/config/sparc: netbsd-elf.h Log Message: On sparc64 when compiling 64bit binaries: - if proper marker objects exist, encode the code model in use in the binary - default to -mcmodel=medmid (instead of medlow) To generate a diff of this commit: cvs rdiff -u -r1.5 -r1.6 \ src/external/gpl3/gcc/dist/gcc/config/sparc/netbsd-elf.h Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/external/gpl3/gcc/dist/gcc/config/sparc/netbsd-elf.h diff -u src/external/gpl3/gcc/dist/gcc/config/sparc/netbsd-elf.h:1.5 src/external/gpl3/gcc/dist/gcc/config/sparc/netbsd-elf.h:1.6 --- src/external/gpl3/gcc/dist/gcc/config/sparc/netbsd-elf.h:1.5 Sun Apr 28 13:35:23 2013 +++ src/external/gpl3/gcc/dist/gcc/config/sparc/netbsd-elf.h Thu Nov 14 12:21:05 2013 @@ -112,7 +112,7 @@ along with GCC; see the file COPYING3. + MASK_STACK_BIAS + MASK_APP_REGS + MASK_FPU + MASK_LONG_DOUBLE_128) #undef SPARC_DEFAULT_CMODEL -#define SPARC_DEFAULT_CMODEL CM_MEDLOW +#define SPARC_DEFAULT_CMODEL CM_MEDMID #endif @@ -158,6 +158,25 @@ along with GCC; see the file COPYING3. %{pg:-mcmodel=medlow}} \ NETBSD_CC1_AND_CC1PLUS_SPEC +#if defined(SPARC_BI_ARCH) || defined(__arch64__) +/* add code model specific object to the link line for 64bit */ +#define LINK_SPEC_CODE_MODEL64 \ + %{!shared: \ + %{!mcmodel=*:%:if-exists(%R/usr/lib/sparc_mcmedmid.o)} \ + %{mcmodel=medlow:%:if-exists(%R/usr/lib/sparc_mcmedlow.o)} \ + %{mcmodel=medmid:%:if-exists(%R/usr/lib/sparc_mcmedmid.o)} \ + %{mcmodel=medany:%:if-exists(%R/usr/lib/sparc_mcmedany.o)} \ + } + +#ifdef SPARC_BI_ARCH +#define LINK_SPEC_CODE_MODEL %{!m32: LINK_SPEC_CODE_MODEL64 } +#else +#define LINK_SPEC_CODE_MODEL LINK_SPEC_CODE_MODEL64 +#endif +#else +#define LINK_SPEC_CODE_MODEL +#endif + /* Make sure we use the right output format. Pick a default and then make sure -m32/-m64 switch to the right one. */ @@ -174,7 +193,8 @@ along with GCC; see the file COPYING3. #define LINK_SPEC \ %(link_arch) \ %{!mno-relax:%{!r:-relax}} \ - %(netbsd_link_spec) + %(netbsd_link_spec) \ + LINK_SPEC_CODE_MODEL #define NETBSD_ENTRY_POINT __start
CVS commit: src/external/gpl3/gcc/dist/gcc/config/sparc
Module Name:src Committed By: joerg Date: Sun Apr 28 13:35:23 UTC 2013 Modified Files: src/external/gpl3/gcc/dist/gcc/config/sparc: netbsd-elf.h Log Message: Don't forget space between -mcmodel and -cxx-isystem on SPARC and SPARC64. To generate a diff of this commit: cvs rdiff -u -r1.4 -r1.5 \ src/external/gpl3/gcc/dist/gcc/config/sparc/netbsd-elf.h Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/external/gpl3/gcc/dist/gcc/config/sparc/netbsd-elf.h diff -u src/external/gpl3/gcc/dist/gcc/config/sparc/netbsd-elf.h:1.4 src/external/gpl3/gcc/dist/gcc/config/sparc/netbsd-elf.h:1.5 --- src/external/gpl3/gcc/dist/gcc/config/sparc/netbsd-elf.h:1.4 Tue Feb 14 11:25:05 2012 +++ src/external/gpl3/gcc/dist/gcc/config/sparc/netbsd-elf.h Sun Apr 28 13:35:23 2013 @@ -134,7 +134,7 @@ along with GCC; see the file COPYING3. %{!msupersparc:-mcpu=ultrasparc}}} \ %{!mno-vis:%{!mcpu=v9:-mvis}} \ %{p:-mcmodel=medlow} \ -%{pg:-mcmodel=medlow}} \ +%{pg:-mcmodel=medlow}} \ NETBSD_CC1_AND_CC1PLUS_SPEC #define CC1_SPEC64 \ @@ -155,7 +155,7 @@ along with GCC; see the file COPYING3. %{!msupersparc:-mcpu=cypress \ %{!m32: \ %{p:-mcmodel=medlow} \ - %{pg:-mcmodel=medlow}} \ + %{pg:-mcmodel=medlow}} \ NETBSD_CC1_AND_CC1PLUS_SPEC /* Make sure we use the right output format. Pick a default and then
CVS commit: src/external/gpl3/gcc/dist/gcc/config/sparc
Module Name:src Committed By: nakayama Date: Tue Feb 14 11:25:05 UTC 2012 Modified Files: src/external/gpl3/gcc/dist/gcc/config/sparc: netbsd-elf.h Log Message: The default configuration for TLS support is supposed to use Sun as, but we use GNU as. So in this case it generates wrong relocations in non-PIC mode. This change fixes lib/libc/tls/t_tls_dynamic test failure on 32-bit sparc as described in PR toolchain/45985. Approved by releng. To generate a diff of this commit: cvs rdiff -u -r1.3 -r1.4 \ src/external/gpl3/gcc/dist/gcc/config/sparc/netbsd-elf.h Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/external/gpl3/gcc/dist/gcc/config/sparc/netbsd-elf.h diff -u src/external/gpl3/gcc/dist/gcc/config/sparc/netbsd-elf.h:1.3 src/external/gpl3/gcc/dist/gcc/config/sparc/netbsd-elf.h:1.4 --- src/external/gpl3/gcc/dist/gcc/config/sparc/netbsd-elf.h:1.3 Fri Jul 1 01:24:04 2011 +++ src/external/gpl3/gcc/dist/gcc/config/sparc/netbsd-elf.h Tue Feb 14 11:25:05 2012 @@ -266,6 +266,13 @@ along with GCC; see the file COPYING3. #endif /* SPARC_BI_ARCH */ +#ifdef HAVE_AS_TLS +#undef TARGET_SUN_TLS +#undef TARGET_GNU_TLS +#define TARGET_SUN_TLS 0 +#define TARGET_GNU_TLS 1 +#endif + /* We use GNU ld so undefine this so that attribute((init_priority)) works. */ #undef CTORS_SECTION_ASM_OP #undef DTORS_SECTION_ASM_OP
CVS commit: src/external/gpl3/gcc/dist/gcc/config/sparc
Module Name:src Committed By: mrg Date: Fri Jul 1 01:24:04 UTC 2011 Modified Files: src/external/gpl3/gcc/dist/gcc/config/sparc: netbsd-elf.h Log Message: fix a merge error. To generate a diff of this commit: cvs rdiff -u -r1.2 -r1.3 \ src/external/gpl3/gcc/dist/gcc/config/sparc/netbsd-elf.h Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/external/gpl3/gcc/dist/gcc/config/sparc/netbsd-elf.h diff -u src/external/gpl3/gcc/dist/gcc/config/sparc/netbsd-elf.h:1.2 src/external/gpl3/gcc/dist/gcc/config/sparc/netbsd-elf.h:1.3 --- src/external/gpl3/gcc/dist/gcc/config/sparc/netbsd-elf.h:1.2 Tue Jun 21 02:41:37 2011 +++ src/external/gpl3/gcc/dist/gcc/config/sparc/netbsd-elf.h Fri Jul 1 01:24:04 2011 @@ -132,7 +132,9 @@ %{!mf934: \ %{!mv8*: \ %{!msupersparc:-mcpu=ultrasparc}}} \ -%{!mno-vis:%{!mcpu=v9:-mvis}} \ +%{!mno-vis:%{!mcpu=v9:-mvis}} \ +%{p:-mcmodel=medlow} \ +%{pg:-mcmodel=medlow}} \ NETBSD_CC1_AND_CC1PLUS_SPEC #define CC1_SPEC64 \ @@ -150,7 +152,10 @@ %{!mf930: \ %{!mf934: \ %{!mv8*: \ - %{!msupersparc:-mcpu=cypress \ + %{!msupersparc:-mcpu=cypress \ + %{!m32: \ + %{p:-mcmodel=medlow} \ + %{pg:-mcmodel=medlow}} \ NETBSD_CC1_AND_CC1PLUS_SPEC /* Make sure we use the right output format. Pick a default and then