--whole-archive support

A patch is implemented as suggested in tinycc-devel mail list.

    From: Reuben Thomas
    Date: Thu, 31 Jul 2014 16:52:53 +0100
    Subject: [PATCH] Add --{no,}-whole-archive support

    I resurrected the patch supplied to the mailing list in 2009
    Since --whole-archive is a useful flag to get tcc working with
    autotools, and of course in its own right, I suggest you have a look
    at the patch and see if it is acceptable. I cannot see any suggestion
    that it was actively rejected last time round, just no evidence that
    it was ever added.
This commit is contained in:
seyko
2016-05-20 15:12:32 +03:00
parent 1339d04759
commit 19a169ceb8
6 changed files with 43 additions and 3 deletions

View File

@ -3076,6 +3076,7 @@ static int tcc_load_alacarte(TCCState *s1, int fd, int size)
if(sym_index) {
sym = &((ElfW(Sym) *)symtab_section->data)[sym_index];
if(sym->st_shndx == SHN_UNDEF) {
load_obj:
off = get_be32(ar_index + i * 4) + sizeof(ArchiveHeader);
++bound;
lseek(fd, off, SEEK_SET);
@ -3085,6 +3086,8 @@ static int tcc_load_alacarte(TCCState *s1, int fd, int size)
goto the_end;
}
}
} else if (s1->whole_archive) {
goto load_obj;
}
}
} while(bound);