Initial pass at an in-tree ia64 toolchain. From PR 29141 with some fixes

from me.
This commit is contained in:
skrll 2005-08-17 07:13:32 +00:00
parent 976fee6969
commit 784c9344e8
6 changed files with 83 additions and 7 deletions

View File

@ -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

View File

@ -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"

View File

@ -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) "

57
gnu/dist/gcc/gcc/config/ia64/netbsd.h vendored Normal file
View File

@ -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)");

View File

@ -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" || \

View File

@ -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.