summaryrefslogtreecommitdiffstats
path: root/usr.sbin/kldxref
diff options
context:
space:
mode:
authoriedowse <iedowse@FreeBSD.org>2004-08-27 08:54:40 +0000
committeriedowse <iedowse@FreeBSD.org>2004-08-27 08:54:40 +0000
commitd29d728a271525230e0ee6d1c23e1adf35e1b8eb (patch)
tree04097dc4362d3a3c89fe5fa0b874f2409226e9ea /usr.sbin/kldxref
parenteb191f46ff747959be6d509de822680c7012f833 (diff)
downloadFreeBSD-src-d29d728a271525230e0ee6d1c23e1adf35e1b8eb.zip
FreeBSD-src-d29d728a271525230e0ee6d1c23e1adf35e1b8eb.tar.gz
Use a temporary void * variable to work around a strict aliasing
warning that gcc generates at -O2 and higher.
Diffstat (limited to 'usr.sbin/kldxref')
-rw-r--r--usr.sbin/kldxref/ef_obj.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/usr.sbin/kldxref/ef_obj.c b/usr.sbin/kldxref/ef_obj.c
index 0406f6a..884a1b3 100644
--- a/usr.sbin/kldxref/ef_obj.c
+++ b/usr.sbin/kldxref/ef_obj.c
@@ -331,6 +331,7 @@ ef_obj_open(const char *filename, struct elf_file *efile, int verbose)
Elf_Shdr *shdr;
Elf_Sym *es;
char *mapbase;
+ void *vtmp;
size_t mapsize;
int alignmask, error, fd, pb, ra, res, rl;
int i, j, nbytes, nsym, shstrindex, symstrindex, symtabindex;
@@ -374,11 +375,11 @@ ef_obj_open(const char *filename, struct elf_file *efile, int verbose)
hdr->e_shentsize != sizeof(Elf_Shdr))
goto out;
- if (ef_obj_read_entry(ef, hdr->e_shoff, nbytes, (void**)&shdr) != 0) {
+ if (ef_obj_read_entry(ef, hdr->e_shoff, nbytes, &vtmp) != 0) {
printf("ef_read_entry failed\n");
goto out;
}
- ef->e_shdr = shdr;
+ ef->e_shdr = shdr = vtmp;
/* Scan the section header for information and table sizing. */
nsym = 0;
OpenPOWER on IntegriCloud