1 /* Definitions of target machine for GNU compiler, 2 for ia64/ELF NetBSD systems. 3 Copyright (C) 2005 Free Software Foundation, Inc. 4 5 This file is part of GNU CC. 6 7 GNU CC 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 2, or (at your option) 10 any later version. 11 12 GNU CC 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 GNU CC; see the file COPYING. If not, write to 19 the Free Software Foundation, 59 Temple Place - Suite 330, 20 Boston, MA 02111-1307, USA. */ 21 22 #define TARGET_OS_CPP_BUILTINS() \ 23 do \ 24 { \ 25 NETBSD_OS_CPP_BUILTINS_ELF(); \ 26 } \ 27 while (0) 28 29 30 /* Extra specs needed for NetBSD/ia-64 ELF. */ 31 32 #undef SUBTARGET_EXTRA_SPECS 33 #define SUBTARGET_EXTRA_SPECS \ 34 { "netbsd_cpp_spec", NETBSD_CPP_SPEC }, \ 35 { "netbsd_link_spec", NETBSD_LINK_SPEC_ELF }, \ 36 { "netbsd_entry_point", NETBSD_ENTRY_POINT }, 37 38 39 /* Provide a LINK_SPEC appropriate for a NetBSD/ia64 ELF target. */ 40 41 #undef LINK_SPEC 42 #define LINK_SPEC "%(netbsd_link_spec)" 43 44 #define NETBSD_ENTRY_POINT "_start" 45 46 47 /* Provide a CPP_SPEC appropriate for NetBSD. */ 48 49 #undef CPP_SPEC 50 #define CPP_SPEC "%(netbsd_cpp_spec)" 51 52 53 /* Attempt to enable execute permissions on the stack. */ 54 #define TRANSFER_FROM_TRAMPOLINE NETBSD_ENABLE_EXECUTE_STACK 55 56 /* Make sure _enable_execute_stack() isn't the empty function in libgcc2.c. 57 It gets defined in _trampoline.o via NETBSD_ENABLE_EXECUTE_STACK. */ 58 #undef ENABLE_EXECUTE_STACK 59 #define ENABLE_EXECUTE_STACK 60 61 #define TARGET_VERSION fprintf (stderr, " (NetBSD/ia64 ELF)"); 62