Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 11 Jul 2015 10:16:42 -0400
From:      Craig Rodrigues <rodrigc@crodrigues.org>
To:        John-Mark Gurney <jmg@funkthat.com>
Cc:        "src-committers@freebsd.org" <src-committers@freebsd.org>,  "svn-src-all@freebsd.org" <svn-src-all@freebsd.org>,  "svn-src-head@freebsd.org" <svn-src-head@freebsd.org>
Subject:   Re: svn commit: r285366 - in head: lib/libmd sys/crypto/sha2
Message-ID:  <CAG=rPVcCSzHKwqyOzAZOG=N9pBMpwFbY%2BCMOM655BanjnNVQ-w@mail.gmail.com>
In-Reply-To: <20150711080439.GD8523@funkthat.com>
References:  <201507110312.t6B3CZBv081280@repo.freebsd.org> <20150711080439.GD8523@funkthat.com>

next in thread | previous in thread | raw e-mail | index | archive | help
On Sat, Jul 11, 2015 at 4:04 AM, John-Mark Gurney <jmg@funkthat.com> wrote:

>
> This change breaks upgrading from 10-stable...  I'm not sure why it
>

In my FreeBSD 10.1-RELEASE VM, I am seeing this:

--- xinstall ---
cc -O2 -pipe  -I/builds/FreeBSD_HEAD/usr.bin/xinstall/../../contrib/mtree
-I/builds/FreeBSD_HEAD/usr.bin/xinstall/../../lib/libnetbsd
-I/builds/FreeBSD_HEAD/usr.bin/xinstall/../../lib/libmd -std=gnu99
-Qunused-arguments
-I/builds/FreeBSD_HEAD/obj/builds/FreeBSD_HEAD/tmp/legacy/usr/include
-static -L/builds/FreeBSD_HEAD/obj/builds/FreeBSD_HEAD/tmp/legacy/usr/lib
-o xinstall xinstall.o getid.o  -lmd -legacy
xinstall.o: In function `install':
/builds/FreeBSD_HEAD/usr.bin/xinstall/xinstall.c:(.text+0x133c):
undefined reference to `_libmd_SHA256_File'
/builds/FreeBSD_HEAD/usr.bin/xinstall/xinstall.c:(.text+0x1631):
undefined reference to `_libmd_SHA256_End'
/builds/FreeBSD_HEAD/usr.bin/xinstall/xinstall.c:(.text+0x186c):
undefined reference to `_libmd_SHA256_File'
xinstall.o: In function `compare':
/builds/FreeBSD_HEAD/usr.bin/xinstall/xinstall.c:(.text+0x2706):
undefined reference to `_libmd_SHA256_End'
cc: error: linker command failed with exit code 1 (use -v to see invocation)
*** [xinstall] Error code 1

In the build tree, I see the following libmd.a files created under the obj tree:

./world32/builds/FreeBSD_HEAD/lib/libmd/libmd.a
./tmp/builds/FreeBSD_HEAD/lib/libmd/libmd.a
./tmp/legacy/usr/lib/libmd.a
./lib/libmd/libmd.a

If I look for the _libmd_SHA256_File or _libmd_SHA512_File symbols in
each library, I see:

# for l in $(find . -name "libmd.a") ; do printf "$l\n=======\n";
         nm $l | egrep 'SHA256_File|SHA512_File'
                  done

./world32/builds/FreeBSD_HEAD/lib/libmd/libmd.a
=======
00000090 W SHA512_File
000000d0 W SHA512_FileChunk
00000090 T _libmd_SHA512_File
000000d0 T _libmd_SHA512_FileChunk
00000090 W SHA256_File
000000d0 W SHA256_FileChunk
00000090 T _libmd_SHA256_File
000000d0 T _libmd_SHA256_FileChunk

./tmp/builds/FreeBSD_HEAD/lib/libmd/libmd.a
=======
0000000000000080 W SHA512_File
0000000000000090 W SHA512_FileChunk
0000000000000080 T _libmd_SHA512_File
0000000000000090 T _libmd_SHA512_FileChunk
                 U _libmd_SHA256_FileChunk

./tmp/legacy/usr/lib/libmd.a
=======
0000000000000080 W SHA512_File
0000000000000090 W SHA512_FileChunk
0000000000000080 T _libmd_SHA512_File
0000000000000090 T _libmd_SHA512_FileChunk
                 U _libmd_SHA256_FileChunk

./lib/libmd/libmd.a
=======
00000000000000b0 W SHA512_File
00000000000000c0 W SHA512_FileChunk
00000000000000b0 T _libmd_SHA512_File
00000000000000c0 T _libmd_SHA512_FileChunk
00000000000000a0 W SHA256_File
00000000000000b0 W SHA256_FileChunk
00000000000000a0 T _libmd_SHA256_File
00000000000000b0 T _libmd_SHA256_FileChunk


So it looks like _libmd_SHA256_File is not defined in the legacy
library used during the bootstrap.

--
Craig



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAG=rPVcCSzHKwqyOzAZOG=N9pBMpwFbY%2BCMOM655BanjnNVQ-w>