svn commit: r341394 - stable/11/libexec/rtld-elf/arm

Michal Meloun mmel at FreeBSD.org
Sun Dec 2 07:45:23 UTC 2018


Author: mmel
Date: Sun Dec  2 07:45:22 2018
New Revision: 341394
URL: https://svnweb.freebsd.org/changeset/base/341394

Log:
  MFC r338317:
  
    Fix wrong offset calculation for R_ARM_TLS_TPOFF32 relocations.  TLS_TCB_SIZE
    is already accounted in defobj-> tlsoffset so all these symbols were
    incorrectly relocated by +8.

Modified:
  stable/11/libexec/rtld-elf/arm/reloc.c
Directory Properties:
  stable/11/   (props changed)

Modified: stable/11/libexec/rtld-elf/arm/reloc.c
==============================================================================
--- stable/11/libexec/rtld-elf/arm/reloc.c	Sun Dec  2 07:39:16 2018	(r341393)
+++ stable/11/libexec/rtld-elf/arm/reloc.c	Sun Dec  2 07:45:22 2018	(r341394)
@@ -327,9 +327,7 @@ reloc_nonplt_object(Obj_Entry *obj, const Elf_Rel *rel
 			if (!defobj->tls_done && allocate_tls_offset(obj))
 				return -1;
 
-			/* XXX: FIXME */
-			tmp = (Elf_Addr)def->st_value + defobj->tlsoffset +
-			    TLS_TCB_SIZE;
+			tmp = (Elf_Addr)def->st_value + defobj->tlsoffset;
 			if (__predict_true(RELOC_ALIGNED_P(where)))
 				*where = tmp;
 			else


More information about the svn-src-all mailing list