[Ada] Generate ada_target_properties
authorJerome Guitton <guitton@adacore.com>
Mon, 19 Aug 2019 08:36:58 +0000 (08:36 +0000)
committerPierre-Marie de Rodat <pmderodat@gcc.gnu.org>
Mon, 19 Aug 2019 08:36:58 +0000 (08:36 +0000)
Generate target-dependent info into a file named ada_target_properties.
This information is used by tools for static analysis: they need to know
the size of standard types for a given run-time library. This metadata
is meant to be saved at the root of the run-time directory.

2019-08-19  Jerome Guitton  <guitton@adacore.com>

gcc/ada/

* Makefile.rtl (system.o): New target to add generation of
target properties.
* gcc-interface/Makefile.in (install-gnatlib): Install
ada_target_properties.

From-SVN: r274658

gcc/ada/ChangeLog
gcc/ada/Makefile.rtl
gcc/ada/gcc-interface/Makefile.in

index 2ac5309292f8330df1f9370e42950395a8396854..1c983054fa331bbd852d3d5b0a6f7486c461558e 100644 (file)
@@ -1,3 +1,10 @@
+2019-08-19  Jerome Guitton  <guitton@adacore.com>
+
+       * Makefile.rtl (system.o): New target to add generation of
+       target properties.
+       * gcc-interface/Makefile.in (install-gnatlib): Install
+       ada_target_properties.
+
 2019-08-19  Eric Botcazou  <ebotcazou@adacore.com>
 
        * inline.adb (Add_Inlined_Body): Do not special-case instances
index d6dd1514f4abc07b30282a591b7d04dc50d21d2d..c1a422fae1ea8a825fc3b8c8daa69938262924b1 100644 (file)
@@ -2696,6 +2696,18 @@ setup-rts: force
 # propagation of exceptions cannot itself be compiled with checks that
 # may give rise to exceptions, e.g. stack overflow checks.
 
+# Generate target-dependent info into a file named ada_target_properties.
+# This information is used by tools for static analysis: they need to know
+# the size of standard types for a given run-time library. This metadata
+# is meant to be saved at the root of the run-time directory.
+
+ADA_TARGET_PROPERTIES = -gnatet=ada_target_properties
+
+system.o  : system.ads
+       $(ADAC) -c $(ALL_ADAFLAGS) $(ADA_INCLUDES) $< \
+         $(ADA_TARGET_PROPERTIES) \
+         $(OUTPUT_OPTION)
+
 # 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. We don't want inlining, either.
index e9a4874a2ed5964fa4a5996434efc3d596ce4489..d4c9d157d1cccbd4c3baf5e48e3bcd340990c49b 100644 (file)
@@ -516,6 +516,8 @@ install-gnatlib: ../stamp-gnatlib-$(RTSDIR) install-gcc-specs
        for file in $(RTSDIR)/*.ali; do \
            $(INSTALL_DATA_DATE) $$file $(DESTDIR)$(ADA_RTL_OBJ_DIR); \
        done
+       $(INSTALL_DATA_DATE) $(RTSDIR)/ada_target_properties \
+           $(DESTDIR)$(ADA_RTL_OBJ_DIR)/../
        -cd $(RTSDIR); for file in *$(arext);do \
            $(INSTALL_DATA) $$file $(DESTDIR)$(ADA_RTL_OBJ_DIR); \
            $(RANLIB_FOR_TARGET) $(DESTDIR)$(ADA_RTL_OBJ_DIR)/$$file; \