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...
Dimitry Andric
dim at FreeBSD.org
Tue Dec 2 01:45:12 UTC 2014
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
More information about the svn-src-projects
mailing list