gnustep / libobjc2

Objective-C runtime library intended for use with Clang.
http://www.gnustep.org/
MIT License
434 stars 118 forks source link

objc_msgSend for ARM contains text relocations #92

Closed triplef closed 5 years ago

triplef commented 5 years ago

Text relocations are no longer supported on Android with API level >= 23, so libobjc2 can currently not be used on that platform due to text relocations in objc_msgSend.arm.S.

We’d love to see this fixed in the official release. My assembly knowledge is unfortunately lacking, but if there’s anything else we can do to make this happen (e.g. testing) please let me know. Thanks!

triplef commented 5 years ago

@davidchisnall I know you’ve been working with @gcasa on a patch for this, but unfortunately we found that it breaks support for small int classes.

davidchisnall commented 5 years ago

I need to set up an ARM emulator image to debug this on. The fix is very simple, but quite fiddly.

triplef commented 5 years ago

Thanks. Feel free to get in touch if an actual device would make this easier, you can find my email in the git history. :)

davidchisnall commented 5 years ago

If you've got a device with clang and the libobjc2 sources installed that I can ssh into, that would be great.

triplef commented 5 years ago

We don’t have a way to set that up with public access, but we could probably sponsor you a device. Feel free to send me an email if that would help.

triplef commented 5 years ago

Thank you David! Much appreciated.

davidchisnall commented 5 years ago

Are you able to test the AArch64 version in #97?