If the number of segments is greater than or equal to PN_XNUM (0xffff), e_phnum is set to PN_XNUM, and the actual number of program header table entries is contained in the sh_info field of the section header at index 0. The phnum.m68k.so is a sample object file that tests this code path but then actually only has 1 segment - it just indirects phnum through shdr0.
128 B
128 B