Re: [PATCH] target/58397: add host_hooks for NetBSD to make precompiled headers work

2018-11-25 Thread Krister Walfridsson

On Sun, 25 Nov 2018, Maya Rashish wrote:


gcc/config.host  |  4 ++
gcc/config/host-netbsd.c | 85 
gcc/config/x-netbsd  |  4 ++
3 files changed, 93 insertions(+)
create mode 100644 gcc/config/host-netbsd.c
create mode 100644 gcc/config/x-netbsd


I started a new job a wile back, and my paper work is currently not in 
order. So I do not think I am allowed to approve patches now... :(


   /Krister


Re: [PATCH] Add netbsd-stdint.h to several netbsd targets

2017-09-30 Thread Krister Walfridsson
On Sun, Sep 3, 2017 at 5:16 PM, Maya Rashish  wrote:
> grouping netbsd.h netbsd-stdint.h netbsd-elf.h as "nbsd_tm_file",
> similar to freebsd.

I found a small bug in the patch -- the NetBSD stdint.h have different
definitions for 8- and 16-bit "fast" types than what is in the
netbsd-stditn.h, so the vax-*-netbsdelf* need to work around that.
The patch is also missing to update m68k*-*-netbsdelf*.

I have fixed those two issues, and committed the attached patch.

   /Krister


r253323.patch
Description: Binary data


[committed] Fix PR 39570 - cabs/cabsf named differently on NetBSD

2017-09-26 Thread Krister Walfridsson

I have committed the attached patch to fix PR 39570.

The problem is that the NetBSD cabs/cabsf/cabsl funcions are called 
__c99_cabs etc. as NetBSD needed to change the ABI before it had symbol 
versioning. This is handled in the system header file as

   double cabs(double _Complex) __asm("__c99_cabs");
but __builtin_cabs still generates a call to cabs (which fails much of the 
fortran testsuite).


I have fixed this by using SUBTARGET_INIT_BUILTINS in the same way as 
Darwin is solving a similar problem.



Bootstrapped and tested on i386-unknown-netbsdelf6.1 and
x86_64-unknown-netbsd6.1.

 /Krister


2017-09-26  Krister Walfridsson  

PR target/39570
* gcc/config/netbsd-protos.h: New file.
* gcc/config/netbsd.c: New file.
* gcc/config/netbsd.h (SUBTARGET_INIT_BUILTINS): Define.
* gcc/config/t-netbsd: New file.
* gcc/config.gcc (tm_p_file): Add netbsd-protos.h.
(tmake_file) Add t-netbsd.
(extra_objs) Add netbsd.o.Index: gcc/config.gcc
===
--- gcc/config.gcc  (revision 253215)
+++ gcc/config.gcc  (revision 253216)
@@ -792,7 +792,9 @@
   target_has_targetcm=yes
   ;;
 *-*-netbsd*)
-  tmake_file="t-slibgcc"
+  tm_p_file="${tm_p_file} netbsd-protos.h"
+  tmake_file="t-netbsd t-slibgcc"
+  extra_objs="${extra_objs} netbsd.o"
   gas=yes
   gnu_ld=yes
   use_gcc_stdint=wrap
