runtimeverification / llvm-backend

KORE to llvm translation
BSD 3-Clause "New" or "Revised" License
34 stars 19 forks source link

add libunwind as dependency #1081

Closed dwightguth closed 1 month ago

dwightguth commented 1 month ago

This is one of a sequence of PRs designed to make progress towards generating stack maps so that we can trigger the GC during allocation rather than in between rewrite steps only. The first few PRs will be preliminaries that add small features that will be used by future PRs.

This PR adds the libunwind library as a runtime dependency to the llvm backend. Libunwind is going to be used by the garbage collector to walk the stack and find the GC roots for each stack frame. The code to actually generate the stack maps and walk the stack will be added in a future PR.

dwightguth commented 1 month ago

I'm going to mark this as a draft again. I thought I had caught every place where I needed to add this dependency but it looks like I missed some and I'm not going to get to fixing it until tomorrow.

Baltoli commented 1 month ago

but it looks like I missed some

Where's the failure you're seeing? If this is passing CI but fails elsewhere we should try to catch that scenario.

dwightguth commented 1 month ago

I mean, probably the reason it's passing CI is because the library isn't actually used yet, so in the places where I forgot to pass it, nothing bad happens. I don't believe that adding more tests will address that.

Baltoli commented 1 month ago

Ah, that makes sense! Let me know when this is ready for a final review and I can take another look at it.