Initial pass at an in-tree ia64 toolchain. From PR 29141 with some fixes
from me.
This commit is contained in:
parent
976fee6969
commit
784c9344e8
8
build.sh
8
build.sh
|
@ -1,5 +1,5 @@
|
|||
#! /usr/bin/env sh
|
||||
# $NetBSD: build.sh,v 1.137 2005/05/29 10:54:40 bouyer Exp $
|
||||
# $NetBSD: build.sh,v 1.138 2005/08/17 07:13:32 skrll Exp $
|
||||
#
|
||||
# Copyright (c) 2001-2005 The NetBSD Foundation, Inc.
|
||||
# All rights reserved.
|
||||
|
@ -218,7 +218,7 @@ getarch()
|
|||
MACHINE_ARCH=x86_64
|
||||
;;
|
||||
|
||||
alpha|i386|sparc|sparc64|vax)
|
||||
alpha|i386|sparc|sparc64|vax|ia64)
|
||||
MACHINE_ARCH=${MACHINE}
|
||||
;;
|
||||
|
||||
|
@ -235,7 +235,7 @@ validatearch()
|
|||
#
|
||||
case "${MACHINE_ARCH}" in
|
||||
|
||||
alpha|arm|armeb|hppa|i386|m68000|m68k|mipse[bl]|ns32k|powerpc|sh[35]e[bl]|sparc|sparc64|vax|x86_64)
|
||||
alpha|arm|armeb|hppa|i386|m68000|m68k|mipse[bl]|ns32k|powerpc|sh[35]e[bl]|sparc|sparc64|vax|x86_64|ia64)
|
||||
;;
|
||||
|
||||
"")
|
||||
|
@ -859,7 +859,7 @@ createmakewrapper()
|
|||
eval cat <<EOF ${makewrapout}
|
||||
#! /bin/sh
|
||||
# Set proper variables to allow easy "make" building of a NetBSD subtree.
|
||||
# Generated from: \$NetBSD: build.sh,v 1.137 2005/05/29 10:54:40 bouyer Exp $
|
||||
# Generated from: \$NetBSD: build.sh,v 1.138 2005/08/17 07:13:32 skrll Exp $
|
||||
# with these arguments: ${_args}
|
||||
#
|
||||
EOF
|
||||
|
|
|
@ -1479,6 +1479,12 @@ ia64*-*-elf*)
|
|||
fi
|
||||
extra_parts="crtbegin.o crtend.o crtbeginS.o crtendS.o crtfastmath.o"
|
||||
;;
|
||||
ia64*-*-netbsd*)
|
||||
tm_file="${tm_file} dbxelf.h elfos.h netbsd.h netbsd-elf.h ia64/sysv4.h ia64/netbsd.h"
|
||||
target_cpu_default="MASK_GNU_AS|MASK_GNU_LD"
|
||||
tmake_file="${tmake_file} ia64/t-ia64"
|
||||
extra_parts="crtbegin.o crtend.o crtbeginS.o crtendS.o crtfastmath.o"
|
||||
;;
|
||||
ia64*-*-freebsd*)
|
||||
tm_file="${tm_file} dbxelf.h elfos.h ${fbsd_tm_file} ia64/sysv4.h ia64/freebsd.h"
|
||||
target_cpu_default="MASK_GNU_AS|MASK_GNU_LD"
|
||||
|
|
|
@ -49,8 +49,13 @@ do { \
|
|||
builtin_define("__BIG_ENDIAN__"); \
|
||||
} while (0)
|
||||
|
||||
#ifndef SUBTARGET_EXTRA_SPECS
|
||||
#define SUBTARGET_EXTRA_SPECS
|
||||
#endif
|
||||
|
||||
#define EXTRA_SPECS \
|
||||
{ "asm_extra", ASM_EXTRA_SPEC },
|
||||
{ "asm_extra", ASM_EXTRA_SPEC }, \
|
||||
SUBTARGET_EXTRA_SPECS
|
||||
|
||||
#define CC1_SPEC "%(cc1_cpu) "
|
||||
|
||||
|
|
|
@ -0,0 +1,57 @@
|
|||
/* Definitions of target machine for GNU compiler,
|
||||
for ia64/ELF NetBSD systems.
|
||||
Copyright (C) 2005 Free Software Foundation, Inc.
|
||||
|
||||
This file is part of GNU CC.
|
||||
|
||||
GNU CC 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 2, or (at your option)
|
||||
any later version.
|
||||
|
||||
GNU CC 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 GNU CC; see the file COPYING. If not, write to
|
||||
the Free Software Foundation, 59 Temple Place - Suite 330,
|
||||
Boston, MA 02111-1307, USA. */
|
||||
|
||||
#define TARGET_OS_CPP_BUILTINS() \
|
||||
do \
|
||||
{ \
|
||||
NETBSD_OS_CPP_BUILTINS_ELF(); \
|
||||
NETBSD_OS_CPP_BUILTINS_LP64(); \
|
||||
} \
|
||||
while (0)
|
||||
|
||||
|
||||
/* Extra specs needed for NetBSD/ia-64 ELF. */
|
||||
|
||||
#undef SUBTARGET_EXTRA_SPECS
|
||||
#define SUBTARGET_EXTRA_SPECS \
|
||||
{ "netbsd_cpp_spec", NETBSD_CPP_SPEC }, \
|
||||
{ "netbsd_link_spec", NETBSD_LINK_SPEC_ELF }, \
|
||||
{ "netbsd_entry_point", NETBSD_ENTRY_POINT },
|
||||
|
||||
|
||||
/* Provide a LINK_SPEC appropriate for a NetBSD/ia64 ELF target. */
|
||||
|
||||
#undef LINK_SPEC
|
||||
#define LINK_SPEC "%(netbsd_link_spec)"
|
||||
|
||||
#define NETBSD_ENTRY_POINT "_start"
|
||||
|
||||
|
||||
/* Provide a CPP_SPEC appropriate for NetBSD. */
|
||||
|
||||
#undef CPP_SPEC
|
||||
#define CPP_SPEC "%(netbsd_cpp_spec)"
|
||||
|
||||
|
||||
/* Attempt to enable execute permissions on the stack. */
|
||||
#define TRANSFER_FROM_TRAMPOLINE NETBSD_ENABLE_EXECUTE_STACK
|
||||
|
||||
#define TARGET_VERSION fprintf (stderr, " (NetBSD/ia64 ELF)");
|
|
@ -1,4 +1,4 @@
|
|||
# $NetBSD: bsd.endian.mk,v 1.12 2004/03/17 20:16:21 matt Exp $
|
||||
# $NetBSD: bsd.endian.mk,v 1.13 2005/08/17 07:13:32 skrll Exp $
|
||||
|
||||
.if !defined(_BSD_ENDIAN_MK_)
|
||||
_BSD_ENDIAN_MK_=1
|
||||
|
@ -8,6 +8,7 @@ _BSD_ENDIAN_MK_=1
|
|||
.if ${MACHINE_ARCH} == "alpha" || \
|
||||
${MACHINE_ARCH} == "arm" || \
|
||||
${MACHINE_ARCH} == "i386" || \
|
||||
${MACHINE_ARCH} == "ia64" || \
|
||||
${MACHINE_ARCH} == "ns32k" || \
|
||||
${MACHINE_ARCH} == "vax" || \
|
||||
${MACHINE_ARCH} == "x86_64" || \
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
# $NetBSD: bsd.own.mk,v 1.440 2005/06/12 19:31:25 dyoung Exp $
|
||||
# $NetBSD: bsd.own.mk,v 1.441 2005/08/17 07:13:32 skrll Exp $
|
||||
|
||||
.if !defined(_BSD_OWN_MK_)
|
||||
_BSD_OWN_MK_=1
|
||||
|
@ -427,6 +427,13 @@ NOPIC= # defined
|
|||
MKGDB= no
|
||||
.endif
|
||||
|
||||
#
|
||||
# The ia64 port is incomplete.
|
||||
#
|
||||
.if ${MACHINE_ARCH} == "ia64"
|
||||
MKLINT= no
|
||||
.endif
|
||||
|
||||
#
|
||||
# On the MIPS, all libs are compiled with ABIcalls (and are thus PIC),
|
||||
# not just shared libraries, so don't build the _pic version.
|
||||
|
|
Loading…
Reference in New Issue