Bug 175751

Summary: FreeBSD 10.0-CURRENT: build failure with "device runfw"
Product: Base System Reporter: Issei <i10a>
Component: confAssignee: freebsd-bugs (Nobody) <bugs>
Status: Closed FIXED    
Severity: Affects Only Me    
Priority: Normal    
Version: 10.0-CURRENT   
Hardware: Any   
OS: Any   
Attachments:
Description Flags
file.diff none

Description Issei 2013-02-01 07:30:00 UTC
On FreeBSD 10.0-CURRENT/amd64 or /arm, moist recent sources, adding
"device runfw" to kernel configuration file results in build error.



cc -O -pipe  -std=c99 -g -Wall -Wredundant-decls -Wnested-externs -Wstrict-prototypes  -Wmissing-prototypes -Wpointer-arith -Winline -Wcast-qual  -Wundef -Wno-pointer-sign -fformat-extensions  -Wmissing-include-dirs -fdiagnostics-show-option   -nostdinc  -I. -I/usr/src/sys -I/usr/src/sys/contrib/altq -I/usr/src/sys/contrib/libfdt -D_KERNEL -DHAVE_KERNEL_OPTION_HEADERS -include opt_global.h -fno-common -finline-limit=8000 --param inline-unit-growth=100 --param large-function-growth=1000  -mno-thumb-interwork -ffreestanding -c runfw.c
uudecode -o runfw /usr/src/sys/contrib/dev/run/rt2870.fw.uu
ld -b binary --no-warn-mismatch -d -warn-common -r  -o runfw.fwo 
ld: no input files
*** [runfw.fwo] Error code 1

Stop in /usr/obj/usr/src/sys/RPI-B-i10a.
*** [buildkernel] Error code 1

Stop in /usr/src.
*** [buildkernel] Error code 1

Stop in /usr/src.

How-To-Repeat: Add 2 lines to your kernel configuration file.

device          firmware
device          runfw
Comment 1 Giorgos Keramidas freebsd_committer freebsd_triage 2013-02-05 18:38:17 UTC
On 2013-02-01 07:23, Issei <i10a@herbmint.jp> wrote:
> >Number:         175751
> >Category:       conf
> >Synopsis:       FreeBSD 10.0-CURRENT: build failure with "device runfw"

> On FreeBSD 10.0-CURRENT/amd64 or /arm, moist recent sources, adding
> "device runfw" to kernel configuration file results in build error.

> cc -O -pipe  -std=c99 -g -Wall -Wredundant-decls -Wnested-externs -Wstrict-prototypes  -Wmissing-prototypes -Wpointer-arith -Winline -Wcast-qual  -Wundef -Wno-pointer-sign -fformat-extensions  -Wmissing-include-dirs -fdiagnostics-show-option   -nostdinc  -I. -I/usr/src/sys -I/usr/src/sys/contrib/altq -I/usr/src/sys/contrib/libfdt -D_KERNEL -DHAVE_KERNEL_OPTION_HEADERS -include opt_global.h -fno-common -finline-limit=8000 --param inline-unit-growth=100 --param large-function-growth=1000  -mno-thumb-interw ork -ffreestanding -c runfw.c
> uudecode -o runfw /usr/src/sys/contrib/dev/run/rt2870.fw.uu
> ld -b binary --no-warn-mismatch -d -warn-common -r  -o runfw.fwo
> ld: no input files
> *** [runfw.fwo] Error code 1

Andrew (thompsa) may want to chime in and check this change for runfw
too, so I've Cc:ed him in this thread too.

This error is present for amd64 too.  I just tried rebuilding a kernel
with this configuration file, and I can reproduce this error myself too:

kobe:~$ cat -nv /usr/src/sys/amd64/conf/RUNFW
     1	#
     2	# RUNFW -- test kernel for device runfw
     3	#
     4	include		GENERIC
     5	ident			RUNFW
     6
     7	device          firmware
     8	device          runfw
kobe:~$

And this is indeed the fix, because it breaks the circular dependency of
'runfw -> runfw' in sys/conf/files.  Thanks!

