Author: emaste
Date: Fri Mar 29 14:35:23 2019
New Revision: 345693
URL: https://svnweb.freebsd.org/changeset/base/345693

Log:
  rtld: attempt to fix reloc_nonplt_object TLS allocation
  
  allocate_tls_offset returns true on success.  This still needs more
  testing and review, but this change is consistent with other archs.
  
  PR:           236880
  Reported by:  Andrew Gierth <[email protected]>
  MFC after:    2 weeks
  Sponsored by: The FreeBSD Foundation

Modified:
  head/libexec/rtld-elf/arm/reloc.c

Modified: head/libexec/rtld-elf/arm/reloc.c
==============================================================================
--- head/libexec/rtld-elf/arm/reloc.c   Fri Mar 29 14:34:51 2019        
(r345692)
+++ head/libexec/rtld-elf/arm/reloc.c   Fri Mar 29 14:35:23 2019        
(r345693)
@@ -319,7 +319,7 @@ reloc_nonplt_object(Obj_Entry *obj, const Elf_Rel *rel
                        if (def == NULL)
                                return -1;
 
-                       if (!defobj->tls_done && allocate_tls_offset(obj))
+                       if (!defobj->tls_done && !allocate_tls_offset(obj))
                                return -1;
 
                        tmp = (Elf_Addr)def->st_value + defobj->tlsoffset;
_______________________________________________
[email protected] mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "[email protected]"

Reply via email to