From d348a9a51d32cece842b7885d27a411436d7887b Mon Sep 17 00:00:00 2001 From: grischka Date: Tue, 12 Dec 2017 17:57:20 +0100 Subject: final update for 0.9.27 tccgen.c: - fix ldouble asm hack - fix a VLA problem on Win64 (also x86_64-gen.c) - patch_type(): make sure that no symbol ever changes from global to static tcc.c: - tcc -vv: print libtcc1.a path also on win32 tccpe.c, tcctools.c: - use unix LF mode to for .def output files (that is for creating reproducible output trees) Makefile: - suppress some warnings when makeinfo is missing - call 'which install' only on win32 tests/Makefile: - change PATH only on WINNT systems (i.e. not if cross-compiling on linux for win32) - asm-c-connect.test: slim output and do diff tccrun.c tccpe.c *-link.c: - integrate former 'pe_relocate_rva()' into normal relocation This also fixes linkage of the unwind data on WIN64 for -run (reported by Janus Lynggaard Thorborg) tccasm.c, tests/tcctest.c: - fix dot (sym_index of -1 crashed in put_elf_reloc) - massage .set a bit (see test) other: - #define SECTION_ABS removed - ST_DATA Section *strtab_section: removed - put_extern_sym2(): take int section number Conflicts: tccelf.c tccpe.c Conflicts: tccelf.c --- tests/asm-c-connect-2.c | 21 +++++++++++++++++++-- 1 file changed, 19 insertions(+), 2 deletions(-) (limited to 'tests/asm-c-connect-2.c') diff --git a/tests/asm-c-connect-2.c b/tests/asm-c-connect-2.c index 5dad26c..3440b40 100644 --- a/tests/asm-c-connect-2.c +++ b/tests/asm-c-connect-2.c @@ -1,19 +1,36 @@ #include +#if defined _WIN32 && !defined __TINYC__ +# define _ "_" +#else +# define _ +#endif + int x3(void) { - printf("x3\n"); + printf(" x3"); return 3; } /* That callx4 is defined globally (as if ".globl callx4") is a TCC extension. GCC doesn't behave like this. */ void callx4(void); -__asm__("callx4: call x4; ret"); +__asm__(_"callx4: call "_"x4; ret;" +#ifndef __TINYC__ + " .global "_"callx4" +#endif +); extern void x5(void); + void callx5_again(void); void callx5_again(void) { x5(); + asm("call "_"x6"); +} + +static void x6() +{ + printf(" x6-2"); } -- cgit v1.3.1