[Bug 270769] databases/postgresql13-client fails to build WITH_LLVM_BINUTILS (LLVM strip)

From: <bugzilla-noreply_at_freebsd.org>
Date: Tue, 11 Apr 2023 20:13:31 UTC
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=270769

            Bug ID: 270769
           Summary: databases/postgresql13-client fails to build
                    WITH_LLVM_BINUTILS (LLVM strip)
           Product: Ports & Packages
           Version: Latest
          Hardware: Any
                OS: Any
            Status: New
          Severity: Affects Only Me
          Priority: ---
         Component: Individual Port(s)
          Assignee: pgsql@FreeBSD.org
          Reporter: emaste@freebsd.org
            Blocks: 258872
             Flags: maintainer-feedback?(pgsql@FreeBSD.org)
          Assignee: pgsql@FreeBSD.org

From the exp-run in PR258872
https://pkg-status.freebsd.org/gohan05/data/mainamd64PR258872-default/2023-04-05_14h36m44s/logs/errors/postgresql13-client-13.10.log

==========
STRIPPROG='strip -x' /bin/sh ../../../config/install-sh -c -m 644 -s libpq.a
'/wrkdirs/usr/ports/databases/postgresql13-client/work/stage/usr/local/lib/libpq.a'
strip: error:
'/wrkdirs/usr/ports/databases/postgresql13-client/work/stage/usr/local/lib/_inst.20299_':
not stripping symbol '.L.str' because it is named in a relocation
==========

pgsql's build has requested to strip all non-global symbols (strip -x), but
there is at least one non-global symbol that in fact cannot be stripped because
it is referenced by a relocation.

Both GNU strip and ELF Tool Chain strip silently handle this case (and just
retain the local symbol), but LLVM strip is stricter and emits an error upon
request to strip a non-removable local symbol.

There is an LLVM ticket open for this at
https://github.com/llvm/llvm-project/issues/47468. It probably makes sense for
LLVM strip to behave the same as GNU and ELF Tool Chain strip, but I believe
pgsql should just not use strip -x when there are symbols that cannot be
stripped. My suggestion would be to consider just not stripping .a archives.


Referenced Bugs:

https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=258872
[Bug 258872] [exp-run] WITH_LLVM_BINUTILS
-- 
You are receiving this mail because:
You are the assignee for the bug.