Re: Improving Ada support on FreeBSD and in the ports system

2009-11-18 Thread freebsd-ports
Status update.

I've now begun producing regular builds from GCC SVN for GCC, G++, GNAT
and fortran on 7.2 amd64. The build logs are published here:

  http://gcc.coreland.ath.cx/

I'm hoping this will increase awareness of regressions before they make
their way back into releases (the formal GCC releases rarely contain
merged code from SVN for GNAT).

I've still been completely unable to get GPL 2009 to compile on amd64
so am currently continuing the work to update (and add new) Ada ports.

M
___
freebsd-ports@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-ports
To unsubscribe, send any mail to freebsd-ports-unsubscr...@freebsd.org


Re: Improving Ada support on FreeBSD and in the ports system

2009-11-11 Thread freebsd-ports
On 2009-11-08 00:06:16, Daniel Eischen wrote:
 
 Patches for amd64 support are also welcome.  I thought you were
 going to do a port for GNAT-gpl amd64?

'Lo.

I just tried to compile the vanilla GNAT-GPL 2009 sources today and
came across the following error:

/gnat/gpl-2009/src/GNAT/obj/./gcc/xgcc -B/gnat/gpl-2009/src/GNAT/obj/./gcc/ 
-B/usr/local/x86_64-unknown-freebsd7.2/bin/ 
-B/usr/local/x86_64-unknown-freebsd7.2/lib/ -isystem 
/usr/local/x86_64-unknown-freebsd7.2/include -isystem 
/usr/local/x86_64-unknown-freebsd7.2/sys-include -g -fkeep-inline-functions -O2 
 -O2 -g -g -O2   -DIN_GCC-W -Wall -Wwrite-strings -Wstrict-prototypes 
