[LLVMdev] x86_stdcallcc @<n> mangling vs. '\1' prefix [was: x86_stdcallcc and extra name mangling on Windows]

Reid Kleckner rnk at google.com
Thu Mar 28 17:12:55 PDT 2013


Anton, what do you think of David's patch with this test case?  OK to
commit that?


On Wed, Feb 20, 2013 at 12:43 PM, Anton Korobeynikov <
anton at korobeynikov.info> wrote:

> The patch looks incorrect. The code just needs to handle \1 properly
> and clang extended to add explicit \1 to the names which does not
> require mangling.
>
> I do not think that moving whole mangling to clang is a good idea,
> because then everyone who uses LLVM to call WinApi functions will need
> to mangle by hands.
>
> On Wed, Feb 20, 2013 at 11:25 PM, Timur Iskhodzhanov
> <timurrrr at google.com> wrote:
> > I don't remember anything other that what I've written in the bug João
> > has mentioned.
> >
> > Probably something like this patch
> > http://llvm.org/bugs/show_bug.cgi?id=14410#c6
> > ?
> >
> > 2013/2/20 João Matos <ripzonetriton at gmail.com>:
> >> I think so. There have been other reports lately related to this being
> >> wrong.
> >>
> >> http://llvm.org/bugs/show_bug.cgi?id=14410
> >>
> >> CC'ing Timur since he might know more about this.
> >>
> >> On Wed, Feb 20, 2013 at 5:27 PM, David Nadlinger <code at klickverbot.at>
> >> wrote:
> >>>
> >>> On Tue, Feb 19, 2013 at 2:13 PM, Duncan Sands <baldrick at free.fr>
> wrote:
> >>> >> My question: Is there an easy way of disabling the name-mangling
> part
> >>> >> but keep the rest of the CC that I missed?
> >>> > if you use "\1" + "usual name", it will disable name mangling if you
> are
> >>> > lucky.  A leading \1 is LLVM's way of saying: leave this name alone!
> >>>
> >>> Seems like I'm out of luck - the @<n> suffix is added
> >>> (AddFastCallStdCallSuffix) in the GlobalValue
> >>> Magnler::getNameWithPrefix overload, without paying respect to whether
> >>> the name originally had a '\1' prefix or not.
> >>>
> >>> Should this be changed?
> >>>
> >>> David
> >>> _______________________________________________
> >>> LLVM Developers mailing list
> >>> LLVMdev at cs.uiuc.edu         http://llvm.cs.uiuc.edu
> >>> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev
> >>
> >>
> >>
> >>
> >> --
> >> João Matos
> >
> > _______________________________________________
> > LLVM Developers mailing list
> > LLVMdev at cs.uiuc.edu         http://llvm.cs.uiuc.edu
> > http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev
>
>
>
> --
> With best regards, Anton Korobeynikov
> Faculty of Mathematics and Mechanics, Saint Petersburg State University
>
> _______________________________________________
> LLVM Developers mailing list
> LLVMdev at cs.uiuc.edu         http://llvm.cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20130328/0cbd0785/attachment.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: stdcall-double-mangle.patch
Type: application/octet-stream
Size: 2505 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20130328/0cbd0785/attachment.obj>


More information about the llvm-dev mailing list