From fc579192b43d249de3661894c154342a6c7ebad2 Mon Sep 17 00:00:00 2001 From: Nick Clifton Date: Thu, 28 May 2009 11:30:49 +0000 Subject: [PATCH] 2009-05-28 Nick Clifton * targets.c (_bfd_target_vector): Only include plugin target in all-targets build if BFD_SUPPORTS_PLUGINS is non-zero. 2009-05-27 Rafael Avila de Espindola * plugin.c (program_name): Remove. (plugin_program_name): New. (bfd_plugin_set_program_name): New. (try_load_plugin): Use plugin_program_name. * plugin.h (bfd_plugin_set_program_name): New. 2009-05-27 Rafael Avila de Espindola * ar.c (main): Call bfd_plugin_set_program_name. * nm.c (main): Call bfd_plugin_set_program_name. --- bfd/ChangeLog | 15 ++++++++++++++- bfd/plugin.c | 12 +++++++++--- bfd/plugin.h | 1 + bfd/targets.c | 2 ++ binutils/ChangeLog | 13 +++++++++++++ binutils/ar.c | 3 +++ binutils/nm.c | 3 +++ 7 files changed, 45 insertions(+), 4 deletions(-) diff --git a/bfd/ChangeLog b/bfd/ChangeLog index 7ae22bb6e2d..774dc3f66ce 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,3 +1,8 @@ +2009-05-28 Nick Clifton + + * targets.c (_bfd_target_vector): Only include plugin target in + all-targets build if BFD_SUPPORTS_PLUGINS is non-zero. + 2009-05-28 Ulrich Weigand * elf32-spu.c (struct call_info): New member broken_cycle. @@ -17,7 +22,15 @@ (spu_elf_auto_overlay): Honor call counts when determining number of stubs required in software i-cache mode. -2009-05-26 Rafael Avila de Espindola +2009-05-27 Rafael Avila de Espindola + + * plugin.c (program_name): Remove. + (plugin_program_name): New. + (bfd_plugin_set_program_name): New. + (try_load_plugin): Use plugin_program_name. + * plugin.h (bfd_plugin_set_program_name): New. + +2009-05-27 Rafael Avila de Espindola * aclocal.m4: Include ../config/plugins.m4. * configure.in: Use AC_PLUGINS. diff --git a/bfd/plugin.c b/bfd/plugin.c index 49395e8cb7c..ca47ab620f2 100644 --- a/bfd/plugin.c +++ b/bfd/plugin.c @@ -106,7 +106,13 @@ add_symbols (void * handle, return LDPS_OK; } -extern char *program_name __attribute__ ((weak)); +static const char *plugin_program_name; + +void +bfd_plugin_set_program_name (const char *program_name) +{ + plugin_program_name = program_name; +} static int try_load_plugin (const char *pname) @@ -180,11 +186,11 @@ load_plugin (void) if (plugin_name) return try_load_plugin (plugin_name); - if (!program_name) + if (plugin_program_name == NULL) return 0; plugin_dir = concat (BINDIR, "/../lib/bfd-plugins", NULL); - p = make_relative_prefix (program_name, + p = make_relative_prefix (plugin_program_name, BINDIR, plugin_dir); free (plugin_dir); diff --git a/bfd/plugin.h b/bfd/plugin.h index 2fae2de9cec..3091f9705a1 100644 --- a/bfd/plugin.h +++ b/bfd/plugin.h @@ -23,6 +23,7 @@ #include "bfd.h" +void bfd_plugin_set_program_name (const char *); void bfd_plugin_set_plugin (const char *); typedef struct plugin_data_struct diff --git a/bfd/targets.c b/bfd/targets.c index 6ec6a6cb6d7..49aa5f1b013 100644 --- a/bfd/targets.c +++ b/bfd/targets.c @@ -1145,7 +1145,9 @@ static const bfd_target * const _bfd_target_vector[] = &pdp11_aout_vec, &pef_vec, &pef_xlib_vec, +#if BFD_SUPPORTS_PLUGINS &plugin_vec, +#endif #if 0 /* This has the same magic number as RS/6000. */ &pmac_xcoff_vec, diff --git a/binutils/ChangeLog b/binutils/ChangeLog index cf3eaecece9..4acdbf937b6 100644 --- a/binutils/ChangeLog +++ b/binutils/ChangeLog @@ -3,6 +3,19 @@ * readelf.c (display_debug_section): Do not display debug sections with the NOBITS section type. +2009-05-27 Rafael Avila de Espindola + + * aclocal.m4: Include ../config/plugins.m4. + * configure.in: Use AC_PLUGINS. + * configure: Regenerate. + * Makefile.in: Regenerate. + * doc/Makefile.in: Regenerate. + +2009-05-27 Rafael Avila de Espindola + + * ar.c (main): Call bfd_plugin_set_program_name. + * nm.c (main): Call bfd_plugin_set_program_name. + 2009-05-27 Nathan Sidwell * sysdump.c (tab): Use puts rather than two printfs. diff --git a/binutils/ar.c b/binutils/ar.c index d28419f4f1c..318cfe0cc38 100644 --- a/binutils/ar.c +++ b/binutils/ar.c @@ -392,6 +392,9 @@ main (int argc, char **argv) program_name = argv[0]; xmalloc_set_program_name (program_name); +#if BFD_SUPPORTS_PLUGINS + bfd_plugin_set_program_name (program_name); +#endif expandargv (&argc, &argv); diff --git a/binutils/nm.c b/binutils/nm.c index b03d1b6aad4..51f67d14313 100644 --- a/binutils/nm.c +++ b/binutils/nm.c @@ -1515,6 +1515,9 @@ main (int argc, char **argv) program_name = *argv; xmalloc_set_program_name (program_name); +#if BFD_SUPPORTS_PLUGINS + bfd_plugin_set_program_name (program_name); +#endif START_PROGRESS (program_name, 0); -- 2.30.2