Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 2 Dec 2018 07:45:23 +0000 (UTC)
From:      Michal Meloun <mmel@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-11@freebsd.org
Subject:   svn commit: r341394 - stable/11/libexec/rtld-elf/arm
Message-ID:  <201812020745.wB27jNUS029646@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
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



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201812020745.wB27jNUS029646>