From owner-svn-src-projects@freebsd.org Thu Feb 13 12:52:28 2020 Return-Path: Delivered-To: svn-src-projects@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 9EBC725635B for ; Thu, 13 Feb 2020 12:52:28 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48JGcr4Ftpz3QM2; Thu, 13 Feb 2020 12:52:28 +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 mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 8CCE8AD15; Thu, 13 Feb 2020 12:52:28 +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 01DCqS1U016198; Thu, 13 Feb 2020 12:52:28 GMT (envelope-from dim@FreeBSD.org) Received: (from dim@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 01DCqP0L016182; Thu, 13 Feb 2020 12:52:25 GMT (envelope-from dim@FreeBSD.org) Message-Id: <202002131252.01DCqP0L016182@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: dim set sender to dim@FreeBSD.org using -f From: Dimitry Andric Date: Thu, 13 Feb 2020 12:52:25 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r357855 - in projects/clang1000-import: . contrib/elftoolchain/addr2line contrib/elftoolchain/elfcopy contrib/elftoolchain/libelftc contrib/file contrib/file/doc contrib/file/m4 contrib... X-SVN-Group: projects X-SVN-Commit-Author: dim X-SVN-Commit-Paths: in projects/clang1000-import: . contrib/elftoolchain/addr2line contrib/elftoolchain/elfcopy contrib/elftoolchain/libelftc contrib/file contrib/file/doc contrib/file/m4 contrib/file/magic contrib/file/... X-SVN-Commit-Revision: 357855 X-SVN-Commit-Repository: base 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.29 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, 13 Feb 2020 12:52:28 -0000 Author: dim Date: Thu Feb 13 12:52:24 2020 New Revision: 357855 URL: https://svnweb.freebsd.org/changeset/base/357855 Log: Merge ^/head r357662 through r357854. Added: projects/clang1000-import/contrib/file/magic/Magdir/forth - copied unchanged from r357854, head/contrib/file/magic/Magdir/forth projects/clang1000-import/contrib/file/magic/Magdir/git - copied unchanged from r357854, head/contrib/file/magic/Magdir/git projects/clang1000-import/contrib/file/magic/Magdir/modulefile - copied unchanged from r357854, head/contrib/file/magic/Magdir/modulefile projects/clang1000-import/contrib/file/magic/Magdir/openfst - copied unchanged from r357854, head/contrib/file/magic/Magdir/openfst projects/clang1000-import/contrib/file/magic/Magdir/opentimestamps - copied unchanged from r357854, head/contrib/file/magic/Magdir/opentimestamps projects/clang1000-import/contrib/file/magic/Magdir/pmem - copied unchanged from r357854, head/contrib/file/magic/Magdir/pmem projects/clang1000-import/contrib/file/magic/Magdir/rst - copied unchanged from r357854, head/contrib/file/magic/Magdir/rst projects/clang1000-import/contrib/file/magic/Magdir/sosi - copied unchanged from r357854, head/contrib/file/magic/Magdir/sosi projects/clang1000-import/contrib/file/src/is_csv.c - copied unchanged from r357854, head/contrib/file/src/is_csv.c projects/clang1000-import/contrib/libarchive/libarchive/archive_write_set_format_private.h - copied unchanged from r357854, head/contrib/libarchive/libarchive/archive_write_set_format_private.h projects/clang1000-import/contrib/libarchive/libarchive/test/test_read_format_7zip_delta4_lzma1.7z.uu - copied unchanged from r357854, head/contrib/libarchive/libarchive/test/test_read_format_7zip_delta4_lzma1.7z.uu projects/clang1000-import/contrib/libarchive/libarchive/test/test_read_format_7zip_delta4_lzma2.7z.uu - copied unchanged from r357854, head/contrib/libarchive/libarchive/test/test_read_format_7zip_delta4_lzma2.7z.uu projects/clang1000-import/contrib/libarchive/libarchive/test/test_read_format_rar5_block_size_is_too_small.rar.uu - copied unchanged from r357854, head/contrib/libarchive/libarchive/test/test_read_format_rar5_block_size_is_too_small.rar.uu projects/clang1000-import/contrib/libarchive/tar/test/test_option_safe_writes.c - copied unchanged from r357854, head/contrib/libarchive/tar/test/test_option_safe_writes.c projects/clang1000-import/lib/libc/sys/sigfastblock.2 - copied unchanged from r357854, head/lib/libc/sys/sigfastblock.2 projects/clang1000-import/sys/dev/cxgbe/firmware/t4fw-1.24.12.0.bin - copied unchanged from r357854, head/sys/dev/cxgbe/firmware/t4fw-1.24.12.0.bin projects/clang1000-import/sys/dev/cxgbe/firmware/t5fw-1.24.12.0.bin - copied unchanged from r357854, head/sys/dev/cxgbe/firmware/t5fw-1.24.12.0.bin projects/clang1000-import/sys/dev/cxgbe/firmware/t6fw-1.24.12.0.bin - copied unchanged from r357854, head/sys/dev/cxgbe/firmware/t6fw-1.24.12.0.bin projects/clang1000-import/sys/dev/pci/controller/ - copied from r357854, head/sys/dev/pci/controller/ Deleted: projects/clang1000-import/lib/libkvm/kvm_sparc64.c projects/clang1000-import/lib/libkvm/kvm_sparc64.h projects/clang1000-import/share/man/man4/man4.sparc64/Makefile projects/clang1000-import/share/man/man4/man4.sparc64/Makefile.depend projects/clang1000-import/share/man/man4/man4.sparc64/auxio.4 projects/clang1000-import/share/man/man4/man4.sparc64/central.4 projects/clang1000-import/share/man/man4/man4.sparc64/clkbrd.4 projects/clang1000-import/share/man/man4/man4.sparc64/creator.4 projects/clang1000-import/share/man/man4/man4.sparc64/ebus.4 projects/clang1000-import/share/man/man4/man4.sparc64/eeprom.4 projects/clang1000-import/share/man/man4/man4.sparc64/fhc.4 projects/clang1000-import/share/man/man4/man4.sparc64/machfb.4 projects/clang1000-import/share/man/man4/man4.sparc64/ofw_console.4 projects/clang1000-import/share/man/man4/man4.sparc64/openfirm.4 projects/clang1000-import/share/man/man4/man4.sparc64/openprom.4 projects/clang1000-import/share/man/man4/man4.sparc64/rtc.4 projects/clang1000-import/share/man/man4/man4.sparc64/sbus.4 projects/clang1000-import/share/man/man4/man4.sparc64/snd_audiocs.4 projects/clang1000-import/sys/dev/cxgbe/firmware/t4fw-1.24.11.0.bin projects/clang1000-import/sys/dev/cxgbe/firmware/t5fw-1.24.11.0.bin projects/clang1000-import/sys/dev/cxgbe/firmware/t6fw-1.24.11.0.bin projects/clang1000-import/usr.sbin/Makefile.sparc64 projects/clang1000-import/usr.sbin/eeprom/Makefile projects/clang1000-import/usr.sbin/eeprom/Makefile.depend projects/clang1000-import/usr.sbin/eeprom/eeprom.8 projects/clang1000-import/usr.sbin/eeprom/eeprom.c projects/clang1000-import/usr.sbin/eeprom/ofw_options.c projects/clang1000-import/usr.sbin/eeprom/ofw_options.h Modified: projects/clang1000-import/ObsoleteFiles.inc projects/clang1000-import/UPDATING projects/clang1000-import/contrib/elftoolchain/addr2line/addr2line.c projects/clang1000-import/contrib/elftoolchain/elfcopy/main.c projects/clang1000-import/contrib/elftoolchain/libelftc/elftc.3 projects/clang1000-import/contrib/elftoolchain/libelftc/elftc_bfd_find_target.3 projects/clang1000-import/contrib/elftoolchain/libelftc/elftc_bfdtarget.c projects/clang1000-import/contrib/elftoolchain/libelftc/libelftc.h projects/clang1000-import/contrib/file/ChangeLog projects/clang1000-import/contrib/file/Makefile.in projects/clang1000-import/contrib/file/README projects/clang1000-import/contrib/file/aclocal.m4 projects/clang1000-import/contrib/file/compile projects/clang1000-import/contrib/file/config.guess projects/clang1000-import/contrib/file/config.h.in projects/clang1000-import/contrib/file/config.sub projects/clang1000-import/contrib/file/configure projects/clang1000-import/contrib/file/configure.ac projects/clang1000-import/contrib/file/depcomp projects/clang1000-import/contrib/file/doc/Makefile.in projects/clang1000-import/contrib/file/doc/file.man projects/clang1000-import/contrib/file/doc/libmagic.man projects/clang1000-import/contrib/file/doc/magic.man projects/clang1000-import/contrib/file/ltmain.sh projects/clang1000-import/contrib/file/m4/libtool.m4 projects/clang1000-import/contrib/file/m4/ltoptions.m4 projects/clang1000-import/contrib/file/m4/ltsugar.m4 projects/clang1000-import/contrib/file/m4/ltversion.m4 projects/clang1000-import/contrib/file/m4/lt~obsolete.m4 projects/clang1000-import/contrib/file/magic/Magdir/android projects/clang1000-import/contrib/file/magic/Magdir/animation projects/clang1000-import/contrib/file/magic/Magdir/apple projects/clang1000-import/contrib/file/magic/Magdir/archive projects/clang1000-import/contrib/file/magic/Magdir/audio projects/clang1000-import/contrib/file/magic/Magdir/bsi projects/clang1000-import/contrib/file/magic/Magdir/c-lang projects/clang1000-import/contrib/file/magic/Magdir/cad projects/clang1000-import/contrib/file/magic/Magdir/commands projects/clang1000-import/contrib/file/magic/Magdir/compress projects/clang1000-import/contrib/file/magic/Magdir/console projects/clang1000-import/contrib/file/magic/Magdir/database projects/clang1000-import/contrib/file/magic/Magdir/elf projects/clang1000-import/contrib/file/magic/Magdir/espressif projects/clang1000-import/contrib/file/magic/Magdir/filesystems projects/clang1000-import/contrib/file/magic/Magdir/fonts projects/clang1000-import/contrib/file/magic/Magdir/frame projects/clang1000-import/contrib/file/magic/Magdir/games projects/clang1000-import/contrib/file/magic/Magdir/gimp projects/clang1000-import/contrib/file/magic/Magdir/icc projects/clang1000-import/contrib/file/magic/Magdir/images projects/clang1000-import/contrib/file/magic/Magdir/javascript projects/clang1000-import/contrib/file/magic/Magdir/kml projects/clang1000-import/contrib/file/magic/Magdir/linux projects/clang1000-import/contrib/file/magic/Magdir/macintosh projects/clang1000-import/contrib/file/magic/Magdir/mail.news projects/clang1000-import/contrib/file/magic/Magdir/map projects/clang1000-import/contrib/file/magic/Magdir/msdos projects/clang1000-import/contrib/file/magic/Magdir/msooxml projects/clang1000-import/contrib/file/magic/Magdir/ole2compounddocs projects/clang1000-import/contrib/file/magic/Magdir/pdf projects/clang1000-import/contrib/file/magic/Magdir/python projects/clang1000-import/contrib/file/magic/Magdir/rpi projects/clang1000-import/contrib/file/magic/Magdir/ruby projects/clang1000-import/contrib/file/magic/Magdir/sgml projects/clang1000-import/contrib/file/magic/Magdir/sniffer projects/clang1000-import/contrib/file/magic/Magdir/ssh projects/clang1000-import/contrib/file/magic/Magdir/uuencode projects/clang1000-import/contrib/file/magic/Magdir/varied.script projects/clang1000-import/contrib/file/magic/Magdir/vax projects/clang1000-import/contrib/file/magic/Magdir/windows projects/clang1000-import/contrib/file/magic/Magdir/wordprocessors projects/clang1000-import/contrib/file/magic/Magdir/zip projects/clang1000-import/contrib/file/magic/Makefile.am projects/clang1000-import/contrib/file/magic/Makefile.in projects/clang1000-import/contrib/file/missing projects/clang1000-import/contrib/file/python/Makefile.in projects/clang1000-import/contrib/file/src/Makefile.am projects/clang1000-import/contrib/file/src/Makefile.in projects/clang1000-import/contrib/file/src/apprentice.c projects/clang1000-import/contrib/file/src/ascmagic.c projects/clang1000-import/contrib/file/src/buffer.c projects/clang1000-import/contrib/file/src/compress.c projects/clang1000-import/contrib/file/src/encoding.c projects/clang1000-import/contrib/file/src/file.c projects/clang1000-import/contrib/file/src/file.h projects/clang1000-import/contrib/file/src/file_opts.h projects/clang1000-import/contrib/file/src/fsmagic.c projects/clang1000-import/contrib/file/src/funcs.c projects/clang1000-import/contrib/file/src/magic.h.in projects/clang1000-import/contrib/file/src/readcdf.c projects/clang1000-import/contrib/file/src/readelf.c projects/clang1000-import/contrib/file/src/seccomp.c projects/clang1000-import/contrib/file/src/vasprintf.c projects/clang1000-import/contrib/file/tests/JW07022A.mp3.result projects/clang1000-import/contrib/file/tests/Makefile.in projects/clang1000-import/contrib/file/tests/test.c projects/clang1000-import/contrib/libarchive/NEWS projects/clang1000-import/contrib/libarchive/cat/bsdcat.h projects/clang1000-import/contrib/libarchive/cat/test/test_0.c projects/clang1000-import/contrib/libarchive/cpio/cpio.c projects/clang1000-import/contrib/libarchive/cpio/test/test_basic.c projects/clang1000-import/contrib/libarchive/cpio/test/test_format_newc.c projects/clang1000-import/contrib/libarchive/libarchive/archive.h projects/clang1000-import/contrib/libarchive/libarchive/archive_acl_private.h projects/clang1000-import/contrib/libarchive/libarchive/archive_blake2.h projects/clang1000-import/contrib/libarchive/libarchive/archive_blake2_impl.h projects/clang1000-import/contrib/libarchive/libarchive/archive_cmdline_private.h projects/clang1000-import/contrib/libarchive/libarchive/archive_crc32.h projects/clang1000-import/contrib/libarchive/libarchive/archive_cryptor_private.h projects/clang1000-import/contrib/libarchive/libarchive/archive_digest_private.h projects/clang1000-import/contrib/libarchive/libarchive/archive_endian.h projects/clang1000-import/contrib/libarchive/libarchive/archive_entry.c projects/clang1000-import/contrib/libarchive/libarchive/archive_entry.h projects/clang1000-import/contrib/libarchive/libarchive/archive_entry_locale.h projects/clang1000-import/contrib/libarchive/libarchive/archive_entry_private.h projects/clang1000-import/contrib/libarchive/libarchive/archive_getdate.c projects/clang1000-import/contrib/libarchive/libarchive/archive_getdate.h projects/clang1000-import/contrib/libarchive/libarchive/archive_hmac_private.h projects/clang1000-import/contrib/libarchive/libarchive/archive_openssl_evp_private.h projects/clang1000-import/contrib/libarchive/libarchive/archive_openssl_hmac_private.h projects/clang1000-import/contrib/libarchive/libarchive/archive_options_private.h projects/clang1000-import/contrib/libarchive/libarchive/archive_pack_dev.c projects/clang1000-import/contrib/libarchive/libarchive/archive_pack_dev.h projects/clang1000-import/contrib/libarchive/libarchive/archive_pathmatch.h projects/clang1000-import/contrib/libarchive/libarchive/archive_platform_acl.h projects/clang1000-import/contrib/libarchive/libarchive/archive_platform_xattr.h projects/clang1000-import/contrib/libarchive/libarchive/archive_ppmd7.c projects/clang1000-import/contrib/libarchive/libarchive/archive_ppmd7_private.h projects/clang1000-import/contrib/libarchive/libarchive/archive_ppmd8_private.h projects/clang1000-import/contrib/libarchive/libarchive/archive_ppmd_private.h projects/clang1000-import/contrib/libarchive/libarchive/archive_private.h projects/clang1000-import/contrib/libarchive/libarchive/archive_random_private.h projects/clang1000-import/contrib/libarchive/libarchive/archive_rb.h projects/clang1000-import/contrib/libarchive/libarchive/archive_read.c projects/clang1000-import/contrib/libarchive/libarchive/archive_read_disk_posix.c projects/clang1000-import/contrib/libarchive/libarchive/archive_read_disk_private.h projects/clang1000-import/contrib/libarchive/libarchive/archive_read_private.h projects/clang1000-import/contrib/libarchive/libarchive/archive_read_set_options.3 projects/clang1000-import/contrib/libarchive/libarchive/archive_read_support_filter_uu.c projects/clang1000-import/contrib/libarchive/libarchive/archive_read_support_format_7zip.c projects/clang1000-import/contrib/libarchive/libarchive/archive_read_support_format_lha.c projects/clang1000-import/contrib/libarchive/libarchive/archive_read_support_format_mtree.c projects/clang1000-import/contrib/libarchive/libarchive/archive_read_support_format_rar.c projects/clang1000-import/contrib/libarchive/libarchive/archive_read_support_format_rar5.c projects/clang1000-import/contrib/libarchive/libarchive/archive_read_support_format_warc.c projects/clang1000-import/contrib/libarchive/libarchive/archive_read_support_format_xar.c projects/clang1000-import/contrib/libarchive/libarchive/archive_string.c projects/clang1000-import/contrib/libarchive/libarchive/archive_string.h projects/clang1000-import/contrib/libarchive/libarchive/archive_string_composition.h projects/clang1000-import/contrib/libarchive/libarchive/archive_util.c projects/clang1000-import/contrib/libarchive/libarchive/archive_write_disk.3 projects/clang1000-import/contrib/libarchive/libarchive/archive_write_disk_posix.c projects/clang1000-import/contrib/libarchive/libarchive/archive_write_disk_private.h projects/clang1000-import/contrib/libarchive/libarchive/archive_write_private.h projects/clang1000-import/contrib/libarchive/libarchive/archive_write_set_format.c projects/clang1000-import/contrib/libarchive/libarchive/archive_write_set_format_7zip.c projects/clang1000-import/contrib/libarchive/libarchive/archive_write_set_format_ar.c projects/clang1000-import/contrib/libarchive/libarchive/archive_write_set_format_cpio.c projects/clang1000-import/contrib/libarchive/libarchive/archive_write_set_format_cpio_newc.c projects/clang1000-import/contrib/libarchive/libarchive/archive_write_set_format_gnutar.c projects/clang1000-import/contrib/libarchive/libarchive/archive_write_set_format_iso9660.c projects/clang1000-import/contrib/libarchive/libarchive/archive_write_set_format_pax.c projects/clang1000-import/contrib/libarchive/libarchive/archive_write_set_format_shar.c projects/clang1000-import/contrib/libarchive/libarchive/archive_write_set_format_ustar.c projects/clang1000-import/contrib/libarchive/libarchive/archive_write_set_format_v7tar.c projects/clang1000-import/contrib/libarchive/libarchive/archive_write_set_format_warc.c projects/clang1000-import/contrib/libarchive/libarchive/archive_write_set_format_xar.c projects/clang1000-import/contrib/libarchive/libarchive/archive_write_set_format_zip.c projects/clang1000-import/contrib/libarchive/libarchive/archive_write_set_options.3 projects/clang1000-import/contrib/libarchive/libarchive/archive_xxhash.h projects/clang1000-import/contrib/libarchive/libarchive/filter_fork.h projects/clang1000-import/contrib/libarchive/libarchive/test/test_archive_write_set_format_filter_by_ext.c projects/clang1000-import/contrib/libarchive/libarchive/test/test_compat_zip.c projects/clang1000-import/contrib/libarchive/libarchive/test/test_fuzz.c projects/clang1000-import/contrib/libarchive/libarchive/test/test_read_extract.c projects/clang1000-import/contrib/libarchive/libarchive/test/test_read_format_7zip.c projects/clang1000-import/contrib/libarchive/libarchive/test/test_read_format_7zip_packinfo_digests.c projects/clang1000-import/contrib/libarchive/libarchive/test/test_read_format_gtar_sparse.c projects/clang1000-import/contrib/libarchive/libarchive/test/test_read_format_rar5.c projects/clang1000-import/contrib/libarchive/libarchive/test/test_read_format_zip.c projects/clang1000-import/contrib/libarchive/libarchive/test/test_read_format_zip_7075_utf8_paths.c projects/clang1000-import/contrib/libarchive/libarchive/test/test_read_format_zip_comment_stored.c projects/clang1000-import/contrib/libarchive/libarchive/test/test_read_format_zip_extra_padding.c projects/clang1000-import/contrib/libarchive/libarchive/test/test_read_format_zip_high_compression.c projects/clang1000-import/contrib/libarchive/libarchive/test/test_read_format_zip_jar.c projects/clang1000-import/contrib/libarchive/libarchive/test/test_read_format_zip_mac_metadata.c projects/clang1000-import/contrib/libarchive/libarchive/test/test_read_format_zip_malformed.c projects/clang1000-import/contrib/libarchive/libarchive/test/test_read_format_zip_msdos.c projects/clang1000-import/contrib/libarchive/libarchive/test/test_read_format_zip_nested.c projects/clang1000-import/contrib/libarchive/libarchive/test/test_read_format_zip_nofiletype.c projects/clang1000-import/contrib/libarchive/libarchive/test/test_read_format_zip_padded.c projects/clang1000-import/contrib/libarchive/libarchive/test/test_read_format_zip_sfx.c projects/clang1000-import/contrib/libarchive/libarchive/test/test_read_format_zip_with_invalid_traditional_eocd.c projects/clang1000-import/contrib/libarchive/libarchive/test/test_read_format_zip_zip64.c projects/clang1000-import/contrib/libarchive/libarchive/test/test_read_pax_truncated.c projects/clang1000-import/contrib/libarchive/libarchive/test/test_read_truncated_filter.c projects/clang1000-import/contrib/libarchive/libarchive/test/test_sparse_basic.c projects/clang1000-import/contrib/libarchive/libarchive/test/test_write_disk.c projects/clang1000-import/contrib/libarchive/libarchive/test/test_write_format_cpio_empty.c projects/clang1000-import/contrib/libarchive/libarchive/test/test_write_format_pax.c projects/clang1000-import/contrib/libarchive/libarchive/test/test_write_format_shar_empty.c projects/clang1000-import/contrib/libarchive/libarchive/test/test_write_format_tar.c projects/clang1000-import/contrib/libarchive/libarchive/test/test_write_format_tar_sparse.c projects/clang1000-import/contrib/libarchive/libarchive/test/test_write_format_xar.c projects/clang1000-import/contrib/libarchive/libarchive/test/test_write_format_zip_file.c projects/clang1000-import/contrib/libarchive/libarchive/test/test_write_format_zip_file_zip64.c projects/clang1000-import/contrib/libarchive/libarchive_fe/err.h projects/clang1000-import/contrib/libarchive/tar/bsdtar.1 projects/clang1000-import/contrib/libarchive/tar/bsdtar.c projects/clang1000-import/contrib/libarchive/tar/bsdtar.h projects/clang1000-import/contrib/libarchive/tar/cmdline.c projects/clang1000-import/contrib/libarchive/tar/test/test_basic.c projects/clang1000-import/contrib/libarchive/tar/test/test_copy.c projects/clang1000-import/contrib/libarchive/tar/test/test_option_C_upper.c projects/clang1000-import/contrib/libarchive/tar/test/test_option_s.c projects/clang1000-import/contrib/libarchive/tar/util.c projects/clang1000-import/contrib/libarchive/test_utils/test_common.h projects/clang1000-import/contrib/libarchive/test_utils/test_main.c projects/clang1000-import/contrib/netbsd-tests/lib/libc/c063/t_o_search.c projects/clang1000-import/lib/Makefile projects/clang1000-import/lib/libarchive/Makefile projects/clang1000-import/lib/libarchive/tests/Makefile projects/clang1000-import/lib/libc/gen/auxv.c projects/clang1000-import/lib/libc/string/memset.3 projects/clang1000-import/lib/libc/sys/Makefile.inc projects/clang1000-import/lib/libc/sys/Symbol.map projects/clang1000-import/lib/libcompiler_rt/Makefile.inc projects/clang1000-import/lib/libmagic/Makefile projects/clang1000-import/lib/libmagic/config.h projects/clang1000-import/lib/libmemstat/memstat_uma.c projects/clang1000-import/lib/libpmc/libpmc_pmu_util.c projects/clang1000-import/lib/libpmc/pmu-events/arch/x86/mapfile.csv projects/clang1000-import/lib/libthr/thread/thr_create.c projects/clang1000-import/lib/libthr/thread/thr_private.h projects/clang1000-import/lib/libthr/thread/thr_rtld.c projects/clang1000-import/lib/libthr/thread/thr_sig.c projects/clang1000-import/libexec/rtld-elf/rtld-libc/Makefile.inc projects/clang1000-import/libexec/rtld-elf/rtld.c projects/clang1000-import/libexec/rtld-elf/rtld.h projects/clang1000-import/libexec/rtld-elf/rtld_lock.c projects/clang1000-import/release/tools/ec2.conf projects/clang1000-import/sbin/fsck_msdosfs/Makefile projects/clang1000-import/sbin/fsck_msdosfs/check.c projects/clang1000-import/sbin/ipfw/nat.c projects/clang1000-import/share/man/man4/cas.4 projects/clang1000-import/share/man/man4/dc.4 projects/clang1000-import/share/man/man4/ddb.4 projects/clang1000-import/share/man/man4/gem.4 projects/clang1000-import/share/man/man4/hme.4 projects/clang1000-import/share/man/man4/le.4 projects/clang1000-import/share/man/man4/netmap.4 projects/clang1000-import/share/man/man4/pcm.4 projects/clang1000-import/share/man/man4/smp.4 projects/clang1000-import/share/man/man4/vale.4 projects/clang1000-import/share/man/man5/rc.conf.5 projects/clang1000-import/share/man/man9/bus_dma.9 projects/clang1000-import/share/misc/committers-src.dot projects/clang1000-import/share/mk/bsd.opts.mk projects/clang1000-import/share/mk/src.opts.mk projects/clang1000-import/stand/common/interp_lua.c projects/clang1000-import/stand/efi/loader/main.c projects/clang1000-import/sys/amd64/amd64/trap.c projects/clang1000-import/sys/amd64/include/counter.h projects/clang1000-import/sys/amd64/include/pcpu.h projects/clang1000-import/sys/arm/include/atomic-v6.h projects/clang1000-import/sys/arm64/conf/GENERIC projects/clang1000-import/sys/arm64/linux/linux_locore.asm projects/clang1000-import/sys/cam/ctl/ctl_backend_block.c projects/clang1000-import/sys/cam/ctl/ctl_backend_ramdisk.c projects/clang1000-import/sys/cam/scsi/scsi_da.c projects/clang1000-import/sys/compat/freebsd32/freebsd32_syscall.h projects/clang1000-import/sys/compat/freebsd32/freebsd32_syscalls.c projects/clang1000-import/sys/compat/freebsd32/freebsd32_sysent.c projects/clang1000-import/sys/compat/freebsd32/freebsd32_systrace_args.c projects/clang1000-import/sys/compat/freebsd32/syscalls.master projects/clang1000-import/sys/compat/linux/linux_futex.c projects/clang1000-import/sys/compat/linux/linux_socket.c projects/clang1000-import/sys/conf/files projects/clang1000-import/sys/conf/files.arm64 projects/clang1000-import/sys/dev/acpica/acpi_hpet.c projects/clang1000-import/sys/dev/al_eth/al_eth.c projects/clang1000-import/sys/dev/alc/if_alc.c projects/clang1000-import/sys/dev/ale/if_ale.c projects/clang1000-import/sys/dev/altera/atse/if_atse.c projects/clang1000-import/sys/dev/ath/if_ath.c projects/clang1000-import/sys/dev/ath/if_ath_rx.c projects/clang1000-import/sys/dev/bge/if_bge.c projects/clang1000-import/sys/dev/bwn/if_bwn.c projects/clang1000-import/sys/dev/bxe/bxe.c projects/clang1000-import/sys/dev/cas/if_cas.c projects/clang1000-import/sys/dev/cxgbe/firmware/t4fw_interface.h projects/clang1000-import/sys/dev/ena/ena.c projects/clang1000-import/sys/dev/flash/cqspi.c projects/clang1000-import/sys/dev/hme/if_hme.c projects/clang1000-import/sys/dev/hwpmc/hwpmc_amd.c projects/clang1000-import/sys/dev/hwpmc/hwpmc_x86.c projects/clang1000-import/sys/dev/ixl/if_iavf.c projects/clang1000-import/sys/dev/le/lancevar.h projects/clang1000-import/sys/dev/liquidio/base/lio_droq.c projects/clang1000-import/sys/dev/malo/if_malo.c projects/clang1000-import/sys/dev/mlx5/driver.h projects/clang1000-import/sys/dev/mlx5/mlx5_core/mlx5_eq.c projects/clang1000-import/sys/dev/mlx5/mlx5_core/mlx5_main.c projects/clang1000-import/sys/dev/mlx5/mlx5_en/mlx5_en_main.c projects/clang1000-import/sys/dev/mwl/if_mwl.c projects/clang1000-import/sys/dev/neta/if_mvneta.c projects/clang1000-import/sys/dev/neta/if_mvneta_fdt.c projects/clang1000-import/sys/dev/neta/if_mvnetavar.h projects/clang1000-import/sys/dev/netmap/if_ptnet.c projects/clang1000-import/sys/dev/netmap/netmap_kern.h projects/clang1000-import/sys/dev/nfe/if_nfe.c projects/clang1000-import/sys/dev/pci/pci_host_generic_acpi.c projects/clang1000-import/sys/dev/pci/pci_host_generic_acpi.h projects/clang1000-import/sys/dev/pms/RefTisa/discovery/dm/dmdisc.c projects/clang1000-import/sys/dev/ppbus/lpt.c projects/clang1000-import/sys/dev/puc/pucdata.c projects/clang1000-import/sys/dev/qlxgbe/ql_os.c projects/clang1000-import/sys/dev/re/if_re.c projects/clang1000-import/sys/dev/rt/if_rt.c projects/clang1000-import/sys/dev/smc/if_smc.c projects/clang1000-import/sys/dev/usb/controller/ehci_pci.c projects/clang1000-import/sys/dev/usb/controller/ohci_pci.c projects/clang1000-import/sys/dev/usb/controller/xhci_pci.c projects/clang1000-import/sys/dev/usb/net/if_axe.c projects/clang1000-import/sys/dev/virtio/network/if_vtnet.c projects/clang1000-import/sys/dev/vnic/nicvf_queues.c projects/clang1000-import/sys/dev/vr/if_vr.c projects/clang1000-import/sys/dev/wtap/if_wtap.c projects/clang1000-import/sys/dev/xdma/xdma.c projects/clang1000-import/sys/dev/xdma/xdma.h projects/clang1000-import/sys/dev/xdma/xdma_fdt_test.c projects/clang1000-import/sys/dev/xdma/xdma_sg.c projects/clang1000-import/sys/dev/xilinx/if_xae.c projects/clang1000-import/sys/dev/xl/if_xl.c projects/clang1000-import/sys/geom/eli/g_eli.c projects/clang1000-import/sys/kern/Makefile projects/clang1000-import/sys/kern/capabilities.conf projects/clang1000-import/sys/kern/imgact_elf.c projects/clang1000-import/sys/kern/init_sysent.c projects/clang1000-import/sys/kern/kern_exec.c projects/clang1000-import/sys/kern/kern_fork.c projects/clang1000-import/sys/kern/kern_intr.c projects/clang1000-import/sys/kern/kern_jail.c projects/clang1000-import/sys/kern/kern_proc.c projects/clang1000-import/sys/kern/kern_rmlock.c projects/clang1000-import/sys/kern/kern_sig.c projects/clang1000-import/sys/kern/kern_sysctl.c projects/clang1000-import/sys/kern/kern_thread.c projects/clang1000-import/sys/kern/subr_capability.c projects/clang1000-import/sys/kern/subr_epoch.c projects/clang1000-import/sys/kern/subr_gtaskqueue.c projects/clang1000-import/sys/kern/subr_pcpu.c projects/clang1000-import/sys/kern/subr_smp.c projects/clang1000-import/sys/kern/subr_syscall.c projects/clang1000-import/sys/kern/subr_taskqueue.c projects/clang1000-import/sys/kern/subr_trap.c projects/clang1000-import/sys/kern/syscalls.c projects/clang1000-import/sys/kern/syscalls.master projects/clang1000-import/sys/kern/systrace_args.c projects/clang1000-import/sys/kern/vfs_mount.c projects/clang1000-import/sys/kern/vfs_subr.c projects/clang1000-import/sys/kern/vfs_vnops.c projects/clang1000-import/sys/mips/ingenic/jz4780_aic.c projects/clang1000-import/sys/modules/cxgbe/t4_firmware/Makefile projects/clang1000-import/sys/modules/cxgbe/t5_firmware/Makefile projects/clang1000-import/sys/modules/cxgbe/t6_firmware/Makefile projects/clang1000-import/sys/net/ieee8023ad_lacp.c projects/clang1000-import/sys/net/if_media.c projects/clang1000-import/sys/net/if_media.h projects/clang1000-import/sys/net/iflib.c projects/clang1000-import/sys/netgraph/ng_nat.c projects/clang1000-import/sys/netinet/cc/cc_cdg.c projects/clang1000-import/sys/netinet/cc/cc_dctcp.c projects/clang1000-import/sys/netinet/cc/cc_htcp.c projects/clang1000-import/sys/netinet/icmp6.h projects/clang1000-import/sys/netinet/if_ether.c projects/clang1000-import/sys/netinet/igmp.c projects/clang1000-import/sys/netinet/in.c projects/clang1000-import/sys/netinet/in.h projects/clang1000-import/sys/netinet/in_mcast.c projects/clang1000-import/sys/netinet/in_pcb.c projects/clang1000-import/sys/netinet/in_pcb.h projects/clang1000-import/sys/netinet/in_proto.c projects/clang1000-import/sys/netinet/in_rmx.c projects/clang1000-import/sys/netinet/ip_divert.c projects/clang1000-import/sys/netinet/ip_dummynet.h projects/clang1000-import/sys/netinet/ip_fastfwd.c projects/clang1000-import/sys/netinet/ip_fw.h projects/clang1000-import/sys/netinet/ip_icmp.c projects/clang1000-import/sys/netinet/ip_id.c projects/clang1000-import/sys/netinet/ip_input.c projects/clang1000-import/sys/netinet/ip_mroute.c projects/clang1000-import/sys/netinet/ip_options.c projects/clang1000-import/sys/netinet/ip_reass.c projects/clang1000-import/sys/netinet/netdump/netdump_client.c projects/clang1000-import/sys/netinet/raw_ip.c projects/clang1000-import/sys/netinet/sctp_indata.c projects/clang1000-import/sys/netinet/sctp_output.c projects/clang1000-import/sys/netinet/sctp_pcb.c projects/clang1000-import/sys/netinet/sctp_var.h projects/clang1000-import/sys/netinet/sctputil.c projects/clang1000-import/sys/netinet/sctputil.h projects/clang1000-import/sys/netinet/siftr.c projects/clang1000-import/sys/netinet/tcp.h projects/clang1000-import/sys/netinet/tcp_fastopen.c projects/clang1000-import/sys/netinet/tcp_fsm.h projects/clang1000-import/sys/netinet/tcp_hpts.c projects/clang1000-import/sys/netinet/tcp_hpts.h projects/clang1000-import/sys/netinet/tcp_input.c projects/clang1000-import/sys/netinet/tcp_log_buf.c projects/clang1000-import/sys/netinet/tcp_log_buf.h projects/clang1000-import/sys/netinet/tcp_lro.c projects/clang1000-import/sys/netinet/tcp_lro.h projects/clang1000-import/sys/netinet/tcp_output.c projects/clang1000-import/sys/netinet/tcp_ratelimit.c projects/clang1000-import/sys/netinet/tcp_reass.c projects/clang1000-import/sys/netinet/tcp_sack.c projects/clang1000-import/sys/netinet/tcp_stacks/bbr.c projects/clang1000-import/sys/netinet/tcp_stacks/rack.c projects/clang1000-import/sys/netinet/tcp_stacks/rack_bbr_common.c projects/clang1000-import/sys/netinet/tcp_stacks/rack_bbr_common.h projects/clang1000-import/sys/netinet/tcp_stacks/sack_filter.c projects/clang1000-import/sys/netinet/tcp_stacks/tcp_bbr.h projects/clang1000-import/sys/netinet/tcp_stacks/tcp_rack.h projects/clang1000-import/sys/netinet/tcp_subr.c projects/clang1000-import/sys/netinet/tcp_syncache.c projects/clang1000-import/sys/netinet/tcp_timer.c projects/clang1000-import/sys/netinet/tcp_timer.h projects/clang1000-import/sys/netinet/tcp_usrreq.c projects/clang1000-import/sys/netinet/tcp_var.h projects/clang1000-import/sys/netinet/udp.h projects/clang1000-import/sys/netinet/udp_usrreq.c projects/clang1000-import/sys/netinet/udp_var.h projects/clang1000-import/sys/netinet/udplite.h projects/clang1000-import/sys/netipsec/key.c projects/clang1000-import/sys/netpfil/ipfw/ip_fw_dynamic.c projects/clang1000-import/sys/opencrypto/xform_enc.h projects/clang1000-import/sys/riscv/include/pcpu.h projects/clang1000-import/sys/riscv/riscv/pmap.c projects/clang1000-import/sys/sys/_task.h projects/clang1000-import/sys/sys/capsicum.h projects/clang1000-import/sys/sys/elf_common.h projects/clang1000-import/sys/sys/epoch.h projects/clang1000-import/sys/sys/gtaskqueue.h projects/clang1000-import/sys/sys/mount.h projects/clang1000-import/sys/sys/pcpu.h projects/clang1000-import/sys/sys/proc.h projects/clang1000-import/sys/sys/signalvar.h projects/clang1000-import/sys/sys/smp.h projects/clang1000-import/sys/sys/syscall.h projects/clang1000-import/sys/sys/syscall.mk projects/clang1000-import/sys/sys/sysctl.h projects/clang1000-import/sys/sys/sysproto.h projects/clang1000-import/sys/sys/taskqueue.h projects/clang1000-import/sys/vm/uma_core.c projects/clang1000-import/sys/vm/uma_int.h projects/clang1000-import/sys/vm/vm_pageout.c projects/clang1000-import/tests/sys/fs/fusefs/read.cc projects/clang1000-import/tests/sys/fs/fusefs/write.cc projects/clang1000-import/tests/sys/geom/class/multipath/failloop.sh projects/clang1000-import/tests/sys/kern/ptrace_test.c projects/clang1000-import/tests/sys/mac/portacl/misc.sh projects/clang1000-import/tests/sys/net/routing/test_rtsock_lladdr.c projects/clang1000-import/tests/sys/pjdfstest/tests/Makefile projects/clang1000-import/tools/kerneldoc/subsys/Makefile projects/clang1000-import/usr.bin/bsdcat/Makefile projects/clang1000-import/usr.bin/cpio/Makefile projects/clang1000-import/usr.bin/diff/diff.1 projects/clang1000-import/usr.bin/login/login.conf projects/clang1000-import/usr.bin/procstat/procstat.c projects/clang1000-import/usr.bin/procstat/procstat.h projects/clang1000-import/usr.bin/procstat/procstat_auxv.c projects/clang1000-import/usr.bin/procstat/procstat_sigs.c projects/clang1000-import/usr.bin/tar/Makefile projects/clang1000-import/usr.bin/tar/tests/Makefile projects/clang1000-import/usr.bin/truss/syscalls.c projects/clang1000-import/usr.sbin/bhyve/net_backends.c projects/clang1000-import/usr.sbin/bhyve/net_backends.h projects/clang1000-import/usr.sbin/bhyve/net_utils.c projects/clang1000-import/usr.sbin/bhyve/pci_e82545.c projects/clang1000-import/usr.sbin/bhyve/pci_virtio_net.c projects/clang1000-import/usr.sbin/binmiscctl/binmiscctl.8 projects/clang1000-import/usr.sbin/bsdconfig/share/media/network.subr projects/clang1000-import/usr.sbin/bsnmpd/modules/snmp_bridge/bridge_sys.c projects/clang1000-import/usr.sbin/bsnmpd/modules/snmp_hostres/hostres_partition_tbl.c projects/clang1000-import/usr.sbin/config/config.5 projects/clang1000-import/usr.sbin/cron/cron/compat.h projects/clang1000-import/usr.sbin/cron/cron/do_command.c projects/clang1000-import/usr.sbin/cron/cron/externs.h projects/clang1000-import/usr.sbin/cron/cron/popen.c projects/clang1000-import/usr.sbin/cron/lib/compat.c projects/clang1000-import/usr.sbin/ntp/config.h projects/clang1000-import/usr.sbin/ntp/libntpevent/Makefile projects/clang1000-import/usr.sbin/periodic/etc/daily/200.backup-passwd projects/clang1000-import/usr.sbin/rmt/Makefile projects/clang1000-import/usr.sbin/tzsetup/tzsetup.c Directory Properties: projects/clang1000-import/ (props changed) projects/clang1000-import/contrib/elftoolchain/ (props changed) projects/clang1000-import/contrib/file/ (props changed) projects/clang1000-import/contrib/libarchive/ (props changed) projects/clang1000-import/contrib/netbsd-tests/ (props changed) Modified: projects/clang1000-import/ObsoleteFiles.inc ============================================================================== --- projects/clang1000-import/ObsoleteFiles.inc Thu Feb 13 11:00:20 2020 (r357854) +++ projects/clang1000-import/ObsoleteFiles.inc Thu Feb 13 12:52:24 2020 (r357855) @@ -291,6 +291,10 @@ OLD_FILES+=usr/include/ssp/string.h OLD_FILES+=usr/include/ssp/unistd.h OLD_DIRS+=usr/include/ssp +# 20191229: GEOM_SCHED class and gsched tool removed +OLD_FILES+=sbin/gsched +OLD_LIBS+=lib/geom/geom_sched.so + # 20191222: new clang import which bumps version from 9.0.0 to 9.0.1. OLD_FILES+=usr/lib/clang/9.0.0/include/cuda_wrappers/algorithm OLD_FILES+=usr/lib/clang/9.0.0/include/cuda_wrappers/complex @@ -994,7 +998,7 @@ OLD_FILES+=usr/share/man/man4/wb.4.gz OLD_FILES+=usr/share/man/man4/xe.4.gz OLD_FILES+=usr/share/man/man4/if_xe.4.gz # 20190513: libcap_sysctl interface change -OLD_FILES+=lib/casper/libcap_sysctl.1 +OLD_FILES+=lib/casper/libcap_sysctl.so.1 # 20190509: tests/sys/opencrypto requires the net/py-dpkt package. OLD_FILES+=usr/tests/sys/opencrypto/dpkt.py OLD_FILES+=usr/tests/sys/opencrypto/dpkt.pyc Modified: projects/clang1000-import/UPDATING ============================================================================== --- projects/clang1000-import/UPDATING Thu Feb 13 11:00:20 2020 (r357854) +++ projects/clang1000-import/UPDATING Thu Feb 13 12:52:24 2020 (r357855) @@ -32,6 +32,14 @@ NOTE TO PEOPLE WHO THINK THAT FreeBSD 13.x IS SLOW: information about prerequisites and upgrading, if you are not already using clang 3.5.0 or higher. +20200212: + Defining the long deprecated NO_CTF, NO_DEBUG_FILES, NO_INSTALLLIB, + NO_MAN, NO_PROFILE, and NO_WARNS variables is now an error. Update + your Makefiles and scripts to define MK_=no instead as required. + + One exception to this is that program or library Makefiles should + define MAN to empty rather than setting MK_MAN=no. + 20200108: Clang/LLVM is now the default compiler and LLD the default linker for riscv64. Modified: projects/clang1000-import/contrib/elftoolchain/addr2line/addr2line.c ============================================================================== --- projects/clang1000-import/contrib/elftoolchain/addr2line/addr2line.c Thu Feb 13 11:00:20 2020 (r357854) +++ projects/clang1000-import/contrib/elftoolchain/addr2line/addr2line.c Thu Feb 13 12:52:24 2020 (r357855) @@ -65,6 +65,7 @@ struct CU { Dwarf_Signed nsrcfiles; STAILQ_HEAD(, Func) funclist; Dwarf_Die die; + Dwarf_Debug dbg; }; static struct option longopts[] = { @@ -345,7 +346,8 @@ cont_search: collect_func(dbg, ret_die, parent, cu); /* Cleanup */ - dwarf_dealloc(dbg, die, DW_DLA_DIE); + if (die != cu->die) + dwarf_dealloc(dbg, die, DW_DLA_DIE); if (abst_die != NULL) dwarf_dealloc(dbg, abst_die, DW_DLA_DIE); @@ -411,6 +413,102 @@ culookup(Dwarf_Unsigned addr) return (NULL); } +/* + * Check whether addr falls into range(s) of current CU, and save current CU + * to lookup tree if so. + */ +static int +check_range(Dwarf_Debug dbg, Dwarf_Die die, Dwarf_Unsigned addr, + struct CU **cu) +{ + Dwarf_Error de; + Dwarf_Unsigned addr_base, lopc, hipc; + Dwarf_Off ranges_off; + Dwarf_Signed ranges_cnt; + Dwarf_Ranges *ranges; + int i, ret; + bool in_range; + + addr_base = 0; + ranges = NULL; + ranges_cnt = 0; + in_range = false; + + ret = dwarf_attrval_unsigned(die, DW_AT_ranges, &ranges_off, &de); + if (ret == DW_DLV_NO_ENTRY) { + if (dwarf_attrval_unsigned(die, DW_AT_low_pc, &lopc, &de) == + DW_DLV_OK) { + if (lopc == curlopc) + return (DW_DLV_ERROR); + if (dwarf_attrval_unsigned(die, DW_AT_high_pc, &hipc, + &de) == DW_DLV_OK) { + /* + * Check if the address falls into the PC + * range of this CU. + */ + if (handle_high_pc(die, lopc, &hipc) != + DW_DLV_OK) + return (DW_DLV_ERROR); + } else { + /* Assume ~0ULL if DW_AT_high_pc not present */ + hipc = ~0ULL; + } + + if (addr >= lopc && addr < hipc) { + in_range = true; + } + } + } else if (ret == DW_DLV_OK) { + ret = dwarf_get_ranges(dbg, ranges_off, &ranges, + &ranges_cnt, NULL, &de); + if (ret != DW_DLV_OK) + return (ret); + + if (!ranges || ranges_cnt <= 0) + return (DW_DLV_ERROR); + + for (i = 0; i < ranges_cnt; i++) { + if (ranges[i].dwr_type == DW_RANGES_END) + return (DW_DLV_NO_ENTRY); + + if (ranges[i].dwr_type == + DW_RANGES_ADDRESS_SELECTION) { + addr_base = ranges[i].dwr_addr2; + continue; + } + + /* DW_RANGES_ENTRY */ + lopc = ranges[i].dwr_addr1 + addr_base; + hipc = ranges[i].dwr_addr2 + addr_base; + + if (lopc == curlopc) + return (DW_DLV_ERROR); + + if (addr >= lopc && addr < hipc){ + in_range = true; + break; + } + } + } else { + return (DW_DLV_ERROR); + } + + if (in_range) { + if ((*cu = calloc(1, sizeof(struct CU))) == NULL) + err(EXIT_FAILURE, "calloc"); + (*cu)->lopc = lopc; + (*cu)->hipc = hipc; + (*cu)->die = die; + (*cu)->dbg = dbg; + STAILQ_INIT(&(*cu)->funclist); + RB_INSERT(cutree, &cuhead, *cu); + curlopc = lopc; + return (DW_DLV_OK); + } else { + return (DW_DLV_NO_ENTRY); + } +} + static void translate(Dwarf_Debug dbg, Elf *e, const char* addrstr) { @@ -418,10 +516,9 @@ translate(Dwarf_Debug dbg, Elf *e, const char* addrstr Dwarf_Line *lbuf; Dwarf_Error de; Dwarf_Half tag; - Dwarf_Unsigned lopc, hipc, addr, lineno, plineno; + Dwarf_Unsigned addr, lineno, plineno; Dwarf_Signed lcount; Dwarf_Addr lineaddr, plineaddr; - Dwarf_Off off; struct CU *cu; struct Func *f; const char *funcname; @@ -439,6 +536,7 @@ translate(Dwarf_Debug dbg, Elf *e, const char* addrstr cu = culookup(addr); if (cu != NULL) { die = cu->die; + dbg = cu->dbg; goto status_ok; } @@ -477,44 +575,11 @@ translate(Dwarf_Debug dbg, Elf *e, const char* addrstr warnx("could not find DW_TAG_compile_unit die"); goto next_cu; } - if (dwarf_attrval_unsigned(die, DW_AT_low_pc, &lopc, &de) == - DW_DLV_OK) { - if (lopc == curlopc) - goto out; - if (dwarf_attrval_unsigned(die, DW_AT_high_pc, &hipc, - &de) == DW_DLV_OK) { - /* - * Check if the address falls into the PC - * range of this CU. - */ - if (handle_high_pc(die, lopc, &hipc) != - DW_DLV_OK) - goto out; - } else { - /* Assume ~0ULL if DW_AT_high_pc not present */ - hipc = ~0ULL; - } - - if (dwarf_dieoffset(die, &off, &de) != DW_DLV_OK) { - warnx("dwarf_dieoffset failed: %s", - dwarf_errmsg(de)); - goto out; - } - - if (addr >= lopc && addr < hipc) { - if ((cu = calloc(1, sizeof(*cu))) == NULL) - err(EXIT_FAILURE, "calloc"); - cu->off = off; - cu->lopc = lopc; - cu->hipc = hipc; - cu->die = die; - STAILQ_INIT(&cu->funclist); - RB_INSERT(cutree, &cuhead, cu); - - curlopc = lopc; - break; - } - } + ret = check_range(dbg, die, addr, &cu); + if (ret == DW_DLV_OK) + break; + if (ret == DW_DLV_ERROR) + goto out; next_cu: if (die != NULL) { dwarf_dealloc(dbg, die, DW_DLA_DIE); Modified: projects/clang1000-import/contrib/elftoolchain/elfcopy/main.c ============================================================================== --- projects/clang1000-import/contrib/elftoolchain/elfcopy/main.c Thu Feb 13 11:00:20 2020 (r357854) +++ projects/clang1000-import/contrib/elftoolchain/elfcopy/main.c Thu Feb 13 12:52:24 2020 (r357855) @@ -1394,6 +1394,7 @@ set_output_target(struct elfcopy *ecp, const char *tar ecp->oec = elftc_bfd_target_class(tgt); ecp->oed = elftc_bfd_target_byteorder(tgt); ecp->oem = elftc_bfd_target_machine(tgt); + ecp->abi = elftc_bfd_target_osabi(tgt); } if (ecp->otf == ETF_EFI || ecp->otf == ETF_PE) ecp->oem = elftc_bfd_target_machine(tgt); Modified: projects/clang1000-import/contrib/elftoolchain/libelftc/elftc.3 ============================================================================== --- projects/clang1000-import/contrib/elftoolchain/libelftc/elftc.3 Thu Feb 13 11:00:20 2020 (r357854) +++ projects/clang1000-import/contrib/elftoolchain/libelftc/elftc.3 Thu Feb 13 12:52:24 2020 (r357855) @@ -23,7 +23,7 @@ .\" .\" $Id: elftc.3 3645 2018-10-15 20:17:14Z jkoshy $ .\" -.Dd December 24, 2012 +.Dd February 12, 2020 .Dt ELFTC 3 .Os .Sh NAME @@ -57,6 +57,8 @@ Query the byte order for a binary object descriptor. Query the object format for a binary object descriptor. .It Fn elftc_bfd_target_machine Query the target machine for a binary object descriptor. +.It Fn elftc_bfd_target_osabi +Query the target osabi for a binary object descriptor. .El .It "C++ support" .Bl -tag -compact -width indent Modified: projects/clang1000-import/contrib/elftoolchain/libelftc/elftc_bfd_find_target.3 ============================================================================== --- projects/clang1000-import/contrib/elftoolchain/libelftc/elftc_bfd_find_target.3 Thu Feb 13 11:00:20 2020 (r357854) +++ projects/clang1000-import/contrib/elftoolchain/libelftc/elftc_bfd_find_target.3 Thu Feb 13 12:52:24 2020 (r357855) @@ -23,7 +23,7 @@ .\" .\" $Id: elftc_bfd_find_target.3 3752 2019-06-28 01:12:53Z emaste $ .\" -.Dd June 27, 2019 +.Dd February 12, 2020 .Dt ELFTC_BFD_FIND_TARGET 3 .Os .Sh NAME @@ -48,6 +48,8 @@ .Fn elftc_bfd_target_flavor "Elftc_Bfd_Target *target" .Ft "unsigned int" .Fn elftc_bfd_target_machine "Elftc_Bfd_Target *target" +.Ft "unsigned int" +.Fn elftc_bfd_target_osabi "Elftc_Bfd_Target *target" .Sh DESCRIPTION Function .Fn elftc_bfd_find_target Modified: projects/clang1000-import/contrib/elftoolchain/libelftc/elftc_bfdtarget.c ============================================================================== --- projects/clang1000-import/contrib/elftoolchain/libelftc/elftc_bfdtarget.c Thu Feb 13 11:00:20 2020 (r357854) +++ projects/clang1000-import/contrib/elftoolchain/libelftc/elftc_bfdtarget.c Thu Feb 13 12:52:24 2020 (r357855) @@ -71,3 +71,10 @@ elftc_bfd_target_machine(Elftc_Bfd_Target *tgt) return (tgt->bt_machine); } + +unsigned int +elftc_bfd_target_osabi(Elftc_Bfd_Target *tgt) +{ + + return (tgt->bt_osabi); +} Modified: projects/clang1000-import/contrib/elftoolchain/libelftc/libelftc.h ============================================================================== --- projects/clang1000-import/contrib/elftoolchain/libelftc/libelftc.h Thu Feb 13 11:00:20 2020 (r357854) +++ projects/clang1000-import/contrib/elftoolchain/libelftc/libelftc.h Thu Feb 13 12:52:24 2020 (r357855) @@ -72,6 +72,7 @@ Elftc_Bfd_Target_Flavor elftc_bfd_target_flavor(Elftc unsigned int elftc_bfd_target_byteorder(Elftc_Bfd_Target *_tgt); unsigned int elftc_bfd_target_class(Elftc_Bfd_Target *_tgt); unsigned int elftc_bfd_target_machine(Elftc_Bfd_Target *_tgt); +unsigned int elftc_bfd_target_osabi(Elftc_Bfd_Target *_tgt); int elftc_copyfile(int _srcfd, int _dstfd); int elftc_demangle(const char *_mangledname, char *_buffer, size_t _bufsize, unsigned int _flags); Modified: projects/clang1000-import/contrib/file/ChangeLog ============================================================================== --- projects/clang1000-import/contrib/file/ChangeLog Thu Feb 13 11:00:20 2020 (r357854) +++ projects/clang1000-import/contrib/file/ChangeLog Thu Feb 13 12:52:24 2020 (r357855) @@ -1,3 +1,23 @@ +2019-12-16 21:11 Christos Zoulas + + * release 5.38 + +2019-12-15 22:13 Christos Zoulas + Document changes since the previous release: + - Always accept -S (no sandbox) even if we don't support sandboxing + - More syscalls elided for sandboxiing + - For ELF dynamic means having an interpreter not just PT_DYNAMIC + - Check for large ELF session header offset + - When saving and restoring a locale, keep the locale name in our + own storage. + - Add a flag to disable CSV file detection. + - Don't pass NULL/0 to memset to appease sanitizers. + - Avoid spurious prints when looks for extensions or apple strings + in fsmagic. + - Add builtin decompressors for xz and and bzip. + - Add a limit for the number of CDF elements. + - More checks for overflow in CDF. + 2019-05-14 22:26 Christos Zoulas * release 5.37 Modified: projects/clang1000-import/contrib/file/Makefile.in ============================================================================== --- projects/clang1000-import/contrib/file/Makefile.in Thu Feb 13 11:00:20 2020 (r357854) +++ projects/clang1000-import/contrib/file/Makefile.in Thu Feb 13 12:52:24 2020 (r357855) @@ -1,7 +1,7 @@ -# Makefile.in generated by automake 1.15 from Makefile.am. +# Makefile.in generated by automake 1.16.1 from Makefile.am. # @configure_input@ -# Copyright (C) 1994-2014 Free Software Foundation, Inc. +# Copyright (C) 1994-2018 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -136,7 +136,7 @@ am__recursive_targets = \ $(RECURSIVE_CLEAN_TARGETS) \ $(am__extra_recursive_targets) AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \ - cscope distdir dist dist-all distcheck + cscope distdir distdir-am dist dist-all distcheck am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) \ $(LISP)config.h.in # Read a list of newline-separated strings from the standard input, @@ -161,7 +161,7 @@ CSCOPE = cscope DIST_SUBDIRS = $(SUBDIRS) am__DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/config.h.in AUTHORS \ COPYING ChangeLog INSTALL NEWS README TODO compile \ - config.guess config.sub depcomp install-sh ltmain.sh missing + config.guess config.sub install-sh ltmain.sh missing DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) distdir = $(PACKAGE)-$(VERSION) top_distdir = $(distdir) @@ -246,6 +246,7 @@ LIBTOOL = @LIBTOOL@ LIPO = @LIPO@ LN_S = @LN_S@ LTLIBOBJS = @LTLIBOBJS@ +LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@ MAKEINFO = @MAKEINFO@ MANIFEST_TOOL = @MANIFEST_TOOL@ MINGW = @MINGW@ @@ -352,8 +353,8 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config echo ' $(SHELL) ./config.status'; \ $(SHELL) ./config.status;; \ *) \ - echo ' cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe)'; \ - cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe);; \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__maybe_remake_depfiles)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__maybe_remake_depfiles);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) @@ -495,7 +496,10 @@ distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags -rm -f cscope.out cscope.in.out cscope.po.out cscope.files -distdir: $(DISTFILES) +distdir: $(BUILT_SOURCES) + $(MAKE) $(AM_MAKEFLAGS) distdir-am + +distdir-am: $(DISTFILES) $(am__remove_distdir) test -d "$(distdir)" || mkdir "$(distdir)" @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ @@ -560,7 +564,7 @@ distdir: $(DISTFILES) ! -type d ! -perm -444 -exec $(install_sh) -c -m a+r {} {} \; \ || chmod -R a+r "$(distdir)" dist-gzip: distdir - tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz + tardir=$(distdir) && $(am__tar) | eval GZIP= gzip $(GZIP_ENV) -c >$(distdir).tar.gz $(am__post_remove_distdir) dist-bzip2: distdir @@ -586,7 +590,7 @@ dist-shar: distdir @echo WARNING: "Support for shar distribution archives is" \ "deprecated." >&2 @echo WARNING: "It will be removed altogether in Automake 2.0" >&2 - shar $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).shar.gz + shar $(distdir) | eval GZIP= gzip $(GZIP_ENV) -c >$(distdir).shar.gz $(am__post_remove_distdir) dist-zip: distdir @@ -604,7 +608,7 @@ dist dist-all: distcheck: dist case '$(DIST_ARCHIVES)' in \ *.tar.gz*) \ - GZIP=$(GZIP_ENV) gzip -dc $(distdir).tar.gz | $(am__untar) ;;\ + eval GZIP= gzip $(GZIP_ENV) -dc $(distdir).tar.gz | $(am__untar) ;;\ *.tar.bz2*) \ bzip2 -dc $(distdir).tar.bz2 | $(am__untar) ;;\ *.tar.lz*) \ @@ -614,7 +618,7 @@ distcheck: dist *.tar.Z*) \ uncompress -c $(distdir).tar.Z | $(am__untar) ;;\ *.shar.gz*) \ - GZIP=$(GZIP_ENV) gzip -dc $(distdir).shar.gz | unshar ;;\ + eval GZIP= gzip $(GZIP_ENV) -dc $(distdir).shar.gz | unshar ;;\ *.zip*) \ unzip $(distdir).zip ;;\ esac Modified: projects/clang1000-import/contrib/file/README ============================================================================== --- projects/clang1000-import/contrib/file/README Thu Feb 13 11:00:20 2020 (r357854) +++ projects/clang1000-import/contrib/file/README Thu Feb 13 12:52:24 2020 (r357855) @@ -1,6 +1,6 @@ ## README for file(1) Command and the libmagic(3) library ## - @(#) $File: README,v 1.57 2019/02/06 00:20:56 christos Exp $ + @(#) $File: README,v 1.59 2019/09/19 01:04:01 christos Exp $ Mailing List: file@astron.com Mailing List archives: http://mailman.astron.com/pipermail/file/ @@ -24,6 +24,10 @@ A public read-only git repository of the same sources https://github.com/file/file +We are continuously being fuzzed by OSS-FUZZ: + + https://bugs.chromium.org/p/oss-fuzz/issues/list?sort=-opened&can=1&q=proj:file + The major changes for 5.x are CDF file parsing, indirect magic, name/use (recursion) and overhaul in mime and ascii encoding handling. @@ -91,6 +95,7 @@ src/funcs.c - utilility functions src/getline.c - replacement for OS's that don't have it. src/getopt_long.c - replacement for OS's that don't have it. src/gmtime_r.c - replacement for OS's that don't have it. +src/is_csv.c - knows about Comma Separated Value file format (RFC 4180). src/is_json.c - knows about JavaScript Object Notation format (RFC 8259). src/is_tar.c, tar.h - knows about Tape ARchive format (courtesy John Gilmore). src/localtime_r.c - replacement for OS's that don't have it. Modified: projects/clang1000-import/contrib/file/aclocal.m4 ============================================================================== --- projects/clang1000-import/contrib/file/aclocal.m4 Thu Feb 13 11:00:20 2020 (r357854) +++ projects/clang1000-import/contrib/file/aclocal.m4 Thu Feb 13 12:52:24 2020 (r357855) @@ -1,6 +1,6 @@ -# generated automatically by aclocal 1.15 -*- Autoconf -*- +# generated automatically by aclocal 1.16.1 -*- Autoconf -*- -# Copyright (C) 1996-2014 Free Software Foundation, Inc. +# Copyright (C) 1996-2018 Free Software Foundation, Inc. # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -20,8 +20,8 @@ You have another version of autoconf. It may work, bu If you have problems, you may need to regenerate the build system entirely. To do so, use the procedure documented by the package, typically 'autoreconf'.])]) -# visibility.m4 serial 5 (gettext-0.18.2) -dnl Copyright (C) 2005, 2008, 2010-2016 Free Software Foundation, Inc. +# visibility.m4 serial 6 +dnl Copyright (C) 2005, 2008, 2010-2019 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. @@ -51,42 +51,42 @@ AC_DEFUN([gl_VISIBILITY], dnl First, check whether -Werror can be added to the command line, or dnl whether it leads to an error because of some other option that the dnl user has put into $CC $CFLAGS $CPPFLAGS. - AC_MSG_CHECKING([whether the -Werror option is usable]) - AC_CACHE_VAL([gl_cv_cc_vis_werror], [ - gl_save_CFLAGS="$CFLAGS" - CFLAGS="$CFLAGS -Werror" - AC_COMPILE_IFELSE( - [AC_LANG_PROGRAM([[]], [[]])], - [gl_cv_cc_vis_werror=yes], - [gl_cv_cc_vis_werror=no]) - CFLAGS="$gl_save_CFLAGS"]) - AC_MSG_RESULT([$gl_cv_cc_vis_werror]) + AC_CACHE_CHECK([whether the -Werror option is usable], + [gl_cv_cc_vis_werror], + [gl_save_CFLAGS="$CFLAGS" + CFLAGS="$CFLAGS -Werror" + AC_COMPILE_IFELSE( + [AC_LANG_PROGRAM([[]], [[]])], + [gl_cv_cc_vis_werror=yes], + [gl_cv_cc_vis_werror=no]) + CFLAGS="$gl_save_CFLAGS" + ]) dnl Now check whether visibility declarations are supported. - AC_MSG_CHECKING([for simple visibility declarations]) - AC_CACHE_VAL([gl_cv_cc_visibility], [ - gl_save_CFLAGS="$CFLAGS" - CFLAGS="$CFLAGS -fvisibility=hidden" - dnl We use the option -Werror and a function dummyfunc, because on some - dnl platforms (Cygwin 1.7) the use of -fvisibility triggers a warning - dnl "visibility attribute not supported in this configuration; ignored" - dnl at the first function definition in every compilation unit, and we - dnl don't want to use the option in this case. - if test $gl_cv_cc_vis_werror = yes; then - CFLAGS="$CFLAGS -Werror" - fi - AC_COMPILE_IFELSE( - [AC_LANG_PROGRAM( - [[extern __attribute__((__visibility__("hidden"))) int hiddenvar; - extern __attribute__((__visibility__("default"))) int exportedvar; - extern __attribute__((__visibility__("hidden"))) int hiddenfunc (void); - extern __attribute__((__visibility__("default"))) int exportedfunc (void); - void dummyfunc (void) {} - ]], - [[]])], - [gl_cv_cc_visibility=yes], - [gl_cv_cc_visibility=no]) - CFLAGS="$gl_save_CFLAGS"]) - AC_MSG_RESULT([$gl_cv_cc_visibility]) + AC_CACHE_CHECK([for simple visibility declarations], + [gl_cv_cc_visibility], + [gl_save_CFLAGS="$CFLAGS" + CFLAGS="$CFLAGS -fvisibility=hidden" + dnl We use the option -Werror and a function dummyfunc, because on some + dnl platforms (Cygwin 1.7) the use of -fvisibility triggers a warning + dnl "visibility attribute not supported in this configuration; ignored" + dnl at the first function definition in every compilation unit, and we + dnl don't want to use the option in this case. + if test $gl_cv_cc_vis_werror = yes; then + CFLAGS="$CFLAGS -Werror" + fi + AC_COMPILE_IFELSE( + [AC_LANG_PROGRAM( + [[extern __attribute__((__visibility__("hidden"))) int hiddenvar; + extern __attribute__((__visibility__("default"))) int exportedvar; + extern __attribute__((__visibility__("hidden"))) int hiddenfunc (void); + extern __attribute__((__visibility__("default"))) int exportedfunc (void); + void dummyfunc (void) {} + ]], + [[]])], + [gl_cv_cc_visibility=yes], + [gl_cv_cc_visibility=no]) + CFLAGS="$gl_save_CFLAGS" + ]) if test $gl_cv_cc_visibility = yes; then CFLAG_VISIBILITY="-fvisibility=hidden" HAVE_VISIBILITY=1 @@ -98,7 +98,7 @@ AC_DEFUN([gl_VISIBILITY], [Define to 1 or 0, depending whether the compiler supports simple visibility declarations.]) ]) -# Copyright (C) 2002-2014 Free Software Foundation, Inc. +# Copyright (C) 2002-2018 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -110,10 +110,10 @@ AC_DEFUN([gl_VISIBILITY], # generated from the m4 files accompanying Automake X.Y. # (This private macro should not be called outside this file.) AC_DEFUN([AM_AUTOMAKE_VERSION], -[am__api_version='1.15' +[am__api_version='1.16' dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to dnl require some minimum version. Point them to the right macro. -m4_if([$1], [1.15], [], +m4_if([$1], [1.16.1], [], [AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl ]) @@ -129,14 +129,14 @@ m4_define([_AM_AUTOCONF_VERSION], []) # Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced. # This function is AC_REQUIREd by AM_INIT_AUTOMAKE. AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION], -[AM_AUTOMAKE_VERSION([1.15])dnl +[AM_AUTOMAKE_VERSION([1.16.1])dnl m4_ifndef([AC_AUTOCONF_VERSION], [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl _AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))]) # AM_AUX_DIR_EXPAND -*- Autoconf -*- -# Copyright (C) 2001-2014 Free Software Foundation, Inc. +# Copyright (C) 2001-2018 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -188,7 +188,7 @@ am_aux_dir=`cd "$ac_aux_dir" && pwd` # AM_CONDITIONAL -*- Autoconf -*- -# Copyright (C) 1997-2014 Free Software Foundation, Inc. +# Copyright (C) 1997-2018 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -219,7 +219,7 @@ AC_CONFIG_COMMANDS_PRE( Usually this means the macro was only invoked conditionally.]]) fi])]) -# Copyright (C) 1999-2014 Free Software Foundation, Inc. +# Copyright (C) 1999-2018 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -410,13 +410,12 @@ _AM_SUBST_NOTMAKE([am__nodep])dnl # Generate code to set up dependency tracking. -*- Autoconf -*- -# Copyright (C) 1999-2014 Free Software Foundation, Inc. +# Copyright (C) 1999-2018 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. - # _AM_OUTPUT_DEPENDENCY_COMMANDS # ------------------------------ AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS], @@ -424,49 +423,41 @@ AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS], # Older Autoconf quotes --file arguments for eval, but not when files # are listed without --file. Let's play safe and only enable the eval # if we detect the quoting. - case $CONFIG_FILES in - *\'*) eval set x "$CONFIG_FILES" ;; - *) set x $CONFIG_FILES ;; - esac + # TODO: see whether this extra hack can be removed once we start + # requiring Autoconf 2.70 or later. + AS_CASE([$CONFIG_FILES], + [*\'*], [eval set x "$CONFIG_FILES"], + [*], [set x $CONFIG_FILES]) shift - for mf + # Used to flag and report bootstrapping failures. + am_rc=0 + for am_mf do # Strip MF so we end up with the name of the file. - mf=`echo "$mf" | sed -e 's/:.*$//'` - # Check whether this is an Automake generated Makefile or not. - # We used to match only the files named 'Makefile.in', but - # some people rename them; so instead we look at the file content. - # Grep'ing the first line is not enough: some people post-process - # each Makefile.in and add a new line on top of each file to say so. - # Grep'ing the whole file is not good either: AIX grep has a line + am_mf=`AS_ECHO(["$am_mf"]) | sed -e 's/:.*$//'` + # Check whether this is an Automake generated Makefile which includes + # dependency-tracking related rules and includes. + # Grep'ing the whole file directly is not great: AIX grep has a line # limit of 2048, but all sed's we know have understand at least 4000. - if sed -n 's,^#.*generated by automake.*,X,p' "$mf" | grep X >/dev/null 2>&1; then - dirpart=`AS_DIRNAME("$mf")` - else - continue - fi - # Extract the definition of DEPDIR, am__include, and am__quote - # from the Makefile without running 'make'. - DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"` - test -z "$DEPDIR" && continue - am__include=`sed -n 's/^am__include = //p' < "$mf"` - test -z "$am__include" && continue - am__quote=`sed -n 's/^am__quote = //p' < "$mf"` - # Find all dependency output files, they are included files with - # $(DEPDIR) in their names. We invoke sed twice because it is the - # simplest approach to changing $(DEPDIR) to its actual value in the - # expansion. - for file in `sed -n " - s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \ - sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g'`; do - # Make sure the directory exists. - test -f "$dirpart/$file" && continue - fdir=`AS_DIRNAME(["$file"])` - AS_MKDIR_P([$dirpart/$fdir]) - # echo "creating $dirpart/$file" - echo '# dummy' > "$dirpart/$file" - done + sed -n 's,^am--depfiles:.*,X,p' "$am_mf" | grep X >/dev/null 2>&1 \ + || continue + am_dirpart=`AS_DIRNAME(["$am_mf"])` + am_filepart=`AS_BASENAME(["$am_mf"])` + AM_RUN_LOG([cd "$am_dirpart" \ + && sed -e '/# am--include-marker/d' "$am_filepart" \ + | $MAKE -f - am--depfiles]) || am_rc=$? done + if test $am_rc -ne 0; then + AC_MSG_FAILURE([Something went wrong bootstrapping makefile fragments + for automatic dependency tracking. Try re-running configure with the + '--disable-dependency-tracking' option to at least be able to build + the package (albeit without support for automatic dependency tracking).]) + fi + AS_UNSET([am_dirpart]) + AS_UNSET([am_filepart]) + AS_UNSET([am_mf]) + AS_UNSET([am_rc]) + rm -f conftest-deps.mk } ])# _AM_OUTPUT_DEPENDENCY_COMMANDS @@ -475,18 +466,17 @@ AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS], # ----------------------------- # This macro should only be invoked once -- use via AC_REQUIRE. # -# This code is only required when automatic dependency tracking -# is enabled. FIXME. This creates each '.P' file that we will -# need in order to bootstrap the dependency handling code. +# This code is only required when automatic dependency tracking is enabled. +# This creates each '.Po' and '.Plo' makefile fragment that we'll need in +# order to bootstrap the dependency handling code. AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS], [AC_CONFIG_COMMANDS([depfiles], [test x"$AMDEP_TRUE" != x"" || _AM_OUTPUT_DEPENDENCY_COMMANDS], - [AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"]) -]) + [AMDEP_TRUE="$AMDEP_TRUE" MAKE="${MAKE-make}"])]) # Do all the work for Automake. -*- Autoconf -*- -# Copyright (C) 1996-2014 Free Software Foundation, Inc. +# Copyright (C) 1996-2018 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -573,8 +563,8 @@ AC_REQUIRE([AM_PROG_INSTALL_STRIP])dnl AC_REQUIRE([AC_PROG_MKDIR_P])dnl # For better backward compatibility. To be removed once Automake 1.9.x # dies out for good. For more background, see: -# -# +# +# AC_SUBST([mkdir_p], ['$(MKDIR_P)']) # We need awk for the "check" target (and possibly the TAP driver). The # system "awk" is bad on some platforms. @@ -641,7 +631,7 @@ END Aborting the configuration process, to ensure you take notice of the issue. You can download and install GNU coreutils to get an 'rm' implementation -that behaves properly: . +that behaves properly: . If you want to complete the configuration process using your problematic 'rm' anyway, export the environment variable ACCEPT_INFERIOR_RM_PROGRAM @@ -683,7 +673,7 @@ for _am_header in $config_headers :; do done echo "timestamp for $_am_arg" >`AS_DIRNAME(["$_am_arg"])`/stamp-h[]$_am_stamp_count]) -# Copyright (C) 2001-2014 Free Software Foundation, Inc. +# Copyright (C) 2001-2018 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -704,7 +694,7 @@ if test x"${install_sh+set}" != xset; then fi AC_SUBST([install_sh])]) -# Copyright (C) 2003-2014 Free Software Foundation, Inc. +# Copyright (C) 2003-2018 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -725,7 +715,7 @@ AC_SUBST([am__leading_dot])]) # Check to see how 'make' treats includes. -*- Autoconf -*- -# Copyright (C) 2001-2014 Free Software Foundation, Inc. +# Copyright (C) 2001-2018 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -733,49 +723,42 @@ AC_SUBST([am__leading_dot])]) # AM_MAKE_INCLUDE() # ----------------- -# Check to see how make treats includes. +# Check whether make has an 'include' directive that can support all +# the idioms we need for our automatic dependency tracking code. AC_DEFUN([AM_MAKE_INCLUDE], -[am_make=${MAKE-make} -cat > confinc << 'END' +[AC_MSG_CHECKING([whether ${MAKE-make} supports the include directive]) +cat > confinc.mk << 'END' am__doit: - @echo this is the am__doit target + @echo this is the am__doit target >confinc.out .PHONY: am__doit END -# If we don't find an include directive, just comment out the code. -AC_MSG_CHECKING([for style of include used by $am_make]) am__include="#" am__quote= -_am_result=none -# First try GNU make style include. -echo "include confinc" > confmf -# Ignore all kinds of additional output from 'make'. -case `$am_make -s -f confmf 2> /dev/null` in #( -*the\ am__doit\ target*) - am__include=include - am__quote= - _am_result=GNU - ;; -esac -# Now try BSD make style include. -if test "$am__include" = "#"; then - echo '.include "confinc"' > confmf - case `$am_make -s -f confmf 2> /dev/null` in #( - *the\ am__doit\ target*) - am__include=.include - am__quote="\"" - _am_result=BSD - ;; - esac -fi -AC_SUBST([am__include]) -AC_SUBST([am__quote]) -AC_MSG_RESULT([$_am_result]) -rm -f confinc confmf -]) +# BSD make does it like this. +echo '.include "confinc.mk" # ignored' > confmf.BSD +# Other make implementations (GNU, Solaris 10, AIX) do it like this. +echo 'include confinc.mk # ignored' > confmf.GNU +_am_result=no +for s in GNU BSD; do + AM_RUN_LOG([${MAKE-make} -f confmf.$s && cat confinc.out]) + AS_CASE([$?:`cat confinc.out 2>/dev/null`], + ['0:this is the am__doit target'], + [AS_CASE([$s], + [BSD], [am__include='.include' am__quote='"'], + [am__include='include' am__quote=''])]) + if test "$am__include" != "#"; then + _am_result="yes ($s style)" + break + fi +done +rm -f confinc.* confmf.* +AC_MSG_RESULT([${_am_result}]) +AC_SUBST([am__include])]) +AC_SUBST([am__quote])]) # Fake the existence of programs that GNU maintainers use. -*- Autoconf -*- -# Copyright (C) 1997-2014 Free Software Foundation, Inc. +# Copyright (C) 1997-2018 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -814,7 +797,7 @@ fi # Helper functions for option handling. -*- Autoconf -*- -# Copyright (C) 2001-2014 Free Software Foundation, Inc. +# Copyright (C) 2001-2018 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -843,7 +826,7 @@ AC_DEFUN([_AM_SET_OPTIONS], AC_DEFUN([_AM_IF_OPTION], [m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])]) -# Copyright (C) 1999-2014 Free Software Foundation, Inc. +# Copyright (C) 1999-2018 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -890,7 +873,7 @@ AC_LANG_POP([C])]) # For backward compatibility. AC_DEFUN_ONCE([AM_PROG_CC_C_O], [AC_REQUIRE([AC_PROG_CC])]) -# Copyright (C) 2001-2014 Free Software Foundation, Inc. +# Copyright (C) 2001-2018 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -909,7 +892,7 @@ AC_DEFUN([AM_RUN_LOG], # Check to make sure that the build environment is sane. -*- Autoconf -*- -# Copyright (C) 1996-2014 Free Software Foundation, Inc. +# Copyright (C) 1996-2018 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -990,7 +973,7 @@ AC_CONFIG_COMMANDS_PRE( rm -f conftest.file ]) -# Copyright (C) 2009-2014 Free Software Foundation, Inc. +# Copyright (C) 2009-2018 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -1050,7 +1033,7 @@ AC_SUBST([AM_BACKSLASH])dnl _AM_SUBST_NOTMAKE([AM_BACKSLASH])dnl ]) -# Copyright (C) 2001-2014 Free Software Foundation, Inc. +# Copyright (C) 2001-2018 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -1078,7 +1061,7 @@ fi INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s" AC_SUBST([INSTALL_STRIP_PROGRAM])]) -# Copyright (C) 2006-2014 Free Software Foundation, Inc. +# Copyright (C) 2006-2018 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -1097,7 +1080,7 @@ AC_DEFUN([AM_SUBST_NOTMAKE], [_AM_SUBST_NOTMAKE($@)]) # Check how to create a tarball. -*- Autoconf -*- -# Copyright (C) 2004-2014 Free Software Foundation, Inc. +# Copyright (C) 2004-2018 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, Modified: projects/clang1000-import/contrib/file/compile ============================================================================== --- projects/clang1000-import/contrib/file/compile Thu Feb 13 11:00:20 2020 (r357854) +++ projects/clang1000-import/contrib/file/compile Thu Feb 13 12:52:24 2020 (r357855) @@ -1,9 +1,9 @@ #! /bin/sh # Wrapper for compilers which do not understand '-c -o'. -scriptversion=2012-10-14.11; # UTC +scriptversion=2018-03-07.03; # UTC -# Copyright (C) 1999-2014 Free Software Foundation, Inc. +# Copyright (C) 1999-2018 Free Software Foundation, Inc. # Written by Tom Tromey . # # This program is free software; you can redistribute it and/or modify @@ -17,7 +17,7 @@ scriptversion=2012-10-14.11; # UTC # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License -# along with this program. If not, see . +# along with this program. If not, see . # As a special exception to the GNU General Public License, if you # distribute this file as part of a program that contains a @@ -255,7 +255,8 @@ EOF echo "compile $scriptversion" exit $? ;; - cl | *[/\\]cl | cl.exe | *[/\\]cl.exe ) + cl | *[/\\]cl | cl.exe | *[/\\]cl.exe | \ + icl | *[/\\]icl | icl.exe | *[/\\]icl.exe ) func_cl_wrapper "$@" # Doesn't return... ;; esac @@ -339,9 +340,9 @@ exit $ret # Local Variables: # mode: shell-script # sh-indentation: 2 -# eval: (add-hook 'write-file-hooks 'time-stamp) +# eval: (add-hook 'before-save-hook 'time-stamp) # time-stamp-start: "scriptversion=" # time-stamp-format: "%:y-%02m-%02d.%02H" -# time-stamp-time-zone: "UTC" +# time-stamp-time-zone: "UTC0" # time-stamp-end: "; # UTC" # End: Modified: projects/clang1000-import/contrib/file/config.guess ============================================================================== --- projects/clang1000-import/contrib/file/config.guess Thu Feb 13 11:00:20 2020 (r357854) +++ projects/clang1000-import/contrib/file/config.guess Thu Feb 13 12:52:24 2020 (r357855) @@ -1,8 +1,8 @@ #! /bin/sh # Attempt to guess a canonical system name. -# Copyright 1992-2017 Free Software Foundation, Inc. +# Copyright 1992-2019 Free Software Foundation, Inc. -timestamp='2017-01-01' +timestamp='2019-01-03' # 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 @@ -15,7 +15,7 @@ timestamp='2017-01-01' # General Public License for more details. # # You should have received a copy of the GNU General Public License -# along with this program; if not, see . +# along with this program; if not, see . # # As a special exception to the GNU General Public License, if you # distribute this file as part of a program that contains a @@ -27,7 +27,7 @@ timestamp='2017-01-01' # Originally written by Per Bothner; maintained since 2000 by Ben Elliston. # # You can get the latest version of this script from: *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-projects@freebsd.org Thu Feb 13 18:37:18 2020 Return-Path: Delivered-To: svn-src-projects@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 35EF42309C7 for ; Thu, 13 Feb 2020 18:37:18 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48JQGk0clbz4NTn; Thu, 13 Feb 2020 18:37:18 +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 mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 10986F0B7; Thu, 13 Feb 2020 18:37:18 +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 01DIbHDS026610; Thu, 13 Feb 2020 18:37:17 GMT (envelope-from dim@FreeBSD.org) Received: (from dim@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 01DIbHPe026609; Thu, 13 Feb 2020 18:37:17 GMT (envelope-from dim@FreeBSD.org) Message-Id: <202002131837.01DIbHPe026609@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: dim set sender to dim@FreeBSD.org using -f From: Dimitry Andric Date: Thu, 13 Feb 2020 18:37:17 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r357864 - projects/clang1000-import/sbin/sconfig X-SVN-Group: projects X-SVN-Commit-Author: dim X-SVN-Commit-Paths: projects/clang1000-import/sbin/sconfig X-SVN-Commit-Revision: 357864 X-SVN-Commit-Repository: base 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.29 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, 13 Feb 2020 18:37:18 -0000 Author: dim Date: Thu Feb 13 18:37:17 2020 New Revision: 357864 URL: https://svnweb.freebsd.org/changeset/base/357864 Log: Fix the following -Werror warning from clang 10.0.0 in sconfig: sbin/sconfig/sconfig.c:909:5: error: misleading indentation; statement is not part of the previous 'else' [-Werror,-Wmisleading-indentation] exit (-1); ^ sbin/sconfig/sconfig.c:907:6: note: previous statement is here } else ^ The intent was to group the exit() call with the previous fprintf() call. MFC after: 3 days Modified: projects/clang1000-import/sbin/sconfig/sconfig.c Modified: projects/clang1000-import/sbin/sconfig/sconfig.c ============================================================================== --- projects/clang1000-import/sbin/sconfig/sconfig.c Thu Feb 13 18:26:07 2020 (r357863) +++ projects/clang1000-import/sbin/sconfig/sconfig.c Thu Feb 13 18:37:17 2020 (r357864) @@ -904,9 +904,10 @@ setup_chan (int fd, int argc, char **argv) } else if (strncasecmp ("rs449", argv[i]+5, 5) == 0) { port = 2; ioctl (fd, SERIAL_SETPORT, &port); - } else + } else { fprintf (stderr, "invalid port type\n"); exit (-1); + } #if 1 } else if (strcasecmp ("reset", argv[i]) == 0) { ioctl (fd, SERIAL_RESET, 0); From owner-svn-src-projects@freebsd.org Thu Feb 13 19:25:51 2020 Return-Path: Delivered-To: svn-src-projects@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 7694E232529 for ; Thu, 13 Feb 2020 19:25:51 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48JRLl2Xsvz4RyT; Thu, 13 Feb 2020 19:25:51 +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 mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 389EEFA79; Thu, 13 Feb 2020 19:25:51 +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 01DJPpT2057322; Thu, 13 Feb 2020 19:25:51 GMT (envelope-from dim@FreeBSD.org) Received: (from dim@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 01DJPor4057318; Thu, 13 Feb 2020 19:25:50 GMT (envelope-from dim@FreeBSD.org) Message-Id: <202002131925.01DJPor4057318@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: dim set sender to dim@FreeBSD.org using -f From: Dimitry Andric Date: Thu, 13 Feb 2020 19:25:50 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r357872 - in projects/clang1000-import/sys: conf modules/ce modules/cp X-SVN-Group: projects X-SVN-Commit-Author: dim X-SVN-Commit-Paths: in projects/clang1000-import/sys: conf modules/ce modules/cp X-SVN-Commit-Revision: 357872 X-SVN-Commit-Repository: base 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.29 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, 13 Feb 2020 19:25:51 -0000 Author: dim Date: Thu Feb 13 19:25:49 2020 New Revision: 357872 URL: https://svnweb.freebsd.org/changeset/base/357872 Log: Disable new clang 10.0.0 warnings about misleading indentation in ce(4) and cp(4). These are false positives, since some of the driver source has been deliberately obfuscated. Modified: projects/clang1000-import/sys/conf/files.i386 projects/clang1000-import/sys/conf/kern.mk projects/clang1000-import/sys/modules/ce/Makefile projects/clang1000-import/sys/modules/cp/Makefile Modified: projects/clang1000-import/sys/conf/files.i386 ============================================================================== --- projects/clang1000-import/sys/conf/files.i386 Thu Feb 13 19:12:07 2020 (r357871) +++ projects/clang1000-import/sys/conf/files.i386 Thu Feb 13 19:25:49 2020 (r357872) @@ -93,8 +93,9 @@ dev/agp/agp_via.c optional agp dev/ce/ceddk.c optional ce dev/ce/if_ce.c optional ce dev/ce/tau32-ddk.c optional ce \ - compile-with "${NORMAL_C} ${NO_WCONSTANT_CONVERSION}" -dev/cp/cpddk.c optional cp + compile-with "${NORMAL_C} ${NO_WCONSTANT_CONVERSION} ${NO_WMISLEADING_INDENTATION}" +dev/cp/cpddk.c optional cp \ + compile-with "${NORMAL_C} ${NO_WMISLEADING_INDENTATION}" dev/cp/if_cp.c optional cp dev/ctau/ctau.c optional ctau dev/ctau/ctddk.c optional ctau Modified: projects/clang1000-import/sys/conf/kern.mk ============================================================================== --- projects/clang1000-import/sys/conf/kern.mk Thu Feb 13 19:12:07 2020 (r357871) +++ projects/clang1000-import/sys/conf/kern.mk Thu Feb 13 19:25:49 2020 (r357872) @@ -37,6 +37,9 @@ CWARNEXTRA+= -Wno-error-shift-negative-value .if ${COMPILER_VERSION} >= 40000 CWARNEXTRA+= -Wno-address-of-packed-member .endif +.if ${COMPILER_VERSION} >= 100000 +NO_WMISLEADING_INDENTATION= -Wno-misleading-indentation +.endif .endif .if ${COMPILER_TYPE} == "gcc" Modified: projects/clang1000-import/sys/modules/ce/Makefile ============================================================================== --- projects/clang1000-import/sys/modules/ce/Makefile Thu Feb 13 19:12:07 2020 (r357871) +++ projects/clang1000-import/sys/modules/ce/Makefile Thu Feb 13 19:25:49 2020 (r357872) @@ -27,4 +27,5 @@ opt_ng_cronyx.h: .include -CWARNFLAGS.tau32-ddk.c= ${NO_WCONSTANT_CONVERSION} +CWARNFLAGS.tau32-ddk.c+= ${NO_WCONSTANT_CONVERSION} +CWARNFLAGS.tau32-ddk.c+= ${NO_WMISLEADING_INDENTATION} Modified: projects/clang1000-import/sys/modules/cp/Makefile ============================================================================== --- projects/clang1000-import/sys/modules/cp/Makefile Thu Feb 13 19:12:07 2020 (r357871) +++ projects/clang1000-import/sys/modules/cp/Makefile Thu Feb 13 19:25:49 2020 (r357872) @@ -26,3 +26,5 @@ opt_ng_cronyx.h: .endif .include + +CWARNFLAGS.cpddk.c+= ${NO_WMISLEADING_INDENTATION} From owner-svn-src-projects@freebsd.org Fri Feb 14 19:33:06 2020 Return-Path: Delivered-To: svn-src-projects@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id CAF6523F6E8 for ; Fri, 14 Feb 2020 19:33:06 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48K3Sf5kMFz455f; Fri, 14 Feb 2020 19:33:06 +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 mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id BF0FDB1B; Fri, 14 Feb 2020 19:33:06 +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 01EJX6kq029662; Fri, 14 Feb 2020 19:33:06 GMT (envelope-from dim@FreeBSD.org) Received: (from dim@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 01EJWwTJ029592; Fri, 14 Feb 2020 19:32:58 GMT (envelope-from dim@FreeBSD.org) Message-Id: <202002141932.01EJWwTJ029592@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: dim set sender to dim@FreeBSD.org using -f From: Dimitry Andric Date: Fri, 14 Feb 2020 19:32:58 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r357930 - in projects/clang1000-import: cddl/lib/libdtrace contrib/elftoolchain/addr2line contrib/ncurses/ncurses/base lib/libthr/thread libexec/rtld-elf libexec/rtld-elf/aarch64 libexe... X-SVN-Group: projects X-SVN-Commit-Author: dim X-SVN-Commit-Paths: in projects/clang1000-import: cddl/lib/libdtrace contrib/elftoolchain/addr2line contrib/ncurses/ncurses/base lib/libthr/thread libexec/rtld-elf libexec/rtld-elf/aarch64 libexec/rtld-elf/amd64 libexec/... X-SVN-Commit-Revision: 357930 X-SVN-Commit-Repository: base 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.29 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, 14 Feb 2020 19:33:06 -0000 Author: dim Date: Fri Feb 14 19:32:58 2020 New Revision: 357930 URL: https://svnweb.freebsd.org/changeset/base/357930 Log: Merge ^/head r357855 through r357920. Added: projects/clang1000-import/tests/sys/common/divert.py - copied unchanged from r357908, head/tests/sys/common/divert.py projects/clang1000-import/tests/sys/netinet/divert.sh - copied unchanged from r357908, head/tests/sys/netinet/divert.sh projects/clang1000-import/tests/sys/netinet6/divert.sh - copied unchanged from r357908, head/tests/sys/netinet6/divert.sh Modified: projects/clang1000-import/cddl/lib/libdtrace/tcp.d projects/clang1000-import/contrib/elftoolchain/addr2line/addr2line.c projects/clang1000-import/contrib/ncurses/ncurses/base/MKlib_gen.sh projects/clang1000-import/lib/libthr/thread/thr_cancel.c projects/clang1000-import/libexec/rtld-elf/aarch64/reloc.c projects/clang1000-import/libexec/rtld-elf/amd64/reloc.c projects/clang1000-import/libexec/rtld-elf/arm/reloc.c projects/clang1000-import/libexec/rtld-elf/i386/reloc.c projects/clang1000-import/libexec/rtld-elf/mips/reloc.c projects/clang1000-import/libexec/rtld-elf/powerpc/reloc.c projects/clang1000-import/libexec/rtld-elf/powerpc64/reloc.c projects/clang1000-import/libexec/rtld-elf/riscv/reloc.c projects/clang1000-import/libexec/rtld-elf/rtld.c projects/clang1000-import/libexec/rtld-elf/rtld.h projects/clang1000-import/libexec/rtld-elf/sparc64/reloc.c projects/clang1000-import/share/misc/committers-ports.dot projects/clang1000-import/sys/amd64/amd64/trap.c projects/clang1000-import/sys/amd64/vmm/io/iommu.c projects/clang1000-import/sys/amd64/vmm/vmm.c projects/clang1000-import/sys/amd64/vmm/vmm_stat.c projects/clang1000-import/sys/amd64/vmm/vmm_util.c projects/clang1000-import/sys/amd64/vmm/vmm_util.h projects/clang1000-import/sys/amd64/vmm/x86.c projects/clang1000-import/sys/cam/cam_periph.c projects/clang1000-import/sys/cam/cam_xpt.c projects/clang1000-import/sys/dev/ahci/ahci_pci.c projects/clang1000-import/sys/dev/amd_ecc_inject/ecc_inject.c projects/clang1000-import/sys/dev/amdpm/amdpm.c projects/clang1000-import/sys/dev/amdsbwd/amd_chipset.h projects/clang1000-import/sys/dev/amdsbwd/amdsbwd.c projects/clang1000-import/sys/dev/cxgbe/adapter.h projects/clang1000-import/sys/dev/cxgbe/crypto/t4_kern_tls.c projects/clang1000-import/sys/dev/cxgbe/t4_main.c projects/clang1000-import/sys/dev/cxgbe/t4_sge.c projects/clang1000-import/sys/dev/hyperv/vmbus/amd64/hyperv_machdep.c projects/clang1000-import/sys/dev/intpm/intpm.c projects/clang1000-import/sys/dev/mlx5/mlx5_en/mlx5_en_hw_tls.c projects/clang1000-import/sys/dev/ntb/ntb_hw/ntb_hw_amd.c projects/clang1000-import/sys/dev/ntb/ntb_hw/ntb_hw_amd.h projects/clang1000-import/sys/dev/usb/input/ukbd.c projects/clang1000-import/sys/kern/kern_descrip.c projects/clang1000-import/sys/kern/kern_jail.c projects/clang1000-import/sys/kern/kern_lock.c projects/clang1000-import/sys/kern/kern_priv.c projects/clang1000-import/sys/kern/subr_smr.c projects/clang1000-import/sys/kern/subr_syscall.c projects/clang1000-import/sys/kern/subr_trap.c projects/clang1000-import/sys/kern/sys_capability.c projects/clang1000-import/sys/kern/vfs_default.c projects/clang1000-import/sys/kern/vfs_lookup.c projects/clang1000-import/sys/kern/vfs_syscalls.c projects/clang1000-import/sys/kern/vfs_vnops.c projects/clang1000-import/sys/netinet/tcp_input.c projects/clang1000-import/sys/netinet/tcp_log_buf.c projects/clang1000-import/sys/netinet/tcp_log_buf.h projects/clang1000-import/sys/netinet/tcp_output.c projects/clang1000-import/sys/netinet/tcp_sack.c projects/clang1000-import/sys/netinet/tcp_usrreq.c projects/clang1000-import/sys/netinet/tcp_var.h projects/clang1000-import/sys/security/audit/audit.h projects/clang1000-import/sys/security/mac/mac_framework.c projects/clang1000-import/sys/security/mac/mac_framework.h projects/clang1000-import/sys/security/mac/mac_priv.c projects/clang1000-import/sys/security/mac/mac_vfs.c projects/clang1000-import/sys/sys/capsicum.h projects/clang1000-import/sys/sys/file.h projects/clang1000-import/sys/sys/jail.h projects/clang1000-import/sys/sys/ktrace.h projects/clang1000-import/sys/sys/lockmgr.h projects/clang1000-import/sys/sys/priv.h projects/clang1000-import/sys/sys/smr.h projects/clang1000-import/sys/sys/sysent.h projects/clang1000-import/sys/vm/uma_core.c projects/clang1000-import/sys/vm/vm_page.c projects/clang1000-import/tests/sys/Makefile projects/clang1000-import/tests/sys/common/Makefile projects/clang1000-import/tests/sys/net/randsleep.c projects/clang1000-import/tests/sys/netinet/Makefile projects/clang1000-import/tests/sys/netinet6/Makefile projects/clang1000-import/usr.bin/diff/diff.1 projects/clang1000-import/usr.bin/diff/diff.c projects/clang1000-import/usr.bin/diff/tests/diff_test.sh projects/clang1000-import/usr.sbin/bhyve/xmsr.c projects/clang1000-import/usr.sbin/bhyvectl/bhyvectl.c projects/clang1000-import/usr.sbin/services_mkdb/services projects/clang1000-import/usr.sbin/sesutil/sesutil.c Directory Properties: projects/clang1000-import/ (props changed) projects/clang1000-import/cddl/ (props changed) projects/clang1000-import/contrib/elftoolchain/ (props changed) projects/clang1000-import/contrib/ncurses/ (props changed) Modified: projects/clang1000-import/cddl/lib/libdtrace/tcp.d ============================================================================== --- projects/clang1000-import/cddl/lib/libdtrace/tcp.d Fri Feb 14 19:31:24 2020 (r357929) +++ projects/clang1000-import/cddl/lib/libdtrace/tcp.d Fri Feb 14 19:32:58 2020 (r357930) @@ -244,7 +244,7 @@ translator tcpsinfo_t < struct tcpcb *p > { tcps_cwnd_ssthresh = p == NULL ? -1 : p->snd_ssthresh; tcps_srecover = p == NULL ? -1 : p->snd_recover; tcps_sack_fack = p == NULL ? 0 : p->snd_fack; - tcps_sack_snxt = p == NULL ? 0 : p->sack_newdata; + tcps_sack_snxt = p == NULL ? 0 : p->snd_recover; tcps_rto = p == NULL ? -1 : (p->t_rxtcur * 1000) / `hz; tcps_mss = p == NULL ? -1 : p->t_maxseg; tcps_retransmit = p == NULL ? -1 : p->t_rxtshift > 0 ? 1 : 0; Modified: projects/clang1000-import/contrib/elftoolchain/addr2line/addr2line.c ============================================================================== --- projects/clang1000-import/contrib/elftoolchain/addr2line/addr2line.c Fri Feb 14 19:31:24 2020 (r357929) +++ projects/clang1000-import/contrib/elftoolchain/addr2line/addr2line.c Fri Feb 14 19:32:58 2020 (r357930) @@ -36,6 +36,7 @@ #include #include #include +#include #include #include #include Modified: projects/clang1000-import/contrib/ncurses/ncurses/base/MKlib_gen.sh ============================================================================== --- projects/clang1000-import/contrib/ncurses/ncurses/base/MKlib_gen.sh Fri Feb 14 19:31:24 2020 (r357929) +++ projects/clang1000-import/contrib/ncurses/ncurses/base/MKlib_gen.sh Fri Feb 14 19:32:58 2020 (r357930) @@ -73,7 +73,7 @@ USE="$3" # determine if we are using gcc, and if so, what version because the proposed # solution uses a nonstandard option. PRG=`echo "$1" | $AWK '{ sub(/^[[:space:]]*/,""); sub(/[[:space:]].*$/, ""); print; }' || exit 0` -FSF=`"$PRG" --version 2>/dev/null || exit 0 | fgrep "Free Software Foundation" | head -n 1` +FSF=`("$PRG" --version 2>/dev/null || exit 0) | fgrep "Free Software Foundation" | head -n 1` ALL=`"$PRG" -dumpversion 2>/dev/null || exit 0` ONE=`echo "$ALL" | sed -e 's/\..*$//'` if test -n "$FSF" && test -n "$ALL" && test -n "$ONE" ; then Modified: projects/clang1000-import/lib/libthr/thread/thr_cancel.c ============================================================================== --- projects/clang1000-import/lib/libthr/thread/thr_cancel.c Fri Feb 14 19:31:24 2020 (r357929) +++ projects/clang1000-import/lib/libthr/thread/thr_cancel.c Fri Feb 14 19:32:58 2020 (r357930) @@ -71,7 +71,7 @@ _thr_cancel(pthread_t pthread) * _thr_find_thread and THR_THREAD_UNLOCK will enter and leave critical * region automatically. */ - if ((ret = _thr_find_thread(curthread, pthread, 0)) == 0) { + if ((ret = _thr_find_thread(curthread, pthread, 1)) == 0) { if (!pthread->cancel_pending) { pthread->cancel_pending = 1; if (pthread->state != PS_DEAD) Modified: projects/clang1000-import/libexec/rtld-elf/aarch64/reloc.c ============================================================================== --- projects/clang1000-import/libexec/rtld-elf/aarch64/reloc.c Fri Feb 14 19:31:24 2020 (r357929) +++ projects/clang1000-import/libexec/rtld-elf/aarch64/reloc.c Fri Feb 14 19:32:58 2020 (r357930) @@ -258,31 +258,56 @@ reloc_jmpslots(Obj_Entry *obj, int flags, RtldLockStat return (0); } +static void +reloc_iresolve_one(Obj_Entry *obj, const Elf_Rela *rela, + RtldLockState *lockstate) +{ + Elf_Addr *where, target, *ptr; + + ptr = (Elf_Addr *)(obj->relocbase + rela->r_addend); + where = (Elf_Addr *)(obj->relocbase + rela->r_offset); + lock_release(rtld_bind_lock, lockstate); + target = call_ifunc_resolver(ptr); + wlock_acquire(rtld_bind_lock, lockstate); + *where = target; +} + int reloc_iresolve(Obj_Entry *obj, struct Struct_RtldLockState *lockstate) { const Elf_Rela *relalim; const Elf_Rela *rela; - Elf_Addr *where, target, *ptr; if (!obj->irelative) return (0); - relalim = (const Elf_Rela *)((const char *)obj->pltrela + obj->pltrelasize); + obj->irelative = false; + relalim = (const Elf_Rela *)((const char *)obj->pltrela + + obj->pltrelasize); for (rela = obj->pltrela; rela < relalim; rela++) { - if (ELF_R_TYPE(rela->r_info) == R_AARCH64_IRELATIVE) { - ptr = (Elf_Addr *)(obj->relocbase + rela->r_addend); - where = (Elf_Addr *)(obj->relocbase + rela->r_offset); - lock_release(rtld_bind_lock, lockstate); - target = call_ifunc_resolver(ptr); - wlock_acquire(rtld_bind_lock, lockstate); - *where = target; - } + if (ELF_R_TYPE(rela->r_info) == R_AARCH64_IRELATIVE) + reloc_iresolve_one(obj, rela, lockstate); } - obj->irelative = false; return (0); } int +reloc_iresolve_nonplt(Obj_Entry *obj, struct Struct_RtldLockState *lockstate) +{ + const Elf_Rela *relalim; + const Elf_Rela *rela; + + if (!obj->irelative_nonplt) + return (0); + obj->irelative_nonplt = false; + relalim = (const Elf_Rela *)((const char *)obj->rela + obj->relasize); + for (rela = obj->rela; rela < relalim; rela++) { + if (ELF_R_TYPE(rela->r_info) == R_AARCH64_IRELATIVE) + reloc_iresolve_one(obj, rela, lockstate); + } + return (0); +} + +int reloc_gnu_ifunc(Obj_Entry *obj, int flags, struct Struct_RtldLockState *lockstate) { @@ -497,6 +522,9 @@ reloc_non_plt(Obj_Entry *obj, Obj_Entry *obj_rtld, int *where = (Elf_Addr)(obj->relocbase + rela->r_addend); break; case R_AARCH64_NONE: + break; + case R_AARCH64_IRELATIVE: + obj->irelative_nonplt = true; break; default: rtld_printf("%s: Unhandled relocation %lu\n", Modified: projects/clang1000-import/libexec/rtld-elf/amd64/reloc.c ============================================================================== --- projects/clang1000-import/libexec/rtld-elf/amd64/reloc.c Fri Feb 14 19:31:24 2020 (r357929) +++ projects/clang1000-import/libexec/rtld-elf/amd64/reloc.c Fri Feb 14 19:32:58 2020 (r357930) @@ -303,6 +303,10 @@ reloc_non_plt(Obj_Entry *obj, Obj_Entry *obj_rtld, int case R_X86_64_RELATIVE: *where = (Elf_Addr)(obj->relocbase + rela->r_addend); break; + case R_X86_64_IRELATIVE: + obj->irelative_nonplt = true; + break; + /* * missing: * R_X86_64_GOTPCREL, R_X86_64_32, R_X86_64_32S, R_X86_64_16, @@ -410,34 +414,53 @@ reloc_jmpslot(Elf_Addr *where, Elf_Addr target, return (target); } +static void +reloc_iresolve_one(Obj_Entry *obj, const Elf_Rela *rela, + RtldLockState *lockstate) +{ + Elf_Addr *where, target, *ptr; + + ptr = (Elf_Addr *)(obj->relocbase + rela->r_addend); + where = (Elf_Addr *)(obj->relocbase + rela->r_offset); + lock_release(rtld_bind_lock, lockstate); + target = call_ifunc_resolver(ptr); + wlock_acquire(rtld_bind_lock, lockstate); + *where = target; +} + int reloc_iresolve(Obj_Entry *obj, RtldLockState *lockstate) { - const Elf_Rela *relalim; - const Elf_Rela *rela; + const Elf_Rela *relalim; + const Elf_Rela *rela; - if (!obj->irelative) + if (!obj->irelative) + return (0); + obj->irelative = false; + relalim = (const Elf_Rela *)((const char *)obj->pltrela + + obj->pltrelasize); + for (rela = obj->pltrela; rela < relalim; rela++) { + if (ELF_R_TYPE(rela->r_info) == R_X86_64_IRELATIVE) + reloc_iresolve_one(obj, rela, lockstate); + } return (0); - relalim = (const Elf_Rela *)((const char *)obj->pltrela + obj->pltrelasize); - for (rela = obj->pltrela; rela < relalim; rela++) { - Elf_Addr *where, target, *ptr; +} - switch (ELF_R_TYPE(rela->r_info)) { - case R_X86_64_JMP_SLOT: - break; +int +reloc_iresolve_nonplt(Obj_Entry *obj, RtldLockState *lockstate) +{ + const Elf_Rela *relalim; + const Elf_Rela *rela; - case R_X86_64_IRELATIVE: - ptr = (Elf_Addr *)(obj->relocbase + rela->r_addend); - where = (Elf_Addr *)(obj->relocbase + rela->r_offset); - lock_release(rtld_bind_lock, lockstate); - target = call_ifunc_resolver(ptr); - wlock_acquire(rtld_bind_lock, lockstate); - *where = target; - break; + if (!obj->irelative_nonplt) + return (0); + obj->irelative_nonplt = false; + relalim = (const Elf_Rela *)((const char *)obj->rela + obj->relasize); + for (rela = obj->rela; rela < relalim; rela++) { + if (ELF_R_TYPE(rela->r_info) == R_X86_64_IRELATIVE) + reloc_iresolve_one(obj, rela, lockstate); } - } - obj->irelative = false; - return (0); + return (0); } int Modified: projects/clang1000-import/libexec/rtld-elf/arm/reloc.c ============================================================================== --- projects/clang1000-import/libexec/rtld-elf/arm/reloc.c Fri Feb 14 19:31:24 2020 (r357929) +++ projects/clang1000-import/libexec/rtld-elf/arm/reloc.c Fri Feb 14 19:32:58 2020 (r357930) @@ -452,6 +452,15 @@ reloc_iresolve(Obj_Entry *obj __unused, } int +reloc_iresolve_nonplt(Obj_Entry *obj __unused, + struct Struct_RtldLockState *lockstate __unused) +{ + + /* XXX not implemented */ + return (0); +} + +int reloc_gnu_ifunc(Obj_Entry *obj __unused, int flags __unused, struct Struct_RtldLockState *lockstate __unused) { Modified: projects/clang1000-import/libexec/rtld-elf/i386/reloc.c ============================================================================== --- projects/clang1000-import/libexec/rtld-elf/i386/reloc.c Fri Feb 14 19:31:24 2020 (r357929) +++ projects/clang1000-import/libexec/rtld-elf/i386/reloc.c Fri Feb 14 19:32:58 2020 (r357930) @@ -263,6 +263,9 @@ reloc_non_plt(Obj_Entry *obj, Obj_Entry *obj_rtld, int case R_386_TLS_DTPOFF32: *where += (Elf_Addr) def->st_value; break; + case R_386_IRELATIVE: + obj->irelative_nonplt = true; + break; default: _rtld_error("%s: Unsupported relocation type %d" " in non-PLT relocations\n", obj->path, @@ -365,29 +368,51 @@ reloc_jmpslot(Elf_Addr *where, Elf_Addr target, return (target); } +static void +reloc_iresolve_one(Obj_Entry *obj, const Elf_Rel *rel, + RtldLockState *lockstate) +{ + Elf_Addr *where, target; + + where = (Elf_Addr *)(obj->relocbase + rel->r_offset); + lock_release(rtld_bind_lock, lockstate); + target = call_ifunc_resolver(obj->relocbase + *where); + wlock_acquire(rtld_bind_lock, lockstate); + *where = target; +} + int reloc_iresolve(Obj_Entry *obj, RtldLockState *lockstate) { - const Elf_Rel *rellim; - const Elf_Rel *rel; - Elf_Addr *where, target; + const Elf_Rel *rellim; + const Elf_Rel *rel; - if (!obj->irelative) + if (!obj->irelative) + return (0); + obj->irelative = false; + rellim = (const Elf_Rel *)((const char *)obj->pltrel + obj->pltrelsize); + for (rel = obj->pltrel; rel < rellim; rel++) { + if (ELF_R_TYPE(rel->r_info) == R_386_IRELATIVE) + reloc_iresolve_one(obj, rel, lockstate); + } return (0); - rellim = (const Elf_Rel *)((const char *)obj->pltrel + obj->pltrelsize); - for (rel = obj->pltrel; rel < rellim; rel++) { - switch (ELF_R_TYPE(rel->r_info)) { - case R_386_IRELATIVE: - where = (Elf_Addr *)(obj->relocbase + rel->r_offset); - lock_release(rtld_bind_lock, lockstate); - target = call_ifunc_resolver(obj->relocbase + *where); - wlock_acquire(rtld_bind_lock, lockstate); - *where = target; - break; +} + +int +reloc_iresolve_nonplt(Obj_Entry *obj, RtldLockState *lockstate) +{ + const Elf_Rel *rellim; + const Elf_Rel *rel; + + if (!obj->irelative_nonplt) + return (0); + obj->irelative_nonplt = false; + rellim = (const Elf_Rel *)((const char *)obj->rel + obj->relsize); + for (rel = obj->rel; rel < rellim; rel++) { + if (ELF_R_TYPE(rel->r_info) == R_386_IRELATIVE) + reloc_iresolve_one(obj, rel, lockstate); } - } - obj->irelative = false; - return (0); + return (0); } int Modified: projects/clang1000-import/libexec/rtld-elf/mips/reloc.c ============================================================================== --- projects/clang1000-import/libexec/rtld-elf/mips/reloc.c Fri Feb 14 19:31:24 2020 (r357929) +++ projects/clang1000-import/libexec/rtld-elf/mips/reloc.c Fri Feb 14 19:32:58 2020 (r357930) @@ -723,6 +723,15 @@ reloc_iresolve(Obj_Entry *obj __unused, } int +reloc_iresolve_nonplt(Obj_Entry *obj __unused, + struct Struct_RtldLockState *lockstate __unused) +{ + + /* XXX not implemented */ + return (0); +} + +int reloc_gnu_ifunc(Obj_Entry *obj __unused, int flags __unused, struct Struct_RtldLockState *lockstate __unused) { Modified: projects/clang1000-import/libexec/rtld-elf/powerpc/reloc.c ============================================================================== --- projects/clang1000-import/libexec/rtld-elf/powerpc/reloc.c Fri Feb 14 19:31:24 2020 (r357929) +++ projects/clang1000-import/libexec/rtld-elf/powerpc/reloc.c Fri Feb 14 19:32:58 2020 (r357930) @@ -653,6 +653,13 @@ reloc_iresolve(Obj_Entry *obj, } int +reloc_iresolve_nonplt(Obj_Entry *obj __unused, + struct Struct_RtldLockState *lockstate __unused) +{ + return (0); +} + +int reloc_gnu_ifunc(Obj_Entry *obj __unused, int flags __unused, struct Struct_RtldLockState *lockstate __unused) { Modified: projects/clang1000-import/libexec/rtld-elf/powerpc64/reloc.c ============================================================================== --- projects/clang1000-import/libexec/rtld-elf/powerpc64/reloc.c Fri Feb 14 19:31:24 2020 (r357929) +++ projects/clang1000-import/libexec/rtld-elf/powerpc64/reloc.c Fri Feb 14 19:32:58 2020 (r357930) @@ -652,6 +652,13 @@ reloc_gnu_ifunc(Obj_Entry *obj __unused, int flags __u #endif } +int +reloc_iresolve_nonplt(Obj_Entry *obj __unused, + struct Struct_RtldLockState *lockstate __unused) +{ + return (0); +} + void init_pltgot(Obj_Entry *obj) { Modified: projects/clang1000-import/libexec/rtld-elf/riscv/reloc.c ============================================================================== --- projects/clang1000-import/libexec/rtld-elf/riscv/reloc.c Fri Feb 14 19:31:24 2020 (r357929) +++ projects/clang1000-import/libexec/rtld-elf/riscv/reloc.c Fri Feb 14 19:32:58 2020 (r357930) @@ -212,6 +212,15 @@ reloc_iresolve(Obj_Entry *obj __unused, } int +reloc_iresolve_nonplt(Obj_Entry *obj __unused, + struct Struct_RtldLockState *lockstate __unused) +{ + + /* XXX not implemented */ + return (0); +} + +int reloc_gnu_ifunc(Obj_Entry *obj __unused, int flags __unused, struct Struct_RtldLockState *lockstate __unused) { Modified: projects/clang1000-import/libexec/rtld-elf/rtld.c ============================================================================== --- projects/clang1000-import/libexec/rtld-elf/rtld.c Fri Feb 14 19:31:24 2020 (r357929) +++ projects/clang1000-import/libexec/rtld-elf/rtld.c Fri Feb 14 19:32:58 2020 (r357930) @@ -3034,10 +3034,13 @@ resolve_object_ifunc(Obj_Entry *obj, bool bind_now, in if (obj->ifuncs_resolved) return (0); obj->ifuncs_resolved = true; - if (!obj->irelative && !((obj->bind_now || bind_now) && obj->gnu_ifunc)) + if (!obj->irelative && !obj->irelative_nonplt && + !((obj->bind_now || bind_now) && obj->gnu_ifunc)) return (0); if (obj_disable_relro(obj) == -1 || (obj->irelative && reloc_iresolve(obj, lockstate) == -1) || + (obj->irelative_nonplt && reloc_iresolve_nonplt(obj, + lockstate) == -1) || ((obj->bind_now || bind_now) && obj->gnu_ifunc && reloc_gnu_ifunc(obj, flags, lockstate) == -1) || obj_enforce_relro(obj) == -1) Modified: projects/clang1000-import/libexec/rtld-elf/rtld.h ============================================================================== --- projects/clang1000-import/libexec/rtld-elf/rtld.h Fri Feb 14 19:31:24 2020 (r357929) +++ projects/clang1000-import/libexec/rtld-elf/rtld.h Fri Feb 14 19:32:58 2020 (r357930) @@ -264,6 +264,7 @@ typedef struct Struct_Obj_Entry { bool dag_inited : 1; /* Object has its DAG initialized. */ bool filtees_loaded : 1; /* Filtees loaded */ bool irelative : 1; /* Object has R_MACHDEP_IRELATIVE relocs */ + bool irelative_nonplt : 1; /* Object has R_MACHDEP_IRELATIVE non-plt relocs */ bool gnu_ifunc : 1; /* Object has references to STT_GNU_IFUNC */ bool non_plt_gnu_ifunc : 1; /* Object has non-plt IFUNC references */ bool ifuncs_resolved : 1; /* Object ifuncs were already resolved */ @@ -406,6 +407,7 @@ int reloc_non_plt(Obj_Entry *, Obj_Entry *, int flags, int reloc_plt(Obj_Entry *, int flags, struct Struct_RtldLockState *); int reloc_jmpslots(Obj_Entry *, int flags, struct Struct_RtldLockState *); int reloc_iresolve(Obj_Entry *, struct Struct_RtldLockState *); +int reloc_iresolve_nonplt(Obj_Entry *, struct Struct_RtldLockState *); int reloc_gnu_ifunc(Obj_Entry *, int flags, struct Struct_RtldLockState *); void ifunc_init(Elf_Auxinfo[__min_size(AT_COUNT)]); void pre_init(void); Modified: projects/clang1000-import/libexec/rtld-elf/sparc64/reloc.c ============================================================================== --- projects/clang1000-import/libexec/rtld-elf/sparc64/reloc.c Fri Feb 14 19:31:24 2020 (r357929) +++ projects/clang1000-import/libexec/rtld-elf/sparc64/reloc.c Fri Feb 14 19:32:58 2020 (r357930) @@ -570,6 +570,15 @@ reloc_iresolve(Obj_Entry *obj __unused, } int +reloc_iresolve_nonplt(Obj_Entry *obj __unused, + struct Struct_RtldLockState *lockstate __unused) +{ + + /* XXX not implemented */ + return (0); +} + +int reloc_gnu_ifunc(Obj_Entry *obj __unused, int flags __unused, struct Struct_RtldLockState *lockstate __unused) { Modified: projects/clang1000-import/share/misc/committers-ports.dot ============================================================================== --- projects/clang1000-import/share/misc/committers-ports.dot Fri Feb 14 19:31:24 2020 (r357929) +++ projects/clang1000-import/share/misc/committers-ports.dot Fri Feb 14 19:32:58 2020 (r357930) @@ -159,6 +159,7 @@ kevlo [label="Kevin Lo\nkevlo@FreeBSD.org\n2003/02/21" kmoore [label="Kris Moore\nkmoore@FreeBSD.org\n2009/04/14"] knu [label="Akinori Musha\nknu@FreeBSD.org\n2000/03/22"] koitsu [label="Jeremy Chadwick\nkoitsu@FreeBSD.org\n2006/11/10"] +koobs [label="Kubilay Kocak\nkoobs@FreeBSD.org\n2012/12/24"] krion [label="Kirill Ponomarew\nkrion@FreeBSD.org\n2003/07/20"] kwm [label="Koop Mast\nkwm@FreeBSD.org\n2004/09/14"] laszlof [label="Frank Laszlo\nlaszlof@FreeBSD.org\n2006/11/07"] Modified: projects/clang1000-import/sys/amd64/amd64/trap.c ============================================================================== --- projects/clang1000-import/sys/amd64/amd64/trap.c Fri Feb 14 19:31:24 2020 (r357929) +++ projects/clang1000-import/sys/amd64/amd64/trap.c Fri Feb 14 19:32:58 2020 (r357930) @@ -1068,25 +1068,32 @@ flush_l1d_hw(void) wrmsr(MSR_IA32_FLUSH_CMD, IA32_FLUSH_CMD_L1D); } -static void __inline -amd64_syscall_ret_flush_l1d_inline(int error) +static void __noinline +amd64_syscall_ret_flush_l1d_check(int error) { void (*p)(void); - if (error != 0 && error != EEXIST && error != EAGAIN && - error != EXDEV && error != ENOENT && error != ENOTCONN && - error != EINPROGRESS) { - p = syscall_ret_l1d_flush; + if (error != EEXIST && error != EAGAIN && error != EXDEV && + error != ENOENT && error != ENOTCONN && error != EINPROGRESS) { + p = (void *)atomic_load_ptr(&syscall_ret_l1d_flush); if (p != NULL) p(); } } +static void __inline +amd64_syscall_ret_flush_l1d_check_inline(int error) +{ + + if (__predict_false(error != 0)) + amd64_syscall_ret_flush_l1d_check(error); +} + void amd64_syscall_ret_flush_l1d(int error) { - amd64_syscall_ret_flush_l1d_inline(error); + amd64_syscall_ret_flush_l1d_check_inline(error); } void @@ -1190,5 +1197,5 @@ amd64_syscall(struct thread *td, int traced) if (__predict_false(td->td_frame->tf_rip >= VM_MAXUSER_ADDRESS)) set_pcb_flags(td->td_pcb, PCB_FULL_IRET); - amd64_syscall_ret_flush_l1d_inline(td->td_errno); + amd64_syscall_ret_flush_l1d_check_inline(td->td_errno); } Modified: projects/clang1000-import/sys/amd64/vmm/io/iommu.c ============================================================================== --- projects/clang1000-import/sys/amd64/vmm/io/iommu.c Fri Feb 14 19:31:24 2020 (r357929) +++ projects/clang1000-import/sys/amd64/vmm/io/iommu.c Fri Feb 14 19:32:58 2020 (r357930) @@ -184,7 +184,7 @@ iommu_init(void) if (vmm_is_intel()) ops = &iommu_ops_intel; - else if (vmm_is_amd()) + else if (vmm_is_svm()) ops = &iommu_ops_amd; else ops = NULL; Modified: projects/clang1000-import/sys/amd64/vmm/vmm.c ============================================================================== --- projects/clang1000-import/sys/amd64/vmm/vmm.c Fri Feb 14 19:31:24 2020 (r357929) +++ projects/clang1000-import/sys/amd64/vmm/vmm.c Fri Feb 14 19:32:58 2020 (r357930) @@ -347,7 +347,7 @@ vmm_init(void) if (vmm_is_intel()) ops = &vmm_ops_intel; - else if (vmm_is_amd()) + else if (vmm_is_svm()) ops = &vmm_ops_amd; else return (ENXIO); Modified: projects/clang1000-import/sys/amd64/vmm/vmm_stat.c ============================================================================== --- projects/clang1000-import/sys/amd64/vmm/vmm_stat.c Fri Feb 14 19:31:24 2020 (r357929) +++ projects/clang1000-import/sys/amd64/vmm/vmm_stat.c Fri Feb 14 19:32:58 2020 (r357930) @@ -67,7 +67,7 @@ vmm_stat_register(void *arg) if (vst->scope == VMM_STAT_SCOPE_INTEL && !vmm_is_intel()) return; - if (vst->scope == VMM_STAT_SCOPE_AMD && !vmm_is_amd()) + if (vst->scope == VMM_STAT_SCOPE_AMD && !vmm_is_svm()) return; if (vst_num_elems + vst->nelems >= MAX_VMM_STAT_ELEMS) { Modified: projects/clang1000-import/sys/amd64/vmm/vmm_util.c ============================================================================== --- projects/clang1000-import/sys/amd64/vmm/vmm_util.c Fri Feb 14 19:31:24 2020 (r357929) +++ projects/clang1000-import/sys/amd64/vmm/vmm_util.c Fri Feb 14 19:32:58 2020 (r357930) @@ -46,9 +46,10 @@ vmm_is_intel(void) } bool -vmm_is_amd(void) +vmm_is_svm(void) { - return (strcmp(cpu_vendor, "AuthenticAMD") == 0); + return (strcmp(cpu_vendor, "AuthenticAMD") == 0 || + strcmp(cpu_vendor, "HygonGenuine") == 0); } bool Modified: projects/clang1000-import/sys/amd64/vmm/vmm_util.h ============================================================================== --- projects/clang1000-import/sys/amd64/vmm/vmm_util.h Fri Feb 14 19:31:24 2020 (r357929) +++ projects/clang1000-import/sys/amd64/vmm/vmm_util.h Fri Feb 14 19:32:58 2020 (r357930) @@ -34,7 +34,7 @@ struct trapframe; bool vmm_is_intel(void); -bool vmm_is_amd(void); +bool vmm_is_svm(void); bool vmm_supports_1G_pages(void); void dump_trapframe(struct trapframe *tf); Modified: projects/clang1000-import/sys/amd64/vmm/x86.c ============================================================================== --- projects/clang1000-import/sys/amd64/vmm/x86.c Fri Feb 14 19:31:24 2020 (r357929) +++ projects/clang1000-import/sys/amd64/vmm/x86.c Fri Feb 14 19:32:58 2020 (r357930) @@ -135,7 +135,7 @@ x86_emulate_cpuid(struct vm *vm, int vcpu_id, break; case CPUID_8000_0008: cpuid_count(*eax, *ecx, regs); - if (vmm_is_amd()) { + if (vmm_is_svm()) { /* * As on Intel (0000_0007:0, EDX), mask out * unsupported or unsafe AMD extended features @@ -234,7 +234,7 @@ x86_emulate_cpuid(struct vm *vm, int vcpu_id, case CPUID_8000_001D: /* AMD Cache topology, like 0000_0004 for Intel. */ - if (!vmm_is_amd()) + if (!vmm_is_svm()) goto default_leaf; /* @@ -276,8 +276,11 @@ x86_emulate_cpuid(struct vm *vm, int vcpu_id, break; case CPUID_8000_001E: - /* AMD Family 16h+ additional identifiers */ - if (!vmm_is_amd() || CPUID_TO_FAMILY(cpu_id) < 0x16) + /* + * AMD Family 16h+ and Hygon Family 18h additional + * identifiers. + */ + if (!vmm_is_svm() || CPUID_TO_FAMILY(cpu_id) < 0x16) goto default_leaf; vm_get_topology(vm, &sockets, &cores, &threads, Modified: projects/clang1000-import/sys/cam/cam_periph.c ============================================================================== --- projects/clang1000-import/sys/cam/cam_periph.c Fri Feb 14 19:31:24 2020 (r357929) +++ projects/clang1000-import/sys/cam/cam_periph.c Fri Feb 14 19:32:58 2020 (r357930) @@ -57,6 +57,7 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include /* For KASSERTs only */ #include #include @@ -681,6 +682,10 @@ camperiphfree(struct cam_periph *periph) cam_periph_assert(periph, MA_OWNED); KASSERT(periph->periph_allocating == 0, ("%s%d: freed while allocating", periph->periph_name, periph->unit_number)); + KASSERT(periph->path->device->ccbq.dev_active == 0, + ("%s%d: freed with %d active CCBs\n", + periph->periph_name, periph->unit_number, + periph->path->device->ccbq.dev_active)); for (p_drv = periph_drivers; *p_drv != NULL; p_drv++) { if (strcmp((*p_drv)->driver_name, periph->periph_name) == 0) break; Modified: projects/clang1000-import/sys/cam/cam_xpt.c ============================================================================== --- projects/clang1000-import/sys/cam/cam_xpt.c Fri Feb 14 19:31:24 2020 (r357929) +++ projects/clang1000-import/sys/cam/cam_xpt.c Fri Feb 14 19:32:58 2020 (r357930) @@ -248,7 +248,6 @@ static void xpt_run_allocq(struct cam_periph *periph, static void xpt_run_allocq_task(void *context, int pending); static void xpt_run_devq(struct cam_devq *devq); static callout_func_t xpt_release_devq_timeout; -static void xpt_release_simq_timeout(void *arg) __unused; static void xpt_acquire_bus(struct cam_eb *bus); static void xpt_release_bus(struct cam_eb *bus); static uint32_t xpt_freeze_devq_device(struct cam_ed *dev, u_int count); @@ -4619,18 +4618,6 @@ xpt_release_simq(struct cam_sim *sim, int run_queue) } } mtx_unlock(&devq->send_mtx); -} - -/* - * XXX Appears to be unused. - */ -static void -xpt_release_simq_timeout(void *arg) -{ - struct cam_sim *sim; - - sim = (struct cam_sim *)arg; - xpt_release_simq(sim, /* run_queue */ TRUE); } void Modified: projects/clang1000-import/sys/dev/ahci/ahci_pci.c ============================================================================== --- projects/clang1000-import/sys/dev/ahci/ahci_pci.c Fri Feb 14 19:31:24 2020 (r357929) +++ projects/clang1000-import/sys/dev/ahci/ahci_pci.c Fri Feb 14 19:32:58 2020 (r357930) @@ -90,6 +90,7 @@ static const struct { {0x06221b21, 0x00, "ASMedia ASM106x", AHCI_Q_NOCCS|AHCI_Q_NOAUX}, {0x06241b21, 0x00, "ASMedia ASM106x", AHCI_Q_NOCCS|AHCI_Q_NOAUX}, {0x06251b21, 0x00, "ASMedia ASM106x", AHCI_Q_NOCCS|AHCI_Q_NOAUX}, + {0x79011d94, 0x00, "Hygon KERNCZ", 0}, {0x26528086, 0x00, "Intel ICH6", AHCI_Q_NOFORCE}, {0x26538086, 0x00, "Intel ICH6M", AHCI_Q_NOFORCE}, {0x26818086, 0x00, "Intel ESB2", 0}, Modified: projects/clang1000-import/sys/dev/amd_ecc_inject/ecc_inject.c ============================================================================== --- projects/clang1000-import/sys/dev/amd_ecc_inject/ecc_inject.c Fri Feb 14 19:31:24 2020 (r357929) +++ projects/clang1000-import/sys/dev/amd_ecc_inject/ecc_inject.c Fri Feb 14 19:32:58 2020 (r357930) @@ -203,7 +203,8 @@ ecc_ei_load(void) { uint32_t val; - if (cpu_vendor_id != CPU_VENDOR_AMD || CPUID_TO_FAMILY(cpu_id) < 0x10) { + if ((cpu_vendor_id != CPU_VENDOR_AMD || CPUID_TO_FAMILY(cpu_id) < 0x10) && + cpu_vendor_id != CPU_VENDOR_HYGON) { printf("DRAM ECC error injection is not supported\n"); return (ENXIO); } Modified: projects/clang1000-import/sys/dev/amdpm/amdpm.c ============================================================================== --- projects/clang1000-import/sys/dev/amdpm/amdpm.c Fri Feb 14 19:31:24 2020 (r357929) +++ projects/clang1000-import/sys/dev/amdpm/amdpm.c Fri Feb 14 19:32:58 2020 (r357930) @@ -67,6 +67,8 @@ static int amdpm_debug = 0; #define AMDPM_DEVICEID_AMD768PM 0x7443 #define AMDPM_DEVICEID_AMD8111PM 0x746B +#define AMDPM_VENDORID_HYGON 0x1d94 + /* nVidia nForce chipset */ #define AMDPM_VENDORID_NVIDIA 0x10de #define AMDPM_DEVICEID_NF_SMB 0x01b4 @@ -199,7 +201,8 @@ amdpm_attach(device_t dev) pci_write_config(dev, AMDPCI_GEN_CONFIG_PM, val_b | AMDPCI_PMIOEN, 1); /* Allocate I/O space */ - if (pci_get_vendor(dev) == AMDPM_VENDORID_AMD) + if (pci_get_vendor(dev) == AMDPM_VENDORID_AMD || + pci_get_vendor(dev) == AMDPM_VENDORID_HYGON) amdpm_sc->rid = AMDPCI_PMBASE; else amdpm_sc->rid = NFPCI_PMBASE; Modified: projects/clang1000-import/sys/dev/amdsbwd/amd_chipset.h ============================================================================== --- projects/clang1000-import/sys/dev/amdsbwd/amd_chipset.h Fri Feb 14 19:31:24 2020 (r357929) +++ projects/clang1000-import/sys/dev/amdsbwd/amd_chipset.h Fri Feb 14 19:32:58 2020 (r357930) @@ -146,3 +146,5 @@ #define AMDCZ_SMBUS_DEVID 0x790b1022 #define AMDCZ49_SMBUS_REVID 0x49 +#define HYGONCZ_SMBUS_DEVID 0x790b1d94 + Modified: projects/clang1000-import/sys/dev/amdsbwd/amdsbwd.c ============================================================================== --- projects/clang1000-import/sys/dev/amdsbwd/amdsbwd.c Fri Feb 14 19:31:24 2020 (r357929) +++ projects/clang1000-import/sys/dev/amdsbwd/amdsbwd.c Fri Feb 14 19:32:58 2020 (r357930) @@ -60,6 +60,8 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include +#include #include #include @@ -269,7 +271,8 @@ amdsbwd_identify(driver_t *driver, device_t parent) return; if (pci_get_devid(smb_dev) != AMDSB_SMBUS_DEVID && pci_get_devid(smb_dev) != AMDFCH_SMBUS_DEVID && - pci_get_devid(smb_dev) != AMDCZ_SMBUS_DEVID) + pci_get_devid(smb_dev) != AMDCZ_SMBUS_DEVID && + pci_get_devid(smb_dev) != HYGONCZ_SMBUS_DEVID) return; child = BUS_ADD_CHILD(parent, ISA_ORDER_SPECULATIVE, "amdsbwd", -1); @@ -378,6 +381,7 @@ static void amdsbwd_probe_fch41(device_t dev, struct resource *pmres, uint32_t *addr) { uint8_t val; + char buf[36]; val = pmio_read(pmres, AMDFCH41_PM_ISA_CTRL); if ((val & AMDFCH41_MMIO_EN) != 0) { @@ -416,7 +420,9 @@ amdsbwd_probe_fch41(device_t dev, struct resource *pmr amdsbwd_verbose_printf(dev, "AMDFCH41_PM_DECODE_EN3 value = %#04x\n", val); #endif - device_set_desc(dev, "AMD FCH Rev 41h+ Watchdog Timer"); + snprintf(buf, sizeof(buf), "%s FCH Rev 41h+ Watchdog Timer", + cpu_vendor_id == CPU_VENDOR_HYGON ? "Hygon" : "AMD"); + device_set_desc_copy(dev, buf); } static int Modified: projects/clang1000-import/sys/dev/cxgbe/adapter.h ============================================================================== --- projects/clang1000-import/sys/dev/cxgbe/adapter.h Fri Feb 14 19:31:24 2020 (r357929) +++ projects/clang1000-import/sys/dev/cxgbe/adapter.h Fri Feb 14 19:32:58 2020 (r357930) @@ -574,7 +574,6 @@ struct sge_txq { uint64_t txpkts0_pkts; /* # of frames in type0 coalesced tx WRs */ uint64_t txpkts1_pkts; /* # of frames in type1 coalesced tx WRs */ uint64_t raw_wrs; /* # of raw work requests (alloc_wr_mbuf) */ - uint64_t tls_wrs; /* # of TLS work requests */ uint64_t kern_tls_records; uint64_t kern_tls_short; Modified: projects/clang1000-import/sys/dev/cxgbe/crypto/t4_kern_tls.c ============================================================================== --- projects/clang1000-import/sys/dev/cxgbe/crypto/t4_kern_tls.c Fri Feb 14 19:31:24 2020 (r357929) +++ projects/clang1000-import/sys/dev/cxgbe/crypto/t4_kern_tls.c Fri Feb 14 19:32:58 2020 (r357930) @@ -2082,7 +2082,6 @@ ktls_write_tls_wr(struct tlspcb *tlsp, struct sge_txq ndesc += howmany(wr_len, EQ_ESIZE); MPASS(ndesc <= available); - txq->tls_wrs++; txq->kern_tls_records++; txq->kern_tls_octets += tlen - mtod(m_tls, vm_offset_t); Modified: projects/clang1000-import/sys/dev/cxgbe/t4_main.c ============================================================================== --- projects/clang1000-import/sys/dev/cxgbe/t4_main.c Fri Feb 14 19:31:24 2020 (r357929) +++ projects/clang1000-import/sys/dev/cxgbe/t4_main.c Fri Feb 14 19:32:58 2020 (r357930) @@ -10359,7 +10359,6 @@ clear_stats(struct adapter *sc, u_int port_id) txq->txpkts0_pkts = 0; txq->txpkts1_pkts = 0; txq->raw_wrs = 0; - txq->tls_wrs = 0; txq->kern_tls_records = 0; txq->kern_tls_short = 0; txq->kern_tls_partial = 0; Modified: projects/clang1000-import/sys/dev/cxgbe/t4_sge.c ============================================================================== --- projects/clang1000-import/sys/dev/cxgbe/t4_sge.c Fri Feb 14 19:31:24 2020 (r357929) +++ projects/clang1000-import/sys/dev/cxgbe/t4_sge.c Fri Feb 14 19:32:58 2020 (r357930) @@ -4204,8 +4204,6 @@ alloc_txq(struct vi_info *vi, struct sge_txq *txq, int "# of frames tx'd using type1 txpkts work requests"); SYSCTL_ADD_UQUAD(&vi->ctx, children, OID_AUTO, "raw_wrs", CTLFLAG_RD, &txq->raw_wrs, "# of raw work requests (non-packets)"); - SYSCTL_ADD_UQUAD(&vi->ctx, children, OID_AUTO, "tls_wrs", CTLFLAG_RD, - &txq->tls_wrs, "# of TLS work requests (TLS records)"); #ifdef KERN_TLS if (sc->flags & KERN_TLS_OK) { Modified: projects/clang1000-import/sys/dev/hyperv/vmbus/amd64/hyperv_machdep.c ============================================================================== --- projects/clang1000-import/sys/dev/hyperv/vmbus/amd64/hyperv_machdep.c Fri Feb 14 19:31:24 2020 (r357929) +++ projects/clang1000-import/sys/dev/hyperv/vmbus/amd64/hyperv_machdep.c Fri Feb 14 19:32:58 2020 (r357930) @@ -188,6 +188,7 @@ hyperv_tsc_tcinit(void *dummy __unused) switch (cpu_vendor_id) { case CPU_VENDOR_AMD: + case CPU_VENDOR_HYGON: hyperv_tsc_timecounter.tc_get_timecount = hyperv_tsc_timecount_mfence; tc64 = hyperv_tc64_tsc_mfence; Modified: projects/clang1000-import/sys/dev/intpm/intpm.c ============================================================================== --- projects/clang1000-import/sys/dev/intpm/intpm.c Fri Feb 14 19:31:24 2020 (r357929) +++ projects/clang1000-import/sys/dev/intpm/intpm.c Fri Feb 14 19:32:58 2020 (r357930) @@ -102,6 +102,7 @@ const struct intsmb_device { { AMDSB_SMBUS_DEVID, "AMD SB600/7xx/8xx/9xx SMBus Controller" }, { AMDFCH_SMBUS_DEVID, "AMD FCH SMBus Controller" }, { AMDCZ_SMBUS_DEVID, "AMD FCH SMBus Controller" }, + { HYGONCZ_SMBUS_DEVID, "Hygon FCH SMBus Controller" }, }; static int @@ -243,6 +244,7 @@ intsmb_attach(device_t dev) break; case AMDFCH_SMBUS_DEVID: case AMDCZ_SMBUS_DEVID: + case HYGONCZ_SMBUS_DEVID: sc->sb8xx = 1; break; } Modified: projects/clang1000-import/sys/dev/mlx5/mlx5_en/mlx5_en_hw_tls.c ============================================================================== --- projects/clang1000-import/sys/dev/mlx5/mlx5_en/mlx5_en_hw_tls.c Fri Feb 14 19:31:24 2020 (r357929) +++ projects/clang1000-import/sys/dev/mlx5/mlx5_en/mlx5_en_hw_tls.c Fri Feb 14 19:32:58 2020 (r357930) @@ -339,10 +339,6 @@ mlx5e_tls_snd_tag_alloc(struct ifnet *ifp, case CRYPTO_AES_NIST_GCM_16: switch (en->cipher_key_len) { case 128 / 8: - if (en->auth_algorithm != CRYPTO_AES_128_NIST_GMAC) { - error = EINVAL; - goto failure; - } if (en->tls_vminor == TLS_MINOR_VER_TWO) { if (MLX5_CAP_TLS(priv->mdev, tls_1_2_aes_gcm_128) == 0) { error = EPROTONOSUPPORT; @@ -360,10 +356,6 @@ mlx5e_tls_snd_tag_alloc(struct ifnet *ifp, break; case 256 / 8: - if (en->auth_algorithm != CRYPTO_AES_256_NIST_GMAC) { - error = EINVAL; - goto failure; - } if (en->tls_vminor == TLS_MINOR_VER_TWO) { if (MLX5_CAP_TLS(priv->mdev, tls_1_2_aes_gcm_256) == 0) { error = EPROTONOSUPPORT; Modified: projects/clang1000-import/sys/dev/ntb/ntb_hw/ntb_hw_amd.c ============================================================================== --- projects/clang1000-import/sys/dev/ntb/ntb_hw/ntb_hw_amd.c Fri Feb 14 19:31:24 2020 (r357929) +++ projects/clang1000-import/sys/dev/ntb/ntb_hw/ntb_hw_amd.c Fri Feb 14 19:32:58 2020 (r357930) @@ -101,6 +101,16 @@ static const struct amd_ntb_hw_info amd_ntb_hw_info_li .msix_vector_count = 24, .quirks = 0, .desc = "AMD Non-Transparent Bridge"}, + + { .vendor_id = NTB_HW_HYGON_VENDOR_ID, + .device_id = NTB_HW_HYGON_DEVICE_ID1, + .mw_count = 3, + .bar_start_idx = 1, + .spad_count = 16, + .db_count = 16, + .msix_vector_count = 24, + .quirks = QUIRK_MW0_32BIT, + .desc = "Hygon Non-Transparent Bridge"}, }; static const struct pci_device_table amd_ntb_devs[] = { @@ -109,7 +119,10 @@ static const struct pci_device_table amd_ntb_devs[] = PCI_DESCR("AMD Non-Transparent Bridge") }, { PCI_DEV(NTB_HW_AMD_VENDOR_ID, NTB_HW_AMD_DEVICE_ID2), .driver_data = (uintptr_t)&amd_ntb_hw_info_list[1], - PCI_DESCR("AMD Non-Transparent Bridge") } + PCI_DESCR("AMD Non-Transparent Bridge") }, + { PCI_DEV(NTB_HW_HYGON_VENDOR_ID, NTB_HW_HYGON_DEVICE_ID1), + .driver_data = (uintptr_t)&amd_ntb_hw_info_list[0], + PCI_DESCR("Hygon Non-Transparent Bridge") } }; static unsigned g_amd_ntb_hw_debug_level; Modified: projects/clang1000-import/sys/dev/ntb/ntb_hw/ntb_hw_amd.h ============================================================================== --- projects/clang1000-import/sys/dev/ntb/ntb_hw/ntb_hw_amd.h Fri Feb 14 19:31:24 2020 (r357929) +++ projects/clang1000-import/sys/dev/ntb/ntb_hw/ntb_hw_amd.h Fri Feb 14 19:32:58 2020 (r357930) @@ -51,6 +51,9 @@ #define NTB_HW_AMD_DEVICE_ID1 0x145B #define NTB_HW_AMD_DEVICE_ID2 0x148B +#define NTB_HW_HYGON_VENDOR_ID 0x19D4 +#define NTB_HW_HYGON_DEVICE_ID1 0x145B + #define NTB_DEF_PEER_CNT 1 #define NTB_DEF_PEER_IDX 0 Modified: projects/clang1000-import/sys/dev/usb/input/ukbd.c ============================================================================== --- projects/clang1000-import/sys/dev/usb/input/ukbd.c Fri Feb 14 19:31:24 2020 (r357929) +++ projects/clang1000-import/sys/dev/usb/input/ukbd.c Fri Feb 14 19:32:58 2020 (r357930) @@ -109,27 +109,21 @@ SYSCTL_INT(_hw_usb_ukbd, OID_AUTO, pollrate, CTLFLAG_R #define UKBD_EMULATE_ATSCANCODE 1 #define UKBD_DRIVER_NAME "ukbd" -#define UKBD_NMOD 8 /* units */ -#define UKBD_NKEYCODE 6 /* units */ -#define UKBD_IN_BUF_SIZE (2*(UKBD_NMOD + (2*UKBD_NKEYCODE))) /* bytes */ -#define UKBD_IN_BUF_FULL ((UKBD_IN_BUF_SIZE / 2) - 1) /* bytes */ +#define UKBD_NKEYCODE 256 /* units */ +#define UKBD_IN_BUF_SIZE (4 * UKBD_NKEYCODE) /* scancodes */ +#define UKBD_IN_BUF_FULL ((UKBD_IN_BUF_SIZE / 2) - 1) /* scancodes */ #define UKBD_NFKEY (sizeof(fkey_tab)/sizeof(fkey_tab[0])) /* units */ #define UKBD_BUFFER_SIZE 64 /* bytes */ +#define UKBD_KEY_PRESSED(map, key) ({ \ + CTASSERT((key) >= 0 && (key) < UKBD_NKEYCODE); \ + ((map)[(key) / 64] & (1ULL << ((key) % 64))); \ +}) +#define MOD_EJECT 0x01 +#define MOD_FN 0x02 + struct ukbd_data { - uint16_t modifiers; -#define MOD_CONTROL_L 0x01 -#define MOD_CONTROL_R 0x10 -#define MOD_SHIFT_L 0x02 -#define MOD_SHIFT_R 0x20 -#define MOD_ALT_L 0x04 -#define MOD_ALT_R 0x40 -#define MOD_WIN_L 0x08 -#define MOD_WIN_R 0x80 -/* internal */ -#define MOD_EJECT 0x0100 -#define MOD_FN 0x0200 - uint8_t keycode[UKBD_NKEYCODE]; + uint64_t bitmap[howmany(UKBD_NKEYCODE, 64)]; }; enum { @@ -144,17 +138,10 @@ struct ukbd_softc { keymap_t sc_keymap; accentmap_t sc_accmap; fkeytab_t sc_fkeymap[UKBD_NFKEY]; + uint64_t sc_loc_key_valid[howmany(UKBD_NKEYCODE, 64)]; struct hid_location sc_loc_apple_eject; struct hid_location sc_loc_apple_fn; - struct hid_location sc_loc_ctrl_l; - struct hid_location sc_loc_ctrl_r; - struct hid_location sc_loc_shift_l; - struct hid_location sc_loc_shift_r; - struct hid_location sc_loc_alt_l; - struct hid_location sc_loc_alt_r; - struct hid_location sc_loc_win_l; - struct hid_location sc_loc_win_r; - struct hid_location sc_loc_events; + struct hid_location sc_loc_key[UKBD_NKEYCODE]; struct hid_location sc_loc_numlock; struct hid_location sc_loc_capslock; struct hid_location sc_loc_scrolllock; @@ -172,8 +159,7 @@ struct ukbd_softc { sbintime_t sc_co_basetime; int sc_delay; - uint32_t sc_ntime[UKBD_NKEYCODE]; - uint32_t sc_otime[UKBD_NKEYCODE]; + uint32_t sc_repeat_time; uint32_t sc_input[UKBD_IN_BUF_SIZE]; /* input buffer */ uint32_t sc_time_ms; uint32_t sc_composed_char; /* composed char code, if non-zero */ @@ -191,15 +177,6 @@ struct ukbd_softc { #define UKBD_FLAG_APPLE_EJECT 0x00000040 #define UKBD_FLAG_APPLE_FN 0x00000080 #define UKBD_FLAG_APPLE_SWAP 0x00000100 -#define UKBD_FLAG_CTRL_L 0x00000400 -#define UKBD_FLAG_CTRL_R 0x00000800 -#define UKBD_FLAG_SHIFT_L 0x00001000 -#define UKBD_FLAG_SHIFT_R 0x00002000 -#define UKBD_FLAG_ALT_L 0x00004000 -#define UKBD_FLAG_ALT_R 0x00008000 -#define UKBD_FLAG_WIN_L 0x00010000 -#define UKBD_FLAG_WIN_R 0x00020000 -#define UKBD_FLAG_EVENTS 0x00040000 #define UKBD_FLAG_NUMLOCK 0x00080000 #define UKBD_FLAG_CAPSLOCK 0x00100000 #define UKBD_FLAG_SCROLLLOCK 0x00200000 @@ -214,31 +191,23 @@ struct ukbd_softc { uint16_t sc_inputs; uint16_t sc_inputhead; uint16_t sc_inputtail; - uint16_t sc_modifiers; uint8_t sc_leds; /* store for async led requests */ uint8_t sc_iface_index; uint8_t sc_iface_no; uint8_t sc_id_apple_eject; uint8_t sc_id_apple_fn; - uint8_t sc_id_ctrl_l; - uint8_t sc_id_ctrl_r; - uint8_t sc_id_shift_l; - uint8_t sc_id_shift_r; - uint8_t sc_id_alt_l; - uint8_t sc_id_alt_r; - uint8_t sc_id_win_l; - uint8_t sc_id_win_r; - uint8_t sc_id_event; + uint8_t sc_id_loc_key[UKBD_NKEYCODE]; uint8_t sc_id_numlock; uint8_t sc_id_capslock; uint8_t sc_id_scrolllock; - uint8_t sc_id_events; uint8_t sc_kbd_id; + uint8_t sc_repeat_key; uint8_t sc_buffer[UKBD_BUFFER_SIZE]; }; +#define KEY_NONE 0x00 #define KEY_ERROR 0x01 #define KEY_PRESS 0 @@ -259,21 +228,6 @@ struct ukbd_softc { #define UKBD_UNLOCK() USB_MTX_UNLOCK(&Giant) #define UKBD_LOCK_ASSERT() USB_MTX_ASSERT(&Giant, MA_OWNED) -struct ukbd_mods { - uint32_t mask, key; -}; - -static const struct ukbd_mods ukbd_mods[UKBD_NMOD] = { - {MOD_CONTROL_L, 0xe0}, - {MOD_CONTROL_R, 0xe4}, - {MOD_SHIFT_L, 0xe1}, - {MOD_SHIFT_R, 0xe5}, - {MOD_ALT_L, 0xe2}, - {MOD_ALT_R, 0xe6}, - {MOD_WIN_L, 0xe3}, - {MOD_WIN_R, 0xe7}, -}; - *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-projects@freebsd.org Fri Feb 14 19:33:49 2020 Return-Path: Delivered-To: svn-src-projects@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 91E7323F736 for ; Fri, 14 Feb 2020 19:33:49 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48K3TT3s1yz45BB; Fri, 14 Feb 2020 19:33:49 +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 mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 64FE2B1D; Fri, 14 Feb 2020 19:33:49 +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 01EJXnSx029758; Fri, 14 Feb 2020 19:33:49 GMT (envelope-from dim@FreeBSD.org) Received: (from dim@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 01EJXm0c029755; Fri, 14 Feb 2020 19:33:48 GMT (envelope-from dim@FreeBSD.org) Message-Id: <202002141933.01EJXm0c029755@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: dim set sender to dim@FreeBSD.org using -f From: Dimitry Andric Date: Fri, 14 Feb 2020 19:33:48 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r357931 - in projects/clang1000-import: crypto/openssh crypto/openssh/contrib/redhat crypto/openssh/contrib/suse crypto/openssh/openbsd-compat crypto/openssh/regress crypto/openssh/regr... X-SVN-Group: projects X-SVN-Commit-Author: dim X-SVN-Commit-Paths: in projects/clang1000-import: crypto/openssh crypto/openssh/contrib/redhat crypto/openssh/contrib/suse crypto/openssh/openbsd-compat crypto/openssh/regress crypto/openssh/regress/misc/fuzz-harness cry... X-SVN-Commit-Revision: 357931 X-SVN-Commit-Repository: base 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.29 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, 14 Feb 2020 19:33:49 -0000 Author: dim Date: Fri Feb 14 19:33:48 2020 New Revision: 357931 URL: https://svnweb.freebsd.org/changeset/base/357931 Log: Merge ^/head r357921 through r357930. Added: projects/clang1000-import/crypto/openssh/regress/misc/fuzz-harness/authopt_fuzz.cc - copied unchanged from r357930, head/crypto/openssh/regress/misc/fuzz-harness/authopt_fuzz.cc projects/clang1000-import/crypto/openssh/regress/unittests/sshkey/testdata/rsa_1_sha1 - copied unchanged from r357930, head/crypto/openssh/regress/unittests/sshkey/testdata/rsa_1_sha1 projects/clang1000-import/crypto/openssh/regress/unittests/sshkey/testdata/rsa_1_sha1-cert.pub - copied unchanged from r357930, head/crypto/openssh/regress/unittests/sshkey/testdata/rsa_1_sha1-cert.pub projects/clang1000-import/crypto/openssh/regress/unittests/sshkey/testdata/rsa_1_sha1.pub - copied unchanged from r357930, head/crypto/openssh/regress/unittests/sshkey/testdata/rsa_1_sha1.pub projects/clang1000-import/crypto/openssh/regress/unittests/sshkey/testdata/rsa_1_sha512 - copied unchanged from r357930, head/crypto/openssh/regress/unittests/sshkey/testdata/rsa_1_sha512 projects/clang1000-import/crypto/openssh/regress/unittests/sshkey/testdata/rsa_1_sha512-cert.pub - copied unchanged from r357930, head/crypto/openssh/regress/unittests/sshkey/testdata/rsa_1_sha512-cert.pub projects/clang1000-import/crypto/openssh/regress/unittests/sshkey/testdata/rsa_1_sha512.pub - copied unchanged from r357930, head/crypto/openssh/regress/unittests/sshkey/testdata/rsa_1_sha512.pub Modified: projects/clang1000-import/crypto/openssh/.depend projects/clang1000-import/crypto/openssh/.skipped-commit-ids projects/clang1000-import/crypto/openssh/ChangeLog projects/clang1000-import/crypto/openssh/FREEBSD-upgrade projects/clang1000-import/crypto/openssh/Makefile.in projects/clang1000-import/crypto/openssh/PROTOCOL projects/clang1000-import/crypto/openssh/PROTOCOL.krl projects/clang1000-import/crypto/openssh/PROTOCOL.mux projects/clang1000-import/crypto/openssh/README projects/clang1000-import/crypto/openssh/auth-options.c projects/clang1000-import/crypto/openssh/auth-passwd.c projects/clang1000-import/crypto/openssh/auth.c projects/clang1000-import/crypto/openssh/auth2-hostbased.c projects/clang1000-import/crypto/openssh/auth2-pubkey.c projects/clang1000-import/crypto/openssh/authfile.c projects/clang1000-import/crypto/openssh/channels.c projects/clang1000-import/crypto/openssh/channels.h projects/clang1000-import/crypto/openssh/clientloop.c projects/clang1000-import/crypto/openssh/configure.ac projects/clang1000-import/crypto/openssh/contrib/redhat/openssh.spec projects/clang1000-import/crypto/openssh/contrib/suse/openssh.spec projects/clang1000-import/crypto/openssh/dh.c projects/clang1000-import/crypto/openssh/groupaccess.c projects/clang1000-import/crypto/openssh/kexgexs.c projects/clang1000-import/crypto/openssh/krl.c projects/clang1000-import/crypto/openssh/krl.h projects/clang1000-import/crypto/openssh/misc.c projects/clang1000-import/crypto/openssh/misc.h projects/clang1000-import/crypto/openssh/moduli projects/clang1000-import/crypto/openssh/mux.c projects/clang1000-import/crypto/openssh/myproposal.h projects/clang1000-import/crypto/openssh/nchan.c projects/clang1000-import/crypto/openssh/openbsd-compat/bsd-asprintf.c projects/clang1000-import/crypto/openssh/openbsd-compat/bsd-misc.c projects/clang1000-import/crypto/openssh/openbsd-compat/openssl-compat.c projects/clang1000-import/crypto/openssh/openbsd-compat/port-linux.c projects/clang1000-import/crypto/openssh/openbsd-compat/port-uw.c projects/clang1000-import/crypto/openssh/openbsd-compat/setproctitle.c projects/clang1000-import/crypto/openssh/openbsd-compat/xcrypt.c projects/clang1000-import/crypto/openssh/readconf.c projects/clang1000-import/crypto/openssh/readconf.h projects/clang1000-import/crypto/openssh/regress/README.regress projects/clang1000-import/crypto/openssh/regress/krl.sh projects/clang1000-import/crypto/openssh/regress/misc/fuzz-harness/Makefile projects/clang1000-import/crypto/openssh/regress/unittests/sshkey/common.c projects/clang1000-import/crypto/openssh/regress/unittests/sshkey/mktestdata.sh projects/clang1000-import/crypto/openssh/regress/unittests/sshkey/test_file.c projects/clang1000-import/crypto/openssh/regress/unittests/sshkey/test_sshkey.c projects/clang1000-import/crypto/openssh/regress/unittests/test_helper/fuzz.c projects/clang1000-import/crypto/openssh/regress/unittests/test_helper/test_helper.c projects/clang1000-import/crypto/openssh/sandbox-seccomp-filter.c projects/clang1000-import/crypto/openssh/scp.1 projects/clang1000-import/crypto/openssh/servconf.c projects/clang1000-import/crypto/openssh/servconf.h projects/clang1000-import/crypto/openssh/session.c projects/clang1000-import/crypto/openssh/session.h projects/clang1000-import/crypto/openssh/sftp-common.c projects/clang1000-import/crypto/openssh/sftp.1 projects/clang1000-import/crypto/openssh/sftp.c projects/clang1000-import/crypto/openssh/ssh-add.c projects/clang1000-import/crypto/openssh/ssh-keygen.1 projects/clang1000-import/crypto/openssh/ssh-keygen.c projects/clang1000-import/crypto/openssh/ssh.1 projects/clang1000-import/crypto/openssh/ssh.c projects/clang1000-import/crypto/openssh/ssh_config projects/clang1000-import/crypto/openssh/ssh_config.5 projects/clang1000-import/crypto/openssh/ssh_namespace.h projects/clang1000-import/crypto/openssh/sshconnect.c projects/clang1000-import/crypto/openssh/sshconnect2.c projects/clang1000-import/crypto/openssh/sshd.c projects/clang1000-import/crypto/openssh/sshd_config projects/clang1000-import/crypto/openssh/sshd_config.5 projects/clang1000-import/crypto/openssh/sshkey.c projects/clang1000-import/crypto/openssh/sshkey.h projects/clang1000-import/crypto/openssh/version.h projects/clang1000-import/etc/mtree/BSD.include.dist projects/clang1000-import/sys/sys/sysctl.h projects/clang1000-import/usr.bin/dtc/dtc.cc projects/clang1000-import/usr.bin/dtc/fdt.cc projects/clang1000-import/usr.bin/dtc/fdt.hh Directory Properties: projects/clang1000-import/ (props changed) projects/clang1000-import/crypto/openssh/ (props changed) Modified: projects/clang1000-import/crypto/openssh/.depend ============================================================================== --- projects/clang1000-import/crypto/openssh/.depend Fri Feb 14 19:32:58 2020 (r357930) +++ projects/clang1000-import/crypto/openssh/.depend Fri Feb 14 19:33:48 2020 (r357931) @@ -83,8 +83,8 @@ match.o: includes.h config.h defines.h platform.h open md5crypt.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/rmd160.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/getopt.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h misc.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/rmd160.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/getopt.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h xmalloc.h misc.h log.h ssh.h sshbuf.h ssherr.h moduli.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/rmd160.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/getopt.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h -monitor.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/rmd160.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/getopt.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h ./openbsd-compat/sys-tree.h openbsd-compat/sys-queue.h atomicio.h xmalloc.h ssh.h sshkey.h sshbuf.h hostfile.h auth.h auth-pam.h audit.h loginrec.h cipher.h cipher-chachapoly.h chacha.h poly1305.h cipher-aesctr.h -monitor.o: rijndael.h kex.h mac.h dh.h packet.h dispatch.h opacket.h auth-options.h sshpty.h channels.h session.h sshlogin.h canohost.h log.h misc.h servconf.h monitor.h monitor_wrap.h monitor_fdpass.h compat.h ssh2.h authfd.h match.h ssherr.h +monitor.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/rmd160.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/getopt.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h ./openbsd-compat/sys-tree.h openbsd-compat/sys-queue.h openbsd-compat/openssl-compat.h atomicio.h xmalloc.h ssh.h sshkey.h sshbuf.h hostfile.h auth.h auth-pam.h audit.h loginrec.h cipher.h cipher-chachapoly.h +monitor.o: chacha.h poly1305.h cipher-aesctr.h rijndael.h kex.h mac.h dh.h packet.h dispatch.h opacket.h auth-options.h sshpty.h channels.h session.h sshlogin.h canohost.h log.h misc.h servconf.h monitor.h monitor_wrap.h monitor_fdpass.h compat.h ssh2.h authfd.h match.h ssherr.h monitor_fdpass.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/rmd160.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/getopt.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h log.h monitor_fdpass.h monitor_wrap.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/rmd160.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/getopt.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h openbsd-compat/sys-queue.h xmalloc.h ssh.h sshbuf.h sshkey.h cipher.h cipher-chachapoly.h chacha.h poly1305.h cipher-aesctr.h rijndael.h kex.h mac.h hostfile.h auth.h auth-pam.h audit.h loginrec.h monitor_wrap.o: auth-options.h packet.h dispatch.h opacket.h log.h monitor.h monitor_wrap.h atomicio.h monitor_fdpass.h misc.h channels.h session.h servconf.h ssherr.h @@ -156,7 +156,7 @@ sshd.o: includes.h config.h defines.h platform.h openb sshd.o: poly1305.h cipher-aesctr.h rijndael.h digest.h sshkey.h kex.h mac.h myproposal.h authfile.h pathnames.h atomicio.h canohost.h hostfile.h auth.h auth-pam.h audit.h loginrec.h authfd.h msg.h channels.h session.h monitor.h monitor_wrap.h ssh-sandbox.h auth-options.h version.h ssherr.h ssherr.o: ssherr.h sshkey-xmss.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/rmd160.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/getopt.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h -sshkey.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/rmd160.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/getopt.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h crypto_api.h ssh2.h ssherr.h misc.h sshbuf.h cipher.h cipher-chachapoly.h chacha.h poly1305.h cipher-aesctr.h rijndael.h digest.h sshkey.h sshkey-xmss.h match.h xmss_fast.h +sshkey.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/rmd160.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/getopt.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h crypto_api.h ssh2.h ssherr.h misc.h sshbuf.h cipher.h cipher-chachapoly.h chacha.h poly1305.h cipher-aesctr.h rijndael.h digest.h sshkey.h sshkey-xmss.h match.h xmss_fast.h openbsd-compat/openssl-compat.h sshlogin.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/rmd160.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/getopt.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h sshlogin.h ssherr.h loginrec.h log.h sshbuf.h misc.h servconf.h sshpty.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/rmd160.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/getopt.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h sshpty.h log.h misc.h sshtty.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/rmd160.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/getopt.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h sshpty.h Modified: projects/clang1000-import/crypto/openssh/.skipped-commit-ids ============================================================================== --- projects/clang1000-import/crypto/openssh/.skipped-commit-ids Fri Feb 14 19:32:58 2020 (r357930) +++ projects/clang1000-import/crypto/openssh/.skipped-commit-ids Fri Feb 14 19:33:48 2020 (r357931) @@ -4,6 +4,7 @@ f2c9feb26963615c4fece921906cf72e248b61ee more Makefile fa728823ba21c4b45212750e1d3a4b2086fd1a62 more Makefile refactoring 1de0e85522051eb2ffa00437e1885e9d7b3e0c2e moduli update 814b2f670df75759e1581ecef530980b2b3d7e0f remove redundant make defs +04431e8e7872f49a2129bf080a6b73c19d576d40 moduli update Old upstream tree: Modified: projects/clang1000-import/crypto/openssh/ChangeLog ============================================================================== --- projects/clang1000-import/crypto/openssh/ChangeLog Fri Feb 14 19:32:58 2020 (r357930) +++ projects/clang1000-import/crypto/openssh/ChangeLog Fri Feb 14 19:33:48 2020 (r357931) @@ -1,3 +1,827 @@ +commit aede1c34243a6f7feae2fb2cb686ade5f9be6f3d +Author: Damien Miller +Date: Wed Oct 17 11:01:20 2018 +1100 + + Require OpenSSL 1.1.x series 1.1.0g or greater + + Previous versions have a bug with EVP_CipherInit() when passed a + NULL EVP_CIPHER, per https://github.com/openssl/openssl/pull/4613 + + ok dtucker@ + +commit 08300c211409c212e010fe2e2f2883e573a04ce2 +Author: Damien Miller +Date: Wed Oct 17 08:12:02 2018 +1100 + + unbreak compilation with --with-ssl-engine + + Missing last argument to OPENSSL_init_crypto() + +commit 1673274aee67ce0eb6f00578b6f3d2bcbd58f937 +Author: Darren Tucker +Date: Tue Oct 16 14:45:57 2018 +1100 + + Remove gcc spectre mitigation flags. + + Current impementions of the gcc spectre mitigation flags cause + miscompilations when combined with other flags and do not provide much + protection. Found by fweimer at redhat.com, ok djm@ + +commit 4e23deefd7959ef83c73ed9cce574423438f6133 +Author: Damien Miller +Date: Tue Oct 16 10:51:52 2018 +1100 + + Avoid deprecated OPENSSL_config when using 1.1.x + + OpenSSL 1.1.x soft-deprecated OPENSSL_config in favour of + OPENSSL_init_crypto; pointed out by Jakub Jelen + +commit 797cdd9c8468ed1125ce60d590ae3f1397866af4 +Author: Darren Tucker +Date: Fri Oct 12 16:58:47 2018 +1100 + + Don't avoid our *sprintf replacements. + + Don't let systems with broken printf(3) avoid our replacements + via asprintf(3)/vasprintf(3) calling libc internally. From djm@ + +commit e526127cbd2f8ad88fb41229df0c9b850c722830 +Author: Darren Tucker +Date: Fri Oct 12 16:43:35 2018 +1100 + + Check if snprintf understands %zu. + + If the platforms snprintf and friends don't understand %zu, use the + compat replacement. Prevents segfaults on those platforms. + +commit cf39f875191708c5f2f1a3c1c9019f106e74aea3 +Author: Damien Miller +Date: Fri Oct 12 09:48:05 2018 +1100 + + remove stale link, tweak + +commit a7205e68decf7de2005810853b4ce6b222b65e2a +Author: Damien Miller +Date: Fri Oct 12 09:47:20 2018 +1100 + + update version numbers ahead of release + +commit 1a4a9cf80f5b92b9d1dadd0bfa8867c04d195391 +Author: djm@openbsd.org +Date: Thu Oct 11 03:48:04 2018 +0000 + + upstream: don't send new-style rsa-sha2-*-cert-v01@openssh.com names to + + older OpenSSH that can't handle them. spotted by Adam Eijdenberg; ok dtucker + + OpenBSD-Commit-ID: 662bbc402e3d7c9b6c322806269698106a6ae631 + +commit dc8ddcdf1a95e011c263486c25869bb5bf4e30ec +Author: Damien Miller +Date: Thu Oct 11 13:08:59 2018 +1100 + + update depends + +commit 26841ac265603fd2253e6832e03602823dbb4022 +Author: Damien Miller +Date: Thu Oct 11 13:02:11 2018 +1100 + + some more duplicated key algorithm lines + + From Adam Eijdenberg + +commit 5d9d17603bfbb620195a4581025052832b4c4adc +Author: Damien Miller +Date: Thu Oct 11 11:56:36 2018 +1100 + + fix duplicated algorithm specification lines + + Spotted by Adam Eijdenberg + +commit ebfafd9c7a5b2a7fb515ee95dbe0e44e11d0a663 +Author: djm@openbsd.org +Date: Thu Oct 11 00:52:46 2018 +0000 + + upstream: typo in plain RSA algorithm counterpart names for + + certificates; spotted by Adam Eijdenberg; ok dtucker@ + + OpenBSD-Commit-ID: bfcdeb6f4fc9e7607f5096574c8f118f2e709e00 + +commit c29b111e7d87c2324ff71c80653dd8da168c13b9 +Author: Damien Miller +Date: Thu Oct 11 11:29:35 2018 +1100 + + check pw_passwd != NULL here too + + Again, for systems with broken NIS implementations. + + Prompted by coolbugcheckers AT gmail.com + +commit fe8e8f349a553ef4c567acd418aac769a82b7729 +Author: Damien Miller +Date: Thu Oct 11 11:03:15 2018 +1100 + + check for NULL return from shadow_pw() + + probably unreachable on this platform; pointed out by + coolbugcheckers AT gmail.com + +commit acc59cbe7a1fb169e1c3caba65a39bd74d6e030d +Author: deraadt@openbsd.org +Date: Wed Oct 10 16:43:49 2018 +0000 + + upstream: introducing openssh 7.9 + + OpenBSD-Commit-ID: 42d526a9fe01a40dd299ac58014d3349adf40e25 + +commit 12731158c75c8760a8bea06350eeb3e763fe1a07 +Author: Damien Miller +Date: Thu Oct 11 10:29:29 2018 +1100 + + supply callback to PEM_read_bio_PrivateKey + + OpenSSL 1.1.0i has changed the behaviour of their PEM APIs, + so that empty passphrases are interpreted differently. This + probabalistically breaks loading some keys, because the PEM format + is terrible and doesn't include a proper MAC. + + Avoid this by providing a basic callback to avoid passing empty + passphrases to OpenSSL in cases where one is required. + + Based on patch from Jakub Jelen in bz#2913; ok dtucker@ + +commit d1d301a1dd5d6cc3a9ed93ab7ab09dda4cb456e0 +Author: Damien Miller +Date: Wed Oct 10 14:57:00 2018 +1100 + + in pick_salt() avoid dereference of NULL passwords + + Apparently some NIS implementations can leave pw->pw_passwd (or the + shadow equivalent) NULL. + + bz#2909; based on patch from Todd Eigenschink + +commit edbb6febccee084d212fdc0cb05b40cb1c646ab1 +Author: djm@openbsd.org +Date: Tue Oct 9 05:42:23 2018 +0000 + + upstream: Treat all PEM_read_bio_PrivateKey() errors when a passphrase + + is specified as "incorrect passphrase" instead of trying to choose between + that and "invalid format". + + libcrypto can return ASN1 parsing errors rather than the expected + decrypt error in certain infrequent cases when trying to decrypt/parse + PEM private keys when supplied with an invalid passphrase. + + Report and repro recipe from Thomas Deutschmann in bz#2901 + + ok markus@ + + OpenBSD-Commit-ID: b1d4cd92395f9743f81c0d23aab2524109580870 + +commit 2581333d564d8697837729b3d07d45738eaf5a54 +Author: naddy@openbsd.org +Date: Fri Oct 5 14:26:09 2018 +0000 + + upstream: Support using service names for port numbers. + + * Try to resolve a port specification with getservbyname(3) if a + numeric conversion fails. + * Make the "Port" option in ssh_config handle its argument as a + port rather than a plain integer. + + ok dtucker@ deraadt@ + + OpenBSD-Commit-ID: e7f03633133205ab3dfbc67f9df7475fabae660d + +commit e0d6501e86734c48c8c503f81e1c0926e98c5c4c +Author: djm@openbsd.org +Date: Thu Oct 4 07:47:35 2018 +0000 + + upstream: when the peer sends a channel-close message, make sure we + + close the local extended read fd (stderr) along with the regular read fd + (stdout). Avoids weird stuck processed in multiplexing mode. + + Report and analysis by Nelson Elhage and Geoffrey Thomas in bz#2863 + + ok dtucker@ markus@ + + OpenBSD-Commit-ID: a48a2467fe938de4de69d2e7193d5fa701f12ae9 + +commit 6f1aabb128246f445e33b8844fad3de9cb1d18cb +Author: djm@openbsd.org +Date: Thu Oct 4 01:04:52 2018 +0000 + + upstream: factor out channel status formatting from + + channel_open_message() so we can use it in other debug messages + + OpenBSD-Commit-ID: 9c3903ca28fcabad57f566c9d0045b41ab7d52ba + +commit f1dd179e122bdfdb7ca3072d9603607740efda05 +Author: djm@openbsd.org +Date: Thu Oct 4 00:10:11 2018 +0000 + + upstream: include a little more information about the status and + + disposition of channel's extended (stderr) fd; makes debugging some things a + bit easier. No behaviour change. + + OpenBSD-Commit-ID: 483eb6467dc7d5dbca8eb109c453e7a43075f7ce + +commit 2d1428b11c8b6f616f070f2ecedce12328526944 +Author: djm@openbsd.org +Date: Thu Oct 4 00:04:41 2018 +0000 + + upstream: explicit_bzero here to be consistent with other kex*.c; + + report from coolbugcheckers AT gmail.com + + OpenBSD-Commit-ID: a90f146c5b5f5b1408700395e394f70b440856cb + +commit 5eff5b858e717e901e6af6596306a114de9f79f2 +Author: djm@openbsd.org +Date: Wed Oct 3 06:38:35 2018 +0000 + + upstream: Allow ssh_config IdentityAgent directive to accept + + environment variable names as well as explicit paths. ok dtucker@ + + OpenBSD-Commit-ID: 2f0996e103876c53d8c9dd51dcce9889d700767b + +commit a46ac4d86b25414d78b632e8173578b37e5f8a83 +Author: djm@openbsd.org +Date: Tue Oct 2 12:51:58 2018 +0000 + + upstream: mention INFO@openssh.com for sending SIGINFO + + OpenBSD-Commit-ID: 132471eeb0df658210afd27852fe65131b26e900 + +commit ff3a411cae0b484274b7900ef52ff4dad3e12876 +Author: Damien Miller +Date: Tue Oct 2 22:49:40 2018 +1000 + + only support SIGINFO on systems with SIGINFO + +commit cd98925c6405e972dc9f211afc7e75e838abe81c +Author: djm@openbsd.org +Date: Tue Oct 2 12:40:07 2018 +0000 + + upstream: Add server support for signalling sessions via the SSH + + channel/ session protocol. Signalling is only supported to sesssions that are + not subsystems and were not started with a forced command. + + Long requested in bz#1424 + + Based on a patch from markus@ and reworked by dtucker@; + ok markus@ dtucker@ + + OpenBSD-Commit-ID: 4bea826f575862eaac569c4bedd1056a268be1c3 + +commit dba50258333f2604a87848762af07ba2cc40407a +Author: djm@openbsd.org +Date: Wed Sep 26 07:32:44 2018 +0000 + + upstream: remove big ugly TODO comment from start of file. Some of + + the mentioned tasks are obsolete and, of the remainder, most are already + captured in PROTOCOL.mux where they better belong + + OpenBSD-Commit-ID: 16d9d76dee42a5bb651c9d6740f7f0ef68aeb407 + +commit 92b61a38ee9b765f5049f03cd1143e13f3878905 +Author: djm@openbsd.org +Date: Wed Sep 26 07:30:05 2018 +0000 + + upstream: Document mux proxy mode; added by Markus in openssh-7.4 + + Also add a little bit of information about the overall packet format + + OpenBSD-Commit-ID: bdb6f6ea8580ef96792e270cae7857786ad84a95 + +commit 9d883a1ce4f89b175fd77405ff32674620703fb2 +Author: djm@openbsd.org +Date: Wed Sep 26 01:48:57 2018 +0000 + + upstream: s/process_mux_master/mux_master_process/ in mux master + + function names, + + Gives better symmetry with the existing mux_client_*() names and makes + it more obvious when a message comes from the master vs client (they + are interleved in ControlMaster=auto mode). + + no functional change beyond prefixing a could of log messages with + __func__ where they were previously lacking. + + OpenBSD-Commit-ID: b01f7c3fdf92692e1713a822a89dc499333daf75 + +commit c2fa53cd6462da82d3a851dc3a4a3f6b920337c8 +Author: Darren Tucker +Date: Sat Sep 22 14:41:24 2018 +1000 + + Remove unused variable in _ssh_compat_fflush. + +commit d1b3540c21212624af907488960d703c7d987b42 +Author: Darren Tucker +Date: Thu Sep 20 18:08:43 2018 +1000 + + Import updated moduli. + +commit b5e412a8993ad17b9e1141c78408df15d3d987e1 +Author: djm@openbsd.org +Date: Fri Sep 21 12:46:22 2018 +0000 + + upstream: Allow ssh_config ForwardX11Timeout=0 to disable the + + timeout and allow X11 connections in untrusted mode indefinitely. ok dtucker@ + + OpenBSD-Commit-ID: ea1ceed3f540b48e5803f933e59a03b20db10c69 + +commit cb24d9fcc901429d77211f274031653476864ec6 +Author: djm@openbsd.org +Date: Fri Sep 21 12:23:17 2018 +0000 + + upstream: when compiled with GSSAPI support, cache supported method + + OIDs by calling ssh_gssapi_prepare_supported_oids() regardless of whether + GSSAPI authentication is enabled in the main config. + + This avoids sandbox violations for configurations that enable GSSAPI + auth later, e.g. + + Match user djm + GSSAPIAuthentication yes + + bz#2107; ok dtucker@ + + OpenBSD-Commit-ID: a5dd42d87c74e27cfb712b15b0f97ab20e0afd1d + +commit bbc8af72ba68da014d4de6e21a85eb5123384226 +Author: djm@openbsd.org +Date: Fri Sep 21 12:20:12 2018 +0000 + + upstream: In sshkey_in_file(), ignore keys that are considered for + + being too short (i.e. SSH_ERR_KEY_LENGTH). These keys will not be considered + to be "in the file". This allows key revocation lists to contain short keys + without the entire revocation list being considered invalid. + + bz#2897; ok dtucker + + OpenBSD-Commit-ID: d9f3d857d07194a42ad7e62889a74dc3f9d9924b + +commit 383a33d160cefbfd1b40fef81f72eadbf9303a66 +Author: djm@openbsd.org +Date: Fri Sep 21 03:11:36 2018 +0000 + + upstream: Treat connections with ProxyJump specified the same as ones + + with a ProxyCommand set with regards to hostname canonicalisation (i.e. don't + try to canonicalise the hostname unless CanonicalizeHostname is set to + 'always'). + + Patch from Sven Wegener via bz#2896 + + OpenBSD-Commit-ID: 527ff501cf98bf65fb4b29ed0cb847dda10f4d37 + +commit 0cbed248ed81584129b67c348dbb801660f25a6a +Author: djm@openbsd.org +Date: Thu Sep 20 23:40:16 2018 +0000 + + upstream: actually make CASignatureAlgorithms available as a config + + option + + OpenBSD-Commit-ID: 93fa7ff58314ed7b1ab7744090a6a91232e6ae52 + +commit 62528870c0ec48cd86a37dd7320fb85886c3e6ee +Author: dtucker@openbsd.org +Date: Thu Sep 20 08:07:03 2018 +0000 + + upstream: Import updated moduli. + + OpenBSD-Commit-ID: 04431e8e7872f49a2129bf080a6b73c19d576d40 + +commit e6933a2ffa0659d57f3c7b7c457b2c62b2a84613 +Author: jmc@openbsd.org +Date: Thu Sep 20 06:58:48 2018 +0000 + + upstream: reorder CASignatureAlgorithms, and add them to the + + various -o lists; ok djm + + OpenBSD-Commit-ID: ecb88baecc3c54988b4d1654446ea033da359288 + +commit aa083aa9624ea7b764d5a81c4c676719a1a3e42b +Author: djm@openbsd.org +Date: Thu Sep 20 03:31:49 2018 +0000 + + upstream: fix "ssh -Q sig" to show correct signature algorithm list + + (it was erroneously showing certificate algorithms); prompted by markus@ + + OpenBSD-Commit-ID: 1cdee002f2f0c21456979deeb887fc889afb154d + +commit ecac7e1f7add6b28874959a11f2238d149dc2c07 +Author: djm@openbsd.org +Date: Thu Sep 20 03:30:44 2018 +0000 + + upstream: add CASignatureAlgorithms option for the client, allowing + + it to specify which signature algorithms may be used by CAs when signing + certificates. Useful if you want to ban RSA/SHA1; ok markus@ + + OpenBSD-Commit-ID: 9159e5e9f67504829bf53ff222057307a6e3230f + +commit 86e5737c39153af134158f24d0cab5827cbd5852 +Author: djm@openbsd.org +Date: Thu Sep 20 03:28:06 2018 +0000 + + upstream: Add sshd_config CASignatureAlgorithms option to allow + + control over which signature algorithms a CA may use when signing + certificates. In particular, this allows a sshd to ban certificates signed + with RSA/SHA1. + + ok markus@ + + OpenBSD-Commit-ID: b05c86ef8b52b913ed48d54a9b9c1a7714d96bac + +commit f80e68ea7d62e2dfafc12f1a60ab544ae4033a0f +Author: djm@openbsd.org +Date: Wed Sep 19 02:03:02 2018 +0000 + + upstream: Make "ssh-add -q" do what it says on the tin: silence + + output from successful operations. + + Based on patch from Thijs van Dijk; ok dtucker@ deraadt@ + + OpenBSD-Commit-ID: c4f754ecc055c10af166116ce7515104aa8522e1 + +commit 5e532320e9e51de720d5f3cc2596e95d29f6e98f +Author: millert@openbsd.org +Date: Mon Sep 17 15:40:14 2018 +0000 + + upstream: When choosing a prime from the moduli file, avoid + + re-using the linenum variable for something that is not a line number to + avoid the confusion that resulted in the bug in rev. 1.64. This also lets us + pass the actual linenum to parse_prime() so the error messages include the + correct line number. OK markus@ some time ago. + + OpenBSD-Commit-ID: 4d8e5d3e924d6e8eb70053e3defa23c151a00084 + +commit cce8cbe0ed7d1ba3a575310e0b63c193326ae616 +Author: Darren Tucker +Date: Sat Sep 15 19:44:06 2018 +1000 + + Fix openssl-1.1 fallout for --without-openssl. + + ok djm@ + +commit 149519b9f201dac755f3cba4789f4d76fecf0ee1 +Author: Damien Miller +Date: Sat Sep 15 19:37:48 2018 +1000 + + add futex(2) syscall to seccomp sandbox + + Apparently needed for some glibc/openssl combinations. + + Patch from Arkadiusz Miśkiewicz + +commit 4488ae1a6940af704c4dbf70f55bf2f756a16536 +Author: Damien Miller +Date: Sat Sep 15 19:36:55 2018 +1000 + + really add source for authopt_fuzz this time + +commit 9201784b4a257c8345fbd740bcbdd70054885707 +Author: Damien Miller +Date: Sat Sep 15 19:35:40 2018 +1000 + + remove accidentally checked-in authopt_fuzz binary + +commit beb9e522dc7717df08179f9e59f36b361bfa14ab +Author: djm@openbsd.org +Date: Fri Sep 14 05:26:27 2018 +0000 + + upstream: second try, deals properly with missing and private-only + + Use consistent format in debug log for keys readied, offered and + received during public key authentication. + + This makes it a little easier to see what is going on, as each message + now contains (where available) the key filename, its type and fingerprint, + and whether the key is hosted in an agent or a token. + + OpenBSD-Commit-ID: f1c6a8e9cfc4e108c359db77f24f9a40e1e25ea7 + +commit 6bc5a24ac867bfdc3ed615589d69ac640f51674b +Author: Damien Miller +Date: Fri Sep 14 15:16:34 2018 +1000 + + fuzzer harness for authorized_keys option parsing + +commit 6c8b82fc6929b6a9a3f645151b6ec26c5507d9ef +Author: djm@openbsd.org +Date: Fri Sep 14 04:44:04 2018 +0000 + + upstream: revert following; deals badly with agent keys + + revision 1.285 + date: 2018/09/14 04:17:12; author: djm; state: Exp; lines: +47 -26; commitid: lflGFcNb2X2HebaK; + Use consistent format in debug log for keys readied, offered and + received during public key authentication. + + This makes it a little easier to see what is going on, as each message + now contains the key filename, its type and fingerprint, and whether + the key is hosted in an agent or a token. + + OpenBSD-Commit-ID: e496bd004e452d4b051f33ed9ae6a54ab918f56d + +commit 6da046f9c3374ce7e269ded15d8ff8bc45017301 +Author: djm@openbsd.org +Date: Fri Sep 14 04:17:44 2018 +0000 + + upstream: garbage-collect moribund ssh_new_private() API. + + OpenBSD-Commit-ID: 7c05bf13b094093dfa01848a9306c82eb6e95f6c + +commit 1f24ac5fc05252ceb1c1d0e8cab6a283b883c780 +Author: djm@openbsd.org +Date: Fri Sep 14 04:17:12 2018 +0000 + + upstream: Use consistent format in debug log for keys readied, + + offered and received during public key authentication. + + This makes it a little easier to see what is going on, as each message + now contains the key filename, its type and fingerprint, and whether + the key is hosted in an agent or a token. + + OpenBSD-Commit-ID: 2a01d59285a8a7e01185bb0a43316084b4f06a1f + +commit 488c9325bb7233e975dbfbf89fa055edc3d3eddc +Author: millert@openbsd.org +Date: Thu Sep 13 15:23:32 2018 +0000 + + upstream: Fix warnings caused by user_from_uid() and group_from_gid() + + now returning const char *. + + OpenBSD-Commit-ID: b5fe571ea77cfa7b9035062829ab05eb87d7cc6f + +commit 0aa1f230846ebce698e52051a107f3127024a05a +Author: Damien Miller +Date: Fri Sep 14 10:31:47 2018 +1000 + + allow SIGUSR1 as synonym for SIGINFO + + Lets users on those unfortunate operating systems that lack SIGINFO + still be able to obtain progress information from unit tests :) + +commit d64e78526596f098096113fcf148216798c327ff +Author: Damien Miller +Date: Thu Sep 13 19:05:48 2018 +1000 + + add compat header + +commit a3fd8074e2e2f06602e25618721f9556c731312c +Author: djm@openbsd.org +Date: Thu Sep 13 09:03:20 2018 +0000 + + upstream: missed a bit of openssl-1.0.x API in this unittest + + OpenBSD-Regress-ID: a73a54d7f7381856a3f3a2d25947bee7a9a5dbc9 + +commit 86e0a9f3d249d5580390daf58e015e68b01cef10 +Author: djm@openbsd.org +Date: Thu Sep 13 05:06:51 2018 +0000 + + upstream: use only openssl-1.1.x API here too + + OpenBSD-Regress-ID: ae877064597c349954b1b443769723563cecbc8f + +commit 48f54b9d12c1c79fba333bc86d455d8f4cda8cfc +Author: Damien Miller +Date: Thu Sep 13 12:13:50 2018 +1000 + + adapt -portable to OpenSSL 1.1x API + + Polyfill missing API with replacement functions extracted from LibreSSL + +commit 86112951d63d48839f035b5795be62635a463f99 +Author: Damien Miller +Date: Thu Sep 13 12:12:42 2018 +1000 + + forgot to stage these test files in commit d70d061 + +commit 482d23bcacdd3664f21cc82a5135f66fc598275f +Author: djm@openbsd.org +Date: Thu Sep 13 02:08:33 2018 +0000 + + upstream: hold our collective noses and use the openssl-1.1.x API in + + OpenSSH; feedback and ok tb@ jsing@ markus@ + + OpenBSD-Commit-ID: cacbcac87ce5da0d3ca7ef1b38a6f7fb349e4417 + +commit d70d061828730a56636ab6f1f24fe4a8ccefcfc1 +Author: djm@openbsd.org +Date: Wed Sep 12 01:36:45 2018 +0000 + + upstream: Include certs with multiple RSA signature variants in + + test data Ensure that cert->signature_key is populated correctly + + OpenBSD-Regress-ID: 56e68f70fe46cb3a193ca207385bdb301fd6603a + +commit f803b2682992cfededd40c91818b653b5d923ef5 +Author: djm@openbsd.org +Date: Wed Sep 12 01:23:48 2018 +0000 + + upstream: test revocation by explicit hash and by fingerprint + + OpenBSD-Regress-ID: 079c18a9ab9663f4af419327c759fc1e2bc78fd8 + +commit 2de78bc7da70e1338b32feeefcc6045cf49efcd4 +Author: djm@openbsd.org +Date: Wed Sep 12 01:22:43 2018 +0000 + + upstream: s/sshkey_demote/sshkey_from_private/g + + OpenBSD-Regress-ID: 782bde7407d94a87aa8d1db7c23750e09d4443c4 + +commit 41c115a5ea1cb79a6a3182773c58a23f760e8076 +Author: Damien Miller +Date: Wed Sep 12 16:50:01 2018 +1000 + + delete the correct thing; kexfuzz binary + +commit f0fcd7e65087db8c2496f13ed39d772f8e38b088 +Author: djm@openbsd.org +Date: Wed Sep 12 06:18:59 2018 +0000 + + upstream: fix edit mistake; spotted by jmc@ + + OpenBSD-Commit-ID: dd724e1c52c9d6084f4cd260ec7e1b2b138261c6 + +commit 4cc259bac699f4d2a5c52b92230f9e488c88a223 +Author: djm@openbsd.org +Date: Wed Sep 12 01:34:02 2018 +0000 + + upstream: add SSH_ALLOWED_CA_SIGALGS - the default list of + + signature algorithms that are allowed for CA signatures. Notably excludes + ssh-dsa. + + ok markus@ + + OpenBSD-Commit-ID: 1628e4181dc8ab71909378eafe5d06159a22deb4 + +commit ba9e788315b1f6a350f910cb2a9e95b2ce584e89 +Author: djm@openbsd.org +Date: Wed Sep 12 01:32:54 2018 +0000 + + upstream: add sshkey_check_cert_sigtype() that checks a + + cert->signature_type against a supplied whitelist; ok markus + + OpenBSD-Commit-ID: caadb8073292ed7a9535e5adc067d11d356d9302 + +commit a70fd4ad7bd9f2ed223ff635a3d41e483057f23b +Author: djm@openbsd.org +Date: Wed Sep 12 01:31:30 2018 +0000 + + upstream: add cert->signature_type field and keep it in sync with + + certificate signature wrt loading and certification operations; ok markus@ + + OpenBSD-Commit-ID: e8b8b9f76b66707a0cd926109c4383db8f664df3 + +commit 357128ac48630a9970e3af0e6ff820300a28da47 +Author: djm@openbsd.org +Date: Wed Sep 12 01:30:10 2018 +0000 + + upstream: Add "ssh -Q sig" to allow listing supported signature + + algorithms ok markus@ + + OpenBSD-Commit-ID: 7a8c6eb6c249dc37823ba5081fce64876d10fe2b + +commit 9405c6214f667be604a820c6823b27d0ea77937d +Author: djm@openbsd.org +Date: Wed Sep 12 01:21:34 2018 +0000 + + upstream: allow key revocation by SHA256 hash and allow ssh-keygen + + to create KRLs using SHA256/base64 key fingerprints; ok markus@ + + OpenBSD-Commit-ID: a0590fd34e7f1141f2873ab3acc57442560e6a94 + +commit 50e2687ee0941c0ea216d6ffea370ffd2c1f14b9 +Author: djm@openbsd.org +Date: Wed Sep 12 01:19:12 2018 +0000 + + upstream: log certificate fingerprint in authentication + + success/failure message (previously we logged only key ID and CA key + fingerprint). + + ok markus@ + + OpenBSD-Commit-ID: a8ef2d172b7f1ddbcce26d6434b2de6d94f6c05d + +commit de37ca909487d23e5844aca289b3f5e75d3f1e1f +Author: dtucker@openbsd.org +Date: Fri Sep 7 04:26:56 2018 +0000 + + upstream: Add FALLTHROUGH comments where appropriate. Patch from + + jjelen at redhat via bz#2687. + + OpenBSD-Commit-ID: c48eb457be697a19d6d2950c6d0879f3ccc851d3 + +commit 247766cd3111d5d8c6ea39833a3257ca8fb820f2 +Author: djm@openbsd.org +Date: Fri Sep 7 01:42:54 2018 +0000 + + upstream: ssh -MM requires confirmation for all operations that + + change the multiplexing state, not just new sessions. + + mention that confirmation is checked via ssh-askpass + + OpenBSD-Commit-ID: 0f1b45551ebb9cc5c9a4fe54ad3b23ce90f1f5c2 + +commit db8bb80e3ac1bcb3e1305d846cd98c6b869bf03f +Author: mestre@openbsd.org +Date: Tue Aug 28 12:25:53 2018 +0000 + + upstream: fix misplaced parenthesis inside if-clause. it's harmless + + and the only issue is showing an unknown error (since it's not defined) + during fatal(), if it ever an error occurs inside that condition. + + OK deraadt@ markus@ djm@ + + OpenBSD-Commit-ID: acb0a8e6936bfbe590504752d01d1d251a7101d8 + +commit 086cc614f550b7d4f100c95e472a6b6b823938ab +Author: mestre@openbsd.org +Date: Tue Aug 28 12:17:45 2018 +0000 + + upstream: fix build with DEBUG_PK enabled + + OK dtucker@ + + OpenBSD-Commit-ID: ec1568cf27726e9638a0415481c20c406e7b441c + +commit 2678833013e97f8b18f09779b7f70bcbf5eb2ab2 +Author: Darren Tucker +Date: Fri Sep 7 14:41:53 2018 +1000 + + Handle ngroups>_SC_NGROUPS_MAX. + + Based on github pull request #99 from Darren Maffat at Oracle: Solaris' + getgrouplist considers _SC_NGROUPS_MAX more of a guideline and can return + a larger number of groups. In this case, retry getgrouplist with a + larger array and defer allocating groups_byname. ok djm@ + +commit 039bf2a81797b8f3af6058d34005a4896a363221 +Author: Darren Tucker +Date: Fri Sep 7 14:06:57 2018 +1000 + + Initial len for the fmt=NULL case. + + Patch from jjelen at redhat via bz#2687. (OpenSSH never calls + setproctitle with a null format so len is always initialized). + +commit ea9c06e11d2e8fb2f4d5e02f8a41e23d2bd31ca9 +Author: Darren Tucker +Date: Fri Sep 7 14:01:39 2018 +1000 + + Include stdlib.h. + + Patch from jjelen at redhat via bz#2687. + +commit 9617816dbe73ec4d65075f4d897443f63a97c87f +Author: Damien Miller +Date: Mon Aug 27 13:08:01 2018 +1000 + + document some more regress control env variables + + Specifically SKIP_UNIT, USE_VALGRING and LTESTS. Sort the list of + environment variables. + + Based on patch from Jakub Jelen + commit 71508e06fab14bc415a79a08f5535ad7bffa93d9 Author: Damien Miller Date: Thu Aug 23 15:41:42 2018 +1000 @@ -8880,862 +9704,3 @@ Date: Thu Oct 20 03:42:09 2016 +1100 Remote channels .orig and .rej files. These files were incorrectly added during an OpenBSD sync. - -commit 246aa842a4ad368d8ce030495e657ef3a0e1f95c -Author: dtucker@openbsd.org -Date: Tue Oct 18 17:32:54 2016 +0000 - - upstream commit - - Remove channel_input_port_forward_request(); the only caller - was the recently-removed SSH1 server code so it's now dead code. ok markus@ - - Upstream-ID: 05453983230a1f439562535fec2818f63f297af9 - -commit 2c6697c443d2c9c908260eed73eb9143223e3ec9 -Author: millert@openbsd.org -Date: Tue Oct 18 12:41:22 2016 +0000 - - upstream commit - - Install a signal handler for tty-generated signals and - wait for the ssh child to suspend before suspending sftp. This lets ssh - restore the terminal mode as needed when it is suspended at the password - prompt. OK dtucker@ - - Upstream-ID: a31c1f42aa3e2985dcc91e46e6a17bd22e372d69 - -commit fd2a8f1033fa2316fff719fd5176968277560158 -Author: jmc@openbsd.org -Date: Sat Oct 15 19:56:25 2016 +0000 - - upstream commit - - various formatting fixes, specifically removing Dq; - - Upstream-ID: 81e85df2b8e474f5f93d66e61d9a4419ce87347c - -commit 8f866d8a57b9a2dc5dd04504e27f593b551618e3 -Author: Darren Tucker -Date: Wed Oct 19 03:26:09 2016 +1100 - - Import readpassphrase.c rev 1.26. - - Author: miller@openbsd.org: - Avoid generate SIGTTOU when restoring the terminal mode. If we get - SIGTTOU it means the process is not in the foreground process group - which, in most cases, means that the shell has taken control of the tty. - Requiring the user the fg the process in this case doesn't make sense - and can result in both SIGTSTP and SIGTTOU being sent which can lead to - the process being suspended again immediately after being brought into - the foreground. - -commit f901440cc844062c9bab0183d133f7ccc58ac3a5 -Author: Darren Tucker -Date: Wed Oct 19 03:23:16 2016 +1100 - - Import readpassphrase.c rev 1.25. - - Wrap so internal calls go direct and - readpassphrase is weak. - - (DEF_WEAK is a no-op in portable.) - -commit 032147b69527e5448a511049b2d43dbcae582624 -Author: Darren Tucker -Date: Sat Oct 15 05:51:12 2016 +1100 - - Move DEF_WEAK into defines.h. - - As well pull in more recent changes from OpenBSD these will start to - arrive so put it where the definition is shared. - -commit e0259a82ddd950cfb109ddee86fcebbc09c6bd04 -Author: Darren Tucker -Date: Sat Oct 15 04:34:46 2016 +1100 - - Remove do_pam_set_tty which is dead code. - - The callers of do_pam_set_tty were removed in 2008, so this is now dead - code. bz#2604, pointed out by jjelen at redhat.com. - -commit ca04de83f210959ad2ed870a30ba1732c3ae00e3 -Author: Damien Miller -Date: Thu Oct 13 18:53:43 2016 +1100 - - unbreak principals-command test - - Undo inconsistetly updated variable name. - -commit 1723ec92eb485ce06b4cbf49712d21975d873909 -Author: djm@openbsd.org -Date: Tue Oct 11 21:49:54 2016 +0000 - - upstream commit - - fix the KEX fuzzer - the previous method of obtaining the - packet contents was broken. This now uses the new per-packet input hook, so - it sees exact post-decrypt packets and doesn't have to pass packet integrity - checks. ok markus@ - - Upstream-Regress-ID: 402fb6ffabd97de590e8e57b25788949dce8d2fd - -commit 09f997893f109799cddbfce6d7e67f787045cbb2 -Author: natano@openbsd.org -Date: Thu Oct 6 09:31:38 2016 +0000 - - upstream commit - - Move USER out of the way to unbreak the BUILDUSER - mechanism. ok tb - - Upstream-Regress-ID: 74ab9687417dd071d62316eaadd20ddad1d5af3c - -commit 3049a012c482a7016f674db168f23fd524edce27 -Author: bluhm@openbsd.org -Date: Fri Sep 30 11:55:20 2016 +0000 - - upstream commit - - In ssh tests set REGRESS_FAIL_EARLY with ?= so that the - environment can change it. OK djm@ - - Upstream-Regress-ID: 77bcb50e47b68c7209c7f0a5a020d73761e5143b - -commit 39af7b444db28c1cb01b7ea468a4f574a44f375b -Author: djm@openbsd.org -Date: Tue Oct 11 21:47:45 2016 +0000 - - upstream commit - - Add a per-packet input hook that is called with the - decrypted packet contents. This will be used for fuzzing; ok markus@ - - Upstream-ID: a3221cee6b1725dd4ae1dd2c13841b4784cb75dc - -commit ec165c392ca54317dbe3064a8c200de6531e89ad *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-projects@freebsd.org Sat Feb 15 14:53:27 2020 Return-Path: Delivered-To: svn-src-projects@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 4585923DCD2 for ; Sat, 15 Feb 2020 14:53:27 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48KYCW14FKz4LFB; Sat, 15 Feb 2020 14:53:27 +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 mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 202D1E916; Sat, 15 Feb 2020 14:53:27 +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 01FErRMQ030149; Sat, 15 Feb 2020 14:53:27 GMT (envelope-from dim@FreeBSD.org) Received: (from dim@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 01FErQ3J030148; Sat, 15 Feb 2020 14:53:26 GMT (envelope-from dim@FreeBSD.org) Message-Id: <202002151453.01FErQ3J030148@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: dim set sender to dim@FreeBSD.org using -f From: Dimitry Andric Date: Sat, 15 Feb 2020 14:53:26 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r357963 - in projects/clang1000-import: . share/mk X-SVN-Group: projects X-SVN-Commit-Author: dim X-SVN-Commit-Paths: in projects/clang1000-import: . share/mk X-SVN-Commit-Revision: 357963 X-SVN-Commit-Repository: base 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.29 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, 15 Feb 2020 14:53:27 -0000 Author: dim Date: Sat Feb 15 14:53:26 2020 New Revision: 357963 URL: https://svnweb.freebsd.org/changeset/base/357963 Log: Tentatively apply D23691, which takes LINKER_FREEBSD_VERSION from the numerical field after the dash. This avoids re-bootstrapping of the linker, when only the git commit hash changes. Modified: projects/clang1000-import/Makefile.inc1 projects/clang1000-import/share/mk/bsd.linker.mk Modified: projects/clang1000-import/Makefile.inc1 ============================================================================== --- projects/clang1000-import/Makefile.inc1 Sat Feb 15 13:00:39 2020 (r357962) +++ projects/clang1000-import/Makefile.inc1 Sat Feb 15 14:53:26 2020 (r357963) @@ -272,9 +272,10 @@ WANT_LINKER_TYPE= !make(test-system-compiler) .if ${WANT_LINKER_TYPE} == "lld" WANT_LINKER_FREEBSD_VERSION_FILE= lib/clang/include/VCSVersion.inc -WANT_LINKER_FREEBSD_VERSION!= \ +_WANT_LINKER_FREEBSD_VERSION!= \ awk '$$2 == "LLD_REVISION" {gsub(/"/, "", $$3); print $$3}' \ ${SRCDIR}/${WANT_LINKER_FREEBSD_VERSION_FILE} || echo unknown +WANT_LINKER_FREEBSD_VERSION=${_WANT_LINKER_FREEBSD_VERSION:C/.*-(.*)/\1/} WANT_LINKER_VERSION_FILE= lib/clang/include/lld/Common/Version.inc WANT_LINKER_VERSION!= \ awk '$$2 == "LLD_VERSION" {split($$3, a, "."); print a[1] * 10000 + a[2] * 100 + a[3]}' \ Modified: projects/clang1000-import/share/mk/bsd.linker.mk ============================================================================== --- projects/clang1000-import/share/mk/bsd.linker.mk Sat Feb 15 13:00:39 2020 (r357962) +++ projects/clang1000-import/share/mk/bsd.linker.mk Sat Feb 15 14:53:26 2020 (r357963) @@ -69,9 +69,11 @@ _v= ${_ld_version:M[1-9]*.[0-9]*:[1]} .elif ${_ld_version:[1]} == "LLD" ${X_}LINKER_TYPE= lld _v= ${_ld_version:[2]} -${X_}LINKER_FREEBSD_VERSION!= \ - ${${ld}} --version | \ - awk '$$3 ~ /FreeBSD/ {print substr($$4, 1, length($$4)-1)}' +.if ${_ld_version:[3]} == "(FreeBSD" +${X_}LINKER_FREEBSD_VERSION:= ${_ld_version:[4]:C/.*-(.*)\)/\1/} +.else +${X_}LINKER_FREEBSD_VERSION= 0 +.endif .else .warning Unknown linker from ${ld}=${${ld}}: ${_ld_version}, defaulting to bfd ${X_}LINKER_TYPE= bfd From owner-svn-src-projects@freebsd.org Sat Feb 15 14:58:49 2020 Return-Path: Delivered-To: svn-src-projects@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 91BEE23DE97 for ; Sat, 15 Feb 2020 14:58:49 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48KYKj3Gvwz4LWt; Sat, 15 Feb 2020 14:58:49 +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 mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 6B33FE92D; Sat, 15 Feb 2020 14:58:49 +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 01FEwnoO030481; Sat, 15 Feb 2020 14:58:49 GMT (envelope-from dim@FreeBSD.org) Received: (from dim@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 01FEwflV030443; Sat, 15 Feb 2020 14:58:41 GMT (envelope-from dim@FreeBSD.org) Message-Id: <202002151458.01FEwflV030443@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: dim set sender to dim@FreeBSD.org using -f From: Dimitry Andric Date: Sat, 15 Feb 2020 14:58:41 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r357964 - in projects/clang1000-import: contrib/llvm-project/clang/include/clang/AST contrib/llvm-project/clang/include/clang/Basic contrib/llvm-project/clang/include/clang/Driver contr... X-SVN-Group: projects X-SVN-Commit-Author: dim X-SVN-Commit-Paths: in projects/clang1000-import: contrib/llvm-project/clang/include/clang/AST contrib/llvm-project/clang/include/clang/Basic contrib/llvm-project/clang/include/clang/Driver contrib/llvm-project/clang/inc... X-SVN-Commit-Revision: 357964 X-SVN-Commit-Repository: base 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.29 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, 15 Feb 2020 14:58:49 -0000 Author: dim Date: Sat Feb 15 14:58:40 2020 New Revision: 357964 URL: https://svnweb.freebsd.org/changeset/base/357964 Log: Merge ^/vendor/llvm-project/release-10.x up to its last change (upstream commit llvmorg-10.0.0-rc2-0-g90c78073f73), bump versions, and update build glue. Added: projects/clang1000-import/contrib/llvm-project/llvm/lib/Target/RISCV/RISCVSchedRocket32.td - copied unchanged from r357939, vendor/llvm-project/release-10.x/llvm/lib/Target/RISCV/RISCVSchedRocket32.td projects/clang1000-import/contrib/llvm-project/llvm/lib/Target/RISCV/RISCVSchedRocket64.td - copied unchanged from r357939, vendor/llvm-project/release-10.x/llvm/lib/Target/RISCV/RISCVSchedRocket64.td projects/clang1000-import/contrib/llvm-project/llvm/lib/Target/RISCV/RISCVSchedule.td - copied unchanged from r357939, vendor/llvm-project/release-10.x/llvm/lib/Target/RISCV/RISCVSchedule.td Deleted: projects/clang1000-import/contrib/llvm-project/llvm/lib/Target/AMDGPU/SIRemoveShortExecBranches.cpp Modified: projects/clang1000-import/contrib/llvm-project/clang/include/clang/AST/ASTConcept.h projects/clang1000-import/contrib/llvm-project/clang/include/clang/AST/ExprConcepts.h projects/clang1000-import/contrib/llvm-project/clang/include/clang/Basic/Cuda.h projects/clang1000-import/contrib/llvm-project/clang/include/clang/Basic/DiagnosticDriverKinds.td projects/clang1000-import/contrib/llvm-project/clang/include/clang/Basic/DiagnosticGroups.td projects/clang1000-import/contrib/llvm-project/clang/include/clang/Basic/DiagnosticSemaKinds.td projects/clang1000-import/contrib/llvm-project/clang/include/clang/Driver/CC1Options.td projects/clang1000-import/contrib/llvm-project/clang/include/clang/Driver/Job.h projects/clang1000-import/contrib/llvm-project/clang/include/clang/Lex/PreprocessorOptions.h projects/clang1000-import/contrib/llvm-project/clang/include/clang/Sema/Sema.h projects/clang1000-import/contrib/llvm-project/clang/include/clang/Sema/SemaConcept.h projects/clang1000-import/contrib/llvm-project/clang/lib/AST/ASTConcept.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/AST/ASTContext.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/AST/CXXInheritance.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/AST/DeclCXX.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/AST/Expr.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/AST/ExprConcepts.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/AST/StmtProfile.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/Basic/Cuda.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/CodeGen/CodeGenModule.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/Driver/Compilation.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/Driver/Driver.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/Driver/Job.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/Driver/ToolChains/Clang.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/Driver/ToolChains/Cuda.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/Frontend/CompilerInvocation.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/Headers/__clang_cuda_intrinsics.h projects/clang1000-import/contrib/llvm-project/clang/lib/Headers/__clang_cuda_runtime_wrapper.h projects/clang1000-import/contrib/llvm-project/clang/lib/Headers/xmmintrin.h projects/clang1000-import/contrib/llvm-project/clang/lib/Lex/Lexer.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/Lex/Pragma.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/Parse/ParseDecl.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/Parse/ParseDeclCXX.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/Parse/ParseExprCXX.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/Sema/SemaCast.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/Sema/SemaConcept.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/Sema/SemaDecl.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/Sema/SemaDeclCXX.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/Sema/SemaExpr.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/Sema/SemaExprCXX.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/Sema/SemaOverload.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/Sema/SemaTemplate.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/Sema/SemaTemplateDeduction.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/Sema/SemaTemplateInstantiate.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/Sema/SemaTemplateInstantiateDecl.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/Serialization/ASTReaderDecl.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/StaticAnalyzer/Core/HTMLDiagnostics.cpp projects/clang1000-import/contrib/llvm-project/clang/tools/driver/cc1_main.cpp projects/clang1000-import/contrib/llvm-project/clang/tools/driver/cc1as_main.cpp projects/clang1000-import/contrib/llvm-project/compiler-rt/lib/tsan/rtl/tsan_interceptors_mac.cpp projects/clang1000-import/contrib/llvm-project/libcxx/include/__config projects/clang1000-import/contrib/llvm-project/lld/ELF/Arch/ARM.cpp projects/clang1000-import/contrib/llvm-project/lld/ELF/Arch/PPC.cpp projects/clang1000-import/contrib/llvm-project/lld/ELF/InputSection.cpp projects/clang1000-import/contrib/llvm-project/lld/ELF/Relocations.cpp projects/clang1000-import/contrib/llvm-project/lld/ELF/SyntheticSections.cpp projects/clang1000-import/contrib/llvm-project/lld/ELF/SyntheticSections.h projects/clang1000-import/contrib/llvm-project/lld/ELF/Thunks.cpp projects/clang1000-import/contrib/llvm-project/lld/docs/ReleaseNotes.rst projects/clang1000-import/contrib/llvm-project/lldb/source/DataFormatters/FormatCache.cpp projects/clang1000-import/contrib/llvm-project/lldb/source/DataFormatters/LanguageCategory.cpp projects/clang1000-import/contrib/llvm-project/lldb/source/Interpreter/CommandAlias.cpp projects/clang1000-import/contrib/llvm-project/lldb/source/Interpreter/Options.cpp projects/clang1000-import/contrib/llvm-project/lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.cpp projects/clang1000-import/contrib/llvm-project/lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.h projects/clang1000-import/contrib/llvm-project/llvm/include/llvm/ADT/StringRef.h projects/clang1000-import/contrib/llvm-project/llvm/include/llvm/CodeGen/AsmPrinter.h projects/clang1000-import/contrib/llvm-project/llvm/include/llvm/ExecutionEngine/Orc/CompileUtils.h projects/clang1000-import/contrib/llvm-project/llvm/include/llvm/ExecutionEngine/Orc/Core.h projects/clang1000-import/contrib/llvm-project/llvm/include/llvm/ExecutionEngine/Orc/IRCompileLayer.h projects/clang1000-import/contrib/llvm-project/llvm/include/llvm/ExecutionEngine/Orc/LLJIT.h projects/clang1000-import/contrib/llvm-project/llvm/include/llvm/ExecutionEngine/Orc/Layer.h projects/clang1000-import/contrib/llvm-project/llvm/include/llvm/ExecutionEngine/Orc/Speculation.h projects/clang1000-import/contrib/llvm-project/llvm/include/llvm/Support/CrashRecoveryContext.h projects/clang1000-import/contrib/llvm-project/llvm/include/llvm/Support/Process.h projects/clang1000-import/contrib/llvm-project/llvm/include/llvm/Transforms/IPO/PassManagerBuilder.h projects/clang1000-import/contrib/llvm-project/llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp projects/clang1000-import/contrib/llvm-project/llvm/lib/CodeGen/AsmPrinter/DwarfCompileUnit.cpp projects/clang1000-import/contrib/llvm-project/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp projects/clang1000-import/contrib/llvm-project/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.h projects/clang1000-import/contrib/llvm-project/llvm/lib/CodeGen/AsmPrinter/DwarfUnit.cpp projects/clang1000-import/contrib/llvm-project/llvm/lib/CodeGen/CodeGenPrepare.cpp projects/clang1000-import/contrib/llvm-project/llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp projects/clang1000-import/contrib/llvm-project/llvm/lib/CodeGen/GlobalISel/MachineIRBuilder.cpp projects/clang1000-import/contrib/llvm-project/llvm/lib/CodeGen/GlobalMerge.cpp projects/clang1000-import/contrib/llvm-project/llvm/lib/CodeGen/LiveDebugVariables.cpp projects/clang1000-import/contrib/llvm-project/llvm/lib/CodeGen/SelectionDAG/FastISel.cpp projects/clang1000-import/contrib/llvm-project/llvm/lib/CodeGen/SelectionDAG/InstrEmitter.cpp projects/clang1000-import/contrib/llvm-project/llvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp projects/clang1000-import/contrib/llvm-project/llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp projects/clang1000-import/contrib/llvm-project/llvm/lib/CodeGen/StackColoring.cpp projects/clang1000-import/contrib/llvm-project/llvm/lib/CodeGen/TypePromotion.cpp projects/clang1000-import/contrib/llvm-project/llvm/lib/ExecutionEngine/Orc/CompileOnDemandLayer.cpp projects/clang1000-import/contrib/llvm-project/llvm/lib/ExecutionEngine/Orc/CompileUtils.cpp projects/clang1000-import/contrib/llvm-project/llvm/lib/ExecutionEngine/Orc/Core.cpp projects/clang1000-import/contrib/llvm-project/llvm/lib/ExecutionEngine/Orc/IRCompileLayer.cpp projects/clang1000-import/contrib/llvm-project/llvm/lib/ExecutionEngine/Orc/IRTransformLayer.cpp projects/clang1000-import/contrib/llvm-project/llvm/lib/ExecutionEngine/Orc/LLJIT.cpp projects/clang1000-import/contrib/llvm-project/llvm/lib/ExecutionEngine/Orc/Layer.cpp projects/clang1000-import/contrib/llvm-project/llvm/lib/ExecutionEngine/Orc/RTDyldObjectLinkingLayer.cpp projects/clang1000-import/contrib/llvm-project/llvm/lib/IR/AsmWriter.cpp projects/clang1000-import/contrib/llvm-project/llvm/lib/Linker/IRMover.cpp projects/clang1000-import/contrib/llvm-project/llvm/lib/Support/CRC.cpp projects/clang1000-import/contrib/llvm-project/llvm/lib/Support/CrashRecoveryContext.cpp projects/clang1000-import/contrib/llvm-project/llvm/lib/Support/ErrorHandling.cpp projects/clang1000-import/contrib/llvm-project/llvm/lib/Support/Process.cpp projects/clang1000-import/contrib/llvm-project/llvm/lib/Support/Windows/Signals.inc projects/clang1000-import/contrib/llvm-project/llvm/lib/Target/AArch64/AArch64AsmPrinter.cpp projects/clang1000-import/contrib/llvm-project/llvm/lib/Target/AArch64/AArch64LoadStoreOptimizer.cpp projects/clang1000-import/contrib/llvm-project/llvm/lib/Target/AArch64/AArch64TargetTransformInfo.h projects/clang1000-import/contrib/llvm-project/llvm/lib/Target/AMDGPU/AMDGPU.h projects/clang1000-import/contrib/llvm-project/llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp projects/clang1000-import/contrib/llvm-project/llvm/lib/Target/AMDGPU/AMDGPUUnifyDivergentExitNodes.cpp projects/clang1000-import/contrib/llvm-project/llvm/lib/Target/AMDGPU/CaymanInstructions.td projects/clang1000-import/contrib/llvm-project/llvm/lib/Target/AMDGPU/EvergreenInstructions.td projects/clang1000-import/contrib/llvm-project/llvm/lib/Target/AMDGPU/R600Instructions.td projects/clang1000-import/contrib/llvm-project/llvm/lib/Target/AMDGPU/SIInsertSkips.cpp projects/clang1000-import/contrib/llvm-project/llvm/lib/Target/AMDGPU/SILowerControlFlow.cpp projects/clang1000-import/contrib/llvm-project/llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.cpp projects/clang1000-import/contrib/llvm-project/llvm/lib/Target/ARM/ARMConstantIslandPass.cpp projects/clang1000-import/contrib/llvm-project/llvm/lib/Target/ARM/ARMExpandPseudoInsts.cpp projects/clang1000-import/contrib/llvm-project/llvm/lib/Target/ARM/ARMISelDAGToDAG.cpp projects/clang1000-import/contrib/llvm-project/llvm/lib/Target/ARM/ARMISelLowering.cpp projects/clang1000-import/contrib/llvm-project/llvm/lib/Target/ARM/ARMISelLowering.h projects/clang1000-import/contrib/llvm-project/llvm/lib/Target/ARM/ARMInstrInfo.td projects/clang1000-import/contrib/llvm-project/llvm/lib/Target/ARM/ARMInstrThumb2.td projects/clang1000-import/contrib/llvm-project/llvm/lib/Target/ARM/ARMTargetTransformInfo.h projects/clang1000-import/contrib/llvm-project/llvm/lib/Target/BPF/BPFISelLowering.h projects/clang1000-import/contrib/llvm-project/llvm/lib/Target/BPF/BPFMISimplifyPatchable.cpp projects/clang1000-import/contrib/llvm-project/llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp projects/clang1000-import/contrib/llvm-project/llvm/lib/Target/RISCV/RISCV.td projects/clang1000-import/contrib/llvm-project/llvm/lib/Target/RISCV/RISCVInstrFormats.td projects/clang1000-import/contrib/llvm-project/llvm/lib/Target/RISCV/RISCVInstrInfo.td projects/clang1000-import/contrib/llvm-project/llvm/lib/Target/RISCV/RISCVInstrInfoA.td projects/clang1000-import/contrib/llvm-project/llvm/lib/Target/RISCV/RISCVInstrInfoC.td projects/clang1000-import/contrib/llvm-project/llvm/lib/Target/RISCV/RISCVInstrInfoD.td projects/clang1000-import/contrib/llvm-project/llvm/lib/Target/RISCV/RISCVInstrInfoF.td projects/clang1000-import/contrib/llvm-project/llvm/lib/Target/RISCV/RISCVInstrInfoM.td projects/clang1000-import/contrib/llvm-project/llvm/lib/Target/RISCV/RISCVTargetMachine.cpp projects/clang1000-import/contrib/llvm-project/llvm/lib/Target/RISCV/Utils/RISCVBaseInfo.cpp projects/clang1000-import/contrib/llvm-project/llvm/lib/Target/RISCV/Utils/RISCVBaseInfo.h projects/clang1000-import/contrib/llvm-project/llvm/lib/Target/SystemZ/SystemZISelLowering.cpp projects/clang1000-import/contrib/llvm-project/llvm/lib/Target/WebAssembly/WebAssemblyLowerEmscriptenEHSjLj.cpp projects/clang1000-import/contrib/llvm-project/llvm/lib/Target/X86/MCTargetDesc/X86AsmBackend.cpp projects/clang1000-import/contrib/llvm-project/llvm/lib/Target/X86/X86ISelLowering.cpp projects/clang1000-import/contrib/llvm-project/llvm/lib/Target/X86/X86MCInstLower.cpp projects/clang1000-import/contrib/llvm-project/llvm/lib/Transforms/IPO/PassManagerBuilder.cpp projects/clang1000-import/contrib/llvm-project/llvm/lib/Transforms/InstCombine/InstCombineLoadStoreAlloca.cpp projects/clang1000-import/contrib/llvm-project/llvm/lib/Transforms/InstCombine/InstCombineSelect.cpp projects/clang1000-import/contrib/llvm-project/llvm/lib/Transforms/InstCombine/InstructionCombining.cpp projects/clang1000-import/contrib/llvm-project/llvm/lib/Transforms/Instrumentation/MemorySanitizer.cpp projects/clang1000-import/contrib/llvm-project/llvm/lib/Transforms/Vectorize/LoopVectorizationPlanner.h projects/clang1000-import/contrib/llvm-project/llvm/lib/Transforms/Vectorize/LoopVectorize.cpp projects/clang1000-import/contrib/llvm-project/llvm/tools/lli/lli.cpp projects/clang1000-import/lib/clang/include/VCSVersion.inc projects/clang1000-import/lib/clang/include/llvm/Support/VCSRevision.h projects/clang1000-import/lib/clang/libllvmminimal/Makefile Directory Properties: projects/clang1000-import/contrib/llvm-project/ (props changed) projects/clang1000-import/contrib/llvm-project/clang/ (props changed) projects/clang1000-import/contrib/llvm-project/compiler-rt/ (props changed) projects/clang1000-import/contrib/llvm-project/libcxx/ (props changed) projects/clang1000-import/contrib/llvm-project/lld/ (props changed) projects/clang1000-import/contrib/llvm-project/lldb/ (props changed) projects/clang1000-import/contrib/llvm-project/llvm/ (props changed) Modified: projects/clang1000-import/contrib/llvm-project/clang/include/clang/AST/ASTConcept.h ============================================================================== --- projects/clang1000-import/contrib/llvm-project/clang/include/clang/AST/ASTConcept.h Sat Feb 15 14:53:26 2020 (r357963) +++ projects/clang1000-import/contrib/llvm-project/clang/include/clang/AST/ASTConcept.h Sat Feb 15 14:58:40 2020 (r357964) @@ -29,14 +29,14 @@ class ConceptSpecializationExpr; class ConstraintSatisfaction : public llvm::FoldingSetNode { // The template-like entity that 'owns' the constraint checked here (can be a // constrained entity or a concept). - NamedDecl *ConstraintOwner = nullptr; + const NamedDecl *ConstraintOwner = nullptr; llvm::SmallVector TemplateArgs; public: ConstraintSatisfaction() = default; - ConstraintSatisfaction(NamedDecl *ConstraintOwner, + ConstraintSatisfaction(const NamedDecl *ConstraintOwner, ArrayRef TemplateArgs) : ConstraintOwner(ConstraintOwner), TemplateArgs(TemplateArgs.begin(), TemplateArgs.end()) { } @@ -57,7 +57,7 @@ class ConstraintSatisfaction : public llvm::FoldingSet } static void Profile(llvm::FoldingSetNodeID &ID, const ASTContext &C, - NamedDecl *ConstraintOwner, + const NamedDecl *ConstraintOwner, ArrayRef TemplateArgs); }; Modified: projects/clang1000-import/contrib/llvm-project/clang/include/clang/AST/ExprConcepts.h ============================================================================== --- projects/clang1000-import/contrib/llvm-project/clang/include/clang/AST/ExprConcepts.h Sat Feb 15 14:53:26 2020 (r357963) +++ projects/clang1000-import/contrib/llvm-project/clang/include/clang/AST/ExprConcepts.h Sat Feb 15 14:58:40 2020 (r357964) @@ -63,6 +63,12 @@ class ConceptSpecializationExpr final : public Expr, p ArrayRef ConvertedArgs, const ConstraintSatisfaction *Satisfaction); + ConceptSpecializationExpr(const ASTContext &C, ConceptDecl *NamedConcept, + ArrayRef ConvertedArgs, + const ConstraintSatisfaction *Satisfaction, + bool Dependent, + bool ContainsUnexpandedParameterPack); + ConceptSpecializationExpr(EmptyShell Empty, unsigned NumTemplateArgs); public: @@ -74,6 +80,13 @@ class ConceptSpecializationExpr final : public Expr, p const ASTTemplateArgumentListInfo *ArgsAsWritten, ArrayRef ConvertedArgs, const ConstraintSatisfaction *Satisfaction); + + static ConceptSpecializationExpr * + Create(const ASTContext &C, ConceptDecl *NamedConcept, + ArrayRef ConvertedArgs, + const ConstraintSatisfaction *Satisfaction, + bool Dependent, + bool ContainsUnexpandedParameterPack); static ConceptSpecializationExpr * Create(ASTContext &C, EmptyShell Empty, unsigned NumTemplateArgs); Modified: projects/clang1000-import/contrib/llvm-project/clang/include/clang/Basic/Cuda.h ============================================================================== --- projects/clang1000-import/contrib/llvm-project/clang/include/clang/Basic/Cuda.h Sat Feb 15 14:53:26 2020 (r357963) +++ projects/clang1000-import/contrib/llvm-project/clang/include/clang/Basic/Cuda.h Sat Feb 15 14:58:40 2020 (r357964) @@ -11,6 +11,7 @@ namespace llvm { class StringRef; +class Twine; class VersionTuple; } // namespace llvm @@ -30,7 +31,7 @@ enum class CudaVersion { }; const char *CudaVersionToString(CudaVersion V); // Input is "Major.Minor" -CudaVersion CudaStringToVersion(llvm::StringRef S); +CudaVersion CudaStringToVersion(const llvm::Twine &S); enum class CudaArch { UNKNOWN, Modified: projects/clang1000-import/contrib/llvm-project/clang/include/clang/Basic/DiagnosticDriverKinds.td ============================================================================== --- projects/clang1000-import/contrib/llvm-project/clang/include/clang/Basic/DiagnosticDriverKinds.td Sat Feb 15 14:53:26 2020 (r357963) +++ projects/clang1000-import/contrib/llvm-project/clang/include/clang/Basic/DiagnosticDriverKinds.td Sat Feb 15 14:58:40 2020 (r357964) @@ -60,6 +60,9 @@ def err_drv_cuda_version_unsupported : Error< "but installation at %3 is %4. Use --cuda-path to specify a different CUDA " "install, pass a different GPU arch with --cuda-gpu-arch, or pass " "--no-cuda-version-check.">; +def warn_drv_unknown_cuda_version: Warning< + "Unknown CUDA version %0. Assuming the latest supported version %1">, + InGroup; def err_drv_cuda_host_arch : Error<"unsupported architecture '%0' for host compilation.">; def err_drv_mix_cuda_hip : Error<"Mixed Cuda and HIP compilation is not supported.">; def err_drv_invalid_thread_model_for_target : Error< Modified: projects/clang1000-import/contrib/llvm-project/clang/include/clang/Basic/DiagnosticGroups.td ============================================================================== --- projects/clang1000-import/contrib/llvm-project/clang/include/clang/Basic/DiagnosticGroups.td Sat Feb 15 14:53:26 2020 (r357963) +++ projects/clang1000-import/contrib/llvm-project/clang/include/clang/Basic/DiagnosticGroups.td Sat Feb 15 14:58:40 2020 (r357964) @@ -384,7 +384,10 @@ def GNULabelsAsValue : DiagGroup<"gnu-label-as-value"> def LiteralRange : DiagGroup<"literal-range">; def LocalTypeTemplateArgs : DiagGroup<"local-type-template-args", [CXX98CompatLocalTypeTemplateArgs]>; -def RangeLoopAnalysis : DiagGroup<"range-loop-analysis">; +def RangeLoopConstruct : DiagGroup<"range-loop-construct">; +def RangeLoopBindReference : DiagGroup<"range-loop-bind-reference">; +def RangeLoopAnalysis : DiagGroup<"range-loop-analysis", + [RangeLoopConstruct, RangeLoopBindReference]>; def ForLoopAnalysis : DiagGroup<"for-loop-analysis">; def LoopAnalysis : DiagGroup<"loop-analysis", [ForLoopAnalysis, RangeLoopAnalysis]>; @@ -858,14 +861,15 @@ def Most : DiagGroup<"most", [ Comment, DeleteNonVirtualDtor, Format, + ForLoopAnalysis, Implicit, InfiniteRecursion, IntInBoolContext, - LoopAnalysis, MismatchedTags, MissingBraces, Move, MultiChar, + RangeLoopConstruct, Reorder, ReturnType, SelfAssignment, @@ -1112,6 +1116,9 @@ def SerializedDiagnostics : DiagGroup<"serialized-diag // A warning group for warnings about code that clang accepts when // compiling CUDA C/C++ but which is not compatible with the CUDA spec. def CudaCompat : DiagGroup<"cuda-compat">; + +// Warning about unknown CUDA SDK version. +def CudaUnknownVersion: DiagGroup<"unknown-cuda-version">; // A warning group for warnings about features supported by HIP but // ignored by CUDA. Modified: projects/clang1000-import/contrib/llvm-project/clang/include/clang/Basic/DiagnosticSemaKinds.td ============================================================================== --- projects/clang1000-import/contrib/llvm-project/clang/include/clang/Basic/DiagnosticSemaKinds.td Sat Feb 15 14:53:26 2020 (r357963) +++ projects/clang1000-import/contrib/llvm-project/clang/include/clang/Basic/DiagnosticSemaKinds.td Sat Feb 15 14:58:40 2020 (r357964) @@ -2378,17 +2378,17 @@ def warn_for_range_const_reference_copy : Warning< "loop variable %0 " "%diff{has type $ but is initialized with type $" "| is initialized with a value of a different type}1,2 resulting in a copy">, - InGroup, DefaultIgnore; + InGroup, DefaultIgnore; def note_use_type_or_non_reference : Note< "use non-reference type %0 to keep the copy or type %1 to prevent copying">; def warn_for_range_variable_always_copy : Warning< "loop variable %0 is always a copy because the range of type %1 does not " "return a reference">, - InGroup, DefaultIgnore; + InGroup, DefaultIgnore; def note_use_non_reference_type : Note<"use non-reference type %0">; def warn_for_range_copy : Warning< "loop variable %0 of type %1 creates a copy from type %2">, - InGroup, DefaultIgnore; + InGroup, DefaultIgnore; def note_use_reference_type : Note<"use reference type %0 to prevent copying">; def err_objc_for_range_init_stmt : Error< "initialization statement is not supported when iterating over Objective-C " @@ -4683,6 +4683,8 @@ def note_checking_constraints_for_var_spec_id_here : N def note_checking_constraints_for_class_spec_id_here : Note< "while checking constraint satisfaction for class template partial " "specialization '%0' required here">; +def note_checking_constraints_for_function_here : Note< + "while checking constraint satisfaction for function '%0' required here">; def note_constraint_substitution_here : Note< "while substituting template arguments into constraint expression here">; def note_constraint_normalization_here : Note< @@ -6746,6 +6748,10 @@ def err_bad_cxx_cast_scalar_to_vector_different_size : def err_bad_cxx_cast_vector_to_vector_different_size : Error< "%select{||reinterpret_cast||C-style cast|}0 from vector %1 " "to vector %2 of different size">; +def warn_bad_cxx_cast_nested_pointer_addr_space : Warning< + "%select{reinterpret_cast|C-style cast}0 from %1 to %2 " + "changes address space of nested pointers">, + InGroup; def err_bad_lvalue_to_rvalue_cast : Error< "cannot cast from lvalue of type %1 to rvalue reference type %2; types are " "not compatible">; @@ -8390,6 +8396,12 @@ def note_defaulted_comparison_cannot_deduce : Note< "return type of defaulted 'operator<=>' cannot be deduced because " "return type %2 of three-way comparison for %select{|member|base class}0 %1 " "is not a standard comparison category type">; +def err_defaulted_comparison_cannot_deduce_undeduced_auto : Error< + "return type of defaulted 'operator<=>' cannot be deduced because " + "three-way comparison for %select{|member|base class}0 %1 " + "has a deduced return type and is not yet defined">; +def note_defaulted_comparison_cannot_deduce_undeduced_auto : Note< + "%select{|member|base class}0 %1 declared here">; def note_defaulted_comparison_cannot_deduce_callee : Note< "selected 'operator<=>' for %select{|member|base class}0 %1 declared here">; def err_incorrect_defaulted_comparison_constexpr : Error< Modified: projects/clang1000-import/contrib/llvm-project/clang/include/clang/Driver/CC1Options.td ============================================================================== --- projects/clang1000-import/contrib/llvm-project/clang/include/clang/Driver/CC1Options.td Sat Feb 15 14:53:26 2020 (r357963) +++ projects/clang1000-import/contrib/llvm-project/clang/include/clang/Driver/CC1Options.td Sat Feb 15 14:58:40 2020 (r357964) @@ -859,6 +859,8 @@ def detailed_preprocessing_record : Flag<["-"], "detai HelpText<"include a detailed record of preprocessing actions">; def setup_static_analyzer : Flag<["-"], "setup-static-analyzer">, HelpText<"Set up preprocessor for static analyzer (done automatically when static analyzer is run).">; +def disable_pragma_debug_crash : Flag<["-"], "disable-pragma-debug-crash">, + HelpText<"Disable any #pragma clang __debug that can lead to crashing behavior. This is meant for testing.">; //===----------------------------------------------------------------------===// // OpenCL Options Modified: projects/clang1000-import/contrib/llvm-project/clang/include/clang/Driver/Job.h ============================================================================== --- projects/clang1000-import/contrib/llvm-project/clang/include/clang/Driver/Job.h Sat Feb 15 14:53:26 2020 (r357963) +++ projects/clang1000-import/contrib/llvm-project/clang/include/clang/Driver/Job.h Sat Feb 15 14:58:40 2020 (r357964) @@ -55,9 +55,6 @@ class Command { /// The list of program arguments which are inputs. llvm::opt::ArgStringList InputFilenames; - /// Whether to print the input filenames when executing. - bool PrintInputFilenames = false; - /// Response file name, if this command is set to use one, or nullptr /// otherwise const char *ResponseFile = nullptr; @@ -86,6 +83,12 @@ class Command { void writeResponseFile(raw_ostream &OS) const; public: + /// Whether to print the input filenames when executing. + bool PrintInputFilenames = false; + + /// Whether the command will be executed in this process or not. + bool InProcess = false; + Command(const Action &Source, const Tool &Creator, const char *Executable, const llvm::opt::ArgStringList &Arguments, ArrayRef Inputs); @@ -128,9 +131,6 @@ class Command { /// Print a command argument, and optionally quote it. static void printArg(llvm::raw_ostream &OS, StringRef Arg, bool Quote); - /// Set whether to print the input filenames when executing. - void setPrintInputFilenames(bool P) { PrintInputFilenames = P; } - protected: /// Optionally print the filenames to be compiled void PrintFileNames() const; @@ -139,7 +139,9 @@ class Command { /// Use the CC1 tool callback when available, to avoid creating a new process class CC1Command : public Command { public: - using Command::Command; + CC1Command(const Action &Source, const Tool &Creator, const char *Executable, + const llvm::opt::ArgStringList &Arguments, + ArrayRef Inputs); void Print(llvm::raw_ostream &OS, const char *Terminator, bool Quote, CrashReportInfo *CrashInfo = nullptr) const override; Modified: projects/clang1000-import/contrib/llvm-project/clang/include/clang/Lex/PreprocessorOptions.h ============================================================================== --- projects/clang1000-import/contrib/llvm-project/clang/include/clang/Lex/PreprocessorOptions.h Sat Feb 15 14:53:26 2020 (r357963) +++ projects/clang1000-import/contrib/llvm-project/clang/include/clang/Lex/PreprocessorOptions.h Sat Feb 15 14:58:40 2020 (r357964) @@ -189,6 +189,9 @@ class PreprocessorOptions { (public) /// Set up preprocessor for RunAnalysis action. bool SetUpStaticAnalyzer = false; + /// Prevents intended crashes when using #pragma clang __debug. For testing. + bool DisablePragmaDebugCrash = false; + public: PreprocessorOptions() : PrecompiledPreambleBytes(0, false) {} Modified: projects/clang1000-import/contrib/llvm-project/clang/include/clang/Sema/Sema.h ============================================================================== --- projects/clang1000-import/contrib/llvm-project/clang/include/clang/Sema/Sema.h Sat Feb 15 14:53:26 2020 (r357963) +++ projects/clang1000-import/contrib/llvm-project/clang/include/clang/Sema/Sema.h Sat Feb 15 14:58:40 2020 (r357964) @@ -6275,7 +6275,7 @@ class Sema final { (public) /// \returns true if an error occurred and satisfaction could not be checked, /// false otherwise. bool CheckConstraintSatisfaction( - NamedDecl *Template, ArrayRef ConstraintExprs, + const NamedDecl *Template, ArrayRef ConstraintExprs, ArrayRef TemplateArgs, SourceRange TemplateIDRange, ConstraintSatisfaction &Satisfaction); @@ -6288,6 +6288,17 @@ class Sema final { (public) bool CheckConstraintSatisfaction(const Expr *ConstraintExpr, ConstraintSatisfaction &Satisfaction); + /// Check whether the given function decl's trailing requires clause is + /// satisfied, if any. Returns false and updates Satisfaction with the + /// satisfaction verdict if successful, emits a diagnostic and returns true if + /// an error occured and satisfaction could not be determined. + /// + /// \returns true if an error occurred, false otherwise. + bool CheckFunctionConstraints(const FunctionDecl *FD, + ConstraintSatisfaction &Satisfaction, + SourceLocation UsageLoc = SourceLocation()); + + /// \brief Ensure that the given template arguments satisfy the constraints /// associated with the given template, emitting a diagnostic if they do not. /// @@ -6986,7 +6997,7 @@ class Sema final { (public) /// Get a template argument mapping the given template parameter to itself, /// e.g. for X in \c template, this would return an expression template /// argument referencing X. - TemplateArgumentLoc getIdentityTemplateArgumentLoc(Decl *Param, + TemplateArgumentLoc getIdentityTemplateArgumentLoc(NamedDecl *Param, SourceLocation Location); void translateTemplateArguments(const ASTTemplateArgsPtr &In, Modified: projects/clang1000-import/contrib/llvm-project/clang/include/clang/Sema/SemaConcept.h ============================================================================== --- projects/clang1000-import/contrib/llvm-project/clang/include/clang/Sema/SemaConcept.h Sat Feb 15 14:53:26 2020 (r357963) +++ projects/clang1000-import/contrib/llvm-project/clang/include/clang/Sema/SemaConcept.h Sat Feb 15 14:58:40 2020 (r357964) @@ -43,11 +43,15 @@ struct AtomicConstraint { if (ParameterMapping->size() != Other.ParameterMapping->size()) return false; - for (unsigned I = 0, S = ParameterMapping->size(); I < S; ++I) - if (!C.getCanonicalTemplateArgument((*ParameterMapping)[I].getArgument()) - .structurallyEquals(C.getCanonicalTemplateArgument( - (*Other.ParameterMapping)[I].getArgument()))) + for (unsigned I = 0, S = ParameterMapping->size(); I < S; ++I) { + llvm::FoldingSetNodeID IDA, IDB; + C.getCanonicalTemplateArgument((*ParameterMapping)[I].getArgument()) + .Profile(IDA, C); + C.getCanonicalTemplateArgument((*Other.ParameterMapping)[I].getArgument()) + .Profile(IDB, C); + if (IDA != IDB) return false; + } return true; } Modified: projects/clang1000-import/contrib/llvm-project/clang/lib/AST/ASTConcept.cpp ============================================================================== --- projects/clang1000-import/contrib/llvm-project/clang/lib/AST/ASTConcept.cpp Sat Feb 15 14:53:26 2020 (r357963) +++ projects/clang1000-import/contrib/llvm-project/clang/lib/AST/ASTConcept.cpp Sat Feb 15 14:58:40 2020 (r357964) @@ -59,8 +59,8 @@ ASTConstraintSatisfaction::Create(const ASTContext &C, } void ConstraintSatisfaction::Profile( - llvm::FoldingSetNodeID &ID, const ASTContext &C, NamedDecl *ConstraintOwner, - ArrayRef TemplateArgs) { + llvm::FoldingSetNodeID &ID, const ASTContext &C, + const NamedDecl *ConstraintOwner, ArrayRef TemplateArgs) { ID.AddPointer(ConstraintOwner); ID.AddInteger(TemplateArgs.size()); for (auto &Arg : TemplateArgs) Modified: projects/clang1000-import/contrib/llvm-project/clang/lib/AST/ASTContext.cpp ============================================================================== --- projects/clang1000-import/contrib/llvm-project/clang/lib/AST/ASTContext.cpp Sat Feb 15 14:53:26 2020 (r357963) +++ projects/clang1000-import/contrib/llvm-project/clang/lib/AST/ASTContext.cpp Sat Feb 15 14:58:40 2020 (r357964) @@ -756,12 +756,8 @@ canonicalizeImmediatelyDeclaredConstraint(const ASTCon NewConverted.push_back(Arg); } Expr *NewIDC = ConceptSpecializationExpr::Create( - C, NestedNameSpecifierLoc(), /*TemplateKWLoc=*/SourceLocation(), - CSE->getConceptNameInfo(), /*FoundDecl=*/CSE->getNamedConcept(), - CSE->getNamedConcept(), - // Actually canonicalizing a TemplateArgumentLoc is difficult so we - // simply omit the ArgsAsWritten - /*ArgsAsWritten=*/nullptr, NewConverted, nullptr); + C, CSE->getNamedConcept(), NewConverted, nullptr, + CSE->isInstantiationDependent(), CSE->containsUnexpandedParameterPack()); if (auto *OrigFold = dyn_cast(IDC)) NewIDC = new (C) CXXFoldExpr(OrigFold->getType(), SourceLocation(), NewIDC, Modified: projects/clang1000-import/contrib/llvm-project/clang/lib/AST/CXXInheritance.cpp ============================================================================== --- projects/clang1000-import/contrib/llvm-project/clang/lib/AST/CXXInheritance.cpp Sat Feb 15 14:53:26 2020 (r357963) +++ projects/clang1000-import/contrib/llvm-project/clang/lib/AST/CXXInheritance.cpp Sat Feb 15 14:58:40 2020 (r357964) @@ -758,6 +758,8 @@ CXXRecordDecl::getFinalOverriders(CXXFinalOverriderMap return false; }; + // FIXME: IsHidden reads from Overriding from the middle of a remove_if + // over the same sequence! Is this guaranteed to work? Overriding.erase( std::remove_if(Overriding.begin(), Overriding.end(), IsHidden), Overriding.end()); Modified: projects/clang1000-import/contrib/llvm-project/clang/lib/AST/DeclCXX.cpp ============================================================================== --- projects/clang1000-import/contrib/llvm-project/clang/lib/AST/DeclCXX.cpp Sat Feb 15 14:53:26 2020 (r357963) +++ projects/clang1000-import/contrib/llvm-project/clang/lib/AST/DeclCXX.cpp Sat Feb 15 14:58:40 2020 (r357964) @@ -2038,17 +2038,36 @@ CXXMethodDecl::getCorrespondingMethodInClass(const CXX if (auto *MD = getCorrespondingMethodDeclaredInClass(RD, MayBeBase)) return MD; + llvm::SmallVector FinalOverriders; + auto AddFinalOverrider = [&](CXXMethodDecl *D) { + // If this function is overridden by a candidate final overrider, it is not + // a final overrider. + for (CXXMethodDecl *OtherD : FinalOverriders) { + if (declaresSameEntity(D, OtherD) || recursivelyOverrides(OtherD, D)) + return; + } + + // Other candidate final overriders might be overridden by this function. + FinalOverriders.erase( + std::remove_if(FinalOverriders.begin(), FinalOverriders.end(), + [&](CXXMethodDecl *OtherD) { + return recursivelyOverrides(D, OtherD); + }), + FinalOverriders.end()); + + FinalOverriders.push_back(D); + }; + for (const auto &I : RD->bases()) { const RecordType *RT = I.getType()->getAs(); if (!RT) continue; const auto *Base = cast(RT->getDecl()); - CXXMethodDecl *T = this->getCorrespondingMethodInClass(Base); - if (T) - return T; + if (CXXMethodDecl *D = this->getCorrespondingMethodInClass(Base)) + AddFinalOverrider(D); } - return nullptr; + return FinalOverriders.size() == 1 ? FinalOverriders.front() : nullptr; } CXXMethodDecl *CXXMethodDecl::Create(ASTContext &C, CXXRecordDecl *RD, @@ -2104,6 +2123,11 @@ CXXMethodDecl *CXXMethodDecl::getDevirtualizedMethod(c // There may be a method corresponding to MD in a derived class. CXXMethodDecl *DevirtualizedMethod = getCorrespondingMethodInClass(BestDynamicDecl); + + // If there final overrider in the dynamic type is ambiguous, we can't + // devirtualize this call. + if (!DevirtualizedMethod) + return nullptr; // If that method is pure virtual, we can't devirtualize. If this code is // reached, the result would be UB, not a direct call to the derived class Modified: projects/clang1000-import/contrib/llvm-project/clang/lib/AST/Expr.cpp ============================================================================== --- projects/clang1000-import/contrib/llvm-project/clang/lib/AST/Expr.cpp Sat Feb 15 14:53:26 2020 (r357963) +++ projects/clang1000-import/contrib/llvm-project/clang/lib/AST/Expr.cpp Sat Feb 15 14:58:40 2020 (r357964) @@ -1685,6 +1685,11 @@ MemberExpr *MemberExpr::Create( CXXRecordDecl *RD = dyn_cast_or_null(DC); if (RD && RD->isDependentContext() && RD->isCurrentInstantiation(DC)) E->setTypeDependent(T->isDependentType()); + + // Bitfield with value-dependent width is type-dependent. + FieldDecl *FD = dyn_cast(MemberDecl); + if (FD && FD->isBitField() && FD->getBitWidth()->isValueDependent()) + E->setTypeDependent(true); } if (HasQualOrFound) { Modified: projects/clang1000-import/contrib/llvm-project/clang/lib/AST/ExprConcepts.cpp ============================================================================== --- projects/clang1000-import/contrib/llvm-project/clang/lib/AST/ExprConcepts.cpp Sat Feb 15 14:53:26 2020 (r357963) +++ projects/clang1000-import/contrib/llvm-project/clang/lib/AST/ExprConcepts.cpp Sat Feb 15 14:58:40 2020 (r357964) @@ -46,24 +46,12 @@ ConceptSpecializationExpr::ConceptSpecializationExpr(c ASTConstraintSatisfaction::Create(C, *Satisfaction) : nullptr) { setTemplateArguments(ConvertedArgs); -} - -ConceptSpecializationExpr::ConceptSpecializationExpr(EmptyShell Empty, - unsigned NumTemplateArgs) - : Expr(ConceptSpecializationExprClass, Empty), ConceptReference(), - NumTemplateArgs(NumTemplateArgs) { } - -void ConceptSpecializationExpr::setTemplateArguments( - ArrayRef Converted) { - assert(Converted.size() == NumTemplateArgs); - std::uninitialized_copy(Converted.begin(), Converted.end(), - getTrailingObjects()); bool IsInstantiationDependent = false; bool ContainsUnexpandedParameterPack = false; - for (const TemplateArgument& Arg : Converted) { - if (Arg.isInstantiationDependent()) + for (const TemplateArgumentLoc& ArgLoc : ArgsAsWritten->arguments()) { + if (ArgLoc.getArgument().isInstantiationDependent()) IsInstantiationDependent = true; - if (Arg.containsUnexpandedParameterPack()) + if (ArgLoc.getArgument().containsUnexpandedParameterPack()) ContainsUnexpandedParameterPack = true; if (ContainsUnexpandedParameterPack && IsInstantiationDependent) break; @@ -80,6 +68,18 @@ void ConceptSpecializationExpr::setTemplateArguments( "should not be value-dependent"); } +ConceptSpecializationExpr::ConceptSpecializationExpr(EmptyShell Empty, + unsigned NumTemplateArgs) + : Expr(ConceptSpecializationExprClass, Empty), ConceptReference(), + NumTemplateArgs(NumTemplateArgs) { } + +void ConceptSpecializationExpr::setTemplateArguments( + ArrayRef Converted) { + assert(Converted.size() == NumTemplateArgs); + std::uninitialized_copy(Converted.begin(), Converted.end(), + getTrailingObjects()); +} + ConceptSpecializationExpr * ConceptSpecializationExpr::Create(const ASTContext &C, NestedNameSpecifierLoc NNS, @@ -96,6 +96,39 @@ ConceptSpecializationExpr::Create(const ASTContext &C, ConceptNameInfo, FoundDecl, NamedConcept, ArgsAsWritten, ConvertedArgs, Satisfaction); +} + +ConceptSpecializationExpr::ConceptSpecializationExpr( + const ASTContext &C, ConceptDecl *NamedConcept, + ArrayRef ConvertedArgs, + const ConstraintSatisfaction *Satisfaction, bool Dependent, + bool ContainsUnexpandedParameterPack) + : Expr(ConceptSpecializationExprClass, C.BoolTy, VK_RValue, OK_Ordinary, + /*TypeDependent=*/false, + /*ValueDependent=*/!Satisfaction, Dependent, + ContainsUnexpandedParameterPack), + ConceptReference(NestedNameSpecifierLoc(), SourceLocation(), + DeclarationNameInfo(), NamedConcept, + NamedConcept, nullptr), + NumTemplateArgs(ConvertedArgs.size()), + Satisfaction(Satisfaction ? + ASTConstraintSatisfaction::Create(C, *Satisfaction) : + nullptr) { + setTemplateArguments(ConvertedArgs); +} + +ConceptSpecializationExpr * +ConceptSpecializationExpr::Create(const ASTContext &C, + ConceptDecl *NamedConcept, + ArrayRef ConvertedArgs, + const ConstraintSatisfaction *Satisfaction, + bool Dependent, + bool ContainsUnexpandedParameterPack) { + void *Buffer = C.Allocate(totalSizeToAlloc( + ConvertedArgs.size())); + return new (Buffer) ConceptSpecializationExpr( + C, NamedConcept, ConvertedArgs, Satisfaction, Dependent, + ContainsUnexpandedParameterPack); } ConceptSpecializationExpr * Modified: projects/clang1000-import/contrib/llvm-project/clang/lib/AST/StmtProfile.cpp ============================================================================== --- projects/clang1000-import/contrib/llvm-project/clang/lib/AST/StmtProfile.cpp Sat Feb 15 14:53:26 2020 (r357963) +++ projects/clang1000-import/contrib/llvm-project/clang/lib/AST/StmtProfile.cpp Sat Feb 15 14:58:40 2020 (r357964) @@ -1535,8 +1535,8 @@ static Stmt::StmtClass DecodeOperatorCall(const CXXOpe return Stmt::BinaryOperatorClass; case OO_Spaceship: - // FIXME: Update this once we support <=> expressions. - llvm_unreachable("<=> expressions not supported yet"); + BinaryOp = BO_Cmp; + return Stmt::BinaryOperatorClass; case OO_AmpAmp: BinaryOp = BO_LAnd; Modified: projects/clang1000-import/contrib/llvm-project/clang/lib/Basic/Cuda.cpp ============================================================================== --- projects/clang1000-import/contrib/llvm-project/clang/lib/Basic/Cuda.cpp Sat Feb 15 14:53:26 2020 (r357963) +++ projects/clang1000-import/contrib/llvm-project/clang/lib/Basic/Cuda.cpp Sat Feb 15 14:58:40 2020 (r357964) @@ -2,6 +2,7 @@ #include "llvm/ADT/StringRef.h" #include "llvm/ADT/StringSwitch.h" +#include "llvm/ADT/Twine.h" #include "llvm/Support/ErrorHandling.h" #include "llvm/Support/VersionTuple.h" @@ -31,8 +32,8 @@ const char *CudaVersionToString(CudaVersion V) { llvm_unreachable("invalid enum"); } -CudaVersion CudaStringToVersion(llvm::StringRef S) { - return llvm::StringSwitch(S) +CudaVersion CudaStringToVersion(const llvm::Twine &S) { + return llvm::StringSwitch(S.str()) .Case("7.0", CudaVersion::CUDA_70) .Case("7.5", CudaVersion::CUDA_75) .Case("8.0", CudaVersion::CUDA_80) @@ -40,7 +41,8 @@ CudaVersion CudaStringToVersion(llvm::StringRef S) { .Case("9.1", CudaVersion::CUDA_91) .Case("9.2", CudaVersion::CUDA_92) .Case("10.0", CudaVersion::CUDA_100) - .Case("10.1", CudaVersion::CUDA_101); + .Case("10.1", CudaVersion::CUDA_101) + .Default(CudaVersion::UNKNOWN); } const char *CudaArchToString(CudaArch A) { Modified: projects/clang1000-import/contrib/llvm-project/clang/lib/CodeGen/CodeGenModule.cpp ============================================================================== --- projects/clang1000-import/contrib/llvm-project/clang/lib/CodeGen/CodeGenModule.cpp Sat Feb 15 14:53:26 2020 (r357963) +++ projects/clang1000-import/contrib/llvm-project/clang/lib/CodeGen/CodeGenModule.cpp Sat Feb 15 14:58:40 2020 (r357964) @@ -537,6 +537,13 @@ void CodeGenModule::Release() { getModule().addModuleFlag(llvm::Module::Error, "min_enum_size", EnumWidth); } + if (Arch == llvm::Triple::riscv32 || Arch == llvm::Triple::riscv64) { + StringRef ABIStr = Target.getABI(); + llvm::LLVMContext &Ctx = TheModule.getContext(); + getModule().addModuleFlag(llvm::Module::Error, "target-abi", + llvm::MDString::get(Ctx, ABIStr)); + } + if (CodeGenOpts.SanitizeCfiCrossDso) { // Indicate that we want cross-DSO control flow integrity checks. getModule().addModuleFlag(llvm::Module::Override, "Cross-DSO CFI", 1); Modified: projects/clang1000-import/contrib/llvm-project/clang/lib/Driver/Compilation.cpp ============================================================================== --- projects/clang1000-import/contrib/llvm-project/clang/lib/Driver/Compilation.cpp Sat Feb 15 14:53:26 2020 (r357963) +++ projects/clang1000-import/contrib/llvm-project/clang/lib/Driver/Compilation.cpp Sat Feb 15 14:58:40 2020 (r357964) @@ -258,13 +258,22 @@ void Compilation::initCompilationForDiagnostics() { // Remove any user specified output. Claim any unclaimed arguments, so as // to avoid emitting warnings about unused args. - OptSpecifier OutputOpts[] = { options::OPT_o, options::OPT_MD, - options::OPT_MMD }; + OptSpecifier OutputOpts[] = { + options::OPT_o, options::OPT_MD, options::OPT_MMD, options::OPT_M, + options::OPT_MM, options::OPT_MF, options::OPT_MG, options::OPT_MJ, + options::OPT_MQ, options::OPT_MT, options::OPT_MV}; for (unsigned i = 0, e = llvm::array_lengthof(OutputOpts); i != e; ++i) { if (TranslatedArgs->hasArg(OutputOpts[i])) TranslatedArgs->eraseArg(OutputOpts[i]); } TranslatedArgs->ClaimAllArgs(); + + // Force re-creation of the toolchain Args, otherwise our modifications just + // above will have no effect. + for (auto Arg : TCArgs) + if (Arg.second != TranslatedArgs) + delete Arg.second; + TCArgs.clear(); // Redirect stdout/stderr to /dev/null. Redirects = {None, {""}, {""}}; Modified: projects/clang1000-import/contrib/llvm-project/clang/lib/Driver/Driver.cpp ============================================================================== --- projects/clang1000-import/contrib/llvm-project/clang/lib/Driver/Driver.cpp Sat Feb 15 14:53:26 2020 (r357963) +++ projects/clang1000-import/contrib/llvm-project/clang/lib/Driver/Driver.cpp Sat Feb 15 14:58:40 2020 (r357964) @@ -3757,6 +3757,11 @@ void Driver::BuildJobs(Compilation &C) const { /*TargetDeviceOffloadKind*/ Action::OFK_None); } + // If we have more than one job, then disable integrated-cc1 for now. + if (C.getJobs().size() > 1) + for (auto &J : C.getJobs()) + J.InProcess = false; + // If the user passed -Qunused-arguments or there were errors, don't warn // about any unused arguments. if (Diags.hasErrorOccurred() || Modified: projects/clang1000-import/contrib/llvm-project/clang/lib/Driver/Job.cpp ============================================================================== --- projects/clang1000-import/contrib/llvm-project/clang/lib/Driver/Job.cpp Sat Feb 15 14:53:26 2020 (r357963) +++ projects/clang1000-import/contrib/llvm-project/clang/lib/Driver/Job.cpp Sat Feb 15 14:58:40 2020 (r357964) @@ -371,14 +371,29 @@ int Command::Execute(ArrayRef Inputs) + : Command(Source, Creator, Executable, Arguments, Inputs) { + InProcess = true; +} + void CC1Command::Print(raw_ostream &OS, const char *Terminator, bool Quote, CrashReportInfo *CrashInfo) const { - OS << " (in-process)\n"; + if (InProcess) + OS << " (in-process)\n"; Command::Print(OS, Terminator, Quote, CrashInfo); } -int CC1Command::Execute(ArrayRef> /*Redirects*/, +int CC1Command::Execute(ArrayRef> Redirects, std::string *ErrMsg, bool *ExecutionFailed) const { + // FIXME: Currently, if there're more than one job, we disable + // -fintegrate-cc1. If we're no longer a integrated-cc1 job, fallback to + // out-of-process execution. See discussion in https://reviews.llvm.org/D74447 + if (!InProcess) + return Command::Execute(Redirects, ErrMsg, ExecutionFailed); + PrintFileNames(); SmallVector Argv; Modified: projects/clang1000-import/contrib/llvm-project/clang/lib/Driver/ToolChains/Clang.cpp ============================================================================== --- projects/clang1000-import/contrib/llvm-project/clang/lib/Driver/ToolChains/Clang.cpp Sat Feb 15 14:53:26 2020 (r357963) +++ projects/clang1000-import/contrib/llvm-project/clang/lib/Driver/ToolChains/Clang.cpp Sat Feb 15 14:58:40 2020 (r357964) @@ -4679,6 +4679,11 @@ void Clang::ConstructJob(Compilation &C, const JobActi : "-"); } + // Give the gen diagnostics more chances to succeed, by avoiding intentional + // crashes. + if (D.CCGenDiagnostics) + CmdArgs.push_back("-disable-pragma-debug-crash"); + bool UseSeparateSections = isUseSeparateSections(Triple); if (Args.hasFlag(options::OPT_ffunction_sections, @@ -6048,7 +6053,7 @@ void Clang::ConstructJob(Compilation &C, const JobActi if (Output.getType() == types::TY_Object && Args.hasFlag(options::OPT__SLASH_showFilenames, options::OPT__SLASH_showFilenames_, false)) { - C.getJobs().getJobs().back()->setPrintInputFilenames(true); + C.getJobs().getJobs().back()->PrintInputFilenames = true; } if (Arg *A = Args.getLastArg(options::OPT_pg)) Modified: projects/clang1000-import/contrib/llvm-project/clang/lib/Driver/ToolChains/Cuda.cpp ============================================================================== --- projects/clang1000-import/contrib/llvm-project/clang/lib/Driver/ToolChains/Cuda.cpp Sat Feb 15 14:53:26 2020 (r357963) +++ projects/clang1000-import/contrib/llvm-project/clang/lib/Driver/ToolChains/Cuda.cpp Sat Feb 15 14:58:40 2020 (r357964) @@ -32,37 +32,24 @@ using namespace llvm::opt; // Parses the contents of version.txt in an CUDA installation. It should // contain one line of the from e.g. "CUDA Version 7.5.2". -static CudaVersion ParseCudaVersionFile(llvm::StringRef V) { +static CudaVersion ParseCudaVersionFile(const Driver &D, llvm::StringRef V) { if (!V.startswith("CUDA Version ")) return CudaVersion::UNKNOWN; V = V.substr(strlen("CUDA Version ")); - int Major = -1, Minor = -1; - auto First = V.split('.'); - auto Second = First.second.split('.'); - if (First.first.getAsInteger(10, Major) || - Second.first.getAsInteger(10, Minor)) + SmallVector VersionParts; + V.split(VersionParts, '.'); + if (VersionParts.size() < 2) return CudaVersion::UNKNOWN; + std::string MajorMinor = join_items(".", VersionParts[0], VersionParts[1]); + CudaVersion Version = CudaStringToVersion(MajorMinor); + if (Version != CudaVersion::UNKNOWN) + return Version; - if (Major == 7 && Minor == 0) { - // This doesn't appear to ever happen -- version.txt doesn't exist in the - // CUDA 7 installs I've seen. But no harm in checking. - return CudaVersion::CUDA_70; - } - if (Major == 7 && Minor == 5) - return CudaVersion::CUDA_75; - if (Major == 8 && Minor == 0) - return CudaVersion::CUDA_80; - if (Major == 9 && Minor == 0) - return CudaVersion::CUDA_90; - if (Major == 9 && Minor == 1) - return CudaVersion::CUDA_91; - if (Major == 9 && Minor == 2) - return CudaVersion::CUDA_92; - if (Major == 10 && Minor == 0) - return CudaVersion::CUDA_100; - if (Major == 10 && Minor == 1) - return CudaVersion::CUDA_101; - return CudaVersion::UNKNOWN; + // Issue a warning and assume that the version we've found is compatible with + // the latest version we support. + D.Diag(diag::warn_drv_unknown_cuda_version) + << MajorMinor << CudaVersionToString(CudaVersion::LATEST); + return CudaVersion::LATEST; } CudaInstallationDetector::CudaInstallationDetector( @@ -160,7 +147,7 @@ CudaInstallationDetector::CudaInstallationDetector( // version.txt isn't present. Version = CudaVersion::CUDA_70; } else { - Version = ParseCudaVersionFile((*VersionFile)->getBuffer()); + Version = ParseCudaVersionFile(D, (*VersionFile)->getBuffer()); } if (Version >= CudaVersion::CUDA_90) { Modified: projects/clang1000-import/contrib/llvm-project/clang/lib/Frontend/CompilerInvocation.cpp ============================================================================== --- projects/clang1000-import/contrib/llvm-project/clang/lib/Frontend/CompilerInvocation.cpp Sat Feb 15 14:53:26 2020 (r357963) +++ projects/clang1000-import/contrib/llvm-project/clang/lib/Frontend/CompilerInvocation.cpp Sat Feb 15 14:58:40 2020 (r357964) @@ -3440,6 +3440,7 @@ static void ParsePreprocessorArgs(PreprocessorOptions Opts.LexEditorPlaceholders = false; Opts.SetUpStaticAnalyzer = Args.hasArg(OPT_setup_static_analyzer); + Opts.DisablePragmaDebugCrash = Args.hasArg(OPT_disable_pragma_debug_crash); } static void ParsePreprocessorOutputArgs(PreprocessorOutputOptions &Opts, Modified: projects/clang1000-import/contrib/llvm-project/clang/lib/Headers/__clang_cuda_intrinsics.h ============================================================================== --- projects/clang1000-import/contrib/llvm-project/clang/lib/Headers/__clang_cuda_intrinsics.h Sat Feb 15 14:53:26 2020 (r357963) +++ projects/clang1000-import/contrib/llvm-project/clang/lib/Headers/__clang_cuda_intrinsics.h Sat Feb 15 14:58:40 2020 (r357964) @@ -45,7 +45,7 @@ _Static_assert(sizeof(__val) == sizeof(__Bits)); \ _Static_assert(sizeof(__Bits) == 2 * sizeof(int)); \ __Bits __tmp; \ - memcpy(&__val, &__tmp, sizeof(__val)); \ + memcpy(&__tmp, &__val, sizeof(__val)); \ __tmp.__a = ::__FnName(__tmp.__a, __offset, __width); \ __tmp.__b = ::__FnName(__tmp.__b, __offset, __width); \ long long __ret; \ @@ -129,7 +129,7 @@ __MAKE_SHUFFLES(__shfl_xor, __nvvm_shfl_bfly_i32, __nv _Static_assert(sizeof(__val) == sizeof(__Bits)); \ _Static_assert(sizeof(__Bits) == 2 * sizeof(int)); \ __Bits __tmp; \ - memcpy(&__val, &__tmp, sizeof(__val)); \ + memcpy(&__tmp, &__val, sizeof(__val)); \ __tmp.__a = ::__FnName(__mask, __tmp.__a, __offset, __width); \ __tmp.__b = ::__FnName(__mask, __tmp.__b, __offset, __width); \ long long __ret; \ Modified: projects/clang1000-import/contrib/llvm-project/clang/lib/Headers/__clang_cuda_runtime_wrapper.h ============================================================================== --- projects/clang1000-import/contrib/llvm-project/clang/lib/Headers/__clang_cuda_runtime_wrapper.h Sat Feb 15 14:53:26 2020 (r357963) +++ projects/clang1000-import/contrib/llvm-project/clang/lib/Headers/__clang_cuda_runtime_wrapper.h Sat Feb 15 14:58:40 2020 (r357964) @@ -48,7 +48,7 @@ #include "cuda.h" #if !defined(CUDA_VERSION) #error "cuda.h did not define CUDA_VERSION" -#elif CUDA_VERSION < 7000 || CUDA_VERSION > 10010 +#elif CUDA_VERSION < 7000 #error "Unsupported CUDA version!" #endif Modified: projects/clang1000-import/contrib/llvm-project/clang/lib/Headers/xmmintrin.h ============================================================================== --- projects/clang1000-import/contrib/llvm-project/clang/lib/Headers/xmmintrin.h Sat Feb 15 14:53:26 2020 (r357963) +++ projects/clang1000-import/contrib/llvm-project/clang/lib/Headers/xmmintrin.h Sat Feb 15 14:58:40 2020 (r357964) @@ -2181,7 +2181,7 @@ void _mm_sfence(void); /// 3: Bits [63:48] are copied to the destination. /// \returns A 16-bit integer containing the extracted 16 bits of packed data. #define _mm_extract_pi16(a, n) \ - (int)__builtin_ia32_vec_ext_v4hi((__m64)a, (int)n) + (int)__builtin_ia32_vec_ext_v4hi((__v4hi)a, (int)n) /// Copies data from the 64-bit vector of [4 x i16] to the destination, /// and inserts the lower 16-bits of an integer operand at the 16-bit offset @@ -2212,7 +2212,7 @@ void _mm_sfence(void); /// \returns A 64-bit integer vector containing the copied packed data from the /// operands. #define _mm_insert_pi16(a, d, n) \ - (__m64)__builtin_ia32_vec_set_v4hi((__m64)a, (int)d, (int)n) + (__m64)__builtin_ia32_vec_set_v4hi((__v4hi)a, (int)d, (int)n) /// Compares each of the corresponding packed 16-bit integer values of /// the 64-bit integer vectors, and writes the greater value to the Modified: projects/clang1000-import/contrib/llvm-project/clang/lib/Lex/Lexer.cpp ============================================================================== --- projects/clang1000-import/contrib/llvm-project/clang/lib/Lex/Lexer.cpp Sat Feb 15 14:53:26 2020 (r357963) +++ projects/clang1000-import/contrib/llvm-project/clang/lib/Lex/Lexer.cpp Sat Feb 15 14:58:40 2020 (r357964) @@ -2552,8 +2552,8 @@ bool Lexer::SkipBlockComment(Token &Result, const char '/', '/', '/', '/', '/', '/', '/', '/', '/', '/', '/', '/', '/', '/', '/', '/' }; - while (CurPtr+16 <= BufferEnd && - !vec_any_eq(*(const vector unsigned char*)CurPtr, Slashes)) + while (CurPtr + 16 <= BufferEnd && + !vec_any_eq(*(const __vector unsigned char *)CurPtr, Slashes)) CurPtr += 16; #else // Scan for '/' quickly. Many block comments are very large. Modified: projects/clang1000-import/contrib/llvm-project/clang/lib/Lex/Pragma.cpp ============================================================================== --- projects/clang1000-import/contrib/llvm-project/clang/lib/Lex/Pragma.cpp Sat Feb 15 14:53:26 2020 (r357963) +++ projects/clang1000-import/contrib/llvm-project/clang/lib/Lex/Pragma.cpp Sat Feb 15 14:58:40 2020 (r357964) @@ -30,6 +30,7 @@ #include "clang/Lex/PPCallbacks.h" #include "clang/Lex/Preprocessor.h" #include "clang/Lex/PreprocessorLexer.h" +#include "clang/Lex/PreprocessorOptions.h" #include "clang/Lex/Token.h" #include "clang/Lex/TokenLexer.h" #include "llvm/ADT/ArrayRef.h" @@ -39,7 +40,6 @@ #include "llvm/ADT/SmallVector.h" #include "llvm/ADT/StringSwitch.h" #include "llvm/ADT/StringRef.h" -#include "llvm/Support/CrashRecoveryContext.h" #include "llvm/Support/Compiler.h" #include "llvm/Support/ErrorHandling.h" #include @@ -1035,15 +1035,19 @@ struct PragmaDebugHandler : public PragmaHandler { IdentifierInfo *II = Tok.getIdentifierInfo(); if (II->isStr("assert")) { - llvm_unreachable("This is an assertion!"); + if (!PP.getPreprocessorOpts().DisablePragmaDebugCrash) + llvm_unreachable("This is an assertion!"); } else if (II->isStr("crash")) { - LLVM_BUILTIN_TRAP; + if (!PP.getPreprocessorOpts().DisablePragmaDebugCrash) + LLVM_BUILTIN_TRAP; } else if (II->isStr("parser_crash")) { - Token Crasher; - Crasher.startToken(); - Crasher.setKind(tok::annot_pragma_parser_crash); - Crasher.setAnnotationRange(SourceRange(Tok.getLocation())); - PP.EnterToken(Crasher, /*IsReinject*/false); + if (!PP.getPreprocessorOpts().DisablePragmaDebugCrash) { + Token Crasher; + Crasher.startToken(); + Crasher.setKind(tok::annot_pragma_parser_crash); + Crasher.setAnnotationRange(SourceRange(Tok.getLocation())); + PP.EnterToken(Crasher, /*IsReinject*/ false); + } } else if (II->isStr("dump")) { Token Identifier; PP.LexUnexpandedToken(Identifier); @@ -1075,9 +1079,11 @@ struct PragmaDebugHandler : public PragmaHandler { << II->getName(); } } else if (II->isStr("llvm_fatal_error")) { - llvm::report_fatal_error("#pragma clang __debug llvm_fatal_error"); + if (!PP.getPreprocessorOpts().DisablePragmaDebugCrash) + llvm::report_fatal_error("#pragma clang __debug llvm_fatal_error"); } else if (II->isStr("llvm_unreachable")) { - llvm_unreachable("#pragma clang __debug llvm_unreachable"); + if (!PP.getPreprocessorOpts().DisablePragmaDebugCrash) + llvm_unreachable("#pragma clang __debug llvm_unreachable"); } else if (II->isStr("macro")) { Token MacroName; PP.LexUnexpandedToken(MacroName); @@ -1104,11 +1110,8 @@ struct PragmaDebugHandler : public PragmaHandler { } M->dump(); } else if (II->isStr("overflow_stack")) { - DebugOverflowStack(); - } else if (II->isStr("handle_crash")) { - llvm::CrashRecoveryContext *CRC =llvm::CrashRecoveryContext::GetCurrent(); - if (CRC) - CRC->HandleCrash(); + if (!PP.getPreprocessorOpts().DisablePragmaDebugCrash) + DebugOverflowStack(); } else if (II->isStr("captured")) { HandleCaptured(PP); } else { Modified: projects/clang1000-import/contrib/llvm-project/clang/lib/Parse/ParseDecl.cpp ============================================================================== --- projects/clang1000-import/contrib/llvm-project/clang/lib/Parse/ParseDecl.cpp Sat Feb 15 14:53:26 2020 (r357963) +++ projects/clang1000-import/contrib/llvm-project/clang/lib/Parse/ParseDecl.cpp Sat Feb 15 14:58:40 2020 (r357964) @@ -5060,6 +5060,8 @@ bool Parser::isDeclarationSpecifier(bool Disambiguatin // recurse to handle whatever we get. if (TryAnnotateTypeOrScopeToken()) return true; + if (TryAnnotateTypeConstraint()) + return true; if (Tok.is(tok::identifier)) return false; @@ -5192,11 +5194,14 @@ bool Parser::isDeclarationSpecifier(bool Disambiguatin // placeholder-type-specifier case tok::annot_template_id: { - TemplateIdAnnotation *TemplateId = takeTemplateIdAnnotation(Tok); - return TemplateId->Kind == TNK_Concept_template && + return isTypeConstraintAnnotation() && (NextToken().is(tok::kw_auto) || NextToken().is(tok::kw_decltype)); } - + case tok::annot_cxxscope: + if (NextToken().is(tok::identifier) && TryAnnotateTypeConstraint()) + return true; + return isTypeConstraintAnnotation() && + GetLookAheadToken(2).isOneOf(tok::kw_auto, tok::kw_decltype); case tok::kw___declspec: case tok::kw___cdecl: case tok::kw___stdcall: Modified: projects/clang1000-import/contrib/llvm-project/clang/lib/Parse/ParseDeclCXX.cpp ============================================================================== --- projects/clang1000-import/contrib/llvm-project/clang/lib/Parse/ParseDeclCXX.cpp Sat Feb 15 14:53:26 2020 (r357963) +++ projects/clang1000-import/contrib/llvm-project/clang/lib/Parse/ParseDeclCXX.cpp Sat Feb 15 14:58:40 2020 (r357964) @@ -2716,7 +2716,7 @@ Parser::ParseCXXClassMemberDeclaration(AccessSpecifier // C++11 [dcl.attr.grammar] p4: If an attribute-specifier-seq appertains // to a friend declaration, that declaration shall be a definition. if (DeclaratorInfo.isFunctionDeclarator() && - DefinitionKind != FDK_Definition && DS.isFriendSpecified()) { + DefinitionKind == FDK_Declaration && DS.isFriendSpecified()) { // Diagnose attributes that appear before decl specifier: // [[]] friend int foo(); ProhibitAttributes(FnAttrs); Modified: projects/clang1000-import/contrib/llvm-project/clang/lib/Parse/ParseExprCXX.cpp ============================================================================== --- projects/clang1000-import/contrib/llvm-project/clang/lib/Parse/ParseExprCXX.cpp Sat Feb 15 14:53:26 2020 (r357963) +++ projects/clang1000-import/contrib/llvm-project/clang/lib/Parse/ParseExprCXX.cpp Sat Feb 15 14:58:40 2020 (r357964) @@ -3374,25 +3374,6 @@ ExprResult Parser::ParseRequiresExpression() { Diag(Tok, diag::err_requires_expr_missing_arrow) << FixItHint::CreateInsertion(Tok.getLocation(), "->"); // Try to parse a 'type-constraint' - CXXScopeSpec SS; - if (ParseOptionalCXXScopeSpecifier(SS, ParsedType(), - /*EnteringContext=*/false, - /*MayBePseudoDestructor=*/nullptr, - // If this is not a type-constraint, - // then this scope-spec is part of - // the typename of a non-type - // template parameter - /*IsTypename=*/true, - /*LastII=*/nullptr, - // We won't find concepts in - // non-namespaces anyway, so might as - // well parse this correctly for - // possible type names. - /*OnlyNamespace=*/false, - /*SuppressDiagnostic=*/true)) { - SkipUntil(tok::semi, tok::r_brace, SkipUntilFlags::StopBeforeMatch); - break; - } if (TryAnnotateTypeConstraint()) { SkipUntil(tok::semi, tok::r_brace, SkipUntilFlags::StopBeforeMatch); break; @@ -3402,8 +3383,13 @@ ExprResult Parser::ParseRequiresExpression() { SkipUntil(tok::semi, tok::r_brace, SkipUntilFlags::StopBeforeMatch); break; } - if (Tok.is(tok::annot_cxxscope)) + CXXScopeSpec SS; + if (Tok.is(tok::annot_cxxscope)) { + Actions.RestoreNestedNameSpecifierAnnotation(Tok.getAnnotationValue(), + Tok.getAnnotationRange(), + SS); ConsumeAnnotationToken(); + } Req = Actions.ActOnCompoundRequirement( Expression.get(), NoexceptLoc, SS, takeTemplateIdAnnotation(Tok), @@ -3490,6 +3476,7 @@ ExprResult Parser::ParseRequiresExpression() { // We need to consume the typename to allow 'requires { typename a; }' SourceLocation TypenameKWLoc = ConsumeToken(); if (TryAnnotateCXXScopeToken()) { + TPA.Commit(); SkipUntil(tok::semi, tok::r_brace, SkipUntilFlags::StopBeforeMatch); break; } Modified: projects/clang1000-import/contrib/llvm-project/clang/lib/Sema/SemaCast.cpp ============================================================================== --- projects/clang1000-import/contrib/llvm-project/clang/lib/Sema/SemaCast.cpp Sat Feb 15 14:53:26 2020 (r357963) +++ projects/clang1000-import/contrib/llvm-project/clang/lib/Sema/SemaCast.cpp Sat Feb 15 14:58:40 2020 (r357964) @@ -2311,6 +2311,24 @@ static TryCastResult TryReinterpretCast(Sema &Self, Ex return SuccessResult; } + // Diagnose address space conversion in nested pointers. + QualType DestPtee = DestType->getPointeeType().isNull() + ? DestType->getPointeeType() + : DestType->getPointeeType()->getPointeeType(); + QualType SrcPtee = SrcType->getPointeeType().isNull() + ? SrcType->getPointeeType() + : SrcType->getPointeeType()->getPointeeType(); + while (!DestPtee.isNull() && !SrcPtee.isNull()) { + if (DestPtee.getAddressSpace() != SrcPtee.getAddressSpace()) { + Self.Diag(OpRange.getBegin(), + diag::warn_bad_cxx_cast_nested_pointer_addr_space) + << CStyle << SrcType << DestType << SrcExpr.get()->getSourceRange(); + break; + } + DestPtee = DestPtee->getPointeeType(); + SrcPtee = SrcPtee->getPointeeType(); + } + // C++ 5.2.10p7: A pointer to an object can be explicitly converted to // a pointer to an object of different type. // Void pointers are not specified, but supported by every compiler out there. Modified: projects/clang1000-import/contrib/llvm-project/clang/lib/Sema/SemaConcept.cpp ============================================================================== --- projects/clang1000-import/contrib/llvm-project/clang/lib/Sema/SemaConcept.cpp Sat Feb 15 14:53:26 2020 (r357963) +++ projects/clang1000-import/contrib/llvm-project/clang/lib/Sema/SemaConcept.cpp Sat Feb 15 14:58:40 2020 (r357964) *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-projects@freebsd.org Sat Feb 15 15:03:26 2020 Return-Path: Delivered-To: svn-src-projects@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id F29AF23E1B0 for ; Sat, 15 Feb 2020 15:03:26 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48KYR2673xz4LtB; Sat, 15 Feb 2020 15:03:26 +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 mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id B36A7EB03; Sat, 15 Feb 2020 15:03:26 +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 01FF3QFS035956; Sat, 15 Feb 2020 15:03:26 GMT (envelope-from dim@FreeBSD.org) Received: (from dim@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 01FF3Q8P035955; Sat, 15 Feb 2020 15:03:26 GMT (envelope-from dim@FreeBSD.org) Message-Id: <202002151503.01FF3Q8P035955@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: dim set sender to dim@FreeBSD.org using -f From: Dimitry Andric Date: Sat, 15 Feb 2020 15:03:26 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r357965 - projects/clang1000-import/contrib/llvm-project/libunwind/src X-SVN-Group: projects X-SVN-Commit-Author: dim X-SVN-Commit-Paths: projects/clang1000-import/contrib/llvm-project/libunwind/src X-SVN-Commit-Revision: 357965 X-SVN-Commit-Repository: base 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.29 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, 15 Feb 2020 15:03:27 -0000 Author: dim Date: Sat Feb 15 15:03:26 2020 New Revision: 357965 URL: https://svnweb.freebsd.org/changeset/base/357965 Log: Merge commit 221c5af4e from llvm git (by Nico Weber): Fix a -Wbitwise-conditional-parentheses warning in _LIBUNWIND_ARM_EHABI libunwind builds ``` src/UnwindCursor.hpp:1344:51: error: operator '?:' has lower precedence than '|'; '|' will be evaluated first [-Werror,-Wbitwise-conditional-parentheses] _info.flags = isSingleWordEHT ? 1 : 0 | scope32 ? 0x2 : 0; // Use enum? ~~~~~~~~~~~ ^ src/UnwindCursor.hpp:1344:51: note: place parentheses around the '|' expression to silence this warning _info.flags = isSingleWordEHT ? 1 : 0 | scope32 ? 0x2 : 0; // Use enum? ^ ( ) src/UnwindCursor.hpp:1344:51: note: place parentheses around the '?:' expression to evaluate it first _info.flags = isSingleWordEHT ? 1 : 0 | scope32 ? 0x2 : 0; // Use enum? ^ ( ) ``` But `0 |` is a no-op for either of those two interpretations, so I think what was meant here was ``` _info.flags = (isSingleWordEHT ? 1 : 0) | (scope32 ? 0x2 : 0); // Use enum? ``` Previously, if `isSingleWordEHT` was set, bit 2 would never be set. Now it is. From what I can tell, the only thing that checks these bitmask is ProcessDescriptors in Unwind-EHABI.cpp, and that only cares about bit 1, so in practice this shouldn't have much of an effect. Differential Revision: https://reviews.llvm.org/D73890 This fixes the above errors when building libunwind for arm variants. Modified: projects/clang1000-import/contrib/llvm-project/libunwind/src/UnwindCursor.hpp Modified: projects/clang1000-import/contrib/llvm-project/libunwind/src/UnwindCursor.hpp ============================================================================== --- projects/clang1000-import/contrib/llvm-project/libunwind/src/UnwindCursor.hpp Sat Feb 15 14:58:40 2020 (r357964) +++ projects/clang1000-import/contrib/llvm-project/libunwind/src/UnwindCursor.hpp Sat Feb 15 15:03:26 2020 (r357965) @@ -1353,7 +1353,8 @@ bool UnwindCursor::getInfoFromEHABISection( // If the high bit is set, the exception handling table entry is inline inside // the index table entry on the second word (aka |indexDataAddr|). Otherwise, - // the table points at an offset in the exception handling table (section 5 EHABI). + // the table points at an offset in the exception handling table (section 5 + // EHABI). pint_t exceptionTableAddr; uint32_t exceptionTableData; bool isSingleWordEHT; @@ -1452,7 +1453,7 @@ bool UnwindCursor::getInfoFromEHABISection( _info.unwind_info = exceptionTableAddr; _info.lsda = lsda; // flags is pr_cache.additional. See EHABI #7.2 for definition of bit 0. - _info.flags = isSingleWordEHT ? 1 : 0 | scope32 ? 0x2 : 0; // Use enum? + _info.flags = (isSingleWordEHT ? 1 : 0) | (scope32 ? 0x2 : 0); // Use enum? return true; } From owner-svn-src-projects@freebsd.org Sat Feb 15 15:05:29 2020 Return-Path: Delivered-To: svn-src-projects@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 0293423E207 for ; Sat, 15 Feb 2020 15:05:29 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48KYTN73XTz4M0c; Sat, 15 Feb 2020 15:05:28 +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 mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id ED27BEB16; Sat, 15 Feb 2020 15:05:28 +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 01FF5S1R036139; Sat, 15 Feb 2020 15:05:28 GMT (envelope-from dim@FreeBSD.org) Received: (from dim@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 01FF5P6O036121; Sat, 15 Feb 2020 15:05:25 GMT (envelope-from dim@FreeBSD.org) Message-Id: <202002151505.01FF5P6O036121@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: dim set sender to dim@FreeBSD.org using -f From: Dimitry Andric Date: Sat, 15 Feb 2020 15:05:25 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r357966 - in projects/clang1000-import: crypto/openssh sys/amd64/amd64 sys/arm64/arm64 sys/compat/cloudabi sys/contrib/dev/acpica sys/contrib/dev/acpica/common sys/contrib/dev/acpica/co... X-SVN-Group: projects X-SVN-Commit-Author: dim X-SVN-Commit-Paths: in projects/clang1000-import: crypto/openssh sys/amd64/amd64 sys/arm64/arm64 sys/compat/cloudabi sys/contrib/dev/acpica sys/contrib/dev/acpica/common sys/contrib/dev/acpica/compiler sys/contrib/dev/ac... X-SVN-Commit-Revision: 357966 X-SVN-Commit-Repository: base 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.29 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, 15 Feb 2020 15:05:29 -0000 Author: dim Date: Sat Feb 15 15:05:25 2020 New Revision: 357966 URL: https://svnweb.freebsd.org/changeset/base/357966 Log: Merge ^/head r357931 through r357965. Modified: projects/clang1000-import/crypto/openssh/FREEBSD-upgrade projects/clang1000-import/crypto/openssh/FREEBSD-vendor projects/clang1000-import/sys/amd64/amd64/pmap.c projects/clang1000-import/sys/amd64/amd64/trap.c projects/clang1000-import/sys/arm64/arm64/gicv3_its.c projects/clang1000-import/sys/compat/cloudabi/cloudabi_file.c projects/clang1000-import/sys/contrib/dev/acpica/changes.txt projects/clang1000-import/sys/contrib/dev/acpica/common/adisasm.c projects/clang1000-import/sys/contrib/dev/acpica/common/dmtables.c projects/clang1000-import/sys/contrib/dev/acpica/compiler/aslanalyze.c projects/clang1000-import/sys/contrib/dev/acpica/compiler/aslcompile.c projects/clang1000-import/sys/contrib/dev/acpica/compiler/aslcompiler.h projects/clang1000-import/sys/contrib/dev/acpica/compiler/aslexternal.c projects/clang1000-import/sys/contrib/dev/acpica/compiler/aslload.c projects/clang1000-import/sys/contrib/dev/acpica/compiler/aslmessages.c projects/clang1000-import/sys/contrib/dev/acpica/compiler/aslmessages.h projects/clang1000-import/sys/contrib/dev/acpica/compiler/aslmethod.c projects/clang1000-import/sys/contrib/dev/acpica/compiler/aslparseop.c projects/clang1000-import/sys/contrib/dev/acpica/compiler/aslprimaries.y projects/clang1000-import/sys/contrib/dev/acpica/compiler/aslrules.y projects/clang1000-import/sys/contrib/dev/acpica/compiler/asltransform.c projects/clang1000-import/sys/contrib/dev/acpica/compiler/aslutils.c projects/clang1000-import/sys/contrib/dev/acpica/compiler/aslxref.c projects/clang1000-import/sys/contrib/dev/acpica/compiler/cvparser.c projects/clang1000-import/sys/contrib/dev/acpica/components/events/evevent.c projects/clang1000-import/sys/contrib/dev/acpica/components/events/evxfgpe.c projects/clang1000-import/sys/contrib/dev/acpica/components/hardware/hwgpe.c projects/clang1000-import/sys/contrib/dev/acpica/components/hardware/hwsleep.c projects/clang1000-import/sys/contrib/dev/acpica/components/namespace/nsnames.c projects/clang1000-import/sys/contrib/dev/acpica/components/namespace/nsxfname.c projects/clang1000-import/sys/contrib/dev/acpica/components/tables/tbxface.c projects/clang1000-import/sys/contrib/dev/acpica/components/utilities/utobject.c projects/clang1000-import/sys/contrib/dev/acpica/include/acconvert.h projects/clang1000-import/sys/contrib/dev/acpica/include/achware.h projects/clang1000-import/sys/contrib/dev/acpica/include/acmacros.h projects/clang1000-import/sys/contrib/dev/acpica/include/acpixf.h projects/clang1000-import/sys/contrib/dev/acpica/include/actbl1.h projects/clang1000-import/sys/contrib/dev/acpica/include/actypes.h projects/clang1000-import/sys/fs/tmpfs/tmpfs_vfsops.c projects/clang1000-import/sys/i386/i386/trap.c projects/clang1000-import/sys/kern/kern_descrip.c projects/clang1000-import/sys/kern/kern_event.c projects/clang1000-import/sys/kern/kern_tc.c projects/clang1000-import/sys/kern/subr_capability.c projects/clang1000-import/sys/kern/subr_coverage.c projects/clang1000-import/sys/kern/sys_capability.c projects/clang1000-import/sys/kern/vfs_acl.c projects/clang1000-import/sys/kern/vfs_extattr.c projects/clang1000-import/sys/kern/vfs_lookup.c projects/clang1000-import/sys/kern/vfs_subr.c projects/clang1000-import/sys/kern/vfs_syscalls.c projects/clang1000-import/sys/kern/vfs_vnops.c projects/clang1000-import/sys/mips/include/pcpu.h projects/clang1000-import/sys/netinet/sctp_syscalls.c projects/clang1000-import/sys/sys/_cscan_atomic.h projects/clang1000-import/sys/sys/atomic_common.h projects/clang1000-import/sys/sys/capsicum.h projects/clang1000-import/sys/vm/vm_mmap.c projects/clang1000-import/sys/vm/vm_page.c projects/clang1000-import/sys/vm/vm_pageout.c projects/clang1000-import/sys/x86/x86/mp_x86.c Directory Properties: projects/clang1000-import/ (props changed) projects/clang1000-import/crypto/openssh/ (props changed) projects/clang1000-import/sys/contrib/dev/acpica/ (props changed) Modified: projects/clang1000-import/crypto/openssh/FREEBSD-upgrade ============================================================================== --- projects/clang1000-import/crypto/openssh/FREEBSD-upgrade Sat Feb 15 15:03:26 2020 (r357965) +++ projects/clang1000-import/crypto/openssh/FREEBSD-upgrade Sat Feb 15 15:05:25 2020 (r357966) @@ -5,7 +5,7 @@ pretty fast once you're done with this checklist. 01) Download the latest OpenSSH-portable tarball and signature from - OpenBSD (ftp://ftp.openbsd.org/pub/OpenBSD/OpenSSH/portable/). + OpenBSD (https://ftp.openbsd.org/pub/OpenBSD/OpenSSH/portable/). 02) Verify the signature: Modified: projects/clang1000-import/crypto/openssh/FREEBSD-vendor ============================================================================== --- projects/clang1000-import/crypto/openssh/FREEBSD-vendor Sat Feb 15 15:03:26 2020 (r357965) +++ projects/clang1000-import/crypto/openssh/FREEBSD-vendor Sat Feb 15 15:05:25 2020 (r357966) @@ -1,6 +1,6 @@ # $FreeBSD$ Project: Portable OpenSSH ProjectURL: http://www.openssh.com/portable.html -Version: 5.2p1 +Version: 7.9p1 License: BSD Maintainer: des Modified: projects/clang1000-import/sys/amd64/amd64/pmap.c ============================================================================== --- projects/clang1000-import/sys/amd64/amd64/pmap.c Sat Feb 15 15:03:26 2020 (r357965) +++ projects/clang1000-import/sys/amd64/amd64/pmap.c Sat Feb 15 15:05:25 2020 (r357966) @@ -796,7 +796,7 @@ again: PV_STAT(i = 0); for (p = &pmap_invl_gen_head;; p = prev.next) { PV_STAT(i++); - prevl = atomic_load_ptr(&p->next); + prevl = (uintptr_t)atomic_load_ptr(&p->next); if ((prevl & PMAP_INVL_GEN_NEXT_INVALID) != 0) { PV_STAT(atomic_add_long(&invl_start_restart, 1)); lock_delay(&lda); @@ -903,7 +903,7 @@ pmap_delayed_invl_finish_u(void) again: for (p = &pmap_invl_gen_head; p != NULL; p = (void *)prevl) { - prevl = atomic_load_ptr(&p->next); + prevl = (uintptr_t)atomic_load_ptr(&p->next); if ((prevl & PMAP_INVL_GEN_NEXT_INVALID) != 0) { PV_STAT(atomic_add_long(&invl_finish_restart, 1)); lock_delay(&lda); @@ -954,7 +954,7 @@ DB_SHOW_COMMAND(di_queue, pmap_di_queue) for (p = &pmap_invl_gen_head, first = true; p != NULL; p = pn, first = false) { - nextl = atomic_load_ptr(&p->next); + nextl = (uintptr_t)atomic_load_ptr(&p->next); pn = (void *)(nextl & ~PMAP_INVL_GEN_NEXT_INVALID); td = first ? NULL : __containerof(p, struct thread, td_md.md_invl_gen); Modified: projects/clang1000-import/sys/amd64/amd64/trap.c ============================================================================== --- projects/clang1000-import/sys/amd64/amd64/trap.c Sat Feb 15 15:03:26 2020 (r357965) +++ projects/clang1000-import/sys/amd64/amd64/trap.c Sat Feb 15 15:05:25 2020 (r357966) @@ -932,7 +932,7 @@ trap_user_dtrace(struct trapframe *frame, int (**hookp { int (*hook)(struct trapframe *); - hook = (int (*)(struct trapframe *))atomic_load_ptr(hookp); + hook = atomic_load_ptr(hookp); enable_intr(); if (hook != NULL) return ((hook)(frame) == 0); @@ -1075,7 +1075,7 @@ amd64_syscall_ret_flush_l1d_check(int error) if (error != EEXIST && error != EAGAIN && error != EXDEV && error != ENOENT && error != ENOTCONN && error != EINPROGRESS) { - p = (void *)atomic_load_ptr(&syscall_ret_l1d_flush); + p = atomic_load_ptr(&syscall_ret_l1d_flush); if (p != NULL) p(); } Modified: projects/clang1000-import/sys/arm64/arm64/gicv3_its.c ============================================================================== --- projects/clang1000-import/sys/arm64/arm64/gicv3_its.c Sat Feb 15 15:03:26 2020 (r357965) +++ projects/clang1000-import/sys/arm64/arm64/gicv3_its.c Sat Feb 15 15:05:25 2020 (r357966) @@ -547,7 +547,7 @@ gicv3_its_conftable_init(struct gicv3_its_softc *sc) { void *conf_table; - conf_table = (void *)atomic_load_ptr((uintptr_t *)&conf_base); + conf_table = atomic_load_ptr(&conf_base); if (conf_table == NULL) { conf_table = contigmalloc(LPI_CONFTAB_SIZE, M_GICV3_ITS, M_WAITOK, 0, LPI_CONFTAB_MAX_ADDR, @@ -556,8 +556,7 @@ gicv3_its_conftable_init(struct gicv3_its_softc *sc) if (atomic_cmpset_ptr((uintptr_t *)&conf_base, (uintptr_t)NULL, (uintptr_t)conf_table) == 0) { contigfree(conf_table, LPI_CONFTAB_SIZE, M_GICV3_ITS); - conf_table = - (void *)atomic_load_ptr((uintptr_t *)&conf_base); + conf_table = atomic_load_ptr(&conf_base); } } sc->sc_conf_base = conf_table; Modified: projects/clang1000-import/sys/compat/cloudabi/cloudabi_file.c ============================================================================== --- projects/clang1000-import/sys/compat/cloudabi/cloudabi_file.c Sat Feb 15 15:03:26 2020 (r357965) +++ projects/clang1000-import/sys/compat/cloudabi/cloudabi_file.c Sat Feb 15 15:05:25 2020 (r357966) @@ -214,7 +214,7 @@ cloudabi_sys_file_open(struct thread *td, fds.fs_rights_base | fds.fs_rights_inheriting, &rights); if (error != 0) return (error); - cap_rights_set(&rights, CAP_LOOKUP); + cap_rights_set_one(&rights, CAP_LOOKUP); /* Convert rights to corresponding access mode. */ read = (fds.fs_rights_base & (CLOUDABI_RIGHT_FD_READ | @@ -227,7 +227,7 @@ cloudabi_sys_file_open(struct thread *td, /* Convert open flags. */ if ((uap->oflags & CLOUDABI_O_CREAT) != 0) { fflags |= O_CREAT; - cap_rights_set(&rights, CAP_CREATE); + cap_rights_set_one(&rights, CAP_CREATE); } if ((uap->oflags & CLOUDABI_O_DIRECTORY) != 0) fflags |= O_DIRECTORY; @@ -235,7 +235,7 @@ cloudabi_sys_file_open(struct thread *td, fflags |= O_EXCL; if ((uap->oflags & CLOUDABI_O_TRUNC) != 0) { fflags |= O_TRUNC; - cap_rights_set(&rights, CAP_FTRUNCATE); + cap_rights_set_one(&rights, CAP_FTRUNCATE); } if ((fds.fs_flags & CLOUDABI_FDFLAG_APPEND) != 0) fflags |= O_APPEND; @@ -244,12 +244,12 @@ cloudabi_sys_file_open(struct thread *td, if ((fds.fs_flags & (CLOUDABI_FDFLAG_SYNC | CLOUDABI_FDFLAG_DSYNC | CLOUDABI_FDFLAG_RSYNC)) != 0) { fflags |= O_SYNC; - cap_rights_set(&rights, CAP_FSYNC); + cap_rights_set_one(&rights, CAP_FSYNC); } if ((uap->dirfd.flags & CLOUDABI_LOOKUP_SYMLINK_FOLLOW) == 0) fflags |= O_NOFOLLOW; if (write && (fflags & (O_APPEND | O_TRUNC)) == 0) - cap_rights_set(&rights, CAP_SEEK); + cap_rights_set_one(&rights, CAP_SEEK); /* Allocate new file descriptor. */ error = falloc_noinstall(td, &fp); Modified: projects/clang1000-import/sys/contrib/dev/acpica/changes.txt ============================================================================== --- projects/clang1000-import/sys/contrib/dev/acpica/changes.txt Sat Feb 15 15:03:26 2020 (r357965) +++ projects/clang1000-import/sys/contrib/dev/acpica/changes.txt Sat Feb 15 15:05:25 2020 (r357966) @@ -1,4 +1,102 @@ ---------------------------------------- +14 February 2020. Summary of changes for version 20200214: + + +1) ACPICA kernel-resident subsystem: + +Enable sleep button on ACPI legacy wake: Hibernation (S4) is triggered +in a guest when it receives a sleep trigger from the hypervisor. When the +guest resumes from this power state, it does not see the SleepEnabled +bit. In other words, the sleepHibernation (S4) is triggered in a guest +when it receives a sleep trigger from the hypervisor. When the guest +resumes from this power state, it does not see the SleepEnabled bit. In +other words, the sleep button is not enabled on waking from an S4 state. +This causes subsequent invocation of sleep state to fail since the +guest.button is not enabled on waking from an S4 state. This causes +subsequent invocation of sleep state to fail in the guest. Fix this +problem by enabling the sleep button in ACPI legacy wake. From Anchal +Agarwal . + +Implemented a new external interface, AcpiAnyGpeStatusSet (). To be used +for checking the status bits of all enabled GPEs in one go. It is needed +to distinguish spurious SCIs from genuine ones when deciding whether or +not to wake up the system from suspend-to-idle. + +Generic Makefiles: replace HOST name with ACPI_HOST: Some machines may be +using HOST in their environment to represent the host name for their +machines. Avoid this problem by renaming this variable from HOST to +ACPI_HOST. + +MSVC 2017 project files: Enable multiprocessor generation to improve +build performance. + +Added a macro to get the byte width of a Generic Address structure. New +ACPI_ACCESS_BYTE_WIDTH is in addition to the existing +ACPI_ACCESS_BIT_WIDTH. From Mika Westerberg. + + +2) iASL Compiler/Disassembler and ACPICA tools: + +iASL: Implemented full support for the (optional, rarely used) ReturnType +and ParameterTypesList for the Method, Function, and External operators. +For Method declarations, the number of individual ParameterTypes must +match the declaration of the number of arguments (NumArgs). This also +Fixes a problem with the External operator where extra/extraneous bytes +were emitted in the AML code if the optional ReturnType/ParameterTypes +were specified for a MethodObj declaration. +New error message: +1) Method NumArgs count does not match length of ParameterTypes list + +iASL: Implemented detection of type mismatches between External +declarations and named object declarations. Also, detect type mismatches +between multiple External declarations of the same Name. +New error messages: +1) Type mismatch between external declaration and actual object +declaration detected +2) Type mismatch between multiple external declarations detected + +iASL: Implemented new error messages for External operators that specify +a ReturnType and/or ParameterTypesList for any object type other than +control methods (MethodObj). +New error messages: +1) Return type is only allowed for Externals declared as MethodObj +2) Parameter type is only allowed for Externals declared as MethodObj + +iASL: Implemented two new remark/warning messages for ASL code that +creates named objects from within a control method. This is very +inefficient since the named object must be created and deleted each time +the method is executed. +New messages: +1) Creation of named objects within a method is highly inefficient, use +globals or method local variables instead (remark) +2) Static OperationRegion should be declared outside control method +(warning) + +iASL: Improved illegal forward reference detection by adding support to +detect forward-reference method invocations. + +iASL: Detect and issue an error message for NameStrings that contain too +many individual NameSegs (>255). This is an AML limitation that is +defined in the ACPI specification. +New message: +1) NameString contains too many NameSegs (>255) + +acpidump: windows: use GetSystemFirmwareTable API for all tables except +SSDT. By using this API, acpidump is able to get all tables in the XSDT + +iASL: Removed unused parser file and updated msvc2017 project files. +Removed the obsolete AslCompiler.y from the repository. + +iASL: msvc2017: Fixed macros in the file dependency list to prevent +unnecessary rebuilds. Replace %(Directory) with %(RelativeDir). + +Disassembler: Prevent spilling error messages to the output file. All +errors are directed to the console instead. These error messages +prevented re-compilation of the resulting disassembled ASL output file +(.DSL). + + +---------------------------------------- 10 January 2020. Summary of changes for version 20200110: @@ -8845,8 +8943,8 @@ much larger code and data size. Fix build error under Bison-2.4. -Dissasembler: Enhanced FADT support. Added decoding of the Boot -Architecture +Disassembler: Enhanced FADT support. Added decoding of the Boot +Architecture flags. Now decode all flags, regardless of the FADT version. Flag output includes the FADT version which first defined each flag. Modified: projects/clang1000-import/sys/contrib/dev/acpica/common/adisasm.c ============================================================================== --- projects/clang1000-import/sys/contrib/dev/acpica/common/adisasm.c Sat Feb 15 15:03:26 2020 (r357965) +++ projects/clang1000-import/sys/contrib/dev/acpica/common/adisasm.c Sat Feb 15 15:05:25 2020 (r357966) @@ -156,6 +156,7 @@ #include #include #include +#include #define _COMPONENT ACPI_TOOLS @@ -379,8 +380,6 @@ AdAmlDisassemble ( Status = AE_ERROR; goto Cleanup; } - - AcpiOsRedirectOutput (File); } *OutFilename = DisasmFilename; @@ -467,6 +466,11 @@ AdDisassembleOneTable ( if (!AcpiGbl_ForceAmlDisassembly && !AcpiUtIsAmlTable (Table)) { + if (File) + { + AcpiOsRedirectOutput (File); + } + AdDisassemblerHeader (Filename, ACPI_IS_DATA_TABLE); /* This is a "Data Table" (non-AML table) */ @@ -489,6 +493,10 @@ AdDisassembleOneTable ( return (AE_OK); } + /* Initialize the converter output file */ + + ASL_CV_INIT_FILETREE(Table, File); + /* * This is an AML table (DSDT or SSDT). * Always parse the tables, only option is what to display @@ -499,6 +507,13 @@ AdDisassembleOneTable ( AcpiOsPrintf ("Could not parse ACPI tables, %s\n", AcpiFormatException (Status)); return (Status); + } + + /* Redirect output for code generation and debugging output */ + + if (File) + { + AcpiOsRedirectOutput (File); } /* Debug output, namespace and parse tree */ Modified: projects/clang1000-import/sys/contrib/dev/acpica/common/dmtables.c ============================================================================== --- projects/clang1000-import/sys/contrib/dev/acpica/common/dmtables.c Sat Feb 15 15:03:26 2020 (r357965) +++ projects/clang1000-import/sys/contrib/dev/acpica/common/dmtables.c Sat Feb 15 15:05:25 2020 (r357966) @@ -506,7 +506,6 @@ AdParseTable ( AmlLength = Table->Length - sizeof (ACPI_TABLE_HEADER); AmlStart = ((UINT8 *) Table + sizeof (ACPI_TABLE_HEADER)); - ASL_CV_INIT_FILETREE(Table, AmlStart, AmlLength); AcpiUtSetIntegerWidth (Table->Revision); Modified: projects/clang1000-import/sys/contrib/dev/acpica/compiler/aslanalyze.c ============================================================================== --- projects/clang1000-import/sys/contrib/dev/acpica/compiler/aslanalyze.c Sat Feb 15 15:03:26 2020 (r357965) +++ projects/clang1000-import/sys/contrib/dev/acpica/compiler/aslanalyze.c Sat Feb 15 15:05:25 2020 (r357966) @@ -151,6 +151,7 @@ #include #include "aslcompiler.y.h" +#include #include @@ -421,6 +422,7 @@ AnCheckMethodReturnValue ( { ACPI_PARSE_OBJECT *OwningOp; ACPI_NAMESPACE_NODE *Node; + char *ExternalPath; Node = ArgOp->Asl.Node; @@ -435,18 +437,19 @@ AnCheckMethodReturnValue ( /* Examine the parent op of this method */ OwningOp = Node->Op; + ExternalPath = AcpiNsGetNormalizedPathname (Node, TRUE); + if (OwningOp->Asl.CompileFlags & OP_METHOD_NO_RETVAL) { /* Method NEVER returns a value */ - AslError (ASL_ERROR, ASL_MSG_NO_RETVAL, Op, Op->Asl.ExternalName); + AslError (ASL_ERROR, ASL_MSG_NO_RETVAL, Op, ExternalPath); } else if (OwningOp->Asl.CompileFlags & OP_METHOD_SOME_NO_RETVAL) { /* Method SOMETIMES returns a value, SOMETIMES not */ - AslError (ASL_WARNING, ASL_MSG_SOME_NO_RETVAL, - Op, Op->Asl.ExternalName); + AslError (ASL_WARNING, ASL_MSG_SOME_NO_RETVAL, Op, ExternalPath); } else if (!(ThisNodeBtype & RequiredBtypes)) { @@ -469,6 +472,11 @@ AnCheckMethodReturnValue ( AslError (ASL_ERROR, ASL_MSG_INVALID_TYPE, ArgOp, AslGbl_MsgBuffer); } + } + + if (ExternalPath) + { + ACPI_FREE (ExternalPath); } } Modified: projects/clang1000-import/sys/contrib/dev/acpica/compiler/aslcompile.c ============================================================================== --- projects/clang1000-import/sys/contrib/dev/acpica/compiler/aslcompile.c Sat Feb 15 15:03:26 2020 (r357965) +++ projects/clang1000-import/sys/contrib/dev/acpica/compiler/aslcompile.c Sat Feb 15 15:05:25 2020 (r357966) @@ -647,7 +647,7 @@ void AslCompilerFileHeader ( UINT32 FileId) { - struct tm *NewTime; + char *NewTime; time_t Aclock; char *Prefix = ""; @@ -691,13 +691,17 @@ AslCompilerFileHeader ( /* Compilation header with timestamp */ - (void) time (&Aclock); - NewTime = localtime (&Aclock); + Aclock = time (NULL); + NewTime = ctime (&Aclock); FlPrintFile (FileId, - "%sCompilation of \"%s\" - %s%s\n", - Prefix, AslGbl_Files[ASL_FILE_INPUT].Filename, asctime (NewTime), - Prefix); + "%sCompilation of \"%s\" -", + Prefix, AslGbl_Files[ASL_FILE_INPUT].Filename); + + if (NewTime) + { + FlPrintFile (FileId, " %s%s\n", NewTime, Prefix); + } switch (FileId) { Modified: projects/clang1000-import/sys/contrib/dev/acpica/compiler/aslcompiler.h ============================================================================== --- projects/clang1000-import/sys/contrib/dev/acpica/compiler/aslcompiler.h Sat Feb 15 15:03:26 2020 (r357965) +++ projects/clang1000-import/sys/contrib/dev/acpica/compiler/aslcompiler.h Sat Feb 15 15:05:25 2020 (r357966) @@ -373,7 +373,16 @@ MtMethodAnalysisWalkEnd ( UINT32 Level, void *Context); +UINT32 +MtProcessTypeOp ( + ACPI_PARSE_OBJECT *TypeOp); +UINT8 +MtProcessParameterTypeList ( + ACPI_PARSE_OBJECT *ParamTypeOp, + UINT32 *TypeList); + + /* * aslbtypes - bitfield data types */ @@ -1233,9 +1242,13 @@ UtDumpBasicOp ( ACPI_PARSE_OBJECT *Op, UINT32 Level); -void * -UtGetParentMethod ( +ACPI_NAMESPACE_NODE * +UtGetParentMethodNode ( ACPI_NAMESPACE_NODE *Node); + +ACPI_PARSE_OBJECT * +UtGetParentMethodOp ( + ACPI_PARSE_OBJECT *Op); BOOLEAN UtNodeIsDescendantOf ( Modified: projects/clang1000-import/sys/contrib/dev/acpica/compiler/aslexternal.c ============================================================================== --- projects/clang1000-import/sys/contrib/dev/acpica/compiler/aslexternal.c Sat Feb 15 15:03:26 2020 (r357965) +++ projects/clang1000-import/sys/contrib/dev/acpica/compiler/aslexternal.c Sat Feb 15 15:05:25 2020 (r357966) @@ -192,12 +192,54 @@ ExDoExternal ( ACPI_PARSE_OBJECT *Prev; ACPI_PARSE_OBJECT *Next; ACPI_PARSE_OBJECT *ArgCountOp; + ACPI_PARSE_OBJECT *TypeOp; + ACPI_PARSE_OBJECT *ExternTypeOp = Op->Asl.Child->Asl.Next; + UINT32 ExternType; + UINT8 ParamCount = ASL_EXTERNAL_METHOD_UNKNOWN_PARAMS; + UINT32 ParamTypes[ACPI_METHOD_NUM_ARGS]; + ExternType = AnMapObjTypeToBtype (ExternTypeOp); + + /* + * The parser allows optional parameter return types regardless of the + * type. Check object type keyword emit error if optional parameter/return + * types exist. + * + * Check the parameter return type + */ + TypeOp = ExternTypeOp->Asl.Next; + if (TypeOp->Asl.Child) + { + /* Ignore the return type for now. */ + + (void) MtProcessTypeOp (TypeOp->Asl.Child); + if (ExternType != ACPI_BTYPE_METHOD) + { + sprintf (AslGbl_MsgBuffer, "Found type [%s]", AcpiUtGetTypeName(ExternType)); + AslError (ASL_ERROR, ASL_MSG_EXTERN_INVALID_RET_TYPE, TypeOp, + AslGbl_MsgBuffer); + } + } + + /* Check the parameter types */ + + TypeOp = TypeOp->Asl.Next; + if (TypeOp->Asl.Child) + { + ParamCount = MtProcessParameterTypeList (TypeOp->Asl.Child, ParamTypes); + if (ExternType != ACPI_BTYPE_METHOD) + { + sprintf (AslGbl_MsgBuffer, "Found type [%s]", AcpiUtGetTypeName(ExternType)); + AslError (ASL_ERROR, ASL_MSG_EXTERN_INVALID_PARAM_TYPE, TypeOp, + AslGbl_MsgBuffer); + } + } + ArgCountOp = Op->Asl.Child->Asl.Next->Asl.Next; ArgCountOp->Asl.AmlOpcode = AML_RAW_DATA_BYTE; ArgCountOp->Asl.ParseOpcode = PARSEOP_BYTECONST; - ArgCountOp->Asl.Value.Integer = 0; + ArgCountOp->Asl.Value.Integer = ParamCount; UtSetParseOpName (ArgCountOp); /* Create new list node of arbitrary type */ Modified: projects/clang1000-import/sys/contrib/dev/acpica/compiler/aslload.c ============================================================================== --- projects/clang1000-import/sys/contrib/dev/acpica/compiler/aslload.c Sat Feb 15 15:03:26 2020 (r357965) +++ projects/clang1000-import/sys/contrib/dev/acpica/compiler/aslload.c Sat Feb 15 15:05:25 2020 (r357966) @@ -196,6 +196,15 @@ LdCheckSpecialNames ( ACPI_NAMESPACE_NODE *Node, ACPI_PARSE_OBJECT *Op); +static ACPI_STATUS +LdAnalyzeExternals ( + ACPI_NAMESPACE_NODE *Node, + ACPI_PARSE_OBJECT *Op, + ACPI_OBJECT_TYPE ExternalOpType, + ACPI_OBJECT_TYPE ObjectType, + ACPI_WALK_STATE *WalkState); + + /******************************************************************************* * * FUNCTION: LdLoadNamespace @@ -575,7 +584,8 @@ LdNamespace1Begin ( /* Check for a possible illegal forward reference */ if ((Op->Asl.ParseOpcode == PARSEOP_NAMESEG) || - (Op->Asl.ParseOpcode == PARSEOP_NAMESTRING)) + (Op->Asl.ParseOpcode == PARSEOP_NAMESTRING) || + (Op->Asl.ParseOpcode == PARSEOP_METHODCALL)) { /* * Op->Asl.Namepath will be NULL for these opcodes. @@ -591,7 +601,8 @@ LdNamespace1Begin ( * We only want references to named objects: * Store (2, WXYZ) -> Attempt to resolve the name */ - if (OpInfo->Class == AML_CLASS_NAMED_OBJECT) + if ((Op->Asl.ParseOpcode != PARSEOP_METHODCALL) && + (OpInfo->Class == AML_CLASS_NAMED_OBJECT)) { return (AE_OK); } @@ -899,58 +910,26 @@ LdNamespace1Begin ( Node->Type = (UINT8) ObjectType; Status = AE_OK; } - else if ((Node->Flags & ANOBJ_IS_EXTERNAL) && - (Op->Asl.ParseOpcode != PARSEOP_EXTERNAL)) + else if ((Node->Flags & ANOBJ_IS_EXTERNAL) || + (Op->Asl.ParseOpcode == PARSEOP_EXTERNAL)) { - /* - * Allow one create on an object or segment that was - * previously declared External - */ - Node->Flags &= ~ANOBJ_IS_EXTERNAL; - Node->Type = (UINT8) ObjectType; - - /* Just retyped a node, probably will need to open a scope */ - - if (AcpiNsOpensScope (ObjectType)) + Status = LdAnalyzeExternals (Node, Op, ActualObjectType, + ObjectType, WalkState); + if (ACPI_FAILURE (Status)) { - Status = AcpiDsScopeStackPush (Node, ObjectType, WalkState); - if (ACPI_FAILURE (Status)) + if (Status == AE_ERROR) { - return_ACPI_STATUS (Status); + /* + * The use of AE_ERROR here indicates that there was a + * compiler error emitted in LdAnalyzeExternals which + * means that the caller should proceed to the next Op + * for analysis of subsequent parse objects. + */ + Status = AE_OK; } + return_ACPI_STATUS (Status); } - - Status = AE_OK; } - else if (!(Node->Flags & ANOBJ_IS_EXTERNAL) && - (Op->Asl.ParseOpcode == PARSEOP_EXTERNAL)) - { - /* - * Allow externals in same scope as the definition of the - * actual object. Similar to C. Allows multiple definition - * blocks that refer to each other in the same file. - */ - Status = AE_OK; - } - else if ((Node->Flags & ANOBJ_IS_EXTERNAL) && - (Op->Asl.ParseOpcode == PARSEOP_EXTERNAL) && - (ObjectType == ACPI_TYPE_ANY)) - { - /* Allow update of externals of unknown type. */ - - if (AcpiNsOpensScope (ActualObjectType)) - { - Node->Type = (UINT8) ActualObjectType; - Status = AE_OK; - } - else - { - sprintf (AslGbl_MsgBuffer, "%s [%s]", Op->Asl.ExternalName, - AcpiUtGetTypeName (Node->Type)); - AslError (ASL_ERROR, ASL_MSG_SCOPE_TYPE, Op, AslGbl_MsgBuffer); - return_ACPI_STATUS (AE_OK); - } - } else { /* Valid error, object already exists */ @@ -1013,15 +992,17 @@ FinishNode: * Set the actual data type if appropriate (EXTERNAL term only) * As of 11/19/2019, ASL External() does not support parameter * counts. When an External method is loaded, the parameter count is - * unknown setting Node->Value to ASL_EXTERNAL_METHOD_UNKNOWN_PARAMS - * indicates that the parameter count for this method is unknown. - * This information is used in ASL cross reference to help determine the - * parameter count through method calls. + * recorded in the external's arg count parameter. The parameter count may + * or may not be known in the declaration. If the value of this node turns + * out to be ASL_EXTERNAL_METHOD_UNKNOWN_PARAMS, it indicates that + * we do not know the parameter count and that we must look at the usage of + * the External method call to get this information. */ if (ActualObjectType != ACPI_TYPE_ANY) { Node->Type = (UINT8) ActualObjectType; - Node->Value = ASL_EXTERNAL_METHOD_UNKNOWN_PARAMS; + Node->Value = (UINT32) + Op->Asl.Child->Asl.Next->Asl.Next->Asl.Value.Integer; } if (Op->Asl.ParseOpcode == PARSEOP_METHOD) @@ -1034,6 +1015,145 @@ FinishNode: } return_ACPI_STATUS (Status); +} + + +/******************************************************************************* + * + * FUNCTION: LdAnalyzeExternals + * + * PARAMETERS: Node - Node that represents the named object + * Op - Named object declaring this named object + * ExternalOpType - Type of ExternalOp + * ObjectType - Type of Declared object + * WalkState - Current WalkState + * + * RETURN: Status + * + * DESCRIPTION: Node and Op represents an identically named object declaration + * that is either declared by the ASL external keyword or declared + * by operators that declare named objects (i.e. Name, Device, + * OperationRegion, and etc.). This function ensures that the + * declarations do not contradict each other. + * + ******************************************************************************/ + +static ACPI_STATUS +LdAnalyzeExternals ( + ACPI_NAMESPACE_NODE *Node, + ACPI_PARSE_OBJECT *Op, + ACPI_OBJECT_TYPE ExternalOpType, + ACPI_OBJECT_TYPE ObjectType, + ACPI_WALK_STATE *WalkState) +{ + ACPI_STATUS Status = AE_OK; + ACPI_OBJECT_TYPE ActualExternalOpType; + ACPI_OBJECT_TYPE ActualOpType; + ACPI_PARSE_OBJECT *ExternalOp; + ACPI_PARSE_OBJECT *ActualOp; + + + /* + * The declaration represented by Node and Op must have the same type. + * The type of the external Op is represented by ExternalOpType. However, + * the type of the pre-existing declaration depends on whether if Op + * is an external declaration or an actual declaration. + */ + if (Op->Asl.ParseOpcode == PARSEOP_EXTERNAL) + { + ActualExternalOpType = ExternalOpType; + ActualOpType = Node->Type; + } + else + { + ActualExternalOpType = Node->Type; + ActualOpType = ObjectType; + } + + if ((ActualOpType != ACPI_TYPE_ANY) && + (ActualExternalOpType != ACPI_TYPE_ANY) && + (ActualExternalOpType != ActualOpType)) + { + if (Op->Asl.ParseOpcode == PARSEOP_EXTERNAL && + Node->Op->Asl.ParseOpcode == PARSEOP_EXTERNAL) + { + AslDualParseOpError (ASL_ERROR, + ASL_MSG_DUPLICATE_EXTERN_MISMATCH, Op, NULL, + ASL_MSG_DUPLICATE_EXTERN_FOUND_HERE, Node->Op, NULL); + } + else + { + if (Op->Asl.ParseOpcode == PARSEOP_EXTERNAL && + Node->Op->Asl.ParseOpcode != PARSEOP_EXTERNAL) + { + ExternalOp = Op; + ActualOp = Node->Op; + } + else + { + ExternalOp = Node->Op; + ActualOp = Op; + } + AslDualParseOpError (ASL_ERROR, + ASL_MSG_DECLARATION_TYPE_MISMATCH, ExternalOp, NULL, + ASL_MSG_TYPE_MISMATCH_FOUND_HERE, ActualOp, NULL); + } + } + + if ((Node->Flags & ANOBJ_IS_EXTERNAL) && + (Op->Asl.ParseOpcode != PARSEOP_EXTERNAL)) + { + /* + * Allow one create on an object or segment that was + * previously declared External + */ + Node->Flags &= ~ANOBJ_IS_EXTERNAL; + Node->Type = (UINT8) ObjectType; + + /* Just retyped a node, probably will need to open a scope */ + + if (AcpiNsOpensScope (ObjectType)) + { + Status = AcpiDsScopeStackPush (Node, ObjectType, WalkState); + if (ACPI_FAILURE (Status)) + { + return (Status); + } + } + + Status = AE_OK; + } + else if (!(Node->Flags & ANOBJ_IS_EXTERNAL) && + (Op->Asl.ParseOpcode == PARSEOP_EXTERNAL)) + { + /* + * Allow externals in same scope as the definition of the + * actual object. Similar to C. Allows multiple definition + * blocks that refer to each other in the same file. + */ + Status = AE_OK; + } + else if ((Node->Flags & ANOBJ_IS_EXTERNAL) && + (Op->Asl.ParseOpcode == PARSEOP_EXTERNAL) && + (ObjectType == ACPI_TYPE_ANY)) + { + /* Allow update of externals of unknown type. */ + + if (AcpiNsOpensScope (ExternalOpType)) + { + Node->Type = (UINT8) ExternalOpType; + Status = AE_OK; + } + else + { + sprintf (AslGbl_MsgBuffer, "%s [%s]", Op->Asl.ExternalName, + AcpiUtGetTypeName (Node->Type)); + AslError (ASL_ERROR, ASL_MSG_SCOPE_TYPE, Op, AslGbl_MsgBuffer); + Status = AE_ERROR; + } + } + + return (Status); } Modified: projects/clang1000-import/sys/contrib/dev/acpica/compiler/aslmessages.c ============================================================================== --- projects/clang1000-import/sys/contrib/dev/acpica/compiler/aslmessages.c Sat Feb 15 15:03:26 2020 (r357965) +++ projects/clang1000-import/sys/contrib/dev/acpica/compiler/aslmessages.c Sat Feb 15 15:05:25 2020 (r357966) @@ -320,7 +320,7 @@ const char *AslCompilerMsgs [] = /* ASL_MSG_SCOPE_TYPE */ "Existing object has invalid type for Scope operator", /* ASL_MSG_SEEK */ "Could not seek file", /* ASL_MSG_SERIALIZED */ "Control Method marked Serialized", -/* ASL_MSG_SERIALIZED_REQUIRED */ "Control Method should be made Serialized", +/* ASL_MSG_SERIALIZED_REQUIRED */ "Control Method should be made Serialized due to creation of named objects within", /* ASL_MSG_SINGLE_NAME_OPTIMIZATION */ "NamePath optimized to NameSeg (uses run-time search path)", /* ASL_MSG_SOME_NO_RETVAL */ "Called method may not always return a value", /* ASL_MSG_STRING_LENGTH */ "String literal too long", @@ -370,7 +370,16 @@ const char *AslCompilerMsgs [] = /* ASL_MSG_INVALID_PROCESSOR_UID */ "_UID inside processor declaration must be an integer", /* ASL_MSG_LEGACY_PROCESSOR_OP */ "Legacy Processor() keyword detected. Use Device() keyword instead.", /* ASL_MSG_NAMESTRING_LENGTH */ "NameString contains too many NameSegs (>255)", -/* ASL_MSG_CASE_FOUND_HERE */ "Original Case value below:" +/* ASL_MSG_CASE_FOUND_HERE */ "Original Case value below:", +/* ASL_MSG_EXTERN_INVALID_RET_TYPE */ "Return type is only allowed for Externals declared as MethodObj", +/* ASL_MSG_EXTERN_INVALID_PARAM_TYPE */ "Parameter type is only allowed for Externals declared as MethodObj", +/* ASL_MSG_NAMED_OBJECT_CREATION */ "Creation of named objects within a method is highly inefficient, use globals or method local variables instead", +/* ASL_MSG_ARG_COUNT_MISMATCH */ "Method NumArgs count does not match length of ParameterTypes list", +/* ASL_MSG_STATIC_OPREGION_IN_METHOD */ "Static OperationRegion should be declared outside control method", +/* ASL_MSG_DECLARATION_TYPE_MISMATCH */ "Type mismatch between external declaration and actual object declaration detected", +/* ASL_MSG_TYPE_MISMATCH_FOUND_HERE */ "Actual object declaration:", +/* ASL_MSG_DUPLICATE_EXTERN_MISMATCH */ "Type mismatch between multiple external declarations detected", +/* ASL_MSG_DUPLICATE_EXTERN_FOUND_HERE */"Duplicate external declaration:", }; /* Table compiler */ Modified: projects/clang1000-import/sys/contrib/dev/acpica/compiler/aslmessages.h ============================================================================== --- projects/clang1000-import/sys/contrib/dev/acpica/compiler/aslmessages.h Sat Feb 15 15:03:26 2020 (r357965) +++ projects/clang1000-import/sys/contrib/dev/acpica/compiler/aslmessages.h Sat Feb 15 15:05:25 2020 (r357966) @@ -373,6 +373,16 @@ typedef enum ASL_MSG_LEGACY_PROCESSOR_OP, ASL_MSG_NAMESTRING_LENGTH, ASL_MSG_CASE_FOUND_HERE, + ASL_MSG_EXTERN_INVALID_RET_TYPE, + ASL_MSG_EXTERN_INVALID_PARAM_TYPE, + ASL_MSG_NAMED_OBJECT_CREATION, + ASL_MSG_ARG_COUNT_MISMATCH, + ASL_MSG_STATIC_OPREGION_IN_METHOD, + ASL_MSG_DECLARATION_TYPE_MISMATCH, + ASL_MSG_TYPE_MISMATCH_FOUND_HERE, + ASL_MSG_DUPLICATE_EXTERN_MISMATCH, + ASL_MSG_DUPLICATE_EXTERN_FOUND_HERE, + /* These messages are used by the Data Table compiler only */ Modified: projects/clang1000-import/sys/contrib/dev/acpica/compiler/aslmethod.c ============================================================================== --- projects/clang1000-import/sys/contrib/dev/acpica/compiler/aslmethod.c Sat Feb 15 15:03:26 2020 (r357965) +++ projects/clang1000-import/sys/contrib/dev/acpica/compiler/aslmethod.c Sat Feb 15 15:05:25 2020 (r357966) @@ -151,6 +151,7 @@ #include #include "aslcompiler.y.h" +#include #include #include @@ -166,7 +167,11 @@ MtCheckNamedObjectInMethod ( ACPI_PARSE_OBJECT *Op, ASL_METHOD_INFO *MethodInfo); +static void +MtCheckStaticOperationRegionInMethod ( + ACPI_PARSE_OBJECT *Op); + /******************************************************************************* * * FUNCTION: MtMethodAnalysisWalkBegin @@ -197,7 +202,6 @@ MtMethodAnalysisWalkBegin ( char ArgName[] = "Arg0"; ACPI_PARSE_OBJECT *ArgNode; ACPI_PARSE_OBJECT *NextType; - ACPI_PARSE_OBJECT *NextParamType; UINT8 ActualArgs = 0; BOOLEAN HidExists; BOOLEAN AdrExists; @@ -282,50 +286,35 @@ MtMethodAnalysisWalkBegin ( Next = Next->Asl.Next; NextType = Next->Asl.Child; - while (NextType) - { - /* Get and map each of the ReturnTypes */ - MethodInfo->ValidReturnTypes |= AnMapObjTypeToBtype (NextType); - NextType->Asl.ParseOpcode = PARSEOP_DEFAULT_ARG; - NextType = NextType->Asl.Next; - } + MethodInfo->ValidReturnTypes = MtProcessTypeOp (NextType); /* Get the ParameterType node */ Next = Next->Asl.Next; NextType = Next->Asl.Child; - while (NextType) + if (!NextType) { - if (NextType->Asl.ParseOpcode == PARSEOP_DEFAULT_ARG) - { - NextParamType = NextType->Asl.Child; - while (NextParamType) - { - MethodInfo->ValidArgTypes[ActualArgs] |= - AnMapObjTypeToBtype (NextParamType); - - NextParamType->Asl.ParseOpcode = PARSEOP_DEFAULT_ARG; - NextParamType = NextParamType->Asl.Next; - } - } - else - { - MethodInfo->ValidArgTypes[ActualArgs] = - AnMapObjTypeToBtype (NextType); - - NextType->Asl.ParseOpcode = PARSEOP_DEFAULT_ARG; - ActualArgs++; - } - - NextType = NextType->Asl.Next; + /* + * The optional parameter types list was omitted at the source + * level. Use the Argument count parameter instead. + */ + ActualArgs = MethodInfo->NumArguments; } + else + { + ActualArgs = MtProcessParameterTypeList (NextType, + MethodInfo->ValidArgTypes); + } if ((MethodInfo->NumArguments) && (MethodInfo->NumArguments != ActualArgs)) { - /* error: Param list did not match number of args */ + sprintf (AslGbl_MsgBuffer, + "Length = %u", ActualArgs); + AslError (ASL_ERROR, ASL_MSG_ARG_COUNT_MISMATCH, + Op->Asl.Child->Asl.Next, AslGbl_MsgBuffer); } /* Allow numarguments == 0 for Function() */ @@ -576,6 +565,8 @@ MtMethodAnalysisWalkBegin ( AslError (ASL_ERROR, ASL_MSG_RESERVED_USE, Op, Op->Asl.ExternalName); } + + MtCheckStaticOperationRegionInMethod (Op); break; case PARSEOP_NAME: @@ -630,6 +621,71 @@ MtMethodAnalysisWalkBegin ( /******************************************************************************* * + * FUNCTION: MtProcessTypeOp + * + * PARAMETERS: Op - Op representing a btype + * + * RETURN: Btype represented by Op + * + * DESCRIPTION: Process a parse object that represents single parameter type or + * a return type in method, function, and external declarations. + * + ******************************************************************************/ + +UINT32 +MtProcessTypeOp ( + ACPI_PARSE_OBJECT *TypeOp) +{ + UINT32 Btype = ACPI_BTYPE_ANY; + + + while (TypeOp) + { + Btype |= AnMapObjTypeToBtype (TypeOp); + TypeOp->Asl.ParseOpcode = PARSEOP_DEFAULT_ARG; + TypeOp = TypeOp->Asl.Next; + } + + return (Btype); +} + + +/******************************************************************************* + * + * FUNCTION: MtProcessParameterTypeList + * + * PARAMETERS: Op - Op representing a btype + * + * RETURN: Btype represented by Op + * + * DESCRIPTION: Process a parse object that represents a parameter type list in + * method, function, and external declarations. + * + ******************************************************************************/ + +UINT8 +MtProcessParameterTypeList ( + ACPI_PARSE_OBJECT *ParamTypeOp, + UINT32 *TypeList) +{ + UINT8 ParameterCount = 0; + + + while (ParamTypeOp) + { + TypeList[ParameterCount] = + MtProcessTypeOp (ParamTypeOp->Asl.Child); + + ParameterCount++; + ParamTypeOp = ParamTypeOp->Asl.Next; + } + + return (ParameterCount); +} + + +/******************************************************************************* + * *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-projects@freebsd.org Sat Feb 15 18:37:27 2020 Return-Path: Delivered-To: svn-src-projects@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 2F9D6243854 for ; Sat, 15 Feb 2020 18:37:27 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48Kf9z0Tv6z4Yvl; Sat, 15 Feb 2020 18:37:27 +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 mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 0BD7F1938F; Sat, 15 Feb 2020 18:37:27 +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 01FIbQfM062977; Sat, 15 Feb 2020 18:37:26 GMT (envelope-from dim@FreeBSD.org) Received: (from dim@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 01FIbQRu062976; Sat, 15 Feb 2020 18:37:26 GMT (envelope-from dim@FreeBSD.org) Message-Id: <202002151837.01FIbQRu062976@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: dim set sender to dim@FreeBSD.org using -f From: Dimitry Andric Date: Sat, 15 Feb 2020 18:37:26 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r357970 - projects/clang1000-import/sys/dev/hptmv X-SVN-Group: projects X-SVN-Commit-Author: dim X-SVN-Commit-Paths: projects/clang1000-import/sys/dev/hptmv X-SVN-Commit-Revision: 357970 X-SVN-Commit-Repository: base 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.29 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, 15 Feb 2020 18:37:27 -0000 Author: dim Date: Sat Feb 15 18:37:26 2020 New Revision: 357970 URL: https://svnweb.freebsd.org/changeset/base/357970 Log: Fix the following -Werror warning from clang 10.0.0 in hptmv(4): sys/dev/hptmv/ioctl.c:240:4: error: misleading indentation; statement is not part of the previous 'if' [-Werror,-Wmisleading-indentation] _vbus_p=pArray->pVBus; ^ sys/dev/hptmv/ioctl.c:237:10: note: previous statement is here if(!mIsArray(pArray)) ^ This is because the return statement after the if statement was not indented. (Note that this file has been idented assuming 4-space tabs.) MFC after: 3 days Modified: projects/clang1000-import/sys/dev/hptmv/ioctl.c Modified: projects/clang1000-import/sys/dev/hptmv/ioctl.c ============================================================================== --- projects/clang1000-import/sys/dev/hptmv/ioctl.c Sat Feb 15 18:14:23 2020 (r357969) +++ projects/clang1000-import/sys/dev/hptmv/ioctl.c Sat Feb 15 18:37:26 2020 (r357970) @@ -235,7 +235,7 @@ int Kernel_DeviceIoControl(_VBUS_ARG return -1; if(!mIsArray(pArray)) - return -1; + return -1; _vbus_p=pArray->pVBus; pAdapter = (IAL_ADAPTER_T *)_vbus_p->OsExt;