Approved by: portmgr (miwi)
GCC has two runtime libraries: The static library libgcc.a (-lgcc) and
the shared library libgcc_s.so (-lgcc_s). Both implement many of the
same functions but they also each have their unique functions. When
GCC links programs and libraries there are three possibilities:
1. gcc -static-libgcc or gcc -static: -lgcc
=> Just use libgcc.a.
2. gcc -shared-libgcc: -lgcc_s -lgcc
=> Link with libgcc_s first, so libgcc.a is only used for its unique
functions.
3. gcc: -lgcc -Wl,--as-needed -lgcc_s -Wl,--no-as-needed
=> Link with libgcc.a first so libgcc_s is only used for its unique
functions (_Unwind_* functions).
Approach 3 is the default for gcc and it's also what clang and clang++ use;
approach 2 is the default for gfortran, g++ and probably other front ends.
This patch makes 3 the default for gfortran. It significantly reduces
the use of libgcc_s. The _Unwind_* functions are also available in the
old base system libgcc_s which means this reduces the need for
-rpath /usr/local/lib/gccN in ports that depend on libraries built with
gfortran. Consider a dependency tree like this:
prog -> libA -> libgcc_s (old base system libgcc_s is fine)
-> libB -> libgcc_s (libB built with gfortran, needs new libgcc_s)
Here prog needs to be linked with -rpath /usr/local/lib/gccN even if it's
a normal C program compiled with clang. Without -rpath it will fail to
start because it loads old libgcc_s first as a dependency of libA and then
it fails to load libB. With this patch libB works with old base system
libgcc_s or may not need libgcc_s at all, so prog does not need to be
linked with -rpath.
PR: 208120
Submitted by: tijl
Add BUILD_DEPENDS
security/nettle requires gmp 6.0.0+, otherwise support for public key algorithms will be unavailable.
PR: 237582
Submitted by: eugen
Approved by: ports-secteam (blanket)
Update drm kmod ports
Update drm-fbsd11.2-kmod and drm-fbsd12.0-kmod to their latest snapshots.
This fixes loading order issues with ttm.
Approved by: ports-secteam (implicit, drm-driver blanket)
x11/cde: Fix building on FreeBSD 12
Add some missing dependencies and a couple more shebang fixes
PR: ports/237518
Submitted by: Thomas Merkel
Approved by: portmgr (build fix blanket)
net-mgmt/dhcdrop: Fix build on FreeBSD >= 12.0 and unbreak STATIC option
Add missing libibverbs dependency when linking statically. On
FreeBSD >= 12.0 libpcap needs libibverbs:
/usr/bin/ld: error: undefined symbol: ibv_get_device_list
>>> referenced by pcap-rdmasniff.c:370 (/usr/src/contrib/libpcap/pcap-rdmasniff.c:370)
>>> pcap-rdmasniff.o:(rdmasniff_create) in archive /usr/lib/libpcap.a
http://beefy6.nyi.freebsd.org/data/120amd64-default/499421/logs/errors/dhcdrop-0.5_2.log
While here fix the STATIC option. Currently the port always links
statically since --disable-static-build is broken and also enables
static linking.
Reported by: antoine, pkg-fallout
Approved by: ports-secteam blanket
- Prevent detection of autogen. It causes some files to be regenerated
and then they require a newer header than is provided with gnutls.
- Remove ZLIB option. It's no longer available.
PR: 237419
Reported by: Kevin Oberman <rkoberman@gmail.com>
Approved by: ports-secteam (blanket)
sysutils/memtest86+: Remove gcc run dependency
The port provides bootable images only and does not install any
userspace binaries or libraries.
Approved by: ports-secteam blanket
mail/dovecot: upgrade to 2.3.5.2
* CVE-2019-10691: Trying to login with 8bit username containing
invalid UTF8 input causes auth process to crash if auth policy is
enabled. This could be used rather easily to cause a DoS. Similar
crash also happens during mail delivery when using invalid UTF8 in
From or Subject header when OX push notification driver is used.
Security: CVE-2019-10691
Approved by: ports-secteam (miwi)