svn commit: r285366 - in head: lib/libmd sys/crypto/sha2

Craig Rodrigues rodrigc at crodrigues.org
Sat Jul 11 14:16:43 UTC 2015


On Sat, Jul 11, 2015 at 4:04 AM, John-Mark Gurney <jmg at 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


More information about the svn-src-all mailing list