> Index: sys/conf/files
> ===================================================================
> --- sys/conf/files      (revision 246145)
> +++ sys/conf/files      (working copy)
> @@ -2208,19 +2208,19 @@
>  dev/usb/wlan/if_rum.c          optional rum
>  dev/usb/wlan/if_run.c          optional run
>  runfw.c                                optional runfw                         \
> -       compile-with    "${AWK} -f $S/tools/fw_stub.awk runfw:runfw -mrunfw -c${.TARGET}"       \
> +       compile-with    "${AWK} -f $S/tools/fw_stub.awk runfw.fw:runfw -mrunfw -c${.TARGET}"    \
>         no-implicit-rule before-depend local                                   \
>         clean           "runfw.c"
>  runfw.fwo                      optional runfw                                 \
> -       dependency      "runfw"                                                \
> +       dependency      "runfw.fw"                                             \
>         compile-with    "${NORMAL_FWO}"                                        \
>         no-implicit-rule                                                       \
>         clean           "runfw.fwo"
> -runfw                          optional runfw                                 \
> +runfw.fw                       optional runfw                                 \
>         dependency      "$S/contrib/dev/run/rt2870.fw.uu"                      \
>         compile-with    "${NORMAL_FW}"                                         \
>         no-obj no-implicit-rule                                                \
> -       clean           "runfw"
> +       clean           "runfw.fw"
>  dev/usb/wlan/if_uath.c         optional uath
>  dev/usb/wlan/if_upgt.c         optional upgt
>  dev/usb/wlan/if_ural.c         optional ural
> Index: sys/modules/runfw/Makefile
> ===================================================================
> --- sys/modules/runfw/Makefile  (revision 246145)
> +++ sys/modules/runfw/Makefile  (working copy)
> @@ -1,11 +1,11 @@
>  # $FreeBSD$
>
>  KMOD=  runfw
> -FIRMWS=        runfw:runfw:1
> +FIRMWS=        runfw.fw:runfw:1
>
> -CLEANFILES=    runfw
> +CLEANFILES=    runfw.fw
>
> -runfw: ${.CURDIR}/../../contrib/dev/run/rt2870.fw.uu
> +runfw.fw: ${.CURDIR}/../../contrib/dev/run/rt2870.fw.uu
>         uudecode -p ${.CURDIR}/../../contrib/dev/run/rt2870.fw.uu > ${.TARGET}
>
>  .include <bsd.kmod.mk>
Comment 2 dfilter service freebsd_committer freebsd_triage 2013-06-21 19:17:02 UTC
Author: gonzo
Date: Fri Jun 21 18:16:54 2013
New Revision: 252064
URL: http://svnweb.freebsd.org/changeset/base/252064

Log:
  Rename run(4) firmware file from runfw to run.fw. Previous name was the
  same as top-level target name for "device runfw" kernel option and
  caused cyclic dependancy that lead to kernel build breakage
  
  Module change is not strictly required and done for name unification sake
  
  PR:		conf/175751
  Submitted by:	    Issei <i10a at herbmint.jp>

Modified:
  head/sys/conf/files
  head/sys/modules/runfw/Makefile

Modified: head/sys/conf/files
==============================================================================
--- head/sys/conf/files	Fri Jun 21 17:36:33 2013	(r252063)
+++ head/sys/conf/files	Fri Jun 21 18:16:54 2013	(r252064)
@@ -2284,19 +2284,19 @@ dev/usb/net/uhso.c		optional uhso
 dev/usb/wlan/if_rum.c		optional rum
 dev/usb/wlan/if_run.c		optional run
 runfw.c				optional runfw							\
-	compile-with	"${AWK} -f $S/tools/fw_stub.awk runfw:runfw -mrunfw -c${.TARGET}"	\
+	compile-with	"${AWK} -f $S/tools/fw_stub.awk run.fw:runfw -mrunfw -c${.TARGET}"	\
 	no-implicit-rule before-depend local							\
 	clean		"runfw.c"
 runfw.fwo			optional runfw							\
-	dependency	"runfw"									\
+	dependency	"run.fw"								\
 	compile-with	"${NORMAL_FWO}"								\
 	no-implicit-rule									\
 	clean		"runfw.fwo"
