This is the mail archive of the gcc@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]
Other format: [Raw text]

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


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