This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Ada and x86_64
- From: Jan Hubicka <jh at suse dot cz>
- To: aj at suse dot de, dewar at gnat dot com, gcc at gcc dot gnu dot org
- Date: Mon, 26 Aug 2002 19:14:40 +0200
- Subject: Ada and x86_64
Hi,
I am trying to get Ada working on x86_64 architecture and I am running into
interesting problems.
First problem is use mov TImode divide that is not supported so results in
libcall that is unresolved during building gnatchop. I've tracked this down
into bitsizetype being TImode and using TImode arithmetic to compute size of
the type. I can get around by using:
*** stor-layout.c.old Mon Aug 26 19:03:46 2002
--- stor-layout.c Mon Aug 26 18:58:19 2002
*************** set_sizetype (type)
*** 1798,1804 ****
cross-compiling from a 32 bit to a 64 bit host, we are limited to 64 bit
precision. */
int precision = MIN (oprecision + BITS_PER_UNIT_LOG + 1,
! 2 * HOST_BITS_PER_WIDE_INT);
unsigned int i;
tree t;
--- 1798,1804 ----
cross-compiling from a 32 bit to a 64 bit host, we are limited to 64 bit
precision. */
int precision = MIN (oprecision + BITS_PER_UNIT_LOG + 1,
! /*2 * HOST_BITS_PER_WIDE_INT*/64);
unsigned int i;
tree t;
But is there any idea for proper fix? Additionally I've modified Makefiles to
thread x86_64 like x86. That allows me to compile more of the library and tools,
however library build dies at:
../../xgcc -B../../ -c -g -O2 -g -O2 -W -Wall -gnatpg -I. -I/abuild/jh/gcc2/gcc-3.2/gcc/ada s-inmaop.adb
s-osinte.ads:450:26: size for "sigset_t" too small, minimum allowed is 2048
and tools build at:
../xgcc -B../ -c -g -W -Wall -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes -Wtraditional -pedantic -Wno-long-long -W
-Wall -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes -Wtraditional -pedantic -Wno-long-long -W -Wall -gnatpg -gnata -I- -I. -I../../../gcc/ada ../../../gcc/ada/xr_tabls.adb
+===========================GNAT BUG DETECTED==============================+
| 3.2 20020814 (release) (x86_64-unknown-linux-gnu) GCC error: |
| Internal compiler error in size_binop, at fold-const.c:2014 |
| Error detected at ../../../gcc/ada/xr_tabls.ads:285:41 |
| Please submit a bug report, see http://gcc.gnu.org/bugs.html. |
| Include the entire contents of this bug box in the report. |
| Include the exact gcc or gnatmake command that you entered. |
| Also include sources listed below in gnatchop format |
| (concatenated together with no headers between files). |
+==========================================================================+
It is again related to sizetype...
Honza