summaryrefslogtreecommitdiff
path: root/android
diff options
context:
space:
mode:
authorElliott Hughes <enh@google.com>2021-05-14 13:07:32 -0700
committerElliott Hughes <enh@google.com>2021-05-17 17:52:26 +0000
commit0e9cdb04dfb45edb9b17c3edf8a7923d9cc8d7e5 (patch)
tree4fd1725b74062d2c7ef892b3352c9a24ea5dd6ca /android
parentc2a739c9df98dd673e798021a2d6463c6bfde5bd (diff)
cc/linker.go: check min_sdk_version.
Checking sdk_version broke mainline code that compiles against a current API level but needs to be able to run on an older API level. Bug: http://b/187907243 Test: treehugger Change-Id: If1192ef2809e39b043f0a384775b6c9e3a8bd619
Diffstat (limited to 'android')
-rw-r--r--android/api_levels.go15
1 files changed, 15 insertions, 0 deletions
diff --git a/android/api_levels.go b/android/api_levels.go
index 9bc7e837b..84ab27c4c 100644
--- a/android/api_levels.go
+++ b/android/api_levels.go
@@ -158,6 +158,21 @@ var NoneApiLevel = ApiLevel{
// The first version that introduced 64-bit ABIs.
var FirstLp64Version = uncheckedFinalApiLevel(21)
+// Android has had various kinds of packed relocations over the years
+// (http://b/187907243).
+//
+// API level 30 is where the now-standard SHT_RELR is available.
+var FirstShtRelrVersion = uncheckedFinalApiLevel(30)
+
+// API level 28 introduced SHT_RELR when it was still Android-only, and used an
+// Android-specific relocation.
+var FirstAndroidRelrVersion = uncheckedFinalApiLevel(28)
+
+// API level 23 was when we first had the Chrome relocation packer, which is
+// obsolete and has been removed, but lld can now generate compatible packed
+// relocations itself.
+var FirstPackedRelocationsVersion = uncheckedFinalApiLevel(23)
+
// The first API level that does not require NDK code to link
// libandroid_support.
var FirstNonLibAndroidSupportVersion = uncheckedFinalApiLevel(21)