This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug ada/29262] New: Adding tasking support for arm-linux
- From: "belandor at web dot de" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 28 Sep 2006 06:13:50 -0000
- Subject: [Bug ada/29262] New: Adding tasking support for arm-linux
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
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