RTEMS | cpukit/libdl: Read the RAP format version 3 (!1575)

Sebastian Huber (@sebhub) gitlab at rtems.org
Tue Nov 10 08:15:38 UTC 2026



Sebastian Huber created a merge request: https://gitlab.rtems.org/rtems/rtos/rtems/-/merge_requests/1575

Project:Branches: sebhub/rtems:up/libdl-rap-v3 to rtems/rtos/rtems:main
Author: Sebastian Huber

## Summary

Closes #5801.

**Problem:** The RAP loader takes the relocation type with `ELF_R_TYPE()` from the info word. On a 64-bit target this macro returns the low 32 bits, which include the section index or the string offset, so the RISC-V loader rejects a type of 279. The AArch64 types start at 257 and do not fit into bits 7:0 of the info word at all.

**Fix:** Read the type from bits 7:0 of the info word in a version 2 file. Read it from the word after the info word in a version 3 file. Reject other versions.

**Review hints:**

- Version 3 is written by `rtems-ld` with rtems/tools/rtems-tools!100 (rtems/tools/rtems-tools#45).
- `dl06` keeps its expected failure until this MR, rtems/tools/rtems-tools!100 and !1574 are merged.

## Test

`dl06` with the `rtems-ld` of rtems/tools/rtems-tools!100:

| Build | `dl06` |
| --- | --- |
| `main` | the load fails at the relocation types on all 11 simulator BSPs that build `dl06` |
| this MR | `aarch64/a53_lp64_qemu`, `riscv/rv64imafdc` and `sparc/gr740` stop only at `_tls_rand48_add` (#5802) |
| this MR and !1574 | `END OF TEST` on all 11 BSPs |

## AI Details
<!-- Make sure you have read our statement at https://www.rtems.org/generative-ai/ -->

### Prompt used

None as a single prompt.  The work was done in an interactive Claude Code session on the RTEMS tree.  Each change was directed and reviewed.

### AI model used

Claude Opus 5.5 (claude-opus-5-5), through Claude Code.

### How AI was used for the contribution

- ( ) Formatting
- ( ) Test creation.
- (x) Code comments.
- ( ) The entire contribution was generated using AI
- ( ) AI code completion such as Copilot in VSCode.

The implementation was produced in that session under my direction, and the commit message was drafted there.

### Access

I have not used a product which claims copyright in its output, and I have legitimate access to the one I used.

-- 
View it on GitLab: https://gitlab.rtems.org/rtems/rtos/rtems/-/merge_requests/1575
You're receiving this email because of your account on gitlab.rtems.org. Unsubscribe from this thread: https://gitlab.rtems.org/-/namespace/49/sent_notifications/6-6947p1p0aj4n0walzctc4vgkf-1d/unsubscribe | Manage all notifications: https://gitlab.rtems.org/-/profile/notifications | Help: https://gitlab.rtems.org/help


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.rtems.org/pipermail/bugs/attachments/20261110/d1a1da54/attachment.htm>


More information about the bugs mailing list