Index: gcc/config/t-netbsd
===
--- gcc/config/t-netbsd (nonexistent)
+++ gcc/config/t-netbsd (revision 253216)
@@ -0,0 +1,21 @@
+# Copyright (C) 2017 Free Software Foundation, Inc.
+#
+# This file is part of GCC.
+#
+# GCC is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 3, or (at your option)
+# any later version.
+#
+# GCC is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with GCC; see the file COPYING3.  If not see
+# <http://www.gnu.org/licenses/>.
+
+netbsd.o: $(srcdir)/config/netbsd.c
+   $(COMPILE) $<
+   $(POSTCOMPILE)
Index: gcc/config/netbsd.c
===
--- gcc/config/netbsd.c (nonexistent)
+++ gcc/config/netbsd.c (revision 253216)
@@ -0,0 +1,54 @@
+/* Functions for generic NetBSD as target machine for GNU C compiler.
+   Copyright (C) 2017 Free Software Foundation, Inc.
+
+This file is part of GCC.
+
+GCC is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 3, or (at your option)
+any later version.
+
+GCC is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GCC; see the file COPYING3.  If not see
+<http://www.gnu.org/licenses/>.  */
+
+#include "config.h"
+#include "system.h"
+#include "coretypes.h"
+#include "tm.h"
+#include "tree.h"
+#include "varasm.h"
+#include "netbsd-protos.h"
+
+static void
+netbsd_patch_builtin (enum built_in_function fncode)
+{
+  tree fn = builtin_decl_explicit (fncode);
+  tree sym;
+  char *newname;
+
+  if (!fn)
+return;
+
+  sym = DECL_ASSEMBLER_NAME (fn);
+  newname = ACONCAT (("__c99_", IDENTIFIER_POINTER (sym), NULL));
+
+  set_user_assembler_name (fn, newname);
+
+  fn = builtin_decl_implicit (fncode);
+  if (fn)
+set_user_assembler_name (fn, newname);
+}
+
+void
+netbsd_patch_builtins (void)
+{
+  netbsd_patch_builtin (BUILT_IN_CABSF);
+  netbsd_patch_builtin (BUILT_IN_CABS);
+  netbsd_patch_builtin (BUILT_IN_CABSL);
+}
Index: gcc/config/netbsd.h
===
--- gcc/config/netbsd.h (revision 253215)
+++ gcc/config/netbsd.h (revision 253216)
@@ -164,3 +164,9 @@
 
 #undef WINT_TYPE
 #define WINT_TYPE "int"
+
+#undef  SUBTARGET_INIT_BUILTINS
+#define SUBTARGET_INIT_BUILTINS
\
+  do { \
+netbsd_patch_builtins ();  \
+  } while(0)
Index: gcc/config/netbsd-protos.h
===
--- gcc/config/netbsd-protos.h  (nonexistent)
+++ gcc/config/netbsd-protos.h  (revision 2

[committed] Always assume NetBSD provides __cxa_atexit

2017-07-23 Thread Krister Walfridsson
I have committed the attached patch to remove checks for obsolete NetBSD 
releases from the 1990s that do not provide __cxa_atexit.


Bootstrapped and tested on i386-unknown-netbsdelf6.1 and
x86_64-unknown-netbsd6.1.

   /Krister


2017-07-23  Krister Walfridsson  

* config.gcc (*-*-netbsd*): Remove check for NetBSD versions not
having __cxa_atexit.Index: gcc/config.gcc
===
--- gcc/config.gcc  (revision 250465)
+++ gcc/config.gcc  (revision 250466)
@@ -798,14 +798,7 @@
   case ${enable_threads} in
 "" | yes | posix) thread_file='posix' ;;
   esac
-
-  # NetBSD 2.0 and later provide __cxa_atexit(), which we use by
-  # default (unless overridden by --disable-__cxa_atexit).
-  case ${target} in
-*-*-netbsd[2-9]* | *-*-netbsdelf[2-9]*)
-  default_use_cxa_atexit=yes
-  ;;
-  esac
+  default_use_cxa_atexit=yes
   ;;
 *-*-openbsd*)
   tmake_file="t-openbsd"


committed: Always assume NetBSD support pthreads

2017-07-08 Thread Krister Walfridsson

I have committed the attached patch to remove checks for obsolete NetBSD
releases from the 1990s that do not support pthreads.

Bootstrapped and tested on i386-unknown-netbsdelf6.1 and
x86_64-unknown-netbsd6.1.

   /Krister


2017-07-09  Krister Walfridsson  

* config.gcc (*-*-netbsd*): Remove check for NetBSD versions not
supporting pthreds.
* config/netbsd.h (NETBSD_LIBGCC_SPEC): Always enable pthreads.Index: gcc/config.gcc
===
--- gcc/config.gcc  (revision 250080)
+++ gcc/config.gcc  (revision 250081)
@@ -794,22 +794,8 @@
   gas=yes
   gnu_ld=yes
   use_gcc_stdint=wrap
