Opened 16 months ago
Last modified 9 hours ago
#14554 new feature request
PLUGINS: ELF loader doesn't handle mixed ARM and Thumb code
Reported by: | ccawley2011 | Owned by: | sev- |
---|---|---|---|
Priority: | high | Component: | Ports |
Version: | Keywords: | ||
Cc: | Game: |
Description
The Nintendo DS port is compiled as Thumb code, and links with an ARM build of Newlib. However, the ELF loader doesn't properly handle relocations where ARM code in the plugin is called from Thumb code, which results in a crash due to the program counter jumping to an invalid address.
Change History (5)
comment:1 by , 16 months ago
comment:2 by , 12 months ago
Priority: | blocker → high |
---|
Would be nice to get fixed before 2.8.0 release
comment:3 by , 12 months ago
Owner: | set to |
---|---|
Resolution: | → fixed |
Status: | new → closed |
That has been merged
comment:4 by , 12 months ago
Resolution: | fixed |
---|---|
Status: | closed → new |
The workaround isn’t a permanent solution - a proper solution would be to handle the necessary relocations correctly in the ELF loader.
Note:
See TracTickets
for help on using tickets.
PR 5197 has a workaround to allow v2.7.1 to be released, but this should be fixed before v2.8.0 release:
https://github.com/scummvm/scummvm/pull/5197