diff options
author | Roland McGrath <roland@redhat.com> | 2006-10-10 00:25:21 +0000 |
---|---|---|
committer | Roland McGrath <roland@redhat.com> | 2006-10-10 00:25:21 +0000 |
commit | c373d850ec9ca342f4c71d5e287c8d8bf0723cd6 (patch) | |
tree | c8f9ea814866cdfb30ac9506ccddbc8629ebe345 /libdwfl | |
parent | 1dee360aa30fecd20f403f98fd1cb9e543afcca7 (diff) | |
download | elfutils-c373d850ec9ca342f4c71d5e287c8d8bf0723cd6.tar.gz |
2006-10-09 Roland McGrath <roland@redhat.com>
* ia64_symbol.c (ia64_reloc_simple_type): Treat SECREL types as simple.
Diffstat (limited to 'libdwfl')
-rw-r--r-- | libdwfl/ChangeLog | 5 | ||||
-rw-r--r-- | libdwfl/derelocate.c | 4 | ||||
-rw-r--r-- | libdwfl/dwfl_module_register_names.c | 16 | ||||
-rw-r--r-- | libdwfl/libdwfl.h | 3 |
4 files changed, 19 insertions, 9 deletions
diff --git a/libdwfl/ChangeLog b/libdwfl/ChangeLog index 0e3ac136..7dea9438 100644 --- a/libdwfl/ChangeLog +++ b/libdwfl/ChangeLog @@ -1,3 +1,8 @@ +2006-09-05 Roland McGrath <roland@redhat.com> + + * derelocate.c (cache_sections): Use alloca instead of variable-sized + auto array, in function already alloca. + 2006-08-14 Roland McGrath <roland@redhat.com> * linux-kernel-modules.c (try_kernel_name): If the call to diff --git a/libdwfl/derelocate.c b/libdwfl/derelocate.c index 89a2de8b..c26be8d8 100644 --- a/libdwfl/derelocate.c +++ b/libdwfl/derelocate.c @@ -1,5 +1,5 @@ /* Recover relocatibility for addresses computed from debug information. - Copyright (C) 2005 Red Hat, Inc. + Copyright (C) 2005, 2006 Red Hat, Inc. This file is part of Red Hat elfutils. Red Hat elfutils is free software; you can redistribute it and/or modify @@ -124,7 +124,7 @@ cache_sections (Dwfl_Module *mod) return -1; } - struct secref *sortrefs[nrefs]; + struct secref **sortrefs = alloca (nrefs * sizeof sortrefs[0]); for (size_t i = nrefs; i-- > 0; refs = refs->next) sortrefs[i] = refs; assert (refs == NULL); diff --git a/libdwfl/dwfl_module_register_names.c b/libdwfl/dwfl_module_register_names.c index 9004b6b4..79a874a8 100644 --- a/libdwfl/dwfl_module_register_names.c +++ b/libdwfl/dwfl_module_register_names.c @@ -1,5 +1,5 @@ /* Enumerate DWARF register numbers and their names. - Copyright (C) 2005 Red Hat, Inc. + Copyright (C) 2005, 2006 Red Hat, Inc. This file is part of Red Hat elfutils. Red Hat elfutils is free software; you can redistribute it and/or modify @@ -54,7 +54,8 @@ int dwfl_module_register_names (mod, func, arg) Dwfl_Module *mod; int (*func) (void *, int regno, const char *setname, - const char *prefix, const char *regname); + const char *prefix, const char *regname, + int bits, int type); void *arg; { if (unlikely (mod == NULL)) @@ -70,15 +71,18 @@ dwfl_module_register_names (mod, func, arg) } } - int nregs = ebl_register_name (mod->ebl, -1, NULL, 0, NULL, NULL); + int nregs = ebl_register_info (mod->ebl, -1, NULL, 0, + NULL, NULL, NULL, NULL); int result = 0; for (int regno = 0; regno < nregs && likely (result == 0); ++regno) { char name[32]; const char *setname = NULL; const char *prefix = NULL; - ssize_t len = ebl_register_name (mod->ebl, regno, name, sizeof name, - &prefix, &setname); + int bits = -1; + int type = -1; + ssize_t len = ebl_register_info (mod->ebl, regno, name, sizeof name, + &prefix, &setname, &bits, &type); if (unlikely (len < 0)) { __libdwfl_seterrno (DWFL_E_LIBEBL); @@ -88,7 +92,7 @@ dwfl_module_register_names (mod, func, arg) if (likely (len > 0)) { assert (len > 1); /* Backend should never yield "". */ - result = (*func) (arg, regno, setname, prefix, name); + result = (*func) (arg, regno, setname, prefix, name, bits, type); } } diff --git a/libdwfl/libdwfl.h b/libdwfl/libdwfl.h index ce85a6bb..a7e8caee 100644 --- a/libdwfl/libdwfl.h +++ b/libdwfl/libdwfl.h @@ -426,7 +426,8 @@ extern int dwfl_module_register_names (Dwfl_Module *mod, int regno, const char *setname, const char *prefix, - const char *regname), + const char *regname, + int bits, int type), void *arg); |