This bug is forwarded upstream from Debian GNU/Linux (bug #225346). The log for the Debian bug is available at http://bugs.debian.org/225346. All Ada programs that use tasking don't work on ppc. They show the following error: failed run-time assertion : Tasking not implemented on this configuration This seems to be a known problem and a patch exists, but this bug is still not fixed in Debian (a bugreport didn't exist yet). Just look at: http://lists.debian.org/debian-gcc/2003/debian-gcc-200309/msg00250.html http://lists.debian.org/debian-gcc/2003/debian-gcc-200309/msg00251.html Here is the patch from the above message: --- Makefile.in.orig 2003-08-12 07:46:13.000000000 +0200 +++ Makefile.in 2003-09-25 11:49:08.000000000 +0200 @@ -700,6 +700,28 @@ endif endif +ifeq ($(strip $(filter-out %powerpc linux%,$(arch) $(osys))),) + LIBGNAT_TARGET_PAIRS = \ + a-intnam.ads<4lintnam.ads \ + s-inmaop.adb<7sinmaop.adb \ + s-intman.adb<5lintman.adb \ + s-osinte.adb<5iosinte.adb \ + s-osinte.ads<5iosinte.ads \ + s-osprim.adb<7sosprim.adb \ + s-taprop.adb<5itaprop.adb \ + s-taspri.ads<5itaspri.ads \ + s-tpopsp.adb<5atpopsp.adb \ + system.ads<52system.ads + + TOOLS_TARGET_PAIRS = mlib-tgt.adb<5lml-tgt.adb + SYMLIB = -laddr2line -lbfd $(INTLLIBS) + THREADSLIB = -lpthread + GNATLIB_SHARED = gnatlib-shared-dual + GMEM_LIB = gmemlib + LIBRARY_VERSION := $(strip $(shell grep Library_Version $(fsrcpfx)gnatvsn.ads | sed -e 's/.*GNAT Lib v\(.*\)[ "].*/\1/')) + +endif + ifeq ($(strip $(filter-out mips sgi irix%,$(targ))),) ifeq ($(strip $(filter-out mips sgi irix6%,$(targ))),) LIBGNAT_TARGET_PAIRS = \
Confirmed for the mainline also.
Filing as an enhancement, since this is indeed an unimplemented feature. The patch is incomplete, since it references a non existing (52system.ads) patch. Arno
Subject: Re: gnat does not implement tasking on powerpc Hi Arnaud. 52system.ads was in GCC 3.3.2 but removed later on (2003-10-21) from HEAD. It is still in the gcc-3_3-branch and in the weekly snapshots for 3.3.x. I suggest a fix in 3.3.3 and a merge into the main line, unless such a merge is impossible.
Subject: Re: gnat does not implement tasking on powerpc > 52system.ads was in GCC 3.3.2 but removed later on (2003-10-21) from > HEAD. It is still in the gcc-3_3-branch and in the weekly snapshots > for 3.3.x. This file was used for lynxos which now uses other files on the HEAD, so it is improper to use it for powerpc linux as is. Arno
I would like to know what was the last version of GCC that did have tasking on powerpc. From the CVS sources, it seems to me that that was 3.2.3. If this is the case, then I suppose we can consider this a regression in 3.3, 3.4 and HEAD? The patch fixes the regression in 3.3, but not in 3.4 or HEAD as Arno explained. Are there plans to apply it for 3.3.3? Is ACT planning to provide this functionality in 3.4? In HEAD (3.5) ? -- Ludovic Brenta.
We do not have powerpc linux configurations, so that's not something we can test nor work on. Feel free to sumit a patch to enable tasking on this configuration. Arno
Subject: Bug 13897 CVSROOT: /cvs/gcc Module name: gcc Changes by: charlet@gcc.gnu.org 2004-10-04 15:01:52 Modified files: gcc/ada : Makefile.in ChangeLog Added files: gcc/ada : i-vxwork-x86.ads system-linux-ppc.ads Log message: 2004-10-04 Bernard Banner <banner@gnat.com> PR ada/13897 * Makefile.in: Add section for powerpc linux Add variant i-vxwork-x86.ads * i-vxwork-x86.ads, system-linux-ppc.ads: New files. Patches: http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/ada/i-vxwork-x86.ads.diff?cvsroot=gcc&r1=NONE&r2=1.1 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/ada/system-linux-ppc.ads.diff?cvsroot=gcc&r1=NONE&r2=1.1 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/ada/Makefile.in.diff?cvsroot=gcc&r1=1.95&r2=1.96 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/ada/ChangeLog.diff?cvsroot=gcc&r1=1.592&r2=1.593
Implemented on mainline.