Unaligned file sizes could sometimes cause sections to be moved to the end of the file rather than on a page boundary. This is for example the case when elfedit resizes the same file multiple times in the same update.
VR4QJBTN4467XRJIZ6YYN64YEY5IRCJBRP7X5LCIBCARYYE76TBQC
// In the absolute worst case, we need 3 new LOAD
// segments: our new one, and then one for each end of
// the sequence of sections we need to move to make
// room for the program headers.
// No space. We will move enough sections to the end
// of the file, in order to make room.
//
// In the worst global case of patching, we need 3 new
// LOAD segments:
//
// - two new ones (interp + dynstr)
// - possibly an extra one for the initial segments we
// need to move