the PE linker code is not ready for -fleading-underscore support

tcc-xref
bellard 2005-06-17 21:31:04 +00:00
parent f6db2edc40
commit b78d3ff1dc
1 changed files with 7 additions and 4 deletions

11
tccpe.c
View File

@ -383,10 +383,13 @@ ST char pe_type;
ST int pe_find_import(TCCState * s1, const char *symbol, char *ret)
{
int sym_index = find_elf_sym(s1->dynsymtab_section, symbol);
if (0 == sym_index &&
!memcmp(symbol, "__imp__", 7)) {
/* Hm, maybe it's '_symbol' instead of '__imp__symbol' */
symbol += 6;
if (0 == sym_index) {
/* Hm, maybe it's '_symbol' instead of 'symbol' or '__imp__symbol' */
char buffer[100];
if (0 == memcmp(symbol, "__imp__", 7))
symbol += 6;
else
buffer[0] = '_', strcpy(buffer + 1, symbol), symbol = buffer;
sym_index = find_elf_sym(s1->dynsymtab_section, symbol);
}
if (ret)