diff options
author | iedowse <iedowse@FreeBSD.org> | 2004-08-27 08:54:40 +0000 |
---|---|---|
committer | iedowse <iedowse@FreeBSD.org> | 2004-08-27 08:54:40 +0000 |
commit | d29d728a271525230e0ee6d1c23e1adf35e1b8eb (patch) | |
tree | 04097dc4362d3a3c89fe5fa0b874f2409226e9ea /usr.sbin/kldxref | |
parent | eb191f46ff747959be6d509de822680c7012f833 (diff) | |
download | FreeBSD-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.c | 5 |
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; |