Sebastian Huber commented on a discussion: 
https://gitlab.rtems.org/rtems/rtos/rtems/-/merge_requests/1505#note_160172


Yes, that is right. Two points for the rework:

- Take bit 31 from the original place, not from the sum. The addend `*where` 
also carries bit 31 of the place, and the mask removes it from the sum. One 
helper can serve both the aligned and the unaligned path, for example 
`prel31_field(Elf_Addr value, Elf_Addr place)` with the result `(value & 
0x7fffffff) | (place & 0x80000000)`.
- The title, the commit subject and the description name a sign extension fix. 
Please change them to the new approach, for example `cpukit/libdl: Preserve bit 
31 of a PREL31 place`.

An overflow check in a separate change is fine.

-- 
View it on GitLab: 
https://gitlab.rtems.org/rtems/rtos/rtems/-/merge_requests/1505#note_160172
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/5-aqt4uvh8l8xbildgtxoasy27z-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