On Thu, 16 Jan 2014 03:15:06 +0100 (CET) [email protected] wrote: > Re: [Ghdl-discuss] ghdl-0.31 source release! > This is controlled by grt/Makefile.inc. There is already a case for > i386 FreeBSD. >
I tried a few variations in [translate/grt/Makefile.inc] without any success. Since I don't have anything like a comprehensive understanding of what is going on (yet), it might be worthwhile to ask for guidance. GRT stack implementation for amd64 (x86_64) translate/grt/config/amd64.S --- Makefile.inc.orig 2014-01-16 09:45:09.000000000 -0500 +++ Makefile.inc 2014-01-16 09:57:52.000000000 -0500 @@ -56,7 +56,12 @@ ifeq ($(filter-out i%86 freebsd%,$(arch) $(osys)),) GRT_TARGET_OBJS=i386.o linux.o times.o GRT_EXTRA_LIB=-lm $(GRT_ELF_OPTS) - ADAC=gnatgcc + ADAC=ada +endif +ifeq ($(filter-out x86_64 freebsd%,$(arch) $(osys)),) + GRT_TARGET_OBJS=amd64.o linux.o times.o + GRT_EXTRA_LIB=-lm $(GRT_ELF_OPTS) + ADAC=ada endif ifeq ($(filter-out i%86 darwin%,$(arch) $(osys)),) GRT_TARGET_OBJS=i386.o linux.o times.o [build then test...] $ ghdl -r dlx_test_behaviour --assert-level=note 0 X"20020000" 4 X"AC020018" 8 X"20420001" 12 X"6441000A" 16 X"1420FFF0" 20 X"44000000" ghdl: exec error -------------------------------- GRT stack implementation for x86 translate/grt/config/i386.S --- Makefile.inc.orig 2014-01-16 09:45:09.000000000 -0500 +++ Makefile.inc 2014-01-16 10:21:40.000000000 -0500 @@ -56,7 +56,12 @@ ifeq ($(filter-out i%86 freebsd%,$(arch) $(osys)),) GRT_TARGET_OBJS=i386.o linux.o times.o GRT_EXTRA_LIB=-lm $(GRT_ELF_OPTS) - ADAC=gnatgcc + ADAC=ada +endif +ifeq ($(filter-out x86_64 freebsd%,$(arch) $(osys)),) + GRT_TARGET_OBJS=i386.o linux.o times.o + GRT_EXTRA_LIB=-lm $(GRT_ELF_OPTS) + ADAC=ada endif ifeq ($(filter-out i%86 darwin%,$(arch) $(osys)),) GRT_TARGET_OBJS=i386.o linux.o times.o [building...] gcc -c -O -g -o i386.o /home/hanzer/ghdl_build/source/gcc-4.8-20130808/gcc/vhdl/grt/config/i386.S /home/hanzer/ghdl_build/source/gcc-4.8-20130808/gcc/vhdl/grt/config/i386.S: Assembler messages: /home/hanzer/ghdl_build/source/gcc-4.8-20130808/gcc/vhdl/grt/config/i386.S:49: Error: suffix or operands invalid for `push' /home/hanzer/ghdl_build/source/gcc-4.8-20130808/gcc/vhdl/grt/config/i386.S:102: Error: suffix or operands invalid for `push' /home/hanzer/ghdl_build/source/gcc-4.8-20130808/gcc/vhdl/grt/config/i386.S:103: Error: suffix or operands invalid for `push' /home/hanzer/ghdl_build/source/gcc-4.8-20130808/gcc/vhdl/grt/config/i386.S:104: Error: suffix or operands invalid for `push' /home/hanzer/ghdl_build/source/gcc-4.8-20130808/gcc/vhdl/grt/config/i386.S:105: Error: suffix or operands invalid for `push' /home/hanzer/ghdl_build/source/gcc-4.8-20130808/gcc/vhdl/grt/config/i386.S:111: Error: suffix or operands invalid for `pop' /home/hanzer/ghdl_build/source/gcc-4.8-20130808/gcc/vhdl/grt/config/i386.S:112: Error: suffix or operands invalid for `pop' /home/hanzer/ghdl_build/source/gcc-4.8-20130808/gcc/vhdl/grt/config/i386.S:113: Error: suffix or operands invalid for `pop' /home/hanzer/ghdl_build/source/gcc-4.8-20130808/gcc/vhdl/grt/config/i386.S:114: Error: suffix or operands invalid for `pop' gmake[3]: *** [i386.o] Error 1 --------------------------------- try generic implementation based on pthreads --- Makefile.inc.orig 2014-01-16 09:45:09.000000000 -0500 +++ Makefile.inc 2014-01-16 10:32:22.000000000 -0500 @@ -56,7 +56,12 @@ ifeq ($(filter-out i%86 freebsd%,$(arch) $(osys)),) GRT_TARGET_OBJS=i386.o linux.o times.o GRT_EXTRA_LIB=-lm $(GRT_ELF_OPTS) - ADAC=gnatgcc + ADAC=ada +endif +ifeq ($(filter-out x86_64 freebsd%,$(arch) $(osys)),) + GRT_TARGET_OBJS=pthread.o times.o + GRT_EXTRA_LIB=-lpthread -lm + ADAC=ada endif ifeq ($(filter-out i%86 darwin%,$(arch) $(osys)),) GRT_TARGET_OBJS=i386.o linux.o times.o [build then test...] $ ghdl -r dlx_test_behaviour --assert-level=note Assertion failed: (res == 0), function grt_stack_switch, file /home/hanzer/ghdl_build/source/gcc-4.8-20130808/gcc/vhdl/grt/config/pthread.c, line 180. Assertion failed: (res == 0), function grt_stack_switch, file /home/hanzer/ghdl_build/source/gcc-4.8-20130808/gcc/vhdl/grt/config/pthread.c, line 174. ghdl: exec error --------------------------------- try generic implementation based on pthreads (-pthread instead of -lpthread) http://www.freebsd.org/doc/en/books/porters-handbook/dads-pthread.html --- Makefile.inc.orig 2014-01-16 09:45:09.000000000 -0500 +++ Makefile.inc 2014-01-16 11:05:30.000000000 -0500 @@ -56,7 +56,12 @@ ifeq ($(filter-out i%86 freebsd%,$(arch) $(osys)),) GRT_TARGET_OBJS=i386.o linux.o times.o GRT_EXTRA_LIB=-lm $(GRT_ELF_OPTS) - ADAC=gnatgcc + ADAC=ada +endif +ifeq ($(filter-out x86_64 freebsd%,$(arch) $(osys)),) + GRT_TARGET_OBJS=pthread.o times.o + GRT_EXTRA_LIB=-pthread -lm + ADAC=ada endif ifeq ($(filter-out i%86 darwin%,$(arch) $(osys)),) GRT_TARGET_OBJS=i386.o linux.o times.o [build then test...] ]$ ghdl -r dlx_test_behaviour --assert-level=note Assertion failed: (res == 0), function grt_stack_switch, file /home/hanzer/ghdl_build/source/gcc-4.8-20130808/gcc/vhdl/grt/config/pthread.c, line 180. Assertion failed: (res == 0), function grt_stack_switch, file /home/hanzer/ghdl_build/source/gcc-4.8-20130808/gcc/vhdl/grt/config/pthread.c, line 174. ghdl: exec error
signature.asc
Description: PGP signature
_______________________________________________ Ghdl-discuss mailing list [email protected] https://mail.gna.org/listinfo/ghdl-discuss