-runfw				optional runfw							\
+run.fw				optional runfw							\
 	dependency	"$S/contrib/dev/run/rt2870.fw.uu"					\
 	compile-with	"${NORMAL_FW}"								\
 	no-obj no-implicit-rule									\
-	clean		"runfw"
+	clean		"run.fw"
 dev/usb/wlan/if_uath.c		optional uath
 dev/usb/wlan/if_upgt.c		optional upgt
 dev/usb/wlan/if_ural.c		optional ural

Modified: head/sys/modules/runfw/Makefile
==============================================================================
--- head/sys/modules/runfw/Makefile	Fri Jun 21 17:36:33 2013	(r252063)
+++ head/sys/modules/runfw/Makefile	Fri Jun 21 18:16:54 2013	(r252064)
@@ -1,11 +1,11 @@
 # $FreeBSD$
 
 KMOD=	runfw
-FIRMWS=	runfw:runfw:1
+FIRMWS=	run.fw:runfw:1
 
-CLEANFILES=	runfw
+CLEANFILES=	run.fw
 
-runfw: ${.CURDIR}/../../contrib/dev/run/rt2870.fw.uu
+run.fw: ${.CURDIR}/../../contrib/dev/run/rt2870.fw.uu
 	uudecode -p ${.CURDIR}/../../contrib/dev/run/rt2870.fw.uu > ${.TARGET}
 
 .include <bsd.kmod.mk>
_______________________________________________
svn-src-all@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscribe@freebsd.org"
Comment 3 Oleksandr Tymoshenko freebsd_committer freebsd_triage 2013-06-22 01:20:52 UTC
State Changed
From-To: open->closed

Fix committed
Comment 4 dfilter service freebsd_committer freebsd_triage 2013-12-31 16:01:26 UTC
Author: kevlo
Date: Tue Dec 31 16:01:17 2013
New Revision: 260134
URL: http://svnweb.freebsd.org/changeset/base/260134

Log:
  MFC r252064:
  
  Rename run(4) firmware file from runfw to run.fw. Previous name was the
  same as top-level target name for "device runfw" kernel option and
  caused cyclic dependancy that lead to kernel build breakage
  
  Module change is not strictly required and done for name unification sake
  
  PR:	conf/175751
  Submitted by:	Issei <i10a at herbmint.jp>

Modified:
  stable/9/sys/conf/files
Directory Properties:
  stable/9/sys/conf/   (props changed)

Modified: stable/9/sys/conf/files
==============================================================================
--- stable/9/sys/conf/files	Tue Dec 31 15:45:12 2013	(r260133)
+++ stable/9/sys/conf/files	Tue Dec 31 16:01:17 2013	(r260134)
@@ -2033,19 +2033,19 @@ dev/usb/net/uhso.c		optional uhso
 dev/usb/wlan/if_rum.c		optional rum
 dev/usb/wlan/if_run.c		optional run
 runfw.c				optional runfw							\
-	compile-with	"${AWK} -f $S/tools/fw_stub.awk runfw:runfw -mrunfw -c${.TARGET}"	\
+	compile-with	"${AWK} -f $S/tools/fw_stub.awk run.fw:runfw -mrunfw -c${.TARGET}"	\
 	no-implicit-rule before-depend local							\
 	clean		"runfw.c"
 runfw.fwo			optional runfw							\
-	dependency	"runfw"									\
+	dependency	"run.fw"								\
 	compile-with	"${NORMAL_FWO}"								\
 	no-implicit-rule									\
 	clean		"runfw.fwo"
-runfw				optional runfw							\
+run.fw				optional runfw							\
 	dependency	"$S/contrib/dev/run/rt2870.fw.uu"					\
 	compile-with	"${NORMAL_FW}"								\
 	no-obj no-implicit-rule									\
-	clean		"runfw"
+	clean		"run.fw"
 dev/usb/wlan/if_uath.c		optional uath
 dev/usb/wlan/if_upgt.c		optional upgt
 dev/usb/wlan/if_ural.c		optional ural
_______________________________________________
svn-src-all@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscribe@freebsd.org"