fix "handle a -s option" commit

for targets which don't support variable length arrays.
This commit is contained in:
seyko 2015-04-10 17:35:54 +03:00
parent d81611b641
commit 92efee6e52

View file

@ -2689,19 +2689,15 @@ static int elf_output_file(TCCState *s1, const char *filename)
/* Create the ELF file with name 'filename' */ /* Create the ELF file with name 'filename' */
ret = tcc_write_elf_file(s1, filename, phnum, phdr, file_offset, sec_order); ret = tcc_write_elf_file(s1, filename, phnum, phdr, file_offset, sec_order);
if (s1->do_strip) { if (s1->do_strip) {
const char *strip = "sstrip "; // super strip utility from ELFkickers
const char *null = " 2> /dev/null";
int len = strlen(strip) + strlen(filename) + strlen(null) + 1;
{
int rc; int rc;
char buf[len]; const char *strip_cmd = "sstrip "; // super strip utility from ELFkickers
sprintf(buf, "%s%s%s", strip, filename, null); const char *null_dev = " 2> /dev/null";
char buf[1050];
snprintf(buf, sizeof(buf), "%s%s%s", strip_cmd, filename, null_dev);
rc = system(buf); rc = system(buf);
if (rc) { if (rc)
system(buf+1); // call a strip utility from binutils system(buf+1); // call a strip utility from binutils
} }
}
}
the_end: the_end:
tcc_free(s1->symtab_to_dynsym); tcc_free(s1->symtab_to_dynsym);
tcc_free(sec_order); tcc_free(sec_order);