Closed gpakosz closed 8 years ago
So, clearly someone tried to make this work: https://android.googlesource.com/platform/ndk/+/master/sources/cxx-stl/gnu-libstdc++/Android.mk#20
But apparently they never tested that the change would work, because that obviously can't work because the user can never affect LOCAL_ARM_MODE
for that module. I suppose you could run ndk-build LOCAL_ARM_MODE=arm
, but I really doubt that was the intended use case (it would have been named differently if it was).
So, aside from the fact that it doesn't work, why do you want it to work? If we find that, for example, gnustl performs better as arm rather than thumb, we'll just make gnustl always be arm rather than ship both and put the burden on the users...
Well, I since you're packaging both arm and thumb versions of the libraries instead of making a choice like what's your suggesting in your last paragraph, I expected it was better to not mix arm and thumb
There's no problem with mixing arm and thumb. Occasionally one may perform better than the other, but it's usually negligible. The only real value is if you're writing your own assembly then you might want one or the other, but that doesn't apply to a library that isn't yours.
I really don't know why that earlier patch was made. Since it doesn't work, I'm probably going to drop the arm versions of the libraries. Going to commandeer this bug to track that.
Hello,
Considering the following setup:
Application.mk
:Android.mk
:foo.cpp
:Then building with
gives the following output:
Is it a misunderstanding on my part or should the non-thumb version of
libgnustl_shared.so
be pulled into my project?If not, is there a variable supposed to be used in order select the thumb vs arm version of the STL?