1  /* Definitions of target machine for GNU compiler,
       2     for NetBSD/vax ELF systems.
       3     Copyright (C) 2002-2023 Free Software Foundation, Inc.
       4  
       5  This file is part of GCC.
       6  
       7  GCC is free software; you can redistribute it and/or modify
       8  it under the terms of the GNU General Public License as published by
       9  the Free Software Foundation; either version 3, or (at your option)
      10  any later version.
      11  
      12  GCC is distributed in the hope that it will be useful,
      13  but WITHOUT ANY WARRANTY; without even the implied warranty of
      14  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
      15  GNU General Public License for more details.
      16  
      17  You should have received a copy of the GNU General Public License
      18  along with GCC; see the file COPYING3.  If not see
      19  <http://www.gnu.org/licenses/>.  */
      20  
      21  /* Names to predefine in the preprocessor for this target OS.  */
      22  #undef TARGET_OS_CPP_BUILTINS
      23  #define TARGET_OS_CPP_BUILTINS()		\
      24    do						\
      25      {						\
      26        NETBSD_OS_CPP_BUILTINS_ELF();		\
      27      }						\
      28    while (0)
      29  
      30  #undef CPP_SPEC
      31  #define CPP_SPEC NETBSD_CPP_SPEC
      32  
      33  #ifndef NETBSD_CC1_AND_CC1PLUS_SPEC
      34  #define NETBSD_CC1_AND_CC1PLUS_SPEC ""
      35  #endif
      36  
      37  #undef CC1_SPEC
      38  #define CC1_SPEC NETBSD_CC1_AND_CC1PLUS_SPEC VAX_CC1_SPEC
      39  
      40  #undef CC1PLUS_SPEC
      41  #define CC1PLUS_SPEC NETBSD_CC1_AND_CC1PLUS_SPEC VAX_CC1PLUS_SPEC
      42  
      43  #define NETBSD_ENTRY_POINT "__start"
      44  
      45  #undef LINK_SPEC
      46  #if 0
      47  /* FIXME: We must link all executables statically until PIC support
      48     is added to the compiler.  */
      49  #define LINK_SPEC \
      50    "%{assert*} %{R*} %{rpath*} \
      51     %{shared:%ethe -shared option is not currently supported for VAX ELF} \
      52     %{!shared: \
      53       -dc -dp \
      54       %{!nostdlib: \
      55         %{!r: \
      56  	 %{!e*:-e %(netbsd_entry_point)}}} \
      57       %{!static:-static} \
      58       %{static:-static}}"
      59  #else
      60  #define LINK_SPEC NETBSD_LINK_SPEC_ELF
      61  #endif
      62  
      63  #define EXTRA_SPECS				\
      64    { "netbsd_entry_point", NETBSD_ENTRY_POINT },
      65  
      66  /* We use gas, not the UNIX assembler.  */
      67  #undef TARGET_DEFAULT
      68  #define TARGET_DEFAULT MASK_QMATH