+2017-11-06 David Edelsohn <dje.gcc@gmail.com>
+
+ * collect2.c (add_lto_object): Compile for OBJECT_COFF.
+ (scan_prog_file): Don't skip PASS_LTOINFO. Scan for LTO objects.
+
2017-11-06 David Malcolm <dmalcolm@redhat.com>
PR jit/82826
Return 0 if not found, otherwise return its name, allocated with malloc. */
-#ifdef OBJECT_FORMAT_NONE
+#if defined (OBJECT_FORMAT_NONE) || defined (OBJECT_FORMAT_COFF)
/* Add an entry for the object file NAME to object file list LIST.
New entries are added at the end of the list. The original pointer
list->last = n;
}
-#endif /* OBJECT_FORMAT_NONE */
+#endif
/* Perform a link-time recompilation and relink if any of the object
LDFILE *ldptr = NULL;
int sym_index, sym_count;
int is_shared = 0;
+ int found_lto = 0;
- if (which_pass != PASS_FIRST && which_pass != PASS_OBJ)
+ if (which_pass != PASS_FIRST && which_pass != PASS_OBJ
+ && which_pass != PASS_LTOINFO)
return;
#ifdef COLLECT_EXPORT_LIST
eliminate scan_libraries() function. */
do
{
+ found_lto = 0;
#endif
/* Some platforms (e.g. OSF4) declare ldopen as taking a
non-const char * filename parameter, even though it will not
++name;
#endif
+ if (which_pass == PASS_LTOINFO)
+ {
+ if (found_lto)
+ continue;
+ if (strncmp (name, "__gnu_lto_v1", 12) == 0)
+ {
+ add_lto_object (<o_objects, prog_name);
+ found_lto = 1;
+ break;
+ }
+ continue;
+ }
+
switch (is_ctor_dtor (name))
{
#if TARGET_AIX_VERSION