Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 38ff8b34a54151a1cfafa359c6178b3b353f2bef
      
https://github.com/WebKit/WebKit/commit/38ff8b34a54151a1cfafa359c6178b3b353f2bef
  Author: Mark Lam <[email protected]>
  Date:   2026-09-02 (Wed, 02 Sep 2026)

  Changed paths:
    M Tools/Scripts/dump-class-layout
    M Tools/lldb/lldb_dump_class_layout.py

  Log Message:
  -----------
  Enhance Tools/Scripts/dump-class-layout to be able to dump classes in static 
libraries and other binaries as well.
https://bugs.webkit.org/show_bug.cgi?id=323262
rdar://186508769

Reviewed by Yusuke Suzuki.

We used to be able to dump class layouts in WebKit frameworks:
% /usr/bin/python3 ./Tools/Scripts/dump-class-layout -b WebKitBuild -c Release 
JavaScriptCore CodeBlock

Now, we can also dump class layouts in static libraries as well e.g.
% /usr/bin/python3 ./Tools/Scripts/dump-class-layout -b WebKitBuild -c Release 
libJavaScriptCoreTools.a Corpse::Snapshot

Or more conveniently, we can do so by specifying the path to the binary file:
% /usr/bin/python3 ./Tools/Scripts/dump-class-layout 
WebKitBuild/Release/libJavaScriptCoreTools.a Corpse::Snapshot

./Tools/Scripts/dump-class-layout will now look for target binaries (of various 
formats) to dump from in this order:
1. name + ".framework/" + name
2. "lib" + name + ".a"
3. name + ".a"
4. "lib" + name + ".dylib"
5. name + ".dylib",
6. name

First one found that is a valid file will be consulted for the class layout 
info to dump.

* Tools/Scripts/dump-class-layout:
(webkit_build_dir):
(find_binary):
(main.or):
(main):
* Tools/lldb/lldb_dump_class_layout.py:
(LLDBDebuggerInstance.__init__):
(LLDBDebuggerInstance):
(LLDBDebuggerInstance._archive_member_specs):
(LLDBDebuggerInstance._modules_to_search):
(LLDBDebuggerInstance.layout_for_classname):

Canonical link: https://commits.webkit.org/320394@main



To unsubscribe from these emails, change your notification settings at 
https://github.com/WebKit/WebKit/settings/notifications

Reply via email to