This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug ada/29262] New: Adding tasking support for arm-linux


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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]