Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 2 Jul 2013 08:04:41 +0000 (UTC)
From:      Andrew Turner <andrew@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r252503 - head/contrib/llvm/lib/Target/ARM
Message-ID:  <201307020804.r6284fft050406@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: andrew
Date: Tue Jul  2 08:04:41 2013
New Revision: 252503
URL: http://svnweb.freebsd.org/changeset/base/252503

Log:
  Work around an ARM EABI issue where clang would sometimes incorrectly align
  the stack in a leaf function that uses TLS.
  
  The issue is, when using TLS, the function is no longer a leaf as it calls
  __aeabi_read_tp. With statically linked programs this is not an issue as
  it doesn't make use of the stack, however with dynamically linked
  applications we enter rtld which does use the stack and makes assumptions
  about it's alignment.
  
  This is only a temporary fix until a better patch can be made and submitted
  upstream.

Modified:
  head/contrib/llvm/lib/Target/ARM/ARMFrameLowering.h

Modified: head/contrib/llvm/lib/Target/ARM/ARMFrameLowering.h
==============================================================================
--- head/contrib/llvm/lib/Target/ARM/ARMFrameLowering.h	Tue Jul  2 07:36:04 2013	(r252502)
+++ head/contrib/llvm/lib/Target/ARM/ARMFrameLowering.h	Tue Jul  2 08:04:41 2013	(r252503)
@@ -27,7 +27,7 @@ protected:
 
 public:
   explicit ARMFrameLowering(const ARMSubtarget &sti)
-    : TargetFrameLowering(StackGrowsDown, sti.getStackAlignment(), 0, 4),
+    : TargetFrameLowering(StackGrowsDown, sti.getStackAlignment(), 0, 8),
       STI(sti) {
   }
 



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