MA 02110-1301, USA. */
#include "config.h"
+#include "bfd.h"
+
+#if BFD_SUPPORTS_PLUGINS
+
#include <assert.h>
#include <dlfcn.h>
#include <stdarg.h>
while ((ent = readdir (d)))
{
char *full_name;
- if (ent->d_type != DT_REG && ent->d_type != DT_LNK)
- continue;
+ struct stat s;
full_name = concat (p, "/", ent->d_name, NULL);
- found = try_load_plugin (full_name);
+ if (stat(full_name, &s) == 0 && S_ISREG (s.st_mode))
+ found = try_load_plugin (full_name);
free (full_name);
if (found)
break;
static asymbol *
bfd_plugin_make_empty_symbol (bfd *abfd)
{
- asymbol *new = bfd_zalloc (abfd, sizeof (asymbol));
- if (new == NULL)
- return new;
- new->the_bfd = abfd;
- return new;
+ asymbol *new_symbol = bfd_zalloc (abfd, sizeof (asymbol));
+ if (new_symbol == NULL)
+ return new_symbol;
+ new_symbol->the_bfd = abfd;
+ return new_symbol;
}
static int
NULL /* backend_data. */
};
+#endif /* BFD_SUPPORTS_PLUGIN */