aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMark Hatle <mark.hatle@windriver.com>2010-07-23 16:49:19 -0500
committerMark Hatle <mark.hatle@windriver.com>2010-07-23 16:49:19 -0500
commit909470ee441237563d6236c505cb2d02ddc48704 (patch)
treecbff05467d98e8dd7ac05c13317003bfadafb7ef
parentec0ae1e0af629728ec83d2c5d543316d5a310e63 (diff)
downloadprelink-cross-cross_prelink_r185.tar.gz
prelink-cross-cross_prelink_r185.tar.bz2
prelink-cross-cross_prelink_r185.zip
MIPS64 TLS PLT relocs don't appear to be handled in the rtldcross_prelink_r185
Found during code inspection, other paths check for both 32 and 64 bit TLS PLT relocs on EM_MIPS, except this path. So it should be reasonable to make this change, even without a reproducer... 2010-07-23 Mark Hatle <mark.hatle@windriver.com> * src/ld-libs.c: (reloc_type_class) Handle MIPS64 TLS PLT relocs
-rw-r--r--trunk/ChangeLog.cross3
-rw-r--r--trunk/src/ld-libs.c3
2 files changed, 6 insertions, 0 deletions
diff --git a/trunk/ChangeLog.cross b/trunk/ChangeLog.cross
index 12ff11b..b69c3c1 100644
--- a/trunk/ChangeLog.cross
+++ b/trunk/ChangeLog.cross
@@ -1,3 +1,6 @@
+2010-07-23 Mark Hatle <mark.hatle@windriver.com>
+ * src/ld-libs.c: Handle MIPS64 TLS PLT relocs
+
2010-07-22 Mark Hatle <mark.hatle@windriver.com>
* src/dso.c: Add DSO_READONLY conditionals
* src/dso-readonly.c: remove
diff --git a/trunk/src/ld-libs.c b/trunk/src/ld-libs.c
index fe758b8..5526b2f 100644
--- a/trunk/src/ld-libs.c
+++ b/trunk/src/ld-libs.c
@@ -180,8 +180,11 @@ reloc_type_class (int type, int machine)
return ELF_RTYPE_CLASS_COPY;
case R_MIPS_JUMP_SLOT:
case R_MIPS_TLS_DTPMOD32:
+ case R_MIPS_TLS_DTPMOD64:
case R_MIPS_TLS_DTPREL32:
+ case R_MIPS_TLS_DTPREL64:
case R_MIPS_TLS_TPREL32:
+ case R_MIPS_TLS_TPREL64:
return ELF_RTYPE_CLASS_PLT;
default:
return 0;