Tux Posted August 30, 2020 Share Posted August 30, 2020 (edited) For me at least, the data segment suddenly stopped being executable, which crashed all the asm in raine. That's with the latest binutils update, 2.35, it's very likely related even if I didn't find any info about it. You won't see any problem as long as you don't recompile the code with a linker from this 2.35 binutils release, so the released binaries will be ok. For the new ones, I just committed a patch to git, it was easier to make than what I had feared, just call mprotect on the data segment of 1 of these functions, and since all the asm functions are grouped in the same segment by the linker, there is just 1 mprotect call to make. It's very linux specific, but afaik no other os did that, except osx, but I don't care about osx anymore, and this patching wouldn't work in osx (unless they have /proc/pid/mappings, which I doubt !). It took me a big part of the day to find this, I just wanted to test something else this morning and stumbled on this... it was a bad day starting ! Anyway, back to normal now ! Oh, by the way this new linker also emits some warnings about relocations, but they are just harmless warnings, so they will stay for now. I patched only 1 function with the problem because that makes it shorter and more readable, it's the contrary for all the other functions, so they will stay as they are for now ! Warning looks like that : /usr/bin/ld: linux-gnu-sdl/objectd/68000/s68000.o: warning: relocation in read-only section `.text' /usr/bin/ld: warning: creating DT_TEXTREL in a PIE Edited August 30, 2020 by Tux Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now