Re: [Mingw-w64-public] [PATCH] crt: msvcr70.def.in: Add missing @SIZE suffixes and __CxxCallUnwindVecDtor

2024-04-18 Thread Martin Storsjö
On Thu, 18 Apr 2024, Pali Rohár wrote: On Wednesday 17 April 2024 23:59:34 Martin Storsjö wrote: On Wed, 17 Apr 2024, Pali Rohár wrote: I agree, it is impossible to have it at C level. Or at least I have not found a way how to do it. What is possible is to call that function from assembler

Re: [Mingw-w64-public] [PATCH] crt: msvcr70.def.in: Add missing @SIZE suffixes and __CxxCallUnwindVecDtor

2024-04-18 Thread Pali Rohár
On Wednesday 17 April 2024 23:59:34 Martin Storsjö wrote: > On Wed, 17 Apr 2024, Pali Rohár wrote: > > > I agree, it is impossible to have it at C level. Or at least I have not > > found a way how to do it. > > > > What is possible is to call that function from assembler or via gcc > > inline

Re: [Mingw-w64-public] [PATCH] crt: msvcr70.def.in: Add missing @SIZE suffixes and __CxxCallUnwindVecDtor

2024-04-17 Thread Martin Storsjö
On Wed, 17 Apr 2024, Pali Rohár wrote: I agree, it is impossible to have it at C level. Or at least I have not found a way how to do it. What is possible is to call that function from assembler or via gcc inline assembly from C. True, that could be possible. Those fdiv symbols are already

Re: [Mingw-w64-public] [PATCH] crt: msvcr70.def.in: Add missing @SIZE suffixes and __CxxCallUnwindVecDtor

2024-04-17 Thread Pali Rohár
On Tuesday 16 April 2024 10:20:50 Martin Storsjö wrote: > On Tue, 16 Apr 2024, LIU Hao wrote: > > > > I think it is better to be compatible with MSVC object level behavior > > > than inventing new/custom object level behavior. Meaning to export it > > > from def file without @SIZE. > > > > > >

Re: [Mingw-w64-public] [PATCH] crt: msvcr70.def.in: Add missing @SIZE suffixes and __CxxCallUnwindVecDtor

2024-04-16 Thread Martin Storsjö
On Tue, 16 Apr 2024, LIU Hao wrote: I think it is better to be compatible with MSVC object level behavior than inventing new/custom object level behavior. Meaning to export it from def file without @SIZE. But I think it is not possible to write declaration for this function into header file.

Re: [Mingw-w64-public] [PATCH] crt: msvcr70.def.in: Add missing @SIZE suffixes and __CxxCallUnwindVecDtor

2024-04-15 Thread LIU Hao
在 2024-04-16 05:57, Pali Rohár 写道: There is one another thing suspicious here. Function takes two float arguments, but one argument is passed via floating-point register and another via stack. Yes it looks like the case. From what I found on internet, it looks like that stdcall calling

Re: [Mingw-w64-public] [PATCH] crt: msvcr70.def.in: Add missing @SIZE suffixes and __CxxCallUnwindVecDtor

2024-04-15 Thread Pali Rohár
On Monday 15 April 2024 23:40:34 Martin Storsjö wrote: > On Mon, 15 Apr 2024, Pali Rohár wrote: > > > > These functions are exported on the DLL interface as plain "name". When we > > > call them, via a declaration marked as stdcall in C, it does produce a > > > call > > > to the symbol

Re: [Mingw-w64-public] [PATCH] crt: msvcr70.def.in: Add missing @SIZE suffixes and __CxxCallUnwindVecDtor

2024-04-15 Thread Pali Rohár
On Monday 15 April 2024 23:50:09 Martin Storsjö wrote: > On Mon, 15 Apr 2024, Pali Rohár wrote: > > > On Monday 15 April 2024 10:49:43 Martin Storsjö wrote: > > > Or just compiling a test C file with the corresponding > > > MSVC version and looking at the generated object file to see what symbol

Re: [Mingw-w64-public] [PATCH] crt: msvcr70.def.in: Add missing @SIZE suffixes and __CxxCallUnwindVecDtor

