This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Ada] fix in SALs and ALI files copy


Tested on i686-linux, committed on trunk

When a Stand-Alone Library is rebuilt, the ALI files could not be copied
again, because the copies were read only. This patch ensures that they
can be copied again.
The test for this is to build a Stand-Alone Library, modify slightly one
of the interface sources and rebuild the library: there should be no
error when copying the ALI files.

When there are two many object files in a shared library, the call to
gcc to link the library may fail. This patch ensures that on platforms
that support response files for the linker, a response file is created
when the length of the command line is too long.
The test for this is to build a shared library project with many packages.

When a library projects has a great number of sources, creating the
archive will fail due to limitation on the number of characters used
to invoke the archive builder. This patch make sure that when it is
possible to do so, and the limit is reached, the archive is built
in chunks.
The test for this is to create a library project file with several
thousand packages and to build the library using gnatmake.

2007-06-06  Vincent Celier  <celier@adacore.com>

	* mlib.ads, mlib.adb (Build_Library): Do not use hard-coded directory
	separator, use instead the proper host directory separator.
	(Copy_ALI_Files): Make sure that an already existing ALI file in the
	ALI copy dir is writable, before doing the copy.

	* mlib-utl.ads, mlib-utl.adb: 
	(Gcc): If length of command line is too long, put the list of object
	files in a response file, if this is supported by the platform.
	(Ar): If invocation of the archive builder is allowed to be done in
	chunks and building it in one shot would go above an OS dependent
	limit on the number of characters on the command line, build the archive
	in chunks.

Attachment: difs
Description: Text document


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]