[Ada] Use runtime from base compiler during stage1

Pierre-Marie de Rodat derodat@adacore.com
Tue Jun 15 10:20:52 GMT 2021


When performing a bootstrap with Ada, we are currently using the runtime
files from the repository during stage1, causing some subtle
inconsistencies during stage1 of the bootstrap, sometimes hard to
workaround. This change now uses the runtime from the base compiler
during stage1 only. We still rely on a few more recent runtime services,
so we have to copy some files from libgnat to <object dir>/gcc/ada in
the process.

Tested on x86_64-pc-linux-gnu, committed on trunk

gcc/ada/

	* Make-generated.in: Add rule to copy runtime files needed
	during stage1.
	* raise.c: Remove obsolete symbols used during bootstrap.
	* gcc-interface/Make-lang.in: Do not use libgnat sources during
	stage1.
	(GNAT_ADA_OBJS, GNATBIND_OBJS): Split in two parts, the common
	part and the part only used outside of stage1.
	(ADA_GENERATED_FILES): Add runtime files needed during bootstrap
	when recent APIs are needed.
	(ada/b_gnatb.adb): Remove prerequisite.
	* gcc-interface/system.ads: Remove obsolete entries.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: patch.diff
Type: text/x-diff
Size: 19378 bytes
Desc: not available
URL: <https://gcc.gnu.org/pipermail/gcc-patches/attachments/20210615/6bd022b9/attachment.bin>


More information about the Gcc-patches mailing list