This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
ia64 port
- To: gcc-patches at gcc dot gnu dot org
- Subject: ia64 port
- From: Jim Wilson <wilson at cygnus dot com>
- Date: Wed, 08 Mar 2000 16:49:36 -0800
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"
;;