diff options
| author | Roland McGrath <[email protected]> | 2008-05-07 18:37:14 +0000 |
|---|---|---|
| committer | Roland McGrath <[email protected]> | 2008-05-07 18:37:14 +0000 |
| commit | 0fa20e84d7ac183bd3e270d825a557d879921b9c (patch) | |
| tree | 1356d752f00fab130c759919b76573d411bc8353 /libdwfl/linux-kernel-modules.c | |
| parent | 9897d66b4ec33c24719d0974b17db6fe9ea16c8e (diff) | |
libdwfl/
2008-05-06 Roland McGrath <[email protected]>
* linux-kernel-modules.c (dwfl_linux_kernel_report_offline): Use
FTS_LOGICAL here too.
(dwfl_linux_kernel_find_elf): Likewise.
Diffstat (limited to 'libdwfl/linux-kernel-modules.c')
| -rw-r--r-- | libdwfl/linux-kernel-modules.c | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/libdwfl/linux-kernel-modules.c b/libdwfl/linux-kernel-modules.c index d18657b2..2cfe6bc8 100644 --- a/libdwfl/linux-kernel-modules.c +++ b/libdwfl/linux-kernel-modules.c @@ -281,7 +281,7 @@ dwfl_linux_kernel_report_offline (Dwfl *dwfl, const char *release, return errno; } - FTS *fts = fts_open (modulesdir, FTS_NOSTAT, NULL); + FTS *fts = fts_open (modulesdir, FTS_NOSTAT | FTS_LOGICAL, NULL); if (modulesdir[0] == (char *) release) modulesdir[0] = NULL; if (fts == NULL) @@ -296,6 +296,7 @@ dwfl_linux_kernel_report_offline (Dwfl *dwfl, const char *release, switch (f->fts_info) { case FTS_F: + case FTS_SL: case FTS_NSOK: /* See if this file name matches "*.ko". */ if (f->fts_namelen > 3 @@ -345,6 +346,7 @@ dwfl_linux_kernel_report_offline (Dwfl *dwfl, const char *release, result = f->fts_errno; break; + case FTS_SLNONE: default: continue; } @@ -494,7 +496,7 @@ check_module_notes (Dwfl_Module *mod) if (asprintf (&dirs[0], MODNOTESFMT, mod->name) < 0) return ENOMEM; - FTS *fts = fts_open (dirs, FTS_NOSTAT, NULL); + FTS *fts = fts_open (dirs, FTS_NOSTAT | FTS_LOGICAL, NULL); if (fts == NULL) { free (dirs[0]); @@ -508,6 +510,7 @@ check_module_notes (Dwfl_Module *mod) switch (f->fts_info) { case FTS_F: + case FTS_SL: case FTS_NSOK: result = check_notes (mod, f->fts_accpath, 0, f->fts_name); if (result > 0) /* Nothing found. */ @@ -523,6 +526,7 @@ check_module_notes (Dwfl_Module *mod) break; case FTS_NS: + case FTS_SLNONE: default: continue; } @@ -607,7 +611,7 @@ dwfl_linux_kernel_find_elf (Dwfl_Module *mod, if (asprintf (&modulesdir[0], MODULEDIRFMT, release) < 0) return -1; - FTS *fts = fts_open (modulesdir, FTS_NOSTAT, NULL); + FTS *fts = fts_open (modulesdir, FTS_NOSTAT | FTS_LOGICAL, NULL); if (fts == NULL) { free (modulesdir[0]); @@ -657,6 +661,7 @@ dwfl_linux_kernel_find_elf (Dwfl_Module *mod, switch (f->fts_info) { case FTS_F: + case FTS_SL: case FTS_NSOK: /* See if this file name is "MODULE_NAME.ko". */ if (f->fts_namelen == namelen + 3 @@ -685,6 +690,7 @@ dwfl_linux_kernel_find_elf (Dwfl_Module *mod, error = f->fts_errno; break; + case FTS_SLNONE: default: break; } |
