From bf7f4d2b131aad3a125f7a364251efac27b1c5dc Mon Sep 17 00:00:00 2001 From: Dave Korn Date: Thu, 25 Jun 2009 12:32:09 +0000 Subject: 2009-06-25 Rafael Avila de Espindola * plugin.c (load_plugin): Use stat and S_ISREG instead of the d_type field of struct dirent. --- bfd/ChangeLog | 5 +++++ bfd/plugin.c | 6 +++--- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/bfd/ChangeLog b/bfd/ChangeLog index f5cbe7119e4..0ac28206a7f 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,3 +1,8 @@ +2009-06-25 Rafael Avila de Espindola + + * plugin.c (load_plugin): Use stat and S_ISREG instead of the d_type + field of struct dirent. + 2009-06-23 Tristan Gingold * vms.c (vms_get_synthetic_symtab): Remove duplicate definition diff --git a/bfd/plugin.c b/bfd/plugin.c index ca47ab620f2..053fdd1bd70 100644 --- a/bfd/plugin.c +++ b/bfd/plugin.c @@ -203,11 +203,11 @@ load_plugin (void) 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; -- cgit v1.2.1