changeset 375:d27cbf5df516

[project @ 2005-06-17 21:31:04 by bellard] the PE linker code is not ready for -fleading-underscore support
author bellard
date Fri, 17 Jun 2005 21:31:04 +0000
parents 685cc79d02d6
children be51eddcb543
files tccpe.c
diffstat 1 files changed, 7 insertions(+), 4 deletions(-) [+]
line wrap: on
line diff
--- a/tccpe.c	Wed Jun 15 22:32:29 2005 +0000
+++ b/tccpe.c	Fri Jun 17 21:31:04 2005 +0000
@@ -383,10 +383,13 @@
 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)