[Ada] Generate ada_target_properties

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
This commit is contained in:
Jerome Guitton 2019-08-19 08:36:58 +00:00 committed by Pierre-Marie de Rodat
parent 6c87c83bb2
commit bd0feb3c61
3 changed files with 21 additions and 0 deletions

View 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

View 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.

View 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; \