path: root/tools
diff options
authorAlex Richardson <arichardson@FreeBSD.org>2021-02-10 11:05:02 +0000
committerAlex Richardson <arichardson@FreeBSD.org>2021-02-17 09:54:59 +0000
commit02af91c52e71e8a0f47251e637c9687f35d45dd9 (patch)
treeb2a5cad22d074b12fc2d4806e853613e4845e46b /tools
parent8a439f324e9010a122fa4c00426bde70dc373c2f (diff)
Fix crossbuild bootstrap tools build with Clang 12
Clang 12 no longer allows re-defining a weak symbol as non-weak. This happed here because we compile err.c with _err defined to err. To fix this, use the same approach as the libc namespace.h
Diffstat (limited to 'tools')
2 files changed, 7 insertions, 2 deletions
diff --git a/tools/build/libc-bootstrap/namespace.h b/tools/build/libc-bootstrap/namespace.h
index 73e27f8cb02b..2c242f88072d 100644
--- a/tools/build/libc-bootstrap/namespace.h
+++ b/tools/build/libc-bootstrap/namespace.h
@@ -45,7 +45,9 @@
#define _writev(a, b, c) writev(a, b, c)
#define _fsync(a) fsync(a)
#define _getprogname() getprogname()
-#define _err(...) err(__VA_ARGS__)
+/* These two need to be renamed to build libc/gen/err.c */
+#define err _err
+#define warn _warn
#define _pthread_mutex_unlock pthread_mutex_unlock
#define _pthread_mutex_lock pthread_mutex_lock
diff --git a/tools/build/libc-bootstrap/un-namespace.h b/tools/build/libc-bootstrap/un-namespace.h
index 398707791792..f08ab41ea543 100644
--- a/tools/build/libc-bootstrap/un-namespace.h
+++ b/tools/build/libc-bootstrap/un-namespace.h
@@ -36,5 +36,8 @@
* $FreeBSD$
#pragma once
-/* This can be empty when building the FreeBSD compatible bootstrap files */
+/* Undo the changes made by namespace.h */
+#undef err
+#undef warn