+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
# 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.
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; \