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

John-Mark Gurney jmg at funkthat.com
Sat Jul 11 14:29:24 UTC 2015


Craig Rodrigues wrote this message on Sat, Jul 11, 2015 at 10:16 -0400:
> 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.

The closest I can see is that sha256hl.c (from mdXhl.c) is including
"sha256.h" with double quotes, and getting the wrong header file..

-- 
  John-Mark Gurney				Voice: +1 415 225 5579

     "All that I will do, has been done, All that I have, has not."


More information about the svn-src-head mailing list