View | Details | Raw Unified | Return to bug 214971
Collapse All | Expand All

(-)b/libexec/rtld-elf/aarch64/reloc.c (+10 lines)
Lines 388-393 reloc_non_plt(Obj_Entry *obj, Obj_Entry *obj_rtld, int flags, Link Here
388
			*where = def->st_value + rela->r_addend +
388
			*where = def->st_value + rela->r_addend +
389
			    defobj->tlsoffset;
389
			    defobj->tlsoffset;
390
			break;
390
			break;
391
		case R_AARCH64_TLSDESC:
392
			if (ELF_R_SYM(rela->r_info) == 0) {
393
				where[0] = (Elf_Addr)_rtld_tlsdesc;
394
				where[1] = obj->tlsoffset + rela->r_addend;
395
			} else {
396
				where[0] = (Elf_Addr)_rtld_tlsdesc_dynamic;
397
				where[1] = (Elf_Addr)reloc_tlsdesc_alloc(obj,
398
				    rela);
399
			}
400
			break;
391
		case R_AARCH64_RELATIVE:
401
		case R_AARCH64_RELATIVE:
392
			*where = (Elf_Addr)(obj->relocbase + rela->r_addend);
402
			*where = (Elf_Addr)(obj->relocbase + rela->r_addend);
393
			break;
403
			break;

Return to bug 214971