-
-  # NetBSD 2.0 and later get POSIX threads enabled by default.
-  # Allow them to be explicitly enabled on any other version.
   case ${enable_threads} in
-"")
-  case ${target} in
-*-*-netbsd[2-9]* | *-*-netbsdelf[2-9]*)
-  thread_file='posix'
-  tm_defines="${tm_defines} NETBSD_ENABLE_PTHREADS"
-  ;;
-  esac
-  ;;
-yes | posix)
-  thread_file='posix'
-  tm_defines="${tm_defines} NETBSD_ENABLE_PTHREADS"
-  ;;
+"" | yes | posix) thread_file='posix' ;;
   esac
 
   # NetBSD 2.0 and later provide __cxa_atexit(), which we use by
Index: gcc/config/netbsd.h
===
--- gcc/config/netbsd.h (revision 250080)
+++ gcc/config/netbsd.h (revision 250081)
@@ -84,7 +84,6 @@
FIXME: Could eliminate the duplication here if we were allowed to
use string concatenation.  */
 
-#ifdef NETBSD_ENABLE_PTHREADS
 #define NETBSD_LIB_SPEC\
   "%{pthread:  \
  %{!p: \
@@ -103,21 +102,6 @@
 %{!pg:-lc}}\
%{p:-lc_p}  \
%{pg:-lc_p}}}"
-#else
-#define NETBSD_LIB_SPEC\
-  "%{posix:\
- %{!p: \
-   %{!pg:-lposix}} \
- %{p:-lposix_p}\
- %{pg:-lposix_p}}  \
-   %{shared:-lc}   \
-   %{!shared:  \
- %{!symbolic:  \
-   %{!p:   \
-%{!pg:-lc}}\
-   %{p:-lc_p}  \
-   %{pg:-lc_p}}}"
-#endif
 
 #undef LIB_SPEC
 #define LIB_SPEC NETBSD_LIB_SPEC


committed: Remove libgcc/config.host check for aout NetBSD releases

2017-07-08 Thread Krister Walfridsson

I have committed the attached patch to remove a check for obsolete NetBSD
aout releases from the 1990s.

Bootstrapped and tested on i386-unknown-netbsdelf6.1 and
x86_64-unknown-netbsd6.1.

   /Krister


2017-07-09  Krister Walfridsson  

* config.host (*-*-netbsd*): Remove check for aout NetBSD releases.Index: libgcc/config.host
===
--- libgcc/config.host  (revision 250079)
+++ libgcc/config.host  (revision 250080)
@@ -250,14 +250,7 @@
   tmake_file="$tmake_file t-crtstuff-pic t-libgcc-pic t-eh-dw2-dip"
   tmake_file="$tmake_file t-slibgcc t-slibgcc-gld t-slibgcc-elf-ver"
   tmake_file="$tmake_file t-slibgcc-libgcc"
-  # NetBSD 1.7 and later are set up to use GCC's crtstuff for
-  # ELF configurations.  We will clear extra_parts in the
-  # a.out configurations.
-  case ${host} in
-*-*-netbsd*1.[7-9]* | *-*-netbsd[2-9]* | *-*-netbsdelf[2-9]*)
-  extra_parts="crtbegin.o crtend.o crtbeginS.o crtendS.o crtbeginT.o"
-  ;;
-  esac
+  extra_parts="crtbegin.o crtend.o crtbeginS.o crtendS.o crtbeginT.o"
   ;;
 *-*-openbsd*)
   tmake_file="$tmake_file t-crtstuff-pic t-libgcc-pic t-eh-dw2-dip"


Re: committed: Fix NetBSD problem PR80600

2017-05-14 Thread Krister Walfridsson

On Mon, 15 May 2017, Krister Walfridsson wrote:


I have committed the attached patch to make NetBSD handle -lgcc correctly
for shared libraries.

gcc/ChangeLog:

   PR target/80600
   * config/netbsd.h (NETBSD_LIBGCC_SPEC): Always add -lgcc.

libgcc/ChangeLog:

   PR target/80600
   * config.host (*-*-netbsd*): Add t-slibgcc-libgcc to tmake_file.


