add arm7le machine type, configure supoprt for Termux, arm32 FFI repairs - #1050
Conversation
|
That was fast! |
|
A minor note: checking for environment variable A more thorough solution for detecting termux is For completeness: So the Linux-specific if [ -n "$TERMUX_VERSION" ]; then
hardlinks=no
ficould be rewritten as if [ "$(uname -o)" = "Android" ]; then
hardlinks=no
fiSimilary, the if [ -n "$TERMUX_VERSION" ]; then
m32=arm7${unixsuffix}
tm32=tarm7${unixsuffix}
ficould be rewritten as follows, taking advantage of if [ "$CONFIG_UNAME" = "Linux" -a "$(uname -o)" = "Android" ]; then
m32=arm7${unixsuffix}
tm32=tarm7${unixsuffix}
fiAnd the final if [ -n "$TERMUX_VERSION" ]; then
LDFLAGS="${LDFLAGS} ${iconvLib}"
ficould be rewritten as if [ "$CONFIG_UNAME" = "Linux" -a "$(uname -o)" = "Android" ]; then
LDFLAGS="${LDFLAGS} ${iconvLib}"
fi |
|
@cosmos72 Thanks for the pointers! I've opted to set an |
|
Where can I find the new (or updated) PR ? |
|
Oops - now pushed here! |
|
Apart from the trivial default initialization The missing Tested on: Termux version 0.118.3 (from f-droid) on Android 16 tarm64le |
I think that was due to the |
|
It wasn't obvious to me how the |
|
Because That's ugly, as zuo, zlib, lz4, and most linker invocatios from configure don't need it - from what I understand, only the main |
|
Fair point. The practical implications are minimal in this case, since |
…I repairs The `arm7le` machine type corresponds to ARMv7 armel (like Android), while `arm32le` is still ARMv6 armhf (like Raspberry Pi). Running "foreign.ms" tests on `arm32le`, meanwhile, exposed old problems via tests that were added relatively recently. Those problems involved unusual situations: `__collect-safe` mode, structs with unions that have only floating-point fields, and callables that have struct results and floating-point arguments.
The
arm7lemachine type corresponds to ARMv7 armel (like Android), whilearm32leis still ARMv6 armhf (like Raspberry Pi).I was not able to set up a 32-bit ARM Termux environment to make sure everything works. I tired out Arm64 Termux, and I built on armel Debian to test
tarm7le.Running "foreign.ms" tests on
arm32le, meanwhile, exposed old problems via tests that were added relatively recently. Those problems involved unusual situations:__collect-safemode, structs with unions that have only floating-point fields, and callables that have struct results and floating-point arguments.Closes #1049, #1040, #1041