Improve linker workaround documentation for API levels < 23.
Mention SoLoader as well as ReLinker, because SoLoader was probably more popular. Mention the workaround in both of the relevant sections. Make it a bit clearer that this is mostly just for historical interest now (but not quite completely irrelevant, since the NDK still supports back to API 21).
I also note that facebook's SoLoader docs talk about API levels <= 23 instead of API levels < 23 like we do, but without a specific counterexample -- and no-one's ever given us one -- I'm going to assume our docs are correct.
Change-Id: Ic7723028ba8273dfca9fce7834a31baa372a565f
diff --git a/android-changes-for-ndk-developers.md b/android-changes-for-ndk-developers.md
index e9cfbac..a96e105 100644
--- a/android-changes-for-ndk-developers.md
+++ b/android-changes-for-ndk-developers.md
@@ -47,10 +47,12 @@
dynamic linker's caching code cached failures too, so it was necessary
to topologically sort your libraries and load them in reverse order.
-If you need to support Android devices running OS versions older than
+This issue is no longer relevant to most developers,
+but if you need to support Android devices running OS versions older than
API level 23, you might want to consider
-[ReLinker](https://github.com/KeepSafe/ReLinker) which claims to solve
-these and other problems automatically.
+[ReLinker](https://github.com/KeepSafe/ReLinker) or
+[SoLoader](https://github.com/facebook/SoLoader),
+which claim to solve these problems automatically.
Alternatively, if you don't have too many dependencies, it can be easiest to
simply link all of your code into one big library and sidestep the details of
@@ -76,6 +78,17 @@
the local group. This allows ASAN, for example, to ensure that it can
intercept any symbol.
+This issue is no longer relevant to most developers,
+but if you need to support Android devices running OS versions older than
+API level 23, you might want to consider
+[ReLinker](https://github.com/KeepSafe/ReLinker) or
+[SoLoader](https://github.com/facebook/SoLoader),
+which claim to solve these problems automatically.
+
+Alternatively, if you don't have too many dependencies, it can be easiest to
+simply link all of your code into one big library and sidestep the details of
+library and symbol lookup changes on all past (and future) Android versions.
+
## LD_PRELOAD and 32/64 bit