aboutsummaryrefslogtreecommitdiff
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 ee5bb9c..dc53c65 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 b1a8df8..b1fb85f 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 b112a0f..b522f3e 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 0000000..aed1556
--- /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 0000000..28e46fe
--- /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"_