From: PG Bug reporting form <noreply@postgresql.org>
To: pgsql-bugs@lists.postgresql.org
Cc: emaste@freebsd.org
Subject: BUG #17898: Build failure when strip is LLVM's version
Date: Sat, 15 Apr 2023 03:45:08 +0000
Message-ID: <17898-5308d09543463266@postgresql.org> (raw)
The following bug has been logged on the website:
Bug reference: 17898
Logged by: Ed Maste
Email address: emaste@freebsd.org
PostgreSQL version: 13.10
Operating system: FreeBSD
Description:
In FreeBSD we are experimenting with the use of LLVM's binutils-like tools,
including installing llvm-objcopy as strip. When this is done PostgreSQL
fails to build, with error
====
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
====
This occurs because llvm-objcopy is more strict, compared to GNU strip or
ELF Tool Chain strip. When -x is specified (i.e., discard all non-global
symbols) but the object to strip contains symbols that cannot be discarded
LLVM's strip emits an error. GNU and ELF Tool Chain strip instead just
retain the referenced non-global symbols.
Within the FreeBSD ports collection TCL and PostgreSQL are the only
significant software packages affected by this issue. TCL addressed this by
using --strip-unneeded instead of -x.
FreeBSD bug report:
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=270769
LLVM issue: https://github.com/llvm/llvm-project/issues/47468
TCL issue:
https://core.tcl-lang.org/tcl/tktview/718de2132f487cf29dfdd0be2b90fcc0107c2aa7
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Reply to all the recipients using the --to and --cc options:
reply via email
To: pgsql-bugs@postgresql.org
Cc: noreply@postgresql.org, pgsql-bugs@lists.postgresql.org, emaste@freebsd.org
Subject: Re: BUG #17898: Build failure when strip is LLVM's version
In-Reply-To: <17898-5308d09543463266@postgresql.org>
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox