CVS commit: src/external/gpl3/gcc/dist/gcc/config/sparc

2014-08-21 Thread Martin Husemann
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

2014-08-15 Thread Martin Husemann
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

2014-01-03 Thread Martin Husemann
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

2013-11-14 Thread Martin Husemann
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

2013-04-28 Thread Joerg Sonnenberger
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

2012-02-14 Thread Takeshi Nakayama
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

2011-06-30 Thread matthew green
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