/* Base configuration file for all NetBSD targets.
- Copyright (C) 1997-2013 Free Software Foundation, Inc.
+ Copyright (C) 1997-2020 Free Software Foundation, Inc.
This file is part of GCC.
FIXME: Could eliminate the duplication here if we were allowed to
use string concatenation. */
-#ifdef NETBSD_ENABLE_PTHREADS
#define NETBSD_LIB_SPEC \
"%{pthread: \
%{!p: \
%{!pg:-lposix}} \
%{p:-lposix_p} \
%{pg:-lposix_p}} \
+ %{shared:-lc} \
%{!shared: \
%{!symbolic: \
%{!p: \
%{!pg:-lc}} \
%{p:-lc_p} \
%{pg:-lc_p}}}"
-#else
-#define NETBSD_LIB_SPEC \
- "%{posix: \
- %{!p: \
- %{!pg:-lposix}} \
- %{p:-lposix_p} \
- %{pg:-lposix_p}} \
- %{!shared: \
- %{!symbolic: \
- %{!p: \
- %{!pg:-lc}} \
- %{p:-lc_p} \
- %{pg:-lc_p}}}"
-#endif
#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 \
%{p: -lgcc_p} \
%{pg: -lgcc_p}}"
#else
-#define NETBSD_LIBGCC_SPEC "%{!shared:%{!symbolic: -lgcc}}"
+#define NETBSD_LIBGCC_SPEC "-lgcc"
#endif
#undef LIBGCC_SPEC
#define LIBGCC_SPEC NETBSD_LIBGCC_SPEC
+#if defined(HAVE_LD_EH_FRAME_HDR)
+#define LINK_EH_SPEC "%{!static|static-pie:--eh-frame-hdr} "
+#endif
+
+#undef TARGET_LIBC_HAS_FUNCTION
+#define TARGET_LIBC_HAS_FUNCTION no_c99_libc_has_function
+
/* When building shared libraries, the initialization and finalization
functions for the library are .init and .fini respectively. */
#undef TARGET_POSIX_IO
#define TARGET_POSIX_IO
-/* Don't assume anything about the header files. */
-#undef NO_IMPLICIT_EXTERN_C
-#define NO_IMPLICIT_EXTERN_C 1
-
/* Define some types that are the same on all NetBSD platforms,
making them agree with <machine/ansi.h>. */
#undef WINT_TYPE
#define WINT_TYPE "int"
+
+#undef SUBTARGET_INIT_BUILTINS
+#define SUBTARGET_INIT_BUILTINS \
+ do { \
+ netbsd_patch_builtins (); \
+ } while(0)