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

2024-06-30 Thread Rin Okuyama
Module Name:src
Committed By:   rin
Date:   Mon Jul  1 05:19:46 UTC 2024

Modified Files:
src/external/gpl3/gcc/dist/gcc/config/rs6000: ppc-asm.h

Log Message:
gcc: ppc-asm.h: Drop local change with NFC

This has been introduced for rev 1.2:

http://cvsweb.netbsd.org/bsdweb.cgi/src/external/gpl3/gcc/dist/gcc/config/rs6000/ppc-asm.h.diff?r1=1.1.1.1.8.1=1.2=h

but does not make any difference.


To generate a diff of this commit:
cvs rdiff -u -r1.11 -r1.12 \
src/external/gpl3/gcc/dist/gcc/config/rs6000/ppc-asm.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/rs6000/ppc-asm.h
diff -u src/external/gpl3/gcc/dist/gcc/config/rs6000/ppc-asm.h:1.11 src/external/gpl3/gcc/dist/gcc/config/rs6000/ppc-asm.h:1.12
--- src/external/gpl3/gcc/dist/gcc/config/rs6000/ppc-asm.h:1.11	Sun Jul 30 05:51:29 2023
+++ src/external/gpl3/gcc/dist/gcc/config/rs6000/ppc-asm.h	Mon Jul  1 05:19:46 2024
@@ -384,7 +384,7 @@ GLUE(.L,name): \
 #endif
 #endif
 
-#if defined(__ELF__) && defined(__linux__) && !defined(__powerpc64__)
+#if defined __linux__ && !defined __powerpc64__
 	.section .note.GNU-stack
 	.previous
 #endif



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

2024-06-30 Thread Rin Okuyama
Module Name:src
Committed By:   rin
Date:   Mon Jul  1 05:19:46 UTC 2024

Modified Files:
src/external/gpl3/gcc/dist/gcc/config/rs6000: ppc-asm.h

Log Message:
gcc: ppc-asm.h: Drop local change with NFC

This has been introduced for rev 1.2:

http://cvsweb.netbsd.org/bsdweb.cgi/src/external/gpl3/gcc/dist/gcc/config/rs6000/ppc-asm.h.diff?r1=1.1.1.1.8.1=1.2=h

but does not make any difference.


To generate a diff of this commit:
cvs rdiff -u -r1.11 -r1.12 \
src/external/gpl3/gcc/dist/gcc/config/rs6000/ppc-asm.h

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.



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

2022-07-24 Thread Rin Okuyama
Module Name:src
Committed By:   rin
Date:   Sun Jul 24 10:53:18 UTC 2022

Modified Files:
src/external/gpl3/gcc/dist/gcc/config/rs6000: rs6000.c

Log Message:
Revert our local fix for GCC 10.3 introduced in rev. 1.25:
http://cvsweb.netbsd.org/bsdweb.cgi/src/external/gpl3/gcc/dist/gcc/config/rs6000/rs6000.c#rev1.25

The problem has been fixed differently by upstream:
- master: 
https://gcc.gnu.org/git/?p=gcc.git;a=commit;h=77eccbf39ed55297802bb66dff5f62507a7239e3
- gcc-10: 
https://gcc.gnu.org/git/?p=gcc.git;a=commit;h=6142d65f4f528067f31e86bb97c07a661f2d66e7

No regression observed for ATF on oea (sandpoint), booke (evbppc), and
405 (evbppc). The system boots successfully on 403 (evbppc).


To generate a diff of this commit:
cvs rdiff -u -r1.30 -r1.31 \
src/external/gpl3/gcc/dist/gcc/config/rs6000/rs6000.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.



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

2022-07-24 Thread Rin Okuyama
Module Name:src
Committed By:   rin
Date:   Sun Jul 24 10:53:18 UTC 2022

Modified Files:
src/external/gpl3/gcc/dist/gcc/config/rs6000: rs6000.c

Log Message:
Revert our local fix for GCC 10.3 introduced in rev. 1.25:
http://cvsweb.netbsd.org/bsdweb.cgi/src/external/gpl3/gcc/dist/gcc/config/rs6000/rs6000.c#rev1.25

The problem has been fixed differently by upstream:
- master: 
https://gcc.gnu.org/git/?p=gcc.git;a=commit;h=77eccbf39ed55297802bb66dff5f62507a7239e3
- gcc-10: 
https://gcc.gnu.org/git/?p=gcc.git;a=commit;h=6142d65f4f528067f31e86bb97c07a661f2d66e7

No regression observed for ATF on oea (sandpoint), booke (evbppc), and
405 (evbppc). The system boots successfully on 403 (evbppc).


To generate a diff of this commit:
cvs rdiff -u -r1.30 -r1.31 \
src/external/gpl3/gcc/dist/gcc/config/rs6000/rs6000.c

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/rs6000/rs6000.c
diff -u src/external/gpl3/gcc/dist/gcc/config/rs6000/rs6000.c:1.30 src/external/gpl3/gcc/dist/gcc/config/rs6000/rs6000.c:1.31
--- src/external/gpl3/gcc/dist/gcc/config/rs6000/rs6000.c:1.30	Fri Jul 22 20:22:35 2022
+++ src/external/gpl3/gcc/dist/gcc/config/rs6000/rs6000.c	Sun Jul 24 10:53:17 2022
@@ -5707,9 +5707,7 @@ rs6000_file_start (void)
 
 #ifdef USING_ELFOS_H
   rs6000_machine = rs6000_machine_from_flags ();
-  if (!(rs6000_default_cpu && rs6000_default_cpu[0])
-	&& !global_options_set.x_rs6000_cpu_index)
-emit_asm_machine ();
+  emit_asm_machine ();
 #endif
 
   if (DEFAULT_ABI == ABI_ELFv2)



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

2021-05-10 Thread Rin Okuyama
Module Name:src
Committed By:   rin
Date:   Tue May 11 01:47:21 UTC 2021

Modified Files:
src/external/gpl3/gcc/dist/gcc/config/rs6000: rs6000.c

Log Message:
Cherry-pick upstream fix for GCC10 regression to -misel option.

Assembler codes generated by GCC are identical with that of our local
fix in rev 1.26 for 32-bit processors, and no significant changes for
64-bit processors also.

master: https://gcc.gnu.org/g:6156df483fa50a08f561b6c248819f2992aa380d
gcc-10: https://gcc.gnu.org/g:5f665c1ca452673e9812cd92b07bd31441c0ac5b
(diffs are same)

commit r12-9-g6156df483fa50a08f561b6c248819f2992aa380d
Author: Segher Boessenkool 
Date:   Tue Apr 20 12:00:50 2021 +

rs6000: Fix cpu selection w/ isel (PR100108)

There are various non-IBM CPUs with isel as well, so it is easiest if we
just don't consider that flag here (it is not needed).

2021-04-20  Segher Boessenkool  

PR target/100108
* config/rs6000/rs6000.c (rs6000_machine_from_flags): Do not 
consider
OPTION_MASK_ISEL.


To generate a diff of this commit:
cvs rdiff -u -r1.28 -r1.29 \
src/external/gpl3/gcc/dist/gcc/config/rs6000/rs6000.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.



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

2021-05-10 Thread Rin Okuyama
Module Name:src
Committed By:   rin
Date:   Tue May 11 01:47:21 UTC 2021

Modified Files:
src/external/gpl3/gcc/dist/gcc/config/rs6000: rs6000.c

Log Message:
Cherry-pick upstream fix for GCC10 regression to -misel option.

Assembler codes generated by GCC are identical with that of our local
fix in rev 1.26 for 32-bit processors, and no significant changes for
64-bit processors also.

master: https://gcc.gnu.org/g:6156df483fa50a08f561b6c248819f2992aa380d
gcc-10: https://gcc.gnu.org/g:5f665c1ca452673e9812cd92b07bd31441c0ac5b
(diffs are same)

commit r12-9-g6156df483fa50a08f561b6c248819f2992aa380d
Author: Segher Boessenkool 
Date:   Tue Apr 20 12:00:50 2021 +

rs6000: Fix cpu selection w/ isel (PR100108)

There are various non-IBM CPUs with isel as well, so it is easiest if we
just don't consider that flag here (it is not needed).

2021-04-20  Segher Boessenkool  

PR target/100108
* config/rs6000/rs6000.c (rs6000_machine_from_flags): Do not 
consider
OPTION_MASK_ISEL.


To generate a diff of this commit:
cvs rdiff -u -r1.28 -r1.29 \
src/external/gpl3/gcc/dist/gcc/config/rs6000/rs6000.c

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/rs6000/rs6000.c
diff -u src/external/gpl3/gcc/dist/gcc/config/rs6000/rs6000.c:1.28 src/external/gpl3/gcc/dist/gcc/config/rs6000/rs6000.c:1.29
--- src/external/gpl3/gcc/dist/gcc/config/rs6000/rs6000.c:1.28	Tue May 11 01:39:09 2021
+++ src/external/gpl3/gcc/dist/gcc/config/rs6000/rs6000.c	Tue May 11 01:47:20 2021
@@ -5550,7 +5550,7 @@ rs6000_machine_from_flags (void)
   HOST_WIDE_INT flags = rs6000_isa_flags;
 
   /* Disable the flags that should never influence the .machine selection.  */
-  flags &= ~(OPTION_MASK_PPC_GFXOPT | OPTION_MASK_PPC_GPOPT);
+  flags &= ~(OPTION_MASK_PPC_GFXOPT | OPTION_MASK_PPC_GPOPT | OPTION_MASK_ISEL);
 
   if ((flags & (ISA_3_1_MASKS_SERVER & ~ISA_3_0_MASKS_SERVER)) != 0)
 return "power10";



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

2021-05-10 Thread Rin Okuyama
Module Name:src
Committed By:   rin
Date:   Tue May 11 01:39:09 UTC 2021

Modified Files:
src/external/gpl3/gcc/dist/gcc/config/rs6000: rs6000.c

Log Message:
In preparation to import upstream fix, revert our local fix in rev 1.26:

http://cvsweb.netbsd.org/bsdweb.cgi/src/external/gpl3/gcc/dist/gcc/config/rs6000/rs6000.c#rev1.26

> Fix regression introduced to GCC10, where it wrongly recognizes 32-bit
> processors as POWER9 if -misel flag is specified.


To generate a diff of this commit:
cvs rdiff -u -r1.27 -r1.28 \
src/external/gpl3/gcc/dist/gcc/config/rs6000/rs6000.c

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/rs6000/rs6000.c
diff -u src/external/gpl3/gcc/dist/gcc/config/rs6000/rs6000.c:1.27 src/external/gpl3/gcc/dist/gcc/config/rs6000/rs6000.c:1.28
--- src/external/gpl3/gcc/dist/gcc/config/rs6000/rs6000.c:1.27	Fri Apr 16 02:33:28 2021
+++ src/external/gpl3/gcc/dist/gcc/config/rs6000/rs6000.c	Tue May 11 01:39:09 2021
@@ -5552,8 +5552,6 @@ rs6000_machine_from_flags (void)
   /* Disable the flags that should never influence the .machine selection.  */
   flags &= ~(OPTION_MASK_PPC_GFXOPT | OPTION_MASK_PPC_GPOPT);
 
-  if ((flags & OPTION_MASK_POWERPC64) == 0)
-return "ppc";
   if ((flags & (ISA_3_1_MASKS_SERVER & ~ISA_3_0_MASKS_SERVER)) != 0)
 return "power10";
   if ((flags & (ISA_3_0_MASKS_SERVER & ~ISA_2_7_MASKS_SERVER)) != 0)
@@ -5568,7 +5566,9 @@ rs6000_machine_from_flags (void)
 return "power5";
   if ((flags & ISA_2_1_MASKS) != 0)
 return "power4";
-  return "ppc64";
+  if ((flags & OPTION_MASK_POWERPC64) != 0)
+return "ppc64";
+  return "ppc";
 }
 
 void



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

2021-05-10 Thread Rin Okuyama
Module Name:src
Committed By:   rin
Date:   Tue May 11 01:39:09 UTC 2021

Modified Files:
src/external/gpl3/gcc/dist/gcc/config/rs6000: rs6000.c

Log Message:
In preparation to import upstream fix, revert our local fix in rev 1.26:

http://cvsweb.netbsd.org/bsdweb.cgi/src/external/gpl3/gcc/dist/gcc/config/rs6000/rs6000.c#rev1.26

> Fix regression introduced to GCC10, where it wrongly recognizes 32-bit
> processors as POWER9 if -misel flag is specified.


To generate a diff of this commit:
cvs rdiff -u -r1.27 -r1.28 \
src/external/gpl3/gcc/dist/gcc/config/rs6000/rs6000.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.



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

2021-04-15 Thread Rin Okuyama
Module Name:src
Committed By:   rin
Date:   Fri Apr 16 02:33:28 UTC 2021

Modified Files:
src/external/gpl3/gcc/dist/gcc/config/rs6000: rs6000.c

Log Message:
Restore our local change to remove GNU_STACK program header:


http://cvsweb.netbsd.org/bsdweb.cgi/src/external/gpl3/gcc/dist/gcc/config/rs6000/rs6000.c#rev1.13

This was removed accidentally when merging GCC10 into our tree.

Note that some firmwares, e.g., Explora, refuse to execute ELF
kernel image if this program header is present.

Now, GCC10 becomes just fine for all three powerpc sub-archs, i.e.,
oea, booke, and ibm4xx, as far as I can see. No regressions are
observed for ATF.

OK mrg


To generate a diff of this commit:
cvs rdiff -u -r1.26 -r1.27 \
src/external/gpl3/gcc/dist/gcc/config/rs6000/rs6000.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.



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

2021-04-15 Thread Rin Okuyama
Module Name:src
Committed By:   rin
Date:   Fri Apr 16 02:33:28 UTC 2021

Modified Files:
src/external/gpl3/gcc/dist/gcc/config/rs6000: rs6000.c

Log Message:
Restore our local change to remove GNU_STACK program header:


http://cvsweb.netbsd.org/bsdweb.cgi/src/external/gpl3/gcc/dist/gcc/config/rs6000/rs6000.c#rev1.13

This was removed accidentally when merging GCC10 into our tree.

Note that some firmwares, e.g., Explora, refuse to execute ELF
kernel image if this program header is present.

Now, GCC10 becomes just fine for all three powerpc sub-archs, i.e.,
oea, booke, and ibm4xx, as far as I can see. No regressions are
observed for ATF.

OK mrg


To generate a diff of this commit:
cvs rdiff -u -r1.26 -r1.27 \
src/external/gpl3/gcc/dist/gcc/config/rs6000/rs6000.c

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/rs6000/rs6000.c
diff -u src/external/gpl3/gcc/dist/gcc/config/rs6000/rs6000.c:1.26 src/external/gpl3/gcc/dist/gcc/config/rs6000/rs6000.c:1.27
--- src/external/gpl3/gcc/dist/gcc/config/rs6000/rs6000.c:1.26	Fri Apr 16 02:26:43 2021
+++ src/external/gpl3/gcc/dist/gcc/config/rs6000/rs6000.c	Fri Apr 16 02:33:28 2021
@@ -20284,7 +20284,7 @@ rs6000_elf_file_end (void)
 		 aix_struct_return ? 2 : 1);
 }
 #endif
-#if defined (POWERPC_LINUX) || defined (POWERPC_FREEBSD) || defined(POWERPC_NETBSD)
+#if defined (POWERPC_LINUX) || defined (POWERPC_FREEBSD)
   if (TARGET_32BIT || DEFAULT_ABI == ABI_ELFv2)
 file_end_indicate_exec_stack ();
 #endif



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

2021-04-15 Thread Rin Okuyama
Module Name:src
Committed By:   rin
Date:   Fri Apr 16 02:26:43 UTC 2021

Modified Files:
src/external/gpl3/gcc/dist/gcc/config/rs6000: rs6000.c

