Merge "Removes bcopy and bzero from bionic."
diff --git a/benchmarks/Android.mk b/benchmarks/Android.mk
index cf3d692..f9722ae 100644
--- a/benchmarks/Android.mk
+++ b/benchmarks/Android.mk
@@ -24,7 +24,7 @@
benchmark_c_flags = \
-O2 \
- -Wall -Wextra \
+ -Wall -Wextra -Wunused \
-Werror \
-fno-builtin \
-std=gnu++11 \
diff --git a/libc/Android.mk b/libc/Android.mk
index 4783bd3..c0e1d32 100644
--- a/libc/Android.mk
+++ b/libc/Android.mk
@@ -486,7 +486,7 @@
# ========================================================
libc_common_cflags := \
-D_LIBC=1 \
- -Wall -Wextra \
+ -Wall -Wextra -Wunused \
# Try to catch typical 32-bit assumptions that break with 64-bit pointers.
libc_common_cflags += \
@@ -709,8 +709,9 @@
LOCAL_SRC_FILES := $(libc_upstream_openbsd_src_files)
LOCAL_CFLAGS := \
$(libc_common_cflags) \
- -Wno-sign-compare -Wno-uninitialized \
+ -Wno-sign-compare -Wno-uninitialized -Wno-unused-parameter \
-Werror \
+ -Wno-error=unused-but-set-variable \
-I$(LOCAL_PATH)/upstream-openbsd/android/include \
-I$(LOCAL_PATH)/upstream-openbsd/lib/libc/include \
-I$(LOCAL_PATH)/upstream-openbsd/lib/libc/gdtoa/ \
diff --git a/libc/bionic/libc_init_dynamic.cpp b/libc/bionic/libc_init_dynamic.cpp
index 659cf39..7c46364 100644
--- a/libc/bionic/libc_init_dynamic.cpp
+++ b/libc/bionic/libc_init_dynamic.cpp
@@ -94,7 +94,7 @@
// Note that the dynamic linker has also run all constructors in the
// executable at this point.
__noreturn void __libc_init(void* raw_args,
- void (*onexit)(void),
+ void (*onexit)(void) __unused,
int (*slingshot)(int, char**, char**),
structors_array_t const * const structors) {
diff --git a/libc/bionic/libc_init_static.cpp b/libc/bionic/libc_init_static.cpp
index e45422e..ab0b3a6 100644
--- a/libc/bionic/libc_init_static.cpp
+++ b/libc/bionic/libc_init_static.cpp
@@ -85,7 +85,7 @@
}
__noreturn void __libc_init(void* raw_args,
- void (*onexit)(void),
+ void (*onexit)(void) __unused,
int (*slingshot)(int, char**, char**),
structors_array_t const * const structors) {
KernelArgumentBlock args(raw_args);
diff --git a/libdl/Android.mk b/libdl/Android.mk
index 3d60474..cb1cb7d 100644
--- a/libdl/Android.mk
+++ b/libdl/Android.mk
@@ -22,7 +22,7 @@
LOCAL_LDFLAGS_x86_64 := $(LOCAL_LDFLAGS_x86)
LOCAL_SRC_FILES:= libdl.c
-LOCAL_CFLAGS := -Wall -Wextra -Werror
+LOCAL_CFLAGS := -Wall -Wextra -Wunused -Werror
LOCAL_MODULE := libdl
LOCAL_ADDITIONAL_DEPENDENCIES := $(LOCAL_PATH)/Android.mk
diff --git a/linker/Android.mk b/linker/Android.mk
index d2bcfaf..811cf6e 100644
--- a/linker/Android.mk
+++ b/linker/Android.mk
@@ -26,7 +26,7 @@
-fno-stack-protector \
-Wstrict-overflow=5 \
-fvisibility=hidden \
- -Wall -Wextra -Werror \
+ -Wall -Wextra -Wunused -Werror \
LOCAL_CONLYFLAGS += \
-std=gnu99 \
diff --git a/linker/dlfcn.cpp b/linker/dlfcn.cpp
index 7bcb59f..6d63ad6 100644
--- a/linker/dlfcn.cpp
+++ b/linker/dlfcn.cpp
@@ -65,10 +65,9 @@
do_android_update_LD_LIBRARY_PATH(ld_library_path);
}
-static void* dlopen_ext(const char* filename, int flags, const android_dlextinfo* extinfo, const void* caller_addr) {
+static void* dlopen_ext(const char* filename, int flags, const android_dlextinfo* extinfo) {
ScopedPthreadMutexLocker locker(&g_dl_mutex);
- soinfo* caller_soinfo = find_containing_library(caller_addr);
- soinfo* result = do_dlopen(filename, flags, caller_soinfo, extinfo);
+ soinfo* result = do_dlopen(filename, flags, extinfo);
if (result == NULL) {
__bionic_format_dlerror("dlopen failed", linker_get_error_buffer());
return NULL;
@@ -77,13 +76,11 @@
}
void* android_dlopen_ext(const char* filename, int flags, const android_dlextinfo* extinfo) {
- void* caller_addr = __builtin_return_address(0);
- return dlopen_ext(filename, flags, extinfo, caller_addr);
+ return dlopen_ext(filename, flags, extinfo);
}
void* dlopen(const char* filename, int flags) {
- void* caller_addr = __builtin_return_address(0);
- return dlopen_ext(filename, flags, NULL, caller_addr);
+ return dlopen_ext(filename, flags, NULL);
}
void* dlsym(void* handle, const char* symbol) {
@@ -258,4 +255,3 @@
return &__libdl_info;
}
-
diff --git a/linker/linked_list.h b/linker/linked_list.h
index a6bea6c..52af0f1 100644
--- a/linker/linked_list.h
+++ b/linker/linked_list.h
@@ -59,7 +59,6 @@
template<typename F>
void remove_if(F&& predicate) {
- LinkedListEntry<T>* e = head_;
for (LinkedListEntry<T>* e = head_; e != nullptr; e = e->next) {
if (e->element != nullptr && predicate(e->element)) {
e->element = nullptr;
diff --git a/linker/linker.cpp b/linker/linker.cpp
index 98cb178..a22233d 100644
--- a/linker/linker.cpp
+++ b/linker/linker.cpp
@@ -827,7 +827,7 @@
}
}
-soinfo* do_dlopen(const char* name, int flags, soinfo* caller, const android_dlextinfo* extinfo) {
+soinfo* do_dlopen(const char* name, int flags, const android_dlextinfo* extinfo) {
if ((flags & ~(RTLD_NOW|RTLD_LAZY|RTLD_LOCAL|RTLD_GLOBAL|RTLD_NOLOAD)) != 0) {
DL_ERR("invalid flags to dlopen: %x", flags);
return NULL;
diff --git a/linker/linker.h b/linker/linker.h
index 9d4099d..0a72d92 100644
--- a/linker/linker.h
+++ b/linker/linker.h
@@ -231,7 +231,7 @@
void do_android_get_LD_LIBRARY_PATH(char*, size_t);
void do_android_update_LD_LIBRARY_PATH(const char* ld_library_path);
-soinfo* do_dlopen(const char* name, int flags, soinfo* caller, const android_dlextinfo* extinfo);
+soinfo* do_dlopen(const char* name, int flags, const android_dlextinfo* extinfo);
void do_dlclose(soinfo* si);
ElfW(Sym)* dlsym_linear_lookup(const char* name, soinfo** found, soinfo* start);
diff --git a/linker/tests/Android.mk b/linker/tests/Android.mk
index 831cfcb..683f9ee 100644
--- a/linker/tests/Android.mk
+++ b/linker/tests/Android.mk
@@ -26,7 +26,7 @@
LOCAL_ADDITIONAL_DEPENDENCIES := $(LOCAL_PATH)/Android.mk
-LOCAL_CFLAGS += -g -Wall -Wextra -Werror -std=gnu++11
+LOCAL_CFLAGS += -g -Wall -Wextra -Wunused -Werror -std=gnu++11
LOCAL_C_INCLUDES := $(LOCAL_PATH)/../../libc/
LOCAL_SRC_FILES := \
diff --git a/tests/Android.mk b/tests/Android.mk
index db8dd8c..811c12a 100644
--- a/tests/Android.mk
+++ b/tests/Android.mk
@@ -34,7 +34,7 @@
test_cflags = \
-fstack-protector-all \
-g \
- -Wall -Wextra \
+ -Wall -Wextra -Wunused \
-Werror \
-fno-builtin \