Source-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[src/trunk]: src/external/bsd/libc++/lib Don't pass -z defs to libc++ with MK...



details:   https://anonhg.NetBSD.org/src/rev/c1d7e5938bb9
branches:  trunk
changeset: 319640:c1d7e5938bb9
user:      kamil <kamil%NetBSD.org@localhost>
date:      Wed Jun 06 12:02:43 2018 +0000

description:
Don't pass -z defs to libc++ with MKSANITIZER=yes

Sanitizers are conflicting with this option:

  When linking shared libraries, the AddressSanitizer run-time is not
  linked, so -Wl,-z,defs may cause link errors (t use it with
  AddressSanitizer).

https://clang.llvm.org/docs/AddressSanitizer.html

  When linking shared libraries, the MemorySanitizer run-time is not
  linked, so -Wl,-z,defs may cause link errors (t use it with
  MemorySanitizer).

https://clang.llvm.org/docs/MemorySanitizer.html

Solution suggested by <christos>
Root cause of breaking libc++ investigated by <Yang Zheng>

diffstat:

 external/bsd/libc++/lib/Makefile |  4 +++-
 1 files changed, 3 insertions(+), 1 deletions(-)

diffs (18 lines):

diff -r b99591c49741 -r c1d7e5938bb9 external/bsd/libc++/lib/Makefile
--- a/external/bsd/libc++/lib/Makefile  Wed Jun 06 09:46:46 2018 +0000
+++ b/external/bsd/libc++/lib/Makefile  Wed Jun 06 12:02:43 2018 +0000
@@ -1,4 +1,4 @@
-#      $NetBSD: Makefile,v 1.10 2017/01/11 12:10:26 joerg Exp $
+#      $NetBSD: Makefile,v 1.11 2018/06/06 12:02:43 kamil Exp $
 
 LIB=           c++
 WARNS=         4
@@ -44,6 +44,8 @@
 CWARNFLAGS.clang+=     -Wno-error=missing-field-initializers -Wno-error=switch
 CWARNFLAGS.clang+=     -Wno-error=implicit-exception-spec-mismatch
 
+.if ${MKSANITIZER} != "yes"
 LDFLAGS+=      -Wl,-z,defs
+.endif
 
 .include <bsd.lib.mk>



Home | Main Index | Thread Index | Old Index