Forgot to say: bootstrapped and tested on i386-unknown-netbsdelf6.1 and
x86_64-unknown-netbsd6.1.

   /Krister


committed: Fix NetBSD problem PR80600

2017-05-14 Thread Krister Walfridsson

I have committed the attached patch to make NetBSD handle -lgcc correctly
for shared libraries.

gcc/ChangeLog:

PR target/80600
* config/netbsd.h (NETBSD_LIBGCC_SPEC): Always add -lgcc.

libgcc/ChangeLog:

PR target/80600
* config.host (*-*-netbsd*): Add t-slibgcc-libgcc to tmake_file.

   /KristerIndex: gcc/config/netbsd.h
===
--- gcc/config/netbsd.h (revision 248036)
+++ gcc/config/netbsd.h (working copy)
@@ -120,8 +120,7 @@
 #undef LIB_SPEC
 #define LIB_SPEC NETBSD_LIB_SPEC
 
-/* Provide a LIBGCC_SPEC appropriate for NetBSD.  We also want to exclude
-   libgcc with -symbolic.  */
+/* Provide a LIBGCC_SPEC appropriate for NetBSD.  */
 
 #ifdef NETBSD_NATIVE
 #define NETBSD_LIBGCC_SPEC \
@@ -133,7 +132,7 @@
  %{p: -lgcc_p} \
  %{pg: -lgcc_p}}"
 #else
-#define NETBSD_LIBGCC_SPEC "%{!shared:%{!symbolic: -lgcc}}"
+#define NETBSD_LIBGCC_SPEC "-lgcc"
 #endif
 
 #undef LIBGCC_SPEC
Index: libgcc/config.host
===
--- libgcc/config.host  (revision 248036)
+++ libgcc/config.host  (working copy)
@@ -249,6 +249,7 @@
 *-*-netbsd*)
   tmake_file="$tmake_file t-crtstuff-pic t-libgcc-pic t-eh-dw2-dip"
   tmake_file="$tmake_file t-slibgcc t-slibgcc-gld t-slibgcc-elf-ver"
+  tmake_file="$tmake_file t-slibgcc-libgcc"
   # NetBSD 1.7 and later are set up to use GCC's crtstuff for
   # ELF configurations.  We will clear extra_parts in the
   # a.out configurations.


Re: Use a specfile that actually allows building programs on NetBSD

2017-01-11 Thread Krister Walfridsson

On Mon, 9 Jan 2017, co...@sdf.org wrote:


3 month ping, 1 week ping (trying again), etc...


Apologies for not getting back to you sooner.



Like most operating systems, NetBSD has a libc which contains
stuff it needs for most programs to work, and people expect
it to be linked without explicitly specifying -lc.


Well, most programs already get -lc automatically -- it is only when you 
pass -shared that it fails... :-)


But I'll fix this, together with some other SPEC issues, in a few days.

   /Krister


committed: define LINK_EH_SPEC for NetBSD

2016-12-19 Thread Krister Walfridsson
I have committed the attached to add a LINK_EH_SPEC enabling 
--eh-frame-hdr in the NetBSD config.


Bootstrapped and tested on x86_64-unknown-netbsd6.1.

   /Krister


2016-12-19  Krister Walfridsson  

* config/netbsd.h (LINK_EH_SPEC): Define.Index: gcc/config/netbsd.h
===
--- gcc/config/netbsd.h (revision 243790)
+++ gcc/config/netbsd.h (revision 243791)
@@ -139,6 +139,10 @@
 #undef LIBGCC_SPEC
 #define LIBGCC_SPEC NETBSD_LIBGCC_SPEC
 
+#if defined(HAVE_LD_EH_FRAME_HDR)
+#define LINK_EH_SPEC "%{!static:--eh-frame-hdr} "
+#endif
+
 #undef TARGET_LIBC_HAS_FUNCTION
 #define TARGET_LIBC_HAS_FUNCTION no_c99_libc_has_function
 


committed: add t-eh-dw2-dip to NetBSD libgcc tmake_file

2016-12-19 Thread Krister Walfridsson
I have committed the attached patch to add t-eh-dw2-dip to NetBSD libgcc 
tmake_file.


