am d5e8a049
: Merge "Fix bug number for linker related workarounds"
* commit 'd5e8a0499b9efa147d45aabd47cfb2d2204c2323': Fix bug number for linker related workarounds
This commit is contained in:
commit
972330476c
6 changed files with 17 additions and 17 deletions
|
@ -1926,7 +1926,7 @@ cc_library {
|
||||||
// special for arm
|
// special for arm
|
||||||
arch: {
|
arch: {
|
||||||
arm: {
|
arm: {
|
||||||
//TODO: This is to work around b/19059885. Remove after root cause is fixed
|
//TODO: This is to work around b/24465209. Remove after root cause is fixed
|
||||||
ldflags: ["-Wl,--hash-style=both"],
|
ldflags: ["-Wl,--hash-style=both"],
|
||||||
|
|
||||||
shared: {
|
shared: {
|
||||||
|
@ -1941,7 +1941,7 @@ cc_library {
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
x86: {
|
x86: {
|
||||||
//TODO: This is to work around b/19059885. Remove after root cause is fixed
|
//TODO: This is to work around b/24465209. Remove after root cause is fixed
|
||||||
ldflags: ["-Wl,--hash-style=both"],
|
ldflags: ["-Wl,--hash-style=both"],
|
||||||
},
|
},
|
||||||
x86_64: {
|
x86_64: {
|
||||||
|
@ -2080,7 +2080,7 @@ cc_library {
|
||||||
sanitize: ["never"],
|
sanitize: ["never"],
|
||||||
native_coverage: bionic_coverage,
|
native_coverage: bionic_coverage,
|
||||||
|
|
||||||
//TODO: This is to work around b/19059885. Remove after root cause is fixed
|
//TODO: This is to work around b/24465209. Remove after root cause is fixed
|
||||||
arch: {
|
arch: {
|
||||||
arm: {
|
arm: {
|
||||||
ldflags: ["-Wl,--hash-style=both"],
|
ldflags: ["-Wl,--hash-style=both"],
|
||||||
|
|
|
@ -1391,7 +1391,7 @@ LOCAL_LDFLAGS_64 := -Wl,--exclude-libs,libgcc.a
|
||||||
# prevent the build system from using this flag.
|
# prevent the build system from using this flag.
|
||||||
LOCAL_NO_EXCLUDE_LIBS := true
|
LOCAL_NO_EXCLUDE_LIBS := true
|
||||||
|
|
||||||
# TODO: This is to work around b/19059885. Remove after root cause is fixed
|
# TODO: This is to work around b/24465209. Remove after root cause is fixed
|
||||||
LOCAL_LDFLAGS_arm := -Wl,--hash-style=both
|
LOCAL_LDFLAGS_arm := -Wl,--hash-style=both
|
||||||
LOCAL_LDFLAGS_x86 := -Wl,--hash-style=both
|
LOCAL_LDFLAGS_x86 := -Wl,--hash-style=both
|
||||||
|
|
||||||
|
@ -1531,7 +1531,7 @@ LOCAL_C_INCLUDES := $(libc_common_c_includes) bionic/libstdc++/include
|
||||||
LOCAL_CFLAGS := $(libc_common_cflags)
|
LOCAL_CFLAGS := $(libc_common_cflags)
|
||||||
LOCAL_CPPFLAGS := $(libc_common_cppflags)
|
LOCAL_CPPFLAGS := $(libc_common_cppflags)
|
||||||
|
|
||||||
# TODO: This is to work around b/19059885. Remove after root cause is fixed
|
# TODO: This is to work around b/24465209. Remove after root cause is fixed
|
||||||
LOCAL_LDFLAGS_arm := -Wl,--hash-style=both
|
LOCAL_LDFLAGS_arm := -Wl,--hash-style=both
|
||||||
LOCAL_LDFLAGS_x86 := -Wl,--hash-style=both
|
LOCAL_LDFLAGS_x86 := -Wl,--hash-style=both
|
||||||
|
|
||||||
|
|
|
@ -514,7 +514,7 @@ include $(CLEAR_VARS)
|
||||||
|
|
||||||
LOCAL_ADDITIONAL_DEPENDENCIES := $(LOCAL_PATH)/libm.map
|
LOCAL_ADDITIONAL_DEPENDENCIES := $(LOCAL_PATH)/libm.map
|
||||||
|
|
||||||
# TODO: This is to work around b/19059885. Remove after root cause is fixed
|
# TODO: This is to work around b/24465209. Remove after root cause is fixed
|
||||||
LOCAL_LDFLAGS_arm := -Wl,--hash-style=both
|
LOCAL_LDFLAGS_arm := -Wl,--hash-style=both
|
||||||
LOCAL_LDFLAGS_x86 := -Wl,--hash-style=both
|
LOCAL_LDFLAGS_x86 := -Wl,--hash-style=both
|
||||||
|
|
||||||
|
|
|
@ -35,8 +35,8 @@ LOCAL_CFLAGS += \
|
||||||
-fvisibility=hidden \
|
-fvisibility=hidden \
|
||||||
-Wall -Wextra -Wunused -Werror \
|
-Wall -Wextra -Wunused -Werror \
|
||||||
|
|
||||||
LOCAL_CFLAGS_arm += -D__work_around_b_19059885__
|
LOCAL_CFLAGS_arm += -D__work_around_b_24465209__
|
||||||
LOCAL_CFLAGS_x86 += -D__work_around_b_19059885__
|
LOCAL_CFLAGS_x86 += -D__work_around_b_24465209__
|
||||||
|
|
||||||
LOCAL_CONLYFLAGS += \
|
LOCAL_CONLYFLAGS += \
|
||||||
-std=gnu99 \
|
-std=gnu99 \
|
||||||
|
|
|
@ -1656,7 +1656,7 @@ static void soinfo_unload(soinfo* root) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
#if !defined(__work_around_b_19059885__)
|
#if !defined(__work_around_b_24465209__)
|
||||||
__libc_fatal("soinfo for \"%s\"@%p has no version", si->get_realpath(), si);
|
__libc_fatal("soinfo for \"%s\"@%p has no version", si->get_realpath(), si);
|
||||||
#else
|
#else
|
||||||
PRINT("warning: soinfo for \"%s\"@%p has no version", si->get_realpath(), si);
|
PRINT("warning: soinfo for \"%s\"@%p has no version", si->get_realpath(), si);
|
||||||
|
@ -2435,7 +2435,7 @@ void soinfo::set_dt_flags_1(uint32_t dt_flags_1) {
|
||||||
}
|
}
|
||||||
|
|
||||||
const char* soinfo::get_realpath() const {
|
const char* soinfo::get_realpath() const {
|
||||||
#if defined(__work_around_b_19059885__)
|
#if defined(__work_around_b_24465209__)
|
||||||
if (has_min_version(2)) {
|
if (has_min_version(2)) {
|
||||||
return realpath_.c_str();
|
return realpath_.c_str();
|
||||||
} else {
|
} else {
|
||||||
|
@ -2447,7 +2447,7 @@ const char* soinfo::get_realpath() const {
|
||||||
}
|
}
|
||||||
|
|
||||||
const char* soinfo::get_soname() const {
|
const char* soinfo::get_soname() const {
|
||||||
#if defined(__work_around_b_19059885__)
|
#if defined(__work_around_b_24465209__)
|
||||||
if (has_min_version(2)) {
|
if (has_min_version(2)) {
|
||||||
return soname_;
|
return soname_;
|
||||||
} else {
|
} else {
|
||||||
|
@ -2978,7 +2978,7 @@ bool soinfo::prelink_image() {
|
||||||
switch (d->d_tag) {
|
switch (d->d_tag) {
|
||||||
case DT_SONAME:
|
case DT_SONAME:
|
||||||
soname_ = get_string(d->d_un.d_val);
|
soname_ = get_string(d->d_un.d_val);
|
||||||
#if defined(__work_around_b_19059885__)
|
#if defined(__work_around_b_24465209__)
|
||||||
strlcpy(old_name_, soname_, sizeof(old_name_));
|
strlcpy(old_name_, soname_, sizeof(old_name_));
|
||||||
#endif
|
#endif
|
||||||
break;
|
break;
|
||||||
|
|
|
@ -88,7 +88,7 @@
|
||||||
|
|
||||||
#define SOINFO_VERSION 2
|
#define SOINFO_VERSION 2
|
||||||
|
|
||||||
#if defined(__work_around_b_19059885__)
|
#if defined(__work_around_b_24465209__)
|
||||||
#define SOINFO_NAME_LEN 128
|
#define SOINFO_NAME_LEN 128
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
@ -163,7 +163,7 @@ class VersionTracker {
|
||||||
struct soinfo {
|
struct soinfo {
|
||||||
public:
|
public:
|
||||||
typedef LinkedList<soinfo, SoinfoListAllocator> soinfo_list_t;
|
typedef LinkedList<soinfo, SoinfoListAllocator> soinfo_list_t;
|
||||||
#if defined(__work_around_b_19059885__)
|
#if defined(__work_around_b_24465209__)
|
||||||
private:
|
private:
|
||||||
char old_name_[SOINFO_NAME_LEN];
|
char old_name_[SOINFO_NAME_LEN];
|
||||||
#endif
|
#endif
|
||||||
|
@ -174,13 +174,13 @@ struct soinfo {
|
||||||
ElfW(Addr) base;
|
ElfW(Addr) base;
|
||||||
size_t size;
|
size_t size;
|
||||||
|
|
||||||
#if defined(__work_around_b_19059885__)
|
#if defined(__work_around_b_24465209__)
|
||||||
uint32_t unused1; // DO NOT USE, maintained for compatibility.
|
uint32_t unused1; // DO NOT USE, maintained for compatibility.
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
ElfW(Dyn)* dynamic;
|
ElfW(Dyn)* dynamic;
|
||||||
|
|
||||||
#if defined(__work_around_b_19059885__)
|
#if defined(__work_around_b_24465209__)
|
||||||
uint32_t unused2; // DO NOT USE, maintained for compatibility
|
uint32_t unused2; // DO NOT USE, maintained for compatibility
|
||||||
uint32_t unused3; // DO NOT USE, maintained for compatibility
|
uint32_t unused3; // DO NOT USE, maintained for compatibility
|
||||||
#endif
|
#endif
|
||||||
|
@ -298,7 +298,7 @@ struct soinfo {
|
||||||
bool is_gnu_hash() const;
|
bool is_gnu_hash() const;
|
||||||
|
|
||||||
bool inline has_min_version(uint32_t min_version __unused) const {
|
bool inline has_min_version(uint32_t min_version __unused) const {
|
||||||
#if defined(__work_around_b_19059885__)
|
#if defined(__work_around_b_24465209__)
|
||||||
return (flags_ & FLAG_NEW_SOINFO) != 0 && version_ >= min_version;
|
return (flags_ & FLAG_NEW_SOINFO) != 0 && version_ >= min_version;
|
||||||
#else
|
#else
|
||||||
return true;
|
return true;
|
||||||
|
|
Loading…
Reference in a new issue