svn commit: r312583 - head/Mk

Koop Mast kwm at FreeBSD.org
Tue Feb 19 16:24:17 UTC 2013


Author: kwm
Date: Tue Feb 19 16:24:16 2013
New Revision: 312583
URL: http://svnweb.freebsd.org/changeset/ports/312583

Log:
  Add workaround for when clang is used as a compiler, due to a tail calls
  optimization bug in llvm when PIC mode is used. This bug was reproduced with
  3.2 and 3.1 on i386. And prevents modules that where dlopen()'d by the
  xorg-server, to dlopen() other shared modules by themself.
  
  This is known to happen with the vmware and vesa drivers others might be
  affected.
  
  More details: http://llvm.org/bugs/show_bug.cgi?id=15086
  
  Submitted by:	dim@

Modified:
  head/Mk/bsd.xorg.mk

Modified: head/Mk/bsd.xorg.mk
==============================================================================
--- head/Mk/bsd.xorg.mk	Tue Feb 19 16:18:01 2013	(r312582)
+++ head/Mk/bsd.xorg.mk	Tue Feb 19 16:24:16 2013	(r312583)
@@ -49,6 +49,11 @@ USE_GNOME+=	pkgconfig
 . if ${XORG_CAT} == "driver"
 USE_GNOME+=	pkgconfig
 USE_XORG+=	xorg-server xproto randrproto xi
+# work around a llvm bug on i386, llvm bug #15806 
+# reproduced with clang 3.2 (current release) and 3.1
+.  if ${ARCH} == i386
+CFLAGS+=	-fno-optimize-sibling-calls
+.  endif
 CONFIGURE_ENV+=	DRIVER_MAN_SUFFIX=4x DRIVER_MAN_DIR='$$(mandir)/man4'
 .  if ${PORTNAME:M*input*}x != x
 USE_XORG+=	inputproto renderproto


More information about the svn-ports-all mailing list