Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 2 May 2014 16:15:34 +0000 (UTC)
From:      "Pedro F. Giffuni" <pfg@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r265231 - head/contrib/gcc/config/i386
Message-ID:  <201405021615.s42GFYH2030996@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: pfg
Date: Fri May  2 16:15:34 2014
New Revision: 265231
URL: http://svnweb.freebsd.org/changeset/base/265231

Log:
  gcc: fix strict alignment.
  
  From the OpenBSD log:
  
  x86-64 ABI requires arrays greater than 16 bytes to be aligned to
  16byte boundary.  However, GCC 16-byte aligns arrays of >=16 BITS,
  not BYTES.
  
  This diff improves bug detectability for code which has local arrays
  of [16 .. 127] bits:  in those cases SSP will now detect even 1-byte
  overflows.
  
  Obtained from:	OpenBSD (CVS rev 1.4)
  MFC after:	1 week

Modified:
  head/contrib/gcc/config/i386/i386.c

Modified: head/contrib/gcc/config/i386/i386.c
==============================================================================
--- head/contrib/gcc/config/i386/i386.c	Fri May  2 15:52:50 2014	(r265230)
+++ head/contrib/gcc/config/i386/i386.c	Fri May  2 16:15:34 2014	(r265231)
@@ -14408,7 +14408,7 @@ ix86_local_alignment (tree type, int ali
       if (AGGREGATE_TYPE_P (type)
 	   && TYPE_SIZE (type)
 	   && TREE_CODE (TYPE_SIZE (type)) == INTEGER_CST
-	   && (TREE_INT_CST_LOW (TYPE_SIZE (type)) >= 16
+	   && (TREE_INT_CST_LOW (TYPE_SIZE (type)) >= 128
 	       || TREE_INT_CST_HIGH (TYPE_SIZE (type))) && align < 128)
 	return 128;
     }



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