使用ARM官方编译器12.2.Rel1版本 arm-none-linux-gnueabihf arm-gnu-toolchain-12.2.rel1-x86_64-arm-none-linux-gnueabihf.tar.xz
void main()
{
}
使用命令
arm-none-linux-gnueabihf-gcc main.c -o main
最后的结果是72K。如果使用11.3.Rel1的版本,结果是正常的12K。发现12.2的exception_ranges段向后移动了0xf000,正好是60k
我怀疑 MAXPAGESIZE 或 COMMONPAGESIZE 默认设置很高,但我试试
arm-none-linux-gnueabihf-gcc main.c -o main -Wl,-zmax-page-size=0x8000 -Wl,-zcommon-page-size=0x1000
结果还是不正常。无论怎么调整max-page-size和common-page-size,都得不到11.3版本一致的exception_ranges段偏移量