Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 17 Feb 2021 09:55:13 GMT
From:      Alex Richardson <arichardson@FreeBSD.org>
To:        src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org
Subject:   git: 02af91c52e71 - main - Fix crossbuild bootstrap tools build with Clang 12
Message-ID:  <202102170955.11H9tDH7016352@gitrepo.freebsd.org>

next in thread | raw e-mail | index | archive | help
The branch main has been updated by arichardson:

URL: https://cgit.FreeBSD.org/src/commit/?id=02af91c52e71e8a0f47251e637c9687f35d45dd9

commit 02af91c52e71e8a0f47251e637c9687f35d45dd9
Author:     Alex Richardson <arichardson@FreeBSD.org>
AuthorDate: 2021-02-10 11:05:02 +0000
Commit:     Alex Richardson <arichardson@FreeBSD.org>
CommitDate: 2021-02-17 09:54:59 +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
---
 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
 



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?202102170955.11H9tDH7016352>