From owner-svn-src-projects@FreeBSD.ORG Tue Dec 2 01:45:12 2014 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id C3B6DFED; Tue, 2 Dec 2014 01:45:12 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id AD989A0B; Tue, 2 Dec 2014 01:45:12 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id sB21jCdi091261; Tue, 2 Dec 2014 01:45:12 GMT (envelope-from dim@FreeBSD.org) Received: (from dim@localhost) by svn.freebsd.org (8.14.9/8.14.9/Submit) id sB21j504091217; Tue, 2 Dec 2014 01:45:05 GMT (envelope-from dim@FreeBSD.org) Message-Id: <201412020145.sB21j504091217@svn.freebsd.org> X-Authentication-Warning: svn.freebsd.org: dim set sender to dim@FreeBSD.org using -f From: Dimitry Andric Date: Tue, 2 Dec 2014 01:45:05 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r275387 - in projects/clang350-import: . contrib/binutils/bfd contrib/binutils/bfd/po contrib/elftoolchain/elfcopy contrib/elftoolchain/libelftc contrib/elftoolchain/nm contrib/elftoolc... X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 02 Dec 2014 01:45:12 -0000 Author: dim Date: Tue Dec 2 01:45:04 2014 New Revision: 275387 URL: https://svnweb.freebsd.org/changeset/base/275387 Log: Merge ^/head r274961 through r275386. Added: projects/clang350-import/lib/libelftc/ - copied from r275386, head/lib/libelftc/ projects/clang350-import/tools/build/options/WITH_ELFTOOLCHAIN_TOOLS - copied unchanged from r275386, head/tools/build/options/WITH_ELFTOOLCHAIN_TOOLS projects/clang350-import/usr.bin/addr2line/ - copied from r275386, head/usr.bin/addr2line/ projects/clang350-import/usr.bin/elfcopy/ - copied from r275386, head/usr.bin/elfcopy/ projects/clang350-import/usr.bin/nm/ - copied from r275386, head/usr.bin/nm/ projects/clang350-import/usr.bin/size/ - copied from r275386, head/usr.bin/size/ projects/clang350-import/usr.bin/strings/ - copied from r275386, head/usr.bin/strings/ Modified: projects/clang350-import/Makefile.inc1 projects/clang350-import/contrib/binutils/bfd/elflink.c projects/clang350-import/contrib/binutils/bfd/po/bfd.pot projects/clang350-import/contrib/elftoolchain/elfcopy/archive.c projects/clang350-import/contrib/elftoolchain/elfcopy/ascii.c projects/clang350-import/contrib/elftoolchain/elfcopy/segments.c projects/clang350-import/contrib/elftoolchain/libelftc/libelftc_dem_gnu3.c projects/clang350-import/contrib/elftoolchain/nm/nm.c projects/clang350-import/contrib/elftoolchain/size/size.c projects/clang350-import/contrib/elftoolchain/strings/strings.c projects/clang350-import/contrib/gcc/config/arm/libunwind.S projects/clang350-import/contrib/subversion/subversion/svn/util.c projects/clang350-import/gnu/usr.bin/binutils/Makefile projects/clang350-import/lib/Makefile projects/clang350-import/sbin/sysctl/sysctl.c projects/clang350-import/share/man/man4/isp.4 projects/clang350-import/share/mk/bsd.cpu.mk projects/clang350-import/share/mk/src.libnames.mk projects/clang350-import/share/mk/src.opts.mk projects/clang350-import/sys/arm/include/asm.h projects/clang350-import/sys/arm/ti/ti_pruss.c projects/clang350-import/sys/cam/cam_xpt.c projects/clang350-import/sys/kern/kern_mutex.c projects/clang350-import/sys/kern/kern_proc.c projects/clang350-import/tools/tools/nanobsd/fill_pkg.sh projects/clang350-import/usr.bin/Makefile Directory Properties: projects/clang350-import/ (props changed) projects/clang350-import/contrib/binutils/ (props changed) projects/clang350-import/contrib/gcc/ (props changed) projects/clang350-import/contrib/subversion/ (props changed) projects/clang350-import/gnu/usr.bin/binutils/ (props changed) projects/clang350-import/sbin/ (props changed) projects/clang350-import/share/ (props changed) projects/clang350-import/share/man/man4/ (props changed) projects/clang350-import/sys/ (props changed) Modified: projects/clang350-import/Makefile.inc1 ============================================================================== --- projects/clang350-import/Makefile.inc1 Tue Dec 2 01:30:53 2014 (r275386) +++ projects/clang350-import/Makefile.inc1 Tue Dec 2 01:45:04 2014 (r275387) @@ -1415,6 +1415,14 @@ _kgzip= usr.sbin/kgzip # If we're given an XAS, don't build binutils. .if ${XAS:M/*} == "" && ${MK_BINUTILS_BOOTSTRAP} != "no" _binutils= gnu/usr.bin/binutils +.if ${MK_ELFTOOLCHAIN_TOOLS} != "no" +_elftctools= lib/libelftc \ + usr.bin/addr2line \ + usr.bin/elfcopy \ + usr.bin/nm \ + usr.bin/size \ + usr.bin/strings +.endif .endif # If an full path to an external cross compiler is given, don't build @@ -1434,6 +1442,7 @@ cross-tools: .MAKE ${_clang_libs} \ ${_clang} \ ${_binutils} \ + ${_elftctools} \ ${_cc} \ usr.bin/xlint/lint1 usr.bin/xlint/lint2 usr.bin/xlint/xlint \ ${_btxld} \ @@ -1491,6 +1500,7 @@ native-xtools: .MAKE ${_clang_tblgen} \ usr.bin/ar \ ${_binutils} \ + ${_elftctools} \ ${_cc} \ ${_gcc_tools} \ ${_clang_libs} \ @@ -2045,6 +2055,7 @@ _xb-build-tools: _xb-cross-tools: .for _tool in \ ${_binutils} \ + ${_elftctools} \ usr.bin/ar \ ${_clang_libs} \ ${_clang} \ @@ -2077,6 +2088,7 @@ _xi-cross-tools: @echo "_xi-cross-tools" .for _tool in \ ${_binutils} \ + ${_elftctools} \ usr.bin/ar \ ${_clang_libs} \ ${_clang} \ Modified: projects/clang350-import/contrib/binutils/bfd/elflink.c ============================================================================== --- projects/clang350-import/contrib/binutils/bfd/elflink.c Tue Dec 2 01:30:53 2014 (r275386) +++ projects/clang350-import/contrib/binutils/bfd/elflink.c Tue Dec 2 01:45:04 2014 (r275387) @@ -4356,9 +4356,38 @@ elf_link_add_object_symbols (bfd *abfd, --no-add-needed is used. */ if ((elf_dyn_lib_class (abfd) & DYN_NO_NEEDED) != 0) { + bfd_boolean looks_soish; + const char *print_name; + int print_len; + size_t len, lend = 0; + + looks_soish = FALSE; + print_name = soname; + print_len = strlen(soname); + if (strncmp(soname, "lib", 3) == 0) + { + len = print_len; + if (len > 5 && strcmp(soname + len - 2, ".a") == 0) + lend = len - 5; + else + { + while (len > 6 && (ISDIGIT(soname[len - 1]) || + soname[len - 1] == '.')) + len--; + if (strncmp(soname + len - 3, ".so", 3) == 0) + lend = len - 6; + } + if (lend != 0) + { + print_name = soname + 3; + print_len = lend; + looks_soish = TRUE; + } + } + (*_bfd_error_handler) - (_("%B: invalid DSO for symbol `%s' definition"), - abfd, name); + (_("undefined reference to symbol `%s' (try adding -l%s%.*s)"), + name, looks_soish? "" : ":", print_len, print_name); bfd_set_error (bfd_error_bad_value); goto error_free_vers; } Modified: projects/clang350-import/contrib/binutils/bfd/po/bfd.pot ============================================================================== --- projects/clang350-import/contrib/binutils/bfd/po/bfd.pot Tue Dec 2 01:30:53 2014 (r275386) +++ projects/clang350-import/contrib/binutils/bfd/po/bfd.pot Tue Dec 2 01:45:04 2014 (r275387) @@ -2438,9 +2438,9 @@ msgstr "" msgid "Warning: size of symbol `%s' changed from %lu in %B to %lu in %B" msgstr "" -#: elflink.c:4309 +#: elflink.c:4389 #, c-format -msgid "%B: invalid DSO for symbol `%s' definition" +msgid "undefined reference to symbol `%s' (try adding -l%s%.*s)" msgstr "" #: elflink.c:5535 Modified: projects/clang350-import/contrib/elftoolchain/elfcopy/archive.c ============================================================================== --- projects/clang350-import/contrib/elftoolchain/elfcopy/archive.c Tue Dec 2 01:30:53 2014 (r275386) +++ projects/clang350-import/contrib/elftoolchain/elfcopy/archive.c Tue Dec 2 01:45:04 2014 (r275387) @@ -350,12 +350,12 @@ ac_detect_ar(int ifd) r = -1; if ((a = archive_read_new()) == NULL) return (0); - archive_read_support_compression_none(a); + archive_read_support_filter_none(a); archive_read_support_format_ar(a); if (archive_read_open_fd(a, ifd, 10240) == ARCHIVE_OK) r = archive_read_next_header(a, &entry); archive_read_close(a); - archive_read_finish(a); + archive_read_free(a); return (r == ARCHIVE_OK); } @@ -386,7 +386,7 @@ ac_read_objs(struct elfcopy *ecp, int if err(EXIT_FAILURE, "lseek failed"); if ((a = archive_read_new()) == NULL) errx(EXIT_FAILURE, "%s", archive_error_string(a)); - archive_read_support_compression_none(a); + archive_read_support_filter_none(a); archive_read_support_format_ar(a); AC(archive_read_open_fd(a, ifd, 10240)); for(;;) { @@ -435,7 +435,7 @@ ac_read_objs(struct elfcopy *ecp, int if } } AC(archive_read_close(a)); - ACV(archive_read_finish(a)); + ACV(archive_read_free(a)); } static void @@ -449,7 +449,7 @@ ac_write_objs(struct elfcopy *ecp, int o if ((a = archive_write_new()) == NULL) errx(EXIT_FAILURE, "%s", archive_error_string(a)); archive_write_set_format_ar_svr4(a); - archive_write_set_compression_none(a); + archive_write_add_filter_none(a); AC(archive_write_open_fd(a, ofd)); /* Write the archive symbol table, even if it's empty. */ @@ -491,7 +491,7 @@ ac_write_objs(struct elfcopy *ecp, int o } AC(archive_write_close(a)); - ACV(archive_write_finish(a)); + ACV(archive_write_free(a)); } static void Modified: projects/clang350-import/contrib/elftoolchain/elfcopy/ascii.c ============================================================================== --- projects/clang350-import/contrib/elftoolchain/elfcopy/ascii.c Tue Dec 2 01:30:53 2014 (r275386) +++ projects/clang350-import/contrib/elftoolchain/elfcopy/ascii.c Tue Dec 2 01:45:04 2014 (r275387) @@ -29,6 +29,7 @@ #include #include #include +#include #include #include #include Modified: projects/clang350-import/contrib/elftoolchain/elfcopy/segments.c ============================================================================== --- projects/clang350-import/contrib/elftoolchain/elfcopy/segments.c Tue Dec 2 01:30:53 2014 (r275386) +++ projects/clang350-import/contrib/elftoolchain/elfcopy/segments.c Tue Dec 2 01:45:04 2014 (r275387) @@ -28,6 +28,7 @@ #include #include #include +#include #include #include #include Modified: projects/clang350-import/contrib/elftoolchain/libelftc/libelftc_dem_gnu3.c ============================================================================== --- projects/clang350-import/contrib/elftoolchain/libelftc/libelftc_dem_gnu3.c Tue Dec 2 01:30:53 2014 (r275386) +++ projects/clang350-import/contrib/elftoolchain/libelftc/libelftc_dem_gnu3.c Tue Dec 2 01:45:04 2014 (r275387) @@ -156,7 +156,7 @@ static int vector_type_qualifier_init(st static int vector_type_qualifier_push(struct vector_type_qualifier *, enum type_qualifier); -int cpp_demangle_gnu3_push_head; +static int cpp_demangle_gnu3_push_head; /** * @brief Decode the input string by IA-64 C++ ABI style. Modified: projects/clang350-import/contrib/elftoolchain/nm/nm.c ============================================================================== --- projects/clang350-import/contrib/elftoolchain/nm/nm.c Tue Dec 2 01:30:53 2014 (r275386) +++ projects/clang350-import/contrib/elftoolchain/nm/nm.c Tue Dec 2 01:45:04 2014 (r275387) @@ -65,7 +65,7 @@ typedef void (*fn_sym_print)(const GElf_ typedef int (*fn_filter)(char, const GElf_Sym *, const char *); /* output filter list */ -SLIST_HEAD(filter_head, filter_entry) nm_out_filter = +static SLIST_HEAD(filter_head, filter_entry) nm_out_filter = SLIST_HEAD_INITIALIZER(nm_out_filter); struct filter_entry { Modified: projects/clang350-import/contrib/elftoolchain/size/size.c ============================================================================== --- projects/clang350-import/contrib/elftoolchain/size/size.c Tue Dec 2 01:30:53 2014 (r275386) +++ projects/clang350-import/contrib/elftoolchain/size/size.c Tue Dec 2 01:45:04 2014 (r275387) @@ -269,7 +269,7 @@ handle_core_note(Elf *elf, GElf_Ehdr *el static pid_t pid; uintptr_t ver; Elf32_Nhdr *nhdr, nhdr_l; - static int reg_pseudo = 0, reg2_pseudo = 0, regxfp_pseudo = 0; + static int reg_pseudo = 0, reg2_pseudo = 0 /*, regxfp_pseudo = 0*/; char buf[BUF_SIZE], *data, *name; if (elf == NULL || elfhdr == NULL || phdr == NULL) @@ -360,6 +360,7 @@ handle_core_note(Elf *elf, GElf_Ehdr *el text_size_total += nhdr_l.n_descsz; } break; +#if 0 case NT_AUXV: if (style == STYLE_SYSV) { tbl_append(); @@ -390,6 +391,7 @@ handle_core_note(Elf *elf, GElf_Ehdr *el } break; case NT_PSINFO: +#endif case NT_PRPSINFO: { /* FreeBSD 64-bit */ if (nhdr_l.n_descsz == 0x78 && @@ -415,8 +417,10 @@ handle_core_note(Elf *elf, GElf_Ehdr *el } break; } +#if 0 case NT_PSTATUS: case NT_LWPSTATUS: +#endif default: break; } Modified: projects/clang350-import/contrib/elftoolchain/strings/strings.c ============================================================================== --- projects/clang350-import/contrib/elftoolchain/strings/strings.c Tue Dec 2 01:30:53 2014 (r275386) +++ projects/clang350-import/contrib/elftoolchain/strings/strings.c Tue Dec 2 01:45:04 2014 (r275387) @@ -75,9 +75,9 @@ enum encoding_style { (encoding == ENCODING_8BIT && (c) > 127))) -int encoding_size, entire_file, min_len, show_filename, show_loc; -enum encoding_style encoding; -enum radix_style radix; +static int encoding_size, entire_file, min_len, show_filename, show_loc; +static enum encoding_style encoding; +static enum radix_style radix; static struct option strings_longopts[] = { { "all", no_argument, NULL, 'a'}, Modified: projects/clang350-import/contrib/gcc/config/arm/libunwind.S ============================================================================== --- projects/clang350-import/contrib/gcc/config/arm/libunwind.S Tue Dec 2 01:30:53 2014 (r275386) +++ projects/clang350-import/contrib/gcc/config/arm/libunwind.S Tue Dec 2 01:45:04 2014 (r275387) @@ -26,6 +26,13 @@ the Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ +#include + +/* Allow the use of VFP instructions */ +#if __ARM_ARCH >= 7 +.fpu vfp +#endif + #ifndef __symbian__ #include "lib1funcs.asm" @@ -66,14 +73,22 @@ ARM_FUNC_START restore_core_regs ARM_FUNC_START gnu_Unwind_Restore_VFP /* Use the generic coprocessor form so that gas doesn't complain on soft-float targets. */ +#if __ARM_ARCH >= 7 + fldmiax r0, {d0-d15} +#else ldc p11,cr0,[r0],{0x21} /* fldmiax r0, {d0-d15} */ +#endif RET /* Store VFR regsters d0-d15 to the address in r0. */ ARM_FUNC_START gnu_Unwind_Save_VFP /* Use the generic coprocessor form so that gas doesn't complain on soft-float targets. */ +#if __ARM_ARCH >= 7 + fstmiax r0, {d0-d15} +#else stc p11,cr0,[r0],{0x21} /* fstmiax r0, {d0-d15} */ +#endif RET /* Wrappers to save core registers, then call the real routine. */ Modified: projects/clang350-import/contrib/subversion/subversion/svn/util.c ============================================================================== --- projects/clang350-import/contrib/subversion/subversion/svn/util.c Tue Dec 2 01:30:53 2014 (r275386) +++ projects/clang350-import/contrib/subversion/subversion/svn/util.c Tue Dec 2 01:45:04 2014 (r275387) @@ -333,11 +333,13 @@ truncate_buffer_at_prefix(apr_size_t *ne static const char *prefixes[] = { "PR:", + "Differential Revision:", "Submitted by:", "Reviewed by:", "Approved by:", "Obtained from:", "MFC after:", + "MFH:", "Relnotes:", "Security:", "Sponsored by:" @@ -404,11 +406,13 @@ svn_cl__get_log_message(const char **log default_msg = svn_stringbuf_create(APR_EOL_STR, pool); svn_stringbuf_appendcstr(default_msg, APR_EOL_STR); svn_stringbuf_appendcstr(default_msg, "PR:\t\t" APR_EOL_STR); + svn_stringbuf_appendcstr(default_msg, "Differential Revision:\t" APR_EOL_STR); svn_stringbuf_appendcstr(default_msg, "Submitted by:\t" APR_EOL_STR); svn_stringbuf_appendcstr(default_msg, "Reviewed by:\t" APR_EOL_STR); svn_stringbuf_appendcstr(default_msg, "Approved by:\t" APR_EOL_STR); svn_stringbuf_appendcstr(default_msg, "Obtained from:\t" APR_EOL_STR); svn_stringbuf_appendcstr(default_msg, "MFC after:\t" APR_EOL_STR); + svn_stringbuf_appendcstr(default_msg, "MFH:\t\t" APR_EOL_STR); svn_stringbuf_appendcstr(default_msg, "Relnotes:\t" APR_EOL_STR); svn_stringbuf_appendcstr(default_msg, "Security:\t" APR_EOL_STR); svn_stringbuf_appendcstr(default_msg, "Sponsored by:\t" @@ -419,15 +423,17 @@ svn_cl__get_log_message(const char **log svn_stringbuf_appendcstr(default_msg, EDITOR_EOF_PREFIX); svn_stringbuf_appendcstr(default_msg, APR_EOL_STR); svn_stringbuf_appendcstr(default_msg, "> Description of fields to fill in above: 76 columns --|" APR_EOL_STR); - svn_stringbuf_appendcstr(default_msg, "> PR: If a Bugzilla PR is affected by the change." APR_EOL_STR); - svn_stringbuf_appendcstr(default_msg, "> Submitted by: If someone else sent in the change." APR_EOL_STR); - svn_stringbuf_appendcstr(default_msg, "> Reviewed by: If someone else reviewed your modification." APR_EOL_STR); - svn_stringbuf_appendcstr(default_msg, "> Approved by: If you needed approval for this commit." APR_EOL_STR); - svn_stringbuf_appendcstr(default_msg, "> Obtained from: If the change is from a third party." APR_EOL_STR); - svn_stringbuf_appendcstr(default_msg, "> MFC after: N [day[s]|week[s]|month[s]]. Request a reminder email." APR_EOL_STR); - svn_stringbuf_appendcstr(default_msg, "> Relnotes: Set to 'yes' for mention in release notes." APR_EOL_STR); - svn_stringbuf_appendcstr(default_msg, "> Security: Vulnerability reference (one per line) or description." APR_EOL_STR); - svn_stringbuf_appendcstr(default_msg, "> Sponsored by: If the change was sponsored by an organization." APR_EOL_STR); + svn_stringbuf_appendcstr(default_msg, "> PR: If a Bugzilla PR is affected by the change." APR_EOL_STR); + svn_stringbuf_appendcstr(default_msg, "> Differential Revision: https://reviews.freebsd.org/D### (*full* phabric URL needed)." APR_EOL_STR); + svn_stringbuf_appendcstr(default_msg, "> Submitted by: If someone else sent in the change." APR_EOL_STR); + svn_stringbuf_appendcstr(default_msg, "> Reviewed by: If someone else reviewed your modification." APR_EOL_STR); + svn_stringbuf_appendcstr(default_msg, "> Approved by: If you needed approval for this commit." APR_EOL_STR); + svn_stringbuf_appendcstr(default_msg, "> Obtained from: If the change is from a third party." APR_EOL_STR); + svn_stringbuf_appendcstr(default_msg, "> MFC after: N [day[s]|week[s]|month[s]]. Request a reminder email." APR_EOL_STR); + svn_stringbuf_appendcstr(default_msg, "> MFH: Ports tree branch name. Request approval for merge." APR_EOL_STR); + svn_stringbuf_appendcstr(default_msg, "> Relnotes: Set to 'yes' for mention in release notes." APR_EOL_STR); + svn_stringbuf_appendcstr(default_msg, "> Security: Vulnerability reference (one per line) or description." APR_EOL_STR); + svn_stringbuf_appendcstr(default_msg, "> Sponsored by: If the change was sponsored by an organization." APR_EOL_STR); svn_stringbuf_appendcstr(default_msg, "> Empty fields above will be automatically removed." APR_EOL_STR); svn_stringbuf_appendcstr(default_msg, APR_EOL_STR); Modified: projects/clang350-import/gnu/usr.bin/binutils/Makefile ============================================================================== --- projects/clang350-import/gnu/usr.bin/binutils/Makefile Tue Dec 2 01:30:53 2014 (r275386) +++ projects/clang350-import/gnu/usr.bin/binutils/Makefile Tue Dec 2 01:45:04 2014 (r275387) @@ -1,19 +1,29 @@ # $FreeBSD$ +.include + SUBDIR= libiberty \ libbfd \ libopcodes \ libbinutils \ - addr2line \ + ${_addr2line} \ as \ ld \ - nm \ + ${_nm} \ objcopy \ objdump \ readelf \ - size \ - strings \ - strip \ + ${_size} \ + ${_strings} \ + ${_strip} \ doc + +.if ${MK_ELFTOOLCHAIN_TOOLS} == "no" +_addr2line= addr2line +_nm= nm +_size= size +_strings= strings +_strip= strip +.endif .include Modified: projects/clang350-import/lib/Makefile ============================================================================== --- projects/clang350-import/lib/Makefile Tue Dec 2 01:30:53 2014 (r275386) +++ projects/clang350-import/lib/Makefile Tue Dec 2 01:45:04 2014 (r275387) @@ -45,6 +45,7 @@ SUBDIR= ${SUBDIR_ORDERED} \ libdpv \ libdwarf \ libedit \ + ${_libelftc} \ ${_libevent} \ libexecinfo \ libexpat \ @@ -190,6 +191,10 @@ _clang= clang _cuse= libcuse .endif +.if ${MK_ELFTOOLCHAIN_TOOLS} != "no" +_libelftc= libelftc +.endif + .if ${MK_GPIB} != "no" _libgpib= libgpib .endif Modified: projects/clang350-import/sbin/sysctl/sysctl.c ============================================================================== --- projects/clang350-import/sbin/sysctl/sysctl.c Tue Dec 2 01:30:53 2014 (r275386) +++ projects/clang350-import/sbin/sysctl/sysctl.c Tue Dec 2 01:45:04 2014 (r275387) @@ -679,15 +679,18 @@ strIKtoi(const char *str, char **endptrp p = &str[len - 1]; if (*p == 'C' || *p == 'F') { temp = strtof(str, endptrp); - if (*endptrp != str && *endptrp == p && errno != 0) { + if (*endptrp != str && *endptrp == p && errno == 0) { if (*p == 'F') temp = (temp - 32) * 5 / 9; + *endptrp = NULL; return (temp * 10 + 2732); } } else { kelv = (int)strtol(str, endptrp, 10); - if (*endptrp != str && *endptrp == p && errno != 0) + if (*endptrp != str && *endptrp == p && errno == 0) { + *endptrp = NULL; return (kelv); + } } errno = ERANGE; Modified: projects/clang350-import/share/man/man4/isp.4 ============================================================================== --- projects/clang350-import/share/man/man4/isp.4 Tue Dec 2 01:30:53 2014 (r275386) +++ projects/clang350-import/share/man/man4/isp.4 Tue Dec 2 01:45:04 2014 (r275387) @@ -29,7 +29,7 @@ .\" .\" $FreeBSD$ .\" -.Dd February 28, 2007 +.Dd December 1, 2014 .Dt ISP 4 .Os .Sh NAME @@ -136,6 +136,8 @@ Dell Branded version of the QLogic 2312 Qlogic 2422 Optical Fibre Channel PCI cards (4 Gigabit) .It Qlogic 2432 Qlogic 2432 Optical Fibre Channel PCIe cards (4 Gigabit) +.It Qlogic 2432 +Qlogic 2532 Optical Fibre Channel PCIe cards (8 Gigabit) .El .Sh CONFIGURATION OPTIONS Target mode support may be enabled with the @@ -197,6 +199,8 @@ A hint to define default role for isp in A hint value for a driver debug level (see the file .Pa /usr/src/sys/dev/isp/ispvar.h for the values. +.It Va hint.isp.0.vports +A hint to create specified number of additional virtual ports. .El .Sh SYSCTL OPTIONS .Bl -tag -width indent Modified: projects/clang350-import/share/mk/bsd.cpu.mk ============================================================================== --- projects/clang350-import/share/mk/bsd.cpu.mk Tue Dec 2 01:30:53 2014 (r275386) +++ projects/clang350-import/share/mk/bsd.cpu.mk Tue Dec 2 01:45:04 2014 (r275387) @@ -99,7 +99,7 @@ _CPUCFLAGS = -march=armv5te -D__XSCALE__ . elif ${CPUTYPE} == "armv6" _CPUCFLAGS = -march=${CPUTYPE} -DARM_ARCH_6=1 . elif ${CPUTYPE} == "cortexa" -_CPUCFLAGS = -DARM_ARCH_6=1 -mfpu=vfp +_CPUCFLAGS = -march=armv7 -DARM_ARCH_6=1 -mfpu=vfp . else _CPUCFLAGS = -mcpu=${CPUTYPE} . endif Modified: projects/clang350-import/share/mk/src.libnames.mk ============================================================================== --- projects/clang350-import/share/mk/src.libnames.mk Tue Dec 2 01:30:53 2014 (r275386) +++ projects/clang350-import/share/mk/src.libnames.mk Tue Dec 2 01:45:04 2014 (r275387) @@ -27,6 +27,7 @@ _INTERNALIBS= \ amu \ bsnmptools \ cron \ + elftc \ event \ fifolog \ ipf \ @@ -286,6 +287,10 @@ LIBATF_CXX?= ${LIBATF_CXXDIR}/libatf-c++ LIBBSDSTATDIR= ${ROOTOBJDIR}/lib/libbsdstat LIBBSDSTAT?= ${LIBBSDSTATDIR}/libbsdstat.a +LIBELFTCDIR= ${ROOTOBJDIR}/lib/libelftc +LDELFTC?= ${LIBELFTCDIR}/libelftc.a +LIBELFTC?= ${LIBELFTCDIR}/libelftc.a + LIBEVENTDIR= ${ROOTOBJDIR}/lib/libevent LIBEVENT?= ${LIBEVENTDIR}/libevent.a Modified: projects/clang350-import/share/mk/src.opts.mk ============================================================================== --- projects/clang350-import/share/mk/src.opts.mk Tue Dec 2 01:30:53 2014 (r275386) +++ projects/clang350-import/share/mk/src.opts.mk Tue Dec 2 01:45:04 2014 (r275387) @@ -160,6 +160,7 @@ __DEFAULT_NO_OPTIONS = \ BSD_GREP \ CLANG_EXTRAS \ EISA \ + ELFTOOLCHAIN_TOOLS \ FMAKE \ HESIOD \ LLDB \ Modified: projects/clang350-import/sys/arm/include/asm.h ============================================================================== --- projects/clang350-import/sys/arm/include/asm.h Tue Dec 2 01:30:53 2014 (r275386) +++ projects/clang350-import/sys/arm/include/asm.h Tue Dec 2 01:45:04 2014 (r275387) @@ -112,10 +112,16 @@ ldr x, [x, got] #define GOT_INIT(got,gotsym,pclabel) \ ldr got, gotsym; \ - add got, got, pc; \ - pclabel: + pclabel: add got, got, pc +#ifdef __thumb__ #define GOT_INITSYM(gotsym,pclabel) \ - gotsym: .word _C_LABEL(_GLOBAL_OFFSET_TABLE_) + (. - (pclabel+4)) + .align 0; \ + gotsym: .word _C_LABEL(_GLOBAL_OFFSET_TABLE_) - (pclabel+4) +#else +#define GOT_INITSYM(gotsym,pclabel) \ + .align 0; \ + gotsym: .word _C_LABEL(_GLOBAL_OFFSET_TABLE_) - (pclabel+8) +#endif #ifdef __STDC__ #define PIC_SYM(x,y) x ## ( ## y ## ) Modified: projects/clang350-import/sys/arm/ti/ti_pruss.c ============================================================================== --- projects/clang350-import/sys/arm/ti/ti_pruss.c Tue Dec 2 01:30:53 2014 (r275386) +++ projects/clang350-import/sys/arm/ti/ti_pruss.c Tue Dec 2 01:45:04 2014 (r275387) @@ -67,7 +67,6 @@ static device_attach_t ti_pruss_attach; static device_detach_t ti_pruss_detach; static void ti_pruss_intr(void *); static d_open_t ti_pruss_open; -static d_close_t ti_pruss_close; static d_mmap_t ti_pruss_mmap; static void ti_pruss_kq_read_detach(struct knote *); static int ti_pruss_kq_read_event(struct knote *, long); @@ -83,14 +82,12 @@ struct ti_pruss_softc { bus_space_handle_t sc_bh; struct cdev *sc_pdev; struct selinfo sc_selinfo; - uint32_t sc_inuse; }; static struct cdevsw ti_pruss_cdevsw = { .d_version = D_VERSION, .d_name = "ti_pruss", .d_open = ti_pruss_open, - .d_close = ti_pruss_close, .d_mmap = ti_pruss_mmap, .d_kqfilter = ti_pruss_kqfilter, }; @@ -187,11 +184,11 @@ ti_pruss_attach(device_t dev) for (i = 0; i < TI_PRUSS_IRQS; i++) { ti_pruss_irq_args[i].irq = i; ti_pruss_irq_args[i].sc = sc; - if (bus_setup_intr(dev, sc->sc_irq_res[i], + if (bus_setup_intr(dev, sc->sc_irq_res[i], INTR_MPSAFE | INTR_TYPE_MISC, - NULL, ti_pruss_intr, &ti_pruss_irq_args[i], + NULL, ti_pruss_intr, &ti_pruss_irq_args[i], &sc->sc_intr[i]) != 0) { - device_printf(dev, + device_printf(dev, "unable to setup the interrupt handler\n"); ti_pruss_detach(dev); return (ENXIO); @@ -220,7 +217,7 @@ ti_pruss_detach(device_t dev) if (sc->sc_intr[i]) bus_teardown_intr(dev, sc->sc_irq_res[i], sc->sc_intr[i]); if (sc->sc_irq_res[i]) - bus_release_resource(dev, SYS_RES_IRQ, + bus_release_resource(dev, SYS_RES_IRQ, rman_get_rid(sc->sc_irq_res[i]), sc->sc_irq_res[i]); } @@ -246,25 +243,9 @@ ti_pruss_intr(void *arg) } static int -ti_pruss_open(struct cdev *cdev, int oflags, int devtype, struct thread *td) +ti_pruss_open(struct cdev *cdev __unused, int oflags __unused, + int devtype __unused, struct thread *td __unused) { - device_t dev = cdev->si_drv1; - struct ti_pruss_softc *sc = device_get_softc(dev); - - if (atomic_cmpset_32(&sc->sc_inuse, 0, 1) == 0) - return (EBUSY); - else - return (0); -} - -static int -ti_pruss_close(struct cdev *cdev, int fflag, int devtype, struct thread *td) -{ - device_t dev = cdev->si_drv1; - struct ti_pruss_softc *sc = device_get_softc(dev); - - sc->sc_inuse = 0; - return (0); } Modified: projects/clang350-import/sys/cam/cam_xpt.c ============================================================================== --- projects/clang350-import/sys/cam/cam_xpt.c Tue Dec 2 01:30:53 2014 (r275386) +++ projects/clang350-import/sys/cam/cam_xpt.c Tue Dec 2 01:45:04 2014 (r275387) @@ -1136,8 +1136,15 @@ xpt_getattr(char *buf, size_t len, const if (idd == NULL) goto out; ret = 0; - if ((idd->proto_codeset & SVPD_ID_CODESET_MASK) == SVPD_ID_CODESET_ASCII || - (idd->proto_codeset & SVPD_ID_CODESET_MASK) == SVPD_ID_CODESET_UTF8) { + if ((idd->proto_codeset & SVPD_ID_CODESET_MASK) == SVPD_ID_CODESET_ASCII) { + if (idd->length < len) { + for (l = 0; l < idd->length; l++) + buf[l] = idd->identifier[l] ? + idd->identifier[l] : ' '; + buf[l] = 0; + } else + ret = EFAULT; + } else if ((idd->proto_codeset & SVPD_ID_CODESET_MASK) == SVPD_ID_CODESET_UTF8) { l = strnlen(idd->identifier, idd->length); if (l < len) { bcopy(idd->identifier, buf, l); Modified: projects/clang350-import/sys/kern/kern_mutex.c ============================================================================== --- projects/clang350-import/sys/kern/kern_mutex.c Tue Dec 2 01:30:53 2014 (r275386) +++ projects/clang350-import/sys/kern/kern_mutex.c Tue Dec 2 01:45:04 2014 (r275387) @@ -968,7 +968,7 @@ mutex_init(void) mtx_init(&blocked_lock, "blocked lock", NULL, MTX_SPIN); blocked_lock.mtx_lock = 0xdeadc0de; /* Always blocked. */ mtx_init(&proc0.p_mtx, "process lock", NULL, MTX_DEF | MTX_DUPOK); - mtx_init(&proc0.p_slock, "process slock", NULL, MTX_SPIN | MTX_RECURSE); + mtx_init(&proc0.p_slock, "process slock", NULL, MTX_SPIN); mtx_init(&proc0.p_statmtx, "pstatl", NULL, MTX_SPIN); mtx_init(&proc0.p_itimmtx, "pitiml", NULL, MTX_SPIN); mtx_init(&proc0.p_profmtx, "pprofl", NULL, MTX_SPIN); Modified: projects/clang350-import/sys/kern/kern_proc.c ============================================================================== --- projects/clang350-import/sys/kern/kern_proc.c Tue Dec 2 01:30:53 2014 (r275386) +++ projects/clang350-import/sys/kern/kern_proc.c Tue Dec 2 01:45:04 2014 (r275387) @@ -227,7 +227,7 @@ proc_init(void *mem, int size, int flags p->p_sched = (struct p_sched *)&p[1]; bzero(&p->p_mtx, sizeof(struct mtx)); mtx_init(&p->p_mtx, "process lock", NULL, MTX_DEF | MTX_DUPOK); - mtx_init(&p->p_slock, "process slock", NULL, MTX_SPIN | MTX_RECURSE); + mtx_init(&p->p_slock, "process slock", NULL, MTX_SPIN); mtx_init(&p->p_statmtx, "pstatl", NULL, MTX_SPIN); mtx_init(&p->p_itimmtx, "pitiml", NULL, MTX_SPIN); mtx_init(&p->p_profmtx, "pprofl", NULL, MTX_SPIN); Copied: projects/clang350-import/tools/build/options/WITH_ELFTOOLCHAIN_TOOLS (from r275386, head/tools/build/options/WITH_ELFTOOLCHAIN_TOOLS) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ projects/clang350-import/tools/build/options/WITH_ELFTOOLCHAIN_TOOLS Tue Dec 2 01:45:04 2014 (r275387, copy of r275386, head/tools/build/options/WITH_ELFTOOLCHAIN_TOOLS) @@ -0,0 +1,9 @@ +.\" $FreeBSD$ +Set to use +.Xr addr2line 1 , +.Xr nm 1 , +.Xr size 1 , +.Xr strings 1 , +and +.Xr strip 1 +from the elftoolchain project instead of GNU binutils. Modified: projects/clang350-import/tools/tools/nanobsd/fill_pkg.sh ============================================================================== --- projects/clang350-import/tools/tools/nanobsd/fill_pkg.sh Tue Dec 2 01:30:53 2014 (r275386) +++ projects/clang350-import/tools/tools/nanobsd/fill_pkg.sh Tue Dec 2 01:45:04 2014 (r275387) @@ -57,8 +57,8 @@ ports_recurse() ( else ( cd $d - rd=`make -V RUN_DEPENDS` - ld=`make -V LIB_DEPENDS` + rd=`make -V RUN_DEPENDS ${PORTS_OPTS}` + ld=`make -V LIB_DEPENDS ${PORTS_OPTS}` for x in $rd $ld do @@ -84,8 +84,8 @@ done for i in `cat $PL` do p=`(cd $i && make -V PKGNAME)` - if [ -f $NANO_PKG_DUMP/$p.tbz ] ; then - ln -s $NANO_PKG_DUMP/$p.tbz $NANO_PACKAGE_DIR + if [ -f $NANO_PKG_DUMP/$p.t[bx]z ] ; then + ln -s $NANO_PKG_DUMP/$p.t[bx]z $NANO_PACKAGE_DIR else echo "Package $p misssing in $NANO_PKG_DUMP" 1>&2 exit 1 Modified: projects/clang350-import/usr.bin/Makefile ============================================================================== --- projects/clang350-import/usr.bin/Makefile Tue Dec 2 01:30:53 2014 (r275386) +++ projects/clang350-import/usr.bin/Makefile Tue Dec 2 01:45:04 2014 (r275387) @@ -9,7 +9,8 @@ # Moved to secure: bdes # -SUBDIR= alias \ +SUBDIR= ${_addr2line} \ + alias \ apply \ asa \ awk \ @@ -41,6 +42,7 @@ SUBDIR= alias \ du \ ee \ elf2aout \ + ${_elfcopy} \ elfdump \ enigma \ env \ @@ -119,6 +121,7 @@ SUBDIR= alias \ nfsstat \ nice \ nl \ + ${_nm} \ nohup \ opieinfo \ opiekey \ @@ -150,12 +153,14 @@ SUBDIR= alias \ seq \ shar \ showmount \ + ${_size} \ sockstat \ soeliminate \ sort \ split \ stat \ stdbuf \ + ${_strings} \ su \ systat \ tabs \ @@ -236,6 +241,14 @@ SUBDIR+= calendar _clang= clang .endif +.if ${MK_ELFTOOLCHAIN_TOOLS} != "no" +_addr2line= addr2line +_elfcopy= elfcopy +_nm= nm +_size= size +_strings= strings +.endif + .if ${MK_FMAKE} != "no" SUBDIR+= make .endif