foundryzero / llef

LLEF is a plugin for LLDB to make it more useful for RE and VR

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Doesn't work on macOS

garasmc opened this issue · comments

lldb -v
lldb-1316.0.9.41
Apple Swift version 5.6 (swiftlang-5.6.0.323.62 clang-1316.0.20.8)

install.sh
chose Auto

./lldb.sh
invalid command 'command container'.
error: 'command script add' requires one argument
error: 'command script add' requires one argument
Stop hook #1 added.
Traceback (most recent call last):
  File "/Users/user/Documents/source/tools/llef/handlers/stop_hook.py", line 314, in handle_stop
    self.arch = get_arch(self.target)
  File "/Users/user/Documents/source/tools/llef/arch/__init__.py", line 22, in get_arch
    raise TypeError("Unknown target architecture")
TypeError: Unknown target architecture
(lldb) occurred handling stop-hook.

Works fine for me on macOS.

lldb -v
lldb-1316.0.9.41
Apple Swift version 5.6 (swiftlang-5.6.0.323.62 clang-1316.0.20.8)

You're using Xcode 13.3.1, which uses LLVM 13. This doesn't meet the LLVM 15+ requirement.

You need to either upgrade to Xcode 14.3, or otherwise install LLDB 15 or newer.

Or, probably, pull the fix from #2 if you're on an M1 Mac.

commented

Thanks for your bug report.

I believe this was a couple of issues combining.

M1/M2 ARM macs identify their architecture as arm64, rather than aarch64, so we needed to make a change to how we identify supported architectures to enable llef to work on ARM based macs, which has been merged into main.

Separately, as @carlocab says, llef requires LLDB 15 or higher. Unfortunately I'm unclear on how mac lldb version strings map across but it has been tested on 1403+

Unfortunately I'm unclear on how mac lldb version strings map across but it has been tested on 1403+

I use this table to check.