aboutsummaryrefslogtreecommitdiff
path: root/gcc/ada/gcc-interface
diff options
context:
space:
mode:
authorArnaud Charlet <charlet@gcc.gnu.org>2011-08-29 12:58:32 +0200
committerArnaud Charlet <charlet@gcc.gnu.org>2011-08-29 12:58:32 +0200
commit718f39dcc150d25458c3f49e08c5114dbfec64e8 (patch)
tree6e1b74a6ffa6d93257d6fe4f61aa7566838333fe /gcc/ada/gcc-interface
parentee2e3f6bb4978d0b148e7458dd6915dbc28fdaf3 (diff)
downloadgcc-718f39dcc150d25458c3f49e08c5114dbfec64e8.zip
gcc-718f39dcc150d25458c3f49e08c5114dbfec64e8.tar.gz
gcc-718f39dcc150d25458c3f49e08c5114dbfec64e8.tar.bz2
[multiple changes]
2011-08-29 Tristan Gingold <gingold@adacore.com> * s-interr-hwint.adb: Revert previous patch (defer aborts in ZCX case). 2011-08-29 Geert Bosch <bosch@adacore.com> * a-ngelfu.adb (Tan): Do not raise Constraint_Error if the argument is the closest machine number to Pi / 2.0. 2011-08-29 Jose Ruiz <ruiz@adacore.com> * impunit.adb (Non_Imp_File_Names_12): Add a-synbar for new Ada 2012 package Ada.Synchronous_Barriers. * a-synbar.ads, a-synbar.adb, a-synbar-posix.ads, a-synbar-posix.adb: Add new specs and bodies for Ada.Synchronous_Barriers. There is a default implementation using protected objects and another one a-synbar-posix using POSIX barriers as the underlying support. * gcc-interface/Makefile.in (LIBGNAT_TARGET_PAIRS for Linux (x86, x86_64, ia64) and MIPS IRIX): Use the a-synbar-posix implementation of Ada.Synchronous_Barriers which uses POSIX barriers (more efficient). * Makefile.rtl (GNATRTL_TASKING_OBJS): Add a-synbar.o From-SVN: r178200
Diffstat (limited to 'gcc/ada/gcc-interface')
-rw-r--r--gcc/ada/gcc-interface/Makefile.in113
1 files changed, 70 insertions, 43 deletions
diff --git a/gcc/ada/gcc-interface/Makefile.in b/gcc/ada/gcc-interface/Makefile.in
index c80480e..a8b911e 100644
--- a/gcc/ada/gcc-interface/Makefile.in
+++ b/gcc/ada/gcc-interface/Makefile.in
@@ -420,7 +420,26 @@ ATOMICS_TARGET_PAIRS += \
a-stzunb.adb<a-stzunb-shared.adb \
a-stzunb.ads<a-stzunb-shared.ads \
a-szunau.adb<a-szunau-shared.adb \
- a-szuzti.adb<a-szuzti-shared.adb \
+ a-szuzti.adb<a-szuzti-shared.adb
+
+ATOMICS_BUILTINS_TARGET_PAIRS += \
+ s-atocou.adb<s-atocou-builtin.adb
+
+ATOMICS_X86_TARGET_PAIRS += \
+ s-atocou.adb<s-atocou-x86.adb
+
+# Special version of units for x86 and x86-64 platforms.
+
+X86_TARGET_PAIRS = \
+ a-numaux.ads<a-numaux-x86.ads \
+ a-numaux.adb<a-numaux-x86.adb \
+ g-bytswa.adb<g-bytswa-x86.adb \
+ s-atocou.adb<s-atocou-x86.adb
+
+X86_64_TARGET_PAIRS = \
+ a-numaux.ads<a-numaux-x86.ads \
+ a-numaux.adb<a-numaux-x86.adb \
+ g-bytswa.adb<g-bytswa-x86.adb \
s-atocou.adb<s-atocou-builtin.adb
LIB_VERSION = $(strip $(shell grep ' Library_Version :' $(fsrcpfx)ada/gnatvsn.ads | sed -e 's/.*"\(.*\)".*/\1/'))
@@ -497,7 +516,8 @@ ifeq ($(strip $(filter-out e500% powerpc% wrs vxworks,$(targ))),)
g-stsifd.adb<g-stsifd-sockets.adb \
g-trasym.ads<g-trasym-unimplemented.ads \
g-trasym.adb<g-trasym-unimplemented.adb \
- $(ATOMICS_TARGET_PAIRS)
+ $(ATOMICS_TARGET_PAIRS) \
+ $(ATOMICS_BUILTINS_TARGET_PAIRS)
TOOLS_TARGET_PAIRS=\
mlib-tgt-specific.adb<mlib-tgt-specific-vxworks.adb \
@@ -597,7 +617,8 @@ ifeq ($(strip $(filter-out powerpc% wrs vxworksae,$(targ))),)
g-trasym.ads<g-trasym-unimplemented.ads \
g-trasym.adb<g-trasym-unimplemented.adb \
system.ads<system-vxworks-ppc-vthread.ads \
- $(ATOMICS_TARGET_PAIRS)
+ $(ATOMICS_TARGET_PAIRS) \
+ $(ATOMICS_BUILTINS_TARGET_PAIRS)
TOOLS_TARGET_PAIRS=\
mlib-tgt-specific.adb<mlib-tgt-specific-vxworks.adb \
@@ -661,6 +682,7 @@ ifeq ($(strip $(filter-out e500% powerpc% wrs vxworksmils,$(targ))),)
g-trasym.adb<g-trasym-unimplemented.adb \
system.ads<system-vxworks-ppc.ads \
$(ATOMICS_TARGET_PAIRS) \
+ $(ATOMICS_BUILTINS_TARGET_PAIRS) \
$(DUMMY_SOCKETS_TARGET_PAIRS)
TOOLS_TARGET_PAIRS=\
@@ -716,7 +738,7 @@ ifeq ($(strip $(filter-out %86 wrs vxworksae vxworksmils,$(targ))),)
g-trasym.adb<g-trasym-unimplemented.adb \
system.ads<system-vxworks-x86.ads \
$(ATOMICS_TARGET_PAIRS) \
- s-atocou.adb<s-atocou-x86.adb
+ $(ATOMICS_X86_TARGET_PAIRS)
TOOLS_TARGET_PAIRS=\
mlib-tgt-specific.adb<mlib-tgt-specific-vxworks.adb \
@@ -815,7 +837,7 @@ ifeq ($(strip $(filter-out %86 wrs vxworks,$(targ))),)
g-trasym.ads<g-trasym-unimplemented.ads \
g-trasym.adb<g-trasym-unimplemented.adb \
$(ATOMICS_TARGET_PAIRS) \
- s-atocou.adb<s-atocou-x86.adb
+ $(ATOMICS_X86_TARGET_PAIRS)
TOOLS_TARGET_PAIRS=\
mlib-tgt-specific.adb<mlib-tgt-specific-vxworks.adb \
@@ -980,7 +1002,8 @@ ifeq ($(strip $(filter-out sparc% sun solaris%,$(targ))),)
LIBGNAT_TARGET_PAIRS_64 = \
system.ads<system-solaris-sparcv9.ads \
- $(ATOMICS_TARGET_PAIRS)
+ $(ATOMICS_TARGET_PAIRS) \
+ $(ATOMICS_BUILTINS_TARGET_PAIRS)
ifeq ($(strip $(filter-out sparc sun solaris%,$(targ))),)
ifeq ($(strip $(MULTISUBDIR)),/sparcv9)
@@ -1050,30 +1073,14 @@ ifeq ($(strip $(filter-out %86 %x86_64 solaris2%,$(arch) $(osys))),)
g-soliop.ads<g-soliop-solaris.ads \
$(ATOMICS_TARGET_PAIRS)
- LIBGNAT_TARGET_PAIRS_32 = \
- g-bytswa.adb<g-bytswa-x86.adb \
- s-atocou.adb<s-atocou-x86.adb \
- system.ads<system-solaris-x86.ads
-
- LIBGNAT_TARGET_PAIRS_64 = \
- system.ads<system-solaris-x86_64.ads
-
- ifeq ($(strip $(filter-out %86 solaris2%,$(arch) $(osys))),)
- ifeq ($(strip $(MULTISUBDIR)),/amd64)
- LIBGNAT_TARGET_PAIRS = \
- $(LIBGNAT_TARGET_PAIRS_COMMON) $(LIBGNAT_TARGET_PAIRS_64)
- else
- LIBGNAT_TARGET_PAIRS = \
- $(LIBGNAT_TARGET_PAIRS_COMMON) $(LIBGNAT_TARGET_PAIRS_32)
- endif
+ ifeq ($(strip $(MULTISUBDIR)),/amd64)
+ LIBGNAT_TARGET_PAIRS += \
+ $(X86_64_TARGET_PAIRS) \
+ system.ads<system-solaris-x86_64.ads
else
- ifeq ($(strip $(MULTISUBDIR)),/32)
- LIBGNAT_TARGET_PAIRS = \
- $(LIBGNAT_TARGET_PAIRS_COMMON) $(LIBGNAT_TARGET_PAIRS_32)
- else
- LIBGNAT_TARGET_PAIRS = \
- $(LIBGNAT_TARGET_PAIRS_COMMON) $(LIBGNAT_TARGET_PAIRS_64)
- endif
+ LIBGNAT_TARGET_PAIRS += \
+ $(X86_TARGET_PAIRS) \
+ system.ads<system-solaris-x86.ads
endif
TOOLS_TARGET_PAIRS=mlib-tgt-specific.adb<mlib-tgt-specific-solaris.adb
@@ -1092,13 +1099,15 @@ ifeq ($(strip $(filter-out %86 linux%,$(arch) $(osys))),)
a-intnam.ads<a-intnam-linux.ads \
a-numaux.adb<a-numaux-x86.adb \
a-numaux.ads<a-numaux-x86.ads \
+ a-synbar.adb<a-synbar-posix.adb \
+ a-synbar.ads<a-synbar-posix.ads \
g-bytswa.adb<g-bytswa-x86.adb \
s-inmaop.adb<s-inmaop-posix.adb \
s-intman.adb<s-intman-posix.adb \
s-tpopsp.adb<s-tpopsp-tls.adb \
g-sercom.adb<g-sercom-linux.adb \
$(ATOMICS_TARGET_PAIRS) \
- s-atocou.adb<s-atocou-x86.adb
+ $(ATOMICS_X86_TARGET_PAIRS)
ifeq ($(strip $(filter-out marte,$(THREAD_KIND))),)
LIBGNAT_TARGET_PAIRS += \
@@ -1178,7 +1187,7 @@ ifeq ($(strip $(filter-out %86 kfreebsd%,$(arch) $(osys))),)
s-tpopsp.adb<s-tpopsp-posix-foreign.adb \
system.ads<system-freebsd-x86.ads \
$(ATOMICS_TARGET_PAIRS) \
- s-atocou.adb<s-atocou-x86.adb
+ $(ATOMICS_X86_TARGET_PAIRS)
TOOLS_TARGET_PAIRS = \
mlib-tgt-specific.adb<mlib-tgt-specific-linux.adb \
@@ -1235,7 +1244,7 @@ ifeq ($(strip $(filter-out %86 freebsd%,$(arch) $(osys))),)
s-tpopsp.adb<s-tpopsp-posix.adb \
system.ads<system-freebsd-x86.ads \
$(ATOMICS_TARGET_PAIRS) \
- s-atocou.adb<s-atocou-x86.adb
+ $(ATOMICS_X86_TARGET_PAIRS)
TOOLS_TARGET_PAIRS = \
mlib-tgt-specific.adb<mlib-tgt-specific-linux.adb
@@ -1297,6 +1306,8 @@ endif
ifeq ($(strip $(filter-out mips sgi irix6%,$(targ))),)
LIBGNAT_TARGET_PAIRS = \
a-intnam.ads<a-intnam-irix.ads \
+ a-synbar.adb<a-synbar-posix.adb \
+ a-synbar.ads<a-synbar-posix.ads \
s-inmaop.adb<s-inmaop-posix.adb \
s-intman.adb<s-intman-irix.adb \
s-mastop.adb<s-mastop-irix.adb \
@@ -1391,7 +1402,8 @@ ifeq ($(strip $(filter-out ibm aix%,$(manu) $(osys))),)
s-taprop.adb<s-taprop-posix.adb \
s-taspri.ads<s-taspri-posix.ads \
s-tpopsp.adb<s-tpopsp-posix.adb \
- $(ATOMICS_TARGET_PAIRS)
+ $(ATOMICS_TARGET_PAIRS) \
+ $(ATOMICS_BUILTINS_TARGET_PAIRS)
LIBGNAT_TARGET_PAIRS_32 = \
system.ads<system-aix.ads
@@ -1453,7 +1465,8 @@ ifeq ($(strip $(filter-out alpha% dec osf%,$(targ))),)
s-tpopsp.adb<s-tpopsp-posix-foreign.adb \
s-traceb.adb<s-traceb-mastop.adb \
system.ads<system-tru64.ads \
- $(ATOMICS_TARGET_PAIRS)
+ $(ATOMICS_TARGET_PAIRS) \
+ $(ATOMICS_BUILTINS_TARGET_PAIRS)
TOOLS_TARGET_PAIRS=mlib-tgt-specific.adb<mlib-tgt-specific-tru64.adb
@@ -1520,7 +1533,8 @@ ifeq ($(strip $(filter-out alpha64 ia64 dec hp vms% openvms% alphavms%,$(targ)))
s-vaflop.adb<s-vaflop-vms-ia64.adb \
system.ads<system-vms-ia64.ads \
s-parame.ads<s-parame-vms-ia64.ads \
- $(ATOMICS_TARGET_PAIRS)
+ $(ATOMICS_TARGET_PAIRS) \
+ $(ATOMICS_BUILTINS_TARGET_PAIRS)
TOOLS_TARGET_PAIRS= \
mlib-tgt-specific.adb<mlib-tgt-specific-vms-ia64.adb \
@@ -1540,7 +1554,8 @@ ifeq ($(strip $(filter-out alpha64 ia64 dec hp vms% openvms% alphavms%,$(targ)))
s-vaflop.adb<s-vaflop-vms-alpha.adb \
system.ads<system-vms_64.ads \
s-parame.ads<s-parame-vms-alpha.ads \
- $(ATOMICS_TARGET_PAIRS)
+ $(ATOMICS_TARGET_PAIRS) \
+ $(ATOMICS_BUILTINS_TARGET_PAIRS)
TOOLS_TARGET_PAIRS= \
mlib-tgt-specific.adb<mlib-tgt-specific-vms-alpha.adb \
@@ -1593,7 +1608,7 @@ ifeq ($(strip $(filter-out cygwin32% mingw32% pe,$(osys))),)
g-stsifd.adb<g-stsifd-sockets.adb \
g-soliop.ads<g-soliop-mingw.ads \
$(ATOMICS_TARGET_PAIRS) \
- s-atocou.adb<s-atocou-x86.adb
+ $(ATOMICS_X86_TARGET_PAIRS)
ifeq ($(strip $(filter-out rtx_w32 rtx_rtss,$(THREAD_KIND))),)
LIBGNAT_TARGET_PAIRS += \
@@ -1786,13 +1801,16 @@ ifeq ($(strip $(filter-out powerpc% linux%,$(arch) $(osys))),)
a-exetim.adb<a-exetim-posix.adb \
a-exetim.ads<a-exetim-default.ads \
a-intnam.ads<a-intnam-linux.ads \
+ a-synbar.adb<a-synbar-posix.adb \
+ a-synbar.ads<a-synbar-posix.ads \
s-inmaop.adb<s-inmaop-posix.adb \
s-intman.adb<s-intman-posix.adb \
s-linux.ads<s-linux.ads \
s-osinte.adb<s-osinte-posix.adb \
s-tpopsp.adb<s-tpopsp-tls.adb \
g-sercom.adb<g-sercom-linux.adb \
- $(ATOMICS_TARGET_PAIRS)
+ $(ATOMICS_TARGET_PAIRS) \
+ $(ATOMICS_BUILTINS_TARGET_PAIRS)
ifeq ($(strip $(filter-out xenomai,$(THREAD_KIND))),)
LIBGNAT_TARGET_PAIRS = \
@@ -1983,6 +2001,8 @@ ifeq ($(strip $(filter-out %ia64 linux%,$(arch) $(osys))),)
a-exetim.ads<a-exetim-default.ads \
a-intnam.ads<a-intnam-linux.ads \
a-numaux.ads<a-numaux-libc-x86.ads \
+ a-synbar.adb<a-synbar-posix.adb \
+ a-synbar.ads<a-synbar-posix.ads \
s-inmaop.adb<s-inmaop-posix.adb \
s-intman.adb<s-intman-posix.adb \
s-linux.ads<s-linux.ads \
@@ -1996,7 +2016,8 @@ ifeq ($(strip $(filter-out %ia64 linux%,$(arch) $(osys))),)
s-taspri.ads<s-taspri-posix-noaltstack.ads \
g-sercom.adb<g-sercom-linux.adb \
system.ads<system-linux-ia64.ads \
- $(ATOMICS_TARGET_PAIRS)
+ $(ATOMICS_TARGET_PAIRS) \
+ $(ATOMICS_BUILTINS_TARGET_PAIRS)
TOOLS_TARGET_PAIRS = \
mlib-tgt-specific.adb<mlib-tgt-specific-linux.adb \
@@ -2023,7 +2044,8 @@ ifeq ($(strip $(filter-out ia64% hp hpux%,$(targ))),)
s-taspri.ads<s-taspri-posix-noaltstack.ads \
s-tpopsp.adb<s-tpopsp-posix-foreign.adb \
system.ads<system-hpux-ia64.ads \
- $(ATOMICS_TARGET_PAIRS)
+ $(ATOMICS_TARGET_PAIRS) \
+ $(ATOMICS_BUILTINS_TARGET_PAIRS)
TOOLS_TARGET_PAIRS = \
mlib-tgt-specific.adb<mlib-tgt-specific-ia64-hpux.adb
@@ -2054,7 +2076,8 @@ ifeq ($(strip $(filter-out alpha% linux%,$(arch) $(osys))),)
g-trasym.ads<g-trasym-unimplemented.ads \
g-trasym.adb<g-trasym-unimplemented.adb \
system.ads<system-linux-alpha.ads \
- $(ATOMICS_TARGET_PAIRS)
+ $(ATOMICS_TARGET_PAIRS) \
+ $(ATOMICS_BUILTINS_TARGET_PAIRS)
TOOLS_TARGET_PAIRS = \
mlib-tgt-specific.adb<mlib-tgt-specific-linux.adb \
@@ -2075,6 +2098,8 @@ ifeq ($(strip $(filter-out %x86_64 linux%,$(arch) $(osys))),)
a-intnam.ads<a-intnam-linux.ads \
a-numaux.adb<a-numaux-x86.adb \
a-numaux.ads<a-numaux-x86.ads \
+ a-synbar.adb<a-synbar-posix.adb \
+ a-synbar.ads<a-synbar-posix.ads \
s-inmaop.adb<s-inmaop-posix.adb \
s-intman.adb<s-intman-posix.adb \
s-linux.ads<s-linux.ads \
@@ -2088,7 +2113,8 @@ ifeq ($(strip $(filter-out %x86_64 linux%,$(arch) $(osys))),)
s-taspri.ads<s-taspri-posix.ads \
g-sercom.adb<g-sercom-linux.adb \
system.ads<system-linux-x86_64.ads \
- $(ATOMICS_TARGET_PAIRS)
+ $(ATOMICS_TARGET_PAIRS) \
+ $(ATOMICS_BUILTINS_TARGET_PAIRS)
TOOLS_TARGET_PAIRS = \
mlib-tgt-specific.adb<mlib-tgt-specific-linux.adb \
@@ -2145,7 +2171,8 @@ ifeq ($(strip $(filter-out darwin%,$(osys))),)
g-trasym.adb<g-trasym-unimplemented.adb \
a-numaux.ads<a-numaux-x86.ads \
a-numaux.adb<a-numaux-x86.adb \
- $(ATOMICS_TARGET_PAIRS)
+ $(ATOMICS_TARGET_PAIRS) \
+ $(ATOMICS_BUILTINS_TARGET_PAIRS)
ifeq ($(strip $(MULTISUBDIR)),/i386)
LIBGNAT_TARGET_PAIRS += \
system.ads<system-darwin-x86.ads