| OLD | NEW |
| 1 /* Plugin support for BFD. | 1 /* Plugin support for BFD. |
| 2 Copyright 2009 | 2 Copyright 2009 |
| 3 Free Software Foundation, Inc. | 3 Free Software Foundation, Inc. |
| 4 | 4 |
| 5 This file is part of BFD, the Binary File Descriptor library. | 5 This file is part of BFD, the Binary File Descriptor library. |
| 6 | 6 |
| 7 This program is free software; you can redistribute it and/or modify | 7 This program is free software; you can redistribute it and/or modify |
| 8 it under the terms of the GNU General Public License as published by | 8 it under the terms of the GNU General Public License as published by |
| 9 the Free Software Foundation; either version 3 of the License, or | 9 the Free Software Foundation; either version 3 of the License, or |
| 10 (at your option) any later version. | 10 (at your option) any later version. |
| 11 | 11 |
| 12 This program is distributed in the hope that it will be useful, | 12 This program is distributed in the hope that it will be useful, |
| 13 but WITHOUT ANY WARRANTY; without even the implied warranty of | 13 but WITHOUT ANY WARRANTY; without even the implied warranty of |
| 14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | 14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
| 15 GNU General Public License for more details. | 15 GNU General Public License for more details. |
| 16 | 16 |
| 17 You should have received a copy of the GNU General Public License | 17 You should have received a copy of the GNU General Public License |
| 18 along with this program; if not, write to the Free Software | 18 along with this program; if not, write to the Free Software |
| 19 Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, | 19 Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, |
| 20 MA 02110-1301, USA. */ | 20 MA 02110-1301, USA. */ |
| 21 | 21 |
| 22 #include "config.h" | 22 #include "config.h" |
| 23 #include "bfd.h" | 23 #include "bfd.h" |
| 24 | 24 |
| 25 #if BFD_SUPPORTS_PLUGINS | 25 #if BFD_SUPPORTS_PLUGINS |
| 26 | 26 |
| 27 #include <assert.h> | 27 #include <assert.h> |
| 28 #include <dlfcn.h> | 28 #include "../dlwrap.h" // @LOCALMOD |
| 29 #include <stdarg.h> | 29 #include <stdarg.h> |
| 30 #include "plugin-api.h" | 30 #include "plugin-api.h" |
| 31 #include "sysdep.h" | 31 #include "sysdep.h" |
| 32 #include "plugin.h" | 32 #include "plugin.h" |
| 33 #include "libbfd.h" | 33 #include "libbfd.h" |
| 34 #include "libiberty.h" | 34 #include "libiberty.h" |
| 35 #include <dirent.h> | 35 #include <dirent.h> |
| 36 | 36 |
| 37 #define bfd_plugin_close_and_cleanup _bfd_generic_close_and_cle
anup | 37 #define bfd_plugin_close_and_cleanup _bfd_generic_close_and_cle
anup |
| 38 #define bfd_plugin_bfd_free_cached_info _bfd_generic_bfd_free_cach
ed_info | 38 #define bfd_plugin_bfd_free_cached_info _bfd_generic_bfd_free_cach
ed_info |
| (...skipping 143 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 182 | 182 |
| 183 static int | 183 static int |
| 184 load_plugin (void) | 184 load_plugin (void) |
| 185 { | 185 { |
| 186 char *plugin_dir; | 186 char *plugin_dir; |
| 187 char *p; | 187 char *p; |
| 188 DIR *d; | 188 DIR *d; |
| 189 struct dirent *ent; | 189 struct dirent *ent; |
| 190 int found = 0; | 190 int found = 0; |
| 191 | 191 |
| 192 // @LOCALMOD-BEGIN |
| 193 return try_load_plugin("LLVMgold"); |
| 194 // @LOCALMOD-END |
| 195 |
| 192 if (plugin_name) | 196 if (plugin_name) |
| 193 return try_load_plugin (plugin_name); | 197 return try_load_plugin (plugin_name); |
| 194 | 198 |
| 195 if (plugin_program_name == NULL) | 199 if (plugin_program_name == NULL) |
| 196 return 0; | 200 return 0; |
| 197 | 201 |
| 198 plugin_dir = concat (BINDIR, "/../lib/bfd-plugins", NULL); | 202 plugin_dir = concat (BINDIR, "/../lib/bfd-plugins", NULL); |
| 199 p = make_relative_prefix (plugin_program_name, | 203 p = make_relative_prefix (plugin_program_name, |
| 200 BINDIR, | 204 BINDIR, |
| 201 plugin_dir); | 205 plugin_dir); |
| (...skipping 311 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 513 BFD_JUMP_TABLE_RELOCS (_bfd_norelocs), | 517 BFD_JUMP_TABLE_RELOCS (_bfd_norelocs), |
| 514 BFD_JUMP_TABLE_WRITE (bfd_plugin), | 518 BFD_JUMP_TABLE_WRITE (bfd_plugin), |
| 515 BFD_JUMP_TABLE_LINK (bfd_plugin), | 519 BFD_JUMP_TABLE_LINK (bfd_plugin), |
| 516 BFD_JUMP_TABLE_DYNAMIC (_bfd_nodynamic), | 520 BFD_JUMP_TABLE_DYNAMIC (_bfd_nodynamic), |
| 517 | 521 |
| 518 NULL, | 522 NULL, |
| 519 | 523 |
| 520 NULL /* backend_data. */ | 524 NULL /* backend_data. */ |
| 521 }; | 525 }; |
| 522 #endif /* BFD_SUPPORTS_PLUGIN */ | 526 #endif /* BFD_SUPPORTS_PLUGIN */ |
| OLD | NEW |