summaryrefslogtreecommitdiff
path: root/gcc/ada/Makefile.in
diff options
context:
space:
mode:
authorcharlet <charlet@138bc75d-0d04-0410-961f-82ee72b054a4>2006-10-31 18:02:00 +0000
committercharlet <charlet@138bc75d-0d04-0410-961f-82ee72b054a4>2006-10-31 18:02:00 +0000
commit6a74eb6248052dfcc88e1dc86e1a042566dbefeb (patch)
treeb4c1ccf21b4907fef1cbd3f948e8a881af32fcff /gcc/ada/Makefile.in
parent46c128368b05bb29f6f41aa9a10064a507a42f5a (diff)
downloadgcc-6a74eb6248052dfcc88e1dc86e1a042566dbefeb.tar.gz
2006-10-31 Thomas Quinot <quinot@adacore.com>
Eric Botcazou <ebotcazou@adacore.com> Arnaud Charlet <charlet@adacore.com> * Makefile.in: Set EH mechanism to ZCX for FreeBSD. (NO_REORDER_ADAFLAGS): New var defined to -fno-toplevel-reorder if possible. (a-except.o): Pass it to the compiler. (gnatlib-shared-vms): Removed -nostartfiles switch in link step. (LIBGNAT_TARGET_PAIRS for Windows): Avoid the use of the specific a-calend-mingw.adb version. * Makefile.rtl: Added s-dsaser. Add object entries for Ada.Calendar.[Arithmetic/Formatting/Time_Zones] (GNATRTL_TASKING_OBJS): Add Ada.Dispatching and Ada.Dispatching.Round_Robin. Added new unit Ada.Containers.Restricted_Bounded_Doubly_Linked_Lists * Make-lang.in: Remove all references to gt-ada-decl.h. Add concatenation (s-strops/s-sopco3/s-sopco4/s-sopco5) to compiler sources. Add dependency on ada/s-restri.o for GNAT1 and GNATBIND objects. Update dependencies. * system-freebsd-x86.ads: Make ZCX the default EH mechanism for FreeBSD git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@118285 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/ada/Makefile.in')
-rw-r--r--gcc/ada/Makefile.in23
1 files changed, 17 insertions, 6 deletions
diff --git a/gcc/ada/Makefile.in b/gcc/ada/Makefile.in
index 1328db53968..a8c5fe043af 100644
--- a/gcc/ada/Makefile.in
+++ b/gcc/ada/Makefile.in
@@ -843,6 +843,7 @@ ifeq ($(strip $(filter-out %86 freebsd%,$(arch) $(osys))),)
mlib-tgt.adb<mlib-tgt-linux.adb
GNATLIB_SHARED = gnatlib-shared-dual
+ EH_MECHANISM=-gcc
THREADSLIB= -lc_r
GMEM_LIB = gmemlib
PREFIX_OBJS = $(PREFIX_REAL_OBJS)
@@ -1197,7 +1198,6 @@ endif
ifeq ($(strip $(filter-out cygwin32% mingw32% pe,$(osys))),)
LIBGNAT_TARGET_PAIRS = \
- a-calend.adb<a-calend-mingw.adb \
a-dirval.adb<a-dirval-mingw.adb \
a-excpol.adb<a-excpol-abort.adb \
a-intnam.ads<a-intnam-mingw.ads \
@@ -1847,7 +1847,7 @@ gnatlib-shared-vms:
objdump --syms $(LIBGNAT_OBJS) $(GNATRTL_NONTASKING_OBJS) | \
$(SHLIB_SYMVEC) >> SYMVEC_$$$$.opt && \
echo "case_sensitive=NO" >> SYMVEC_$$$$.opt && \
- ../../xgcc -g -B../../ -nostartfiles -shared -shared-libgcc \
+ ../../xgcc -g -B../../ -shared -shared-libgcc \
-o libgnat$(hyphen)$(LIBRARY_VERSION)$(soext) libgnat.a \
sys\$$library:trace.exe \
--for-linker=/noinform \
@@ -1857,7 +1857,7 @@ gnatlib-shared-vms:
objdump --syms $(GNATRTL_TASKING_OBJS) | \
$(SHLIB_SYMVEC) >> SYMVEC_$$$$.opt && \
echo "case_sensitive=NO" >> SYMVEC_$$$$.opt && \
- ../../xgcc -g -B../../ -nostartfiles -shared -shared-libgcc \
+ ../../xgcc -g -B../../ -shared -shared-libgcc \
-o libgnarl$(hyphen)$(LIBRARY_VERSION)$(soext) \
libgnarl.a libgnat$(hyphen)$(LIBRARY_VERSION)$(soext) \
sys\$$library:trace.exe \
@@ -1921,8 +1921,8 @@ ADA_RTL_OBJ_DIR = $(libsubdir)/adalib
# force no sibling call optimization on s-traceb.o so the number of stack
# frames to be skipped when computing a call chain is not modified by
# optimization. However we can do that only when building the runtime
-# (not the compiler) because the -fno-optimize-sibling-calls exists
-# only in GCC 3.
+# (not the compiler) because the -fno-optimize-sibling-calls option exists
+# only in GCC 3 and above.
ifneq (,$(findstring xgcc,$(CC)))
NO_SIBLING_ADAFLAGS=-fno-optimize-sibling-calls
@@ -1942,13 +1942,24 @@ s-tasdeb.o : s-tasdeb.adb s-tasdeb.ads
$(CC) -c $(ALL_ADAFLAGS) $(FORCE_DEBUG_ADAFLAGS) -O0 $(ADA_INCLUDES) \
$< $(OUTPUT_OPTION)
+# force no function reordering on a-except.o because of the exclusion bounds
+# mechanism (see the source file for more detailed information). However we
+# can do that only when building the runtime (not the compiler) because the
+# -fno-toplevel-reorder option exists only in GCC 4.2 and above.
+
+ifneq (,$(findstring xgcc,$(CC)))
+NO_REORDER_ADAFLAGS=-fno-toplevel-reorder
+else
+NO_REORDER_ADAFLAGS=
+endif
+
# force debugging information on a-except.o so that it is always
# possible to set conditional breakpoints on exceptions.
# use -O1 otherwise gdb isn't able to get a full backtrace on mips targets.
a-except.o : a-except.adb a-except.ads
$(CC) -c $(ALL_ADAFLAGS) $(FORCE_DEBUG_ADAFLAGS) -O1 -fno-inline \
- $(ADA_INCLUDES) $< $(OUTPUT_OPTION)
+ $(NO_REORDER_ADAFLAGS) $(ADA_INCLUDES) $< $(OUTPUT_OPTION)
# force debugging information on s-assert.o so that it is always
# possible to set breakpoint on assert failures.