-Wmissing-prototypes -Wold-style-definition  -isystem ./include   -fPIC 
-pthread -g -DHAVE_GTHR_DEFAULT -DIN_LIBGCC2 -D__GCC_FLOAT_NOT_NEEDED   -I. -I. 
-I../.././gcc -I../../../src/libgcc -I../../../src/libgcc/. 
-I../../../src/libgcc/../gcc -I../../../src/libgcc/../include  -DHAVE_CC_TLS -o 
unwind-dw2.o -MT unwind-dw2.o -MD -MP -MF unwind-dw2.dep -fexceptions -c 
../../../src/libgcc/../gcc/unwind-dw2.c -fvisibility=hidden -DHIDE_EXPORTS
In file included from ../../../src/libgcc/../gcc/unwind-dw2.c:338:
../../../src/libgcc/../gcc/config/i386/freebsd-unwind.h: In function 
‘x86_freebsd_fallback_frame_state’:
../../../src/libgcc/../gcc/config/i386/freebsd-unwind.h:78: error: ‘struct 
sigcontext’ has no member named ‘sc_esp’
../../../src/libgcc/../gcc/config/i386/freebsd-unwind.h:85: error: ‘struct 
sigcontext’ has no member named ‘sc_eax’
../../../src/libgcc/../gcc/config/i386/freebsd-unwind.h:87: error: ‘struct 
sigcontext’ has no member named ‘sc_ebx’
../../../src/libgcc/../gcc/config/i386/freebsd-unwind.h:89: error: ‘struct 
sigcontext’ has no member named ‘sc_ecx’
../../../src/libgcc/../gcc/config/i386/freebsd-unwind.h:91: error: ‘struct 
sigcontext’ has no member named ‘sc_edx’
../../../src/libgcc/../gcc/config/i386/freebsd-unwind.h:93: error: ‘struct 
sigcontext’ has no member named ‘sc_esi’
../../../src/libgcc/../gcc/config/i386/freebsd-unwind.h:95: error: ‘struct 
sigcontext’ has no member named ‘sc_edi’
../../../src/libgcc/../gcc/config/i386/freebsd-unwind.h:97: error: ‘struct 
sigcontext’ has no member named ‘sc_ebp’
../../../src/libgcc/../gcc/config/i386/freebsd-unwind.h:99: error: ‘struct 
sigcontext’ has no member named ‘sc_eip’
gmake[3]: *** [unwind-dw2.o] Error 1
gmake[3]: Leaving directory 
`/gnat/gpl-2009/src/GNAT/obj/x86_64-unknown-freebsd7.2/libgcc'
gmake[2]: *** [all-stage1-target-libgcc] Error 2
gmake[2]: Leaving directory `/gnat/gpl-2009/src/GNAT/obj'
gmake[1]: *** [stage1-bubble] Error 2
gmake[1]: Leaving directory `/gnat/gpl-2009/src/GNAT/obj'
gmake: *** [all] Error 2

The actual GNAT part of the compiler appeared to compile without issue, using
the compiler from the lang/gnat-gcc44 port. The above, however, seems to be
a problem with the GCC core. It looks very i386 to me...

There doesn't appear to be any explicit support for FreeBSD amd64/x86_64
in those GCC sources as far as I can tell and not being very familiar with
the GCC codebase, I'm not sure how much work it'll be to add them.

Any ideas?
M
___
freebsd-ports@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-ports
To unsubscribe, send any mail to freebsd-ports-unsubscr...@freebsd.org


Re: Improving Ada support on FreeBSD and in the ports system

2009-11-11 Thread Daniel Eischen

On Wed, 11 Nov 2009, freebsd-po...@coreland.ath.cx wrote:


On 2009-11-08 00:06:16, Daniel Eischen wrote:


Patches for amd64 support are also welcome.  I thought you were
going to do a port for GNAT-gpl amd64?


'Lo.

I just tried to compile the vanilla GNAT-GPL 2009 sources today and
came across the following error:

/gnat/gpl-2009/src/GNAT/obj/./gcc/xgcc -B/gnat/gpl-2009/src/GNAT/obj/./gcc/ 
-B/usr/local/x86_64-unknown-freebsd7.2/bin/ 
-B/usr/local/x86_64-unknown-freebsd7.2/lib/ -isystem 
/usr/local/x86_64-unknown-freebsd7.2/include -isystem 
/usr/local/x86_64-unknown-freebsd7.2/sys-include -g -fkeep-inline-functions -O2 
 -O2 -g -g -O2   -DIN_GCC-W -Wall -Wwrite-strings -Wstrict-prototypes 
-Wmissing-prototypes -Wold-style-definition  -isystem ./include   -fPIC 
-pthread -g -DHAVE_GTHR_DEFAULT -DIN_LIBGCC2 -D__GCC_FLOAT_NOT_NEEDED   -I. -I. 
-I../.././gcc -I../../../src/libgcc -I../../../src/libgcc/. 
-I../../../src/libgcc/../gcc -I../../../src/libgcc/../include  -DHAVE_CC_TLS -o 
unwind-dw2.o -MT unwind-dw2.o -MD -MP -MF unwind-dw2.dep -fexceptions -c 
../../../src/libgcc/../gcc/unwind-dw2.c -fvisibility=hidden -DHIDE_EXPORTS
In file included from ../../../src/libgcc/../gcc/unwind-dw2.c:338:
../../../src/libgcc/../gcc/config/i386/freebsd-unwind.h: In function 
‘x86_freebsd_fallback_frame_state’:


I guess I'm confused.  Why is it using config/i386 if it is
trying to build x86_64?  Check the port to see if it forces
target i386...

--
DE___
freebsd-ports@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-ports
To unsubscribe, send any mail to freebsd-ports-unsubscr...@freebsd.org

Re: Improving Ada support on FreeBSD and in the ports system

2009-11-11 Thread freebsd-ports
On 2009-11-11 14:48:35, Daniel Eischen wrote:
  /gnat/gpl-2009/src/GNAT/obj/./gcc/xgcc -B/gnat/gpl-2009/src/GNAT/obj/./gcc/ 
  -B/usr/local/x86_64-unknown-freebsd7.2/bin/ 
  -B/usr/local/x86_64-unknown-freebsd7.2/lib/ -isystem 
  /usr/local/x86_64-unknown-freebsd7.2/include -isystem 
  /usr/local/x86_64-unknown-freebsd7.2/sys-include -g -fkeep-inline-functions 
  -O2  -O2 -g -g -O2   -DIN_GCC-W -Wall -Wwrite-strings 
  -Wstrict-prototypes -Wmissing-prototypes -Wold-style-definition  -isystem 
  ./include   -fPIC -pthread -g -DHAVE_GTHR_DEFAULT -DIN_LIBGCC2 
  -D__GCC_FLOAT_NOT_NEEDED   -I. -I. -I../.././gcc -I../../../src/libgcc 
  -I../../../src/libgcc/. -I../../../src/libgcc/../gcc 
  -I../../../src/libgcc/../include  -DHAVE_CC_TLS -o unwind-dw2.o -MT 
  unwind-dw2.o -MD -MP -MF unwind-dw2.dep -fexceptions -c 
  ../../../src/libgcc/../gcc/unwind-dw2.c -fvisibility=hidden -DHIDE_EXPORTS
  In file included from ../../../src/libgcc/../gcc/unwind-dw2.c:338:
  ../../../src/libgcc/../gcc/config/i386/freebsd-unwind.h: In function 
  ‘x86_freebsd_fallback_frame_state’:
 
 I guess I'm confused.  Why is it using config/i386 if it is
 trying to build x86_64?  Check the port to see if it forces
 target i386...

Oh, this wasn't your port, this was just the vanilla source package
taken from libre.adacore.com.

The port has some extra complexity (downloading bootstrap
binaries, etc) that I wanted to avoid until I knew it actually
built without (much) modification.

M
___
freebsd-ports@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-ports
To unsubscribe, send any mail to freebsd-ports-unsubscr...@freebsd.org


Re: Improving Ada support on FreeBSD and in the ports system

2009-11-11 Thread Daniel Eischen

On Wed, 11 Nov 2009, freebsd-po...@coreland.ath.cx wrote:


On 2009-11-11 14:48:35, Daniel Eischen wrote:

/gnat/gpl-2009/src/GNAT/obj/./gcc/xgcc -B/gnat/gpl-2009/src/GNAT/obj/./gcc/ 
-B/usr/local/x86_64-unknown-freebsd7.2/bin/ 
-B/usr/local/x86_64-unknown-freebsd7.2/lib/ -isystem 
/usr/local/x86_64-unknown-freebsd7.2/include -isystem 
/usr/local/x86_64-unknown-freebsd7.2/sys-include -g -fkeep-inline-functions -O2 
 -O2 -g -g -O2   -DIN_GCC-W -Wall -Wwrite-strings -Wstrict-prototypes 
-Wmissing-prototypes -Wold-style-definition  -isystem ./include   -fPIC 
-pthread -g -DHAVE_GTHR_DEFAULT -DIN_LIBGCC2 -D__GCC_FLOAT_NOT_NEEDED   -I. -I. 
-I../.././gcc -I../../../src/libgcc -I../../../src/libgcc/. 
-I../../../src/libgcc/../gcc -I../../../src/libgcc/../include  -DHAVE_CC_TLS -o 
unwind-dw2.o -MT unwind-dw2.o -MD -MP -MF unwind-dw2.dep -fexceptions -c 
../../../src/libgcc/../gcc/unwind-dw2.c -fvisibility=hidden -DHIDE_EXPORTS
In file included from ../../../src/libgcc/../gcc/unwind-dw2.c:338:
../../../src/libgcc/../gcc/config/i386/freebsd-unwind.h: In function 
‘x86_freebsd_fallback_frame_state’:


I guess I'm confused.  Why is it using config/i386 if it is
trying to build x86_64?  Check the port to see if it forces
target i386...


Oh, this wasn't your port, this was just the vanilla source package
taken from libre.adacore.com.

The port has some extra complexity (downloading bootstrap
binaries, etc) that I wanted to avoid until I knew it actually
built without (much) modification.


Oh, I see.  Did you configure it with host=i386-unknown-freebsd
and target=amd64-unknown-freebsd (or is it x86_64?)?

It looks like libgcc might not have support for x86_64
FreeBSD??

--
DE___
freebsd-ports@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-ports
To unsubscribe, send any mail to freebsd-ports-unsubscr...@freebsd.org

Re: Improving Ada support on FreeBSD and in the ports system

2009-11-11 Thread freebsd-ports
On 2009-11-11 15:07:36, Daniel Eischen wrote:
 
 Oh, I see.  Did you configure it with host=i386-unknown-freebsd
 and target=amd64-unknown-freebsd (or is it x86_64?)?
 
 It looks like libgcc might not have support for x86_64
 FreeBSD??

Full configure line was:

  ../src/configure \
--enable-languages=c,ada \
--disable-libada \
--host=x86_64-unknown-freebsd7.2 \
--target=x86_64-unknown-freebsd7.2 \
--build=x86_64-unknown-freebsd7.2

...which is more or less what I build GCC with.

It does seem as if support is missing - perhaps removed by AdaCore?

The system compiler is at 4.2.1 on my AMD64 machine, so I'm guessing
that support was there and was removed?

M
___
freebsd-ports@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-ports
To unsubscribe, send any mail to freebsd-ports-unsubscr...@freebsd.org


Re: Improving Ada support on FreeBSD and in the ports system

2009-11-11 Thread Daniel Eischen

On Wed, 11 Nov 2009, freebsd-po...@coreland.ath.cx wrote:


On 2009-11-11 15:07:36, Daniel Eischen wrote:


Oh, I see.  Did you configure it with host=i386-unknown-freebsd
and target=amd64-unknown-freebsd (or is it x86_64?)?

It looks like libgcc might not have support for x86_64
FreeBSD??


Full configure line was:

 ../src/configure \
   --enable-languages=c,ada \
   --disable-libada \
   --host=x86_64-unknown-freebsd7.2 \
   --target=x86_64-unknown-freebsd7.2 \
   --build=x86_64-unknown-freebsd7.2

...which is more or less what I build GCC with.


I would try it piecemeal.  Try just building the target
compiler (--host=i386-unknown-freebsd7.2 and
--target=x86_64-unknown-freebsd7.2).


It does seem as if support is missing - perhaps removed by AdaCore?

The system compiler is at 4.2.1 on my AMD64 machine, so I'm guessing
that support was there and was removed?


I think Adacore takes a snapshot of gcc at the time,
it might not be the actual release.

--
DE
___
freebsd-ports@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-ports
To unsubscribe, send any mail to freebsd-ports-unsubscr...@freebsd.org


Re: Improving Ada support on FreeBSD and in the ports system

2009-11-08 Thread freebsd-ports
'Lo,

On 2009-11-08 00:06:16, Daniel Eischen wrote:
 
 The packages are way out of date and don't build with the newer
 GNAT's.  Patches welcome.

Right!

   PROBLEM 3. Compiler version chaos and lack of architecture support
 
 We have:
 
   lang/gnat   (GPL 2009 version, i386 only)
 
 Patches for amd64 support are also welcome.  I thought you were
 going to do a port for GNAT-gpl amd64?

I am indeed. Just waiting for the gnat-gcc44 port to be committed, then
I'll work on getting GPL 2009 compiling on amd64.

M


pgpru9xjl4mIU.pgp
Description: PGP signature


Re: Improving Ada support on FreeBSD and in the ports system

2009-11-08 Thread freebsd-ports
On 2009-11-07 22:06:36, Mark Linimon wrote:

 There were several more working, but a recent compiler update broke them.
 At that time the portmgr team went ahead and marked the ports broken.
 That both advises users that they don't compile, and also triggers a
 periodic email to the ports@ mailing list.  Beyond that we have to rely
 on work done by individual contributors.

Seems reasonable.

 Most of the general mechanisms for selecting port alternative foo vs.
 bar live in ports/Mk.  In particular, you will probably want to look at
 ports/Mk/bsd.gcc.mk.  A more advanced example is in bsd.java.mk.  Note:
 don't feel bad if you don't understand the contents of these files; they
 have evolved to their current state over quite some period of time.  It's
 perfectly fair to ask for help.

It's on the list. Thanks!

 For something like this that isn't widely used, I wouldn't spend too much
 time on anything other than i386 and amd64.  That's where the majority of
 our user base is (I'm guessing 80% and 15%, respectively, based on the PR
 arrival statistics.)

That's good to know. I don't have any sparc64 machines laying around...

M


pgpAXccXnvBs2.pgp
Description: PGP signature


Re: Improving Ada support on FreeBSD and in the ports system

2009-11-07 Thread Daniel Eischen

On Sat, 7 Nov 2009, freebsd-po...@coreland.ath.cx wrote:


[Apologies for the possible double-post, I mistyped the From: address]

Hello.

It's come to my attention that the FreeBSD ports system has very poor support
for Ada and Ada software in general.

A quick search on Freshports for 'Ada' shows the following packages:

devel/adabooch- No dependencies registered!
devel/adacurses   - lang/gnat
devel/adasdl  - lang/gnat
net/adasockets- lang/gnat   (broken)
textproc/xmlada   - lang/gnat-gcc41 (broken)
textproc/xmlada-gps   - lang/gnat   (broken)
x11-toolkits/gtkada   - lang/gnat   (broken)
x11-toolkits/gtkada-devel - lang/gnat   (broken)
x11-toolkits/gtkada-gcc   - lang/gnat-gcc41 (broken)
x11-toolkits/gtkada-gps   - lang/gnat   (broken)

I'm aware there are more packages than this in the ports sytem. The situation
doesn't get any better the more you read...

The problems any user of Ada on FreeBSD faces are:

 PROBLEM 1. Lack of packages (as shown above)

   Of the 10 packages listed, only three of those (maybe two) actually
   work.


The packages are way out of date and don't build with the newer
GNAT's.  Patches welcome.


 PROBLEM 2. No choice in the use of compiler

   The Ada world is essentially divided between the GCC version of GNAT
   that can produce executables not tainted by the GPL (GNAT-FSF) and the
   GPL version (GNAT-GPL) from AdaCore which can't.

   Debian, for example, only uses GNAT-FSF (but one can, of course,
   just download GNAT-GPL from AdaCore and use it without issue).

 PROBLEM 3. Compiler version chaos and lack of architecture support

   We have:

 lang/gnat   (GPL 2009 version, i386 only)


Patches for amd64 support are also welcome.  I thought you were
going to do a port for GNAT-gpl amd64?

--
DE
___
freebsd-ports@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-ports
To unsubscribe, send any mail to freebsd-ports-unsubscr...@freebsd.org