[gold commit] Add --debug=plugin option to record plugin actions

Alan Modra amodra@gmail.com
Sat Mar 24 02:24:00 GMT 2018

On Fri, Mar 23, 2018 at 10:09:43AM -0700, Cary Coutant wrote:
> With --debug=plugin, gold will log all plugin actions to a log file,
> and make copies of plugin-supplied replacement files in a temporary
> directory created under the current working directory.
> -cary
>     gold/
>             * debug.h (DEBUG_PLUGIN): New constant.
>             (DEBUG_ALL): Add DEBUG_PLUGIN.
>             (debug_string_to_enum): Likewise.
>             * plugin.cc (make_sized_plugin_object): Add filename parameter.
>             (Plugin_recorder): New class.
>             (Plugin_manager::~Plugin_manager): Delete recorder_.
>             (Plugin_manager::load_plugins): Create and initialize recorder_.
>             (Plugin_manager::claim_file): Record claimed and unclaimed files.
>             (Plugin_manager::make_plugin_object): Use object name as name for
>             plugin object, if available.
>             (Plugin_manager::add_input_file): Record replacement files.
>             (Sized_pluginobj::do_add_symbols): Record plugin symbols.
>             (Plugin_finish::run): Call Plugin_recorder::finish().
>             (make_sized_plugin_object): Add filename parameter and pass to
>             Sized_pluginobj constructor.
>             * plugin.h (Plugin::filename): New method.
>             (Plugin::recorder): New method.
>             (Plugin::recorder_): New data member.

No ChangeLog committed, and
/home/alan/src/binutils-gdb/gold/plugin.cc: In function ‘bool gold::link_or_copy_file(const char*, const char*)’:
/home/alan/src/binutils-gdb/gold/plugin.cc:583:5: error: ignoring return value of ‘ssize_t write(int, const void*, size_t)’, declared with attribute warn_unused_result [-Werror=unused-result]
     static_cast<void>(::write(out, buf, len));
cc1plus: all warnings being treated as errors

Alan Modra
Australia Development Lab, IBM

More information about the Binutils mailing list