summaryrefslogtreecommitdiffstats
path: root/bin
diff options
context:
space:
mode:
authortjr <tjr@FreeBSD.org>2003-02-16 03:28:11 +0000
committertjr <tjr@FreeBSD.org>2003-02-16 03:28:11 +0000
commit52f557176d310a5a5cf722bcbc45a12819d4ee2e (patch)
tree22c5c65c0cb978bec33df48d53766d82714696c0 /bin
parent6ff2b5ed6a4c3224d21dc64f199ff6ba9a7b50e8 (diff)
downloadFreeBSD-src-52f557176d310a5a5cf722bcbc45a12819d4ee2e.zip
FreeBSD-src-52f557176d310a5a5cf722bcbc45a12819d4ee2e.tar.gz
Temporarily back out machdep.h/ALIGN changes. It seems that on sparc64,
using the alignment from sys/param.h (16) instead of the alignment from machdep.h (8) tickled a nasty bug in the memory allocator that I haven't been able to track down yet.
Diffstat (limited to 'bin')
-rw-r--r--bin/sh/machdep.h52
-rw-r--r--bin/sh/memalloc.c3
-rw-r--r--bin/sh/nodes.c.pat3
3 files changed, 54 insertions, 4 deletions
diff --git a/bin/sh/machdep.h b/bin/sh/machdep.h
new file mode 100644
index 0000000..20aadd0
--- /dev/null
+++ b/bin/sh/machdep.h
@@ -0,0 +1,52 @@
+/*-
+ * Copyright (c) 1991, 1993
+ * The Regents of the University of California. All rights reserved.
+ *
+ * This code is derived from software contributed to Berkeley by
+ * Kenneth Almquist.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * 3. All advertising materials mentioning features or use of this software
+ * must display the following acknowledgement:
+ * This product includes software developed by the University of
+ * California, Berkeley and its contributors.
+ * 4. Neither the name of the University nor the names of its contributors
+ * may be used to endorse or promote products derived from this software
+ * without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ *
+ * @(#)machdep.h 8.2 (Berkeley) 5/4/95
+ * $FreeBSD$
+ */
+
+/*
+ * Most machines require the value returned from malloc to be aligned
+ * in some way. The following macro will get this right on many machines.
+ */
+
+#ifndef ALIGN
+union align {
+ int i;
+ char *cp;
+};
+
+#define ALIGN(nbytes) (((nbytes) + sizeof(union align) - 1) & ~(sizeof(union align) - 1))
+#endif
diff --git a/bin/sh/memalloc.c b/bin/sh/memalloc.c
index 57b5ae8..a50d661 100644
--- a/bin/sh/memalloc.c
+++ b/bin/sh/memalloc.c
@@ -42,12 +42,11 @@ static char sccsid[] = "@(#)memalloc.c 8.3 (Berkeley) 5/4/95";
#include <sys/cdefs.h>
__FBSDID("$FreeBSD$");
-#include <sys/param.h>
-
#include "shell.h"
#include "output.h"
#include "memalloc.h"
#include "error.h"
+#include "machdep.h"
#include "mystring.h"
#include "expand.h"
#include <stdlib.h>
diff --git a/bin/sh/nodes.c.pat b/bin/sh/nodes.c.pat
index e5a2287..2fc79f0 100644
--- a/bin/sh/nodes.c.pat
+++ b/bin/sh/nodes.c.pat
@@ -37,8 +37,6 @@
* $FreeBSD$
*/
-#include <sys/param.h>
-
#include <stdlib.h>
/*
* Routine for dealing with parsed shell commands.
@@ -47,6 +45,7 @@
#include "shell.h"
#include "nodes.h"
#include "memalloc.h"
+#include "machdep.h"
#include "mystring.h"
OpenPOWER on IntegriCloud