On 9/30/24 15:04, Dima Panov wrote:
Hello!

On 30.09.2024 21:57, Herbert J. Skuhra wrote:
On Mon, 30 Sep 2024 05:36:04 +0200, Kyle Evans wrote:

The branch main has been updated by kevans:

URL: https://cgit.FreeBSD.org/src/commit/?id=e7a629c851d747772cc138efcb0418809ecdea55

commit e7a629c851d747772cc138efcb0418809ecdea55
Author:     Kyle Evans <kev...@freebsd.org>
AuthorDate: 2022-03-08 15:39:52 +0000
Commit:     Kyle Evans <kev...@freebsd.org>
CommitDate: 2024-09-30 03:34:18 +0000

     libmd, kern, stand: consolidate md5 implementations (NFC)
     Reduce the number of md5c.c between the three of these from two to one      by just reaching into the kernel build for both userland builds.  The
     precedent for this already exists for sha2 in both cases.
     _libmd_ symbol privatization bits have been moved to sys/md5.h and
     md5.h remains to #include <sys/md5.h> for compatibility.
     This stops exporting MD5Pad() in the process because the kernel stopped
     exporting it in 502a35d60f4c.  soversion is bumped accordingly.
     This also renames the libc version of stack_protector.c; it previously      only worked by coincidence because .PATH ordering worked out such that
     we got the right one, but this is not the case anymore.  Remove the
     landmine.
     PR:             280784 (exp-run)
     Reviewed by:    allanjude, delphij
     Differential Revision:  https://reviews.freebsd.org/D34497
---
  ObsoleteFiles.inc                                  |   3 +
  lib/libc/Makefile                                  |   2 +-
  lib/libc/md/Makefile.inc                           |   2 +-
  lib/libc/secure/Makefile.inc                       |   2 +-
  .../{stack_protector.c => libc_stack_protector.c}  |   0
  lib/libcrypt/Makefile                              |   2 +-
  lib/libmd/Makefile                                 |   3 +-
  lib/libmd/md5.h                                    |  40 ---
  lib/libmd/md5c.c                                   | 344 ---------------------
  lib/libssp/Makefile                                |   2 +-
  stand/libsa/Makefile                               |   4 +-
  sys/kern/md5c.c                                    |  23 +-
  sys/sys/md5.h                                      |  42 +++
  13 files changed, 72 insertions(+), 397 deletions(-)

Don't run make delete-old-libs. :-)

Does this change break building ports-mgmt/pkg (on arm64)?

--- pkg ---
cc -o pkg add.o alias.o annotate.o audit.o autoremove.o check.o clean.o config.o create.o delete.o event.o fetch.o globals.o info.o install.o key.o lock.o main.o plugins.o query.o register.o repo.o rquery.o search.o set.o shell.o shlib.o ssh.o stats.o triggers.o update.o updating.o upgrade.o utils.o version.o which.o -fstack-protector-strong  -Wl,-Bstatic  -Wl,-whole-archive -L/usr/ports/ports-mgmt/pkg/work/pkg-1.21.3/libpkg -lpkg_flat -Wl,-no-whole-archive    -Wl,-Bdynamic -lelf -ljail -lssl -lcrypto -larchive -lbz2 -lz -llzma -lprivatezstd -lm -pthread -lutil -lmd -Wl,--export-dynamic
--- pkg-static ---
cc -o pkg-static add.o alias.o annotate.o audit.o autoremove.o check.o clean.o config.o create.o delete.o event.o fetch.o globals.o info.o install.o key.o lock.o main.o plugins.o query.o register.o repo.o rquery.o search.o set.o shell.o shlib.o ssh.o stats.o triggers.o update.o updating.o upgrade.o utils.o version.o which.o -static -L/usr/ports/ports-mgmt/pkg/work/pkg-1.21.3/libpkg -lpkg_flat  -lelf -ljail -lssl -lcrypto -larchive -lbz2 -lz -llzma -lprivatezstd -lm -pthread -lutil -lmd
ld: error: duplicate symbol: SHA256_Transform
defined at sha256.c
            sha256.o:(SHA256_Transform) in archive /usr/lib/libcrypto.a
defined at sha256c.c
            sha256c.o:(SHA256_Transform_resolver) in archive /usr/lib/libmd.a
cc: error: linker command failed with exit code 1 (use -v to see invocation)
*** [pkg-static] Error code 1



This one is fixed in c02bc0aa0b22009e4bc, sorry about that. I forgot that exp-runs are inherently x86, and there's some aarch64 specific bits in here that shouldn't have been missed.


also, this prevent to run anything builded with libmd.so.6

$ pkg upg
ld-elf.so.1: /usr/local/lib/compat/pkg/libmd.so.6: unsupported file layout


This one doesn't seem to make any sense, though. That message in particular implies the elf header itself is damaged somehow.

Thanks,

Kyle Evans

Reply via email to