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