From owner-svn-src-projects@freebsd.org Sun Feb 5 02:49:45 2017 Return-Path: Delivered-To: svn-src-projects@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 79F7ECD1AA3 for ; Sun, 5 Feb 2017 02:49:45 +0000 (UTC) (envelope-from ngie@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 1691D15F3; Sun, 5 Feb 2017 02:49:45 +0000 (UTC) (envelope-from ngie@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v152ni87018647; Sun, 5 Feb 2017 02:49:44 GMT (envelope-from ngie@FreeBSD.org) Received: (from ngie@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v152ng2N018631; Sun, 5 Feb 2017 02:49:42 GMT (envelope-from ngie@FreeBSD.org) Message-Id: <201702050249.v152ng2N018631@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: ngie set sender to ngie@FreeBSD.org using -f From: Ngie Cooper Date: Sun, 5 Feb 2017 02:49:42 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r313267 - in projects/netbsd-tests-upstream-01-2017: cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/usdt cddl/contrib/opensolaris/lib/libdtrace/common sbin/ifconfig sbin/nvmecontro... X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 05 Feb 2017 02:49:45 -0000 Author: ngie Date: Sun Feb 5 02:49:42 2017 New Revision: 313267 URL: https://svnweb.freebsd.org/changeset/base/313267 Log: MFhead@r313266 Modified: projects/netbsd-tests-upstream-01-2017/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/usdt/tst.enabled2.ksh projects/netbsd-tests-upstream-01-2017/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/usdt/tst.include.ksh projects/netbsd-tests-upstream-01-2017/cddl/contrib/opensolaris/lib/libdtrace/common/dt_dof.c projects/netbsd-tests-upstream-01-2017/cddl/contrib/opensolaris/lib/libdtrace/common/dt_link.c projects/netbsd-tests-upstream-01-2017/cddl/contrib/opensolaris/lib/libdtrace/common/dt_provider.c projects/netbsd-tests-upstream-01-2017/sbin/ifconfig/ifieee80211.c projects/netbsd-tests-upstream-01-2017/sbin/nvmecontrol/logpage.c projects/netbsd-tests-upstream-01-2017/sbin/nvmecontrol/nvmecontrol.8 projects/netbsd-tests-upstream-01-2017/sbin/nvmecontrol/wdc.c projects/netbsd-tests-upstream-01-2017/sys/cddl/contrib/opensolaris/uts/common/dtrace/dtrace.c projects/netbsd-tests-upstream-01-2017/sys/cddl/contrib/opensolaris/uts/common/sys/dtrace.h projects/netbsd-tests-upstream-01-2017/sys/cddl/dev/dtrace/dtrace_ioctl.c projects/netbsd-tests-upstream-01-2017/sys/dev/mmc/mmc.c projects/netbsd-tests-upstream-01-2017/sys/dev/mmc/mmcreg.h projects/netbsd-tests-upstream-01-2017/sys/dev/sdhci/sdhci.c projects/netbsd-tests-upstream-01-2017/sys/dev/sdhci/sdhci.h projects/netbsd-tests-upstream-01-2017/sys/dev/sdhci/sdhci_fdt.c projects/netbsd-tests-upstream-01-2017/sys/dev/sdhci/sdhci_pci.c projects/netbsd-tests-upstream-01-2017/sys/kern/kern_descrip.c projects/netbsd-tests-upstream-01-2017/sys/kern/subr_witness.c projects/netbsd-tests-upstream-01-2017/sys/net/iflib.c projects/netbsd-tests-upstream-01-2017/sys/riscv/include/atomic.h projects/netbsd-tests-upstream-01-2017/sys/vm/vm_object.h Directory Properties: projects/netbsd-tests-upstream-01-2017/ (props changed) projects/netbsd-tests-upstream-01-2017/cddl/ (props changed) projects/netbsd-tests-upstream-01-2017/cddl/contrib/opensolaris/ (props changed) projects/netbsd-tests-upstream-01-2017/sys/cddl/contrib/opensolaris/ (props changed) Modified: projects/netbsd-tests-upstream-01-2017/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/usdt/tst.enabled2.ksh ============================================================================== --- projects/netbsd-tests-upstream-01-2017/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/usdt/tst.enabled2.ksh Sun Feb 5 02:47:34 2017 (r313266) +++ projects/netbsd-tests-upstream-01-2017/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/usdt/tst.enabled2.ksh Sun Feb 5 02:49:42 2017 (r313267) @@ -77,7 +77,7 @@ main(int argc, char **argv) } EOF -cc -c -xO2 test.c +cc -c -O2 test.c if [ $? -ne 0 ]; then print -u2 "failed to compile test.c" exit 1 Modified: projects/netbsd-tests-upstream-01-2017/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/usdt/tst.include.ksh ============================================================================== --- projects/netbsd-tests-upstream-01-2017/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/usdt/tst.include.ksh Sun Feb 5 02:47:34 2017 (r313266) +++ projects/netbsd-tests-upstream-01-2017/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/usdt/tst.include.ksh Sun Feb 5 02:49:42 2017 (r313267) @@ -25,7 +25,7 @@ # # ident "%Z%%M% %I% %E% SMI" -# Make sure defines _DTRACE_VERSION +# Make sure defines _DTRACE_VERSION DIR=/var/tmp/dtest.$$ @@ -33,7 +33,7 @@ mkdir $DIR cd $DIR cat > test.c < +#include int main(int argc, char **argv) @@ -46,7 +46,7 @@ main(int argc, char **argv) } EOF -cc -xarch=generic -o test test.c +cc -o test test.c if [ $? -ne 0 ]; then print -u2 "failed to compile test.c" exit 1 Modified: projects/netbsd-tests-upstream-01-2017/cddl/contrib/opensolaris/lib/libdtrace/common/dt_dof.c ============================================================================== --- projects/netbsd-tests-upstream-01-2017/cddl/contrib/opensolaris/lib/libdtrace/common/dt_dof.c Sun Feb 5 02:47:34 2017 (r313266) +++ projects/netbsd-tests-upstream-01-2017/cddl/contrib/opensolaris/lib/libdtrace/common/dt_dof.c Sun Feb 5 02:49:42 2017 (r313267) @@ -462,18 +462,8 @@ dof_add_probe(dt_idhash_t *dhp, dt_ident dt_buf_write(dtp, &ddo->ddo_enoffs, pip->pi_enoffs, pip->pi_nenoffs * sizeof (uint32_t), sizeof (uint32_t)); - /* - * If pi_rname isn't set, the relocation will be against the - * function name. If it is, the relocation will be against - * pi_rname. This will be used if the function is scoped - * locally so an alternate symbol is added for the purpose - * of this relocation. - */ - if (pip->pi_rname == NULL) - dofr.dofr_name = dofpr.dofpr_func; - else - dofr.dofr_name = dof_add_string(ddo, pip->pi_rname); - dofr.dofr_type = DOF_RELO_SETX; + dofr.dofr_name = dof_add_string(ddo, pip->pi_rname); + dofr.dofr_type = DOF_RELO_DOFREL; dofr.dofr_offset = dt_buf_len(&ddo->ddo_probes); dofr.dofr_data = 0; Modified: projects/netbsd-tests-upstream-01-2017/cddl/contrib/opensolaris/lib/libdtrace/common/dt_link.c ============================================================================== --- projects/netbsd-tests-upstream-01-2017/cddl/contrib/opensolaris/lib/libdtrace/common/dt_link.c Sun Feb 5 02:47:34 2017 (r313266) +++ projects/netbsd-tests-upstream-01-2017/cddl/contrib/opensolaris/lib/libdtrace/common/dt_link.c Sun Feb 5 02:49:42 2017 (r313267) @@ -237,7 +237,7 @@ printf("%s:%s(%d): DOODAD\n",__FUNCTION_ rel->r_offset = s->dofs_offset + dofr[j].dofr_offset; rel->r_info = ELF32_R_INFO(count + dep->de_global, - R_386_32); + R_386_PC32); #elif defined(__mips__) /* XXX */ printf("%s:%s(%d): DOODAD\n",__FUNCTION__,__FILE__,__LINE__); @@ -253,15 +253,6 @@ printf("%s:%s(%d): DOODAD\n",__FUNCTION_ #elif defined(__riscv__) /* XXX */ printf("%s:%s(%d): DOODAD\n",__FUNCTION__,__FILE__,__LINE__); -#elif defined(__sparc) - /* - * Add 4 bytes to hit the low half of this 64-bit - * big-endian address. - */ - rel->r_offset = s->dofs_offset + - dofr[j].dofr_offset + 4; - rel->r_info = ELF32_R_INFO(count + dep->de_global, - R_SPARC_32); #else #error unknown ISA #endif @@ -270,7 +261,7 @@ printf("%s:%s(%d): DOODAD\n",__FUNCTION_ sym->st_value = 0; sym->st_size = 0; sym->st_info = ELF32_ST_INFO(STB_GLOBAL, STT_FUNC); - sym->st_other = 0; + sym->st_other = ELF32_ST_VISIBILITY(STV_HIDDEN); sym->st_shndx = SHN_UNDEF; rel++; @@ -287,11 +278,7 @@ printf("%s:%s(%d): DOODAD\n",__FUNCTION_ sym->st_value = 0; sym->st_size = dof->dofh_filesz; sym->st_info = ELF32_ST_INFO(STB_GLOBAL, STT_OBJECT); -#ifdef illumos - sym->st_other = 0; -#else sym->st_other = ELF32_ST_VISIBILITY(STV_HIDDEN); -#endif sym->st_shndx = ESHDR_DOF; sym++; @@ -448,18 +435,8 @@ prepare_elf64(dtrace_hdl_t *dtp, const d #elif defined(__i386) || defined(__amd64) rel->r_offset = s->dofs_offset + dofr[j].dofr_offset; -#ifdef illumos rel->r_info = ELF64_R_INFO(count + dep->de_global, - R_AMD64_64); -#else - rel->r_info = ELF64_R_INFO(count + dep->de_global, - R_X86_64_RELATIVE); -#endif -#elif defined(__sparc) - rel->r_offset = s->dofs_offset + - dofr[j].dofr_offset; - rel->r_info = ELF64_R_INFO(count + dep->de_global, - R_SPARC_64); + R_X86_64_PC64); #else #error unknown ISA #endif @@ -468,7 +445,7 @@ prepare_elf64(dtrace_hdl_t *dtp, const d sym->st_value = 0; sym->st_size = 0; sym->st_info = GELF_ST_INFO(STB_GLOBAL, STT_FUNC); - sym->st_other = 0; + sym->st_other = ELF64_ST_VISIBILITY(STV_HIDDEN); sym->st_shndx = SHN_UNDEF; rel++; @@ -485,11 +462,7 @@ prepare_elf64(dtrace_hdl_t *dtp, const d sym->st_value = 0; sym->st_size = dof->dofh_filesz; sym->st_info = GELF_ST_INFO(STB_GLOBAL, STT_OBJECT); -#ifdef illumos - sym->st_other = 0; -#else sym->st_other = ELF64_ST_VISIBILITY(STV_HIDDEN); -#endif sym->st_shndx = ESHDR_DOF; sym++; @@ -797,16 +770,15 @@ dump_elf64(dtrace_hdl_t *dtp, const dof_ } static int -dt_symtab_lookup(Elf_Data *data_sym, int nsym, uintptr_t addr, uint_t shn, - GElf_Sym *sym, int uses_funcdesc, Elf *elf) +dt_symtab_lookup(Elf_Data *data_sym, int start, int end, uintptr_t addr, + uint_t shn, GElf_Sym *sym, int uses_funcdesc, Elf *elf) { - int i, ret = -1; Elf64_Addr symval; Elf_Scn *opd_scn; Elf_Data *opd_desc; - GElf_Sym s; + int i; - for (i = 0; i < nsym && gelf_getsym(data_sym, i, sym) != NULL; i++) { + for (i = start; i < end && gelf_getsym(data_sym, i, sym) != NULL; i++) { if (GELF_ST_TYPE(sym->st_info) == STT_FUNC) { symval = sym->st_value; if (uses_funcdesc) { @@ -816,20 +788,12 @@ dt_symtab_lookup(Elf_Data *data_sym, int *(uint64_t*)((char *)opd_desc->d_buf + symval); } if ((uses_funcdesc || shn == sym->st_shndx) && - symval <= addr && - addr < symval + sym->st_size) { - if (GELF_ST_BIND(sym->st_info) == STB_GLOBAL) - return (0); - - ret = 0; - s = *sym; - } + symval <= addr && addr < symval + sym->st_size) + return (0); } } - if (ret == 0) - *sym = s; - return (ret); + return (-1); } #if defined(__aarch64__) @@ -1237,10 +1201,11 @@ process_obj(dtrace_hdl_t *dtp, const cha dt_provider_t *pvp; dt_probe_t *prp; uint32_t off, eclass, emachine1, emachine2; - size_t symsize, nsym, isym, istr, len; + size_t symsize, osym, nsym, isym, istr, len; key_t objkey; dt_link_pair_t *pair, *bufs = NULL; dt_strtab_t *strtab; + void *tmp; if ((fd = open64(obj, O_RDWR)) == -1) { return (dt_link_error(dtp, elf, fd, bufs, @@ -1374,12 +1339,13 @@ process_obj(dtrace_hdl_t *dtp, const cha * target (text) section to replace the call instruction with * one or more nops. * - * If the function containing the probe is locally scoped - * (static), we create an alias used by the relocation in the - * generated object. The alias, a new symbol, will be global - * (so that the relocation from the generated object can be - * resolved), and hidden (so that it is converted to a local - * symbol at link time). Such aliases have this form: + * To avoid runtime overhead, the relocations added to the + * generated object should be resolved at static link time. We + * therefore create aliases for the functions that contain + * probes. An alias is global (so that the relocation from the + * generated object can be resolved), and hidden (so that its + * address is known at static link time). Such aliases have this + * form: * * $dtrace. * @@ -1417,16 +1383,13 @@ process_obj(dtrace_hdl_t *dtp, const cha if (strncmp(s, dt_prefix, sizeof (dt_prefix) - 1) != 0) continue; - if (dt_symtab_lookup(data_sym, isym, rela.r_offset, - shdr_rel.sh_info, &fsym, - (emachine1 == EM_PPC64), elf) != 0) { + if (dt_symtab_lookup(data_sym, 0, isym, rela.r_offset, + shdr_rel.sh_info, &fsym, (emachine1 == EM_PPC64), + elf) != 0) { dt_strtab_destroy(strtab); goto err; } - if (GELF_ST_BIND(fsym.st_info) != STB_LOCAL) - continue; - if (fsym.st_name > data_str->d_size) { dt_strtab_destroy(strtab); goto err; @@ -1462,12 +1425,12 @@ process_obj(dtrace_hdl_t *dtp, const cha } /* - * If needed, allocate the additional space for the symbol - * table and string table copying the old data into the new - * buffers, and marking the buffers as dirty. We inject those - * newly allocated buffers into the libelf data structures, but - * are still responsible for freeing them once we're done with - * the elf handle. + * If any probes were found, allocate the additional space for + * the symbol table and string table, copying the old data into + * the new buffers, and marking the buffers as dirty. We inject + * those newly allocated buffers into the libelf data + * structures, but are still responsible for freeing them once + * we're done with the elf handle. */ if (nsym > 0) { /* @@ -1501,7 +1464,9 @@ process_obj(dtrace_hdl_t *dtp, const cha bufs = pair; bcopy(data_str->d_buf, pair->dlp_str, data_str->d_size); + tmp = data_str->d_buf; data_str->d_buf = pair->dlp_str; + pair->dlp_str = tmp; data_str->d_size += len; (void) elf_flagdata(data_str, ELF_C_SET, ELF_F_DIRTY); @@ -1509,16 +1474,20 @@ process_obj(dtrace_hdl_t *dtp, const cha (void) gelf_update_shdr(scn_str, &shdr_str); bcopy(data_sym->d_buf, pair->dlp_sym, data_sym->d_size); + tmp = data_sym->d_buf; data_sym->d_buf = pair->dlp_sym; + pair->dlp_sym = tmp; data_sym->d_size += nsym * symsize; (void) elf_flagdata(data_sym, ELF_C_SET, ELF_F_DIRTY); shdr_sym.sh_size += nsym * symsize; (void) gelf_update_shdr(scn_sym, &shdr_sym); + osym = isym; nsym += isym; } else { dt_strtab_destroy(strtab); + continue; } /* @@ -1577,8 +1546,11 @@ process_obj(dtrace_hdl_t *dtp, const cha bcopy(s, pname, p - s); pname[p - s] = '\0'; - if (dt_symtab_lookup(data_sym, isym, rela.r_offset, - shdr_rel.sh_info, &fsym, + if (dt_symtab_lookup(data_sym, osym, isym, + rela.r_offset, shdr_rel.sh_info, &fsym, + (emachine1 == EM_PPC64), elf) != 0 && + dt_symtab_lookup(data_sym, 0, osym, + rela.r_offset, shdr_rel.sh_info, &fsym, (emachine1 == EM_PPC64), elf) != 0) goto err; @@ -1588,37 +1560,30 @@ process_obj(dtrace_hdl_t *dtp, const cha assert(GELF_ST_TYPE(fsym.st_info) == STT_FUNC); /* - * If a NULL relocation name is passed to - * dt_probe_define(), the function name is used for the - * relocation. The relocation needs to use a mangled - * name if the symbol is locally scoped; the function - * name may need to change if we've found the global - * alias for the locally scoped symbol (we prefer - * global symbols to locals in dt_symtab_lookup()). + * If this is our first time encountering this symbol, + * emit an alias. */ s = (char *)data_str->d_buf + fsym.st_name; - r = NULL; - if (GELF_ST_BIND(fsym.st_info) == STB_LOCAL) { + if (strncmp(s, dt_symprefix, + sizeof (dt_symprefix) - 1) != 0) { + u_int bind = GELF_ST_BIND(fsym.st_info); + dsym = fsym; dsym.st_name = istr; - dsym.st_info = GELF_ST_INFO(STB_GLOBAL, - STT_FUNC); - dsym.st_other = - ELF64_ST_VISIBILITY(STV_ELIMINATE); + dsym.st_info = GELF_ST_INFO(bind == STB_LOCAL ? + STB_GLOBAL : bind, STT_FUNC); + dsym.st_other = GELF_ST_VISIBILITY(STV_HIDDEN); (void) gelf_update_sym(data_sym, isym, &dsym); - - r = (char *)data_str->d_buf + istr; - istr += 1 + sprintf(r, dt_symfmt, - dt_symprefix, objkey, s); + r = (char *) data_str->d_buf + istr; + istr += 1 + sprintf(r, dt_symfmt, dt_symprefix, objkey, + s); isym++; assert(isym <= nsym); - - } else if (strncmp(s, dt_symprefix, - strlen(dt_symprefix)) == 0) { + } else { r = s; - if ((s = strchr(s, '.')) == NULL) - goto err; + s = strchr(s, '.'); + assert(s != NULL); s++; } @@ -1697,9 +1662,6 @@ process_obj(dtrace_hdl_t *dtp, const cha (void) elf_end(elf); (void) close(fd); -#ifndef illumos - if (nsym > 0) -#endif while ((pair = bufs) != NULL) { bufs = pair->dlp_next; dt_free(dtp, pair->dlp_str); Modified: projects/netbsd-tests-upstream-01-2017/cddl/contrib/opensolaris/lib/libdtrace/common/dt_provider.c ============================================================================== --- projects/netbsd-tests-upstream-01-2017/cddl/contrib/opensolaris/lib/libdtrace/common/dt_provider.c Sun Feb 5 02:47:34 2017 (r313266) +++ projects/netbsd-tests-upstream-01-2017/cddl/contrib/opensolaris/lib/libdtrace/common/dt_provider.c Sun Feb 5 02:49:42 2017 (r313267) @@ -545,9 +545,7 @@ dt_probe_define(dt_provider_t *pvp, dt_p for (pip = prp->pr_inst; pip != NULL; pip = pip->pi_next) { if (strcmp(pip->pi_fname, fname) == 0 && - ((rname == NULL && pip->pi_rname == NULL) || - (rname != NULL && pip->pi_rname != NULL && - strcmp(pip->pi_rname, rname) == 0))) + strcmp(pip->pi_rname, rname) == 0) break; } @@ -565,7 +563,7 @@ dt_probe_define(dt_provider_t *pvp, dt_p if ((pip->pi_fname = strdup(fname)) == NULL) goto nomem; - if (rname != NULL && (pip->pi_rname = strdup(rname)) == NULL) + if ((pip->pi_rname = strdup(rname)) == NULL) goto nomem; pip->pi_noffs = 0; @@ -605,7 +603,7 @@ dt_probe_define(dt_provider_t *pvp, dt_p dt_dprintf("defined probe %s %s:%s %s() +0x%x (%s)\n", isenabled ? "(is-enabled)" : "", pvp->pv_desc.dtvd_name, prp->pr_ident->di_name, fname, offset, - rname != NULL ? rname : fname); + rname); assert(*noffs < *maxoffs); (*offs)[(*noffs)++] = offset; Modified: projects/netbsd-tests-upstream-01-2017/sbin/ifconfig/ifieee80211.c ============================================================================== --- projects/netbsd-tests-upstream-01-2017/sbin/ifconfig/ifieee80211.c Sun Feb 5 02:47:34 2017 (r313266) +++ projects/netbsd-tests-upstream-01-2017/sbin/ifconfig/ifieee80211.c Sun Feb 5 02:49:42 2017 (r313267) @@ -5594,12 +5594,12 @@ static struct cmd ieee80211_cmds[] = { DEF_CMD_ARG("bgscanidle", set80211bgscanidle), DEF_CMD_ARG("bgscanintvl", set80211bgscanintvl), DEF_CMD_ARG("scanvalid", set80211scanvalid), - DEF_CMD("quiet", 1, set80211quiet), - DEF_CMD("-quiet", 0, set80211quiet), - DEF_CMD_ARG("quiet_count", set80211quietcount), - DEF_CMD_ARG("quiet_period", set80211quietperiod), - DEF_CMD_ARG("quiet_dur", set80211quietduration), - DEF_CMD_ARG("quiet_offset", set80211quietoffset), + DEF_CMD("quiet", 1, set80211quiet), + DEF_CMD("-quiet", 0, set80211quiet), + DEF_CMD_ARG("quiet_count", set80211quietcount), + DEF_CMD_ARG("quiet_period", set80211quietperiod), + DEF_CMD_ARG("quiet_duration", set80211quietduration), + DEF_CMD_ARG("quiet_offset", set80211quietoffset), DEF_CMD_ARG("roam:rssi", set80211roamrssi), DEF_CMD_ARG("roam:rate", set80211roamrate), DEF_CMD_ARG("mcastrate", set80211mcastrate), Modified: projects/netbsd-tests-upstream-01-2017/sbin/nvmecontrol/logpage.c ============================================================================== --- projects/netbsd-tests-upstream-01-2017/sbin/nvmecontrol/logpage.c Sun Feb 5 02:47:34 2017 (r313266) +++ projects/netbsd-tests-upstream-01-2017/sbin/nvmecontrol/logpage.c Sun Feb 5 02:49:42 2017 (r313267) @@ -74,6 +74,12 @@ kv_lookup(const struct kv_name *kv, size return bad; } +static void +print_bin(void *data, uint32_t length) +{ + write(STDOUT_FILENO, data, length); +} + /* * 128-bit integer augments to standard values. On i386 this * doesn't exist, so we use 64-bit values. The 128-bit counters @@ -846,6 +852,8 @@ static struct logpage_function { sizeof(struct nvme_firmware_page)}, {HGST_INFO_LOG, "hgst", print_hgst_info_log, DEFAULT_SIZE}, + {HGST_INFO_LOG, "wdc", print_hgst_info_log, + DEFAULT_SIZE}, {INTEL_LOG_TEMP_STATS, "intel", print_intel_temp_stats, sizeof(struct intel_log_temp_stats)}, {INTEL_LOG_READ_LAT_LOG, "intel", print_intel_read_lat_log, @@ -870,7 +878,7 @@ logpage(int argc, char *argv[]) { int fd, nsid; int log_page = 0, pageflag = false; - int hexflag = false, ns_specified; + int binflag = false, hexflag = false, ns_specified; char ch, *p; char cname[64]; uint32_t size; @@ -880,8 +888,11 @@ logpage(int argc, char *argv[]) struct nvme_controller_data cdata; print_fn_t print_fn; - while ((ch = getopt(argc, argv, "p:xv:")) != -1) { + while ((ch = getopt(argc, argv, "bp:xv:")) != -1) { switch (ch) { + case 'b': + binflag = true; + break; case 'p': /* TODO: Add human-readable ASCII page IDs */ log_page = strtol(optarg, &p, 0); @@ -940,7 +951,9 @@ logpage(int argc, char *argv[]) print_fn = print_hex; size = DEFAULT_SIZE; - if (!hexflag) { + if (binflag) + print_fn = print_bin; + if (!binflag && !hexflag) { /* * See if there is a pretty print function for the specified log * page. If one isn't found, we just revert to the default Modified: projects/netbsd-tests-upstream-01-2017/sbin/nvmecontrol/nvmecontrol.8 ============================================================================== --- projects/netbsd-tests-upstream-01-2017/sbin/nvmecontrol/nvmecontrol.8 Sun Feb 5 02:47:34 2017 (r313266) +++ projects/netbsd-tests-upstream-01-2017/sbin/nvmecontrol/nvmecontrol.8 Sun Feb 5 02:49:42 2017 (r313267) @@ -33,7 +33,7 @@ .\" .\" $FreeBSD$ .\" -.Dd September 10, 2016 +.Dd February 4, 2017 .Dt NVMECONTROL 8 .Os .Sh NAME @@ -62,6 +62,8 @@ .Ic logpage .Aq Fl p Ar page_id .Op Fl x +.Op Fl v Ar vendor-string +.Op Fl b .Aq device id .Aq namespace id .Nm @@ -74,7 +76,7 @@ .Ic power .Op Fl l .Op Fl p power_state -.Op fl w workload_hint +.Op Fl w workload_hint .Nm .Ic wdc cap-diag .Op Fl o path_template @@ -96,6 +98,26 @@ .Sh DESCRIPTION NVM Express (NVMe) is a storage protocol standard, for SSDs and other high-speed storage devices over PCI Express. +.Pp +.Ss logpage +The logpage command knows how to print log pages of various types. +It also knows about vendor specific log pages from hgst/wdc and intel. +Page 0xc1 for hgst/wdc contains the advanced smart information about +the drive. +Page 0xc1 is read latency stats for intel. +Page 0xc2 is write latency stats for intel. +Page 0xc5 is temperature stats for intel. +Page 0xca is advanced smart information for intel. +.Ss wdc +The various wdc command retrieve log data from the wdc/hgst drives. +The +.Fl o +flag specifies a path template to use to output the files. +Each file takes the path template (which defaults to nothing), appends +the drive's serial number and the type of dump it is followed +by .bin. +These logs must be sent to the vendor for analysis. +This tool only provides a way to extract them. .Sh EXAMPLES .Dl nvmecontrol devlist .Pp @@ -126,10 +148,21 @@ Display a human-readable summary of the Log pages defined by the NVMe specification include Error Information Log (ID=1), SMART/Health Information Log (ID=2), and Firmware Slot Log (ID=3). .Pp +.Dl nvmecontrol logpage -p 0xc1 -v wdc nvme0 +.Pp +Display a human-readable summary of the nvme0's wdc-specific advanced +SMART data. +.Pp .Dl nvmecontrol logpage -p 1 -x nvme0 .Pp Display a hexadecimal dump of the nvme0 controller's Error Information Log. .Pp +.Dl nvmecontrol logpage -p 0xcb -b nvme0 > /tmp/page-cb.bin +.Pp +Print the contents of vendor specific page 0xcb as binary data on +standard out. +Redirect it to a temporary file. +.Pp .Dl nvmecontrol firmware -s 2 -f /tmp/nvme_firmware nvme0 .Pp Download the firmware image contained in "/tmp/nvme_firmware" to slot 2 of the Modified: projects/netbsd-tests-upstream-01-2017/sbin/nvmecontrol/wdc.c ============================================================================== --- projects/netbsd-tests-upstream-01-2017/sbin/nvmecontrol/wdc.c Sun Feb 5 02:47:34 2017 (r313266) +++ projects/netbsd-tests-upstream-01-2017/sbin/nvmecontrol/wdc.c Sun Feb 5 02:49:42 2017 (r313267) @@ -69,7 +69,7 @@ static void wdc_purge_monitor(int argc, #define WDC_DRIVE_LOG_USAGE "\tnvmecontrol wdc drive-log [-o path-template]\n" #define WDC_GET_CRASH_DUMP_USAGE "\tnvmecontrol wdc get-crash-dump [-o path-template]\n" #define WDC_PURGE_USAGE "\tnvmecontrol wdc purge [-o path-template]\n" -#define WDC_PURGE_MONITOR_USAGE "\tnvmecontrol wdc purge-montor\n" +#define WDC_PURGE_MONITOR_USAGE "\tnvmecontrol wdc purge-monitor\n" static struct nvme_function wdc_funcs[] = { {"cap-diag", wdc_cap_diag, WDC_CAP_DIAG_USAGE}, @@ -94,7 +94,7 @@ wdc_append_serial_name(int fd, char *buf walker = sn + NVME_SERIAL_NUMBER_LENGTH - 1; while (walker > sn && *walker == ' ') walker--; - *walker = '\0'; + *++walker = '\0'; snprintf(buf, len, "%s%s.bin", sn, suffix); } @@ -127,7 +127,8 @@ wdc_do_dump(int fd, char *tmpl, const ch { int fd2; uint8_t *buf; - uint32_t len, resid, offset; + uint32_t len, offset; + ssize_t resid; wdc_append_serial_name(fd, tmpl, MAXPATHLEN, suffix); Modified: projects/netbsd-tests-upstream-01-2017/sys/cddl/contrib/opensolaris/uts/common/dtrace/dtrace.c ============================================================================== --- projects/netbsd-tests-upstream-01-2017/sys/cddl/contrib/opensolaris/uts/common/dtrace/dtrace.c Sun Feb 5 02:47:34 2017 (r313266) +++ projects/netbsd-tests-upstream-01-2017/sys/cddl/contrib/opensolaris/uts/common/dtrace/dtrace.c Sun Feb 5 02:49:42 2017 (r313267) @@ -13346,8 +13346,11 @@ dtrace_dof_property(const char *name) data += strlen(name) + 1; /* skip past the '=' */ len = eol - data; + if (len % 2 != 0) { + dtrace_dof_error(NULL, "invalid DOF encoding length"); + goto doferr; + } bytes = len / 2; - if (bytes < sizeof(dof_hdr_t)) { dtrace_dof_error(NULL, "truncated header"); goto doferr; @@ -13917,12 +13920,13 @@ err: /* * Apply the relocations from the specified 'sec' (a DOF_SECT_URELHDR) to the - * specified DOF. At present, this amounts to simply adding 'ubase' to the - * site of any user SETX relocations to account for load object base address. - * In the future, if we need other relocations, this function can be extended. + * specified DOF. SETX relocations are computed using 'ubase', the base load + * address of the object containing the DOF, and DOFREL relocations are relative + * to the relocation offset within the DOF. */ static int -dtrace_dof_relocate(dof_hdr_t *dof, dof_sec_t *sec, uint64_t ubase) +dtrace_dof_relocate(dof_hdr_t *dof, dof_sec_t *sec, uint64_t ubase, + uint64_t udaddr) { uintptr_t daddr = (uintptr_t)dof; dof_relohdr_t *dofr = @@ -13960,6 +13964,7 @@ dtrace_dof_relocate(dof_hdr_t *dof, dof_ case DOF_RELO_NONE: break; case DOF_RELO_SETX: + case DOF_RELO_DOFREL: if (r->dofr_offset >= ts->dofs_size || r->dofr_offset + sizeof (uint64_t) > ts->dofs_size) { dtrace_dof_error(dof, "bad relocation offset"); @@ -13971,7 +13976,11 @@ dtrace_dof_relocate(dof_hdr_t *dof, dof_ return (-1); } - *(uint64_t *)taddr += ubase; + if (r->dofr_type == DOF_RELO_SETX) + *(uint64_t *)taddr += ubase; + else + *(uint64_t *)taddr += + udaddr + ts->dofs_offset + r->dofr_offset; break; default: dtrace_dof_error(dof, "invalid relocation type"); @@ -13992,7 +14001,7 @@ dtrace_dof_relocate(dof_hdr_t *dof, dof_ */ static int dtrace_dof_slurp(dof_hdr_t *dof, dtrace_vstate_t *vstate, cred_t *cr, - dtrace_enabling_t **enabp, uint64_t ubase, int noprobes) + dtrace_enabling_t **enabp, uint64_t ubase, uint64_t udaddr, int noprobes) { uint64_t len = dof->dofh_loadsz, seclen; uintptr_t daddr = (uintptr_t)dof; @@ -14154,7 +14163,7 @@ dtrace_dof_slurp(dof_hdr_t *dof, dtrace_ switch (sec->dofs_type) { case DOF_SECT_URELHDR: - if (dtrace_dof_relocate(dof, sec, ubase) != 0) + if (dtrace_dof_relocate(dof, sec, ubase, udaddr) != 0) return (-1); break; } @@ -15519,7 +15528,7 @@ dtrace_anon_property(void) } rv = dtrace_dof_slurp(dof, &state->dts_vstate, CRED(), - &dtrace_anon.dta_enabling, 0, B_TRUE); + &dtrace_anon.dta_enabling, 0, 0, B_TRUE); if (rv == 0) rv = dtrace_dof_options(dof, state); @@ -16290,7 +16299,7 @@ dtrace_helper_slurp(dof_hdr_t *dof, dof_ vstate = &help->dthps_vstate; if ((rv = dtrace_dof_slurp(dof, vstate, NULL, &enab, dhp->dofhp_addr, - B_FALSE)) != 0) { + dhp->dofhp_dof, B_FALSE)) != 0) { dtrace_dof_destroy(dof); return (rv); } Modified: projects/netbsd-tests-upstream-01-2017/sys/cddl/contrib/opensolaris/uts/common/sys/dtrace.h ============================================================================== --- projects/netbsd-tests-upstream-01-2017/sys/cddl/contrib/opensolaris/uts/common/sys/dtrace.h Sun Feb 5 02:47:34 2017 (r313266) +++ projects/netbsd-tests-upstream-01-2017/sys/cddl/contrib/opensolaris/uts/common/sys/dtrace.h Sun Feb 5 02:49:42 2017 (r313267) @@ -784,6 +784,7 @@ typedef struct dof_relodesc { #define DOF_RELO_NONE 0 /* empty relocation entry */ #define DOF_RELO_SETX 1 /* relocate setx value */ +#define DOF_RELO_DOFREL 2 /* relocate DOF-relative value */ typedef struct dof_optdesc { uint32_t dofo_option; /* option identifier */ Modified: projects/netbsd-tests-upstream-01-2017/sys/cddl/dev/dtrace/dtrace_ioctl.c ============================================================================== --- projects/netbsd-tests-upstream-01-2017/sys/cddl/dev/dtrace/dtrace_ioctl.c Sun Feb 5 02:47:34 2017 (r313266) +++ projects/netbsd-tests-upstream-01-2017/sys/cddl/dev/dtrace/dtrace_ioctl.c Sun Feb 5 02:49:42 2017 (r313267) @@ -429,7 +429,8 @@ dtrace_ioctl(struct cdev *dev, u_long cm return (EBUSY); } - if (dtrace_dof_slurp(dof, vstate, td->td_ucred, &enab, 0, B_TRUE) != 0) { + if (dtrace_dof_slurp(dof, vstate, td->td_ucred, &enab, 0, 0, + B_TRUE) != 0) { mutex_exit(&dtrace_lock); mutex_exit(&cpu_lock); dtrace_dof_destroy(dof); Modified: projects/netbsd-tests-upstream-01-2017/sys/dev/mmc/mmc.c ============================================================================== --- projects/netbsd-tests-upstream-01-2017/sys/dev/mmc/mmc.c Sun Feb 5 02:47:34 2017 (r313266) +++ projects/netbsd-tests-upstream-01-2017/sys/dev/mmc/mmc.c Sun Feb 5 02:49:42 2017 (r313267) @@ -111,14 +111,15 @@ struct mmc_ivars { char card_sn_string[16];/* Formatted serial # for disk->d_ident */ }; -#define CMD_RETRIES 3 +#define CMD_RETRIES 3 #define CARD_ID_FREQUENCY 400000 /* Spec requires 400kHz max during ID phase. */ static SYSCTL_NODE(_hw, OID_AUTO, mmc, CTLFLAG_RD, NULL, "mmc driver"); static int mmc_debug; -SYSCTL_INT(_hw_mmc, OID_AUTO, debug, CTLFLAG_RWTUN, &mmc_debug, 0, "Debug level"); +SYSCTL_INT(_hw_mmc, OID_AUTO, debug, CTLFLAG_RWTUN, &mmc_debug, 0, + "Debug level"); /* bus entry points */ static int mmc_acquire_bus(device_t busdev, device_t dev); @@ -137,14 +138,14 @@ static int mmc_wait_for_request(device_t static int mmc_write_ivar(device_t bus, device_t child, int which, uintptr_t value); -#define MMC_LOCK(_sc) mtx_lock(&(_sc)->sc_mtx) +#define MMC_LOCK(_sc) mtx_lock(&(_sc)->sc_mtx) #define MMC_UNLOCK(_sc) mtx_unlock(&(_sc)->sc_mtx) -#define MMC_LOCK_INIT(_sc) \ - mtx_init(&_sc->sc_mtx, device_get_nameunit(_sc->dev), \ +#define MMC_LOCK_INIT(_sc) \ + mtx_init(&(_sc)->sc_mtx, device_get_nameunit((_sc)->dev), \ "mmc", MTX_DEF) -#define MMC_LOCK_DESTROY(_sc) mtx_destroy(&_sc->sc_mtx); -#define MMC_ASSERT_LOCKED(_sc) mtx_assert(&_sc->sc_mtx, MA_OWNED); -#define MMC_ASSERT_UNLOCKED(_sc) mtx_assert(&_sc->sc_mtx, MA_NOTOWNED); +#define MMC_LOCK_DESTROY(_sc) mtx_destroy(&(_sc)->sc_mtx); +#define MMC_ASSERT_LOCKED(_sc) mtx_assert(&(_sc)->sc_mtx, MA_OWNED); +#define MMC_ASSERT_UNLOCKED(_sc) mtx_assert(&(_sc)->sc_mtx, MA_NOTOWNED); static int mmc_all_send_cid(struct mmc_softc *sc, uint32_t *rawcid); static void mmc_app_decode_scr(uint32_t *raw_scr, struct mmc_scr *scr); @@ -744,9 +745,9 @@ mmc_set_card_bus_width(struct mmc_softc static int mmc_set_timing(struct mmc_softc *sc, int timing) { + u_char switch_res[64]; int err; uint8_t value; - u_char switch_res[64]; switch (timing) { case bus_timing_normal: @@ -1161,9 +1162,9 @@ mmc_app_send_scr(struct mmc_softc *sc, u static int mmc_send_ext_csd(struct mmc_softc *sc, uint8_t *rawextcsd) { - int err; struct mmc_command cmd; struct mmc_data data; + int err; memset(&cmd, 0, sizeof(cmd)); memset(&data, 0, sizeof(data)); @@ -1185,9 +1186,9 @@ mmc_send_ext_csd(struct mmc_softc *sc, u static int mmc_app_sd_status(struct mmc_softc *sc, uint16_t rca, uint32_t *rawsdstatus) { - int err, i; struct mmc_command cmd; struct mmc_data data; + int err, i; memset(&cmd, 0, sizeof(cmd)); memset(&data, 0, sizeof(data)); @@ -1393,7 +1394,7 @@ mmc_discover_cards(struct mmc_softc *sc) * commands, although the state tables / diagrams in the * standard suggest they go back to the transfer state. * Other cards don't become deselected, and if we - * atttempt to blindly re-select them, we get timeout + * attempt to blindly re-select them, we get timeout * errors from some controllers. So we deselect then * reselect to handle all situations. The only thing we * use from the sd_status is the erase sector size, but @@ -1534,7 +1535,7 @@ mmc_discover_cards(struct mmc_softc *sc) static void mmc_rescan_cards(struct mmc_softc *sc) { - struct mmc_ivars *ivar = NULL; + struct mmc_ivars *ivar; device_t *devlist; int err, i, devcount; @@ -1664,14 +1665,13 @@ mmc_go_discovery(struct mmc_softc *sc) static int mmc_calculate_clock(struct mmc_softc *sc) { - int max_dtr, max_hs_dtr, max_timing; - int nkid, i, f_max; device_t *kids; struct mmc_ivars *ivar; + int i, f_max, max_dtr, max_hs_dtr, max_timing, nkid; f_max = mmcbr_get_f_max(sc->dev); max_dtr = max_hs_dtr = f_max; - if ((mmcbr_get_caps(sc->dev) & MMC_CAP_HSPEED)) + if (mmcbr_get_caps(sc->dev) & MMC_CAP_HSPEED) max_timing = bus_timing_hs; else max_timing = bus_timing_normal; Modified: projects/netbsd-tests-upstream-01-2017/sys/dev/mmc/mmcreg.h ============================================================================== --- projects/netbsd-tests-upstream-01-2017/sys/dev/mmc/mmcreg.h Sun Feb 5 02:47:34 2017 (r313266) +++ projects/netbsd-tests-upstream-01-2017/sys/dev/mmc/mmcreg.h Sun Feb 5 02:49:42 2017 (r313267) @@ -100,7 +100,7 @@ struct mmc_command { #define MMC_ERR_FAILED 4 #define MMC_ERR_INVALID 5 #define MMC_ERR_NO_MEMORY 6 -#define MMC_ERR_MAX 6 +#define MMC_ERR_MAX 6 struct mmc_data *data; /* Data segment with cmd */ struct mmc_request *mrq; /* backpointer to request */ }; @@ -291,47 +291,47 @@ struct mmc_request { /* * EXT_CSD fields */ -#define EXT_CSD_ERASE_GRP_DEF 175 /* R/W */ -#define EXT_CSD_BUS_WIDTH 183 /* R/W */ -#define EXT_CSD_HS_TIMING 185 /* R/W */ -#define EXT_CSD_CARD_TYPE 196 /* RO */ -#define EXT_CSD_REV 192 /* RO */ -#define EXT_CSD_SEC_CNT 212 /* RO, 4 bytes */ -#define EXT_CSD_ERASE_TO_MULT 223 /* RO */ -#define EXT_CSD_ERASE_GRP_SIZE 224 /* RO */ +#define EXT_CSD_ERASE_GRP_DEF 175 /* R/W */ +#define EXT_CSD_BUS_WIDTH 183 /* R/W */ +#define EXT_CSD_HS_TIMING 185 /* R/W */ +#define EXT_CSD_CARD_TYPE 196 /* RO */ +#define EXT_CSD_REV 192 /* RO */ +#define EXT_CSD_SEC_CNT 212 /* RO, 4 bytes */ +#define EXT_CSD_ERASE_TO_MULT 223 /* RO */ +#define EXT_CSD_ERASE_GRP_SIZE 224 /* RO */ /* * EXT_CSD field definitions */ -#define EXT_CSD_CMD_SET_NORMAL 1 -#define EXT_CSD_CMD_SET_SECURE 2 -#define EXT_CSD_CMD_SET_CPSECURE 4 - -#define EXT_CSD_CARD_TYPE_26 1 -#define EXT_CSD_CARD_TYPE_52 2 - -#define EXT_CSD_BUS_WIDTH_1 0 -#define EXT_CSD_BUS_WIDTH_4 1 -#define EXT_CSD_BUS_WIDTH_8 2 +#define EXT_CSD_CMD_SET_NORMAL 1 +#define EXT_CSD_CMD_SET_SECURE 2 +#define EXT_CSD_CMD_SET_CPSECURE 4 + +#define EXT_CSD_CARD_TYPE_26 1 +#define EXT_CSD_CARD_TYPE_52 2 + +#define EXT_CSD_BUS_WIDTH_1 0 +#define EXT_CSD_BUS_WIDTH_4 1 +#define EXT_CSD_BUS_WIDTH_8 2 -#define MMC_TYPE_26_MAX_HS 26000000 -#define MMC_TYPE_52_MAX_HS 52000000 +#define MMC_TYPE_26_MAX_HS 26000000 +#define MMC_TYPE_52_MAX_HS 52000000 /* * SD bus widths */ -#define SD_BUS_WIDTH_1 0 -#define SD_BUS_WIDTH_4 2 +#define SD_BUS_WIDTH_1 0 +#define SD_BUS_WIDTH_4 2 /* * SD Switch */ -#define SD_SWITCH_MODE_CHECK 0 -#define SD_SWITCH_MODE_SET 1 -#define SD_SWITCH_GROUP1 0 -#define SD_SWITCH_NORMAL_MODE 0 -#define SD_SWITCH_HS_MODE 1 -#define SD_SWITCH_NOCHANGE 0xF +#define SD_SWITCH_MODE_CHECK 0 +#define SD_SWITCH_MODE_SET 1 +#define SD_SWITCH_GROUP1 0 +#define SD_SWITCH_NORMAL_MODE 0 +#define SD_SWITCH_HS_MODE 1 +#define SD_SWITCH_NOCHANGE 0xF #define SD_CLR_CARD_DETECT 0 #define SD_SET_CARD_DETECT 1 @@ -419,8 +419,8 @@ struct mmc_scr { unsigned char sda_vsn; unsigned char bus_widths; -#define SD_SCR_BUS_WIDTH_1 (1<<0) -#define SD_SCR_BUS_WIDTH_4 (1<<2) +#define SD_SCR_BUS_WIDTH_1 (1 << 0) +#define SD_SCR_BUS_WIDTH_4 (1 << 2) }; struct mmc_sd_status @@ -443,6 +443,6 @@ struct mmc_sd_status * byte sector size anywhere, so we assume that such cards are very rare * and only note their existence in passing here... */ -#define MMC_SECTOR_SIZE 512 +#define MMC_SECTOR_SIZE 512 #endif /* DEV_MMCREG_H */ Modified: projects/netbsd-tests-upstream-01-2017/sys/dev/sdhci/sdhci.c ============================================================================== --- projects/netbsd-tests-upstream-01-2017/sys/dev/sdhci/sdhci.c Sun Feb 5 02:47:34 2017 (r313266) +++ projects/netbsd-tests-upstream-01-2017/sys/dev/sdhci/sdhci.c Sun Feb 5 02:49:42 2017 (r313267) @@ -55,18 +55,19 @@ __FBSDID("$FreeBSD$"); SYSCTL_NODE(_hw, OID_AUTO, sdhci, CTLFLAG_RD, 0, "sdhci driver"); static int sdhci_debug; -SYSCTL_INT(_hw_sdhci, OID_AUTO, debug, CTLFLAG_RWTUN, &sdhci_debug, 0, "Debug level"); +SYSCTL_INT(_hw_sdhci, OID_AUTO, debug, CTLFLAG_RWTUN, &sdhci_debug, 0, + "Debug level"); -#define RD1(slot, off) SDHCI_READ_1((slot)->bus, (slot), (off)) -#define RD2(slot, off) SDHCI_READ_2((slot)->bus, (slot), (off)) -#define RD4(slot, off) SDHCI_READ_4((slot)->bus, (slot), (off)) -#define RD_MULTI_4(slot, off, ptr, count) \ +#define RD1(slot, off) SDHCI_READ_1((slot)->bus, (slot), (off)) +#define RD2(slot, off) SDHCI_READ_2((slot)->bus, (slot), (off)) +#define RD4(slot, off) SDHCI_READ_4((slot)->bus, (slot), (off)) +#define RD_MULTI_4(slot, off, ptr, count) \ SDHCI_READ_MULTI_4((slot)->bus, (slot), (off), (ptr), (count)) -#define WR1(slot, off, val) SDHCI_WRITE_1((slot)->bus, (slot), (off), (val)) -#define WR2(slot, off, val) SDHCI_WRITE_2((slot)->bus, (slot), (off), (val)) -#define WR4(slot, off, val) SDHCI_WRITE_4((slot)->bus, (slot), (off), (val)) -#define WR_MULTI_4(slot, off, ptr, count) \ +#define WR1(slot, off, val) SDHCI_WRITE_1((slot)->bus, (slot), (off), (val)) +#define WR2(slot, off, val) SDHCI_WRITE_2((slot)->bus, (slot), (off), (val)) +#define WR4(slot, off, val) SDHCI_WRITE_4((slot)->bus, (slot), (off), (val)) +#define WR_MULTI_4(slot, off, ptr, count) \ SDHCI_WRITE_MULTI_4((slot)->bus, (slot), (off), (ptr), (count)) static void sdhci_set_clock(struct sdhci_slot *slot, uint32_t clock); @@ -77,13 +78,13 @@ static void sdhci_card_poll(void *); static void sdhci_card_task(void *, int); /* helper routines */ -#define SDHCI_LOCK(_slot) mtx_lock(&(_slot)->mtx) +#define SDHCI_LOCK(_slot) mtx_lock(&(_slot)->mtx) #define SDHCI_UNLOCK(_slot) mtx_unlock(&(_slot)->mtx) -#define SDHCI_LOCK_INIT(_slot) \ +#define SDHCI_LOCK_INIT(_slot) \ mtx_init(&_slot->mtx, "SD slot mtx", "sdhci", MTX_DEF) -#define SDHCI_LOCK_DESTROY(_slot) mtx_destroy(&_slot->mtx); -#define SDHCI_ASSERT_LOCKED(_slot) mtx_assert(&_slot->mtx, MA_OWNED); -#define SDHCI_ASSERT_UNLOCKED(_slot) mtx_assert(&_slot->mtx, MA_NOTOWNED); +#define SDHCI_LOCK_DESTROY(_slot) mtx_destroy(&_slot->mtx); +#define SDHCI_ASSERT_LOCKED(_slot) mtx_assert(&_slot->mtx, MA_OWNED); +#define SDHCI_ASSERT_UNLOCKED(_slot) mtx_assert(&_slot->mtx, MA_NOTOWNED); #define SDHCI_DEFAULT_MAX_FREQ 50 @@ -97,20 +98,20 @@ static void sdhci_card_task(void *, int) * Broadcom BCM577xx Controller Constants */ /* Maximum divider supported by the default clock source. */ -#define BCM577XX_DEFAULT_MAX_DIVIDER 256 +#define BCM577XX_DEFAULT_MAX_DIVIDER 256 /* Alternative clock's base frequency. */ -#define BCM577XX_ALT_CLOCK_BASE 63000000 - -#define BCM577XX_HOST_CONTROL 0x198 -#define BCM577XX_CTRL_CLKSEL_MASK 0xFFFFCFFF -#define BCM577XX_CTRL_CLKSEL_SHIFT 12 -#define BCM577XX_CTRL_CLKSEL_DEFAULT 0x0 -#define BCM577XX_CTRL_CLKSEL_64MHZ 0x3 +#define BCM577XX_ALT_CLOCK_BASE 63000000 +#define BCM577XX_HOST_CONTROL 0x198 +#define BCM577XX_CTRL_CLKSEL_MASK 0xFFFFCFFF +#define BCM577XX_CTRL_CLKSEL_SHIFT 12 +#define BCM577XX_CTRL_CLKSEL_DEFAULT 0x0 +#define BCM577XX_CTRL_CLKSEL_64MHZ 0x3 static void sdhci_getaddr(void *arg, bus_dma_segment_t *segs, int nsegs, int error) { + if (error != 0) { printf("getaddr: error %d\n", error); return; *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-projects@freebsd.org Sun Feb 5 19:57:45 2017 Return-Path: Delivered-To: svn-src-projects@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 15BA0CD2AAF for ; Sun, 5 Feb 2017 19:57:45 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id C7E271013; Sun, 5 Feb 2017 19:57:44 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v15Jvhpq047407; Sun, 5 Feb 2017 19:57:43 GMT (envelope-from dim@FreeBSD.org) Received: (from dim@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v15JvgSt047389; Sun, 5 Feb 2017 19:57:42 GMT (envelope-from dim@FreeBSD.org) Message-Id: <201702051957.v15JvgSt047389@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: dim set sender to dim@FreeBSD.org using -f From: Dimitry Andric Date: Sun, 5 Feb 2017 19:57:42 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r313300 - in projects/clang400-import: contrib/libc++/include contrib/llvm/lib/CodeGen/SelectionDAG contrib/llvm/lib/Transforms/InstCombine contrib/llvm/lib/Transforms/Scalar contrib/ll... X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 05 Feb 2017 19:57:45 -0000 Author: dim Date: Sun Feb 5 19:57:41 2017 New Revision: 313300 URL: https://svnweb.freebsd.org/changeset/base/313300 Log: Merge llvm, clang, compiler-rt, libc++, lld and lldb release_40 branch r294123, and update build glue. Modified: projects/clang400-import/contrib/libc++/include/__tree projects/clang400-import/contrib/llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp projects/clang400-import/contrib/llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp projects/clang400-import/contrib/llvm/lib/Transforms/Scalar/LoopStrengthReduce.cpp projects/clang400-import/contrib/llvm/tools/clang/lib/Sema/SemaExprCXX.cpp projects/clang400-import/contrib/llvm/tools/clang/lib/Sema/TreeTransform.h projects/clang400-import/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/MacOSXAPIChecker.cpp projects/clang400-import/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/MemRegion.cpp projects/clang400-import/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/RegionStore.cpp projects/clang400-import/contrib/llvm/tools/lld/ELF/Config.h projects/clang400-import/contrib/llvm/tools/lld/ELF/Driver.cpp projects/clang400-import/contrib/llvm/tools/lld/ELF/Options.td projects/clang400-import/contrib/llvm/tools/lld/ELF/Symbols.cpp projects/clang400-import/contrib/llvm/tools/lld/ELF/SyntheticSections.cpp projects/clang400-import/contrib/llvm/tools/lld/ELF/Writer.cpp projects/clang400-import/contrib/llvm/tools/llvm-objdump/ELFDump.cpp projects/clang400-import/lib/clang/include/clang/Basic/Version.inc projects/clang400-import/lib/clang/include/lld/Config/Version.inc Directory Properties: projects/clang400-import/contrib/compiler-rt/ (props changed) projects/clang400-import/contrib/libc++/ (props changed) projects/clang400-import/contrib/llvm/ (props changed) projects/clang400-import/contrib/llvm/tools/clang/ (props changed) projects/clang400-import/contrib/llvm/tools/lld/ (props changed) projects/clang400-import/contrib/llvm/tools/lldb/ (props changed) Modified: projects/clang400-import/contrib/libc++/include/__tree ============================================================================== --- projects/clang400-import/contrib/libc++/include/__tree Sun Feb 5 19:38:10 2017 (r313299) +++ projects/clang400-import/contrib/libc++/include/__tree Sun Feb 5 19:57:41 2017 (r313300) @@ -17,6 +17,8 @@ #include #include +#include <__undef_min_max> + #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER) #pragma GCC system_header #endif Modified: projects/clang400-import/contrib/llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp ============================================================================== --- projects/clang400-import/contrib/llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp Sun Feb 5 19:38:10 2017 (r313299) +++ projects/clang400-import/contrib/llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp Sun Feb 5 19:57:41 2017 (r313300) @@ -8123,9 +8123,12 @@ SDValue DAGCombiner::visitFADDForFMAComb } // More folding opportunities when target permits. - if ((AllowFusion || HasFMAD) && Aggressive) { + if (Aggressive) { // fold (fadd (fma x, y, (fmul u, v)), z) -> (fma x, y (fma u, v, z)) - if (N0.getOpcode() == PreferredFusedOpcode && + // FIXME: The UnsafeAlgebra flag should be propagated to FMA/FMAD, but FMF + // are currently only supported on binary nodes. + if (Options.UnsafeFPMath && + N0.getOpcode() == PreferredFusedOpcode && N0.getOperand(2).getOpcode() == ISD::FMUL && N0->hasOneUse() && N0.getOperand(2)->hasOneUse()) { return DAG.getNode(PreferredFusedOpcode, SL, VT, @@ -8137,7 +8140,10 @@ SDValue DAGCombiner::visitFADDForFMAComb } // fold (fadd x, (fma y, z, (fmul u, v)) -> (fma y, z (fma u, v, x)) - if (N1->getOpcode() == PreferredFusedOpcode && + // FIXME: The UnsafeAlgebra flag should be propagated to FMA/FMAD, but FMF + // are currently only supported on binary nodes. + if (Options.UnsafeFPMath && + N1->getOpcode() == PreferredFusedOpcode && N1.getOperand(2).getOpcode() == ISD::FMUL && N1->hasOneUse() && N1.getOperand(2)->hasOneUse()) { return DAG.getNode(PreferredFusedOpcode, SL, VT, @@ -8367,10 +8373,13 @@ SDValue DAGCombiner::visitFSUBForFMAComb } // More folding opportunities when target permits. - if ((AllowFusion || HasFMAD) && Aggressive) { + if (Aggressive) { // fold (fsub (fma x, y, (fmul u, v)), z) // -> (fma x, y (fma u, v, (fneg z))) - if (N0.getOpcode() == PreferredFusedOpcode && + // FIXME: The UnsafeAlgebra flag should be propagated to FMA/FMAD, but FMF + // are currently only supported on binary nodes. + if (Options.UnsafeFPMath && + N0.getOpcode() == PreferredFusedOpcode && N0.getOperand(2).getOpcode() == ISD::FMUL && N0->hasOneUse() && N0.getOperand(2)->hasOneUse()) { return DAG.getNode(PreferredFusedOpcode, SL, VT, @@ -8384,7 +8393,10 @@ SDValue DAGCombiner::visitFSUBForFMAComb // fold (fsub x, (fma y, z, (fmul u, v))) // -> (fma (fneg y), z, (fma (fneg u), v, x)) - if (N1.getOpcode() == PreferredFusedOpcode && + // FIXME: The UnsafeAlgebra flag should be propagated to FMA/FMAD, but FMF + // are currently only supported on binary nodes. + if (Options.UnsafeFPMath && + N1.getOpcode() == PreferredFusedOpcode && N1.getOperand(2).getOpcode() == ISD::FMUL) { SDValue N20 = N1.getOperand(2).getOperand(0); SDValue N21 = N1.getOperand(2).getOperand(1); Modified: projects/clang400-import/contrib/llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp ============================================================================== --- projects/clang400-import/contrib/llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp Sun Feb 5 19:38:10 2017 (r313299) +++ projects/clang400-import/contrib/llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp Sun Feb 5 19:57:41 2017 (r313300) @@ -4039,11 +4039,6 @@ Instruction *InstCombiner::foldICmpUsing Constant *CMinus1 = ConstantInt::get(Op0->getType(), *CmpC - 1); return new ICmpInst(ICmpInst::ICMP_EQ, Op0, CMinus1); } - // (x (x >s -1) -> true if sign bit clear - if (CmpC->isMinSignedValue()) { - Constant *AllOnes = Constant::getAllOnesValue(Op0->getType()); - return new ICmpInst(ICmpInst::ICMP_SGT, Op0, AllOnes); - } } break; } @@ -4063,11 +4058,6 @@ Instruction *InstCombiner::foldICmpUsing if (*CmpC == Op0Max - 1) return new ICmpInst(ICmpInst::ICMP_EQ, Op0, ConstantInt::get(Op1->getType(), *CmpC + 1)); - - // (x >u 2147483647) -> (x true if sign bit set - if (CmpC->isMaxSignedValue()) - return new ICmpInst(ICmpInst::ICMP_SLT, Op0, - Constant::getNullValue(Op0->getType())); } break; } @@ -4299,6 +4289,27 @@ Instruction *InstCombiner::visitICmpInst (SI->getOperand(2) == Op0 && SI->getOperand(1) == Op1)) return nullptr; + // FIXME: We only do this after checking for min/max to prevent infinite + // looping caused by a reverse canonicalization of these patterns for min/max. + // FIXME: The organization of folds is a mess. These would naturally go into + // canonicalizeCmpWithConstant(), but we can't move all of the above folds + // down here after the min/max restriction. + ICmpInst::Predicate Pred = I.getPredicate(); + const APInt *C; + if (match(Op1, m_APInt(C))) { + // For i32: x >u 2147483647 -> x true if sign bit set + if (Pred == ICmpInst::ICMP_UGT && C->isMaxSignedValue()) { + Constant *Zero = Constant::getNullValue(Op0->getType()); + return new ICmpInst(ICmpInst::ICMP_SLT, Op0, Zero); + } + + // For i32: x x >s -1 -> true if sign bit clear + if (Pred == ICmpInst::ICMP_ULT && C->isMinSignedValue()) { + Constant *AllOnes = Constant::getAllOnesValue(Op0->getType()); + return new ICmpInst(ICmpInst::ICMP_SGT, Op0, AllOnes); + } + } + if (Instruction *Res = foldICmpInstWithConstant(I)) return Res; Modified: projects/clang400-import/contrib/llvm/lib/Transforms/Scalar/LoopStrengthReduce.cpp ============================================================================== --- projects/clang400-import/contrib/llvm/lib/Transforms/Scalar/LoopStrengthReduce.cpp Sun Feb 5 19:38:10 2017 (r313299) +++ projects/clang400-import/contrib/llvm/lib/Transforms/Scalar/LoopStrengthReduce.cpp Sun Feb 5 19:57:41 2017 (r313300) @@ -158,8 +158,9 @@ struct MemAccessTy { bool operator!=(MemAccessTy Other) const { return !(*this == Other); } - static MemAccessTy getUnknown(LLVMContext &Ctx) { - return MemAccessTy(Type::getVoidTy(Ctx), UnknownAddressSpace); + static MemAccessTy getUnknown(LLVMContext &Ctx, + unsigned AS = UnknownAddressSpace) { + return MemAccessTy(Type::getVoidTy(Ctx), AS); } }; @@ -2279,8 +2280,10 @@ bool LSRInstance::reconcileNewOffset(LSR // TODO: Be less conservative when the type is similar and can use the same // addressing modes. if (Kind == LSRUse::Address) { - if (AccessTy != LU.AccessTy) - NewAccessTy = MemAccessTy::getUnknown(AccessTy.MemTy->getContext()); + if (AccessTy.MemTy != LU.AccessTy.MemTy) { + NewAccessTy = MemAccessTy::getUnknown(AccessTy.MemTy->getContext(), + AccessTy.AddrSpace); + } } // Conservatively assume HasBaseReg is true for now. Modified: projects/clang400-import/contrib/llvm/tools/clang/lib/Sema/SemaExprCXX.cpp ============================================================================== --- projects/clang400-import/contrib/llvm/tools/clang/lib/Sema/SemaExprCXX.cpp Sun Feb 5 19:38:10 2017 (r313299) +++ projects/clang400-import/contrib/llvm/tools/clang/lib/Sema/SemaExprCXX.cpp Sun Feb 5 19:57:41 2017 (r313300) @@ -7190,14 +7190,6 @@ public: ExprResult TransformBlockExpr(BlockExpr *E) { return Owned(E); } - ExprResult TransformObjCPropertyRefExpr(ObjCPropertyRefExpr *E) { - return Owned(E); - } - - ExprResult TransformObjCIvarRefExpr(ObjCIvarRefExpr *E) { - return Owned(E); - } - ExprResult Transform(Expr *E) { ExprResult Res; while (true) { Modified: projects/clang400-import/contrib/llvm/tools/clang/lib/Sema/TreeTransform.h ============================================================================== --- projects/clang400-import/contrib/llvm/tools/clang/lib/Sema/TreeTransform.h Sun Feb 5 19:38:10 2017 (r313299) +++ projects/clang400-import/contrib/llvm/tools/clang/lib/Sema/TreeTransform.h Sun Feb 5 19:57:41 2017 (r313300) @@ -2932,16 +2932,17 @@ public: ExprResult RebuildObjCIvarRefExpr(Expr *BaseArg, ObjCIvarDecl *Ivar, SourceLocation IvarLoc, bool IsArrow, bool IsFreeIvar) { - // FIXME: We lose track of the IsFreeIvar bit. CXXScopeSpec SS; DeclarationNameInfo NameInfo(Ivar->getDeclName(), IvarLoc); - return getSema().BuildMemberReferenceExpr(BaseArg, BaseArg->getType(), - /*FIXME:*/IvarLoc, IsArrow, - SS, SourceLocation(), - /*FirstQualifierInScope=*/nullptr, - NameInfo, - /*TemplateArgs=*/nullptr, - /*S=*/nullptr); + ExprResult Result = getSema().BuildMemberReferenceExpr( + BaseArg, BaseArg->getType(), + /*FIXME:*/ IvarLoc, IsArrow, SS, SourceLocation(), + /*FirstQualifierInScope=*/nullptr, NameInfo, + /*TemplateArgs=*/nullptr, + /*S=*/nullptr); + if (IsFreeIvar && Result.isUsable()) + cast(Result.get())->setIsFreeIvar(IsFreeIvar); + return Result; } /// \brief Build a new Objective-C property reference expression. Modified: projects/clang400-import/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/MacOSXAPIChecker.cpp ============================================================================== --- projects/clang400-import/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/MacOSXAPIChecker.cpp Sun Feb 5 19:38:10 2017 (r313299) +++ projects/clang400-import/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/MacOSXAPIChecker.cpp Sun Feb 5 19:57:41 2017 (r313300) @@ -94,11 +94,18 @@ void MacOSXAPIChecker::CheckDispatchOnce bool SuggestStatic = false; os << "Call to '" << FName << "' uses"; if (const VarRegion *VR = dyn_cast(RB)) { + const VarDecl *VD = VR->getDecl(); + // FIXME: These should have correct memory space and thus should be filtered + // out earlier. This branch only fires when we're looking from a block, + // which we analyze as a top-level declaration, onto a static local + // in a function that contains the block. + if (VD->isStaticLocal()) + return; // We filtered out globals earlier, so it must be a local variable // or a block variable which is under UnknownSpaceRegion. if (VR != R) os << " memory within"; - if (VR->getDecl()->hasAttr()) + if (VD->hasAttr()) os << " the block variable '"; else os << " the local variable '"; Modified: projects/clang400-import/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/MemRegion.cpp ============================================================================== --- projects/clang400-import/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/MemRegion.cpp Sun Feb 5 19:38:10 2017 (r313299) +++ projects/clang400-import/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/MemRegion.cpp Sun Feb 5 19:57:41 2017 (r313300) @@ -816,9 +816,11 @@ const VarRegion* MemRegionManager::getVa const StackFrameContext *STC = V.get(); - if (!STC) + if (!STC) { + // FIXME: Assign a more sensible memory space to static locals + // we see from within blocks that we analyze as top-level declarations. sReg = getUnknownRegion(); - else { + } else { if (D->hasLocalStorage()) { sReg = isa(D) || isa(D) ? static_cast(getStackArgumentsRegion(STC)) Modified: projects/clang400-import/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/RegionStore.cpp ============================================================================== --- projects/clang400-import/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/RegionStore.cpp Sun Feb 5 19:38:10 2017 (r313299) +++ projects/clang400-import/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/RegionStore.cpp Sun Feb 5 19:57:41 2017 (r313300) @@ -1849,6 +1849,8 @@ SVal RegionStoreManager::getBindingForVa // Function-scoped static variables are default-initialized to 0; if they // have an initializer, it would have been processed by now. + // FIXME: This is only true when we're starting analysis from main(). + // We're losing a lot of coverage here. if (isa(MS)) return svalBuilder.makeZeroVal(T); Modified: projects/clang400-import/contrib/llvm/tools/lld/ELF/Config.h ============================================================================== --- projects/clang400-import/contrib/llvm/tools/lld/ELF/Config.h Sun Feb 5 19:38:10 2017 (r313299) +++ projects/clang400-import/contrib/llvm/tools/lld/ELF/Config.h Sun Feb 5 19:57:41 2017 (r313300) @@ -98,6 +98,7 @@ struct Configuration { bool Bsymbolic; bool BsymbolicFunctions; bool ColorDiagnostics = false; + bool DefineCommon; bool Demangle = true; bool DisableVerify; bool EhFrameHdr; Modified: projects/clang400-import/contrib/llvm/tools/lld/ELF/Driver.cpp ============================================================================== --- projects/clang400-import/contrib/llvm/tools/lld/ELF/Driver.cpp Sun Feb 5 19:38:10 2017 (r313299) +++ projects/clang400-import/contrib/llvm/tools/lld/ELF/Driver.cpp Sun Feb 5 19:57:41 2017 (r313300) @@ -496,6 +496,8 @@ void LinkerDriver::readConfigs(opt::Inpu Config->Pie = getArg(Args, OPT_pie, OPT_nopie, false); Config->PrintGcSections = Args.hasArg(OPT_print_gc_sections); Config->Relocatable = Args.hasArg(OPT_relocatable); + Config->DefineCommon = getArg(Args, OPT_define_common, OPT_no_define_common, + !Config->Relocatable); Config->Discard = getDiscardOption(Args); Config->SaveTemps = Args.hasArg(OPT_save_temps); Config->SingleRoRx = Args.hasArg(OPT_no_rosegment); Modified: projects/clang400-import/contrib/llvm/tools/lld/ELF/Options.td ============================================================================== --- projects/clang400-import/contrib/llvm/tools/lld/ELF/Options.td Sun Feb 5 19:38:10 2017 (r313299) +++ projects/clang400-import/contrib/llvm/tools/lld/ELF/Options.td Sun Feb 5 19:57:41 2017 (r313300) @@ -45,6 +45,9 @@ def color_diagnostics: F<"color-diagnost def color_diagnostics_eq: J<"color-diagnostics=">, HelpText<"Use colors in diagnostics">; +def define_common: F<"define-common">, + HelpText<"Assign space to common symbols">; + def disable_new_dtags: F<"disable-new-dtags">, HelpText<"Disable new dynamic tags">; @@ -130,6 +133,9 @@ def no_as_needed: F<"no-as-needed">, def no_color_diagnostics: F<"no-color-diagnostics">, HelpText<"Do not use colors in diagnostics">; +def no_define_common: F<"no-define-common">, + HelpText<"Do not assign space to common symbols">; + def no_demangle: F<"no-demangle">, HelpText<"Do not demangle symbol names">; @@ -255,6 +261,9 @@ def alias_Bstatic_dn: F<"dn">, Alias, Alias; def alias_Bstatic_static: F<"static">, Alias; def alias_L__library_path: J<"library-path=">, Alias; +def alias_define_common_d: Flag<["-"], "d">, Alias; +def alias_define_common_dc: F<"dc">, Alias; +def alias_define_common_dp: F<"dp">, Alias; def alias_discard_all_x: Flag<["-"], "x">, Alias; def alias_discard_locals_X: Flag<["-"], "X">, Alias; def alias_dynamic_list: J<"dynamic-list=">, Alias; @@ -320,7 +329,6 @@ def plugin_opt_eq: J<"plugin-opt=">; // Options listed below are silently ignored for now for compatibility. def allow_shlib_undefined: F<"allow-shlib-undefined">; def cref: Flag<["--"], "cref">; -def define_common: F<"define-common">; def demangle: F<"demangle">; def detect_odr_violations: F<"detect-odr-violations">; def g: Flag<["-"], "g">; @@ -347,9 +355,6 @@ def G: JoinedOrSeparate<["-"], "G">; def Qy : F<"Qy">; // Aliases for ignored options -def alias_define_common_d: Flag<["-"], "d">, Alias; -def alias_define_common_dc: F<"dc">, Alias; -def alias_define_common_dp: F<"dp">, Alias; def alias_Map_eq: J<"Map=">, Alias; def alias_version_script_version_script: J<"version-script=">, Alias; Modified: projects/clang400-import/contrib/llvm/tools/lld/ELF/Symbols.cpp ============================================================================== --- projects/clang400-import/contrib/llvm/tools/lld/ELF/Symbols.cpp Sun Feb 5 19:38:10 2017 (r313299) +++ projects/clang400-import/contrib/llvm/tools/lld/ELF/Symbols.cpp Sun Feb 5 19:57:41 2017 (r313300) @@ -73,6 +73,8 @@ static typename ELFT::uint getSymVA(cons return VA; } case SymbolBody::DefinedCommonKind: + if (!Config->DefineCommon) + return 0; return In::Common->OutSec->Addr + In::Common->OutSecOff + cast(Body).Offset; case SymbolBody::SharedKind: { Modified: projects/clang400-import/contrib/llvm/tools/lld/ELF/SyntheticSections.cpp ============================================================================== --- projects/clang400-import/contrib/llvm/tools/lld/ELF/SyntheticSections.cpp Sun Feb 5 19:38:10 2017 (r313299) +++ projects/clang400-import/contrib/llvm/tools/lld/ELF/SyntheticSections.cpp Sun Feb 5 19:57:41 2017 (r313300) @@ -59,6 +59,9 @@ template InputSection ArrayRef(), "COMMON"); Ret->Live = true; + if (!Config->DefineCommon) + return Ret; + // Sort the common symbols by alignment as an heuristic to pack them better. std::vector Syms = getCommonSymbols(); std::stable_sort(Syms.begin(), Syms.end(), @@ -434,7 +437,7 @@ template void GotSection MipsGotSection::MipsGotSection() : SyntheticSection(SHF_ALLOC | SHF_WRITE | SHF_MIPS_GPREL, - SHT_PROGBITS, Target->GotEntrySize, ".got") {} + SHT_PROGBITS, 16, ".got") {} template void MipsGotSection::addEntry(SymbolBody &Sym, uintX_t Addend, @@ -1168,10 +1171,14 @@ void SymbolTableSection::writeGlob ESym->setVisibility(Body->symbol()->Visibility); ESym->st_value = Body->getVA(); - if (const OutputSectionBase *OutSec = getOutputSection(Body)) + if (const OutputSectionBase *OutSec = getOutputSection(Body)) { ESym->st_shndx = OutSec->SectionIndex; - else if (isa>(Body)) + } else if (isa>(Body)) { ESym->st_shndx = SHN_ABS; + } else if (isa(Body)) { + ESym->st_shndx = SHN_COMMON; + ESym->st_value = cast(Body)->Alignment; + } if (Config->EMachine == EM_MIPS) { // On MIPS we need to mark symbol which has a PLT entry and requires @@ -1203,6 +1210,8 @@ SymbolTableSection::getOutputSecti break; } case SymbolBody::DefinedCommonKind: + if (!Config->DefineCommon) + return nullptr; return In::Common->OutSec; case SymbolBody::SharedKind: { auto &SS = cast>(*Sym); Modified: projects/clang400-import/contrib/llvm/tools/lld/ELF/Writer.cpp ============================================================================== --- projects/clang400-import/contrib/llvm/tools/lld/ELF/Writer.cpp Sun Feb 5 19:38:10 2017 (r313299) +++ projects/clang400-import/contrib/llvm/tools/lld/ELF/Writer.cpp Sun Feb 5 19:57:41 2017 (r313300) @@ -476,6 +476,16 @@ static int getPPC64SectionRank(StringRef .Default(1); } +// All sections with SHF_MIPS_GPREL flag should be grouped together +// because data in these sections is addressable with a gp relative address. +static int getMipsSectionRank(const OutputSectionBase *S) { + if ((S->Flags & SHF_MIPS_GPREL) == 0) + return 0; + if (S->getName() == ".got") + return 1; + return 2; +} + template bool elf::isRelroSection(const OutputSectionBase *Sec) { if (!Config->ZRelro) return false; @@ -494,8 +504,6 @@ template bool elf::isRelroS return true; if (In::Got && Sec == In::Got->OutSec) return true; - if (In::MipsGot && Sec == In::MipsGot->OutSec) - return true; if (Sec == Out::BssRelRo) return true; StringRef S = Sec->getName(); @@ -595,6 +603,8 @@ static bool compareSectionsNonScript(con if (Config->EMachine == EM_PPC64) return getPPC64SectionRank(A->getName()) < getPPC64SectionRank(B->getName()); + if (Config->EMachine == EM_MIPS) + return getMipsSectionRank(A) < getMipsSectionRank(B); return false; } Modified: projects/clang400-import/contrib/llvm/tools/llvm-objdump/ELFDump.cpp ============================================================================== --- projects/clang400-import/contrib/llvm/tools/llvm-objdump/ELFDump.cpp Sun Feb 5 19:38:10 2017 (r313299) +++ projects/clang400-import/contrib/llvm/tools/llvm-objdump/ELFDump.cpp Sun Feb 5 19:57:41 2017 (r313300) @@ -36,6 +36,9 @@ template void printProgramH case ELF::PT_GNU_EH_FRAME: outs() << "EH_FRAME "; break; + case ELF::PT_GNU_RELRO: + outs() << " RELRO "; + break; case ELF::PT_GNU_STACK: outs() << " STACK "; break; @@ -45,6 +48,18 @@ template void printProgramH case ELF::PT_LOAD: outs() << " LOAD "; break; + case ELF::PT_NOTE: + outs() << " NOTE "; + break; + case ELF::PT_OPENBSD_BOOTDATA: + outs() << " OPENBSD_BOOTDATA "; + break; + case ELF::PT_OPENBSD_RANDOMIZE: + outs() << " OPENBSD_RANDOMIZE "; + break; + case ELF::PT_OPENBSD_WXNEEDED: + outs() << " OPENBSD_WXNEEDED "; + break; case ELF::PT_PHDR: outs() << " PHDR "; break; Modified: projects/clang400-import/lib/clang/include/clang/Basic/Version.inc ============================================================================== --- projects/clang400-import/lib/clang/include/clang/Basic/Version.inc Sun Feb 5 19:38:10 2017 (r313299) +++ projects/clang400-import/lib/clang/include/clang/Basic/Version.inc Sun Feb 5 19:57:41 2017 (r313300) @@ -8,4 +8,4 @@ #define CLANG_VENDOR "FreeBSD " -#define SVN_REVISION "293807" +#define SVN_REVISION "294123" Modified: projects/clang400-import/lib/clang/include/lld/Config/Version.inc ============================================================================== --- projects/clang400-import/lib/clang/include/lld/Config/Version.inc Sun Feb 5 19:38:10 2017 (r313299) +++ projects/clang400-import/lib/clang/include/lld/Config/Version.inc Sun Feb 5 19:57:41 2017 (r313300) @@ -4,5 +4,5 @@ #define LLD_VERSION_STRING "4.0.0" #define LLD_VERSION_MAJOR 4 #define LLD_VERSION_MINOR 0 -#define LLD_REVISION_STRING "293807" +#define LLD_REVISION_STRING "294123" #define LLD_REPOSITORY_STRING "FreeBSD" From owner-svn-src-projects@freebsd.org Sun Feb 5 20:03:08 2017 Return-Path: Delivered-To: svn-src-projects@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id D692FCD2C39 for ; Sun, 5 Feb 2017 20:03:08 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 746751446; Sun, 5 Feb 2017 20:03:08 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v15K37KT051375; Sun, 5 Feb 2017 20:03:07 GMT (envelope-from dim@FreeBSD.org) Received: (from dim@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v15K36MV051361; Sun, 5 Feb 2017 20:03:06 GMT (envelope-from dim@FreeBSD.org) Message-Id: <201702052003.v15K36MV051361@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: dim set sender to dim@FreeBSD.org using -f From: Dimitry Andric Date: Sun, 5 Feb 2017 20:03:06 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r313301 - in projects/clang400-import: . cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/usdt cddl/contrib/opensolaris/lib/libdtrace/common contrib/byacc contrib/byacc/package contr... X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 05 Feb 2017 20:03:08 -0000 Author: dim Date: Sun Feb 5 20:03:05 2017 New Revision: 313301 URL: https://svnweb.freebsd.org/changeset/base/313301 Log: Merge ^/head r313055 through r313300. Added: projects/clang400-import/contrib/byacc/test/btyacc/expr.oxout.error - copied unchanged from r313300, head/contrib/byacc/test/btyacc/expr.oxout.error projects/clang400-import/contrib/byacc/test/btyacc/expr.oxout.output - copied unchanged from r313300, head/contrib/byacc/test/btyacc/expr.oxout.output projects/clang400-import/contrib/byacc/test/btyacc/expr.oxout.tab.c - copied unchanged from r313300, head/contrib/byacc/test/btyacc/expr.oxout.tab.c projects/clang400-import/contrib/byacc/test/btyacc/expr.oxout.tab.h - copied unchanged from r313300, head/contrib/byacc/test/btyacc/expr.oxout.tab.h projects/clang400-import/contrib/byacc/test/expr.oxout.y - copied unchanged from r313300, head/contrib/byacc/test/expr.oxout.y projects/clang400-import/contrib/byacc/test/yacc/expr.oxout.error - copied unchanged from r313300, head/contrib/byacc/test/yacc/expr.oxout.error projects/clang400-import/contrib/byacc/test/yacc/expr.oxout.output - copied unchanged from r313300, head/contrib/byacc/test/yacc/expr.oxout.output projects/clang400-import/contrib/byacc/test/yacc/expr.oxout.tab.c - copied unchanged from r313300, head/contrib/byacc/test/yacc/expr.oxout.tab.c projects/clang400-import/contrib/byacc/test/yacc/expr.oxout.tab.h - copied unchanged from r313300, head/contrib/byacc/test/yacc/expr.oxout.tab.h projects/clang400-import/contrib/libarchive/libarchive/test/test_acl_platform_nfs4.c - copied unchanged from r313300, head/contrib/libarchive/libarchive/test/test_acl_platform_nfs4.c projects/clang400-import/contrib/libarchive/libarchive/test/test_acl_platform_posix1e.c - copied unchanged from r313300, head/contrib/libarchive/libarchive/test/test_acl_platform_posix1e.c projects/clang400-import/sbin/nvmecontrol/wdc.c - copied unchanged from r313300, head/sbin/nvmecontrol/wdc.c projects/clang400-import/sys/cddl/contrib/opensolaris/uts/common/dtrace/dtrace_xoroshiro128_plus.c - copied unchanged from r313300, head/sys/cddl/contrib/opensolaris/uts/common/dtrace/dtrace_xoroshiro128_plus.c projects/clang400-import/sys/cddl/contrib/opensolaris/uts/common/dtrace/dtrace_xoroshiro128_plus.h - copied unchanged from r313300, head/sys/cddl/contrib/opensolaris/uts/common/dtrace/dtrace_xoroshiro128_plus.h Deleted: projects/clang400-import/contrib/libarchive/libarchive/test/test_acl_freebsd_nfs4.c projects/clang400-import/contrib/libarchive/libarchive/test/test_acl_freebsd_posix1e.c Modified: projects/clang400-import/Makefile.inc1 projects/clang400-import/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/usdt/tst.enabled2.ksh projects/clang400-import/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/usdt/tst.include.ksh projects/clang400-import/cddl/contrib/opensolaris/lib/libdtrace/common/dt_dof.c projects/clang400-import/cddl/contrib/opensolaris/lib/libdtrace/common/dt_link.c projects/clang400-import/cddl/contrib/opensolaris/lib/libdtrace/common/dt_provider.c projects/clang400-import/contrib/byacc/CHANGES projects/clang400-import/contrib/byacc/MANIFEST projects/clang400-import/contrib/byacc/VERSION projects/clang400-import/contrib/byacc/aclocal.m4 projects/clang400-import/contrib/byacc/config.guess projects/clang400-import/contrib/byacc/config.sub projects/clang400-import/contrib/byacc/configure projects/clang400-import/contrib/byacc/defs.h projects/clang400-import/contrib/byacc/main.c projects/clang400-import/contrib/byacc/package/byacc.spec projects/clang400-import/contrib/byacc/package/debian/changelog projects/clang400-import/contrib/byacc/package/debian/copyright projects/clang400-import/contrib/byacc/package/mingw-byacc.spec projects/clang400-import/contrib/byacc/package/pkgsrc/Makefile projects/clang400-import/contrib/byacc/reader.c projects/clang400-import/contrib/libarchive/NEWS projects/clang400-import/contrib/libarchive/libarchive/archive_acl.c projects/clang400-import/contrib/libarchive/libarchive/archive_acl_private.h projects/clang400-import/contrib/libarchive/libarchive/archive_entry.c projects/clang400-import/contrib/libarchive/libarchive/archive_entry_strmode.c projects/clang400-import/contrib/libarchive/libarchive/archive_platform.h projects/clang400-import/contrib/libarchive/libarchive/archive_random.c projects/clang400-import/contrib/libarchive/libarchive/archive_read_disk_entry_from_file.c projects/clang400-import/contrib/libarchive/libarchive/archive_read_open_filename.c projects/clang400-import/contrib/libarchive/libarchive/archive_read_support_filter_lz4.c projects/clang400-import/contrib/libarchive/libarchive/archive_read_support_filter_program.c projects/clang400-import/contrib/libarchive/libarchive/archive_read_support_format_cab.c projects/clang400-import/contrib/libarchive/libarchive/archive_read_support_format_cpio.c projects/clang400-import/contrib/libarchive/libarchive/archive_read_support_format_iso9660.c projects/clang400-import/contrib/libarchive/libarchive/archive_read_support_format_lha.c projects/clang400-import/contrib/libarchive/libarchive/archive_read_support_format_mtree.c projects/clang400-import/contrib/libarchive/libarchive/archive_read_support_format_tar.c projects/clang400-import/contrib/libarchive/libarchive/archive_read_support_format_warc.c projects/clang400-import/contrib/libarchive/libarchive/archive_read_support_format_xar.c projects/clang400-import/contrib/libarchive/libarchive/archive_read_support_format_zip.c projects/clang400-import/contrib/libarchive/libarchive/archive_write_add_filter_program.c projects/clang400-import/contrib/libarchive/libarchive/archive_write_disk_acl.c projects/clang400-import/contrib/libarchive/libarchive/archive_write_disk_posix.c projects/clang400-import/contrib/libarchive/libarchive/archive_write_open.3 projects/clang400-import/contrib/libarchive/libarchive/archive_write_set_format_gnutar.c projects/clang400-import/contrib/libarchive/libarchive/archive_write_set_format_iso9660.c projects/clang400-import/contrib/libarchive/libarchive/archive_write_set_format_xar.c projects/clang400-import/contrib/libarchive/libarchive/test/main.c projects/clang400-import/contrib/libarchive/libarchive/test/test.h projects/clang400-import/contrib/libarchive/libarchive/test/test_acl_text.c projects/clang400-import/contrib/libarchive/libarchive/test/test_archive_string.c projects/clang400-import/contrib/libarchive/libarchive/test/test_compat_gtar.c projects/clang400-import/contrib/libarchive/libarchive/test/test_compat_solaris_tar_acl.c projects/clang400-import/contrib/libarchive/libarchive/test/test_compat_solaris_tar_acl.tar.uu projects/clang400-import/contrib/libarchive/libarchive/test/test_fuzz.c projects/clang400-import/contrib/libarchive/libarchive/test/test_read_disk_directory_traversals.c projects/clang400-import/contrib/libarchive/libarchive/test/test_read_filter_lzop.c projects/clang400-import/contrib/libarchive/libarchive/test/test_read_filter_lzop_multiple_parts.c projects/clang400-import/contrib/libarchive/libarchive/test/test_read_format_zip.c projects/clang400-import/contrib/libarchive/libarchive/test/test_read_format_zip_comment_stored.c projects/clang400-import/contrib/libarchive/libarchive/test/test_read_format_zip_mac_metadata.c projects/clang400-import/contrib/libarchive/libarchive/test/test_read_format_zip_malformed.c projects/clang400-import/contrib/libarchive/libarchive/test/test_read_format_zip_nested.c projects/clang400-import/contrib/libarchive/libarchive/test/test_read_format_zip_padded.c projects/clang400-import/contrib/libarchive/libarchive/test/test_read_format_zip_sfx.c projects/clang400-import/contrib/libarchive/libarchive/test/test_write_disk_secure746.c projects/clang400-import/contrib/libarchive/libarchive/test/test_write_filter_lz4.c projects/clang400-import/contrib/libarchive/libarchive/test/test_write_filter_lzop.c projects/clang400-import/contrib/libarchive/libarchive/test/test_write_format_zip_large.c projects/clang400-import/contrib/libarchive/libarchive/test/test_write_format_zip_zip64.c projects/clang400-import/contrib/libarchive/tar/test/test_option_uid_uname.c projects/clang400-import/contrib/libarchive/tar/util.c projects/clang400-import/contrib/tcpdump/config.h.in projects/clang400-import/contrib/tcpdump/configure projects/clang400-import/contrib/tcpdump/configure.in projects/clang400-import/contrib/tcpdump/tcpdump.c projects/clang400-import/etc/devd.conf projects/clang400-import/etc/periodic/daily/999.local projects/clang400-import/etc/periodic/monthly/999.local projects/clang400-import/etc/periodic/weekly/999.local projects/clang400-import/lib/libarchive/config_freebsd.h projects/clang400-import/lib/libarchive/tests/Makefile projects/clang400-import/lib/libc/aarch64/gen/setjmp.S projects/clang400-import/lib/libc/gen/getpeereid.3 projects/clang400-import/lib/libc/sys/recv.2 projects/clang400-import/libexec/getty/gettytab.5 projects/clang400-import/libexec/getty/subr.c projects/clang400-import/sbin/decryptcore/decryptcore.c projects/clang400-import/sbin/hastctl/Makefile projects/clang400-import/sbin/hastd/Makefile projects/clang400-import/sbin/hastd/hast_checksum.c projects/clang400-import/sbin/hastd/hast_proto.c projects/clang400-import/sbin/ifconfig/ifieee80211.c projects/clang400-import/sbin/kldload/kldload.c projects/clang400-import/sbin/nvmecontrol/Makefile projects/clang400-import/sbin/nvmecontrol/firmware.c projects/clang400-import/sbin/nvmecontrol/logpage.c projects/clang400-import/sbin/nvmecontrol/nvmecontrol.8 projects/clang400-import/sbin/nvmecontrol/nvmecontrol.c projects/clang400-import/sbin/nvmecontrol/nvmecontrol.h projects/clang400-import/sbin/resolvconf/Makefile projects/clang400-import/sbin/savecore/savecore.c projects/clang400-import/share/man/man4/unix.4 projects/clang400-import/sys/amd64/include/pcpu.h projects/clang400-import/sys/amd64/linux/linux_dummy.c projects/clang400-import/sys/amd64/linux/linux_proto.h projects/clang400-import/sys/amd64/linux/linux_syscall.h projects/clang400-import/sys/amd64/linux/linux_syscalls.c projects/clang400-import/sys/amd64/linux/linux_sysent.c projects/clang400-import/sys/amd64/linux/linux_systrace_args.c projects/clang400-import/sys/amd64/linux/syscalls.master projects/clang400-import/sys/amd64/linux32/linux32_dummy.c projects/clang400-import/sys/amd64/linux32/linux32_proto.h projects/clang400-import/sys/amd64/linux32/linux32_syscall.h projects/clang400-import/sys/amd64/linux32/linux32_syscalls.c projects/clang400-import/sys/amd64/linux32/linux32_sysent.c projects/clang400-import/sys/amd64/linux32/linux32_systrace_args.c projects/clang400-import/sys/amd64/linux32/syscalls.master projects/clang400-import/sys/arm/allwinner/std.allwinner projects/clang400-import/sys/arm/allwinner/std.allwinner_up projects/clang400-import/sys/arm/altera/socfpga/std.socfpga projects/clang400-import/sys/arm/amlogic/aml8726/std.aml8726 projects/clang400-import/sys/arm/annapurna/alpine/std.alpine projects/clang400-import/sys/arm/arm/cpufunc.c projects/clang400-import/sys/arm/arm/pmap-v6.c projects/clang400-import/sys/arm/broadcom/bcm2835/std.bcm2836 projects/clang400-import/sys/arm/conf/GENERIC projects/clang400-import/sys/arm/freescale/imx/std.imx51 projects/clang400-import/sys/arm/freescale/imx/std.imx53 projects/clang400-import/sys/arm/freescale/imx/std.imx6 projects/clang400-import/sys/arm/freescale/vybrid/std.vybrid projects/clang400-import/sys/arm/include/_types.h projects/clang400-import/sys/arm/include/asmacros.h projects/clang400-import/sys/arm/include/atomic-v4.h projects/clang400-import/sys/arm/include/cpu-v6.h projects/clang400-import/sys/arm/include/cpufunc.h projects/clang400-import/sys/arm/include/intr.h projects/clang400-import/sys/arm/include/sysreg.h projects/clang400-import/sys/arm/mv/armada38x/std.armada38x projects/clang400-import/sys/arm/nvidia/tegra124/std.tegra124 projects/clang400-import/sys/arm/qemu/std.virt projects/clang400-import/sys/arm/rockchip/std.rk30xx projects/clang400-import/sys/arm/samsung/exynos/std.exynos5250 projects/clang400-import/sys/arm/samsung/exynos/std.exynos5420 projects/clang400-import/sys/arm/ti/am335x/am335x_lcd.c projects/clang400-import/sys/arm/ti/am335x/std.am335x projects/clang400-import/sys/arm/ti/omap4/std.omap4 projects/clang400-import/sys/arm/xilinx/std.zynq7 projects/clang400-import/sys/arm64/include/_types.h projects/clang400-import/sys/boot/efi/libefi/Makefile projects/clang400-import/sys/boot/efi/libefi/env.c projects/clang400-import/sys/cddl/contrib/opensolaris/uts/common/dtrace/dtrace.c projects/clang400-import/sys/cddl/contrib/opensolaris/uts/common/sys/dtrace.h projects/clang400-import/sys/cddl/contrib/opensolaris/uts/common/sys/dtrace_impl.h projects/clang400-import/sys/cddl/dev/dtrace/dtrace_ioctl.c projects/clang400-import/sys/cddl/dev/dtrace/x86/dis_tables.c projects/clang400-import/sys/cddl/dev/dtrace/x86/dis_tables.h projects/clang400-import/sys/compat/freebsd32/freebsd32_misc.c projects/clang400-import/sys/compat/linux/linux_file.c projects/clang400-import/sys/compat/linux/linux_misc.c projects/clang400-import/sys/compat/linux/linux_socket.h projects/clang400-import/sys/conf/files.arm projects/clang400-import/sys/conf/files.i386 projects/clang400-import/sys/conf/options.arm projects/clang400-import/sys/conf/options.i386 projects/clang400-import/sys/contrib/dev/ath/ath_hal/ar9300/ar9300.h projects/clang400-import/sys/contrib/dev/ath/ath_hal/ar9300/ar9300_freebsd.c projects/clang400-import/sys/contrib/dev/ath/ath_hal/ar9300/ar9300_misc.c projects/clang400-import/sys/contrib/dev/ath/ath_hal/ar9300/ar9300_radar.c projects/clang400-import/sys/contrib/dev/ath/ath_hal/ar9300/ar9300_reset.c projects/clang400-import/sys/contrib/dev/ath/ath_hal/ar9300/ar9300_spectral.c projects/clang400-import/sys/contrib/dev/ath/ath_hal/ar9300/ar9300phy.h projects/clang400-import/sys/dev/ath/ath_hal/ah.c projects/clang400-import/sys/dev/ath/ath_hal/ah.h projects/clang400-import/sys/dev/ath/ath_hal/ah_debug.h projects/clang400-import/sys/dev/ath/if_ath_spectral.c projects/clang400-import/sys/dev/ath/if_athioctl.h projects/clang400-import/sys/dev/cesa/cesa.h projects/clang400-import/sys/dev/de/dc21040reg.h projects/clang400-import/sys/dev/mmc/mmc.c projects/clang400-import/sys/dev/mmc/mmcreg.h projects/clang400-import/sys/dev/nvme/nvme_ctrlr.c projects/clang400-import/sys/dev/pci/pci_pci.c projects/clang400-import/sys/dev/pci/pcib_private.h projects/clang400-import/sys/dev/sdhci/sdhci.c projects/clang400-import/sys/dev/sdhci/sdhci.h projects/clang400-import/sys/dev/sdhci/sdhci_fdt.c projects/clang400-import/sys/dev/sdhci/sdhci_pci.c projects/clang400-import/sys/dev/usb/serial/uftdi.c projects/clang400-import/sys/dev/usb/serial/usb_serial.c projects/clang400-import/sys/dev/usb/serial/usb_serial.h projects/clang400-import/sys/geom/part/g_part_gpt.c projects/clang400-import/sys/i386/conf/DEFAULTS projects/clang400-import/sys/i386/conf/NOTES projects/clang400-import/sys/i386/i386/elf_machdep.c projects/clang400-import/sys/i386/i386/exception.s projects/clang400-import/sys/i386/i386/initcpu.c projects/clang400-import/sys/i386/i386/machdep.c projects/clang400-import/sys/i386/i386/mp_machdep.c projects/clang400-import/sys/i386/i386/pmap.c projects/clang400-import/sys/i386/i386/ptrace_machdep.c projects/clang400-import/sys/i386/i386/support.s projects/clang400-import/sys/i386/i386/swtch.s projects/clang400-import/sys/i386/i386/trap.c projects/clang400-import/sys/i386/i386/vm86bios.s projects/clang400-import/sys/i386/i386/vm_machdep.c projects/clang400-import/sys/i386/include/atomic.h projects/clang400-import/sys/i386/isa/npx.c projects/clang400-import/sys/i386/linux/linux_dummy.c projects/clang400-import/sys/i386/linux/linux_proto.h projects/clang400-import/sys/i386/linux/linux_ptrace.c projects/clang400-import/sys/i386/linux/linux_syscall.h projects/clang400-import/sys/i386/linux/linux_syscalls.c projects/clang400-import/sys/i386/linux/linux_sysent.c projects/clang400-import/sys/i386/linux/linux_systrace_args.c projects/clang400-import/sys/i386/linux/syscalls.master projects/clang400-import/sys/kern/kern_cpuset.c projects/clang400-import/sys/kern/kern_descrip.c projects/clang400-import/sys/kern/kern_mutex.c projects/clang400-import/sys/kern/kern_rmlock.c projects/clang400-import/sys/kern/kern_rwlock.c projects/clang400-import/sys/kern/kern_sx.c projects/clang400-import/sys/kern/subr_witness.c projects/clang400-import/sys/kern/vfs_subr.c projects/clang400-import/sys/mips/include/_types.h projects/clang400-import/sys/mips/include/pcpu.h projects/clang400-import/sys/modules/Makefile projects/clang400-import/sys/modules/dtrace/dtrace/Makefile projects/clang400-import/sys/modules/dtrace/fasttrap/Makefile projects/clang400-import/sys/modules/dtrace/systrace/Makefile projects/clang400-import/sys/net/iflib.c projects/clang400-import/sys/net/netisr.c projects/clang400-import/sys/net80211/ieee80211_output.c projects/clang400-import/sys/netinet/tcp_fastopen.c projects/clang400-import/sys/netinet/tcp_subr.c projects/clang400-import/sys/powerpc/include/_types.h projects/clang400-import/sys/powerpc/include/cpufunc.h projects/clang400-import/sys/powerpc/include/pcpu.h projects/clang400-import/sys/riscv/include/_types.h projects/clang400-import/sys/riscv/include/atomic.h projects/clang400-import/sys/sparc64/include/_types.h projects/clang400-import/sys/sparc64/include/pcpu.h projects/clang400-import/sys/sys/lockstat.h projects/clang400-import/sys/sys/mutex.h projects/clang400-import/sys/sys/rwlock.h projects/clang400-import/sys/sys/sdt.h projects/clang400-import/sys/sys/sx.h projects/clang400-import/sys/sys/syscallsubr.h projects/clang400-import/sys/sys/types.h projects/clang400-import/sys/vm/vm_object.h projects/clang400-import/sys/vm/vm_page.c projects/clang400-import/sys/vm/vm_phys.c projects/clang400-import/sys/x86/acpica/acpi_wakeup.c projects/clang400-import/sys/x86/include/_types.h projects/clang400-import/sys/x86/x86/cpu_machdep.c projects/clang400-import/sys/x86/x86/identcpu.c projects/clang400-import/tests/sys/geom/class/gate/ggate_test.sh projects/clang400-import/tools/build/options/WITHOUT_BLACKLIST projects/clang400-import/tools/build/options/WITHOUT_CLANG_BOOTSTRAP projects/clang400-import/tools/build/options/WITHOUT_CROSS_COMPILER projects/clang400-import/tools/build/options/WITHOUT_DIALOG projects/clang400-import/tools/build/options/WITHOUT_DMAGENT projects/clang400-import/tools/build/options/WITHOUT_DOCCOMPRESS projects/clang400-import/tools/build/options/WITHOUT_GPL_DTC projects/clang400-import/tools/build/options/WITHOUT_INSTALLLIB projects/clang400-import/tools/build/options/WITHOUT_KERBEROS projects/clang400-import/tools/build/options/WITH_CCACHE_BUILD projects/clang400-import/tools/build/options/WITH_DIRDEPS_BUILD projects/clang400-import/tools/build/options/WITH_INSTALL_AS_USER projects/clang400-import/tools/build/options/WITH_META_MODE projects/clang400-import/tools/build/options/WITH_STAGING_MAN projects/clang400-import/tools/build/options/makeman projects/clang400-import/tools/tools/ath/athspectral/athspectral.c projects/clang400-import/tools/tools/nanobsd/embedded/rpi2.cfg projects/clang400-import/usr.bin/sed/main.c projects/clang400-import/usr.bin/yacc/tests/Makefile projects/clang400-import/usr.sbin/ctladm/ctladm.8 projects/clang400-import/usr.sbin/tcpdump/tcpdump/Makefile projects/clang400-import/usr.sbin/tcpdump/tcpdump/config.h Directory Properties: projects/clang400-import/ (props changed) projects/clang400-import/cddl/ (props changed) projects/clang400-import/cddl/contrib/opensolaris/ (props changed) projects/clang400-import/contrib/byacc/ (props changed) projects/clang400-import/contrib/libarchive/ (props changed) projects/clang400-import/contrib/tcpdump/ (props changed) projects/clang400-import/sys/cddl/contrib/opensolaris/ (props changed) Modified: projects/clang400-import/Makefile.inc1 ============================================================================== --- projects/clang400-import/Makefile.inc1 Sun Feb 5 19:57:41 2017 (r313300) +++ projects/clang400-import/Makefile.inc1 Sun Feb 5 20:03:05 2017 (r313301) @@ -242,13 +242,11 @@ SUBDIR+= ${_DIR} # of a LOCAL_DIRS directory. This allows LOCAL_DIRS=foo and # LOCAL_LIB_DIRS=foo/lib to behave as expected. .for _DIR in ${LOCAL_DIRS:M*/} ${LOCAL_DIRS:N*/:S|$|/|} -_REDUNDENT_LIB_DIRS+= ${LOCAL_LIB_DIRS:M${_DIR}*} +_REDUNDANT_LIB_DIRS+= ${LOCAL_LIB_DIRS:M${_DIR}*} .endfor .for _DIR in ${LOCAL_LIB_DIRS} -.if empty(_REDUNDENT_LIB_DIRS:M${_DIR}) && exists(${.CURDIR}/${_DIR}/Makefile) +.if empty(_REDUNDANT_LIB_DIRS:M${_DIR}) && exists(${.CURDIR}/${_DIR}/Makefile) SUBDIR+= ${_DIR} -.else -.warning ${_DIR} not added to SUBDIR list. See UPDATING 20141121. .endif .endfor @@ -1954,6 +1952,7 @@ native-xtools: .PHONY usr.bin/mktemp \ usr.bin/mt \ usr.bin/patch \ + usr.bin/readelf \ usr.bin/sed \ usr.bin/sort \ usr.bin/tar \ Modified: projects/clang400-import/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/usdt/tst.enabled2.ksh ============================================================================== --- projects/clang400-import/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/usdt/tst.enabled2.ksh Sun Feb 5 19:57:41 2017 (r313300) +++ projects/clang400-import/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/usdt/tst.enabled2.ksh Sun Feb 5 20:03:05 2017 (r313301) @@ -77,7 +77,7 @@ main(int argc, char **argv) } EOF -cc -c -xO2 test.c +cc -c -O2 test.c if [ $? -ne 0 ]; then print -u2 "failed to compile test.c" exit 1 Modified: projects/clang400-import/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/usdt/tst.include.ksh ============================================================================== --- projects/clang400-import/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/usdt/tst.include.ksh Sun Feb 5 19:57:41 2017 (r313300) +++ projects/clang400-import/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/usdt/tst.include.ksh Sun Feb 5 20:03:05 2017 (r313301) @@ -25,7 +25,7 @@ # # ident "%Z%%M% %I% %E% SMI" -# Make sure defines _DTRACE_VERSION +# Make sure defines _DTRACE_VERSION DIR=/var/tmp/dtest.$$ @@ -33,7 +33,7 @@ mkdir $DIR cd $DIR cat > test.c < +#include int main(int argc, char **argv) @@ -46,7 +46,7 @@ main(int argc, char **argv) } EOF -cc -xarch=generic -o test test.c +cc -o test test.c if [ $? -ne 0 ]; then print -u2 "failed to compile test.c" exit 1 Modified: projects/clang400-import/cddl/contrib/opensolaris/lib/libdtrace/common/dt_dof.c ============================================================================== --- projects/clang400-import/cddl/contrib/opensolaris/lib/libdtrace/common/dt_dof.c Sun Feb 5 19:57:41 2017 (r313300) +++ projects/clang400-import/cddl/contrib/opensolaris/lib/libdtrace/common/dt_dof.c Sun Feb 5 20:03:05 2017 (r313301) @@ -462,18 +462,8 @@ dof_add_probe(dt_idhash_t *dhp, dt_ident dt_buf_write(dtp, &ddo->ddo_enoffs, pip->pi_enoffs, pip->pi_nenoffs * sizeof (uint32_t), sizeof (uint32_t)); - /* - * If pi_rname isn't set, the relocation will be against the - * function name. If it is, the relocation will be against - * pi_rname. This will be used if the function is scoped - * locally so an alternate symbol is added for the purpose - * of this relocation. - */ - if (pip->pi_rname == NULL) - dofr.dofr_name = dofpr.dofpr_func; - else - dofr.dofr_name = dof_add_string(ddo, pip->pi_rname); - dofr.dofr_type = DOF_RELO_SETX; + dofr.dofr_name = dof_add_string(ddo, pip->pi_rname); + dofr.dofr_type = DOF_RELO_DOFREL; dofr.dofr_offset = dt_buf_len(&ddo->ddo_probes); dofr.dofr_data = 0; Modified: projects/clang400-import/cddl/contrib/opensolaris/lib/libdtrace/common/dt_link.c ============================================================================== --- projects/clang400-import/cddl/contrib/opensolaris/lib/libdtrace/common/dt_link.c Sun Feb 5 19:57:41 2017 (r313300) +++ projects/clang400-import/cddl/contrib/opensolaris/lib/libdtrace/common/dt_link.c Sun Feb 5 20:03:05 2017 (r313301) @@ -237,7 +237,7 @@ printf("%s:%s(%d): DOODAD\n",__FUNCTION_ rel->r_offset = s->dofs_offset + dofr[j].dofr_offset; rel->r_info = ELF32_R_INFO(count + dep->de_global, - R_386_32); + R_386_PC32); #elif defined(__mips__) /* XXX */ printf("%s:%s(%d): DOODAD\n",__FUNCTION__,__FILE__,__LINE__); @@ -253,15 +253,6 @@ printf("%s:%s(%d): DOODAD\n",__FUNCTION_ #elif defined(__riscv__) /* XXX */ printf("%s:%s(%d): DOODAD\n",__FUNCTION__,__FILE__,__LINE__); -#elif defined(__sparc) - /* - * Add 4 bytes to hit the low half of this 64-bit - * big-endian address. - */ - rel->r_offset = s->dofs_offset + - dofr[j].dofr_offset + 4; - rel->r_info = ELF32_R_INFO(count + dep->de_global, - R_SPARC_32); #else #error unknown ISA #endif @@ -270,7 +261,7 @@ printf("%s:%s(%d): DOODAD\n",__FUNCTION_ sym->st_value = 0; sym->st_size = 0; sym->st_info = ELF32_ST_INFO(STB_GLOBAL, STT_FUNC); - sym->st_other = 0; + sym->st_other = ELF32_ST_VISIBILITY(STV_HIDDEN); sym->st_shndx = SHN_UNDEF; rel++; @@ -287,11 +278,7 @@ printf("%s:%s(%d): DOODAD\n",__FUNCTION_ sym->st_value = 0; sym->st_size = dof->dofh_filesz; sym->st_info = ELF32_ST_INFO(STB_GLOBAL, STT_OBJECT); -#ifdef illumos - sym->st_other = 0; -#else sym->st_other = ELF32_ST_VISIBILITY(STV_HIDDEN); -#endif sym->st_shndx = ESHDR_DOF; sym++; @@ -448,18 +435,8 @@ prepare_elf64(dtrace_hdl_t *dtp, const d #elif defined(__i386) || defined(__amd64) rel->r_offset = s->dofs_offset + dofr[j].dofr_offset; -#ifdef illumos rel->r_info = ELF64_R_INFO(count + dep->de_global, - R_AMD64_64); -#else - rel->r_info = ELF64_R_INFO(count + dep->de_global, - R_X86_64_RELATIVE); -#endif -#elif defined(__sparc) - rel->r_offset = s->dofs_offset + - dofr[j].dofr_offset; - rel->r_info = ELF64_R_INFO(count + dep->de_global, - R_SPARC_64); + R_X86_64_PC64); #else #error unknown ISA #endif @@ -468,7 +445,7 @@ prepare_elf64(dtrace_hdl_t *dtp, const d sym->st_value = 0; sym->st_size = 0; sym->st_info = GELF_ST_INFO(STB_GLOBAL, STT_FUNC); - sym->st_other = 0; + sym->st_other = ELF64_ST_VISIBILITY(STV_HIDDEN); sym->st_shndx = SHN_UNDEF; rel++; @@ -485,11 +462,7 @@ prepare_elf64(dtrace_hdl_t *dtp, const d sym->st_value = 0; sym->st_size = dof->dofh_filesz; sym->st_info = GELF_ST_INFO(STB_GLOBAL, STT_OBJECT); -#ifdef illumos - sym->st_other = 0; -#else sym->st_other = ELF64_ST_VISIBILITY(STV_HIDDEN); -#endif sym->st_shndx = ESHDR_DOF; sym++; @@ -797,16 +770,15 @@ dump_elf64(dtrace_hdl_t *dtp, const dof_ } static int -dt_symtab_lookup(Elf_Data *data_sym, int nsym, uintptr_t addr, uint_t shn, - GElf_Sym *sym, int uses_funcdesc, Elf *elf) +dt_symtab_lookup(Elf_Data *data_sym, int start, int end, uintptr_t addr, + uint_t shn, GElf_Sym *sym, int uses_funcdesc, Elf *elf) { - int i, ret = -1; Elf64_Addr symval; Elf_Scn *opd_scn; Elf_Data *opd_desc; - GElf_Sym s; + int i; - for (i = 0; i < nsym && gelf_getsym(data_sym, i, sym) != NULL; i++) { + for (i = start; i < end && gelf_getsym(data_sym, i, sym) != NULL; i++) { if (GELF_ST_TYPE(sym->st_info) == STT_FUNC) { symval = sym->st_value; if (uses_funcdesc) { @@ -816,20 +788,12 @@ dt_symtab_lookup(Elf_Data *data_sym, int *(uint64_t*)((char *)opd_desc->d_buf + symval); } if ((uses_funcdesc || shn == sym->st_shndx) && - symval <= addr && - addr < symval + sym->st_size) { - if (GELF_ST_BIND(sym->st_info) == STB_GLOBAL) - return (0); - - ret = 0; - s = *sym; - } + symval <= addr && addr < symval + sym->st_size) + return (0); } } - if (ret == 0) - *sym = s; - return (ret); + return (-1); } #if defined(__aarch64__) @@ -1237,10 +1201,11 @@ process_obj(dtrace_hdl_t *dtp, const cha dt_provider_t *pvp; dt_probe_t *prp; uint32_t off, eclass, emachine1, emachine2; - size_t symsize, nsym, isym, istr, len; + size_t symsize, osym, nsym, isym, istr, len; key_t objkey; dt_link_pair_t *pair, *bufs = NULL; dt_strtab_t *strtab; + void *tmp; if ((fd = open64(obj, O_RDWR)) == -1) { return (dt_link_error(dtp, elf, fd, bufs, @@ -1374,12 +1339,13 @@ process_obj(dtrace_hdl_t *dtp, const cha * target (text) section to replace the call instruction with * one or more nops. * - * If the function containing the probe is locally scoped - * (static), we create an alias used by the relocation in the - * generated object. The alias, a new symbol, will be global - * (so that the relocation from the generated object can be - * resolved), and hidden (so that it is converted to a local - * symbol at link time). Such aliases have this form: + * To avoid runtime overhead, the relocations added to the + * generated object should be resolved at static link time. We + * therefore create aliases for the functions that contain + * probes. An alias is global (so that the relocation from the + * generated object can be resolved), and hidden (so that its + * address is known at static link time). Such aliases have this + * form: * * $dtrace. * @@ -1417,16 +1383,13 @@ process_obj(dtrace_hdl_t *dtp, const cha if (strncmp(s, dt_prefix, sizeof (dt_prefix) - 1) != 0) continue; - if (dt_symtab_lookup(data_sym, isym, rela.r_offset, - shdr_rel.sh_info, &fsym, - (emachine1 == EM_PPC64), elf) != 0) { + if (dt_symtab_lookup(data_sym, 0, isym, rela.r_offset, + shdr_rel.sh_info, &fsym, (emachine1 == EM_PPC64), + elf) != 0) { dt_strtab_destroy(strtab); goto err; } - if (GELF_ST_BIND(fsym.st_info) != STB_LOCAL) - continue; - if (fsym.st_name > data_str->d_size) { dt_strtab_destroy(strtab); goto err; @@ -1462,12 +1425,12 @@ process_obj(dtrace_hdl_t *dtp, const cha } /* - * If needed, allocate the additional space for the symbol - * table and string table copying the old data into the new - * buffers, and marking the buffers as dirty. We inject those - * newly allocated buffers into the libelf data structures, but - * are still responsible for freeing them once we're done with - * the elf handle. + * If any probes were found, allocate the additional space for + * the symbol table and string table, copying the old data into + * the new buffers, and marking the buffers as dirty. We inject + * those newly allocated buffers into the libelf data + * structures, but are still responsible for freeing them once + * we're done with the elf handle. */ if (nsym > 0) { /* @@ -1501,7 +1464,9 @@ process_obj(dtrace_hdl_t *dtp, const cha bufs = pair; bcopy(data_str->d_buf, pair->dlp_str, data_str->d_size); + tmp = data_str->d_buf; data_str->d_buf = pair->dlp_str; + pair->dlp_str = tmp; data_str->d_size += len; (void) elf_flagdata(data_str, ELF_C_SET, ELF_F_DIRTY); @@ -1509,16 +1474,20 @@ process_obj(dtrace_hdl_t *dtp, const cha (void) gelf_update_shdr(scn_str, &shdr_str); bcopy(data_sym->d_buf, pair->dlp_sym, data_sym->d_size); + tmp = data_sym->d_buf; data_sym->d_buf = pair->dlp_sym; + pair->dlp_sym = tmp; data_sym->d_size += nsym * symsize; (void) elf_flagdata(data_sym, ELF_C_SET, ELF_F_DIRTY); shdr_sym.sh_size += nsym * symsize; (void) gelf_update_shdr(scn_sym, &shdr_sym); + osym = isym; nsym += isym; } else { dt_strtab_destroy(strtab); + continue; } /* @@ -1577,8 +1546,11 @@ process_obj(dtrace_hdl_t *dtp, const cha bcopy(s, pname, p - s); pname[p - s] = '\0'; - if (dt_symtab_lookup(data_sym, isym, rela.r_offset, - shdr_rel.sh_info, &fsym, + if (dt_symtab_lookup(data_sym, osym, isym, + rela.r_offset, shdr_rel.sh_info, &fsym, + (emachine1 == EM_PPC64), elf) != 0 && + dt_symtab_lookup(data_sym, 0, osym, + rela.r_offset, shdr_rel.sh_info, &fsym, (emachine1 == EM_PPC64), elf) != 0) goto err; @@ -1588,37 +1560,30 @@ process_obj(dtrace_hdl_t *dtp, const cha assert(GELF_ST_TYPE(fsym.st_info) == STT_FUNC); /* - * If a NULL relocation name is passed to - * dt_probe_define(), the function name is used for the - * relocation. The relocation needs to use a mangled - * name if the symbol is locally scoped; the function - * name may need to change if we've found the global - * alias for the locally scoped symbol (we prefer - * global symbols to locals in dt_symtab_lookup()). + * If this is our first time encountering this symbol, + * emit an alias. */ s = (char *)data_str->d_buf + fsym.st_name; - r = NULL; - if (GELF_ST_BIND(fsym.st_info) == STB_LOCAL) { + if (strncmp(s, dt_symprefix, + sizeof (dt_symprefix) - 1) != 0) { + u_int bind = GELF_ST_BIND(fsym.st_info); + dsym = fsym; dsym.st_name = istr; - dsym.st_info = GELF_ST_INFO(STB_GLOBAL, - STT_FUNC); - dsym.st_other = - ELF64_ST_VISIBILITY(STV_ELIMINATE); + dsym.st_info = GELF_ST_INFO(bind == STB_LOCAL ? + STB_GLOBAL : bind, STT_FUNC); + dsym.st_other = GELF_ST_VISIBILITY(STV_HIDDEN); (void) gelf_update_sym(data_sym, isym, &dsym); - - r = (char *)data_str->d_buf + istr; - istr += 1 + sprintf(r, dt_symfmt, - dt_symprefix, objkey, s); + r = (char *) data_str->d_buf + istr; + istr += 1 + sprintf(r, dt_symfmt, dt_symprefix, objkey, + s); isym++; assert(isym <= nsym); - - } else if (strncmp(s, dt_symprefix, - strlen(dt_symprefix)) == 0) { + } else { r = s; - if ((s = strchr(s, '.')) == NULL) - goto err; + s = strchr(s, '.'); + assert(s != NULL); s++; } @@ -1697,9 +1662,6 @@ process_obj(dtrace_hdl_t *dtp, const cha (void) elf_end(elf); (void) close(fd); -#ifndef illumos - if (nsym > 0) -#endif while ((pair = bufs) != NULL) { bufs = pair->dlp_next; dt_free(dtp, pair->dlp_str); Modified: projects/clang400-import/cddl/contrib/opensolaris/lib/libdtrace/common/dt_provider.c ============================================================================== --- projects/clang400-import/cddl/contrib/opensolaris/lib/libdtrace/common/dt_provider.c Sun Feb 5 19:57:41 2017 (r313300) +++ projects/clang400-import/cddl/contrib/opensolaris/lib/libdtrace/common/dt_provider.c Sun Feb 5 20:03:05 2017 (r313301) @@ -545,9 +545,7 @@ dt_probe_define(dt_provider_t *pvp, dt_p for (pip = prp->pr_inst; pip != NULL; pip = pip->pi_next) { if (strcmp(pip->pi_fname, fname) == 0 && - ((rname == NULL && pip->pi_rname == NULL) || - (rname != NULL && pip->pi_rname != NULL && - strcmp(pip->pi_rname, rname) == 0))) + strcmp(pip->pi_rname, rname) == 0) break; } @@ -565,7 +563,7 @@ dt_probe_define(dt_provider_t *pvp, dt_p if ((pip->pi_fname = strdup(fname)) == NULL) goto nomem; - if (rname != NULL && (pip->pi_rname = strdup(rname)) == NULL) + if ((pip->pi_rname = strdup(rname)) == NULL) goto nomem; pip->pi_noffs = 0; @@ -605,7 +603,7 @@ dt_probe_define(dt_provider_t *pvp, dt_p dt_dprintf("defined probe %s %s:%s %s() +0x%x (%s)\n", isenabled ? "(is-enabled)" : "", pvp->pv_desc.dtvd_name, prp->pr_ident->di_name, fname, offset, - rname != NULL ? rname : fname); + rname); assert(*noffs < *maxoffs); (*offs)[(*noffs)++] = offset; Modified: projects/clang400-import/contrib/byacc/CHANGES ============================================================================== --- projects/clang400-import/contrib/byacc/CHANGES Sun Feb 5 19:57:41 2017 (r313300) +++ projects/clang400-import/contrib/byacc/CHANGES Sun Feb 5 20:03:05 2017 (r313301) @@ -1,3 +1,33 @@ +2017-02-01 Thomas E. Dickey + + * test/btyacc/expr.oxout.error, test/btyacc/expr.oxout.output, test/btyacc/expr.oxout.tab.c, test/btyacc/expr.oxout.tab.h, test/yacc/expr.oxout.error, test/yacc/expr.oxout.output, test/yacc/expr.oxout.tab.c, test/yacc/expr.oxout.tab.h: + RCS_BASE + + * package/debian/copyright: update copyright + + * reader.c, defs.h, main.c: + avoid using regex.h since some low-end platforms do not have this + + * test/expr.oxout.y: RCS_BASE + + * configure: regen + + * aclocal.m4: quiet a strict gcc warning in CF_MKSTEMP + +2017-02-01 Tom.Shields + + * main.c, reader.c, defs.h: + process #line directives, like bison and flex + +2017-02-01 Thomas E. Dickey + + * VERSION, package/byacc.spec, package/debian/changelog, package/mingw-byacc.spec, package/pkgsrc/Makefile: + bump + +2016-12-31 Thomas E. Dickey + + * config.guess, config.sub: 2017-01-01 + 2016-12-02 Thomas E. Dickey * test/btyacc/quote_calc4-s.tab.c, test/btyacc/varsyntax_calc1.tab.c, test/btyacc/error.tab.c, test/btyacc/grammar.tab.c, test/btyacc/inherit0.tab.c, test/btyacc/inherit1.tab.c, test/btyacc/inherit2.tab.c, test/btyacc/ok_syntax1.tab.c, test/btyacc/pure_calc.tab.c, test/btyacc/pure_error.tab.c, test/btyacc/quote_calc-s.tab.c, test/btyacc/quote_calc.tab.c, test/btyacc/quote_calc2-s.tab.c, test/btyacc/quote_calc2.tab.c, test/btyacc/quote_calc3-s.tab.c, test/btyacc/quote_calc3.tab.c, test/btyacc/quote_calc4.tab.c, test/btyacc/calc.tab.c, test/btyacc/calc1.tab.c, test/btyacc/calc2.tab.c, test/btyacc/calc3.tab.c, test/btyacc/code_calc.code.c, test/btyacc/code_error.code.c, test/btyacc/empty.tab.c, test/btyacc/err_inherit3.tab.c, test/btyacc/err_inherit4.tab.c, test/btyacc/err_syntax10.tab.c, test/btyacc/err_syntax11.tab.c, test/btyacc/err_syntax12.tab.c, test/btyacc/err_syntax18.tab.c, test/btyacc/err_syntax20.tab.c, test/btyacc/rename_debug.c, test/btyacc/btyacc_calc1.tab.c, test/btyacc /btyacc_demo.tab.c, test/btyacc/btyacc_destroy1.tab.c, test/btyacc/btyacc_destroy2.tab.c, test/btyacc/btyacc_destroy3.tab.c, btyaccpar.c: Modified: projects/clang400-import/contrib/byacc/MANIFEST ============================================================================== --- projects/clang400-import/contrib/byacc/MANIFEST Sun Feb 5 19:57:41 2017 (r313300) +++ projects/clang400-import/contrib/byacc/MANIFEST Sun Feb 5 20:03:05 2017 (r313301) @@ -1,4 +1,4 @@ -MANIFEST for byacc-20161202, version t20161202 +MANIFEST for byacc-20170201, version t20170201 -------------------------------------------------------------------------------- MANIFEST this file ACKNOWLEDGEMENTS original version of byacc - 1993 @@ -77,6 +77,22 @@ test/btyacc/btyacc_demo.error referenc test/btyacc/btyacc_demo.output reference output for testing test/btyacc/btyacc_demo.tab.c reference output for testing test/btyacc/btyacc_demo.tab.h reference output for testing +test/btyacc/btyacc_demo2.error reference output for testing +test/btyacc/btyacc_demo2.output reference output for testing +test/btyacc/btyacc_demo2.tab.c reference output for testing +test/btyacc/btyacc_demo2.tab.h reference output for testing +test/btyacc/btyacc_destroy1.error reference output for testing +test/btyacc/btyacc_destroy1.output reference output for testing +test/btyacc/btyacc_destroy1.tab.c reference output for testing +test/btyacc/btyacc_destroy1.tab.h reference output for testing +test/btyacc/btyacc_destroy2.error reference output for testing +test/btyacc/btyacc_destroy2.output reference output for testing +test/btyacc/btyacc_destroy2.tab.c reference output for testing +test/btyacc/btyacc_destroy2.tab.h reference output for testing +test/btyacc/btyacc_destroy3.error reference output for testing +test/btyacc/btyacc_destroy3.output reference output for testing +test/btyacc/btyacc_destroy3.tab.c reference output for testing +test/btyacc/btyacc_destroy3.tab.h reference output for testing test/btyacc/calc.error reference output for testing test/btyacc/calc.output reference output for testing test/btyacc/calc.tab.c reference output for testing @@ -256,6 +272,10 @@ test/btyacc/error.error referenc test/btyacc/error.output reference output for testing test/btyacc/error.tab.c reference output for testing test/btyacc/error.tab.h reference output for testing +test/btyacc/expr.oxout.error reference output for testing +test/btyacc/expr.oxout.output reference output for testing +test/btyacc/expr.oxout.tab.c reference output for testing +test/btyacc/expr.oxout.tab.h reference output for testing test/btyacc/grammar.dot reference output for testing test/btyacc/grammar.error reference output for testing test/btyacc/grammar.output reference output for testing @@ -359,6 +379,9 @@ test/btyacc/varsyntax_calc1.tab.h refer test subdirectory test/btyacc_calc1.y testcase for btyacc test/btyacc_demo.y testcase for btyacc +test/btyacc_destroy1.y btyacc test-case for %parse-param +test/btyacc_destroy2.y btyacc test-case for %parse-param +test/btyacc_destroy3.y btyacc test-case for %parse-param test/calc.y example from VMS freeware version of byacc test/calc1.y advanced example from Steve Johnson's paper. test/calc2.y test-cases and reference files for %lex-param / %parse-param @@ -403,6 +426,7 @@ test/err_syntax8.y testcase test/err_syntax8a.y testcase for used_reserved() test/err_syntax9.y testcase for tokenized_start() test/error.y original version of byacc - 1993 +test/expr.oxout.y test-case for "#line" feature test/grammar.y grammar from cproto test/inherit0.y testcase for btyacc test/inherit1.y testcase for btyacc @@ -577,6 +601,10 @@ test/yacc/error.error referenc test/yacc/error.output reference output for testing test/yacc/error.tab.c reference output for testing test/yacc/error.tab.h reference output for testing +test/yacc/expr.oxout.error reference output for testing +test/yacc/expr.oxout.output reference output for testing +test/yacc/expr.oxout.tab.c reference output for testing +test/yacc/expr.oxout.tab.h reference output for testing test/yacc/grammar.dot reference output for testing test/yacc/grammar.error reference output for testing test/yacc/grammar.output reference output for testing Modified: projects/clang400-import/contrib/byacc/VERSION ============================================================================== --- projects/clang400-import/contrib/byacc/VERSION Sun Feb 5 19:57:41 2017 (r313300) +++ projects/clang400-import/contrib/byacc/VERSION Sun Feb 5 20:03:05 2017 (r313301) @@ -1 +1 @@ -20161202 +20170201 Modified: projects/clang400-import/contrib/byacc/aclocal.m4 ============================================================================== --- projects/clang400-import/contrib/byacc/aclocal.m4 Sun Feb 5 19:57:41 2017 (r313300) +++ projects/clang400-import/contrib/byacc/aclocal.m4 Sun Feb 5 20:03:05 2017 (r313301) @@ -1,7 +1,7 @@ -dnl $Id: aclocal.m4,v 1.41 2016/12/02 13:03:06 tom Exp $ +dnl $Id: aclocal.m4,v 1.42 2017/02/01 10:12:21 tom Exp $ dnl Macros for byacc configure script (Thomas E. Dickey) dnl --------------------------------------------------------------------------- -dnl Copyright 2004-2015,2016 Thomas E. Dickey +dnl Copyright 2004-2016,2017 Thomas E. Dickey dnl dnl Permission is hereby granted, free of charge, to any person obtaining a dnl copy of this software and associated documentation files (the @@ -803,20 +803,26 @@ fi test "$cf_cv_mixedcase" = yes && AC_DEFINE(MIXEDCASE_FILENAMES,1,[Define to 1 if filesystem supports mixed-case filenames.]) ])dnl dnl --------------------------------------------------------------------------- -dnl CF_MKSTEMP version: 9 updated: 2012/10/03 04:34:49 +dnl CF_MKSTEMP version: 10 updated: 2017/01/21 11:12:16 dnl ---------- dnl Check for a working mkstemp. This creates two files, checks that they are dnl successfully created and distinct (AmigaOS apparently fails on the last). AC_DEFUN([CF_MKSTEMP],[ +AC_CHECK_HEADERS( \ +unistd.h \ +) AC_CACHE_CHECK(for working mkstemp, cf_cv_func_mkstemp,[ rm -rf conftest* AC_TRY_RUN([ #include +#ifdef HAVE_UNISTD_H +#include +#endif #include #include #include #include -int main() +int main(void) { char *tmpl = "conftestXXXXXX"; char name[2][80]; Modified: projects/clang400-import/contrib/byacc/config.guess ============================================================================== --- projects/clang400-import/contrib/byacc/config.guess Sun Feb 5 19:57:41 2017 (r313300) +++ projects/clang400-import/contrib/byacc/config.guess Sun Feb 5 20:03:05 2017 (r313301) @@ -1,8 +1,8 @@ #! /bin/sh # Attempt to guess a canonical system name. -# Copyright 1992-2016 Free Software Foundation, Inc. +# Copyright 1992-2017 Free Software Foundation, Inc. -timestamp='2016-10-02' +timestamp='2017-01-01' # This file is free software; you can redistribute it and/or modify it # under the terms of the GNU General Public License as published by @@ -50,7 +50,7 @@ version="\ GNU config.guess ($timestamp) Originally written by Per Bothner. -Copyright 1992-2016 Free Software Foundation, Inc. +Copyright 1992-2017 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." Modified: projects/clang400-import/contrib/byacc/config.sub ============================================================================== --- projects/clang400-import/contrib/byacc/config.sub Sun Feb 5 19:57:41 2017 (r313300) +++ projects/clang400-import/contrib/byacc/config.sub Sun Feb 5 20:03:05 2017 (r313301) @@ -1,8 +1,8 @@ #! /bin/sh # Configuration validation subroutine script. -# Copyright 1992-2016 Free Software Foundation, Inc. +# Copyright 1992-2017 Free Software Foundation, Inc. -timestamp='2016-11-19' +timestamp='2017-01-01' # This file is free software; you can redistribute it and/or modify it # under the terms of the GNU General Public License as published by @@ -67,7 +67,7 @@ Report bugs and patches to &5 +for ac_header in \ +unistd.h \ + +do +as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` +echo "$as_me:3919: checking for $ac_header" >&5 +echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6 +if eval "test \"\${$as_ac_Header+set}\" = set"; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +#line 3925 "configure" +#include "confdefs.h" +#include <$ac_header> +_ACEOF +if { (eval echo "$as_me:3929: \"$ac_cpp conftest.$ac_ext\"") >&5 + (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 + ac_status=$? + egrep -v '^ *\+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:3935: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null; then + if test -s conftest.err; then + ac_cpp_err=$ac_c_preproc_warn_flag + else + ac_cpp_err= + fi +else + ac_cpp_err=yes +fi +if test -z "$ac_cpp_err"; then + eval "$as_ac_Header=yes" +else + echo "$as_me: failed program was:" >&5 + cat conftest.$ac_ext >&5 + eval "$as_ac_Header=no" +fi +rm -f conftest.err conftest.$ac_ext +fi +echo "$as_me:3954: result: `eval echo '${'$as_ac_Header'}'`" >&5 +echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6 +if test `eval echo '${'$as_ac_Header'}'` = yes; then + cat >>confdefs.h <&5 echo $ECHO_N "checking for working mkstemp... $ECHO_C" >&6 if test "${cf_cv_func_mkstemp+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 @@ -3922,15 +3972,18 @@ if test "$cross_compiling" = yes; then cf_cv_func_mkstemp=maybe else cat >conftest.$ac_ext <<_ACEOF -#line 3925 "configure" +#line 3975 "configure" #include "confdefs.h" #include +#ifdef HAVE_UNISTD_H +#include +#endif #include #include #include #include -int main() +int main(void) { char *tmpl = "conftestXXXXXX"; char name[2][80]; @@ -3960,15 +4013,15 @@ int main() _ACEOF rm -f conftest$ac_exeext -if { (eval echo "$as_me:3963: \"$ac_link\"") >&5 +if { (eval echo "$as_me:4016: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? - echo "$as_me:3966: \$? = $ac_status" >&5 + echo "$as_me:4019: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='./conftest$ac_exeext' - { (eval echo "$as_me:3968: \"$ac_try\"") >&5 + { (eval echo "$as_me:4021: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? - echo "$as_me:3971: \$? = $ac_status" >&5 + echo "$as_me:4024: \$? = $ac_status" >&5 (exit $ac_status); }; }; then cf_cv_func_mkstemp=yes @@ -3983,16 +4036,16 @@ rm -f core core.* *.core conftest$ac_exe fi fi -echo "$as_me:3986: result: $cf_cv_func_mkstemp" >&5 +echo "$as_me:4039: result: $cf_cv_func_mkstemp" >&5 echo "${ECHO_T}$cf_cv_func_mkstemp" >&6 if test "x$cf_cv_func_mkstemp" = xmaybe ; then - echo "$as_me:3989: checking for mkstemp" >&5 + echo "$as_me:4042: checking for mkstemp" >&5 echo $ECHO_N "checking for mkstemp... $ECHO_C" >&6 if test "${ac_cv_func_mkstemp+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF -#line 3995 "configure" +#line 4048 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, which can conflict with char mkstemp (); below. */ @@ -4023,16 +4076,16 @@ f = mkstemp; /* workaround for ICC 12.0. } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:4026: \"$ac_link\"") >&5 +if { (eval echo "$as_me:4079: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? - echo "$as_me:4029: \$? = $ac_status" >&5 + echo "$as_me:4082: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:4032: \"$ac_try\"") >&5 + { (eval echo "$as_me:4085: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? - echo "$as_me:4035: \$? = $ac_status" >&5 + echo "$as_me:4088: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_func_mkstemp=yes else @@ -4042,7 +4095,7 @@ ac_cv_func_mkstemp=no fi rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext fi -echo "$as_me:4045: result: $ac_cv_func_mkstemp" >&5 +echo "$as_me:4098: result: $ac_cv_func_mkstemp" >&5 echo "${ECHO_T}$ac_cv_func_mkstemp" >&6 fi @@ -4057,13 +4110,13 @@ fi for ac_func in vsnprintf do as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` -echo "$as_me:4060: checking for $ac_func" >&5 +echo "$as_me:4113: checking for $ac_func" >&5 echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6 if eval "test \"\${$as_ac_var+set}\" = set"; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF -#line 4066 "configure" +#line 4119 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, which can conflict with char $ac_func (); below. */ @@ -4094,16 +4147,16 @@ f = $ac_func; /* workaround for ICC 12.0 } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:4097: \"$ac_link\"") >&5 +if { (eval echo "$as_me:4150: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? - echo "$as_me:4100: \$? = $ac_status" >&5 + echo "$as_me:4153: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:4103: \"$ac_try\"") >&5 + { (eval echo "$as_me:4156: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? - echo "$as_me:4106: \$? = $ac_status" >&5 + echo "$as_me:4159: \$? = $ac_status" >&5 (exit $ac_status); }; }; then eval "$as_ac_var=yes" else @@ -4113,7 +4166,7 @@ eval "$as_ac_var=no" fi rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext fi -echo "$as_me:4116: result: `eval echo '${'$as_ac_var'}'`" >&5 +echo "$as_me:4169: result: `eval echo '${'$as_ac_var'}'`" >&5 echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6 if test `eval echo '${'$as_ac_var'}'` = yes; then cat >>confdefs.h <&5 +echo "$as_me:4179: checking for maximum table size" >&5 echo $ECHO_N "checking for maximum table size... $ECHO_C" >&6 # Check whether --with-max-table-size or --without-max-table-size was given. @@ -4133,12 +4186,12 @@ if test "${with_max_table_size+set}" = s fi; if test -n "$with_max_table_size" then - echo "$as_me:4136: result: $with_max_table_size" >&5 + echo "$as_me:4189: result: $with_max_table_size" >&5 echo "${ECHO_T}$with_max_table_size" >&6 check=`expr "$with_max_table_size" + 0` if test "x$check" != "x$with_max_table_size" then - { { echo "$as_me:4141: error: invalid value for --with-max-table-size: $with_max_table_size" >&5 + { { echo "$as_me:4194: error: invalid value for --with-max-table-size: $with_max_table_size" >&5 echo "$as_me: error: invalid value for --with-max-table-size: $with_max_table_size" >&2;} { (exit 1); exit 1; }; } fi @@ -4148,11 +4201,11 @@ cat >>confdefs.h <&5 + echo "$as_me:4204: result: default" >&5 echo "${ECHO_T}default" >&6 fi -echo "$as_me:4155: checking if backtracking extension is wanted" >&5 +echo "$as_me:4208: checking if backtracking extension is wanted" >&5 echo $ECHO_N "checking if backtracking extension is wanted... $ECHO_C" >&6 # Check whether --enable-btyacc or --disable-btyacc was given. @@ -4160,7 +4213,7 @@ if test "${enable_btyacc+set}" = set; th enableval="$enable_btyacc" fi; -echo "$as_me:4163: result: $enable_btyacc" >&5 +echo "$as_me:4216: result: $enable_btyacc" >&5 echo "${ECHO_T}$enable_btyacc" >&6 if test "$enable_btyacc" = "yes"; then @@ -4175,7 +4228,7 @@ fi if ( test "$GCC" = yes || test "$GXX" = yes ) then -echo "$as_me:4178: checking if you want to check for gcc warnings" >&5 +echo "$as_me:4231: checking if you want to check for gcc warnings" >&5 echo $ECHO_N "checking if you want to check for gcc warnings... $ECHO_C" >&6 # Check whether --with-warnings or --without-warnings was given. @@ -4185,7 +4238,7 @@ if test "${with_warnings+set}" = set; th else cf_opt_with_warnings=no fi; -echo "$as_me:4188: result: $cf_opt_with_warnings" >&5 +echo "$as_me:4241: result: $cf_opt_with_warnings" >&5 echo "${ECHO_T}$cf_opt_with_warnings" >&6 if test "$cf_opt_with_warnings" != no ; then @@ -4207,10 +4260,10 @@ cat > conftest.i <&5 + { echo "$as_me:4263: checking for $CC __attribute__ directives..." >&5 echo "$as_me: checking for $CC __attribute__ directives..." >&6;} cat > conftest.$ac_ext <&5 + if { (eval echo "$as_me:4315: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? - echo "$as_me:4265: \$? = $ac_status" >&5 + echo "$as_me:4318: \$? = $ac_status" >&5 (exit $ac_status); }; then - test -n "$verbose" && echo "$as_me:4267: result: ... $cf_attribute" >&5 + test -n "$verbose" && echo "$as_me:4320: result: ... $cf_attribute" >&5 echo "${ECHO_T}... $cf_attribute" >&6 cat conftest.h >>confdefs.h case $cf_attribute in @@ -4328,12 +4381,12 @@ INTEL_COMPILER=no if test "$GCC" = yes ; then case $host_os in (linux*|gnu*) - echo "$as_me:4331: checking if this is really Intel C compiler" >&5 + echo "$as_me:4384: checking if this is really Intel C compiler" >&5 echo $ECHO_N "checking if this is really Intel C compiler... $ECHO_C" >&6 cf_save_CFLAGS="$CFLAGS" CFLAGS="$CFLAGS -no-gcc" cat >conftest.$ac_ext <<_ACEOF -#line 4336 "configure" +#line 4389 "configure" #include "confdefs.h" int @@ -4350,16 +4403,16 @@ make an error } _ACEOF rm -f conftest.$ac_objext -if { (eval echo "$as_me:4353: \"$ac_compile\"") >&5 +if { (eval echo "$as_me:4406: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? - echo "$as_me:4356: \$? = $ac_status" >&5 + echo "$as_me:4409: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:4359: \"$ac_try\"") >&5 + { (eval echo "$as_me:4412: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? - echo "$as_me:4362: \$? = $ac_status" >&5 + echo "$as_me:4415: \$? = $ac_status" >&5 (exit $ac_status); }; }; then INTEL_COMPILER=yes cf_save_CFLAGS="$cf_save_CFLAGS -we147" @@ -4370,7 +4423,7 @@ cat conftest.$ac_ext >&5 fi rm -f conftest.$ac_objext conftest.$ac_ext CFLAGS="$cf_save_CFLAGS" - echo "$as_me:4373: result: $INTEL_COMPILER" >&5 + echo "$as_me:4426: result: $INTEL_COMPILER" >&5 echo "${ECHO_T}$INTEL_COMPILER" >&6 ;; esac @@ -4379,12 +4432,12 @@ fi CLANG_COMPILER=no if test "$GCC" = yes ; then - echo "$as_me:4382: checking if this is really Clang C compiler" >&5 + echo "$as_me:4435: checking if this is really Clang C compiler" >&5 echo $ECHO_N "checking if this is really Clang C compiler... $ECHO_C" >&6 cf_save_CFLAGS="$CFLAGS" CFLAGS="$CFLAGS -Qunused-arguments" cat >conftest.$ac_ext <<_ACEOF -#line 4387 "configure" +#line 4440 "configure" #include "confdefs.h" *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-projects@freebsd.org Mon Feb 6 04:30:21 2017 Return-Path: Delivered-To: svn-src-projects@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 827A8CD1D1D for ; Mon, 6 Feb 2017 04:30:21 +0000 (UTC) (envelope-from ae@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 4AC99E48; Mon, 6 Feb 2017 04:30:21 +0000 (UTC) (envelope-from ae@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v164UKbY059033; Mon, 6 Feb 2017 04:30:20 GMT (envelope-from ae@FreeBSD.org) Received: (from ae@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v164UIRt059014; Mon, 6 Feb 2017 04:30:18 GMT (envelope-from ae@FreeBSD.org) Message-Id: <201702060430.v164UIRt059014@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: ae set sender to ae@FreeBSD.org using -f From: "Andrey V. Elsukov" Date: Mon, 6 Feb 2017 04:30:18 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r313313 - in projects/ipsec: cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/usdt cddl/contrib/opensolaris/lib/libdtrace/common etc sbin/decryptcore sbin/hastctl sbin/hastd sbin/ifc... X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 06 Feb 2017 04:30:21 -0000 Author: ae Date: Mon Feb 6 04:30:18 2017 New Revision: 313313 URL: https://svnweb.freebsd.org/changeset/base/313313 Log: Merge from head/. Added: projects/ipsec/sbin/nvmecontrol/wdc.c - copied unchanged from r313312, head/sbin/nvmecontrol/wdc.c Modified: projects/ipsec/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/usdt/tst.enabled2.ksh projects/ipsec/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/usdt/tst.include.ksh projects/ipsec/cddl/contrib/opensolaris/lib/libdtrace/common/dt_dof.c projects/ipsec/cddl/contrib/opensolaris/lib/libdtrace/common/dt_link.c projects/ipsec/cddl/contrib/opensolaris/lib/libdtrace/common/dt_provider.c projects/ipsec/etc/devd.conf projects/ipsec/sbin/decryptcore/decryptcore.c projects/ipsec/sbin/hastctl/Makefile projects/ipsec/sbin/hastd/Makefile projects/ipsec/sbin/hastd/hast_checksum.c projects/ipsec/sbin/hastd/hast_proto.c projects/ipsec/sbin/ifconfig/ifieee80211.c projects/ipsec/sbin/kldload/kldload.c projects/ipsec/sbin/nvmecontrol/Makefile projects/ipsec/sbin/nvmecontrol/firmware.c projects/ipsec/sbin/nvmecontrol/logpage.c projects/ipsec/sbin/nvmecontrol/nvmecontrol.8 projects/ipsec/sbin/nvmecontrol/nvmecontrol.c projects/ipsec/sbin/nvmecontrol/nvmecontrol.h projects/ipsec/sbin/savecore/savecore.c projects/ipsec/sys/amd64/include/pcpu.h projects/ipsec/sys/amd64/linux/linux_dummy.c projects/ipsec/sys/amd64/linux/linux_proto.h projects/ipsec/sys/amd64/linux/linux_syscall.h projects/ipsec/sys/amd64/linux/linux_syscalls.c projects/ipsec/sys/amd64/linux/linux_sysent.c projects/ipsec/sys/amd64/linux/linux_systrace_args.c projects/ipsec/sys/amd64/linux/syscalls.master projects/ipsec/sys/amd64/linux32/linux32_dummy.c projects/ipsec/sys/amd64/linux32/linux32_proto.h projects/ipsec/sys/amd64/linux32/linux32_syscall.h projects/ipsec/sys/amd64/linux32/linux32_syscalls.c projects/ipsec/sys/amd64/linux32/linux32_sysent.c projects/ipsec/sys/amd64/linux32/linux32_systrace_args.c projects/ipsec/sys/amd64/linux32/syscalls.master projects/ipsec/sys/arm/include/_types.h projects/ipsec/sys/arm64/include/_types.h projects/ipsec/sys/cddl/contrib/opensolaris/uts/common/dtrace/dtrace.c projects/ipsec/sys/cddl/contrib/opensolaris/uts/common/sys/dtrace.h projects/ipsec/sys/cddl/dev/dtrace/dtrace_ioctl.c projects/ipsec/sys/compat/freebsd32/freebsd32_misc.c projects/ipsec/sys/compat/linux/linux_file.c projects/ipsec/sys/compat/linux/linux_misc.c projects/ipsec/sys/compat/linux/linux_socket.h projects/ipsec/sys/dev/iwm/if_iwm.c projects/ipsec/sys/dev/iwm/if_iwm_mac_ctxt.c projects/ipsec/sys/dev/iwm/if_iwm_pcie_trans.c projects/ipsec/sys/dev/iwm/if_iwm_phy_db.c projects/ipsec/sys/dev/iwm/if_iwm_phy_db.h projects/ipsec/sys/dev/iwm/if_iwm_scan.c projects/ipsec/sys/dev/iwm/if_iwm_util.c projects/ipsec/sys/dev/iwm/if_iwmreg.h projects/ipsec/sys/dev/iwm/if_iwmvar.h projects/ipsec/sys/dev/mmc/mmc.c projects/ipsec/sys/dev/mmc/mmcreg.h projects/ipsec/sys/dev/sdhci/sdhci.c projects/ipsec/sys/dev/sdhci/sdhci.h projects/ipsec/sys/dev/sdhci/sdhci_fdt.c projects/ipsec/sys/dev/sdhci/sdhci_pci.c projects/ipsec/sys/dev/usb/serial/uftdi.c projects/ipsec/sys/dev/usb/serial/usb_serial.c projects/ipsec/sys/dev/usb/serial/usb_serial.h projects/ipsec/sys/i386/linux/linux_dummy.c projects/ipsec/sys/i386/linux/linux_proto.h projects/ipsec/sys/i386/linux/linux_syscall.h projects/ipsec/sys/i386/linux/linux_syscalls.c projects/ipsec/sys/i386/linux/linux_sysent.c projects/ipsec/sys/i386/linux/linux_systrace_args.c projects/ipsec/sys/i386/linux/syscalls.master projects/ipsec/sys/kern/kern_cpuset.c projects/ipsec/sys/kern/kern_descrip.c projects/ipsec/sys/kern/kern_mutex.c projects/ipsec/sys/kern/kern_rmlock.c projects/ipsec/sys/kern/kern_rwlock.c projects/ipsec/sys/kern/kern_sx.c projects/ipsec/sys/kern/subr_witness.c projects/ipsec/sys/kern/vfs_subr.c projects/ipsec/sys/mips/include/_types.h projects/ipsec/sys/mips/include/pcpu.h projects/ipsec/sys/net/iflib.c projects/ipsec/sys/net/netisr.c projects/ipsec/sys/powerpc/include/_types.h projects/ipsec/sys/powerpc/include/cpufunc.h projects/ipsec/sys/powerpc/include/pcpu.h projects/ipsec/sys/riscv/include/_types.h projects/ipsec/sys/riscv/include/atomic.h projects/ipsec/sys/sparc64/include/_types.h projects/ipsec/sys/sparc64/include/pcpu.h projects/ipsec/sys/sys/lockstat.h projects/ipsec/sys/sys/mutex.h projects/ipsec/sys/sys/rwlock.h projects/ipsec/sys/sys/sdt.h projects/ipsec/sys/sys/sx.h projects/ipsec/sys/sys/syscallsubr.h projects/ipsec/sys/sys/types.h projects/ipsec/sys/vm/vm_object.h projects/ipsec/sys/x86/include/_types.h projects/ipsec/tools/tools/nanobsd/embedded/rpi2.cfg projects/ipsec/usr.bin/sed/main.c Directory Properties: projects/ipsec/ (props changed) projects/ipsec/cddl/ (props changed) projects/ipsec/cddl/contrib/opensolaris/ (props changed) projects/ipsec/sys/cddl/contrib/opensolaris/ (props changed) Modified: projects/ipsec/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/usdt/tst.enabled2.ksh ============================================================================== --- projects/ipsec/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/usdt/tst.enabled2.ksh Mon Feb 6 03:29:50 2017 (r313312) +++ projects/ipsec/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/usdt/tst.enabled2.ksh Mon Feb 6 04:30:18 2017 (r313313) @@ -77,7 +77,7 @@ main(int argc, char **argv) } EOF -cc -c -xO2 test.c +cc -c -O2 test.c if [ $? -ne 0 ]; then print -u2 "failed to compile test.c" exit 1 Modified: projects/ipsec/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/usdt/tst.include.ksh ============================================================================== --- projects/ipsec/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/usdt/tst.include.ksh Mon Feb 6 03:29:50 2017 (r313312) +++ projects/ipsec/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/usdt/tst.include.ksh Mon Feb 6 04:30:18 2017 (r313313) @@ -25,7 +25,7 @@ # # ident "%Z%%M% %I% %E% SMI" -# Make sure defines _DTRACE_VERSION +# Make sure defines _DTRACE_VERSION DIR=/var/tmp/dtest.$$ @@ -33,7 +33,7 @@ mkdir $DIR cd $DIR cat > test.c < +#include int main(int argc, char **argv) @@ -46,7 +46,7 @@ main(int argc, char **argv) } EOF -cc -xarch=generic -o test test.c +cc -o test test.c if [ $? -ne 0 ]; then print -u2 "failed to compile test.c" exit 1 Modified: projects/ipsec/cddl/contrib/opensolaris/lib/libdtrace/common/dt_dof.c ============================================================================== --- projects/ipsec/cddl/contrib/opensolaris/lib/libdtrace/common/dt_dof.c Mon Feb 6 03:29:50 2017 (r313312) +++ projects/ipsec/cddl/contrib/opensolaris/lib/libdtrace/common/dt_dof.c Mon Feb 6 04:30:18 2017 (r313313) @@ -462,18 +462,8 @@ dof_add_probe(dt_idhash_t *dhp, dt_ident dt_buf_write(dtp, &ddo->ddo_enoffs, pip->pi_enoffs, pip->pi_nenoffs * sizeof (uint32_t), sizeof (uint32_t)); - /* - * If pi_rname isn't set, the relocation will be against the - * function name. If it is, the relocation will be against - * pi_rname. This will be used if the function is scoped - * locally so an alternate symbol is added for the purpose - * of this relocation. - */ - if (pip->pi_rname == NULL) - dofr.dofr_name = dofpr.dofpr_func; - else - dofr.dofr_name = dof_add_string(ddo, pip->pi_rname); - dofr.dofr_type = DOF_RELO_SETX; + dofr.dofr_name = dof_add_string(ddo, pip->pi_rname); + dofr.dofr_type = DOF_RELO_DOFREL; dofr.dofr_offset = dt_buf_len(&ddo->ddo_probes); dofr.dofr_data = 0; Modified: projects/ipsec/cddl/contrib/opensolaris/lib/libdtrace/common/dt_link.c ============================================================================== --- projects/ipsec/cddl/contrib/opensolaris/lib/libdtrace/common/dt_link.c Mon Feb 6 03:29:50 2017 (r313312) +++ projects/ipsec/cddl/contrib/opensolaris/lib/libdtrace/common/dt_link.c Mon Feb 6 04:30:18 2017 (r313313) @@ -237,7 +237,7 @@ printf("%s:%s(%d): DOODAD\n",__FUNCTION_ rel->r_offset = s->dofs_offset + dofr[j].dofr_offset; rel->r_info = ELF32_R_INFO(count + dep->de_global, - R_386_32); + R_386_PC32); #elif defined(__mips__) /* XXX */ printf("%s:%s(%d): DOODAD\n",__FUNCTION__,__FILE__,__LINE__); @@ -253,15 +253,6 @@ printf("%s:%s(%d): DOODAD\n",__FUNCTION_ #elif defined(__riscv__) /* XXX */ printf("%s:%s(%d): DOODAD\n",__FUNCTION__,__FILE__,__LINE__); -#elif defined(__sparc) - /* - * Add 4 bytes to hit the low half of this 64-bit - * big-endian address. - */ - rel->r_offset = s->dofs_offset + - dofr[j].dofr_offset + 4; - rel->r_info = ELF32_R_INFO(count + dep->de_global, - R_SPARC_32); #else #error unknown ISA #endif @@ -270,7 +261,7 @@ printf("%s:%s(%d): DOODAD\n",__FUNCTION_ sym->st_value = 0; sym->st_size = 0; sym->st_info = ELF32_ST_INFO(STB_GLOBAL, STT_FUNC); - sym->st_other = 0; + sym->st_other = ELF32_ST_VISIBILITY(STV_HIDDEN); sym->st_shndx = SHN_UNDEF; rel++; @@ -287,11 +278,7 @@ printf("%s:%s(%d): DOODAD\n",__FUNCTION_ sym->st_value = 0; sym->st_size = dof->dofh_filesz; sym->st_info = ELF32_ST_INFO(STB_GLOBAL, STT_OBJECT); -#ifdef illumos - sym->st_other = 0; -#else sym->st_other = ELF32_ST_VISIBILITY(STV_HIDDEN); -#endif sym->st_shndx = ESHDR_DOF; sym++; @@ -448,18 +435,8 @@ prepare_elf64(dtrace_hdl_t *dtp, const d #elif defined(__i386) || defined(__amd64) rel->r_offset = s->dofs_offset + dofr[j].dofr_offset; -#ifdef illumos rel->r_info = ELF64_R_INFO(count + dep->de_global, - R_AMD64_64); -#else - rel->r_info = ELF64_R_INFO(count + dep->de_global, - R_X86_64_RELATIVE); -#endif -#elif defined(__sparc) - rel->r_offset = s->dofs_offset + - dofr[j].dofr_offset; - rel->r_info = ELF64_R_INFO(count + dep->de_global, - R_SPARC_64); + R_X86_64_PC64); #else #error unknown ISA #endif @@ -468,7 +445,7 @@ prepare_elf64(dtrace_hdl_t *dtp, const d sym->st_value = 0; sym->st_size = 0; sym->st_info = GELF_ST_INFO(STB_GLOBAL, STT_FUNC); - sym->st_other = 0; + sym->st_other = ELF64_ST_VISIBILITY(STV_HIDDEN); sym->st_shndx = SHN_UNDEF; rel++; @@ -485,11 +462,7 @@ prepare_elf64(dtrace_hdl_t *dtp, const d sym->st_value = 0; sym->st_size = dof->dofh_filesz; sym->st_info = GELF_ST_INFO(STB_GLOBAL, STT_OBJECT); -#ifdef illumos - sym->st_other = 0; -#else sym->st_other = ELF64_ST_VISIBILITY(STV_HIDDEN); -#endif sym->st_shndx = ESHDR_DOF; sym++; @@ -797,16 +770,15 @@ dump_elf64(dtrace_hdl_t *dtp, const dof_ } static int -dt_symtab_lookup(Elf_Data *data_sym, int nsym, uintptr_t addr, uint_t shn, - GElf_Sym *sym, int uses_funcdesc, Elf *elf) +dt_symtab_lookup(Elf_Data *data_sym, int start, int end, uintptr_t addr, + uint_t shn, GElf_Sym *sym, int uses_funcdesc, Elf *elf) { - int i, ret = -1; Elf64_Addr symval; Elf_Scn *opd_scn; Elf_Data *opd_desc; - GElf_Sym s; + int i; - for (i = 0; i < nsym && gelf_getsym(data_sym, i, sym) != NULL; i++) { + for (i = start; i < end && gelf_getsym(data_sym, i, sym) != NULL; i++) { if (GELF_ST_TYPE(sym->st_info) == STT_FUNC) { symval = sym->st_value; if (uses_funcdesc) { @@ -816,20 +788,12 @@ dt_symtab_lookup(Elf_Data *data_sym, int *(uint64_t*)((char *)opd_desc->d_buf + symval); } if ((uses_funcdesc || shn == sym->st_shndx) && - symval <= addr && - addr < symval + sym->st_size) { - if (GELF_ST_BIND(sym->st_info) == STB_GLOBAL) - return (0); - - ret = 0; - s = *sym; - } + symval <= addr && addr < symval + sym->st_size) + return (0); } } - if (ret == 0) - *sym = s; - return (ret); + return (-1); } #if defined(__aarch64__) @@ -1237,10 +1201,11 @@ process_obj(dtrace_hdl_t *dtp, const cha dt_provider_t *pvp; dt_probe_t *prp; uint32_t off, eclass, emachine1, emachine2; - size_t symsize, nsym, isym, istr, len; + size_t symsize, osym, nsym, isym, istr, len; key_t objkey; dt_link_pair_t *pair, *bufs = NULL; dt_strtab_t *strtab; + void *tmp; if ((fd = open64(obj, O_RDWR)) == -1) { return (dt_link_error(dtp, elf, fd, bufs, @@ -1374,12 +1339,13 @@ process_obj(dtrace_hdl_t *dtp, const cha * target (text) section to replace the call instruction with * one or more nops. * - * If the function containing the probe is locally scoped - * (static), we create an alias used by the relocation in the - * generated object. The alias, a new symbol, will be global - * (so that the relocation from the generated object can be - * resolved), and hidden (so that it is converted to a local - * symbol at link time). Such aliases have this form: + * To avoid runtime overhead, the relocations added to the + * generated object should be resolved at static link time. We + * therefore create aliases for the functions that contain + * probes. An alias is global (so that the relocation from the + * generated object can be resolved), and hidden (so that its + * address is known at static link time). Such aliases have this + * form: * * $dtrace. * @@ -1417,16 +1383,13 @@ process_obj(dtrace_hdl_t *dtp, const cha if (strncmp(s, dt_prefix, sizeof (dt_prefix) - 1) != 0) continue; - if (dt_symtab_lookup(data_sym, isym, rela.r_offset, - shdr_rel.sh_info, &fsym, - (emachine1 == EM_PPC64), elf) != 0) { + if (dt_symtab_lookup(data_sym, 0, isym, rela.r_offset, + shdr_rel.sh_info, &fsym, (emachine1 == EM_PPC64), + elf) != 0) { dt_strtab_destroy(strtab); goto err; } - if (GELF_ST_BIND(fsym.st_info) != STB_LOCAL) - continue; - if (fsym.st_name > data_str->d_size) { dt_strtab_destroy(strtab); goto err; @@ -1462,12 +1425,12 @@ process_obj(dtrace_hdl_t *dtp, const cha } /* - * If needed, allocate the additional space for the symbol - * table and string table copying the old data into the new - * buffers, and marking the buffers as dirty. We inject those - * newly allocated buffers into the libelf data structures, but - * are still responsible for freeing them once we're done with - * the elf handle. + * If any probes were found, allocate the additional space for + * the symbol table and string table, copying the old data into + * the new buffers, and marking the buffers as dirty. We inject + * those newly allocated buffers into the libelf data + * structures, but are still responsible for freeing them once + * we're done with the elf handle. */ if (nsym > 0) { /* @@ -1501,7 +1464,9 @@ process_obj(dtrace_hdl_t *dtp, const cha bufs = pair; bcopy(data_str->d_buf, pair->dlp_str, data_str->d_size); + tmp = data_str->d_buf; data_str->d_buf = pair->dlp_str; + pair->dlp_str = tmp; data_str->d_size += len; (void) elf_flagdata(data_str, ELF_C_SET, ELF_F_DIRTY); @@ -1509,16 +1474,20 @@ process_obj(dtrace_hdl_t *dtp, const cha (void) gelf_update_shdr(scn_str, &shdr_str); bcopy(data_sym->d_buf, pair->dlp_sym, data_sym->d_size); + tmp = data_sym->d_buf; data_sym->d_buf = pair->dlp_sym; + pair->dlp_sym = tmp; data_sym->d_size += nsym * symsize; (void) elf_flagdata(data_sym, ELF_C_SET, ELF_F_DIRTY); shdr_sym.sh_size += nsym * symsize; (void) gelf_update_shdr(scn_sym, &shdr_sym); + osym = isym; nsym += isym; } else { dt_strtab_destroy(strtab); + continue; } /* @@ -1577,8 +1546,11 @@ process_obj(dtrace_hdl_t *dtp, const cha bcopy(s, pname, p - s); pname[p - s] = '\0'; - if (dt_symtab_lookup(data_sym, isym, rela.r_offset, - shdr_rel.sh_info, &fsym, + if (dt_symtab_lookup(data_sym, osym, isym, + rela.r_offset, shdr_rel.sh_info, &fsym, + (emachine1 == EM_PPC64), elf) != 0 && + dt_symtab_lookup(data_sym, 0, osym, + rela.r_offset, shdr_rel.sh_info, &fsym, (emachine1 == EM_PPC64), elf) != 0) goto err; @@ -1588,37 +1560,30 @@ process_obj(dtrace_hdl_t *dtp, const cha assert(GELF_ST_TYPE(fsym.st_info) == STT_FUNC); /* - * If a NULL relocation name is passed to - * dt_probe_define(), the function name is used for the - * relocation. The relocation needs to use a mangled - * name if the symbol is locally scoped; the function - * name may need to change if we've found the global - * alias for the locally scoped symbol (we prefer - * global symbols to locals in dt_symtab_lookup()). + * If this is our first time encountering this symbol, + * emit an alias. */ s = (char *)data_str->d_buf + fsym.st_name; - r = NULL; - if (GELF_ST_BIND(fsym.st_info) == STB_LOCAL) { + if (strncmp(s, dt_symprefix, + sizeof (dt_symprefix) - 1) != 0) { + u_int bind = GELF_ST_BIND(fsym.st_info); + dsym = fsym; dsym.st_name = istr; - dsym.st_info = GELF_ST_INFO(STB_GLOBAL, - STT_FUNC); - dsym.st_other = - ELF64_ST_VISIBILITY(STV_ELIMINATE); + dsym.st_info = GELF_ST_INFO(bind == STB_LOCAL ? + STB_GLOBAL : bind, STT_FUNC); + dsym.st_other = GELF_ST_VISIBILITY(STV_HIDDEN); (void) gelf_update_sym(data_sym, isym, &dsym); - - r = (char *)data_str->d_buf + istr; - istr += 1 + sprintf(r, dt_symfmt, - dt_symprefix, objkey, s); + r = (char *) data_str->d_buf + istr; + istr += 1 + sprintf(r, dt_symfmt, dt_symprefix, objkey, + s); isym++; assert(isym <= nsym); - - } else if (strncmp(s, dt_symprefix, - strlen(dt_symprefix)) == 0) { + } else { r = s; - if ((s = strchr(s, '.')) == NULL) - goto err; + s = strchr(s, '.'); + assert(s != NULL); s++; } @@ -1697,9 +1662,6 @@ process_obj(dtrace_hdl_t *dtp, const cha (void) elf_end(elf); (void) close(fd); -#ifndef illumos - if (nsym > 0) -#endif while ((pair = bufs) != NULL) { bufs = pair->dlp_next; dt_free(dtp, pair->dlp_str); Modified: projects/ipsec/cddl/contrib/opensolaris/lib/libdtrace/common/dt_provider.c ============================================================================== --- projects/ipsec/cddl/contrib/opensolaris/lib/libdtrace/common/dt_provider.c Mon Feb 6 03:29:50 2017 (r313312) +++ projects/ipsec/cddl/contrib/opensolaris/lib/libdtrace/common/dt_provider.c Mon Feb 6 04:30:18 2017 (r313313) @@ -545,9 +545,7 @@ dt_probe_define(dt_provider_t *pvp, dt_p for (pip = prp->pr_inst; pip != NULL; pip = pip->pi_next) { if (strcmp(pip->pi_fname, fname) == 0 && - ((rname == NULL && pip->pi_rname == NULL) || - (rname != NULL && pip->pi_rname != NULL && - strcmp(pip->pi_rname, rname) == 0))) + strcmp(pip->pi_rname, rname) == 0) break; } @@ -565,7 +563,7 @@ dt_probe_define(dt_provider_t *pvp, dt_p if ((pip->pi_fname = strdup(fname)) == NULL) goto nomem; - if (rname != NULL && (pip->pi_rname = strdup(rname)) == NULL) + if ((pip->pi_rname = strdup(rname)) == NULL) goto nomem; pip->pi_noffs = 0; @@ -605,7 +603,7 @@ dt_probe_define(dt_provider_t *pvp, dt_p dt_dprintf("defined probe %s %s:%s %s() +0x%x (%s)\n", isenabled ? "(is-enabled)" : "", pvp->pv_desc.dtvd_name, prp->pr_ident->di_name, fname, offset, - rname != NULL ? rname : fname); + rname); assert(*noffs < *maxoffs); (*offs)[(*noffs)++] = offset; Modified: projects/ipsec/etc/devd.conf ============================================================================== --- projects/ipsec/etc/devd.conf Mon Feb 6 03:29:50 2017 (r313312) +++ projects/ipsec/etc/devd.conf Mon Feb 6 04:30:18 2017 (r313313) @@ -272,7 +272,7 @@ nomatch 10 { match "bus" "pccard[0-9]+"; match "manufacturer" "0x1234"; match "product" "0x2323"; - action "kldload if_deqna"; + action "kldload -n if_deqna"; }; attach 10 { device-name "deqna[0-9]+"; Modified: projects/ipsec/sbin/decryptcore/decryptcore.c ============================================================================== --- projects/ipsec/sbin/decryptcore/decryptcore.c Mon Feb 6 03:29:50 2017 (r313312) +++ projects/ipsec/sbin/decryptcore/decryptcore.c Mon Feb 6 04:30:18 2017 (r313313) @@ -31,7 +31,6 @@ __FBSDID("$FreeBSD$"); #include #include #include -#include #include #include @@ -232,8 +231,6 @@ decrypt(const char *privkeyfile, const c pjdlog_errno(LOG_ERR, "Unable to read data from %s", input); goto failed; - } else if (bytes == 0) { - break; } if (bytes > 0) { @@ -249,10 +246,7 @@ decrypt(const char *privkeyfile, const c } } - if (olen == 0) - continue; - - if (write(ofd, buf, olen) != olen) { + if (olen > 0 && write(ofd, buf, olen) != olen) { pjdlog_errno(LOG_ERR, "Unable to write data to %s", output); goto failed; @@ -274,7 +268,6 @@ int main(int argc, char **argv) { char core[PATH_MAX], encryptedcore[PATH_MAX], keyfile[PATH_MAX]; - struct stat sb; const char *crashdir, *dumpnr, *privatekey; int ch, debug; size_t ii; @@ -297,16 +290,23 @@ main(int argc, char **argv) usesyslog = true; break; case 'c': - strncpy(core, optarg, sizeof(core)); + if (strlcpy(core, optarg, sizeof(core)) >= sizeof(core)) + pjdlog_exitx(1, "Core file path is too long."); break; case 'd': crashdir = optarg; break; case 'e': - strncpy(encryptedcore, optarg, sizeof(encryptedcore)); + if (strlcpy(encryptedcore, optarg, + sizeof(encryptedcore)) >= sizeof(encryptedcore)) { + pjdlog_exitx(1, "Encrypted core file path is too long."); + } break; case 'k': - strncpy(keyfile, optarg, sizeof(keyfile)); + if (strlcpy(keyfile, optarg, sizeof(keyfile)) >= + sizeof(keyfile)) { + pjdlog_exitx(1, "Key file path is too long."); + } break; case 'n': dumpnr = optarg; @@ -362,7 +362,7 @@ main(int argc, char **argv) pjdlog_debug_set(debug); if (!decrypt(privatekey, keyfile, encryptedcore, core)) { - if (stat(core, &sb) == 0 && unlink(core) != 0) + if (unlink(core) == -1 && errno != ENOENT) pjdlog_exit(1, "Unable to remove core"); exit(1); } Modified: projects/ipsec/sbin/hastctl/Makefile ============================================================================== --- projects/ipsec/sbin/hastctl/Makefile Mon Feb 6 03:29:50 2017 (r313312) +++ projects/ipsec/sbin/hastctl/Makefile Mon Feb 6 04:30:18 2017 (r313313) @@ -33,11 +33,7 @@ CFLAGS+=-DINET6 CFLAGS+=-DYY_NO_UNPUT CFLAGS+=-DYY_NO_INPUT -LIBADD= util -.if ${MK_OPENSSL} != "no" -LIBADD+= crypto -CFLAGS+=-DHAVE_CRYPTO -.endif +LIBADD= md util YFLAGS+=-v Modified: projects/ipsec/sbin/hastd/Makefile ============================================================================== --- projects/ipsec/sbin/hastd/Makefile Mon Feb 6 03:29:50 2017 (r313312) +++ projects/ipsec/sbin/hastd/Makefile Mon Feb 6 04:30:18 2017 (r313313) @@ -31,11 +31,7 @@ CFLAGS+=-DINET CFLAGS+=-DINET6 .endif -LIBADD= geom pthread util -.if ${MK_OPENSSL} != "no" -LIBADD+= crypto -CFLAGS+=-DHAVE_CRYPTO -.endif +LIBADD= geom md pthread util YFLAGS+=-v Modified: projects/ipsec/sbin/hastd/hast_checksum.c ============================================================================== --- projects/ipsec/sbin/hastd/hast_checksum.c Mon Feb 6 03:29:50 2017 (r313312) +++ projects/ipsec/sbin/hastd/hast_checksum.c Mon Feb 6 04:30:18 2017 (r313313) @@ -31,22 +31,15 @@ __FBSDID("$FreeBSD$"); #include #include -#ifdef HAVE_CRYPTO -#include -#endif - #include #include #include +#include #include #include "hast_checksum.h" -#ifdef HAVE_CRYPTO #define MAX_HASH_SIZE SHA256_DIGEST_LENGTH -#else -#define MAX_HASH_SIZE 4 -#endif static void hast_crc32_checksum(const unsigned char *data, size_t size, @@ -60,7 +53,6 @@ hast_crc32_checksum(const unsigned char *hsizep = sizeof(crc); } -#ifdef HAVE_CRYPTO static void hast_sha256_checksum(const unsigned char *data, size_t size, unsigned char *hash, size_t *hsizep) @@ -72,7 +64,6 @@ hast_sha256_checksum(const unsigned char SHA256_Final(hash, &ctx); *hsizep = SHA256_DIGEST_LENGTH; } -#endif /* HAVE_CRYPTO */ const char * checksum_name(int num) @@ -102,11 +93,9 @@ checksum_send(const struct hast_resource case HAST_CHECKSUM_CRC32: hast_crc32_checksum(*datap, *sizep, hash, &hsize); break; -#ifdef HAVE_CRYPTO case HAST_CHECKSUM_SHA256: hast_sha256_checksum(*datap, *sizep, hash, &hsize); break; -#endif default: PJDLOG_ABORT("Invalid checksum: %d.", res->hr_checksum); } @@ -138,10 +127,8 @@ checksum_recv(const struct hast_resource } if (strcmp(algo, "crc32") == 0) hast_crc32_checksum(*datap, *sizep, chash, &chsize); -#ifdef HAVE_CRYPTO else if (strcmp(algo, "sha256") == 0) hast_sha256_checksum(*datap, *sizep, chash, &chsize); -#endif else { pjdlog_error("Unknown checksum algorithm '%s'.", algo); return (-1); /* Unknown checksum algorithm. */ Modified: projects/ipsec/sbin/hastd/hast_proto.c ============================================================================== --- projects/ipsec/sbin/hastd/hast_proto.c Mon Feb 6 03:29:50 2017 (r313312) +++ projects/ipsec/sbin/hastd/hast_proto.c Mon Feb 6 04:30:18 2017 (r313313) @@ -42,9 +42,7 @@ __FBSDID("$FreeBSD$"); #include #include -#ifdef HAVE_CRYPTO #include "hast_checksum.h" -#endif #include "hast_compression.h" #include "hast_proto.h" @@ -68,9 +66,7 @@ struct hast_pipe_stage { static struct hast_pipe_stage pipeline[] = { { "compression", compression_send, compression_recv }, -#ifdef HAVE_CRYPTO { "checksum", checksum_send, checksum_recv } -#endif }; /* Modified: projects/ipsec/sbin/ifconfig/ifieee80211.c ============================================================================== --- projects/ipsec/sbin/ifconfig/ifieee80211.c Mon Feb 6 03:29:50 2017 (r313312) +++ projects/ipsec/sbin/ifconfig/ifieee80211.c Mon Feb 6 04:30:18 2017 (r313313) @@ -5594,12 +5594,12 @@ static struct cmd ieee80211_cmds[] = { DEF_CMD_ARG("bgscanidle", set80211bgscanidle), DEF_CMD_ARG("bgscanintvl", set80211bgscanintvl), DEF_CMD_ARG("scanvalid", set80211scanvalid), - DEF_CMD("quiet", 1, set80211quiet), - DEF_CMD("-quiet", 0, set80211quiet), - DEF_CMD_ARG("quiet_count", set80211quietcount), - DEF_CMD_ARG("quiet_period", set80211quietperiod), - DEF_CMD_ARG("quiet_dur", set80211quietduration), - DEF_CMD_ARG("quiet_offset", set80211quietoffset), + DEF_CMD("quiet", 1, set80211quiet), + DEF_CMD("-quiet", 0, set80211quiet), + DEF_CMD_ARG("quiet_count", set80211quietcount), + DEF_CMD_ARG("quiet_period", set80211quietperiod), + DEF_CMD_ARG("quiet_duration", set80211quietduration), + DEF_CMD_ARG("quiet_offset", set80211quietoffset), DEF_CMD_ARG("roam:rssi", set80211roamrssi), DEF_CMD_ARG("roam:rate", set80211roamrate), DEF_CMD_ARG("mcastrate", set80211mcastrate), Modified: projects/ipsec/sbin/kldload/kldload.c ============================================================================== --- projects/ipsec/sbin/kldload/kldload.c Mon Feb 6 03:29:50 2017 (r313312) +++ projects/ipsec/sbin/kldload/kldload.c Mon Feb 6 04:30:18 2017 (r313313) @@ -41,9 +41,6 @@ __FBSDID("$FreeBSD$"); #define PATHCTL "kern.module_path" -static int path_check(const char *, int); -static void usage(void); - /* * Check to see if the requested module is specified as a filename with no * path. If so and if a file by the same name exists in the module path, @@ -52,43 +49,37 @@ static void usage(void); static int path_check(const char *kldname, int quiet) { - int mib[5], found; - size_t miblen, pathlen; - char kldpath[MAXPATHLEN]; char *path, *tmppath, *element; struct stat sb; + int mib[5]; + char kldpath[MAXPATHLEN]; + size_t miblen, pathlen; dev_t dev; ino_t ino; + int found; - if (strchr(kldname, '/') != NULL) { + if (strchr(kldname, '/') != NULL) return (0); - } - if (strstr(kldname, ".ko") == NULL) { + if (strstr(kldname, ".ko") == NULL) return (0); - } - if (stat(kldname, &sb) != 0) { + if (stat(kldname, &sb) != 0) return (0); - } found = 0; dev = sb.st_dev; ino = sb.st_ino; miblen = nitems(mib); - if (sysctlnametomib(PATHCTL, mib, &miblen) != 0) { + if (sysctlnametomib(PATHCTL, mib, &miblen) != 0) err(1, "sysctlnametomib(%s)", PATHCTL); - } - if (sysctl(mib, miblen, NULL, &pathlen, NULL, 0) == -1) { + if (sysctl(mib, miblen, NULL, &pathlen, NULL, 0) == -1) err(1, "getting path: sysctl(%s) - size only", PATHCTL); - } path = malloc(pathlen + 1); - if (path == NULL) { + if (path == NULL) err(1, "allocating %lu bytes for the path", (unsigned long)pathlen + 1); - } - if (sysctl(mib, miblen, path, &pathlen, NULL, 0) == -1) { + if (sysctl(mib, miblen, path, &pathlen, NULL, 0) == -1) err(1, "getting path: sysctl(%s)", PATHCTL); - } tmppath = path; while ((element = strsep(&tmppath, ";")) != NULL) { @@ -97,39 +88,36 @@ path_check(const char *kldname, int quie strlcat(kldpath, "/", MAXPATHLEN); } strlcat(kldpath, kldname, MAXPATHLEN); - - if (stat(kldpath, &sb) == -1) { + + if (stat(kldpath, &sb) == -1) continue; - } found = 1; if (sb.st_dev != dev || sb.st_ino != ino) { - if (!quiet) { + if (!quiet) warnx("%s will be loaded from %s, not the " "current directory", kldname, element); - } break; - } else if (sb.st_dev == dev && sb.st_ino == ino) { + } else if (sb.st_dev == dev && sb.st_ino == ino) break; - } } free(path); - + if (!found) { - if (!quiet) { + if (!quiet) warnx("%s is not in the module path", kldname); - } return (-1); } - + return (0); } static void usage(void) { + fprintf(stderr, "usage: kldload [-nqv] file ...\n"); exit(1); } @@ -138,17 +126,17 @@ int main(int argc, char** argv) { int c; + int check_loaded; int errors; int fileid; - int verbose; int quiet; - int check_loaded; + int verbose; errors = 0; verbose = 0; quiet = 0; check_loaded = 0; - + while ((c = getopt(argc, argv, "nqv")) != -1) { switch (c) { case 'q': @@ -204,9 +192,8 @@ main(int argc, char** argv) printf("Loaded %s, id=%d\n", argv[0], fileid); } - } else { + } else errors++; - } argv++; } Modified: projects/ipsec/sbin/nvmecontrol/Makefile ============================================================================== --- projects/ipsec/sbin/nvmecontrol/Makefile Mon Feb 6 03:29:50 2017 (r313312) +++ projects/ipsec/sbin/nvmecontrol/Makefile Mon Feb 6 04:30:18 2017 (r313313) @@ -3,7 +3,7 @@ PACKAGE=runtime PROG= nvmecontrol SRCS= nvmecontrol.c devlist.c firmware.c identify.c logpage.c \ - perftest.c reset.c nvme_util.c power.c + perftest.c reset.c nvme_util.c power.c wdc.c MAN= nvmecontrol.8 .PATH: ${.CURDIR}/../../sys/dev/nvme Modified: projects/ipsec/sbin/nvmecontrol/firmware.c ============================================================================== --- projects/ipsec/sbin/nvmecontrol/firmware.c Mon Feb 6 03:29:50 2017 (r313312) +++ projects/ipsec/sbin/nvmecontrol/firmware.c Mon Feb 6 04:30:18 2017 (r313313) @@ -114,7 +114,7 @@ update_firmware(int fd, uint8_t *payload off = 0; resid = payload_size; - if ((chunk = aligned_alloc(NVME_MAX_XFER_SIZE, PAGE_SIZE)) == NULL) + if ((chunk = aligned_alloc(PAGE_SIZE, NVME_MAX_XFER_SIZE)) == NULL) errx(1, "unable to malloc %d bytes", NVME_MAX_XFER_SIZE); while (resid > 0) { Modified: projects/ipsec/sbin/nvmecontrol/logpage.c ============================================================================== --- projects/ipsec/sbin/nvmecontrol/logpage.c Mon Feb 6 03:29:50 2017 (r313312) +++ projects/ipsec/sbin/nvmecontrol/logpage.c Mon Feb 6 04:30:18 2017 (r313313) @@ -74,6 +74,12 @@ kv_lookup(const struct kv_name *kv, size return bad; } +static void +print_bin(void *data, uint32_t length) +{ + write(STDOUT_FILENO, data, length); +} + /* * 128-bit integer augments to standard values. On i386 this * doesn't exist, so we use 64-bit values. The 128-bit counters @@ -846,6 +852,8 @@ static struct logpage_function { sizeof(struct nvme_firmware_page)}, {HGST_INFO_LOG, "hgst", print_hgst_info_log, DEFAULT_SIZE}, + {HGST_INFO_LOG, "wdc", print_hgst_info_log, + DEFAULT_SIZE}, {INTEL_LOG_TEMP_STATS, "intel", print_intel_temp_stats, sizeof(struct intel_log_temp_stats)}, {INTEL_LOG_READ_LAT_LOG, "intel", print_intel_read_lat_log, @@ -870,7 +878,7 @@ logpage(int argc, char *argv[]) { int fd, nsid; int log_page = 0, pageflag = false; - int hexflag = false, ns_specified; + int binflag = false, hexflag = false, ns_specified; char ch, *p; char cname[64]; uint32_t size; @@ -880,8 +888,11 @@ logpage(int argc, char *argv[]) struct nvme_controller_data cdata; print_fn_t print_fn; - while ((ch = getopt(argc, argv, "p:xv:")) != -1) { + while ((ch = getopt(argc, argv, "bp:xv:")) != -1) { switch (ch) { + case 'b': + binflag = true; + break; case 'p': /* TODO: Add human-readable ASCII page IDs */ log_page = strtol(optarg, &p, 0); @@ -940,7 +951,9 @@ logpage(int argc, char *argv[]) print_fn = print_hex; size = DEFAULT_SIZE; - if (!hexflag) { + if (binflag) + print_fn = print_bin; + if (!binflag && !hexflag) { /* * See if there is a pretty print function for the specified log * page. If one isn't found, we just revert to the default Modified: projects/ipsec/sbin/nvmecontrol/nvmecontrol.8 ============================================================================== --- projects/ipsec/sbin/nvmecontrol/nvmecontrol.8 Mon Feb 6 03:29:50 2017 (r313312) +++ projects/ipsec/sbin/nvmecontrol/nvmecontrol.8 Mon Feb 6 04:30:18 2017 (r313313) @@ -33,7 +33,7 @@ .\" .\" $FreeBSD$ .\" -.Dd September 10, 2016 +.Dd February 4, 2017 .Dt NVMECONTROL 8 .Os .Sh NAME @@ -62,6 +62,8 @@ .Ic logpage .Aq Fl p Ar page_id .Op Fl x +.Op Fl v Ar vendor-string +.Op Fl b .Aq device id .Aq namespace id .Nm @@ -74,10 +76,48 @@ .Ic power .Op Fl l .Op Fl p power_state -.Op fl w workload_hint +.Op Fl w workload_hint +.Nm +.Ic wdc cap-diag +.Op Fl o path_template +.Aq device id +.Nm +.Ic wdc drive-log +.Op Fl o path_template +.Aq device id +.Nm +.Ic wdc get-crash-dump +.Op Fl o path_template +.Aq device id +.\" .Nm +.\" .Ic wdc purge +.\" .Aq device id +.\" .Nm +.\" .Ic wdc purge-monitor +.\" .Aq device id .Sh DESCRIPTION NVM Express (NVMe) is a storage protocol standard, for SSDs and other high-speed storage devices over PCI Express. +.Pp +.Ss logpage +The logpage command knows how to print log pages of various types. +It also knows about vendor specific log pages from hgst/wdc and intel. +Page 0xc1 for hgst/wdc contains the advanced smart information about +the drive. +Page 0xc1 is read latency stats for intel. +Page 0xc2 is write latency stats for intel. +Page 0xc5 is temperature stats for intel. +Page 0xca is advanced smart information for intel. +.Ss wdc +The various wdc command retrieve log data from the wdc/hgst drives. +The +.Fl o +flag specifies a path template to use to output the files. +Each file takes the path template (which defaults to nothing), appends +the drive's serial number and the type of dump it is followed +by .bin. +These logs must be sent to the vendor for analysis. +This tool only provides a way to extract them. .Sh EXAMPLES .Dl nvmecontrol devlist .Pp @@ -108,10 +148,21 @@ Display a human-readable summary of the Log pages defined by the NVMe specification include Error Information Log (ID=1), SMART/Health Information Log (ID=2), and Firmware Slot Log (ID=3). .Pp +.Dl nvmecontrol logpage -p 0xc1 -v wdc nvme0 +.Pp +Display a human-readable summary of the nvme0's wdc-specific advanced +SMART data. +.Pp .Dl nvmecontrol logpage -p 1 -x nvme0 .Pp Display a hexadecimal dump of the nvme0 controller's Error Information Log. .Pp +.Dl nvmecontrol logpage -p 0xcb -b nvme0 > /tmp/page-cb.bin +.Pp +Print the contents of vendor specific page 0xcb as binary data on +standard out. +Redirect it to a temporary file. +.Pp .Dl nvmecontrol firmware -s 2 -f /tmp/nvme_firmware nvme0 .Pp Download the firmware image contained in "/tmp/nvme_firmware" to slot 2 of the Modified: projects/ipsec/sbin/nvmecontrol/nvmecontrol.c ============================================================================== --- projects/ipsec/sbin/nvmecontrol/nvmecontrol.c Mon Feb 6 03:29:50 2017 (r313312) +++ projects/ipsec/sbin/nvmecontrol/nvmecontrol.c Mon Feb 6 04:30:18 2017 (r313313) @@ -45,13 +45,8 @@ __FBSDID("$FreeBSD$"); #include "nvmecontrol.h" -typedef void (*nvme_fn_t)(int argc, char *argv[]); -static struct nvme_function { - const char *name; - nvme_fn_t fn; - const char *usage; -} funcs[] = { +static struct nvme_function funcs[] = { {"devlist", devlist, DEVLIST_USAGE}, {"identify", identify, IDENTIFY_USAGE}, {"perftest", perftest, PERFTEST_USAGE}, @@ -59,15 +54,14 @@ static struct nvme_function { {"logpage", logpage, LOGPAGE_USAGE}, {"firmware", firmware, FIRMWARE_USAGE}, {"power", power, POWER_USAGE}, + {"wdc", wdc, WDC_USAGE}, {NULL, NULL, NULL}, }; -static void -usage(void) +void +gen_usage(struct nvme_function *f) { - struct nvme_function *f; - f = funcs; fprintf(stderr, "usage:\n"); while (f->name != NULL) { fprintf(stderr, "%s", f->usage); @@ -76,6 +70,21 @@ usage(void) exit(1); } +void +dispatch(int argc, char *argv[], struct nvme_function *tbl) +{ + struct nvme_function *f = tbl; + + while (f->name != NULL) { + if (strcmp(argv[1], f->name) == 0) + f->fn(argc-1, &argv[1]); + f++; + } *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-projects@freebsd.org Tue Feb 7 01:33:43 2017 Return-Path: Delivered-To: svn-src-projects@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 127A3CD35A3 for ; Tue, 7 Feb 2017 01:33:43 +0000 (UTC) (envelope-from ngie@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id A1E06DD1; Tue, 7 Feb 2017 01:33:42 +0000 (UTC) (envelope-from ngie@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v171Xf3A091183; Tue, 7 Feb 2017 01:33:41 GMT (envelope-from ngie@FreeBSD.org) Received: (from ngie@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v171XdHq091162; Tue, 7 Feb 2017 01:33:39 GMT (envelope-from ngie@FreeBSD.org) Message-Id: <201702070133.v171XdHq091162@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: ngie set sender to ngie@FreeBSD.org using -f From: Ngie Cooper Date: Tue, 7 Feb 2017 01:33:39 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r313361 - in projects/netbsd-tests-upstream-01-2017: . bin/ed contrib/netcat etc lib/libipsec lib/libstand sbin/ifconfig sbin/kldload sbin/setkey secure/usr.bin secure/usr.bin/bdes shar... X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 07 Feb 2017 01:33:43 -0000 Author: ngie Date: Tue Feb 7 01:33:39 2017 New Revision: 313361 URL: https://svnweb.freebsd.org/changeset/base/313361 Log: MFhead@r313360 Added: projects/netbsd-tests-upstream-01-2017/sbin/ifconfig/ifipsec.c - copied unchanged from r313360, head/sbin/ifconfig/ifipsec.c projects/netbsd-tests-upstream-01-2017/share/man/man4/if_ipsec.4 - copied unchanged from r313360, head/share/man/man4/if_ipsec.4 projects/netbsd-tests-upstream-01-2017/sys/dev/iwm/if_iwm_notif_wait.c - copied unchanged from r313360, head/sys/dev/iwm/if_iwm_notif_wait.c projects/netbsd-tests-upstream-01-2017/sys/dev/iwm/if_iwm_notif_wait.h - copied unchanged from r313360, head/sys/dev/iwm/if_iwm_notif_wait.h projects/netbsd-tests-upstream-01-2017/sys/modules/ipsec/ - copied from r313360, head/sys/modules/ipsec/ projects/netbsd-tests-upstream-01-2017/sys/modules/tcp/tcpmd5/ - copied from r313360, head/sys/modules/tcp/tcpmd5/ projects/netbsd-tests-upstream-01-2017/sys/net/if_ipsec.c - copied unchanged from r313360, head/sys/net/if_ipsec.c projects/netbsd-tests-upstream-01-2017/sys/net/if_ipsec.h - copied unchanged from r313360, head/sys/net/if_ipsec.h projects/netbsd-tests-upstream-01-2017/sys/netipsec/ipsec_mod.c - copied unchanged from r313360, head/sys/netipsec/ipsec_mod.c projects/netbsd-tests-upstream-01-2017/sys/netipsec/ipsec_pcb.c - copied unchanged from r313360, head/sys/netipsec/ipsec_pcb.c projects/netbsd-tests-upstream-01-2017/sys/netipsec/ipsec_support.h - copied unchanged from r313360, head/sys/netipsec/ipsec_support.h projects/netbsd-tests-upstream-01-2017/sys/netipsec/subr_ipsec.c - copied unchanged from r313360, head/sys/netipsec/subr_ipsec.c projects/netbsd-tests-upstream-01-2017/sys/netipsec/udpencap.c - copied unchanged from r313360, head/sys/netipsec/udpencap.c Deleted: projects/netbsd-tests-upstream-01-2017/secure/usr.bin/bdes/ projects/netbsd-tests-upstream-01-2017/sys/netinet/ip_ipsec.c projects/netbsd-tests-upstream-01-2017/sys/netinet/ip_ipsec.h projects/netbsd-tests-upstream-01-2017/sys/netinet6/ip6_ipsec.c projects/netbsd-tests-upstream-01-2017/sys/netinet6/ip6_ipsec.h Modified: projects/netbsd-tests-upstream-01-2017/ObsoleteFiles.inc projects/netbsd-tests-upstream-01-2017/bin/ed/ed.1 projects/netbsd-tests-upstream-01-2017/contrib/netcat/netcat.c projects/netbsd-tests-upstream-01-2017/etc/devd.conf projects/netbsd-tests-upstream-01-2017/lib/libipsec/pfkey.c projects/netbsd-tests-upstream-01-2017/lib/libipsec/pfkey_dump.c projects/netbsd-tests-upstream-01-2017/lib/libstand/stand.h projects/netbsd-tests-upstream-01-2017/sbin/ifconfig/Makefile projects/netbsd-tests-upstream-01-2017/sbin/kldload/kldload.c projects/netbsd-tests-upstream-01-2017/sbin/setkey/setkey.8 projects/netbsd-tests-upstream-01-2017/secure/usr.bin/Makefile projects/netbsd-tests-upstream-01-2017/share/man/man4/Makefile projects/netbsd-tests-upstream-01-2017/share/man/man4/cxgbe.4 projects/netbsd-tests-upstream-01-2017/share/man/man4/ipsec.4 projects/netbsd-tests-upstream-01-2017/share/man/man4/tcp.4 projects/netbsd-tests-upstream-01-2017/share/man/man4/udp.4 projects/netbsd-tests-upstream-01-2017/sys/amd64/linux/linux_dummy.c projects/netbsd-tests-upstream-01-2017/sys/amd64/linux/linux_proto.h projects/netbsd-tests-upstream-01-2017/sys/amd64/linux/linux_syscall.h projects/netbsd-tests-upstream-01-2017/sys/amd64/linux/linux_syscalls.c projects/netbsd-tests-upstream-01-2017/sys/amd64/linux/linux_sysent.c projects/netbsd-tests-upstream-01-2017/sys/amd64/linux/linux_systrace_args.c projects/netbsd-tests-upstream-01-2017/sys/amd64/linux/syscalls.master projects/netbsd-tests-upstream-01-2017/sys/amd64/linux32/linux32_dummy.c projects/netbsd-tests-upstream-01-2017/sys/amd64/linux32/linux32_proto.h projects/netbsd-tests-upstream-01-2017/sys/amd64/linux32/linux32_syscall.h projects/netbsd-tests-upstream-01-2017/sys/amd64/linux32/linux32_syscalls.c projects/netbsd-tests-upstream-01-2017/sys/amd64/linux32/linux32_sysent.c projects/netbsd-tests-upstream-01-2017/sys/amd64/linux32/linux32_systrace_args.c projects/netbsd-tests-upstream-01-2017/sys/amd64/linux32/syscalls.master projects/netbsd-tests-upstream-01-2017/sys/arm/arm/identcpu-v4.c projects/netbsd-tests-upstream-01-2017/sys/arm/include/counter.h projects/netbsd-tests-upstream-01-2017/sys/arm64/arm64/cpufunc_asm.S projects/netbsd-tests-upstream-01-2017/sys/arm64/include/counter.h projects/netbsd-tests-upstream-01-2017/sys/arm64/include/cpufunc.h projects/netbsd-tests-upstream-01-2017/sys/boot/common/bcache.c projects/netbsd-tests-upstream-01-2017/sys/boot/common/bootstrap.h projects/netbsd-tests-upstream-01-2017/sys/boot/common/disk.c projects/netbsd-tests-upstream-01-2017/sys/boot/common/part.c projects/netbsd-tests-upstream-01-2017/sys/boot/common/part.h projects/netbsd-tests-upstream-01-2017/sys/boot/efi/include/efilib.h projects/netbsd-tests-upstream-01-2017/sys/boot/efi/libefi/devpath.c projects/netbsd-tests-upstream-01-2017/sys/boot/efi/libefi/efipart.c projects/netbsd-tests-upstream-01-2017/sys/boot/efi/loader/conf.c projects/netbsd-tests-upstream-01-2017/sys/boot/efi/loader/devicename.c projects/netbsd-tests-upstream-01-2017/sys/boot/efi/loader/main.c projects/netbsd-tests-upstream-01-2017/sys/boot/i386/btx/lib/btxv86.h projects/netbsd-tests-upstream-01-2017/sys/boot/i386/libi386/bioscd.c projects/netbsd-tests-upstream-01-2017/sys/boot/i386/libi386/biosdisk.c projects/netbsd-tests-upstream-01-2017/sys/boot/usb/storage/umass_loader.c projects/netbsd-tests-upstream-01-2017/sys/boot/zfs/zfs.c projects/netbsd-tests-upstream-01-2017/sys/cddl/contrib/opensolaris/uts/common/dtrace/dtrace_xoroshiro128_plus.h projects/netbsd-tests-upstream-01-2017/sys/compat/cloudabi/cloudabi_mem.c projects/netbsd-tests-upstream-01-2017/sys/compat/freebsd32/freebsd32_misc.c projects/netbsd-tests-upstream-01-2017/sys/compat/linux/linux_file.c projects/netbsd-tests-upstream-01-2017/sys/compat/linux/linux_misc.c projects/netbsd-tests-upstream-01-2017/sys/compat/linux/linux_mmap.c projects/netbsd-tests-upstream-01-2017/sys/compat/linux/linux_socket.h projects/netbsd-tests-upstream-01-2017/sys/conf/NOTES projects/netbsd-tests-upstream-01-2017/sys/conf/files projects/netbsd-tests-upstream-01-2017/sys/conf/files.amd64 projects/netbsd-tests-upstream-01-2017/sys/conf/files.arm projects/netbsd-tests-upstream-01-2017/sys/conf/files.arm64 projects/netbsd-tests-upstream-01-2017/sys/conf/files.i386 projects/netbsd-tests-upstream-01-2017/sys/conf/files.mips projects/netbsd-tests-upstream-01-2017/sys/conf/files.powerpc projects/netbsd-tests-upstream-01-2017/sys/conf/files.riscv projects/netbsd-tests-upstream-01-2017/sys/conf/files.sparc64 projects/netbsd-tests-upstream-01-2017/sys/conf/kern.opts.mk projects/netbsd-tests-upstream-01-2017/sys/conf/options projects/netbsd-tests-upstream-01-2017/sys/dev/cxgbe/t4_main.c projects/netbsd-tests-upstream-01-2017/sys/dev/cxgbe/tom/t4_connect.c projects/netbsd-tests-upstream-01-2017/sys/dev/cxgbe/tom/t4_listen.c projects/netbsd-tests-upstream-01-2017/sys/dev/cxgbe/tom/t4_tom.c projects/netbsd-tests-upstream-01-2017/sys/dev/cxgbe/tom/t4_tom.h projects/netbsd-tests-upstream-01-2017/sys/dev/gxemul/disk/gxemul_disk.c projects/netbsd-tests-upstream-01-2017/sys/dev/iwm/if_iwm.c projects/netbsd-tests-upstream-01-2017/sys/dev/iwm/if_iwm_mac_ctxt.c projects/netbsd-tests-upstream-01-2017/sys/dev/iwm/if_iwm_pcie_trans.c projects/netbsd-tests-upstream-01-2017/sys/dev/iwm/if_iwm_phy_ctxt.c projects/netbsd-tests-upstream-01-2017/sys/dev/iwm/if_iwm_phy_db.c projects/netbsd-tests-upstream-01-2017/sys/dev/iwm/if_iwm_phy_db.h projects/netbsd-tests-upstream-01-2017/sys/dev/iwm/if_iwm_scan.c projects/netbsd-tests-upstream-01-2017/sys/dev/iwm/if_iwm_util.c projects/netbsd-tests-upstream-01-2017/sys/dev/iwm/if_iwm_util.h projects/netbsd-tests-upstream-01-2017/sys/dev/iwm/if_iwmreg.h projects/netbsd-tests-upstream-01-2017/sys/dev/iwm/if_iwmvar.h projects/netbsd-tests-upstream-01-2017/sys/dev/usb/serial/uftdi.c projects/netbsd-tests-upstream-01-2017/sys/dev/usb/serial/usb_serial.c projects/netbsd-tests-upstream-01-2017/sys/dev/usb/serial/usb_serial.h projects/netbsd-tests-upstream-01-2017/sys/i386/linux/linux_dummy.c projects/netbsd-tests-upstream-01-2017/sys/i386/linux/linux_proto.h projects/netbsd-tests-upstream-01-2017/sys/i386/linux/linux_syscall.h projects/netbsd-tests-upstream-01-2017/sys/i386/linux/linux_syscalls.c projects/netbsd-tests-upstream-01-2017/sys/i386/linux/linux_sysent.c projects/netbsd-tests-upstream-01-2017/sys/i386/linux/linux_systrace_args.c projects/netbsd-tests-upstream-01-2017/sys/i386/linux/syscalls.master projects/netbsd-tests-upstream-01-2017/sys/kern/kern_cpuset.c projects/netbsd-tests-upstream-01-2017/sys/kern/kern_mutex.c projects/netbsd-tests-upstream-01-2017/sys/kern/kern_rwlock.c projects/netbsd-tests-upstream-01-2017/sys/kern/kern_sx.c projects/netbsd-tests-upstream-01-2017/sys/kern/subr_intr.c projects/netbsd-tests-upstream-01-2017/sys/kern/vfs_mountroot.c projects/netbsd-tests-upstream-01-2017/sys/kern/vfs_subr.c projects/netbsd-tests-upstream-01-2017/sys/mips/include/atomic.h projects/netbsd-tests-upstream-01-2017/sys/modules/Makefile projects/netbsd-tests-upstream-01-2017/sys/modules/iwm/Makefile projects/netbsd-tests-upstream-01-2017/sys/net/pfkeyv2.h projects/netbsd-tests-upstream-01-2017/sys/netinet/in_pcb.c projects/netbsd-tests-upstream-01-2017/sys/netinet/in_proto.c projects/netbsd-tests-upstream-01-2017/sys/netinet/ip_input.c projects/netbsd-tests-upstream-01-2017/sys/netinet/ip_output.c projects/netbsd-tests-upstream-01-2017/sys/netinet/raw_ip.c projects/netbsd-tests-upstream-01-2017/sys/netinet/sctp_input.c projects/netbsd-tests-upstream-01-2017/sys/netinet/sctp_os_bsd.h projects/netbsd-tests-upstream-01-2017/sys/netinet/sctp_pcb.c projects/netbsd-tests-upstream-01-2017/sys/netinet/tcp_input.c projects/netbsd-tests-upstream-01-2017/sys/netinet/tcp_output.c projects/netbsd-tests-upstream-01-2017/sys/netinet/tcp_stacks/fastpath.c projects/netbsd-tests-upstream-01-2017/sys/netinet/tcp_subr.c projects/netbsd-tests-upstream-01-2017/sys/netinet/tcp_syncache.c projects/netbsd-tests-upstream-01-2017/sys/netinet/tcp_usrreq.c projects/netbsd-tests-upstream-01-2017/sys/netinet/tcp_var.h projects/netbsd-tests-upstream-01-2017/sys/netinet/udp.h projects/netbsd-tests-upstream-01-2017/sys/netinet/udp_usrreq.c projects/netbsd-tests-upstream-01-2017/sys/netinet6/in6.h projects/netbsd-tests-upstream-01-2017/sys/netinet6/in6_proto.c projects/netbsd-tests-upstream-01-2017/sys/netinet6/ip6_forward.c projects/netbsd-tests-upstream-01-2017/sys/netinet6/ip6_input.c projects/netbsd-tests-upstream-01-2017/sys/netinet6/ip6_output.c projects/netbsd-tests-upstream-01-2017/sys/netinet6/raw_ip6.c projects/netbsd-tests-upstream-01-2017/sys/netinet6/sctp6_usrreq.c projects/netbsd-tests-upstream-01-2017/sys/netinet6/udp6_usrreq.c projects/netbsd-tests-upstream-01-2017/sys/netipsec/ipsec.c projects/netbsd-tests-upstream-01-2017/sys/netipsec/ipsec.h projects/netbsd-tests-upstream-01-2017/sys/netipsec/ipsec6.h projects/netbsd-tests-upstream-01-2017/sys/netipsec/ipsec_input.c projects/netbsd-tests-upstream-01-2017/sys/netipsec/ipsec_mbuf.c projects/netbsd-tests-upstream-01-2017/sys/netipsec/ipsec_output.c projects/netbsd-tests-upstream-01-2017/sys/netipsec/key.c projects/netbsd-tests-upstream-01-2017/sys/netipsec/key.h projects/netbsd-tests-upstream-01-2017/sys/netipsec/key_debug.c projects/netbsd-tests-upstream-01-2017/sys/netipsec/key_debug.h projects/netbsd-tests-upstream-01-2017/sys/netipsec/keydb.h projects/netbsd-tests-upstream-01-2017/sys/netipsec/keysock.c projects/netbsd-tests-upstream-01-2017/sys/netipsec/xform.h projects/netbsd-tests-upstream-01-2017/sys/netipsec/xform_ah.c projects/netbsd-tests-upstream-01-2017/sys/netipsec/xform_esp.c projects/netbsd-tests-upstream-01-2017/sys/netipsec/xform_ipcomp.c projects/netbsd-tests-upstream-01-2017/sys/netipsec/xform_tcp.c projects/netbsd-tests-upstream-01-2017/sys/netpfil/ipfw/dn_heap.h projects/netbsd-tests-upstream-01-2017/sys/sys/lockstat.h projects/netbsd-tests-upstream-01-2017/sys/sys/mutex.h projects/netbsd-tests-upstream-01-2017/sys/sys/rwlock.h projects/netbsd-tests-upstream-01-2017/sys/sys/sdt.h projects/netbsd-tests-upstream-01-2017/sys/sys/sx.h projects/netbsd-tests-upstream-01-2017/sys/sys/syscallsubr.h projects/netbsd-tests-upstream-01-2017/sys/vm/vm_extern.h projects/netbsd-tests-upstream-01-2017/sys/vm/vm_mmap.c projects/netbsd-tests-upstream-01-2017/tools/tools/nanobsd/embedded/common projects/netbsd-tests-upstream-01-2017/usr.bin/Makefile projects/netbsd-tests-upstream-01-2017/usr.bin/enigma/enigma.1 projects/netbsd-tests-upstream-01-2017/usr.bin/gzip/unxz.c projects/netbsd-tests-upstream-01-2017/usr.bin/netstat/inet.c projects/netbsd-tests-upstream-01-2017/usr.bin/sed/main.c projects/netbsd-tests-upstream-01-2017/usr.sbin/syslogd/syslogd.c Directory Properties: projects/netbsd-tests-upstream-01-2017/ (props changed) projects/netbsd-tests-upstream-01-2017/contrib/netcat/ (props changed) projects/netbsd-tests-upstream-01-2017/sys/cddl/contrib/opensolaris/ (props changed) Modified: projects/netbsd-tests-upstream-01-2017/ObsoleteFiles.inc ============================================================================== --- projects/netbsd-tests-upstream-01-2017/ObsoleteFiles.inc Tue Feb 7 01:28:55 2017 (r313360) +++ projects/netbsd-tests-upstream-01-2017/ObsoleteFiles.inc Tue Feb 7 01:33:39 2017 (r313361) @@ -38,6 +38,13 @@ # xargs -n1 | sort | uniq -d; # done +# 20170206: remove bdes(1) +OLD_FILES+=usr/bin/bdes +OLD_FILES+=usr/lib/debug/usr/bin/bdes.debug +OLD_FILES+=usr/share/man/man1/bdes.1.gz +# 20170206: merged projects/ipsec +OLD_FILES+=usr/include/netinet/ip_ipsec.h +OLD_FILES+=usr/include/netinet6/ip6_ipsec.h # 20170128: remove pc98 support OLD_FILES+=usr/include/dev/ic/i8251.h OLD_FILES+=usr/include/dev/ic/i8255.h Modified: projects/netbsd-tests-upstream-01-2017/bin/ed/ed.1 ============================================================================== --- projects/netbsd-tests-upstream-01-2017/bin/ed/ed.1 Tue Feb 7 01:28:55 2017 (r313360) +++ projects/netbsd-tests-upstream-01-2017/bin/ed/ed.1 Tue Feb 7 01:33:39 2017 (r313361) @@ -1,5 +1,5 @@ .\" $FreeBSD$ -.Dd October 2, 2016 +.Dd February 5, 2017 .Dt ED 1 .Os .Sh NAME @@ -871,9 +871,6 @@ writes. If a newline alone is entered as the key, then encryption is turned off. Otherwise, echoing is disabled while a key is read. -Encryption/decryption is done using the -.Xr bdes 1 -algorithm. .It Pf (.+1)z n Scroll .Ar n @@ -962,7 +959,6 @@ results in an error. If the command is entered a second time, it succeeds, but any changes to the buffer are lost. .Sh SEE ALSO -.Xr bdes 1 , .Xr sed 1 , .Xr sh 1 , .Xr vi 1 , Modified: projects/netbsd-tests-upstream-01-2017/contrib/netcat/netcat.c ============================================================================== --- projects/netbsd-tests-upstream-01-2017/contrib/netcat/netcat.c Tue Feb 7 01:28:55 2017 (r313360) +++ projects/netbsd-tests-upstream-01-2017/contrib/netcat/netcat.c Tue Feb 7 01:33:39 2017 (r313361) @@ -131,7 +131,7 @@ ssize_t drainbuf(int, unsigned char *, s ssize_t fillbuf(int, unsigned char *, size_t *); #ifdef IPSEC -void add_ipsec_policy(int, char *); +void add_ipsec_policy(int, int, char *); char *ipsec_policy[2]; #endif @@ -642,12 +642,6 @@ remote_connect(const char *host, const c if ((s = socket(res0->ai_family, res0->ai_socktype, res0->ai_protocol)) < 0) continue; -#ifdef IPSEC - if (ipsec_policy[0] != NULL) - add_ipsec_policy(s, ipsec_policy[0]); - if (ipsec_policy[1] != NULL) - add_ipsec_policy(s, ipsec_policy[1]); -#endif if (rtableid >= 0 && (setsockopt(s, SOL_SOCKET, SO_SETFIB, &rtableid, sizeof(rtableid)) == -1)) @@ -765,12 +759,7 @@ local_listen(char *host, char *port, str ret = setsockopt(s, SOL_SOCKET, SO_REUSEPORT, &x, sizeof(x)); if (ret == -1) err(1, NULL); -#ifdef IPSEC - if (ipsec_policy[0] != NULL) - add_ipsec_policy(s, ipsec_policy[0]); - if (ipsec_policy[1] != NULL) - add_ipsec_policy(s, ipsec_policy[1]); -#endif + if (FreeBSD_Oflag) { if (setsockopt(s, IPPROTO_TCP, TCP_NOOPT, &FreeBSD_Oflag, sizeof(FreeBSD_Oflag)) == -1) @@ -1235,6 +1224,12 @@ set_common_sockopts(int s, int af) &FreeBSD_Oflag, sizeof(FreeBSD_Oflag)) == -1) err(1, "disable TCP options"); } +#ifdef IPSEC + if (ipsec_policy[0] != NULL) + add_ipsec_policy(s, af, ipsec_policy[0]); + if (ipsec_policy[1] != NULL) + add_ipsec_policy(s, af, ipsec_policy[1]); +#endif } int @@ -1360,7 +1355,7 @@ help(void) #ifdef IPSEC void -add_ipsec_policy(int s, char *policy) +add_ipsec_policy(int s, int af, char *policy) { char *raw; int e; @@ -1369,8 +1364,12 @@ add_ipsec_policy(int s, char *policy) if (raw == NULL) errx(1, "ipsec_set_policy `%s': %s", policy, ipsec_strerror()); - e = setsockopt(s, IPPROTO_IP, IP_IPSEC_POLICY, raw, - ipsec_get_policylen(raw)); + if (af == AF_INET) + e = setsockopt(s, IPPROTO_IP, IP_IPSEC_POLICY, raw, + ipsec_get_policylen(raw)); + if (af == AF_INET6) + e = setsockopt(s, IPPROTO_IPV6, IPV6_IPSEC_POLICY, raw, + ipsec_get_policylen(raw)); if (e < 0) err(1, "ipsec policy cannot be configured"); free(raw); Modified: projects/netbsd-tests-upstream-01-2017/etc/devd.conf ============================================================================== --- projects/netbsd-tests-upstream-01-2017/etc/devd.conf Tue Feb 7 01:28:55 2017 (r313360) +++ projects/netbsd-tests-upstream-01-2017/etc/devd.conf Tue Feb 7 01:33:39 2017 (r313361) @@ -272,7 +272,7 @@ nomatch 10 { match "bus" "pccard[0-9]+"; match "manufacturer" "0x1234"; match "product" "0x2323"; - action "kldload if_deqna"; + action "kldload -n if_deqna"; }; attach 10 { device-name "deqna[0-9]+"; Modified: projects/netbsd-tests-upstream-01-2017/lib/libipsec/pfkey.c ============================================================================== --- projects/netbsd-tests-upstream-01-2017/lib/libipsec/pfkey.c Tue Feb 7 01:28:55 2017 (r313360) +++ projects/netbsd-tests-upstream-01-2017/lib/libipsec/pfkey.c Tue Feb 7 01:33:39 2017 (r313361) @@ -1776,21 +1776,17 @@ pfkey_align(msg, mhp) case SADB_EXT_SPIRANGE: case SADB_X_EXT_POLICY: case SADB_X_EXT_SA2: - case SADB_X_EXT_SA_REPLAY: - mhp[ext->sadb_ext_type] = (caddr_t)ext; - break; case SADB_X_EXT_NAT_T_TYPE: case SADB_X_EXT_NAT_T_SPORT: case SADB_X_EXT_NAT_T_DPORT: - /* case SADB_X_EXT_NAT_T_OA: is OAI */ case SADB_X_EXT_NAT_T_OAI: case SADB_X_EXT_NAT_T_OAR: case SADB_X_EXT_NAT_T_FRAG: - if (feature_present("ipsec_natt")) { - mhp[ext->sadb_ext_type] = (caddr_t)ext; - break; - } - /* FALLTHROUGH */ + case SADB_X_EXT_SA_REPLAY: + case SADB_X_EXT_NEW_ADDRESS_SRC: + case SADB_X_EXT_NEW_ADDRESS_DST: + mhp[ext->sadb_ext_type] = (caddr_t)ext; + break; default: __ipsec_errcode = EIPSEC_INVAL_EXTTYPE; return -1; Modified: projects/netbsd-tests-upstream-01-2017/lib/libipsec/pfkey_dump.c ============================================================================== --- projects/netbsd-tests-upstream-01-2017/lib/libipsec/pfkey_dump.c Tue Feb 7 01:28:55 2017 (r313360) +++ projects/netbsd-tests-upstream-01-2017/lib/libipsec/pfkey_dump.c Tue Feb 7 01:33:39 2017 (r313361) @@ -220,6 +220,9 @@ pfkey_sadump(m) struct sadb_ident *m_sid, *m_did; struct sadb_sens *m_sens; struct sadb_x_sa_replay *m_sa_replay; + struct sadb_x_nat_t_type *natt_type; + struct sadb_x_nat_t_port *natt_sport, *natt_dport; + struct sadb_address *natt_oai, *natt_oar; /* check pfkey message. */ if (pfkey_align(m, mhp)) { @@ -245,33 +248,46 @@ pfkey_sadump(m) m_did = (struct sadb_ident *)mhp[SADB_EXT_IDENTITY_DST]; m_sens = (struct sadb_sens *)mhp[SADB_EXT_SENSITIVITY]; m_sa_replay = (struct sadb_x_sa_replay *)mhp[SADB_X_EXT_SA_REPLAY]; + natt_type = (struct sadb_x_nat_t_type *)mhp[SADB_X_EXT_NAT_T_TYPE]; + natt_sport = (struct sadb_x_nat_t_port *)mhp[SADB_X_EXT_NAT_T_SPORT]; + natt_dport = (struct sadb_x_nat_t_port *)mhp[SADB_X_EXT_NAT_T_DPORT]; + natt_oai = (struct sadb_address *)mhp[SADB_X_EXT_NAT_T_OAI]; + natt_oar = (struct sadb_address *)mhp[SADB_X_EXT_NAT_T_OAR]; + /* source address */ if (m_saddr == NULL) { printf("no ADDRESS_SRC extension.\n"); return; } - printf("%s ", str_ipaddr((struct sockaddr *)(m_saddr + 1))); + printf("%s", str_ipaddr((struct sockaddr *)(m_saddr + 1))); + if (natt_type != NULL && natt_sport != NULL) + printf("[%u]", ntohs(natt_sport->sadb_x_nat_t_port_port)); /* destination address */ if (m_daddr == NULL) { - printf("no ADDRESS_DST extension.\n"); + printf("\nno ADDRESS_DST extension.\n"); return; } - printf("%s ", str_ipaddr((struct sockaddr *)(m_daddr + 1))); + printf(" %s", str_ipaddr((struct sockaddr *)(m_daddr + 1))); + if (natt_type != NULL && natt_dport != NULL) + printf("[%u]", ntohs(natt_dport->sadb_x_nat_t_port_port)); /* SA type */ if (m_sa == NULL) { - printf("no SA extension.\n"); + printf("\nno SA extension.\n"); return; } if (m_sa2 == NULL) { - printf("no SA2 extension.\n"); + printf("\nno SA2 extension.\n"); return; } printf("\n\t"); - GETMSGSTR(str_satype, m->sadb_msg_satype); + if (m->sadb_msg_satype == SADB_SATYPE_ESP && natt_type != NULL) + printf("esp-udp "); + else + GETMSGSTR(str_satype, m->sadb_msg_satype); printf("mode="); GETMSGSTR(str_mode, m_sa2->sadb_x_sa2_mode); @@ -282,6 +298,18 @@ pfkey_sadump(m) (u_int32_t)m_sa2->sadb_x_sa2_reqid, (u_int32_t)m_sa2->sadb_x_sa2_reqid); + /* other NAT-T information */ + if (natt_type != NULL && (natt_oai != NULL || natt_oar != NULL)) { + printf("\tNAT:"); + if (natt_oai != NULL) + printf(" OAI=%s", + str_ipaddr((struct sockaddr *)(natt_oai + 1))); + if (natt_oar != NULL) + printf(" OAR=%s", + str_ipaddr((struct sockaddr *)(natt_oar + 1))); + printf("\n"); + } + /* encryption key */ if (m->sadb_msg_satype == SADB_X_SATYPE_IPCOMP) { printf("\tC: "); Modified: projects/netbsd-tests-upstream-01-2017/lib/libstand/stand.h ============================================================================== --- projects/netbsd-tests-upstream-01-2017/lib/libstand/stand.h Tue Feb 7 01:28:55 2017 (r313360) +++ projects/netbsd-tests-upstream-01-2017/lib/libstand/stand.h Tue Feb 7 01:33:39 2017 (r313361) @@ -168,6 +168,7 @@ struct devdesc #define DEVT_NET 2 #define DEVT_CD 3 #define DEVT_ZFS 4 +#define DEVT_FD 5 int d_unit; void *d_opendata; }; Modified: projects/netbsd-tests-upstream-01-2017/sbin/ifconfig/Makefile ============================================================================== --- projects/netbsd-tests-upstream-01-2017/sbin/ifconfig/Makefile Tue Feb 7 01:28:55 2017 (r313360) +++ projects/netbsd-tests-upstream-01-2017/sbin/ifconfig/Makefile Tue Feb 7 01:33:39 2017 (r313361) @@ -34,6 +34,7 @@ SRCS+= ifvlan.c # SIOC[GS]ETVLAN suppor SRCS+= ifvxlan.c # VXLAN support SRCS+= ifgre.c # GRE keys etc SRCS+= ifgif.c # GIF reversed header workaround +SRCS+= ifipsec.c # IPsec VTI SRCS+= sfp.c # SFP/SFP+ information LIBADD+= m Copied: projects/netbsd-tests-upstream-01-2017/sbin/ifconfig/ifipsec.c (from r313360, head/sbin/ifconfig/ifipsec.c) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ projects/netbsd-tests-upstream-01-2017/sbin/ifconfig/ifipsec.c Tue Feb 7 01:33:39 2017 (r313361, copy of r313360, head/sbin/ifconfig/ifipsec.c) @@ -0,0 +1,101 @@ +/*- + * Copyright (c) 2016 Yandex LLC + * Copyright (c) 2016 Andrey V. Elsukov + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR + * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES + * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. + * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF + * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +#include +__FBSDID("$FreeBSD$"); + +#include +#include +#include +#include +#include + +#include +#include + +#include +#include +#include +#include + +#include +#include +#include +#include +#include + +#include "ifconfig.h" + +static void +ipsec_status(int s) +{ + uint32_t reqid; + + ifr.ifr_data = (caddr_t)&reqid; + if (ioctl(s, IPSECGREQID, &ifr) == -1) + return; + printf("\treqid: %u\n", reqid); +} + +static +DECL_CMD_FUNC(setreqid, val, arg) +{ + char *ep; + uint32_t v; + + v = strtoul(val, &ep, 0); + if (*ep != '\0') { + warn("Invalid reqid value %s", val); + return; + } + ifr.ifr_data = (char *)&v; + if (ioctl(s, IPSECSREQID, &ifr) == -1) { + warn("ioctl(IPSECSREQID)"); + return; + } +} + +static struct cmd ipsec_cmds[] = { + DEF_CMD_ARG("reqid", setreqid), +}; + +static struct afswtch af_ipsec = { + .af_name = "af_ipsec", + .af_af = AF_UNSPEC, + .af_other_status = ipsec_status, +}; + +static __constructor void +ipsec_ctor(void) +{ + size_t i; + + for (i = 0; i < nitems(ipsec_cmds); i++) + cmd_register(&ipsec_cmds[i]); + af_register(&af_ipsec); +#undef N +} Modified: projects/netbsd-tests-upstream-01-2017/sbin/kldload/kldload.c ============================================================================== --- projects/netbsd-tests-upstream-01-2017/sbin/kldload/kldload.c Tue Feb 7 01:28:55 2017 (r313360) +++ projects/netbsd-tests-upstream-01-2017/sbin/kldload/kldload.c Tue Feb 7 01:33:39 2017 (r313361) @@ -41,9 +41,6 @@ __FBSDID("$FreeBSD$"); #define PATHCTL "kern.module_path" -static int path_check(const char *, int); -static void usage(void); - /* * Check to see if the requested module is specified as a filename with no * path. If so and if a file by the same name exists in the module path, @@ -52,43 +49,37 @@ static void usage(void); static int path_check(const char *kldname, int quiet) { - int mib[5], found; - size_t miblen, pathlen; - char kldpath[MAXPATHLEN]; char *path, *tmppath, *element; struct stat sb; + int mib[5]; + char kldpath[MAXPATHLEN]; + size_t miblen, pathlen; dev_t dev; ino_t ino; + int found; - if (strchr(kldname, '/') != NULL) { + if (strchr(kldname, '/') != NULL) return (0); - } - if (strstr(kldname, ".ko") == NULL) { + if (strstr(kldname, ".ko") == NULL) return (0); - } - if (stat(kldname, &sb) != 0) { + if (stat(kldname, &sb) != 0) return (0); - } found = 0; dev = sb.st_dev; ino = sb.st_ino; miblen = nitems(mib); - if (sysctlnametomib(PATHCTL, mib, &miblen) != 0) { + if (sysctlnametomib(PATHCTL, mib, &miblen) != 0) err(1, "sysctlnametomib(%s)", PATHCTL); - } - if (sysctl(mib, miblen, NULL, &pathlen, NULL, 0) == -1) { + if (sysctl(mib, miblen, NULL, &pathlen, NULL, 0) == -1) err(1, "getting path: sysctl(%s) - size only", PATHCTL); - } path = malloc(pathlen + 1); - if (path == NULL) { + if (path == NULL) err(1, "allocating %lu bytes for the path", (unsigned long)pathlen + 1); - } - if (sysctl(mib, miblen, path, &pathlen, NULL, 0) == -1) { + if (sysctl(mib, miblen, path, &pathlen, NULL, 0) == -1) err(1, "getting path: sysctl(%s)", PATHCTL); - } tmppath = path; while ((element = strsep(&tmppath, ";")) != NULL) { @@ -97,39 +88,36 @@ path_check(const char *kldname, int quie strlcat(kldpath, "/", MAXPATHLEN); } strlcat(kldpath, kldname, MAXPATHLEN); - - if (stat(kldpath, &sb) == -1) { + + if (stat(kldpath, &sb) == -1) continue; - } found = 1; if (sb.st_dev != dev || sb.st_ino != ino) { - if (!quiet) { + if (!quiet) warnx("%s will be loaded from %s, not the " "current directory", kldname, element); - } break; - } else if (sb.st_dev == dev && sb.st_ino == ino) { + } else if (sb.st_dev == dev && sb.st_ino == ino) break; - } } free(path); - + if (!found) { - if (!quiet) { + if (!quiet) warnx("%s is not in the module path", kldname); - } return (-1); } - + return (0); } static void usage(void) { + fprintf(stderr, "usage: kldload [-nqv] file ...\n"); exit(1); } @@ -138,17 +126,17 @@ int main(int argc, char** argv) { int c; + int check_loaded; int errors; int fileid; - int verbose; int quiet; - int check_loaded; + int verbose; errors = 0; verbose = 0; quiet = 0; check_loaded = 0; - + while ((c = getopt(argc, argv, "nqv")) != -1) { switch (c) { case 'q': @@ -204,9 +192,8 @@ main(int argc, char** argv) printf("Loaded %s, id=%d\n", argv[0], fileid); } - } else { + } else errors++; - } argv++; } Modified: projects/netbsd-tests-upstream-01-2017/sbin/setkey/setkey.8 ============================================================================== --- projects/netbsd-tests-upstream-01-2017/sbin/setkey/setkey.8 Tue Feb 7 01:28:55 2017 (r313360) +++ projects/netbsd-tests-upstream-01-2017/sbin/setkey/setkey.8 Tue Feb 7 01:33:39 2017 (r313361) @@ -29,7 +29,7 @@ .\" .\" $FreeBSD$ .\" -.Dd October 3, 2016 +.Dd February 6, 2017 .Dt SETKEY 8 .Os .\" @@ -270,8 +270,6 @@ must be a decimal number, or a hexadecim prefix. SPI values between 0 and 255 are reserved for future use by IANA and they cannot be used. -TCP-MD5 associations must use 0x1000 and therefore only have per-host -granularity at this time. .\" .Pp .It Ar extensions Modified: projects/netbsd-tests-upstream-01-2017/secure/usr.bin/Makefile ============================================================================== --- projects/netbsd-tests-upstream-01-2017/secure/usr.bin/Makefile Tue Feb 7 01:28:55 2017 (r313360) +++ projects/netbsd-tests-upstream-01-2017/secure/usr.bin/Makefile Tue Feb 7 01:33:39 2017 (r313361) @@ -4,7 +4,7 @@ SUBDIR= .if ${MK_OPENSSL} != "no" -SUBDIR+=bdes openssl +SUBDIR+=openssl .if ${MK_OPENSSH} != "no" SUBDIR+=scp sftp ssh ssh-add ssh-agent ssh-keygen ssh-keyscan .endif Modified: projects/netbsd-tests-upstream-01-2017/share/man/man4/Makefile ============================================================================== --- projects/netbsd-tests-upstream-01-2017/share/man/man4/Makefile Tue Feb 7 01:28:55 2017 (r313360) +++ projects/netbsd-tests-upstream-01-2017/share/man/man4/Makefile Tue Feb 7 01:33:39 2017 (r313361) @@ -201,6 +201,7 @@ MAN= aac.4 \ icmp.4 \ icmp6.4 \ ida.4 \ + if_ipsec.4 \ ifmib.4 \ ig4.4 \ igb.4 \ Modified: projects/netbsd-tests-upstream-01-2017/share/man/man4/cxgbe.4 ============================================================================== --- projects/netbsd-tests-upstream-01-2017/share/man/man4/cxgbe.4 Tue Feb 7 01:28:55 2017 (r313360) +++ projects/netbsd-tests-upstream-01-2017/share/man/man4/cxgbe.4 Tue Feb 7 01:33:39 2017 (r313361) @@ -167,6 +167,10 @@ Tunables can be set at the .Xr loader 8 prompt before booting the kernel or stored in .Xr loader.conf 5 . +There are multiple tunables that control the number of queues of various +types. +A negative value for such a tunable instructs the driver to create +up to that many queues if there are enough CPU cores available. .Bl -tag -width indent .It Va hw.cxgbe.ntxq10g Number of tx queues used for a 10Gb or higher-speed port. Copied: projects/netbsd-tests-upstream-01-2017/share/man/man4/if_ipsec.4 (from r313360, head/share/man/man4/if_ipsec.4) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ projects/netbsd-tests-upstream-01-2017/share/man/man4/if_ipsec.4 Tue Feb 7 01:33:39 2017 (r313361, copy of r313360, head/share/man/man4/if_ipsec.4) @@ -0,0 +1,141 @@ +.\" Copyright (c) 2017 Andrey V. Elsukov +.\" All rights reserved. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE AUTHORS AND CONTRIBUTORS ``AS IS'' AND +.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS OR CONTRIBUTORS BE LIABLE +.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +.\" SUCH DAMAGE. +.\" +.\" $FreeBSD$ +.\" +.Dd February 6, 2017 +.Dt if_ipsec 4 +.Os +.Sh NAME +.Nm if_ipsec +.Nd IPsec virtual tunneling interface +.Sh SYNOPSIS +The +.Cm if_ipsec +network interface is a part of the +.Fx +IPsec implementation. +To compile it into the kernel, place this line in the kernel +configuration file: +.Bd -ragged -offset indent +.Cd "options IPSEC" +.Ed +.Pp +It can also be loaded as part of the +.Cm ipsec +kernel module if the kernel was compiled with +.Bd -ragged -offset indent +.Cd "options IPSEC_SUPPORT" +.Ed +.Sh DESCRIPTION +The +.Nm +network interface is targeted for creating route-based VPNs. +It can tunnel IPv4 and IPv6 traffic over either IPv4 or IPv6 and secure +it with ESP. +.Pp +.Nm +interfaces are dynamically created and destroyed with the +.Xr ifconfig 8 +.Cm create +and +.Cm destroy +subcommands. +The administrator must configure IPsec +.Cm tunnel +endpoint addresses. +These addresses will be used for the outer IP header of ESP packets. +The administrator can also configure the protocol and addresses for the inner +IP header with +.Xr ifconfig 8 , +and modify the routing table to route the packets through the +.Nm +interface. +.Pp +When the +.Nm +interface is configured, it automatically creates special security policies. +These policies can be used to acquire security associations from the IKE daemon, +which are needed for establishing an IPsec tunnel. +It is also possible to create needed security associations manually with the +.Xr setkey 8 +utility. +.Pp +Each +.Nm +interface has an additional numeric configuration option +.Cm reqid Ar id . +This +.Ar id +is used to distinguish traffic and security policies between several +.Nm +interfaces. +The +.Cm reqid +can be specified on interface creation and changed later. +If not specified, it is automatically assigned. +Note that changing +.Cm reqid +will lead to generation of new security policies, and this +may require creating new security associations. +.Sh EXAMPLES +The example below shows manual configuration of an IPsec tunnel +between two FreeBSD hosts. +Host A has the IP address 192.168.0.3, and host B has the IP address +192.168.0.5. +.Pp +On host A: +.Bd -literal -offset indent +ifconfig ipsec0 create reqid 100 +ifconfig ipsec0 inet tunnel 192.168.0.3 192.168.0.5 +ifconfig ipsec0 inet 172.16.0.3/16 172.16.0.5 +setkey -c +add 192.168.0.3 192.168.0.5 esp 10000 -m tunnel -u 100 -E rijndael-cbc "VerySecureKey!!1"; +add 192.168.0.5 192.168.0.3 esp 10001 -m tunnel -u 100 -E rijndael-cbc "VerySecureKey!!2"; +^D +.Ed +.Pp +On host B: +.Bd -literal -offset indent +ifconfig ipsec0 create reqid 200 +ifconfig ipsec0 inet tunnel 192.168.0.5 192.168.0.3 +ifconfig ipsec0 inet 172.16.0.5/16 172.16.0.3 +setkey -c +add 192.168.0.3 192.168.0.5 esp 10000 -m tunnel -u 200 -E rijndael-cbc "VerySecureKey!!1"; +add 192.168.0.5 192.168.0.3 esp 10001 -m tunnel -u 200 -E rijndael-cbc "VerySecureKey!!2"; +^D +.Ed +.Pp +Note the value 100 on host A and value 200 on host B are used as reqid. +The same value must be used as identifier of the policy entry in the +.Xr setkey 8 +command. +.Sh SEE ALSO +.Xr gif 4 , +.Xr gre 4 , +.Xr ipsec 4 , +.Xr ifconfig 8 , +.Xr setkey 8 +.Sh AUTHORS +.An Andrey V. Elsukov Aq Mt ae@FreeBSD.org Modified: projects/netbsd-tests-upstream-01-2017/share/man/man4/ipsec.4 ============================================================================== --- projects/netbsd-tests-upstream-01-2017/share/man/man4/ipsec.4 Tue Feb 7 01:28:55 2017 (r313360) +++ projects/netbsd-tests-upstream-01-2017/share/man/man4/ipsec.4 Tue Feb 7 01:33:39 2017 (r313361) @@ -29,7 +29,7 @@ .\" .\" $FreeBSD$ .\" -.Dd November 29, 2009 +.Dd February 6, 2017 .Dt IPSEC 4 .Os .Sh NAME @@ -37,6 +37,7 @@ .Nd Internet Protocol Security protocol .Sh SYNOPSIS .Cd "options IPSEC" +.Cd "options IPSEC_SUPPORT" .Cd "device crypto" .Pp .In sys/types.h @@ -151,6 +152,16 @@ Refer to .Xr setkey 8 on how to use it. .Pp +Depending on the socket's address family, IPPROTO_IP or IPPROTO_IPV6 +transport level and IP_IPSEC_POLICY or IPV6_IPSEC_POLICY socket options +may be used to configure per-socket security policies. +A properly-formed IPsec policy specification structure can be +created using +.Xr ipsec_set_policy 3 +function and used as socket option value for the +.Xr setsockopt 2 +call. +.Pp When setting policies using the .Xr setkey 8 command, the @@ -228,6 +239,8 @@ for tweaking the kernel's IPsec behavior .It "net.inet.ipsec.dfbit integer yes" .It "net.inet.ipsec.ecn integer yes" .It "net.inet.ipsec.debug integer yes" +.It "net.inet.ipsec.natt_cksum_policy integer yes" +.It "net.inet.ipsec.check_policy_history integer yes" .It "net.inet6.ipsec6.ecn integer yes" .It "net.inet6.ipsec6.debug integer yes" .El @@ -270,6 +283,23 @@ talks more about the behavior. .It Li ipsec.debug If set to non-zero, debug messages will be generated via .Xr syslog 3 . +.It Li ipsec.natt_cksum_policy +Controls how the kernel handles TCP and UDP checksums when ESP in UDP +encapsulation is used for IPsec transport mode. +If set to a non-zero value, the kernel fully recomputes checksums for +inbound TCP segments and UDP datagrams after they are decapsulated and +decrypted. +If set to 0 and original addresses were configured for corresponding SA +by the IKE daemon, the kernel incrementally recomputes checksums for +inbound TCP segments and UDP datagrams. +If addresses were not configured, the checksums are ignored. +.It Li ipsec.check_policy_history +Enables strict policy checking for inbound packets. +By default, inbound security policies check that packets handled by IPsec +have been decrypted and authenticated. +If this variable is set to a non-zero value, each packet handled by IPsec +is checked against the history of IPsec security associations. +The IPsec security protocol, mode, and SA addresses must match. .El .Pp Variables under the @@ -305,6 +335,7 @@ routines from looking into the IP payloa .Xr ipsec_set_policy 3 , .Xr crypto 4 , .Xr enc 4 , +.Xr if_ipsec 4 , .Xr icmp6 4 , .Xr intro 4 , .Xr ip6 4 , Modified: projects/netbsd-tests-upstream-01-2017/share/man/man4/tcp.4 ============================================================================== --- projects/netbsd-tests-upstream-01-2017/share/man/man4/tcp.4 Tue Feb 7 01:28:55 2017 (r313360) +++ projects/netbsd-tests-upstream-01-2017/share/man/man4/tcp.4 Tue Feb 7 01:33:39 2017 (r313361) @@ -34,7 +34,7 @@ .\" From: @(#)tcp.4 8.1 (Berkeley) 6/5/93 .\" $FreeBSD$ .\" -.Dd Jan 29, 2017 +.Dd February 6, 2017 .Dt TCP 4 .Os .Sh NAME @@ -272,33 +272,27 @@ or the internal send buffer is filled. This option enables the use of MD5 digests (also known as TCP-MD5) on writes to the specified socket. Outgoing traffic is digested; -digests on incoming traffic are verified if the -.Va net.inet.tcp.signature_verify_input -sysctl is nonzero. -The current default behavior for the system is to respond to a system -advertising this option with TCP-MD5; this may change. +digests on incoming traffic are verified. +When this option is enabled on a socket, all inbound and outgoing +TCP segments must be signed with MD5 digests. .Pp One common use for this in a .Fx router deployment is to enable based routers to interwork with Cisco equipment at peering points. Support for this feature conforms to RFC 2385. -Only IPv4 -.Pq Dv AF_INET -sessions are supported. .Pp In order for this option to function correctly, it is necessary for the administrator to add a tcp-md5 key entry to the system's security associations database (SADB) using the .Xr setkey 8 utility. -This entry must have an SPI of 0x1000 and can therefore only be specified -on a per-host basis at this time. +This entry can only be specified on a per-host basis at this time. .Pp -If an SADB entry cannot be found for the destination, the outgoing traffic -will have an invalid digest option prepended, and the following error message -will be visible on the system console: -.Em "tcp_signature_compute: SADB lookup failed for %d.%d.%d.%d" . +If an SADB entry cannot be found for the destination, +the system does not send any outgoing segments and drops any inbound segments. +.Pp +Each dropped segment is taken into account in the TCP protocol statistics. .El .Pp The option level for the Modified: projects/netbsd-tests-upstream-01-2017/share/man/man4/udp.4 ============================================================================== --- projects/netbsd-tests-upstream-01-2017/share/man/man4/udp.4 Tue Feb 7 01:28:55 2017 (r313360) +++ projects/netbsd-tests-upstream-01-2017/share/man/man4/udp.4 Tue Feb 7 01:33:39 2017 (r313361) @@ -28,7 +28,7 @@ .\" @(#)udp.4 8.1 (Berkeley) 6/5/93 .\" $FreeBSD$ .\" -.Dd June 5, 1993 +.Dd February 6, 2017 .Dt UDP 4 .Os .Sh NAME @@ -99,6 +99,17 @@ transport level may be used with .Tn UDP ; see .Xr ip 4 . +.Tn UDP_ENCAP +socket option may be used at the +.Tn IPPROTO_UDP +level to encapsulate +.Tn ESP +packets in +.Tn UDP . +Only one value is supported for this option: +.Tn UDP_ENCAP_ESPINUDP +from RFC 3948, defined in +.In netinet/udp.h . .Sh MIB VARIABLES The .Nm @@ -158,7 +169,8 @@ exists. .Xr blackhole 4 , .Xr inet 4 , .Xr intro 4 , -.Xr ip 4 +.Xr ip 4 , +.Xr udplite 4 .Sh HISTORY The .Nm Modified: projects/netbsd-tests-upstream-01-2017/sys/amd64/linux/linux_dummy.c ============================================================================== --- projects/netbsd-tests-upstream-01-2017/sys/amd64/linux/linux_dummy.c Tue Feb 7 01:28:55 2017 (r313360) +++ projects/netbsd-tests-upstream-01-2017/sys/amd64/linux/linux_dummy.c Tue Feb 7 01:33:39 2017 (r313361) @@ -82,41 +82,86 @@ DUMMY(mq_timedreceive); DUMMY(mq_notify); DUMMY(mq_getsetattr); DUMMY(kexec_load); +/* linux 2.6.11: */ DUMMY(add_key); DUMMY(request_key); DUMMY(keyctl); +/* linux 2.6.13: */ DUMMY(ioprio_set); DUMMY(ioprio_get); DUMMY(inotify_init); DUMMY(inotify_add_watch); DUMMY(inotify_rm_watch); +/* linux 2.6.16: */ DUMMY(migrate_pages); DUMMY(unshare); +/* linux 2.6.17: */ DUMMY(splice); DUMMY(tee); DUMMY(sync_file_range); DUMMY(vmsplice); +/* linux 2.6.18: */ DUMMY(move_pages); +/* linux 2.6.22: */ DUMMY(signalfd); -DUMMY(timerfd); +DUMMY(timerfd_create); +/* linux 2.6.25: */ DUMMY(timerfd_settime); DUMMY(timerfd_gettime); +/* linux 2.6.27: */ DUMMY(signalfd4); DUMMY(inotify_init1); +/* linux 2.6.30: */ DUMMY(preadv); DUMMY(pwritev); -DUMMY(rt_tsigqueueinfo); +/* linux 2.6.31: */ +DUMMY(rt_tgsigqueueinfo); DUMMY(perf_event_open); +/* linux 2.6.38: */ DUMMY(fanotify_init); DUMMY(fanotify_mark); +/* linux 2.6.39: */ DUMMY(name_to_handle_at); DUMMY(open_by_handle_at); DUMMY(clock_adjtime); +/* linux 3.0: */ DUMMY(setns); +DUMMY(getcpu); +/* linux 3.2: */ DUMMY(process_vm_readv); DUMMY(process_vm_writev); +/* linux 3.5: */ DUMMY(kcmp); +/* linux 3.8: */ DUMMY(finit_module); +DUMMY(sched_setattr); +DUMMY(sched_getattr); +/* linux 3.14: */ +DUMMY(renameat2); +/* linux 3.15: */ +DUMMY(seccomp); +DUMMY(getrandom); +DUMMY(memfd_create); +DUMMY(kexec_file_load); +/* linux 3.18: */ +DUMMY(bpf); +/* linux 3.19: */ +DUMMY(execveat); +/* linux 4.2: */ +DUMMY(userfaultfd); +/* linux 4.3: */ +DUMMY(membarrier); +/* linux 4.4: */ +DUMMY(mlock2); +/* linux 4.5: */ +DUMMY(copy_file_range); +/* linux 4.6: */ +DUMMY(preadv2); +DUMMY(pwritev2); +/* linux 4.8: */ +DUMMY(pkey_mprotect); +DUMMY(pkey_alloc); +DUMMY(pkey_free); #define DUMMY_XATTR(s) \ int \ Modified: projects/netbsd-tests-upstream-01-2017/sys/amd64/linux/linux_proto.h ============================================================================== --- projects/netbsd-tests-upstream-01-2017/sys/amd64/linux/linux_proto.h Tue Feb 7 01:28:55 2017 (r313360) +++ projects/netbsd-tests-upstream-01-2017/sys/amd64/linux/linux_proto.h Tue Feb 7 01:33:39 2017 (r313361) @@ -3,7 +3,7 @@ * * DO NOT EDIT-- this file is automatically generated. * $FreeBSD$ - * created from FreeBSD: head/sys/amd64/linux/syscalls.master 302515 2016-07-10 08:15:50Z dchagin + * created from FreeBSD: head/sys/amd64/linux/syscalls.master 313284 2017-02-05 14:17:09Z dchagin */ #ifndef _LINUX_SYSPROTO_H_ @@ -1000,7 +1000,7 @@ struct linux_epoll_pwait_args { struct linux_signalfd_args { register_t dummy; }; -struct linux_timerfd_args { +struct linux_timerfd_create_args { register_t dummy; }; struct linux_eventfd_args { @@ -1044,16 +1044,27 @@ struct linux_pipe2_args { char flags_l_[PADL_(l_int)]; l_int flags; char flags_r_[PADR_(l_int)]; }; struct linux_inotify_init1_args { - register_t dummy; + char flags_l_[PADL_(l_int)]; l_int flags; char flags_r_[PADR_(l_int)]; }; struct linux_preadv_args { - register_t dummy; *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-projects@freebsd.org Tue Feb 7 02:00:15 2017 Return-Path: Delivered-To: svn-src-projects@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id B8D81CD3BF1 for ; Tue, 7 Feb 2017 02:00:15 +0000 (UTC) (envelope-from ngie@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 6E879BB6; Tue, 7 Feb 2017 02:00:15 +0000 (UTC) (envelope-from ngie@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v1720EU4000141; Tue, 7 Feb 2017 02:00:14 GMT (envelope-from ngie@FreeBSD.org) Received: (from ngie@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v1720EcZ000140; Tue, 7 Feb 2017 02:00:14 GMT (envelope-from ngie@FreeBSD.org) Message-Id: <201702070200.v1720EcZ000140@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: ngie set sender to ngie@FreeBSD.org using -f From: Ngie Cooper Date: Tue, 7 Feb 2017 02:00:14 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r313372 - projects/netbsd-tests-upstream-01-2017/contrib/netbsd-tests/lib/libc/stdlib X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 07 Feb 2017 02:00:15 -0000 Author: ngie Date: Tue Feb 7 02:00:14 2017 New Revision: 313372 URL: https://svnweb.freebsd.org/changeset/base/313372 Log: Uncomment more of the hsearch_r testcases Call hdestroy/hdestroy_r on FreeBSD instead of hdestroy(1?)(_r). All but hdestroy_r_nonexistent pass as-is. Modified: projects/netbsd-tests-upstream-01-2017/contrib/netbsd-tests/lib/libc/stdlib/t_hsearch.c Modified: projects/netbsd-tests-upstream-01-2017/contrib/netbsd-tests/lib/libc/stdlib/t_hsearch.c ============================================================================== --- projects/netbsd-tests-upstream-01-2017/contrib/netbsd-tests/lib/libc/stdlib/t_hsearch.c Tue Feb 7 01:58:02 2017 (r313371) +++ projects/netbsd-tests-upstream-01-2017/contrib/netbsd-tests/lib/libc/stdlib/t_hsearch.c Tue Feb 7 02:00:14 2017 (r313372) @@ -75,7 +75,6 @@ __RCSID("$NetBSD: t_hsearch.c,v 1.4 2014 #define REQUIRE_ERRNO(x) ATF_REQUIRE_MSG(x, "%s", strerror(errno)) -#ifdef __NetBSD__ ATF_TC(hsearch_basic); ATF_TC_HEAD(hsearch_basic, tc) { @@ -122,9 +121,12 @@ ATF_TC_BODY(hsearch_basic, tc) ATF_REQUIRE_EQ((intptr_t)ep->data, i); } +#ifdef __NetBSD__ hdestroy1(free, NULL); -} +#else + hdestroy(); #endif +} ATF_TC(hsearch_duplicate); ATF_TC_HEAD(hsearch_duplicate, tc) @@ -232,7 +234,6 @@ ATF_TC_BODY(hsearch_two, tc) } #if defined(__FreeBSD__) && 1100027 <= __FreeBSD_version -#ifdef __NetBSD__ ATF_TC(hsearch_r_basic); ATF_TC_HEAD(hsearch_r_basic, tc) { @@ -278,7 +279,11 @@ ATF_TC_BODY(hsearch_r_basic, tc) ATF_REQUIRE_EQ((intptr_t)ep->data, i); } +#ifdef __NetBSD__ hdestroy1_r(&t, free, NULL); +#else + hdestroy_r(&t); +#endif } #endif @@ -386,22 +391,17 @@ ATF_TC_BODY(hsearch_r_two, tc) hdestroy_r(&t); } -#endif ATF_TP_ADD_TCS(tp) { -#ifdef __NetBSD__ ATF_TP_ADD_TC(tp, hsearch_basic); -#endif ATF_TP_ADD_TC(tp, hsearch_duplicate); ATF_TP_ADD_TC(tp, hsearch_nonexistent); ATF_TP_ADD_TC(tp, hsearch_two); - + #if defined(__FreeBSD__) && 1100027 <= __FreeBSD_version -#ifdef __NetBSD__ ATF_TP_ADD_TC(tp, hsearch_r_basic); -#endif ATF_TP_ADD_TC(tp, hsearch_r_duplicate); ATF_TP_ADD_TC(tp, hsearch_r_nonexistent); ATF_TP_ADD_TC(tp, hsearch_r_two); From owner-svn-src-projects@freebsd.org Tue Feb 7 02:57:13 2017 Return-Path: Delivered-To: svn-src-projects@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 1124CCD42F8 for ; Tue, 7 Feb 2017 02:57:13 +0000 (UTC) (envelope-from ngie@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id D1F07CEE; Tue, 7 Feb 2017 02:57:12 +0000 (UTC) (envelope-from ngie@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v172vBMv024043; Tue, 7 Feb 2017 02:57:11 GMT (envelope-from ngie@FreeBSD.org) Received: (from ngie@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v172vBek024042; Tue, 7 Feb 2017 02:57:11 GMT (envelope-from ngie@FreeBSD.org) Message-Id: <201702070257.v172vBek024042@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: ngie set sender to ngie@FreeBSD.org using -f From: Ngie Cooper Date: Tue, 7 Feb 2017 02:57:11 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r313375 - projects/netbsd-tests-upstream-01-2017/contrib/netbsd-tests/lib/libc/stdlib X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 07 Feb 2017 02:57:13 -0000 Author: ngie Date: Tue Feb 7 02:57:11 2017 New Revision: 313375 URL: https://svnweb.freebsd.org/changeset/base/313375 Log: Expect :hsearch_r_nonexistent to fail on FreeBSD The docs and the behavior mismatch; as noted in the bug, the behavior for hsearch_r matches Linux, whereas the docs seem to match NetBSD requirements wise. PR: 216872 Modified: projects/netbsd-tests-upstream-01-2017/contrib/netbsd-tests/lib/libc/stdlib/t_hsearch.c Modified: projects/netbsd-tests-upstream-01-2017/contrib/netbsd-tests/lib/libc/stdlib/t_hsearch.c ============================================================================== --- projects/netbsd-tests-upstream-01-2017/contrib/netbsd-tests/lib/libc/stdlib/t_hsearch.c Tue Feb 7 02:32:49 2017 (r313374) +++ projects/netbsd-tests-upstream-01-2017/contrib/netbsd-tests/lib/libc/stdlib/t_hsearch.c Tue Feb 7 02:57:11 2017 (r313375) @@ -337,6 +337,9 @@ ATF_TC_BODY(hsearch_r_nonexistent, tc) REQUIRE_ERRNO(hcreate_r(16, &t)); +#ifdef __FreeBSD__ + atf_tc_expect_fail("behavior doesn't match docs; see bug # 216872"); +#endif e.key = __UNCONST("A"); ATF_REQUIRE(hsearch_r(e, FIND, &ep, &t) == 1); ATF_REQUIRE_EQ(ep, NULL); From owner-svn-src-projects@freebsd.org Tue Feb 7 06:04:15 2017 Return-Path: Delivered-To: svn-src-projects@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 586FDCD2B56 for ; Tue, 7 Feb 2017 06:04:15 +0000 (UTC) (envelope-from ngie@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 3077B16B8; Tue, 7 Feb 2017 06:04:15 +0000 (UTC) (envelope-from ngie@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v1764Ebt001022; Tue, 7 Feb 2017 06:04:14 GMT (envelope-from ngie@FreeBSD.org) Received: (from ngie@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v1764Dbd001017; Tue, 7 Feb 2017 06:04:13 GMT (envelope-from ngie@FreeBSD.org) Message-Id: <201702070604.v1764Dbd001017@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: ngie set sender to ngie@FreeBSD.org using -f From: Ngie Cooper Date: Tue, 7 Feb 2017 06:04:13 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r313381 - in projects/netbsd-tests-upstream-01-2017: contrib/netbsd-tests/lib/libc/gen lib/libc/stdlib lib/libc/tests/stdio sys/dev/ath X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 07 Feb 2017 06:04:15 -0000 Author: ngie Date: Tue Feb 7 06:04:13 2017 New Revision: 313381 URL: https://svnweb.freebsd.org/changeset/base/313381 Log: MFhead@r313380 Modified: projects/netbsd-tests-upstream-01-2017/contrib/netbsd-tests/lib/libc/gen/t_floatunditf.c projects/netbsd-tests-upstream-01-2017/lib/libc/stdlib/hcreate.3 projects/netbsd-tests-upstream-01-2017/lib/libc/tests/stdio/printbasic_test.c projects/netbsd-tests-upstream-01-2017/lib/libc/tests/stdio/printfloat_test.c projects/netbsd-tests-upstream-01-2017/sys/dev/ath/if_athvar.h Directory Properties: projects/netbsd-tests-upstream-01-2017/ (props changed) projects/netbsd-tests-upstream-01-2017/contrib/netbsd-tests/ (props changed) Modified: projects/netbsd-tests-upstream-01-2017/contrib/netbsd-tests/lib/libc/gen/t_floatunditf.c ============================================================================== --- projects/netbsd-tests-upstream-01-2017/contrib/netbsd-tests/lib/libc/gen/t_floatunditf.c Tue Feb 7 05:44:13 2017 (r313380) +++ projects/netbsd-tests-upstream-01-2017/contrib/netbsd-tests/lib/libc/gen/t_floatunditf.c Tue Feb 7 06:04:13 2017 (r313381) @@ -119,6 +119,11 @@ ATF_TC_BODY(floatunditf, tc) #else size_t i; +#if defined(__FreeBSD__) && defined(__i386__) + atf_tc_expect_fail("the floating point error on FreeBSD/i386 doesn't " + "match the expected floating point error on NetBSD"); +#endif + for (i = 0; i < __arraycount(testcases); ++i) ATF_CHECK_MSG( testcases[i].ld == (long double)testcases[i].u64, Modified: projects/netbsd-tests-upstream-01-2017/lib/libc/stdlib/hcreate.3 ============================================================================== --- projects/netbsd-tests-upstream-01-2017/lib/libc/stdlib/hcreate.3 Tue Feb 7 05:44:13 2017 (r313380) +++ projects/netbsd-tests-upstream-01-2017/lib/libc/stdlib/hcreate.3 Tue Feb 7 06:04:13 2017 (r313381) @@ -28,7 +28,7 @@ .\" .\" $FreeBSD$ .\" -.Dd December 26, 2015 +.Dd February 6, 2017 .Dt HCREATE 3 .Os .Sh NAME @@ -265,9 +265,9 @@ main(void) .Ed .Sh ERRORS The -.Fn hcreate +.Fn hcreate , .Fn hcreate_r , -.Fn hsearch +.Fn hsearch , and .Fn hsearch_r functions will fail if: @@ -281,7 +281,7 @@ The and .Fn hsearch_r functions will also fail if the action is -.Dv SEARCH +.Dv FIND and the element is not found: .Bl -tag -width Er .It Bq Er ESRCH Modified: projects/netbsd-tests-upstream-01-2017/lib/libc/tests/stdio/printbasic_test.c ============================================================================== --- projects/netbsd-tests-upstream-01-2017/lib/libc/tests/stdio/printbasic_test.c Tue Feb 7 05:44:13 2017 (r313380) +++ projects/netbsd-tests-upstream-01-2017/lib/libc/tests/stdio/printbasic_test.c Tue Feb 7 06:04:13 2017 (r313381) @@ -78,22 +78,19 @@ _testfmt(const char *result, const char va_copy(ap2, ap); smash_stack(); vsnprintf(s, sizeof(s), fmt, ap); - if (strcmp(result, s) != 0) { - atf_tc_fail( - "printf(\"%s\", %s) ==> [%s], expected [%s]", - fmt, argstr, s, result); - } + ATF_CHECK_MSG(strcmp(result, s) == 0, + "printf(\"%s\", %s) ==> [%s], expected [%s]", + fmt, argstr, s, result); smash_stack(); mbstowcs(ws, s, BUF - 1); mbstowcs(wfmt, fmt, BUF - 1); mbstowcs(wresult, result, BUF - 1); vswprintf(ws, sizeof(ws) / sizeof(ws[0]), wfmt, ap2); - if (wcscmp(wresult, ws) != 0) { - atf_tc_fail( - "wprintf(\"%ls\", %s) ==> [%ls], expected [%ls]", - wfmt, argstr, ws, wresult); - } + ATF_CHECK_MSG(wcscmp(wresult, ws) == 0, + "wprintf(\"%ls\", %s) ==> [%ls], expected [%ls]", + wfmt, argstr, ws, wresult); + va_end(ap); va_end(ap2); } @@ -114,6 +111,11 @@ ATF_TC_BODY(int_within_limits, tc) testfmt("-1", "%jd", (intmax_t)-1); testfmt(S_UINT64MAX, "%ju", UINT64_MAX); + if (sizeof(ptrdiff_t) != sizeof(uintmax_t)) + atf_tc_expect_fail("the %%t qualifier is broken on 32-bit " + "platforms where there's a mismatch between ptrdiff_t and " + "uintmax_t's type width; bug # 191674"); + testfmt("-1", "%td", (ptrdiff_t)-1); testfmt(S_SIZEMAX, "%tu", (size_t)-1); Modified: projects/netbsd-tests-upstream-01-2017/lib/libc/tests/stdio/printfloat_test.c ============================================================================== --- projects/netbsd-tests-upstream-01-2017/lib/libc/tests/stdio/printfloat_test.c Tue Feb 7 05:44:13 2017 (r313380) +++ projects/netbsd-tests-upstream-01-2017/lib/libc/tests/stdio/printfloat_test.c Tue Feb 7 06:04:13 2017 (r313381) @@ -70,22 +70,19 @@ _testfmt(const char *result, const char va_copy(ap2, ap); smash_stack(); vsnprintf(s, sizeof(s), fmt, ap); - if (strcmp(result, s) != 0) { - atf_tc_fail( - "printf(\"%s\", %s) ==> [%s], expected [%s]", - fmt, argstr, s, result); - } + ATF_CHECK_MSG(strcmp(result, s) == 0, + "printf(\"%s\", %s) ==> [%s], expected [%s]", + fmt, argstr, s, result); smash_stack(); mbstowcs(ws, s, BUF - 1); mbstowcs(wfmt, fmt, BUF - 1); mbstowcs(wresult, result, BUF - 1); vswprintf(ws, sizeof(ws) / sizeof(ws[0]), wfmt, ap2); - if (wcscmp(wresult, ws) != 0) { - atf_tc_fail( - "wprintf(\"%ls\", %s) ==> [%ls], expected [%ls]", - wfmt, argstr, ws, wresult); - } + ATF_CHECK_MSG(wcscmp(wresult, ws) == 0, + "wprintf(\"%ls\", %s) ==> [%ls], expected [%ls]", + wfmt, argstr, ws, wresult); + va_end(ap); va_end(ap2); } @@ -318,7 +315,7 @@ ATF_TC_BODY(hexadecimal_floating_point, testfmt("0x1p-1074", "%a", 0x1p-1074); testfmt("0x1.2345p-1024", "%a", 0x1.2345p-1024); -#if (LDBL_MANT_DIG == 64) && !defined(__i386__) +#if (LDBL_MANT_DIG == 64) testfmt("0x1.921fb54442d18468p+1", "%La", 0x3.243f6a8885a308dp0L); testfmt("0x1p-16445", "%La", 0x1p-16445L); testfmt("0x1.30ecap-16381", "%La", 0x9.8765p-16384L); Modified: projects/netbsd-tests-upstream-01-2017/sys/dev/ath/if_athvar.h ============================================================================== --- projects/netbsd-tests-upstream-01-2017/sys/dev/ath/if_athvar.h Tue Feb 7 05:44:13 2017 (r313380) +++ projects/netbsd-tests-upstream-01-2017/sys/dev/ath/if_athvar.h Tue Feb 7 06:04:13 2017 (r313381) @@ -490,6 +490,7 @@ struct ath_vap { int (*av_set_tim)(struct ieee80211_node *, int); void (*av_recv_pspoll)(struct ieee80211_node *, struct mbuf *); + struct ieee80211_quiet_ie quiet_ie; }; #define ATH_VAP(vap) ((struct ath_vap *)(vap)) @@ -1484,6 +1485,8 @@ void ath_intr(void *); ((*(_ah)->ah_get11nExtBusy)((_ah))) #define ath_hal_setchainmasks(_ah, _txchainmask, _rxchainmask) \ ((*(_ah)->ah_setChainMasks)((_ah), (_txchainmask), (_rxchainmask))) +#define ath_hal_set_quiet(_ah, _p, _d, _o, _f) \ + ((*(_ah)->ah_setQuiet)((_ah), (_p), (_d), (_o), (_f))) #define ath_hal_spectral_supported(_ah) \ (ath_hal_getcapability(_ah, HAL_CAP_SPECTRAL_SCAN, 0, NULL) == HAL_OK) From owner-svn-src-projects@freebsd.org Tue Feb 7 06:34:04 2017 Return-Path: Delivered-To: svn-src-projects@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 3981ECD44F5 for ; Tue, 7 Feb 2017 06:34:04 +0000 (UTC) (envelope-from ngie@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 06798796; Tue, 7 Feb 2017 06:34:03 +0000 (UTC) (envelope-from ngie@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v176Y3aH012977; Tue, 7 Feb 2017 06:34:03 GMT (envelope-from ngie@FreeBSD.org) Received: (from ngie@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v176Y3Ek012976; Tue, 7 Feb 2017 06:34:03 GMT (envelope-from ngie@FreeBSD.org) Message-Id: <201702070634.v176Y3Ek012976@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: ngie set sender to ngie@FreeBSD.org using -f From: Ngie Cooper Date: Tue, 7 Feb 2017 06:34:03 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r313382 - projects/netbsd-tests-upstream-01-2017/contrib/netbsd-tests/lib/libc/sys X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 07 Feb 2017 06:34:04 -0000 Author: ngie Date: Tue Feb 7 06:34:02 2017 New Revision: 313382 URL: https://svnweb.freebsd.org/changeset/base/313382 Log: Add #else case in run(..) to fix test on non-{amd64,arm64,mips} after recent refactoring to the test Modified: projects/netbsd-tests-upstream-01-2017/contrib/netbsd-tests/lib/libc/sys/t_getcontext.c Modified: projects/netbsd-tests-upstream-01-2017/contrib/netbsd-tests/lib/libc/sys/t_getcontext.c ============================================================================== --- projects/netbsd-tests-upstream-01-2017/contrib/netbsd-tests/lib/libc/sys/t_getcontext.c Tue Feb 7 06:04:13 2017 (r313381) +++ projects/netbsd-tests-upstream-01-2017/contrib/netbsd-tests/lib/libc/sys/t_getcontext.c Tue Feb 7 06:34:02 2017 (r313382) @@ -133,6 +133,9 @@ ATF_TC_BODY(setcontext_link, tc) /* FreeBSD/mips only permits up to 6 arguments. */ makecontext(&uc[i], (void *)run, 6, i, 0, 1, 2, 3, 4); +#else + makecontext(&uc[i], (void *)run, 10, i, + 0, 1, 2, 3, 4, 5, 6, 7, 8); #endif #else makecontext(&uc[i], (void *)run, 10, i, From owner-svn-src-projects@freebsd.org Tue Feb 7 18:47:20 2017 Return-Path: Delivered-To: svn-src-projects@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 4F2CFCD4203 for ; Tue, 7 Feb 2017 18:47:20 +0000 (UTC) (envelope-from ngie@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 1739E1681; Tue, 7 Feb 2017 18:47:20 +0000 (UTC) (envelope-from ngie@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v17IlJ6D014156; Tue, 7 Feb 2017 18:47:19 GMT (envelope-from ngie@FreeBSD.org) Received: (from ngie@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v17IlGMO014131; Tue, 7 Feb 2017 18:47:16 GMT (envelope-from ngie@FreeBSD.org) Message-Id: <201702071847.v17IlGMO014131@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: ngie set sender to ngie@FreeBSD.org using -f From: Ngie Cooper Date: Tue, 7 Feb 2017 18:47:16 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r313399 - in projects/netbsd-tests-upstream-01-2017: contrib/byacc/test/yacc sys/arm/altera/socfpga sys/arm/conf sys/arm64/arm64 sys/arm64/include sys/boot/efi/libefi sys/kern sys/modul... X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 07 Feb 2017 18:47:20 -0000 Author: ngie Date: Tue Feb 7 18:47:16 2017 New Revision: 313399 URL: https://svnweb.freebsd.org/changeset/base/313399 Log: MFhead@r313398 Added: projects/netbsd-tests-upstream-01-2017/sys/arm/altera/socfpga/socfpga_mp.h - copied unchanged from r313398, head/sys/arm/altera/socfpga/socfpga_mp.h Modified: projects/netbsd-tests-upstream-01-2017/contrib/byacc/test/yacc/expr.oxout.tab.c projects/netbsd-tests-upstream-01-2017/sys/arm/altera/socfpga/socfpga_common.c projects/netbsd-tests-upstream-01-2017/sys/arm/altera/socfpga/socfpga_machdep.c projects/netbsd-tests-upstream-01-2017/sys/arm/altera/socfpga/socfpga_mp.c projects/netbsd-tests-upstream-01-2017/sys/arm/conf/SOCKIT.common projects/netbsd-tests-upstream-01-2017/sys/arm64/arm64/exception.S projects/netbsd-tests-upstream-01-2017/sys/arm64/arm64/genassym.c projects/netbsd-tests-upstream-01-2017/sys/arm64/arm64/trap.c projects/netbsd-tests-upstream-01-2017/sys/arm64/include/frame.h projects/netbsd-tests-upstream-01-2017/sys/boot/efi/libefi/Makefile projects/netbsd-tests-upstream-01-2017/sys/kern/init_main.c projects/netbsd-tests-upstream-01-2017/sys/kern/kern_mutex.c projects/netbsd-tests-upstream-01-2017/sys/kern/kern_rwlock.c projects/netbsd-tests-upstream-01-2017/sys/kern/kern_sx.c projects/netbsd-tests-upstream-01-2017/sys/kern/kern_thread.c projects/netbsd-tests-upstream-01-2017/sys/kern/subr_lock.c projects/netbsd-tests-upstream-01-2017/sys/kern/subr_sfbuf.c projects/netbsd-tests-upstream-01-2017/sys/modules/dtb/allwinner/Makefile projects/netbsd-tests-upstream-01-2017/sys/sys/lock.h projects/netbsd-tests-upstream-01-2017/sys/sys/rwlock.h projects/netbsd-tests-upstream-01-2017/tests/sys/netinet/fibs_test.sh projects/netbsd-tests-upstream-01-2017/tests/sys/netinet/udp_dontroute.c projects/netbsd-tests-upstream-01-2017/usr.bin/sed/tests/sed2_test.sh Directory Properties: projects/netbsd-tests-upstream-01-2017/ (props changed) projects/netbsd-tests-upstream-01-2017/contrib/byacc/ (props changed) Modified: projects/netbsd-tests-upstream-01-2017/contrib/byacc/test/yacc/expr.oxout.tab.c ============================================================================== --- projects/netbsd-tests-upstream-01-2017/contrib/byacc/test/yacc/expr.oxout.tab.c Tue Feb 7 18:37:46 2017 (r313398) +++ projects/netbsd-tests-upstream-01-2017/contrib/byacc/test/yacc/expr.oxout.tab.c Tue Feb 7 18:47:16 2017 (r313399) @@ -178,7 +178,7 @@ extern int YYPARSE_DECL(); #define ID 257 #define CONST 258 #define YYERRCODE 256 -typedef short YYINT; +typedef int YYINT; static const YYINT expr.oxout_lhs[] = { -1, 2, 0, 1, 3, 3, 3, 3, 3, 3, 3, }; Modified: projects/netbsd-tests-upstream-01-2017/sys/arm/altera/socfpga/socfpga_common.c ============================================================================== --- projects/netbsd-tests-upstream-01-2017/sys/arm/altera/socfpga/socfpga_common.c Tue Feb 7 18:37:46 2017 (r313398) +++ projects/netbsd-tests-upstream-01-2017/sys/arm/altera/socfpga/socfpga_common.c Tue Feb 7 18:47:16 2017 (r313399) @@ -43,27 +43,3 @@ __FBSDID("$FreeBSD$"); #include -void -cpu_reset(void) -{ - uint32_t paddr; - bus_addr_t vaddr; - phandle_t node; - - if (rstmgr_warmreset() == 0) - goto end; - - node = OF_finddevice("rstmgr"); - if (node == -1) - goto end; - - if ((OF_getencprop(node, "reg", &paddr, sizeof(paddr))) > 0) { - if (bus_space_map(fdtbus_bs_tag, paddr, 0x8, 0, &vaddr) == 0) { - bus_space_write_4(fdtbus_bs_tag, vaddr, - RSTMGR_CTRL, CTRL_SWWARMRSTREQ); - } - } - -end: - while (1); -} Modified: projects/netbsd-tests-upstream-01-2017/sys/arm/altera/socfpga/socfpga_machdep.c ============================================================================== --- projects/netbsd-tests-upstream-01-2017/sys/arm/altera/socfpga/socfpga_machdep.c Tue Feb 7 18:37:46 2017 (r313398) +++ projects/netbsd-tests-upstream-01-2017/sys/arm/altera/socfpga/socfpga_machdep.c Tue Feb 7 18:47:16 2017 (r313399) @@ -28,7 +28,6 @@ * SUCH DAMAGE. */ -#include "opt_ddb.h" #include "opt_platform.h" #include @@ -41,38 +40,22 @@ __FBSDID("$FreeBSD$"); #include +#include + #include #include +#include #include #include +#include -vm_offset_t -platform_lastaddr(void) -{ - - return (devmap_lastaddr()); -} - -void -platform_probe_and_attach(void) -{ - -} - -void -platform_gpio_init(void) -{ - -} - -void -platform_late_init(void) -{ +#include +#include -} +#include "platform_if.h" -int -platform_devmap_init(void) +static int +socfpga_devmap_init(platform_t plat) { /* UART */ @@ -99,3 +82,42 @@ platform_devmap_init(void) return (0); } + +static void +socfpga_cpu_reset(platform_t plat) +{ + uint32_t paddr; + bus_addr_t vaddr; + phandle_t node; + + if (rstmgr_warmreset() == 0) + goto end; + + node = OF_finddevice("rstmgr"); + if (node == -1) + goto end; + + if ((OF_getencprop(node, "reg", &paddr, sizeof(paddr))) > 0) { + if (bus_space_map(fdtbus_bs_tag, paddr, 0x8, 0, &vaddr) == 0) { + bus_space_write_4(fdtbus_bs_tag, vaddr, + RSTMGR_CTRL, CTRL_SWWARMRSTREQ); + } + } + +end: + while (1); +} + +static platform_method_t socfpga_methods[] = { + PLATFORMMETHOD(platform_devmap_init, socfpga_devmap_init), + PLATFORMMETHOD(platform_cpu_reset, socfpga_cpu_reset), + +#ifdef SMP + PLATFORMMETHOD(platform_mp_setmaxid, socfpga_mp_setmaxid), + PLATFORMMETHOD(platform_mp_start_ap, socfpga_mp_start_ap), +#endif + + PLATFORMMETHOD_END, +}; + +FDT_PLATFORM_DEF(socfpga, "socfpga", 0, "altr,socfpga", 0); Modified: projects/netbsd-tests-upstream-01-2017/sys/arm/altera/socfpga/socfpga_mp.c ============================================================================== --- projects/netbsd-tests-upstream-01-2017/sys/arm/altera/socfpga/socfpga_mp.c Tue Feb 7 18:37:46 2017 (r313398) +++ projects/netbsd-tests-upstream-01-2017/sys/arm/altera/socfpga/socfpga_mp.c Tue Feb 7 18:47:16 2017 (r313399) @@ -28,6 +28,8 @@ * SUCH DAMAGE. */ +#include "opt_platform.h" + #include __FBSDID("$FreeBSD$"); #include @@ -45,6 +47,9 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include + +#include #define SCU_PHYSBASE 0xFFFEC000 #define SCU_SIZE 0x100 @@ -85,7 +90,7 @@ socfpga_trampoline(void) } void -platform_mp_setmaxid(void) +socfpga_mp_setmaxid(platform_t plat) { int hwcpu, ncpu; @@ -105,7 +110,7 @@ platform_mp_setmaxid(void) } void -platform_mp_start_ap(void) +socfpga_mp_start_ap(platform_t plat) { bus_space_handle_t scu, rst, ram; int reg; Copied: projects/netbsd-tests-upstream-01-2017/sys/arm/altera/socfpga/socfpga_mp.h (from r313398, head/sys/arm/altera/socfpga/socfpga_mp.h) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ projects/netbsd-tests-upstream-01-2017/sys/arm/altera/socfpga/socfpga_mp.h Tue Feb 7 18:47:16 2017 (r313399, copy of r313398, head/sys/arm/altera/socfpga/socfpga_mp.h) @@ -0,0 +1,34 @@ +/*- + * Copyright (c) 2017 Andrew Turner + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR + * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES + * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. + * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF + * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * $FreeBSD$ + */ + +#ifndef _SOCFPGA_MP_H_ +#define _SOCFPGA_MP_H_ + +void socfpga_mp_setmaxid(platform_t); +void socfpga_mp_start_ap(platform_t); + +#endif /* _SOCFPGA_MP_H_ */ Modified: projects/netbsd-tests-upstream-01-2017/sys/arm/conf/SOCKIT.common ============================================================================== --- projects/netbsd-tests-upstream-01-2017/sys/arm/conf/SOCKIT.common Tue Feb 7 18:37:46 2017 (r313398) +++ projects/netbsd-tests-upstream-01-2017/sys/arm/conf/SOCKIT.common Tue Feb 7 18:47:16 2017 (r313399) @@ -26,6 +26,8 @@ makeoptions MODULES_OVERRIDE="" makeoptions WERROR="-Werror" options SCHED_ULE # ULE scheduler +options PLATFORM # Platform based SoC +options PLATFORM_SMP options SMP # Enable multiple cores # NFS root from boopt/dhcp Modified: projects/netbsd-tests-upstream-01-2017/sys/arm64/arm64/exception.S ============================================================================== --- projects/netbsd-tests-upstream-01-2017/sys/arm64/arm64/exception.S Tue Feb 7 18:37:46 2017 (r313398) +++ projects/netbsd-tests-upstream-01-2017/sys/arm64/arm64/exception.S Tue Feb 7 18:47:16 2017 (r313399) @@ -56,10 +56,12 @@ __FBSDID("$FreeBSD$"); stp x0, x1, [sp, #(TF_X + 0 * 8)] mrs x10, elr_el1 mrs x11, spsr_el1 + mrs x12, esr_el1 .if \el == 0 mrs x18, sp_el0 .endif - stp x10, x11, [sp, #(TF_ELR)] + str x10, [sp, #(TF_ELR)] + stp w11, w12, [sp, #(TF_SPSR)] stp x18, lr, [sp, #(TF_SP)] mrs x18, tpidr_el1 add x29, sp, #(TF_SIZE) Modified: projects/netbsd-tests-upstream-01-2017/sys/arm64/arm64/genassym.c ============================================================================== --- projects/netbsd-tests-upstream-01-2017/sys/arm64/arm64/genassym.c Tue Feb 7 18:37:46 2017 (r313398) +++ projects/netbsd-tests-upstream-01-2017/sys/arm64/arm64/genassym.c Tue Feb 7 18:47:16 2017 (r313399) @@ -62,4 +62,5 @@ ASSYM(TD_LOCK, offsetof(struct thread, t ASSYM(TF_SIZE, sizeof(struct trapframe)); ASSYM(TF_SP, offsetof(struct trapframe, tf_sp)); ASSYM(TF_ELR, offsetof(struct trapframe, tf_elr)); +ASSYM(TF_SPSR, offsetof(struct trapframe, tf_spsr)); ASSYM(TF_X, offsetof(struct trapframe, tf_x)); Modified: projects/netbsd-tests-upstream-01-2017/sys/arm64/arm64/trap.c ============================================================================== --- projects/netbsd-tests-upstream-01-2017/sys/arm64/arm64/trap.c Tue Feb 7 18:37:46 2017 (r313398) +++ projects/netbsd-tests-upstream-01-2017/sys/arm64/arm64/trap.c Tue Feb 7 18:47:16 2017 (r313399) @@ -257,7 +257,7 @@ print_registers(struct trapframe *frame) printf(" sp: %16lx\n", frame->tf_sp); printf(" lr: %16lx\n", frame->tf_lr); printf(" elr: %16lx\n", frame->tf_elr); - printf("spsr: %16lx\n", frame->tf_spsr); + printf("spsr: %8x\n", frame->tf_spsr); } void @@ -267,7 +267,7 @@ do_el1h_sync(struct trapframe *frame) uint64_t esr, far; /* Read the esr register to get the exception details */ - esr = READ_SPECIALREG(esr_el1); + esr = frame->tf_esr; exception = ESR_ELx_EXCEPTION(esr); #ifdef KDTRACE_HOOKS @@ -352,7 +352,7 @@ do_el0_sync(struct trapframe *frame) td = curthread; td->td_frame = frame; - esr = READ_SPECIALREG(esr_el1); + esr = frame->tf_esr; exception = ESR_ELx_EXCEPTION(esr); switch (exception) { case EXCP_UNKNOWN: Modified: projects/netbsd-tests-upstream-01-2017/sys/arm64/include/frame.h ============================================================================== --- projects/netbsd-tests-upstream-01-2017/sys/arm64/include/frame.h Tue Feb 7 18:37:46 2017 (r313398) +++ projects/netbsd-tests-upstream-01-2017/sys/arm64/include/frame.h Tue Feb 7 18:47:16 2017 (r313399) @@ -45,7 +45,8 @@ struct trapframe { uint64_t tf_sp; uint64_t tf_lr; uint64_t tf_elr; - uint64_t tf_spsr; + uint32_t tf_spsr; + uint32_t tf_esr; uint64_t tf_x[30]; }; Modified: projects/netbsd-tests-upstream-01-2017/sys/boot/efi/libefi/Makefile ============================================================================== --- projects/netbsd-tests-upstream-01-2017/sys/boot/efi/libefi/Makefile Tue Feb 7 18:37:46 2017 (r313398) +++ projects/netbsd-tests-upstream-01-2017/sys/boot/efi/libefi/Makefile Tue Feb 7 18:47:16 2017 (r313399) @@ -26,6 +26,7 @@ SRCS+= time_event.c # of a short. There's no good cast to use here so just ignore the # warnings for now. CWARNFLAGS.efinet.c+= -Wno-format +CWARNFLAGS.efipart.c+= -Wno-format CWARNFLAGS.env.c+= -Wno-format .if ${MACHINE_CPUARCH} == "aarch64" Modified: projects/netbsd-tests-upstream-01-2017/sys/kern/init_main.c ============================================================================== --- projects/netbsd-tests-upstream-01-2017/sys/kern/init_main.c Tue Feb 7 18:37:46 2017 (r313398) +++ projects/netbsd-tests-upstream-01-2017/sys/kern/init_main.c Tue Feb 7 18:47:16 2017 (r313399) @@ -99,7 +99,7 @@ void mi_startup(void); /* Should be e static struct session session0; static struct pgrp pgrp0; struct proc proc0; -struct thread0_storage thread0_st __aligned(16); +struct thread0_storage thread0_st __aligned(32); struct vmspace vmspace0; struct proc *initproc; Modified: projects/netbsd-tests-upstream-01-2017/sys/kern/kern_mutex.c ============================================================================== --- projects/netbsd-tests-upstream-01-2017/sys/kern/kern_mutex.c Tue Feb 7 18:37:46 2017 (r313398) +++ projects/netbsd-tests-upstream-01-2017/sys/kern/kern_mutex.c Tue Feb 7 18:47:16 2017 (r313399) @@ -140,63 +140,27 @@ struct lock_class lock_class_mtx_spin = #ifdef ADAPTIVE_MUTEXES static SYSCTL_NODE(_debug, OID_AUTO, mtx, CTLFLAG_RD, NULL, "mtx debugging"); -static struct lock_delay_config __read_mostly mtx_delay = { - .initial = 1000, - .step = 500, - .min = 100, - .max = 5000, -}; +static struct lock_delay_config __read_mostly mtx_delay; -SYSCTL_INT(_debug_mtx, OID_AUTO, delay_initial, CTLFLAG_RW, &mtx_delay.initial, - 0, ""); -SYSCTL_INT(_debug_mtx, OID_AUTO, delay_step, CTLFLAG_RW, &mtx_delay.step, - 0, ""); -SYSCTL_INT(_debug_mtx, OID_AUTO, delay_min, CTLFLAG_RW, &mtx_delay.min, +SYSCTL_INT(_debug_mtx, OID_AUTO, delay_base, CTLFLAG_RW, &mtx_delay.base, 0, ""); SYSCTL_INT(_debug_mtx, OID_AUTO, delay_max, CTLFLAG_RW, &mtx_delay.max, 0, ""); -static void -mtx_delay_sysinit(void *dummy) -{ - - mtx_delay.initial = mp_ncpus * 25; - mtx_delay.step = (mp_ncpus * 25) / 2; - mtx_delay.min = mp_ncpus * 5; - mtx_delay.max = mp_ncpus * 25 * 10; -} -LOCK_DELAY_SYSINIT(mtx_delay_sysinit); +LOCK_DELAY_SYSINIT_DEFAULT(mtx_delay); #endif static SYSCTL_NODE(_debug, OID_AUTO, mtx_spin, CTLFLAG_RD, NULL, "mtx spin debugging"); -static struct lock_delay_config __read_mostly mtx_spin_delay = { - .initial = 1000, - .step = 500, - .min = 100, - .max = 5000, -}; - -SYSCTL_INT(_debug_mtx_spin, OID_AUTO, delay_initial, CTLFLAG_RW, - &mtx_spin_delay.initial, 0, ""); -SYSCTL_INT(_debug_mtx_spin, OID_AUTO, delay_step, CTLFLAG_RW, &mtx_spin_delay.step, - 0, ""); -SYSCTL_INT(_debug_mtx_spin, OID_AUTO, delay_min, CTLFLAG_RW, &mtx_spin_delay.min, - 0, ""); -SYSCTL_INT(_debug_mtx_spin, OID_AUTO, delay_max, CTLFLAG_RW, &mtx_spin_delay.max, - 0, ""); +static struct lock_delay_config __read_mostly mtx_spin_delay; -static void -mtx_spin_delay_sysinit(void *dummy) -{ +SYSCTL_INT(_debug_mtx_spin, OID_AUTO, delay_base, CTLFLAG_RW, + &mtx_spin_delay.base, 0, ""); +SYSCTL_INT(_debug_mtx_spin, OID_AUTO, delay_max, CTLFLAG_RW, + &mtx_spin_delay.max, 0, ""); - mtx_spin_delay.initial = mp_ncpus * 25; - mtx_spin_delay.step = (mp_ncpus * 25) / 2; - mtx_spin_delay.min = mp_ncpus * 5; - mtx_spin_delay.max = mp_ncpus * 25 * 10; -} -LOCK_DELAY_SYSINIT(mtx_spin_delay_sysinit); +LOCK_DELAY_SYSINIT_DEFAULT(mtx_spin_delay); /* * System-wide mutexes Modified: projects/netbsd-tests-upstream-01-2017/sys/kern/kern_rwlock.c ============================================================================== --- projects/netbsd-tests-upstream-01-2017/sys/kern/kern_rwlock.c Tue Feb 7 18:37:46 2017 (r313398) +++ projects/netbsd-tests-upstream-01-2017/sys/kern/kern_rwlock.c Tue Feb 7 18:47:16 2017 (r313399) @@ -100,32 +100,14 @@ static SYSCTL_NODE(_debug, OID_AUTO, rwl SYSCTL_INT(_debug_rwlock, OID_AUTO, retry, CTLFLAG_RW, &rowner_retries, 0, ""); SYSCTL_INT(_debug_rwlock, OID_AUTO, loops, CTLFLAG_RW, &rowner_loops, 0, ""); -static struct lock_delay_config __read_mostly rw_delay = { - .initial = 1000, - .step = 500, - .min = 100, - .max = 5000, -}; +static struct lock_delay_config __read_mostly rw_delay; -SYSCTL_INT(_debug_rwlock, OID_AUTO, delay_initial, CTLFLAG_RW, &rw_delay.initial, - 0, ""); -SYSCTL_INT(_debug_rwlock, OID_AUTO, delay_step, CTLFLAG_RW, &rw_delay.step, - 0, ""); -SYSCTL_INT(_debug_rwlock, OID_AUTO, delay_min, CTLFLAG_RW, &rw_delay.min, +SYSCTL_INT(_debug_rwlock, OID_AUTO, delay_base, CTLFLAG_RW, &rw_delay.base, 0, ""); SYSCTL_INT(_debug_rwlock, OID_AUTO, delay_max, CTLFLAG_RW, &rw_delay.max, 0, ""); -static void -rw_delay_sysinit(void *dummy) -{ - - rw_delay.initial = mp_ncpus * 25; - rw_delay.step = (mp_ncpus * 25) / 2; - rw_delay.min = mp_ncpus * 5; - rw_delay.max = mp_ncpus * 25 * 10; -} -LOCK_DELAY_SYSINIT(rw_delay_sysinit); +LOCK_DELAY_SYSINIT_DEFAULT(rw_delay); #endif /* @@ -330,6 +312,7 @@ __rw_try_wlock(volatile uintptr_t *c, co if (rw_wlocked(rw) && (rw->lock_object.lo_flags & LO_RECURSABLE) != 0) { rw->rw_recurse++; + atomic_set_ptr(&rw->rw_lock, RW_LOCK_WRITER_RECURSED); rval = 1; } else rval = atomic_cmpset_acq_ptr(&rw->rw_lock, RW_UNLOCKED, @@ -363,10 +346,8 @@ _rw_wunlock_cookie(volatile uintptr_t *c WITNESS_UNLOCK(&rw->lock_object, LOP_EXCLUSIVE, file, line); LOCK_LOG_LOCK("WUNLOCK", &rw->lock_object, 0, rw->rw_recurse, file, line); - if (rw->rw_recurse) - rw->rw_recurse--; - else - _rw_wunlock_hard(rw, (uintptr_t)curthread, file, line); + + _rw_wunlock_hard(rw, (uintptr_t)curthread, file, line); TD_LOCKS_DEC(curthread); } @@ -820,6 +801,7 @@ __rw_wlock_hard(volatile uintptr_t *c, u ("%s: recursing but non-recursive rw %s @ %s:%d\n", __func__, rw->lock_object.lo_name, file, line)); rw->rw_recurse++; + atomic_set_ptr(&rw->rw_lock, RW_LOCK_WRITER_RECURSED); if (LOCK_LOG_TEST(&rw->lock_object, 0)) CTR2(KTR_LOCK, "%s: %p recursing", __func__, rw); return; @@ -1012,12 +994,17 @@ __rw_wunlock_hard(volatile uintptr_t *c, return; rw = rwlock2rw(c); - MPASS(!rw_recursed(rw)); - LOCKSTAT_PROFILE_RELEASE_RWLOCK(rw__release, rw, - LOCKSTAT_WRITER); - if (_rw_write_unlock(rw, tid)) + if (!rw_recursed(rw)) { + LOCKSTAT_PROFILE_RELEASE_RWLOCK(rw__release, rw, + LOCKSTAT_WRITER); + if (_rw_write_unlock(rw, tid)) + return; + } else { + if (--(rw->rw_recurse) == 0) + atomic_clear_ptr(&rw->rw_lock, RW_LOCK_WRITER_RECURSED); return; + } KASSERT(rw->rw_lock & (RW_LOCK_READ_WAITERS | RW_LOCK_WRITE_WAITERS), ("%s: neither of the waiter flags are set", __func__)); Modified: projects/netbsd-tests-upstream-01-2017/sys/kern/kern_sx.c ============================================================================== --- projects/netbsd-tests-upstream-01-2017/sys/kern/kern_sx.c Tue Feb 7 18:37:46 2017 (r313398) +++ projects/netbsd-tests-upstream-01-2017/sys/kern/kern_sx.c Tue Feb 7 18:47:16 2017 (r313399) @@ -148,32 +148,14 @@ static SYSCTL_NODE(_debug, OID_AUTO, sx, SYSCTL_UINT(_debug_sx, OID_AUTO, retries, CTLFLAG_RW, &asx_retries, 0, ""); SYSCTL_UINT(_debug_sx, OID_AUTO, loops, CTLFLAG_RW, &asx_loops, 0, ""); -static struct lock_delay_config __read_mostly sx_delay = { - .initial = 1000, - .step = 500, - .min = 100, - .max = 5000, -}; +static struct lock_delay_config __read_mostly sx_delay; -SYSCTL_INT(_debug_sx, OID_AUTO, delay_initial, CTLFLAG_RW, &sx_delay.initial, - 0, ""); -SYSCTL_INT(_debug_sx, OID_AUTO, delay_step, CTLFLAG_RW, &sx_delay.step, - 0, ""); -SYSCTL_INT(_debug_sx, OID_AUTO, delay_min, CTLFLAG_RW, &sx_delay.min, +SYSCTL_INT(_debug_sx, OID_AUTO, delay_base, CTLFLAG_RW, &sx_delay.base, 0, ""); SYSCTL_INT(_debug_sx, OID_AUTO, delay_max, CTLFLAG_RW, &sx_delay.max, 0, ""); -static void -sx_delay_sysinit(void *dummy) -{ - - sx_delay.initial = mp_ncpus * 25; - sx_delay.step = (mp_ncpus * 25) / 2; - sx_delay.min = mp_ncpus * 5; - sx_delay.max = mp_ncpus * 25 * 10; -} -LOCK_DELAY_SYSINIT(sx_delay_sysinit); +LOCK_DELAY_SYSINIT_DEFAULT(sx_delay); #endif void Modified: projects/netbsd-tests-upstream-01-2017/sys/kern/kern_thread.c ============================================================================== --- projects/netbsd-tests-upstream-01-2017/sys/kern/kern_thread.c Tue Feb 7 18:37:46 2017 (r313398) +++ projects/netbsd-tests-upstream-01-2017/sys/kern/kern_thread.c Tue Feb 7 18:47:16 2017 (r313399) @@ -281,7 +281,7 @@ threadinit(void) thread_zone = uma_zcreate("THREAD", sched_sizeof_thread(), thread_ctor, thread_dtor, thread_init, thread_fini, - 16 - 1, UMA_ZONE_NOFREE); + 32 - 1, UMA_ZONE_NOFREE); tidhashtbl = hashinit(maxproc / 2, M_TIDHASH, &tidhash); rw_init(&tidhash_lock, "tidhash"); } Modified: projects/netbsd-tests-upstream-01-2017/sys/kern/subr_lock.c ============================================================================== --- projects/netbsd-tests-upstream-01-2017/sys/kern/subr_lock.c Tue Feb 7 18:37:46 2017 (r313398) +++ projects/netbsd-tests-upstream-01-2017/sys/kern/subr_lock.c Tue Feb 7 18:47:16 2017 (r313399) @@ -56,6 +56,9 @@ __FBSDID("$FreeBSD$"); #include +SDT_PROVIDER_DEFINE(lock); +SDT_PROBE_DEFINE1(lock, , , starvation, "u_int"); + CTASSERT(LOCK_CLASS_MAX == 15); struct lock_class *lock_classes[LOCK_CLASS_MAX + 1] = { @@ -103,32 +106,56 @@ lock_destroy(struct lock_object *lock) lock->lo_flags &= ~LO_INITIALIZED; } +static SYSCTL_NODE(_debug, OID_AUTO, lock, CTLFLAG_RD, NULL, "lock debugging"); +static SYSCTL_NODE(_debug_lock, OID_AUTO, delay, CTLFLAG_RD, NULL, + "lock delay"); + +static u_int __read_mostly starvation_limit = 131072; +SYSCTL_INT(_debug_lock_delay, OID_AUTO, starvation_limit, CTLFLAG_RW, + &starvation_limit, 0, ""); + +static u_int __read_mostly restrict_starvation = 0; +SYSCTL_INT(_debug_lock_delay, OID_AUTO, restrict_starvation, CTLFLAG_RW, + &restrict_starvation, 0, ""); + void lock_delay(struct lock_delay_arg *la) { - u_int i, delay, backoff, min, max; struct lock_delay_config *lc = la->config; + u_int i; - delay = la->delay; + la->delay <<= 1; + if (__predict_false(la->delay > lc->max)) + la->delay = lc->max; - if (delay == 0) - delay = lc->initial; - else { - delay += lc->step; - max = lc->max; - if (delay > max) - delay = max; - } - - backoff = cpu_ticks() % delay; - min = lc->min; - if (backoff < min) - backoff = min; - for (i = 0; i < backoff; i++) + for (i = la->delay; i > 0; i--) cpu_spinwait(); - la->delay = delay; - la->spin_cnt += backoff; + la->spin_cnt += la->delay; + if (__predict_false(la->spin_cnt > starvation_limit)) { + SDT_PROBE1(lock, , , starvation, la->delay); + if (restrict_starvation) + la->delay = lc->base; + } +} + +static u_int +lock_roundup_2(u_int val) +{ + u_int res; + + for (res = 1; res <= val; res <<= 1) + continue; + + return (res); +} + +void +lock_delay_default_init(struct lock_delay_config *lc) +{ + + lc->base = lock_roundup_2(mp_ncpus) / 4; + lc->max = lc->base * 1024; } #ifdef DDB @@ -655,7 +682,6 @@ out: critical_exit(); } -static SYSCTL_NODE(_debug, OID_AUTO, lock, CTLFLAG_RD, NULL, "lock debugging"); static SYSCTL_NODE(_debug_lock, OID_AUTO, prof, CTLFLAG_RD, NULL, "lock profiling"); SYSCTL_INT(_debug_lock_prof, OID_AUTO, skipspin, CTLFLAG_RW, Modified: projects/netbsd-tests-upstream-01-2017/sys/kern/subr_sfbuf.c ============================================================================== --- projects/netbsd-tests-upstream-01-2017/sys/kern/subr_sfbuf.c Tue Feb 7 18:37:46 2017 (r313398) +++ projects/netbsd-tests-upstream-01-2017/sys/kern/subr_sfbuf.c Tue Feb 7 18:47:16 2017 (r313399) @@ -33,6 +33,7 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include #include #include Modified: projects/netbsd-tests-upstream-01-2017/sys/modules/dtb/allwinner/Makefile ============================================================================== --- projects/netbsd-tests-upstream-01-2017/sys/modules/dtb/allwinner/Makefile Tue Feb 7 18:37:46 2017 (r313398) +++ projects/netbsd-tests-upstream-01-2017/sys/modules/dtb/allwinner/Makefile Tue Feb 7 18:47:16 2017 (r313399) @@ -1,17 +1,26 @@ # $FreeBSD$ # All the dts files for allwinner systems we support. DTS= \ - bananapi.dts \ - bananapim2.dts \ - cubieboard.dts \ - cubieboard2.dts \ nanopi-neo.dts \ - olimex-a20-som-evb.dts \ - olinuxino-lime.dts \ orangepi-plus-2e.dts \ - pcduino3.dts \ sinovoip-bpi-m3.dts \ + sun4i-a10-cubieboard.dts \ + sun4i-a10-olinuxino-lime.dts \ + sun6i-a31s-sinovoip-bpi-m2.dts \ sun5i-a13-olinuxino.dts \ - sun5i-r8-chip.dts + sun5i-r8-chip.dts \ + sun7i-a20-bananapi.dts \ + sun7i-a20-cubieboard2.dts \ + sun7i-a20-olimex-som-evb.dts \ + sun7i-a20-pcduino3.dts + +LINKS= \ + ${DTBDIR}/sun4i-a10-cubieboard.dtb ${DTBDIR}/cubieboard.dtb \ + ${DTBDIR}/sun4i-a10-olinuxino-lime.dtb ${DTBDIR}/olinuxino-lime.dtb \ + ${DTBDIR}/sun6i-a31s-sinovoip-bpi-m2.dtb ${DTBDIR}/bananapim2.dtb \ + ${DTBDIR}/sun7i-a20-bananapi.dtb ${DTBDIR}/bananapi.dtb \ + ${DTBDIR}/sun7i-a20-cubieboard2.dtb ${DTBDIR}/cubieboard2.dtb \ + ${DTBDIR}/sun7i-a20-olimex-som-evb.dtb ${DTBDIR}/olimex-a20-som-evb.dtb \ + ${DTBDIR}/sun7i-a20-pcduino3.dtb ${DTBDIR}/pcduino3.dtb .include Modified: projects/netbsd-tests-upstream-01-2017/sys/sys/lock.h ============================================================================== --- projects/netbsd-tests-upstream-01-2017/sys/sys/lock.h Tue Feb 7 18:37:46 2017 (r313398) +++ projects/netbsd-tests-upstream-01-2017/sys/sys/lock.h Tue Feb 7 18:47:16 2017 (r313399) @@ -202,9 +202,7 @@ extern struct lock_class lock_class_lock extern struct lock_class *lock_classes[]; struct lock_delay_config { - u_int initial; - u_int step; - u_int min; + u_int base; u_int max; }; @@ -215,19 +213,25 @@ struct lock_delay_arg { }; static inline void -lock_delay_arg_init(struct lock_delay_arg *la, struct lock_delay_config *lc) { +lock_delay_arg_init(struct lock_delay_arg *la, struct lock_delay_config *lc) +{ la->config = lc; - la->delay = 0; + la->delay = lc->base; la->spin_cnt = 0; } #define LOCK_DELAY_SYSINIT(func) \ SYSINIT(func##_ld, SI_SUB_LOCK, SI_ORDER_ANY, func, NULL) +#define LOCK_DELAY_SYSINIT_DEFAULT(lc) \ + SYSINIT(lock_delay_##lc##_ld, SI_SUB_LOCK, SI_ORDER_ANY, \ + lock_delay_default_init, &lc) + void lock_init(struct lock_object *, struct lock_class *, const char *, const char *, int); void lock_destroy(struct lock_object *); void lock_delay(struct lock_delay_arg *); +void lock_delay_default_init(struct lock_delay_config *); void spinlock_enter(void); void spinlock_exit(void); void witness_init(struct lock_object *, const char *); Modified: projects/netbsd-tests-upstream-01-2017/sys/sys/rwlock.h ============================================================================== --- projects/netbsd-tests-upstream-01-2017/sys/sys/rwlock.h Tue Feb 7 18:37:46 2017 (r313398) +++ projects/netbsd-tests-upstream-01-2017/sys/sys/rwlock.h Tue Feb 7 18:47:16 2017 (r313399) @@ -58,9 +58,10 @@ #define RW_LOCK_READ_WAITERS 0x02 #define RW_LOCK_WRITE_WAITERS 0x04 #define RW_LOCK_WRITE_SPINNER 0x08 +#define RW_LOCK_WRITER_RECURSED 0x10 #define RW_LOCK_FLAGMASK \ (RW_LOCK_READ | RW_LOCK_READ_WAITERS | RW_LOCK_WRITE_WAITERS | \ - RW_LOCK_WRITE_SPINNER) + RW_LOCK_WRITE_SPINNER | RW_LOCK_WRITER_RECURSED) #define RW_LOCK_WAITERS (RW_LOCK_READ_WAITERS | RW_LOCK_WRITE_WAITERS) #define RW_OWNER(x) ((x) & ~RW_LOCK_FLAGMASK) @@ -111,13 +112,9 @@ #define __rw_wunlock(rw, tid, file, line) do { \ uintptr_t _tid = (uintptr_t)(tid); \ \ - if ((rw)->rw_recurse) \ - (rw)->rw_recurse--; \ - else { \ - if (__predict_false(LOCKSTAT_PROFILE_ENABLED(rw__release) ||\ - !_rw_write_unlock((rw), _tid))) \ - _rw_wunlock_hard((rw), _tid, (file), (line)); \ - } \ + if (__predict_false(LOCKSTAT_PROFILE_ENABLED(rw__release) || \ + !_rw_write_unlock((rw), _tid))) \ + _rw_wunlock_hard((rw), _tid, (file), (line)); \ } while (0) /* Modified: projects/netbsd-tests-upstream-01-2017/tests/sys/netinet/fibs_test.sh ============================================================================== --- projects/netbsd-tests-upstream-01-2017/tests/sys/netinet/fibs_test.sh Tue Feb 7 18:37:46 2017 (r313398) +++ projects/netbsd-tests-upstream-01-2017/tests/sys/netinet/fibs_test.sh Tue Feb 7 18:47:16 2017 (r313399) @@ -595,6 +595,61 @@ udp_dontroute_cleanup() cleanup_tap } +atf_test_case udp_dontroute6 cleanup +udp_dontroute6_head() +{ + atf_set "descr" "Source address selection for UDP IPv6 packets with SO_DONTROUTE on non-default FIBs works" + atf_set "require.user" "root" + atf_set "require.config" "fibs" +} + +udp_dontroute6_body() +{ + # Configure the TAP interface to use an RFC3849 nonrouteable address + # and a non-default fib + ADDR0="2001:db8::2" + ADDR1="2001:db8::3" + SUBNET="2001:db8::" + MASK="64" + # Use a different IP on the same subnet as the target + TARGET="2001:db8::100" + SRCDIR=`atf_get_srcdir` + + atf_expect_fail "PR196361 IPv6 network routes don't respect net.add_addr_allfibs=0" + + # Check system configuration + if [ 0 != `sysctl -n net.add_addr_allfibs` ]; then + atf_skip "This test requires net.add_addr_allfibs=0" + fi + get_fibs 2 + + # Configure the TAP interfaces. Use no_dad so the addresses will be + # ready right away and won't be marked as tentative until DAD + # completes. + setup_tap ${FIB0} inet6 ${ADDR0} ${MASK} no_dad + TARGET_TAP=${TAP} + setup_tap ${FIB1} inet6 ${ADDR1} ${MASK} no_dad + + # Send a UDP packet with SO_DONTROUTE. In the failure case, it will + # return ENETUNREACH, or send the packet to the wrong tap + atf_check -o ignore setfib ${FIB0} \ + ${SRCDIR}/udp_dontroute -6 ${TARGET} /dev/${TARGET_TAP} + cleanup_tap + + # Repeat, but this time target the other tap + setup_tap ${FIB0} inet6 ${ADDR0} ${MASK} no_dad + setup_tap ${FIB1} inet6 ${ADDR1} ${MASK} no_dad + TARGET_TAP=${TAP} + + atf_check -o ignore setfib ${FIB1} \ + ${SRCDIR}/udp_dontroute -6 ${TARGET} /dev/${TARGET_TAP} +} + +udp_dontroute6_cleanup() +{ + cleanup_tap +} + atf_init_test_cases() { @@ -609,6 +664,7 @@ atf_init_test_cases() atf_add_test_case subnet_route_with_multiple_fibs_on_same_subnet atf_add_test_case subnet_route_with_multiple_fibs_on_same_subnet_inet6 atf_add_test_case udp_dontroute + atf_add_test_case udp_dontroute6 } # Looks up one or more fibs from the configuration data and validates them. @@ -656,6 +712,7 @@ get_tap() # Protocol (inet or inet6) # IP address # Netmask in number of bits (eg 24 or 8) +# Extra flags # Return: the tap interface name as the env variable TAP setup_tap() { @@ -663,9 +720,10 @@ setup_tap() local PROTO=$2 local ADDR=$3 local MASK=$4 + local FLAGS=$5 get_tap - echo setfib ${FIB} ifconfig $TAP ${PROTO} ${ADDR}/${MASK} fib $FIB - setfib ${FIB} ifconfig $TAP ${PROTO} ${ADDR}/${MASK} fib $FIB + echo setfib ${FIB} ifconfig $TAP ${PROTO} ${ADDR}/${MASK} fib $FIB $FLAGS + setfib ${FIB} ifconfig $TAP ${PROTO} ${ADDR}/${MASK} fib $FIB $FLAGS } cleanup_tap() Modified: projects/netbsd-tests-upstream-01-2017/tests/sys/netinet/udp_dontroute.c ============================================================================== --- projects/netbsd-tests-upstream-01-2017/tests/sys/netinet/udp_dontroute.c Tue Feb 7 18:37:46 2017 (r313398) +++ projects/netbsd-tests-upstream-01-2017/tests/sys/netinet/udp_dontroute.c Tue Feb 7 18:47:16 2017 (r313399) @@ -41,6 +41,7 @@ #include #include #include +#include #include #include #include @@ -52,7 +53,7 @@ int main(int argc, char **argv) { - struct sockaddr_in dst; + struct sockaddr_storage dst; int s, t; int opt; int ret; @@ -60,17 +61,33 @@ main(int argc, char **argv) const char* sendbuf = "Hello, World!"; const size_t buflen = 80; char recvbuf[buflen]; - - if (argc != 3) { - fprintf(stderr, "Usage: %s ip_address tapdev\n", argv[0]); + bool v6 = false; + const char *addr, *tapdev; + const uint16_t port = 46120; + + bzero(&dst, sizeof(dst)); + if (argc < 3 || argc > 4) { + fprintf(stderr, "Usage: %s [-6] ip_address tapdev\n", argv[0]); exit(2); } - t = open(argv[2], O_RDWR | O_NONBLOCK); + if (strcmp("-6", argv[1]) == 0) { + v6 = true; + addr = argv[2]; + tapdev = argv[3]; + } else { + addr = argv[1]; + tapdev = argv[2]; + } + + t = open(tapdev, O_RDWR | O_NONBLOCK); if (t < 0) err(EXIT_FAILURE, "open"); - s = socket(PF_INET, SOCK_DGRAM, 0); + if (v6) + s = socket(PF_INET6, SOCK_DGRAM, 0); + else + s = socket(PF_INET, SOCK_DGRAM, 0); if (s < 0) err(EXIT_FAILURE, "socket"); opt = 1; @@ -79,16 +96,26 @@ main(int argc, char **argv) if (ret == -1) err(EXIT_FAILURE, "setsockopt(SO_DONTROUTE)"); - dst.sin_len = sizeof(dst); - dst.sin_family = AF_INET; - dst.sin_port = htons(46120); - dst.sin_addr.s_addr = inet_addr(argv[1]); - if (dst.sin_addr.s_addr == htonl(INADDR_NONE)) { - fprintf(stderr, "Invalid address: %s\n", argv[1]); - exit(2); + if (v6) { + struct sockaddr_in6 *dst6 = ((struct sockaddr_in6*)&dst); + + dst.ss_len = sizeof(struct sockaddr_in6); + dst.ss_family = AF_INET6; + dst6->sin6_port = htons(port); + ret = inet_pton(AF_INET6, addr, &dst6->sin6_addr); + } else { + struct sockaddr_in *dst4 = ((struct sockaddr_in*)&dst); + + dst.ss_len = sizeof(struct sockaddr_in); + dst.ss_family = AF_INET; + dst4->sin_port = htons(port); + ret = inet_pton(AF_INET, addr, &dst4->sin_addr); } + if (ret != 1) + err(EXIT_FAILURE, "inet_pton returned %d", ret); + ret = sendto(s, sendbuf, strlen(sendbuf), 0, (struct sockaddr*)&dst, - dst.sin_len); + dst.ss_len); if (ret == -1) err(EXIT_FAILURE, "sendto"); Modified: projects/netbsd-tests-upstream-01-2017/usr.bin/sed/tests/sed2_test.sh ============================================================================== --- projects/netbsd-tests-upstream-01-2017/usr.bin/sed/tests/sed2_test.sh Tue Feb 7 18:37:46 2017 (r313398) +++ projects/netbsd-tests-upstream-01-2017/usr.bin/sed/tests/sed2_test.sh Tue Feb 7 18:47:16 2017 (r313399) @@ -47,8 +47,6 @@ inplace_symlink_src_head() } inplace_symlink_src_body() { - atf_expect_fail "Check for S_IFREG reverted in r312404" - echo foo > a atf_check ln -s a b atf_check -e not-empty -s not-exit:0 sed -i '' -e 's,foo,bar,g' b From owner-svn-src-projects@freebsd.org Tue Feb 7 18:57:53 2017 Return-Path: Delivered-To: svn-src-projects@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 52CF6CD448A for ; Tue, 7 Feb 2017 18:57:53 +0000 (UTC) (envelope-from ngie@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 225341C84; Tue, 7 Feb 2017 18:57:53 +0000 (UTC) (envelope-from ngie@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v17IvqTt018242; Tue, 7 Feb 2017 18:57:52 GMT (envelope-from ngie@FreeBSD.org) Received: (from ngie@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v17IvqLg018241; Tue, 7 Feb 2017 18:57:52 GMT (envelope-from ngie@FreeBSD.org) Message-Id: <201702071857.v17IvqLg018241@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: ngie set sender to ngie@FreeBSD.org using -f From: Ngie Cooper Date: Tue, 7 Feb 2017 18:57:52 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r313400 - projects/netbsd-tests-upstream-01-2017/contrib/netbsd-tests/lib/libm X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 07 Feb 2017 18:57:53 -0000 Author: ngie Date: Tue Feb 7 18:57:52 2017 New Revision: 313400 URL: https://svnweb.freebsd.org/changeset/base/313400 Log: Expect the t_precision long double checks to fail on FreeBSD/i386 There are some potential issues with the test (as brd@ has pointed out elsewhere) with precision, etc not being set before the test, but as always, more research is required. Modified: projects/netbsd-tests-upstream-01-2017/contrib/netbsd-tests/lib/libm/t_precision.c Modified: projects/netbsd-tests-upstream-01-2017/contrib/netbsd-tests/lib/libm/t_precision.c ============================================================================== --- projects/netbsd-tests-upstream-01-2017/contrib/netbsd-tests/lib/libm/t_precision.c Tue Feb 7 18:47:16 2017 (r313399) +++ projects/netbsd-tests-upstream-01-2017/contrib/netbsd-tests/lib/libm/t_precision.c Tue Feb 7 18:57:52 2017 (r313400) @@ -73,6 +73,11 @@ ATF_TC_BODY(t_precision, tc) ATF_TP_ADD_TCS(tp) { +#ifdef __FreeBSD__ +#ifdef __i386__ + atf_tc_expect_fail("the __HAVE_LONG_DOUBLE checks fail on i386"); +#endif +#endif ATF_TP_ADD_TC(tp, t_precision); return atf_no_error(); From owner-svn-src-projects@freebsd.org Tue Feb 7 19:03:01 2017 Return-Path: Delivered-To: svn-src-projects@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 049ADCD47A5 for ; Tue, 7 Feb 2017 19:03:01 +0000 (UTC) (envelope-from ngie@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id C86702C3; Tue, 7 Feb 2017 19:03:00 +0000 (UTC) (envelope-from ngie@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v17J2xYP022028; Tue, 7 Feb 2017 19:02:59 GMT (envelope-from ngie@FreeBSD.org) Received: (from ngie@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v17J2xBb022027; Tue, 7 Feb 2017 19:02:59 GMT (envelope-from ngie@FreeBSD.org) Message-Id: <201702071902.v17J2xBb022027@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: ngie set sender to ngie@FreeBSD.org using -f From: Ngie Cooper Date: Tue, 7 Feb 2017 19:02:59 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r313402 - projects/netbsd-tests-upstream-01-2017/contrib/netbsd-tests/lib/libm X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 07 Feb 2017 19:03:01 -0000 Author: ngie Date: Tue Feb 7 19:02:59 2017 New Revision: 313402 URL: https://svnweb.freebsd.org/changeset/base/313402 Log: Oops... put the atf_tc_expect_fail in the testcase definition, not the test suite definition Modified: projects/netbsd-tests-upstream-01-2017/contrib/netbsd-tests/lib/libm/t_precision.c Modified: projects/netbsd-tests-upstream-01-2017/contrib/netbsd-tests/lib/libm/t_precision.c ============================================================================== --- projects/netbsd-tests-upstream-01-2017/contrib/netbsd-tests/lib/libm/t_precision.c Tue Feb 7 18:57:57 2017 (r313401) +++ projects/netbsd-tests-upstream-01-2017/contrib/netbsd-tests/lib/libm/t_precision.c Tue Feb 7 19:02:59 2017 (r313402) @@ -51,6 +51,11 @@ volatile long double y = 1; ATF_TC_BODY(t_precision, tc) { +#ifdef __FreeBSD__ +#ifdef __i386__ + atf_tc_expect_fail("the __HAVE_LONG_DOUBLE checks fail on i386"); +#endif +#endif x += DBL_EPSILON; ATF_CHECK(x != 1.0); x -= 1; @@ -73,11 +78,6 @@ ATF_TC_BODY(t_precision, tc) ATF_TP_ADD_TCS(tp) { -#ifdef __FreeBSD__ -#ifdef __i386__ - atf_tc_expect_fail("the __HAVE_LONG_DOUBLE checks fail on i386"); -#endif -#endif ATF_TP_ADD_TC(tp, t_precision); return atf_no_error(); From owner-svn-src-projects@freebsd.org Tue Feb 7 19:47:06 2017 Return-Path: Delivered-To: svn-src-projects@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 37CAECD55F8 for ; Tue, 7 Feb 2017 19:47:06 +0000 (UTC) (envelope-from ngie@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id DF228E8; Tue, 7 Feb 2017 19:47:05 +0000 (UTC) (envelope-from ngie@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v17Jl4Zk038949; Tue, 7 Feb 2017 19:47:04 GMT (envelope-from ngie@FreeBSD.org) Received: (from ngie@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v17Jl4ci038948; Tue, 7 Feb 2017 19:47:04 GMT (envelope-from ngie@FreeBSD.org) Message-Id: <201702071947.v17Jl4ci038948@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: ngie set sender to ngie@FreeBSD.org using -f From: Ngie Cooper Date: Tue, 7 Feb 2017 19:47:04 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r313405 - projects/netbsd-tests-upstream-01-2017/lib/libnetbsd X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 07 Feb 2017 19:47:06 -0000 Author: ngie Date: Tue Feb 7 19:47:04 2017 New Revision: 313405 URL: https://svnweb.freebsd.org/changeset/base/313405 Log: Remove placeholder compat header for stdio.h In the end, dealing with fparseln was more bikeshed worthy than I anticipated, and polling stdio.h with libutil.h caused me more grief than necessary. Keeping the compat header around for no reason other than include_next'ing the stdio.h header in FreeBSD makes no sense. Deleted: projects/netbsd-tests-upstream-01-2017/lib/libnetbsd/stdio.h From owner-svn-src-projects@freebsd.org Tue Feb 7 19:47:32 2017 Return-Path: Delivered-To: svn-src-projects@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 4AA6BCD5611 for ; Tue, 7 Feb 2017 19:47:32 +0000 (UTC) (envelope-from ngie@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 198E8211; Tue, 7 Feb 2017 19:47:32 +0000 (UTC) (envelope-from ngie@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v17JlVTV039016; Tue, 7 Feb 2017 19:47:31 GMT (envelope-from ngie@FreeBSD.org) Received: (from ngie@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v17JlULF039013; Tue, 7 Feb 2017 19:47:30 GMT (envelope-from ngie@FreeBSD.org) Message-Id: <201702071947.v17JlULF039013@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: ngie set sender to ngie@FreeBSD.org using -f From: Ngie Cooper Date: Tue, 7 Feb 2017 19:47:30 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r313406 - in projects/netbsd-tests-upstream-01-2017: lib/libnetbsd sys/arm/allwinner sys/netinet X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 07 Feb 2017 19:47:32 -0000 Author: ngie Date: Tue Feb 7 19:47:30 2017 New Revision: 313406 URL: https://svnweb.freebsd.org/changeset/base/313406 Log: MFhead@r313404 Added: projects/netbsd-tests-upstream-01-2017/sys/arm/allwinner/a10_timer.c - copied unchanged from r313404, head/sys/arm/allwinner/a10_timer.c Deleted: projects/netbsd-tests-upstream-01-2017/sys/arm/allwinner/timer.c Modified: projects/netbsd-tests-upstream-01-2017/lib/libnetbsd/util.h projects/netbsd-tests-upstream-01-2017/sys/arm/allwinner/files.allwinner_up projects/netbsd-tests-upstream-01-2017/sys/netinet/udp_usrreq.c Directory Properties: projects/netbsd-tests-upstream-01-2017/ (props changed) Modified: projects/netbsd-tests-upstream-01-2017/lib/libnetbsd/util.h ============================================================================== --- projects/netbsd-tests-upstream-01-2017/lib/libnetbsd/util.h Tue Feb 7 19:47:04 2017 (r313405) +++ projects/netbsd-tests-upstream-01-2017/lib/libnetbsd/util.h Tue Feb 7 19:47:30 2017 (r313406) @@ -39,4 +39,4 @@ char *flags_to_string(u_long flags, const char *def); int string_to_flags(char **stringp, u_long *setp, u_long *clrp); -#endif /* _UTIL_H_ */ +#endif Copied: projects/netbsd-tests-upstream-01-2017/sys/arm/allwinner/a10_timer.c (from r313404, head/sys/arm/allwinner/a10_timer.c) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ projects/netbsd-tests-upstream-01-2017/sys/arm/allwinner/a10_timer.c Tue Feb 7 19:47:30 2017 (r313406, copy of r313404, head/sys/arm/allwinner/a10_timer.c) @@ -0,0 +1,367 @@ +/*- + * Copyright (c) 2012 Ganbold Tsagaankhuu + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +#include +__FBSDID("$FreeBSD$"); + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include + +#include + +#include + +#include + +/** + * Timer registers addr + * + */ +#define SW_TIMER_IRQ_EN_REG 0x00 +#define SW_TIMER_IRQ_STA_REG 0x04 +#define SW_TIMER0_CTRL_REG 0x10 +#define SW_TIMER0_INT_VALUE_REG 0x14 +#define SW_TIMER0_CUR_VALUE_REG 0x18 + +#define SW_COUNTER64LO_REG 0xa4 +#define SW_COUNTER64HI_REG 0xa8 +#define CNT64_CTRL_REG 0xa0 + +#define CNT64_RL_EN 0x02 /* read latch enable */ + +#define TIMER_ENABLE (1<<0) +#define TIMER_AUTORELOAD (1<<1) +#define TIMER_OSC24M (1<<2) /* oscillator = 24mhz */ +#define TIMER_PRESCALAR (0<<4) /* prescalar = 1 */ + +#define SYS_TIMER_CLKSRC 24000000 /* clock source */ + +struct a10_timer_softc { + device_t sc_dev; + struct resource *res[2]; + bus_space_tag_t sc_bst; + bus_space_handle_t sc_bsh; + void *sc_ih; /* interrupt handler */ + uint32_t sc_period; + uint32_t timer0_freq; + struct eventtimer et; +}; + +int a10_timer_get_timerfreq(struct a10_timer_softc *); + +#define timer_read_4(sc, reg) \ + bus_space_read_4(sc->sc_bst, sc->sc_bsh, reg) +#define timer_write_4(sc, reg, val) \ + bus_space_write_4(sc->sc_bst, sc->sc_bsh, reg, val) + +static u_int a10_timer_get_timecount(struct timecounter *); +static int a10_timer_timer_start(struct eventtimer *, + sbintime_t first, sbintime_t period); +static int a10_timer_timer_stop(struct eventtimer *); + +static uint64_t timer_read_counter64(void); + +static int a10_timer_hardclock(void *); +static int a10_timer_probe(device_t); +static int a10_timer_attach(device_t); + +static delay_func a10_timer_delay; + +static struct timecounter a10_timer_timecounter = { + .tc_name = "a10_timer timer0", + .tc_get_timecount = a10_timer_get_timecount, + .tc_counter_mask = ~0u, + .tc_frequency = 0, + .tc_quality = 1000, +}; + +struct a10_timer_softc *a10_timer_sc = NULL; + +static struct resource_spec a10_timer_spec[] = { + { SYS_RES_MEMORY, 0, RF_ACTIVE }, + { SYS_RES_IRQ, 0, RF_ACTIVE }, + { -1, 0 } +}; + +static uint64_t +timer_read_counter64(void) +{ + uint32_t lo, hi; + + /* Latch counter, wait for it to be ready to read. */ + timer_write_4(a10_timer_sc, CNT64_CTRL_REG, CNT64_RL_EN); + while (timer_read_4(a10_timer_sc, CNT64_CTRL_REG) & CNT64_RL_EN) + continue; + + hi = timer_read_4(a10_timer_sc, SW_COUNTER64HI_REG); + lo = timer_read_4(a10_timer_sc, SW_COUNTER64LO_REG); + + return (((uint64_t)hi << 32) | lo); +} + +static int +a10_timer_probe(device_t dev) +{ + struct a10_timer_softc *sc; + u_int soc_family; + + sc = device_get_softc(dev); + + if (!ofw_bus_is_compatible(dev, "allwinner,sun4i-a10-timer")) + return (ENXIO); + + soc_family = allwinner_soc_family(); + if (soc_family != ALLWINNERSOC_SUN4I && + soc_family != ALLWINNERSOC_SUN5I) + return (ENXIO); + + device_set_desc(dev, "Allwinner A10/A20 timer"); + return (BUS_PROBE_DEFAULT); +} + +static int +a10_timer_attach(device_t dev) +{ + struct a10_timer_softc *sc; + int err; + uint32_t val; + + sc = device_get_softc(dev); + + if (bus_alloc_resources(dev, a10_timer_spec, sc->res)) { + device_printf(dev, "could not allocate resources\n"); + return (ENXIO); + } + + sc->sc_dev = dev; + sc->sc_bst = rman_get_bustag(sc->res[0]); + sc->sc_bsh = rman_get_bushandle(sc->res[0]); + + /* Setup and enable the timer interrupt */ + err = bus_setup_intr(dev, sc->res[1], INTR_TYPE_CLK, a10_timer_hardclock, + NULL, sc, &sc->sc_ih); + if (err != 0) { + bus_release_resources(dev, a10_timer_spec, sc->res); + device_printf(dev, "Unable to setup the clock irq handler, " + "err = %d\n", err); + return (ENXIO); + } + + /* Set clock source to OSC24M, 16 pre-division */ + val = timer_read_4(sc, SW_TIMER0_CTRL_REG); + val |= TIMER_PRESCALAR | TIMER_OSC24M; + timer_write_4(sc, SW_TIMER0_CTRL_REG, val); + + /* Enable timer0 */ + val = timer_read_4(sc, SW_TIMER_IRQ_EN_REG); + val |= TIMER_ENABLE; + timer_write_4(sc, SW_TIMER_IRQ_EN_REG, val); + + sc->timer0_freq = SYS_TIMER_CLKSRC; + + /* Set desired frequency in event timer and timecounter */ + sc->et.et_frequency = sc->timer0_freq; + sc->et.et_name = "a10_timer Eventtimer"; + sc->et.et_flags = ET_FLAGS_ONESHOT | ET_FLAGS_PERIODIC; + sc->et.et_quality = 1000; + sc->et.et_min_period = (0x00000005LLU << 32) / sc->et.et_frequency; + sc->et.et_max_period = (0xfffffffeLLU << 32) / sc->et.et_frequency; + sc->et.et_start = a10_timer_timer_start; + sc->et.et_stop = a10_timer_timer_stop; + sc->et.et_priv = sc; + et_register(&sc->et); + + if (device_get_unit(dev) == 0) { + arm_set_delay(a10_timer_delay, sc); + a10_timer_sc = sc; + } + + a10_timer_timecounter.tc_frequency = sc->timer0_freq; + tc_init(&a10_timer_timecounter); + + if (bootverbose) { + device_printf(sc->sc_dev, "clock: hz=%d stathz = %d\n", hz, stathz); + + device_printf(sc->sc_dev, "event timer clock frequency %u\n", + sc->timer0_freq); + device_printf(sc->sc_dev, "timecounter clock frequency %lld\n", + a10_timer_timecounter.tc_frequency); + } + + return (0); +} + +static int +a10_timer_timer_start(struct eventtimer *et, sbintime_t first, + sbintime_t period) +{ + struct a10_timer_softc *sc; + uint32_t count; + uint32_t val; + + sc = (struct a10_timer_softc *)et->et_priv; + + if (period != 0) + sc->sc_period = ((uint32_t)et->et_frequency * period) >> 32; + else + sc->sc_period = 0; + if (first != 0) + count = ((uint32_t)et->et_frequency * first) >> 32; + else + count = sc->sc_period; + + /* Update timer values */ + timer_write_4(sc, SW_TIMER0_INT_VALUE_REG, sc->sc_period); + timer_write_4(sc, SW_TIMER0_CUR_VALUE_REG, count); + + val = timer_read_4(sc, SW_TIMER0_CTRL_REG); + if (period != 0) { + /* periodic */ + val |= TIMER_AUTORELOAD; + } else { + /* oneshot */ + val &= ~TIMER_AUTORELOAD; + } + /* Enable timer0 */ + val |= TIMER_ENABLE; + timer_write_4(sc, SW_TIMER0_CTRL_REG, val); + + return (0); +} + +static int +a10_timer_timer_stop(struct eventtimer *et) +{ + struct a10_timer_softc *sc; + uint32_t val; + + sc = (struct a10_timer_softc *)et->et_priv; + + /* Disable timer0 */ + val = timer_read_4(sc, SW_TIMER0_CTRL_REG); + val &= ~TIMER_ENABLE; + timer_write_4(sc, SW_TIMER0_CTRL_REG, val); + + sc->sc_period = 0; + + return (0); +} + +int +a10_timer_get_timerfreq(struct a10_timer_softc *sc) +{ + return (sc->timer0_freq); +} + +static int +a10_timer_hardclock(void *arg) +{ + struct a10_timer_softc *sc; + uint32_t val; + + sc = (struct a10_timer_softc *)arg; + + /* Clear interrupt pending bit. */ + timer_write_4(sc, SW_TIMER_IRQ_STA_REG, 0x1); + + val = timer_read_4(sc, SW_TIMER0_CTRL_REG); + /* + * Disabled autoreload and sc_period > 0 means + * timer_start was called with non NULL first value. + * Now we will set periodic timer with the given period + * value. + */ + if ((val & (1<<1)) == 0 && sc->sc_period > 0) { + /* Update timer */ + timer_write_4(sc, SW_TIMER0_CUR_VALUE_REG, sc->sc_period); + + /* Make periodic and enable */ + val |= TIMER_AUTORELOAD | TIMER_ENABLE; + timer_write_4(sc, SW_TIMER0_CTRL_REG, val); + } + + if (sc->et.et_active) + sc->et.et_event_cb(&sc->et, sc->et.et_arg); + + return (FILTER_HANDLED); +} + +u_int +a10_timer_get_timecount(struct timecounter *tc) +{ + + if (a10_timer_sc == NULL) + return (0); + + return ((u_int)timer_read_counter64()); +} + +static device_method_t a10_timer_methods[] = { + DEVMETHOD(device_probe, a10_timer_probe), + DEVMETHOD(device_attach, a10_timer_attach), + + DEVMETHOD_END +}; + +static driver_t a10_timer_driver = { + "a10_timer", + a10_timer_methods, + sizeof(struct a10_timer_softc), +}; + +static devclass_t a10_timer_devclass; + +EARLY_DRIVER_MODULE(a10_timer, simplebus, a10_timer_driver, a10_timer_devclass, 0, 0, + BUS_PASS_TIMER + BUS_PASS_ORDER_MIDDLE); + +static void +a10_timer_delay(int usec, void *arg) +{ + struct a10_timer_softc *sc = arg; + uint64_t end, now; + + now = timer_read_counter64(); + end = now + (sc->timer0_freq / 1000000) * (usec + 1); + + while (now < end) + now = timer_read_counter64(); +} Modified: projects/netbsd-tests-upstream-01-2017/sys/arm/allwinner/files.allwinner_up ============================================================================== --- projects/netbsd-tests-upstream-01-2017/sys/arm/allwinner/files.allwinner_up Tue Feb 7 19:47:04 2017 (r313405) +++ projects/netbsd-tests-upstream-01-2017/sys/arm/allwinner/files.allwinner_up Tue Feb 7 19:47:30 2017 (r313406) @@ -1,3 +1,3 @@ # $FreeBSD$ -arm/allwinner/timer.c standard +arm/allwinner/a10_timer.c standard Modified: projects/netbsd-tests-upstream-01-2017/sys/netinet/udp_usrreq.c ============================================================================== --- projects/netbsd-tests-upstream-01-2017/sys/netinet/udp_usrreq.c Tue Feb 7 19:47:04 2017 (r313405) +++ projects/netbsd-tests-upstream-01-2017/sys/netinet/udp_usrreq.c Tue Feb 7 19:47:30 2017 (r313406) @@ -667,13 +667,13 @@ udp_input(struct mbuf **mp, int *offp, i INPLOOKUP_RLOCKPCB, ifp, m); if (inp == NULL) { if (udp_log_in_vain) { - char buf[4*sizeof "123"]; + char src[INET_ADDRSTRLEN]; + char dst[INET_ADDRSTRLEN]; - strcpy(buf, inet_ntoa(ip->ip_dst)); log(LOG_INFO, "Connection attempt to UDP %s:%d from %s:%d\n", - buf, ntohs(uh->uh_dport), inet_ntoa(ip->ip_src), - ntohs(uh->uh_sport)); + inet_ntoa_r(ip->ip_dst, dst), ntohs(uh->uh_dport), + inet_ntoa_r(ip->ip_src, src), ntohs(uh->uh_sport)); } UDPSTAT_INC(udps_noport); if (m->m_flags & (M_BCAST | M_MCAST)) { From owner-svn-src-projects@freebsd.org Tue Feb 7 19:48:29 2017 Return-Path: Delivered-To: svn-src-projects@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 0CB2DCD5630 for ; Tue, 7 Feb 2017 19:48:29 +0000 (UTC) (envelope-from yaneurabeya@gmail.com) Received: from mail-pf0-x241.google.com (mail-pf0-x241.google.com [IPv6:2607:f8b0:400e:c00::241]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id CEA9B32A; Tue, 7 Feb 2017 19:48:28 +0000 (UTC) (envelope-from yaneurabeya@gmail.com) Received: by mail-pf0-x241.google.com with SMTP id y143so9909908pfb.1; Tue, 07 Feb 2017 11:48:28 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=subject:mime-version:from:in-reply-to:date:cc:message-id:references :to; bh=LjN0KL+GKaB5cQeRp/1x8DOiHFLXw3Z1rtZH2x3Si8g=; b=kFWxG4RINt+33aNm8Kn+dbeYC57fnE0yG2tjTCWobrMN156XXR8coZRUEStmZ7BQCJ 1oOrOQWKgRWfCC8LiXn0MGSNWeoEL70Wb9ROZUSttJ+s9YxEt5W6G3pAqIt7fHPDqSvf ZLc7fffNJJpRbI8d0gdO6JVVU3vg89ns/2WDqJneSiZ9lMbKQAw7iZJo523RfTL2nVlU 4+ON5hVaGYPTb8UvsJ4wZ0sqCkryMruliuBFDXdjpXZNUL8J1sMtJO8tOlfxrgjWAKnC I1flnknlsyjfA6NnKICaOvadY3axXeoIc0OufdkQXpZsEjbedC6kbtyyjTAZsFQtN6xG vPew== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:subject:mime-version:from:in-reply-to:date:cc :message-id:references:to; bh=LjN0KL+GKaB5cQeRp/1x8DOiHFLXw3Z1rtZH2x3Si8g=; b=SNqtsTr2jO3Ry5Csg+kwKB1glP3aAoLP1FBW1L/vFGiOSiazGIJU5UHVLAJL2FGvv2 Af7Ouum3e1dFgcS/AeWGYCFNThK8CC7AHOhgFoTgoM5kXykfk2JTidYpq1XfSJ3Pvi1Y OEsg48SOiOqmNTQxAjOIFRdsv2ik5SKYIkGRfayVE/IPCBWJvJK5z4BiaFhnhQtz3IOk mUJtkbtiRR5O+NT7ion6AkGiRzI9ODYNg+8t782hcx3hIqA9b+giM60nL3HNLj5NL8cq T7dTdky4bAL3NW3x4vAuWhgkoSToXu+cnM8we/5oZ+HQ/rLoT3R4+WGCMk+m06KjOKAZ ckTg== X-Gm-Message-State: AIkVDXLjwv7uJ2hbX6eZyLuC+g6uO+7Jm5GBW+5s9Zdq95yt7KrygvVQirPK4HjnCrZeUw== X-Received: by 10.99.98.132 with SMTP id w126mr22146246pgb.59.1486496908311; Tue, 07 Feb 2017 11:48:28 -0800 (PST) Received: from pinklady.local (c-73-19-52-228.hsd1.wa.comcast.net. [73.19.52.228]) by smtp.gmail.com with ESMTPSA id r8sm13501705pfi.82.2017.02.07.11.48.27 (version=TLS1 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Tue, 07 Feb 2017 11:48:27 -0800 (PST) Subject: Re: svn commit: r313405 - projects/netbsd-tests-upstream-01-2017/lib/libnetbsd Mime-Version: 1.0 (Mac OS X Mail 9.3 \(3124\)) Content-Type: multipart/signed; boundary="Apple-Mail=_3C318CFE-19D6-4254-8E59-A3BCAE9DB85E"; protocol="application/pgp-signature"; micalg=pgp-sha512 X-Pgp-Agent: GPGMail From: "Ngie Cooper (yaneurabeya)" In-Reply-To: <201702071947.v17Jl4ci038948@repo.freebsd.org> Date: Tue, 7 Feb 2017 11:48:26 -0800 Cc: src-committers@freebsd.org, svn-src-projects@freebsd.org Message-Id: <3FB75A32-6144-48F2-AD90-40A6206698EC@gmail.com> References: <201702071947.v17Jl4ci038948@repo.freebsd.org> To: Ngie Cooper X-Mailer: Apple Mail (2.3124) X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 07 Feb 2017 19:48:29 -0000 --Apple-Mail=_3C318CFE-19D6-4254-8E59-A3BCAE9DB85E Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset=utf-8 > On Feb 7, 2017, at 11:47, Ngie Cooper wrote: >=20 > Author: ngie > Date: Tue Feb 7 19:47:04 2017 > New Revision: 313405 > URL: https://svnweb.freebsd.org/changeset/base/313405 >=20 > Log: > Remove placeholder compat header for stdio.h >=20 > In the end, dealing with fparseln was more bikeshed worthy than I > anticipated, and polling stdio.h with libutil.h caused me more polling -> pulling in =E2=80=A6 hah. An amusing brain fart. -Ngie --Apple-Mail=_3C318CFE-19D6-4254-8E59-A3BCAE9DB85E Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename=signature.asc Content-Type: application/pgp-signature; name=signature.asc Content-Description: Message signed with OpenPGP using GPGMail -----BEGIN PGP SIGNATURE----- Comment: GPGTools - https://gpgtools.org iQIcBAEBCgAGBQJYmiSKAAoJEPWDqSZpMIYVPhgQAJJqJEQ4rwvk4Joho1+M2SA9 fIdHsOj7hwzGgm1Hqtoqq0NI6pFQwZjtmNyrCKxbImrkAMchVAuzTwEjUulcZOJp 3sEMKuBLQTwLP0b2TN09OdpTYX9+mksEErUMx08l1O8Xnu6hnuA6bx2WlLrEL+o0 U0msId8myM6W52dgYK91OMa9c8csMyZnXJGIyDdNLG2qdopWlXzVt2+6ZYat2Z3g oCSqsS0dHQCBjNTnxZ8itKHfPLEK+EiH0K/pvuEHsdi3/0zpfNmTVsg0a/9Scd7y oHL9vxG3U2nKGiC13svcWIRGd1ROHNF7vlvmHT7XjEFcoooy1jcYEftJcVqIAkOM oDTQPzVVO3onuHdP8a4g66YBkhhYOTrX5ZzPU1nSEJpUnKtu9ZKt8MHOisKj2VT+ 3XevQao9kOAigjESMDDvNNonyMhhFb342S45nwOiY7QIH7pKolaXeXJxJIb6DkOA tdH6ZT3zylEFllC1zbx4InmL62+mf4jMBKWxKEQ5SKgfw3che2mBKLBW3LIdw/Ys VLboYqOoTjZ8ek5uBphQViRFp3L0pdmTgsX0Fje4KM0eo8hzSW6UFBaJtCV6T8tR HQIlzffDI+KaK48ensx6Vbt8/4oX31tSXvREA+jhVWXMy19oVQYmc749N/8k7xVy cLjd46a09k8FfRYznetT =q5lL -----END PGP SIGNATURE----- --Apple-Mail=_3C318CFE-19D6-4254-8E59-A3BCAE9DB85E-- From owner-svn-src-projects@freebsd.org Wed Feb 8 08:55:07 2017 Return-Path: Delivered-To: svn-src-projects@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 8D78ECD4DD3 for ; Wed, 8 Feb 2017 08:55:07 +0000 (UTC) (envelope-from ngie@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 31E00D4E; Wed, 8 Feb 2017 08:55:07 +0000 (UTC) (envelope-from ngie@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v188t6NO063484; Wed, 8 Feb 2017 08:55:06 GMT (envelope-from ngie@FreeBSD.org) Received: (from ngie@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v188t6kZ063480; Wed, 8 Feb 2017 08:55:06 GMT (envelope-from ngie@FreeBSD.org) Message-Id: <201702080855.v188t6kZ063480@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: ngie set sender to ngie@FreeBSD.org using -f From: Ngie Cooper Date: Wed, 8 Feb 2017 08:55:06 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r313434 - in projects/netbsd-tests-upstream-01-2017: contrib/elftoolchain/libelftc sys/conf sys/contrib/dev/iwm sys/dev/iwm sys/geom/journal sys/kern sys/modules/iwmfw/iwm3160fw sys/mod... X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 08 Feb 2017 08:55:07 -0000 Author: ngie Date: Wed Feb 8 08:55:05 2017 New Revision: 313434 URL: https://svnweb.freebsd.org/changeset/base/313434 Log: MFhead@r313433 Added: projects/netbsd-tests-upstream-01-2017/sys/contrib/dev/iwm/iwm-3160-17.fw.uu - copied unchanged from r313433, head/sys/contrib/dev/iwm/iwm-3160-17.fw.uu projects/netbsd-tests-upstream-01-2017/sys/contrib/dev/iwm/iwm-7260-17.fw.uu - copied unchanged from r313433, head/sys/contrib/dev/iwm/iwm-7260-17.fw.uu projects/netbsd-tests-upstream-01-2017/sys/contrib/dev/iwm/iwm-7265-17.fw.uu - copied unchanged from r313433, head/sys/contrib/dev/iwm/iwm-7265-17.fw.uu projects/netbsd-tests-upstream-01-2017/sys/contrib/dev/iwm/iwm-8000C-17.fw.uu - copied unchanged from r313433, head/sys/contrib/dev/iwm/iwm-8000C-17.fw.uu Modified: projects/netbsd-tests-upstream-01-2017/contrib/elftoolchain/libelftc/libelftc_bfdtarget.c projects/netbsd-tests-upstream-01-2017/sys/conf/files projects/netbsd-tests-upstream-01-2017/sys/dev/iwm/if_iwm.c projects/netbsd-tests-upstream-01-2017/sys/dev/iwm/if_iwm_debug.h projects/netbsd-tests-upstream-01-2017/sys/dev/iwm/if_iwm_pcie_trans.c projects/netbsd-tests-upstream-01-2017/sys/dev/iwm/if_iwm_pcie_trans.h projects/netbsd-tests-upstream-01-2017/sys/dev/iwm/if_iwm_scan.c projects/netbsd-tests-upstream-01-2017/sys/dev/iwm/if_iwm_scan.h projects/netbsd-tests-upstream-01-2017/sys/dev/iwm/if_iwm_util.c projects/netbsd-tests-upstream-01-2017/sys/dev/iwm/if_iwmreg.h projects/netbsd-tests-upstream-01-2017/sys/dev/iwm/if_iwmvar.h projects/netbsd-tests-upstream-01-2017/sys/geom/journal/g_journal.c projects/netbsd-tests-upstream-01-2017/sys/kern/imgact_elf.c projects/netbsd-tests-upstream-01-2017/sys/modules/iwmfw/iwm3160fw/Makefile projects/netbsd-tests-upstream-01-2017/sys/modules/iwmfw/iwm7260fw/Makefile projects/netbsd-tests-upstream-01-2017/sys/modules/iwmfw/iwm7265fw/Makefile projects/netbsd-tests-upstream-01-2017/sys/sys/proc.h projects/netbsd-tests-upstream-01-2017/usr.bin/gcore/elfcore.c projects/netbsd-tests-upstream-01-2017/usr.sbin/bsdinstall/partedit/scripted.c Directory Properties: projects/netbsd-tests-upstream-01-2017/ (props changed) projects/netbsd-tests-upstream-01-2017/contrib/elftoolchain/ (props changed) Modified: projects/netbsd-tests-upstream-01-2017/contrib/elftoolchain/libelftc/libelftc_bfdtarget.c ============================================================================== --- projects/netbsd-tests-upstream-01-2017/contrib/elftoolchain/libelftc/libelftc_bfdtarget.c Wed Feb 8 08:37:43 2017 (r313433) +++ projects/netbsd-tests-upstream-01-2017/contrib/elftoolchain/libelftc/libelftc_bfdtarget.c Wed Feb 8 08:55:05 2017 (r313434) @@ -127,6 +127,15 @@ struct _Elftc_Bfd_Target _libelftc_targe }, { + .bt_name = "elf32-powerpc-freebsd", + .bt_type = ETF_ELF, + .bt_byteorder = ELFDATA2MSB, + .bt_elfclass = ELFCLASS32, + .bt_machine = EM_PPC, + .bt_osabi = ELFOSABI_FREEBSD, + }, + + { .bt_name = "elf32-powerpcle", .bt_type = ETF_ELF, .bt_byteorder = ELFDATA2LSB, @@ -290,6 +299,15 @@ struct _Elftc_Bfd_Target _libelftc_targe }, { + .bt_name = "elf64-powerpc-freebsd", + .bt_type = ETF_ELF, + .bt_byteorder = ELFDATA2MSB, + .bt_elfclass = ELFCLASS64, + .bt_machine = EM_PPC64, + .bt_osabi = ELFOSABI_FREEBSD, + }, + + { .bt_name = "elf64-powerpcle", .bt_type = ETF_ELF, .bt_byteorder = ELFDATA2LSB, Modified: projects/netbsd-tests-upstream-01-2017/sys/conf/files ============================================================================== --- projects/netbsd-tests-upstream-01-2017/sys/conf/files Wed Feb 8 08:37:43 2017 (r313433) +++ projects/netbsd-tests-upstream-01-2017/sys/conf/files Wed Feb 8 08:55:05 2017 (r313434) @@ -1897,7 +1897,7 @@ iwm3160fw.fwo optional iwm3160fw | iwm no-implicit-rule \ clean "iwm3160fw.fwo" iwm3160.fw optional iwm3160fw | iwmfw \ - dependency "$S/contrib/dev/iwm/iwm-3160-16.fw.uu" \ + dependency "$S/contrib/dev/iwm/iwm-3160-17.fw.uu" \ compile-with "${NORMAL_FW}" \ no-obj no-implicit-rule \ clean "iwm3160.fw" @@ -1911,7 +1911,7 @@ iwm7260fw.fwo optional iwm7260fw | iwm no-implicit-rule \ clean "iwm7260fw.fwo" iwm7260.fw optional iwm7260fw | iwmfw \ - dependency "$S/contrib/dev/iwm/iwm-7260-16.fw.uu" \ + dependency "$S/contrib/dev/iwm/iwm-7260-17.fw.uu" \ compile-with "${NORMAL_FW}" \ no-obj no-implicit-rule \ clean "iwm7260.fw" @@ -1925,7 +1925,7 @@ iwm7265fw.fwo optional iwm7265fw | iwm no-implicit-rule \ clean "iwm7265fw.fwo" iwm7265.fw optional iwm7265fw | iwmfw \ - dependency "$S/contrib/dev/iwm/iwm-7265-16.fw.uu" \ + dependency "$S/contrib/dev/iwm/iwm-7265-17.fw.uu" \ compile-with "${NORMAL_FW}" \ no-obj no-implicit-rule \ clean "iwm7265.fw" Copied: projects/netbsd-tests-upstream-01-2017/sys/contrib/dev/iwm/iwm-3160-17.fw.uu (from r313433, head/sys/contrib/dev/iwm/iwm-3160-17.fw.uu) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ projects/netbsd-tests-upstream-01-2017/sys/contrib/dev/iwm/iwm-3160-17.fw.uu Wed Feb 8 08:55:05 2017 (r313434, copy of r313433, head/sys/contrib/dev/iwm/iwm-3160-17.fw.uu) @@ -0,0 +1,20409 @@ +begin 644 iwm-3160-17.fw +M`````$E73`IS=')E86TZ3&EN=7A?0V]R94-Y8VQE,31?````"`````(`````````'````!`````````` +M````````````````&P````0````!````$P````0``0```(```````!$```#B +M804```$```````"$?(``,"B``(RF@`#,F8``Z!.``(";@``````````````` +M``````````````````!L(,`0#QL)(MP=P!`*`!M`(``;;@0``&$0`!MN`0`` +M810``&$/``!A```;)"``&R7D'<`1W`3`$@$`&W`(``!A#QP=(@0`'2;H'<`0 +M`0`;,.@=P!&"!!LD"``;)00HP!'I#P!A```;)0`!&R1<',`1````8=P=P!`` +M`!TD````(0$`6#$/10`B`%P`.?0EP!`!`1,R`0$3,P$`$V+O_P`R!```8@-@ +M`&(``%@X`@!8,6,``&'D!,`2Z!W`$0$`4B2T'\`0`@`3<`,``&$(`%@P"`!D +M,0<``&$/$U(B@@03)`@`$R4!`%)N`0``80$``&$```!A"`!8;NL/`&$``!,E +M```3)"00P!$`@!,D```3)3@!,B!`#* +M$0```20```$E"0``84``$R4&`1,D!"C`$0]V$R(L2,<1#W@3(@``QA$#``$D +M```!)0]%`"(`7``Y[_\`,AD``&0`@!,D`0`3)3@P'P!($*,`1\`?`$LA)QQ$/@=P!`/$P'AX>'AL7 +M%!(*'AX>'AX>'AL7%!(*'AX>'AX>'AL7%!(*'AX````````````````8M@$` +M!0```@0```!#AY.(@< +MB1R*'(L)P```L```!TH@$`#````/3_`0`- +M````6%("``X```"@"6`+X`4````"!.```````````````` +M```$`````0`````````!`````0```!X```````````````$!#@X````````R +M"`(/`P`!``````````$!#@X````````C!`(*`````````````/0!```````` +M````````````````.%"````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````0`````)`!```` +MH``0)P``Z`,``.@#```0(X``$".``/R$@`#XA(``^(2``/"$@`#\A(``^(2` +M`/B$@`#PA(``\(2``/R$@`#\A(``\(2``/R$@`#TA(```````/__```!`0`` +M``````````$`````L!T!`+`=`0"P'0$`!/\``+`=`0"P'0$`.`$!`+`=`0`` +M]```P/T``+`=`0"P'0$`L!T!`+`=`0"P'0$`L!T!`+`=`0"P'0$`L!T!`+`= +M`0"P'0$`L!T!`+`=`0!D&`$`7!4!`+P8`0"P'0$`L!T!`+`=`0#`#@$`/!T! +M`%`1`0`$$@$`"!$!`+@%`0`(!0$`;`H!`)@4`0#0'0$`L!T!``3R``"<]``` +ML!T!`)CX``#@]@``>`8!`!`"`0"P'0$`L!T!`+`=`0"P'0$`L!T!`+`=`0"P +M'0$`L!T!`+`=`0"P'0$`L!T!`+`=`0"P'0$`L!T!`+`=`0"P'0$`L!T!``#_ +M``#\_@``^/X``+`=`0"P'0$`L!T!`+`=`0"P'0$`\`$!`+`=`0"P'0$`L!T! +M`+`=`0"P'0$`P!H!`+`=`0"P'0$`-`X!`,`-`0"P'0$`L!T!`+`=`0``#@$` +ML!T!`+`=`0"P'0$`L!T!`+`=`0#(_```W/L``+`=`0"P'0$`L!T!`'0(`0#L +M'P$`L!T!`+`=`0"P'0$`L!T!`+`=`0"P'0$`L!T!`$@4`0"P'0$`%`D!`+`= +M`0#H#0$`L!T!``C_``"P'0$`L!T!`+`=`0"P'0$`L!T!`+`=`0!L_@``L!T! +M`+`=`0"P'0$`L!T!`+`=`0"P'0$`'!H!`/0,`0"P'0$`L!T!`+`=`0"8_0`` +ML!T!`/C\``!T!@$`L!T!`-@&`0"P'0$`L!T!`+`=`0!X_0``L!T!`+`=`0`T +M_P``L!T!`(P:`0!P`@$`L!T!`+`=`0#<``$`Z!\!`+`=`0`\&@$`L!T!``@, +M`0`H_```G!D!`+`=`0"P'0$`@`P!`+`=`0"P'0$`L!T!`%P&`0"P'0$`L!T! +M`+`=`0"P'0$`L!T!`#P#`0"P'0$`L!T!`+`=`0"P'0$`L!T!`/@3`0"P'0$` +ML!T!`+`=`0"P'0$`L!T!`+`=`0"P'0$`L!T!`+`=`0"P'0$`L!T!`+`=`0"P +M'0$`L!T!`#0(`0#P'P$`L!T!`+`=`0"P'0$`L!T!`+`=`0"P'0$`//8``+`= +M`0"P'0$`L!T!`*0?`0"``P$`L!T!`+`=`0"P'0$`L!T!`,P#`0`$%0$`2/8` +M`+`=`0"P'0$`L!T!`+`=`0"P'0$`Y!\!`+`=`0#```````````````````````````````````````#T*@$`!0```@0` +M``!`8```#_!P!8 +M!P```/\@``P0$``$`1`.$!`0$!`0$!`0$!`0$!`0$!`0$!`0$!`0#Q`)$!`% +M"A`+$!`0$`(0$`T0$!`0$!`0$!`0$`8#$!`0$!`0$!`0$!`0$!`($!`0$!`0 +M$!`0$!`0$!`0$!`0$!`0$!`0$!`0$!`0$!`0$!`0$!`0$!`0$!`0$!`0$!`0 +M$!`0$!`0$!`0$!`0$!`0$!`0$!`0$!`0$!`0$!`0$!`0$!`0$!`0$!`0$!`0 +M$!`0$!`0$!`0$!`0$!`0$!`0$!`0$!`0$!`0$!`0$!`0$!`0$!`0$!`0$!`0 +M$!`0!Q`0$!`0$!`0$!`0$!`0$!`0$!`0$!`0$!`0$!`0$!`0$!``````!(6` +M```````````````````````````````````````````````````````````` +M`````/\```#__________________________P`````````````````````` +M`````````````````````````````````````````````````````````"BP +M`0`@-@$`"+8!`"`V`0#0;@(`(#8!`#PC`0!,3@(`D%8!`"`V`0`@-@$`7%(" +M`%Q2`@!<4@(`7%("`%Q2`@!<4@(`7%("`"`V`0`@-@$`(#8!`"`V`0`HD@`` +M(#8!`"`V`0`@-@$`(#8!`"`V`0!@5@$`2%8!`"`V`0`@-@$````````````` +M`````````````````````````````````````0````$````````````````` +M```````````````````````````````````````````````````````````` +M``````````````````$````"`````P````````#_````_P```/\```#_```` +M````````````````````````````````_P```(@3```````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M``````````````````````````#_____```````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M``````"``````````````````````````/____\````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M`````````````(``````````````````````````_____P`````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M````````````````````@`````````````````````````#_____```````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M``````````````````````````"``````````````````````````/____\` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M`````````````````````````````````(`````````````````````````` +M``````````````````````````#_```````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M````````_____P````#_____`````/____\`````_____P``````````#P`_ +M``$````/`#\``0````\`/P`!````#P`_``$````/`#\``0`````````/`#\` +M`0````\`/P`!````#P`_``$````/`#\``0````\`/P`!``````````\`/P`! +M````#P`_``$````/`#\``0````\`/P`!````#P`_``$`````````#P`_``$` +M```/`#\``0````\`/P`!````#P`_``$````/`#\``0`````````/`#\``0`` +M``\`/P`!````#P`_``$````/`#\``0````\`/P`!``````````````"K```` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M``#J"J(*7@H="N`)I0EM"3<)!`G3"*0(=PA+""((^@?3!ZX'B@<````````` +M```````````````````````````````````````````````````````````` +M``````````````````````````!42````@````0```!#C($&QY?#C(%(!Y@ +M#C(&)1YB#C('*AYC#C((+QYD#C()-!YE#C(*.1YG#C(+/AYH#C(,0QYI#C(- +M2!YJ#C(.31YL#C(B4$`-(``D8$`/(#$F<$`2(#0H`$$4(#$J$$$7(#$L($$9 +M(#$N,$$<(#,P0$$>(#$R4$$A(#$T8$$C(#$V<$$F(#,X`$(H(#$Z$$(K(#$\ +M($(M(#$^,$(P(#-`0$(R(#%D8$1?(C!F<$1B(C)H`$5D(B]J$$5G(B]L($5I +M(B]N,$5L(C)P0$5N(B]R4$5Q(B]T8$5S(B]V<$5V(C)X`$9X(B]Z$$9[(B]\ +M($9](B]^,$:`(C&`0$:"(B^"4$:%(@"$8$:'(BZ&<$:*(C&(`$>,(BZ*$$>/ +M(BZ,($>1(BZ.,$>4(C"00$>6(BV12$>8(@"5:$>=(BV7>$>?(C"9"$BB)"V; +M&$BD)"V=*$BG)"V?.$BI)#"A2$BL)"VE:$BQ)"T````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````/``\`#P`/ +M``\`#P`/``\````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M`````````````0`!``````#``)``T``````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M`````````#QB```*````!````%Q^@``````````````````````````````` +M````````````````````````_____Z#%@````````````$!"#P!`0@\`0$(/ +M`$!"#P!`0@\`0$(/`$!"#P!`0@\`0$(/`$!"#P#@!P``0`$``.`'``!``0`` +M("<``.`'``#@!P``0`$``.`'``!``0```@`````````"```````````````` +M`````````````````````````````````````````-1M@`!\XX``&``````` +M``````````````````#_____```````````````````````````````````` +M`````````````````````````````````````````````````.`3`@`$%`(` +M%!0"`.P3`@#<$P(`&!0"`,03`@```````%`````P```````````````````` +M``````````!```"`,0``@`X``````````````````````````````"X````R +M````(``````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M``````````````````"0'@(`[!H"`(`>`@!T'0(`8!X"`."H`0`8'@(`'!L" +M`*`<`@#0&@(`U!H"```````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M`(````````````````````"`````@("`@("`@("`@("`@("`@("`@("`@("` +M@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("` +M@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("` +M@("`@("`@("`@("`@(```@```````````````````````````````(`````` +M`/\```````````(```````````````````````````````"```````#_```` +M```````"````````````````````````````````@```````_P`````````` +M`@```````````````````````````````(```````/\```````````(````` +M``````````````````````````"```````#_```````````"```````````` +M````````````````````@```````_P```````````@`````````````````` +M`````````````(```````/\```````````(````````````````````````` +M``````"```````#_```````````"```````````````````````````````` +M@```````_P```````````@```````````````````````````````(`````` +M`/\```````````(```````````````````````````````"```````#_```` +M```````"````````````````````````````````@```````_P`````````` +M`@```````````````````````````````(```````/\```````````(````` +M``````````````````````````"```````#_```````````"```````````` +M````````````````````@```````_P```````````@`````````````````` +M`````````````(```````/\``````````````````($`````````@@`````` +M``"#`````````(0`````````A0````````"&`````````(<`````````B``` +M``````")`````````(H`````````BP````````",`````````(T````````` +MC@````````"/`````````,`!```````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M`,!G``"09P``%&@``*AG```8:```B&<``,1G``#_````_P```/\```#_```` +M_P```/\```#_````_P```/\```#_````_P```/\```#_````_P```/\```#_ +M````_P```/\```#_````_P```/\```#_````_P```/\```#_````_P```/\` +M``#_````_P```/\```#_```````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M````````````````````````````````&""@`!P@H``H(*``+""@`#@@H``@ +M(*``)""@`#`@H``T(*``/""@`$`AH`!$(:``:"&@`&PAH`!X(:``2"&@`$PA +MH`!P(:``="&@`'PAH```````_P`````````````````````````````````` +M```````````````````````T+0(`!0```@0```!6]Y:7E]=W9W;W=I=WUU=G5O=6EU?7-VR5T +M)8HC@B-[(W0CBB&"(7LA="&/!8<%?P5X!8\#AP-_`W@#?7EV>6]Y:7E]=W9W +M;W=I=WUU=G5O=6EU?7-V4%R06Q!9D%Z)7,E;25G)7HCB%S +M(6TA9R%]!78%;P5I!7T#=@-O`VD#?7EV>6]Y:7E]=W9W;W=I=WUU=G5O=6EU +M?7-V7)Y;'F`=WEW75R=6QU@'-Y6]R;VQO@&UY;7)M;&V`:WEK6ER:6QI@&=Y9W)G;&>` +M97EE6-R8VQC@&%Y87)A;&%_17A%<45K17]#>$-Q0VM#?T%X07%! +M:T&$)7TE=B5O)80C?2-V(V\CA"%](78A;R&'!7\%>`5R!8<#?P-X`W(#```` +M``````#^````T-"ZN;>WN+>X`````````````````````````.^^K=[OOJW> +M[[ZMWN^^K=X``````````````````````````%1Q```*````!````%Q^@``` +M````S/X``+`=`0"\!`$``````/\````$````````````````````__\``(0U +M``"8-0``K#4``#@U```P-0``0#4``*PT``"D-```<.(``'S>``"$WP``X-\` +M``3?``!DWP``O-\``+CB``#,Z```%.D``,3I```.D``+#I```4Z@`` +M3-\``##?``!PW@`````````````"`@7_`@,```(!`0$#`P#_`P$!`0,``@(# +M`@4&```"_P````,```$#``$$!``#`P4``@4&`0$!_P$``@(!`P`%`0(%!@`` +M```````````````````8+0(`!@````0```!W]\$W@```P4'"0L5 +M#0\1$P```P`&!@8&!@8```````````,-+XF)-T.)B8F)B7.)66$`58)K38F) +MB8F)0TT"T`````!A04%`04%!0"%!04``````0&``8$!@8& +M!@8&!@8&!@8&!@(&!``````+!P,`.S____'____R#___\A____ +M_R+___\C____)/___R7___\F`````````````````````````````,`L```` +M````P"P``````````````@````(````L@0$`Z((````````````````````` +M```````````````````/`#\``@````\`/P`"````#P`_``(````/`#\``@`` +M``\`/P`"(`````````$```"JJJJJJJJJJJJJJNZJJJJJ*/\`S*JJ``"JJ@#, +MJJH```!``,``0`#``%``\`!0`/`````````````````````````````````` +M``````````````````````````````"JJJJJJJJJJJJJJJJJJJJJJJJJJJJJ +MJJJJJJJJJJJJJ@``````````````````````;&UN;W!Q0GMH +M+Z$]FA\6*;27T!XXCN,X',=Q'+V$]A*.XS@.',=Q'([C.`Y>0GL)QW$8!'`*(`M`"=0#J`%\!U`&^`J@#'022!'P%&`;J`-0! +MO@*H`WP%4`=BM>9-FNQ%CYT?0(F'^A7O +MZ[+)C@O[[$%GL_U?ZD6_(_=3EN1;F\)U'.&N/6I,6FQ!?@+U3X-<:/11--$( +M^9/B5/%NW%AM>:56:4$<^*$.D&!('^\*!$>+HE +MXTOSHOY=P("*!:T_O"%(<`3QWV/!=W6O8T(P(!KE#OUMOTR!%!@U)B_#X;ZB +M-JS(Y[HK,I7FH,"8&=&>?Z-F1'Y4JSN#"\J,*:?BO!T6=JT[VU9D3G0>%-N2"@QL2.2X79]NO>]#IL2H.:0Q-].+\C+50XM9 +M;K?:C`%DL=*RWO\J-9M.BP``0($!`8&"`@````1```````````````` +M````9````!````#_``P@"````!(````````````````````L`0``$````/\` +M#"`"````$P```````````````````"P!```0````_P`,(`<````4```````` +M`$`&`````````0```!`````!``Q`!````!4`````````0`8````````!```` +M$`````$`#$`#````%@````````!`!@````````$````0`````0`,0`,````7 +M`````````````````````0```!````#_``0`!````!@`````````0`8````` +M```R````,@````$!S$`#````&0````````````````````$````!`````0$` +M@`$````:`````````````````````0````$```#__P"@!0```!L````````` +M$``````````!````$`````$"!``&````'``````````$``````````$````! +M`````0`,``$````=``````````0``````````0````$````!``P``0```!X` +M````````!``````````!`````0````$``(`!````'P`````````````````` +M``$````(````_P`,(`8````@`````````````````````0````@```#_``P@ +M`@```"$````````````````````!`````0```/\`#*`#````(@`````````` +M``````````$````!`````0(,@`$````C`````````````````````0````$` +M``#_``"@!@```"0````````````````````!`````0````$"1``"````)0`` +M``````````````````$````0````_P`,(`,````F`````````-@````````` +M`0```&0````!``@``@```"<`````````+`$````````!`````0````$`#$`$ +M````*``````````L`0````````$````!````_P`,0`0````I`````````"P! +M`````````0````$````!``Q`!````"H`````````+`$````````!`````0`` +M``$`#$`#````*P`````````L`0````````$````!`````0`,0`4````L```` +M``````(``````````0````$````!``0`!0```"T`````````!``````````! +M`````0````$`#$`!````+@`````````L`0````````$```!I`````0`,0`,` +M```O``````````````````````(``!(```#_``Q@`@```#``````````,@`` +M``````!D````$````/\`#&`&````,0`````````L`0````````$```!N```` +M`0`,0`0````$#`P(%!0$!$````"```````$````"````!````$```$````!` +M````_T%5514`````@(B("`````$``!S_____`!````0!`!C^__]_``@```0" +M`1C_____`!````$!`1C_____`!````,``!S\_U+550T```(``!S\_Z?JJPX` +M``4"`1C\_U+550T```(!`1C\_Z?JJPX```,!`1C\_U+550T```4!`!C\_ZEJ +MJP8```!````7````>*X``!0``````````0```(1\`0``````>-,```,```!` +MLP``!`````C.```(````N,L```P```"LO@``$0`````````3````!*\``!8` +M```\<`(``````##3```$````4&X"``4```"LN0``"````+S+```,````8,$` +M``T`````````$0```````````````````-#2``` Delivered-To: svn-src-projects@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 9080CCD5156 for ; Wed, 8 Feb 2017 09:03:32 +0000 (UTC) (envelope-from ngie@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 43DA411E0; Wed, 8 Feb 2017 09:03:32 +0000 (UTC) (envelope-from ngie@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v1893V3K067636; Wed, 8 Feb 2017 09:03:31 GMT (envelope-from ngie@FreeBSD.org) Received: (from ngie@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v1893Vsg067635; Wed, 8 Feb 2017 09:03:31 GMT (envelope-from ngie@FreeBSD.org) Message-Id: <201702080903.v1893Vsg067635@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: ngie set sender to ngie@FreeBSD.org using -f From: Ngie Cooper Date: Wed, 8 Feb 2017 09:03:31 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r313435 - projects/netbsd-tests-upstream-01-2017/contrib/dma X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 08 Feb 2017 09:03:32 -0000 Author: ngie Date: Wed Feb 8 09:03:31 2017 New Revision: 313435 URL: https://svnweb.freebsd.org/changeset/base/313435 Log: Merge bogus svn:mergeinfo to allow me to merge this branch I'll prune unnecessary mergeinfo on merge Modified: Directory Properties: projects/netbsd-tests-upstream-01-2017/contrib/dma/ (props changed) From owner-svn-src-projects@freebsd.org Wed Feb 8 09:47:39 2017 Return-Path: Delivered-To: svn-src-projects@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id AF067CD5E07 for ; Wed, 8 Feb 2017 09:47:39 +0000 (UTC) (envelope-from ngie@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 63F0BFC5; Wed, 8 Feb 2017 09:47:39 +0000 (UTC) (envelope-from ngie@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v189lc9U084594; Wed, 8 Feb 2017 09:47:38 GMT (envelope-from ngie@FreeBSD.org) Received: (from ngie@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v189lcxc084593; Wed, 8 Feb 2017 09:47:38 GMT (envelope-from ngie@FreeBSD.org) Message-Id: <201702080947.v189lcxc084593@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: ngie set sender to ngie@FreeBSD.org using -f From: Ngie Cooper Date: Wed, 8 Feb 2017 09:47:38 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r313440 - projects/netbsd-tests-upstream-01-2017 X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 08 Feb 2017 09:47:39 -0000 Author: ngie Date: Wed Feb 8 09:47:38 2017 New Revision: 313440 URL: https://svnweb.freebsd.org/changeset/base/313440 Log: Prune project reintegrated as ^/head@r313439. Deleted: projects/netbsd-tests-upstream-01-2017/ From owner-svn-src-projects@freebsd.org Thu Feb 9 08:03:08 2017 Return-Path: Delivered-To: svn-src-projects@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 96E3BCD70AE for ; Thu, 9 Feb 2017 08:03:08 +0000 (UTC) (envelope-from ngie@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 5EDA71BD2; Thu, 9 Feb 2017 08:03:08 +0000 (UTC) (envelope-from ngie@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v19837Rq036950; Thu, 9 Feb 2017 08:03:07 GMT (envelope-from ngie@FreeBSD.org) Received: (from ngie@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v198375C036949; Thu, 9 Feb 2017 08:03:07 GMT (envelope-from ngie@FreeBSD.org) Message-Id: <201702090803.v198375C036949@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: ngie set sender to ngie@FreeBSD.org using -f From: Ngie Cooper Date: Thu, 9 Feb 2017 08:03:07 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r313466 - projects/stable-10-backport-test-changes X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 09 Feb 2017 08:03:08 -0000 Author: ngie Date: Thu Feb 9 08:03:07 2017 New Revision: 313466 URL: https://svnweb.freebsd.org/changeset/base/313466 Log: Branch ^/stable/10 to ^/projects/stable-10-backport-test-changes This branch exists for the purpose of backporting the following: - contrib/netbsd-tests changes (and supporting changes) - test glue improvements (checkworld, etc) - documentation improvements - make glue to support test glue improvements Added: - copied from r313465, stable/10/ Directory Properties: projects/stable-10-backport-test-changes/ (props changed) From owner-svn-src-projects@freebsd.org Thu Feb 9 08:25:32 2017 Return-Path: Delivered-To: svn-src-projects@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 95E78CD7A2F for ; Thu, 9 Feb 2017 08:25:32 +0000 (UTC) (envelope-from ngie@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 5F0D8BBE; Thu, 9 Feb 2017 08:25:32 +0000 (UTC) (envelope-from ngie@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v198PVqX045891; Thu, 9 Feb 2017 08:25:31 GMT (envelope-from ngie@FreeBSD.org) Received: (from ngie@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v198PVS1045887; Thu, 9 Feb 2017 08:25:31 GMT (envelope-from ngie@FreeBSD.org) Message-Id: <201702090825.v198PVS1045887@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: ngie set sender to ngie@FreeBSD.org using -f From: Ngie Cooper Date: Thu, 9 Feb 2017 08:25:31 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r313468 - in projects/stable-10-backport-test-changes: contrib/netbsd-tests/lib/libc/c063 contrib/netbsd-tests/lib/libc/ssp lib/libc/tests/c063 lib/libc/tests/ssp X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 09 Feb 2017 08:25:32 -0000 Author: ngie Date: Thu Feb 9 08:25:30 2017 New Revision: 313468 URL: https://svnweb.freebsd.org/changeset/base/313468 Log: MFC r276527,r277648: r276527: Don't install h_raw if dealing with clang 3.5.0+ to unbreak the tests2 Jenkins job The h_raw application doesn't do proper bounds checking without the option being supplied via the build, which means that it doesn't throw signals and fail as expected PR: 196430 r277648 (by jilles): Enable utimensat tests from NetBSD. As with other tests from c063, a required #include was missing. Modified: projects/stable-10-backport-test-changes/contrib/netbsd-tests/lib/libc/c063/t_utimensat.c projects/stable-10-backport-test-changes/contrib/netbsd-tests/lib/libc/ssp/t_ssp.sh projects/stable-10-backport-test-changes/lib/libc/tests/c063/Makefile projects/stable-10-backport-test-changes/lib/libc/tests/ssp/Makefile Directory Properties: projects/stable-10-backport-test-changes/ (props changed) Modified: projects/stable-10-backport-test-changes/contrib/netbsd-tests/lib/libc/c063/t_utimensat.c ============================================================================== --- projects/stable-10-backport-test-changes/contrib/netbsd-tests/lib/libc/c063/t_utimensat.c Thu Feb 9 08:19:30 2017 (r313467) +++ projects/stable-10-backport-test-changes/contrib/netbsd-tests/lib/libc/c063/t_utimensat.c Thu Feb 9 08:25:30 2017 (r313468) @@ -40,6 +40,9 @@ __RCSID("$NetBSD: t_utimensat.c,v 1.5 20 #include #include #include +#ifdef __FreeBSD__ +#include +#endif #include #define DIR "dir" Modified: projects/stable-10-backport-test-changes/contrib/netbsd-tests/lib/libc/ssp/t_ssp.sh ============================================================================== --- projects/stable-10-backport-test-changes/contrib/netbsd-tests/lib/libc/ssp/t_ssp.sh Thu Feb 9 08:19:30 2017 (r313467) +++ projects/stable-10-backport-test-changes/contrib/netbsd-tests/lib/libc/ssp/t_ssp.sh Thu Feb 9 08:25:30 2017 (r313468) @@ -361,6 +361,9 @@ raw_head() raw_body() { prog="$(atf_get_srcdir)/h_raw" + # Begin FreeBSD + [ -x $prog ] || atf_skip "$prog is missing; skipping testcase" + # End FreeBSD h_pass "$prog 9" # Begin FreeBSD Modified: projects/stable-10-backport-test-changes/lib/libc/tests/c063/Makefile ============================================================================== --- projects/stable-10-backport-test-changes/lib/libc/tests/c063/Makefile Thu Feb 9 08:19:30 2017 (r313467) +++ projects/stable-10-backport-test-changes/lib/libc/tests/c063/Makefile Thu Feb 9 08:25:30 2017 (r313468) @@ -2,7 +2,7 @@ TESTSDIR= ${TESTSBASE}/lib/libc/c063 -#TODO: t_o_search, t_utimensat +#TODO: t_o_search NETBSD_ATF_TESTS_C= faccessat_test NETBSD_ATF_TESTS_C+= fchmodat_test @@ -18,6 +18,7 @@ NETBSD_ATF_TESTS_C+= readlinkat_test NETBSD_ATF_TESTS_C+= renameat_test NETBSD_ATF_TESTS_C+= symlinkat_test NETBSD_ATF_TESTS_C+= unlinkat_test +NETBSD_ATF_TESTS_C+= utimensat CFLAGS+= -D_INCOMPLETE_XOPEN_C063 Modified: projects/stable-10-backport-test-changes/lib/libc/tests/ssp/Makefile ============================================================================== --- projects/stable-10-backport-test-changes/lib/libc/tests/ssp/Makefile Thu Feb 9 08:19:30 2017 (r313467) +++ projects/stable-10-backport-test-changes/lib/libc/tests/ssp/Makefile Thu Feb 9 08:25:30 2017 (r313468) @@ -26,7 +26,11 @@ PROGS+= h_getcwd PROGS+= h_memcpy PROGS+= h_memmove PROGS+= h_memset +# This testcase doesn't run properly when not compiled with -fsantize=bounds +# with clang, which is currently contingent on a compiler_rt update +.if ${COMPILER_TYPE} == "clang" && ${COMPILER_VERSION} < 30500 PROGS+= h_raw +.endif PROGS+= h_read PROGS+= h_readlink PROGS+= h_snprintf From owner-svn-src-projects@freebsd.org Thu Feb 9 08:39:09 2017 Return-Path: Delivered-To: svn-src-projects@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 85F5FCD722E for ; Thu, 9 Feb 2017 08:39:09 +0000 (UTC) (envelope-from ngie@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 46D6814B4; Thu, 9 Feb 2017 08:39:09 +0000 (UTC) (envelope-from ngie@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v198d8Uh050116; Thu, 9 Feb 2017 08:39:08 GMT (envelope-from ngie@FreeBSD.org) Received: (from ngie@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v198d7r1050110; Thu, 9 Feb 2017 08:39:07 GMT (envelope-from ngie@FreeBSD.org) Message-Id: <201702090839.v198d7r1050110@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: ngie set sender to ngie@FreeBSD.org using -f From: Ngie Cooper Date: Thu, 9 Feb 2017 08:39:07 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r313469 - in projects/stable-10-backport-test-changes: contrib/netbsd-tests/lib/libc/gen contrib/netbsd-tests/lib/libc/string lib/libc/gen lib/libc/string X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 09 Feb 2017 08:39:09 -0000 Author: ngie Date: Thu Feb 9 08:39:07 2017 New Revision: 313469 URL: https://svnweb.freebsd.org/changeset/base/313469 Log: MFC r276527,r277648,r279154,r279397,r283584: r276527: Don't install h_raw if dealing with clang 3.5.0+ to unbreak the tests2 Jenkins job The h_raw application doesn't do proper bounds checking without the option being supplied via the build, which means that it doesn't throw signals and fail as expected PR: 196430 r277648 (by jilles): Enable utimensat tests from NetBSD. As with other tests from c063, a required #include was missing. r279154 (by jilles): nice(): Correct return value and [EPERM] error. PR: 189821 Obtained from: NetBSD Relnotes: yes r279397 (by jilles): nice(): Put back old return value, keeping [EPERM] error. Commit r279154 changed the API and ABI significantly, and {NZERO} is still wrong. Also, preserve errno on success instead of setting it to 0. PR: 189821 Relnotes: yes r283584 (by emaste): memmem(3): empty little string matches the beginning of the big string This function originated in glibc, and this matches their behaviour (and NetBSD, OpenBSD, and musl). An empty big string (arg "l") is handled by the existing l_len < s_len test. Modified: projects/stable-10-backport-test-changes/contrib/netbsd-tests/lib/libc/gen/t_nice.c projects/stable-10-backport-test-changes/contrib/netbsd-tests/lib/libc/string/t_memmem.c projects/stable-10-backport-test-changes/lib/libc/gen/nice.3 projects/stable-10-backport-test-changes/lib/libc/gen/nice.c projects/stable-10-backport-test-changes/lib/libc/string/memmem.3 projects/stable-10-backport-test-changes/lib/libc/string/memmem.c Directory Properties: projects/stable-10-backport-test-changes/ (props changed) Modified: projects/stable-10-backport-test-changes/contrib/netbsd-tests/lib/libc/gen/t_nice.c ============================================================================== --- projects/stable-10-backport-test-changes/contrib/netbsd-tests/lib/libc/gen/t_nice.c Thu Feb 9 08:25:30 2017 (r313468) +++ projects/stable-10-backport-test-changes/contrib/netbsd-tests/lib/libc/gen/t_nice.c Thu Feb 9 08:39:07 2017 (r313469) @@ -72,11 +72,6 @@ ATF_TC_BODY(nice_err, tc) { int i; -#ifdef __FreeBSD__ - atf_tc_expect_fail("nice(incr) with incr < 0 fails with unprivileged " - "users and sets errno == EPERM; see PR # 189821 for more details"); -#endif - /* * The call should fail with EPERM if the * supplied parameter is negative and the Modified: projects/stable-10-backport-test-changes/contrib/netbsd-tests/lib/libc/string/t_memmem.c ============================================================================== --- projects/stable-10-backport-test-changes/contrib/netbsd-tests/lib/libc/string/t_memmem.c Thu Feb 9 08:25:30 2017 (r313468) +++ projects/stable-10-backport-test-changes/contrib/netbsd-tests/lib/libc/string/t_memmem.c Thu Feb 9 08:39:07 2017 (r313469) @@ -75,7 +75,7 @@ ATF_TC_HEAD(memmem_basic, tc) ATF_TC_BODY(memmem_basic, tc) { -#if defined(__darwin__) || defined(__FreeBSD__) +#if defined(__darwin__) expect(memmem(b2, lb2, p0, lp0) == NULL); expect(memmem(b0, lb0, p0, lp0) == NULL); #else Modified: projects/stable-10-backport-test-changes/lib/libc/gen/nice.3 ============================================================================== --- projects/stable-10-backport-test-changes/lib/libc/gen/nice.3 Thu Feb 9 08:25:30 2017 (r313468) +++ projects/stable-10-backport-test-changes/lib/libc/gen/nice.3 Thu Feb 9 08:39:07 2017 (r313469) @@ -28,7 +28,7 @@ .\" @(#)nice.3 8.1 (Berkeley) 6/4/93 .\" $FreeBSD$ .\" -.Dd June 4, 1993 +.Dd February 28, 2015 .Dt NICE 3 .Os .Sh NAME @@ -48,20 +48,48 @@ This interface is obsoleted by .Pp The .Fn nice -function obtains the scheduling priority of the process -from the system and sets it to the priority value specified in -.Fa incr . +function adds +.Fa incr +to the scheduling priority of the process. The priority is a value in the range -20 to 20. The default priority is 0; lower priorities cause more favorable scheduling. Only the super-user may lower priorities. .Pp Children inherit the priority of their parent processes via .Xr fork 2 . +.Sh RETURN VALUES +Upon successful completion, +.Fn nice +returns 0, and +.Va errno +is unchanged. +Otherwise, \-1 is returned, the process' nice value is not changed, and +.Va errno +is set to indicate the error. +.Sh ERRORS +The +.Fn nice +function will fail if: +.Bl -tag -width Er +.It Bq Er EPERM +The +.Fa incr +argument is negative and the caller does not have appropriate privileges. +.El .Sh SEE ALSO .Xr nice 1 , .Xr fork 2 , .Xr setpriority 2 , .Xr renice 8 +.Sh STANDARDS +The +.Fn nice +function conforms to +.St -p1003.1-2008 +except for the return value. +This implementation returns 0 upon successful completion but +the standard requires returning the new nice value, +which could be \-1. .Sh HISTORY A .Fn nice Modified: projects/stable-10-backport-test-changes/lib/libc/gen/nice.c ============================================================================== --- projects/stable-10-backport-test-changes/lib/libc/gen/nice.c Thu Feb 9 08:25:30 2017 (r313468) +++ projects/stable-10-backport-test-changes/lib/libc/gen/nice.c Thu Feb 9 08:39:07 2017 (r313469) @@ -43,14 +43,20 @@ __FBSDID("$FreeBSD$"); * Backwards compatible nice. */ int -nice(incr) - int incr; +nice(int incr) { - int prio; + int saverrno, prio; + saverrno = errno; errno = 0; prio = getpriority(PRIO_PROCESS, 0); - if (prio == -1 && errno) + if (prio == -1 && errno != 0) return (-1); - return (setpriority(PRIO_PROCESS, 0, prio + incr)); + if (setpriority(PRIO_PROCESS, 0, prio + incr) == -1) { + if (errno == EACCES) + errno = EPERM; + return (-1); + } + errno = saverrno; + return (0); } Modified: projects/stable-10-backport-test-changes/lib/libc/string/memmem.3 ============================================================================== --- projects/stable-10-backport-test-changes/lib/libc/string/memmem.3 Thu Feb 9 08:25:30 2017 (r313468) +++ projects/stable-10-backport-test-changes/lib/libc/string/memmem.3 Thu Feb 9 08:39:07 2017 (r313469) @@ -26,7 +26,7 @@ .\" .\" $FreeBSD$ .\" -.Dd August 24, 2005 +.Dd May 26, 2015 .Dt MEMMEM 3 .Os .Sh NAME @@ -51,14 +51,12 @@ in the byte string .Fa big . .Sh RETURN VALUES If -.Fa big_len -is smaller than -.Fa little_len , -if .Fa little_len -is 0, if -.Fa big_len -is 0 or if +is zero +.Fa big +is returned (that is, an empty little is deemed to match at the beginning of +big); +if .Fa little occurs nowhere in .Fa big , @@ -84,3 +82,11 @@ function first appeared in .Sh BUGS This function was broken in Linux libc up to and including version 5.0.9 and in GNU libc prior to version 2.1. +Prior to +.Fx 11.0 +.Nm +returned +.Dv NULL +when +.Fa little_len +equals 0. Modified: projects/stable-10-backport-test-changes/lib/libc/string/memmem.c ============================================================================== --- projects/stable-10-backport-test-changes/lib/libc/string/memmem.c Thu Feb 9 08:25:30 2017 (r313468) +++ projects/stable-10-backport-test-changes/lib/libc/string/memmem.c Thu Feb 9 08:39:07 2017 (r313469) @@ -42,9 +42,9 @@ memmem(const void *l, size_t l_len, cons const char *cl = (const char *)l; const char *cs = (const char *)s; - /* we need something to compare */ - if (l_len == 0 || s_len == 0) - return NULL; + /* empty "s" matches the beginning of "l" */ + if (s_len == 0) + return (void *)cl; /* "s" must be smaller or equal to "l" */ if (l_len < s_len) From owner-svn-src-projects@freebsd.org Thu Feb 9 08:41:05 2017 Return-Path: Delivered-To: svn-src-projects@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id B41CCCD7460 for ; Thu, 9 Feb 2017 08:41:05 +0000 (UTC) (envelope-from ngie@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 6A4E91847; Thu, 9 Feb 2017 08:41:05 +0000 (UTC) (envelope-from ngie@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v198f4F1051092; Thu, 9 Feb 2017 08:41:04 GMT (envelope-from ngie@FreeBSD.org) Received: (from ngie@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v198f4x2051091; Thu, 9 Feb 2017 08:41:04 GMT (envelope-from ngie@FreeBSD.org) Message-Id: <201702090841.v198f4x2051091@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: ngie set sender to ngie@FreeBSD.org using -f From: Ngie Cooper Date: Thu, 9 Feb 2017 08:41:04 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r313470 - projects/stable-10-backport-test-changes X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 09 Feb 2017 08:41:05 -0000 Author: ngie Date: Thu Feb 9 08:41:04 2017 New Revision: 313470 URL: https://svnweb.freebsd.org/changeset/base/313470 Log: MFC r286620,r286638: r286620 (by bapt): Disable broken test until we have time ti actually fix the test r286638 (by bapt): Reenable the test. Sorry I was testing on the wrong branch. Modified: Directory Properties: projects/stable-10-backport-test-changes/ (props changed) From owner-svn-src-projects@freebsd.org Thu Feb 9 09:02:47 2017 Return-Path: Delivered-To: svn-src-projects@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 80F66CD7C65 for ; Thu, 9 Feb 2017 09:02:47 +0000 (UTC) (envelope-from ngie@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 4C09B7D8; Thu, 9 Feb 2017 09:02:47 +0000 (UTC) (envelope-from ngie@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v1992ksr063008; Thu, 9 Feb 2017 09:02:46 GMT (envelope-from ngie@FreeBSD.org) Received: (from ngie@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v1992jT7063000; Thu, 9 Feb 2017 09:02:45 GMT (envelope-from ngie@FreeBSD.org) Message-Id: <201702090902.v1992jT7063000@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: ngie set sender to ngie@FreeBSD.org using -f From: Ngie Cooper Date: Thu, 9 Feb 2017 09:02:45 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r313471 - in projects/stable-10-backport-test-changes: contrib/netbsd-tests/lib/libc/db contrib/netbsd-tests/lib/libc/gen contrib/netbsd-tests/lib/libc/setjmp contrib/netbsd-tests/lib/l... X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 09 Feb 2017 09:02:47 -0000 Author: ngie Date: Thu Feb 9 09:02:45 2017 New Revision: 313471 URL: https://svnweb.freebsd.org/changeset/base/313471 Log: MFC r288444,r296586,r301753,r303840,r304175: r288444 (by andrew): Pass 8 arguments to makecontext on arm64 as this is all we support. Obtained from: EuroBSDCon Devsummit r296586 (by bdrewery): Fix and connect setjmp test. r301753: Fix up r274061 Detect /usr/share/dict/words the "right way" by using require.files instead of the hacked up attempt in the dict(..) function, which didn't work properly on systems where MK_DICT == no. r303840 (by jhb): Add timer_settime tests using SIGEV_THREAD. Note that these tests should work fine on NetBSD and other systems as SIGEV_THREAD is POSIX. r304175 (by ed): Disable tests for non-standard behaviour of dirname(3)/basename(3). The NetBSD ATF tests explicitly check that these functions do not modify their input. These tests are NetBSD-specific. They test for something that is not part of POSIX. PR: 211873 Modified: projects/stable-10-backport-test-changes/contrib/netbsd-tests/lib/libc/db/t_db.sh projects/stable-10-backport-test-changes/contrib/netbsd-tests/lib/libc/gen/t_basedirname.c projects/stable-10-backport-test-changes/contrib/netbsd-tests/lib/libc/setjmp/t_setjmp.c projects/stable-10-backport-test-changes/contrib/netbsd-tests/lib/libc/setjmp/t_threadjmp.c projects/stable-10-backport-test-changes/contrib/netbsd-tests/lib/libc/sys/t_getcontext.c projects/stable-10-backport-test-changes/contrib/netbsd-tests/lib/libc/sys/t_timer_create.c projects/stable-10-backport-test-changes/etc/mtree/BSD.tests.dist projects/stable-10-backport-test-changes/lib/libc/tests/Makefile Directory Properties: projects/stable-10-backport-test-changes/ (props changed) Modified: projects/stable-10-backport-test-changes/contrib/netbsd-tests/lib/libc/db/t_db.sh ============================================================================== --- projects/stable-10-backport-test-changes/contrib/netbsd-tests/lib/libc/db/t_db.sh Thu Feb 9 08:41:04 2017 (r313470) +++ projects/stable-10-backport-test-changes/contrib/netbsd-tests/lib/libc/db/t_db.sh Thu Feb 9 09:02:45 2017 (r313471) @@ -37,6 +37,7 @@ dict() elif [ -f /usr/dict/words ]; then echo /usr/dict/words else + echo "" atf_fail "no dictionary found" fi } @@ -44,12 +45,7 @@ dict() # Begin FreeBSD dict() { - if [ -f /usr/share/dict/words ]; then - echo /usr/share/dict/words - else - echo /nonexistent - atf_skip "Test requires dict/words" - fi + echo /usr/share/dict/words } # End FreeBSD @@ -62,6 +58,9 @@ small_btree_head() "Checks btree database using small keys and small data" \ "pairs: takes the first hundred entries in the dictionary," \ "and makes them be key/data pairs." + # Begin FreeBSD + atf_set "require.files" /usr/share/dict/words + # End FreeBSD } small_btree_body() { @@ -88,6 +87,9 @@ small_hash_head() "Checks hash database using small keys and small data" \ "pairs: takes the first hundred entries in the dictionary," \ "and makes them be key/data pairs." + # Begin FreeBSD + atf_set "require.files" /usr/share/dict/words + # End FreeBSD } small_hash_body() { @@ -114,6 +116,9 @@ small_recno_head() "Checks recno database using small keys and small data" \ "pairs: takes the first hundred entries in the dictionary," \ "and makes them be key/data pairs." + # Begin FreeBSD + atf_set "require.files" /usr/share/dict/words + # End FreeBSD } small_recno_body() { @@ -138,6 +143,9 @@ medium_btree_head() "Checks btree database using small keys and medium" \ "data pairs: takes the first 200 entries in the" \ "dictionary, and gives them each a medium size data entry." + # Begin FreeBSD + atf_set "require.files" /usr/share/dict/words + # End FreeBSD } medium_btree_body() { @@ -166,6 +174,9 @@ medium_hash_head() "Checks hash database using small keys and medium" \ "data pairs: takes the first 200 entries in the" \ "dictionary, and gives them each a medium size data entry." + # Begin FreeBSD + atf_set "require.files" /usr/share/dict/words + # End FreeBSD } medium_hash_body() { @@ -731,6 +742,9 @@ small_page_btree_head() "reverses them, and gives them each a small size data" \ "entry. Uses a small page size to make sure the btree" \ "split code gets hammered." + # Begin FreeBSD + atf_set "require.files" /usr/share/dict/words + # End FreeBSD } small_page_btree_body() { @@ -784,6 +798,9 @@ atf_test_case byte_orders_btree byte_orders_btree_head() { atf_set "descr" "Checks btree database using differing byte orders" + # Begin FreeBSD + atf_set "require.files" /usr/share/dict/words + # End FreeBSD } byte_orders_btree_body() { @@ -816,6 +833,9 @@ bsize_ffactor_head() atf_set "timeout" "480" atf_set "descr" "Checks hash database with various" \ "bucketsizes and fill factors" + # Begin FreeBSD + atf_set "require.files" /usr/share/dict/words + # End FreeBSD } bsize_ffactor_body() { Modified: projects/stable-10-backport-test-changes/contrib/netbsd-tests/lib/libc/gen/t_basedirname.c ============================================================================== --- projects/stable-10-backport-test-changes/contrib/netbsd-tests/lib/libc/gen/t_basedirname.c Thu Feb 9 08:41:04 2017 (r313470) +++ projects/stable-10-backport-test-changes/contrib/netbsd-tests/lib/libc/gen/t_basedirname.c Thu Feb 9 09:02:45 2017 (r313471) @@ -111,6 +111,7 @@ ATF_TC_BODY(basename_posix, tc) } else base = basename(NULL); +#ifdef __NetBSD__ /* * basename(3) is allowed to modify the input buffer. * However, that is considered hostile by some programs, @@ -127,6 +128,7 @@ ATF_TC_BODY(basename_posix, tc) test_basename_table[i].input); atf_tc_fail("Input buffer was modified."); } +#endif /* Make sure the result is correct. */ if (strcmp(test_basename_table[i].output, base) != 0) { @@ -162,6 +164,7 @@ ATF_TC_BODY(dirname_posix, tc) } else base = dirname(NULL); +#ifdef __NetBSD__ /* * dirname(3) is allowed to modify the input buffer. * However, that is considered hostile by some programs, @@ -178,6 +181,7 @@ ATF_TC_BODY(dirname_posix, tc) test_dirname_table[i].input); atf_tc_fail("Input buffer was modified."); } +#endif /* Make sure the result is correct. */ if (strcmp(test_dirname_table[i].output, base) != 0) { Modified: projects/stable-10-backport-test-changes/contrib/netbsd-tests/lib/libc/setjmp/t_setjmp.c ============================================================================== --- projects/stable-10-backport-test-changes/contrib/netbsd-tests/lib/libc/setjmp/t_setjmp.c Thu Feb 9 08:41:04 2017 (r313470) +++ projects/stable-10-backport-test-changes/contrib/netbsd-tests/lib/libc/setjmp/t_setjmp.c Thu Feb 9 09:02:45 2017 (r313471) @@ -87,7 +87,7 @@ __RCSID("$NetBSD: t_setjmp.c,v 1.1 2010/ static int expectsignal; static void -aborthandler(int signo) +aborthandler(int signo __unused) { ATF_REQUIRE_MSG(expectsignal, "kill(SIGABRT) succeeded"); atf_tc_pass(); Modified: projects/stable-10-backport-test-changes/contrib/netbsd-tests/lib/libc/setjmp/t_threadjmp.c ============================================================================== --- projects/stable-10-backport-test-changes/contrib/netbsd-tests/lib/libc/setjmp/t_threadjmp.c Thu Feb 9 08:41:04 2017 (r313470) +++ projects/stable-10-backport-test-changes/contrib/netbsd-tests/lib/libc/setjmp/t_threadjmp.c Thu Feb 9 09:02:45 2017 (r313471) @@ -91,7 +91,7 @@ static pthread_t myself = NULL; static int expectsignal; static void -aborthandler(int signo) +aborthandler(int signo __unused) { ATF_REQUIRE(myself == pthread_self()); ATF_REQUIRE_MSG(expectsignal, "kill(SIGABRT) succeeded"); Modified: projects/stable-10-backport-test-changes/contrib/netbsd-tests/lib/libc/sys/t_getcontext.c ============================================================================== --- projects/stable-10-backport-test-changes/contrib/netbsd-tests/lib/libc/sys/t_getcontext.c Thu Feb 9 08:41:04 2017 (r313470) +++ projects/stable-10-backport-test-changes/contrib/netbsd-tests/lib/libc/sys/t_getcontext.c Thu Feb 9 09:02:45 2017 (r313471) @@ -53,6 +53,8 @@ run(int n, ...) va_start(va, n); #if defined(__FreeBSD__) && defined(__amd64__) for (i = 0; i < 5; i++) { +#elif defined(__FreeBSD__) && defined(__aarch64__) + for (i = 0; i < 7; i++) { #else for (i = 0; i < 9; i++) { #endif @@ -116,6 +118,10 @@ ATF_TC_BODY(setcontext_link, tc) /* FreeBSD/amd64 only permits up to 6 arguments. */ makecontext(&uc[i], (void *)run, 6, i, 0, 1, 2, 3, 4); +#elif defined(__FreeBSD__) && defined(__aarch64__) + /* FreeBSD/arm64 only permits up to 8 arguments. */ + makecontext(&uc[i], (void *)run, 8, i, + 0, 1, 2, 3, 4, 5, 6); #else makecontext(&uc[i], (void *)run, 10, i, 0, 1, 2, 3, 4, 5, 6, 7, 8); Modified: projects/stable-10-backport-test-changes/contrib/netbsd-tests/lib/libc/sys/t_timer_create.c ============================================================================== --- projects/stable-10-backport-test-changes/contrib/netbsd-tests/lib/libc/sys/t_timer_create.c Thu Feb 9 08:41:04 2017 (r313470) +++ projects/stable-10-backport-test-changes/contrib/netbsd-tests/lib/libc/sys/t_timer_create.c Thu Feb 9 09:02:45 2017 (r313471) @@ -116,6 +116,61 @@ timer_signal_create(clockid_t cid, bool ATF_REQUIRE(timer_delete(t) == 0); } +#ifdef __FreeBSD__ +static void +timer_callback(union sigval value) +{ + timer_t *tp; + + tp = value.sival_ptr; + + if (*tp == t) + fail = false; +} + +static void +timer_thread_create(clockid_t cid, bool expire) +{ + struct itimerspec tim; + struct sigevent evt; + + t = 0; + fail = true; + + (void)memset(&evt, 0, sizeof(struct sigevent)); + (void)memset(&tim, 0, sizeof(struct itimerspec)); + + /* + * Create the timer (SIGEV_THREAD). + */ + evt.sigev_notify_function = timer_callback; + evt.sigev_value.sival_ptr = &t; + evt.sigev_notify = SIGEV_THREAD; + + ATF_REQUIRE(timer_create(cid, &evt, &t) == 0); + + /* + * Start the timer. + */ + tim.it_value.tv_sec = expire ? 5 : 1; + tim.it_value.tv_nsec = 0; + + ATF_REQUIRE(timer_settime(t, 0, &tim, NULL) == 0); + + (void)sleep(2); + + if (expire) { + if (!fail) + atf_tc_fail("timer fired too soon"); + } else { + if (fail) + atf_tc_fail("timer failed to fire"); + } + + ATF_REQUIRE(timer_delete(t) == 0); +} +#endif + ATF_TC(timer_create_err); ATF_TC_HEAD(timer_create_err, tc) { @@ -198,6 +253,64 @@ ATF_TC_BODY(timer_create_mono_expire, tc timer_signal_create(CLOCK_MONOTONIC, true); } +ATF_TC(timer_thread_create_real); +ATF_TC_HEAD(timer_thread_create_real, tc) +{ + + atf_tc_set_md_var(tc, "descr", + "Checks timer_create(2) with CLOCK_REALTIME and sigevent(3), " + "SIGEV_THREAD"); +} + +#ifdef __FreeBSD__ +ATF_TC_BODY(timer_thread_create_real, tc) +{ + timer_thread_create(CLOCK_REALTIME, false); +} + +ATF_TC(timer_thread_create_mono); +ATF_TC_HEAD(timer_thread_create_mono, tc) +{ + + atf_tc_set_md_var(tc, "descr", + "Checks timer_create(2) with CLOCK_MONOTONIC and sigevent(3), " + "SIGEV_THREAD"); +} + +ATF_TC_BODY(timer_thread_create_mono, tc) +{ + timer_thread_create(CLOCK_MONOTONIC, false); +} + +ATF_TC(timer_thread_create_real_expire); +ATF_TC_HEAD(timer_thread_create_real_expire, tc) +{ + + atf_tc_set_md_var(tc, "descr", + "Checks timer_create(2) with CLOCK_REALTIME and sigevent(3), " + "SIGEV_THREAD, with expiration"); +} + +ATF_TC_BODY(timer_thread_create_real_expire, tc) +{ + timer_thread_create(CLOCK_REALTIME, true); +} + +ATF_TC(timer_thread_create_mono_expire); +ATF_TC_HEAD(timer_thread_create_mono_expire, tc) +{ + + atf_tc_set_md_var(tc, "descr", + "Checks timer_create(2) with CLOCK_MONOTONIC and sigevent(3), " + "SIGEV_THREAD, with expiration"); +} + +ATF_TC_BODY(timer_thread_create_mono_expire, tc) +{ + timer_thread_create(CLOCK_MONOTONIC, true); +} +#endif + ATF_TP_ADD_TCS(tp) { @@ -206,6 +319,12 @@ ATF_TP_ADD_TCS(tp) ATF_TP_ADD_TC(tp, timer_create_mono); ATF_TP_ADD_TC(tp, timer_create_real_expire); ATF_TP_ADD_TC(tp, timer_create_mono_expire); +#ifdef __FreeBSD__ + ATF_TP_ADD_TC(tp, timer_thread_create_real); + ATF_TP_ADD_TC(tp, timer_thread_create_mono); + ATF_TP_ADD_TC(tp, timer_thread_create_real_expire); + ATF_TP_ADD_TC(tp, timer_thread_create_mono_expire); +#endif return atf_no_error(); } Modified: projects/stable-10-backport-test-changes/etc/mtree/BSD.tests.dist ============================================================================== --- projects/stable-10-backport-test-changes/etc/mtree/BSD.tests.dist Thu Feb 9 08:41:04 2017 (r313470) +++ projects/stable-10-backport-test-changes/etc/mtree/BSD.tests.dist Thu Feb 9 09:02:45 2017 (r313471) @@ -123,6 +123,8 @@ .. ssp .. + setjmp + .. stdio .. stdlib Modified: projects/stable-10-backport-test-changes/lib/libc/tests/Makefile ============================================================================== --- projects/stable-10-backport-test-changes/lib/libc/tests/Makefile Thu Feb 9 08:41:04 2017 (r313470) +++ projects/stable-10-backport-test-changes/lib/libc/tests/Makefile Thu Feb 9 09:02:45 2017 (r313471) @@ -17,6 +17,7 @@ TESTS_SUBDIRS+= nss TESTS_SUBDIRS+= regex TESTS_SUBDIRS+= resolv TESTS_SUBDIRS+= rpc +TESTS_SUBDIRS+= setjmp TESTS_SUBDIRS+= stdio TESTS_SUBDIRS+= stdlib TESTS_SUBDIRS+= string From owner-svn-src-projects@freebsd.org Thu Feb 9 14:47:35 2017 Return-Path: Delivered-To: svn-src-projects@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 95216CD651C for ; Thu, 9 Feb 2017 14:47:35 +0000 (UTC) (envelope-from emaste@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 623F0A43; Thu, 9 Feb 2017 14:47:35 +0000 (UTC) (envelope-from emaste@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v19ElY5Q004410; Thu, 9 Feb 2017 14:47:34 GMT (envelope-from emaste@FreeBSD.org) Received: (from emaste@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v19ElYID004409; Thu, 9 Feb 2017 14:47:34 GMT (envelope-from emaste@FreeBSD.org) Message-Id: <201702091447.v19ElYID004409@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: emaste set sender to emaste@FreeBSD.org using -f From: Ed Maste Date: Thu, 9 Feb 2017 14:47:34 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r313473 - projects/clang400-import/share/mk X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 09 Feb 2017 14:47:35 -0000 Author: emaste Date: Thu Feb 9 14:47:34 2017 New Revision: 313473 URL: https://svnweb.freebsd.org/changeset/base/313473 Log: Disable LLD_IS_LD option combinations that fail If WITH_LLD is disabled LLD is not built and cannot be installed as /usr/bin/ld, so disable WITH_LLD_IS_LD. Currently we do not compare the LLD host/in-tree version and LLD requires the LLVM libraries to be built, so force WITH_SYSTEM_COMPILER off when WITH_LLD_IS_LD is set. The logic for bootstrapping LLD requires some tidying later. We should be able to detect that the host linker is the same version and avoid building LLD in the same way that WITH_SYSTEM_COMPILER handles Clang. We also may be able to extend libllvmminimal to meet LLD's needs. For now this change unbreaks buildworld with default settings except for WITH_LLD_IS_LD. Reported by: Shawn Webb Reviewed by: bdrewery Tested by: Shawn Webb Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D9487 Modified: projects/clang400-import/share/mk/src.opts.mk Modified: projects/clang400-import/share/mk/src.opts.mk ============================================================================== --- projects/clang400-import/share/mk/src.opts.mk Thu Feb 9 13:32:19 2017 (r313472) +++ projects/clang400-import/share/mk/src.opts.mk Thu Feb 9 14:47:34 2017 (r313473) @@ -325,6 +325,16 @@ MK_LDNS_UTILS:= no MK_UNBOUND:= no .endif +.if ${MK_LLD} == "no" +MK_LLD_IS_LD:= no +.endif + +# LLD requires LLVM libraries, and we do not yet compare in-tree and host LLD +# versions to avoid building it if they are identical. +.if ${MK_LLD_IS_LD} != "no" +MK_SYSTEM_COMPILER:= no +.endif + .if ${MK_SOURCELESS} == "no" MK_SOURCELESS_HOST:= no MK_SOURCELESS_UCODE:= no From owner-svn-src-projects@freebsd.org Fri Feb 10 01:44:25 2017 Return-Path: Delivered-To: svn-src-projects@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id A762FCD8217 for ; Fri, 10 Feb 2017 01:44:25 +0000 (UTC) (envelope-from ngie@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 007C11EA5; Fri, 10 Feb 2017 01:44:24 +0000 (UTC) (envelope-from ngie@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v1A1iOAv079897; Fri, 10 Feb 2017 01:44:24 GMT (envelope-from ngie@FreeBSD.org) Received: (from ngie@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v1A1iJN5079846; Fri, 10 Feb 2017 01:44:19 GMT (envelope-from ngie@FreeBSD.org) Message-Id: <201702100144.v1A1iJN5079846@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: ngie set sender to ngie@FreeBSD.org using -f From: Ngie Cooper Date: Fri, 10 Feb 2017 01:44:19 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r313501 - in projects/stable-10-backport-test-changes: bin/cat/tests bin/date/tests bin/expr/tests bin/ls/tests bin/mv/tests bin/pax/tests bin/pkill/tests bin/sh/tests bin/sleep/tests b... X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 10 Feb 2017 01:44:25 -0000 Author: ngie Date: Fri Feb 10 01:44:18 2017 New Revision: 313501 URL: https://svnweb.freebsd.org/changeset/base/313501 Log: MFstable/10@313500 Added: projects/stable-10-backport-test-changes/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/privs/tst.kpriv.ksh - copied unchanged from r313500, stable/10/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/privs/tst.kpriv.ksh projects/stable-10-backport-test-changes/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/scalars/err.bigglobal.d - copied unchanged from r313500, stable/10/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/scalars/err.bigglobal.d projects/stable-10-backport-test-changes/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/scalars/err.biglocal.d - copied unchanged from r313500, stable/10/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/scalars/err.biglocal.d projects/stable-10-backport-test-changes/cddl/usr.sbin/dtrace/tests/ - copied from r313500, stable/10/cddl/usr.sbin/dtrace/tests/ projects/stable-10-backport-test-changes/contrib/netbsd-tests/bin/cat/d_se_output.in - copied unchanged from r313500, stable/10/contrib/netbsd-tests/bin/cat/d_se_output.in projects/stable-10-backport-test-changes/contrib/netbsd-tests/bin/cat/d_se_output.out - copied unchanged from r313500, stable/10/contrib/netbsd-tests/bin/cat/d_se_output.out projects/stable-10-backport-test-changes/contrib/netbsd-tests/bin/sh/t_arith.sh - copied unchanged from r313500, stable/10/contrib/netbsd-tests/bin/sh/t_arith.sh projects/stable-10-backport-test-changes/contrib/netbsd-tests/bin/sh/t_cmdsub.sh - copied unchanged from r313500, stable/10/contrib/netbsd-tests/bin/sh/t_cmdsub.sh projects/stable-10-backport-test-changes/contrib/netbsd-tests/bin/sh/t_option.sh - copied unchanged from r313500, stable/10/contrib/netbsd-tests/bin/sh/t_option.sh projects/stable-10-backport-test-changes/contrib/netbsd-tests/bin/sh/t_redir.sh - copied unchanged from r313500, stable/10/contrib/netbsd-tests/bin/sh/t_redir.sh projects/stable-10-backport-test-changes/contrib/netbsd-tests/bin/sh/t_redircloexec.sh - copied unchanged from r313500, stable/10/contrib/netbsd-tests/bin/sh/t_redircloexec.sh projects/stable-10-backport-test-changes/contrib/netbsd-tests/bin/sh/t_shift.sh - copied unchanged from r313500, stable/10/contrib/netbsd-tests/bin/sh/t_shift.sh projects/stable-10-backport-test-changes/contrib/netbsd-tests/bin/sh/t_varval.sh - copied unchanged from r313500, stable/10/contrib/netbsd-tests/bin/sh/t_varval.sh projects/stable-10-backport-test-changes/contrib/netbsd-tests/dev/fss/ - copied from r313500, stable/10/contrib/netbsd-tests/dev/fss/ projects/stable-10-backport-test-changes/contrib/netbsd-tests/dev/usb/ - copied from r313500, stable/10/contrib/netbsd-tests/dev/usb/ projects/stable-10-backport-test-changes/contrib/netbsd-tests/include/sys/t_pslist.c - copied unchanged from r313500, stable/10/contrib/netbsd-tests/include/sys/t_pslist.c projects/stable-10-backport-test-changes/contrib/netbsd-tests/kernel/kqueue/t_vnode.c - copied unchanged from r313500, stable/10/contrib/netbsd-tests/kernel/kqueue/t_vnode.c projects/stable-10-backport-test-changes/contrib/netbsd-tests/lib/libc/db/h_lfsr.c - copied unchanged from r313500, stable/10/contrib/netbsd-tests/lib/libc/db/h_lfsr.c projects/stable-10-backport-test-changes/contrib/netbsd-tests/lib/libc/db/t_db_hash_seq.c - copied unchanged from r313500, stable/10/contrib/netbsd-tests/lib/libc/db/t_db_hash_seq.c projects/stable-10-backport-test-changes/contrib/netbsd-tests/lib/libc/inet/t_inet_addr.c - copied unchanged from r313500, stable/10/contrib/netbsd-tests/lib/libc/inet/t_inet_addr.c projects/stable-10-backport-test-changes/contrib/netbsd-tests/lib/libc/stdio/t_open_memstream.c - copied unchanged from r313500, stable/10/contrib/netbsd-tests/lib/libc/stdio/t_open_memstream.c projects/stable-10-backport-test-changes/contrib/netbsd-tests/lib/libc/stdlib/t_strtoi.c - copied unchanged from r313500, stable/10/contrib/netbsd-tests/lib/libc/stdlib/t_strtoi.c projects/stable-10-backport-test-changes/contrib/netbsd-tests/lib/libc/sync/cpp_atomic_ops_linkable.cc - copied unchanged from r313500, stable/10/contrib/netbsd-tests/lib/libc/sync/cpp_atomic_ops_linkable.cc projects/stable-10-backport-test-changes/contrib/netbsd-tests/lib/libc/sys/t_bind.c - copied unchanged from r313500, stable/10/contrib/netbsd-tests/lib/libc/sys/t_bind.c projects/stable-10-backport-test-changes/contrib/netbsd-tests/lib/libc/sys/t_getsockname.c - copied unchanged from r313500, stable/10/contrib/netbsd-tests/lib/libc/sys/t_getsockname.c projects/stable-10-backport-test-changes/contrib/netbsd-tests/lib/libc/sys/t_posix_fallocate.c - copied unchanged from r313500, stable/10/contrib/netbsd-tests/lib/libc/sys/t_posix_fallocate.c projects/stable-10-backport-test-changes/contrib/netbsd-tests/lib/libc/sys/t_wait.c - copied unchanged from r313500, stable/10/contrib/netbsd-tests/lib/libc/sys/t_wait.c projects/stable-10-backport-test-changes/contrib/netbsd-tests/lib/libm/t_fenv.c - copied unchanged from r313500, stable/10/contrib/netbsd-tests/lib/libm/t_fenv.c projects/stable-10-backport-test-changes/contrib/netbsd-tests/lib/libm/t_hypot.c - copied unchanged from r313500, stable/10/contrib/netbsd-tests/lib/libm/t_hypot.c projects/stable-10-backport-test-changes/contrib/netbsd-tests/lib/libusbhid/ - copied from r313500, stable/10/contrib/netbsd-tests/lib/libusbhid/ projects/stable-10-backport-test-changes/contrib/netbsd-tests/net/arp/ - copied from r313500, stable/10/contrib/netbsd-tests/net/arp/ projects/stable-10-backport-test-changes/contrib/netbsd-tests/net/icmp/t_icmp6_redirect.sh - copied unchanged from r313500, stable/10/contrib/netbsd-tests/net/icmp/t_icmp6_redirect.sh projects/stable-10-backport-test-changes/contrib/netbsd-tests/net/icmp/t_icmp_redirect.sh - copied unchanged from r313500, stable/10/contrib/netbsd-tests/net/icmp/t_icmp_redirect.sh projects/stable-10-backport-test-changes/contrib/netbsd-tests/net/if/ifconf.c - copied unchanged from r313500, stable/10/contrib/netbsd-tests/net/if/ifconf.c projects/stable-10-backport-test-changes/contrib/netbsd-tests/net/if/t_ifconf.sh - copied unchanged from r313500, stable/10/contrib/netbsd-tests/net/if/t_ifconf.sh projects/stable-10-backport-test-changes/contrib/netbsd-tests/net/if/t_ifconfig.sh - copied unchanged from r313500, stable/10/contrib/netbsd-tests/net/if/t_ifconfig.sh projects/stable-10-backport-test-changes/contrib/netbsd-tests/net/if_gif/ - copied from r313500, stable/10/contrib/netbsd-tests/net/if_gif/ projects/stable-10-backport-test-changes/contrib/netbsd-tests/net/if_pppoe/ - copied from r313500, stable/10/contrib/netbsd-tests/net/if_pppoe/ projects/stable-10-backport-test-changes/contrib/netbsd-tests/net/if_tap/ - copied from r313500, stable/10/contrib/netbsd-tests/net/if_tap/ projects/stable-10-backport-test-changes/contrib/netbsd-tests/net/in_cksum/ - copied from r313500, stable/10/contrib/netbsd-tests/net/in_cksum/ projects/stable-10-backport-test-changes/contrib/netbsd-tests/net/mcast/ - copied from r313500, stable/10/contrib/netbsd-tests/net/mcast/ projects/stable-10-backport-test-changes/contrib/netbsd-tests/net/mpls/t_mpls_fw6.sh - copied unchanged from r313500, stable/10/contrib/netbsd-tests/net/mpls/t_mpls_fw6.sh projects/stable-10-backport-test-changes/contrib/netbsd-tests/net/mpls/t_mpls_fw64.sh - copied unchanged from r313500, stable/10/contrib/netbsd-tests/net/mpls/t_mpls_fw64.sh projects/stable-10-backport-test-changes/contrib/netbsd-tests/net/ndp/ - copied from r313500, stable/10/contrib/netbsd-tests/net/ndp/ projects/stable-10-backport-test-changes/contrib/netbsd-tests/net/net/t_forwarding.sh - copied unchanged from r313500, stable/10/contrib/netbsd-tests/net/net/t_forwarding.sh projects/stable-10-backport-test-changes/contrib/netbsd-tests/net/net/t_ipaddress.sh - copied unchanged from r313500, stable/10/contrib/netbsd-tests/net/net/t_ipaddress.sh projects/stable-10-backport-test-changes/contrib/netbsd-tests/net/net/t_ipv6_lifetime.sh - copied unchanged from r313500, stable/10/contrib/netbsd-tests/net/net/t_ipv6_lifetime.sh projects/stable-10-backport-test-changes/contrib/netbsd-tests/net/net/t_ipv6address.sh - copied unchanged from r313500, stable/10/contrib/netbsd-tests/net/net/t_ipv6address.sh projects/stable-10-backport-test-changes/contrib/netbsd-tests/net/route/t_flags.sh - copied unchanged from r313500, stable/10/contrib/netbsd-tests/net/route/t_flags.sh projects/stable-10-backport-test-changes/contrib/netbsd-tests/net/route/t_flags6.sh - copied unchanged from r313500, stable/10/contrib/netbsd-tests/net/route/t_flags6.sh projects/stable-10-backport-test-changes/contrib/netbsd-tests/net/route/t_route.sh - copied unchanged from r313500, stable/10/contrib/netbsd-tests/net/route/t_route.sh projects/stable-10-backport-test-changes/contrib/netbsd-tests/sbin/gpt/ - copied from r313500, stable/10/contrib/netbsd-tests/sbin/gpt/ projects/stable-10-backport-test-changes/contrib/netbsd-tests/sbin/resize_ffs/t_check.sh - copied unchanged from r313500, stable/10/contrib/netbsd-tests/sbin/resize_ffs/t_check.sh projects/stable-10-backport-test-changes/contrib/netbsd-tests/sys/net/ - copied from r313500, stable/10/contrib/netbsd-tests/sys/net/ projects/stable-10-backport-test-changes/contrib/netbsd-tests/sys/netatalk/ - copied from r313500, stable/10/contrib/netbsd-tests/sys/netatalk/ projects/stable-10-backport-test-changes/contrib/netbsd-tests/sys/netinet/ - copied from r313500, stable/10/contrib/netbsd-tests/sys/netinet/ projects/stable-10-backport-test-changes/contrib/netbsd-tests/sys/netinet6/ - copied from r313500, stable/10/contrib/netbsd-tests/sys/netinet6/ projects/stable-10-backport-test-changes/contrib/netbsd-tests/usr.bin/config/d_min - copied unchanged from r313500, stable/10/contrib/netbsd-tests/usr.bin/config/d_min projects/stable-10-backport-test-changes/contrib/netbsd-tests/usr.bin/gdb/ - copied from r313500, stable/10/contrib/netbsd-tests/usr.bin/gdb/ projects/stable-10-backport-test-changes/contrib/netbsd-tests/usr.bin/ld/ - copied from r313500, stable/10/contrib/netbsd-tests/usr.bin/ld/ projects/stable-10-backport-test-changes/contrib/netbsd-tests/usr.bin/netpgpverify/Testspec - copied unchanged from r313500, stable/10/contrib/netbsd-tests/usr.bin/netpgpverify/Testspec projects/stable-10-backport-test-changes/contrib/netbsd-tests/usr.bin/xlint/lint1/d_c99_anon_struct.c - copied unchanged from r313500, stable/10/contrib/netbsd-tests/usr.bin/xlint/lint1/d_c99_anon_struct.c projects/stable-10-backport-test-changes/contrib/netbsd-tests/usr.bin/xlint/lint1/d_c99_compound_literal_comma.c - copied unchanged from r313500, stable/10/contrib/netbsd-tests/usr.bin/xlint/lint1/d_c99_compound_literal_comma.c projects/stable-10-backport-test-changes/contrib/netbsd-tests/usr.bin/xlint/lint1/d_c99_flex_array_packed.c - copied unchanged from r313500, stable/10/contrib/netbsd-tests/usr.bin/xlint/lint1/d_c99_flex_array_packed.c projects/stable-10-backport-test-changes/contrib/netbsd-tests/usr.bin/xlint/lint1/d_c99_nested_struct.c - copied unchanged from r313500, stable/10/contrib/netbsd-tests/usr.bin/xlint/lint1/d_c99_nested_struct.c projects/stable-10-backport-test-changes/contrib/netbsd-tests/usr.bin/xlint/lint1/d_c99_union_init4.c - copied unchanged from r313500, stable/10/contrib/netbsd-tests/usr.bin/xlint/lint1/d_c99_union_init4.c projects/stable-10-backport-test-changes/contrib/netbsd-tests/usr.bin/xlint/lint1/d_cast_fun_array_param.c - copied unchanged from r313500, stable/10/contrib/netbsd-tests/usr.bin/xlint/lint1/d_cast_fun_array_param.c projects/stable-10-backport-test-changes/contrib/netbsd-tests/usr.bin/xlint/lint1/d_type_question_colon.c - copied unchanged from r313500, stable/10/contrib/netbsd-tests/usr.bin/xlint/lint1/d_type_question_colon.c projects/stable-10-backport-test-changes/contrib/netbsd-tests/usr.bin/xlint/lint1/d_typefun.c - copied unchanged from r313500, stable/10/contrib/netbsd-tests/usr.bin/xlint/lint1/d_typefun.c projects/stable-10-backport-test-changes/lib/libc/tests/stdio/open_memstream2_test.c - copied unchanged from r313500, stable/10/lib/libc/tests/stdio/open_memstream2_test.c projects/stable-10-backport-test-changes/lib/libpam/libpam/tests/ - copied from r313500, stable/10/lib/libpam/libpam/tests/ Deleted: projects/stable-10-backport-test-changes/contrib/netbsd-tests/bin/sh/t_compexit.sh projects/stable-10-backport-test-changes/contrib/netbsd-tests/fs/nfs/nfsservice/mountd.c projects/stable-10-backport-test-changes/contrib/netbsd-tests/fs/nfs/nfsservice/nfsd.c projects/stable-10-backport-test-changes/lib/libc/tests/stdio/open_memstream_test.c Modified: projects/stable-10-backport-test-changes/bin/cat/tests/Makefile projects/stable-10-backport-test-changes/bin/date/tests/Makefile projects/stable-10-backport-test-changes/bin/expr/tests/Makefile projects/stable-10-backport-test-changes/bin/ls/tests/Makefile projects/stable-10-backport-test-changes/bin/mv/tests/Makefile projects/stable-10-backport-test-changes/bin/pax/tests/Makefile projects/stable-10-backport-test-changes/bin/pkill/tests/Makefile projects/stable-10-backport-test-changes/bin/sh/tests/Makefile projects/stable-10-backport-test-changes/bin/sleep/tests/Makefile projects/stable-10-backport-test-changes/bin/test/tests/Makefile projects/stable-10-backport-test-changes/bin/tests/Makefile projects/stable-10-backport-test-changes/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/io/tst.fds.c projects/stable-10-backport-test-changes/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/io/tst.fds.d projects/stable-10-backport-test-changes/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/json/tst.usdt.c projects/stable-10-backport-test-changes/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/nfs/tst.call3.c projects/stable-10-backport-test-changes/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/pid/tst.args1.c projects/stable-10-backport-test-changes/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/pid/tst.gcc.c projects/stable-10-backport-test-changes/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/pid/tst.ret1.c projects/stable-10-backport-test-changes/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/pid/tst.ret2.c projects/stable-10-backport-test-changes/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/pid/tst.weak1.c projects/stable-10-backport-test-changes/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/pid/tst.weak2.c projects/stable-10-backport-test-changes/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/printf/tst.basics.d projects/stable-10-backport-test-changes/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/printf/tst.basics.d.out projects/stable-10-backport-test-changes/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/printf/tst.str.d projects/stable-10-backport-test-changes/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/printf/tst.str.d.out projects/stable-10-backport-test-changes/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/printf/tst.sym.d projects/stable-10-backport-test-changes/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/printf/tst.sym.d.out projects/stable-10-backport-test-changes/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/profile-n/tst.ufunc.ksh projects/stable-10-backport-test-changes/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/profile-n/tst.umod.ksh projects/stable-10-backport-test-changes/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/profile-n/tst.usym.ksh projects/stable-10-backport-test-changes/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/syscall/tst.args.c projects/stable-10-backport-test-changes/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/usdt/tst.forker.c projects/stable-10-backport-test-changes/cddl/lib/tests/Makefile projects/stable-10-backport-test-changes/cddl/sbin/tests/Makefile projects/stable-10-backport-test-changes/cddl/tests/Makefile projects/stable-10-backport-test-changes/cddl/usr.bin/tests/Makefile projects/stable-10-backport-test-changes/cddl/usr.sbin/tests/Makefile projects/stable-10-backport-test-changes/contrib/netbsd-tests/bin/cat/d_align.in projects/stable-10-backport-test-changes/contrib/netbsd-tests/bin/cat/d_align.out projects/stable-10-backport-test-changes/contrib/netbsd-tests/bin/cat/t_cat.sh projects/stable-10-backport-test-changes/contrib/netbsd-tests/bin/sh/dotcmd/scoped_command projects/stable-10-backport-test-changes/contrib/netbsd-tests/bin/sh/dotcmd/t_dotcmd.sh projects/stable-10-backport-test-changes/contrib/netbsd-tests/bin/sh/t_evaltested.sh projects/stable-10-backport-test-changes/contrib/netbsd-tests/bin/sh/t_exit.sh projects/stable-10-backport-test-changes/contrib/netbsd-tests/bin/sh/t_expand.sh projects/stable-10-backport-test-changes/contrib/netbsd-tests/bin/sh/t_fsplit.sh projects/stable-10-backport-test-changes/contrib/netbsd-tests/bin/sh/t_here.sh projects/stable-10-backport-test-changes/contrib/netbsd-tests/bin/sh/t_set_e.sh projects/stable-10-backport-test-changes/contrib/netbsd-tests/bin/sh/t_ulimit.sh projects/stable-10-backport-test-changes/contrib/netbsd-tests/bin/sh/t_varquote.sh projects/stable-10-backport-test-changes/contrib/netbsd-tests/bin/sh/t_wait.sh projects/stable-10-backport-test-changes/contrib/netbsd-tests/crypto/opencrypto/t_opencrypto.sh projects/stable-10-backport-test-changes/contrib/netbsd-tests/dev/audio/t_pad_output.bz2.uue projects/stable-10-backport-test-changes/contrib/netbsd-tests/dev/dm/h_dm.c projects/stable-10-backport-test-changes/contrib/netbsd-tests/dev/sysmon/t_swsensor.sh projects/stable-10-backport-test-changes/contrib/netbsd-tests/dev/sysmon/t_swwdog.c projects/stable-10-backport-test-changes/contrib/netbsd-tests/fs/common/fstest_lfs.c projects/stable-10-backport-test-changes/contrib/netbsd-tests/fs/common/h_fsmacros.h projects/stable-10-backport-test-changes/contrib/netbsd-tests/fs/h_funcs.subr projects/stable-10-backport-test-changes/contrib/netbsd-tests/fs/nfs/nfsservice/rumpnfsd.c projects/stable-10-backport-test-changes/contrib/netbsd-tests/fs/nfs/t_rquotad.sh projects/stable-10-backport-test-changes/contrib/netbsd-tests/fs/tmpfs/t_mknod.sh projects/stable-10-backport-test-changes/contrib/netbsd-tests/fs/tmpfs/t_readdir.sh projects/stable-10-backport-test-changes/contrib/netbsd-tests/fs/tmpfs/t_sizes.sh projects/stable-10-backport-test-changes/contrib/netbsd-tests/fs/tmpfs/t_statvfs.sh projects/stable-10-backport-test-changes/contrib/netbsd-tests/fs/tmpfs/t_vnd.sh projects/stable-10-backport-test-changes/contrib/netbsd-tests/fs/tmpfs/t_vnode_leak.sh projects/stable-10-backport-test-changes/contrib/netbsd-tests/fs/vfs/t_io.c projects/stable-10-backport-test-changes/contrib/netbsd-tests/fs/vfs/t_renamerace.c projects/stable-10-backport-test-changes/contrib/netbsd-tests/fs/vfs/t_unpriv.c projects/stable-10-backport-test-changes/contrib/netbsd-tests/fs/vfs/t_vnops.c projects/stable-10-backport-test-changes/contrib/netbsd-tests/games/t_factor.sh projects/stable-10-backport-test-changes/contrib/netbsd-tests/h_macros.h projects/stable-10-backport-test-changes/contrib/netbsd-tests/include/sys/t_bitops.c projects/stable-10-backport-test-changes/contrib/netbsd-tests/include/sys/t_cdefs.c projects/stable-10-backport-test-changes/contrib/netbsd-tests/include/sys/t_socket.c projects/stable-10-backport-test-changes/contrib/netbsd-tests/include/t_paths.c projects/stable-10-backport-test-changes/contrib/netbsd-tests/ipf/expected/n14 projects/stable-10-backport-test-changes/contrib/netbsd-tests/ipf/expected/n14_6 projects/stable-10-backport-test-changes/contrib/netbsd-tests/ipf/t_filter_parse.sh projects/stable-10-backport-test-changes/contrib/netbsd-tests/ipf/t_nat_exec.sh projects/stable-10-backport-test-changes/contrib/netbsd-tests/kernel/kqueue/read/t_fifo.c projects/stable-10-backport-test-changes/contrib/netbsd-tests/kernel/kqueue/read/t_file.c projects/stable-10-backport-test-changes/contrib/netbsd-tests/kernel/kqueue/read/t_pipe.c projects/stable-10-backport-test-changes/contrib/netbsd-tests/kernel/kqueue/read/t_ttypty.c projects/stable-10-backport-test-changes/contrib/netbsd-tests/kernel/kqueue/t_ioctl.c projects/stable-10-backport-test-changes/contrib/netbsd-tests/kernel/kqueue/t_proc1.c projects/stable-10-backport-test-changes/contrib/netbsd-tests/kernel/kqueue/t_proc2.c projects/stable-10-backport-test-changes/contrib/netbsd-tests/kernel/kqueue/t_proc3.c projects/stable-10-backport-test-changes/contrib/netbsd-tests/kernel/kqueue/t_sig.c projects/stable-10-backport-test-changes/contrib/netbsd-tests/kernel/t_rnd.c projects/stable-10-backport-test-changes/contrib/netbsd-tests/lib/libbpfjit/t_bpfjit.c projects/stable-10-backport-test-changes/contrib/netbsd-tests/lib/libc/arch/ia64/return_one.S projects/stable-10-backport-test-changes/contrib/netbsd-tests/lib/libc/arch/powerpc/return_one.S projects/stable-10-backport-test-changes/contrib/netbsd-tests/lib/libc/arch/riscv/return_one.S projects/stable-10-backport-test-changes/contrib/netbsd-tests/lib/libc/db/t_db.sh projects/stable-10-backport-test-changes/contrib/netbsd-tests/lib/libc/gen/execve/t_execve.c projects/stable-10-backport-test-changes/contrib/netbsd-tests/lib/libc/gen/isqemu.h projects/stable-10-backport-test-changes/contrib/netbsd-tests/lib/libc/gen/posix_spawn/t_spawn.c projects/stable-10-backport-test-changes/contrib/netbsd-tests/lib/libc/gen/t_fnmatch.c projects/stable-10-backport-test-changes/contrib/netbsd-tests/lib/libc/gen/t_fpsetmask.c projects/stable-10-backport-test-changes/contrib/netbsd-tests/lib/libc/gen/t_nice.c projects/stable-10-backport-test-changes/contrib/netbsd-tests/lib/libc/gen/t_randomid.c projects/stable-10-backport-test-changes/contrib/netbsd-tests/lib/libc/gen/t_siginfo.c projects/stable-10-backport-test-changes/contrib/netbsd-tests/lib/libc/gen/t_sleep.c projects/stable-10-backport-test-changes/contrib/netbsd-tests/lib/libc/gen/t_time.c projects/stable-10-backport-test-changes/contrib/netbsd-tests/lib/libc/gen/t_vis.c projects/stable-10-backport-test-changes/contrib/netbsd-tests/lib/libc/inet/t_inet_network.c projects/stable-10-backport-test-changes/contrib/netbsd-tests/lib/libc/net/t_servent.sh projects/stable-10-backport-test-changes/contrib/netbsd-tests/lib/libc/rpc/t_rpc.c projects/stable-10-backport-test-changes/contrib/netbsd-tests/lib/libc/stdlib/t_getenv.c projects/stable-10-backport-test-changes/contrib/netbsd-tests/lib/libc/stdlib/t_posix_memalign.c projects/stable-10-backport-test-changes/contrib/netbsd-tests/lib/libc/stdlib/t_strtod.c projects/stable-10-backport-test-changes/contrib/netbsd-tests/lib/libc/stdlib/t_strtol.c projects/stable-10-backport-test-changes/contrib/netbsd-tests/lib/libc/string/t_memset.c projects/stable-10-backport-test-changes/contrib/netbsd-tests/lib/libc/sys/t_connect.c projects/stable-10-backport-test-changes/contrib/netbsd-tests/lib/libc/sys/t_getcontext.c projects/stable-10-backport-test-changes/contrib/netbsd-tests/lib/libc/sys/t_getrusage.c projects/stable-10-backport-test-changes/contrib/netbsd-tests/lib/libc/sys/t_kevent.c projects/stable-10-backport-test-changes/contrib/netbsd-tests/lib/libc/sys/t_mlock.c projects/stable-10-backport-test-changes/contrib/netbsd-tests/lib/libc/sys/t_mmap.c projects/stable-10-backport-test-changes/contrib/netbsd-tests/lib/libc/sys/t_mprotect.c projects/stable-10-backport-test-changes/contrib/netbsd-tests/lib/libc/sys/t_setrlimit.c projects/stable-10-backport-test-changes/contrib/netbsd-tests/lib/libc/sys/t_sigqueue.c projects/stable-10-backport-test-changes/contrib/netbsd-tests/lib/libc/time/t_strptime.c projects/stable-10-backport-test-changes/contrib/netbsd-tests/lib/libcurses/director/testlang_parse.y projects/stable-10-backport-test-changes/contrib/netbsd-tests/lib/libm/t_exp.c projects/stable-10-backport-test-changes/contrib/netbsd-tests/lib/libm/t_fmod.c projects/stable-10-backport-test-changes/contrib/netbsd-tests/lib/libm/t_log.c projects/stable-10-backport-test-changes/contrib/netbsd-tests/lib/libm/t_pow.c projects/stable-10-backport-test-changes/contrib/netbsd-tests/lib/libpthread/t_cond.c projects/stable-10-backport-test-changes/contrib/netbsd-tests/lib/libpthread/t_mutex.c projects/stable-10-backport-test-changes/contrib/netbsd-tests/lib/libpthread/t_rwlock.c projects/stable-10-backport-test-changes/contrib/netbsd-tests/lib/librumpclient/t_exec.sh projects/stable-10-backport-test-changes/contrib/netbsd-tests/lib/librumpclient/t_fd.c projects/stable-10-backport-test-changes/contrib/netbsd-tests/lib/librumphijack/t_tcpip.sh projects/stable-10-backport-test-changes/contrib/netbsd-tests/lib/libutil/t_parsedate.c projects/stable-10-backport-test-changes/contrib/netbsd-tests/net/bpfilter/t_bpfilter.c projects/stable-10-backport-test-changes/contrib/netbsd-tests/net/bpfjit/t_bpfjit.c projects/stable-10-backport-test-changes/contrib/netbsd-tests/net/icmp/t_forward.c projects/stable-10-backport-test-changes/contrib/netbsd-tests/net/icmp/t_ping.c projects/stable-10-backport-test-changes/contrib/netbsd-tests/net/icmp/t_ping2.sh projects/stable-10-backport-test-changes/contrib/netbsd-tests/net/if_bridge/t_bridge.sh projects/stable-10-backport-test-changes/contrib/netbsd-tests/net/mpls/t_ldp_regen.sh projects/stable-10-backport-test-changes/contrib/netbsd-tests/net/mpls/t_mpls_fw.sh projects/stable-10-backport-test-changes/contrib/netbsd-tests/net/mpls/t_rfc4182.sh projects/stable-10-backport-test-changes/contrib/netbsd-tests/net/net/t_tcp.c projects/stable-10-backport-test-changes/contrib/netbsd-tests/net/route/t_change.sh projects/stable-10-backport-test-changes/contrib/netbsd-tests/rump/modautoload/t_modautoload.c projects/stable-10-backport-test-changes/contrib/netbsd-tests/rump/rumpkern/h_server/h_simpleserver.c projects/stable-10-backport-test-changes/contrib/netbsd-tests/rump/rumpkern/t_lwproc.c projects/stable-10-backport-test-changes/contrib/netbsd-tests/rump/rumpkern/t_sp.sh projects/stable-10-backport-test-changes/contrib/netbsd-tests/rump/rumpnet/t_shmif.sh projects/stable-10-backport-test-changes/contrib/netbsd-tests/rump/rumpvfs/t_p2kifs.c projects/stable-10-backport-test-changes/contrib/netbsd-tests/sbin/resize_ffs/common.sh projects/stable-10-backport-test-changes/contrib/netbsd-tests/sbin/resize_ffs/t_grow.sh projects/stable-10-backport-test-changes/contrib/netbsd-tests/sbin/resize_ffs/t_grow_swapped.sh projects/stable-10-backport-test-changes/contrib/netbsd-tests/sbin/resize_ffs/t_shrink.sh projects/stable-10-backport-test-changes/contrib/netbsd-tests/sbin/resize_ffs/t_shrink_swapped.sh projects/stable-10-backport-test-changes/contrib/netbsd-tests/sbin/sysctl/t_perm.sh projects/stable-10-backport-test-changes/contrib/netbsd-tests/share/mk/t_lib.sh projects/stable-10-backport-test-changes/contrib/netbsd-tests/share/mk/t_prog.sh projects/stable-10-backport-test-changes/contrib/netbsd-tests/share/mk/t_test.sh projects/stable-10-backport-test-changes/contrib/netbsd-tests/usr.bin/cc/t_hello.sh projects/stable-10-backport-test-changes/contrib/netbsd-tests/usr.bin/config/support/conf/files projects/stable-10-backport-test-changes/contrib/netbsd-tests/usr.bin/config/t_config.sh projects/stable-10-backport-test-changes/contrib/netbsd-tests/usr.bin/make/t_make.sh projects/stable-10-backport-test-changes/contrib/netbsd-tests/usr.bin/netpgpverify/t_netpgpverify.sh projects/stable-10-backport-test-changes/contrib/netbsd-tests/usr.bin/sed/t_sed.sh projects/stable-10-backport-test-changes/contrib/netbsd-tests/usr.bin/sort/d_any_char_dflag_out.txt (contents, props changed) projects/stable-10-backport-test-changes/contrib/netbsd-tests/usr.bin/sort/d_any_char_fflag_out.txt (contents, props changed) projects/stable-10-backport-test-changes/contrib/netbsd-tests/usr.bin/sort/d_any_char_iflag_out.txt (contents, props changed) projects/stable-10-backport-test-changes/contrib/netbsd-tests/usr.sbin/traceroute/t_traceroute.sh projects/stable-10-backport-test-changes/etc/mtree/BSD.tests.dist projects/stable-10-backport-test-changes/gnu/lib/tests/Makefile projects/stable-10-backport-test-changes/gnu/tests/Makefile projects/stable-10-backport-test-changes/gnu/usr.bin/diff/tests/Makefile projects/stable-10-backport-test-changes/gnu/usr.bin/tests/Makefile projects/stable-10-backport-test-changes/lib/atf/libatf-c++/tests/Makefile projects/stable-10-backport-test-changes/lib/atf/libatf-c++/tests/detail/Makefile projects/stable-10-backport-test-changes/lib/atf/libatf-c/tests/Makefile projects/stable-10-backport-test-changes/lib/atf/libatf-c/tests/detail/Makefile projects/stable-10-backport-test-changes/lib/atf/tests/Makefile projects/stable-10-backport-test-changes/lib/atf/tests/test-programs/Makefile projects/stable-10-backport-test-changes/lib/libc/tests/Makefile projects/stable-10-backport-test-changes/lib/libc/tests/Makefile.netbsd-tests projects/stable-10-backport-test-changes/lib/libc/tests/c063/Makefile projects/stable-10-backport-test-changes/lib/libc/tests/db/Makefile projects/stable-10-backport-test-changes/lib/libc/tests/gen/Makefile projects/stable-10-backport-test-changes/lib/libc/tests/gen/execve/Makefile projects/stable-10-backport-test-changes/lib/libc/tests/gen/posix_spawn/Makefile projects/stable-10-backport-test-changes/lib/libc/tests/hash/Makefile projects/stable-10-backport-test-changes/lib/libc/tests/inet/Makefile projects/stable-10-backport-test-changes/lib/libc/tests/locale/Makefile projects/stable-10-backport-test-changes/lib/libc/tests/net/Makefile projects/stable-10-backport-test-changes/lib/libc/tests/net/getaddrinfo/Makefile projects/stable-10-backport-test-changes/lib/libc/tests/regex/Makefile projects/stable-10-backport-test-changes/lib/libc/tests/rpc/Makefile projects/stable-10-backport-test-changes/lib/libc/tests/setjmp/Makefile projects/stable-10-backport-test-changes/lib/libc/tests/ssp/Makefile projects/stable-10-backport-test-changes/lib/libc/tests/stdio/Makefile projects/stable-10-backport-test-changes/lib/libc/tests/stdlib/Makefile projects/stable-10-backport-test-changes/lib/libc/tests/string/Makefile projects/stable-10-backport-test-changes/lib/libc/tests/sys/Makefile projects/stable-10-backport-test-changes/lib/libc/tests/termios/Makefile projects/stable-10-backport-test-changes/lib/libc/tests/time/Makefile projects/stable-10-backport-test-changes/lib/libc/tests/tls/Makefile projects/stable-10-backport-test-changes/lib/libc/tests/tls/dso/Makefile projects/stable-10-backport-test-changes/lib/libc/tests/ttyio/Makefile projects/stable-10-backport-test-changes/lib/libcrypt/tests/Makefile projects/stable-10-backport-test-changes/lib/libmp/tests/Makefile projects/stable-10-backport-test-changes/lib/libnv/tests/Makefile projects/stable-10-backport-test-changes/lib/libpam/libpam/Makefile projects/stable-10-backport-test-changes/lib/librt/tests/Makefile projects/stable-10-backport-test-changes/lib/libthr/tests/Makefile projects/stable-10-backport-test-changes/lib/libthr/tests/dlopen/Makefile projects/stable-10-backport-test-changes/lib/libthr/tests/dlopen/dso/Makefile projects/stable-10-backport-test-changes/lib/libutil/tests/Makefile projects/stable-10-backport-test-changes/lib/msun/tests/Makefile projects/stable-10-backport-test-changes/lib/tests/Makefile projects/stable-10-backport-test-changes/libexec/atf/atf-check/tests/Makefile projects/stable-10-backport-test-changes/libexec/atf/atf-sh/tests/Makefile projects/stable-10-backport-test-changes/libexec/atf/tests/Makefile projects/stable-10-backport-test-changes/libexec/tests/Makefile projects/stable-10-backport-test-changes/sbin/devd/tests/Makefile projects/stable-10-backport-test-changes/sbin/dhclient/tests/Makefile projects/stable-10-backport-test-changes/sbin/growfs/tests/Makefile projects/stable-10-backport-test-changes/sbin/mdconfig/tests/Makefile projects/stable-10-backport-test-changes/sbin/tests/Makefile projects/stable-10-backport-test-changes/secure/lib/tests/Makefile projects/stable-10-backport-test-changes/secure/libexec/tests/Makefile projects/stable-10-backport-test-changes/secure/tests/Makefile projects/stable-10-backport-test-changes/secure/usr.bin/tests/Makefile projects/stable-10-backport-test-changes/secure/usr.sbin/tests/Makefile projects/stable-10-backport-test-changes/share/examples/tests/Makefile projects/stable-10-backport-test-changes/share/tests/Makefile projects/stable-10-backport-test-changes/sys/cddl/contrib/opensolaris/uts/common/dtrace/dtrace.c projects/stable-10-backport-test-changes/sys/cddl/contrib/opensolaris/uts/common/sys/dtrace_impl.h projects/stable-10-backport-test-changes/tests/etc/Makefile projects/stable-10-backport-test-changes/tests/sys/mqueue/Makefile projects/stable-10-backport-test-changes/tests/sys/pjdfstest/tests/Makefile projects/stable-10-backport-test-changes/tools/test/dtrace/Makefile projects/stable-10-backport-test-changes/usr.bin/apply/tests/Makefile projects/stable-10-backport-test-changes/usr.bin/basename/tests/Makefile projects/stable-10-backport-test-changes/usr.bin/calendar/tests/Makefile projects/stable-10-backport-test-changes/usr.bin/cmp/tests/Makefile projects/stable-10-backport-test-changes/usr.bin/col/tests/Makefile projects/stable-10-backport-test-changes/usr.bin/comm/tests/Makefile projects/stable-10-backport-test-changes/usr.bin/cut/tests/Makefile projects/stable-10-backport-test-changes/usr.bin/dirname/tests/Makefile projects/stable-10-backport-test-changes/usr.bin/file2c/tests/Makefile projects/stable-10-backport-test-changes/usr.bin/grep/tests/Makefile projects/stable-10-backport-test-changes/usr.bin/gzip/tests/Makefile projects/stable-10-backport-test-changes/usr.bin/join/tests/Makefile projects/stable-10-backport-test-changes/usr.bin/jot/tests/Makefile projects/stable-10-backport-test-changes/usr.bin/lastcomm/tests/Makefile projects/stable-10-backport-test-changes/usr.bin/m4/tests/Makefile projects/stable-10-backport-test-changes/usr.bin/ncal/tests/Makefile projects/stable-10-backport-test-changes/usr.bin/printf/tests/Makefile projects/stable-10-backport-test-changes/usr.bin/sed/tests/Makefile projects/stable-10-backport-test-changes/usr.bin/tests/Makefile projects/stable-10-backport-test-changes/usr.bin/truncate/tests/Makefile projects/stable-10-backport-test-changes/usr.bin/uudecode/tests/Makefile projects/stable-10-backport-test-changes/usr.bin/uuencode/tests/Makefile projects/stable-10-backport-test-changes/usr.bin/xargs/tests/Makefile projects/stable-10-backport-test-changes/usr.bin/yacc/tests/Makefile projects/stable-10-backport-test-changes/usr.sbin/etcupdate/tests/Makefile projects/stable-10-backport-test-changes/usr.sbin/fstyp/tests/Makefile projects/stable-10-backport-test-changes/usr.sbin/newsyslog/tests/Makefile projects/stable-10-backport-test-changes/usr.sbin/nmtree/tests/Makefile projects/stable-10-backport-test-changes/usr.sbin/pw/tests/Makefile projects/stable-10-backport-test-changes/usr.sbin/sa/tests/Makefile projects/stable-10-backport-test-changes/usr.sbin/tests/Makefile Directory Properties: projects/stable-10-backport-test-changes/ (props changed) Modified: projects/stable-10-backport-test-changes/bin/cat/tests/Makefile ============================================================================== --- projects/stable-10-backport-test-changes/bin/cat/tests/Makefile Fri Feb 10 01:26:49 2017 (r313500) +++ projects/stable-10-backport-test-changes/bin/cat/tests/Makefile Fri Feb 10 01:44:18 2017 (r313501) @@ -1,18 +1,20 @@ # $FreeBSD$ -OBJTOP= ${.OBJDIR}/../../.. -SRCTOP= ${.CURDIR}/../../.. -TESTSRC= ${SRCTOP}/contrib/netbsd-tests/bin/cat - -TESTSDIR= ${TESTSBASE}/bin/cat - NETBSD_ATF_TESTS_SH= cat_test FILESDIR= ${TESTSDIR} -FILES= d_align.in +FILES+= d_align.in FILES+= d_align.out +FILES+= d_se_output.in +FILES+= d_se_output.out .include +d_align.out: ${TESTSRC}/d_align.out + sed -E -e 's,^[[:space:]]{7}\$$$$,\$$,' < ${.ALLSRC} > ${.TARGET}.tmp + mv ${.TARGET}.tmp ${.TARGET} + +CLEANFILES+= d_align.out d_align.out.tmp + .include Modified: projects/stable-10-backport-test-changes/bin/date/tests/Makefile ============================================================================== --- projects/stable-10-backport-test-changes/bin/date/tests/Makefile Fri Feb 10 01:26:49 2017 (r313500) +++ projects/stable-10-backport-test-changes/bin/date/tests/Makefile Fri Feb 10 01:44:18 2017 (r313501) @@ -2,8 +2,6 @@ .include -TESTSDIR= ${TESTSBASE}/bin/date - ATF_TESTS_SH= format_string_test .include Modified: projects/stable-10-backport-test-changes/bin/expr/tests/Makefile ============================================================================== --- projects/stable-10-backport-test-changes/bin/expr/tests/Makefile Fri Feb 10 01:26:49 2017 (r313500) +++ projects/stable-10-backport-test-changes/bin/expr/tests/Makefile Fri Feb 10 01:44:18 2017 (r313501) @@ -1,11 +1,5 @@ # $FreeBSD$ -OBJTOP= ${.OBJDIR}/../../.. -SRCTOP= ${.CURDIR}/../../.. -TESTSRC= ${SRCTOP}/contrib/netbsd-tests/bin/expr - -TESTSDIR= ${TESTSBASE}/bin/expr - NETBSD_ATF_TESTS_SH= expr_test ATF_TESTS_SH_SED_expr_test+= -e 's/eval expr/eval expr --/g' Modified: projects/stable-10-backport-test-changes/bin/ls/tests/Makefile ============================================================================== --- projects/stable-10-backport-test-changes/bin/ls/tests/Makefile Fri Feb 10 01:26:49 2017 (r313500) +++ projects/stable-10-backport-test-changes/bin/ls/tests/Makefile Fri Feb 10 01:44:18 2017 (r313501) @@ -1,7 +1,5 @@ # $FreeBSD$ -TESTSDIR= ${TESTSBASE}/bin/ls - ATF_TESTS_SH+= ls_tests # This seems like overkill, but the idea in mind is that all of the testcases # should be runnable as !root Modified: projects/stable-10-backport-test-changes/bin/mv/tests/Makefile ============================================================================== --- projects/stable-10-backport-test-changes/bin/mv/tests/Makefile Fri Feb 10 01:26:49 2017 (r313500) +++ projects/stable-10-backport-test-changes/bin/mv/tests/Makefile Fri Feb 10 01:44:18 2017 (r313501) @@ -2,8 +2,6 @@ .include -TESTSDIR= ${TESTSBASE}/bin/mv - TAP_TESTS_SH= legacy_test .include Modified: projects/stable-10-backport-test-changes/bin/pax/tests/Makefile ============================================================================== --- projects/stable-10-backport-test-changes/bin/pax/tests/Makefile Fri Feb 10 01:26:49 2017 (r313500) +++ projects/stable-10-backport-test-changes/bin/pax/tests/Makefile Fri Feb 10 01:44:18 2017 (r313501) @@ -2,8 +2,6 @@ .include -TESTSDIR= ${TESTSBASE}/bin/pax - TAP_TESTS_PERL= legacy_test .include Modified: projects/stable-10-backport-test-changes/bin/pkill/tests/Makefile ============================================================================== --- projects/stable-10-backport-test-changes/bin/pkill/tests/Makefile Fri Feb 10 01:26:49 2017 (r313500) +++ projects/stable-10-backport-test-changes/bin/pkill/tests/Makefile Fri Feb 10 01:44:18 2017 (r313501) @@ -2,8 +2,6 @@ .include -TESTSDIR= ${TESTSBASE}/bin/pkill - TAP_TESTS_SH= pgrep-F_test TAP_TESTS_SH+= pgrep-LF_test TAP_TESTS_SH+= pgrep-P_test Modified: projects/stable-10-backport-test-changes/bin/sh/tests/Makefile ============================================================================== --- projects/stable-10-backport-test-changes/bin/sh/tests/Makefile Fri Feb 10 01:26:49 2017 (r313500) +++ projects/stable-10-backport-test-changes/bin/sh/tests/Makefile Fri Feb 10 01:44:18 2017 (r313501) @@ -2,8 +2,6 @@ .include -TESTSDIR= ${TESTSBASE}/bin/sh - TESTS_SUBDIRS+= builtins TESTS_SUBDIRS+= errors TESTS_SUBDIRS+= execution Modified: projects/stable-10-backport-test-changes/bin/sleep/tests/Makefile ============================================================================== --- projects/stable-10-backport-test-changes/bin/sleep/tests/Makefile Fri Feb 10 01:26:49 2017 (r313500) +++ projects/stable-10-backport-test-changes/bin/sleep/tests/Makefile Fri Feb 10 01:44:18 2017 (r313501) @@ -1,12 +1,7 @@ # $FreeBSD$ -TESTSRC= ${.CURDIR}/../../../contrib/netbsd-tests/bin/sleep -.PATH: ${TESTSRC} - .include -TESTSDIR= ${TESTSBASE}/bin/sleep -ATF_TESTS_SH= sleep_test -ATF_TESTS_SH_SRC_sleep_test= t_sleep.sh +NETBSD_ATF_TESTS_SH= sleep_test .include Modified: projects/stable-10-backport-test-changes/bin/test/tests/Makefile ============================================================================== --- projects/stable-10-backport-test-changes/bin/test/tests/Makefile Fri Feb 10 01:26:49 2017 (r313500) +++ projects/stable-10-backport-test-changes/bin/test/tests/Makefile Fri Feb 10 01:44:18 2017 (r313501) @@ -2,8 +2,6 @@ .include -TESTSDIR= ${TESTSBASE}/bin/test - TAP_TESTS_SH= legacy_test # Some tests in here are silently not run when the tests are executed as # root. Explicitly tell Kyua to drop privileges. Modified: projects/stable-10-backport-test-changes/bin/tests/Makefile ============================================================================== --- projects/stable-10-backport-test-changes/bin/tests/Makefile Fri Feb 10 01:26:49 2017 (r313500) +++ projects/stable-10-backport-test-changes/bin/tests/Makefile Fri Feb 10 01:44:18 2017 (r313501) @@ -2,9 +2,7 @@ .include -TESTSDIR= ${TESTSBASE}/bin - -.PATH: ${.CURDIR:H:H}/tests +.PATH: ${SRCTOP}/tests KYUAFILE= yes .include Modified: projects/stable-10-backport-test-changes/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/io/tst.fds.c ============================================================================== --- projects/stable-10-backport-test-changes/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/io/tst.fds.c Fri Feb 10 01:26:49 2017 (r313500) +++ projects/stable-10-backport-test-changes/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/io/tst.fds.c Fri Feb 10 01:44:18 2017 (r313501) @@ -26,6 +26,8 @@ #pragma ident "%Z%%M% %I% %E% SMI" +#include + #include #include #include @@ -69,7 +71,7 @@ main(int argc, char *argv[]) */ if (sigsetjmp(env, 1) == 0) { for (;;) - (void) ioctl(-1, -1, NULL); + (void) ioctl(-1, 0, NULL); } /* @@ -80,20 +82,19 @@ main(int argc, char *argv[]) fds[n++] = open(file, O_WRONLY); fds[n++] = open(file, O_RDWR); - fds[n++] = open(file, O_RDWR | O_APPEND | O_CREAT | O_DSYNC | - O_LARGEFILE | O_NOCTTY | O_NONBLOCK | O_NDELAY | O_RSYNC | - O_SYNC | O_TRUNC | O_XATTR, 0666); + fds[n++] = open(file, O_RDWR | O_APPEND | O_CREAT | + O_NOCTTY | O_NONBLOCK | O_NDELAY | O_SYNC | O_TRUNC | 0666); fds[n++] = open(file, O_RDWR); (void) lseek(fds[n - 1], 123, SEEK_SET); /* * Once we have all the file descriptors in the state we want to test, - * issue a bogus ioctl() on each fd with cmd -1 and arg NULL to whack + * issue a bogus ioctl() on each fd with cmd 0 and arg NULL to whack * our DTrace script into recording the content of the fds[] array. */ for (i = 0; i < n; i++) - (void) ioctl(fds[i], -1, NULL); + (void) ioctl(fds[i], 0, NULL); assert(n <= sizeof (fds) / sizeof (fds[0])); exit(0); Modified: projects/stable-10-backport-test-changes/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/io/tst.fds.d ============================================================================== --- projects/stable-10-backport-test-changes/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/io/tst.fds.d Fri Feb 10 01:26:49 2017 (r313500) +++ projects/stable-10-backport-test-changes/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/io/tst.fds.d Fri Feb 10 01:44:18 2017 (r313501) @@ -36,7 +36,7 @@ syscall::ioctl:entry } syscall::ioctl:entry -/pid == $1 && arg0 != -1u && arg1 == -1u && arg2 == NULL/ +/pid == $1 && arg0 != -1u && arg1 == 0 && arg2 == NULL/ { printf("fds[%d] fi_name = %s\n", arg0, fds[arg0].fi_name); printf("fds[%d] fi_dirname = %s\n", arg0, fds[arg0].fi_dirname); Modified: projects/stable-10-backport-test-changes/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/json/tst.usdt.c ============================================================================== --- projects/stable-10-backport-test-changes/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/json/tst.usdt.c Fri Feb 10 01:26:49 2017 (r313500) +++ projects/stable-10-backport-test-changes/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/json/tst.usdt.c Fri Feb 10 01:44:18 2017 (r313501) @@ -14,6 +14,8 @@ */ #include +#include +#include #include "usdt.h" #define FMT "{" \ Modified: projects/stable-10-backport-test-changes/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/nfs/tst.call3.c ============================================================================== --- projects/stable-10-backport-test-changes/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/nfs/tst.call3.c Fri Feb 10 01:26:49 2017 (r313500) +++ projects/stable-10-backport-test-changes/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/nfs/tst.call3.c Fri Feb 10 01:44:18 2017 (r313501) @@ -28,6 +28,7 @@ #include #include +#include #include #include #include Modified: projects/stable-10-backport-test-changes/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/pid/tst.args1.c ============================================================================== --- projects/stable-10-backport-test-changes/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/pid/tst.args1.c Fri Feb 10 01:26:49 2017 (r313500) +++ projects/stable-10-backport-test-changes/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/pid/tst.args1.c Fri Feb 10 01:44:18 2017 (r313501) @@ -27,6 +27,7 @@ #pragma ident "%Z%%M% %I% %E% SMI" #include +#include #include int Modified: projects/stable-10-backport-test-changes/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/pid/tst.gcc.c ============================================================================== --- projects/stable-10-backport-test-changes/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/pid/tst.gcc.c Fri Feb 10 01:26:49 2017 (r313500) +++ projects/stable-10-backport-test-changes/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/pid/tst.gcc.c Fri Feb 10 01:44:18 2017 (r313501) @@ -26,6 +26,8 @@ #pragma ident "%Z%%M% %I% %E% SMI" +#include +#include #include #include #include Modified: projects/stable-10-backport-test-changes/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/pid/tst.ret1.c ============================================================================== --- projects/stable-10-backport-test-changes/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/pid/tst.ret1.c Fri Feb 10 01:26:49 2017 (r313500) +++ projects/stable-10-backport-test-changes/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/pid/tst.ret1.c Fri Feb 10 01:44:18 2017 (r313501) @@ -27,6 +27,7 @@ #pragma ident "%Z%%M% %I% %E% SMI" #include +#include #include /* Modified: projects/stable-10-backport-test-changes/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/pid/tst.ret2.c ============================================================================== --- projects/stable-10-backport-test-changes/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/pid/tst.ret2.c Fri Feb 10 01:26:49 2017 (r313500) +++ projects/stable-10-backport-test-changes/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/pid/tst.ret2.c Fri Feb 10 01:44:18 2017 (r313501) @@ -27,6 +27,7 @@ #pragma ident "%Z%%M% %I% %E% SMI" #include +#include #include /* Modified: projects/stable-10-backport-test-changes/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/pid/tst.weak1.c ============================================================================== --- projects/stable-10-backport-test-changes/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/pid/tst.weak1.c Fri Feb 10 01:26:49 2017 (r313500) +++ projects/stable-10-backport-test-changes/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/pid/tst.weak1.c Fri Feb 10 01:44:18 2017 (r313501) @@ -27,6 +27,7 @@ #pragma ident "%Z%%M% %I% %E% SMI" #include +#include #include /* Modified: projects/stable-10-backport-test-changes/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/pid/tst.weak2.c ============================================================================== --- projects/stable-10-backport-test-changes/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/pid/tst.weak2.c Fri Feb 10 01:26:49 2017 (r313500) +++ projects/stable-10-backport-test-changes/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/pid/tst.weak2.c Fri Feb 10 01:44:18 2017 (r313501) @@ -27,6 +27,7 @@ #pragma ident "%Z%%M% %I% %E% SMI" #include +#include #include /* @@ -34,14 +35,14 @@ * leading underscores. */ -#pragma weak _go = go - static int go(int a) { return (a + 1); } +#pragma weak _go = go + static void handle(int sig) { Modified: projects/stable-10-backport-test-changes/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/printf/tst.basics.d ============================================================================== --- projects/stable-10-backport-test-changes/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/printf/tst.basics.d Fri Feb 10 01:26:49 2017 (r313500) +++ projects/stable-10-backport-test-changes/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/printf/tst.basics.d Fri Feb 10 01:44:18 2017 (r313501) @@ -44,7 +44,7 @@ BEGIN printf("\n"); - printf("%%a = %a\n", &`kmem_alloc); + printf("%%a = %a\n", &`malloc); printf("%%c = %c\n", i); printf("%%d = %d\n", i); printf("%%hd = %hd\n", (short)i); Modified: projects/stable-10-backport-test-changes/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/printf/tst.basics.d.out ============================================================================== --- projects/stable-10-backport-test-changes/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/printf/tst.basics.d.out Fri Feb 10 01:26:49 2017 (r313500) +++ projects/stable-10-backport-test-changes/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/printf/tst.basics.d.out Fri Feb 10 01:44:18 2017 (r313501) @@ -1,5 +1,5 @@ -%a = genunix`kmem_alloc +%a = kernel`malloc %c = a %d = 97 %hd = 97 Modified: projects/stable-10-backport-test-changes/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/printf/tst.str.d ============================================================================== --- projects/stable-10-backport-test-changes/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/printf/tst.str.d Fri Feb 10 01:26:49 2017 (r313500) +++ projects/stable-10-backport-test-changes/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/printf/tst.str.d Fri Feb 10 01:44:18 2017 (r313501) @@ -36,6 +36,6 @@ BEGIN { - printf("sysname = %s", `utsname.sysname); + printf("sysname = %s", `ostype); exit(0); } Modified: projects/stable-10-backport-test-changes/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/printf/tst.str.d.out ============================================================================== --- projects/stable-10-backport-test-changes/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/printf/tst.str.d.out Fri Feb 10 01:26:49 2017 (r313500) +++ projects/stable-10-backport-test-changes/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/printf/tst.str.d.out Fri Feb 10 01:44:18 2017 (r313501) @@ -1 +1 @@ -sysname = SunOS +sysname = FreeBSD Modified: projects/stable-10-backport-test-changes/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/printf/tst.sym.d ============================================================================== --- projects/stable-10-backport-test-changes/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/printf/tst.sym.d Fri Feb 10 01:26:49 2017 (r313500) +++ projects/stable-10-backport-test-changes/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/printf/tst.sym.d Fri Feb 10 01:44:18 2017 (r313501) @@ -38,6 +38,6 @@ BEGIN { - printf("symbol = %a", &`kmem_alloc); + printf("symbol = %a", &`malloc); exit(0); } Modified: projects/stable-10-backport-test-changes/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/printf/tst.sym.d.out ============================================================================== --- projects/stable-10-backport-test-changes/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/printf/tst.sym.d.out Fri Feb 10 01:26:49 2017 (r313500) +++ projects/stable-10-backport-test-changes/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/printf/tst.sym.d.out Fri Feb 10 01:44:18 2017 (r313501) @@ -1 +1 @@ -symbol = kernel`kmem_alloc +symbol = kernel`malloc Copied: projects/stable-10-backport-test-changes/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/privs/tst.kpriv.ksh (from r313500, stable/10/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/privs/tst.kpriv.ksh) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ projects/stable-10-backport-test-changes/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/privs/tst.kpriv.ksh Fri Feb 10 01:44:18 2017 (r313501, copy of r313500, stable/10/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/privs/tst.kpriv.ksh) @@ -0,0 +1,112 @@ +# +# This file and its contents are supplied under the terms of the +# Common Development and Distribution License ("CDDL"), version 1.0. +# You may only use this file in accordance with the terms of version +# 1.0 of the CDDL. +# +# A full copy of the text of the CDDL should have accompanied this +# source. A copy of the CDDL is also available via the Internet at +# http://www.illumos.org/license/CDDL. +# + +# +# Copyright (c) 2015, Joyent, Inc. All rights reserved. +# + +err=/tmp/err.$$ + +ppriv -s A=basic,dtrace_user $$ + +# +# When we lack dtrace_kernel, we expect to not be able to get at kernel memory +# via any subroutine or other vector. +# +# trace(func((void *)&\`utsname)); } +/usr/sbin/dtrace -wq -Cs /dev/stdin 2> $err < /dev/null +script | tee /dev/fd/2 | egrep 'ksh(93)?`[a-zA-Z_]' > /dev/null status=$? kill $child Modified: projects/stable-10-backport-test-changes/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/profile-n/tst.umod.ksh ============================================================================== --- projects/stable-10-backport-test-changes/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/profile-n/tst.umod.ksh Fri Feb 10 01:26:49 2017 (r313500) +++ projects/stable-10-backport-test-changes/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/profile-n/tst.umod.ksh Fri Feb 10 01:44:18 2017 (r313501) @@ -62,7 +62,7 @@ child=$! # # The only thing we can be sure of here is that ksh is doing some work. # -script | tee /dev/fd/2 | grep -w ksh > /dev/null +script | tee /dev/fd/2 | egrep -w 'ksh(93)?' > /dev/null status=$? kill $child Modified: projects/stable-10-backport-test-changes/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/profile-n/tst.usym.ksh ============================================================================== --- projects/stable-10-backport-test-changes/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/profile-n/tst.usym.ksh Fri Feb 10 01:26:49 2017 (r313500) +++ projects/stable-10-backport-test-changes/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/profile-n/tst.usym.ksh Fri Feb 10 01:44:18 2017 (r313501) @@ -63,7 +63,7 @@ child=$! # This test is essentially the same as that in the ufunc test; see that # test for the rationale. # -script | tee /dev/fd/2 | grep 'ksh`[a-zA-Z_]' > /dev/null +script | tee /dev/fd/2 | egrep 'ksh(93)?`[a-zA-Z_]' > /dev/null status=$? kill $child Copied: projects/stable-10-backport-test-changes/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/scalars/err.bigglobal.d (from r313500, stable/10/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/scalars/err.bigglobal.d) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ projects/stable-10-backport-test-changes/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/scalars/err.bigglobal.d Fri Feb 10 01:44:18 2017 (r313501, copy of r313500, stable/10/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/scalars/err.bigglobal.d) @@ -0,0 +1,26 @@ +/* + * This file and its contents are supplied under the terms of the + * Common Development and Distribution License ("CDDL"), version 1.0. + * You may only use this file in accordance with the terms of version + * 1.0 of the CDDL. + * + * A full copy of the text of the CDDL should have accompanied this + * source. A copy of the CDDL is also available via the Internet at + * http://www.illumos.org/license/CDDL. + */ + +/* + * Copyright (c) 2015, Joyent, Inc. All rights reserved. + */ + +struct mrbig { + char toomany[100000]; +}; + +struct mrbig mrbig; + +BEGIN +{ + mrbig.toomany[0] = '!'; + exit(0); +} Copied: projects/stable-10-backport-test-changes/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/scalars/err.biglocal.d (from r313500, stable/10/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/scalars/err.biglocal.d) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ projects/stable-10-backport-test-changes/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/scalars/err.biglocal.d Fri Feb 10 01:44:18 2017 (r313501, copy of r313500, stable/10/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/scalars/err.biglocal.d) @@ -0,0 +1,26 @@ +/* + * This file and its contents are supplied under the terms of the + * Common Development and Distribution License ("CDDL"), version 1.0. + * You may only use this file in accordance with the terms of version + * 1.0 of the CDDL. + * + * A full copy of the text of the CDDL should have accompanied this + * source. A copy of the CDDL is also available via the Internet at + * http://www.illumos.org/license/CDDL. + */ + +/* + * Copyright (c) 2015, Joyent, Inc. All rights reserved. + */ + +struct mrbig { + char toomany[100000]; +}; + +this struct mrbig mrbig; + +BEGIN +{ + this->mrbig.toomany[0] = '!'; + exit(0); +} Modified: projects/stable-10-backport-test-changes/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/syscall/tst.args.c ============================================================================== --- projects/stable-10-backport-test-changes/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/syscall/tst.args.c Fri Feb 10 01:26:49 2017 (r313500) +++ projects/stable-10-backport-test-changes/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/syscall/tst.args.c Fri Feb 10 01:44:18 2017 (r313501) @@ -28,6 +28,7 @@ #include #include +#include /*ARGSUSED*/ int Modified: projects/stable-10-backport-test-changes/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/usdt/tst.forker.c ============================================================================== --- projects/stable-10-backport-test-changes/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/usdt/tst.forker.c Fri Feb 10 01:26:49 2017 (r313500) +++ projects/stable-10-backport-test-changes/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/usdt/tst.forker.c Fri Feb 10 01:44:18 2017 (r313501) @@ -26,6 +26,10 @@ #pragma ident "%Z%%M% %I% %E% SMI" +#include +#include + +#include #include #include "forker.h" Modified: projects/stable-10-backport-test-changes/cddl/lib/tests/Makefile ============================================================================== --- projects/stable-10-backport-test-changes/cddl/lib/tests/Makefile Fri Feb 10 01:26:49 2017 (r313500) +++ projects/stable-10-backport-test-changes/cddl/lib/tests/Makefile Fri Feb 10 01:44:18 2017 (r313501) @@ -2,9 +2,7 @@ .include -TESTSDIR= ${TESTSBASE}/cddl/lib - -.PATH: ${.CURDIR:H:H:H}/tests +.PATH: ${SRCTOP}/tests KYUAFILE= yes .include Modified: projects/stable-10-backport-test-changes/cddl/sbin/tests/Makefile ============================================================================== --- projects/stable-10-backport-test-changes/cddl/sbin/tests/Makefile Fri Feb 10 01:26:49 2017 (r313500) +++ projects/stable-10-backport-test-changes/cddl/sbin/tests/Makefile Fri Feb 10 01:44:18 2017 (r313501) @@ -2,9 +2,7 @@ .include -TESTSDIR= ${TESTSBASE}/cddl/sbin - -.PATH: ${.CURDIR:H:H:H}/tests +.PATH: ${SRCTOP}/tests KYUAFILE= yes .include Modified: projects/stable-10-backport-test-changes/cddl/tests/Makefile ============================================================================== --- projects/stable-10-backport-test-changes/cddl/tests/Makefile Fri Feb 10 01:26:49 2017 (r313500) +++ projects/stable-10-backport-test-changes/cddl/tests/Makefile Fri Feb 10 01:44:18 2017 (r313501) @@ -2,9 +2,7 @@ .include -TESTSDIR= ${TESTSBASE}/cddl - -.PATH: ${.CURDIR:H:H}/tests +.PATH: ${SRCTOP}/tests KYUAFILE= yes .include Modified: projects/stable-10-backport-test-changes/cddl/usr.bin/tests/Makefile ============================================================================== --- projects/stable-10-backport-test-changes/cddl/usr.bin/tests/Makefile Fri Feb 10 01:26:49 2017 (r313500) +++ projects/stable-10-backport-test-changes/cddl/usr.bin/tests/Makefile Fri Feb 10 01:44:18 2017 (r313501) @@ -2,9 +2,7 @@ .include -TESTSDIR= ${TESTSBASE}/cddl/usr.bin - -.PATH: ${.CURDIR:H:H:H}/tests +.PATH: ${SRCTOP}/tests KYUAFILE= yes .include Modified: projects/stable-10-backport-test-changes/cddl/usr.sbin/tests/Makefile ============================================================================== --- projects/stable-10-backport-test-changes/cddl/usr.sbin/tests/Makefile Fri Feb 10 01:26:49 2017 (r313500) +++ projects/stable-10-backport-test-changes/cddl/usr.sbin/tests/Makefile Fri Feb 10 01:44:18 2017 (r313501) @@ -2,9 +2,7 @@ .include -TESTSDIR= ${TESTSBASE}/cddl/usr.sbin - -.PATH: ${.CURDIR:H:H:H}/tests +.PATH: ${SRCTOP}/tests KYUAFILE= yes .include Modified: projects/stable-10-backport-test-changes/contrib/netbsd-tests/bin/cat/d_align.in ============================================================================== --- projects/stable-10-backport-test-changes/contrib/netbsd-tests/bin/cat/d_align.in Fri Feb 10 01:26:49 2017 (r313500) +++ projects/stable-10-backport-test-changes/contrib/netbsd-tests/bin/cat/d_align.in Fri Feb 10 01:44:18 2017 (r313501) @@ -1,3 +1,5 @@ a b c + 1 2 3 + x y z Modified: projects/stable-10-backport-test-changes/contrib/netbsd-tests/bin/cat/d_align.out ============================================================================== --- projects/stable-10-backport-test-changes/contrib/netbsd-tests/bin/cat/d_align.out Fri Feb 10 01:26:49 2017 (r313500) +++ projects/stable-10-backport-test-changes/contrib/netbsd-tests/bin/cat/d_align.out Fri Feb 10 01:44:18 2017 (r313501) @@ -1,3 +1,5 @@ 1 a b c$ + $ 2 1 2 3$ + $ 3 x y z$ Copied: projects/stable-10-backport-test-changes/contrib/netbsd-tests/bin/cat/d_se_output.in (from r313500, stable/10/contrib/netbsd-tests/bin/cat/d_se_output.in) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ projects/stable-10-backport-test-changes/contrib/netbsd-tests/bin/cat/d_se_output.in Fri Feb 10 01:44:18 2017 (r313501, copy of r313500, stable/10/contrib/netbsd-tests/bin/cat/d_se_output.in) @@ -0,0 +1,3 @@ + +Of course it runs NetBSD + Copied: projects/stable-10-backport-test-changes/contrib/netbsd-tests/bin/cat/d_se_output.out (from r313500, stable/10/contrib/netbsd-tests/bin/cat/d_se_output.out) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ projects/stable-10-backport-test-changes/contrib/netbsd-tests/bin/cat/d_se_output.out Fri Feb 10 01:44:18 2017 (r313501, copy of r313500, stable/10/contrib/netbsd-tests/bin/cat/d_se_output.out) @@ -0,0 +1,3 @@ +$ +Of course it runs NetBSD$ +$ Modified: projects/stable-10-backport-test-changes/contrib/netbsd-tests/bin/cat/t_cat.sh ============================================================================== --- projects/stable-10-backport-test-changes/contrib/netbsd-tests/bin/cat/t_cat.sh Fri Feb 10 01:26:49 2017 (r313500) +++ projects/stable-10-backport-test-changes/contrib/netbsd-tests/bin/cat/t_cat.sh Fri Feb 10 01:44:18 2017 (r313501) @@ -1,4 +1,4 @@ -# $NetBSD: t_cat.sh,v 1.2 2012/03/27 17:57:02 jruoho Exp $ +# $NetBSD: t_cat.sh,v 1.3 2016/06/16 01:04:58 sevan Exp $ # # Copyright (c) 2012 The NetBSD Foundation, Inc. # All rights reserved. @@ -52,8 +52,20 @@ nonexistent_body() { -x "cat /some/name/that/does/not/exist" } +atf_test_case se_output +se_output_head() { + atf_set "descr" "Test that cat(1) prints a $ sign " \ + "on blank lines with options '-se' (PR bin/51250)" +} + +se_output_body() { + atf_check -s ignore -o file:$(atf_get_srcdir)/d_se_output.out \ + -x "cat -se $(atf_get_srcdir)/d_se_output.in" +} + atf_init_test_cases() { atf_add_test_case align atf_add_test_case nonexistent + atf_add_test_case se_output } Modified: projects/stable-10-backport-test-changes/contrib/netbsd-tests/bin/sh/dotcmd/scoped_command ============================================================================== --- projects/stable-10-backport-test-changes/contrib/netbsd-tests/bin/sh/dotcmd/scoped_command Fri Feb 10 01:26:49 2017 (r313500) +++ projects/stable-10-backport-test-changes/contrib/netbsd-tests/bin/sh/dotcmd/scoped_command Fri Feb 10 01:44:18 2017 (r313501) @@ -1,6 +1,6 @@ #!/bin/sh # -# $NetBSD: scoped_command,v 1.1 2014/05/31 14:29:06 christos Exp $ +# $NetBSD: scoped_command,v 1.2 2016/03/27 14:57:50 christos Exp $ # # Copyright (c) 2014 The NetBSD Foundation, Inc. # All rights reserved. @@ -30,6 +30,27 @@ # POSSIBILITY OF SUCH DAMAGE. # +: ${TEST_SH:=/bin/sh} + +sane_sh() +{ + set -- ${TEST_SH} + case "$#" in + (0) set /bin/sh;; + (1|2) ;; + (*) set "$1";; # Just ignore options if we cannot make them work + esac + + case "$1" in + /*) TEST_SH="$1${2+ }$2";; + ./*) TEST_SH="${PWD}${1#.}${2+ }$2";; + */*) TEST_SH="${PWD}/$1${2+ }$2";; + *) TEST_SH="$( command -v "$1" )${2+ }$2";; + esac +} + +sane_sh + set -e # USAGE: @@ -52,7 +73,7 @@ cmd="echo 'before ${3}' ${2} echo 'after ${3}, return value:' ${?}" -echo "#!/bin/sh" +echo "#!${TEST_SH}" [ 'func' = "${1}" ] && cat </dev/null + then + # 16 bits or less, or hex unsupported, just give up... + return + fi + test $( ${TEST_SH} -c 'echo $(( 0x1FFFF ))' ) = 131071 || return + + # when attempting to exceed the number of available bits + # the shell may react in any of 3 (rational) ways + # 1. syntax error (maybe even core dump...) and fail + # 2. represent a positive number input as negative value + # 3. keep the number positive, but not the value expected + # (perhaps pegged at the max possible value) + # any of those may be accompanied by a message to stderr + + # Must check all 3 possibilities for each plausible size + # Tests do not use 0x8000... because that value can have weird + # other side effects that are not relevant to discover here. + # But we do want to try and force the sign bit set. + + if ! ${TEST_SH} -c ': $(( 0xC0000000 ))' 2>/dev/null + then + # proobably shell detected overflow and complained + ARITH_BITS=32 + return + fi + if ${TEST_SH} 2>/dev/null \ + -c 'case $(( 0xC0000000 )); in (-*) exit 0;; esac; exit 1' + then + ARITH_BITS=32 + return + fi + if ${TEST_SH} -c '[ $(( 0xC0000000 )) != 3221225472 ]' 2>/dev/null + then + ARITH_BITS=32 + return + fi + + if ! ${TEST_SH} -c ': $(( 0xC000000000000000 ))' 2>/dev/null + then + ARITH_BITS=64 + return + fi + if ${TEST_SH} 2>/dev/null \ + -c 'case $(( 0xC000000000000000 )); in (-*) exit 0;; esac; exit 1' + then + ARITH_BITS=64 + return + fi + if ${TEST_SH} 2>/dev/null \ + -c '[ $((0xC000000000000000)) != 13835058055282163712 ]' + then + ARITH_BITS=64 + return + fi + + if ${TEST_SH} 2>/dev/null -c \ + '[ $((0x123456781234567812345678)) = 5634002657842756053938493048 ]' + then + # just assume... (for now anyway, revisit when it happens...) + ARITH_BITS=96 + return + fi +} + +atf_test_case constants +constants_head() +{ + atf_set "descr" "Tests that arithmetic expansion can handle constants" +} +constants_body() +{ + atf_check -s exit:0 -o inline:'1\n' -e empty ${TEST_SH} -c \ + 'echo $(( 1 ))' + atf_check -s exit:0 -o inline:'0\n' -e empty ${TEST_SH} -c \ + 'echo $(( 0 ))' + atf_check -s exit:0 -o inline:'0\n' -e empty ${TEST_SH} -c \ + 'echo $((0x0))' + + # atf_expect_fail "PR bin/50959" + atf_check -s exit:0 -o inline:'0\n' -e empty ${TEST_SH} -c \ + 'echo $((0X0))' + # atf_expect_pass + + atf_check -s exit:0 -o inline:'0\n' -e empty ${TEST_SH} -c \ + 'echo $((000))' + + atf_check -s exit:0 -o inline:'1\n' -e empty \ + ${TEST_SH} -c 'echo $(( 000000001 ))' + atf_check -s exit:0 -o inline:'0\n' -e empty \ + ${TEST_SH} -c 'echo $(( 0x000000 ))' + + atf_check -s exit:0 -o inline:'99999\n' -e empty \ + ${TEST_SH} -c 'echo $((99999))' + + [ ${ARITH_BITS} -gt 44 ] && + atf_check -s exit:0 -o inline:'9191919191919\n' -e empty \ + ${TEST_SH} -c 'echo $((9191919191919))' + + atf_check -s exit:0 -o inline:'13\n' -e empty ${TEST_SH} -c \ + 'echo $(( 0xD ))' + atf_check -s exit:0 -o inline:'11\n' -e empty ${TEST_SH} -c \ + 'echo $(( 013 ))' + atf_check -s exit:0 -o inline:'7\n' -e empty ${TEST_SH} -c \ + 'x=7;echo $(($x))' + atf_check -s exit:0 -o inline:'9\n' -e empty ${TEST_SH} -c \ + 'x=9;echo $((x))' + + atf_check -s exit:0 -o inline:'11\n' -e empty \ + ${TEST_SH} -c 'x=0xB; echo $(( $x ))' + atf_check -s exit:0 -o inline:'27\n' -e empty \ + ${TEST_SH} -c 'x=0X1B; echo $(( x ))' + atf_check -s exit:0 -o inline:'27\n' -e empty \ + ${TEST_SH} -c 'X=033; echo $(( $X ))' + atf_check -s exit:0 -o inline:'219\n' -e empty \ + ${TEST_SH} -c 'X=0333; echo $(( X ))' + atf_check -s exit:0 -o inline:'0\n' -e empty \ + ${TEST_SH} -c 'NULL=; echo $(( NULL ))' + + # Not clear if this is 0, nothing, or an error, so omit for now + # atf_check -s exit:0 -o inline:'0\n' -e empty \ + # ${TEST_SH} -c 'echo $(( ))' + + # not clear whether this should return 0 or an error, so omit for now + # atf_check -s exit:0 -o inline:'0\n' -e empty \ + # ${TEST_SH} -c 'echo $(( UNDEFINED_VAR ))' +} + + +atf_test_case do_unary_plus +do_unary_plus_head() +{ + atf_set "descr" "Tests that unary plus works as expected" +} +do_unary_plus_body() +{ + atf_check -s exit:0 -o inline:'0\n' -e empty ${TEST_SH} -c \ + 'echo $(( +0 ))' + atf_check -s exit:0 -o inline:'1\n' -e empty ${TEST_SH} -c \ + 'echo $(( +1 ))' + atf_check -s exit:0 -o inline:'6\n' -e empty ${TEST_SH} -c \ + 'echo $(( + 6 ))' + atf_check -s exit:0 -o inline:'4321\n' -e empty ${TEST_SH} -c \ + 'echo $(( + 4321 ))' + atf_check -s exit:0 -o inline:'17185\n' -e empty ${TEST_SH} -c \ + 'echo $(( + 0x4321 ))' +} + +atf_test_case do_unary_minus +do_unary_minus_head() +{ + atf_set "descr" "Tests that unary minus works as expected" +} +do_unary_minus_body() +{ + atf_check -s exit:0 -o inline:'-1\n' -e empty ${TEST_SH} -c \ + 'echo $(( -1 ))' + atf_check -s exit:0 -o inline:'0\n' -e empty ${TEST_SH} -c \ + 'echo $(( - 0 ))' + atf_check -s exit:0 -o inline:'-1\n' -e empty ${TEST_SH} -c \ + 'echo $(( - 1 ))' + atf_check -s exit:0 -o inline:'-6\n' -e empty ${TEST_SH} -c \ + 'echo $(( - 6 ))' + atf_check -s exit:0 -o inline:'-4321\n' -e empty ${TEST_SH} -c \ + 'echo $(( - 4321 ))' + atf_check -s exit:0 -o inline:'-2257\n' -e empty ${TEST_SH} -c \ + 'echo $(( - 04321 ))' + atf_check -s exit:0 -o inline:'-7\n' -e empty ${TEST_SH} -c \ + 'echo $((-7))' +} + +atf_test_case do_unary_not +do_unary_not_head() +{ + atf_set "descr" "Tests that unary not (boolean) works as expected" +} +do_unary_not_body() +{ + atf_check -s exit:0 -o inline:'0\n' -e empty ${TEST_SH} -c \ + 'echo $(( ! 1 ))' + atf_check -s exit:0 -o inline:'1\n' -e empty ${TEST_SH} -c \ + 'echo $(( ! 0 ))' + *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-projects@freebsd.org Fri Feb 10 01:52:41 2017 Return-Path: Delivered-To: svn-src-projects@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 2D338CD8525 for ; Fri, 10 Feb 2017 01:52:41 +0000 (UTC) (envelope-from ngie@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id D75256C2; Fri, 10 Feb 2017 01:52:40 +0000 (UTC) (envelope-from ngie@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v1A1qd8b084279; Fri, 10 Feb 2017 01:52:39 GMT (envelope-from ngie@FreeBSD.org) Received: (from ngie@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v1A1qdKs084278; Fri, 10 Feb 2017 01:52:39 GMT (envelope-from ngie@FreeBSD.org) Message-Id: <201702100152.v1A1qdKs084278@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: ngie set sender to ngie@FreeBSD.org using -f From: Ngie Cooper Date: Fri, 10 Feb 2017 01:52:39 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r313502 - projects/stable-10-backport-test-changes X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 10 Feb 2017 01:52:41 -0000 Author: ngie Date: Fri Feb 10 01:52:39 2017 New Revision: 313502 URL: https://svnweb.freebsd.org/changeset/base/313502 Log: Nuke scratch branch; will revive when I need to test larger changes Deleted: projects/stable-10-backport-test-changes/ From owner-svn-src-projects@freebsd.org Sat Feb 11 13:58:08 2017 Return-Path: Delivered-To: svn-src-projects@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id BF9F5CDBDE3 for ; Sat, 11 Feb 2017 13:58:08 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 5C4D8896; Sat, 11 Feb 2017 13:58:08 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v1BDw7dH088915; Sat, 11 Feb 2017 13:58:07 GMT (envelope-from dim@FreeBSD.org) Received: (from dim@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v1BDw5Oj088895; Sat, 11 Feb 2017 13:58:05 GMT (envelope-from dim@FreeBSD.org) Message-Id: <201702111358.v1BDw5Oj088895@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: dim set sender to dim@FreeBSD.org using -f From: Dimitry Andric Date: Sat, 11 Feb 2017 13:58:05 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r313643 - in projects/clang400-import: contrib/libc++/include contrib/libc++/src contrib/llvm/include/llvm/ADT contrib/llvm/include/llvm/CodeGen contrib/llvm/include/llvm/IR contrib/llv... X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 11 Feb 2017 13:58:08 -0000 Author: dim Date: Sat Feb 11 13:58:05 2017 New Revision: 313643 URL: https://svnweb.freebsd.org/changeset/base/313643 Log: Merge llvm, clang, compiler-rt, libc++, lld and lldb release_40 branch r294803, and update build glue. Modified: projects/clang400-import/contrib/libc++/include/optional projects/clang400-import/contrib/libc++/include/variant projects/clang400-import/contrib/libc++/src/optional.cpp projects/clang400-import/contrib/llvm/include/llvm/ADT/ilist_iterator.h projects/clang400-import/contrib/llvm/include/llvm/CodeGen/MachineInstrBundleIterator.h projects/clang400-import/contrib/llvm/include/llvm/IR/PassManager.h projects/clang400-import/contrib/llvm/include/llvm/Target/TargetInstrInfo.h projects/clang400-import/contrib/llvm/lib/Bitcode/Reader/MetadataLoader.cpp projects/clang400-import/contrib/llvm/lib/CodeGen/BranchFolding.cpp projects/clang400-import/contrib/llvm/lib/CodeGen/MachineCopyPropagation.cpp projects/clang400-import/contrib/llvm/lib/CodeGen/RegisterCoalescer.cpp projects/clang400-import/contrib/llvm/lib/MC/MCCodeView.cpp projects/clang400-import/contrib/llvm/lib/Target/AArch64/AArch64ISelLowering.cpp projects/clang400-import/contrib/llvm/lib/Target/X86/X86ExpandPseudo.cpp projects/clang400-import/contrib/llvm/lib/Target/X86/X86InstrControl.td projects/clang400-import/contrib/llvm/lib/Target/X86/X86InstrInfo.cpp projects/clang400-import/contrib/llvm/lib/Target/X86/X86InstrInfo.h projects/clang400-import/contrib/llvm/lib/Target/X86/X86MCInstLower.cpp projects/clang400-import/lib/clang/include/clang/Basic/Version.inc projects/clang400-import/lib/clang/include/lld/Config/Version.inc Directory Properties: projects/clang400-import/contrib/compiler-rt/ (props changed) projects/clang400-import/contrib/libc++/ (props changed) projects/clang400-import/contrib/llvm/ (props changed) projects/clang400-import/contrib/llvm/tools/clang/ (props changed) projects/clang400-import/contrib/llvm/tools/lld/ (props changed) projects/clang400-import/contrib/llvm/tools/lldb/ (props changed) Modified: projects/clang400-import/contrib/libc++/include/optional ============================================================================== --- projects/clang400-import/contrib/libc++/include/optional Sat Feb 11 13:25:57 2017 (r313642) +++ projects/clang400-import/contrib/libc++/include/optional Sat Feb 11 13:58:05 2017 (r313643) @@ -160,14 +160,12 @@ namespace std // purposefully not using { class _LIBCPP_EXCEPTION_ABI bad_optional_access - : public logic_error + : public exception { public: - _LIBCPP_INLINE_VISIBILITY - bad_optional_access() : logic_error("bad optional access") {} - // Get the key function ~bad_optional_access() into the dylib virtual ~bad_optional_access() _NOEXCEPT; + virtual const char* what() const _NOEXCEPT; }; } // std Modified: projects/clang400-import/contrib/libc++/include/variant ============================================================================== --- projects/clang400-import/contrib/libc++/include/variant Sat Feb 11 13:25:57 2017 (r313642) +++ projects/clang400-import/contrib/libc++/include/variant Sat Feb 11 13:58:05 2017 (r313643) @@ -574,7 +574,7 @@ private: constexpr decltype(auto) operator()(_Alts&&... __alts) const { __std_visit_exhaustive_visitor_check< _Visitor, - decltype(_VSTD::forward<_Alts>(__alts).__value)...>(); + decltype((_VSTD::forward<_Alts>(__alts).__value))...>(); return __invoke_constexpr(_VSTD::forward<_Visitor>(__visitor), _VSTD::forward<_Alts>(__alts).__value...); } Modified: projects/clang400-import/contrib/libc++/src/optional.cpp ============================================================================== --- projects/clang400-import/contrib/libc++/src/optional.cpp Sat Feb 11 13:25:57 2017 (r313642) +++ projects/clang400-import/contrib/libc++/src/optional.cpp Sat Feb 11 13:58:05 2017 (r313643) @@ -15,6 +15,10 @@ namespace std bad_optional_access::~bad_optional_access() _NOEXCEPT = default; +const char* bad_optional_access::what() const _NOEXCEPT { + return "bad_optional_access"; + } + } // std _LIBCPP_BEGIN_NAMESPACE_EXPERIMENTAL Modified: projects/clang400-import/contrib/llvm/include/llvm/ADT/ilist_iterator.h ============================================================================== --- projects/clang400-import/contrib/llvm/include/llvm/ADT/ilist_iterator.h Sat Feb 11 13:25:57 2017 (r313642) +++ projects/clang400-import/contrib/llvm/include/llvm/ADT/ilist_iterator.h Sat Feb 11 13:58:05 2017 (r313643) @@ -102,10 +102,23 @@ public: return *this; } - /// Convert from an iterator to its reverse. + /// Explicit conversion between forward/reverse iterators. /// - /// TODO: Roll this into the implicit constructor once we're sure that no one - /// is relying on the std::reverse_iterator off-by-one semantics. + /// Translate between forward and reverse iterators without changing range + /// boundaries. The resulting iterator will dereference (and have a handle) + /// to the previous node, which is somewhat unexpected; but converting the + /// two endpoints in a range will give the same range in reverse. + /// + /// This matches std::reverse_iterator conversions. + explicit ilist_iterator( + const ilist_iterator &RHS) + : ilist_iterator(++RHS.getReverse()) {} + + /// Get a reverse iterator to the same node. + /// + /// Gives a reverse iterator that will dereference (and have a handle) to the + /// same node. Converting the endpoint iterators in a range will give a + /// different range; for range operations, use the explicit conversions. ilist_iterator getReverse() const { if (NodePtr) return ilist_iterator(*NodePtr); Modified: projects/clang400-import/contrib/llvm/include/llvm/CodeGen/MachineInstrBundleIterator.h ============================================================================== --- projects/clang400-import/contrib/llvm/include/llvm/CodeGen/MachineInstrBundleIterator.h Sat Feb 11 13:25:57 2017 (r313642) +++ projects/clang400-import/contrib/llvm/include/llvm/CodeGen/MachineInstrBundleIterator.h Sat Feb 11 13:58:05 2017 (r313643) @@ -153,6 +153,18 @@ public: : MII(I.getInstrIterator()) {} MachineInstrBundleIterator() : MII(nullptr) {} + /// Explicit conversion between forward/reverse iterators. + /// + /// Translate between forward and reverse iterators without changing range + /// boundaries. The resulting iterator will dereference (and have a handle) + /// to the previous node, which is somewhat unexpected; but converting the + /// two endpoints in a range will give the same range in reverse. + /// + /// This matches std::reverse_iterator conversions. + explicit MachineInstrBundleIterator( + const MachineInstrBundleIterator &I) + : MachineInstrBundleIterator(++I.getReverse()) {} + /// Get the bundle iterator for the given instruction's bundle. static MachineInstrBundleIterator getAtBundleBegin(instr_iterator MI) { return MachineInstrBundleIteratorHelper::getBundleBegin(MI); @@ -258,6 +270,11 @@ public: nonconst_iterator getNonConstIterator() const { return MII.getNonConst(); } + /// Get a reverse iterator to the same node. + /// + /// Gives a reverse iterator that will dereference (and have a handle) to the + /// same node. Converting the endpoint iterators in a range will give a + /// different range; for range operations, use the explicit conversions. reverse_iterator getReverse() const { return MII.getReverse(); } }; Modified: projects/clang400-import/contrib/llvm/include/llvm/IR/PassManager.h ============================================================================== --- projects/clang400-import/contrib/llvm/include/llvm/IR/PassManager.h Sat Feb 11 13:25:57 2017 (r313642) +++ projects/clang400-import/contrib/llvm/include/llvm/IR/PassManager.h Sat Feb 11 13:58:05 2017 (r313643) @@ -311,6 +311,8 @@ template struct PassInfoMixin { /// Gets the name of the pass we are mixed into. static StringRef name() { + static_assert(std::is_base_of::value, + "Must pass the derived type as the template argument!"); StringRef Name = getTypeName(); if (Name.startswith("llvm::")) Name = Name.drop_front(strlen("llvm::")); @@ -339,7 +341,11 @@ struct AnalysisInfoMixin : PassInfoMixin /// known platform with this limitation is Windows DLL builds, specifically /// building each part of LLVM as a DLL. If we ever remove that build /// configuration, this mixin can provide the static key as well. - static AnalysisKey *ID() { return &DerivedT::Key; } + static AnalysisKey *ID() { + static_assert(std::is_base_of::value, + "Must pass the derived type as the template argument!"); + return &DerivedT::Key; + } }; /// This templated class represents "all analyses that operate over \ class OuterAnalysisManagerProxy : public AnalysisInfoMixin< - OuterAnalysisManagerProxy> { + OuterAnalysisManagerProxy> { public: /// \brief Result proxy object for \c OuterAnalysisManagerProxy. class Result { @@ -1072,7 +1078,7 @@ public: private: friend AnalysisInfoMixin< - OuterAnalysisManagerProxy>; + OuterAnalysisManagerProxy>; static AnalysisKey Key; const AnalysisManagerT *AM; Modified: projects/clang400-import/contrib/llvm/include/llvm/Target/TargetInstrInfo.h ============================================================================== --- projects/clang400-import/contrib/llvm/include/llvm/Target/TargetInstrInfo.h Sat Feb 11 13:25:57 2017 (r313642) +++ projects/clang400-import/contrib/llvm/include/llvm/Target/TargetInstrInfo.h Sat Feb 11 13:58:05 2017 (r313643) @@ -1108,25 +1108,6 @@ public: /// terminator instruction that has not been predicated. virtual bool isUnpredicatedTerminator(const MachineInstr &MI) const; - /// Returns true if MI is an unconditional tail call. - virtual bool isUnconditionalTailCall(const MachineInstr &MI) const { - return false; - } - - /// Returns true if the tail call can be made conditional on BranchCond. - virtual bool - canMakeTailCallConditional(SmallVectorImpl &Cond, - const MachineInstr &TailCall) const { - return false; - } - - /// Replace the conditional branch in MBB with a conditional tail call. - virtual void replaceBranchWithTailCall(MachineBasicBlock &MBB, - SmallVectorImpl &Cond, - const MachineInstr &TailCall) const { - llvm_unreachable("Target didn't implement replaceBranchWithTailCall!"); - } - /// Convert the instruction into a predicated instruction. /// It returns true if the operation was successful. virtual bool PredicateInstruction(MachineInstr &MI, Modified: projects/clang400-import/contrib/llvm/lib/Bitcode/Reader/MetadataLoader.cpp ============================================================================== --- projects/clang400-import/contrib/llvm/lib/Bitcode/Reader/MetadataLoader.cpp Sat Feb 11 13:25:57 2017 (r313642) +++ projects/clang400-import/contrib/llvm/lib/Bitcode/Reader/MetadataLoader.cpp Sat Feb 11 13:58:05 2017 (r313643) @@ -448,6 +448,7 @@ class MetadataLoader::MetadataLoaderImpl bool StripTBAA = false; bool HasSeenOldLoopTags = false; + bool NeedUpgradeToDIGlobalVariableExpression = false; /// True if metadata is being parsed for a module being ThinLTO imported. bool IsImporting = false; @@ -473,6 +474,45 @@ class MetadataLoader::MetadataLoaderImpl CUSubprograms.clear(); } + /// Upgrade old-style bare DIGlobalVariables to DIGlobalVariableExpressions. + void upgradeCUVariables() { + if (!NeedUpgradeToDIGlobalVariableExpression) + return; + + // Upgrade list of variables attached to the CUs. + if (NamedMDNode *CUNodes = TheModule.getNamedMetadata("llvm.dbg.cu")) + for (unsigned I = 0, E = CUNodes->getNumOperands(); I != E; ++I) { + auto *CU = cast(CUNodes->getOperand(I)); + if (auto *GVs = dyn_cast_or_null(CU->getRawGlobalVariables())) + for (unsigned I = 0; I < GVs->getNumOperands(); I++) + if (auto *GV = + dyn_cast_or_null(GVs->getOperand(I))) { + auto *DGVE = + DIGlobalVariableExpression::getDistinct(Context, GV, nullptr); + GVs->replaceOperandWith(I, DGVE); + } + } + + // Upgrade variables attached to globals. + for (auto &GV : TheModule.globals()) { + SmallVector MDs, NewMDs; + GV.getMetadata(LLVMContext::MD_dbg, MDs); + GV.eraseMetadata(LLVMContext::MD_dbg); + for (auto *MD : MDs) + if (auto *DGV = dyn_cast_or_null(MD)) { + auto *DGVE = + DIGlobalVariableExpression::getDistinct(Context, DGV, nullptr); + GV.addMetadata(LLVMContext::MD_dbg, *DGVE); + } else + GV.addMetadata(LLVMContext::MD_dbg, *MD); + } + } + + void upgradeDebugInfo() { + upgradeCUSubprograms(); + upgradeCUVariables(); + } + public: MetadataLoaderImpl(BitstreamCursor &Stream, Module &TheModule, BitcodeReaderValueList &ValueList, @@ -726,7 +766,7 @@ Error MetadataLoader::MetadataLoaderImpl // Reading the named metadata created forward references and/or // placeholders, that we flush here. resolveForwardRefsAndPlaceholders(Placeholders); - upgradeCUSubprograms(); + upgradeDebugInfo(); // Return at the beginning of the block, since it is easy to skip it // entirely from there. Stream.ReadBlockEnd(); // Pop the abbrev block context. @@ -750,7 +790,7 @@ Error MetadataLoader::MetadataLoaderImpl return error("Malformed block"); case BitstreamEntry::EndBlock: resolveForwardRefsAndPlaceholders(Placeholders); - upgradeCUSubprograms(); + upgradeDebugInfo(); return Error::success(); case BitstreamEntry::Record: // The interesting case. @@ -1420,11 +1460,17 @@ Error MetadataLoader::MetadataLoaderImpl getDITypeRefOrNull(Record[6]), Record[7], Record[8], getMDOrNull(Record[10]), AlignInBits)); - auto *DGVE = DIGlobalVariableExpression::getDistinct(Context, DGV, Expr); - MetadataList.assignValue(DGVE, NextMetadataNo); - NextMetadataNo++; + DIGlobalVariableExpression *DGVE = nullptr; + if (Attach || Expr) + DGVE = DIGlobalVariableExpression::getDistinct(Context, DGV, Expr); + else + NeedUpgradeToDIGlobalVariableExpression = true; if (Attach) Attach->addDebugInfo(DGVE); + + auto *MDNode = Expr ? cast(DGVE) : cast(DGV); + MetadataList.assignValue(MDNode, NextMetadataNo); + NextMetadataNo++; } else return error("Invalid record"); Modified: projects/clang400-import/contrib/llvm/lib/CodeGen/BranchFolding.cpp ============================================================================== --- projects/clang400-import/contrib/llvm/lib/CodeGen/BranchFolding.cpp Sat Feb 11 13:25:57 2017 (r313642) +++ projects/clang400-import/contrib/llvm/lib/CodeGen/BranchFolding.cpp Sat Feb 11 13:58:05 2017 (r313643) @@ -49,7 +49,6 @@ STATISTIC(NumDeadBlocks, "Number of dead STATISTIC(NumBranchOpts, "Number of branches optimized"); STATISTIC(NumTailMerge , "Number of block tails merged"); STATISTIC(NumHoist , "Number of times common instructions are hoisted"); -STATISTIC(NumTailCalls, "Number of tail calls optimized"); static cl::opt FlagEnableTailMerge("enable-tail-merge", cl::init(cl::BOU_UNSET), cl::Hidden); @@ -1387,42 +1386,6 @@ ReoptimizeBlock: } } - if (!IsEmptyBlock(MBB) && MBB->pred_size() == 1 && - MF.getFunction()->optForSize()) { - // Changing "Jcc foo; foo: jmp bar;" into "Jcc bar;" might change the branch - // direction, thereby defeating careful block placement and regressing - // performance. Therefore, only consider this for optsize functions. - MachineInstr &TailCall = *MBB->getFirstNonDebugInstr(); - if (TII->isUnconditionalTailCall(TailCall)) { - MachineBasicBlock *Pred = *MBB->pred_begin(); - MachineBasicBlock *PredTBB = nullptr, *PredFBB = nullptr; - SmallVector PredCond; - bool PredAnalyzable = - !TII->analyzeBranch(*Pred, PredTBB, PredFBB, PredCond, true); - - if (PredAnalyzable && !PredCond.empty() && PredTBB == MBB) { - // The predecessor has a conditional branch to this block which consists - // of only a tail call. Try to fold the tail call into the conditional - // branch. - if (TII->canMakeTailCallConditional(PredCond, TailCall)) { - // TODO: It would be nice if analyzeBranch() could provide a pointer - // to the branch insturction so replaceBranchWithTailCall() doesn't - // have to search for it. - TII->replaceBranchWithTailCall(*Pred, PredCond, TailCall); - ++NumTailCalls; - Pred->removeSuccessor(MBB); - MadeChange = true; - return MadeChange; - } - } - // If the predecessor is falling through to this block, we could reverse - // the branch condition and fold the tail call into that. However, after - // that we might have to re-arrange the CFG to fall through to the other - // block and there is a high risk of regressing code size rather than - // improving it. - } - } - // Analyze the branch in the current block. MachineBasicBlock *CurTBB = nullptr, *CurFBB = nullptr; SmallVector CurCond; Modified: projects/clang400-import/contrib/llvm/lib/CodeGen/MachineCopyPropagation.cpp ============================================================================== --- projects/clang400-import/contrib/llvm/lib/CodeGen/MachineCopyPropagation.cpp Sat Feb 11 13:25:57 2017 (r313642) +++ projects/clang400-import/contrib/llvm/lib/CodeGen/MachineCopyPropagation.cpp Sat Feb 11 13:58:05 2017 (r313643) @@ -61,6 +61,7 @@ namespace { private: void ClobberRegister(unsigned Reg); + void ReadRegister(unsigned Reg); void CopyPropagateBlock(MachineBasicBlock &MBB); bool eraseIfRedundant(MachineInstr &Copy, unsigned Src, unsigned Def); @@ -120,6 +121,18 @@ void MachineCopyPropagation::ClobberRegi } } +void MachineCopyPropagation::ReadRegister(unsigned Reg) { + // If 'Reg' is defined by a copy, the copy is no longer a candidate + // for elimination. + for (MCRegAliasIterator AI(Reg, TRI, true); AI.isValid(); ++AI) { + Reg2MIMap::iterator CI = CopyMap.find(*AI); + if (CI != CopyMap.end()) { + DEBUG(dbgs() << "MCP: Copy is used - not dead: "; CI->second->dump()); + MaybeDeadCopies.remove(CI->second); + } + } +} + /// Return true if \p PreviousCopy did copy register \p Src to register \p Def. /// This fact may have been obscured by sub register usage or may not be true at /// all even though Src and Def are subregisters of the registers used in @@ -212,12 +225,14 @@ void MachineCopyPropagation::CopyPropaga // If Src is defined by a previous copy, the previous copy cannot be // eliminated. - for (MCRegAliasIterator AI(Src, TRI, true); AI.isValid(); ++AI) { - Reg2MIMap::iterator CI = CopyMap.find(*AI); - if (CI != CopyMap.end()) { - DEBUG(dbgs() << "MCP: Copy is no longer dead: "; CI->second->dump()); - MaybeDeadCopies.remove(CI->second); - } + ReadRegister(Src); + for (const MachineOperand &MO : MI->implicit_operands()) { + if (!MO.isReg() || !MO.readsReg()) + continue; + unsigned Reg = MO.getReg(); + if (!Reg) + continue; + ReadRegister(Reg); } DEBUG(dbgs() << "MCP: Copy is a deletion candidate: "; MI->dump()); @@ -234,6 +249,14 @@ void MachineCopyPropagation::CopyPropaga // ... // %xmm2 = copy %xmm9 ClobberRegister(Def); + for (const MachineOperand &MO : MI->implicit_operands()) { + if (!MO.isReg() || !MO.isDef()) + continue; + unsigned Reg = MO.getReg(); + if (!Reg) + continue; + ClobberRegister(Reg); + } // Remember Def is defined by the copy. for (MCSubRegIterator SR(Def, TRI, /*IncludeSelf=*/true); SR.isValid(); @@ -268,17 +291,8 @@ void MachineCopyPropagation::CopyPropaga if (MO.isDef()) { Defs.push_back(Reg); - continue; - } - - // If 'Reg' is defined by a copy, the copy is no longer a candidate - // for elimination. - for (MCRegAliasIterator AI(Reg, TRI, true); AI.isValid(); ++AI) { - Reg2MIMap::iterator CI = CopyMap.find(*AI); - if (CI != CopyMap.end()) { - DEBUG(dbgs() << "MCP: Copy is used - not dead: "; CI->second->dump()); - MaybeDeadCopies.remove(CI->second); - } + } else { + ReadRegister(Reg); } // Treat undef use like defs for copy propagation but not for // dead copy. We would need to do a liveness check to be sure the copy Modified: projects/clang400-import/contrib/llvm/lib/CodeGen/RegisterCoalescer.cpp ============================================================================== --- projects/clang400-import/contrib/llvm/lib/CodeGen/RegisterCoalescer.cpp Sat Feb 11 13:25:57 2017 (r313642) +++ projects/clang400-import/contrib/llvm/lib/CodeGen/RegisterCoalescer.cpp Sat Feb 11 13:58:05 2017 (r313643) @@ -1556,9 +1556,10 @@ bool RegisterCoalescer::joinCopy(Machine bool RegisterCoalescer::joinReservedPhysReg(CoalescerPair &CP) { unsigned DstReg = CP.getDstReg(); + unsigned SrcReg = CP.getSrcReg(); assert(CP.isPhys() && "Must be a physreg copy"); assert(MRI->isReserved(DstReg) && "Not a reserved register"); - LiveInterval &RHS = LIS->getInterval(CP.getSrcReg()); + LiveInterval &RHS = LIS->getInterval(SrcReg); DEBUG(dbgs() << "\t\tRHS = " << RHS << '\n'); assert(RHS.containsOneValue() && "Invalid join with reserved register"); @@ -1592,17 +1593,36 @@ bool RegisterCoalescer::joinReservedPhys // Delete the identity copy. MachineInstr *CopyMI; if (CP.isFlipped()) { - CopyMI = MRI->getVRegDef(RHS.reg); + // Physreg is copied into vreg + // %vregY = COPY %X + // ... //< no other def of %X here + // use %vregY + // => + // ... + // use %X + CopyMI = MRI->getVRegDef(SrcReg); } else { - if (!MRI->hasOneNonDBGUse(RHS.reg)) { + // VReg is copied into physreg: + // %vregX = def + // ... //< no other def or use of %Y here + // %Y = COPY %vregX + // => + // %Y = def + // ... + if (!MRI->hasOneNonDBGUse(SrcReg)) { DEBUG(dbgs() << "\t\tMultiple vreg uses!\n"); return false; } - MachineInstr *DestMI = MRI->getVRegDef(RHS.reg); - CopyMI = &*MRI->use_instr_nodbg_begin(RHS.reg); - const SlotIndex CopyRegIdx = LIS->getInstructionIndex(*CopyMI).getRegSlot(); - const SlotIndex DestRegIdx = LIS->getInstructionIndex(*DestMI).getRegSlot(); + if (!LIS->intervalIsInOneMBB(RHS)) { + DEBUG(dbgs() << "\t\tComplex control flow!\n"); + return false; + } + + MachineInstr &DestMI = *MRI->getVRegDef(SrcReg); + CopyMI = &*MRI->use_instr_nodbg_begin(SrcReg); + SlotIndex CopyRegIdx = LIS->getInstructionIndex(*CopyMI).getRegSlot(); + SlotIndex DestRegIdx = LIS->getInstructionIndex(DestMI).getRegSlot(); if (!MRI->isConstantPhysReg(DstReg)) { // We checked above that there are no interfering defs of the physical @@ -1629,8 +1649,8 @@ bool RegisterCoalescer::joinReservedPhys // We're going to remove the copy which defines a physical reserved // register, so remove its valno, etc. - DEBUG(dbgs() << "\t\tRemoving phys reg def of " << DstReg << " at " - << CopyRegIdx << "\n"); + DEBUG(dbgs() << "\t\tRemoving phys reg def of " << PrintReg(DstReg, TRI) + << " at " << CopyRegIdx << "\n"); LIS->removePhysRegDefAt(DstReg, CopyRegIdx); // Create a new dead def at the new def location. Modified: projects/clang400-import/contrib/llvm/lib/MC/MCCodeView.cpp ============================================================================== --- projects/clang400-import/contrib/llvm/lib/MC/MCCodeView.cpp Sat Feb 11 13:25:57 2017 (r313642) +++ projects/clang400-import/contrib/llvm/lib/MC/MCCodeView.cpp Sat Feb 11 13:58:05 2017 (r313643) @@ -509,17 +509,17 @@ void CodeViewContext::encodeDefRange(MCA // are artificially constructing. size_t RecordSize = FixedSizePortion.size() + sizeof(LocalVariableAddrRange) + 4 * NumGaps; - // Write out the recrod size. - support::endian::Writer(OS).write(RecordSize); + // Write out the record size. + LEWriter.write(RecordSize); // Write out the fixed size prefix. OS << FixedSizePortion; // Make space for a fixup that will eventually have a section relative // relocation pointing at the offset where the variable becomes live. Fixups.push_back(MCFixup::create(Contents.size(), BE, FK_SecRel_4)); - Contents.resize(Contents.size() + 4); // Fixup for code start. + LEWriter.write(0); // Fixup for code start. // Make space for a fixup that will record the section index for the code. Fixups.push_back(MCFixup::create(Contents.size(), BE, FK_SecRel_2)); - Contents.resize(Contents.size() + 2); // Fixup for section index. + LEWriter.write(0); // Fixup for section index. // Write down the range's extent. LEWriter.write(Chunk); @@ -529,7 +529,7 @@ void CodeViewContext::encodeDefRange(MCA } while (RangeSize > 0); // Emit the gaps afterwards. - assert((NumGaps == 0 || Bias < MaxDefRange) && + assert((NumGaps == 0 || Bias <= MaxDefRange) && "large ranges should not have gaps"); unsigned GapStartOffset = GapAndRangeSizes[I].second; for (++I; I != J; ++I) { @@ -537,7 +537,7 @@ void CodeViewContext::encodeDefRange(MCA assert(I < GapAndRangeSizes.size()); std::tie(GapSize, RangeSize) = GapAndRangeSizes[I]; LEWriter.write(GapStartOffset); - LEWriter.write(RangeSize); + LEWriter.write(GapSize); GapStartOffset += GapSize + RangeSize; } } Modified: projects/clang400-import/contrib/llvm/lib/Target/AArch64/AArch64ISelLowering.cpp ============================================================================== --- projects/clang400-import/contrib/llvm/lib/Target/AArch64/AArch64ISelLowering.cpp Sat Feb 11 13:25:57 2017 (r313642) +++ projects/clang400-import/contrib/llvm/lib/Target/AArch64/AArch64ISelLowering.cpp Sat Feb 11 13:58:05 2017 (r313643) @@ -8934,8 +8934,9 @@ static SDValue splitStoreSplat(Selection // instructions (stp). SDLoc DL(&St); SDValue BasePtr = St.getBasePtr(); + const MachinePointerInfo &PtrInfo = St.getPointerInfo(); SDValue NewST1 = - DAG.getStore(St.getChain(), DL, SplatVal, BasePtr, St.getPointerInfo(), + DAG.getStore(St.getChain(), DL, SplatVal, BasePtr, PtrInfo, OrigAlignment, St.getMemOperand()->getFlags()); unsigned Offset = EltOffset; @@ -8944,7 +8945,7 @@ static SDValue splitStoreSplat(Selection SDValue OffsetPtr = DAG.getNode(ISD::ADD, DL, MVT::i64, BasePtr, DAG.getConstant(Offset, DL, MVT::i64)); NewST1 = DAG.getStore(NewST1.getValue(0), DL, SplatVal, OffsetPtr, - St.getPointerInfo(), Alignment, + PtrInfo.getWithOffset(Offset), Alignment, St.getMemOperand()->getFlags()); Offset += EltOffset; } Modified: projects/clang400-import/contrib/llvm/lib/Target/X86/X86ExpandPseudo.cpp ============================================================================== --- projects/clang400-import/contrib/llvm/lib/Target/X86/X86ExpandPseudo.cpp Sat Feb 11 13:25:57 2017 (r313642) +++ projects/clang400-import/contrib/llvm/lib/Target/X86/X86ExpandPseudo.cpp Sat Feb 11 13:58:05 2017 (r313643) @@ -77,11 +77,9 @@ bool X86ExpandPseudo::ExpandMI(MachineBa default: return false; case X86::TCRETURNdi: - case X86::TCRETURNdicc: case X86::TCRETURNri: case X86::TCRETURNmi: case X86::TCRETURNdi64: - case X86::TCRETURNdi64cc: case X86::TCRETURNri64: case X86::TCRETURNmi64: { bool isMem = Opcode == X86::TCRETURNmi || Opcode == X86::TCRETURNmi64; @@ -99,10 +97,6 @@ bool X86ExpandPseudo::ExpandMI(MachineBa Offset = StackAdj - MaxTCDelta; assert(Offset >= 0 && "Offset should never be negative"); - if (Opcode == X86::TCRETURNdicc || Opcode == X86::TCRETURNdi64cc) { - assert(Offset == 0 && "Conditional tail call cannot adjust the stack."); - } - if (Offset) { // Check for possible merge with preceding ADD instruction. Offset += X86FL->mergeSPUpdates(MBB, MBBI, true); @@ -111,21 +105,12 @@ bool X86ExpandPseudo::ExpandMI(MachineBa // Jump to label or value in register. bool IsWin64 = STI->isTargetWin64(); - if (Opcode == X86::TCRETURNdi || Opcode == X86::TCRETURNdicc || - Opcode == X86::TCRETURNdi64 || Opcode == X86::TCRETURNdi64cc) { + if (Opcode == X86::TCRETURNdi || Opcode == X86::TCRETURNdi64) { unsigned Op; switch (Opcode) { case X86::TCRETURNdi: Op = X86::TAILJMPd; break; - case X86::TCRETURNdicc: - Op = X86::TAILJMPd_CC; - break; - case X86::TCRETURNdi64cc: - assert(!IsWin64 && "Conditional tail calls confuse the Win64 unwinder."); - // TODO: We could do it for Win64 "leaf" functions though; PR30337. - Op = X86::TAILJMPd64_CC; - break; default: // Note: Win64 uses REX prefixes indirect jumps out of functions, but // not direct ones. @@ -141,10 +126,6 @@ bool X86ExpandPseudo::ExpandMI(MachineBa MIB.addExternalSymbol(JumpTarget.getSymbolName(), JumpTarget.getTargetFlags()); } - if (Op == X86::TAILJMPd_CC || Op == X86::TAILJMPd64_CC) { - MIB.addImm(MBBI->getOperand(2).getImm()); - } - } else if (Opcode == X86::TCRETURNmi || Opcode == X86::TCRETURNmi64) { unsigned Op = (Opcode == X86::TCRETURNmi) ? X86::TAILJMPm Modified: projects/clang400-import/contrib/llvm/lib/Target/X86/X86InstrControl.td ============================================================================== --- projects/clang400-import/contrib/llvm/lib/Target/X86/X86InstrControl.td Sat Feb 11 13:25:57 2017 (r313642) +++ projects/clang400-import/contrib/llvm/lib/Target/X86/X86InstrControl.td Sat Feb 11 13:58:05 2017 (r313643) @@ -264,21 +264,6 @@ let isCall = 1, isTerminator = 1, isRetu "jmp{l}\t{*}$dst", [], IIC_JMP_MEM>; } -// Conditional tail calls are similar to the above, but they are branches -// rather than barriers, and they use EFLAGS. -let isCall = 1, isTerminator = 1, isReturn = 1, isBranch = 1, - isCodeGenOnly = 1, SchedRW = [WriteJumpLd] in - let Uses = [ESP, EFLAGS] in { - def TCRETURNdicc : PseudoI<(outs), - (ins i32imm_pcrel:$dst, i32imm:$offset, i32imm:$cond), []>; - - // This gets substituted to a conditional jump instruction in MC lowering. - def TAILJMPd_CC : Ii32PCRel<0x80, RawFrm, (outs), - (ins i32imm_pcrel:$dst, i32imm:$cond), - "", - [], IIC_JMP_REL>; -} - //===----------------------------------------------------------------------===// // Call Instructions... @@ -340,19 +325,3 @@ let isCall = 1, isTerminator = 1, isRetu "rex64 jmp{q}\t{*}$dst", [], IIC_JMP_MEM>; } } - -// Conditional tail calls are similar to the above, but they are branches -// rather than barriers, and they use EFLAGS. -let isCall = 1, isTerminator = 1, isReturn = 1, isBranch = 1, - isCodeGenOnly = 1, SchedRW = [WriteJumpLd] in - let Uses = [RSP, EFLAGS] in { - def TCRETURNdi64cc : PseudoI<(outs), - (ins i64i32imm_pcrel:$dst, i32imm:$offset, - i32imm:$cond), []>; - - // This gets substituted to a conditional jump instruction in MC lowering. - def TAILJMPd64_CC : Ii32PCRel<0x80, RawFrm, (outs), - (ins i64i32imm_pcrel:$dst, i32imm:$cond), - "", - [], IIC_JMP_REL>; -} Modified: projects/clang400-import/contrib/llvm/lib/Target/X86/X86InstrInfo.cpp ============================================================================== --- projects/clang400-import/contrib/llvm/lib/Target/X86/X86InstrInfo.cpp Sat Feb 11 13:25:57 2017 (r313642) +++ projects/clang400-import/contrib/llvm/lib/Target/X86/X86InstrInfo.cpp Sat Feb 11 13:58:05 2017 (r313643) @@ -5108,85 +5108,6 @@ bool X86InstrInfo::isUnpredicatedTermina return !isPredicated(MI); } -bool X86InstrInfo::isUnconditionalTailCall(const MachineInstr &MI) const { - switch (MI.getOpcode()) { - case X86::TCRETURNdi: - case X86::TCRETURNri: - case X86::TCRETURNmi: - case X86::TCRETURNdi64: - case X86::TCRETURNri64: - case X86::TCRETURNmi64: - return true; - default: - return false; - } -} - -bool X86InstrInfo::canMakeTailCallConditional( - SmallVectorImpl &BranchCond, - const MachineInstr &TailCall) const { - if (TailCall.getOpcode() != X86::TCRETURNdi && - TailCall.getOpcode() != X86::TCRETURNdi64) { - // Only direct calls can be done with a conditional branch. - return false; - } - - if (Subtarget.isTargetWin64()) { - // Conditional tail calls confuse the Win64 unwinder. - // TODO: Allow them for "leaf" functions; PR30337. - return false; - } - - assert(BranchCond.size() == 1); - if (BranchCond[0].getImm() > X86::LAST_VALID_COND) { - // Can't make a conditional tail call with this condition. - return false; - } - - const X86MachineFunctionInfo *X86FI = - TailCall.getParent()->getParent()->getInfo(); - if (X86FI->getTCReturnAddrDelta() != 0 || - TailCall.getOperand(1).getImm() != 0) { - // A conditional tail call cannot do any stack adjustment. - return false; - } - - return true; -} - -void X86InstrInfo::replaceBranchWithTailCall( - MachineBasicBlock &MBB, SmallVectorImpl &BranchCond, - const MachineInstr &TailCall) const { - assert(canMakeTailCallConditional(BranchCond, TailCall)); - - MachineBasicBlock::iterator I = MBB.end(); - while (I != MBB.begin()) { - --I; - if (I->isDebugValue()) - continue; - if (!I->isBranch()) - assert(0 && "Can't find the branch to replace!"); - - X86::CondCode CC = getCondFromBranchOpc(I->getOpcode()); - assert(BranchCond.size() == 1); - if (CC != BranchCond[0].getImm()) - continue; - - break; - } - - unsigned Opc = TailCall.getOpcode() == X86::TCRETURNdi ? X86::TCRETURNdicc - : X86::TCRETURNdi64cc; - - auto MIB = BuildMI(MBB, I, MBB.findDebugLoc(I), get(Opc)); - MIB->addOperand(TailCall.getOperand(0)); // Destination. - MIB.addImm(0); // Stack offset (not used). - MIB->addOperand(BranchCond[0]); // Condition. - MIB.copyImplicitOps(TailCall); // Regmask and (imp-used) parameters. - - I->eraseFromParent(); -} - // Given a MBB and its TBB, find the FBB which was a fallthrough MBB (it may // not be a fallthrough MBB now due to layout changes). Return nullptr if the // fallthrough MBB cannot be identified. Modified: projects/clang400-import/contrib/llvm/lib/Target/X86/X86InstrInfo.h ============================================================================== --- projects/clang400-import/contrib/llvm/lib/Target/X86/X86InstrInfo.h Sat Feb 11 13:25:57 2017 (r313642) +++ projects/clang400-import/contrib/llvm/lib/Target/X86/X86InstrInfo.h Sat Feb 11 13:58:05 2017 (r313643) @@ -316,13 +316,6 @@ public: // Branch analysis. bool isUnpredicatedTerminator(const MachineInstr &MI) const override; - bool isUnconditionalTailCall(const MachineInstr &MI) const override; - bool canMakeTailCallConditional(SmallVectorImpl &Cond, - const MachineInstr &TailCall) const override; - void replaceBranchWithTailCall(MachineBasicBlock &MBB, - SmallVectorImpl &Cond, - const MachineInstr &TailCall) const override; - bool analyzeBranch(MachineBasicBlock &MBB, MachineBasicBlock *&TBB, MachineBasicBlock *&FBB, SmallVectorImpl &Cond, Modified: projects/clang400-import/contrib/llvm/lib/Target/X86/X86MCInstLower.cpp ============================================================================== --- projects/clang400-import/contrib/llvm/lib/Target/X86/X86MCInstLower.cpp Sat Feb 11 13:25:57 2017 (r313642) +++ projects/clang400-import/contrib/llvm/lib/Target/X86/X86MCInstLower.cpp Sat Feb 11 13:58:05 2017 (r313643) @@ -498,16 +498,11 @@ ReSimplify: break; } - // TAILJMPd, TAILJMPd64, TailJMPd_cc - Lower to the correct jump instruction. + // TAILJMPd, TAILJMPd64 - Lower to the correct jump instruction. { unsigned Opcode; case X86::TAILJMPr: Opcode = X86::JMP32r; goto SetTailJmpOpcode; case X86::TAILJMPd: case X86::TAILJMPd64: Opcode = X86::JMP_1; goto SetTailJmpOpcode; - case X86::TAILJMPd_CC: - case X86::TAILJMPd64_CC: - Opcode = X86::GetCondBranchFromCond( - static_cast(MI->getOperand(1).getImm())); - goto SetTailJmpOpcode; SetTailJmpOpcode: MCOperand Saved = OutMI.getOperand(0); @@ -1281,11 +1276,9 @@ void X86AsmPrinter::EmitInstruction(cons case X86::TAILJMPr: case X86::TAILJMPm: case X86::TAILJMPd: - case X86::TAILJMPd_CC: case X86::TAILJMPr64: case X86::TAILJMPm64: case X86::TAILJMPd64: - case X86::TAILJMPd64_CC: case X86::TAILJMPr64_REX: case X86::TAILJMPm64_REX: // Lower these as normal, but add some comments. Modified: projects/clang400-import/lib/clang/include/clang/Basic/Version.inc ============================================================================== --- projects/clang400-import/lib/clang/include/clang/Basic/Version.inc Sat Feb 11 13:25:57 2017 (r313642) +++ projects/clang400-import/lib/clang/include/clang/Basic/Version.inc Sat Feb 11 13:58:05 2017 (r313643) @@ -8,4 +8,4 @@ #define CLANG_VENDOR "FreeBSD " -#define SVN_REVISION "294123" +#define SVN_REVISION "294803" Modified: projects/clang400-import/lib/clang/include/lld/Config/Version.inc ============================================================================== --- projects/clang400-import/lib/clang/include/lld/Config/Version.inc Sat Feb 11 13:25:57 2017 (r313642) +++ projects/clang400-import/lib/clang/include/lld/Config/Version.inc Sat Feb 11 13:58:05 2017 (r313643) @@ -4,5 +4,5 @@ #define LLD_VERSION_STRING "4.0.0" #define LLD_VERSION_MAJOR 4 #define LLD_VERSION_MINOR 0 -#define LLD_REVISION_STRING "294123" +#define LLD_REVISION_STRING "294803" #define LLD_REPOSITORY_STRING "FreeBSD" From owner-svn-src-projects@freebsd.org Sat Feb 11 14:04:21 2017 Return-Path: Delivered-To: svn-src-projects@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 252C3CDA015 for ; Sat, 11 Feb 2017 14:04:21 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id ABB7DCF6; Sat, 11 Feb 2017 14:04:20 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v1BE4J4m092935; Sat, 11 Feb 2017 14:04:19 GMT (envelope-from dim@FreeBSD.org) Received: (from dim@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v1BE4Imn092923; Sat, 11 Feb 2017 14:04:18 GMT (envelope-from dim@FreeBSD.org) Message-Id: <201702111404.v1BE4Imn092923@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: dim set sender to dim@FreeBSD.org using -f From: Dimitry Andric Date: Sat, 11 Feb 2017 14:04:18 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r313644 - in projects/clang400-import: . bin/ed cddl/contrib/opensolaris/lib/libdtrace/common contrib/byacc/test/yacc contrib/compiler-rt/lib/sanitizer_common contrib/elftoolchain/libel... X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 11 Feb 2017 14:04:21 -0000 Author: dim Date: Sat Feb 11 14:04:18 2017 New Revision: 313644 URL: https://svnweb.freebsd.org/changeset/base/313644 Log: Merge ^/head r313301 through r313643. Added: projects/clang400-import/contrib/netbsd-tests/dev/clock_subr/ - copied from r313643, head/contrib/netbsd-tests/dev/clock_subr/ projects/clang400-import/contrib/netbsd-tests/fs/vfs/t_mtime_otrunc.c - copied unchanged from r313643, head/contrib/netbsd-tests/fs/vfs/t_mtime_otrunc.c projects/clang400-import/contrib/netbsd-tests/fs/vfs/t_rwtoro.c - copied unchanged from r313643, head/contrib/netbsd-tests/fs/vfs/t_rwtoro.c projects/clang400-import/contrib/netbsd-tests/kernel/arch/ - copied from r313643, head/contrib/netbsd-tests/kernel/arch/ projects/clang400-import/contrib/netbsd-tests/lib/libc/gen/exect/ - copied from r313643, head/contrib/netbsd-tests/lib/libc/gen/exect/ projects/clang400-import/contrib/netbsd-tests/lib/libc/hash/t_hmac.c - copied unchanged from r313643, head/contrib/netbsd-tests/lib/libc/hash/t_hmac.c projects/clang400-import/contrib/netbsd-tests/lib/libpthread_dbg/ - copied from r313643, head/contrib/netbsd-tests/lib/libpthread_dbg/ projects/clang400-import/contrib/netbsd-tests/lib/librefuse/ - copied from r313643, head/contrib/netbsd-tests/lib/librefuse/ projects/clang400-import/contrib/netbsd-tests/net/carp/t_basic.sh - copied unchanged from r313643, head/contrib/netbsd-tests/net/carp/t_basic.sh projects/clang400-import/contrib/netbsd-tests/net/if_tun/ - copied from r313643, head/contrib/netbsd-tests/net/if_tun/ projects/clang400-import/contrib/netbsd-tests/net/if_vlan/ - copied from r313643, head/contrib/netbsd-tests/net/if_vlan/ projects/clang400-import/contrib/netbsd-tests/sys/uvm/ - copied from r313643, head/contrib/netbsd-tests/sys/uvm/ projects/clang400-import/contrib/netbsd-tests/usr.bin/mixerctl/ - copied from r313643, head/contrib/netbsd-tests/usr.bin/mixerctl/ projects/clang400-import/contrib/netbsd-tests/usr.bin/uniq/ - copied from r313643, head/contrib/netbsd-tests/usr.bin/uniq/ projects/clang400-import/lib/libnetbsd/glob.h - copied unchanged from r313643, head/lib/libnetbsd/glob.h projects/clang400-import/lib/libnetbsd/pthread.h - copied unchanged from r313643, head/lib/libnetbsd/pthread.h projects/clang400-import/lib/libnetbsd/sys/event.h - copied unchanged from r313643, head/lib/libnetbsd/sys/event.h projects/clang400-import/lib/libnetbsd/sys/types.h - copied unchanged from r313643, head/lib/libnetbsd/sys/types.h projects/clang400-import/lib/libnetbsd/sys/wait.h - copied unchanged from r313643, head/lib/libnetbsd/sys/wait.h projects/clang400-import/sbin/ifconfig/ifipsec.c - copied unchanged from r313643, head/sbin/ifconfig/ifipsec.c projects/clang400-import/share/man/man4/if_ipsec.4 - copied unchanged from r313643, head/share/man/man4/if_ipsec.4 projects/clang400-import/sys/arm/allwinner/a10_timer.c - copied unchanged from r313643, head/sys/arm/allwinner/a10_timer.c projects/clang400-import/sys/arm/altera/socfpga/socfpga_mp.h - copied unchanged from r313643, head/sys/arm/altera/socfpga/socfpga_mp.h projects/clang400-import/sys/contrib/dev/iwm/iwm-3160-17.fw.uu - copied unchanged from r313643, head/sys/contrib/dev/iwm/iwm-3160-17.fw.uu projects/clang400-import/sys/contrib/dev/iwm/iwm-7260-17.fw.uu - copied unchanged from r313643, head/sys/contrib/dev/iwm/iwm-7260-17.fw.uu projects/clang400-import/sys/contrib/dev/iwm/iwm-7265-17.fw.uu - copied unchanged from r313643, head/sys/contrib/dev/iwm/iwm-7265-17.fw.uu projects/clang400-import/sys/contrib/dev/iwm/iwm-8000C-17.fw.uu - copied unchanged from r313643, head/sys/contrib/dev/iwm/iwm-8000C-17.fw.uu projects/clang400-import/sys/dev/iwm/if_iwm_notif_wait.c - copied unchanged from r313643, head/sys/dev/iwm/if_iwm_notif_wait.c projects/clang400-import/sys/dev/iwm/if_iwm_notif_wait.h - copied unchanged from r313643, head/sys/dev/iwm/if_iwm_notif_wait.h projects/clang400-import/sys/dev/ixl/ixl_iw.c - copied unchanged from r313643, head/sys/dev/ixl/ixl_iw.c projects/clang400-import/sys/dev/ixl/ixl_iw.h - copied unchanged from r313643, head/sys/dev/ixl/ixl_iw.h projects/clang400-import/sys/dev/ixl/ixl_iw_int.h - copied unchanged from r313643, head/sys/dev/ixl/ixl_iw_int.h projects/clang400-import/sys/dev/ixl/ixl_pf_i2c.c - copied unchanged from r313643, head/sys/dev/ixl/ixl_pf_i2c.c projects/clang400-import/sys/modules/ipsec/ - copied from r313643, head/sys/modules/ipsec/ projects/clang400-import/sys/modules/tcp/tcpmd5/ - copied from r313643, head/sys/modules/tcp/tcpmd5/ projects/clang400-import/sys/net/if_ipsec.c - copied unchanged from r313643, head/sys/net/if_ipsec.c projects/clang400-import/sys/net/if_ipsec.h - copied unchanged from r313643, head/sys/net/if_ipsec.h projects/clang400-import/sys/netipsec/ipsec_mod.c - copied unchanged from r313643, head/sys/netipsec/ipsec_mod.c projects/clang400-import/sys/netipsec/ipsec_pcb.c - copied unchanged from r313643, head/sys/netipsec/ipsec_pcb.c projects/clang400-import/sys/netipsec/ipsec_support.h - copied unchanged from r313643, head/sys/netipsec/ipsec_support.h projects/clang400-import/sys/netipsec/subr_ipsec.c - copied unchanged from r313643, head/sys/netipsec/subr_ipsec.c projects/clang400-import/sys/netipsec/udpencap.c - copied unchanged from r313643, head/sys/netipsec/udpencap.c projects/clang400-import/usr.bin/indent/tests/ - copied from r313643, head/usr.bin/indent/tests/ projects/clang400-import/usr.bin/uniq/tests/ - copied from r313643, head/usr.bin/uniq/tests/ Deleted: projects/clang400-import/contrib/netbsd-tests/net/carp/t_basic.c projects/clang400-import/secure/usr.bin/bdes/ projects/clang400-import/sys/arm/allwinner/timer.c projects/clang400-import/sys/netinet/ip_ipsec.c projects/clang400-import/sys/netinet/ip_ipsec.h projects/clang400-import/sys/netinet6/ip6_ipsec.c projects/clang400-import/sys/netinet6/ip6_ipsec.h Modified: projects/clang400-import/ObsoleteFiles.inc projects/clang400-import/bin/ed/ed.1 projects/clang400-import/cddl/contrib/opensolaris/lib/libdtrace/common/dt_link.c projects/clang400-import/contrib/byacc/test/yacc/expr.oxout.tab.c projects/clang400-import/contrib/compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.cc projects/clang400-import/contrib/elftoolchain/libelftc/libelftc_bfdtarget.c projects/clang400-import/contrib/libarchive/libarchive/archive_read_support_format_cpio.c projects/clang400-import/contrib/libarchive/libarchive/archive_read_support_format_mtree.c projects/clang400-import/contrib/libarchive/libarchive/archive_read_support_format_warc.c projects/clang400-import/contrib/libarchive/libarchive/archive_read_support_format_xar.c projects/clang400-import/contrib/netbsd-tests/dev/audio/t_pad_output.bz2.uue projects/clang400-import/contrib/netbsd-tests/dev/cgd/t_cgd_3des.c projects/clang400-import/contrib/netbsd-tests/dev/cgd/t_cgd_aes.c projects/clang400-import/contrib/netbsd-tests/dev/cgd/t_cgd_blowfish.c projects/clang400-import/contrib/netbsd-tests/dev/scsipi/t_cd.c projects/clang400-import/contrib/netbsd-tests/dev/sysmon/t_swwdog.c projects/clang400-import/contrib/netbsd-tests/fs/common/h_fsmacros.h projects/clang400-import/contrib/netbsd-tests/fs/ffs/h_quota2_tests.c projects/clang400-import/contrib/netbsd-tests/fs/ffs/t_fifos.c projects/clang400-import/contrib/netbsd-tests/fs/ffs/t_mount.c projects/clang400-import/contrib/netbsd-tests/fs/ffs/t_quota2_1.c projects/clang400-import/contrib/netbsd-tests/fs/ffs/t_quota2_remount.c projects/clang400-import/contrib/netbsd-tests/fs/ffs/t_snapshot.c projects/clang400-import/contrib/netbsd-tests/fs/ffs/t_snapshot_log.c projects/clang400-import/contrib/netbsd-tests/fs/ffs/t_snapshot_v2.c projects/clang400-import/contrib/netbsd-tests/fs/hfs/t_pathconvert.c projects/clang400-import/contrib/netbsd-tests/fs/kernfs/t_basic.c projects/clang400-import/contrib/netbsd-tests/fs/lfs/t_pr.c projects/clang400-import/contrib/netbsd-tests/fs/msdosfs/t_snapshot.c projects/clang400-import/contrib/netbsd-tests/fs/nfs/t_mountd.c projects/clang400-import/contrib/netbsd-tests/fs/nullfs/t_basic.c projects/clang400-import/contrib/netbsd-tests/fs/ptyfs/t_nullpts.c projects/clang400-import/contrib/netbsd-tests/fs/ptyfs/t_ptyfs.c projects/clang400-import/contrib/netbsd-tests/fs/puffs/t_basic.c projects/clang400-import/contrib/netbsd-tests/fs/puffs/t_fuzz.c projects/clang400-import/contrib/netbsd-tests/fs/puffs/t_io.c projects/clang400-import/contrib/netbsd-tests/fs/tmpfs/t_mknod.sh projects/clang400-import/contrib/netbsd-tests/fs/tmpfs/t_readdir.sh projects/clang400-import/contrib/netbsd-tests/fs/tmpfs/t_renamerace.c projects/clang400-import/contrib/netbsd-tests/fs/umapfs/t_basic.c projects/clang400-import/contrib/netbsd-tests/fs/union/t_pr.c projects/clang400-import/contrib/netbsd-tests/fs/vfs/t_full.c projects/clang400-import/contrib/netbsd-tests/fs/vfs/t_io.c projects/clang400-import/contrib/netbsd-tests/fs/vfs/t_renamerace.c projects/clang400-import/contrib/netbsd-tests/fs/vfs/t_ro.c projects/clang400-import/contrib/netbsd-tests/fs/vfs/t_union.c projects/clang400-import/contrib/netbsd-tests/fs/vfs/t_unpriv.c projects/clang400-import/contrib/netbsd-tests/fs/vfs/t_vfsops.c projects/clang400-import/contrib/netbsd-tests/fs/vfs/t_vnops.c projects/clang400-import/contrib/netbsd-tests/include/sys/t_socket.c projects/clang400-import/contrib/netbsd-tests/kernel/kqueue/read/t_fifo.c projects/clang400-import/contrib/netbsd-tests/kernel/kqueue/read/t_file.c projects/clang400-import/contrib/netbsd-tests/kernel/kqueue/read/t_file2.c projects/clang400-import/contrib/netbsd-tests/kernel/kqueue/read/t_pipe.c projects/clang400-import/contrib/netbsd-tests/kernel/kqueue/read/t_ttypty.c projects/clang400-import/contrib/netbsd-tests/kernel/kqueue/t_ioctl.c projects/clang400-import/contrib/netbsd-tests/kernel/kqueue/t_proc1.c projects/clang400-import/contrib/netbsd-tests/kernel/kqueue/t_proc2.c projects/clang400-import/contrib/netbsd-tests/kernel/kqueue/t_proc3.c projects/clang400-import/contrib/netbsd-tests/kernel/kqueue/t_sig.c projects/clang400-import/contrib/netbsd-tests/kernel/kqueue/t_vnode.c projects/clang400-import/contrib/netbsd-tests/kernel/kqueue/write/t_fifo.c projects/clang400-import/contrib/netbsd-tests/kernel/kqueue/write/t_pipe.c projects/clang400-import/contrib/netbsd-tests/kernel/kqueue/write/t_ttypty.c projects/clang400-import/contrib/netbsd-tests/kernel/t_extent.c projects/clang400-import/contrib/netbsd-tests/kernel/t_filedesc.c projects/clang400-import/contrib/netbsd-tests/kernel/t_lock.c projects/clang400-import/contrib/netbsd-tests/kernel/t_mqueue.c projects/clang400-import/contrib/netbsd-tests/kernel/t_ptrace.c projects/clang400-import/contrib/netbsd-tests/kernel/t_ptrace_wait.c projects/clang400-import/contrib/netbsd-tests/kernel/t_pty.c projects/clang400-import/contrib/netbsd-tests/kernel/t_rnd.c projects/clang400-import/contrib/netbsd-tests/lib/libc/c063/t_mkfifoat.c projects/clang400-import/contrib/netbsd-tests/lib/libc/db/t_db.sh projects/clang400-import/contrib/netbsd-tests/lib/libc/gen/posix_spawn/t_spawnattr.c projects/clang400-import/contrib/netbsd-tests/lib/libc/gen/t_floatunditf.c projects/clang400-import/contrib/netbsd-tests/lib/libc/gen/t_glob.c projects/clang400-import/contrib/netbsd-tests/lib/libc/gen/t_humanize_number.c projects/clang400-import/contrib/netbsd-tests/lib/libc/gen/t_sleep.c projects/clang400-import/contrib/netbsd-tests/lib/libc/hash/h_hash.c projects/clang400-import/contrib/netbsd-tests/lib/libc/hash/t_sha2.c projects/clang400-import/contrib/netbsd-tests/lib/libc/locale/t_io.c projects/clang400-import/contrib/netbsd-tests/lib/libc/locale/t_mbtowc.c projects/clang400-import/contrib/netbsd-tests/lib/libc/regex/debug.c projects/clang400-import/contrib/netbsd-tests/lib/libc/regex/t_exhaust.c projects/clang400-import/contrib/netbsd-tests/lib/libc/regex/t_regex_att.c projects/clang400-import/contrib/netbsd-tests/lib/libc/rpc/t_rpc.c projects/clang400-import/contrib/netbsd-tests/lib/libc/setjmp/t_setjmp.c projects/clang400-import/contrib/netbsd-tests/lib/libc/setjmp/t_threadjmp.c projects/clang400-import/contrib/netbsd-tests/lib/libc/ssp/h_memset.c projects/clang400-import/contrib/netbsd-tests/lib/libc/ssp/h_read.c projects/clang400-import/contrib/netbsd-tests/lib/libc/stdlib/h_getopt.c projects/clang400-import/contrib/netbsd-tests/lib/libc/stdlib/h_getopt_long.c projects/clang400-import/contrib/netbsd-tests/lib/libc/stdlib/t_hsearch.c projects/clang400-import/contrib/netbsd-tests/lib/libc/stdlib/t_strtod.c projects/clang400-import/contrib/netbsd-tests/lib/libc/string/t_strlen.c projects/clang400-import/contrib/netbsd-tests/lib/libc/sys/t_clock_gettime.c projects/clang400-import/contrib/netbsd-tests/lib/libc/sys/t_connect.c projects/clang400-import/contrib/netbsd-tests/lib/libc/sys/t_dup.c projects/clang400-import/contrib/netbsd-tests/lib/libc/sys/t_getcontext.c projects/clang400-import/contrib/netbsd-tests/lib/libc/sys/t_getrusage.c projects/clang400-import/contrib/netbsd-tests/lib/libc/sys/t_kevent.c projects/clang400-import/contrib/netbsd-tests/lib/libc/sys/t_link.c projects/clang400-import/contrib/netbsd-tests/lib/libc/sys/t_listen.c projects/clang400-import/contrib/netbsd-tests/lib/libc/sys/t_mincore.c projects/clang400-import/contrib/netbsd-tests/lib/libc/sys/t_mlock.c projects/clang400-import/contrib/netbsd-tests/lib/libc/sys/t_mmap.c projects/clang400-import/contrib/netbsd-tests/lib/libc/sys/t_msgctl.c projects/clang400-import/contrib/netbsd-tests/lib/libc/sys/t_msgrcv.c projects/clang400-import/contrib/netbsd-tests/lib/libc/sys/t_msgsnd.c projects/clang400-import/contrib/netbsd-tests/lib/libc/sys/t_msync.c projects/clang400-import/contrib/netbsd-tests/lib/libc/sys/t_nanosleep.c projects/clang400-import/contrib/netbsd-tests/lib/libc/sys/t_pipe.c projects/clang400-import/contrib/netbsd-tests/lib/libc/sys/t_pipe2.c projects/clang400-import/contrib/netbsd-tests/lib/libc/sys/t_posix_fadvise.c projects/clang400-import/contrib/netbsd-tests/lib/libc/sys/t_revoke.c projects/clang400-import/contrib/netbsd-tests/lib/libc/sys/t_select.c projects/clang400-import/contrib/netbsd-tests/lib/libc/sys/t_setrlimit.c projects/clang400-import/contrib/netbsd-tests/lib/libc/sys/t_sigaction.c projects/clang400-import/contrib/netbsd-tests/lib/libc/sys/t_sigqueue.c projects/clang400-import/contrib/netbsd-tests/lib/libc/sys/t_socketpair.c projects/clang400-import/contrib/netbsd-tests/lib/libc/sys/t_stat.c projects/clang400-import/contrib/netbsd-tests/lib/libc/sys/t_timer_create.c projects/clang400-import/contrib/netbsd-tests/lib/libc/sys/t_truncate.c projects/clang400-import/contrib/netbsd-tests/lib/libc/sys/t_umask.c projects/clang400-import/contrib/netbsd-tests/lib/libc/sys/t_unlink.c projects/clang400-import/contrib/netbsd-tests/lib/libc/sys/t_wait.c projects/clang400-import/contrib/netbsd-tests/lib/libc/sys/t_wait_noproc.c projects/clang400-import/contrib/netbsd-tests/lib/libc/sys/t_write.c projects/clang400-import/contrib/netbsd-tests/lib/libm/t_ilogb.c projects/clang400-import/contrib/netbsd-tests/lib/libm/t_pow.c projects/clang400-import/contrib/netbsd-tests/lib/libm/t_precision.c projects/clang400-import/contrib/netbsd-tests/lib/libm/t_scalbn.c projects/clang400-import/contrib/netbsd-tests/lib/libposix/t_rename.c projects/clang400-import/contrib/netbsd-tests/lib/libpthread/h_common.h projects/clang400-import/contrib/netbsd-tests/lib/libpthread/t_condwait.c projects/clang400-import/contrib/netbsd-tests/lib/libpthread/t_detach.c projects/clang400-import/contrib/netbsd-tests/lib/libpthread/t_fork.c projects/clang400-import/contrib/netbsd-tests/lib/libpthread/t_fpu.c projects/clang400-import/contrib/netbsd-tests/lib/libpthread/t_join.c projects/clang400-import/contrib/netbsd-tests/lib/libpthread/t_mutex.c projects/clang400-import/contrib/netbsd-tests/lib/libpthread/t_once.c projects/clang400-import/contrib/netbsd-tests/lib/libpthread/t_sem.c projects/clang400-import/contrib/netbsd-tests/lib/libpthread/t_swapcontext.c projects/clang400-import/contrib/netbsd-tests/lib/librt/t_sem.c projects/clang400-import/contrib/netbsd-tests/lib/librumpclient/t_fd.c projects/clang400-import/contrib/netbsd-tests/lib/semaphore/sem.c projects/clang400-import/contrib/netbsd-tests/libexec/ld.elf_so/t_dlerror-cleared.c projects/clang400-import/contrib/netbsd-tests/libexec/ld.elf_so/t_dlerror-false.c projects/clang400-import/contrib/netbsd-tests/libexec/ld.elf_so/t_dlinfo.c projects/clang400-import/contrib/netbsd-tests/libexec/ld.elf_so/t_ifunc.c projects/clang400-import/contrib/netbsd-tests/modules/t_builtin.c projects/clang400-import/contrib/netbsd-tests/net/bpf/t_bpf.c projects/clang400-import/contrib/netbsd-tests/net/bpf/t_mbuf.c projects/clang400-import/contrib/netbsd-tests/net/bpfilter/t_bpfilter.c projects/clang400-import/contrib/netbsd-tests/net/bpfjit/t_bpfjit.c projects/clang400-import/contrib/netbsd-tests/net/bpfjit/t_cop.c projects/clang400-import/contrib/netbsd-tests/net/bpfjit/t_extmem.c projects/clang400-import/contrib/netbsd-tests/net/bpfjit/t_mbuf.c projects/clang400-import/contrib/netbsd-tests/net/config/netconfig.c projects/clang400-import/contrib/netbsd-tests/net/icmp/t_forward.c projects/clang400-import/contrib/netbsd-tests/net/icmp/t_ping.c projects/clang400-import/contrib/netbsd-tests/net/if/t_ifconfig.sh projects/clang400-import/contrib/netbsd-tests/net/if_loop/t_pr.c projects/clang400-import/contrib/netbsd-tests/net/ndp/t_ra.sh projects/clang400-import/contrib/netbsd-tests/net/net/t_raw.c projects/clang400-import/contrib/netbsd-tests/rump/modautoload/t_modautoload.c projects/clang400-import/contrib/netbsd-tests/rump/rumpkern/t_kern.c projects/clang400-import/contrib/netbsd-tests/rump/rumpkern/t_lwproc.c projects/clang400-import/contrib/netbsd-tests/rump/rumpkern/t_modcmd.c projects/clang400-import/contrib/netbsd-tests/rump/rumpkern/t_modlinkset.c projects/clang400-import/contrib/netbsd-tests/rump/rumpkern/t_signals.c projects/clang400-import/contrib/netbsd-tests/rump/rumpkern/t_threads.c projects/clang400-import/contrib/netbsd-tests/rump/rumpkern/t_tsleep.c projects/clang400-import/contrib/netbsd-tests/rump/rumpkern/t_vm.c projects/clang400-import/contrib/netbsd-tests/rump/rumpvfs/t_basic.c projects/clang400-import/contrib/netbsd-tests/rump/rumpvfs/t_etfs.c projects/clang400-import/contrib/netbsd-tests/rump/rumpvfs/t_p2kifs.c projects/clang400-import/contrib/netbsd-tests/usr.bin/grep/t_grep.sh projects/clang400-import/contrib/netbsd-tests/usr.sbin/mtree/t_mtree.sh projects/clang400-import/contrib/netcat/netcat.c projects/clang400-import/etc/mtree/BSD.tests.dist projects/clang400-import/lib/libc/stdlib/hcreate.3 projects/clang400-import/lib/libc/tests/hash/Makefile projects/clang400-import/lib/libc/tests/regex/Makefile projects/clang400-import/lib/libc/tests/stdio/printbasic_test.c projects/clang400-import/lib/libc/tests/stdio/printfloat_test.c projects/clang400-import/lib/libipsec/pfkey.c projects/clang400-import/lib/libipsec/pfkey_dump.c projects/clang400-import/lib/libnetbsd/sha1.h projects/clang400-import/lib/libnetbsd/sha2.h projects/clang400-import/lib/libnetbsd/util.h projects/clang400-import/lib/libstand/stand.h projects/clang400-import/lib/libstand/ufs.c projects/clang400-import/lib/libutil/Makefile projects/clang400-import/lib/libutil/hexdump.3 projects/clang400-import/libexec/rtld-elf/rtld.c projects/clang400-import/sbin/decryptcore/decryptcore.8 projects/clang400-import/sbin/decryptcore/decryptcore.c projects/clang400-import/sbin/fsck_ffs/fsutil.c projects/clang400-import/sbin/fsck_ffs/pass3.c projects/clang400-import/sbin/ifconfig/Makefile projects/clang400-import/sbin/setkey/setkey.8 projects/clang400-import/secure/usr.bin/Makefile projects/clang400-import/share/man/man4/Makefile projects/clang400-import/share/man/man4/cxgbe.4 projects/clang400-import/share/man/man4/ipsec.4 projects/clang400-import/share/man/man4/tcp.4 projects/clang400-import/share/man/man4/udp.4 projects/clang400-import/share/misc/committers-ports.dot projects/clang400-import/sys/amd64/conf/GENERIC projects/clang400-import/sys/amd64/conf/NOTES projects/clang400-import/sys/amd64/linux/linux_proto.h projects/clang400-import/sys/amd64/linux/linux_syscall.h projects/clang400-import/sys/amd64/linux/linux_syscalls.c projects/clang400-import/sys/amd64/linux/linux_sysent.c projects/clang400-import/sys/amd64/linux32/linux32_proto.h projects/clang400-import/sys/amd64/linux32/linux32_syscall.h projects/clang400-import/sys/amd64/linux32/linux32_syscalls.c projects/clang400-import/sys/amd64/linux32/linux32_sysent.c projects/clang400-import/sys/arm/allwinner/files.allwinner_up projects/clang400-import/sys/arm/altera/socfpga/socfpga_common.c projects/clang400-import/sys/arm/altera/socfpga/socfpga_machdep.c projects/clang400-import/sys/arm/altera/socfpga/socfpga_mp.c projects/clang400-import/sys/arm/arm/identcpu-v4.c projects/clang400-import/sys/arm/arm/identcpu-v6.c projects/clang400-import/sys/arm/arm/stack_machdep.c projects/clang400-import/sys/arm/conf/SOCKIT.common projects/clang400-import/sys/arm/include/atomic.h projects/clang400-import/sys/arm/include/counter.h projects/clang400-import/sys/arm64/arm64/cpufunc_asm.S projects/clang400-import/sys/arm64/arm64/exception.S projects/clang400-import/sys/arm64/arm64/genassym.c projects/clang400-import/sys/arm64/arm64/trap.c projects/clang400-import/sys/arm64/include/counter.h projects/clang400-import/sys/arm64/include/cpufunc.h projects/clang400-import/sys/arm64/include/frame.h projects/clang400-import/sys/boot/common/bcache.c projects/clang400-import/sys/boot/common/bootstrap.h projects/clang400-import/sys/boot/common/disk.c projects/clang400-import/sys/boot/common/part.c projects/clang400-import/sys/boot/common/part.h projects/clang400-import/sys/boot/efi/include/efilib.h projects/clang400-import/sys/boot/efi/libefi/Makefile projects/clang400-import/sys/boot/efi/libefi/devpath.c projects/clang400-import/sys/boot/efi/libefi/efipart.c projects/clang400-import/sys/boot/efi/loader/conf.c projects/clang400-import/sys/boot/efi/loader/devicename.c projects/clang400-import/sys/boot/efi/loader/main.c projects/clang400-import/sys/boot/i386/btx/lib/btxv86.h projects/clang400-import/sys/boot/i386/libi386/bioscd.c projects/clang400-import/sys/boot/i386/libi386/biosdisk.c projects/clang400-import/sys/boot/usb/storage/umass_loader.c projects/clang400-import/sys/boot/zfs/zfs.c projects/clang400-import/sys/cddl/contrib/opensolaris/uts/common/dtrace/dtrace_xoroshiro128_plus.h projects/clang400-import/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vnops.c projects/clang400-import/sys/cddl/contrib/opensolaris/uts/common/sys/vnode.h projects/clang400-import/sys/compat/cloudabi/cloudabi_mem.c projects/clang400-import/sys/compat/cloudabi32/cloudabi32_proto.h projects/clang400-import/sys/compat/cloudabi32/cloudabi32_syscall.h projects/clang400-import/sys/compat/cloudabi32/cloudabi32_syscalls.c projects/clang400-import/sys/compat/cloudabi32/cloudabi32_sysent.c projects/clang400-import/sys/compat/cloudabi64/cloudabi64_proto.h projects/clang400-import/sys/compat/cloudabi64/cloudabi64_syscall.h projects/clang400-import/sys/compat/cloudabi64/cloudabi64_syscalls.c projects/clang400-import/sys/compat/cloudabi64/cloudabi64_sysent.c projects/clang400-import/sys/compat/freebsd32/freebsd32_misc.c projects/clang400-import/sys/compat/freebsd32/freebsd32_proto.h projects/clang400-import/sys/compat/freebsd32/freebsd32_syscall.h projects/clang400-import/sys/compat/freebsd32/freebsd32_syscalls.c projects/clang400-import/sys/compat/freebsd32/freebsd32_sysent.c projects/clang400-import/sys/compat/linux/linux_misc.c projects/clang400-import/sys/compat/linux/linux_mmap.c projects/clang400-import/sys/compat/svr4/svr4_proto.h projects/clang400-import/sys/compat/svr4/svr4_syscall.h projects/clang400-import/sys/compat/svr4/svr4_syscallnames.c projects/clang400-import/sys/compat/svr4/svr4_sysent.c projects/clang400-import/sys/conf/NOTES projects/clang400-import/sys/conf/files projects/clang400-import/sys/conf/files.amd64 projects/clang400-import/sys/conf/files.arm projects/clang400-import/sys/conf/files.arm64 projects/clang400-import/sys/conf/files.i386 projects/clang400-import/sys/conf/files.mips projects/clang400-import/sys/conf/files.powerpc projects/clang400-import/sys/conf/files.riscv projects/clang400-import/sys/conf/files.sparc64 projects/clang400-import/sys/conf/kern.opts.mk projects/clang400-import/sys/conf/options projects/clang400-import/sys/conf/options.amd64 projects/clang400-import/sys/contrib/vchiq/interface/compat/vchi_bsd.h projects/clang400-import/sys/dev/acpica/acpi_cpu.c projects/clang400-import/sys/dev/ath/ath_hal/ar5210/ar5210.h projects/clang400-import/sys/dev/ath/ath_hal/ar5210/ar5210_attach.c projects/clang400-import/sys/dev/ath/ath_hal/ar5210/ar5210_misc.c projects/clang400-import/sys/dev/ath/ath_hal/ar5211/ar5211.h projects/clang400-import/sys/dev/ath/ath_hal/ar5211/ar5211_attach.c projects/clang400-import/sys/dev/ath/ath_hal/ar5211/ar5211_misc.c projects/clang400-import/sys/dev/ath/if_ath.c projects/clang400-import/sys/dev/ath/if_ath_beacon.c projects/clang400-import/sys/dev/ath/if_ath_debug.h projects/clang400-import/sys/dev/ath/if_athvar.h projects/clang400-import/sys/dev/cxgbe/t4_main.c projects/clang400-import/sys/dev/cxgbe/tom/t4_connect.c projects/clang400-import/sys/dev/cxgbe/tom/t4_listen.c projects/clang400-import/sys/dev/cxgbe/tom/t4_tom.c projects/clang400-import/sys/dev/cxgbe/tom/t4_tom.h projects/clang400-import/sys/dev/e1000/if_em.c projects/clang400-import/sys/dev/gxemul/disk/gxemul_disk.c projects/clang400-import/sys/dev/hpt27xx/hpt27xx_osm_bsd.c projects/clang400-import/sys/dev/hpt27xx/ldm.h projects/clang400-import/sys/dev/hptnr/hptnr_osm_bsd.c projects/clang400-import/sys/dev/hptnr/ldm.h projects/clang400-import/sys/dev/hptrr/hptrr_osm_bsd.c projects/clang400-import/sys/dev/hptrr/ldm.h projects/clang400-import/sys/dev/isp/isp.c projects/clang400-import/sys/dev/iwm/if_iwm.c projects/clang400-import/sys/dev/iwm/if_iwm_debug.h projects/clang400-import/sys/dev/iwm/if_iwm_mac_ctxt.c projects/clang400-import/sys/dev/iwm/if_iwm_pcie_trans.c projects/clang400-import/sys/dev/iwm/if_iwm_pcie_trans.h projects/clang400-import/sys/dev/iwm/if_iwm_phy_ctxt.c projects/clang400-import/sys/dev/iwm/if_iwm_phy_db.c projects/clang400-import/sys/dev/iwm/if_iwm_phy_db.h projects/clang400-import/sys/dev/iwm/if_iwm_scan.c projects/clang400-import/sys/dev/iwm/if_iwm_scan.h projects/clang400-import/sys/dev/iwm/if_iwm_util.c projects/clang400-import/sys/dev/iwm/if_iwm_util.h projects/clang400-import/sys/dev/iwm/if_iwmreg.h projects/clang400-import/sys/dev/iwm/if_iwmvar.h projects/clang400-import/sys/dev/ixl/i40e_adminq.c projects/clang400-import/sys/dev/ixl/i40e_adminq_cmd.h projects/clang400-import/sys/dev/ixl/i40e_common.c projects/clang400-import/sys/dev/ixl/i40e_devids.h projects/clang400-import/sys/dev/ixl/i40e_lan_hmc.c projects/clang400-import/sys/dev/ixl/i40e_nvm.c projects/clang400-import/sys/dev/ixl/i40e_osdep.c projects/clang400-import/sys/dev/ixl/i40e_osdep.h projects/clang400-import/sys/dev/ixl/i40e_prototype.h projects/clang400-import/sys/dev/ixl/i40e_type.h projects/clang400-import/sys/dev/ixl/i40e_virtchnl.h projects/clang400-import/sys/dev/ixl/if_ixl.c projects/clang400-import/sys/dev/ixl/if_ixlv.c projects/clang400-import/sys/dev/ixl/ixl.h projects/clang400-import/sys/dev/ixl/ixl_pf.h projects/clang400-import/sys/dev/ixl/ixl_pf_iov.c projects/clang400-import/sys/dev/ixl/ixl_pf_iov.h projects/clang400-import/sys/dev/ixl/ixl_pf_main.c projects/clang400-import/sys/dev/ixl/ixl_txrx.c projects/clang400-import/sys/dev/ixl/ixlv.h projects/clang400-import/sys/dev/ixl/ixlvc.c projects/clang400-import/sys/dev/mlx4/device.h projects/clang400-import/sys/dev/mlx4/mlx4_core/fw.h projects/clang400-import/sys/dev/mlx4/mlx4_core/mlx4_eq.c projects/clang400-import/sys/dev/mlx4/mlx4_core/mlx4_fw.c projects/clang400-import/sys/dev/mlx4/mlx4_core/mlx4_main.c projects/clang400-import/sys/dev/mlx4/mlx4_core/mlx4_profile.c projects/clang400-import/sys/dev/mlx4/mlx4_core/mlx4_qp.c projects/clang400-import/sys/dev/mlx4/mlx4_core/mlx4_resource_tracker.c projects/clang400-import/sys/dev/rt/if_rt.c projects/clang400-import/sys/dev/rt/if_rtreg.h projects/clang400-import/sys/dev/rt/if_rtvar.h projects/clang400-import/sys/dev/vt/vt_buf.c projects/clang400-import/sys/geom/journal/g_journal.c projects/clang400-import/sys/i386/ibcs2/ibcs2_proto.h projects/clang400-import/sys/i386/ibcs2/ibcs2_syscall.h projects/clang400-import/sys/i386/ibcs2/ibcs2_sysent.c projects/clang400-import/sys/i386/linux/linux_proto.h projects/clang400-import/sys/i386/linux/linux_syscall.h projects/clang400-import/sys/i386/linux/linux_syscalls.c projects/clang400-import/sys/i386/linux/linux_sysent.c projects/clang400-import/sys/kern/imgact_elf.c projects/clang400-import/sys/kern/init_main.c projects/clang400-import/sys/kern/init_sysent.c projects/clang400-import/sys/kern/kern_mutex.c projects/clang400-import/sys/kern/kern_rwlock.c projects/clang400-import/sys/kern/kern_sx.c projects/clang400-import/sys/kern/kern_thread.c projects/clang400-import/sys/kern/makesyscalls.sh projects/clang400-import/sys/kern/subr_intr.c projects/clang400-import/sys/kern/subr_lock.c projects/clang400-import/sys/kern/subr_sfbuf.c projects/clang400-import/sys/kern/syscalls.c projects/clang400-import/sys/kern/vfs_mountroot.c projects/clang400-import/sys/kern/vfs_vnops.c projects/clang400-import/sys/mips/conf/ONIONOMEGA.hints projects/clang400-import/sys/mips/include/atomic.h projects/clang400-import/sys/modules/Makefile projects/clang400-import/sys/modules/dtb/allwinner/Makefile projects/clang400-import/sys/modules/iwm/Makefile projects/clang400-import/sys/modules/iwmfw/iwm3160fw/Makefile projects/clang400-import/sys/modules/iwmfw/iwm7260fw/Makefile projects/clang400-import/sys/modules/iwmfw/iwm7265fw/Makefile projects/clang400-import/sys/modules/ixl/Makefile projects/clang400-import/sys/modules/ixlv/Makefile projects/clang400-import/sys/net/pfkeyv2.h projects/clang400-import/sys/net/route.h projects/clang400-import/sys/net80211/ieee80211_freebsd.c projects/clang400-import/sys/net80211/ieee80211_node.h projects/clang400-import/sys/net80211/ieee80211_output.c projects/clang400-import/sys/net80211/ieee80211_proto.h projects/clang400-import/sys/net80211/ieee80211_sta.c projects/clang400-import/sys/net80211/ieee80211_var.h projects/clang400-import/sys/netinet/in.h projects/clang400-import/sys/netinet/in_pcb.c projects/clang400-import/sys/netinet/in_pcb.h projects/clang400-import/sys/netinet/in_proto.c projects/clang400-import/sys/netinet/ip_input.c projects/clang400-import/sys/netinet/ip_output.c projects/clang400-import/sys/netinet/raw_ip.c projects/clang400-import/sys/netinet/sctp_input.c projects/clang400-import/sys/netinet/sctp_os_bsd.h projects/clang400-import/sys/netinet/sctp_pcb.c projects/clang400-import/sys/netinet/tcp_input.c projects/clang400-import/sys/netinet/tcp_output.c projects/clang400-import/sys/netinet/tcp_stacks/fastpath.c projects/clang400-import/sys/netinet/tcp_subr.c projects/clang400-import/sys/netinet/tcp_syncache.c projects/clang400-import/sys/netinet/tcp_usrreq.c projects/clang400-import/sys/netinet/tcp_var.h projects/clang400-import/sys/netinet/udp.h projects/clang400-import/sys/netinet/udp_usrreq.c projects/clang400-import/sys/netinet6/in6.h projects/clang400-import/sys/netinet6/in6_pcb.c projects/clang400-import/sys/netinet6/in6_pcb.h projects/clang400-import/sys/netinet6/in6_proto.c projects/clang400-import/sys/netinet6/ip6_forward.c projects/clang400-import/sys/netinet6/ip6_input.c projects/clang400-import/sys/netinet6/ip6_output.c projects/clang400-import/sys/netinet6/raw_ip6.c projects/clang400-import/sys/netinet6/sctp6_usrreq.c projects/clang400-import/sys/netinet6/udp6_usrreq.c projects/clang400-import/sys/netipsec/ipsec.c projects/clang400-import/sys/netipsec/ipsec.h projects/clang400-import/sys/netipsec/ipsec6.h projects/clang400-import/sys/netipsec/ipsec_input.c projects/clang400-import/sys/netipsec/ipsec_mbuf.c projects/clang400-import/sys/netipsec/ipsec_output.c projects/clang400-import/sys/netipsec/key.c projects/clang400-import/sys/netipsec/key.h projects/clang400-import/sys/netipsec/key_debug.c projects/clang400-import/sys/netipsec/key_debug.h projects/clang400-import/sys/netipsec/keydb.h projects/clang400-import/sys/netipsec/keysock.c projects/clang400-import/sys/netipsec/xform.h projects/clang400-import/sys/netipsec/xform_ah.c projects/clang400-import/sys/netipsec/xform_esp.c projects/clang400-import/sys/netipsec/xform_ipcomp.c projects/clang400-import/sys/netipsec/xform_tcp.c projects/clang400-import/sys/netpfil/ipfw/dn_heap.h projects/clang400-import/sys/sys/elf_generic.h projects/clang400-import/sys/sys/file.h projects/clang400-import/sys/sys/lock.h projects/clang400-import/sys/sys/lockstat.h projects/clang400-import/sys/sys/proc.h projects/clang400-import/sys/sys/rwlock.h projects/clang400-import/sys/sys/sdt.h projects/clang400-import/sys/sys/syscall.h projects/clang400-import/sys/sys/syscall.mk projects/clang400-import/sys/sys/sysproto.h projects/clang400-import/sys/ufs/ufs/dir.h projects/clang400-import/sys/ufs/ufs/dirhash.h projects/clang400-import/sys/ufs/ufs/ufs_lookup.c projects/clang400-import/sys/vm/vm_extern.h projects/clang400-import/sys/vm/vm_mmap.c projects/clang400-import/sys/x86/x86/cpu_machdep.c projects/clang400-import/tests/sys/fs/tmpfs/Makefile projects/clang400-import/tests/sys/netinet/fibs_test.sh projects/clang400-import/tests/sys/netinet/udp_dontroute.c projects/clang400-import/tests/sys/vm/mmap_test.c projects/clang400-import/tools/tools/nanobsd/embedded/common projects/clang400-import/usr.bin/Makefile projects/clang400-import/usr.bin/calendar/calendars/calendar.freebsd projects/clang400-import/usr.bin/enigma/enigma.1 projects/clang400-import/usr.bin/gcore/elfcore.c projects/clang400-import/usr.bin/gzip/unxz.c projects/clang400-import/usr.bin/netstat/inet.c projects/clang400-import/usr.bin/sed/tests/sed2_test.sh projects/clang400-import/usr.bin/uniq/Makefile projects/clang400-import/usr.sbin/arp/arp.c projects/clang400-import/usr.sbin/bsdinstall/partedit/scripted.c projects/clang400-import/usr.sbin/bsdinstall/scripts/auto projects/clang400-import/usr.sbin/kldxref/ef.c projects/clang400-import/usr.sbin/makefs/ffs.c projects/clang400-import/usr.sbin/makefs/ffs/buf.c projects/clang400-import/usr.sbin/makefs/ffs/buf.h projects/clang400-import/usr.sbin/makefs/ffs/ffs_alloc.c projects/clang400-import/usr.sbin/makefs/ffs/ffs_balloc.c projects/clang400-import/usr.sbin/syslogd/syslogd.c Directory Properties: projects/clang400-import/ (props changed) projects/clang400-import/cddl/ (props changed) projects/clang400-import/cddl/contrib/opensolaris/ (props changed) projects/clang400-import/contrib/byacc/ (props changed) projects/clang400-import/contrib/compiler-rt/ (props changed) projects/clang400-import/contrib/elftoolchain/ (props changed) projects/clang400-import/contrib/libarchive/ (props changed) projects/clang400-import/contrib/llvm/ (props changed) projects/clang400-import/contrib/llvm/tools/lld/ (props changed) projects/clang400-import/contrib/netbsd-tests/ (props changed) projects/clang400-import/contrib/netcat/ (props changed) projects/clang400-import/sys/cddl/contrib/opensolaris/ (props changed) Modified: projects/clang400-import/ObsoleteFiles.inc ============================================================================== --- projects/clang400-import/ObsoleteFiles.inc Sat Feb 11 13:58:05 2017 (r313643) +++ projects/clang400-import/ObsoleteFiles.inc Sat Feb 11 14:04:18 2017 (r313644) @@ -151,6 +151,13 @@ OLD_FILES+=usr/lib/clang/3.9.1/lib/freeb OLD_DIRS+=usr/lib/clang/3.9.1/lib/freebsd OLD_DIRS+=usr/lib/clang/3.9.1/lib OLD_DIRS+=usr/lib/clang/3.9.1 +# 20170206: remove bdes(1) +OLD_FILES+=usr/bin/bdes +OLD_FILES+=usr/lib/debug/usr/bin/bdes.debug +OLD_FILES+=usr/share/man/man1/bdes.1.gz +# 20170206: merged projects/ipsec +OLD_FILES+=usr/include/netinet/ip_ipsec.h +OLD_FILES+=usr/include/netinet6/ip6_ipsec.h # 20170128: remove pc98 support OLD_FILES+=usr/include/dev/ic/i8251.h OLD_FILES+=usr/include/dev/ic/i8255.h Modified: projects/clang400-import/bin/ed/ed.1 ============================================================================== --- projects/clang400-import/bin/ed/ed.1 Sat Feb 11 13:58:05 2017 (r313643) +++ projects/clang400-import/bin/ed/ed.1 Sat Feb 11 14:04:18 2017 (r313644) @@ -1,5 +1,5 @@ .\" $FreeBSD$ -.Dd October 2, 2016 +.Dd February 5, 2017 .Dt ED 1 .Os .Sh NAME @@ -871,9 +871,6 @@ writes. If a newline alone is entered as the key, then encryption is turned off. Otherwise, echoing is disabled while a key is read. -Encryption/decryption is done using the -.Xr bdes 1 -algorithm. .It Pf (.+1)z n Scroll .Ar n @@ -962,7 +959,6 @@ results in an error. If the command is entered a second time, it succeeds, but any changes to the buffer are lost. .Sh SEE ALSO -.Xr bdes 1 , .Xr sed 1 , .Xr sh 1 , .Xr vi 1 , Modified: projects/clang400-import/cddl/contrib/opensolaris/lib/libdtrace/common/dt_link.c ============================================================================== --- projects/clang400-import/cddl/contrib/opensolaris/lib/libdtrace/common/dt_link.c Sat Feb 11 13:58:05 2017 (r313643) +++ projects/clang400-import/cddl/contrib/opensolaris/lib/libdtrace/common/dt_link.c Sat Feb 11 14:04:18 2017 (r313644) @@ -261,7 +261,7 @@ printf("%s:%s(%d): DOODAD\n",__FUNCTION_ sym->st_value = 0; sym->st_size = 0; sym->st_info = ELF32_ST_INFO(STB_GLOBAL, STT_FUNC); - sym->st_other = ELF32_ST_VISIBILITY(STV_HIDDEN); + sym->st_other = 0; sym->st_shndx = SHN_UNDEF; rel++; @@ -445,7 +445,7 @@ prepare_elf64(dtrace_hdl_t *dtp, const d sym->st_value = 0; sym->st_size = 0; sym->st_info = GELF_ST_INFO(STB_GLOBAL, STT_FUNC); - sym->st_other = ELF64_ST_VISIBILITY(STV_HIDDEN); + sym->st_other = 0; sym->st_shndx = SHN_UNDEF; rel++; @@ -1187,6 +1187,7 @@ process_obj(dtrace_hdl_t *dtp, const cha static const char dt_enabled[] = "enabled"; static const char dt_symprefix[] = "$dtrace"; static const char dt_symfmt[] = "%s%ld.%s"; + static const char dt_weaksymfmt[] = "%s.%s"; char probename[DTRACE_NAMELEN]; int fd, i, ndx, eprobe, mod = 0; Elf *elf = NULL; @@ -1548,44 +1549,46 @@ process_obj(dtrace_hdl_t *dtp, const cha if (dt_symtab_lookup(data_sym, osym, isym, rela.r_offset, shdr_rel.sh_info, &fsym, - (emachine1 == EM_PPC64), elf) != 0 && - dt_symtab_lookup(data_sym, 0, osym, + (emachine1 == EM_PPC64), elf) == 0) { + if (fsym.st_name > data_str->d_size) + goto err; + + r = s = (char *) data_str->d_buf + fsym.st_name; + assert(strstr(s, dt_symprefix) == s); + s = strchr(s, '.') + 1; + } else if (dt_symtab_lookup(data_sym, 0, osym, rela.r_offset, shdr_rel.sh_info, &fsym, - (emachine1 == EM_PPC64), elf) != 0) - goto err; - - if (fsym.st_name > data_str->d_size) - goto err; + (emachine1 == EM_PPC64), elf) == 0) { + u_int bind; - assert(GELF_ST_TYPE(fsym.st_info) == STT_FUNC); - - /* - * If this is our first time encountering this symbol, - * emit an alias. - */ - s = (char *)data_str->d_buf + fsym.st_name; - - if (strncmp(s, dt_symprefix, - sizeof (dt_symprefix) - 1) != 0) { - u_int bind = GELF_ST_BIND(fsym.st_info); + bind = GELF_ST_BIND(fsym.st_info) == STB_WEAK ? + STB_WEAK : STB_GLOBAL; + /* + * Emit an alias for the symbol. It needs to be + * non-preemptible so that .SUNW_dof relocations + * may be resolved at static link time. Aliases + * of weak symbols are given a non-unique name + * so that they may be merged by the linker. + */ dsym = fsym; dsym.st_name = istr; - dsym.st_info = GELF_ST_INFO(bind == STB_LOCAL ? - STB_GLOBAL : bind, STT_FUNC); + dsym.st_info = GELF_ST_INFO(bind, STT_FUNC); dsym.st_other = GELF_ST_VISIBILITY(STV_HIDDEN); (void) gelf_update_sym(data_sym, isym, &dsym); r = (char *) data_str->d_buf + istr; - istr += 1 + sprintf(r, dt_symfmt, dt_symprefix, objkey, - s); + s = (char *) data_str->d_buf + fsym.st_name; + if (bind == STB_WEAK) + istr += sprintf(r, dt_weaksymfmt, + dt_symprefix, s); + else + istr += sprintf(r, dt_symfmt, + dt_symprefix, objkey, s); + istr++; isym++; assert(isym <= nsym); - } else { - r = s; - s = strchr(s, '.'); - assert(s != NULL); - s++; - } + } else + goto err; if ((pvp = dt_provider_lookup(dtp, pname)) == NULL) { return (dt_link_error(dtp, elf, fd, bufs, Modified: projects/clang400-import/contrib/byacc/test/yacc/expr.oxout.tab.c ============================================================================== --- projects/clang400-import/contrib/byacc/test/yacc/expr.oxout.tab.c Sat Feb 11 13:58:05 2017 (r313643) +++ projects/clang400-import/contrib/byacc/test/yacc/expr.oxout.tab.c Sat Feb 11 14:04:18 2017 (r313644) @@ -178,7 +178,7 @@ extern int YYPARSE_DECL(); #define ID 257 #define CONST 258 #define YYERRCODE 256 -typedef short YYINT; +typedef int YYINT; static const YYINT expr.oxout_lhs[] = { -1, 2, 0, 1, 3, 3, 3, 3, 3, 3, 3, }; Modified: projects/clang400-import/contrib/compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.cc ============================================================================== --- projects/clang400-import/contrib/compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.cc Sat Feb 11 13:58:05 2017 (r313643) +++ projects/clang400-import/contrib/compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.cc Sat Feb 11 14:04:18 2017 (r313644) @@ -23,11 +23,6 @@ #ifdef _FILE_OFFSET_BITS #undef _FILE_OFFSET_BITS #endif -#if SANITIZER_FREEBSD -#define _WANT_RTENTRY -#include -#include -#endif #include #include #include @@ -433,6 +428,7 @@ unsigned struct_ElfW_Phdr_sz = sizeof(El unsigned struct_input_absinfo_sz = sizeof(struct input_absinfo); unsigned struct_input_id_sz = sizeof(struct input_id); unsigned struct_mtpos_sz = sizeof(struct mtpos); + unsigned struct_rtentry_sz = sizeof(struct rtentry); unsigned struct_termio_sz = sizeof(struct termio); unsigned struct_vt_consize_sz = sizeof(struct vt_consize); unsigned struct_vt_sizes_sz = sizeof(struct vt_sizes); @@ -452,7 +448,6 @@ unsigned struct_ElfW_Phdr_sz = sizeof(El unsigned struct_midi_info_sz = sizeof(struct midi_info); unsigned struct_mtget_sz = sizeof(struct mtget); unsigned struct_mtop_sz = sizeof(struct mtop); - unsigned struct_rtentry_sz = sizeof(struct rtentry); unsigned struct_sbi_instrument_sz = sizeof(struct sbi_instrument); unsigned struct_seq_event_rec_sz = sizeof(struct seq_event_rec); unsigned struct_synth_info_sz = sizeof(struct synth_info); Modified: projects/clang400-import/contrib/elftoolchain/libelftc/libelftc_bfdtarget.c ============================================================================== --- projects/clang400-import/contrib/elftoolchain/libelftc/libelftc_bfdtarget.c Sat Feb 11 13:58:05 2017 (r313643) +++ projects/clang400-import/contrib/elftoolchain/libelftc/libelftc_bfdtarget.c Sat Feb 11 14:04:18 2017 (r313644) @@ -127,6 +127,15 @@ struct _Elftc_Bfd_Target _libelftc_targe }, { + .bt_name = "elf32-powerpc-freebsd", + .bt_type = ETF_ELF, + .bt_byteorder = ELFDATA2MSB, + .bt_elfclass = ELFCLASS32, + .bt_machine = EM_PPC, + .bt_osabi = ELFOSABI_FREEBSD, + }, + + { .bt_name = "elf32-powerpcle", .bt_type = ETF_ELF, .bt_byteorder = ELFDATA2LSB, @@ -290,6 +299,15 @@ struct _Elftc_Bfd_Target _libelftc_targe }, { + .bt_name = "elf64-powerpc-freebsd", + .bt_type = ETF_ELF, + .bt_byteorder = ELFDATA2MSB, + .bt_elfclass = ELFCLASS64, + .bt_machine = EM_PPC64, + .bt_osabi = ELFOSABI_FREEBSD, + }, + + { .bt_name = "elf64-powerpcle", .bt_type = ETF_ELF, .bt_byteorder = ELFDATA2LSB, Modified: projects/clang400-import/contrib/libarchive/libarchive/archive_read_support_format_cpio.c ============================================================================== --- projects/clang400-import/contrib/libarchive/libarchive/archive_read_support_format_cpio.c Sat Feb 11 13:58:05 2017 (r313643) +++ projects/clang400-import/contrib/libarchive/libarchive/archive_read_support_format_cpio.c Sat Feb 11 14:04:18 2017 (r313644) @@ -356,7 +356,7 @@ archive_read_format_cpio_read_header(str struct archive_entry *entry) { struct cpio *cpio; - const void *h; + const void *h, *hl; struct archive_string_conv *sconv; size_t namelength; size_t name_pad; @@ -406,11 +406,11 @@ archive_read_format_cpio_read_header(str "Rejecting malformed cpio archive: symlink contents exceed 1 megabyte"); return (ARCHIVE_FATAL); } - h = __archive_read_ahead(a, + hl = __archive_read_ahead(a, (size_t)cpio->entry_bytes_remaining, NULL); - if (h == NULL) + if (hl == NULL) return (ARCHIVE_FATAL); - if (archive_entry_copy_symlink_l(entry, (const char *)h, + if (archive_entry_copy_symlink_l(entry, (const char *)hl, (size_t)cpio->entry_bytes_remaining, sconv) != 0) { if (errno == ENOMEM) { archive_set_error(&a->archive, ENOMEM, @@ -434,7 +434,7 @@ archive_read_format_cpio_read_header(str * header. XXX */ /* Compare name to "TRAILER!!!" to test for end-of-archive. */ - if (namelength == 11 && memcmp((const char *)h, "TRAILER!!!", + if (namelength == 11 && strncmp((const char *)h, "TRAILER!!!", 11) == 0) { /* TODO: Store file location of start of block. */ archive_clear_error(&a->archive); Modified: projects/clang400-import/contrib/libarchive/libarchive/archive_read_support_format_mtree.c ============================================================================== --- projects/clang400-import/contrib/libarchive/libarchive/archive_read_support_format_mtree.c Sat Feb 11 13:58:05 2017 (r313643) +++ projects/clang400-import/contrib/libarchive/libarchive/archive_read_support_format_mtree.c Sat Feb 11 14:04:18 2017 (r313644) @@ -1608,8 +1608,11 @@ parse_keyword(struct archive_read *a, st if (*val == '.') { ++val; ns = (long)mtree_atol10(&val); - } else - ns = 0; + if (ns < 0) + ns = 0; + else if (ns > 999999999) + ns = 999999999; + } if (m > my_time_t_max) m = my_time_t_max; else if (m < my_time_t_min) Modified: projects/clang400-import/contrib/libarchive/libarchive/archive_read_support_format_warc.c ============================================================================== --- projects/clang400-import/contrib/libarchive/libarchive/archive_read_support_format_warc.c Sat Feb 11 13:58:05 2017 (r313643) +++ projects/clang400-import/contrib/libarchive/libarchive/archive_read_support_format_warc.c Sat Feb 11 14:04:18 2017 (r313644) @@ -134,8 +134,8 @@ static ssize_t _warc_rdlen(const char *b static time_t _warc_rdrtm(const char *buf, size_t bsz); static time_t _warc_rdmtm(const char *buf, size_t bsz); static const char *_warc_find_eoh(const char *buf, size_t bsz); +static const char *_warc_find_eol(const char *buf, size_t bsz); - int archive_read_support_format_warc(struct archive *_a) { @@ -198,8 +198,8 @@ _warc_bid(struct archive_read *a, int be /* otherwise snarf the record's version number */ ver = _warc_rdver(hdr, nrd); - if (ver == 0U || ver > 10000U) { - /* oh oh oh, best not to wager ... */ + if (ver < 1200U || ver > 10000U) { + /* we only support WARC 0.12 to 1.0 */ return -1; } @@ -254,23 +254,32 @@ start_over: &a->archive, ARCHIVE_ERRNO_MISC, "Bad record header"); return (ARCHIVE_FATAL); - } else if ((ver = _warc_rdver(buf, eoh - buf)) > 10000U) { - /* nawww, I wish they promised backward compatibility - * anyhoo, in their infinite wisdom the 28500 guys might - * come up with something we can't possibly handle so - * best end things here */ + } + ver = _warc_rdver(buf, eoh - buf); + /* we currently support WARC 0.12 to 1.0 */ + if (ver == 0U) { archive_set_error( &a->archive, ARCHIVE_ERRNO_MISC, - "Unsupported record version"); + "Invalid record version"); return (ARCHIVE_FATAL); - } else if ((cntlen = _warc_rdlen(buf, eoh - buf)) < 0) { + } else if (ver < 1200U || ver > 10000U) { + archive_set_error( + &a->archive, ARCHIVE_ERRNO_MISC, + "Unsupported record version: %u.%u", + ver / 10000, (ver % 10000) / 100); + return (ARCHIVE_FATAL); + } + cntlen = _warc_rdlen(buf, eoh - buf); + if (cntlen < 0) { /* nightmare! the specs say content-length is mandatory * so I don't feel overly bad stopping the reader here */ archive_set_error( &a->archive, EINVAL, "Bad content length"); return (ARCHIVE_FATAL); - } else if ((rtime = _warc_rdrtm(buf, eoh - buf)) == (time_t)-1) { + } + rtime = _warc_rdrtm(buf, eoh - buf); + if (rtime == (time_t)-1) { /* record time is mandatory as per WARC/1.0, * so just barf here, fast and loud */ archive_set_error( @@ -284,7 +293,7 @@ start_over: if (ver != w->pver) { /* stringify this entry's version */ archive_string_sprintf(&w->sver, - "WARC/%u.%u", ver / 10000, ver % 10000); + "WARC/%u.%u", ver / 10000, (ver % 10000) / 100); /* remember the version */ w->pver = ver; } @@ -577,51 +586,41 @@ out: } static unsigned int -_warc_rdver(const char buf[10], size_t bsz) +_warc_rdver(const char *buf, size_t bsz) { static const char magic[] = "WARC/"; - unsigned int ver; - - (void)bsz; /* UNUSED */ + unsigned int ver = 0U; + unsigned int end = 0U; - if (memcmp(buf, magic, sizeof(magic) - 1U) != 0) { - /* nope */ - return 99999U; + if (bsz < 12 || memcmp(buf, magic, sizeof(magic) - 1U) != 0) { + /* buffer too small or invalid magic */ + return ver; } /* looks good so far, read the version number for a laugh */ buf += sizeof(magic) - 1U; - /* most common case gets a quick-check here */ - if (memcmp(buf, "1.0\r\n", 5U) == 0) { - ver = 10000U; - } else { - switch (*buf) { - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - if (buf[1U] == '.') { - char *on; - - /* set up major version */ - ver = (buf[0U] - '0') * 10000U; - /* minor version, anyone? */ - ver += (strtol(buf + 2U, &on, 10)) * 100U; - /* don't parse anything else */ - if (on > buf + 2U) { - break; - } - } - /* FALLTHROUGH */ - case '9': - default: - /* just make the version ridiculously high */ - ver = 999999U; - break; + + if (isdigit(buf[0U]) && (buf[1U] == '.') && isdigit(buf[2U])) { + /* we support a maximum of 2 digits in the minor version */ + if (isdigit(buf[3U])) + end = 1U; + /* set up major version */ + ver = (buf[0U] - '0') * 10000U; + /* set up minor version */ + if (end == 1U) { + ver += (buf[2U] - '0') * 1000U; + ver += (buf[3U] - '0') * 100U; + } else + ver += (buf[2U] - '0') * 100U; + /* + * WARC below version 0.12 has a space-separated header + * WARC 0.12 and above terminates the version with a CRLF + */ + if (ver >= 1200U) { + if (memcmp(buf + 3U + end, "\r\n", 2U) != 0) + ver = 0U; + } else if (ver < 1200U) { + if (!isblank(*(buf + 3U + end))) + ver = 0U; } } return ver; @@ -631,34 +630,27 @@ static unsigned int _warc_rdtyp(const char *buf, size_t bsz) { static const char _key[] = "\r\nWARC-Type:"; - const char *const eob = buf + bsz; - const char *val; + const char *val, *eol; if ((val = xmemmem(buf, bsz, _key, sizeof(_key) - 1U)) == NULL) { /* no bother */ return WT_NONE; } - /* overread whitespace */ val += sizeof(_key) - 1U; - while (val < eob && isspace((unsigned char)*val)) + if ((eol = _warc_find_eol(val, buf + bsz - val)) == NULL) { + /* no end of line */ + return WT_NONE; + } + + /* overread whitespace */ + while (val < eol && isblank((unsigned char)*val)) ++val; - if (val + 8U > eob) { - ; - } else if (memcmp(val, "resource", 8U) == 0) { - return WT_RSRC; - } else if (memcmp(val, "warcinfo", 8U) == 0) { - return WT_INFO; - } else if (memcmp(val, "metadata", 8U) == 0) { - return WT_META; - } else if (memcmp(val, "request", 7U) == 0) { - return WT_REQ; - } else if (memcmp(val, "response", 8U) == 0) { - return WT_RSP; - } else if (memcmp(val, "conversi", 8U) == 0) { - return WT_CONV; - } else if (memcmp(val, "continua", 8U) == 0) { - return WT_CONT; + if (val + 8U == eol) { + if (memcmp(val, "resource", 8U) == 0) + return WT_RSRC; + else if (memcmp(val, "response", 8U) == 0) + return WT_RSP; } return WT_NONE; } @@ -667,10 +659,7 @@ static warc_string_t _warc_rduri(const char *buf, size_t bsz) { static const char _key[] = "\r\nWARC-Target-URI:"; - const char *const eob = buf + bsz; - const char *val; - const char *uri; - const char *eol; + const char *val, *uri, *eol, *p; warc_string_t res = {0U, NULL}; if ((val = xmemmem(buf, bsz, _key, sizeof(_key) - 1U)) == NULL) { @@ -679,25 +668,32 @@ _warc_rduri(const char *buf, size_t bsz) } /* overread whitespace */ val += sizeof(_key) - 1U; - while (val < eob && isspace((unsigned char)*val)) + if ((eol = _warc_find_eol(val, buf + bsz - val)) == NULL) { + /* no end of line */ + return res; + } + + while (val < eol && isblank((unsigned char)*val)) ++val; /* overread URL designators */ - if ((uri = xmemmem(val, eob - val, "://", 3U)) == NULL) { + if ((uri = xmemmem(val, eol - val, "://", 3U)) == NULL) { /* not touching that! */ return res; - } else if ((eol = memchr(uri, '\n', eob - uri)) == NULL) { - /* no end of line? :O */ - return res; } - /* massage uri to point to after :// */ + /* spaces inside uri are not allowed, CRLF should follow */ + for (p = val; p < eol; p++) { + if (isspace(*p)) + return res; + } + + /* there must be at least space for ftp */ + if (uri < (val + 3U)) + return res; + + /* move uri to point to after :// */ uri += 3U; - /* also massage eol to point to the first whitespace - * after the last non-whitespace character before - * the end of the line */ - while (eol > uri && isspace((unsigned char)eol[-1])) - --eol; /* now then, inspect the URI */ if (memcmp(val, "file", 4U) == 0) { @@ -720,7 +716,7 @@ static ssize_t _warc_rdlen(const char *buf, size_t bsz) { static const char _key[] = "\r\nContent-Length:"; - const char *val; + const char *val, *eol; char *on = NULL; long int len; @@ -728,14 +724,24 @@ _warc_rdlen(const char *buf, size_t bsz) /* no bother */ return -1; } - - /* strtol kindly overreads whitespace for us, so use that */ val += sizeof(_key) - 1U; + if ((eol = _warc_find_eol(val, buf + bsz - val)) == NULL) { + /* no end of line */ + return -1; + } + + /* skip leading whitespace */ + while (val < eol && isblank(*val)) + val++; + /* there must be at least one digit */ + if (!isdigit(*val)) + return -1; len = strtol(val, &on, 10); - if (on == NULL || !isspace((unsigned char)*on)) { - /* hm, can we trust that number? Best not. */ + if (on != eol) { + /* line must end here */ return -1; } + return (size_t)len; } @@ -743,7 +749,7 @@ static time_t _warc_rdrtm(const char *buf, size_t bsz) { static const char _key[] = "\r\nWARC-Date:"; - const char *val; + const char *val, *eol; char *on = NULL; time_t res; @@ -751,13 +757,17 @@ _warc_rdrtm(const char *buf, size_t bsz) /* no bother */ return (time_t)-1; } + val += sizeof(_key) - 1U; + if ((eol = _warc_find_eol(val, buf + bsz - val)) == NULL ) { + /* no end of line */ + return -1; + } /* xstrpisotime() kindly overreads whitespace for us, so use that */ - val += sizeof(_key) - 1U; res = xstrpisotime(val, &on); - if (on == NULL || !isspace((unsigned char)*on)) { - /* hm, can we trust that number? Best not. */ - return (time_t)-1; + if (on != eol) { + /* line must end here */ + return -1; } return res; } @@ -766,7 +776,7 @@ static time_t _warc_rdmtm(const char *buf, size_t bsz) { static const char _key[] = "\r\nLast-Modified:"; - const char *val; + const char *val, *eol; char *on = NULL; time_t res; @@ -774,13 +784,17 @@ _warc_rdmtm(const char *buf, size_t bsz) /* no bother */ return (time_t)-1; } + val += sizeof(_key) - 1U; + if ((eol = _warc_find_eol(val, buf + bsz - val)) == NULL ) { + /* no end of line */ + return -1; + } /* xstrpisotime() kindly overreads whitespace for us, so use that */ - val += sizeof(_key) - 1U; res = xstrpisotime(val, &on); - if (on == NULL || !isspace((unsigned char)*on)) { - /* hm, can we trust that number? Best not. */ - return (time_t)-1; + if (on != eol) { + /* line must end here */ + return -1; } return res; } @@ -797,4 +811,12 @@ _warc_find_eoh(const char *buf, size_t b return hit; } +static const char* +_warc_find_eol(const char *buf, size_t bsz) +{ + static const char _marker[] = "\r\n"; + const char *hit = xmemmem(buf, bsz, _marker, sizeof(_marker) - 1U); + + return hit; +} /* archive_read_support_format_warc.c ends here */ Modified: projects/clang400-import/contrib/libarchive/libarchive/archive_read_support_format_xar.c ============================================================================== --- projects/clang400-import/contrib/libarchive/libarchive/archive_read_support_format_xar.c Sat Feb 11 13:58:05 2017 (r313643) +++ projects/clang400-import/contrib/libarchive/libarchive/archive_read_support_format_xar.c Sat Feb 11 14:04:18 2017 (r313644) @@ -394,6 +394,7 @@ static void checksum_update(struct archi size_t, const void *, size_t); static int checksum_final(struct archive_read *, const void *, size_t, const void *, size_t); +static void checksum_cleanup(struct archive_read *); static int decompression_init(struct archive_read *, enum enctype); static int decompress(struct archive_read *, const void **, size_t *, const void *, size_t *); @@ -923,6 +924,7 @@ xar_cleanup(struct archive_read *a) int r; xar = (struct xar *)(a->format->data); + checksum_cleanup(a); r = decompression_cleanup(a); hdlink = xar->hdlink_list; while (hdlink != NULL) { @@ -1720,6 +1722,16 @@ decompression_cleanup(struct archive_rea } static void +checksum_cleanup(struct archive_read *a) { + struct xar *xar; + + xar = (struct xar *)(a->format->data); + + _checksum_final(&(xar->a_sumwrk), NULL, 0); + _checksum_final(&(xar->e_sumwrk), NULL, 0); +} + +static void xmlattr_cleanup(struct xmlattr_list *list) { struct xmlattr *attr, *next; Modified: projects/clang400-import/contrib/netbsd-tests/dev/audio/t_pad_output.bz2.uue ============================================================================== --- projects/clang400-import/contrib/netbsd-tests/dev/audio/t_pad_output.bz2.uue Sat Feb 11 13:58:05 2017 (r313643) +++ projects/clang400-import/contrib/netbsd-tests/dev/audio/t_pad_output.bz2.uue Sat Feb 11 14:04:18 2017 (r313644) @@ -1,1040 +1,1035 @@ begin 644 t_pad_output.bz2 -M0EIH.3%!629360S39&D`>;SS,K;%2@`2::%N=I -MVR86:*KOO>O99MMM-XP&76N]W/6T=[SW@<[G'3H:Z'K1F?=WON]WO>]S=WN^ -ML]W>^WN[[W;V\VW>[OMN^WW;;3+3/=TK*Y5E4LVE#-E5H:"S530#1IB5LS:V -MJHK6!JVA2M9LR*V:MFUJ55JBM:Q4*EL,5$`50)L6M11:P55:V%+55:U5C!I3 -M1L,BU5-5JV-%F55-5EL;:@5:K+%5:S--;5-;:M5MJVZZ[:V]>[:7NTN>][;> -M[O/MO-M[NYOM]WN^[K69ON\^][WO(Q/N8ZZ![N''=O3VP[V/>RCRX[0VJ7FW -M-FQJ%7-G0R;9MB*N\G'>PTM*5H%``-LF2NKF=-LQFU*50444`446P`&FV06V -MUE17-HDJB[#--!MBC$-1L#;!MF@JALFIM-IE3-30"JH#2D`$`!,F$R83(830 -M--,AD!H&AH`R#$9`:&AHR`Q-`,":8)D8C`3)@FF":8@P"9,$,"&)D#0)@$&D -MD$TPF@`)@```````-`"8`)@"8F$R8`F3$`)@`:&F@),R83":8$Q---,"8"8( -M,:1D#!,H--)2:$$VF##`"#329,1A-!,Q$:F)A-#$-3TT4>F4]">IZ0&U#3:@ -MVC4#`-(/4#3T@#30&@/1/1#0#1D``#$-!HR:-!)I2E$H&3TVPVH\BE/QIHC1 -M3,34T4]IE-I0WD4?IJ33T0`R:&T0`9!IM0&CRC(`!HT&AZ@`&@`````````` -M``TI$#1IHIFU,F`T:F*>"G@$F:3TP"-3T9&"&FT*/3"3R,33)I/":&C(T&(T -M4\T-`GIDR-,$T:GIJ>1B831II/(&D\C4S(::8F)HU-02:E)*!#5/%/>V,B-H -MB&"-#(TF(Q38BFVE3_48AM!-(]4_*GJ:>4>-4V*'IIE/RFIY-3RFU#$S4WJA -MH](](]&H::/1/4:>IZFF:0/2!DVIZAH-J9`>4!H:?.1!_\Q4%G*&;V=R9PT='B<1$&>Y2K7;'1?;`L!0$`X6":FH$!$6!]N]*1& -M`>)4`P7%5$G@V]E5TZFK&($]>M7]W^OSGV?[[OM^+/=V,U7MZH"`7P^J9Y.4XK0O)T]ML=,$]>C2&`+KJIP7B%-.A(A^%=L6PJT7:EU�$"\C_*-.JQ+2^W+*<`+ -M[7C&UXHH9B@ULW[I"-T:`@7%]:`B#,.N],:_+:SN\[:H0"]MG;I((-):D9I@ -MEY+M.9\`=/Z'Y5'G)UUBI`$7\=-,6\WB0M^K1(IGM("()_S^&EB%H$,(T:^: -MUJXAFG+?)LZ=2(B>DJ4`+\#0+:GW.!F9[Y0"67\4D'5N=?C<2IH"`B?%D\H0 -MGG&E/!&")G6)];))G]L??MF>!#;?]*:P<1'/-^\77VA0`%Z]R -ME-$,ZC*8W\V[=O*,`"`LNLU]SC!;I4"KG=/S#X!?7Y]N/BU*2;"=,Y6JXJ7( -M\0$Q,LORY367(RS2IZ5>L>\@(%\(7%0'&&F:-KRF&'2:+-/TMFDH`&<+FRQ] -M2/+>LL58^19Q"!7L,11[)RREOK.2B(B\T[XU`#;W%RR(G[K(5$X17%G>A! -M5%N-\(U<88J#4CQIX2R!95&T"Z:FJFOLXD$6)JV@!^C#B[K7^`23@`L&RH8#R4AD93YM`Q3];.J--PN6QM[K)JH -M(O;C-[U@O)%QFS:U:_'AEV+O+ML-FTP(.3(!E'S>H'.(0@#>MJ$"'FJI*?4K -MJ(^8_>2M:QGP"F_OWH5:].!EVM>UB'TW=R@(I#\VT2P%KT]_6]DV]DSX*:$B -M$\P$5TX-N@FLFP9/6Z#&OW(]F)2R!;.(FW!F6.80[RE%T=?O6H/*`%S(]JQ[ -MR7,>5IA_&NS_C[WLV",$5K/Y3CA9I<=R)5=2;=$"#3;X4$!A3SS<4MFG&3LO -M(C(AK8$A:MCVU5]2F6(!3!"(X/?9Y:@`ZT))M.B\B78]MY1`BX"?4#9]!56Z -M)(%K(4E%,HP1?M]'(C@/O^H")>Y@&LC0T?.?#9A!9W#]194/2$B@/0R$+"9F]7%, -M*1BYC&C`#LQ@*O)X;[/:@Q((+?>_Z#+K*>EX6<1R+?T&:\=DJ!\#0UPA_,^E -MKZ<2Y.D"5H,L:04L5`\;Q^3FH0!$N<-%2!`?/ZS>I:''+V&_V'MP$I)`W;W0 -M<("[Y"-384_['P.#[FK55I#5ZVMM[DH!4-F!?_"G;WQ+<>IO:.A1D`8W/]@0M8>%BW/(+<-&H2+N=9T(HE -M8\PHC>;Y(&31@"8(L>$>5^/YP&:Y@'%$18BM3_NBBG3?7>!ZKL^1-#L?/ -MI`&OUVRZ_+Y/!HD`*"]TF31QJ9YV"1#B\R/?U",@5[-@I;.4&_W%90)LS8U+ -M`,#YI0(2X6ML1-K;[$WRF]A\#Y!IMEPB$/?B%:LF@SS8@#$1(96`NH:/6&-` -M!:=-[T<("%]0_N*VT8X/5G4]+'5W>2@57]UECJP$[[:29VK4&^<0`O3I=VF? -MKR@)6"J[:JVG6:T`(X0_F^G'Y[@#IX#*^6`L@0>X[PUGR@1M8&GY?GK+(:KI -M_U,(@U>K55\YIW+R5A#A_I*4^UE*=FQJ$`;GLX^GP`%VFAMHQLA -MVW-FEG)_<:*\3(P705=2"A.U_T1]?;OU(#\LK5$7LA$\:N3_/7'@3_L2$4!K -MJ6$S1,[?R[77H`%;Q,<;P<]WB#C?6PY9\/V7UF*!4\2`M<&]Z=&$0`^[XVX` -MP>#"!:ZO,V=QZ_BB!8WP5-F0XF%^[*`J8WXH"<]L!5-)?B8P\`,YVUF%`M%7EW:-*$+>N64?@;# -M6+FLFTL@'_E2321+T;G=ZYGMTB0'"&+[8**(!6Z&96X#]H(:2NZ%,2"$GFN, -M1!^?3G/A^`L*^I@/+HZ6G:DLBAZ_E30+MJ_"3C6J2\[8"57T0*Q`"%5OI.Y. -M:BNS&C[E[K4@%]-&1?WDI(=$YDICRZ]&1/M.`*SX?V1W6>I79`5A)E)=C -MC=S#.CUY].X/Z]T\1.%B=8L[(9KD:Y=]^`D`AJ=I:%X(.1-A<7W`!S-]'$IU -M%-,2`BN_0O@K[OJ'6R\VPY5,3$:,BZ"HE]\AB;53X3@H[X^"Q3E2>4%#6-2: -M>^%"&#=/Z`@,;KO?/M\""U$)66_)4NJ?&F2ZTN,QPSL<'S\O.`#\I/;_'\T\ -M\-UI3`?SYZ:\L#\%AH`3:"O?XZN.EK961YEOS49"&]N%ZP3[JVOQ(P=(?G.6 -M@"M:W;)3<$\42B["?O/^=:1F#6]NZ$72@W50#Y79>"J>K0,*`@N)KT"+ -MZ#V_U(:?,N,'9\5&MI`$7^7$@&/KSB6TZC+HW]3$;[NL`N)UQ1FMLA(2OD\, -MU-4^]`5TS)K^W:"%9?8I@#2TGV8,J0KY?V?HZW)%R@*_M:XB%7\[7[?P:+XG -M]Q&X;\NX'>`&K2Z:_Q+0S=C1O(G$9#64P!8K][WE]U4>TJFLWGKV#V18-2@R -M8+PTOK0G!;/I"G/^B\0/-;"WIP@_PRA]#,0B6+V)K?EQ=JK2J^C(DC[`S_#X -MY"3TWE]1\OSVL0(N;%("2?M9ZI%FL[0`%"TQ] -MLWN_%Q7@Q^2]DUETH`>JNY1%N_++1LROZ>56$Q,7?.DD3?D:TBT$%+8?@O=, -MI("V5)HR`5A@RVJDL_?A(029R?[YENFJ2&8AT% -MAH6LF-70$`OWGS?-)?`A8JG!J?%BHFQ9=TR**BD@F:4QF(@.L`,57(WQ!&7* -MGC:=$3`_\4$,7F=+;N-@^ORPA65Q4U)$1_U9=>^G^O)/=\V,['3Z#NE@24'X -M=@U7X)-@E=Q@E'!@5_O2O$2"(_!93W=VB(#"F-EGAUAGK"PI/7HT9!#`D5[Y -M\+'#?L&`?+99C>0W1!!Z[=:J17*V6,CT(^FX5>=WB+G?#?J>A=T@<1CRU($& -M2/KW2SC-%H(8X0R]O``AJ6;Q6%^K*1B208.WI0!J4>@[T4Z6:D(9;.)+M_1- -MD"V&FA!;[J;:O3>;"4Q<%,4Y9Y.."\W*KZ:-!PZ3;$/=\"N4*'#KN#<9_N@B -MQ2=Z3G3EXJ/09W=Q:+STH`I>+,97UO,$WD!()PS]%F:D('H[F.JU@(>YN9OAUH:$_GW-1*(O^MOQS@06;P87 -M:-R?;K+]`04'98(@+A!K949?(_%S,4L9H$=7%`"GS.&9\=+H:;/X_;W^YMH< -M"`NS4-HBV;9?TX0@D-MV//U([Z4A$+WJ^K::^5S2ZJW[N0=5QIYEJ -M=&Z\W[TBD`7-[6J=-74GF61-$`:NXFO.%)=[[['PD6!H:;V/CZ?H.Q@V*Y3) -M(*(U*S_(`/X`@=4A8N1X;%PR]WU'P@+J3H?%;:O%,!M`$NVB]R")87^3W$@Z@#S-W_E3`9X%)L4B] -M6_71C'P<+:@@B2Q8.33:?)*X7!K<\Y@""[>-"CM-^)"A0$'ZQ -MUML"Y6[R\SL]`>$W58Z2ZL/G<&BN`"S?9P>JEF>9LK)Z?`TF2@=J?D?SU%]\ -MW2C2*QY;KIS^#>[A@(M]1Q3>IZ28P$!0&!DN>1#QKZ+6SW.]/5S;\E4CTD_V -MU!):LAW$J=&UU6.(N$C -MLD@@W6RR($]+)$-=IJ=G_\M`\%7E[I+&X(JO-968S9V4N@0@/FM[:` -M_DOHOVK;9]H"`YSN@MDXZ5!^\;IM^0"ZT[=\^+)':SZM<12_B%("*PA+=^-6 -M4X_PN14]E.7-."Q^B5'&6TA[JYMVGDV@!"6IH/Z6JH@=S^?QJF3 -M!%)(6*9O6O[NA.NF%0*E0`7VVG[["W;V*1;OZ\T -MW:K[M91`=CW>?L7]P`2I.^9+5TYAQM`E(0%F$ZV>R`(-RC7H&]XXFP:UY%BC -M`)R"D*N0[730$"U_3>;"DF%<'PC3?1;![F/0$!`7,+9HVZ(Q&0*AY&)ULVCY -M+1$(Q-SG5-O"<=//)P//$5`7SK)KA'4P'#J4"OU;LGD;/`VB,,ES0$FE7$DK=#UHE`B"R(_/."6="48`%=C -MEUSNIQ$$'36Q-I&5Q98XY)(("#_'Q/I0`.M?]'YG8[&O\#T,WD(20@3N/DL_0J^9;`\([->'9A>G7GCX\9E -M0@!M=I66J/(],51@(@0?HS\478WX*Y0T*XJ_O=U@*6WFC3'B"(E.&1'DANP8 -MA"9[NDG#6V]/W#46R."#QGG`O/#C)\[4?2`5H^5G3W+1P5.,(-QBP&W;-.%? -M>-((FRE+9_]=P/6!9$?X[H"/MB#IS`3J?[;1Z39%A=G\K;XFA6OI;)8DN$C" -M7BML%@PI!R4,UBVE3B=_ZKF<0@AH@GWQH836)<,FH8K\Z1<`_]C"$EEWC%^! -M/Y>[K2`I79%TH]PM=ML)@!SW*@GM%S$@J3N28M)R-`A+=E0XY^IL#V`"]FQ+ -M^_4^]%/H2!_ZO.Z:1OO/.8$>DXQ6NJ6@RJ$@&7W`;:(MKWWPFQW;(@(#-U?F -M5&F]RJ`A#+VFVB@-@,'YAF.IL?V!1W3A`*O%]39V9A:^=$086@"=9YY/=SI% -MP.43I]O%5,)TL*VCMQ>K<+1@HN)6`Y+R!4_X_[?Z1FD()>SVM"YCWW&/D(N1E:+:6?SS"^T^ -M>=9VH1@3/V1P?4WZR_1P%2B?BLO6(!4HEY]22&L[0O;91=\SO%,3IA"MH[!B -M%CFMX;((MF&F@-:$#^/NR4^?H#P+/T?`(?"H1O\3JUR+0$3,YUPX/"V!XHN$ -M4I81(I##TI)/`O^DT'P/ALO4[G$M3G3UU0\M=O((04/Q>A^QPA4[V'_/X-$'J#` -MO++H<>8QCBZ$W -M)UR&A$!99;W<4^-+"5>D]I#=H>!H8G2&P7(Q_(!?:3VM_H>=M^AN) -M]$08[0JX/,N;+V:J5'I6(6V.$(:0ZX_O4^QL.>\MF$P#[-^RDL0I]Q%IA\Z7&&FQAHOC`D/9^WQY/_D&5RP';_%[KSXRXR"- -MF8_*GR>O=!,]"!HE3EGA09H#U/^0V%;4=#9/YAX%'X,O\!"!B0Q? -M0.$N*`P//0.Z40@-,IF["EION'/2:'+N!#DP74'%[`W6W$.LT!L1>2LAH-3&4=%D#P&9C[JB -M];D8SD-)BOV;`_Z^+M/#??G`.L6]X+VMQ,0,SZ)HV(7+922%)EYPV/>7YUQJ -M!F5L#3[/:P0.`4%JR2QH)>8$]JHLV*0:[,(?IQ8<-C8[FQCJ78RA5_6X:=%? -ML;9!'+Z7+@8YD,W0.Z!V<.E@:$%BG_<]G3G5ZM]/H,].8:E4@PJ!J(D)H".9OD;4' -M"EQJXO^TH/ZS1L+=5L$%Z]`8O]7IOZY=8C-N1>,Q1=^BFR@T+P:'@C3,3:*. -M3`"L]U%/UP=A9X#@_-05U7IC2>XUP/.GC'>F"Y[4=*YQM^4F*N%V!PAFPKE1 -M6C!"G!@N@+W^R3SZV=E77GWPH-/N38#!++$4!=X:K+&1A2:W][17AS990I0; -M_Y#W\L@\:%VI#A:K9PY?,VY!>'`[-/7_S]GZET(W$\(#P:6IV9-1`H;VP=R? -M$`$G:%9(6N(ABM$"PMCR#P^[&TL]\"<,%S_QL -MQ(0B^P3W;T0R$$,%O,Q.5^I:K:OQNEMR8W^HR9"+KL.A[&]/%$`O)-.G_<7: -MIEO@!2J#72LI4S)[\@T]>'F\[H=F?&BM:7\O0^-ICQSRP&+Y9<=`EM^-,*'X -M?.R(5S.U$/)84-J#B5/5X#K<8L^0]0=L2#DD7]O],#(!9[U@83@F_Q:-[OF*D/&+-'5/=5`+VG)*RF0!&^C -M6JEQSUE0R*U.P`*S^=SAK8%RM=JW9#^Y\7`(?6_56S7G8;R>EHQ[,XHQCI_6 -M:2&_SJDYG\[4`..FZBLFED?N/A(KAL;1^9VFA:LF05>S^-5\:T/A\T.W2`9Z -MCR5SH84"^^CO0=:VV;P.D748UHW-!?N2_1E1I$^UWXVY#??7?O7MSNQE*Y-H -M`P:-/D3G!;1RA!ZK]T"0R3#7TR$X)IH7CXG#@3499,D8:^1/?H!S7?-HM(@Q -M5K9@4,%"4ZEMT/"_\0SAXXEGRN_`)&U1H,4XI9J%((D#1[,AX1TPPPPBAZA& -M!3:"V2`C$8#"*&6;GU'3+`_,_6_`]S@AW#.X23A3AL[JPI?;_?6!8+%_D?YJ -M"=RQ9,"'UT26,!(G^/'S\&#HPY'/H]/]YA#ZW![^Q`)_(&S?W>C!PZDI$S*_ -MUF+Y[5.P1GTK/PX0EJ?`18=(:`&YJA^N]`U#AQ"+T\#6/?[DT&&`FCR7_5SE -M3GT=O`34]-,T2!`[DP:*Y=PT_6.H1]9U[%)JHU=TQC$I`Y;L,@;.$8:7L$%I -MM"XSG]H0%WK:P_]@,2PP)2Z[_1E93+*BL864BUC^]U@OC2?, -M5HK_HTJ(^6Z-<^88P#OK\;*<(OS,[<;O2_HSYBTHY1P_+Q'R&J6YG@G!0OC: -M>\X;HTP3T>WODBO/KV&');,/W9PJI3G"N7[P80""\*]K-:J[PN8WX-`')Z0Q -M--X#0N7R,,".J0^Z!RMW)_]S`QNHH4L"$:\H;!ENOD+(_R]9VD9X/7%Q)JQ[ -MY9[BYU8,+$#4ST5"'!V*CZA;H/`[?D#]_FIH,]/BKM(!O7/T:`3.2LX]F,#- -M[&$7Y@#SAXL^MW08\-[)B=,(V35`ZHLV.H?2C%@DT.Q^0G;L;W8S,YX'S5FQ -M0]`-49S:KL`7G8CO5,>\PM[OA%:@E#8=HV(YA%,P&#W:#`)SIG$0JJYFRR/@ -M(+%6W79$,W]AO<]5W6UR([/ON4,7;95RLCA'%$_H<%;3OAEL?Y*9]>;#3](/ -M-R@-JH$4LK_`R'1W(2^VPAL`8/K@^'`+$>7=IVL\&G3>NVAYP3\X<%:[TM`< -M+"9Y@CBSG?P=]85NZ'DQNQPA!/)PX)?/^[,<+7DFE6(ATIMM]^U008;L8X"W -M[8QF_,%\FX'5WG$,N8?F+;B7G56R`2>UAA`.;N#K#>-B/V":GQTZEP/"@+2& -MM-+T9%?KWB3'YE+;FW'U5"7A(PKWH;VK.F%=ZR -MS(3]Q`&IWIBP]V+H4P=LP3L=6"K5"Q!G2@<(:94)[VKP&H^:!QE?V@6C?E), -MA4_]'=&O[1+0WBN:K)FZG#59EBBC)ZRR15_BZIL0V4+V[VH?0'#+A<$__@*: -M1$AF]*;V'!.;(TG+1/DO!74UZ1,RB[-,9@O7`ZQMR^81(%,/IHK.9)N=HY+J -M37V]PXP0V*+*^_O=>@,TN;S0AFDU#U+)-BRD?9MJ[U>W/BZE9/])=8,]$&EZ -M-Z39$`8='K/B)J?HK#-E2]+<55)7Y&H@J2T:"NY[7`PCXUIG0`QX[;&;C@%; -M;&NIZ^J,7XHX7#2P-7?AB>�K5LYFY=Y -M?>J;Q;S[(`!>@[EW>7(]]!87MS_!V'$>`/2*"7SXXURC&\UN(&G0';=SP@7+ -MVNAG47FKWFQVT\M&VP^@";ZN!DB&`R26G&XEN>YYQSY0TZ!(-B`EO>HF'`86 -M,#9Z;[R_`0AA)_K.`#-#T?P?T.UTGTR5.Y9\QA/20\KYWM?DZ1I*,56:J`?J -M`<%`JBA\SG0%)YC\Y]/C';2K_N94D+)VP-.#6J[.J0D"*&/'$1Z#4\9?C"_#R^!U=*?2B4 -M$O5>N6J@)VM%-A"%>T7Z<[%`W1,_8CPJVZ!]I2H'MGX\859[G^:;[;.ZT@K2 -MXD/QA?6&O;P39*5)-]]-!88S!6L>*9IUY)MRD(OKWQ;C(LFW*,/)LR0&.IS0 -M*BDINQ+[8/GQ$OIDDC.$:;IWCB5CYV4MA6Y_[PU[)W.K'OOG!J605KP./&_@ -M9>_3AG1%CUH("==L#X3WT%UMUM>O>8O<#OH@O#>DK+CV8J]I]Z++#\?\@"3# -M7&*,YQ)VG)<3AKJ..-128TQGSL\E]G]MT*S_L+849W@I1C>-;)FK,/*H7KR -M*W'9T`MJ,UV%J)E-X;(.TQAC=CV63Q[;`TQ;6EC-6^OAH?ZY8X^W%YHPXYOK -MJ(5*.U*W0]@^VE4!(N%D;#CC&>YZ^\K[=.QZ/N-%]TS/3O=.$KLF<=V7_@8D -MHVW1N<_W4^R#N&+6H:W2S0Q&@,=)Z,/G9'J=O#[2:X"KS4 *4E+FJA=+MIBA.]H>Q78=?8#9:.G@*9W:JJLW@HI>6Y-:[VB4+=@Q!O_T -M+^?.I*GUM.AGE44K_[PI*NZJ?YG3[DQE+;!QH$J:`F&I85,[_J>UR$]Y]_I" -MK)#L[22+9XSI4+CC[9*R]'64IG+*KR`;=.Z@-L4Q/O:%,3V%7LE%ZIN\$_.* -MP$987+OB2FN'*F\M11A6MHY1E(\4D2Q#D%*M1\WXSIE=;*?9F(IYT@BI`M;J -MNBC-P7<#+SYY$?:&(Q/G>KJQ\YFKXWW -M-2QBHGCI#\_Z"C;C2F;(0AX=:D/T[3!P -MI`RQ@#5U=#2]%(&<_6$$_"-&P-D9]??T^\>AAG.&@009*9,DAU:7U#7-GS.' -M*,*!ECV-23)VX_1Z/B2_,G,]"D@5?7P^_8<@@Z7 -MF'?9XZ6-B]O:`*R;E1.X09Z#%H="PVY^^%3V8'!+@[^L%Z'D3&DV-TR -MFN"DMW,-!*[?E')VOE]F>QWJ(A8L/M8+YZ<[KPVC8&7>"7QC#%NYJ.S,6C_T -M-@_IZ6L9^@>G\N*69H*7-C3#1>G7:]J'0,*RPG7S2<%$P;,:#3$K_',B;KIZ -MSXKNY@.[6\S:F"CV1;.5!DPVKB<(UB:]*WR9AL!_2_HG[SZJ.T_!NSEW/$>! -M@O%K:V5/"!V&RTS?S^7YG+-?W4;LU\A"F04VLZ1Q!@8,9?1&+%T/K-K+\.YO -M';3N&L19V=E=\CB<'`0]I'&==V-<_L<+@ENI+=&QR?OF9:_&OEDL.^U@UII< -MZX6RLGR&GS/8THS3VLF;@^@B3U%!/QDMP>GU6`HMCRX`C\,[(Q\ -M@0%&)S2>O$Z9H/7A0@*%^XUITX;\A1`KPKDO<6/Z,\PCEM(BC-884!CC8HM) -MF=3146A@FSQ@F=<)^_*J3W8>!#NO7?.T\&D#)_9W.5\[`*)Z]I)*G\9I(P:U -M@I"4D8JJJ'OT@?I&8^6(=28]6\HNX8$I&&YF3 -M#L#OXN;7LJ`2/!&SDLZ(O5Q_5&*.Y$*FK#:9XQQ?)!?Y!,&CT2=^,HFS1G]: -MPN.WO7,A!3)$*G4#^YNOJR8'Z"+T"J'(Y0-]'XUPJA@YM>>C!L,>NE'1S]*# -MAKO>,3+%V9K>L#BU.W;)-\BV]74>NU\SE422.BPFD&\VN#BM&<,6?0$S2&+T -MW]7@6U%Y$^]M.P'_MMDGHW'F3[+0<%!C<]8!*31_W\--]';+?ZN=6U6XG7'L -M6Q+(UV2OW3G<:O"7P0MI=BGUEJQ#UVL?+A995B40&\&@$M&#I:C&EH`\]^!S -M8,,5$QEJ?/8NL<0K]&F&;BSOK1.X]L_HOOUE)8;YF+\S'Q5S`U2DEM%B[A5] -MT*`UM3&Q[BV77-G;(8KL^<3:0\$!`B@@2S%RH>QY:"L@$HN8;\):5)UN6*SJ -M4G1AOW9J++H*\.;=PM)^E'%VAA;PX$G'_#5O4^T#BHY&\AK+_92,K777?5!8 -MR&YA<51GK$?5I<]H;30:ZPPL+%PKO7ODJ4NYZQKSK%@[&,J=(OS.=NKG%<8F -M7U^NFS]-&;2+S^R@=DQ&,-='/FH^4R[JXD.52=G*4X'"/^O^\_@'Z?[#$^4_ -M*:2GZEA\J*J"2%$MH,(?F2?^J*463X2'FH&F\OT(A\J6/@3M/E>?91+.U>UY -M':#DQ]1O^?//&`6!F<`/#M&2X#MI9<4G:9)1R'.,9EU.,WG:_?,WJZH-K%=H -MNUL]B1!8ST=)^)J:N9N=^JJ.U.IW-2U/(R -MWEA5-[O-YQ`\BDI=4)3VRASN)S_;M@;9A3;7=UT]NG -M+Z[I4\NG40>U>!4_+;-$;9]^4I]?J1W*)7HWJ]X431VG$X'>T\.]Z%'73#F'= -M\+IW)V:S-N-MI:`K)]=A;K@;D#N)0K-RH5Z,\0N+,1YL.'&=5Z=QKF!>G7MN -MP_CJH79C-W_7>1JF>`6J>XPY"ZAB8\"J>/2>B'HR>B",/D(3X1]TDUFR(18!]L`OVC2,8B0]J -MQ?1%$\"CW#)MOQL`,[H]YZ/5\9.58>E`/=0W&PLL[:D]/&NCG*/$9WEB.63# -MG4,ZXCF2EYQEE=1P[9J+D!24HTMQ5?P3J1`&;-R;YZDZ:;XSNB,Z_AE'5\=M -MO_?)W9V+YIZ=LD'S#5TE_`QX,[2.C2)7I)V"9F6674*J89HTKQF7:%1J`&=R -M=0E):BI7,U^#R&M02/K5]QE;?)\\/S<[?N+,R]Z9UV]BW")?Z5W_U2WEMRY3 -MY)3Z>H5`V7\5E):H#U[Z17"1ZW[@38>KC\RV75A(A21Q!TVQ4N[G(YU$H)./ -MG*:"=GUPVKV5+1+V??9_"17,E9L>^S.GD1*;&$:'A<@Y)+(654C@ZR -M_U"SG(2TF9^;EA2P#.V-_ZJC$V5PE/M-EIY_6I4V&$N8/([%`C.&W[BJ\[4[ -M=_;>H;I\_R4O^)`N-$L'WXRK)K84< -M&/WZ$ON<:V&ZDJ7B]D[2?[0ZJWB12F"=#'/#/%H!7-42(#,'E=8'R"+>VT\* -M11-):53)F$*Q4)454&*EJ'ER#G!4C.VS,/5NQY.L$I0$D99I3C7+4Y4T.*VC -MFKFF,_&S0CA<`7!CQP%0+(*J&_/=V58(![P01B23`3Y[`XA^ZH4" -M$\!.F!'@'(R\5?FAFHZUKS"",#APY>A&^M\T;\Q)U^\71U1^\U!J8NHD?YE= -M6:=%?L2P/%9U_\>'1&0?JNM+D+[0_8$P.;GEFDEYO)9?E1QIS?([>FCD(>U7DO*-5?3(_]?\^C$`OQ"4SWG7/^)3 -MJ,2\KBKG>H@#B_Y$9R>49,K^1_A/7B1"MTW&!BH6N5_RG$M8@6PK7*B)JU6$ -MD1.SSE\\&P")E#IAR59+U.;ZX3K[,Q]+29>45>#`E$Q<4O>N>=X-0_-4B%*< -MG9\PW@0YAV[%,M2Y]>I40C!EVJ;H8&OKZ\43D#YHVO.,15X,8Q@5>_FH#QWL -MM%Q23`#!8P"GXE#W.*%]#&(3$^_5U'N@8@>%B?$>8&!'?70')C&1&'5[EF=; -M"[@M3IU_K3F6Z-'_!2+SC0?L5K&.J?1C1T=,YD^&+&?%K4\W_: -MV]+LM_T3'&@UX?,975H)WBA!&>-C)1*R\-N_$1OU!YZ;`<:*$9A23T/^DXMI -MSHBHF.AXALIVVFQ$$39-S1Y5B19.KZ&6"91#_^CYB&E;V5S4BNK#;E%M-GEWK)S.;)!QT9`6>V;59[F9I17'5]56"L/N?S_QNGZ6_&E1`U3XS1 -M$?C6L5!0AB82X&LC4DF((*DGS__?V*?32_$?8^F/JWZ3ZA_2?&^^=I_H8)T- -M;)X;/R6:%FFF-UE?HY,.\K7^B'L-Q\YI.JL]>OP!?HL2U7))C-\XDE#^8R.L -M`3!O/`;5JPR?N):V_[&BH3AZ&GCDY[;#I\\U?5N?*#.1]@B=-NI+MBLG; -M2-=DA72[K4NO!O^RL.L8_Q+EP8*$4S&V*[^W9,W?RF.R.<[O[>%T -MMTNP3*[&EWEE1HK],U,8>WBVU*?RIY_^*=E^Q1J![C6L.KR3<:RCUIR,P& -M*./;G"OU6+H4"'9^MU9T+$0"'O#1T250J*7,Y>XM=H%,V=ZM+DP<+2+MQUD= -M+Z[(.8F7?ZD_U?:M(_QZ#&@V#FUN27XM:J[0S$M(3X3KI^!S5^)8BIR>SRO5 -M03_W/V=I;_!7EL>L\O4X].]R:VK]>.3Y71'E`'G]$#6Z*E#'7Q>QC!B?+I\0 -M]8%#X@5GQ`8,A[)%5!1@'Q(.+*_$M)*(Q9/\#)[7XV'M,GS8L]_@^74..E)8 -MC%+!&(.NPI3G`VH#-A4U`$4QQODU]-]=_%]]]I)=65.1W[#)Q:%$E4/_?+W1 -MJ/2(591#`U1B6PS2WZ\ -M3KQBC`Z\3KLIB@E,A'_ZUX+0E51&!$KUO??&70LJZM*#WG%AB"PJ;%DA^/B^AK5WJ9G>/>Y92TS@^_\+P.Q.W4H#K]=@J=M!8PBC`>/[OKZ7@PU.=@6G9P#9A@H?N=R'4;OUI]*--R$ -M^QCC0K]".78^3M:(>I]K(ZFG8D<1!LK>NMR7YA#Q1>'YC4B>$,*DV[&F -M3="[\K=SM.Z=-:26I@ME67XJ@IU<^E/T[W578(WS\KL-[G1=MU%3D5`0JV_K -MJW?)ECVU'P5W?:^>QR>9\/^]WL?'YOL8C>HYSWR)-76D\?U]ZR+VV51NW5 -M2W3?A(\VM^OR'D_?6SZZ>V:\K*R^D5TYMEHZ'$O>:"/;O7O"-!3X5\75%\3; -M\R^55##>!1!JW@PL*"\JHHD.7(V5(3!9*6EB?AR%`YB%3DX:I[KJ\3V7%F9 -M[4R'2_.XU#Z6<:$(J#NQY[J]7D4ME0K>!->H;NN+QET"'-CT,>41/*%M -M\EJP/1A@LL8HPA0\M*=M)/*HL8R%%\L4/'N'Y_W?Q?DX^M^@\?V/^>S]2M/^ -M5('7UH43YAK'&C\IK_5,GY9ZL*7\Z\ZA34=NO3JLS*B8F)B6IID1U%)(9U%1 -M,V&5X_J%2;LD^['7T<)P@=84LWJ["X%58BFQ@#X&"%0H.`K*2?+ZH5'4V0]* -M+'595;2J"D@4K2J*B<"$_G,*(H:G,/;#XO.5CQY_"7R\J!$ -M#!UAE@0?>SV8KTH]NKB/'#JP0GK\_^VF$TCF+QT;%><8EWI=+8ATM/0_ZT)U -MKXH[:AMN3]/;]7-FY_'H:.C-H;)7!@3/;)2\0+J!+H'HTL)Y8#/*T60/F`8P -M#M34'C\IY4\MFK4&]644U:'0FFM=:89IE#4-P':R4OE_)767%M#W?^2;TE[G -MK$Y?=NG]Z6;.)_X9SIX2?DJDYW1:XDV<]HZ&A/GT&O9^\XU-[<#T[K]?QQU^ -MNCOE1*IP_0X=D@GKC:4/3/`13TP5%MD/3#T[8B*0*1&&,"$"#$8B?P($B@!` -M92`%?.>U]//U#\&CJ5M;\1W_9BP1^9M%W.(OBCW+!722E4!#8G:E%9)2;4*B *** DIFF OUTPUT TRUNCATED AT 1000 LINES ***