Yang Zhang created a merge request: 
https://gitlab.rtems.org/rtems/rtos/rtems/-/merge_requests/1505

Project:Branches: Chloe/rtems:fix-arm-sign-extend31 to rtems/rtos/rtems:main
Author: Yang Zhang

## Summary

In commit c6eead1353e0 ("libdl: Add C++ exception support to loaded modules"), 
sign_extend31() was refactored, but the sign-extended value was not returned in 
the if block. Instead, execution fell through to 'return 0x7fffffff & val;', 
which unconditionally masks off bit 31 (the sign bit) and converts negative 
offsets into positive values.

This breaks backward R_ARM_PREL31 relocations. Return the sign-extended value 
in the if block so negative 31-bit offsets are correctly preserved as negative 
Elf_SOff values.

Closes #5225.

## Generative AI

None

-- 
View it on GitLab: 
https://gitlab.rtems.org/rtems/rtos/rtems/-/merge_requests/1505
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-75jteh64tc5nodb0q2kv0sm7c-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