Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 2 Dec 2014 01:45:05 +0000 (UTC)
From:      Dimitry Andric <dim@FreeBSD.org>
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...
Message-ID:  <201412020145.sB21j504091217@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
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 <ctype.h>
 #include <err.h>
 #include <gelf.h>
+#include <stdint.h>
 #include <stdio.h>
 #include <stdlib.h>
 #include <string.h>

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 <sys/queue.h>
 #include <err.h>
 #include <gelf.h>
+#include <stdint.h>
 #include <stdio.h>
 #include <stdlib.h>
 #include <string.h>

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 <machine/acle-compat.h>
+
+/* 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 <src.opts.mk>
+
 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 <bsd.subdir.mk>

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



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201412020145.sB21j504091217>