git: edb96bf587fe - stable/13 - Fix crossbuild bootstrap tools build with Clang 12
Alex Richardson
arichardson at FreeBSD.org
Wed Mar 17 10:27:58 UTC 2021
The branch stable/13 has been updated by arichardson:
URL: https://cgit.FreeBSD.org/src/commit/?id=edb96bf587fe89736d87fd12409cc734c52919a8
commit edb96bf587fe89736d87fd12409cc734c52919a8
Author: Alex Richardson <arichardson at FreeBSD.org>
AuthorDate: 2021-02-10 11:05:02 +0000
Commit: Alex Richardson <arichardson at FreeBSD.org>
CommitDate: 2021-03-17 09:59:32 +0000
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
(cherry picked from commit 02af91c52e71e8a0f47251e637c9687f35d45dd9)
---
tools/build/libc-bootstrap/namespace.h | 4 +++-
tools/build/libc-bootstrap/un-namespace.h | 5 ++++-
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
More information about the dev-commits-src-all
mailing list