- if VM_Target = CLI_Target
- and then Link_Bytes > Link_Max
- then
- Lname := new String'("l~" & Base_Name (Ali_File_Name.all) & ".il");
-
- for J in Objs_Begin .. Objs_End loop
- Copy_File (Linker_Objects.Table (J).all, Lname.all,
- Success => Closing_Status,
- Mode => Append);
- end loop;
-
- -- Add the special objects list file option together with the name
- -- of the temporary file to the objects file table.
-
- Linker_Objects.Table (Objs_Begin) :=
- new String'(Value (Object_File_Option_Ptr) & Lname.all);
-
- -- The slots containing these object file names are then removed
- -- from the objects table so they do not appear in the link. They
- -- are removed by moving up the linker options and non-Ada object
- -- files appearing after the Ada object list in the table.
-
- declare
- N : Integer;
-
- begin
- N := Objs_End - Objs_Begin + 1;
-
- for J in Objs_End + 1 .. Linker_Objects.Last loop
- Linker_Objects.Table (J - N + 1) := Linker_Objects.Table (J);
- end loop;
-
- Linker_Objects.Set_Last (Linker_Objects.Last - N + 1);
- end;
-
- elsif Object_List_File_Required