I would like to use tasking support for GNAT on an arm-linux target (Intel XSCale PXA 270) to the gcc-4_1-branch
The installed runtime library however is using generic dummy package for tasking support (e.g. s-taprop.ads). After having a look at gcc/ada/Makefile.in, I figured there needs to be a couple of changes: 1. need for system-linux-arm.ads - which can be identical to system-linux-x86.ads 2. The Makefile.in needs to be changed as follows: (g-soccon is not in my focus, so I just kicked it out for now) (a-numaux is using the libc bindings) (all the rest of this section is from the x86-linux part) Index: Makefile.in =================================================================== --- Makefile.in (revision 117213) +++ Makefile.in (working copy) @@ -539,6 +539,33 @@ EXTRA_GNATRTL_TASKING_OBJS=s-vxwork.o endif +ifeq ($(strip $(filter-out arm linux%,$(arch) $(osys))),) + LIBGNAT_TARGET_PAIRS = \ + a-intnam.ads<a-intnam-linux.ads \ + a-numaux.ads<a-numaux-libc-x86.ads \ + s-inmaop.adb<s-inmaop-posix.adb \ + s-intman.adb<s-intman-posix.adb \ + s-osinte.adb<s-osinte-posix.adb \ + s-osinte.ads<s-osinte-linux.ads \ + s-osprim.adb<s-osprim-posix.adb \ + s-taprop.adb<s-taprop-linux.adb \ + s-taspri.ads<s-taspri-posix.ads \ + s-tpopsp.adb<s-tpopsp-posix-foreign.adb \ + s-parame.adb<s-parame-linux.adb \ + system.ads<system-linux-arm.ads + + TOOLS_TARGET_PAIRS = \ + mlib-tgt.adb<mlib-tgt-linux.adb \ + indepsw.adb<indepsw-gnu.adb + + EH_MECHANISM=-gcc + THREADSLIB = -lpthread + GNATLIB_SHARED = gnatlib-shared-dual + GMEM_LIB = gmemlib + PREFIX_OBJS = $(PREFIX_REAL_OBJS) + LIBRARY_VERSION := $(LIB_VERSION) +endif + ifeq ($(strip $(filter-out arm% coff wrs vx%,$(targ))),) LIBGNAT_TARGET_PAIRS = \ a-intnam.ads<a-intnam-vxworks.ads \ Did I forget anything? Unfortunately, I don't have a running (native) compiler (yet??), so ACATS tests might be hard to do. -- Summary: Adding tasking support for arm-linux Product: gcc Version: 4.1.2 Status: UNCONFIRMED Severity: enhancement Priority: P3 Component: ada AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: belandor at web dot de GCC target triplet: arm-xscale-linux http://gcc.gnu.org/bugzilla/show_bug.cgi?id=29262