On Mon, Jan 05, 2026 at 03:08:03PM +0100, Ahmad Fatoum wrote:
> Hi,
> 
> On 1/5/26 12:26 PM, Sascha Hauer wrote:
> > Until now we linked the raw barebox proper binary into the PBL which
> > comes with a number of disadvantages. We rely on self-modifying code
> > to in barebox proper (relocate_to_current_adr()) and have no initialized
> > bss segment (setup_c()). Also we can only mark the .text and .rodata as
> > readonly during runtime of barebox proper.
> > 
> > This series overcomes this by linking a ELF image into the PBL. This
> > image is properly layed out, linked and initialized in the PBL. With
> > this barebox proper has a proper C environment and text/rodata
> > protection from the start.
> > 
> > As a bonus this series also adds initial MMU support for RISCV, also
> > based on loading the ELF image and configuring the MMU from the PBL.
> > 
> > This series also marks my start into AI assisted programming as you can
> > see in the Co-Authored-By: Claude Sonnet 4.5 <[email protected]>
> > and 🤖 Generated with [Claude Code](https://claude.com/claude-code)
> > tags. Without it I wouldn't have started this series during my xmas
> > break, but with it it was actually quite fun to do; it felt like having
> > a programming team which I just had to delegate new tasks to while
> > having fun with my family myself ;)
> 
> Did you do size comparisons to determine how much this series affects
> binary size? I found that compressing every segment separately resulted
> in a smaller binary size even after addition of ELF parsing to PBL, but
> I used a purpose-built ELF loader unlike to what you did here.

I did now.

ARM64 barebox-dt-2nd.img raw:  1246506
ARM64 barebox-dt-2nd.img ELF:  1248892 (+ 2386 bytes)
ARM32 barebox-dt-2nd.img raw:  1217036
ARM32 barebox-dt-2nd.img ELF:  1219159 (+ 2123 bytes)

With --strip-section-headers instead of --strip-debug --strip-unneeded
the last image goes down to 1217940 bytes, so only 904 bytes size
increase.

Sascha

-- 
Pengutronix e.K.                           |                             |
Steuerwalder Str. 21                       | http://www.pengutronix.de/  |
31137 Hildesheim, Germany                  | Phone: +49-5121-206917-0    |
Amtsgericht Hildesheim, HRA 2686           | Fax:   +49-5121-206917-5555 |

Reply via email to