Debugging

Multiple things:

  • The initial sections, moved when we need to extend the program header table, could end up creating a last segment that was read-only, which is wrong.

  • The initial sections could be moved anywhere after o + l, where o was the last offset of a session and l was the length of that same session. However, the BSS section can overlap others, so the code is now robust to that, even though it may not change too much.

  • The position of the .gnu.hash section wasn't being updated in the .dynamic section.

Unfortunately this couldn't really be tested separately since it only appeared when patching libraries to find transitive "needed libs".

Created by  pmeunier  on April 27, 2025
ZV57M4VN53TJFCOLDOP7I4M4VAEN667SA37LR2HFFKFN5G2MTWIAC
Change contents