This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: [PATCH] new FreeBSD/alpha support


On Wed, Oct 04, 2000 at 10:43:41PM -0700, David O'Brien wrote:
> This patch set adds new architectural support for FreeBSD running on the
> DEC Alpha.  This a first step, to get the compiler itself bootstrapping
> (and useful for cross-compilers).  I'm working on some remaining test
> suite failures for C++.
> 
> Permission to apply?
> 
> 
> Index: ChangeLog
> ===================================================================
> RCS file: /cvs/gcc/egcs/gcc/ChangeLog,v
> retrieving revision 1.7909
> diff -u -r1.7909 ChangeLog
> --- ChangeLog	2000/10/03 07:26:40	1.7909
> +++ ChangeLog	2000/10/05 05:40:02
> @@ -1,3 +1,10 @@
> +2000-10-04  David O'Brien  <obrien@dragon.nuxi.com>
> +
> +	* config/alpha/freebsd.h: New file -- FreeBSD/alpha architecture file.
> +	* POTFILES.in: Add config/alpha/freebsd.h
> +	* configure.in: Add alpha*-freebsd support.
> +	* configure: Rebuilt.
> +
>  Mon Oct  2 14:50:14 MET DST 2000  Jan Hubicka  <jh@suse.cz>
>  
>  	* rtlanal.c (single_set_1): Do not require USE and CLOBBERs
> Index: configure.in
> ===================================================================
> RCS file: /cvs/gcc/egcs/gcc/configure.in,v
> retrieving revision 1.432
> diff -u -r1.432 configure.in
> --- configure.in	2000/10/04 03:08:49	1.432
> +++ configure.in	2000/10/05 05:40:03
> @@ -787,6 +787,20 @@
>   			thread_file='posix'
>   		fi
>  		;;
> +	alpha*-*-freebsd*)
> +		tm_file="${tm_file} freebsd.h alpha/freebsd.h"
> +		target_cpu_default="MASK_GAS"
> +		tmake_file="t-freebsd alpha/t-crtbe"
> +		xmake_file=none
> +		gas=yes gnu_ld=yes
> +		stabs=yes
> +		case x${enable_threads} in
> +		xyes | xpthreads | xposix)
> +			thread_file='posix'
> +			tmake_file="${tmake_file} t-freebsd-thread"
> +			;;
> +		esac
> +		;;



> +#define LINK_SPEC "-m elf64alpha                                     \
> +  %{p:%e`-p' not supported; use `-pg' and gprof(1)}                  \
> +  %{Wl,*:%*}                                                         \

Why in the world are you touching -Wl?  The gcc driver
already does this.

> +#define ASM_SPEC " %| %{mcpu=*:-m%*}"

Much better to use the `.arch' directive in the assembly file.

In fact, it appears that much of your freebsd.h would go away
if you just used alpha/elf.h.  Which, in fact, I am going to
require, because you are missing stuff from it that you need.
Like sdata and sbss support.

So your tm_file line should be something like

	tm_file="${tm_file} freebsd.h alpha/elf.h alpha/freebsd.h"

Also, you should override CPP_SPEC from freebsd.h to include

	%{mieee:-D_IEEE_FP }
	%{mieee-with-inexact:-D_IEEE_FP -D_IEEE_FP_INEXACT }}



r~

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]