dyld: Add nac3ld support #194

Merged
sb10q merged 3 commits from occheung/artiq-zynq:nac3ld-support into master 2022-06-01 21:27:38 +08:00
Owner

ARTIQ PR 1899

Additional handled type

R_ARM_PREL31: Generated for the relocation of personality function to the exception table.

R_ARM_PREL31 requires symbol lookup, but the value to be relocated is not the absolute address. Therefore, the Lookup RelType was broken up into LookupAbs and LookupRel to emphasize the difference. In addition, R_ARM_PREL31 only moves the lower 31 bits of the value to the memory.

Rebinding

To accomodate the lack of PLT relocations, the RELA type relocations will be looked up should there be no PLT relocations.

Tests (After fixing dl_unwind_find_exidx)

  • Passed artiq.test using the legacy compiler.
  • Able to compile & link nac3devices.py example in mainline ARTIQ.
### Related PR [ARTIQ PR 1899](https://github.com/m-labs/artiq/pull/1899) ## Additional handled type `R_ARM_PREL31`: Generated for the relocation of personality function to the exception table. `R_ARM_PREL31` requires symbol lookup, but the value to be relocated is not the absolute address. Therefore, the `Lookup` RelType was broken up into `LookupAbs` and `LookupRel` to emphasize the difference. In addition, `R_ARM_PREL31` only moves the lower 31 bits of the value to the memory. ## Rebinding To accomodate the lack of PLT relocations, the `RELA` type relocations will be looked up should there be no PLT relocations. ### Tests (After fixing dl_unwind_find_exidx) - Passed `artiq.test` using the legacy compiler. - Able to compile & link `nac3devices.py` example in mainline ARTIQ.
occheung added 3 commits 2022-06-01 19:05:26 +08:00
sb10q merged commit 9ec6a1feab into master 2022-06-01 21:27:38 +08:00
Sign in to join this conversation.
No reviewers
No Milestone
No Assignees
1 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: M-Labs/artiq-zynq#194
No description provided.