Date: Wed, 24 Oct 2012 16:46:36 GMT From: Garrett Cooper <yanegomi@gmail.com> To: freebsd-gnats-submit@FreeBSD.org Subject: misc/173030: [patch] emulators/open-vm-tools: fix clang compile problem with -Wformat-security when built from PORTS_MODULES Message-ID: <201210241646.q9OGka3K064036@red.freebsd.org> Resent-Message-ID: <201210241650.q9OGo1FA048719@freefall.freebsd.org>
next in thread | raw e-mail | index | archive | help
>Number: 173030 >Category: misc >Synopsis: [patch] emulators/open-vm-tools: fix clang compile problem with -Wformat-security when built from PORTS_MODULES >Confidential: no >Severity: non-critical >Priority: low >Responsible: freebsd-bugs >State: open >Quarter: >Keywords: >Date-Required: >Class: sw-bug >Submitter-Id: current-users >Arrival-Date: Wed Oct 24 16:50:01 UTC 2012 >Closed-Date: >Last-Modified: >Originator: Garrett Cooper >Release: 10-CURRENT >Organization: EMC Isilon >Environment: FreeBSD fallout-atf-current.local 10.0-CURRENT FreeBSD 10.0-CURRENT #3: Mon Oct 22 10:30:54 PDT 2012 root@fallout-atf-current.local:/usr/obj/usr/src/sys/GENERIC i386 >Description: emulators/open-vm-tools fails to compile with -Wformat-security / clang; this is part of the default CFLAGS that gets passed along via buildkernel when building PORTS_MODULES. This thread has a bit more discussion and a patch for the issue: https://sourceforge.net/tracker/?func=detail&aid=3579794&group_id=204462&atid=989708 >How-To-Repeat: 1. Install FreeBSD CURRENT on a VM. 2. Apply the following patch to so building with bmake and the PORTS_MODULES works (this is just a stopgap patch I'm using in my workspace to dogfood bmake): Index: /store/freebsd/atf-head/usr.bin/Makefile =================================================================== --- /store/freebsd/atf-head/usr.bin/Makefile (revision 241967) +++ /store/freebsd/atf-head/usr.bin/Makefile (working copy) @@ -280,10 +280,9 @@ .if ${MK_MAKE} != "no" .if ${MK_BMAKE} != "no" SUBDIR+= bmake -.else +.endif SUBDIR+= make .endif -.endif .if ${MK_MAN_UTILS} != "no" SUBDIR+= catman Index: /store/freebsd/atf-head/usr.bin/make/Makefile =================================================================== --- /store/freebsd/atf-head/usr.bin/make/Makefile (revision 241967) +++ /store/freebsd/atf-head/usr.bin/make/Makefile (working copy) @@ -4,7 +4,15 @@ .include <bsd.own.mk> +.if ${MK_BMAKE} == "no" PROG= make +LINKS+= make pmake +.else +pmake.1: make.1 + cp ${.ALLSRC} ${.TARGET} +MAN= pmake.1 +PROG= pmake +.endif CFLAGS+=-I${.CURDIR} SRCS= arch.c buf.c cond.c dir.c for.c hash.c hash_tables.c job.c \ lst.c main.c make.c parse.c proc.c shell.c str.c suff.c targ.c \ Index: /store/freebsd/atf-head/sys/conf/kern.post.mk =================================================================== --- /store/freebsd/atf-head/sys/conf/kern.post.mk (revision 241967) +++ /store/freebsd/atf-head/sys/conf/kern.post.mk (working copy) @@ -59,14 +59,22 @@ PATH=${PATH}:${LOCALBASE}/bin:${LOCALBASE}/sbin \ SRC_BASE=${SRC_BASE} \ OSVERSION=${OSRELDATE} \ - WRKDIRPREFIX=${WRKDIRPREFIX} + WRKDIRPREFIX=${WRKDIRPREFIX} \ + INSTALL=install +.if defined(.PARSEFILE) +# Remove bmake-only supported MAKEFLAGS +PORTSMAKEFLAGS:= ${MAKEFLAGS:tW:S/-N //:C/ -[JT] [^ ]+ / /g} +PORTSMODULESENV+= MAKEFLAGS="${PORTSMAKEFLAGS}" +PMAKE= pmake +.endif + # The WRKDIR needs to be cleaned before building, and trying to change the target # with a :C pattern below results in install -> instclean all: .for __i in ${PORTS_MODULES} @${ECHO} "===> Ports module ${__i} (all)" - cd $${PORTSDIR:-/usr/ports}/${__i}; ${PORTSMODULESENV} ${MAKE} -B clean all + cd $${PORTSDIR:-/usr/ports}/${__i}; ${PORTSMODULESENV} ${PMAKE} -B clean all .endfor .for __target in install reinstall clean @@ -74,7 +82,7 @@ ports-${__target}: .for __i in ${PORTS_MODULES} @${ECHO} "===> Ports module ${__i} (${__target})" - cd $${PORTSDIR:-/usr/ports}/${__i}; ${PORTSMODULESENV} ${MAKE} -B ${__target:C/install/deinstall reinstall/:C/reinstall/deinstall reinstall/} + cd $${PORTSDIR:-/usr/ports}/${__i}; ${PORTSMODULESENV} ${PMAKE} -B ${__target:C/install/deinstall reinstall/:C/reinstall/deinstall reinstall/} .endfor .endfor .endif 2. cd /usr/src && make buildworld -DWITH_BMAKE && buildkernel PORTS_MODULES=emulators/open-vm-tools CC=clang CXX=clang++ CPP=clang-cpp >Fix: >Release-Note: >Audit-Trail: >Unformatted:
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201210241646.q9OGka3K064036>