Hi,
On Fri, 24 Nov 2017, avih wrote:
> I noticed a change at e7c71e24 ("tccasm: synch C and asm symtab tighter")
> which I'm not sure is expected.
>
> On Windows, when I build tcc using tcc with one source, a file "tcc.def" is
> created at the same dir as the resulting tcc.exe, with this content:
>
> LIBRARY tcc.exe
>
> EXPORTS
> ___try__
> __chkstk
> __try__
> _exception_code
> _exception_info
>
> To reproduce: prepare a working version of tcc for windows (this example is
> with tcc 32), clone tcc, cd to its root dir, and execute:
>
> echo '#define TCC_VERSION "0.9.27"' > config.h && path/to/tcc.exe
> -DTCC_TARGET_PE -DTCC_TARGET_I386 -Iwin32 -I. -DONE_SOURCE -o tcc.exe tcc.c
>
> And the result is that tcc.def is created alongside tcc.exe .
> This started happening at e7c71e24 . The earlier commit ("Adjust testcase
> for PIE compilers") doesn't create tcc.def with the same invocation.
>
> Is it expected? a bug?
It'd be very surprising for my patch to have this effect. It affects
symbol table entries, and AFAICS that doesn't influence if the .def file
is generated or not. Ultimately it's created from pe_build_exports(),
which itself is called when processing the first writable data section. I
don't see how commit e7c71e24 could make a difference.
Are you sure the .def file isn't generated by a TCC from a commit before?
Otherwise I'm at a loss, and not having a Windows system I can't help
much. grischka, any ideas?
Ciao,
Michael.