Move API levels from `uint32_t` to `int`.
(cherrypick of a6c71a09670ca636cca5cfea9d74b03a951e2b5e.)
Bug: N/A
Test: builds
Change-Id: I9c414e30e3c4fe2a4e16a2fe4ce18eae85fe4844
diff --git a/libc/bionic/libc_init_dynamic.cpp b/libc/bionic/libc_init_dynamic.cpp
index 5f76354..6b2d86f 100644
--- a/libc/bionic/libc_init_dynamic.cpp
+++ b/libc/bionic/libc_init_dynamic.cpp
@@ -138,8 +138,8 @@
args.envp));
}
-extern "C" uint32_t android_get_application_target_sdk_version();
+extern "C" int android_get_application_target_sdk_version();
-uint32_t bionic_get_application_target_sdk_version() {
+int bionic_get_application_target_sdk_version() {
return android_get_application_target_sdk_version();
}
diff --git a/libc/bionic/libc_init_static.cpp b/libc/bionic/libc_init_static.cpp
index 38a04f8..a54840b 100644
--- a/libc/bionic/libc_init_static.cpp
+++ b/libc/bionic/libc_init_static.cpp
@@ -146,16 +146,16 @@
__real_libc_init(raw_args, onexit, slingshot, structors);
}
-static uint32_t g_target_sdk_version{__ANDROID_API__};
+static int g_target_sdk_version{__ANDROID_API__};
-extern "C" uint32_t android_get_application_target_sdk_version() {
+extern "C" int android_get_application_target_sdk_version() {
return g_target_sdk_version;
}
-uint32_t bionic_get_application_target_sdk_version() {
+int bionic_get_application_target_sdk_version() {
return android_get_application_target_sdk_version();
}
-extern "C" void android_set_application_target_sdk_version(uint32_t target) {
+extern "C" void android_set_application_target_sdk_version(int target) {
g_target_sdk_version = target;
}
diff --git a/libc/private/bionic_sdk_version.h b/libc/private/bionic_sdk_version.h
index 871d25c..b352d9a 100644
--- a/libc/private/bionic_sdk_version.h
+++ b/libc/private/bionic_sdk_version.h
@@ -19,6 +19,6 @@
#include <stdint.h>
-uint32_t bionic_get_application_target_sdk_version();
+int bionic_get_application_target_sdk_version();
#endif // _BIONIC_SDK_VERSION_H_
diff --git a/libdl/libdl.cpp b/libdl/libdl.cpp
index 402804e..a468f81 100644
--- a/libdl/libdl.cpp
+++ b/libdl/libdl.cpp
@@ -67,10 +67,10 @@
const void* caller_addr);
__attribute__((__weak__, visibility("default")))
-void __loader_android_set_application_target_sdk_version(uint32_t target);
+void __loader_android_set_application_target_sdk_version(int target);
__attribute__((__weak__, visibility("default")))
-uint32_t __loader_android_get_application_target_sdk_version();
+int __loader_android_get_application_target_sdk_version();
__attribute__((__weak__, visibility("default")))
bool __loader_android_init_anonymous_namespace(const char* shared_libs_sonames,
@@ -165,12 +165,12 @@
}
__attribute__((__weak__))
-void android_set_application_target_sdk_version(uint32_t target) {
+void android_set_application_target_sdk_version(int target) {
__loader_android_set_application_target_sdk_version(target);
}
__attribute__((__weak__))
-uint32_t android_get_application_target_sdk_version() {
+int android_get_application_target_sdk_version() {
return __loader_android_get_application_target_sdk_version();
}
diff --git a/linker/dlfcn.cpp b/linker/dlfcn.cpp
index dfe8e8c..45ae6ed 100644
--- a/linker/dlfcn.cpp
+++ b/linker/dlfcn.cpp
@@ -57,7 +57,7 @@
const android_dlextinfo* extinfo,
const void* caller_addr) __LINKER_PUBLIC__;
void __loader_android_dlwarning(void* obj, void (*f)(void*, const char*)) __LINKER_PUBLIC__;
-uint32_t __loader_android_get_application_target_sdk_version() __LINKER_PUBLIC__;
+int __loader_android_get_application_target_sdk_version() __LINKER_PUBLIC__;
void __loader_android_get_LD_LIBRARY_PATH(char* buffer, size_t buffer_size) __LINKER_PUBLIC__;
android_namespace_t* __loader_android_get_exported_namespace(const char* name) __LINKER_PUBLIC__;
bool __loader_android_init_anonymous_namespace(const char* shared_libs_sonames,
@@ -67,7 +67,7 @@
const char* shared_libs_sonames) __LINKER_PUBLIC__;
bool __loader_android_link_namespaces_all_libs(android_namespace_t* namespace_from,
android_namespace_t* namespace_to) __LINKER_PUBLIC__;
-void __loader_android_set_application_target_sdk_version(uint32_t target) __LINKER_PUBLIC__;
+void __loader_android_set_application_target_sdk_version(int target) __LINKER_PUBLIC__;
void __loader_android_update_LD_LIBRARY_PATH(const char* ld_library_path) __LINKER_PUBLIC__;
void __loader_cfi_fail(uint64_t CallSiteTypeId,
void* Ptr,
@@ -204,13 +204,13 @@
}
#endif
-void __loader_android_set_application_target_sdk_version(uint32_t target) {
+void __loader_android_set_application_target_sdk_version(int target) {
// lock to avoid modification in the middle of dlopen.
ScopedPthreadMutexLocker locker(&g_dl_mutex);
set_application_target_sdk_version(target);
}
-uint32_t __loader_android_get_application_target_sdk_version() {
+int __loader_android_get_application_target_sdk_version() {
return get_application_target_sdk_version();
}
diff --git a/linker/linker.h b/linker/linker.h
index dd45f67..91d3ddf 100644
--- a/linker/linker.h
+++ b/linker/linker.h
@@ -131,8 +131,8 @@
// void ___cfi_slowpath_diag(uint64_t CallSiteTypeId, void *Ptr, void *DiagData, void *Ret);
void ___cfi_fail(uint64_t CallSiteTypeId, void* Ptr, void *DiagData, void *Ret);
-void set_application_target_sdk_version(uint32_t target);
-uint32_t get_application_target_sdk_version();
+void set_application_target_sdk_version(int target);
+int get_application_target_sdk_version();
enum {
/* A regular namespace is the namespace with a custom search path that does
diff --git a/linker/linker_config.h b/linker/linker_config.h
index 24c44f4..49739ee 100644
--- a/linker/linker_config.h
+++ b/linker/linker_config.h
@@ -140,7 +140,7 @@
return it == namespace_configs_map_.end() ? nullptr : it->second;
}
- uint32_t target_sdk_version() const {
+ int target_sdk_version() const {
return target_sdk_version_;
}
@@ -159,7 +159,7 @@
private:
void clear();
- void set_target_sdk_version(uint32_t target_sdk_version) {
+ void set_target_sdk_version(int target_sdk_version) {
target_sdk_version_ = target_sdk_version;
}
@@ -167,7 +167,7 @@
std::vector<std::unique_ptr<NamespaceConfig>> namespace_configs_;
std::unordered_map<std::string, NamespaceConfig*> namespace_configs_map_;
- uint32_t target_sdk_version_;
+ int target_sdk_version_;
DISALLOW_COPY_AND_ASSIGN(Config);
};
diff --git a/linker/linker_sdk_versions.cpp b/linker/linker_sdk_versions.cpp
index 7bfa26c..b06f3e6 100644
--- a/linker/linker_sdk_versions.cpp
+++ b/linker/linker_sdk_versions.cpp
@@ -30,9 +30,9 @@
#include <android/api-level.h>
#include <atomic>
-static std::atomic<uint32_t> g_target_sdk_version(__ANDROID_API__);
+static std::atomic<int> g_target_sdk_version(__ANDROID_API__);
-void set_application_target_sdk_version(uint32_t target) {
+void set_application_target_sdk_version(int target) {
// translate current sdk_version to platform sdk_version
if (target == 0) {
target = __ANDROID_API__;
@@ -40,7 +40,7 @@
g_target_sdk_version = target;
}
-uint32_t get_application_target_sdk_version() {
+int get_application_target_sdk_version() {
return g_target_sdk_version;
}
diff --git a/linker/linker_soinfo.cpp b/linker/linker_soinfo.cpp
index 795b01d..71e8a4d 100644
--- a/linker/linker_soinfo.cpp
+++ b/linker/linker_soinfo.cpp
@@ -44,7 +44,7 @@
// TODO(dimitry): These functions are currently located in linker.cpp - find a better place for it
bool find_verdef_version_index(const soinfo* si, const version_info* vi, ElfW(Versym)* versym);
ElfW(Addr) call_ifunc_resolver(ElfW(Addr) resolver_addr);
-uint32_t get_application_target_sdk_version();
+int get_application_target_sdk_version();
soinfo::soinfo(android_namespace_t* ns, const char* realpath,
const struct stat* file_stat, off64_t file_offset,
@@ -719,7 +719,7 @@
// This function returns api-level at the time of
// dlopen/load. Note that libraries opened by system
// will always have 'current' api level.
-uint32_t soinfo::get_target_sdk_version() const {
+int soinfo::get_target_sdk_version() const {
if (!has_min_version(2)) {
return __ANDROID_API__;
}
diff --git a/linker/linker_soinfo.h b/linker/linker_soinfo.h
index 7331b2f..44bff28 100644
--- a/linker/linker_soinfo.h
+++ b/linker/linker_soinfo.h
@@ -276,7 +276,7 @@
ElfW(Addr) get_verdef_ptr() const;
size_t get_verdef_cnt() const;
- uint32_t get_target_sdk_version() const;
+ int get_target_sdk_version() const;
void set_dt_runpath(const char *);
const std::vector<std::string>& get_dt_runpath() const;
@@ -353,7 +353,7 @@
ElfW(Addr) verneed_ptr_;
size_t verneed_cnt_;
- uint32_t target_sdk_version_;
+ int target_sdk_version_;
// version >= 3
std::vector<std::string> dt_runpath_;
diff --git a/linker/tests/linker_config_test.cpp b/linker/tests/linker_config_test.cpp
index 9208d9d..9260351 100644
--- a/linker/tests/linker_config_test.cpp
+++ b/linker/tests/linker_config_test.cpp
@@ -144,7 +144,7 @@
ASSERT_TRUE(config != nullptr);
ASSERT_TRUE(error_msg.empty());
- ASSERT_EQ(113U, config->target_sdk_version());
+ ASSERT_EQ(113, config->target_sdk_version());
const NamespaceConfig* default_ns_config = config->default_namespace_config();
ASSERT_TRUE(default_ns_config != nullptr);
diff --git a/tests/dlext_private.h b/tests/dlext_private.h
index 2621a68..b338ae0 100644
--- a/tests/dlext_private.h
+++ b/tests/dlext_private.h
@@ -98,7 +98,7 @@
extern bool android_link_namespaces_all_libs(android_namespace_t* from,
android_namespace_t* to);
-extern void android_set_application_target_sdk_version(uint32_t target);
+extern void android_set_application_target_sdk_version(int target);
__END_DECLS
diff --git a/tests/libdl_test.cpp b/tests/libdl_test.cpp
index b162edc..0c2bf67 100644
--- a/tests/libdl_test.cpp
+++ b/tests/libdl_test.cpp
@@ -18,17 +18,17 @@
#include <android/api-level.h>
-extern "C" uint32_t android_get_application_target_sdk_version();
-extern "C" void android_set_application_target_sdk_version(uint32_t target);
+extern "C" int android_get_application_target_sdk_version();
+extern "C" void android_set_application_target_sdk_version(int target);
TEST(libdl, application_sdk_versions_smoke) {
// Check initial values
- ASSERT_EQ(static_cast<uint32_t>(__ANDROID_API__), android_get_application_target_sdk_version());
+ ASSERT_EQ(__ANDROID_API__, android_get_application_target_sdk_version());
- android_set_application_target_sdk_version(20U);
- ASSERT_EQ(20U, android_get_application_target_sdk_version());
+ android_set_application_target_sdk_version(20);
+ ASSERT_EQ(20, android_get_application_target_sdk_version());
- android_set_application_target_sdk_version(22U);
- ASSERT_EQ(22U, android_get_application_target_sdk_version());
+ android_set_application_target_sdk_version(22);
+ ASSERT_EQ(22, android_get_application_target_sdk_version());
}
diff --git a/tests/semaphore_test.cpp b/tests/semaphore_test.cpp
index 10d99ea..690e886 100644
--- a/tests/semaphore_test.cpp
+++ b/tests/semaphore_test.cpp
@@ -174,7 +174,7 @@
ASSERT_EQ(1, i);
}
-extern "C" void android_set_application_target_sdk_version(uint32_t target);
+extern "C" void android_set_application_target_sdk_version(int target);
static void sem_wait_test_signal_handler(int) {
}