[llvm-dev] Status of stack walking in LLVM on Win64?

David Majnemer via llvm-dev llvm-dev at lists.llvm.org
Sun Jul 3 21:00:52 PDT 2016


On Sun, Jul 3, 2016 at 5:49 PM, Michael Lewis <don.apoch at gmail.com> wrote:

>
> On Sun, Jul 3, 2016 at 2:17 PM, Hayden Livingston <halivingston at gmail.com>
> wrote:
>
>> For JITs it would appear that there is a patch needed for some kind of
>> relocations.
>>
>> https://llvm.org/bugs/show_bug.cgi?id=24233
>>
>> Is the patch really needed? What does it do? I'm not an expert here so
>> asking.
>>
>
>
> I'm not really interested in the JIT case as I said originally, so I can't
> answer that question.
>
>
>
>>
>> On Sun, Jul 3, 2016 at 2:48 AM, David Majnemer via llvm-dev
>> <llvm-dev at lists.llvm.org> wrote:
>> > I can confirm that LLVM emits correct data when used in an AoT
>> configuration
>> > for x64, exception handling would be totally broken without it.
>> >
>>
>
>
> Two points of clarification:
>
>  - Are you talking about Win64 or just x64 in general (i.e. *nix/MacOS)?
>

I don't think many on the Unix side of things would refer to x86_64 as
x64.  Win64 is ambiguous because there have been other, non x64,
implementations of Windows (IA64, ARM64).  I am referring to the x64
implementation of Win64 :)


> Again given the presence of bugs going back to 2015 (including one linked
> in this thread)
>

The issue linked to, PR24233, has nothing to do with the static compiler
workflow.


> and other scant data from the list, I really can't tell what the expected
> state of this functionality is on Win64.
>

>  - Are you referring to data generated by LLVM that is embedded in COFF
> object files and then placed in the binary image by the linker?
>

LLVM's MC layer will give you an object file with code and associated
pdata/xdata.


> This data is at a minimum relocated by link.exe on Windows as near as I
> can tell. I do not want a dependency on link.exe. I can handle doing my own
> relocations prior to emitting the final image, but I want to know if
> there's a turnkey implementation of this already or if I have to roll my
> own here.
>

The code in RuntimeDyldCOFFX86_64 is responsible for making a pre-linked
object file loadable.


>
> Thanks,
>
>
>
>  - Mike
>
>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20160703/22ecb3cd/attachment.html>


More information about the llvm-dev mailing list