Overview
Comment: | Updated to not try to use dlopen() on PE platforms |
---|---|
Timelines: | family | ancestors | descendants | both | trunk |
Files: | files | file ages | folders |
SHA1: |
c3a3ac9cbf600ca2cff56b64ff53c4f9 |
User & Date: | rkeene on 2014-06-23 20:29:54 |
Other Links: | manifest | tags |
Context
2014-06-23
| ||
20:31 | Updated to not do curl tests if cross-compiling check-in: a6c35050af user: rkeene tags: trunk | |
20:29 | Updated to not try to use dlopen() on PE platforms check-in: c3a3ac9cbf user: rkeene tags: trunk | |
20:12 | tcc4tcl 0.21 check-in: 7c6bbf8a11 user: rkeene tags: trunk, 0.21 | |
Changes
Modified build/tcc-patches/0.9.26/tcc-0.9.26-sharedlibfix.diff from [28e54aa43c] to [ae2ecf71a4].
1 2 | 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 | > | | > > | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 | Binary files tcc-0.9.26.orig/.libtcc.c.swp and tcc-0.9.26-1sharedlibfix/.libtcc.c.swp differ 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 15:29:04.679507000 -0500 @@ -1189,6 +1189,20 @@ #endif tcc_error_noabort("unrecognized ELF file"); goto the_end; + } else { +#ifdef TCC_IS_NATIVE +#ifndef TCC_TARGET_PE + if (s1->output_type == TCC_OUTPUT_MEMORY) { + /* If it's not an ELF file, but dlopen() can open it, do that. */ + void *h; + h = dlopen(filename, RTLD_GLOBAL | RTLD_LAZY); + if (h) { + ret = 0; + goto the_end; + } + } +#endif +#endif } if (memcmp((char *)&ehdr, ARMAG, 8) == 0) { @@ -1269,7 +1283,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 }; |
︙ | ︙ |