svn commit: r296887 - stable/8/usr.bin/xlint/lint1
Ian Lepore
ian at FreeBSD.org
Tue Mar 15 03:20:26 UTC 2016
Author: ian
Date: Tue Mar 15 03:20:24 2016
New Revision: 296887
URL: https://svnweb.freebsd.org/changeset/base/296887
Log:
MFC r206424: (by rdivacky in 2010)
Rename the ALIGN macro to LINT_ALIGN so it does not clash with
machine/param.h
Bump the alignment to 16bytes because lint1 memory allocator is used for
objects that require 16bytes alignment on amd64 (ie. val_t). This makes
lint1 work when compiled with compiler(s) that use SSE for memcpy on amd64.
(e.g. clang).
This allows me to compile stable-8 on a 64-bit build host running 10-stable,
without dying during the xlint build. It should work fine on 11-current too.
Modified:
stable/8/usr.bin/xlint/lint1/decl.c
stable/8/usr.bin/xlint/lint1/lint1.h
stable/8/usr.bin/xlint/lint1/mem1.c
Directory Properties:
stable/8/usr.bin/xlint/ (props changed)
Modified: stable/8/usr.bin/xlint/lint1/decl.c
==============================================================================
--- stable/8/usr.bin/xlint/lint1/decl.c Tue Mar 15 01:37:58 2016 (r296886)
+++ stable/8/usr.bin/xlint/lint1/decl.c Tue Mar 15 03:20:24 2016 (r296887)
@@ -825,15 +825,15 @@ getbound(type_t *tp)
} else if (t == FUNC) {
/* compiler takes alignment of function */
error(14);
- a = ALIGN(1) * CHAR_BIT;
+ a = LINT_ALIGN(1) * CHAR_BIT;
} else {
if ((a = size(t)) == 0) {
a = CHAR_BIT;
- } else if (a > ALIGN(1) * CHAR_BIT) {
- a = ALIGN(1) * CHAR_BIT;
+ } else if (a > LINT_ALIGN(1) * CHAR_BIT) {
+ a = LINT_ALIGN(1) * CHAR_BIT;
}
}
- if (a < CHAR_BIT || a > ALIGN(1) * CHAR_BIT)
+ if (a < CHAR_BIT || a > LINT_ALIGN(1) * CHAR_BIT)
lerror("getbound() 1");
return (a);
}
Modified: stable/8/usr.bin/xlint/lint1/lint1.h
==============================================================================
--- stable/8/usr.bin/xlint/lint1/lint1.h Tue Mar 15 01:37:58 2016 (r296886)
+++ stable/8/usr.bin/xlint/lint1/lint1.h Tue Mar 15 03:20:24 2016 (r296887)
@@ -38,8 +38,8 @@ __FBSDID("$FreeBSD$");
#include "op.h"
/* XXX - works for most systems, but the whole ALIGN thing needs to go away */
-#ifndef ALIGN
-#define ALIGN(x) (((x) + 7) & ~7)
+#ifndef LINT_ALIGN
+#define LINT_ALIGN(x) (((x) + 15) & ~15)
#endif
/*
Modified: stable/8/usr.bin/xlint/lint1/mem1.c
==============================================================================
--- stable/8/usr.bin/xlint/lint1/mem1.c Tue Mar 15 01:37:58 2016 (r296886)
+++ stable/8/usr.bin/xlint/lint1/mem1.c Tue Mar 15 03:20:24 2016 (r296887)
@@ -203,7 +203,7 @@ xgetblk(mbl_t **mbp, size_t s)
void *p;
size_t t = 0;
- s = ALIGN(s);
+ s = LINT_ALIGN(s);
if ((mb = *mbp) == NULL || mb->nfree < s) {
if ((mb = frmblks) == NULL) {
if (s > mblklen) {
More information about the svn-src-stable
mailing list