[Scummvm-tracker] [ScummVM :: Bugs] #13938: RISCOS: Investigate support for building with EABI toolchains?
ScummVM :: Bugs
trac at scummvm.org
Fri Nov 18 22:13:04 UTC 2022
#13938: RISCOS: Investigate support for building with EABI toolchains?
----------------------------+----------------------------
Reporter: ccawley2011 | Owner: (none)
Type: feature request | Status: new
Priority: low | Component: Port: RISC OS
Version: | Resolution:
Keywords: | Game:
----------------------------+----------------------------
Comment (by ccawley2011):
Some info from the NetSurf IRC channel so that I don't forget about it:
<tlsa> jmb: what's the state of play with arm-riscos-gnueabihf
<jmb> it works, but you don't want to use it
<tlsa> why?
<jmb> a) the abi triplet needs renaming (it does not produce output
compatible with the real hard-float compiler)
<jmb> b) stack unwinding is utterly broken (by design -- the only way to
unwind now is with additional unwind data)
<jmb> c) the toolchain produces a bogus mishmash of APCS-32 and AAPCS
function pre/postambles
<tlsa> `b` just affects our crash logging?
<jmb> I believe what's there is just dangerous
<tlsa> ah
<jmb> but yes, providing it doesn't run off into the weeds
(later...)
<jmb> tlsa: that's (a) fixed
<jmb> (I've renamed it arm-riscos-gnueabi, which aligns with the Debian
armel/armhf triplet names)
<jmb> in theory, the only thing needed for a gnueabihf build is a suitable
toolchain (which can drop a bunch of the compatibility patches that the
gnueabi toolchain needs)
<jmb> (both the core buildsystem and NetSurf's will dtrt in either case)
<jmb> note that I've not shoved an ARMEABISupport binary in the RO
distribution because a) I only have one I built myself, which is hardly
controlled and b) I can find no actual licensing information for it
<jmb> sources are here:
https://www.riscos.info/websvn/listing.php?repname=gccsdk&path=%2Ftrunk%2Fgcc4%2Friscos%2Farmeabisupport%2F
<tlsa> Nice!
<tlsa> There's an unwinding commit too
<tlsa> Is that b or was there more to it?
<jmb> that just adds the metadata
<jmb> there's no code in unixlib to look at it
<tlsa> ah, like libunwind?
<jmb> yeah
<jmb> but not libunwind as that makes assumptions (and explodes violently
if they're not met -- I've already stepped on that landmine)
<tlsa> heh
<jmb> https://paste.rs/LXL contains something that basically "works", but
would need transplanting into unixlib
<tlsa> oh, cool
--
Ticket URL: <https://bugs.scummvm.org/ticket/13938#comment:1>
ScummVM :: Bugs <https://bugs.scummvm.org>
ScummVM
More information about the Scummvm-tracker
mailing list