Bootstrapped and tested on i386-unknown-netbsdelf6.1 and
x86_64-unknown-netbsd6.1.

   /Krister


2016-12-19  Krister Walfridsson  

* config.host (*-*-netbsd*): Add t-eh-dw2-dip to tmake_file.
* crtstuff.c (BSD_DL_ITERATE_PHDR_AVAILABLE): Define for NetBSD.
* unwind-dw2-fde-dip.c (USE_PT_GNU_EH_FRAME, ElfW): Likewise.Index: libgcc/config.host
===
--- libgcc/config.host  (revision 243789)
+++ libgcc/config.host  (revision 243790)
@@ -240,7 +240,8 @@
   extra_parts="crtbegin.o crtbeginS.o crtend.o crtendS.o"
   ;;
 *-*-netbsd*)
-  tmake_file="$tmake_file t-crtstuff-pic t-libgcc-pic t-slibgcc t-slibgcc-gld 
t-slibgcc-elf-ver"
+  tmake_file="$tmake_file t-crtstuff-pic t-libgcc-pic t-eh-dw2-dip"
+  tmake_file="$tmake_file t-slibgcc t-slibgcc-gld t-slibgcc-elf-ver"
   # NetBSD 1.7 and later are set up to use GCC's crtstuff for
   # ELF configurations.  We will clear extra_parts in the
   # a.out configurations.
Index: libgcc/unwind-dw2-fde-dip.c
===
--- libgcc/unwind-dw2-fde-dip.c (revision 243789)
+++ libgcc/unwind-dw2-fde-dip.c (revision 243790)
@@ -71,7 +71,7 @@
 #endif
 
 #if !defined(inhibit_libc) && defined(HAVE_LD_EH_FRAME_HDR) \
-&& defined(__OpenBSD__)
+&& (defined(__OpenBSD__) || defined(__NetBSD__))
 # define ElfW(type) Elf_##type
 # define USE_PT_GNU_EH_FRAME
 #endif
Index: libgcc/crtstuff.c
===
--- libgcc/crtstuff.c   (revision 243789)
+++ libgcc/crtstuff.c   (revision 243790)
@@ -81,7 +81,7 @@
 #endif
 
 #if defined(TARGET_DL_ITERATE_PHDR) && \
-   (defined(__DragonFly__) || defined(__FreeBSD__))
+   (defined(__DragonFly__) || defined(__FreeBSD__) || defined(__NetBSD__))
 #define BSD_DL_ITERATE_PHDR_AVAILABLE
 #endif
  


committed: make i486 default arch for x86 NetBSD

2016-12-10 Thread Krister Walfridsson
I have committed the attached patch to make i486 the default arch on 
NetBSD in the same way as for FreeBSD, as 386 CPUs are not supported on 
any maintained version of NetBSD.


Bootstrapped and tested on i386-unknown-netbsdelf6.1

   /Krister


2016-12-10  Krister Walfridsson  

* config.gcc (i386-*-netbsd*): Make i486 the default arch on NetBSD.
Generally use cpu generic.Index: gcc/config.gcc
===
--- gcc/config.gcc  (revision 243518)
+++ gcc/config.gcc  (revision 243519)
@@ -3061,6 +3061,12 @@
 arch_without_sse2=yes
 arch_without_64bit=yes
 ;;
+  i386-*-netbsd*)
+arch=i486
+cpu=generic
+arch_without_sse2=yes
+arch_without_64bit=yes
+;;
   i386-*-*)
 arch=i386
 cpu=i386


committed: add i386/t-crtstuff to i[34567]86-*-netbsdelf tmake_file

2016-12-10 Thread Krister Walfridsson
I have committed the attached patch to add i386/t-crtstuff to tmake_file 
for i[34567]86-*-netbsdelf*.


Bootstrapped and tested on i386-unknown-netbsdelf6.1 (fixes 29378 
failures)


   /Krister


2016-12-10  Krister Walfridsson  

