tl;dr: The question is for an explanation for why std::stringstream
\"fails\", and why it fails in the way it does (by simply doing nothing), when
I can't answer why the NOP is occurring in some permutations. But I did manage to find out about the build failures.
I was in a worse situation than you. I was experiencing the build failures relating to the combination of using c++_static and the default value for LIBCXX_FORCE_REBUILD (false) and had no idea why.
Thanks to you for sharing your research into the various permutations of linking STL - I was able to jump straight to the salient documentation to fix the build error.
It's likely that you need libatomic if you #include . Add "LOCAL_LDLIBS += -latomic" for ndk-build
To be able to use libatomic you need to set your NDK_TOOLCHAIN_VERSION to 4.8