Merge ^/head r274961 through r275386.
This commit is contained in:
commit
ae94017be3
@ -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} \
|
||||
|
@ -4356,9 +4356,38 @@ elf_link_add_object_symbols (bfd *abfd, struct bfd_link_info *info)
|
||||
--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;
|
||||
}
|
||||
|
@ -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
|
||||
|
@ -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 ifd)
|
||||
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 ifd)
|
||||
}
|
||||
}
|
||||
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 ofd)
|
||||
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 ofd)
|
||||
}
|
||||
|
||||
AC(archive_write_close(a));
|
||||
ACV(archive_write_finish(a));
|
||||
ACV(archive_write_free(a));
|
||||
}
|
||||
|
||||
static void
|
||||
|
@ -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>
|
||||
|
@ -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>
|
||||
|
@ -156,7 +156,7 @@ static int vector_type_qualifier_init(struct vector_type_qualifier *);
|
||||
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.
|
||||
|
@ -65,7 +65,7 @@ typedef void (*fn_sym_print)(const GElf_Sym *);
|
||||
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 {
|
||||
|
@ -269,7 +269,7 @@ handle_core_note(Elf *elf, GElf_Ehdr *elfhdr, GElf_Phdr *phdr,
|
||||
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 *elfhdr, GElf_Phdr *phdr,
|
||||
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 *elfhdr, GElf_Phdr *phdr,
|
||||
}
|
||||
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 *elfhdr, GElf_Phdr *phdr,
|
||||
}
|
||||
break;
|
||||
}
|
||||
#if 0
|
||||
case NT_PSTATUS:
|
||||
case NT_LWPSTATUS:
|
||||
#endif
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
@ -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'},
|
||||
|
@ -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. */
|
||||
|
@ -333,11 +333,13 @@ truncate_buffer_at_prefix(apr_size_t *new_len,
|
||||
|
||||
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_msg,
|
||||
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_msg,
|
||||
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);
|
||||
|
||||
|
@ -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>
|
||||
|
@ -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
|
||||
|
30
lib/libelftc/Makefile
Normal file
30
lib/libelftc/Makefile
Normal file
@ -0,0 +1,30 @@
|
||||
# $FreeBSD$
|
||||
.include <bsd.own.mk>
|
||||
|
||||
INTERNALLIB=
|
||||
|
||||
ELFTCDIR= ${.CURDIR}/../../contrib/elftoolchain
|
||||
|
||||
.PATH: ${ELFTCDIR}/libelftc
|
||||
|
||||
LIB= elftc
|
||||
|
||||
SRCS= elftc_bfdtarget.c \
|
||||
elftc_copyfile.c \
|
||||
elftc_demangle.c \
|
||||
elftc_set_timestamps.c \
|
||||
elftc_string_table.c \
|
||||
elftc_version.c \
|
||||
libelftc_bfdtarget.c \
|
||||
libelftc_dem_arm.c \
|
||||
libelftc_dem_gnu2.c \
|
||||
libelftc_dem_gnu3.c \
|
||||
libelftc_hash.c \
|
||||
libelftc_vstr.c
|
||||
|
||||
INCS= libelftc.h
|
||||
CFLAGS+=-I${ELFTCDIR}/libelftc -I${ELFTCDIR}/common
|
||||
|
||||
NO_MAN= yes
|
||||
|
||||
.include <bsd.lib.mk>
|
10
lib/libelftc/elftc_version.c
Normal file
10
lib/libelftc/elftc_version.c
Normal file
@ -0,0 +1,10 @@
|
||||
/* $FreeBSD$ */
|
||||
|
||||
#include <sys/types.h>
|
||||
#include <libelftc.h>
|
||||
|
||||
const char *
|
||||
elftc_version(void)
|
||||
{
|
||||
return "libelftc r2974";
|
||||
}
|
@ -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;
|
||||
|
@ -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 Fibre Channel PCI cards.
|
||||
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 instance (target, initiator, both).
|
||||
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
|
||||
|
@ -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
|
||||
|
@ -27,6 +27,7 @@ _INTERNALIBS= \
|
||||
amu \
|
||||
bsnmptools \
|
||||
cron \
|
||||
elftc \
|
||||
event \
|
||||
fifolog \
|
||||
ipf \
|
||||
@ -286,6 +287,10 @@ LIBATF_CXX?= ${LIBATF_CXXDIR}/libatf-c++.a
|
||||
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
|
||||
|
||||
|
@ -160,6 +160,7 @@ __DEFAULT_NO_OPTIONS = \
|
||||
BSD_GREP \
|
||||
CLANG_EXTRAS \
|
||||
EISA \
|
||||
ELFTOOLCHAIN_TOOLS \
|
||||
FMAKE \
|
||||
HESIOD \
|
||||
LLDB \
|
||||
|
@ -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 ## )
|
||||
|
@ -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);
|
||||
}
|
||||
|
||||
|
@ -1136,8 +1136,15 @@ xpt_getattr(char *buf, size_t len, const char *attr, struct cam_path *path)
|
||||
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);
|
||||
|
@ -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);
|
||||
|
@ -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);
|
||||
|
9
tools/build/options/WITH_ELFTOOLCHAIN_TOOLS
Normal file
9
tools/build/options/WITH_ELFTOOLCHAIN_TOOLS
Normal file
@ -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.
|
@ -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
|
||||
|
@ -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
|
||||
|
16
usr.bin/addr2line/Makefile
Normal file
16
usr.bin/addr2line/Makefile
Normal file
@ -0,0 +1,16 @@
|
||||
# $FreeBSD$
|
||||
|
||||
.include <src.opts.mk>
|
||||
|
||||
ELFTCDIR= ${.CURDIR}/../../contrib/elftoolchain
|
||||
ADDR2LINEDIR= ${ELFTCDIR}/addr2line
|
||||
|
||||
.PATH: ${ADDR2LINEDIR}
|
||||
|
||||
PROG= addr2line
|
||||
|
||||
LIBADD= elftc dwarf elf
|
||||
|
||||
CFLAGS+=-I${ELFTCDIR}/libelftc -I${ELFTCDIR}/common
|
||||
|
||||
.include <bsd.prog.mk>
|
24
usr.bin/elfcopy/Makefile
Normal file
24
usr.bin/elfcopy/Makefile
Normal file
@ -0,0 +1,24 @@
|
||||
# $FreeBSD$
|
||||
|
||||
.include <src.opts.mk>
|
||||
|
||||
ELFTCDIR= ${.CURDIR}/../../contrib/elftoolchain
|
||||
ELFCOPYDIR= ${ELFTCDIR}/elfcopy
|
||||
|
||||
.PATH: ${ELFCOPYDIR}
|
||||
|
||||
PROG= elfcopy
|
||||
|
||||
SRCS= archive.c ascii.c binary.c main.c sections.c segments.c symbols.c
|
||||
|
||||
WARNS?= 5
|
||||
|
||||
LIBADD= archive elftc elf
|
||||
|
||||
CFLAGS+=-I${ELFTCDIR}/libelftc -I${ELFTCDIR}/common
|
||||
|
||||
MAN= elfcopy.1 strip.1
|
||||
|
||||
LINKS= ${BINDIR}/elfcopy ${BINDIR}/strip
|
||||
|
||||
.include <bsd.prog.mk>
|
16
usr.bin/nm/Makefile
Normal file
16
usr.bin/nm/Makefile
Normal file
@ -0,0 +1,16 @@
|
||||
# $FreeBSD$
|
||||
|
||||
.include <src.opts.mk>
|
||||
|
||||
ELFTCDIR= ${.CURDIR}/../../contrib/elftoolchain
|
||||
NMDIR= ${ELFTCDIR}/nm
|
||||
|
||||
.PATH: ${NMDIR}
|
||||
|
||||
PROG= nm
|
||||
|
||||
LIBADD= dwarf elftc elf
|
||||
|
||||
CFLAGS+=-I${ELFTCDIR}/libelftc -I${ELFTCDIR}/common
|
||||
|
||||
.include <bsd.prog.mk>
|
16
usr.bin/size/Makefile
Normal file
16
usr.bin/size/Makefile
Normal file
@ -0,0 +1,16 @@
|
||||
# $FreeBSD$
|
||||
|
||||
.include <src.opts.mk>
|
||||
|
||||
ELFTCDIR= ${.CURDIR}/../../contrib/elftoolchain
|
||||
SIZEDIR= ${ELFTCDIR}/size
|
||||
|
||||
.PATH: ${SIZEDIR}
|
||||
|
||||
PROG= size
|
||||
|
||||
LIBADD= elftc elf
|
||||
|
||||
CFLAGS+=-I${ELFTCDIR}/libelftc -I${ELFTCDIR}/common
|
||||
|
||||
.include <bsd.prog.mk>
|
15
usr.bin/strings/Makefile
Normal file
15
usr.bin/strings/Makefile
Normal file
@ -0,0 +1,15 @@
|
||||
# $FreeBSD$
|
||||
|
||||
.include <src.opts.mk>
|
||||
|
||||
ELFTCDIR= ${.CURDIR}/../../contrib/elftoolchain
|
||||
|
||||
.PATH: ${ELFTCDIR}/strings
|
||||
|
||||
PROG= strings
|
||||
|
||||
LIBADD= elftc elf
|
||||
|
||||
CFLAGS+=-I${ELFTCDIR}/libelftc -I${ELFTCDIR}/common
|
||||
|
||||
.include <bsd.prog.mk>
|
Loading…
Reference in New Issue
Block a user