diff --git a/libc/private/ErrnoRestorer.h b/libc/private/ErrnoRestorer.h
index ed6ab62..f467393 100644
--- a/libc/private/ErrnoRestorer.h
+++ b/libc/private/ErrnoRestorer.h
@@ -19,6 +19,8 @@
 
 #include <errno.h>
 
+#include "bionic_macros.h"
+
 class ErrnoRestorer {
  public:
   explicit ErrnoRestorer() : saved_errno_(errno) {
@@ -35,9 +37,7 @@
  private:
   int saved_errno_;
 
-  // Disallow copy and assignment.
-  ErrnoRestorer(const ErrnoRestorer&);
-  void operator=(const ErrnoRestorer&);
+  DISALLOW_COPY_AND_ASSIGN(ErrnoRestorer);
 };
 
 #endif // ERRNO_RESTORER_H
diff --git a/libc/private/KernelArgumentBlock.h b/libc/private/KernelArgumentBlock.h
index 4af52ab..c8ea497 100644
--- a/libc/private/KernelArgumentBlock.h
+++ b/libc/private/KernelArgumentBlock.h
@@ -22,6 +22,8 @@
 #include <stdint.h>
 #include <sys/auxv.h>
 
+#include "private/bionic_macros.h"
+
 struct abort_msg_t;
 
 // When the kernel starts the dynamic linker, it passes a pointer to a block
@@ -73,9 +75,7 @@
   abort_msg_t** abort_message_ptr;
 
  private:
-  // Disallow copy and assignment.
-  KernelArgumentBlock(const KernelArgumentBlock&);
-  void operator=(const KernelArgumentBlock&);
+  DISALLOW_COPY_AND_ASSIGN(KernelArgumentBlock);
 };
 
 #endif // KERNEL_ARGUMENT_BLOCK_H
diff --git a/libc/private/ScopedPthreadMutexLocker.h b/libc/private/ScopedPthreadMutexLocker.h
index 06b8e37..43dbdc1 100644
--- a/libc/private/ScopedPthreadMutexLocker.h
+++ b/libc/private/ScopedPthreadMutexLocker.h
@@ -19,6 +19,8 @@
 
 #include <pthread.h>
 
+#include "bionic_macros.h"
+
 class ScopedPthreadMutexLocker {
  public:
   explicit ScopedPthreadMutexLocker(pthread_mutex_t* mu) : mu_(mu) {
@@ -32,9 +34,7 @@
  private:
   pthread_mutex_t* mu_;
 
-  // Disallow copy and assignment.
-  ScopedPthreadMutexLocker(const ScopedPthreadMutexLocker&);
-  void operator=(const ScopedPthreadMutexLocker&);
+  DISALLOW_COPY_AND_ASSIGN(ScopedPthreadMutexLocker);
 };
 
 #endif // SCOPED_PTHREAD_MUTEX_LOCKER_H
diff --git a/libc/private/ScopedReaddir.h b/libc/private/ScopedReaddir.h
index 797809a..84c1b93 100644
--- a/libc/private/ScopedReaddir.h
+++ b/libc/private/ScopedReaddir.h
@@ -19,6 +19,8 @@
 
 #include <dirent.h>
 
+#include "private/bionic_macros.h"
+
 class ScopedReaddir {
  public:
   ScopedReaddir(const char* path) {
@@ -42,9 +44,7 @@
  private:
   DIR* dir_;
 
-  // Disallow copy and assignment.
-  ScopedReaddir(const ScopedReaddir&);
-  void operator=(const ScopedReaddir&);
+  DISALLOW_COPY_AND_ASSIGN(ScopedReaddir);
 };
 
 #endif // SCOPED_READDIR_H
diff --git a/libc/private/bionic_macros.h b/libc/private/bionic_macros.h
new file mode 100644
index 0000000..34da501
--- /dev/null
+++ b/libc/private/bionic_macros.h
@@ -0,0 +1,36 @@
+/*
+ * Copyright (C) 2010 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef _BIONIC_MACROS_H_
+#define _BIONIC_MACROS_H_
+
+// DISALLOW_COPY_AND_ASSIGN disallows the copy and operator= functions.
+// It goes in the private: declarations in a class.
+#define DISALLOW_COPY_AND_ASSIGN(TypeName) \
+  TypeName(const TypeName&);               \
+  void operator=(const TypeName&)
+
+// A macro to disallow all the implicit constructors, namely the
+// default constructor, copy constructor and operator= functions.
+//
+// This should be used in the private: declarations for a class
+// that wants to prevent anyone from instantiating it. This is
+// especially useful for classes containing only static methods.
+#define DISALLOW_IMPLICIT_CONSTRUCTORS(TypeName) \
+  TypeName();                                    \
+  DISALLOW_COPY_AND_ASSIGN(TypeName)
+
+#endif // _BIONIC_MACROS_H_