Log Message:
Fix regression introduced to GCC10, where it wrongly recognizes 32-bit
processors as POWER9 if -misel flag is specified.

rs6000_machine_from_flags() assumes ISEL instructions are supported only
for POWER9 and successors. However, ISEL is also implemented for 32-bit
booke processors.

Since our kernel for booke is compiled with -misel, this regression
completely breaks it.

As a fix, check whether CPU is 64-bit capable or not, before checking
-misel flag.

The problem has been reported as 100108 to upstream:

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=100108

OK mrg


To generate a diff of this commit:
cvs rdiff -u -r1.25 -r1.26 \
src/external/gpl3/gcc/dist/gcc/config/rs6000/rs6000.c

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/rs6000/rs6000.c
diff -u src/external/gpl3/gcc/dist/gcc/config/rs6000/rs6000.c:1.25 src/external/gpl3/gcc/dist/gcc/config/rs6000/rs6000.c:1.26
--- src/external/gpl3/gcc/dist/gcc/config/rs6000/rs6000.c:1.25	Fri Apr 16 02:18:04 2021
+++ src/external/gpl3/gcc/dist/gcc/config/rs6000/rs6000.c	Fri Apr 16 02:26:43 2021
@@ -5552,6 +5552,8 @@ rs6000_machine_from_flags (void)
   /* Disable the flags that should never influence the .machine selection.  */
   flags &= ~(OPTION_MASK_PPC_GFXOPT | OPTION_MASK_PPC_GPOPT);
 
+  if ((flags & OPTION_MASK_POWERPC64) == 0)
+return "ppc";
   if ((flags & (ISA_3_1_MASKS_SERVER & ~ISA_3_0_MASKS_SERVER)) != 0)
 return "power10";
   if ((flags & (ISA_3_0_MASKS_SERVER & ~ISA_2_7_MASKS_SERVER)) != 0)
@@ -5566,9 +5568,7 @@ rs6000_machine_from_flags (void)
 return "power5";
   if ((flags & ISA_2_1_MASKS) != 0)
 return "power4";
-  if ((flags & OPTION_MASK_POWERPC64) != 0)
-return "ppc64";
-  return "ppc";
+  return "ppc64";
 }
 
 void



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

2021-04-15 Thread Rin Okuyama
Module Name:src
Committed By:   rin
Date:   Fri Apr 16 02:26:43 UTC 2021

Modified Files:
src/external/gpl3/gcc/dist/gcc/config/rs6000: rs6000.c

Log Message:
Fix regression introduced to GCC10, where it wrongly recognizes 32-bit
processors as POWER9 if -misel flag is specified.

rs6000_machine_from_flags() assumes ISEL instructions are supported only
for POWER9 and successors. However, ISEL is also implemented for 32-bit
booke processors.

Since our kernel for booke is compiled with -misel, this regression
completely breaks it.

As a fix, check whether CPU is 64-bit capable or not, before checking
-misel flag.

The problem has been reported as 100108 to upstream:

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=100108

OK mrg


To generate a diff of this commit:
cvs rdiff -u -r1.25 -r1.26 \
src/external/gpl3/gcc/dist/gcc/config/rs6000/rs6000.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.



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

2021-04-15 Thread Rin Okuyama
Module Name:src
Committed By:   rin
Date:   Fri Apr 16 02:18:04 UTC 2021

Modified Files:
src/external/gpl3/gcc/dist/gcc/config/rs6000: rs6000.c

Log Message:
Fix regression introduced to GCC10, by which inline assembler codes for
403/405 are miscompiled.

Redundant .machine directive introduced by upstream commit
2d94f7dea9c73ef3c116a0ddc722724578a860fe:


https://gcc.gnu.org/git/?p=gcc.git;a=commit;h=2d94f7dea9c73ef3c116a0ddc722724578a860fe

clobbers CPU flags passed to assembler. This results in miscompile for
inline assembler codes specific to 403/405 processors, at least.

Therefore, revert this commit locally.

The problem has been reported as 100107 to upstream:

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=100107

OK mrg


To generate a diff of this commit:
cvs rdiff -u -r1.24 -r1.25 \
src/external/gpl3/gcc/dist/gcc/config/rs6000/rs6000.c

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/rs6000/rs6000.c
diff -u src/external/gpl3/gcc/dist/gcc/config/rs6000/rs6000.c:1.24 src/external/gpl3/gcc/dist/gcc/config/rs6000/rs6000.c:1.25
--- src/external/gpl3/gcc/dist/gcc/config/rs6000/rs6000.c:1.24	Mon Apr 12 07:23:06 2021
+++ src/external/gpl3/gcc/dist/gcc/config/rs6000/rs6000.c	Fri Apr 16 02:18:04 2021
@@ -5644,7 +5644,9 @@ rs6000_file_start (void)
 
 #ifdef USING_ELFOS_H
   rs6000_machine = rs6000_machine_from_flags ();
-  emit_asm_machine ();
+  if (!(rs6000_default_cpu && rs6000_default_cpu[0])
+	&& !global_options_set.x_rs6000_cpu_index)
+emit_asm_machine ();
 #endif
 
   if (DEFAULT_ABI == ABI_ELFv2)



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

2021-04-15 Thread Rin Okuyama
Module Name:src
Committed By:   rin
Date:   Fri Apr 16 02:18:04 UTC 2021

Modified Files:
src/external/gpl3/gcc/dist/gcc/config/rs6000: rs6000.c

Log Message:
Fix regression introduced to GCC10, by which inline assembler codes for
403/405 are miscompiled.

Redundant .machine directive introduced by upstream commit
2d94f7dea9c73ef3c116a0ddc722724578a860fe:


https://gcc.gnu.org/git/?p=gcc.git;a=commit;h=2d94f7dea9c73ef3c116a0ddc722724578a860fe

clobbers CPU flags passed to assembler. This results in miscompile for
inline assembler codes specific to 403/405 processors, at least.

Therefore, revert this commit locally.

The problem has been reported as 100107 to upstream:

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=100107

OK mrg


To generate a diff of this commit:
cvs rdiff -u -r1.24 -r1.25 \
src/external/gpl3/gcc/dist/gcc/config/rs6000/rs6000.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.



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

2021-04-12 Thread matthew green
Module Name:src
Committed By:   mrg
Date:   Mon Apr 12 07:23:06 UTC 2021

Modified Files:
src/external/gpl3/gcc/dist/gcc/config/rs6000: rs6000-logue.c rs6000.c

Log Message:
merge our changes into GCC 10.  parts of the rs6000.c file were
split into separate files, and an old change to rs6000.c now
belongs in rs6000-logue.c.


To generate a diff of this commit:
cvs rdiff -u -r1.1.1.1 -r1.2 \
src/external/gpl3/gcc/dist/gcc/config/rs6000/rs6000-logue.c
cvs rdiff -u -r1.23 -r1.24 \
src/external/gpl3/gcc/dist/gcc/config/rs6000/rs6000.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.



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

2020-09-14 Thread matthew green
Module Name:src
Committed By:   mrg
Date:   Tue Sep 15 05:06:56 UTC 2020

Modified Files:
src/external/gpl3/gcc/dist/gcc/config/rs6000: netbsd64.h

Log Message:
merge generic changes in eg rs6000/freebsd64.h into netbsd64.h


To generate a diff of this commit:
cvs rdiff -u -r1.26 -r1.27 \
src/external/gpl3/gcc/dist/gcc/config/rs6000/netbsd64.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/rs6000/netbsd64.h
diff -u src/external/gpl3/gcc/dist/gcc/config/rs6000/netbsd64.h:1.26 src/external/gpl3/gcc/dist/gcc/config/rs6000/netbsd64.h:1.27
--- src/external/gpl3/gcc/dist/gcc/config/rs6000/netbsd64.h:1.26	Mon Sep  7 22:21:55 2020
+++ src/external/gpl3/gcc/dist/gcc/config/rs6000/netbsd64.h	Tue Sep 15 05:06:56 2020
@@ -20,6 +20,10 @@
Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston,
MA 02110-1301, USA.  */
 
+/* Undef gnu-user.h macros we don't want.  */
+#undef CPLUSPLUS_CPP_SPEC
+#undef LINK_GCC_C_SEQUENCE_SPEC
+
 #ifndef RS6000_BI_ARCH
 
 #undef	DEFAULT_ABI
