Source-Changes-HG archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
[src/trunk]: src Initial pass at an in-tree ia64 toolchain. From PR 29141 wit...
details: https://anonhg.NetBSD.org/src/rev/6d8ab294ed7b
branches: trunk
changeset: 583647:6d8ab294ed7b
user: skrll <skrll%NetBSD.org@localhost>
date: Wed Aug 17 07:13:32 2005 +0000
description:
Initial pass at an in-tree ia64 toolchain. From PR 29141 with some fixes
from me.
diffstat:
build.sh | 8 ++--
gnu/dist/gcc/gcc/config.gcc | 6 +++
gnu/dist/gcc/gcc/config/ia64/ia64.h | 7 +++-
gnu/dist/gcc/gcc/config/ia64/netbsd.h | 57 +++++++++++++++++++++++++++++++++++
share/mk/bsd.endian.mk | 3 +-
share/mk/bsd.own.mk | 9 ++++-
6 files changed, 83 insertions(+), 7 deletions(-)
diffs (172 lines):
diff -r ec27b77798df -r 6d8ab294ed7b build.sh
--- a/build.sh Wed Aug 17 00:58:19 2005 +0000
+++ b/build.sh Wed Aug 17 07:13:32 2005 +0000
@@ -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 @@
MACHINE_ARCH=x86_64
;;
- alpha|i386|sparc|sparc64|vax)
+ alpha|i386|sparc|sparc64|vax|ia64)
MACHINE_ARCH=${MACHINE}
;;
@@ -235,7 +235,7 @@
#
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 @@
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
diff -r ec27b77798df -r 6d8ab294ed7b gnu/dist/gcc/gcc/config.gcc
--- a/gnu/dist/gcc/gcc/config.gcc Wed Aug 17 00:58:19 2005 +0000
+++ b/gnu/dist/gcc/gcc/config.gcc Wed Aug 17 07:13:32 2005 +0000
@@ -1479,6 +1479,12 @@
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"
diff -r ec27b77798df -r 6d8ab294ed7b gnu/dist/gcc/gcc/config/ia64/ia64.h
--- a/gnu/dist/gcc/gcc/config/ia64/ia64.h Wed Aug 17 00:58:19 2005 +0000
+++ b/gnu/dist/gcc/gcc/config/ia64/ia64.h Wed Aug 17 07:13:32 2005 +0000
@@ -49,8 +49,13 @@
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) "
diff -r ec27b77798df -r 6d8ab294ed7b gnu/dist/gcc/gcc/config/ia64/netbsd.h
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/gnu/dist/gcc/gcc/config/ia64/netbsd.h Wed Aug 17 07:13:32 2005 +0000
@@ -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)");
diff -r ec27b77798df -r 6d8ab294ed7b share/mk/bsd.endian.mk
--- a/share/mk/bsd.endian.mk Wed Aug 17 00:58:19 2005 +0000
+++ b/share/mk/bsd.endian.mk Wed Aug 17 07:13:32 2005 +0000
@@ -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 @@
.if ${MACHINE_ARCH} == "alpha" || \
${MACHINE_ARCH} == "arm" || \
${MACHINE_ARCH} == "i386" || \
+ ${MACHINE_ARCH} == "ia64" || \
${MACHINE_ARCH} == "ns32k" || \
${MACHINE_ARCH} == "vax" || \
${MACHINE_ARCH} == "x86_64" || \
diff -r ec27b77798df -r 6d8ab294ed7b share/mk/bsd.own.mk
--- a/share/mk/bsd.own.mk Wed Aug 17 00:58:19 2005 +0000
+++ b/share/mk/bsd.own.mk Wed Aug 17 07:13:32 2005 +0000
@@ -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
@@ -428,6 +428,13 @@
.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.
#
Home |
Main Index |
Thread Index |
Old Index