* config.host (i[34567]86-*-netbsdelf*): Add i386/t-crtstuff to
tmake_file.Index: libgcc/config.host
===
--- libgcc/config.host  (revision 243517)
+++ libgcc/config.host  (revision 243518)
@@ -599,6 +599,7 @@
md_unwind_header=i386/freebsd-unwind.h
;;
 i[34567]86-*-netbsdelf*)
+   tmake_file="${tmake_file} i386/t-crtstuff"
;;
 x86_64-*-netbsd*)
tmake_file="${tmake_file} i386/t-crtstuff"


Re: [PATCH] Fix NetBSD bootstrap

2016-11-19 Thread Krister Walfridsson

On Thu, 17 Nov 2016, Joseph Myers wrote:


I'll presume you know best about the choices of stdint.h types.  You may
wish to consider what the correct value of use_gcc_stdint is - the
default "none" (rely on the system's header), or "wrap" (use GCC's header
in freestanding mode) or "provide" (always use GCC's header).


I committed the following to set it to "wrap" (which is consistent with 
how the other BSDs handle it).


Bootstrapped and tested on x86_64-unknown-netbsd6.1.

   /Krister


2016-11-19  Krister Walfridsson  

* config.gcc (*-*-netbsd): Set use_gcc_stdint=wrap.



Index: gcc/config.gcc
===
--- gcc/config.gcc  (revision 242620)
+++ gcc/config.gcc  (revision 242621)
@@ -768,6 +768,7 @@
   tmake_file="t-slibgcc"
   gas=yes
   gnu_ld=yes
+  use_gcc_stdint=wrap

   # NetBSD 2.0 and later get POSIX threads enabled by default.
   # Allow them to be explicitly enabled on any other version.


Re: [PATCH] Fix NetBSD bootstrap

2016-11-16 Thread Krister Walfridsson

On Wed, 16 Nov 2016, Mike Stump wrote:

Looks reasonable.  The biggest issue would be if any of those values 
changed through time, and the current version works for older netbsd 
releases, the patch could break them.  Of course, I don't have any 
visibility into how any of those values might have changed through time.


This should not be an issue in this case, so I'll commit the patch. 
Thanks!


   /Krister


[PATCH] Fix NetBSD bootstrap

2016-11-16 Thread Krister Walfridsson

NetBSD fails bootstrap with
  stdatomic.h:55:17: error: unknown type name '__INT_LEAST8_TYPE__'
This is fixed by the following patch (only i386 and x86_64 for now. I'll
do the other ports after fixing some more issues -- the NetBSD support is
rather broken at the moment...)

I'm the NetBSD maintainer, so I belive I don't need approval to commit 
this. But I have been absent for a long time, so it makes sense for 
someone to review at least this first patch.


Bootstrapped and tested on i386-unknown-netbsdelf6.1 and
x86_64-unknown-netbsd6.1.

OK to commit?

   /Krister


2016-11-16  Krister Walfridsson  

* config/netbsd-stdint.h: New.
* config.gcc (i[34567]86-*-netbsd): Add netbsd-stdint.h to tm_file.
(x86_64-*-netbsd*): Likewise.Index: gcc/config/netbsd-stdint.h
===
--- gcc/config/netbsd-stdint.h  (nonexistent)
+++ gcc/config/netbsd-stdint.h  (working copy)
@@ -0,0 +1,55 @@
+/* Definitions for  types for NetBSD systems.
+   Copyright (C) 2016 Free Software Foundation, Inc.
+
+This file is part of GCC.
+
+GCC is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 3, or (at your option)
+any later version.
+
+GCC is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+GNU General Public License for more details.
+
+Under Section 7 of GPL version 3, you are granted additional
+permissions described in the GCC Runtime Library Exception, version
+3.1, as published by the Free Software Foundation.
+
+You should have received a copy of the GNU General Public License and
+a copy of the GCC Runtime Library Exception along with this program;
+see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
+<http://www.gnu.org/licenses/>.  */
+
+#define SIG_ATOMIC_TYPE   "int"
+
+#define INT8_TYPE "signed char"
+#define INT16_TYPE"short int"
+#define INT32_TYPE"int"
+#define INT64_TYPE(LONG_TYPE_SIZE == 64 ? "long int" : "long long int")
+#define UINT8_TYPE"unsigned char"
+#define UINT16_TYPE   "short unsigned int"
+#define UINT32_TYPE   "unsigned int"
+#define UINT64_TYPE   (LONG_TYPE_SIZE == 64 ? "long unsigned int" : "long 
long unsigned int")
+
+#define INT_LEAST8_TYPE   INT8_TYPE
+#define INT_LEAST16_TYPE  INT16_TYPE
+#define INT_LEAST32_TYPE  INT32_TYPE
+#define INT_LEAST64_TYPE  INT64_TYPE
+#define UINT_LEAST8_TYPE  UINT8_TYPE
+#define UINT_LEAST16_TYPE UINT16_TYPE
+#define UINT_LEAST32_TYPE UINT32_TYPE
+#define UINT_LEAST64_TYPE UINT64_TYPE
+
+#define INT_FAST8_TYPEINT32_TYPE
+#define INT_FAST16_TYPE   INT32_TYPE
+#define INT_FAST32_TYPE   INT32_TYPE
+#define INT_FAST64_TYPE   INT64_TYPE
+#define UINT_FAST8_TYPE   UINT32_TYPE
+#define UINT_FAST16_TYPE  UINT32_TYPE
+#define UINT_FAST32_TYPE  UINT32_TYPE
+#define UINT_FAST64_TYPE  UINT64_TYPE
+
+#define INTPTR_TYPE   (LONG_TYPE_SIZE == 64 ?  INT64_TYPE :  INT32_TYPE)
+#define UINTPTR_TYPE  (LONG_TYPE_SIZE == 64 ? UINT64_TYPE : UINT32_TYPE)
Index: gcc/config.gcc
===
--- gcc/config.gcc  (revision 242350)
+++ gcc/config.gcc  (working copy)
@@ -1455,11 +1455,11 @@
tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h 
${fbsd_tm_file} i386/x86-64.h i386/freebsd.h i386/freebsd64.h"
;;
 i[34567]86-*-netbsdelf*)
