Turn on -Wunused and fix the mistakes it uncovers.

Change-Id: I023d2d8b547fbc21d4124bb7510d42b06a0dc501
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/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..5452f30 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, soinfo* /*caller*/, 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/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 := \