* PATCH: Report plugin symbol status
@ 2011-03-02 19:56 H.J. Lu
2011-03-03 0:46 ` Dave Korn
0 siblings, 1 reply; 8+ messages in thread
From: H.J. Lu @ 2011-03-02 19:56 UTC (permalink / raw)
To: binutils
Hi,
This patch reports plugin symbol status for --verbose. It can
be used to debug LTO plugin symbol issues. OK for trunk?
Thanks.
H.J.
---
diff --git a/ld/ChangeLog.lto-mixed b/ld/ChangeLog.lto-mixed
index cbc0733..01c1791 100644
--- a/ld/ChangeLog.lto-mixed
+++ b/ld/ChangeLog.lto-mixed
@@ -1,3 +1,14 @@
+2011-03-02 H.J. Lu <hongjiu.lu@intel.com>
+
+ * lexsup.c (parse_args): Set report_plugin_symbols to TRUE
+ for --verbose.
+
+ * plugin.c (report_plugin_symbols): New.
+ (get_symbols): Report plugin symbols if report_plugin_symbols
+ is TRUE.
+
+ * plugin.h (report_plugin_symbols): New.
+
2011-02-01 H.J. Lu <hongjiu.lu@intel.com>
PR ld/12439
diff --git a/ld/lexsup.c b/ld/lexsup.c
index 4baef3c..176b39e 100644
--- a/ld/lexsup.c
+++ b/ld/lexsup.c
@@ -1336,6 +1336,7 @@ parse_args (unsigned argc, char **argv)
ldversion (1);
version_printed = TRUE;
trace_file_tries = TRUE;
+ report_plugin_symbols = TRUE;
overflow_cutoff_limit = -2;
break;
case 'v':
diff --git a/ld/plugin.c b/ld/plugin.c
index 40acbdb..ab9c339 100644
--- a/ld/plugin.c
+++ b/ld/plugin.c
@@ -36,6 +36,9 @@
#include <Windows.h>
#endif
+/* Trace plugin symbols. */
+bfd_boolean report_plugin_symbols;
+
/* Stores a single argument passed to a plugin. */
typedef struct plugin_arg
{
@@ -460,7 +463,7 @@ get_symbols (const void *handle, int nsyms, struct ld_plugin_symbol *syms)
if (!blhe)
{
syms[n].resolution = LDPR_UNKNOWN;
- continue;
+ goto report_symbol;
}
/* Determine resolution from blhe type and symbol's original type. */
@@ -468,7 +471,7 @@ get_symbols (const void *handle, int nsyms, struct ld_plugin_symbol *syms)
|| blhe->type == bfd_link_hash_undefweak)
{
syms[n].resolution = LDPR_UNDEF;
- continue;
+ goto report_symbol;
}
if (blhe->type != bfd_link_hash_defined
&& blhe->type != bfd_link_hash_defweak
@@ -513,7 +516,7 @@ get_symbols (const void *handle, int nsyms, struct ld_plugin_symbol *syms)
syms[n].resolution = LDPR_RESOLVED_DYN;
else
syms[n].resolution = LDPR_RESOLVED_EXEC;
- continue;
+ goto report_symbol;
}
/* Was originally def, or weakdef. Does it prevail? If the
@@ -526,13 +529,18 @@ get_symbols (const void *handle, int nsyms, struct ld_plugin_symbol *syms)
syms[n].resolution = (ironly
? LDPR_PREVAILING_DEF_IRONLY
: LDPR_PREVAILING_DEF);
- continue;
+ goto report_symbol;
}
/* Was originally def, weakdef, or common, but has been pre-empted. */
syms[n].resolution = (is_ir_dummy_bfd (owner_sec->owner)
? LDPR_PREEMPTED_IR
: LDPR_PREEMPTED_REG);
+
+report_symbol:
+ if (report_plugin_symbols)
+ einfo ("%P: %B: symbol `%s' definition: %d, resolution: %d\n",
+ abfd, syms[n].name, syms[n].def, syms[n].resolution);
}
return LDPS_OK;
}
diff --git a/ld/plugin.h b/ld/plugin.h
index 5b340be..5f11cf2 100644
--- a/ld/plugin.h
+++ b/ld/plugin.h
@@ -21,6 +21,8 @@
#ifndef GLD_PLUGIN_H
#define GLD_PLUGIN_H
+/* Trace plugin symbols. */
+extern bfd_boolean report_plugin_symbols;
/* This is the only forward declaration we need to avoid having
to include the plugin-api.h header in order to use this file. */
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: PATCH: Report plugin symbol status
2011-03-02 19:56 PATCH: Report plugin symbol status H.J. Lu
@ 2011-03-03 0:46 ` Dave Korn
2011-03-03 3:40 ` H.J. Lu
0 siblings, 1 reply; 8+ messages in thread
From: Dave Korn @ 2011-03-03 0:46 UTC (permalink / raw)
To: H.J. Lu; +Cc: binutils
On 02/03/2011 19:55, H.J. Lu wrote:
> Hi,
>
> This patch reports plugin symbol status for --verbose. It can
> be used to debug LTO plugin symbol issues. OK for trunk?
What sort of size inflation in the logfiles of a real-world link is this
likely to cause? I would expect it to be a significant inflation, in which
case maybe a separate option would be more convenient than changing the
existing --verbose behaviour.
cheers,
DaveK
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: PATCH: Report plugin symbol status
2011-03-03 0:46 ` Dave Korn
@ 2011-03-03 3:40 ` H.J. Lu
2011-03-04 0:16 ` Dave Korn
2011-03-04 3:51 ` Alan Modra
0 siblings, 2 replies; 8+ messages in thread
From: H.J. Lu @ 2011-03-03 3:40 UTC (permalink / raw)
To: Dave Korn; +Cc: binutils
On Wed, Mar 2, 2011 at 4:45 PM, Dave Korn <dave.korn.cygwin@gmail.com> wrote:
> On 02/03/2011 19:55, H.J. Lu wrote:
>> Hi,
>>
>> This patch reports plugin symbol status for --verbose. It can
>> be used to debug LTO plugin symbol issues. OK for trunk?
>
> What sort of size inflation in the logfiles of a real-world link is this
> likely to cause? I would expect it to be a significant inflation, in which
> case maybe a separate option would be more convenient than changing the
> existing --verbose behaviour.
>
I can add a new switch.
--
H.J.
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: PATCH: Report plugin symbol status
2011-03-03 3:40 ` H.J. Lu
@ 2011-03-04 0:16 ` Dave Korn
2011-03-04 3:51 ` Alan Modra
1 sibling, 0 replies; 8+ messages in thread
From: Dave Korn @ 2011-03-04 0:16 UTC (permalink / raw)
To: H.J. Lu; +Cc: binutils
On 03/03/2011 03:39, H.J. Lu wrote:
> On Wed, Mar 2, 2011 at 4:45 PM, Dave Korn <dave.korn.cygwin@gmail.com> wrote:
>> On 02/03/2011 19:55, H.J. Lu wrote:
>>> Hi,
>>>
>>> This patch reports plugin symbol status for --verbose. It can
>>> be used to debug LTO plugin symbol issues. OK for trunk?
>> What sort of size inflation in the logfiles of a real-world link is this
>> likely to cause? I would expect it to be a significant inflation, in which
>> case maybe a separate option would be more convenient than changing the
>> existing --verbose behaviour.
>>
>
> I can add a new switch.
Thank you HJ, I think it would be good. At the moment it's very common to
use --verbose to debug problems with -L options in makefiles, and I think that
could become a good deal more difficult for end-users if there is also a huge
amount of one-entry-per-symbol-in-the-whole-project debug info coming.
cheers,
DaveK
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: PATCH: Report plugin symbol status
2011-03-03 3:40 ` H.J. Lu
2011-03-04 0:16 ` Dave Korn
@ 2011-03-04 3:51 ` Alan Modra
2011-03-04 20:46 ` H.J. Lu
1 sibling, 1 reply; 8+ messages in thread
From: Alan Modra @ 2011-03-04 3:51 UTC (permalink / raw)
To: H.J. Lu; +Cc: Dave Korn, binutils
On Wed, Mar 02, 2011 at 07:39:34PM -0800, H.J. Lu wrote:
> On Wed, Mar 2, 2011 at 4:45 PM, Dave Korn <dave.korn.cygwin@gmail.com> wrote:
> > On 02/03/2011 19:55, H.J. Lu wrote:
> >> Hi,
> >>
> >> This patch reports plugin symbol status for --verbose. Â It can
> >> be used to debug LTO plugin symbol issues. Â OK for trunk?
> >
> > Â What sort of size inflation in the logfiles of a real-world link is this
> > likely to cause? Â I would expect it to be a significant inflation, in which
> > case maybe a separate option would be more convenient than changing the
> > existing --verbose behaviour.
> >
>
> I can add a new switch.
Or give --verbose an optional arg, so you get the sym dump with
--verbose=2.
--
Alan Modra
Australia Development Lab, IBM
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: PATCH: Report plugin symbol status
2011-03-04 3:51 ` Alan Modra
@ 2011-03-04 20:46 ` H.J. Lu
2011-03-04 22:26 ` Alan Modra
0 siblings, 1 reply; 8+ messages in thread
From: H.J. Lu @ 2011-03-04 20:46 UTC (permalink / raw)
To: Dave Korn, binutils; +Cc: Alan Modra
[-- Attachment #1: Type: text/plain, Size: 1226 bytes --]
On Thu, Mar 3, 2011 at 7:51 PM, Alan Modra <amodra@gmail.com> wrote:
> On Wed, Mar 02, 2011 at 07:39:34PM -0800, H.J. Lu wrote:
>> On Wed, Mar 2, 2011 at 4:45 PM, Dave Korn <dave.korn.cygwin@gmail.com> wrote:
>> > On 02/03/2011 19:55, H.J. Lu wrote:
>> >> Hi,
>> >>
>> >> This patch reports plugin symbol status for --verbose. It can
>> >> be used to debug LTO plugin symbol issues. OK for trunk?
>> >
>> > What sort of size inflation in the logfiles of a real-world link is this
>> > likely to cause? I would expect it to be a significant inflation, in which
>> > case maybe a separate option would be more convenient than changing the
>> > existing --verbose behaviour.
>> >
>>
>> I can add a new switch.
>
> Or give --verbose an optional arg, so you get the sym dump with
> --verbose=2.
>
Is this OK for trunk?
Thanks.
--
H.J
---
.2011-03-04 H.J. Lu <hongjiu.lu@intel.com>
* ld.texinfo: Document --verbose[=NUMBER].
* lexsup.c (ld_options): Update --verbose.
(parse_args): Set report_plugin_symbols.
* plugin.c (report_plugin_symbols): New.
(get_symbols): Report plugin symbols if report_plugin_symbols
is TRUE.
* plugin.h (report_plugin_symbols): New.
---
[-- Attachment #2: ld-plugin-verbose-1.pactch --]
[-- Type: application/octet-stream, Size: 4317 bytes --]
diff --git a/ld/ld.texinfo b/ld/ld.texinfo
index 9957d03..ed79923 100644
--- a/ld/ld.texinfo
+++ b/ld/ld.texinfo
@@ -1851,13 +1851,14 @@ Normally the linker will generate an error message for each reported
unresolved symbol but the option @option{--warn-unresolved-symbols}
can change this to a warning.
-@kindex --verbose
-@cindex verbose
+@kindex --verbose[=@var{NUMBER}]
+@cindex verbose[=@var{NUMBER}]
@item --dll-verbose
-@itemx --verbose
+@itemx --verbose[=@var{NUMBER}]
Display the version number for @command{ld} and list the linker emulations
supported. Display which input files can and cannot be opened. Display
-the linker script being used by the linker.
+the linker script being used by the linker. If the optional @var{NUMBER}
+argument > 1, plugin symbol status will also be displayed.
@kindex --version-script=@var{version-scriptfile}
@cindex version script, symbol versions
diff --git a/ld/lexsup.c b/ld/lexsup.c
index 4baef3c..8050098 100644
--- a/ld/lexsup.c
+++ b/ld/lexsup.c
@@ -560,8 +560,9 @@ static const struct ld_option ld_options[] =
" ignore-all, report-all, ignore-in-object-files,\n"
" ignore-in-shared-libs"),
TWO_DASHES },
- { {"verbose", no_argument, NULL, OPTION_VERBOSE},
- '\0', NULL, N_("Output lots of information during link"), TWO_DASHES },
+ { {"verbose", optional_argument, NULL, OPTION_VERBOSE},
+ '\0', N_("[=NUMBER]"),
+ N_("Output lots of information during link"), TWO_DASHES },
{ {"dll-verbose", no_argument, NULL, OPTION_VERBOSE}, /* Linux. */
'\0', NULL, NULL, NO_HELP },
{ {"version-script", required_argument, NULL, OPTION_VERSION_SCRIPT },
@@ -1337,6 +1338,13 @@ parse_args (unsigned argc, char **argv)
version_printed = TRUE;
trace_file_tries = TRUE;
overflow_cutoff_limit = -2;
+ if (optarg != NULL)
+ {
+ char *end;
+ report_plugin_symbols = strtoul (optarg, &end, 0);
+ if (*end)
+ einfo (_("%P%F: invalid number `%s'\n"), optarg);
+ }
break;
case 'v':
ldversion (0);
diff --git a/ld/plugin.c b/ld/plugin.c
index 40acbdb..2d915ff 100644
--- a/ld/plugin.c
+++ b/ld/plugin.c
@@ -36,6 +36,9 @@
#include <Windows.h>
#endif
+/* Report plugin symbols. */
+int report_plugin_symbols;
+
/* Stores a single argument passed to a plugin. */
typedef struct plugin_arg
{
@@ -460,7 +463,7 @@ get_symbols (const void *handle, int nsyms, struct ld_plugin_symbol *syms)
if (!blhe)
{
syms[n].resolution = LDPR_UNKNOWN;
- continue;
+ goto report_symbol;
}
/* Determine resolution from blhe type and symbol's original type. */
@@ -468,7 +471,7 @@ get_symbols (const void *handle, int nsyms, struct ld_plugin_symbol *syms)
|| blhe->type == bfd_link_hash_undefweak)
{
syms[n].resolution = LDPR_UNDEF;
- continue;
+ goto report_symbol;
}
if (blhe->type != bfd_link_hash_defined
&& blhe->type != bfd_link_hash_defweak
@@ -513,7 +516,7 @@ get_symbols (const void *handle, int nsyms, struct ld_plugin_symbol *syms)
syms[n].resolution = LDPR_RESOLVED_DYN;
else
syms[n].resolution = LDPR_RESOLVED_EXEC;
- continue;
+ goto report_symbol;
}
/* Was originally def, or weakdef. Does it prevail? If the
@@ -526,13 +529,18 @@ get_symbols (const void *handle, int nsyms, struct ld_plugin_symbol *syms)
syms[n].resolution = (ironly
? LDPR_PREVAILING_DEF_IRONLY
: LDPR_PREVAILING_DEF);
- continue;
+ goto report_symbol;
}
/* Was originally def, weakdef, or common, but has been pre-empted. */
syms[n].resolution = (is_ir_dummy_bfd (owner_sec->owner)
? LDPR_PREEMPTED_IR
: LDPR_PREEMPTED_REG);
+
+report_symbol:
+ if (report_plugin_symbols > 1)
+ einfo ("%P: %B: symbol `%s' definition: %d, resolution: %d\n",
+ abfd, syms[n].name, syms[n].def, syms[n].resolution);
}
return LDPS_OK;
}
diff --git a/ld/plugin.h b/ld/plugin.h
index 5b340be..ebb8773 100644
--- a/ld/plugin.h
+++ b/ld/plugin.h
@@ -21,6 +21,8 @@
#ifndef GLD_PLUGIN_H
#define GLD_PLUGIN_H
+/* Report plugin symbols. */
+extern int report_plugin_symbols;
/* This is the only forward declaration we need to avoid having
to include the plugin-api.h header in order to use this file. */
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: PATCH: Report plugin symbol status
2011-03-04 20:46 ` H.J. Lu
@ 2011-03-04 22:26 ` Alan Modra
2011-03-04 23:45 ` H.J. Lu
0 siblings, 1 reply; 8+ messages in thread
From: Alan Modra @ 2011-03-04 22:26 UTC (permalink / raw)
To: H.J. Lu; +Cc: Dave Korn, binutils
On Fri, Mar 04, 2011 at 12:46:11PM -0800, H.J. Lu wrote:
> * ld.texinfo: Document --verbose[=NUMBER].
>
> * lexsup.c (ld_options): Update --verbose.
> (parse_args): Set report_plugin_symbols.
>
> * plugin.c (report_plugin_symbols): New.
> (get_symbols): Report plugin symbols if report_plugin_symbols
> is TRUE.
>
> * plugin.h (report_plugin_symbols): New.
OK, except
@@ -1337,6 +1338,13 @@ parse_args (unsigned argc, char **argv)
version_printed = TRUE;
trace_file_tries = TRUE;
overflow_cutoff_limit = -2;
+ if (optarg != NULL)
+ {
+ char *end;
+ report_plugin_symbols = strtoul (optarg, &end, 0);
+ if (*end)
+ einfo (_("%P%F: invalid number `%s'\n"), optarg);
+ }
break;
case 'v':
ldversion (0);
I think it would be cleaner to make report_plugin_symbols a boolean
here, rather than leaving it as the --verbose arg and testing for
greater than one later. Alternatively, rename the variable
"verbose_arg" or somesuch. Either way is fine.
+report_symbol:
+ if (report_plugin_symbols > 1)
+ einfo ("%P: %B: symbol `%s' definition: %d, resolution: %d\n",
+ abfd, syms[n].name, syms[n].def, syms[n].resolution);
--
Alan Modra
Australia Development Lab, IBM
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: PATCH: Report plugin symbol status
2011-03-04 22:26 ` Alan Modra
@ 2011-03-04 23:45 ` H.J. Lu
0 siblings, 0 replies; 8+ messages in thread
From: H.J. Lu @ 2011-03-04 23:45 UTC (permalink / raw)
To: Dave Korn, binutils; +Cc: Alan Modra
On Fri, Mar 4, 2011 at 2:26 PM, Alan Modra <amodra@gmail.com> wrote:
> On Fri, Mar 04, 2011 at 12:46:11PM -0800, H.J. Lu wrote:
>> * ld.texinfo: Document --verbose[=NUMBER].
>>
>> * lexsup.c (ld_options): Update --verbose.
>> (parse_args): Set report_plugin_symbols.
>>
>> * plugin.c (report_plugin_symbols): New.
>> (get_symbols): Report plugin symbols if report_plugin_symbols
>> is TRUE.
>>
>> * plugin.h (report_plugin_symbols): New.
>
> OK, except
>
> @@ -1337,6 +1338,13 @@ parse_args (unsigned argc, char **argv)
> version_printed = TRUE;
> trace_file_tries = TRUE;
> overflow_cutoff_limit = -2;
> + if (optarg != NULL)
> + {
> + char *end;
> + report_plugin_symbols = strtoul (optarg, &end, 0);
> + if (*end)
> + einfo (_("%P%F: invalid number `%s'\n"), optarg);
> + }
> break;
> case 'v':
> ldversion (0);
>
> I think it would be cleaner to make report_plugin_symbols a boolean
> here, rather than leaving it as the --verbose arg and testing for
> greater than one later. Alternatively, rename the variable
> "verbose_arg" or somesuch. Either way is fine.
This is what I checked in.
Thanks.
--
H.J.
---
diff --git a/ld/ChangeLog b/ld/ChangeLog
index 4f5f2c8..bdf4b01 100644
--- a/ld/ChangeLog
+++ b/ld/ChangeLog
@@ -1,3 +1,16 @@
+2011-03-04 H.J. Lu <hongjiu.lu@intel.com>
+
+ * ld.texinfo: Document --verbose[=NUMBER].
+
+ * lexsup.c (ld_options): Update --verbose.
+ (parse_args): Set report_plugin_symbols.
+
+ * plugin.c (report_plugin_symbols): New.
+ (get_symbols): Report plugin symbols if report_plugin_symbols
+ is TRUE.
+
+ * plugin.h (report_plugin_symbols): New.
+
2011-03-01 H.J. Lu <hongjiu.lu@intel.com>
PR ld/12529
diff --git a/ld/ld.texinfo b/ld/ld.texinfo
index 9957d03..ed79923 100644
--- a/ld/ld.texinfo
+++ b/ld/ld.texinfo
@@ -1851,13 +1851,14 @@ Normally the linker will generate an error
message for each reported
unresolved symbol but the option @option{--warn-unresolved-symbols}
can change this to a warning.
-@kindex --verbose
-@cindex verbose
+@kindex --verbose[=@var{NUMBER}]
+@cindex verbose[=@var{NUMBER}]
@item --dll-verbose
-@itemx --verbose
+@itemx --verbose[=@var{NUMBER}]
Display the version number for @command{ld} and list the linker emulations
supported. Display which input files can and cannot be opened. Display
-the linker script being used by the linker.
+the linker script being used by the linker. If the optional @var{NUMBER}
+argument > 1, plugin symbol status will also be displayed.
@kindex --version-script=@var{version-scriptfile}
@cindex version script, symbol versions
diff --git a/ld/lexsup.c b/ld/lexsup.c
index acb63fb..8cf96eb 100644
--- a/ld/lexsup.c
+++ b/ld/lexsup.c
@@ -560,8 +560,9 @@ static const struct ld_option ld_options[] =
" ignore-all, report-all,
ignore-in-object-files,\n"
" ignore-in-shared-libs"),
TWO_DASHES },
- { {"verbose", no_argument, NULL, OPTION_VERBOSE},
- '\0', NULL, N_("Output lots of information during link"), TWO_DASHES },
+ { {"verbose", optional_argument, NULL, OPTION_VERBOSE},
+ '\0', N_("[=NUMBER]"),
+ N_("Output lots of information during link"), TWO_DASHES },
{ {"dll-verbose", no_argument, NULL, OPTION_VERBOSE}, /* Linux. */
'\0', NULL, NULL, NO_HELP },
{ {"version-script", required_argument, NULL, OPTION_VERSION_SCRIPT },
@@ -1326,6 +1327,14 @@ parse_args (unsigned argc, char **argv)
version_printed = TRUE;
trace_file_tries = TRUE;
overflow_cutoff_limit = -2;
+ if (optarg != NULL)
+ {
+ char *end;
+ int level = strtoul (optarg, &end, 0);
+ if (*end)
+ einfo (_("%P%F: invalid number `%s'\n"), optarg);
+ report_plugin_symbols = level > 1;
+ }
break;
case 'v':
ldversion (0);
diff --git a/ld/plugin.c b/ld/plugin.c
index 7ac2cb8..a68aea3 100644
--- a/ld/plugin.c
+++ b/ld/plugin.c
@@ -36,6 +36,9 @@
#include <Windows.h>
#endif
+/* Report plugin symbols. */
+bfd_boolean report_plugin_symbols;
+
/* The suffix to append to the name of the real (claimed) object file
when generating a dummy BFD to hold the IR symbols sent from the
plugin. */
@@ -463,7 +466,7 @@ get_symbols (const void *handle, int nsyms, struct
ld_plugin_symbol *syms)
if (!blhe)
{
syms[n].resolution = LDPR_UNKNOWN;
- continue;
+ goto report_symbol;
}
/* Determine resolution from blhe type and symbol's original type. */
@@ -471,7 +474,7 @@ get_symbols (const void *handle, int nsyms, struct
ld_plugin_symbol *syms)
|| blhe->type == bfd_link_hash_undefweak)
{
syms[n].resolution = LDPR_UNDEF;
- continue;
+ goto report_symbol;
}
if (blhe->type != bfd_link_hash_defined
&& blhe->type != bfd_link_hash_defweak
@@ -516,7 +519,7 @@ get_symbols (const void *handle, int nsyms, struct
ld_plugin_symbol *syms)
syms[n].resolution = LDPR_RESOLVED_DYN;
else
syms[n].resolution = LDPR_RESOLVED_EXEC;
- continue;
+ goto report_symbol;
}
/* Was originally def, or weakdef. Does it prevail? If the
@@ -529,13 +532,18 @@ get_symbols (const void *handle, int nsyms,
struct ld_plugin_symbol *syms)
syms[n].resolution = (ironly
? LDPR_PREVAILING_DEF_IRONLY
: LDPR_PREVAILING_DEF);
- continue;
+ goto report_symbol;
}
/* Was originally def, weakdef, or common, but has been pre-empted. */
- syms[n].resolution = is_ir_dummy_bfd (owner_sec->owner)
- ? LDPR_PREEMPTED_IR
- : LDPR_PREEMPTED_REG;
+ syms[n].resolution = (is_ir_dummy_bfd (owner_sec->owner)
+ ? LDPR_PREEMPTED_IR
+ : LDPR_PREEMPTED_REG);
+
+report_symbol:
+ if (report_plugin_symbols)
+ einfo ("%P: %B: symbol `%s' definition: %d, resolution: %d\n",
+ abfd, syms[n].name, syms[n].def, syms[n].resolution);
}
return LDPS_OK;
}
diff --git a/ld/plugin.h b/ld/plugin.h
index 5b340be..6ba8fa8 100644
--- a/ld/plugin.h
+++ b/ld/plugin.h
@@ -21,6 +21,8 @@
#ifndef GLD_PLUGIN_H
#define GLD_PLUGIN_H
+/* Report plugin symbols. */
+extern bfd_boolean report_plugin_symbols;
/* This is the only forward declaration we need to avoid having
to include the plugin-api.h header in order to use this file. *
^ permalink raw reply [flat|nested] 8+ messages in thread
end of thread, other threads:[~2011-03-04 23:45 UTC | newest]
Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2011-03-02 19:56 PATCH: Report plugin symbol status H.J. Lu
2011-03-03 0:46 ` Dave Korn
2011-03-03 3:40 ` H.J. Lu
2011-03-04 0:16 ` Dave Korn
2011-03-04 3:51 ` Alan Modra
2011-03-04 20:46 ` H.J. Lu
2011-03-04 22:26 ` Alan Modra
2011-03-04 23:45 ` H.J. Lu
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).