This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [PATCH] GNU/k*BSD support (with ChangeLog) for gcc
- From: Robert Millan <zeratul2 at wanadoo dot es>
- To: Jim Wilson <wilson at specifixinc dot com>
- Cc: gcc-patches at gcc dot gnu dot org, glibc-bsd-hackers at nongnu dot org
- Date: Fri, 21 May 2004 22:41:36 +0200
- Subject: Re: [PATCH] GNU/k*BSD support (with ChangeLog) for gcc
- Organisation: free as in freedom
- References: <20040315022155.GA2370@aragorn> <20040319161313.GA97754@dragon.nuxi.com> <20040323113830.GA2136@khazad.dyndns.org> <407DE4FA.1060003@specifixinc.com> <20040415180010.GA14120@khazad.dyndns.org> <1083046539.1080.74.camel@leaf.tuliptree.org> <20040502110104.GA13890@khazad.dyndns.org>
Please remember this patch if you have a free minute this weekend..
Tks,
On Sun, May 02, 2004 at 01:01:04PM +0200, Robert Millan wrote:
> On Mon, Apr 26, 2004 at 11:15:39PM -0700, Jim Wilson wrote:
> >
> > For the rest of this, I was still waiting for an updated patch.
>
> Ok. Here is it.
>
> gcc/ChangeLog:
>
> 2004-05-02 Robert Millan <robertmh@gnu.org>
>
> * config.gcc: Merge kfreebsd*-gnu with linux* and add knetbsd*-gnu.
> * config/linux.h: Allow overriding of LINUX_TARGET_OS_CPP_BUILTINS.
> * config/i386/linux.h: Allow overriding of LINK_EMULATION,
> DYNAMIC_LINKER and register names in sc_ structure.
> * config/kfreebsd-gnu.h: New. kfreebsd-gnu followup for linux.h.
> * config/i386/kfreebsd-gnu.h: New. Ditto for i386-kfreebsd-gnu.
> * config/knetbsd-gnu.h: New. Ditto for knetbsd-gnu.
> * config/i386/knetbsd-gnu.h: New. Ditto for i386-knetbsd-gnu.
>
> * config/kfreebsdgnu.h: Remove.
> * config/t-kfreebsd-gnu: Likewise.
> * config/i386/kfreebsdgnu.h: Likewise.
>
> --
> Robert Millan
>
> "[..] but the delight and pride of Aule is in the deed of making, and in the
> thing made, and neither in possession nor in his own mastery; wherefore he
> gives and hoards not, and is free from care, passing ever on to some new work."
>
> -- J.R.R.T., Ainulindale (Silmarillion)
>
> gcc/ChangeLog:
>
> 2004-05-02 Robert Millan <robertmh@gnu.org>
>
> * config.gcc: Merge kfreebsd*-gnu with linux* and add knetbsd*-gnu.
> * config/linux.h: Allow overriding of LINUX_TARGET_OS_CPP_BUILTINS.
> * config/i386/linux.h: Allow overriding of LINK_EMULATION,
> DYNAMIC_LINKER and register names in sc_ structure.
> * config/kfreebsd-gnu.h: New. kfreebsd-gnu followup for linux.h.
> * config/i386/kfreebsd-gnu.h: New. Ditto for i386-kfreebsd-gnu.
> * config/knetbsd-gnu.h: New. Ditto for knetbsd-gnu.
> * config/i386/knetbsd-gnu.h: New. Ditto for i386-knetbsd-gnu.
>
> * config/kfreebsdgnu.h: Remove.
> * config/t-kfreebsd-gnu: Likewise.
> * config/i386/kfreebsdgnu.h: Likewise.
>
> diff -Nur gcc.old/gcc/config/i386/kfreebsd-gnu.h gcc/gcc/config/i386/kfreebsd-gnu.h
> --- gcc.old/gcc/config/i386/kfreebsd-gnu.h 1970-01-01 01:00:00.000000000 +0100
> +++ gcc/gcc/config/i386/kfreebsd-gnu.h 2004-04-15 19:43:37.000000000 +0200
> @@ -0,0 +1,26 @@
> +/* Definitions for Intel 386 running kFreeBSD-based GNU systems with ELF format
> + Copyright (C) 2004
> + Free Software Foundation, Inc.
> + Contributed by Robert Millan.
> +
> +This file is part of GCC.
> +
> +GCC 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.
> +
> +GCC 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 GCC; see the file COPYING. If not, write to
> +the Free Software Foundation, 59 Temple Place - Suite 330,
> +Boston, MA 02111-1307, USA. */
> +
> +#undef LINK_EMULATION
> +#define LINK_EMULATION "elf_i386_fbsd"
> +#undef REG_NAME
> +#define REG_NAME(reg) sc_ ## reg
> diff -Nur gcc.old/gcc/config/i386/kfreebsdgnu.h gcc/gcc/config/i386/kfreebsdgnu.h
> --- gcc.old/gcc/config/i386/kfreebsdgnu.h 2003-10-21 11:52:47.000000000 +0200
> +++ gcc/gcc/config/i386/kfreebsdgnu.h 1970-01-01 01:00:00.000000000 +0100
> @@ -1,35 +0,0 @@
> -/* Definitions for Intel 386 running GNU/KFreeBSD systems with ELF format.
> - Copyright (C) 2002 Free Software Foundation, Inc.
> - Contributed by Bruno Haible.
> -
> -This file is part of GCC.
> -
> -GCC 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.
> -
> -GCC 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 GCC; see the file COPYING. If not, write to
> -the Free Software Foundation, 59 Temple Place - Suite 330,
> -Boston, MA 02111-1307, USA. */
> -
> -#undef TARGET_VERSION
> -#define TARGET_VERSION fprintf (stderr, " (i386 KFreeBSD/ELF)");
> -
> -/* FIXME: Is a KFreeBSD-specific fallback mechanism necessary? */
> -#undef MD_FALLBACK_FRAME_STATE_FOR
> -
> -#undef LINK_SPEC
> -#define LINK_SPEC "-m elf_i386_fbsd %{shared:-shared} \
> - %{!shared: \
> - %{!ibcs: \
> - %{!static: \
> - %{rdynamic:-export-dynamic} \
> - %{!dynamic-linker:-dynamic-linker /lib/ld.so.1}} \
> - %{static:-static}}}"
> diff -Nur gcc.old/gcc/config/i386/knetbsd-gnu.h gcc/gcc/config/i386/knetbsd-gnu.h
> --- gcc.old/gcc/config/i386/knetbsd-gnu.h 1970-01-01 01:00:00.000000000 +0100
> +++ gcc/gcc/config/i386/knetbsd-gnu.h 2004-04-15 19:43:44.000000000 +0200
> @@ -0,0 +1,24 @@
> +/* Definitions for Intel 386 running kNetBSD-based GNU systems with ELF format
> + Copyright (C) 2004
> + Free Software Foundation, Inc.
> + Contributed by Robert Millan.
> +
> +This file is part of GCC.
> +
> +GCC 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.
> +
> +GCC 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 GCC; see the file COPYING. If not, write to
> +the Free Software Foundation, 59 Temple Place - Suite 330,
> +Boston, MA 02111-1307, USA. */
> +
> +#undef REG_NAME
> +#define REG_NAME(reg) sc_ ## reg
> diff -Nur gcc.old/gcc/config/i386/linux.h gcc/gcc/config/i386/linux.h
> --- gcc.old/gcc/config/i386/linux.h 2003-11-29 04:08:10.000000000 +0100
> +++ gcc/gcc/config/i386/linux.h 2004-04-15 19:40:30.000000000 +0200
> @@ -108,24 +108,30 @@
>
> /* If ELF is the default format, we should not use /lib/elf. */
>
> +#ifndef LINK_EMULATION
> +# define LINK_EMULATION "elf_i386"
> +#endif
> +#ifndef DYNAMIC_LINKER
> +# ifdef USE_GNULIBC_1
> +# define DYNAMIC_LINKER "/lib/ld-linux.so.1"
> +# else
> +# define DYNAMIC_LINKER "/lib/ld-linux.so.2"
> +# endif
> +#endif
> +
> +#undef SUBTARGET_EXTRA_SPECS
> +#define SUBTARGET_EXTRA_SPECS \
> + { "link_emulation", LINK_EMULATION },\
> + { "dynamic_linker", DYNAMIC_LINKER }
> +
> #undef LINK_SPEC
> -#ifdef USE_GNULIBC_1
> -#define LINK_SPEC "-m elf_i386 %{shared:-shared} \
> - %{!shared: \
> - %{!ibcs: \
> - %{!static: \
> - %{rdynamic:-export-dynamic} \
> - %{!dynamic-linker:-dynamic-linker /lib/ld-linux.so.1}} \
> - %{static:-static}}}"
> -#else
> -#define LINK_SPEC "-m elf_i386 %{shared:-shared} \
> +#define LINK_SPEC "-m %(link_emulation) %{shared:-shared} \
> %{!shared: \
> %{!ibcs: \
> %{!static: \
> %{rdynamic:-export-dynamic} \
> - %{!dynamic-linker:-dynamic-linker /lib/ld-linux.so.2}} \
> + %{!dynamic-linker:-dynamic-linker %(dynamic_linker)}} \
> %{static:-static}}}"
> -#endif
>
> /* A C statement (sans semicolon) to output to the stdio stream
> FILE the assembler definition of uninitialized global DECL named
> @@ -217,6 +223,8 @@
> #include <signal.h>
> #include <sys/ucontext.h>
>
> +#define REG_NAME(reg) reg
> +
> #define MD_FALLBACK_FRAME_STATE_FOR(CONTEXT, FS, SUCCESS) \
> do { \
> unsigned char *pc_ = (CONTEXT)->ra; \
> @@ -245,28 +253,28 @@
> else \
> break; \
> \
> - new_cfa_ = sc_->esp; \
> + new_cfa_ = sc_->REG_NAME(esp); \
> (FS)->cfa_how = CFA_REG_OFFSET; \
> (FS)->cfa_reg = 4; \
> (FS)->cfa_offset = new_cfa_ - (long) (CONTEXT)->cfa; \
> \
> /* The SVR4 register numbering macros aren't usable in libgcc. */ \
> (FS)->regs.reg[0].how = REG_SAVED_OFFSET; \
> - (FS)->regs.reg[0].loc.offset = (long)&sc_->eax - new_cfa_; \
> + (FS)->regs.reg[0].loc.offset = (long)&sc_->REG_NAME(eax) - new_cfa_; \
> (FS)->regs.reg[3].how = REG_SAVED_OFFSET; \
> - (FS)->regs.reg[3].loc.offset = (long)&sc_->ebx - new_cfa_; \
> + (FS)->regs.reg[3].loc.offset = (long)&sc_->REG_NAME(ebx) - new_cfa_; \
> (FS)->regs.reg[1].how = REG_SAVED_OFFSET; \
> - (FS)->regs.reg[1].loc.offset = (long)&sc_->ecx - new_cfa_; \
> + (FS)->regs.reg[1].loc.offset = (long)&sc_->REG_NAME(ecx) - new_cfa_; \
> (FS)->regs.reg[2].how = REG_SAVED_OFFSET; \
> - (FS)->regs.reg[2].loc.offset = (long)&sc_->edx - new_cfa_; \
> + (FS)->regs.reg[2].loc.offset = (long)&sc_->REG_NAME(edx) - new_cfa_; \
> (FS)->regs.reg[6].how = REG_SAVED_OFFSET; \
> - (FS)->regs.reg[6].loc.offset = (long)&sc_->esi - new_cfa_; \
> + (FS)->regs.reg[6].loc.offset = (long)&sc_->REG_NAME(esi) - new_cfa_; \
> (FS)->regs.reg[7].how = REG_SAVED_OFFSET; \
> - (FS)->regs.reg[7].loc.offset = (long)&sc_->edi - new_cfa_; \
> + (FS)->regs.reg[7].loc.offset = (long)&sc_->REG_NAME(edi) - new_cfa_; \
> (FS)->regs.reg[5].how = REG_SAVED_OFFSET; \
> - (FS)->regs.reg[5].loc.offset = (long)&sc_->ebp - new_cfa_; \
> + (FS)->regs.reg[5].loc.offset = (long)&sc_->REG_NAME(ebp) - new_cfa_; \
> (FS)->regs.reg[8].how = REG_SAVED_OFFSET; \
> - (FS)->regs.reg[8].loc.offset = (long)&sc_->eip - new_cfa_; \
> + (FS)->regs.reg[8].loc.offset = (long)&sc_->REG_NAME(eip) - new_cfa_; \
> (FS)->retaddr_column = 8; \
> goto SUCCESS; \
> } while (0)
> diff -Nur gcc.old/gcc/config/kfreebsd-gnu.h gcc/gcc/config/kfreebsd-gnu.h
> --- gcc.old/gcc/config/kfreebsd-gnu.h 1970-01-01 01:00:00.000000000 +0100
> +++ gcc/gcc/config/kfreebsd-gnu.h 2004-04-15 19:44:29.000000000 +0200
> @@ -0,0 +1,36 @@
> +/* Definitions for kFreeBSD-based GNU systems with ELF format
> + Copyright (C) 2004
> + Free Software Foundation, Inc.
> + Contributed by Robert Millan.
> +
> +This file is part of GCC.
> +
> +GCC 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.
> +
> +GCC 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 GCC; see the file COPYING. If not, write to
> +the Free Software Foundation, 59 Temple Place - Suite 330,
> +Boston, MA 02111-1307, USA. */
> +
> +#undef LINUX_TARGET_OS_CPP_BUILTINS
> +#define LINUX_TARGET_OS_CPP_BUILTINS() \
> + do \
> + { \
> + builtin_define ("__FreeBSD_kernel__"); \
> + builtin_define ("__GLIBC__"); \
> + builtin_define_std ("unix"); \
> + builtin_assert ("system=unix"); \
> + builtin_assert ("system=posix"); \
> + } \
> + while (0)
> +
> +#undef DYNAMIC_LINKER
> +#define DYNAMIC_LINKER "/lib/ld.so.1"
> diff -Nur gcc.old/gcc/config/kfreebsdgnu.h gcc/gcc/config/kfreebsdgnu.h
> --- gcc.old/gcc/config/kfreebsdgnu.h 2003-12-18 03:32:11.000000000 +0100
> +++ gcc/gcc/config/kfreebsdgnu.h 1970-01-01 01:00:00.000000000 +0100
> @@ -1,41 +0,0 @@
> -/* Definitions for GNU/KFreeBSD systems with ELF format.
> - Copyright (C) 2002 Free Software Foundation, Inc.
> - Contributed by Bruno Haible.
> -
> -This file is part of GCC.
> -
> -GCC 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.
> -
> -GCC 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 GCC; see the file COPYING. If not, write to
> -the Free Software Foundation, 59 Temple Place - Suite 330,
> -Boston, MA 02111-1307, USA. */
> -
> -#undef WCHAR_TYPE
> -#define WCHAR_TYPE "int"
> -
> -#undef TARGET_OS_CPP_BUILTINS
> -#define TARGET_OS_CPP_BUILTINS() \
> - builtin_define ("__GNU_KFreeBSD__=0"); \
> - builtin_define ("__gnu_kfreebsd__=0"); \
> - builtin_define ("__FreeBSD_kernel__=5"); \
> - builtin_define ("__ELF__"); \
> - builtin_define_std ("unix"); \
> - builtin_assert ("system=posix");
> -
> -#undef TARGET_CPU_CPP_BUILTINS
> -#define TARGET_CPU_CPP_BUILTINS() \
> - builtin_define ("__i386__"); \
> - builtin_define_std ("i386"); \
> - builtin_assert ("cpu=i386"); \
> - builtin_assert ("machine=i386");
> -
> -/* do {} while (0) */
> diff -Nur gcc.old/gcc/config/knetbsd-gnu.h gcc/gcc/config/knetbsd-gnu.h
> --- gcc.old/gcc/config/knetbsd-gnu.h 1970-01-01 01:00:00.000000000 +0100
> +++ gcc/gcc/config/knetbsd-gnu.h 2004-04-15 19:44:38.000000000 +0200
> @@ -0,0 +1,36 @@
> +/* Definitions for kNetBSD-based GNU systems with ELF format
> + Copyright (C) 2004
> + Free Software Foundation, Inc.
> + Contributed by Robert Millan.
> +
> +This file is part of GCC.
> +
> +GCC 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.
> +
> +GCC 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 GCC; see the file COPYING. If not, write to
> +the Free Software Foundation, 59 Temple Place - Suite 330,
> +Boston, MA 02111-1307, USA. */
> +
> +#undef LINUX_TARGET_OS_CPP_BUILTINS
> +#define LINUX_TARGET_OS_CPP_BUILTINS() \
> + do \
> + { \
> + builtin_define ("__NetBSD_kernel__"); \
> + builtin_define ("__GLIBC__"); \
> + builtin_define_std ("unix"); \
> + builtin_assert ("system=unix"); \
> + builtin_assert ("system=posix"); \
> + } \
> + while (0)
> +
> +#undef DYNAMIC_LINKER
> +#define DYNAMIC_LINKER "/lib/ld.so.1"
> diff -Nur gcc.old/gcc/config/linux.h gcc/gcc/config/linux.h
> --- gcc.old/gcc/config/linux.h 2003-11-29 04:08:10.000000000 +0100
> +++ gcc/gcc/config/linux.h 2004-04-15 19:34:10.000000000 +0200
> @@ -97,6 +97,7 @@
> %{!p:%{!pg:%{!g*:-lc} %{g*:-lg}}}}"
> #endif
>
> +#ifndef LINUX_TARGET_OS_CPP_BUILTINS
> #define LINUX_TARGET_OS_CPP_BUILTINS() \
> do { \
> builtin_define ("__gnu_linux__"); \
> @@ -106,6 +107,7 @@
> builtin_assert ("system=unix"); \
> builtin_assert ("system=posix"); \
> } while (0)
> +#endif
>
> #if !defined(USE_GNULIBC_1) && defined(HAVE_LD_EH_FRAME_HDR)
> #define LINK_EH_SPEC "%{!static:--eh-frame-hdr} "
> diff -Nur gcc.old/gcc/config/t-kfreebsd-gnu gcc/gcc/config/t-kfreebsd-gnu
> --- gcc.old/gcc/config/t-kfreebsd-gnu 2003-10-21 11:52:47.000000000 +0200
> +++ gcc/gcc/config/t-kfreebsd-gnu 1970-01-01 01:00:00.000000000 +0100
> @@ -1,16 +0,0 @@
> -# glibc provides a limits.h, which must be combined with gcc's limits.h.
> -LIMITS_H_TEST = true
> -
> -# Compile crtbeginS.o and crtendS.o with pic.
> -CRTSTUFF_T_CFLAGS_S = -fPIC
> -# Compile libgcc2.a with pic.
> -TARGET_LIBGCC2_CFLAGS = -fPIC
> -
> -# Override t-slibgcc-elf-ver to export some libgcc symbols with
> -# the symbol versions that glibc used.
> -SHLIB_MAPFILES += $(srcdir)/config/libgcc-glibc.ver
> -
> -# Use unwind-dw2-fde-glibc
> -LIB2ADDEH = $(srcdir)/unwind-dw2.c $(srcdir)/unwind-dw2-fde-glibc.c \
> - $(srcdir)/unwind-sjlj.c
> -LIB2ADDEHDEP = unwind.inc unwind-dw2-fde.h unwind-dw2-fde.c
> diff -Nur gcc.old/gcc/config.gcc gcc/gcc/config.gcc
> --- gcc.old/gcc/config.gcc 2004-04-15 19:02:35.000000000 +0200
> +++ gcc/gcc/config.gcc 2004-04-15 19:48:30.000000000 +0200
> @@ -408,21 +408,10 @@
> esac
> fbsd_tm_file="${fbsd_tm_file} freebsd-spec.h freebsd.h"
> ;;
> -*-*-kfreebsd*-gnu)
> - # Must come before *-*-gnu*
> - xm_defines=POSIX # needed for cross-compiling from FreeBSD?
> - extra_parts="crtbegin.o crtbeginS.o crtbeginT.o crtend.o crtendS.o"
> - # GNU tools are the only tools.
> - gas=yes
> - gnu_ld=yes
> - case ${enable_threads} in
> - "" | yes | posix) thread_file='posix' ;;
> - esac
> - ;;
> *-*-linux*libc1* | *-*-linux*aout*)
> # Avoid the generic linux case.
> ;;
> -*-*-linux* | frv-*-*linux*)
> +*-*-linux* | frv-*-*linux* | *-*-kfreebsd*-gnu | *-*-knetbsd*-gnu)
> # Must come before *-*-gnu* (because of *-*-linux-gnu* systems).
> extra_parts="crtbegin.o crtbeginS.o crtbeginT.o crtend.o crtendS.o"
> gas=yes
> @@ -922,10 +911,14 @@
> tm_file="${tm_file} i386/unix.h i386/bsd.h i386/gas.h dbxcoff.h i386/i386-coff.h"
> use_fixproto=yes
> ;;
> -i[34567]86-*-linux*) # Intel 80386's running GNU/Linux
> +i[34567]86-*-linux* | i[34567]86-*-kfreebsd*-gnu | i[34567]86-*-knetbsd*-gnu)
> + # Intel 80386's running GNU/*
> # with ELF format using glibc 2
> - # aka GNU/Linux C library 6
> tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h svr4.h linux.h i386/linux.h"
> + case ${target} in
> + i[34567]86-*-knetbsd*-gnu) tm_file="${tm_file} knetbsd-gnu.h i386/knetbsd-gnu.h" ;;
> + i[34567]86-*-kfreebsd*-gnu) tm_file="${tm_file} kfreebsd-gnu.h i386/kfreebsd-gnu.h" ;;
> + esac
> tmake_file="${tmake_file} i386/t-crtstuff"
> ;;
> x86_64-*-linux*)
> @@ -933,12 +926,6 @@
> i386/x86-64.h i386/linux64.h"
> tmake_file="${tmake_file} i386/t-linux64"
> ;;
> -i[34567]86-*-kfreebsd*-gnu) # must be before i[34567]86-*-gnu*
> - tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h svr4.h linux.h i386/linux.h kfreebsdgnu.h i386/kfreebsdgnu.h"
> - tmake_file="t-slibgcc-elf-ver t-kfreebsd-gnu i386/t-crtstuff"
> - float_format=i386
> - use_fixproto=no
> - ;;
> i[34567]86-*-gnu*)
> ;;
> i[34567]86-pc-msdosdjgpp*)
> make[1]: Entering directory `/home/rmh/tmp/gcc-3.5/build/gcc'
> Making a new config file...
> echo "set tmpdir /home/rmh/tmp/gcc-3.5/build/gcc/testsuite" >> ./tmp0
> test -d testsuite || mkdir testsuite
> rm -f testsuite/site.exp
> sed '/set tmpdir/ s|testsuite|testsuite|' < site.exp > testsuite/site.exp
> (rootme=`${PWDCMD-pwd}`; export rootme; \
> srcdir=`cd ../../gcc/gcc; ${PWDCMD-pwd}` ; export srcdir ; \
> cd testsuite; \
> EXPECT=expect ; export EXPECT ; \
> if [ -f ${rootme}/../expect/expect ] ; then \
> TCL_LIBRARY=`cd .. ; cd ../../gcc/gcc/../tcl/library ; ${PWDCMD-pwd}` ; \
> export TCL_LIBRARY ; fi ; \
> runtest --tool gcc )
> Test Run By rmh on Sun May 2 03:44:31 2004
> Native configuration is i386-unknown-kfreebsd4.9-gnu
>
> === gcc tests ===
>
> Schedule of variations:
> unix
>
> Running target unix
> Using /usr/share/dejagnu/baseboards/unix.exp as board description file for target.
> Using /usr/share/dejagnu/config/unix.exp as generic interface file for target.
> Using /home/rmh/tmp/gcc-3.5/gcc/gcc/testsuite/config/default.exp as tool-and-target-specific interface file.
> Running /home/rmh/tmp/gcc-3.5/gcc/gcc/testsuite/gcc.c-torture/compile/compile.exp ...
> Running /home/rmh/tmp/gcc-3.5/gcc/gcc/testsuite/gcc.c-torture/execute/builtins/builtins.exp ...
> Running /home/rmh/tmp/gcc-3.5/gcc/gcc/testsuite/gcc.c-torture/execute/execute.exp ...
> FAIL: gcc.c-torture/execute/va-arg-25.c execution, -Os
> Running /home/rmh/tmp/gcc-3.5/gcc/gcc/testsuite/gcc.c-torture/execute/ieee/ieee.exp ...
> Running /home/rmh/tmp/gcc-3.5/gcc/gcc/testsuite/gcc.c-torture/unsorted/unsorted.exp ...
> Running /home/rmh/tmp/gcc-3.5/gcc/gcc/testsuite/gcc.dg/charset/charset.exp ...
> Running /home/rmh/tmp/gcc-3.5/gcc/gcc/testsuite/gcc.dg/compat/compat.exp ...
> Running /home/rmh/tmp/gcc-3.5/gcc/gcc/testsuite/gcc.dg/cpp/cpp.exp ...
> FAIL: gcc.dg/cpp/_Pragma3.c (test for excess errors)
> Running /home/rmh/tmp/gcc-3.5/gcc/gcc/testsuite/gcc.dg/cpp/trad/trad.exp ...
> Running /home/rmh/tmp/gcc-3.5/gcc/gcc/testsuite/gcc.dg/debug/debug.exp ...
> Running /home/rmh/tmp/gcc-3.5/gcc/gcc/testsuite/gcc.dg/debug/dwarf2/dwarf2.exp ...
> Running /home/rmh/tmp/gcc-3.5/gcc/gcc/testsuite/gcc.dg/dg.exp ...
> FAIL: gcc.dg/20020523-1.c (test for excess errors)
> WARNING: gcc.dg/20020523-1.c compilation failed to produce executable
> FAIL: gcc.dg/20020523-2.c (test for excess errors)
> WARNING: gcc.dg/20020523-2.c compilation failed to produce executable
> FAIL: gcc.dg/c90-const-expr-3.c (test for excess errors)
> FAIL: gcc.dg/c99-const-expr-3.c (test for excess errors)
> FAIL: gcc.dg/const-elim-1.c scan-assembler-not L\\$?C[^A-Z]
> Running /home/rmh/tmp/gcc-3.5/gcc/gcc/testsuite/gcc.dg/format/format.exp ...
> Running /home/rmh/tmp/gcc-3.5/gcc/gcc/testsuite/gcc.dg/noncompile/noncompile.exp ...
> Running /home/rmh/tmp/gcc-3.5/gcc/gcc/testsuite/gcc.dg/pch/pch.exp ...
> FAIL: largefile.c -O0 -g (test for excess errors)
> FAIL: largefile.c -O0 (test for excess errors)
> FAIL: largefile.c -O1 (test for excess errors)
> FAIL: largefile.c -O2 (test for excess errors)
> FAIL: largefile.c -O3 -fomit-frame-pointer (test for excess errors)
> FAIL: largefile.c -O3 -g (test for excess errors)
> FAIL: largefile.c -Os (test for excess errors)
> Running /home/rmh/tmp/gcc-3.5/gcc/gcc/testsuite/gcc.dg/special/mips-abi.exp ...
> Running /home/rmh/tmp/gcc-3.5/gcc/gcc/testsuite/gcc.dg/special/special.exp ...
> Running /home/rmh/tmp/gcc-3.5/gcc/gcc/testsuite/gcc.dg/tls/tls.exp ...
> Running /home/rmh/tmp/gcc-3.5/gcc/gcc/testsuite/gcc.dg/torture/dg-torture.exp ...
> Running /home/rmh/tmp/gcc-3.5/gcc/gcc/testsuite/gcc.dg/vmx/vmx.exp ...
> Running /home/rmh/tmp/gcc-3.5/gcc/gcc/testsuite/gcc.dg/weak/weak.exp ...
> Running /home/rmh/tmp/gcc-3.5/gcc/gcc/testsuite/gcc.misc-tests/acker1.exp ...
> Running /home/rmh/tmp/gcc-3.5/gcc/gcc/testsuite/gcc.misc-tests/arm-isr.exp ...
> Running /home/rmh/tmp/gcc-3.5/gcc/gcc/testsuite/gcc.misc-tests/bprob.exp ...
> Running /home/rmh/tmp/gcc-3.5/gcc/gcc/testsuite/gcc.misc-tests/dg-test.exp ...
> Running /home/rmh/tmp/gcc-3.5/gcc/gcc/testsuite/gcc.misc-tests/dhry.exp ...
> Running /home/rmh/tmp/gcc-3.5/gcc/gcc/testsuite/gcc.misc-tests/gcov.exp ...
> Running /home/rmh/tmp/gcc-3.5/gcc/gcc/testsuite/gcc.misc-tests/i386-prefetch.exp ...
> Running /home/rmh/tmp/gcc-3.5/gcc/gcc/testsuite/gcc.misc-tests/linkage.exp ...
> Running /home/rmh/tmp/gcc-3.5/gcc/gcc/testsuite/gcc.misc-tests/matrix1.exp ...
> Running /home/rmh/tmp/gcc-3.5/gcc/gcc/testsuite/gcc.misc-tests/mg.exp ...
> Running /home/rmh/tmp/gcc-3.5/gcc/gcc/testsuite/gcc.misc-tests/sieve.exp ...
> Running /home/rmh/tmp/gcc-3.5/gcc/gcc/testsuite/gcc.misc-tests/sort2.exp ...
>
> === gcc Summary ===
>
> # of expected passes 25333
> # of unexpected failures 14
> # of expected failures 60
> # of untested testcases 35
> # of unsupported tests 213
> /home/rmh/tmp/gcc-3.5/build/gcc/xgcc version 3.5.0 20040429 (experimental)
>
> make[1]: [check-gcc] Error 1 (ignored)
> make[1]: Leaving directory `/home/rmh/tmp/gcc-3.5/build/gcc'
> make[1]: Entering directory `/home/rmh/tmp/gcc-3.5/build/intl'
> make[1]: Nothing to be done for `check'.
> make[1]: Leaving directory `/home/rmh/tmp/gcc-3.5/build/intl'
> make[1]: Entering directory `/home/rmh/tmp/gcc-3.5/build/libiberty'
> make[2]: Entering directory `/home/rmh/tmp/gcc-3.5/build/libiberty/testsuite'
> gcc -DHAVE_CONFIG_H -g -O2 -I.. -I../../../gcc/libiberty/testsuite/../../include -o test-demangle \
> ../../../gcc/libiberty/testsuite/test-demangle.c ../libiberty.a
> ./test-demangle < ../../../gcc/libiberty/testsuite/demangle-expected
> ./test-demangle: 745 tests, 0 failures
> make[2]: Leaving directory `/home/rmh/tmp/gcc-3.5/build/libiberty/testsuite'
> make[1]: Leaving directory `/home/rmh/tmp/gcc-3.5/build/libiberty'
--
Robert Millan
"[..] but the delight and pride of Aule is in the deed of making, and in the
thing made, and neither in possession nor in his own mastery; wherefore he
gives and hoards not, and is free from care, passing ever on to some new work."
-- J.R.R.T., Ainulindale (Silmarillion)