svn commit: r344271 - in projects/import-googletest-1.8.1: . contrib/libarchive/libarchive contrib/libc++/include contrib/llvm/lib/MC etc/mtree kerberos5/tools/asn1_compile kerberos5/tools/slc lib/...
Enji Cooper
ngie at FreeBSD.org
Tue Feb 19 03:46:39 UTC 2019
Author: ngie
Date: Tue Feb 19 03:46:32 2019
New Revision: 344271
URL: https://svnweb.freebsd.org/changeset/base/344271
Log:
MFhead at r344270
Added:
projects/import-googletest-1.8.1/lib/libc/x86/gen/
- copied from r344270, head/lib/libc/x86/gen/
projects/import-googletest-1.8.1/sys/opencrypto/cbc_mac.c
- copied unchanged from r344270, head/sys/opencrypto/cbc_mac.c
projects/import-googletest-1.8.1/sys/opencrypto/cbc_mac.h
- copied unchanged from r344270, head/sys/opencrypto/cbc_mac.h
projects/import-googletest-1.8.1/sys/opencrypto/xform_cbc_mac.c
- copied unchanged from r344270, head/sys/opencrypto/xform_cbc_mac.c
projects/import-googletest-1.8.1/tools/build/options/WITHOUT_PIE
- copied unchanged from r344270, head/tools/build/options/WITHOUT_PIE
projects/import-googletest-1.8.1/tools/build/options/WITH_PIE
- copied unchanged from r344270, head/tools/build/options/WITH_PIE
Deleted:
projects/import-googletest-1.8.1/lib/libc/amd64/gen/getcontextx.c
projects/import-googletest-1.8.1/lib/libc/i386/gen/getcontextx.c
Modified:
projects/import-googletest-1.8.1/UPDATING
projects/import-googletest-1.8.1/contrib/libarchive/libarchive/archive_read_disk_posix.c
projects/import-googletest-1.8.1/contrib/libc++/include/type_traits
projects/import-googletest-1.8.1/contrib/llvm/lib/MC/ELFObjectWriter.cpp
projects/import-googletest-1.8.1/etc/mtree/BSD.root.dist
projects/import-googletest-1.8.1/kerberos5/tools/asn1_compile/Makefile
projects/import-googletest-1.8.1/kerberos5/tools/slc/Makefile
projects/import-googletest-1.8.1/lib/clang/Makefile.inc
projects/import-googletest-1.8.1/lib/clang/libllvmminimal/Makefile
projects/import-googletest-1.8.1/lib/libbe/be.c
projects/import-googletest-1.8.1/lib/libbe/be.h
projects/import-googletest-1.8.1/lib/libbe/be_error.c
projects/import-googletest-1.8.1/lib/libbe/libbe.3
projects/import-googletest-1.8.1/lib/libc/Makefile
projects/import-googletest-1.8.1/lib/libc/amd64/gen/Makefile.inc
projects/import-googletest-1.8.1/lib/libc/gen/readpassphrase.3
projects/import-googletest-1.8.1/lib/libc/i386/gen/Makefile.inc
projects/import-googletest-1.8.1/lib/libc/sys/sendfile.2
projects/import-googletest-1.8.1/lib/libc/x86/sys/__vdso_gettc.c
projects/import-googletest-1.8.1/lib/libmemstat/memstat_uma.c
projects/import-googletest-1.8.1/lib/libthr/arch/powerpc/include/pthread_md.h
projects/import-googletest-1.8.1/libexec/rc/rc.d/nfsd
projects/import-googletest-1.8.1/libexec/rtld-elf/Makefile
projects/import-googletest-1.8.1/sbin/mdmfs/mdmfs.c
projects/import-googletest-1.8.1/sbin/nvmecontrol/firmware.c
projects/import-googletest-1.8.1/share/man/man5/src.conf.5
projects/import-googletest-1.8.1/share/mk/bsd.lib.mk
projects/import-googletest-1.8.1/share/mk/bsd.opts.mk
projects/import-googletest-1.8.1/share/mk/bsd.prog.mk
projects/import-googletest-1.8.1/share/mk/src.libnames.mk
projects/import-googletest-1.8.1/stand/common/dev_net.c
projects/import-googletest-1.8.1/stand/common/disk.c
projects/import-googletest-1.8.1/stand/common/part.c
projects/import-googletest-1.8.1/stand/i386/Makefile.inc
projects/import-googletest-1.8.1/stand/i386/zfsboot/zfsboot.c
projects/import-googletest-1.8.1/stand/libsa/cd9660.c
projects/import-googletest-1.8.1/stand/libsa/zfs/zfs.c
projects/import-googletest-1.8.1/stand/lua/password.lua
projects/import-googletest-1.8.1/stand/powerpc/uboot/Makefile
projects/import-googletest-1.8.1/stand/uboot/common/main.c
projects/import-googletest-1.8.1/stand/uboot/lib/libuboot.h
projects/import-googletest-1.8.1/sys/amd64/amd64/pmap.c
projects/import-googletest-1.8.1/sys/amd64/sgx/sgx_linux.c
projects/import-googletest-1.8.1/sys/arm/allwinner/axp81x.c
projects/import-googletest-1.8.1/sys/arm/arm/elf_machdep.c
projects/import-googletest-1.8.1/sys/arm/freescale/imx/imx6_snvs.c
projects/import-googletest-1.8.1/sys/arm64/arm64/elf_machdep.c
projects/import-googletest-1.8.1/sys/conf/NOTES
projects/import-googletest-1.8.1/sys/conf/files
projects/import-googletest-1.8.1/sys/conf/ldscript.riscv
projects/import-googletest-1.8.1/sys/contrib/libnv/nvpair.c
projects/import-googletest-1.8.1/sys/dev/ata/ata-all.h
projects/import-googletest-1.8.1/sys/dev/ena/ena.c
projects/import-googletest-1.8.1/sys/dev/ena/ena.h
projects/import-googletest-1.8.1/sys/dev/ixl/if_ixl.c
projects/import-googletest-1.8.1/sys/dev/ixl/ixl_pf.h
projects/import-googletest-1.8.1/sys/dev/netmap/netmap_freebsd.c
projects/import-googletest-1.8.1/sys/dev/netmap/netmap_kern.h
projects/import-googletest-1.8.1/sys/fs/fuse/fuse_internal.c
projects/import-googletest-1.8.1/sys/fs/fuse/fuse_internal.h
projects/import-googletest-1.8.1/sys/fs/fuse/fuse_io.c
projects/import-googletest-1.8.1/sys/fs/fuse/fuse_ipc.h
projects/import-googletest-1.8.1/sys/fs/fuse/fuse_node.c
projects/import-googletest-1.8.1/sys/fs/fuse/fuse_node.h
projects/import-googletest-1.8.1/sys/fs/fuse/fuse_vfsops.c
projects/import-googletest-1.8.1/sys/fs/fuse/fuse_vnops.c
projects/import-googletest-1.8.1/sys/i386/include/cpufunc.h
projects/import-googletest-1.8.1/sys/kern/kern_resource.c
projects/import-googletest-1.8.1/sys/kern/sys_pipe.c
projects/import-googletest-1.8.1/sys/mips/mips/elf_machdep.c
projects/import-googletest-1.8.1/sys/modules/crypto/Makefile
projects/import-googletest-1.8.1/sys/net/if_lagg.c
projects/import-googletest-1.8.1/sys/net/if_vlan.c
projects/import-googletest-1.8.1/sys/net/iflib.c
projects/import-googletest-1.8.1/sys/netinet/in_pcb.c
projects/import-googletest-1.8.1/sys/netinet/tcp_timewait.c
projects/import-googletest-1.8.1/sys/opencrypto/cryptodev.c
projects/import-googletest-1.8.1/sys/opencrypto/cryptodev.h
projects/import-googletest-1.8.1/sys/opencrypto/cryptosoft.c
projects/import-googletest-1.8.1/sys/opencrypto/xform_aes_icm.c
projects/import-googletest-1.8.1/sys/opencrypto/xform_auth.h
projects/import-googletest-1.8.1/sys/opencrypto/xform_enc.h
projects/import-googletest-1.8.1/sys/powerpc/booke/pmap.c
projects/import-googletest-1.8.1/sys/powerpc/powerpc/elf32_machdep.c
projects/import-googletest-1.8.1/sys/powerpc/powerpc/elf64_machdep.c
projects/import-googletest-1.8.1/sys/powerpc/powerpc/exec_machdep.c
projects/import-googletest-1.8.1/sys/riscv/include/param.h
projects/import-googletest-1.8.1/sys/riscv/include/pcb.h
projects/import-googletest-1.8.1/sys/riscv/include/pcpu.h
projects/import-googletest-1.8.1/sys/riscv/include/pmap.h
projects/import-googletest-1.8.1/sys/riscv/include/pte.h
projects/import-googletest-1.8.1/sys/riscv/include/vmparam.h
projects/import-googletest-1.8.1/sys/riscv/riscv/elf_machdep.c
projects/import-googletest-1.8.1/sys/riscv/riscv/genassym.c
projects/import-googletest-1.8.1/sys/riscv/riscv/machdep.c
projects/import-googletest-1.8.1/sys/riscv/riscv/mp_machdep.c
projects/import-googletest-1.8.1/sys/riscv/riscv/pmap.c
projects/import-googletest-1.8.1/sys/riscv/riscv/swtch.S
projects/import-googletest-1.8.1/sys/riscv/riscv/vm_machdep.c
projects/import-googletest-1.8.1/sys/sparc64/sparc64/elf_machdep.c
projects/import-googletest-1.8.1/sys/vm/vm_fault.c
projects/import-googletest-1.8.1/sys/vm/vm_map.c
projects/import-googletest-1.8.1/sys/vm/vm_pageout.c
projects/import-googletest-1.8.1/sys/vm/vnode_pager.c
projects/import-googletest-1.8.1/tools/build/mk/OptionalObsoleteFiles.inc
projects/import-googletest-1.8.1/tools/tools/crypto/cryptocheck.c
projects/import-googletest-1.8.1/usr.bin/clang/Makefile.inc
projects/import-googletest-1.8.1/usr.bin/kdump/kdump.c
projects/import-googletest-1.8.1/usr.bin/svn/Makefile.inc
projects/import-googletest-1.8.1/usr.sbin/bhyve/block_if.c
projects/import-googletest-1.8.1/usr.sbin/bhyve/pci_xhci.c (contents, props changed)
projects/import-googletest-1.8.1/usr.sbin/bsdinstall/partedit/partedit_powerpc.c
projects/import-googletest-1.8.1/usr.sbin/bsnmpd/modules/snmp_hostres/hostres_partition_tbl.c
projects/import-googletest-1.8.1/usr.sbin/nfsd/nfsd.8
projects/import-googletest-1.8.1/usr.sbin/nfsd/nfsd.c
projects/import-googletest-1.8.1/usr.sbin/rpc.ypupdated/update.c
projects/import-googletest-1.8.1/usr.sbin/wlandebug/Makefile
Directory Properties:
projects/import-googletest-1.8.1/ (props changed)
projects/import-googletest-1.8.1/contrib/libarchive/ (props changed)
projects/import-googletest-1.8.1/contrib/libc++/ (props changed)
projects/import-googletest-1.8.1/contrib/llvm/ (props changed)
Modified: projects/import-googletest-1.8.1/UPDATING
==============================================================================
--- projects/import-googletest-1.8.1/UPDATING Tue Feb 19 02:26:47 2019 (r344270)
+++ projects/import-googletest-1.8.1/UPDATING Tue Feb 19 03:46:32 2019 (r344271)
@@ -38,6 +38,12 @@ NOTE TO PEOPLE WHO THINK THAT FreeBSD 13.x IS SLOW:
modules on kernels not having 'device iflib', the iflib.ko module
is loaded automatically.
+20190125:
+ The IEEE80211_AMPDU_AGE and AH_SUPPORT_AR5416 kernel configuration
+ options no longer exist since r343219 and r343427 respectively;
+ nothing uses them, so they should be just removed from custom
+ kernel config files.
+
20181230:
r342635 changes the way efibootmgr(8) works by requiring users to add
the -b (bootnum) parameter for commands where the bootnum was previously
@@ -231,7 +237,7 @@ NOTE TO PEOPLE WHO THINK THAT FreeBSD 13.x IS SLOW:
20180719:
ARM64 now have efifb support, if you want to have serial console
on your arm64 board when an screen is connected and the bootloader
- setup a frambuffer for us to use, just add :
+ setup a framebuffer for us to use, just add :
boot_serial=YES
boot_multicons=YES
in /boot/loader.conf
Modified: projects/import-googletest-1.8.1/contrib/libarchive/libarchive/archive_read_disk_posix.c
==============================================================================
--- projects/import-googletest-1.8.1/contrib/libarchive/libarchive/archive_read_disk_posix.c Tue Feb 19 02:26:47 2019 (r344270)
+++ projects/import-googletest-1.8.1/contrib/libarchive/libarchive/archive_read_disk_posix.c Tue Feb 19 03:46:32 2019 (r344271)
@@ -860,6 +860,7 @@ next_entry(struct archive_read_disk *a, struct tree *t
struct archive_string delayed_str;
delayed = ARCHIVE_OK;
+ delayed_errno = 0;
archive_string_init(&delayed_str);
st = NULL;
Modified: projects/import-googletest-1.8.1/contrib/libc++/include/type_traits
==============================================================================
--- projects/import-googletest-1.8.1/contrib/libc++/include/type_traits Tue Feb 19 02:26:47 2019 (r344270)
+++ projects/import-googletest-1.8.1/contrib/libc++/include/type_traits Tue Feb 19 03:46:32 2019 (r344271)
@@ -733,12 +733,6 @@ _LIBCPP_INLINE_VAR _LIBCPP_CONSTEXPR bool is_integral_
// is_floating_point
template <class _Tp> struct __libcpp_is_floating_point : public false_type {};
-#ifdef __clang__
-template <> struct __libcpp_is_floating_point<__fp16> : public true_type {};
-#endif
-#ifdef __FLT16_MANT_DIG__
-template <> struct __libcpp_is_floating_point<_Float16> : public true_type {};
-#endif
template <> struct __libcpp_is_floating_point<float> : public true_type {};
template <> struct __libcpp_is_floating_point<double> : public true_type {};
template <> struct __libcpp_is_floating_point<long double> : public true_type {};
Modified: projects/import-googletest-1.8.1/contrib/llvm/lib/MC/ELFObjectWriter.cpp
==============================================================================
--- projects/import-googletest-1.8.1/contrib/llvm/lib/MC/ELFObjectWriter.cpp Tue Feb 19 02:26:47 2019 (r344270)
+++ projects/import-googletest-1.8.1/contrib/llvm/lib/MC/ELFObjectWriter.cpp Tue Feb 19 03:46:32 2019 (r344271)
@@ -1258,14 +1258,20 @@ void ELFObjectWriter::executePostLayoutBinding(MCAssem
if (!Symbol.isUndefined() && !Rest.startswith("@@@"))
continue;
- // FIXME: produce a better error message.
+ // FIXME: Get source locations for these errors or diagnose them earlier.
if (Symbol.isUndefined() && Rest.startswith("@@") &&
- !Rest.startswith("@@@"))
- report_fatal_error("A @@ version cannot be undefined");
+ !Rest.startswith("@@@")) {
+ Asm.getContext().reportError(SMLoc(), "versioned symbol " + AliasName +
+ " must be defined");
+ continue;
+ }
- if (Renames.count(&Symbol) && Renames[&Symbol] != Alias)
- report_fatal_error(llvm::Twine("Multiple symbol versions defined for ") +
- Symbol.getName());
+ if (Renames.count(&Symbol) && Renames[&Symbol] != Alias) {
+ Asm.getContext().reportError(
+ SMLoc(), llvm::Twine("multiple symbol versions defined for ") +
+ Symbol.getName());
+ continue;
+ }
Renames.insert(std::make_pair(&Symbol, Alias));
}
Modified: projects/import-googletest-1.8.1/etc/mtree/BSD.root.dist
==============================================================================
--- projects/import-googletest-1.8.1/etc/mtree/BSD.root.dist Tue Feb 19 02:26:47 2019 (r344270)
+++ projects/import-googletest-1.8.1/etc/mtree/BSD.root.dist Tue Feb 19 03:46:32 2019 (r344271)
@@ -26,6 +26,8 @@
..
modules
..
+ uboot
+ ..
zfs
..
..
Modified: projects/import-googletest-1.8.1/kerberos5/tools/asn1_compile/Makefile
==============================================================================
--- projects/import-googletest-1.8.1/kerberos5/tools/asn1_compile/Makefile Tue Feb 19 02:26:47 2019 (r344270)
+++ projects/import-googletest-1.8.1/kerberos5/tools/asn1_compile/Makefile Tue Feb 19 03:46:32 2019 (r344271)
@@ -6,6 +6,7 @@ LIBROKEN_A= ${.OBJDIR:H:H}/lib/libroken/libroken.a
LIBADD= vers
LDADD= ${LIBROKEN_A}
DPADD= ${LIBROKEN_A}
+MK_PIE:= no
SRCS= \
asn1parse.y \
Modified: projects/import-googletest-1.8.1/kerberos5/tools/slc/Makefile
==============================================================================
--- projects/import-googletest-1.8.1/kerberos5/tools/slc/Makefile Tue Feb 19 02:26:47 2019 (r344270)
+++ projects/import-googletest-1.8.1/kerberos5/tools/slc/Makefile Tue Feb 19 03:46:32 2019 (r344271)
@@ -6,6 +6,7 @@ LIBADD= vers
LDADD= ${LIBROKEN_A}
DPADD= ${LIBROKEN_A}
MAN=
+MK_PIE:= no
SRCS= roken.h \
slc-gram.y \
Modified: projects/import-googletest-1.8.1/lib/clang/Makefile.inc
==============================================================================
--- projects/import-googletest-1.8.1/lib/clang/Makefile.inc Tue Feb 19 02:26:47 2019 (r344270)
+++ projects/import-googletest-1.8.1/lib/clang/Makefile.inc Tue Feb 19 03:46:32 2019 (r344271)
@@ -2,6 +2,8 @@
.include <bsd.compiler.mk>
+MK_PIE:= no # Explicit libXXX.a references
+
.if ${COMPILER_TYPE} == "clang"
DEBUG_FILES_CFLAGS= -gline-tables-only
.else
Modified: projects/import-googletest-1.8.1/lib/clang/libllvmminimal/Makefile
==============================================================================
--- projects/import-googletest-1.8.1/lib/clang/libllvmminimal/Makefile Tue Feb 19 02:26:47 2019 (r344270)
+++ projects/import-googletest-1.8.1/lib/clang/libllvmminimal/Makefile Tue Feb 19 03:46:32 2019 (r344271)
@@ -18,6 +18,7 @@ SRCS+= Support/Errno.cpp
SRCS+= Support/Error.cpp
SRCS+= Support/ErrorHandling.cpp
SRCS+= Support/FoldingSet.cpp
+SRCS+= Support/FormatVariadic.cpp
SRCS+= Support/FormattedStream.cpp
SRCS+= Support/Hashing.cpp
SRCS+= Support/Host.cpp
Modified: projects/import-googletest-1.8.1/lib/libbe/be.c
==============================================================================
--- projects/import-googletest-1.8.1/lib/libbe/be.c Tue Feb 19 02:26:47 2019 (r344270)
+++ projects/import-googletest-1.8.1/lib/libbe/be.c Tue Feb 19 03:46:32 2019 (r344271)
@@ -45,6 +45,11 @@ __FBSDID("$FreeBSD$");
#include "be.h"
#include "be_impl.h"
+struct be_destroy_data {
+ libbe_handle_t *lbh;
+ char *snapname;
+};
+
#if SOON
static int be_create_child_noent(libbe_handle_t *lbh, const char *active,
const char *child_path);
@@ -186,12 +191,38 @@ be_nicenum(uint64_t num, char *buf, size_t buflen)
static int
be_destroy_cb(zfs_handle_t *zfs_hdl, void *data)
{
+ char path[BE_MAXPATHLEN];
+ struct be_destroy_data *bdd;
+ zfs_handle_t *snap;
int err;
- if ((err = zfs_iter_children(zfs_hdl, be_destroy_cb, data)) != 0)
+ bdd = (struct be_destroy_data *)data;
+ if (bdd->snapname == NULL) {
+ err = zfs_iter_children(zfs_hdl, be_destroy_cb, data);
+ if (err != 0)
+ return (err);
+ return (zfs_destroy(zfs_hdl, false));
+ }
+ /* If we're dealing with snapshots instead, delete that one alone */
+ err = zfs_iter_filesystems(zfs_hdl, be_destroy_cb, data);
+ if (err != 0)
return (err);
- if ((err = zfs_destroy(zfs_hdl, false)) != 0)
- return (err);
+ /*
+ * This part is intentionally glossing over any potential errors,
+ * because there's a lot less potential for errors when we're cleaning
+ * up snapshots rather than a full deep BE. The primary error case
+ * here being if the snapshot doesn't exist in the first place, which
+ * the caller will likely deem insignificant as long as it doesn't
+ * exist after the call. Thus, such a missing snapshot shouldn't jam
+ * up the destruction.
+ */
+ snprintf(path, sizeof(path), "%s@%s", zfs_get_name(zfs_hdl),
+ bdd->snapname);
+ if (!zfs_dataset_exists(bdd->lbh->lzh, path, ZFS_TYPE_SNAPSHOT))
+ return (0);
+ snap = zfs_open(bdd->lbh->lzh, path, ZFS_TYPE_SNAPSHOT);
+ if (snap != NULL)
+ zfs_destroy(snap, false);
return (0);
}
@@ -199,22 +230,26 @@ be_destroy_cb(zfs_handle_t *zfs_hdl, void *data)
* Destroy the boot environment or snapshot specified by the name
* parameter. Options are or'd together with the possible values:
* BE_DESTROY_FORCE : forces operation on mounted datasets
+ * BE_DESTROY_ORIGIN: destroy the origin snapshot as well
*/
int
be_destroy(libbe_handle_t *lbh, const char *name, int options)
{
+ struct be_destroy_data bdd;
char origin[BE_MAXPATHLEN], path[BE_MAXPATHLEN];
zfs_handle_t *fs;
- char *p;
+ char *snapdelim;
int err, force, mounted;
+ size_t rootlen;
- p = path;
+ bdd.lbh = lbh;
+ bdd.snapname = NULL;
force = options & BE_DESTROY_FORCE;
*origin = '\0';
be_root_concat(lbh, name, path);
- if (strchr(name, '@') == NULL) {
+ if ((snapdelim = strchr(path, '@')) == NULL) {
if (!zfs_dataset_exists(lbh->lzh, path, ZFS_TYPE_FILESYSTEM))
return (set_error(lbh, BE_ERR_NOENT));
@@ -222,9 +257,10 @@ be_destroy(libbe_handle_t *lbh, const char *name, int
strcmp(path, lbh->bootfs) == 0)
return (set_error(lbh, BE_ERR_DESTROYACT));
- fs = zfs_open(lbh->lzh, p, ZFS_TYPE_FILESYSTEM);
+ fs = zfs_open(lbh->lzh, path, ZFS_TYPE_FILESYSTEM);
if (fs == NULL)
return (set_error(lbh, BE_ERR_ZFSOPEN));
+
if ((options & BE_DESTROY_ORIGIN) != 0 &&
zfs_prop_get(fs, ZFS_PROP_ORIGIN, origin, sizeof(origin),
NULL, NULL, 0, 1) != 0)
@@ -233,40 +269,56 @@ be_destroy(libbe_handle_t *lbh, const char *name, int
if (!zfs_dataset_exists(lbh->lzh, path, ZFS_TYPE_SNAPSHOT))
return (set_error(lbh, BE_ERR_NOENT));
- fs = zfs_open(lbh->lzh, p, ZFS_TYPE_SNAPSHOT);
- if (fs == NULL)
+ bdd.snapname = strdup(snapdelim + 1);
+ if (bdd.snapname == NULL)
+ return (set_error(lbh, BE_ERR_NOMEM));
+ *snapdelim = '\0';
+ fs = zfs_open(lbh->lzh, path, ZFS_TYPE_DATASET);
+ if (fs == NULL) {
+ free(bdd.snapname);
return (set_error(lbh, BE_ERR_ZFSOPEN));
+ }
}
/* Check if mounted, unmount if force is specified */
if ((mounted = zfs_is_mounted(fs, NULL)) != 0) {
- if (force)
+ if (force) {
zfs_unmount(fs, NULL, 0);
- else
+ } else {
+ free(bdd.snapname);
return (set_error(lbh, BE_ERR_DESTROYMNT));
+ }
}
- if ((err = be_destroy_cb(fs, NULL)) != 0) {
+ err = be_destroy_cb(fs, &bdd);
+ zfs_close(fs);
+ free(bdd.snapname);
+ if (err != 0) {
/* Children are still present or the mount is referenced */
if (err == EBUSY)
return (set_error(lbh, BE_ERR_DESTROYMNT));
return (set_error(lbh, BE_ERR_UNKNOWN));
}
- if (*origin != '\0') {
- fs = zfs_open(lbh->lzh, origin, ZFS_TYPE_SNAPSHOT);
- if (fs == NULL)
- return (set_error(lbh, BE_ERR_ZFSOPEN));
- err = zfs_destroy(fs, false);
- if (err == EBUSY)
- return (set_error(lbh, BE_ERR_DESTROYMNT));
- else if (err != 0)
- return (set_error(lbh, BE_ERR_UNKNOWN));
- }
+ if ((options & BE_DESTROY_ORIGIN) == 0)
+ return (0);
- return (0);
-}
+ /* The origin can't possibly be shorter than the BE root */
+ rootlen = strlen(lbh->root);
+ if (*origin == '\0' || strlen(origin) <= rootlen + 1)
+ return (set_error(lbh, BE_ERR_INVORIGIN));
+ /*
+ * We'll be chopping off the BE root and running this back through
+ * be_destroy, so that we properly handle the origin snapshot whether
+ * it be that of a deep BE or not.
+ */
+ if (strncmp(origin, lbh->root, rootlen) != 0 || origin[rootlen] != '/')
+ return (0);
+
+ return (be_destroy(lbh, origin + rootlen + 1,
+ options & ~BE_DESTROY_ORIGIN));
+}
int
be_snapshot(libbe_handle_t *lbh, const char *source, const char *snap_name,
Modified: projects/import-googletest-1.8.1/lib/libbe/be.h
==============================================================================
--- projects/import-googletest-1.8.1/lib/libbe/be.h Tue Feb 19 02:26:47 2019 (r344270)
+++ projects/import-googletest-1.8.1/lib/libbe/be.h Tue Feb 19 03:46:32 2019 (r344271)
@@ -59,6 +59,7 @@ typedef enum be_error {
BE_ERR_NOPOOL, /* operation not supported on this pool */
BE_ERR_NOMEM, /* insufficient memory */
BE_ERR_UNKNOWN, /* unknown error */
+ BE_ERR_INVORIGIN, /* invalid origin */
} be_error_t;
Modified: projects/import-googletest-1.8.1/lib/libbe/be_error.c
==============================================================================
--- projects/import-googletest-1.8.1/lib/libbe/be_error.c Tue Feb 19 02:26:47 2019 (r344270)
+++ projects/import-googletest-1.8.1/lib/libbe/be_error.c Tue Feb 19 03:46:32 2019 (r344271)
@@ -105,6 +105,9 @@ libbe_error_description(libbe_handle_t *lbh)
case BE_ERR_UNKNOWN:
return ("unknown error");
+ case BE_ERR_INVORIGIN:
+ return ("invalid origin");
+
default:
assert(lbh->error == BE_ERR_SUCCESS);
return ("no error");
Modified: projects/import-googletest-1.8.1/lib/libbe/libbe.3
==============================================================================
--- projects/import-googletest-1.8.1/lib/libbe/libbe.3 Tue Feb 19 02:26:47 2019 (r344270)
+++ projects/import-googletest-1.8.1/lib/libbe/libbe.3 Tue Feb 19 03:46:32 2019 (r344271)
@@ -28,7 +28,7 @@
.\"
.\" $FreeBSD$
.\"
-.Dd February 11, 2019
+.Dd February 12, 2019
.Dt LIBBE 3
.Os
.Sh NAME
@@ -489,6 +489,8 @@ BE_ERR_NOPOOL
BE_ERR_NOMEM
.It
BE_ERR_UNKNOWN
+.It
+BE_ERR_INVORIGIN
.El
.Sh SEE ALSO
.Xr bectl 8
Modified: projects/import-googletest-1.8.1/lib/libc/Makefile
==============================================================================
--- projects/import-googletest-1.8.1/lib/libc/Makefile Tue Feb 19 02:26:47 2019 (r344270)
+++ projects/import-googletest-1.8.1/lib/libc/Makefile Tue Feb 19 03:46:32 2019 (r344271)
@@ -122,6 +122,7 @@ NOASM=
.endif
.if ${LIBC_ARCH} == "i386" || ${LIBC_ARCH} == "amd64"
.include "${LIBC_SRCTOP}/x86/sys/Makefile.inc"
+.include "${LIBC_SRCTOP}/x86/gen/Makefile.inc"
.endif
.if ${MK_NIS} != "no"
CFLAGS+= -DYP
Modified: projects/import-googletest-1.8.1/lib/libc/amd64/gen/Makefile.inc
==============================================================================
--- projects/import-googletest-1.8.1/lib/libc/amd64/gen/Makefile.inc Tue Feb 19 02:26:47 2019 (r344270)
+++ projects/import-googletest-1.8.1/lib/libc/amd64/gen/Makefile.inc Tue Feb 19 03:46:32 2019 (r344271)
@@ -2,7 +2,7 @@
# $FreeBSD$
SRCS+= _setjmp.S _set_tp.c rfork_thread.S setjmp.S sigsetjmp.S \
- fabs.S getcontextx.c \
+ fabs.S \
infinity.c ldexp.c makecontext.c signalcontext.c \
flt_rounds.c fpgetmask.c fpsetmask.c fpgetprec.c fpsetprec.c \
fpgetround.c fpsetround.c fpgetsticky.c
Modified: projects/import-googletest-1.8.1/lib/libc/gen/readpassphrase.3
==============================================================================
--- projects/import-googletest-1.8.1/lib/libc/gen/readpassphrase.3 Tue Feb 19 02:26:47 2019 (r344270)
+++ projects/import-googletest-1.8.1/lib/libc/gen/readpassphrase.3 Tue Feb 19 03:46:32 2019 (r344271)
@@ -178,4 +178,6 @@ extension and should not be used if portability is des
The
.Fn readpassphrase
function first appeared in
+.Fx 4.6
+and
.Ox 2.9 .
Modified: projects/import-googletest-1.8.1/lib/libc/i386/gen/Makefile.inc
==============================================================================
--- projects/import-googletest-1.8.1/lib/libc/i386/gen/Makefile.inc Tue Feb 19 02:26:47 2019 (r344270)
+++ projects/import-googletest-1.8.1/lib/libc/i386/gen/Makefile.inc Tue Feb 19 03:46:32 2019 (r344271)
@@ -2,5 +2,5 @@
# $FreeBSD$
SRCS+= _ctx_start.S _setjmp.S _set_tp.c fabs.S \
- flt_rounds.c getcontextx.c infinity.c ldexp.c makecontext.c \
+ flt_rounds.c infinity.c ldexp.c makecontext.c \
rfork_thread.S setjmp.S signalcontext.c sigsetjmp.S
Modified: projects/import-googletest-1.8.1/lib/libc/sys/sendfile.2
==============================================================================
--- projects/import-googletest-1.8.1/lib/libc/sys/sendfile.2 Tue Feb 19 02:26:47 2019 (r344270)
+++ projects/import-googletest-1.8.1/lib/libc/sys/sendfile.2 Tue Feb 19 03:46:32 2019 (r344271)
@@ -25,7 +25,7 @@
.\"
.\" $FreeBSD$
.\"
-.Dd January 25, 2019
+.Dd February 15, 2019
.Dt SENDFILE 2
.Os
.Sh NAME
@@ -224,6 +224,19 @@ implementation of
.Fn sendfile
is "zero-copy", meaning that it has been optimized so that copying of the file data is avoided.
.Sh TUNING
+.Ss physical paging buffers
+.Fn sendfile
+uses vnode pager to read file pages into memory.
+The pager uses a pool of physical buffers to run its I/O operations.
+When system runs out of pbufs, sendfile will block and report state
+.Dq Li zonelimit .
+Size of the pool can be tuned with
+.Va vm.vnode_pbufs
+.Xr loader.conf 5
+tunable and can be checked with
+.Xr sysctl 8
+OID of the same name at runtime.
+.Ss sendfile(2) buffers
On some architectures, this system call internally uses a special
.Fn sendfile
buffer
@@ -279,9 +292,11 @@ buffers usage respectively.
These values may also be viewed through
.Nm netstat Fl m .
.Pp
-If a value of zero is reported for
-.Va kern.ipc.nsfbufs ,
-your architecture does not need to use
+If
+.Xr sysctl 8
+OID
+.Va kern.ipc.nsfbufs
+doesn't exist, your architecture does not need to use
.Fn sendfile
buffers because their task can be efficiently performed
by the generic virtual memory structures.
@@ -363,11 +378,13 @@ does not support
The socket peer has closed the connection.
.El
.Sh SEE ALSO
+.Xr loader.conf 5 ,
.Xr netstat 1 ,
.Xr open 2 ,
.Xr send 2 ,
.Xr socket 2 ,
.Xr writev 2 ,
+.Xr sysctl 8 ,
.Xr tuning 7
.Rs
.%A K. Elmeleegy
Modified: projects/import-googletest-1.8.1/lib/libc/x86/sys/__vdso_gettc.c
==============================================================================
--- projects/import-googletest-1.8.1/lib/libc/x86/sys/__vdso_gettc.c Tue Feb 19 02:26:47 2019 (r344270)
+++ projects/import-googletest-1.8.1/lib/libc/x86/sys/__vdso_gettc.c Tue Feb 19 03:46:32 2019 (r344271)
@@ -54,31 +54,6 @@ __FBSDID("$FreeBSD$");
#include "libc_private.h"
static void
-cpuidp(u_int leaf, u_int p[4])
-{
-
- __asm __volatile(
-#if defined(__i386__)
- " pushl %%ebx\n"
-#endif
- " cpuid\n"
-#if defined(__i386__)
- " movl %%ebx,%1\n"
- " popl %%ebx"
-#endif
- : "=a" (p[0]),
-#if defined(__i386__)
- "=r" (p[1]),
-#elif defined(__amd64__)
- "=b" (p[1]),
-#else
-#error "Arch"
-#endif
- "=c" (p[2]), "=d" (p[3])
- : "0" (leaf));
-}
-
-static void
rdtsc_mb_lfence(void)
{
@@ -100,12 +75,12 @@ rdtsc_mb_none(void)
DEFINE_UIFUNC(static, void, rdtsc_mb, (void), static)
{
u_int p[4];
- /* Not a typo, string matches our cpuidp() registers use. */
+ /* Not a typo, string matches our do_cpuid() registers use. */
static const char intel_id[] = "GenuntelineI";
if ((cpu_feature & CPUID_SSE2) == 0)
return (rdtsc_mb_none);
- cpuidp(0, p);
+ do_cpuid(0, p);
return (memcmp(p + 1, intel_id, sizeof(intel_id) - 1) == 0 ?
rdtsc_mb_lfence : rdtsc_mb_mfence);
}
Modified: projects/import-googletest-1.8.1/lib/libmemstat/memstat_uma.c
==============================================================================
--- projects/import-googletest-1.8.1/lib/libmemstat/memstat_uma.c Tue Feb 19 02:26:47 2019 (r344270)
+++ projects/import-googletest-1.8.1/lib/libmemstat/memstat_uma.c Tue Feb 19 03:46:32 2019 (r344271)
@@ -213,6 +213,15 @@ retry:
mtp->mt_numfrees += upsp->ups_frees;
}
+ /*
+ * Values for uth_allocs and uth_frees frees are snap.
+ * It may happen that kernel reports that number of frees
+ * is greater than number of allocs. See counter(9) for
+ * details.
+ */
+ if (mtp->mt_numallocs < mtp->mt_numfrees)
+ mtp->mt_numallocs = mtp->mt_numfrees;
+
mtp->mt_size = uthp->uth_size;
mtp->mt_rsize = uthp->uth_rsize;
mtp->mt_memalloced = mtp->mt_numallocs * uthp->uth_size;
Modified: projects/import-googletest-1.8.1/lib/libthr/arch/powerpc/include/pthread_md.h
==============================================================================
--- projects/import-googletest-1.8.1/lib/libthr/arch/powerpc/include/pthread_md.h Tue Feb 19 02:26:47 2019 (r344270)
+++ projects/import-googletest-1.8.1/lib/libthr/arch/powerpc/include/pthread_md.h Tue Feb 19 03:46:32 2019 (r344271)
@@ -72,14 +72,15 @@ _tcb_set(struct tcb *tcb)
static __inline struct tcb *
_tcb_get(void)
{
- register uint8_t *_tp;
+ register struct tcb *tcb;
+
#ifdef __powerpc64__
- __asm __volatile("mr %0,13" : "=r"(_tp));
+ __asm __volatile("addi %0,13,%1" : "=r"(tcb) : "i"(-TP_OFFSET));
#else
- __asm __volatile("mr %0,2" : "=r"(_tp));
+ __asm __volatile("addi %0,2,%1" : "=r"(tcb) : "i"(-TP_OFFSET));
#endif
- return ((struct tcb *)(_tp - TP_OFFSET));
+ return (tcb);
}
static __inline struct pthread *
Modified: projects/import-googletest-1.8.1/libexec/rc/rc.d/nfsd
==============================================================================
--- projects/import-googletest-1.8.1/libexec/rc/rc.d/nfsd Tue Feb 19 02:26:47 2019 (r344270)
+++ projects/import-googletest-1.8.1/libexec/rc/rc.d/nfsd Tue Feb 19 03:46:32 2019 (r344271)
@@ -13,6 +13,7 @@ name="nfsd"
desc="Remote NFS server"
rcvar="nfs_server_enable"
command="/usr/sbin/${name}"
+nfs_server_vhost=""
load_rc_config $name
start_precmd="nfsd_precmd"
@@ -20,6 +21,7 @@ sig_stop="USR1"
nfsd_precmd()
{
+ local _vhost
rc_flags="${nfs_server_flags}"
# Load the modules now, so that the vfs.nfsd sysctl
@@ -46,6 +48,9 @@ nfsd_precmd()
force_depend rpcbind || return 1
force_depend mountd || return 1
+ if [ -n "${nfs_server_vhost}" ]; then
+ command_args="-V \"${nfs_server_vhost}\""
+ fi
}
run_rc_command "$1"
Modified: projects/import-googletest-1.8.1/libexec/rtld-elf/Makefile
==============================================================================
--- projects/import-googletest-1.8.1/libexec/rtld-elf/Makefile Tue Feb 19 02:26:47 2019 (r344270)
+++ projects/import-googletest-1.8.1/libexec/rtld-elf/Makefile Tue Feb 19 03:46:32 2019 (r344271)
@@ -7,6 +7,7 @@
.include <src.opts.mk>
PACKAGE= clibs
MK_BIND_NOW= no
+MK_PIE= no # Always position independent using local rules
MK_SSP= no
CONFS= libmap.conf
Modified: projects/import-googletest-1.8.1/sbin/mdmfs/mdmfs.c
==============================================================================
--- projects/import-googletest-1.8.1/sbin/mdmfs/mdmfs.c Tue Feb 19 02:26:47 2019 (r344270)
+++ projects/import-googletest-1.8.1/sbin/mdmfs/mdmfs.c Tue Feb 19 03:46:32 2019 (r344271)
@@ -196,6 +196,7 @@ main(int argc, char **argv)
usage();
mdtype = MD_MALLOC;
have_mdtype = true;
+ argappend(&mdconfig_arg, "-o reserve");
break;
case 'm':
argappend(&newfs_arg, "-m %s", optarg);
Modified: projects/import-googletest-1.8.1/sbin/nvmecontrol/firmware.c
==============================================================================
--- projects/import-googletest-1.8.1/sbin/nvmecontrol/firmware.c Tue Feb 19 02:26:47 2019 (r344270)
+++ projects/import-googletest-1.8.1/sbin/nvmecontrol/firmware.c Tue Feb 19 03:46:32 2019 (r344271)
@@ -177,7 +177,7 @@ static void
firmware(const struct nvme_function *nf, int argc, char *argv[])
{
int fd = -1, slot = 0;
- int a_flag, s_flag, f_flag;
+ int a_flag, f_flag;
int activate_action, reboot_required;
int opt;
char *p, *image = NULL;
@@ -188,7 +188,7 @@ firmware(const struct nvme_function *nf, int argc, cha
uint8_t fw_slot1_ro, fw_num_slots;
struct nvme_controller_data cdata;
- a_flag = s_flag = f_flag = false;
+ a_flag = f_flag = false;
while ((opt = getopt(argc, argv, "af:s:")) != -1) {
switch (opt) {
@@ -214,7 +214,6 @@ firmware(const struct nvme_function *nf, int argc, cha
"7.\n", optarg);
usage(nf);
}
- s_flag = true;
break;
case 'f':
image = optarg;
Modified: projects/import-googletest-1.8.1/share/man/man5/src.conf.5
==============================================================================
--- projects/import-googletest-1.8.1/share/man/man5/src.conf.5 Tue Feb 19 02:26:47 2019 (r344270)
+++ projects/import-googletest-1.8.1/share/man/man5/src.conf.5 Tue Feb 19 03:46:32 2019 (r344271)
@@ -1,6 +1,6 @@
.\" DO NOT EDIT-- this file is @generated by tools/build/options/makeman.
.\" $FreeBSD$
-.Dd January 31, 2019
+.Dd February 15, 2019
.Dt SRC.CONF 5
.Os
.Sh NAME
@@ -406,7 +406,8 @@ Set to build the Clang C/C++ compiler during the boots
This is a default setting on
amd64/amd64, arm/arm, arm/armv6, arm/armv7, arm64/aarch64 and i386/i386.
.It Va WITH_CLANG_EXTRAS
-Set to build additional clang and llvm tools, such as bugpoint.
+Set to build additional clang and llvm tools, such as bugpoint and
+clang-format.
.It Va WITHOUT_CLANG_FULL
Set to avoid building the ARCMigrate, Rewriter and StaticAnalyzer components of
the Clang C/C++ compiler.
@@ -1542,6 +1543,9 @@ When set, it enforces these options:
.It
.Va WITHOUT_AUTHPF
.El
+.It Va WITH_PIE
+Build dynamically linked binaries as
+Position-Independent Executable (PIE).
.It Va WITHOUT_PKGBOOTSTRAP
Set to not build
.Xr pkg 7
Modified: projects/import-googletest-1.8.1/share/mk/bsd.lib.mk
==============================================================================
--- projects/import-googletest-1.8.1/share/mk/bsd.lib.mk Tue Feb 19 02:26:47 2019 (r344270)
+++ projects/import-googletest-1.8.1/share/mk/bsd.lib.mk Tue Feb 19 03:46:32 2019 (r344271)
@@ -91,13 +91,16 @@ CTFFLAGS+= -g
# prefer .s to a .c, add .po, remove stuff not used in the BSD libraries
# .pico used for PIC object files
# .nossppico used for NOSSP PIC object files
-.SUFFIXES: .out .o .bc .ll .po .pico .nossppico .S .asm .s .c .cc .cpp .cxx .C .f .y .l .ln
+# .pieo used for PIE object files
+.SUFFIXES: .out .o .bc .ll .po .pico .nossppico .pieo .S .asm .s .c .cc .cpp .cxx .C .f .y .l .ln
.if !defined(PICFLAG)
.if ${MACHINE_CPUARCH} == "sparc64"
PICFLAG=-fPIC
+PIEFLAG=-fPIE
.else
PICFLAG=-fpic
+PIEFLAG=-fpie
.endif
.endif
@@ -115,6 +118,10 @@ PO_FLAG=-pg
${CC} ${PICFLAG} -DPIC ${SHARED_CFLAGS:C/^-fstack-protector.*$//} ${CFLAGS:C/^-fstack-protector.*$//} -c ${.IMPSRC} -o ${.TARGET}
${CTFCONVERT_CMD}
+.c.pieo:
+ ${CC} ${PIEFLAG} -DPIC ${SHARED_CFLAGS} ${CFLAGS} -c ${.IMPSRC} -o ${.TARGET}
+ ${CTFCONVERT_CMD}
+
.cc.po .C.po .cpp.po .cxx.po:
${CXX} ${PO_FLAG} ${STATIC_CXXFLAGS} ${PO_CXXFLAGS} -c ${.IMPSRC} -o ${.TARGET}
@@ -124,6 +131,9 @@ PO_FLAG=-pg
.cc.nossppico .C.nossppico .cpp.nossppico .cxx.nossppico:
${CXX} ${PICFLAG} -DPIC ${SHARED_CXXFLAGS:C/^-fstack-protector.*$//} ${CXXFLAGS:C/^-fstack-protector.*$//} -c ${.IMPSRC} -o ${.TARGET}
+.cc.pieo .C.pieo .cpp.pieo .cxx.pieo:
+ ${CXX} ${PIEFLAG} ${SHARED_CXXFLAGS} ${CXXFLAGS} -c ${.IMPSRC} -o ${.TARGET}
+
.f.po:
${FC} -pg ${FFLAGS} -o ${.TARGET} -c ${.IMPSRC}
${CTFCONVERT_CMD}
@@ -136,7 +146,7 @@ PO_FLAG=-pg
${FC} ${PICFLAG} -DPIC ${FFLAGS:C/^-fstack-protector.*$//} -o ${.TARGET} -c ${.IMPSRC}
${CTFCONVERT_CMD}
-.s.po .s.pico .s.nossppico:
+.s.po .s.pico .s.nossppico .s.pieo:
${AS} ${AFLAGS} -o ${.TARGET} ${.IMPSRC}
${CTFCONVERT_CMD}
@@ -155,6 +165,11 @@ PO_FLAG=-pg
${CFLAGS:C/^-fstack-protector.*$//} ${ACFLAGS} -c ${.IMPSRC} -o ${.TARGET}
${CTFCONVERT_CMD}
+.asm.pieo:
+ ${CC:N${CCACHE_BIN}} -x assembler-with-cpp ${PIEFLAG} -DPIC \
+ ${CFLAGS} ${ACFLAGS} -c ${.IMPSRC} -o ${.TARGET}
+ ${CTFCONVERT_CMD}
+
.S.po:
${CC:N${CCACHE_BIN}} -DPROF ${PO_CFLAGS} ${ACFLAGS} -c ${.IMPSRC} \
-o ${.TARGET}
@@ -170,6 +185,11 @@ PO_FLAG=-pg
-c ${.IMPSRC} -o ${.TARGET}
${CTFCONVERT_CMD}
+.S.pieo:
+ ${CC:N${CCACHE_BIN}} ${PIEFLAG} -DPIC ${CFLAGS} ${ACFLAGS} \
+ -c ${.IMPSRC} -o ${.TARGET}
+ ${CTFCONVERT_CMD}
+
_LIBDIR:=${LIBDIR}
_SHLIBDIR:=${SHLIBDIR}
@@ -333,6 +353,20 @@ lib${LIB_PRIVATE}${LIB}_nossp_pic.a: ${NOSSPSOBJS}
.endif
.endif # !defined(INTERNALLIB)
+
+.if defined(INTERNALLIB) && ${MK_PIE} != "no"
+PIEOBJS+= ${OBJS:.o=.pieo}
+DEPENDOBJS+= ${PIEOBJS}
+CLEANFILES+= ${PIEOBJS}
+
+_LIBS+= lib${LIB_PRIVATE}${LIB}_pie.a
+
+lib${LIB_PRIVATE}${LIB}_pie.a: ${PIEOBJS}
+ @${ECHO} building pie ${LIB} library
+ @rm -f ${.TARGET}
+ ${AR} ${ARFLAGS} ${.TARGET} ${PIEOBJS} ${ARADD}
+ ${RANLIB} ${RANLIBFLAGS} ${.TARGET}
+.endif
.if defined(_SKIP_BUILD)
all:
Modified: projects/import-googletest-1.8.1/share/mk/bsd.opts.mk
==============================================================================
--- projects/import-googletest-1.8.1/share/mk/bsd.opts.mk Tue Feb 19 02:26:47 2019 (r344270)
+++ projects/import-googletest-1.8.1/share/mk/bsd.opts.mk Tue Feb 19 03:46:32 2019 (r344271)
@@ -73,6 +73,7 @@ __DEFAULT_NO_OPTIONS = \
CCACHE_BUILD \
CTF \
INSTALL_AS_USER \
+ PIE \
RETPOLINE \
STALE_STAGED
Modified: projects/import-googletest-1.8.1/share/mk/bsd.prog.mk
==============================================================================
--- projects/import-googletest-1.8.1/share/mk/bsd.prog.mk Tue Feb 19 02:26:47 2019 (r344270)
+++ projects/import-googletest-1.8.1/share/mk/bsd.prog.mk Tue Feb 19 03:46:32 2019 (r344271)
@@ -38,11 +38,16 @@ MK_DEBUG_FILES= no
.if ${MK_BIND_NOW} != "no"
LDFLAGS+= -Wl,-znow
.endif
+.if ${MK_PIE} != "no" && (!defined(NO_SHARED) || ${NO_SHARED:tl} == "no")
+CFLAGS+= -fPIE
+CXXFLAGS+= -fPIE
+LDFLAGS+= -pie
+.endif
.if ${MK_RETPOLINE} != "no"
CFLAGS+= -mretpoline
CXXFLAGS+= -mretpoline
# retpolineplt is broken with static linking (PR 233336)
-.if !defined(NO_SHARED) || ${NO_SHARED} == "no" || ${NO_SHARED} == "NO"
+.if !defined(NO_SHARED) || ${NO_SHARED:tl} == "no"
LDFLAGS+= -Wl,-zretpolineplt
.endif
.endif
@@ -68,7 +73,7 @@ TAGS+= package=${PACKAGE:Uruntime}
TAG_ARGS= -T ${TAGS:[*]:S/ /,/g}
.endif
-.if defined(NO_SHARED) && (${NO_SHARED} != "no" && ${NO_SHARED} != "NO")
+.if defined(NO_SHARED) && ${NO_SHARED:tl} != "no"
LDFLAGS+= -static
.endif
Modified: projects/import-googletest-1.8.1/share/mk/src.libnames.mk
==============================================================================
--- projects/import-googletest-1.8.1/share/mk/src.libnames.mk Tue Feb 19 02:26:47 2019 (r344270)
+++ projects/import-googletest-1.8.1/share/mk/src.libnames.mk Tue Feb 19 03:46:32 2019 (r344271)
@@ -385,6 +385,10 @@ LDADD_gtest_main= -lprivategtest_main
LIB${_l:tu}?= ${LIBDESTDIR}${LIBDIR_BASE}/libprivate${_l}.a
.endfor
+.if ${MK_PIE} != "no"
+PIE_SUFFIX= _pie
+.endif
+
.for _l in ${_LIBRARIES}
.if ${_INTERNALLIBS:M${_l}} || !defined(SYSROOT)
LDADD_${_l}_L+= -L${LIB${_l:tu}DIR}
@@ -392,12 +396,14 @@ LDADD_${_l}_L+= -L${LIB${_l:tu}DIR}
DPADD_${_l}?= ${LIB${_l:tu}}
.if ${_PRIVATELIBS:M${_l}}
LDADD_${_l}?= -lprivate${_l}
+.elif ${_INTERNALLIBS:M${_l}}
+LDADD_${_l}?= ${LDADD_${_l}_L} -l${_l:S/${PIE_SUFFIX}//}${PIE_SUFFIX}
.else
LDADD_${_l}?= ${LDADD_${_l}_L} -l${_l}
.endif
# Add in all dependencies for static linkage.
.if defined(_DP_${_l}) && (${_INTERNALLIBS:M${_l}} || \
- (defined(NO_SHARED) && (${NO_SHARED} != "no" && ${NO_SHARED} != "NO")))
+ (defined(NO_SHARED) && ${NO_SHARED:tl} != "no"))
.for _d in ${_DP_${_l}}
DPADD_${_l}+= ${DPADD_${_d}}
LDADD_${_l}+= ${LDADD_${_d}}
@@ -444,69 +450,69 @@ LDADD+= ${LDADD_${_l}}
# INTERNALLIB definitions.
LIBELFTCDIR= ${OBJTOP}/lib/libelftc
-LIBELFTC?= ${LIBELFTCDIR}/libelftc.a
+LIBELFTC?= ${LIBELFTCDIR}/libelftc${PIE_SUFFIX}.a
LIBPEDIR= ${OBJTOP}/lib/libpe
-LIBPE?= ${LIBPEDIR}/libpe.a
+LIBPE?= ${LIBPEDIR}/libpe${PIE_SUFFIX}.a
LIBOPENBSDDIR= ${OBJTOP}/lib/libopenbsd
-LIBOPENBSD?= ${LIBOPENBSDDIR}/libopenbsd.a
+LIBOPENBSD?= ${LIBOPENBSDDIR}/libopenbsd${PIE_SUFFIX}.a
LIBSMDIR= ${OBJTOP}/lib/libsm
-LIBSM?= ${LIBSMDIR}/libsm.a
+LIBSM?= ${LIBSMDIR}/libsm${PIE_SUFFIX}.a
LIBSMDBDIR= ${OBJTOP}/lib/libsmdb
-LIBSMDB?= ${LIBSMDBDIR}/libsmdb.a
+LIBSMDB?= ${LIBSMDBDIR}/libsmdb${PIE_SUFFIX}.a
LIBSMUTILDIR= ${OBJTOP}/lib/libsmutil
-LIBSMUTIL?= ${LIBSMUTILDIR}/libsmutil.a
+LIBSMUTIL?= ${LIBSMUTILDIR}/libsmutil${PIE_SUFFIX}.a
LIBNETBSDDIR?= ${OBJTOP}/lib/libnetbsd
-LIBNETBSD?= ${LIBNETBSDDIR}/libnetbsd.a
+LIBNETBSD?= ${LIBNETBSDDIR}/libnetbsd${PIE_SUFFIX}.a
LIBVERSDIR?= ${OBJTOP}/kerberos5/lib/libvers
-LIBVERS?= ${LIBVERSDIR}/libvers.a
+LIBVERS?= ${LIBVERSDIR}/libvers${PIE_SUFFIX}.a
LIBSLDIR= ${OBJTOP}/kerberos5/lib/libsl
-LIBSL?= ${LIBSLDIR}/libsl.a
+LIBSL?= ${LIBSLDIR}/libsl${PIE_SUFFIX}.a
LIBIPFDIR= ${OBJTOP}/sbin/ipf/libipf
-LIBIPF?= ${LIBIPFDIR}/libipf.a
+LIBIPF?= ${LIBIPFDIR}/libipf${PIE_SUFFIX}.a
LIBTELNETDIR= ${OBJTOP}/lib/libtelnet
-LIBTELNET?= ${LIBTELNETDIR}/libtelnet.a
+LIBTELNET?= ${LIBTELNETDIR}/libtelnet${PIE_SUFFIX}.a
LIBCRONDIR= ${OBJTOP}/usr.sbin/cron/lib
-LIBCRON?= ${LIBCRONDIR}/libcron.a
+LIBCRON?= ${LIBCRONDIR}/libcron${PIE_SUFFIX}.a
LIBNTPDIR= ${OBJTOP}/usr.sbin/ntp/libntp
-LIBNTP?= ${LIBNTPDIR}/libntp.a
+LIBNTP?= ${LIBNTPDIR}/libntp${PIE_SUFFIX}.a
LIBNTPEVENTDIR= ${OBJTOP}/usr.sbin/ntp/libntpevent
-LIBNTPEVENT?= ${LIBNTPEVENTDIR}/libntpevent.a
+LIBNTPEVENT?= ${LIBNTPEVENTDIR}/libntpevent${PIE_SUFFIX}.a
LIBOPTSDIR= ${OBJTOP}/usr.sbin/ntp/libopts
-LIBOPTS?= ${LIBOPTSDIR}/libopts.a
+LIBOPTS?= ${LIBOPTSDIR}/libopts${PIE_SUFFIX}.a
LIBPARSEDIR= ${OBJTOP}/usr.sbin/ntp/libparse
-LIBPARSE?= ${LIBPARSEDIR}/libparse.a
+LIBPARSE?= ${LIBPARSEDIR}/libparse${PIE_SUFFIX}.a
LIBLPRDIR= ${OBJTOP}/usr.sbin/lpr/common_source
-LIBLPR?= ${LIBLPRDIR}/liblpr.a
+LIBLPR?= ${LIBLPRDIR}/liblpr${PIE_SUFFIX}.a
LIBFIFOLOGDIR= ${OBJTOP}/usr.sbin/fifolog/lib
-LIBFIFOLOG?= ${LIBFIFOLOGDIR}/libfifolog.a
+LIBFIFOLOG?= ${LIBFIFOLOGDIR}/libfifolog${PIE_SUFFIX}.a
LIBBSNMPTOOLSDIR= ${OBJTOP}/usr.sbin/bsnmpd/tools/libbsnmptools
-LIBBSNMPTOOLS?= ${LIBBSNMPTOOLSDIR}/libbsnmptools.a
+LIBBSNMPTOOLS?= ${LIBBSNMPTOOLSDIR}/libbsnmptools${PIE_SUFFIX}.a
LIBAMUDIR= ${OBJTOP}/usr.sbin/amd/libamu
-LIBAMU?= ${LIBAMUDIR}/libamu.a
+LIBAMU?= ${LIBAMUDIR}/libamu${PIE_SUFFIX}.a
-LIBBE?= ${LIBBEDIR}/libbe.a
+LIBBE?= ${LIBBEDIR}/libbe${PIE_SUFFIX}.a
LIBPMCSTATDIR= ${OBJTOP}/lib/libpmcstat
-LIBPMCSTAT?= ${LIBPMCSTATDIR}/libpmcstat.a
+LIBPMCSTAT?= ${LIBPMCSTATDIR}/libpmcstat${PIE_SUFFIX}.a
LIBC_NOSSP_PICDIR= ${OBJTOP}/lib/libc
LIBC_NOSSP_PIC?= ${LIBC_NOSSP_PICDIR}/libc_nossp_pic.a
Modified: projects/import-googletest-1.8.1/stand/common/dev_net.c
==============================================================================
--- projects/import-googletest-1.8.1/stand/common/dev_net.c Tue Feb 19 02:26:47 2019 (r344270)
+++ projects/import-googletest-1.8.1/stand/common/dev_net.c Tue Feb 19 03:46:32 2019 (r344271)
@@ -122,13 +122,15 @@ net_open(struct open_file *f, ...)
{
struct iodesc *d;
va_list args;
- char *devname; /* Device part of file name (or NULL). */
+ struct devdesc *dev;
+ const char *devname; /* Device part of file name (or NULL). */
int error = 0;
va_start(args, f);
- devname = va_arg(args, char*);
+ dev = va_arg(args, struct devdesc *);
va_end(args);
+ devname = dev->d_dev->dv_name;
/* Before opening another interface, close the previous one first. */
if (netdev_sock >= 0 && strcmp(devname, netdev_name) != 0)
net_cleanup();
@@ -137,7 +139,7 @@ net_open(struct open_file *f, ...)
if (netdev_opens == 0) {
/* Find network interface. */
if (netdev_sock < 0) {
- netdev_sock = netif_open(devname);
+ netdev_sock = netif_open(dev);
if (netdev_sock < 0) {
printf("net_open: netif_open() failed\n");
return (ENXIO);
Modified: projects/import-googletest-1.8.1/stand/common/disk.c
==============================================================================
--- projects/import-googletest-1.8.1/stand/common/disk.c Tue Feb 19 02:26:47 2019 (r344270)
+++ projects/import-googletest-1.8.1/stand/common/disk.c Tue Feb 19 03:46:32 2019 (r344271)
@@ -75,7 +75,7 @@ display_size(uint64_t size, u_int sectorsize)
size /= 1024;
unit = 'M';
}
- sprintf(buf, "%ld%cB", (long)size, unit);
+ sprintf(buf, "%4ld%cB", (long)size, unit);
return (buf);
}
@@ -102,7 +102,6 @@ ptblread(void *d, void *buf, size_t blocks, uint64_t o
blocks * od->sectorsize, (char *)buf, NULL));
}
-#define PWIDTH 35
static int
ptable_print(void *arg, const char *pname, const struct ptable_entry *part)
{
@@ -112,16 +111,16 @@ ptable_print(void *arg, const char *pname, const struc
struct ptable *table;
char line[80];
int res;
+ u_int sectsize;
+ uint64_t partsize;
pa = (struct print_args *)arg;
od = (struct open_disk *)pa->dev->dd.d_opendata;
- sprintf(line, " %s%s: %s", pa->prefix, pname,
- parttype2str(part->type));
- if (pa->verbose)
- sprintf(line, "%-*s%s", PWIDTH, line,
- display_size(part->end - part->start + 1,
- od->sectorsize));
- strcat(line, "\n");
+ sectsize = od->sectorsize;
+ partsize = part->end - part->start + 1;
+ sprintf(line, " %s%s: %s\t%s\n", pa->prefix, pname,
+ parttype2str(part->type),
+ pa->verbose ? display_size(partsize, sectsize) : "");
if (pager_output(line))
return 1;
res = 0;
@@ -131,10 +130,15 @@ ptable_print(void *arg, const char *pname, const struc
dev.dd.d_unit = pa->dev->dd.d_unit;
dev.d_slice = part->index;
dev.d_partition = -1;
- if (disk_open(&dev, part->end - part->start + 1,
- od->sectorsize) == 0) {
- table = ptable_open(&dev, part->end - part->start + 1,
- od->sectorsize, ptblread);
+ if (disk_open(&dev, partsize, sectsize) == 0) {
+ /*
+ * disk_open() for partition -1 on a bsd slice assumes
+ * you want the first bsd partition. Reset things so
+ * that we're looking at the start of the raw slice.
+ */
+ dev.d_partition = -1;
+ dev.d_offset = part->start;
+ table = ptable_open(&dev, partsize, sectsize, ptblread);
if (table != NULL) {
sprintf(line, " %s%s", pa->prefix, pname);
bsd.dev = pa->dev;
@@ -149,7 +153,6 @@ ptable_print(void *arg, const char *pname, const struc
return (res);
}
-#undef PWIDTH
int
disk_print(struct disk_devdesc *dev, char *prefix, int verbose)
Modified: projects/import-googletest-1.8.1/stand/common/part.c
==============================================================================
--- projects/import-googletest-1.8.1/stand/common/part.c Tue Feb 19 02:26:47 2019 (r344270)
+++ projects/import-googletest-1.8.1/stand/common/part.c Tue Feb 19 03:46:32 2019 (r344271)
@@ -788,6 +788,9 @@ ptable_close(struct ptable *table)
{
struct pentry *entry;
+ if (table == NULL)
*** DIFF OUTPUT TRUNCATED AT 1000 LINES ***
More information about the svn-src-projects
mailing list