summaryrefslogtreecommitdiff
path: root/usr.bin/nm/elfuncs.h
diff options
context:
space:
mode:
authorMark Kettenis <kettenis@cvs.openbsd.org>2006-09-30 14:34:14 +0000
committerMark Kettenis <kettenis@cvs.openbsd.org>2006-09-30 14:34:14 +0000
commit3ac1a3ab821409b5ad506be3e7708ed7b6021472 (patch)
tree3c91c8268306039a4fd37dd7eba4e06f69a6cdf6 /usr.bin/nm/elfuncs.h
parent37d9a40ffc5930c28240e0af7cddd9b670b930e9 (diff)
Some fixes for running nm on ELF binaries.
- Fix printing the symbol type of undefined symbols. - Fall back onto the dynamic symbol table if the normal symbol table is not available (i.e. if the binary has been stripped). ok mickey@
Diffstat (limited to 'usr.bin/nm/elfuncs.h')
-rw-r--r--usr.bin/nm/elfuncs.h8
1 files changed, 7 insertions, 1 deletions
diff --git a/usr.bin/nm/elfuncs.h b/usr.bin/nm/elfuncs.h
index a565bbd9228..01776e7827d 100644
--- a/usr.bin/nm/elfuncs.h
+++ b/usr.bin/nm/elfuncs.h
@@ -1,4 +1,4 @@
-/* $OpenBSD: elfuncs.h,v 1.2 2005/01/19 19:37:29 grange Exp $ */
+/* $OpenBSD: elfuncs.h,v 1.3 2006/09/30 14:34:13 kettenis Exp $ */
/*
* Copyright (c) 2004 Michael Shalayeff
@@ -35,6 +35,9 @@ int elf32_fix_shdrs(Elf32_Ehdr *eh, Elf32_Shdr *shdr);
int elf32_fix_phdrs(Elf32_Ehdr *eh, Elf32_Phdr *phdr);
int elf32_fix_sym(Elf32_Ehdr *eh, Elf32_Sym *sym);
int elf32_size(Elf32_Ehdr *, Elf32_Shdr *, u_long *, u_long *, u_long *);
+int elf32_symloadx(const char *, FILE *, off_t, Elf32_Ehdr *, Elf32_Shdr *,
+ char *, struct nlist **, struct nlist ***, size_t *, int *,
+ const char *, const char *);
int elf32_symload(const char *, FILE *, off_t, Elf32_Ehdr *, Elf32_Shdr *,
struct nlist **, struct nlist ***, size_t *, int *);
@@ -45,5 +48,8 @@ int elf64_fix_shdrs(Elf64_Ehdr *eh, Elf64_Shdr *shdr);
int elf64_fix_phdrs(Elf64_Ehdr *eh, Elf64_Phdr *phdr);
int elf64_fix_sym(Elf64_Ehdr *eh, Elf64_Sym *sym);
int elf64_size(Elf64_Ehdr *, Elf64_Shdr *, u_long *, u_long *, u_long *);
+int elf64_symloadx(const char *, FILE *, off_t, Elf64_Ehdr *, Elf64_Shdr *,
+ char *, struct nlist **, struct nlist ***, size_t *, int *,
+ const char *, const char *);
int elf64_symload(const char *, FILE *, off_t, Elf64_Ehdr *, Elf64_Shdr *,
struct nlist **, struct nlist ***, size_t *, int *);