From 2d6aa65067b6d1127abb62bd11d2ddaf6b4cf492 Mon Sep 17 00:00:00 2001 From: grischka Date: Sat, 1 Oct 2016 20:48:01 +0200 Subject: [PATCH] Revert "output all sections if we produce an executable file" -- Not a fix This reverts commit 089ce6235c99638ad4542a57af4d09e2be0efc88. Revert "handle a -s option by executing sstrip/strip program" -- related, not a fix. This reverts commit 5cd4393a542ef4c64df7dcbb3fbe3a629666239d. --- libtcc.c | 3 +-- tcc.h | 1 - tccelf.c | 11 ----------- 3 files changed, 1 insertion(+), 14 deletions(-) diff --git a/libtcc.c b/libtcc.c index 71e8c2f3..2b29d87e 100644 --- a/libtcc.c +++ b/libtcc.c @@ -2292,8 +2292,6 @@ PUB_FUNC int tcc_parse_args(TCCState *s, int argc, char **argv) case TCC_OPTION_dumpversion: printf ("%s\n", TCC_VERSION); exit(0); - case TCC_OPTION_s: - s->do_strip = 1; break; case TCC_OPTION_traditional: break; @@ -2314,6 +2312,7 @@ PUB_FUNC int tcc_parse_args(TCCState *s, int argc, char **argv) break; case TCC_OPTION_pedantic: case TCC_OPTION_pipe: + case TCC_OPTION_s: /* ignored */ break; default: diff --git a/tcc.h b/tcc.h index d16fea80..19093e15 100644 --- a/tcc.h +++ b/tcc.h @@ -622,7 +622,6 @@ struct TCCState { /* compile with debug symbol (and use them if error during execution) */ int do_debug; - int do_strip; #ifdef CONFIG_TCC_BCHECK /* compile with built-in memory and bounds checker */ int do_bounds_check; diff --git a/tccelf.c b/tccelf.c index 71e62aff..33336c6f 100644 --- a/tccelf.c +++ b/tccelf.c @@ -2018,7 +2018,6 @@ static void alloc_sec_names(TCCState *s1, int file_type, Section *strsec) s->sh_size = s->data_offset; } else if (s1->do_debug || file_type == TCC_OUTPUT_OBJ || - file_type == TCC_OUTPUT_EXE || (s->sh_flags & SHF_ALLOC) || i == (s1->nb_sections - 1)) { /* we output all sections if debug or object file */ @@ -2688,16 +2687,6 @@ static int elf_output_file(TCCState *s1, const char *filename) /* Create the ELF file with name 'filename' */ ret = tcc_write_elf_file(s1, filename, phnum, phdr, file_offset, sec_order); - if (s1->do_strip) { - int rc; - const char *strip_cmd = "sstrip "; // super strip utility from ELFkickers - 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); - if (rc) - system(buf+1); // call a strip utility from binutils - } the_end: tcc_free(s1->symtab_to_dynsym); tcc_free(sec_order);