From 5933421316cf047db0313f637097c69fb73f0661 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Niels=20M=C3=B6ller?= <nisse@lysator.liu.se>
Date: Thu, 12 Jul 2012 22:36:13 +0200
Subject: [PATCH] m4 portability fix for ALIGN macro.

---
 ChangeLog | 5 +++++
 asm.m4    | 9 +++++++--
 2 files changed, 12 insertions(+), 2 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index c7f66ab3..88a767aa 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2012-07-12  Niels Möller  <nisse@lysator.liu.se>
+
+	* asm.m4 (ALIGN): Use << operator rather than **, with m4 eval.
+	The latter is not supported by BSD m4.
+
 2012-07-07  Niels Möller  <nisse@lysator.liu.se>
 
 	Copyright headers: Updated FSF address. Patch from David Woodhouse.
diff --git a/asm.m4 b/asm.m4
index e2721d4b..d632585b 100644
--- a/asm.m4
+++ b/asm.m4
@@ -23,9 +23,14 @@ define(<EPILOGUE>,
 <.size C_NAME($1), . - C_NAME($1)>,<>)>)
 
 dnl Argument to ALIGN is always logarithmic
-dnl Can't use << operator with our choice of quote characters...
+
+dnl Need changequote to be able to use the << operator (using **
+dnl instead is not portable, and is not supported by openbsd m4).
 define(<ALIGN>,
-<.align ifelse(ALIGN_LOG,yes,$1,eval(2 ** $1))>)
+<changequote([,])dnl
+.align ifelse(ALIGN_LOG,yes,$1,eval(1 << $1))dnl >> balance
+changequote(<,>)dnl
+>)
 
 dnl Struct defining macros
 
-- 
GitLab