summaryrefslogtreecommitdiffstats
path: root/libdwfl/link_map.c
diff options
context:
space:
mode:
authorRoland McGrath <[email protected]>2010-04-06 00:04:49 -0700
committerRoland McGrath <[email protected]>2010-04-06 00:04:49 -0700
commit5ea349b66b627ee31be93826f1357f88a7a26aff (patch)
tree237ace9a7de6d623993e2e9f65907d5b07f60449 /libdwfl/link_map.c
parentf56a9882f709637fb2af1179d20ac41c7f4badc0 (diff)
Fix auxv scanning in core-file grokking.
Diffstat (limited to 'libdwfl/link_map.c')
-rw-r--r--libdwfl/link_map.c13
1 files changed, 3 insertions, 10 deletions
diff --git a/libdwfl/link_map.c b/libdwfl/link_map.c
index ecb49905..5991a112 100644
--- a/libdwfl/link_map.c
+++ b/libdwfl/link_map.c
@@ -1,5 +1,5 @@
/* Report modules by examining dynamic linker data structures.
- Copyright (C) 2008, 2009 Red Hat, Inc.
+ Copyright (C) 2008-2010 Red Hat, Inc.
This file is part of Red Hat elfutils.
Red Hat elfutils is free software; you can redistribute it and/or modify
@@ -123,8 +123,7 @@ auxv_format_probe (const void *auxv, size_t size,
return false;
}
- size_t i;
- for (i = 0; i < size / sizeof (Elf64_auxv_t); ++i)
+ for (size_t i = 0; i < size / sizeof (Elf64_auxv_t); ++i)
{
if (check64 (i))
{
@@ -132,18 +131,12 @@ auxv_format_probe (const void *auxv, size_t size,
return true;
}
- if (check32 (i))
+ if (check32 (i * 2) || check32 (i * 2 + 1))
{
*elfclass = ELFCLASS32;
return true;
}
}
- for (; i < size / sizeof (Elf64_auxv_t); ++i)
- if (check32 (i))
- {
- *elfclass = ELFCLASS32;
- return true;
- }
return false;
}