Index: src/libcfa/bits/align.h
===================================================================
--- src/libcfa/bits/align.h	(revision c2b9f212d8881b8a864b548bc1b467e8c22aba72)
+++ src/libcfa/bits/align.h	(revision c2b9f212d8881b8a864b548bc1b467e8c22aba72)
@@ -0,0 +1,62 @@
+//
+// Cforall Version 1.0.0 Copyright (C) 2016 University of Waterloo
+//
+// The contents of this file are covered under the licence agreement in the
+// file "LICENCE" distributed with Cforall.
+//
+// align.h --
+//
+// Author           : Thierry Delisle
+// Created On       : Mon Nov 28 12:27:26 2016
+// Last Modified By : Peter A. Buhr
+// Last Modified On : Fri Jul 21 23:05:35 2017
+// Update Count     : 2
+//
+// This  library is free  software; you  can redistribute  it and/or  modify it
+// under the terms of the GNU Lesser General Public License as published by the
+// Free Software  Foundation; either  version 2.1 of  the License, or  (at your
+// option) any later version.
+//
+// This library is distributed in the  hope that it will be useful, but WITHOUT
+// ANY  WARRANTY;  without even  the  implied  warranty  of MERCHANTABILITY  or
+// FITNESS FOR A PARTICULAR PURPOSE.  See the GNU Lesser General Public License
+// for more details.
+//
+// You should  have received a  copy of the  GNU Lesser General  Public License
+// along  with this library.
+//
+
+#pragma once
+
+#include <assert.h>
+#include <stdbool.h>
+
+// Minimum size used to align memory boundaries for memory allocations.
+#define libAlign() (sizeof(double))
+
+// Check for power of 2
+static inline bool libPow2( unsigned long int value ) {
+    // clears all bits below value, rounding value down to the next lower multiple of value
+    return (value & (value - 1ul)) == 0ul;
+} // libPow2
+
+
+// Returns value aligned at the floor of align.
+static inline unsigned long int libFloor( unsigned long int value, unsigned long int align ) {
+    assert( libPow2( align ) );
+    // clears all bits above or equal to align, getting (value % align), the phase of value with regards to align
+    return value & -align;
+} // libFloor
+
+
+// Returns value aligned at the ceiling of align.
+
+static inline unsigned long int libCeiling( unsigned long int value, unsigned long int align ) {
+    assert( libPow2( align ) );
+    // "negate, round down, negate" is the same as round up
+    return -libFloor( -value, align );
+} // uCeiling
+
+// Local Variables: //
+// compile-command: "make install" //
+// End: //
Index: src/libcfa/bits/containers.h
===================================================================
--- src/libcfa/bits/containers.h	(revision 875a72fc63ec1c00f94434e8e20f18e17cd51d0c)
+++ src/libcfa/bits/containers.h	(revision c2b9f212d8881b8a864b548bc1b467e8c22aba72)
@@ -15,6 +15,6 @@
 #pragma once
 
+#include "bits/align.h"
 #include "bits/defs.h"
-#include "libhdr.h"
 
 //-----------------------------------------------------------------------------
Index: src/libcfa/bits/debug.c
===================================================================
--- src/libcfa/bits/debug.c	(revision 875a72fc63ec1c00f94434e8e20f18e17cd51d0c)
+++ src/libcfa/bits/debug.c	(revision c2b9f212d8881b8a864b548bc1b467e8c22aba72)
@@ -5,5 +5,5 @@
 // file "LICENCE" distributed with Cforall.
 //
-// libdebug.c --
+// debug.c --
 //
 // Author           : Thierry Delisle
Index: src/libcfa/bits/debug.h
===================================================================
--- src/libcfa/bits/debug.h	(revision 875a72fc63ec1c00f94434e8e20f18e17cd51d0c)
+++ src/libcfa/bits/debug.h	(revision c2b9f212d8881b8a864b548bc1b467e8c22aba72)
@@ -5,5 +5,5 @@
 // file "LICENCE" distributed with Cforall.
 //
-// libdebug.h --
+// debug.h --
 //
 // Author           : Thierry Delisle
Index: src/libcfa/bits/defs.h
===================================================================
--- src/libcfa/bits/defs.h	(revision 875a72fc63ec1c00f94434e8e20f18e17cd51d0c)
+++ src/libcfa/bits/defs.h	(revision c2b9f212d8881b8a864b548bc1b467e8c22aba72)
@@ -32,2 +32,10 @@
 #define __cfa_anonymous_object __cfa_anonymous_object
 #endif
+
+#ifdef __cforall
+extern "C" {
+#endif
+void abortf( const char fmt[], ... ) __attribute__ ((__nothrow__, __leaf__, __noreturn__));
+#ifdef __cforall
+}
+#endif
Index: src/libcfa/bits/locks.h
===================================================================
--- src/libcfa/bits/locks.h	(revision 875a72fc63ec1c00f94434e8e20f18e17cd51d0c)
+++ src/libcfa/bits/locks.h	(revision c2b9f212d8881b8a864b548bc1b467e8c22aba72)
@@ -18,6 +18,4 @@
 #include "bits/debug.h"
 #include "bits/defs.h"
-
-#include "libhdr.h"
 
 // pause to prevent excess processor bus usage
