Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 11 Apr 2014 01:32:23 GMT
From:      Devin Teske <dteske@FreeBSD.org>
To:        freebsd-gnats-submit@FreeBSD.org
Subject:   misc/188445: Unable to link testmain in sys/boot/ficl after make all
Message-ID:  <201404110132.s3B1WNxU059465@cgiserv.freebsd.org>
Resent-Message-ID: <201404110140.s3B1e0xu022867@freefall.freebsd.org>

next in thread | raw e-mail | index | archive | help


>Number:         188445
>Category:       misc
>Synopsis:       Unable to link testmain in sys/boot/ficl after make all
>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:   Fri Apr 11 01:40:00 UTC 2014
>Closed-Date:
>Last-Modified:
>Originator:     Devin Teske
>Release:        9.2-STABLE @ r260095M
>Organization:
FIS Global, Inc.
>Environment:
FreeBSD blackford.shxd.cx 9.2-STABLE FreeBSD 9.2-STABLE #19 r260095M: Wed Mar  5 12:07:49 PST 2014     devin@blackford.shxd.cx:/usr/src/sys/amd64/compile/SYNAPSE-amd64  amd64
>Description:
If you say "make all" (or simply "make") in sys/boot/ficl prior to saying "make testmain", the latter fails.

NOTE: "testmain" is the userland ficl interpreter used for honing your Forth, teaching others, or just plain messing around with the language.
>How-To-Repeat:
First say "make clean" in sys/boot/ficl. Then say "make" or "make all". Both of these are expected to return successfully. Finally say "make testmain" to produce the following error:

cc -O2 -pipe  -ffreestanding -march=i386 -mpreferred-stack-boundary=2 -mno-mmx -mno-3dnow -mno-sse -mno-sse2 -mno-sse3 -msoft-float -DTESTMAIN -D_TESTMAIN -std=gnu99   -m32 -I. -I/usr/src/sys/boot/ficl -I/usr/src/sys/boot/ficl/i386  -I/usr/src/sys/boot/ficl/../common  -o testmain dict.o ficl.o fileaccess.o float.o loader.o math64.o prefix.o search.o stack.o tools.o vm.o words.o sysdep.o softcore.o testmain.o
loader.o: In function `keyQuestion':
loader.c:(.text+0x312): undefined reference to `ischar'
loader.o: In function `ficlCopyout':
loader.c:(.text+0x424): undefined reference to `archsw'
loader.o: In function `ficlCopyin':
loader.c:(.text+0x468): undefined reference to `archsw'
loader.o: In function `pfopen':
loader.c:(.text+0x697): undefined reference to `Malloc'
loader.c:(.text+0x6c3): undefined reference to `Free'
loader.o: In function `ficlFindfile':
loader.c:(.text+0x8c6): undefined reference to `file_findfile'
loader.o: In function `ms':
loader.c:(.text+0x2fc): undefined reference to `delay'
sysdep.o: In function `ficlFree':
sysdep.c:(.text+0xd2): undefined reference to `Free'
sysdep.o: In function `ficlRealloc':
sysdep.c:(.text+0xed): undefined reference to `Realloc'
sysdep.o: In function `ficlMalloc':
sysdep.c:(.text+0x102): undefined reference to `Malloc'
*** [testmain] Error code 1

See "Fix to the problem if known" for work-around.


>Fix:
A work-around exists which is to first say "make clean", then "make testmain". Another acceptable workaround is to say "make clean" and then perform "make all testmain" (which interestingly links testmain fine despite running the `all' target prior to testmain).

>Release-Note:
>Audit-Trail:
>Unformatted:



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