linker now uses exec-only by default - amd64, aarch64, riscv64,
powerpc64 - so that when packages are next rebuilt, pkg_add -u will
replace all packages with the new ones.
(additionally, the generated Makefiles to create debug packages changed
from binutils strip+objcopy to the LLVM versions to avoid damage done to
GNU_RELRO, so all packages which have debug-package support in their
build need to be replaced for that reason also; only aarch64 and amd64
have debug-packages so they're covered by the above bump too).
- Use llvm-objcopy instead of (binutils) objcopy when creating detached
debug symbols and adding the gnu-debuglink section.
- For llvm-objcopy and strip, output to a temporary file and copy it
back to the original file. The LLVM tools create a new file, so hard links
are not normally maintained, but this method keeps them.
https://github.com/llvm/llvm-project/issues/59848#issuecomment-1374070557
ok naddy@.
This should allow us to move back to llvm-strip in base on archs where
we use ld.lld, which (alongside the change to llvm-objcopy) avoids problems
that have been seen during mimmutable(2) development with GNU_RELRO with
the version of binutils that we have.
Make use of new features in xz 5.4.0:
* Use xz, which now has upstream support for pledge(), instead of xzdec.
* Enable threaded decompression for ports that use parallel make.
* Use xz instead of lunzip to decompress .lz files.
ok kn@ sthen@
script infrastructure previously used for USE_WXNEEDED to allow adding
--no-execute-only by setting USE_NOEXECONLY=Yes in the port.
This isn't ideal for compilers (in cases where those can't be made to work
with exec-only they need patching to add to the internally constructed linker
command line, though it does at least help with initial testing there),
and is useful for some other ports.
ok tb@
that it shouldn't go into modules.inc; low-tech approach but hopefully
people will notice it if they read their diff before sending it out ;)
tb@ thinks it would help too.
if MULTI_PACKAGE isn't set $subpkg is "-" and it breaks the check for
COMMENT. Trim out the - with ${subpkg%-} as already done in other parts
of portcheck.
ok tb@, sthen@
Historically, bsd.lib.mk used to build lib*_pic.a libraries, except
on mips64. Ten years ago, bsd.lib.mk stopped creating lib*_pic.a
files and the corresponding PFRAG.no_mips64 bits were removed from
the ports tree. Remove the _PKG_ARGS handling that was forgotten
at the time.
From Brad, ok sthen@
hardcode destdir in the first cwd, but instead add it systematically where
required)
fixes stsp@ issue with got
thx aja@ for a bulk check "just in case"