« Return to Thread: bootstrapping gnat GCC on amd64

Re: bootstrapping gnat GCC on amd64

by xorquewasp :: Rate this Message:

Reply to Author | View in Thread

Hi.

After a week off, another update:

I've realised, too late, that I'm using a version of binutils
(2.19) that's incompatible with the system binutils (2.15).
Specifically, assembler code emitted by the native GNAT contains
.cfi_personality directives (and no doubt other things too) that
can't be processed by the system 'as'.

I've got two choices now and would appreciate some advice on
which to take given that I want to produce a FreeBSD port:

  1. Compile binutils-2.15.

  Unfortunately, compiling these as cross-binutils appear to be problematic:

  gmake[3]: Entering directory `/root/memfs/c1-bu-obj/gas'
  gcc -DHAVE_CONFIG_H -I. -I/root/binutils-2.15/gas -I. -D_GNU_SOURCE -I. -I/root/binutils-2.15/gas -I../bfd -I/root/binutils-2.15/gas/config -I/root/binutils-2.15/gas/../include -I/root/binutils-2.15/gas/.. -I/root/binutils-2.15/gas/../bfd -I/root/binutils-2.15/gas/../intl -I../intl -DLOCALEDIR="\"/cross/x86_64/share/locale\""   -W -Wall -Wstrict-prototypes -Wmissing-prototypes -g -O2 -c /root/binutils-2.15/gas/app.c
  In file included from /root/binutils-2.15/gas/as.h:94,
                 from /root/binutils-2.15/gas/app.c:30:
  /root/binutils-2.15/gas/../include/getopt.h:116: warning: function declaration isn't a prototype
  In file included from ./targ-cpu.h:1,
                 from /root/binutils-2.15/gas/config/obj-elf.h:42,
                 from ./obj-format.h:1,
                 from /root/binutils-2.15/gas/config/te-freebsd.h:30,
                 from ./targ-env.h:1,
                 from /root/binutils-2.15/gas/as.h:626,
                 from /root/binutils-2.15/gas/app.c:30:
  /root/binutils-2.15/gas/config/tc-i386.h:451: error: array type has incomplete element type
  gmake[3]: *** [app.o] Error 1
  gmake[3]: Leaving directory `/root/memfs/c1-bu-obj/gas'
  gmake[2]: *** [all-recursive] Error 1
  gmake[2]: Leaving directory `/root/memfs/c1-bu-obj/gas'
  gmake[1]: *** [all] Error 2
  gmake[1]: Leaving directory `/root/memfs/c1-bu-obj/gas'
  gmake: *** [all-gas] Error 2

  2. Continue to use binutils-2.19.

  This would appear to require me to create a binutils-2.19 port
  just for the GNAT compiler. Seems like it would be preferable
  to use the system binutils rather than to take this route...

xw
_______________________________________________
freebsd-hackers@... mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-hackers
To unsubscribe, send any mail to "freebsd-hackers-unsubscribe@..."

 « Return to Thread: bootstrapping gnat GCC on amd64