* ld/emultempl/pe.em: institute the following search order for
dynamic libraries on pei386: libfoo.dll.a, foo.dll.a (import libs), libfoo.dll, foo.dll (link direct to dll). Fall back to static lib (libfoo.a) if none of the above are found.
This commit is contained in:
parent
5f577f7d70
commit
602e90d3d5
@ -1,3 +1,10 @@
|
|||||||
|
Wed Jul 05 03:18:00 2000 Charles Wilson <cwilson@ece.gatech.edu>
|
||||||
|
|
||||||
|
* ld/emultempl/pe.em: institute the following search order for
|
||||||
|
dynamic libraries on pei386: libfoo.dll.a, foo.dll.a (import
|
||||||
|
libs), libfoo.dll, foo.dll (link direct to dll). Fall back to
|
||||||
|
static lib (libfoo.a) if none of the above are found.
|
||||||
|
|
||||||
2000-07-07 Mumit Khan <khan@xraylith.wisc.edu>
|
2000-07-07 Mumit Khan <khan@xraylith.wisc.edu>
|
||||||
|
|
||||||
* ld/emultempl/pe.em (pe_enable_auto_image_base): New variable.
|
* ld/emultempl/pe.em (pe_enable_auto_image_base): New variable.
|
||||||
|
@ -1369,23 +1369,32 @@ gld_${EMULATION_NAME}_open_dynamic_archive (arch, search, entry)
|
|||||||
|
|
||||||
string = (char *) xmalloc (strlen (search->name)
|
string = (char *) xmalloc (strlen (search->name)
|
||||||
+ strlen (filename)
|
+ strlen (filename)
|
||||||
+ sizeof "/lib.dll"
|
+ sizeof "/lib.a.dll"
|
||||||
+ 1);
|
+ 1);
|
||||||
|
|
||||||
/* Try "foo.dll" first. */
|
/* Try "libfoo.dll.a" first (preferred explicit import library for dll's */
|
||||||
sprintf (string, "%s/%s.dll", search->name, filename);
|
sprintf (string, "%s/lib%s.dll.a", search->name, filename);
|
||||||
|
|
||||||
if (! ldfile_try_open_bfd (string, entry))
|
if (! ldfile_try_open_bfd (string, entry))
|
||||||
{
|
{
|
||||||
/* Try "libfoo.dll" next. */
|
/* Try "foo.dll.a" next (alternate explicit import library for dll's */
|
||||||
|
sprintf (string, "%s/%s.dll.a", search->name, filename);
|
||||||
|
if (! ldfile_try_open_bfd (string, entry))
|
||||||
|
{
|
||||||
|
/* Try "libfoo.dll" (preferred dll name) */
|
||||||
sprintf (string, "%s/lib%s.dll", search->name, filename);
|
sprintf (string, "%s/lib%s.dll", search->name, filename);
|
||||||
|
if (! ldfile_try_open_bfd (string, entry))
|
||||||
|
{
|
||||||
|
/* Finally, try "foo.dll" (alternate dll name) */
|
||||||
|
sprintf (string, "%s/%s.dll", search->name, filename);
|
||||||
if (! ldfile_try_open_bfd (string, entry))
|
if (! ldfile_try_open_bfd (string, entry))
|
||||||
{
|
{
|
||||||
free (string);
|
free (string);
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
entry->filename = string;
|
entry->filename = string;
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user