diff --git a/Android.bp b/Android.bp
index e37836e..00a3134 100644
--- a/Android.bp
+++ b/Android.bp
@@ -18,9 +18,11 @@
     },
     srcs: [
         "libiberty/obstack.c",
+        "android/obstack_printf.c",
     ],
     local_include_dirs: ["android"],
     export_include_dirs: [
+        "android/include",
         "include",
     ],
     visibility: [
diff --git a/android/include/obstack.h b/android/include/obstack.h
new file mode 100644
index 0000000..a45421e
--- /dev/null
+++ b/android/include/obstack.h
@@ -0,0 +1,26 @@
+/*
+ * Copyright 2021, 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.
+ */
+
+/*
+ * This is a wrapper around gnulib's obstack.h to add obstack_printf.
+ */
+
+#pragma once
+
+#include_next <obstack.h>
+
+int obstack_printf(struct obstack *obs, const char *format, ...)
+  __attribute__((__format__(printf, 2, 3)));
diff --git a/android/obstack_printf.c b/android/obstack_printf.c
new file mode 100644
index 0000000..647d7f7
--- /dev/null
+++ b/android/obstack_printf.c
@@ -0,0 +1,42 @@
+/*
+ * Copyright 2021, 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.
+ */
+
+/*
+ * This is a reimplementation of obstack_printf for use by libcpu, which
+ * uses it to print an error message.
+ */
+
+#include <stdarg.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <obstack.h>
+
+int __attribute__((__format__(printf, 2, 3)))  obstack_printf(struct obstack *obs, const char *format, ...) {
+
+  va_list ap;
+  va_start(ap, format);
+
+  char* str = NULL;
+  int len = vasprintf(&str, format, ap);
+  if (len < 0) {
+    return len;
+  }
+
+  obstack_grow(obs, str, len);
+  free(str);
+
+  return len;
+}
