x86/vdso, build: When vdso2c fails, unlink the output
This avoids bizarre failures if make is run again.
Signed-off-by: Andy Lutomirski <luto@amacapital.net>
Link: http://lkml.kernel.org/r/1764385fe9931e8940b9d001132515448ea89523.1401464755.git.luto@amacapital.net
Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
diff --git a/arch/x86/vdso/vdso2c.h b/arch/x86/vdso/vdso2c.h
index 3dcc61e..26a7c1f 100644
--- a/arch/x86/vdso/vdso2c.h
+++ b/arch/x86/vdso/vdso2c.h
@@ -4,7 +4,7 @@
* are built for 32-bit userspace.
*/
-static int GOFUNC(void *addr, size_t len, FILE *outfile, const char *name)
+static void GOFUNC(void *addr, size_t len, FILE *outfile, const char *name)
{
int found_load = 0;
unsigned long load_size = -1; /* Work around bogus warning */
@@ -62,10 +62,8 @@
alt_sec = sh;
}
- if (!symtab_hdr) {
+ if (!symtab_hdr)
fail("no symbol table\n");
- return 1;
- }
strtab_hdr = addr + hdr->e_shoff +
hdr->e_shentsize * symtab_hdr->sh_link;
@@ -112,7 +110,7 @@
if (!name) {
fwrite(addr, load_size, 1, outfile);
- return 0;
+ return;
}
fprintf(outfile, "/* AUTOMATICALLY GENERATED -- DO NOT EDIT */\n\n");
@@ -152,6 +150,4 @@
required_syms[i], syms[i]);
}
fprintf(outfile, "};\n");
-
- return 0;
}