projects
/
deliverable
/
binutils-gdb.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Use bfd_get_filename throughout ld
[deliverable/binutils-gdb.git]
/
ld
/
plugin.c
diff --git
a/ld/plugin.c
b/ld/plugin.c
index c8ad732d7c538f1b41d9501ff77c9ec78e220e56..60beacd06276c292312aede9f3c78e301ce5663f 100644
(file)
--- a/
ld/plugin.c
+++ b/
ld/plugin.c
@@
-1,5
+1,5
@@
/* Plugin control for the GNU linker.
/* Plugin control for the GNU linker.
- Copyright (C) 2010-20
19
Free Software Foundation, Inc.
+ Copyright (C) 2010-20
20
Free Software Foundation, Inc.
This file is part of the GNU Binutils.
This file is part of the GNU Binutils.
@@
-23,6
+23,7
@@
#include "bfd.h"
#include "bfdlink.h"
#include "bfdver.h"
#include "bfd.h"
#include "bfdlink.h"
#include "bfdver.h"
+#include "ctf-api.h"
#include "ld.h"
#include "ldmain.h"
#include "ldmisc.h"
#include "ld.h"
#include "ldmain.h"
#include "ldmisc.h"
@@
-174,7
+175,7
@@
static bfd_boolean plugin_notice (struct bfd_link_info *,
struct bfd_link_hash_entry *,
bfd *, asection *, bfd_vma, flagword);
struct bfd_link_hash_entry *,
bfd *, asection *, bfd_vma, flagword);
-static
const bfd_target *
plugin_object_p (bfd *);
+static
bfd_cleanup
plugin_object_p (bfd *);
#if !defined (HAVE_DLFCN_H) && defined (HAVE_WINDOWS_H)
#if !defined (HAVE_DLFCN_H) && defined (HAVE_WINDOWS_H)
@@
-335,7
+336,7
@@
plugin_get_ir_dummy_bfd (const char *name, bfd *srctemplate)
return abfd;
}
}
return abfd;
}
}
-report_error:
+
report_error:
einfo (_("%F%P: could not create dummy IR bfd: %E\n"));
return NULL;
}
einfo (_("%F%P: could not create dummy IR bfd: %E\n"));
return NULL;
}
@@
-1163,7
+1164,12
@@
plugin_strdup (bfd *abfd, const char *str)
return copy;
}
return copy;
}
-static const bfd_target *
+static void
+plugin_cleanup (bfd *abfd ATTRIBUTE_UNUSED)
+{
+}
+
+static bfd_cleanup
plugin_object_p (bfd *ibfd)
{
int claimed;
plugin_object_p (bfd *ibfd)
{
int claimed;
@@
-1178,14
+1184,14
@@
plugin_object_p (bfd *ibfd)
if (ibfd->plugin_format != bfd_plugin_unknown)
{
if (ibfd->plugin_format == bfd_plugin_yes)
if (ibfd->plugin_format != bfd_plugin_unknown)
{
if (ibfd->plugin_format == bfd_plugin_yes)
- return
ibfd->plugin_dummy_bfd->xvec
;
+ return
plugin_cleanup
;
else
return NULL;
}
/* We create a dummy BFD, initially empty, to house whatever symbols
the plugin may want to add. */
else
return NULL;
}
/* We create a dummy BFD, initially empty, to house whatever symbols
the plugin may want to add. */
- abfd = plugin_get_ir_dummy_bfd (
ibfd->filename
, ibfd);
+ abfd = plugin_get_ir_dummy_bfd (
bfd_get_filename (ibfd)
, ibfd);
input = bfd_alloc (abfd, sizeof (*input));
if (input == NULL)
input = bfd_alloc (abfd, sizeof (*input));
if (input == NULL)
@@
-1195,7
+1201,7
@@
plugin_object_p (bfd *ibfd)
if (!bfd_plugin_open_input (ibfd, &file))
return NULL;
if (!bfd_plugin_open_input (ibfd, &file))
return NULL;
- if (file.name ==
ibfd->filename
)
+ if (file.name ==
bfd_get_filename (ibfd)
)
{
/* We must copy filename attached to ibfd if it is not an archive
member since it may be freed by bfd_close below. */
{
/* We must copy filename attached to ibfd if it is not an archive
member since it may be freed by bfd_close below. */
@@
-1211,7
+1217,7
@@
plugin_object_p (bfd *ibfd)
input->use_mmap = FALSE;
input->offset = file.offset;
input->filesize = file.filesize;
input->use_mmap = FALSE;
input->offset = file.offset;
input->filesize = file.filesize;
- input->name = plugin_strdup (abfd,
ibfd->filename
);
+ input->name = plugin_strdup (abfd,
bfd_get_filename (ibfd)
);
claimed = 0;
claimed = 0;
@@
-1238,7
+1244,8
@@
plugin_object_p (bfd *ibfd)
ibfd->plugin_format = bfd_plugin_yes;
ibfd->plugin_dummy_bfd = abfd;
bfd_make_readable (abfd);
ibfd->plugin_format = bfd_plugin_yes;
ibfd->plugin_dummy_bfd = abfd;
bfd_make_readable (abfd);
- return abfd->xvec;
+ abfd->no_export = ibfd->no_export;
+ return plugin_cleanup;
}
else
{
}
else
{
This page took
0.025132 seconds
and
4
git commands to generate.