mirror of
https://github.com/fergalmoran/ladybird.git
synced 2026-01-10 10:36:30 +00:00
This is mainly intended for use on CI, as UBSan instrumentation results
in a serious load and execution time penalty there. See the previous
commit for more details.
With this enabled, the size of LibWeb, built for x86-64 with Clang 17 as
of 0b91d36a is reduced as follows:
FILE SIZE VM SIZE
-------------- --------------
+18% +2.99Mi [ = ] 0 .debug_info
+14% +758Ki [ = ] 0 .debug_addr
+2.6% +7.92Ki [ = ] 0 .debug_abbrev
+129% +2.66Ki [ = ] 0 [Unmapped]
-0.2% -208 -0.2% -208 .plt
-0.2% -312 -0.2% -312 .rela.plt
-0.1% -336 -0.1% -336 .dynsym
-0.0% -647 -0.0% -513 [8 Others]
-0.1% -1.14Ki -0.1% -1.14Ki .dynstr
-20.1% -53.5Ki -20.1% -53.5Ki .eh_frame_hdr
-7.2% -56.8Ki [ = ] 0 .debug_str_offsets
-7.1% -156Ki [ = ] 0 .debug_str
-15.0% -160Ki [ = ] 0 .symtab
-63.6% -245Ki -63.6% -245Ki .relr.dyn
-25.4% -357Ki -25.4% -357Ki .eh_frame
-27.7% -1.09Mi [ = ] 0 .strtab
-59.3% -10.0Mi [ = ] 0 .debug_rnglists
-41.3% -11.0Mi [ = ] 0 .debug_line
-70.0% -12.0Mi -70.0% -12.0Mi .rodata
-65.2% -15.1Mi -65.2% -15.1Mi .data
-53.0% -15.7Mi -53.0% -15.7Mi .text
-41.7% -62.1Mi -57.7% -43.4Mi TOTAL
SerenityOS Documentation
Serenity development moves quickly, so some of these might be out of date. Please let us know if something here is wrong, or submit a PR with any additions or corrections! If you have any questions that are not answered here or in the FAQ, you are welcome to ask on Discord.
A list of useful pages across the web can be found on the link list.
Building and Running
- Build Instructions
- Advanced Build Instructions
- Troubleshooting
- Running in VirtualBox
- Running in VMware
- Running Tests
- Setting Up Self-Hosted Runners
- Profiling the Build
- Spice Integration
OS-specific
Make sure to read the basic Build Instructions first.
Running on Hardware
Configuring Editors
Development
- How to Contribute
- Coding Style
- Common Patterns
- Guidelines for Text in UI
- EventLoop
- High DPI Support
- Smart Pointers
- String Formatting
- How to Transfer Files Out of Serenity
File and Data Formats
- Application Files (.af)
- Bitmap Fonts (.font)
- Clipboard data
- Drag-and-drop data
- GUI Markup Language (.gml)
- HackStudio Post-Create Scripts (.postcreate)
- Inter-Process Communication protocol (.ipc)
Browser/LibWeb
- Ladybird Browser Build Instructions
- General Architecture
- LibWeb: From Loading to Painting
- How to Add an IDL File
- LibWeb Code Style & Patterns
Kernel
- AHCI Locking
- ProcFS Indexing
- RAMFS
- IOWindow
- Graphics Subsystem
- Kernel Development Patterns & Guidelines
Applications
Documentation for SerenityOS applications and utilities can be found in the man pages.