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]

ia64 port


I've checked in the ia64 backend.  I didn't bother to include the 350K+ of
new files in this mail message.  Check them out if you want to look at them.

I've got a "make bootstrap" running now.  This is my first attempt to do a
make bootstrap from the FSF gcc source tree.  The ia64 port has been
bootstrapped many times from the Cygnus gcc source tree, so I am not expecting
any problems for C or C++, but I haven't tried building Fortran, Java, or
Objective-C before.  I'll make changes as necessary if the bootstrap fails.

There are a few known caveats already though.
1) There is no official ia64 glibc yet.  The most commonly used unofficial
   glibc is missing thread support.  libio/libstdc++ assume that glibc has
   thread support.  So we need hacks to get libio/libstdc++ to build if you
   are using a glibc without thread support.  This problem will go away when
   an official ia64 glibc becomes available.
2) The Dec 17 gcse change to add REG_NOTES broke the ia64 port.  I haven't
   figured out the best way to fix this yet.  Meanwhile, I've got a gcse.c
   hack that makes the ia64 port work.  I will work on a real fix.
These patches can be found in gcc/config/ia64/build.hacks.

Wed Mar  8 16:19:42 2000  Jim Wilson  <wilson@cygnus.com>

	* configure.in (ia64*-*-elf*, ia64*-*-linux*): New.
	* configure: Regenerate.
	* config/ia64: New.

Index: configure.in
===================================================================
RCS file: /cvs/gcc/egcs/gcc/configure.in,v
retrieving revision 1.341
retrieving revision 1.342
diff -p -r1.341 -r1.342
*** configure.in	2000/02/29 18:30:48	1.341
--- configure.in	2000/03/09 00:25:51	1.342
*************** changequote([,])dnl
*** 1859,1864 ****
--- 1859,1885 ----
  	i960-*-*)			# Default i960 environment.
  		use_collect2=yes
  		;;
+ 	ia64*-*-elf*)
+ 		tm_file=ia64/elf.h
+ 		tmake_file="ia64/t-ia64"
+ 		target_cpu_default="0"
+ 		if test x$gas = xyes
+ 		then
+ 			target_cpu_default="${target_cpu_default}|MASK_GNU_AS"
+ 		fi
+ 		if test x$gnu_ld = xyes
+ 		then
+ 			target_cpu_default="${target_cpu_default}|MASK_GNU_LD"
+ 		fi
+ 		;;
+ 	ia64*-*-linux*)
+ 		tm_file=ia64/linux.h
+ 		tmake_file="t-linux ia64/t-ia64"
+ 		target_cpu_default="MASK_GNU_AS|MASK_GNU_LD"
+  		if test x$enable_threads = xyes; then
+  			thread_file='posix'
+  		fi
+ 		;;
  	m32r-*-elf*)
  		extra_parts="crtinit.o crtfini.o"
  		;;

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