Hi Brooks,

On 06.09.18 01:23, Brooks Davis wrote:
Author: brooks
Date: Wed Sep  5 23:23:16 2018
New Revision: 338486
URL: https://svnweb.freebsd.org/changeset/base/338486

Log:
   Rework rtld's TLS Variant I implementation to match r326794
The above commit fixed handling overaligned TLS segments in libc's
   TLS Variant I implementation, but rtld provides its own implementation
   for dynamically-linked executables which lacks these fixes.  Thus,
   port these changes to rtld.
This was previously commited as r337978 and reverted in r338149 due to
   exposing a bug the ARM rtld.  This bug was fixed in r338317 by mmel.
Submitted by: James Clarke
   Approved by: re (kib)
   Reviewed by: kbowling
   Testing by:  kbowling (powerpc64), br (riscv), kevans (armv7)

And no testing on powerpc?

This patch breaks ppc-32. It makes the system unusable, one can not even login. Neither on the console nor via ssh. After entering the user I get flooded with backslashes and the login shell dumps core. (Only visible if I netboot)

I'm testing now a fix and see if it survives world and kernel build.

Modified: head/libexec/rtld-elf/powerpc/rtld_machdep.h
==============================================================================
--- head/libexec/rtld-elf/powerpc/rtld_machdep.h        Wed Sep  5 21:47:22 
2018        (r338485)
+++ head/libexec/rtld-elf/powerpc/rtld_machdep.h        Wed Sep  5 23:23:16 
2018        (r338486)
@@ -74,10 +74,11 @@ void _rtld_powerpc_pltcall(void);
  #define round(size, align) \
      (((size) + (align) - 1) & ~((align) - 1))
  #define calculate_first_tls_offset(size, align) \
-    round(8, align)
+    TLS_TCB_SIZE

Here, if I revert to 'round(8, align)', I can login again. But the fix I'm testing now, is to increase the TLS_TCB_SIZE to 16 as suggested by Justin.

I'll let you know how it goes.
Andreas

_______________________________________________
svn-src-all@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"

Reply via email to