-
-
Notifications
You must be signed in to change notification settings - Fork 12.7k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
llef: init at unstable-2023-10-18 #261840
Conversation
c8d64ca
to
9fc3352
Compare
This pull request has been mentioned on NixOS Discourse. There might be relevant details there: https://discourse.nixos.org/t/prs-ready-for-review/3032/2839 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Shouldn't this package ends up in the llvmPackages
hierarchy rather?
This way, you can do llvmPackages_15.lldbPlugins.llef
for example.
Or I would rewire a lldbPlugins
attrset inside of llvmPackages
and reinject lldb
from there. Otherwise, it's hard to have coherent package sets.
9fc3352
to
e6e2215
Compare
I did as you requested @RaitoBezarius, but now there's another problem - LLDB 15 and 16 (LLEF specifically says they're targetting 15+) with LLEF are failing to launch because python cannot find the |
3407b23
to
a3b961b
Compare
I'm so sorry if my previous rebase pinged anybody I really hope it didn't 😅 |
This pull request has been mentioned on NixOS Discourse. There might be relevant details there: https://discourse.nixos.org/t/prs-ready-for-review/3032/3145 |
This pull request has been mentioned on NixOS Discourse. There might be relevant details there: https://discourse.nixos.org/t/prs-ready-for-review/3032/3191 |
Can you rebase and look if this is still the case? Apologies for getting back to you, it fell too far in my shortlist. We fixed some LLDB stuff recently. |
a3b961b
to
6305515
Compare
@RaitoBezarius it does indeed work! I still need to set |
Awesome news! Could this |
@RaitoBezarius no, that's fine. I mentioned the debugserver path in #277958 (comment). Not sure if it makes sense for a nixpkgs wrapper since it's a MacOS impurity and requires Xcode to be installed globally. I don't know enough about lldb to say whether we can manage it in some other way |
Apparently the debugserver is inside LLVM's repository, not sure why we're not building it. Or maybe we are and simply aren't signing the lldb binary properly. https://lldb.llvm.org/resources/build.html has more info on that |
cc @reckenrode for the macOS bits |
Another option would be to set |
Aha, we already do exactly that - set the system debugserver flag, it's simply that lldb can't find it because it's not in path nor can it find the support directory since it's not located along with Xcode (logs from lldb when I try to launch a process without explicitly specifying the debugserver path):
|
Oh, you already linked a related issue, yeah I believe it's related @reckenrode |
Here's the code responsible for finding debugserver, if it's not explicitly set with |
Merging so that we can move the needle on the debugserver stuff. :) |
Description of changes
LLEF is an LLDB plugin to make it more usable for low-level RE and VR. Similar to GEF, but for LLDB.
I packaged it the same way we currently package similar GDB plugins, such as the aforementioned GEF or pwndbg. I did not need to add any Python dependencies as (at least as of now) LLEF doesn't need any.
I also added
meta.mainProgram
tolldb
as I usedlib.getExe
as an argument tomakeWrapper
.Things done
sandbox = true
set innix.conf
? (See Nix manual)nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD"
. Note: all changes have to be committed, also see nixpkgs-review usage./result/bin/
)