Conceptually that makes sense, but the behavior I am seeing doesn't
quite correspond to what you say. In elf32-arm.c, ELF_MINPAGESIZE is
0x1000, which would induce an alignment of 2**12. Is it possible that
the alignment is actually being dictated by ELF_MAXPAGESIZE (0x8000 for
non-QNX targets)?
While we are on this, I confess that the choice of 0x8000 for
ELF_MAXPAGESIZE seems very strange. The ARM MMU hardware does not
implement 32k pages. The valid choices are 1k, 4k, and 64k. I would
therefore expect naively that the values here would have ELF_MINPAGESIZE
of 0x400 (1K) and ELF_MAXPAGESIZE of 0x10000 (64k). Neither is true.
The only use-case I can see for ELF_MAXPAGESIZE=32k is that this
alignment matches the alignment requirements for the translation table
base register. I certainly see why that is important, but it seems like
something that should more properly be accomplished in a kernel ldscript
than in the BFD built-in assumptions.
Do you happen to know why the current choice is what it is?
Thanks again for your help on this, Nick.
shap