about summary refs log tree commit diff
path: root/sysdeps
diff options
context:
space:
mode:
Diffstat (limited to 'sysdeps')
-rw-r--r--sysdeps/sh/dl-machine.h4
-rw-r--r--sysdeps/unix/sysv/linux/configure6
-rw-r--r--sysdeps/unix/sysv/linux/configure.in6
-rw-r--r--sysdeps/unix/sysv/linux/ia64/ldd-rewrite.sed1
-rw-r--r--sysdeps/unix/sysv/linux/s390/ldd-rewrite.sed1
5 files changed, 17 insertions, 1 deletions
diff --git a/sysdeps/sh/dl-machine.h b/sysdeps/sh/dl-machine.h
index ee5bb9cdbc..dc53c652d0 100644
--- a/sysdeps/sh/dl-machine.h
+++ b/sysdeps/sh/dl-machine.h
@@ -487,7 +487,7 @@ elf_machine_rela (struct link_map *map, const Elf32_Rela *reloc,
 	}
     }
 #ifndef RTLD_BOOTSTRAP
-  else if (__builtin_expect (r_type != R_SH_NONE, 0))
+  else if (__builtin_expect (r_type == R_SH_NONE, 0))
     return;
 #endif
   else
@@ -561,6 +561,8 @@ static inline void
 elf_machine_rela_relative (Elf32_Addr l_addr, const Elf32_Rela *reloc,
 			   Elf32_Addr *const reloc_addr)
 {
+  Elf32_Addr value;
+
   if (reloc->r_addend)
     value = l_addr + reloc->r_addend;
   else
diff --git a/sysdeps/unix/sysv/linux/configure b/sysdeps/unix/sysv/linux/configure
index b1a8df8deb..b1fb85f681 100644
--- a/sysdeps/unix/sysv/linux/configure
+++ b/sysdeps/unix/sysv/linux/configure
@@ -189,6 +189,12 @@ case "$machine" in
   i[3456]86* | m68*)
     ldd_rewrite_script=../sysdeps/unix/sysv/linux/ldd-rewrite.sed
     ;;
+  ia64*)
+    ldd_rewrite_script=../sysdeps/unix/sysv/linux/ia64/ldd-rewrite.sed
+    ;;
+  s390*)
+    ldd_rewrite_script=../sysdeps/unix/sysv/linux/s390/ldd-rewrite.sed
+    ;;
   sparc*)
     ldd_rewrite_script=../sysdeps/unix/sysv/linux/sparc/ldd-rewrite.sed
     ;;
diff --git a/sysdeps/unix/sysv/linux/configure.in b/sysdeps/unix/sysv/linux/configure.in
index b112a0f4fb..b522f3e08b 100644
--- a/sysdeps/unix/sysv/linux/configure.in
+++ b/sysdeps/unix/sysv/linux/configure.in
@@ -157,6 +157,12 @@ case "$machine" in
   i[3456]86* | m68*)
     ldd_rewrite_script=../sysdeps/unix/sysv/linux/ldd-rewrite.sed
     ;;
+  ia64*)
+    ldd_rewrite_script=../sysdeps/unix/sysv/linux/ia64/ldd-rewrite.sed
+    ;;
+  s390*)
+    ldd_rewrite_script=../sysdeps/unix/sysv/linux/s390/ldd-rewrite.sed
+    ;;
   sparc*)
     ldd_rewrite_script=../sysdeps/unix/sysv/linux/sparc/ldd-rewrite.sed
     ;;
diff --git a/sysdeps/unix/sysv/linux/ia64/ldd-rewrite.sed b/sysdeps/unix/sysv/linux/ia64/ldd-rewrite.sed
new file mode 100644
index 0000000000..aed1556382
--- /dev/null
+++ b/sysdeps/unix/sysv/linux/ia64/ldd-rewrite.sed
@@ -0,0 +1 @@
+s_^\(RTLDLIST=\)\([^ 	]*\)\(\|-ia64\)\(\.so\.[0-9.]*\)[ 	]*$_\1"\2-ia64\4 \2\4"_
diff --git a/sysdeps/unix/sysv/linux/s390/ldd-rewrite.sed b/sysdeps/unix/sysv/linux/s390/ldd-rewrite.sed
new file mode 100644
index 0000000000..28e46fe778
--- /dev/null
+++ b/sysdeps/unix/sysv/linux/s390/ldd-rewrite.sed
@@ -0,0 +1 @@
+s_^\(RTLDLIST=\)\([^ 	]*\)\(\|64\)\(\.so\.[0-9.]*\)[ 	]*$_\1"\2\4 \264\4"_