output all sections if we produce an executable file

tcc w/o -g option generate an executable file which format
    is not recognized by binutils. It is like stripped one but
    binutils don't think so. Solution: generate not stripped
    file which can be correctly stripped by external utils.

    may be there is a need to handle a -s option and call
    a sstrip/strip program to do a job.
master
seyko 2015-04-10 06:49:24 +03:00
parent 3c372b4c8a
commit 089ce6235c
1 changed files with 1 additions and 0 deletions

View File

@ -2020,6 +2020,7 @@ 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 */