[patch][rfc] Don't mangle fastcall and stdcall at the llvm level.

Anton Korobeynikov anton at korobeynikov.info
Tue Oct 29 13:13:09 PDT 2013


This would require the users (think about JIT on Windows as a typical
example) to mangle stuff by themselves, that is - calculate the sizes
of all the arguments, add rounding, etc.

I'm strongly opposed to this patch.

On Tue, Oct 29, 2013 at 10:54 PM, Rafael EspĂ­ndola
<rafael.espindola at gmail.com> wrote:
> In r192762 we changed clang to mangle these before printing IL. I am
> now curious what are the opinions about when, if ever, can we drop the
> equivalent mangling from llvm.
>
> The attached patch simply changes the mangler to remove the special
> treatment of fastcall and stdcall. Would something like that be OK for
> 3.5 or 4.0?
>
> Another option is to first require that fastcall and stdcall functions
> have names starting with '\01' for a release or two. That would make
> sure that the meaning of any accepted file would remain the same.
>
> Yet another option is to try to upgrade the file when reading. This is
> tricky. The tool using the autougrade might not have the x86 target
> registered, so we would be unable to compute the stack size of the
> arguments (necessary for mangling these functions).
>
> Cheers,
> Rafael



-- 
With best regards, Anton Korobeynikov
Faculty of Mathematics and Mechanics, Saint Petersburg State University




More information about the llvm-commits mailing list