Support thin archive member for LTO.
2011-09-15 Dmitry Gorbachev <d.g.gorbachev@gmail.com> PR ld/13183 * ldmain.c (add_archive_element): Support thin archive member for LTO.
This commit is contained in:
parent
d93db82c58
commit
2b7e430865
2 changed files with 11 additions and 5 deletions
|
@ -1,3 +1,9 @@
|
|||
2011-09-15 Dmitry Gorbachev <d.g.gorbachev@gmail.com>
|
||||
|
||||
PR ld/13183
|
||||
* ldmain.c (add_archive_element): Support thin archive member
|
||||
for LTO.
|
||||
|
||||
2011-08-26 Nick Clifton <nickc@redhat.com>
|
||||
|
||||
* po/es.po: Updated Spanish translation.
|
||||
|
|
10
ld/ldmain.c
10
ld/ldmain.c
|
@ -808,12 +808,12 @@ add_archive_element (struct bfd_link_info *info,
|
|||
BFD, but we still want to output the original BFD filename. */
|
||||
orig_input = *input;
|
||||
#ifdef ENABLE_PLUGINS
|
||||
if (bfd_my_archive (abfd) != NULL
|
||||
&& plugin_active_plugins_p ()
|
||||
&& !no_more_claiming)
|
||||
if (plugin_active_plugins_p () && !no_more_claiming)
|
||||
{
|
||||
/* We must offer this archive member to the plugins to claim. */
|
||||
int fd = open (bfd_my_archive (abfd)->filename, O_RDONLY | O_BINARY);
|
||||
const char *filename = (bfd_my_archive (abfd) != NULL
|
||||
? bfd_my_archive (abfd)->filename : abfd->filename);
|
||||
int fd = open (filename, O_RDONLY | O_BINARY);
|
||||
if (fd >= 0)
|
||||
{
|
||||
struct ld_plugin_input_file file;
|
||||
|
@ -822,7 +822,7 @@ add_archive_element (struct bfd_link_info *info,
|
|||
member, not the whole file, and must exclude the header.
|
||||
Fortunately for us, that is how the data is stored in the
|
||||
origin field of the bfd and in the arelt_data. */
|
||||
file.name = bfd_my_archive (abfd)->filename;
|
||||
file.name = filename;
|
||||
file.offset = abfd->origin;
|
||||
file.filesize = arelt_size (abfd);
|
||||
file.fd = fd;
|
||||
|
|
Loading…
Reference in a new issue