1
2
3
4
5
6
7
8
9
10
|
diff -uNr tcc-0.9.26.orig/libtcc.c tcc-0.9.26-1sharedlibfix/libtcc.c
--- tcc-0.9.26.orig/libtcc.c 2013-02-15 08:24:00.000000000 -0600
+++ tcc-0.9.26-1sharedlibfix/libtcc.c 2014-06-23 14:18:02.279507000 -0500
@@ -1189,6 +1189,18 @@
#endif
tcc_error_noabort("unrecognized ELF file");
goto the_end;
+ } else {
+#ifdef TCC_IS_NATIVE
+ if (s1->output_type == TCC_OUTPUT_MEMORY) {
|
|
|
1
2
3
4
5
6
7
8
9
10
|
diff -uNr tcc-0.9.26.orig/libtcc.c tcc-0.9.26-1sharedlibfix/libtcc.c
--- tcc-0.9.26.orig/libtcc.c 2013-02-15 08:24:00.000000000 -0600
+++ tcc-0.9.26-1sharedlibfix/libtcc.c 2014-06-23 14:34:51.289507000 -0500
@@ -1189,6 +1189,18 @@
#endif
tcc_error_noabort("unrecognized ELF file");
goto the_end;
+ } else {
+#ifdef TCC_IS_NATIVE
+ if (s1->output_type == TCC_OUTPUT_MEMORY) {
|
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
|
@@ -1269,7 +1281,15 @@
const char *libs[] = { "%s/%s.def", "%s/lib%s.def", "%s/%s.dll", "%s/lib%s.dll", "%s/lib%s.a", NULL };
const char **pp = s->static_link ? libs + 4 : libs;
#else
+# ifdef SHOBJEXT
+# define str1(s) str2(s)
+# define str2(s) #s
+ const char *libs[] = { "%s/lib%s" str1(SHOBJEXT), "%s/lib%s.a", NULL };
+# undef str1
+# undef str2
+# else
const char *libs[] = { "%s/lib%s.so", "%s/lib%s.a", NULL };
+# endif
const char **pp = s->static_link ? libs + 1 : libs;
#endif
while (*pp) {
|
|
|
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
|
@@ -1269,7 +1281,15 @@
const char *libs[] = { "%s/%s.def", "%s/lib%s.def", "%s/%s.dll", "%s/lib%s.dll", "%s/lib%s.a", NULL };
const char **pp = s->static_link ? libs + 4 : libs;
#else
+# ifdef SHOBJEXT
+# define str1(s) str2(s)
+# define str2(s) #s
+ const char *libs[] = { "%s/lib%s." str1(SHOBJEXT), "%s/lib%s.a", NULL };
+# undef str1
+# undef str2
+# else
const char *libs[] = { "%s/lib%s.so", "%s/lib%s.a", NULL };
+# endif
const char **pp = s->static_link ? libs + 1 : libs;
#endif
while (*pp) {
|