-   tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h netbsd.h 
netbsd-elf.h i386/netbsd-elf.h"
+   tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h netbsd.h 
netbsd-stdint.h netbsd-elf.h i386/netbsd-elf.h"
extra_options="${extra_options} netbsd.opt netbsd-elf.opt"
;;
 x86_64-*-netbsd*)
-   tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h netbsd.h 
netbsd-elf.h i386/x86-64.h i386/netbsd64.h"
+   tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h netbsd.h 
netbsd-stdint.h netbsd-elf.h i386/x86-64.h i386/netbsd64.h"
extra_options="${extra_options} netbsd.opt netbsd-elf.opt"
;;
 i[34567]86-*-openbsd*)


Re: Re: PR39570 (gfortran) cabs and cabsf are named differently on NetBSD 5

2015-02-04 Thread Krister Walfridsson

Apologies for the slow response.

On Mon, 26 Jan 2015, Kai-Uwe Eckhardt wrote:


according to gcc/MAINTAINERS Jason and Krister are NetBSD
maintainers for GCC and can approve patches like yours, so
let me copy them.

(Should this be applied now, at least the copyright years
need to be adjusted to include 2015.)


Due to the latest changes in tree-core.h and darwin.c I had
to change the patch for netbsd.c as well:


Looks good to me.

   /Krister


Re: [patch] PR 51006 fix bootstrap failure on NetBSD

2012-01-03 Thread Krister Walfridsson
On Mon, Jan 2, 2012 at 1:06 PM, Jonathan Wakely  wrote:
> libgcc/ChangeLog
> 2012-01-02  Jonathan Wakely  
>
>        PR bootstrap/51006
>        * enable-execute-stack-mprotect.c (getpagesize): Do not define
>        for NetBSD.
>
> This removes the definition of getpagesize which is always present on BSD.
>
> Tested x86_64-unknown-netbsd5.1 and already approved privately by a
> NetBSD maintainer.
> Krister, could you confirm this is OK to commit to mainline?

OK!

   /Krister