2024-04-15 Thread Martin Storsjö
On Mon, 15 Apr 2024, Pali Rohár wrote: On Monday 15 April 2024 10:49:43 Martin Storsjö wrote: Or just compiling a test C file with the corresponding MSVC version and looking at the generated object file to see what symbol reference it generated. So... now I did an experiment with VC4.2

Re: [Mingw-w64-public] [PATCH] crt: msvcr70.def.in: Add missing @SIZE suffixes and __CxxCallUnwindVecDtor

2024-04-15 Thread Martin Storsjö
On Mon, 15 Apr 2024, Pali Rohár wrote: These functions are exported on the DLL interface as plain "name". When we call them, via a declaration marked as stdcall in C, it does produce a call to the symbol "_name@size" instead of the regular "_name". This information is not visible on the

Re: [Mingw-w64-public] [PATCH] crt: msvcr70.def.in: Add missing @SIZE suffixes and __CxxCallUnwindVecDtor

2024-04-15 Thread Pali Rohár
On Monday 15 April 2024 10:49:43 Martin Storsjö wrote: > Or just compiling a test C file with the corresponding > MSVC version and looking at the generated object file to see what symbol > reference it generated. So... now I did an experiment with VC4.2 CL.EXE (first version which generate code

Re: [Mingw-w64-public] [PATCH] crt: msvcr70.def.in: Add missing @SIZE suffixes and __CxxCallUnwindVecDtor

2024-04-15 Thread Pali Rohár
On Monday 15 April 2024 10:49:43 Martin Storsjö wrote: > On Mon, 15 Apr 2024, Pali Rohár wrote: > > > On Monday 15 April 2024 09:19:09 LIU Hao wrote: > > > 在 2024-04-15 04:52, Pali Rohár 写道: > > > > Symbols _assert@4 and abort@4 in all versions of msvcr70.dll have @SIZE > > > > suffixes. Without

Re: [Mingw-w64-public] [PATCH] crt: msvcr70.def.in: Add missing @SIZE suffixes and __CxxCallUnwindVecDtor

2024-04-15 Thread Martin Storsjö
On Mon, 15 Apr 2024, Pali Rohár wrote: On Monday 15 April 2024 09:19:09 LIU Hao wrote: 在 2024-04-15 04:52, Pali Rohár 写道: Symbols _assert@4 and abort@4 in all versions of msvcr70.dll have @SIZE suffixes. Without @SIZE suffixes they are only in debug msvcr70d.dll library versions and Itanium

Re: [Mingw-w64-public] [PATCH] crt: msvcr70.def.in: Add missing @SIZE suffixes and __CxxCallUnwindVecDtor

2024-04-15 Thread Pali Rohár
On Monday 15 April 2024 09:19:09 LIU Hao wrote: > 在 2024-04-15 04:52, Pali Rohár 写道: > > Symbols _assert@4 and abort@4 in all versions of msvcr70.dll have @SIZE > > suffixes. Without @SIZE suffixes they are only in debug msvcr70d.dll > > library versions and Itanium msvcr70.dll versions. > > > >

Re: [Mingw-w64-public] [PATCH] crt: msvcr70.def.in: Add missing @SIZE suffixes and __CxxCallUnwindVecDtor

2024-04-14 Thread LIU Hao
在 2024-04-15 04:52, Pali Rohár 写道: Symbols _assert@4 and abort@4 in all versions of msvcr70.dll have @SIZE suffixes. Without @SIZE suffixes they are only in debug msvcr70d.dll library versions and Itanium msvcr70.dll versions. I think these are kinda false positives. The stdcall suffixes are

[Mingw-w64-public] [PATCH] crt: msvcr70.def.in: Add missing @SIZE suffixes and __CxxCallUnwindVecDtor

2024-04-14 Thread Pali Rohár
Symbols _assert@4 and abort@4 in all versions of msvcr70.dll have @SIZE suffixes. Without @SIZE suffixes they are only in debug msvcr70d.dll library versions and Itanium msvcr70.dll versions. Visual Studio .NET 2002 version of msvcr70.dll library (7.00.9466.0) contains additional symbol