Merge ^/head r274961 through r275386.

This commit is contained in:
dim 2014-12-02 01:45:04 +00:00
commit ae94017be3
34 changed files with 310 additions and 71 deletions

View File

@ -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} \

View File

@ -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;
}

View File

@ -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

View File

@ -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

View File

@ -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>

View File

@ -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>

View File

@ -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.

View File

@ -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 {

View File

@ -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;
}

View File

@ -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'},

View File

@ -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. */

View File

@ -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);

View File

@ -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>

View File

@ -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
View 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>

View File

@ -0,0 +1,10 @@
/* $FreeBSD$ */
#include <sys/types.h>
#include <libelftc.h>
const char *
elftc_version(void)
{
return "libelftc r2974";
}

View File

@ -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;

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -160,6 +160,7 @@ __DEFAULT_NO_OPTIONS = \
BSD_GREP \
CLANG_EXTRAS \
EISA \
ELFTOOLCHAIN_TOOLS \
FMAKE \
HESIOD \
LLDB \

View File

@ -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 ## )

View File

@ -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);
}

View File

@ -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);

View File

@ -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);

View File

@ -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);

View 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.

View File

@ -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

View File

@ -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

View 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
View 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
View 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
View 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
View 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>