Add changes to support 32 bit addend address in ELF patching in next gen AIE devices #8676
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Problem solved by the commit
Earlier rela dynamic sections addend fields higher 28 bits were used for holding base buffers addend address but 28 bits are not sufficient in all cases.
This change adds support for 32 bit addend.
AIEBU generates new ELF with ABI version 2 which uses rela section entries r_addend for 32 bit addend address and type is used for patching schema. Made changes according to new spec.
Bug / issue (if any) fixed, which PR introduced the bug, how it was discovered
Added support for 32 bit addend
How problem was solved, alternative solutions (if any) and why they were rejected
Ideally moving to 64 bit ELF should solve the problem but it requires lot of changes from both aiebu and XRT side so this is planned for upcoming releases. Also other solutions which breaks existing ELFs are rejected.
This change doesn't cause any issue as there are version checks
Risks (if any) associated the changes in the commit
Low
What has been tested and how, request additional testing if necessary
Tested failing designs with new elf
Documentation impact (if any)
NA