svn commit: r342112 - stable/11/libexec/rtld-elf/aarch64

Michal Meloun mmel at FreeBSD.org
Sat Dec 15 09:12:20 UTC 2018


Author: mmel
Date: Sat Dec 15 09:12:19 2018
New Revision: 342112
URL: https://svnweb.freebsd.org/changeset/base/342112

Log:
  Fix mismerge caused by r342111.
  This is a direct commit to stable/11.

Modified:
  stable/11/libexec/rtld-elf/aarch64/reloc.c

Modified: stable/11/libexec/rtld-elf/aarch64/reloc.c
==============================================================================
--- stable/11/libexec/rtld-elf/aarch64/reloc.c	Sat Dec 15 06:34:13 2018	(r342111)
+++ stable/11/libexec/rtld-elf/aarch64/reloc.c	Sat Dec 15 09:12:19 2018	(r342112)
@@ -344,9 +344,6 @@ reloc_non_plt(Obj_Entry *obj, Obj_Entry *obj_rtld, int
 		switch (ELF_R_TYPE(rela->r_info)) {
 		case R_AARCH64_ABS64:
 		case R_AARCH64_GLOB_DAT:
-		case R_AARCH64_TLS_TPREL64:
-		case R_AARCH64_TLS_DTPREL64:
-		case R_AARCH64_TLS_DTPMOD64:
 			def = find_symdef(symnum, obj, &defobj, flags, cache,
 			    lockstate);
 			if (def == NULL)
@@ -405,9 +402,19 @@ reloc_non_plt(Obj_Entry *obj, Obj_Entry *obj_rtld, int
 		 * treats TLS_DTPMOD64 as 1028 and TLS_DTPREL64 1029.
 		 */
 		case R_AARCH64_TLS_DTPREL64: /* efectively is TLS_DTPMOD64 */
+			def = find_symdef(symnum, obj, &defobj, flags, cache,
+			    lockstate);
+			if (def == NULL)
+				return (-1);
+
 			*where += (Elf_Addr)defobj->tlsindex;
 			break;
 		case R_AARCH64_TLS_DTPMOD64: /* efectively is TLS_DTPREL64 */
+			def = find_symdef(symnum, obj, &defobj, flags, cache,
+			    lockstate);
+			if (def == NULL)
+				return (-1);
+
 			*where += (Elf_Addr)(def->st_value + rela->r_addend);
 			break;
 		case R_AARCH64_RELATIVE:


More information about the svn-src-all mailing list