[lld] r275258 - Reverted r275257 "[ELF] - Implement extern "c++" version script tag"

Rui Ueyama via llvm-commits llvm-commits at lists.llvm.org
Wed Jul 13 12:50:28 PDT 2016


I don't know. I think you can do it by defining a property and refer it
using REQUIRES, but I'm not sure if that's the right thing to do.

Instead, you can avoid a mangled C++ name that triggers the FreeBSD's bug,
can't you? It seems that if you use a symbol name foo(int) instead of foo()
(or foo(void)), it works on FreeBSD.

On Wed, Jul 13, 2016 at 12:44 PM, George Rimar <grimar at accesssoftek.com>
wrote:

> ​Do you know how to do that ?
>
> I mean I do not know way to disable it on freeBsd.
>
>
> Best regards,
> George.
> ------------------------------
> *От:* Rui Ueyama <ruiu at google.com>
> *Отправлено:* 13 июля 2016 г. 21:57
> *Кому:* Rafael Espíndola
> *Копия:* George Rimar; Ed Maste; llvm-commits; David Majnemer
> *Тема:* Re: [lld] r275258 - Reverted r275257 "[ELF] - Implement extern
> "c++" version script tag"
>
> For now, I'd disable this on FreeBSD and recommit.
>
> On Wed, Jul 13, 2016 at 10:36 AM, Rafael Espíndola <
> rafael.espindola at gmail.com> wrote:
>
>> On 13 July 2016 at 12:57, George Rimar <grimar at accesssoftek.com> wrote:
>> > But we do not have any "demangler" yet right ?
>>
>> We don't have it yet.
>>
>>
>> > I used stupid but workable solution when wrote that patch (I am windows
>> user):
>> >
>> > std::string demanglemy(StringRef Name) {
>> >   if (Name == "_Z3foov")
>> >     return "foo()";
>> >   if (Name == "_Z3barv")
>> >     return "bar()";
>> >   if (Name == "_Z3zedv")
>> >     return "zed()";
>> >   return Name;
>> > }
>> >
>> > Not sure, but may be we can use that checks for testcase ?
>> > #ifdef windows....
>> >
>>
>> It is not just windows, there is the issue of the freebsd one
>> producing different results. That is why I  think we need a cmake
>> check that tries to demangle a few names.
>>
>>
>> Cheers,
>> Rafael
>>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20160713/7766ae2d/attachment.html>


More information about the llvm-commits mailing list