@@ -105,7 +109,7 @@ extern int dot_symbols;
 	{			\
 	  rs6000_current_abi = ABI_ELFv2;			\
 	  if (dot_symbols)	\
-		error ("-mcall-aixdesc incompatible with -mabi=elfv2"); \
+		error ("%<-mcall-aixdesc%> incompatible with %<-mabi=elfv2%>"); \
 	}			\
 	  if (rs6000_isa_flags & OPTION_MASK_RELOCATABLE)	\
 	{			\
@@ -131,14 +135,14 @@ extern int dot_symbols;
 	  if ((rs6000_isa_flags & OPTION_MASK_POWERPC64) == 0)	\
 	{			\
 	  rs6000_isa_flags |= OPTION_MASK_POWERPC64;	\
-	  error ("-m64 requires a PowerPC64 cpu");		\
+	  error ("%<-m64%> requires a PowerPC64 cpu");	\
 	}			\
 	  if ((rs6000_isa_flags_explicit			\
 	   & OPTION_MASK_MINIMAL_TOC) != 0)			\
 	{			\
 	  if (global_options_set.x_rs6000_current_cmodel	\
 		  && rs6000_current_cmodel != CMODEL_SMALL)	\
-		error ("-mcmodel incompatible with other toc options"); \
+		error ("%<-mcmodel%> incompatible with other toc options"); \
 	  SET_CMODEL (CMODEL_SMALL);			\
 	}			\
 	  else			\
@@ -422,13 +426,13 @@ extern int dot_symbols;
 #undef  ASM_OUTPUT_SPECIAL_POOL_ENTRY_P
 #define ASM_OUTPUT_SPECIAL_POOL_ENTRY_P(X, MODE)\
   (TARGET_TOC   \
-   && (GET_CODE (X) == SYMBOL_REF   \
+   && (SYMBOL_REF_P (X)			\
|| (GET_CODE (X) == CONST && GET_CODE (XEXP (X, 0)) == PLUS  \
-   && GET_CODE (XEXP (XEXP (X, 0), 0)) == SYMBOL_REF)   \
+   && SYMBOL_REF_P (XEXP (XEXP (X, 0), 0)))			\
|| GET_CODE (X) == LABEL_REF \
-   || (GET_CODE (X) == CONST_INT\
+   || (CONST_INT_P (X)		\
&& GET_MODE_BITSIZE (MODE) <= GET_MODE_BITSIZE (Pmode))  \
-   || (GET_CODE (X) == CONST_DOUBLE \
+   || (CONST_DOUBLE_P (X)		\
&& ((TARGET_64BIT\
 && (TARGET_MINIMAL_TOC  \
 || (SCALAR_FLOAT_MODE_P (GET_MODE (X))  \
@@ -542,6 +546,7 @@ extern int dot_symbols;
 #undef UINTMAX_TYPE
 #define UINTMAX_TYPE UINT64_TYPE
 
+#if 0
 /* Override rs6000.h definition.  */
 #undef  ASM_APP_ON
 #define ASM_APP_ON "#APP\n"
@@ -549,6 +554,7 @@ extern int dot_symbols;
 /* Override rs6000.h definition.  */
 #undef  ASM_APP_OFF
 #define ASM_APP_OFF "#NO_APP\n"
+#endif
 
 #undef  RS6000_MCOUNT
 #define RS6000_MCOUNT "_mcount"



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

2020-09-14 Thread matthew green
Module Name:src
Committed By:   mrg
Date:   Tue Sep 15 05:06:56 UTC 2020

Modified Files:
src/external/gpl3/gcc/dist/gcc/config/rs6000: netbsd64.h

Log Message:
merge generic changes in eg rs6000/freebsd64.h into netbsd64.h


To generate a diff of this commit:
cvs rdiff -u -r1.26 -r1.27 \
src/external/gpl3/gcc/dist/gcc/config/rs6000/netbsd64.h

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.



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

2020-09-07 Thread matthew green
Module Name:src
Committed By:   mrg
Date:   Mon Sep  7 22:21:55 UTC 2020

Modified Files:
src/external/gpl3/gcc/dist/gcc/config/rs6000: netbsd64.h

Log Message:
use the generic ppc64 LINK_GCC_C_SEQUENCE_SPEC.


To generate a diff of this commit:
cvs rdiff -u -r1.25 -r1.26 \
src/external/gpl3/gcc/dist/gcc/config/rs6000/netbsd64.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/rs6000/netbsd64.h
diff -u src/external/gpl3/gcc/dist/gcc/config/rs6000/netbsd64.h:1.25 src/external/gpl3/gcc/dist/gcc/config/rs6000/netbsd64.h:1.26
--- src/external/gpl3/gcc/dist/gcc/config/rs6000/netbsd64.h:1.25	Wed Nov  6 09:10:50 2019
+++ src/external/gpl3/gcc/dist/gcc/config/rs6000/netbsd64.h	Mon Sep  7 22:21:55 2020
@@ -584,9 +584,6 @@ extern int dot_symbols;
 #undef DRAFT_V4_STRUCT_RET
 #define DRAFT_V4_STRUCT_RET (!TARGET_64BIT)
 
-#define LINK_GCC_C_SEQUENCE_SPEC \
-  "%{static:--start-group} %G %L %{static:--end-group}%{!static:%G}"
-
 /* Use --as-needed -lgcc_s for eh support.  */
 #ifdef HAVE_LD_AS_NEEDED
 #define USE_LD_AS_NEEDED 1



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

2020-09-07 Thread matthew green
Module Name:src
Committed By:   mrg
Date:   Mon Sep  7 22:21:55 UTC 2020

Modified Files:
src/external/gpl3/gcc/dist/gcc/config/rs6000: netbsd64.h

Log Message:
use the generic ppc64 LINK_GCC_C_SEQUENCE_SPEC.


To generate a diff of this commit:
cvs rdiff -u -r1.25 -r1.26 \
src/external/gpl3/gcc/dist/gcc/config/rs6000/netbsd64.h

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.



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

2020-01-22 Thread Valeriy E. Ushakov
Module Name:src
Committed By:   uwe
Date:   Wed Jan 22 21:39:43 UTC 2020

Modified Files:
src/external/gpl3/gcc/dist/gcc/config/rs6000: netbsd.h

Log Message:
Do not override STACK_BOUNDARY in netbsd.h

sysv4.h already overrides PREFERRED_STACK_BOUNDARY b/c SYSV ABI
requires 16 bytes alignment for %sp anyway and so we already get that
for free.

More importantly this also fixes alloca() in GCC 8, that was somehow
confused by that STACK_BOUNDARY value we had and created a buffer that
overlapped top local variable slots.


To generate a diff of this commit:
cvs rdiff -u -r1.14 -r1.15 \
src/external/gpl3/gcc/dist/gcc/config/rs6000/netbsd.h

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.



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

2020-01-22 Thread Valeriy E. Ushakov
Module Name:src
Committed By:   uwe
Date:   Wed Jan 22 21:39:43 UTC 2020

Modified Files:
src/external/gpl3/gcc/dist/gcc/config/rs6000: netbsd.h

Log Message:
Do not override STACK_BOUNDARY in netbsd.h

sysv4.h already overrides PREFERRED_STACK_BOUNDARY b/c SYSV ABI
requires 16 bytes alignment for %sp anyway and so we already get that
for free.

More importantly this also fixes alloca() in GCC 8, that was somehow
confused by that STACK_BOUNDARY value we had and created a buffer that
overlapped top local variable slots.


To generate a diff of this commit:
cvs rdiff -u -r1.14 -r1.15 \
src/external/gpl3/gcc/dist/gcc/config/rs6000/netbsd.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/rs6000/netbsd.h
diff -u src/external/gpl3/gcc/dist/gcc/config/rs6000/netbsd.h:1.14 src/external/gpl3/gcc/dist/gcc/config/rs6000/netbsd.h:1.15
--- src/external/gpl3/gcc/dist/gcc/config/rs6000/netbsd.h:1.14	Tue Oct  1 10:38:19 2019
+++ src/external/gpl3/gcc/dist/gcc/config/rs6000/netbsd.h	Wed Jan 22 21:39:43 2020
@@ -138,10 +138,6 @@
 #define TRAMPOLINE_SIZE 48
 #endif
 
-/* Override STACK_BOUNDARY to use Altivec compliant one.  */
-#undef STACK_BOUNDARY
-#define STACK_BOUNDARY	128
-
 /* Use standard DWARF numbering for DWARF debugging information.  */
 #define RS6000_USE_DWARF_NUMBERING
 



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

2019-11-05 Thread Christos Zoulas
Module Name:src
Committed By:   christos
Date:   Tue Nov  5 20:06:41 UTC 2019

Modified Files:
src/external/gpl3/gcc/dist/gcc/config/rs6000: netbsd64.h

Log Message:
- Use EXTRA_SPECS like we did for aarch64 instead of SUBSUBTARGET_EXTRA_SPECS
  so that assembly specs get propagated (they were lost before)
- adjust the block register padding (like the other OS's) so that code compiles
- XXX: linker still broken for shared libraries because the os specific spec
  is not chosen


To generate a diff of this commit:
cvs rdiff -u -r1.23 -r1.24 \
src/external/gpl3/gcc/dist/gcc/config/rs6000/netbsd64.h

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.



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

2019-11-05 Thread Christos Zoulas
Module Name:src
Committed By:   christos
Date:   Tue Nov  5 20:06:41 UTC 2019

Modified Files:
src/external/gpl3/gcc/dist/gcc/config/rs6000: netbsd64.h

Log Message:
- Use EXTRA_SPECS like we did for aarch64 instead of SUBSUBTARGET_EXTRA_SPECS
  so that assembly specs get propagated (they were lost before)
- adjust the block register padding (like the other OS's) so that code compiles
- XXX: linker still broken for shared libraries because the os specific spec
  is not chosen


To generate a diff of this commit:
cvs rdiff -u -r1.23 -r1.24 \
src/external/gpl3/gcc/dist/gcc/config/rs6000/netbsd64.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/rs6000/netbsd64.h
diff -u src/external/gpl3/gcc/dist/gcc/config/rs6000/netbsd64.h:1.23 src/external/gpl3/gcc/dist/gcc/config/rs6000/netbsd64.h:1.24
--- src/external/gpl3/gcc/dist/gcc/config/rs6000/netbsd64.h:1.23	Fri May 10 22:37:58 2019
+++ src/external/gpl3/gcc/dist/gcc/config/rs6000/netbsd64.h	Tue Nov  5 15:06:41 2019
@@ -204,8 +204,8 @@ extern int dot_symbols;
 %{,assembler|,assembler-with-cpp: %{mregnames} %{mno-regnames}}" \
   ENDIAN_SELECT(" -mbig", " -mlittle", DEFAULT_ASM_ENDIAN)
 
-#undef	SUBSUBTARGET_EXTRA_SPECS
-#define SUBSUBTARGET_EXTRA_SPECS \
+#undef	EXTRA_SPECS
+#define EXTRA_SPECS \
   { "asm_spec_common",		ASM_SPEC_COMMON },			\
   { "asm_spec32",		ASM_SPEC32 },\
   { "asm_spec64",		ASM_SPEC64 },\
@@ -296,7 +296,7 @@ extern int dot_symbols;
registers and memory.  FIRST is nonzero if this is the only
element.  */
 #define BLOCK_REG_PADDING(MODE, TYPE, FIRST) \
-  (!(FIRST) ? upward : FUNCTION_ARG_PADDING (MODE, TYPE))
+  (!(FIRST) ? PAD_UPWARD : targetm.calls.function_arg_padding (MODE, TYPE))
 
 /* NetBSD doesn't support saving and restoring 64-bit regs in a 32-bit
process.  */



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

2019-05-10 Thread Christos Zoulas
Module Name:src
Committed By:   christos
Date:   Sat May 11 02:37:58 UTC 2019

Modified Files:
src/external/gpl3/gcc/dist/gcc/config/rs6000: netbsd64.h

Log Message:
Switch PPC64 long double to 64 bits until the compiler is fixed.
XXX: This changes the ABI of the libraries.


To generate a diff of this commit:
cvs rdiff -u -r1.22 -r1.23 \
src/external/gpl3/gcc/dist/gcc/config/rs6000/netbsd64.h

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.



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

2019-04-16 Thread matthew green
Module Name:src
Committed By:   mrg
Date:   Tue Apr 16 07:36:55 UTC 2019

Modified Files:
src/external/gpl3/gcc/dist/gcc/config/rs6000: netbsd64.h sysv4.h

Log Message:
avoid differences to linux64.h that aren't needed.
merge the rs6000_abi_name check for netbsd into the linux/freebsd section.


To generate a diff of this commit:
cvs rdiff -u -r1.21 -r1.22 \
src/external/gpl3/gcc/dist/gcc/config/rs6000/netbsd64.h
cvs rdiff -u -r1.10 -r1.11 \
src/external/gpl3/gcc/dist/gcc/config/rs6000/sysv4.h

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.



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

2019-04-16 Thread matthew green
Module Name:src
Committed By:   mrg
Date:   Tue Apr 16 07:36:55 UTC 2019

Modified Files:
src/external/gpl3/gcc/dist/gcc/config/rs6000: netbsd64.h sysv4.h

Log Message:
avoid differences to linux64.h that aren't needed.
merge the rs6000_abi_name check for netbsd into the linux/freebsd section.


To generate a diff of this commit:
cvs rdiff -u -r1.21 -r1.22 \
src/external/gpl3/gcc/dist/gcc/config/rs6000/netbsd64.h
cvs rdiff -u -r1.10 -r1.11 \
src/external/gpl3/gcc/dist/gcc/config/rs6000/sysv4.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/rs6000/netbsd64.h
diff -u src/external/gpl3/gcc/dist/gcc/config/rs6000/netbsd64.h:1.21 src/external/gpl3/gcc/dist/gcc/config/rs6000/netbsd64.h:1.22
--- src/external/gpl3/gcc/dist/gcc/config/rs6000/netbsd64.h:1.21	Wed Apr 10 20:06:26 2019
+++ src/external/gpl3/gcc/dist/gcc/config/rs6000/netbsd64.h	Tue Apr 16 07:36:55 2019
@@ -87,17 +87,6 @@ extern int dot_symbols;
 
 #define ELFv2_ABI_CHECK (rs6000_elf_abi == 2)   
 
-#undef CC1_OS_NETBSD_SPEC
-#define CC1_OS_NETBSD_SPEC \
-  NETBSD_CC1_AND_CC1PLUS_SPEC \
-  "%{!m32: %{!mrelocatable: %{!fno-pie: %{!fno-pic: \
- %{!fpie: %{!fpic: \
-   %{!fPIE: %{!fPIC:-fPIC"
-/* %{!m32: %{!mcmodel*: -mcmodel=medium}}" */
-
-#undef CC1PLUS_SPEC
-#define CC1PLUS_SPEC CC1_OS_NETBSD_SPEC
-
 #undef	SUBSUBTARGET_OVERRIDE_OPTIONS
 #define	SUBSUBTARGET_OVERRIDE_OPTIONS\
   do\
@@ -181,17 +170,6 @@ extern int dot_symbols;
 }\
   while (0)
 
-#ifdef	RS6000_BI_ARCH
-
-#if 0
-#undef	OVERRIDE_OPTIONS
-#define	OVERRIDE_OPTIONS \
-  rs6000_override_options (((TARGET_DEFAULT ^ target_flags) & MASK_64BIT) \
-			   ? (char *) 0 : TARGET_CPU_DEFAULT)
-#endif
-
-#endif
-
 #undef	ASM_DEFAULT_SPEC
 #undef	ASM_SPEC
 #undef	LINK_OS_NETBSD_SPEC
@@ -263,6 +241,22 @@ extern int dot_symbols;
 
 #endif
 
+/* We use NetBSD libc _mcount for profiling.  */
+#define NO_PROFILE_COUNTERS 1
+#define PROFILE_HOOK(LABEL) \
+  do { if (TARGET_64BIT) output_profile_hook (LABEL); } while (0)
+
+/* PowerPC64 NetBSD word-aligns FP doubles when -malign-power is given.  */
+#undef  ADJUST_FIELD_ALIGN
+#define ADJUST_FIELD_ALIGN(FIELD, TYPE, COMPUTED) \
+  (rs6000_special_adjust_field_align_p ((TYPE), (COMPUTED))		\
+   ? 128\
+   : (TARGET_64BIT			\
+  && TARGET_ALIGN_NATURAL == 0	\
+  && TYPE_MODE (strip_array_types (TYPE)) == DFmode)		\
+   ? MIN ((COMPUTED), 32)		\
+   : (COMPUTED))
+
 /* PowerPC64 NetBSD increases natural record alignment to doubleword if
the first field is an FP double, only if in power alignment mode.  */
 #undef  ROUND_TYPE_ALIGN
@@ -305,8 +299,8 @@ extern int dot_symbols;
   (!(FIRST) ? upward : FUNCTION_ARG_PADDING (MODE, TYPE))
 
 /* NetBSD doesn't support saving and restoring 64-bit regs in a 32-bit
-   process.  XXXMRG?  */
-#define OS_MISSING_POWERPC64 !TARGET_64BIT
+   process.  */
+#define OS_MISSING_POWERPC64 (!TARGET_64BIT)
 
 #undef  TARGET_OS_CPP_BUILTINS
 #define TARGET_OS_CPP_BUILTINS()			\
@@ -350,6 +344,17 @@ extern int dot_symbols;
 }		\
   while (0)
 
+#undef CC1_OS_NETBSD_SPEC
+#define CC1_OS_NETBSD_SPEC \
+  NETBSD_CC1_AND_CC1PLUS_SPEC \
+  "%{!m32: %{!mrelocatable: %{!fno-pie: %{!fno-pic: \
+ %{!fpie: %{!fpic: \
+   %{!fPIE: %{!fPIC:-fPIC"
+/* %{!m32: %{!mcmodel*: -mcmodel=medium}}" */
+
+#undef CC1PLUS_SPEC
+#define CC1PLUS_SPEC CC1_OS_NETBSD_SPEC
+
 #undef  CPP_OS_DEFAULT_SPEC
 #define CPP_OS_DEFAULT_SPEC "%(cpp_os_netbsd)"
 
@@ -382,17 +387,6 @@ extern int dot_symbols;
 /* Use standard DWARF numbering for DWARF debugging information.  */
 #define RS6000_USE_DWARF_NUMBERING
 
-/* PowerPC64 NetBSD word-aligns FP doubles when -malign-power is given.  */
-#undef  ADJUST_FIELD_ALIGN
-#define ADJUST_FIELD_ALIGN(FIELD, TYPE, COMPUTED) \
-  (rs6000_special_adjust_field_align_p ((TYPE), (COMPUTED))		\
-   ? 128\
-   : (TARGET_64BIT  \
-  && TARGET_ALIGN_NATURAL == 0  \
-  && TYPE_MODE (strip_array_types (TYPE)) == DFmode)   		\
-   ? MIN ((COMPUTED), 32)   \
-   : (COMPUTED))
-
 #undef  TOC_SECTION_ASM_OP
 #define TOC_SECTION_ASM_OP \
   (TARGET_64BIT		\
@@ -601,4 +595,11 @@ extern int dot_symbols;
 /* NetBSD ppc64 has 128-bit long double support.  */
 #undef	RS6000_DEFAULT_LONG_DOUBLE_SIZE
 #define RS6000_DEFAULT_LONG_DOUBLE_SIZE 128
+
 #define POWERPC_NETBSD
+
+/* The IEEE 128-bit emulator is only built on Linux systems.  Flag that we
+   should enable the type handling for KFmode on VSX systems even if we are not
+   enabling the __float128 keyword.  */
+#undef	TARGET_FLOAT128_ENABLE_TYPE
+#define TARGET_FLOAT128_ENABLE_TYPE 1

Index: 

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

2019-04-03 Thread matthew green
Module Name:src
Committed By:   mrg
Date:   Wed Apr  3 08:31:57 UTC 2019

Modified Files:
src/external/gpl3/gcc/dist/gcc/config/rs6000: netbsd64.h

Log Message:
- fix missing else in SUBSUBTARGET_OVERRIDE_OPTIONS
- remove obsolete defines, and move stuff to be more like freebsd64.h
- remove common / already correctly defined overrides


To generate a diff of this commit:
cvs rdiff -u -r1.18 -r1.19 \
src/external/gpl3/gcc/dist/gcc/config/rs6000/netbsd64.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/rs6000/netbsd64.h
diff -u src/external/gpl3/gcc/dist/gcc/config/rs6000/netbsd64.h:1.18 src/external/gpl3/gcc/dist/gcc/config/rs6000/netbsd64.h:1.19
--- src/external/gpl3/gcc/dist/gcc/config/rs6000/netbsd64.h:1.18	Tue Feb  5 12:01:11 2019
+++ src/external/gpl3/gcc/dist/gcc/config/rs6000/netbsd64.h	Wed Apr  3 08:31:57 2019
@@ -152,6 +152,7 @@ extern int dot_symbols;
 		error ("-mcmodel incompatible with other toc options"); \
 	  SET_CMODEL (CMODEL_SMALL);			\
 	}			\
+	  else			\
 	{			\
 	  if (!global_options_set.x_rs6000_current_cmodel)	\
 		SET_CMODEL (CMODEL_MEDIUM);			\
@@ -262,20 +263,6 @@ extern int dot_symbols;
 
 #endif
 
-/* Use standard DWARF numbering for DWARF debugging information.  */
-#define RS6000_USE_DWARF_NUMBERING
-
-/* PowerPC64 NetBSD word-aligns FP doubles when -malign-power is given.  */
-#undef  ADJUST_FIELD_ALIGN
-#define ADJUST_FIELD_ALIGN(FIELD, TYPE, COMPUTED) \
-  (rs6000_special_adjust_field_align_p ((TYPE), (COMPUTED))		\
-   ? 128\
-   : (TARGET_64BIT  \
-  && TARGET_ALIGN_NATURAL == 0  \
-  && TYPE_MODE (strip_array_types (TYPE)) == DFmode)   		\
-   ? MIN ((COMPUTED), 32)   \
-   : (COMPUTED))
-
 /* PowerPC64 NetBSD increases natural record alignment to doubleword if
the first field is an FP double, only if in power alignment mode.  */
 #undef  ROUND_TYPE_ALIGN
@@ -326,13 +313,15 @@ extern int dot_symbols;
   do			\
 {			\
   NETBSD_OS_CPP_BUILTINS_ELF();			\
+  builtin_define ("__PPC__");			\
+  builtin_define ("__ppc__");			\
+  builtin_define ("__powerpc__");			\
   if (TARGET_ISEL)	\
 	builtin_define ("__PPC_ISEL__");		\
   if (TARGET_64BIT)	\
 	{		\
-	  builtin_define ("__PPC__");			\
+	  builtin_define ("__arch64__");		\
 	  builtin_define ("__PPC64__");			\
-	  builtin_define ("__powerpc__");		\
 	  builtin_define ("__powerpc64__");		\
 	  builtin_define_with_int_value ("__PIC__", 2);	\
 	  builtin_assert ("cpu=powerpc64");		\
@@ -390,6 +379,20 @@ extern int dot_symbols;
   %{rdynamic:-export-dynamic} \
   %{!dynamic-linker:-dynamic-linker /usr/libexec/ld.elf_so}}}"
 
+/* Use standard DWARF numbering for DWARF debugging information.  */
+#define RS6000_USE_DWARF_NUMBERING
+
+/* PowerPC64 NetBSD word-aligns FP doubles when -malign-power is given.  */
+#undef  ADJUST_FIELD_ALIGN
+#define ADJUST_FIELD_ALIGN(FIELD, TYPE, COMPUTED) \
+  (rs6000_special_adjust_field_align_p ((TYPE), (COMPUTED))		\
+   ? 128\
+   : (TARGET_64BIT  \
+  && TARGET_ALIGN_NATURAL == 0  \
+  && TYPE_MODE (strip_array_types (TYPE)) == DFmode)   		\
+   ? MIN ((COMPUTED), 32)   \
+   : (COMPUTED))
+
 #undef  TOC_SECTION_ASM_OP
 #define TOC_SECTION_ASM_OP \
   (TARGET_64BIT		\
@@ -404,6 +407,43 @@ extern int dot_symbols;
   ? "\t.section\t\".got2\",\"aw\""			\
   : "\t.section\t\".got1\",\"aw\""))
 
+/* This is how to declare the size of a function.  */
+#undef  ASM_DECLARE_FUNCTION_SIZE
+#define ASM_DECLARE_FUNCTION_SIZE(FILE, FNAME, DECL)\
+  do\
+{   \
+  if (!flag_inhibit_size_directive) \
+{   \
+  fputs ("\t.size\t", (FILE));  \
+  if (TARGET_64BIT && DOT_SYMBOLS)  \
+putc ('.', (FILE)); \
+  assemble_name ((FILE), (FNAME));  \
+  fputs (",.-", (FILE));\
+  rs6000_output_function_entry (FILE, FNAME);   \
+  putc ('\n', (FILE));  \
+}   \
+}   

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

2019-04-03 Thread matthew green
Module Name:src
Committed By:   mrg
Date:   Wed Apr  3 08:31:57 UTC 2019

Modified Files:
src/external/gpl3/gcc/dist/gcc/config/rs6000: netbsd64.h

Log Message:
- fix missing else in SUBSUBTARGET_OVERRIDE_OPTIONS
- remove obsolete defines, and move stuff to be more like freebsd64.h
- remove common / already correctly defined overrides


To generate a diff of this commit:
cvs rdiff -u -r1.18 -r1.19 \
src/external/gpl3/gcc/dist/gcc/config/rs6000/netbsd64.h

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.



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

2019-02-05 Thread matthew green
Module Name:src
Committed By:   mrg
Date:   Tue Feb  5 12:01:11 UTC 2019

Modified Files:
src/external/gpl3/gcc/dist/gcc/config/rs6000: netbsd64.h

Log Message:
update for GCC 7 - mirror changes in freebsd64.h in recent times.


To generate a diff of this commit:
cvs rdiff -u -r1.17 -r1.18 \
src/external/gpl3/gcc/dist/gcc/config/rs6000/netbsd64.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/rs6000/netbsd64.h
diff -u src/external/gpl3/gcc/dist/gcc/config/rs6000/netbsd64.h:1.17 src/external/gpl3/gcc/dist/gcc/config/rs6000/netbsd64.h:1.18
--- src/external/gpl3/gcc/dist/gcc/config/rs6000/netbsd64.h:1.17	Mon Mar  5 00:17:09 2018
+++ src/external/gpl3/gcc/dist/gcc/config/rs6000/netbsd64.h	Tue Feb  5 12:01:11 2019
@@ -123,6 +123,12 @@ extern int dot_symbols;
 	  rs6000_isa_flags &= ~OPTION_MASK_RELOCATABLE;	\
 	  error (INVALID_64BIT, "relocatable");		\
 	}			\
+	  if (ELFv2_ABI_CHECK)	\
+	{			\
+	  rs6000_current_abi = ABI_ELFv2;			\
+	  if (dot_symbols)	\
+		error ("-mcall-aixdesc incompatible with -mabi=elfv2"); \
+	}			\
 	  if (rs6000_isa_flags & OPTION_MASK_EABI)		\
 	{			\
 	  rs6000_isa_flags &= ~OPTION_MASK_EABI;		\
@@ -210,7 +216,7 @@ extern int dot_symbols;
 #endif
 
 #define ASM_SPEC32 "-a32 \
-%{mrelocatable} %{mrelocatable-lib} %{fpic|fpie|fPIC|fPIE:-K PIC} \
+%{mrelocatable} %{mrelocatable-lib} %{" FPIE_OR_FPIC_SPEC ":-K PIC} \
 %{memb|msdata=eabi: -memb}"
 
 #define ASM_SPEC64 "-a64"
@@ -256,15 +262,18 @@ extern int dot_symbols;
 
 #endif
 
+/* Use standard DWARF numbering for DWARF debugging information.  */
+#define RS6000_USE_DWARF_NUMBERING
+
 /* PowerPC64 NetBSD word-aligns FP doubles when -malign-power is given.  */
 #undef  ADJUST_FIELD_ALIGN
-#define ADJUST_FIELD_ALIGN(FIELD, COMPUTED) \
-  ((TARGET_ALTIVEC && TREE_CODE (TREE_TYPE (FIELD)) == VECTOR_TYPE)	\
-   ? 128\
-   : (TARGET_64BIT			\
-  && TARGET_ALIGN_NATURAL == 0	\
-  && TYPE_MODE (strip_array_types (TREE_TYPE (FIELD))) == DFmode)	\
-   ? MIN ((COMPUTED), 32)		\
+#define ADJUST_FIELD_ALIGN(FIELD, TYPE, COMPUTED) \
+  (rs6000_special_adjust_field_align_p ((TYPE), (COMPUTED))		\
+   ? 128\
+   : (TARGET_64BIT  \
+  && TARGET_ALIGN_NATURAL == 0  \
+  && TYPE_MODE (strip_array_types (TYPE)) == DFmode)   		\
+   ? MIN ((COMPUTED), 32)   \
: (COMPUTED))
 
 /* PowerPC64 NetBSD increases natural record alignment to doubleword if
@@ -391,7 +400,7 @@ extern int dot_symbols;
 #define MINIMAL_TOC_SECTION_ASM_OP \
   (TARGET_64BIT		\
? "\t.section\t\".toc1\",\"aw\""			\
-   : ((TARGET_RELOCATABLE || flag_pic)			\
+   : (flag_pic		\
   ? "\t.section\t\".got2\",\"aw\""			\
   : "\t.section\t\".got1\",\"aw\""))
 
@@ -591,7 +600,6 @@ extern int dot_symbols;
 			&& ! TARGET_NO_FP_IN_TOC)))			\
 	   || (!TARGET_64BIT	\
 		   && !TARGET_NO_FP_IN_TOC\
-		   && !TARGET_RELOCATABLE\
 		   && SCALAR_FLOAT_MODE_P (GET_MODE (X))		\
 		   && BITS_PER_WORD == HOST_BITS_PER_INT)
 
@@ -600,7 +608,7 @@ extern int dot_symbols;
true if the symbol may be affected by dynamic relocations.  */
 #undef	ASM_PREFERRED_EH_DATA_FORMAT
 #define	ASM_PREFERRED_EH_DATA_FORMAT(CODE, GLOBAL) \
-  ((TARGET_64BIT || flag_pic || TARGET_RELOCATABLE)			\
+  (TARGET_64BIT || flag_pic		\
? (((GLOBAL) ? DW_EH_PE_indirect : 0) | DW_EH_PE_pcrel		\
   | (TARGET_64BIT ? DW_EH_PE_udata8 : DW_EH_PE_sdata4))		\
: DW_EH_PE_absptr)



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

2019-02-05 Thread matthew green
Module Name:src
Committed By:   mrg
Date:   Tue Feb  5 12:01:11 UTC 2019

Modified Files:
src/external/gpl3/gcc/dist/gcc/config/rs6000: netbsd64.h

Log Message:
update for GCC 7 - mirror changes in freebsd64.h in recent times.


To generate a diff of this commit:
cvs rdiff -u -r1.17 -r1.18 \
src/external/gpl3/gcc/dist/gcc/config/rs6000/netbsd64.h

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.



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

2018-03-04 Thread Christos Zoulas
Module Name:src
Committed By:   christos
Date:   Mon Mar  5 00:17:09 UTC 2018

Modified Files:
src/external/gpl3/gcc/dist/gcc/config/rs6000: netbsd64.h

Log Message:
Make the *int64 long long (32 bit) or long (64) bit. Now all those special
redefinitions could go away since this is the default behavior.


To generate a diff of this commit:
cvs rdiff -u -r1.16 -r1.17 \
src/external/gpl3/gcc/dist/gcc/config/rs6000/netbsd64.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/rs6000/netbsd64.h
diff -u src/external/gpl3/gcc/dist/gcc/config/rs6000/netbsd64.h:1.16 src/external/gpl3/gcc/dist/gcc/config/rs6000/netbsd64.h:1.17
--- src/external/gpl3/gcc/dist/gcc/config/rs6000/netbsd64.h:1.16	Sun Mar  4 11:44:11 2018
+++ src/external/gpl3/gcc/dist/gcc/config/rs6000/netbsd64.h	Sun Mar  4 19:17:09 2018
@@ -422,7 +422,7 @@ extern int dot_symbols;
 #define INT32_TYPE "int"
 
 #undef INT64_TYPE
-#define INT64_TYPE "long int"
+#define	INT64_TYPE (LONG_TYPE_SIZE == 64 ? "long int" : "long long int")
 
 #undef UINT8_TYPE
 #define UINT8_TYPE "unsigned char"
@@ -434,7 +434,7 @@ extern int dot_symbols;
 #define UINT32_TYPE "unsigned int"
 
 #undef UINT64_TYPE
-#define UINT64_TYPE "long unsigned int"
+#define	UINT64_TYPE (LONG_TYPE_SIZE == 64 ? "long unsigned int" : "long long unsigned int")
 
 #undef INT_FAST8_TYPE
 #define INT_FAST8_TYPE "int"



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

2018-03-04 Thread Christos Zoulas
Module Name:src
Committed By:   christos
Date:   Mon Mar  5 00:17:09 UTC 2018

Modified Files:
src/external/gpl3/gcc/dist/gcc/config/rs6000: netbsd64.h

Log Message:
Make the *int64 long long (32 bit) or long (64) bit. Now all those special
redefinitions could go away since this is the default behavior.


To generate a diff of this commit:
cvs rdiff -u -r1.16 -r1.17 \
src/external/gpl3/gcc/dist/gcc/config/rs6000/netbsd64.h

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.



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

2018-03-04 Thread Christos Zoulas
Module Name:src
Committed By:   christos
Date:   Sun Mar  4 16:44:11 UTC 2018

Modified Files:
src/external/gpl3/gcc/dist/gcc/config/rs6000: netbsd64.h

Log Message:
_LP64 64 bit types are "long" not "long long".


To generate a diff of this commit:
cvs rdiff -u -r1.15 -r1.16 \
src/external/gpl3/gcc/dist/gcc/config/rs6000/netbsd64.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/rs6000/netbsd64.h
diff -u src/external/gpl3/gcc/dist/gcc/config/rs6000/netbsd64.h:1.15 src/external/gpl3/gcc/dist/gcc/config/rs6000/netbsd64.h:1.16
--- src/external/gpl3/gcc/dist/gcc/config/rs6000/netbsd64.h:1.15	Thu Feb 22 17:20:44 2018
+++ src/external/gpl3/gcc/dist/gcc/config/rs6000/netbsd64.h	Sun Mar  4 11:44:11 2018
@@ -422,7 +422,7 @@ extern int dot_symbols;
 #define INT32_TYPE "int"
 
 #undef INT64_TYPE
-#define INT64_TYPE "long long int"
+#define INT64_TYPE "long int"
 
 #undef UINT8_TYPE
 #define UINT8_TYPE "unsigned char"
@@ -434,7 +434,7 @@ extern int dot_symbols;
 #define UINT32_TYPE "unsigned int"
 
 #undef UINT64_TYPE
-#define UINT64_TYPE "long long unsigned int"
+#define UINT64_TYPE "long unsigned int"
 
 #undef INT_FAST8_TYPE
 #define INT_FAST8_TYPE "int"



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

2018-03-04 Thread Christos Zoulas
Module Name:src
Committed By:   christos
Date:   Sun Mar  4 16:44:11 UTC 2018

Modified Files:
src/external/gpl3/gcc/dist/gcc/config/rs6000: netbsd64.h

Log Message:
_LP64 64 bit types are "long" not "long long".


To generate a diff of this commit:
cvs rdiff -u -r1.15 -r1.16 \
src/external/gpl3/gcc/dist/gcc/config/rs6000/netbsd64.h

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.



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

2016-12-17 Thread Rin Okuyama
Module Name:src
Committed By:   rin
Date:   Sun Dec 18 03:00:58 UTC 2016

Modified Files:
src/external/gpl3/gcc/dist/gcc/config/rs6000: rs6000.c

Log Message:
PR port-powerpc/51366 kernel for powerpc/ibm4xx miscompiled by gcc >= 4.8.5
backport fix from upstream:

URL: https://gcc.gnu.org/viewcvs?rev=238789=gcc=rev
Log:
rs6000: Fix logic for when to emit .machine (PR71216)

The current logic determining whether to use .machine in the generated
asm code puts it there if the compiler is not configured with a default
target cpu, _or_ no -mcpu= was given on the command line.  It should
be "and" instead.

PR target/71216
* config/rs6000/rs6000.c (rs6000_file_start): Fix condition for
when to emit a ".machine" pseudo-op.

Modified:
branches/gcc-5-branch/gcc/ChangeLog
branches/gcc-5-branch/gcc/config/rs6000/rs6000.c


To generate a diff of this commit:
cvs rdiff -u -r1.15 -r1.16 \
src/external/gpl3/gcc/dist/gcc/config/rs6000/rs6000.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.



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

2016-12-17 Thread Rin Okuyama
Module Name:src
Committed By:   rin
Date:   Sun Dec 18 03:00:58 UTC 2016

Modified Files:
src/external/gpl3/gcc/dist/gcc/config/rs6000: rs6000.c

Log Message:
PR port-powerpc/51366 kernel for powerpc/ibm4xx miscompiled by gcc >= 4.8.5
backport fix from upstream:

URL: https://gcc.gnu.org/viewcvs?rev=238789=gcc=rev
Log:
rs6000: Fix logic for when to emit .machine (PR71216)

The current logic determining whether to use .machine in the generated
asm code puts it there if the compiler is not configured with a default
target cpu, _or_ no -mcpu= was given on the command line.  It should
be "and" instead.

PR target/71216
* config/rs6000/rs6000.c (rs6000_file_start): Fix condition for
when to emit a ".machine" pseudo-op.

Modified:
branches/gcc-5-branch/gcc/ChangeLog
branches/gcc-5-branch/gcc/config/rs6000/rs6000.c


To generate a diff of this commit:
cvs rdiff -u -r1.15 -r1.16 \
src/external/gpl3/gcc/dist/gcc/config/rs6000/rs6000.c

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/rs6000/rs6000.c
diff -u src/external/gpl3/gcc/dist/gcc/config/rs6000/rs6000.c:1.15 src/external/gpl3/gcc/dist/gcc/config/rs6000/rs6000.c:1.16
--- src/external/gpl3/gcc/dist/gcc/config/rs6000/rs6000.c:1.15	Tue Jun  7 06:14:17 2016
+++ src/external/gpl3/gcc/dist/gcc/config/rs6000/rs6000.c	Sun Dec 18 03:00:58 2016
@@ -5185,8 +5185,8 @@ rs6000_file_start (void)
 }
 
 #ifdef USING_ELFOS_H
-  if (rs6000_default_cpu == 0 || rs6000_default_cpu[0] == '\0'
-  || !global_options_set.x_rs6000_cpu_index)
+  if (!(rs6000_default_cpu && rs6000_default_cpu[0])
+  && !global_options_set.x_rs6000_cpu_index)
 {
   fputs ("\t.machine ", asm_out_file);
   if ((rs6000_isa_flags & OPTION_MASK_DIRECT_MOVE) != 0)



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

2015-11-08 Thread Christos Zoulas
Module Name:src
Committed By:   christos
Date:   Sun Nov  8 17:11:55 UTC 2015

Modified Files:
src/external/gpl3/gcc/dist/gcc/config/rs6000: rs6000.c

Log Message:
We've never supported the executable stack note, and none of the other
archs have it.


To generate a diff of this commit:
cvs rdiff -u -r1.12 -r1.13 \
src/external/gpl3/gcc/dist/gcc/config/rs6000/rs6000.c

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/rs6000/rs6000.c
diff -u src/external/gpl3/gcc/dist/gcc/config/rs6000/rs6000.c:1.12 src/external/gpl3/gcc/dist/gcc/config/rs6000/rs6000.c:1.13
--- src/external/gpl3/gcc/dist/gcc/config/rs6000/rs6000.c:1.12	Wed Jun 24 10:28:28 2015
+++ src/external/gpl3/gcc/dist/gcc/config/rs6000/rs6000.c	Sun Nov  8 12:11:55 2015
@@ -29474,8 +29474,7 @@ rs6000_elf_file_end (void)
 		 aix_struct_return ? 2 : 1);
 }
 #endif
-#if defined (POWERPC_LINUX) || defined (POWERPC_FREEBSD) \
-|| defined (POWERPC_NETBSD)
+#if defined (POWERPC_LINUX) || defined (POWERPC_FREEBSD)
   if (TARGET_32BIT || DEFAULT_ABI == ABI_ELFv2)
 file_end_indicate_exec_stack ();
 #endif



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

2015-11-08 Thread Christos Zoulas
Module Name:src
Committed By:   christos
Date:   Sun Nov  8 17:11:55 UTC 2015

Modified Files:
src/external/gpl3/gcc/dist/gcc/config/rs6000: rs6000.c

Log Message:
We've never supported the executable stack note, and none of the other
archs have it.


To generate a diff of this commit:
cvs rdiff -u -r1.12 -r1.13 \
src/external/gpl3/gcc/dist/gcc/config/rs6000/rs6000.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.



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

2015-06-23 Thread Matt Thomas
Module Name:src
Committed By:   matt
Date:   Wed Jun 24 01:29:33 UTC 2015

Modified Files:
src/external/gpl3/gcc/dist/gcc/config/rs6000: netbsd64.h

Log Message:
Change CC1_SPEC andd CC1PLUS_SPEC to supply -fPIC by default if none of
m32 mrelocatable fpie fPIE fpic fPIC fno-pie fno-pic are supplied.


To generate a diff of this commit:
cvs rdiff -u -r1.12 -r1.13 \
src/external/gpl3/gcc/dist/gcc/config/rs6000/netbsd64.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/rs6000/netbsd64.h
diff -u src/external/gpl3/gcc/dist/gcc/config/rs6000/netbsd64.h:1.12 src/external/gpl3/gcc/dist/gcc/config/rs6000/netbsd64.h:1.13
--- src/external/gpl3/gcc/dist/gcc/config/rs6000/netbsd64.h:1.12	Thu Apr  2 16:49:09 2015
+++ src/external/gpl3/gcc/dist/gcc/config/rs6000/netbsd64.h	Wed Jun 24 01:29:33 2015
@@ -87,6 +87,17 @@ extern int dot_symbols;
 
 #define ELFv2_ABI_CHECK (rs6000_elf_abi == 2)   
 
+#undef CC1_OS_NETBSD_SPEC
+#define CC1_OS_NETBSD_SPEC \
+  NETBSD_CC1_AND_CC1PLUS_SPEC \
+  %{!m32: %{!mrelocatable: %{!fno-pie: %{!fno-pic: \
+ %{!fpie: %{!fpic: \
+   %{!fPIE: %{!fPIC:-fPIC
+/* %{!m32: %{!mcmodel*: -mcmodel=medium}} */
+
+#undef CC1PLUS_SPEC
+#define CC1PLUS_SPEC CC1_OS_NETBSD_SPEC
+
 #undef	SUBSUBTARGET_OVERRIDE_OPTIONS
 #define	SUBSUBTARGET_OVERRIDE_OPTIONS\
   do\



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

2015-06-23 Thread Matt Thomas
Module Name:src
Committed By:   matt
Date:   Wed Jun 24 01:29:33 UTC 2015

Modified Files:
src/external/gpl3/gcc/dist/gcc/config/rs6000: netbsd64.h

Log Message:
Change CC1_SPEC andd CC1PLUS_SPEC to supply -fPIC by default if none of
m32 mrelocatable fpie fPIE fpic fPIC fno-pie fno-pic are supplied.


To generate a diff of this commit:
cvs rdiff -u -r1.12 -r1.13 \
src/external/gpl3/gcc/dist/gcc/config/rs6000/netbsd64.h

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.



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

2015-06-22 Thread Matt Thomas
Module Name:src
Committed By:   matt
Date:   Tue Jun 23 01:37:13 UTC 2015

Modified Files:
src/external/gpl3/gcc/dist/gcc/config/rs6000: rs6000.c

Log Message:
By changing rs6000_elf_reloc_rw_mask to return 3 if using a powerpc64 ABI
on NetBSD, we basicly eliminate the only difference between have -fPIC or
not.  This enables us to turn on MKPICLIB for powerpc64.


To generate a diff of this commit:
cvs rdiff -u -r1.10 -r1.11 \
src/external/gpl3/gcc/dist/gcc/config/rs6000/rs6000.c

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/rs6000/rs6000.c
diff -u src/external/gpl3/gcc/dist/gcc/config/rs6000/rs6000.c:1.10 src/external/gpl3/gcc/dist/gcc/config/rs6000/rs6000.c:1.11
--- src/external/gpl3/gcc/dist/gcc/config/rs6000/rs6000.c:1.10	Tue Jan 20 07:12:41 2015
+++ src/external/gpl3/gcc/dist/gcc/config/rs6000/rs6000.c	Tue Jun 23 01:37:13 2015
@@ -29124,7 +29124,11 @@ rs6000_elf_reloc_rw_mask (void)
   if (flag_pic)
 return 3;
   else if (DEFAULT_ABI == ABI_AIX || DEFAULT_ABI == ABI_ELFv2)
+#if defined (POWERPC_NETBSD)
+return 3;
+#else
 return 2;
+#endif
   else
 return 0;
 }



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

2015-04-02 Thread Dennis Ferguson
Module Name:src
Committed By:   dennis
Date:   Thu Apr  2 16:49:09 UTC 2015

Modified Files:
src/external/gpl3/gcc/dist/gcc/config/rs6000: netbsd64.h

Log Message:
Make the small [U]INT_LEAST?_TYPE definitions match the 32 bit compiler


To generate a diff of this commit:
cvs rdiff -u -r1.11 -r1.12 \
src/external/gpl3/gcc/dist/gcc/config/rs6000/netbsd64.h

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.



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

2015-04-02 Thread Dennis Ferguson
Module Name:src
Committed By:   dennis
Date:   Thu Apr  2 16:49:09 UTC 2015

Modified Files:
src/external/gpl3/gcc/dist/gcc/config/rs6000: netbsd64.h

Log Message:
Make the small [U]INT_LEAST?_TYPE definitions match the 32 bit compiler


To generate a diff of this commit:
cvs rdiff -u -r1.11 -r1.12 \
src/external/gpl3/gcc/dist/gcc/config/rs6000/netbsd64.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/rs6000/netbsd64.h
diff -u src/external/gpl3/gcc/dist/gcc/config/rs6000/netbsd64.h:1.11 src/external/gpl3/gcc/dist/gcc/config/rs6000/netbsd64.h:1.12
--- src/external/gpl3/gcc/dist/gcc/config/rs6000/netbsd64.h:1.11	Sun Mar 29 00:42:51 2015
+++ src/external/gpl3/gcc/dist/gcc/config/rs6000/netbsd64.h	Thu Apr  2 16:49:09 2015
@@ -462,26 +462,26 @@ extern int dot_symbols;
 #define UINT_FAST64_TYPE UINT64_TYPE
 
 #undef INT_LEAST8_TYPE
-#define INT_LEAST8_TYPE int
+#define INT_LEAST8_TYPE INT8_TYPE
+
+#undef INT_LEAST16_TYPE
+#define INT_LEAST16_TYPE INT16_TYPE
 
 #undef INT_LEAST32_TYPE
 #define INT_LEAST32_TYPE int
 
-#undef INT_LEAST16_TYPE
-#define INT_LEAST16_TYPE int
-
 #undef INT_LEAST64_TYPE
 #define INT_LEAST64_TYPE INT64_TYPE
 
 #undef UINT_LEAST8_TYPE
-#define UINT_LEAST8_TYPE unsigned int
+#define UINT_LEAST8_TYPE UINT8_TYPE
+
+#undef UINT_LEAST16_TYPE
+#define UINT_LEAST16_TYPE UINT16_TYPE
 
 #undef UINT_LEAST32_TYPE
 #define UINT_LEAST32_TYPE unsigned int
 
-#undef UINT_LEAST16_TYPE
-#define UINT_LEAST16_TYPE unsigned int
-
 #undef UINT_LEAST64_TYPE
 #define UINT_LEAST64_TYPE UINT64_TYPE
 



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

2015-03-28 Thread Matt Thomas
Module Name:src
Committed By:   matt
Date:   Sun Mar 29 00:42:51 UTC 2015

Modified Files:
src/external/gpl3/gcc/dist/gcc/config/rs6000: netbsd.h netbsd64.h

Log Message:
Make gcc emit the CPP macros for integer types.


To generate a diff of this commit:
cvs rdiff -u -r1.8 -r1.9 \
src/external/gpl3/gcc/dist/gcc/config/rs6000/netbsd.h
cvs rdiff -u -r1.10 -r1.11 \
src/external/gpl3/gcc/dist/gcc/config/rs6000/netbsd64.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/rs6000/netbsd.h
diff -u src/external/gpl3/gcc/dist/gcc/config/rs6000/netbsd.h:1.8 src/external/gpl3/gcc/dist/gcc/config/rs6000/netbsd.h:1.9
--- src/external/gpl3/gcc/dist/gcc/config/rs6000/netbsd.h:1.8	Thu Jan 22 08:35:05 2015
+++ src/external/gpl3/gcc/dist/gcc/config/rs6000/netbsd.h	Sun Mar 29 00:42:51 2015
@@ -75,6 +75,18 @@
 #undef WINT_TYPE
 #define WINT_TYPE int
 
+#undef INT64_TYPE
+#define INT64_TYPE long long int
+
+#undef UINT64_TYPE
+#define UINT64_TYPE long long unsigned int
+
+#undef INTMAX_TYPE
+#define INTMAX_TYPE long long int
+
+#undef UINTMAX_TYPE
+#define UINTMAX_TYPE long long unsigned int
+
 /* Undo the spec mess from sysv4.h, and just define the specs
the way NetBSD systems actually expect.  */
 

Index: src/external/gpl3/gcc/dist/gcc/config/rs6000/netbsd64.h
diff -u src/external/gpl3/gcc/dist/gcc/config/rs6000/netbsd64.h:1.10 src/external/gpl3/gcc/dist/gcc/config/rs6000/netbsd64.h:1.11
--- src/external/gpl3/gcc/dist/gcc/config/rs6000/netbsd64.h:1.10	Tue Aug 26 15:53:04 2014
+++ src/external/gpl3/gcc/dist/gcc/config/rs6000/netbsd64.h	Sun Mar 29 00:42:51 2015
@@ -390,14 +390,107 @@ extern int dot_symbols;
 /* Make GCC agree with machine/ansi.h.  */
 
 #undef	SIZE_TYPE
-#define	SIZE_TYPE (TARGET_64BIT ? long unsigned int : unsigned int)
+#define	SIZE_TYPE (LONG_TYPE_SIZE == 64 ? long unsigned int : unsigned int)
 
 #undef	PTRDIFF_TYPE
-#define	PTRDIFF_TYPE (TARGET_64BIT ? long int : int)
+#define	PTRDIFF_TYPE (LONG_TYPE_SIZE == 64 ? long int : int)
+
+#undef INTPTR_TYPE
+#define INTPTR_TYPE PTRDIFF_TYPE
+
+#undef UINTPTR_TYPE
+#define UINTPTR_TYPE SIZE_TYPE
 
 #undef	WCHAR_TYPE
 #define	WCHAR_TYPE int
 
+#undef INT8_TYPE
+#define INT8_TYPE signed char
+
+#undef INT16_TYPE
+#define INT16_TYPE short int
+
+#undef INT32_TYPE
+#define INT32_TYPE int
+
+#undef INT64_TYPE
+#define INT64_TYPE long long int
+
+#undef UINT8_TYPE
+#define UINT8_TYPE unsigned char
+
+#undef UINT16_TYPE
+#define UINT16_TYPE short unsigned int
+
+#undef UINT32_TYPE
+#define UINT32_TYPE unsigned int
+
+#undef UINT64_TYPE
+#define UINT64_TYPE long long unsigned int
+
+#undef INT_FAST8_TYPE
+#define INT_FAST8_TYPE int
+
+#undef INT_FAST16_TYPE
+#define INT_FAST16_TYPE int
+
+#undef INT_FAST32_TYPE
+#define INT_FAST32_TYPE int
+
+#undef INT_FAST64_TYPE
+#define INT_FAST64_TYPE INT64_TYPE
+
+#undef UINT_FAST8_TYPE
+#define UINT_FAST8_TYPE unsigned int
+
+#undef UINT_FAST16_TYPE
+#define UINT_FAST16_TYPE unsigned int
+
+#undef UINT_FAST32_TYPE
+#define UINT_FAST32_TYPE unsigned int
+
+#undef UINT_FAST8_TYPE
+#define UINT_FAST8_TYPE unsigned int
+
+#undef UINT_FAST16_TYPE
+#define UINT_FAST16_TYPE unsigned int
+
+#undef UINT_FAST32_TYPE
+#define UINT_FAST32_TYPE unsigned int
+
+#undef UINT_FAST64_TYPE
+#define UINT_FAST64_TYPE UINT64_TYPE
+
+#undef INT_LEAST8_TYPE
+#define INT_LEAST8_TYPE int
+
+#undef INT_LEAST32_TYPE
+#define INT_LEAST32_TYPE int
+
+#undef INT_LEAST16_TYPE
+#define INT_LEAST16_TYPE int
+
+#undef INT_LEAST64_TYPE
+#define INT_LEAST64_TYPE INT64_TYPE
+
+#undef UINT_LEAST8_TYPE
+#define UINT_LEAST8_TYPE unsigned int
+
+#undef UINT_LEAST32_TYPE
+#define UINT_LEAST32_TYPE unsigned int
+
+#undef UINT_LEAST16_TYPE
+#define UINT_LEAST16_TYPE unsigned int
+
+#undef UINT_LEAST64_TYPE
+#define UINT_LEAST64_TYPE UINT64_TYPE
+
+#undef INTMAX_TYPE
+#define INTMAX_TYPE INT64_TYPE
+
+#undef UINTMAX_TYPE
+#define UINTMAX_TYPE UINT64_TYPE
+
 /* Override rs6000.h definition.  */
 #undef  ASM_APP_ON
 #define ASM_APP_ON #APP\n



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

2015-03-28 Thread Matt Thomas
Module Name:src
Committed By:   matt
Date:   Sun Mar 29 00:42:51 UTC 2015

Modified Files:
src/external/gpl3/gcc/dist/gcc/config/rs6000: netbsd.h netbsd64.h

Log Message:
Make gcc emit the CPP macros for integer types.


To generate a diff of this commit:
cvs rdiff -u -r1.8 -r1.9 \
src/external/gpl3/gcc/dist/gcc/config/rs6000/netbsd.h
cvs rdiff -u -r1.10 -r1.11 \
src/external/gpl3/gcc/dist/gcc/config/rs6000/netbsd64.h

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.



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

2015-01-22 Thread Matt Thomas
Module Name:src
Committed By:   matt
Date:   Thu Jan 22 08:35:05 UTC 2015

Modified Files:
src/external/gpl3/gcc/dist/gcc/config/rs6000: netbsd.h

Log Message:
Make sure POWERPC_NETBSD is defined.


To generate a diff of this commit:
cvs rdiff -u -r1.7 -r1.8 \
src/external/gpl3/gcc/dist/gcc/config/rs6000/netbsd.h

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.



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

2015-01-22 Thread Matt Thomas
Module Name:src
Committed By:   matt
Date:   Thu Jan 22 08:35:05 UTC 2015

Modified Files:
src/external/gpl3/gcc/dist/gcc/config/rs6000: netbsd.h

Log Message:
Make sure POWERPC_NETBSD is defined.


To generate a diff of this commit:
cvs rdiff -u -r1.7 -r1.8 \
src/external/gpl3/gcc/dist/gcc/config/rs6000/netbsd.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/rs6000/netbsd.h
diff -u src/external/gpl3/gcc/dist/gcc/config/rs6000/netbsd.h:1.7 src/external/gpl3/gcc/dist/gcc/config/rs6000/netbsd.h:1.8
--- src/external/gpl3/gcc/dist/gcc/config/rs6000/netbsd.h:1.7	Sat Aug 23 02:17:47 2014
+++ src/external/gpl3/gcc/dist/gcc/config/rs6000/netbsd.h	Thu Jan 22 08:35:05 2015
@@ -118,6 +118,7 @@
 #define TARGET_SECURE_PLT secure_plt
 #undef HAVE_AS_TLS
 #define HAVE_AS_TLS 1
+#define POWERPC_NETBSD
 
 /* Attempt to enable execute permissions on the stack.  */
 //#define TRANSFER_FROM_TRAMPOLINE NETBSD_ENABLE_EXECUTE_STACK



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

2015-01-19 Thread Matt Thomas
Module Name:src
Committed By:   matt
Date:   Tue Jan 20 07:12:41 UTC 2015

Modified Files:
src/external/gpl3/gcc/dist/gcc/config/rs6000: rs6000.c

Log Message:
Don't enable string instructions on NetBSD if -Os is used.


To generate a diff of this commit:
cvs rdiff -u -r1.9 -r1.10 \
src/external/gpl3/gcc/dist/gcc/config/rs6000/rs6000.c

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/rs6000/rs6000.c
diff -u src/external/gpl3/gcc/dist/gcc/config/rs6000/rs6000.c:1.9 src/external/gpl3/gcc/dist/gcc/config/rs6000/rs6000.c:1.10
--- src/external/gpl3/gcc/dist/gcc/config/rs6000/rs6000.c:1.9	Sat Jan 10 01:06:42 2015
+++ src/external/gpl3/gcc/dist/gcc/config/rs6000/rs6000.c	Tue Jan 20 07:12:41 2015
@@ -3249,10 +3249,14 @@ rs6000_option_override_internal (bool gl
 
   /* If we are optimizing big endian systems for space and it's OK to
  use instructions that would be microcoded on the Cell, use the
- load/store multiple and string instructions.  */
+ load/store multiple and string instructions.  Don't use string
+ instructions on NetBSD because the e500 doesn't support them.  */
   if (BYTES_BIG_ENDIAN  optimize_size  rs6000_gen_cell_microcode)
 rs6000_isa_flags |= ~rs6000_isa_flags_explicit  (OPTION_MASK_MULTIPLE
-		  | OPTION_MASK_STRING);
+#if !defined (POWERPC_NETBSD)
+		  | OPTION_MASK_STRING
+#endif
+		  | 0);
 
   /* Don't allow -mmultiple or -mstring on little endian systems
  unless the cpu is a 750, because the hardware doesn't support the



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

2015-01-19 Thread Matt Thomas
Module Name:src
Committed By:   matt
Date:   Tue Jan 20 07:12:41 UTC 2015

Modified Files:
src/external/gpl3/gcc/dist/gcc/config/rs6000: rs6000.c

Log Message:
Don't enable string instructions on NetBSD if -Os is used.


To generate a diff of this commit:
cvs rdiff -u -r1.9 -r1.10 \
src/external/gpl3/gcc/dist/gcc/config/rs6000/rs6000.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.



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

2014-08-26 Thread Matt Thomas
Module Name:src
Committed By:   matt
Date:   Tue Aug 26 15:53:04 UTC 2014

Modified Files:
src/external/gpl3/gcc/dist/gcc/config/rs6000: netbsd64.h

Log Message:
Make sure we default to ELFv1.


To generate a diff of this commit:
cvs rdiff -u -r1.9 -r1.10 \
src/external/gpl3/gcc/dist/gcc/config/rs6000/netbsd64.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/rs6000/netbsd64.h
diff -u src/external/gpl3/gcc/dist/gcc/config/rs6000/netbsd64.h:1.9 src/external/gpl3/gcc/dist/gcc/config/rs6000/netbsd64.h:1.10
--- src/external/gpl3/gcc/dist/gcc/config/rs6000/netbsd64.h:1.9	Sat Aug 23 06:50:18 2014
+++ src/external/gpl3/gcc/dist/gcc/config/rs6000/netbsd64.h	Tue Aug 26 15:53:04 2014
@@ -85,7 +85,7 @@ extern int dot_symbols;
 #define INVALID_64BIT -m%s not supported in this configuration
 #define INVALID_32BIT INVALID_64BIT
 
-#define ELFv2_ABI_CHECK (rs6000_elf_abi != 1)   
+#define ELFv2_ABI_CHECK (rs6000_elf_abi == 2)   
 
 #undef	SUBSUBTARGET_OVERRIDE_OPTIONS
 #define	SUBSUBTARGET_OVERRIDE_OPTIONS\



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

2014-08-26 Thread Matt Thomas
Module Name:src
Committed By:   matt
Date:   Tue Aug 26 15:53:04 UTC 2014

Modified Files:
src/external/gpl3/gcc/dist/gcc/config/rs6000: netbsd64.h

Log Message:
Make sure we default to ELFv1.


To generate a diff of this commit:
cvs rdiff -u -r1.9 -r1.10 \
src/external/gpl3/gcc/dist/gcc/config/rs6000/netbsd64.h

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.



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

2014-08-23 Thread Matt Thomas
Module Name:src
Committed By:   matt
Date:   Sat Aug 23 06:50:18 UTC 2014

Modified Files:
src/external/gpl3/gcc/dist/gcc/config/rs6000: netbsd64.h

Log Message:
Make -mabi=elfv2 work for powerpc64


To generate a diff of this commit:
cvs rdiff -u -r1.8 -r1.9 \
src/external/gpl3/gcc/dist/gcc/config/rs6000/netbsd64.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/rs6000/netbsd64.h
diff -u src/external/gpl3/gcc/dist/gcc/config/rs6000/netbsd64.h:1.8 src/external/gpl3/gcc/dist/gcc/config/rs6000/netbsd64.h:1.9
--- src/external/gpl3/gcc/dist/gcc/config/rs6000/netbsd64.h:1.8	Sat Aug 23 02:17:47 2014
+++ src/external/gpl3/gcc/dist/gcc/config/rs6000/netbsd64.h	Sat Aug 23 06:50:18 2014
@@ -85,6 +85,8 @@ extern int dot_symbols;
 #define INVALID_64BIT -m%s not supported in this configuration
 #define INVALID_32BIT INVALID_64BIT
 
+#define ELFv2_ABI_CHECK (rs6000_elf_abi != 1)   
+
 #undef	SUBSUBTARGET_OVERRIDE_OPTIONS
 #define	SUBSUBTARGET_OVERRIDE_OPTIONS\
   do\
@@ -99,6 +101,12 @@ extern int dot_symbols;
 	  error (INVALID_64BIT, call);			\
 	}			\
 	  dot_symbols = !strcmp (rs6000_abi_name, aixdesc);	\
+	  if (ELFv2_ABI_CHECK)	\
+	{			\
+	  rs6000_current_abi = ABI_ELFv2;			\
+	  if (dot_symbols)	\
+		error (-mcall-aixdesc incompatible with -mabi=elfv2); \
+	}			\
 	  if (rs6000_isa_flags  OPTION_MASK_RELOCATABLE)	\
 	{			\
 	  rs6000_isa_flags = ~OPTION_MASK_RELOCATABLE;	\



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

2014-08-23 Thread Matt Thomas
Module Name:src
Committed By:   matt
Date:   Sat Aug 23 06:50:18 UTC 2014

Modified Files:
src/external/gpl3/gcc/dist/gcc/config/rs6000: netbsd64.h

Log Message:
Make -mabi=elfv2 work for powerpc64


To generate a diff of this commit:
cvs rdiff -u -r1.8 -r1.9 \
src/external/gpl3/gcc/dist/gcc/config/rs6000/netbsd64.h

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.



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

2014-08-22 Thread Matt Thomas
Module Name:src
Committed By:   matt
Date:   Fri Aug 22 06:51:34 UTC 2014

Modified Files:
src/external/gpl3/gcc/dist/gcc/config/rs6000: netbsd.h

Log Message:
Simplify a little (avoid indirection)


To generate a diff of this commit:
cvs rdiff -u -r1.5 -r1.6 \
src/external/gpl3/gcc/dist/gcc/config/rs6000/netbsd.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/rs6000/netbsd.h
diff -u src/external/gpl3/gcc/dist/gcc/config/rs6000/netbsd.h:1.5 src/external/gpl3/gcc/dist/gcc/config/rs6000/netbsd.h:1.6
--- src/external/gpl3/gcc/dist/gcc/config/rs6000/netbsd.h:1.5	Sat Mar  1 09:44:50 2014
+++ src/external/gpl3/gcc/dist/gcc/config/rs6000/netbsd.h	Fri Aug 22 06:51:34 2014
@@ -90,7 +90,7 @@
 #define STARTFILE_SPEC NETBSD_STARTFILE_SPEC
 
 #undef  ENDFILE_SPEC
-#define ENDFILE_SPEC %(netbsd_endfile_spec)
+#define ENDFILE_SPEC NETBSD_ENDFILE_SPEC
 
 #undef  LIB_SPEC
 #define LIB_SPEC NETBSD_LIB_SPEC



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

2014-08-22 Thread Matt Thomas
Module Name:src
Committed By:   matt
Date:   Fri Aug 22 06:52:37 UTC 2014

Modified Files:
src/external/gpl3/gcc/dist/gcc/config/rs6000: netbsd64.h

Log Message:
Check the variable for RELOCATABLE_NEEDS_FIXUP


To generate a diff of this commit:
cvs rdiff -u -r1.6 -r1.7 \
src/external/gpl3/gcc/dist/gcc/config/rs6000/netbsd64.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/rs6000/netbsd64.h
diff -u src/external/gpl3/gcc/dist/gcc/config/rs6000/netbsd64.h:1.6 src/external/gpl3/gcc/dist/gcc/config/rs6000/netbsd64.h:1.7
--- src/external/gpl3/gcc/dist/gcc/config/rs6000/netbsd64.h:1.6	Tue Mar  4 08:43:12 2014
+++ src/external/gpl3/gcc/dist/gcc/config/rs6000/netbsd64.h	Fri Aug 22 06:52:37 2014
@@ -77,7 +77,7 @@ extern int dot_symbols;
-mrelocatable or -mrelocatable-lib is given.  */
 #undef RELOCATABLE_NEEDS_FIXUP
 #define RELOCATABLE_NEEDS_FIXUP \
-  (target_flags  target_flags_explicit  MASK_RELOCATABLE)
+  (rs6000_isa_flags  rs6000_isa_flags_explicit  OPTION_MASK_RELOCATABLE)
 
 #undef	RS6000_ABI_NAME
 #define	RS6000_ABI_NAME netbsd



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

2014-08-22 Thread Matt Thomas
Module Name:src
Committed By:   matt
Date:   Sat Aug 23 02:17:47 UTC 2014

Modified Files:
src/external/gpl3/gcc/dist/gcc/config/rs6000: netbsd.h netbsd64.h
rs6000.c t-netbsd64

Log Message:
Fix powerpc64 support for NetBSD.
Add __PPC_ISEL__ to indicate cpu support the isel instruction


To generate a diff of this commit:
cvs rdiff -u -r1.6 -r1.7 \
src/external/gpl3/gcc/dist/gcc/config/rs6000/netbsd.h \
src/external/gpl3/gcc/dist/gcc/config/rs6000/rs6000.c
cvs rdiff -u -r1.7 -r1.8 \
src/external/gpl3/gcc/dist/gcc/config/rs6000/netbsd64.h
cvs rdiff -u -r1.1 -r1.2 \
src/external/gpl3/gcc/dist/gcc/config/rs6000/t-netbsd64

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/rs6000/netbsd.h
diff -u src/external/gpl3/gcc/dist/gcc/config/rs6000/netbsd.h:1.6 src/external/gpl3/gcc/dist/gcc/config/rs6000/netbsd.h:1.7
--- src/external/gpl3/gcc/dist/gcc/config/rs6000/netbsd.h:1.6	Fri Aug 22 06:51:34 2014
+++ src/external/gpl3/gcc/dist/gcc/config/rs6000/netbsd.h	Sat Aug 23 02:17:47 2014
@@ -31,6 +31,8 @@
 builtin_define (_SECURE_PLT);		\
   if (TARGET_SOFT_FLOAT)			\
 builtin_define (_SOFT_FLOAT);		\
+  if (TARGET_ISEL)\
+builtin_define (__PPC_ISEL__);	\
 }		\
   while (0)
 
Index: src/external/gpl3/gcc/dist/gcc/config/rs6000/rs6000.c
diff -u src/external/gpl3/gcc/dist/gcc/config/rs6000/rs6000.c:1.6 src/external/gpl3/gcc/dist/gcc/config/rs6000/rs6000.c:1.7
--- src/external/gpl3/gcc/dist/gcc/config/rs6000/rs6000.c:1.6	Tue May 27 09:18:54 2014
+++ src/external/gpl3/gcc/dist/gcc/config/rs6000/rs6000.c	Sat Aug 23 02:17:47 2014
@@ -3492,7 +3492,8 @@ rs6000_option_override_internal (bool gl
 	rs6000_long_double_type_size = RS6000_DEFAULT_LONG_DOUBLE_SIZE;
 }
 
-#if !defined (POWERPC_LINUX)  !defined (POWERPC_FREEBSD)
+#if !defined (POWERPC_LINUX)  !defined (POWERPC_FREEBSD) \
+ !defined (POWERPC_NETBSD)
   if (!global_options_set.x_rs6000_ieeequad)
 rs6000_ieeequad = 1;
 #endif
@@ -22500,7 +22501,8 @@ rs6000_savres_routine_name (rs6000_stack
 }
   else if (DEFAULT_ABI == ABI_AIX || DEFAULT_ABI == ABI_ELFv2)
 {
-#if !defined (POWERPC_LINUX)  !defined (POWERPC_FREEBSD)
+#if !defined (POWERPC_LINUX)  !defined (POWERPC_FREEBSD) \
+ !defined(POWERPC_NETBSD)
   /* No out-of-line save/restore routines for GPRs on AIX.  */
   gcc_assert (!TARGET_AIX || (sel  SAVRES_REG) != SAVRES_GPR);
 #endif
@@ -22512,7 +22514,8 @@ rs6000_savres_routine_name (rs6000_stack
 		  : ((sel  SAVRES_LR) ? _restgpr0_ : _restgpr1_));
   else if ((sel  SAVRES_REG) == SAVRES_FPR)
 	{
-#if defined (POWERPC_LINUX) || defined (POWERPC_FREEBSD)
+#if defined (POWERPC_LINUX) || defined (POWERPC_FREEBSD) \
+|| defined (POWERPC_NETBSD)
 	  if ((sel  SAVRES_LR))
 	prefix = ((sel  SAVRES_SAVE) ? _savefpr_ : _restfpr_);
 	  else
@@ -29135,7 +29138,8 @@ rs6000_elf_file_end (void)
 		 aix_struct_return ? 2 : 1);
 }
 #endif
-#if defined (POWERPC_LINUX) || defined (POWERPC_FREEBSD)
+#if defined (POWERPC_LINUX) || defined (POWERPC_FREEBSD) \
+|| defined (POWERPC_NETBSD)
   if (TARGET_32BIT || DEFAULT_ABI == ABI_ELFv2)
 file_end_indicate_exec_stack ();
 #endif

Index: src/external/gpl3/gcc/dist/gcc/config/rs6000/netbsd64.h
diff -u src/external/gpl3/gcc/dist/gcc/config/rs6000/netbsd64.h:1.7 src/external/gpl3/gcc/dist/gcc/config/rs6000/netbsd64.h:1.8
--- src/external/gpl3/gcc/dist/gcc/config/rs6000/netbsd64.h:1.7	Fri Aug 22 06:52:37 2014
+++ src/external/gpl3/gcc/dist/gcc/config/rs6000/netbsd64.h	Sat Aug 23 02:17:47 2014
@@ -301,6 +301,8 @@ extern int dot_symbols;
   do			\
 {			\
   NETBSD_OS_CPP_BUILTINS_ELF();			\
+  if (TARGET_ISEL)	\
+	builtin_define (__PPC_ISEL__);		\
   if (TARGET_64BIT)	\
 	{		\
 	  builtin_define (__PPC__);			\
@@ -386,9 +388,7 @@ extern int dot_symbols;
 #define	PTRDIFF_TYPE (TARGET_64BIT ? long int : int)
 
 #undef	WCHAR_TYPE
-#define	WCHAR_TYPE (TARGET_64BIT ? int : long int)
-#undef  WCHAR_TYPE_SIZE
-#define WCHAR_TYPE_SIZE 32
+#define	WCHAR_TYPE int
 
 /* Override rs6000.h definition.  */
 #undef  ASM_APP_ON

Index: src/external/gpl3/gcc/dist/gcc/config/rs6000/t-netbsd64
diff -u src/external/gpl3/gcc/dist/gcc/config/rs6000/t-netbsd64:1.1 src/external/gpl3/gcc/dist/gcc/config/rs6000/t-netbsd64:1.2
--- src/external/gpl3/gcc/dist/gcc/config/rs6000/t-netbsd64:1.1	Wed Jun 29 04:59:10 2011
+++ src/external/gpl3/gcc/dist/gcc/config/rs6000/t-netbsd64	Sat Aug 23 02:17:47 2014
@@ -6,13 +6,9 @@ LIB2FUNCS_EXTRA = $(srcdir)/config/rs600
 
 TARGET_LIBGCC2_CFLAGS += -mno-minimal-toc
 
-MULTILIB_OPTIONS= m64/m32 msoft-float
-MULTILIB_DIRNAMES   = 64 32 soft-float
-MULTILIB_EXTRA_OPTS = fPIC mstrict-align
-MULTILIB_EXCEPTIONS = m64/msoft-float
-MULTILIB_EXCLUSIONS = m64/!m32/msoft-float
-# XXX this is wrong
-MULTILIB_OSDIRNAMES	= ../lib 

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

2014-08-22 Thread Matt Thomas
Module Name:src
Committed By:   matt
Date:   Fri Aug 22 06:51:34 UTC 2014

Modified Files:
src/external/gpl3/gcc/dist/gcc/config/rs6000: netbsd.h

Log Message:
Simplify a little (avoid indirection)


To generate a diff of this commit:
cvs rdiff -u -r1.5 -r1.6 \
src/external/gpl3/gcc/dist/gcc/config/rs6000/netbsd.h

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.



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

2014-08-22 Thread Matt Thomas
Module Name:src
Committed By:   matt
Date:   Fri Aug 22 06:52:37 UTC 2014

Modified Files:
src/external/gpl3/gcc/dist/gcc/config/rs6000: netbsd64.h

Log Message:
Check the variable for RELOCATABLE_NEEDS_FIXUP


To generate a diff of this commit:
cvs rdiff -u -r1.6 -r1.7 \
src/external/gpl3/gcc/dist/gcc/config/rs6000/netbsd64.h

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.



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

2014-08-22 Thread Matt Thomas
Module Name:src
Committed By:   matt
Date:   Sat Aug 23 02:17:47 UTC 2014

Modified Files:
src/external/gpl3/gcc/dist/gcc/config/rs6000: netbsd.h netbsd64.h
rs6000.c t-netbsd64

Log Message:
Fix powerpc64 support for NetBSD.
Add __PPC_ISEL__ to indicate cpu support the isel instruction


To generate a diff of this commit:
cvs rdiff -u -r1.6 -r1.7 \
src/external/gpl3/gcc/dist/gcc/config/rs6000/netbsd.h \
src/external/gpl3/gcc/dist/gcc/config/rs6000/rs6000.c
cvs rdiff -u -r1.7 -r1.8 \
src/external/gpl3/gcc/dist/gcc/config/rs6000/netbsd64.h
cvs rdiff -u -r1.1 -r1.2 \
src/external/gpl3/gcc/dist/gcc/config/rs6000/t-netbsd64

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.



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

2011-10-29 Thread matthew green
Module Name:src
Committed By:   mrg
Date:   Sat Oct 29 10:51:16 UTC 2011

Modified Files:
src/external/gpl3/gcc/dist/gcc/config/rs6000: netbsd64.h

Log Message:
remove the duplicated -mcall-netbsd.
adjust the __PIC__ definition to match common.opt.


To generate a diff of this commit:
cvs rdiff -u -r1.3 -r1.4 \
src/external/gpl3/gcc/dist/gcc/config/rs6000/netbsd64.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/rs6000/netbsd64.h
diff -u src/external/gpl3/gcc/dist/gcc/config/rs6000/netbsd64.h:1.3 src/external/gpl3/gcc/dist/gcc/config/rs6000/netbsd64.h:1.4
--- src/external/gpl3/gcc/dist/gcc/config/rs6000/netbsd64.h:1.3	Tue Jul 12 23:23:17 2011
+++ src/external/gpl3/gcc/dist/gcc/config/rs6000/netbsd64.h	Sat Oct 29 10:51:16 2011
@@ -160,7 +160,6 @@ extern int dot_symbols;
 %{mcall-freebsd: -mbig} \
 %{mcall-i960-old: -mlittle} \
 %{mcall-linux: -mbig} \
-%{mcall-netbsd: -mbig} \
 %{mcall-gnu: -mbig} \
 %{mcall-netbsd: -mbig} \
 
@@ -287,7 +286,7 @@ extern int dot_symbols;
 	  builtin_define (__PPC64__);			\
 	  builtin_define (__powerpc__);		\
 	  builtin_define (__powerpc64__);		\
-	  builtin_define (__PIC__);			\
+	  builtin_define_with_int_value (__PIC__, 2);	\
 	  builtin_assert (cpu=powerpc64);		\
 	  builtin_assert (machine=powerpc64);		\
 	}		\



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

2011-10-29 Thread matthew green
Module Name:src
Committed By:   mrg
Date:   Sun Oct 30 00:28:26 UTC 2011

Modified Files:
src/external/gpl3/gcc/dist/gcc/config/rs6000: rs6000.c

Log Message:
expand the POWERPC_LINUX checks to also apply to POWERPC_NETBSD.


To generate a diff of this commit:
cvs rdiff -u -r1.2 -r1.3 \
src/external/gpl3/gcc/dist/gcc/config/rs6000/rs6000.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.



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

2011-08-01 Thread Matt Thomas
Module Name:src
Committed By:   matt
Date:   Tue Aug  2 00:45:37 UTC 2011

Modified Files:
src/external/gpl3/gcc/dist/gcc/config/rs6000: sysv4.h

Log Message:
Don't define LINK_EH_SPEC if it's already defined.


To generate a diff of this commit:
cvs rdiff -u -r1.2 -r1.3 src/external/gpl3/gcc/dist/gcc/config/rs6000/sysv4.h

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.



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

2011-07-12 Thread Matt Thomas
Module Name:src
Committed By:   matt
Date:   Tue Jul 12 08:47:24 UTC 2011

Modified Files:
src/external/gpl3/gcc/dist/gcc/config/rs6000: netbsd64.h

Log Message:
Bring in gcc 4.5 changes.  powerpc64 can at least build a compiler now.


To generate a diff of this commit:
cvs rdiff -u -r1.1 -r1.2 \
src/external/gpl3/gcc/dist/gcc/config/rs6000/netbsd64.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/rs6000/netbsd64.h
diff -u src/external/gpl3/gcc/dist/gcc/config/rs6000/netbsd64.h:1.1 src/external/gpl3/gcc/dist/gcc/config/rs6000/netbsd64.h:1.2
--- src/external/gpl3/gcc/dist/gcc/config/rs6000/netbsd64.h:1.1	Wed Jun 29 04:59:10 2011
+++ src/external/gpl3/gcc/dist/gcc/config/rs6000/netbsd64.h	Tue Jul 12 08:47:24 2011
@@ -57,6 +57,8 @@
 #define DOT_SYMBOLS dot_symbols
 #endif
 
+#define TARGET_PROFILE_KERNEL profile_kernel
+
 #undef  PROCESSOR_DEFAULT
 #define PROCESSOR_DEFAULT PROCESSOR_POWER4
 #undef  PROCESSOR_DEFAULT64
@@ -74,10 +76,6 @@
 #define INVALID_64BIT -m%s not supported in this configuration
 #define INVALID_32BIT INVALID_64BIT
 
-#ifndef MASK_PROFILE_KERNEL	/* XXXHRH */
-#define MASK_PROFILE_KERNEL 0	/* XXXHRH */
-#endif/* XXXHRH */
-
 #undef	SUBSUBTARGET_OVERRIDE_OPTIONS
 #define	SUBSUBTARGET_OVERRIDE_OPTIONS\
   do\
@@ -102,9 +100,9 @@
 	  target_flags = ~MASK_EABI;			\
 	  error (INVALID_64BIT, eabi);			\
 	}			\
-	  if (target_flags  MASK_PROTOTYPE)			\
+	  if (TARGET_PROTOTYPE)	\
 	{			\
-	  target_flags = ~MASK_PROTOTYPE;			\
+	  target_prototype = 0;\
 	  error (INVALID_64BIT, prototype);		\
 	}			\
 	  if ((target_flags  MASK_POWERPC64) == 0)		\
@@ -119,7 +117,7 @@
 	error (INVALID_32BIT, 32);			\
 	  if (TARGET_PROFILE_KERNEL)\
 	{			\
-	  target_flags = ~MASK_PROFILE_KERNEL;		\
+	  TARGET_PROFILE_KERNEL = 0;			\
 	  error (INVALID_32BIT, profile-kernel);		\
 	}			\
 	}			\
@@ -218,9 +216,7 @@
? 128\
: (TARGET_64BIT			\
TARGET_ALIGN_NATURAL == 0	\
-   TYPE_MODE (TREE_CODE (TREE_TYPE (FIELD)) == ARRAY_TYPE		\
-		? get_inner_array_type (FIELD)			\
-		: TREE_TYPE (FIELD)) == DFmode)			\
+   TYPE_MODE (strip_array_types (TREE_TYPE (FIELD))) == DFmode)	\
? MIN ((COMPUTED), 32)		\
: (COMPUTED))
 
@@ -265,14 +261,6 @@
 #define BLOCK_REG_PADDING(MODE, TYPE, FIRST) \
   (!(FIRST) ? upward : FUNCTION_ARG_PADDING (MODE, TYPE))
 
-/* __throw will restore its own return address to be the same as the
-   return address of the function that the throw is being made to.
-   This is unfortunate, because we want to check the original
-   return address to see if we need to restore the TOC.
-   So we have to squirrel it away with this.  */
-#define SETUP_FRAME_ADDRESSES() \
-  do { if (TARGET_64BIT) rs6000_aix_emit_builtin_unwind_init (); } while (0)
-
 /* Override svr4.h  */
 #undef MD_EXEC_PREFIX
 #undef MD_STARTFILE_PREFIX
@@ -281,6 +269,13 @@
process.  XXXMRG?  */
 #define OS_MISSING_POWERPC64 !TARGET_64BIT
 
+/* NetBSD has float and long double forms of math functions.  */
+#undef  TARGET_C99_FUNCTIONS
+#define TARGET_C99_FUNCTIONS 1
+
+/* NetBSD doesn't have sincos that follows the GNU extension.  */
+#undef  TARGET_HAS_SINCOS
+
 #undef  TARGET_OS_CPP_BUILTINS
 #define TARGET_OS_CPP_BUILTINS()			\
   do			\
@@ -314,16 +309,8 @@
 #define RS6000_CPU_CPP_ENDIAN_BUILTINS()	\
   do		\
 {		\
-  if (BYTES_BIG_ENDIAN)			\
-	{	\
-	  builtin_define (__BIG_ENDIAN__);	\
-	  builtin_assert (machine=bigendian);	\
-	}	\
-  else	\
-	{	\
-	  builtin_define (__LITTLE_ENDIAN__);	\
-	  builtin_assert (machine=littleendian); \
-	}	\
+  builtin_define (__BIG_ENDIAN__);	\
+  builtin_assert (machine=bigendian);	\
 }		\
   while (0)
 
@@ -462,9 +449,8 @@
we also do this for floating-point constants.  We actually can only
do this if the FP formats of the target and host machines are the
same, but we can't check that since not every file that uses
-   GO_IF_LEGITIMATE_ADDRESS_P includes real.h.  We also do this when
-   we can write the entry into the TOC and the entry is not larger
-   than a TOC entry.  */
+   the macros includes real.h.  We also do this when we can write the
+   entry into the TOC and the entry is not larger than a TOC entry.  */
 
 #undef  ASM_OUTPUT_SPECIAL_POOL_ENTRY_P
 #define ASM_OUTPUT_SPECIAL_POOL_ENTRY_P(X, MODE)			\
@@ -477,14 +463,13 @@
 	GET_MODE_BITSIZE (MODE) = GET_MODE_BITSIZE (Pmode))	\
|| (GET_CODE (X) == CONST_DOUBLE	\
 	((TARGET_64BIT		\
-		 (TARGET_POWERPC64	\
-		|| TARGET_MINIMAL_TOC\
-		|| (GET_MODE_CLASS (GET_MODE (X)) == MODE_FLOAT	\
+		 (TARGET_MINIMAL_TOC	\
+		|| (SCALAR_FLOAT_MODE_P (GET_MODE (X))		\
 			 ! TARGET_NO_FP_IN_TOC)))			\
 	   || 

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

2011-07-12 Thread Matt Thomas
Module Name:src
Committed By:   matt
Date:   Tue Jul 12 23:23:18 UTC 2011

Modified Files:
src/external/gpl3/gcc/dist/gcc/config/rs6000: netbsd64.h

Log Message:
Default to 128-bit long double.  Next question is ieee or ibm long double.


To generate a diff of this commit:
cvs rdiff -u -r1.2 -r1.3 \
src/external/gpl3/gcc/dist/gcc/config/rs6000/netbsd64.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/rs6000/netbsd64.h
diff -u src/external/gpl3/gcc/dist/gcc/config/rs6000/netbsd64.h:1.2 src/external/gpl3/gcc/dist/gcc/config/rs6000/netbsd64.h:1.3
--- src/external/gpl3/gcc/dist/gcc/config/rs6000/netbsd64.h:1.2	Tue Jul 12 08:47:24 2011
+++ src/external/gpl3/gcc/dist/gcc/config/rs6000/netbsd64.h	Tue Jul 12 23:23:17 2011
@@ -562,7 +562,6 @@
 #endif
 
 /* NetBSD ppc64 has 128-bit long double support.  */
-#ifdef TARGET_DEFAULT_LONG_DOUBLE_128
+#undef	RS6000_DEFAULT_LONG_DOUBLE_SIZE
 #define RS6000_DEFAULT_LONG_DOUBLE_SIZE 128
-#endif
 #define POWERPC_NETBSD



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

2011-07-12 Thread Matt Thomas
Module Name:src
Committed By:   matt
Date:   Tue Jul 12 08:47:24 UTC 2011

Modified Files:
src/external/gpl3/gcc/dist/gcc/config/rs6000: netbsd64.h

Log Message:
Bring in gcc 4.5 changes.  powerpc64 can at least build a compiler now.


To generate a diff of this commit:
cvs rdiff -u -r1.1 -r1.2 \
src/external/gpl3/gcc/dist/gcc/config/rs6000/netbsd64.h

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.



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

2011-07-01 Thread matthew green
Module Name:src
Committed By:   mrg
Date:   Sat Jul  2 02:38:31 UTC 2011

Modified Files:
src/external/gpl3/gcc/dist/gcc/config/rs6000: t-netbsd

Log Message:
revert previous; we need this.


To generate a diff of this commit:
cvs rdiff -u -r1.3 -r1.4 \
src/external/gpl3/gcc/dist/gcc/config/rs6000/t-netbsd

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/rs6000/t-netbsd
diff -u src/external/gpl3/gcc/dist/gcc/config/rs6000/t-netbsd:1.3 src/external/gpl3/gcc/dist/gcc/config/rs6000/t-netbsd:1.4
--- src/external/gpl3/gcc/dist/gcc/config/rs6000/t-netbsd:1.3	Fri Jul  1 04:05:22 2011
+++ src/external/gpl3/gcc/dist/gcc/config/rs6000/t-netbsd	Sat Jul  2 02:38:31 2011
@@ -20,6 +20,28 @@
 
 LIB2FUNCS_EXTRA = $(srcdir)/config/rs6000/tramp.asm
 
+LIB2FUNCS_STATIC_EXTRA = crtsavfpr.S crtresfpr.S \
+  crtsavgpr.S crtresgpr.S \
+  crtresxfpr.S crtresxgpr.S
+
+crtsavfpr.S: $(srcdir)/config/rs6000/crtsavfpr.asm
+	cat $(srcdir)/config/rs6000/crtsavfpr.asm crtsavfpr.S
+
+crtresfpr.S: $(srcdir)/config/rs6000/crtresfpr.asm
+	cat $(srcdir)/config/rs6000/crtresfpr.asm crtresfpr.S
+
+crtsavgpr.S: $(srcdir)/config/rs6000/crtsavgpr.asm
+	cat $(srcdir)/config/rs6000/crtsavgpr.asm crtsavgpr.S
+
+crtresgpr.S: $(srcdir)/config/rs6000/crtresgpr.asm
+	cat $(srcdir)/config/rs6000/crtresgpr.asm crtresgpr.S
+
+crtresxfpr.S: $(srcdir)/config/rs6000/crtresxfpr.asm
+	cat $(srcdir)/config/rs6000/crtresxfpr.asm crtresxfpr.S
+
+crtresxgpr.S: $(srcdir)/config/rs6000/crtresxgpr.asm
+	cat $(srcdir)/config/rs6000/crtresxgpr.asm crtresxgpr.S
+
 # It is important that crtbegin.o, etc., aren't surprised by stuff in .sdata.
 CRTSTUFF_T_CFLAGS += -msdata=none
 CRTSTUFF_T_CFLAGS_S += -msdata=none
@@ -42,6 +64,24 @@
 MULTILIB_MATCHES	= ${MULTILIB_MATCHES_FLOAT}
 
 LIBGCC = stmp-multilib
+
+$(T)crtsavfpr$(objext): crtsavfpr.S
+	$(GCC_FOR_TARGET) $(GCC_CFLAGS) $(INCLUDES) $(MULTILIB_CFLAGS) -c crtsavfpr.S -o $(T)crtsavfpr$(objext)
+
+$(T)crtresfpr$(objext): crtresfpr.S
+	$(GCC_FOR_TARGET) $(GCC_CFLAGS) $(INCLUDES) $(MULTILIB_CFLAGS) -c crtresfpr.S -o $(T)crtresfpr$(objext)
+
+$(T)crtsavgpr$(objext): crtsavgpr.S
+	$(GCC_FOR_TARGET) $(GCC_CFLAGS) $(INCLUDES) $(MULTILIB_CFLAGS) -c crtsavgpr.S -o $(T)crtsavgpr$(objext)
+
+$(T)crtresgpr$(objext): crtresgpr.S
+	$(GCC_FOR_TARGET) $(GCC_CFLAGS) $(INCLUDES) $(MULTILIB_CFLAGS) -c crtresgpr.S -o $(T)crtresgpr$(objext)
+
+$(T)crtresxfpr$(objext): crtresxfpr.S
+	$(GCC_FOR_TARGET) $(GCC_CFLAGS) $(INCLUDES) $(MULTILIB_CFLAGS) -c crtresxfpr.S -o $(T)crtresxfpr$(objext)
+
+$(T)crtresxgpr$(objext): crtresxgpr.S
+	$(GCC_FOR_TARGET) $(GCC_CFLAGS) $(INCLUDES) $(MULTILIB_CFLAGS) -c crtresxgpr.S -o $(T)crtresxgpr$(objext)
 INSTALL_LIBGCC = install-multilib
 EXTRA_MULTILIB_PARTS = crtbegin$(objext) crtend$(objext) \
   crtbeginS$(objext) crtendS$(objext) crtbeginT$(objext)



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

2011-07-01 Thread matthew green
Module Name:src
Committed By:   mrg
Date:   Sat Jul  2 02:38:31 UTC 2011

Modified Files:
src/external/gpl3/gcc/dist/gcc/config/rs6000: t-netbsd

Log Message:
revert previous; we need this.


To generate a diff of this commit:
cvs rdiff -u -r1.3 -r1.4 \
src/external/gpl3/gcc/dist/gcc/config/rs6000/t-netbsd

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.



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

2011-06-30 Thread matthew green
Module Name:src
Committed By:   mrg
Date:   Fri Jul  1 04:05:22 UTC 2011

Modified Files:
src/external/gpl3/gcc/dist/gcc/config/rs6000: t-netbsd

Log Message:
remove LIB2FUNCS_STATIC_EXTRA and supporting code.
netbsd does not need this.


To generate a diff of this commit:
cvs rdiff -u -r1.2 -r1.3 \
src/external/gpl3/gcc/dist/gcc/config/rs6000/t-netbsd

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/rs6000/t-netbsd
diff -u src/external/gpl3/gcc/dist/gcc/config/rs6000/t-netbsd:1.2 src/external/gpl3/gcc/dist/gcc/config/rs6000/t-netbsd:1.3
--- src/external/gpl3/gcc/dist/gcc/config/rs6000/t-netbsd:1.2	Tue Jun 21 02:41:37 2011
+++ src/external/gpl3/gcc/dist/gcc/config/rs6000/t-netbsd	Fri Jul  1 04:05:22 2011
@@ -20,28 +20,6 @@
 
 LIB2FUNCS_EXTRA = $(srcdir)/config/rs6000/tramp.asm
 
-LIB2FUNCS_STATIC_EXTRA = crtsavfpr.S crtresfpr.S \
-  crtsavgpr.S crtresgpr.S \
-  crtresxfpr.S crtresxgpr.S
-
-crtsavfpr.S: $(srcdir)/config/rs6000/crtsavfpr.asm
-	cat $(srcdir)/config/rs6000/crtsavfpr.asm crtsavfpr.S
-
-crtresfpr.S: $(srcdir)/config/rs6000/crtresfpr.asm
-	cat $(srcdir)/config/rs6000/crtresfpr.asm crtresfpr.S
-
-crtsavgpr.S: $(srcdir)/config/rs6000/crtsavgpr.asm
-	cat $(srcdir)/config/rs6000/crtsavgpr.asm crtsavgpr.S
-
-crtresgpr.S: $(srcdir)/config/rs6000/crtresgpr.asm
-	cat $(srcdir)/config/rs6000/crtresgpr.asm crtresgpr.S
-
-crtresxfpr.S: $(srcdir)/config/rs6000/crtresxfpr.asm
-	cat $(srcdir)/config/rs6000/crtresxfpr.asm crtresxfpr.S
-
-crtresxgpr.S: $(srcdir)/config/rs6000/crtresxgpr.asm
-	cat $(srcdir)/config/rs6000/crtresxgpr.asm crtresxgpr.S
-
 # It is important that crtbegin.o, etc., aren't surprised by stuff in .sdata.
 CRTSTUFF_T_CFLAGS += -msdata=none
 CRTSTUFF_T_CFLAGS_S += -msdata=none
@@ -67,21 +45,3 @@
 INSTALL_LIBGCC = install-multilib
 EXTRA_MULTILIB_PARTS = crtbegin$(objext) crtend$(objext) \
   crtbeginS$(objext) crtendS$(objext) crtbeginT$(objext)
-
-$(T)crtsavfpr$(objext): crtsavfpr.S
-	$(GCC_FOR_TARGET) $(GCC_CFLAGS) $(INCLUDES) $(MULTILIB_CFLAGS) -c crtsavfpr.S -o $(T)crtsavfpr$(objext)
-
-$(T)crtresfpr$(objext): crtresfpr.S
-	$(GCC_FOR_TARGET) $(GCC_CFLAGS) $(INCLUDES) $(MULTILIB_CFLAGS) -c crtresfpr.S -o $(T)crtresfpr$(objext)
-
-$(T)crtsavgpr$(objext): crtsavgpr.S
-	$(GCC_FOR_TARGET) $(GCC_CFLAGS) $(INCLUDES) $(MULTILIB_CFLAGS) -c crtsavgpr.S -o $(T)crtsavgpr$(objext)
-
-$(T)crtresgpr$(objext): crtresgpr.S
-	$(GCC_FOR_TARGET) $(GCC_CFLAGS) $(INCLUDES) $(MULTILIB_CFLAGS) -c crtresgpr.S -o $(T)crtresgpr$(objext)
-
-$(T)crtresxfpr$(objext): crtresxfpr.S
-	$(GCC_FOR_TARGET) $(GCC_CFLAGS) $(INCLUDES) $(MULTILIB_CFLAGS) -c crtresxfpr.S -o $(T)crtresxfpr$(objext)
-
-$(T)crtresxgpr$(objext): crtresxgpr.S
-	$(GCC_FOR_TARGET) $(GCC_CFLAGS) $(INCLUDES) $(MULTILIB_CFLAGS) -c crtresxgpr.S -o $(T)crtresxgpr$(objext)



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

2011-06-30 Thread matthew green
Module Name:src
Committed By:   mrg
Date:   Fri Jul  1 04:05:22 UTC 2011

Modified Files:
src/external/gpl3/gcc/dist/gcc/config/rs6000: t-netbsd

Log Message:
remove LIB2FUNCS_STATIC_EXTRA and supporting code.
netbsd does not need this.


To generate a diff of this commit:
cvs rdiff -u -r1.2 -r1.3 \
src/external/gpl3/gcc/dist/gcc/config/rs6000/t-netbsd

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.



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

2011-06-21 Thread matthew green
Module Name:src
Committed By:   mrg
Date:   Tue Jun 21 07:31:13 UTC 2011

Modified Files:
src/external/gpl3/gcc/dist/gcc/config/rs6000: netbsd.h

Log Message:
pull across these revisions from gcc 4.1:

revision 1.8
date: 2011/06/11 00:57:29;  author: matt;  state: Exp;  lines: +2 -0
If we are compiling -msoft-float, define _SOFT_FLOAT

revision 1.7
date: 2011/03/12 07:57:38;  author: matt;  state: Exp;  lines: +3 -1
Define HAVE_AS_TLS until our build tools figure out how to do it.

revision 1.6
date: 2011/02/25 22:36:10;  author: matt;  state: Exp;  lines: +7 -0
Explicitly make sure TARGET_SECURE_PLT is defined correctly rather than
relying on HAVE_AS_REL16 from auto-host.h.

revision 1.5
date: 2011/02/10 07:18:29;  author: matt;  state: Exp;  lines: +3 -0
Default NetBSD to -msecure-plt now.


To generate a diff of this commit:
cvs rdiff -u -r1.2 -r1.3 \
src/external/gpl3/gcc/dist/gcc/config/rs6000/netbsd.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/rs6000/netbsd.h
diff -u src/external/gpl3/gcc/dist/gcc/config/rs6000/netbsd.h:1.2 src/external/gpl3/gcc/dist/gcc/config/rs6000/netbsd.h:1.3
--- src/external/gpl3/gcc/dist/gcc/config/rs6000/netbsd.h:1.2	Tue Jun 21 02:41:37 2011
+++ src/external/gpl3/gcc/dist/gcc/config/rs6000/netbsd.h	Tue Jun 21 07:31:13 2011
@@ -43,6 +43,10 @@
   builtin_define (__powerpc__);		\
   builtin_assert (cpu=powerpc);		\
   builtin_assert (machine=powerpc);	\
+  if (TARGET_SECURE_PLT)			\
+builtin_define (_SECURE_PLT);		\
+  if (TARGET_SOFT_FLOAT)			\
+builtin_define (_SOFT_FLOAT);		\
 }		\
   while (0)
 
@@ -109,6 +113,7 @@
 
 #undef  SUBTARGET_EXTRA_SPECS
 #define SUBTARGET_EXTRA_SPECS	\
+  { cc1_secure_plt_default,	CC1_SECURE_PLT_DEFAULT_SPEC },	\
   { netbsd_link_spec,		NETBSD_LINK_SPEC_ELF },		\
   { netbsd_entry_point,	NETBSD_ENTRY_POINT },		\
   { netbsd_endfile_spec,	NETBSD_ENDFILE_SPEC },
@@ -119,6 +124,15 @@
 #undef TARGET_DEFAULT
 #define TARGET_DEFAULT (MASK_POWERPC | MASK_NEW_MNEMONICS | MASK_STRICT_ALIGN)
 
+/*
+ * We know we have the right binutils for this (we shouldn't need to do this
+ * but until the cross build does the right thing...)
+ */
+#undef TARGET_SECURE_PLT
+#define TARGET_SECURE_PLT secure_plt
+#undef HAVE_AS_TLS
+#define HAVE_AS_TLS 1
+
 /* Attempt to enable execute permissions on the stack.  */
 #define TRANSFER_FROM_TRAMPOLINE NETBSD_ENABLE_EXECUTE_STACK
 #ifdef L_trampoline



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

2011-06-21 Thread matthew green
Module Name:src
Committed By:   mrg
Date:   Tue Jun 21 07:31:13 UTC 2011

Modified Files:
src/external/gpl3/gcc/dist/gcc/config/rs6000: netbsd.h

Log Message:
pull across these revisions from gcc 4.1:

revision 1.8
date: 2011/06/11 00:57:29;  author: matt;  state: Exp;  lines: +2 -0
If we are compiling -msoft-float, define _SOFT_FLOAT

revision 1.7
date: 2011/03/12 07:57:38;  author: matt;  state: Exp;  lines: +3 -1
Define HAVE_AS_TLS until our build tools figure out how to do it.

revision 1.6
date: 2011/02/25 22:36:10;  author: matt;  state: Exp;  lines: +7 -0
Explicitly make sure TARGET_SECURE_PLT is defined correctly rather than
relying on HAVE_AS_REL16 from auto-host.h.

revision 1.5
date: 2011/02/10 07:18:29;  author: matt;  state: Exp;  lines: +3 -0
Default NetBSD to -msecure-plt now.


To generate a diff of this commit:
cvs rdiff -u -r1.2 -r1.3 \
src/external/gpl3/gcc/dist/gcc/config/rs6000/netbsd.h

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.