summary refs log tree commit diff
path: root/elf
diff options
context:
space:
mode:
Diffstat (limited to 'elf')
-rw-r--r--elf/dl-cache.c1
-rw-r--r--elf/dl-runtime.c1
-rw-r--r--elf/dynamic-link.h2
-rw-r--r--elf/rtld.c3
4 files changed, 5 insertions, 2 deletions
diff --git a/elf/dl-cache.c b/elf/dl-cache.c
index a282d313cf..6cd454c7ac 100644
--- a/elf/dl-cache.c
+++ b/elf/dl-cache.c
@@ -18,6 +18,7 @@ not, write to the Free Software Foundation, Inc., 675 Mass Ave,
 Cambridge, MA 02139, USA.  */
 
 #include <link.h>
+#include <stddef.h>
 #include <sys/mman.h>
 
 /* System-dependent function to read a file's whole contents
diff --git a/elf/dl-runtime.c b/elf/dl-runtime.c
index 2785592c44..16e037914b 100644
--- a/elf/dl-runtime.c
+++ b/elf/dl-runtime.c
@@ -18,6 +18,7 @@ not, write to the Free Software Foundation, Inc., 675 Mass Ave,
 Cambridge, MA 02139, USA.  */
 
 #include <link.h>
+#include <stddef.h>
 
 
 /* The global scope we will use for symbol lookups.
diff --git a/elf/dynamic-link.h b/elf/dynamic-link.h
index 45b6b2dcde..e4bb022dcf 100644
--- a/elf/dynamic-link.h
+++ b/elf/dynamic-link.h
@@ -24,7 +24,7 @@ Cambridge, MA 02139, USA.  */
 
 /* Read the dynamic section at DYN and fill in INFO with indices DT_*.  */
 
-static inline void
+static inline void __attribute__ ((unused))
 elf_get_dynamic_info (ElfW(Dyn) *dyn, ElfW(Dyn) *info[DT_NUM + DT_PROCNUM])
 {
   unsigned int i;
diff --git a/elf/rtld.c b/elf/rtld.c
index 3657efdc61..fe5d269de2 100644
--- a/elf/rtld.c
+++ b/elf/rtld.c
@@ -245,7 +245,8 @@ of this helper program; chances are you did not intend to run this program.\n",
   if (mode == verify)
     /* We were called just to verify that this is a dynamic executable
        using us as the program interpreter.  */
-    _exit (strcmp (_dl_rtld_map.l_libname, _dl_rtld_map.l_name)
+    _exit ((strcmp (_dl_rtld_map.l_libname, _dl_rtld_map.l_name) ||
+	    l->l_ld == NULL)
 	   ? EXIT_FAILURE : EXIT_SUCCESS);
 
   /* Extract the contents of the dynamic section for easy access.  */