aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorgrischka <grischka>2016-10-01 20:48:01 +0200
committergrischka <grischka>2016-10-01 20:48:01 +0200
commit2d6aa65067b6d1127abb62bd11d2ddaf6b4cf492 (patch)
treea200ea86aa2ecc396cc4a901f61d751f4604584d
parent9c5bb16447e3d6cf5493c4802f3e3a1939430a27 (diff)
downloadtinycc-2d6aa65067b6d1127abb62bd11d2ddaf6b4cf492.tar.gz
tinycc-2d6aa65067b6d1127abb62bd11d2ddaf6b4cf492.tar.bz2
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.
-rw-r--r--libtcc.c3
-rw-r--r--tcc.h1
-rw-r--r--tccelf.c11
3 files changed, 1 insertions, 14 deletions
diff --git a/libtcc.c b/libtcc.c
index 71e8c2f..2b29d87 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 d16fea8..19093e1 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 71e62af..33336c6 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);