svn commit: r219139 - head/lib/libc/stdlib
Dimitry Andric
dim at FreeBSD.org
Tue Mar 1 17:15:45 UTC 2011
Author: dim
Date: Tue Mar 1 17:15:44 2011
New Revision: 219139
URL: http://svn.freebsd.org/changeset/base/219139
Log:
Put in a temporary workaround for ctfmerge hanging on processing
kernel.debug (or possibly other files), when WITH_CTF is active.
This is caused by a bug in clang's integrated assembler, causing malloc
to sometimes hang during initialization in statically linked executables
that use threading, such as the copy of ctfmerge that is built during
the bootstrap stage of buildworld. The bug has been submitted upstream:
http://llvm.org/bugs/show_bug.cgi?id=9352
Note that you might have to rebuild and install libc first, to get your
kernel build to finish, because the ctfmerge binary built during
bootstrap is linked with your base system's copy of libc.a, which might
already contain a bad copy of malloc.o.
Modified:
head/lib/libc/stdlib/Makefile.inc
Modified: head/lib/libc/stdlib/Makefile.inc
==============================================================================
--- head/lib/libc/stdlib/Makefile.inc Tue Mar 1 16:42:28 2011 (r219138)
+++ head/lib/libc/stdlib/Makefile.inc Tue Mar 1 17:15:44 2011 (r219139)
@@ -51,3 +51,7 @@ MLINKS+=tsearch.3 tdelete.3 tsearch.3 tf
CFLAGS+= -DMALLOC_PRODUCTION
.endif
+.if ${CC:T:Mclang} == "clang"
+# XXX: Temporary workaround for LLVM PR 9352
+CFLAGS+= ${.IMPSRC:T:Mmalloc.c:C/^.+$/-no-integrated-as/}
+.endif
More information about the svn-src-all
mailing list