Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 1 Mar 2011 17:15:44 +0000 (UTC)
From:      Dimitry Andric <dim@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r219139 - head/lib/libc/stdlib
Message-ID:  <201103011715.p21HFiDB043251@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
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



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