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


_______________________________________________
bugs mailing list
[email protected]
http://lists.rtems.org/mailman/listinfo/bugs

Reply via email to