- Place program table in the first file page along with the ELF header, instead of a separate page.
- Load program table into the first memory page, instead of after all other segments.
- Place section table at the end, instead of after the program table.
- Sort .hash .dynsym .dystr in the same order as strip.
- Don't mark .shstrtab as allocated.
- Populate unused physical address fields.
The issue on Android seems to be due to the program table placement.
Bug: https://github.com/flutter/flutter/issues/34308
Change-Id: I337dbdc76553e85eca7156256b97c99592011612
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/106440
Commit-Queue: Ryan Macnak <rmacnak@google.com>
Reviewed-by: Martin Kustermann <kustermann@google.com>