svn commit: r278638 - in projects/building-blocks: . bin/pkill/tests contrib/binutils/ld/scripttempl contrib/elftoolchain/libdwarf contrib/netbsd-tests/games etc etc/mtree etc/root games games/caes...
Garrett Cooper
ngie at FreeBSD.org
Thu Feb 12 21:18:02 UTC 2015
Author: ngie
Date: Thu Feb 12 21:17:50 2015
New Revision: 278638
URL: https://svnweb.freebsd.org/changeset/base/278638
Log:
MFhead @ r278636
Modified:
projects/building-blocks/Makefile.inc1
projects/building-blocks/ObsoleteFiles.inc
projects/building-blocks/bin/pkill/tests/pgrep-j_test.sh
projects/building-blocks/contrib/binutils/ld/scripttempl/elf.sc
projects/building-blocks/contrib/elftoolchain/libdwarf/_libdwarf.h
projects/building-blocks/contrib/elftoolchain/libdwarf/dwarf_reloc.c
projects/building-blocks/contrib/elftoolchain/libdwarf/dwarf_set_reloc_application.3
projects/building-blocks/contrib/elftoolchain/libdwarf/libdwarf.c
projects/building-blocks/contrib/elftoolchain/libdwarf/libdwarf.h
projects/building-blocks/contrib/elftoolchain/libdwarf/libdwarf_elf_init.c
projects/building-blocks/contrib/elftoolchain/libdwarf/libdwarf_reloc.c
projects/building-blocks/contrib/netbsd-tests/games/t_factor.sh
projects/building-blocks/etc/login.conf
projects/building-blocks/etc/master.passwd
projects/building-blocks/etc/mtree/BSD.debug.dist
projects/building-blocks/etc/mtree/BSD.usr.dist
projects/building-blocks/etc/root/dot.cshrc
projects/building-blocks/etc/root/dot.login
projects/building-blocks/etc/root/dot.profile
projects/building-blocks/games/Makefile.inc
projects/building-blocks/games/caesar/rot13.sh
projects/building-blocks/games/fortune/datfiles/Makefile
projects/building-blocks/include/stdio.h
projects/building-blocks/lib/libc/gen/ulimit.c
projects/building-blocks/lib/libthr/libthr.3
projects/building-blocks/release/scripts/make-manifest.sh
projects/building-blocks/share/man/man4/led.4
projects/building-blocks/share/man/man6/intro.6
projects/building-blocks/share/man/man7/hier.7
projects/building-blocks/share/mk/bsd.prog.mk
projects/building-blocks/share/skel/Makefile
projects/building-blocks/share/skel/dot.cshrc.in
projects/building-blocks/share/skel/dot.login.in
projects/building-blocks/share/skel/dot.profile.in
projects/building-blocks/sys/arm/arm/db_trace.c
projects/building-blocks/sys/arm/xscale/ixp425/if_npe.c
projects/building-blocks/sys/boot/arm/ixp425/boot2/ixp425_board.c
projects/building-blocks/sys/boot/pc98/boot2/Makefile
projects/building-blocks/sys/cam/ctl/ctl.c
projects/building-blocks/sys/cam/ctl/ctl.h
projects/building-blocks/sys/cam/ctl/ctl_backend_block.c
projects/building-blocks/sys/cam/ctl/ctl_private.h
projects/building-blocks/sys/cam/ctl/ctl_tpc.c
projects/building-blocks/sys/cam/ctl/ctl_tpc.h
projects/building-blocks/sys/cam/ctl/ctl_tpc_local.c
projects/building-blocks/sys/cam/scsi/scsi_all.h
projects/building-blocks/sys/cddl/dev/fbt/arm/fbt_isa.c
projects/building-blocks/sys/contrib/vchiq/interface/vchiq_arm/vchiq_2835_arm.c
projects/building-blocks/sys/dev/hwpmc/hwpmc_armv7.c
projects/building-blocks/sys/kern/kern_sig.c
projects/building-blocks/sys/kern/kern_timeout.c
projects/building-blocks/sys/x86/iommu/intel_drv.c
projects/building-blocks/sys/x86/iommu/intel_reg.h
projects/building-blocks/sys/x86/iommu/intel_utils.c
projects/building-blocks/tools/build/mk/OptionalObsoleteFiles.inc
projects/building-blocks/tools/tools/nanobsd/gateworks/Files/root/.profile
projects/building-blocks/tools/tools/nanobsd/pcengines/Files/root/.cshrc
projects/building-blocks/tools/tools/nanobsd/pcengines/Files/root/.login
projects/building-blocks/tools/tools/nanobsd/rescue/Files/root/.cshrc
projects/building-blocks/usr.bin/svn/svn/Makefile
projects/building-blocks/usr.bin/wc/wc.c
projects/building-blocks/usr.bin/whereis/pathnames.h
projects/building-blocks/usr.bin/whereis/whereis.1
projects/building-blocks/usr.bin/whereis/whereis.c
projects/building-blocks/usr.sbin/bsdconfig/include/messages.subr
projects/building-blocks/usr.sbin/ctladm/ctladm.8
projects/building-blocks/usr.sbin/ctld/ctl.conf.5
projects/building-blocks/usr.sbin/ctld/ctld.c
projects/building-blocks/usr.sbin/ctld/ctld.h
projects/building-blocks/usr.sbin/ctld/keys.c
projects/building-blocks/usr.sbin/flowctl/flowctl.c
projects/building-blocks/usr.sbin/iscsid/iscsid.h
projects/building-blocks/usr.sbin/iscsid/keys.c
projects/building-blocks/usr.sbin/pc-sysinstall/backend/functions-extractimage.sh
Directory Properties:
projects/building-blocks/ (props changed)
projects/building-blocks/contrib/binutils/ (props changed)
projects/building-blocks/contrib/elftoolchain/ (props changed)
projects/building-blocks/etc/ (props changed)
projects/building-blocks/include/ (props changed)
projects/building-blocks/lib/libc/ (props changed)
projects/building-blocks/share/ (props changed)
projects/building-blocks/share/man/man4/ (props changed)
projects/building-blocks/sys/ (props changed)
projects/building-blocks/sys/boot/ (props changed)
Modified: projects/building-blocks/Makefile.inc1
==============================================================================
--- projects/building-blocks/Makefile.inc1 Thu Feb 12 21:15:28 2015 (r278637)
+++ projects/building-blocks/Makefile.inc1 Thu Feb 12 21:17:50 2015 (r278638)
@@ -189,9 +189,8 @@ OBJTREE= ${MAKEOBJDIRPREFIX}
OBJTREE= ${MAKEOBJDIRPREFIX}/${TARGET}.${TARGET_ARCH}
.endif
WORLDTMP= ${OBJTREE}${.CURDIR}/tmp
-# /usr/games added for fortune which depend on strfile
-BPATH= ${WORLDTMP}/legacy/usr/sbin:${WORLDTMP}/legacy/usr/bin:${WORLDTMP}/legacy/usr/games:${WORLDTMP}/legacy/bin
-XPATH= ${WORLDTMP}/usr/sbin:${WORLDTMP}/usr/bin:${WORLDTMP}/usr/games
+BPATH= ${WORLDTMP}/legacy/usr/sbin:${WORLDTMP}/legacy/usr/bin:${WORLDTMP}/legacy/bin
+XPATH= ${WORLDTMP}/usr/sbin:${WORLDTMP}/usr/bin
STRICTTMPPATH= ${BPATH}:${XPATH}
TMPPATH= ${STRICTTMPPATH}:${PATH}
@@ -812,9 +811,6 @@ ITOOLS+=makewhatis
# Non-base distributions produced by the base system
EXTRA_DISTRIBUTIONS= doc
-.if ${MK_GAMES} != "no"
-EXTRA_DISTRIBUTIONS+= games
-.endif
.if defined(LIB32TMP) && ${MK_LIB32} != "no"
EXTRA_DISTRIBUTIONS+= lib32
.endif
Modified: projects/building-blocks/ObsoleteFiles.inc
==============================================================================
--- projects/building-blocks/ObsoleteFiles.inc Thu Feb 12 21:15:28 2015 (r278637)
+++ projects/building-blocks/ObsoleteFiles.inc Thu Feb 12 21:17:50 2015 (r278638)
@@ -38,6 +38,22 @@
# xargs -n1 | sort | uniq -d;
# done
+# 20150212: /usr/games moving into /usr/bin
+OLD_FILES+=usr/games/bcd
+OLD_FILES+=usr/games/caesar
+OLD_FILES+=usr/games/factor
+OLD_FILES+=usr/games/fortune
+OLD_FILES+=usr/games/grdc
+OLD_FILES+=usr/games/morse
+OLD_FILES+=usr/games/number
+OLD_FILES+=usr/games/pom
+OLD_FILES+=usr/games/ppt
+OLD_FILES+=usr/games/primes
+OLD_FILES+=usr/games/random
+OLD_FILES+=usr/games/rot13
+OLD_FILES+=usr/games/strfile
+OLD_FILES+=usr/games/unstr
+OLD_DIRS+=usr/games
# 20150209: liblzma header
OLD_FILES+=usr/include/lzma/lzma.h
# 20150124: spl.9 and friends
Modified: projects/building-blocks/bin/pkill/tests/pgrep-j_test.sh
==============================================================================
--- projects/building-blocks/bin/pkill/tests/pgrep-j_test.sh Thu Feb 12 21:15:28 2015 (r278637)
+++ projects/building-blocks/bin/pkill/tests/pgrep-j_test.sh Thu Feb 12 21:17:50 2015 (r278638)
@@ -19,79 +19,71 @@ jail_name_to_jid()
base=pgrep_j_test
+if [ `id -u` -ne 0 ]; then
+ echo "1..0 # skip Test needs uid 0."
+ exit 0
+fi
+
echo "1..3"
+sleep=$(pwd)/sleep.txt
+ln -sf /bin/sleep $sleep
+
name="pgrep -j <jid>"
-if [ `id -u` -eq 0 ]; then
- sleep=$(pwd)/sleep.txt
- ln -sf /bin/sleep $sleep
- jail -c path=/ name=${base}_1_1 ip4.addr=127.0.0.1 \
- command=daemon -p ${PWD}/${base}_1_1.pid $sleep 5 &
-
- jail -c path=/ name=${base}_1_2 ip4.addr=127.0.0.1 \
- command=daemon -p ${PWD}/${base}_1_2.pid $sleep 5 &
-
- jid1=$(jail_name_to_jid ${base}_1_1)
- jid2=$(jail_name_to_jid ${base}_1_2)
- jid="${jid1},${jid2}"
- pid1="$(pgrep -f -x -j $jid "$sleep 5" | sort)"
- pid2=$(printf "%s\n%s" "$(cat ${PWD}/${base}_1_1.pid)" \
- $(cat ${PWD}/${base}_1_2.pid) | sort)
- if [ "$pid1" = "$pid2" ]; then
- echo "ok 1 - $name"
- else
- echo "not ok 1 - $name"
- fi
- [ -f ${PWD}/${base}_1_1.pid ] && kill $(cat ${PWD}/${base}_1_1.pid)
- [ -f ${PWD}/${base}_1_2.pid ] && kill $(cat ${PWD}/${base}_1_2.pid)
- rm -f $sleep
+sleep_amount=5
+jail -c path=/ name=${base}_1_1 ip4.addr=127.0.0.1 \
+ command=daemon -p ${PWD}/${base}_1_1.pid $sleep $sleep_amount &
+
+jail -c path=/ name=${base}_1_2 ip4.addr=127.0.0.1 \
+ command=daemon -p ${PWD}/${base}_1_2.pid $sleep $sleep_amount &
+
+jid1=$(jail_name_to_jid ${base}_1_1)
+jid2=$(jail_name_to_jid ${base}_1_2)
+jid="${jid1},${jid2}"
+pid1="$(pgrep -f -x -j $jid "$sleep $sleep_amount" | sort)"
+pid2=$(printf "%s\n%s" "$(cat ${PWD}/${base}_1_1.pid)" \
+ $(cat ${PWD}/${base}_1_2.pid) | sort)
+if [ "$pid1" = "$pid2" ]; then
+ echo "ok 1 - $name"
else
- echo "ok 1 - $name # skip Test needs uid 0."
+ echo "not ok 1 - $name # pgrep output: '$(echo $pid1)', pidfile output: '$(echo $pid2)'"
fi
+[ -f ${PWD}/${base}_1_1.pid ] && kill $(cat ${PWD}/${base}_1_1.pid)
+[ -f ${PWD}/${base}_1_2.pid ] && kill $(cat ${PWD}/${base}_1_2.pid)
name="pgrep -j any"
-if [ `id -u` -eq 0 ]; then
- sleep=$(pwd)/sleep.txt
- ln -sf /bin/sleep $sleep
- jail -c path=/ name=${base}_2_1 ip4.addr=127.0.0.1 \
- command=daemon -p ${PWD}/${base}_2_1.pid $sleep 5 &
-
- jail -c path=/ name=${base}_2_2 ip4.addr=127.0.0.1 \
- command=daemon -p ${PWD}/${base}_2_2.pid $sleep 5 &
-
- sleep 2
- pid1="$(pgrep -f -x -j any "$sleep 5" | sort)"
- pid2=$(printf "%s\n%s" "$(cat ${PWD}/${base}_2_1.pid)" \
- $(cat ${PWD}/${base}_2_2.pid) | sort)
- if [ "$pid1" = "$pid2" ]; then
- echo "ok 2 - $name"
- else
- echo "not ok 2 - $name"
- fi
- [ -f ${PWD}/${base}_2_1.pid ] && kill $(cat ${PWD}/${base}_2_1.pid)
- [ -f ${PWD}/${base}_2_2.pid ] && kill $(cat ${PWD}/${base}_2_2.pid)
- rm -f $sleep
+sleep_amount=6
+jail -c path=/ name=${base}_2_1 ip4.addr=127.0.0.1 \
+ command=daemon -p ${PWD}/${base}_2_1.pid $sleep $sleep_amount &
+
+jail -c path=/ name=${base}_2_2 ip4.addr=127.0.0.1 \
+ command=daemon -p ${PWD}/${base}_2_2.pid $sleep $sleep_amount &
+
+sleep 2
+pid1="$(pgrep -f -x -j any "$sleep $sleep_amount" | sort)"
+pid2=$(printf "%s\n%s" "$(cat ${PWD}/${base}_2_1.pid)" \
+ $(cat ${PWD}/${base}_2_2.pid) | sort)
+if [ "$pid1" = "$pid2" ]; then
+ echo "ok 2 - $name"
else
- echo "ok 2 - $name # skip Test needs uid 0."
+ echo "not ok 2 - $name # pgrep output: '$(echo $pid1)', pidfile output: '$(echo $pid2)'"
fi
+[ -f ${PWD}/${base}_2_1.pid ] && kill $(cat ${PWD}/${base}_2_1.pid)
+[ -f ${PWD}/${base}_2_2.pid ] && kill $(cat ${PWD}/${base}_2_2.pid)
name="pgrep -j none"
-if [ `id -u` -eq 0 ]; then
- sleep=$(pwd)/sleep.txt
- ln -sf /bin/sleep $sleep
- daemon -p ${PWD}/${base}_3_1.pid $sleep 5 &
- jail -c path=/ name=${base}_3_2 ip4.addr=127.0.0.1 \
- command=daemon -p ${PWD}/${base}_3_2.pid $sleep 5 &
- sleep 2
- pid="$(pgrep -f -x -j none "$sleep 5")"
- if [ "$pid" = "$(cat ${PWD}/${base}_3_1.pid)" ]; then
- echo "ok 3 - $name"
- else
- echo "not ok 3 - $name"
- fi
- rm -f $sleep
- [ -f ${PWD}/${base}_3_1.pid ] && kill $(cat $PWD/${base}_3_1.pid)
- [ -f ${PWD}/${base}_3_2.pid ] && kill $(cat $PWD/${base}_3_2.pid)
+sleep_amount=7
+daemon -p ${PWD}/${base}_3_1.pid $sleep $sleep_amount &
+jail -c path=/ name=${base}_3_2 ip4.addr=127.0.0.1 \
+ command=daemon -p ${PWD}/${base}_3_2.pid $sleep $sleep_amount &
+sleep 2
+pid="$(pgrep -f -x -j none "$sleep $sleep_amount")"
+if [ "$pid" = "$(cat ${PWD}/${base}_3_1.pid)" ]; then
+ echo "ok 3 - $name"
else
- echo "ok 3 - $name # skip Test needs uid 0."
+ echo "not ok 3 - $name # pgrep output: '$(echo $pid1)', pidfile output: '$(echo $pid2)'"
fi
+[ -f ${PWD}/${base}_3_1.pid ] && kill $(cat $PWD/${base}_3_1.pid)
+[ -f ${PWD}/${base}_3_2.pid ] && kill $(cat $PWD/${base}_3_2.pid)
+
+rm -f $sleep
Modified: projects/building-blocks/contrib/binutils/ld/scripttempl/elf.sc
==============================================================================
--- projects/building-blocks/contrib/binutils/ld/scripttempl/elf.sc Thu Feb 12 21:15:28 2015 (r278637)
+++ projects/building-blocks/contrib/binutils/ld/scripttempl/elf.sc Thu Feb 12 21:17:50 2015 (r278638)
@@ -402,8 +402,8 @@ cat <<EOF
.fini_array ${RELOCATING-0} :
{
${RELOCATING+${CREATE_SHLIB-PROVIDE_HIDDEN (${USER_LABEL_PREFIX}__fini_array_start = .);}}
- KEEP (*(.fini_array))
KEEP (*(SORT(.fini_array.*)))
+ KEEP (*(.fini_array))
${RELOCATING+${CREATE_SHLIB-PROVIDE_HIDDEN (${USER_LABEL_PREFIX}__fini_array_end = .);}}
}
${SMALL_DATA_CTOR-${RELOCATING+${CTOR}}}
Modified: projects/building-blocks/contrib/elftoolchain/libdwarf/_libdwarf.h
==============================================================================
--- projects/building-blocks/contrib/elftoolchain/libdwarf/_libdwarf.h Thu Feb 12 21:15:28 2015 (r278637)
+++ projects/building-blocks/contrib/elftoolchain/libdwarf/_libdwarf.h Thu Feb 12 21:17:50 2015 (r278638)
@@ -49,7 +49,7 @@
struct _libdwarf_globals {
Dwarf_Handler errhand;
Dwarf_Ptr errarg;
- int applyrela;
+ int applyreloc;
};
extern struct _libdwarf_globals _libdwarf;
Modified: projects/building-blocks/contrib/elftoolchain/libdwarf/dwarf_reloc.c
==============================================================================
--- projects/building-blocks/contrib/elftoolchain/libdwarf/dwarf_reloc.c Thu Feb 12 21:15:28 2015 (r278637)
+++ projects/building-blocks/contrib/elftoolchain/libdwarf/dwarf_reloc.c Thu Feb 12 21:17:50 2015 (r278638)
@@ -33,8 +33,8 @@ dwarf_set_reloc_application(int apply)
{
int oldapply;
- oldapply = _libdwarf.applyrela;
- _libdwarf.applyrela = apply;
+ oldapply = _libdwarf.applyreloc;
+ _libdwarf.applyreloc = apply;
return (oldapply);
}
Modified: projects/building-blocks/contrib/elftoolchain/libdwarf/dwarf_set_reloc_application.3
==============================================================================
--- projects/building-blocks/contrib/elftoolchain/libdwarf/dwarf_set_reloc_application.3 Thu Feb 12 21:15:28 2015 (r278637)
+++ projects/building-blocks/contrib/elftoolchain/libdwarf/dwarf_set_reloc_application.3 Thu Feb 12 21:17:50 2015 (r278638)
@@ -24,7 +24,7 @@
.\"
.\" $Id: dwarf_set_reloc_application.3 2075 2011-10-27 03:47:28Z jkoshy $
.\"
-.Dd June 26, 2011
+.Dd February 11, 2015
.Os
.Dt DWARF_SET_RELOC_APPLICATION 3
.Sh NAME
@@ -47,6 +47,8 @@ handled by the DWARF(3) library.
If the argument
.Ar apply
holds a non-zero value, the library will process all the relevant
+.Dq ".rel"
+and
.Dq ".rela"
relocation sections and will apply the relocation records found to
their corresponding DWARF sections.
Modified: projects/building-blocks/contrib/elftoolchain/libdwarf/libdwarf.c
==============================================================================
--- projects/building-blocks/contrib/elftoolchain/libdwarf/libdwarf.c Thu Feb 12 21:15:28 2015 (r278637)
+++ projects/building-blocks/contrib/elftoolchain/libdwarf/libdwarf.c Thu Feb 12 21:17:50 2015 (r278638)
@@ -31,5 +31,5 @@ ELFTC_VCSID("$Id: libdwarf.c 2070 2011-1
struct _libdwarf_globals _libdwarf = {
.errhand = NULL,
.errarg = NULL,
- .applyrela = 1
+ .applyreloc = 1
};
Modified: projects/building-blocks/contrib/elftoolchain/libdwarf/libdwarf.h
==============================================================================
--- projects/building-blocks/contrib/elftoolchain/libdwarf/libdwarf.h Thu Feb 12 21:15:28 2015 (r278637)
+++ projects/building-blocks/contrib/elftoolchain/libdwarf/libdwarf.h Thu Feb 12 21:17:50 2015 (r278638)
@@ -439,6 +439,7 @@ enum Dwarf_ISA {
DW_ISA_SPARC,
DW_ISA_X86,
DW_ISA_X86_64,
+ DW_ISA_AARCH64,
DW_ISA_MAX
};
Modified: projects/building-blocks/contrib/elftoolchain/libdwarf/libdwarf_elf_init.c
==============================================================================
--- projects/building-blocks/contrib/elftoolchain/libdwarf/libdwarf_elf_init.c Thu Feb 12 21:15:28 2015 (r278637)
+++ projects/building-blocks/contrib/elftoolchain/libdwarf/libdwarf_elf_init.c Thu Feb 12 21:17:50 2015 (r278638)
@@ -50,32 +50,46 @@ static const char *debug_name[] = {
};
static void
-_dwarf_elf_apply_reloc(Dwarf_Debug dbg, void *buf, Elf_Data *rel_data,
- Elf_Data *symtab_data, int endian)
+_dwarf_elf_write_reloc(Dwarf_Debug dbg, Elf_Data *symtab_data, int endian,
+ void *buf, uint64_t offset, GElf_Xword r_info, GElf_Sxword r_addend)
{
- Dwarf_Unsigned type;
- GElf_Rela rela;
GElf_Sym sym;
- size_t symndx;
- uint64_t offset;
- int size, j;
+ int size;
- j = 0;
- while (gelf_getrela(rel_data, j++, &rela) != NULL) {
- symndx = GELF_R_SYM(rela.r_info);
- type = GELF_R_TYPE(rela.r_info);
+ if (gelf_getsym(symtab_data, GELF_R_SYM(r_info), &sym) == NULL)
+ return;
+ if ((size = _dwarf_get_reloc_size(dbg, GELF_R_TYPE(r_info))) == 0)
+ return; /* Unknown or non-absolute relocation. */
+ if (endian == ELFDATA2MSB)
+ _dwarf_write_msb(buf, &offset, sym.st_value + r_addend, size);
+ else
+ _dwarf_write_lsb(buf, &offset, sym.st_value + r_addend, size);
+}
- if (gelf_getsym(symtab_data, symndx, &sym) == NULL)
- continue;
+static void
+_dwarf_elf_apply_rel_reloc(Dwarf_Debug dbg, void *buf, Elf_Data *rel_data,
+ Elf_Data *symtab_data, int endian)
+{
+ GElf_Rel rel;
+ int j;
- offset = rela.r_offset;
- size = _dwarf_get_reloc_size(dbg, type);
+ j = 0;
+ while (gelf_getrel(rel_data, j++, &rel) != NULL)
+ _dwarf_elf_write_reloc(dbg, symtab_data, endian, buf,
+ rel.r_offset, rel.r_info, 0);
+}
- if (endian == ELFDATA2MSB)
- _dwarf_write_msb(buf, &offset, rela.r_addend, size);
- else
- _dwarf_write_lsb(buf, &offset, rela.r_addend, size);
- }
+static void
+_dwarf_elf_apply_rela_reloc(Dwarf_Debug dbg, void *buf, Elf_Data *rel_data,
+ Elf_Data *symtab_data, int endian)
+{
+ GElf_Rela rela;
+ int j;
+
+ j = 0;
+ while (gelf_getrela(rel_data, j++, &rela) != NULL)
+ _dwarf_elf_write_reloc(dbg, symtab_data, endian, buf,
+ rela.r_offset, rela.r_info, rela.r_addend);
}
static int
@@ -104,7 +118,8 @@ _dwarf_elf_relocate(Dwarf_Debug dbg, Elf
return (DW_DLE_ELF);
}
- if (sh.sh_type != SHT_RELA || sh.sh_size == 0)
+ if ((sh.sh_type != SHT_REL && sh.sh_type != SHT_RELA) ||
+ sh.sh_size == 0)
continue;
if (sh.sh_info == shndx && sh.sh_link == symtab) {
@@ -125,8 +140,12 @@ _dwarf_elf_relocate(Dwarf_Debug dbg, Elf
}
memcpy(ed->ed_alloc, ed->ed_data->d_buf,
ed->ed_data->d_size);
- _dwarf_elf_apply_reloc(dbg, ed->ed_alloc, rel,
- symtab_data, eh.e_ident[EI_DATA]);
+ if (sh.sh_type == SHT_REL)
+ _dwarf_elf_apply_rel_reloc(dbg, ed->ed_alloc,
+ rel, symtab_data, eh.e_ident[EI_DATA]);
+ else
+ _dwarf_elf_apply_rela_reloc(dbg, ed->ed_alloc,
+ rel, symtab_data, eh.e_ident[EI_DATA]);
return (DW_DLE_NONE);
}
@@ -282,7 +301,7 @@ _dwarf_elf_init(Dwarf_Debug dbg, Elf *el
}
}
- if (_libdwarf.applyrela) {
+ if (_libdwarf.applyreloc) {
if (_dwarf_elf_relocate(dbg, elf,
&e->eo_data[j], elf_ndxscn(scn), symtab_ndx,
symtab_data, error) != DW_DLE_NONE)
Modified: projects/building-blocks/contrib/elftoolchain/libdwarf/libdwarf_reloc.c
==============================================================================
--- projects/building-blocks/contrib/elftoolchain/libdwarf/libdwarf_reloc.c Thu Feb 12 21:15:28 2015 (r278637)
+++ projects/building-blocks/contrib/elftoolchain/libdwarf/libdwarf_reloc.c Thu Feb 12 21:17:50 2015 (r278638)
@@ -35,6 +35,8 @@ _dwarf_get_reloc_type(Dwarf_P_Debug dbg,
assert(dbg != NULL);
switch (dbg->dbgp_isa) {
+ case DW_ISA_AARCH64:
+ return (is64 ? R_AARCH64_ABS64 : R_AARCH64_ABS32);
case DW_ISA_X86:
return (R_386_32);
case DW_ISA_X86_64:
@@ -62,6 +64,12 @@ _dwarf_get_reloc_size(Dwarf_Debug dbg, D
switch (dbg->dbg_machine) {
case EM_NONE:
break;
+ case EM_AARCH64:
+ if (rel_type == R_AARCH64_ABS32)
+ return (4);
+ else if (rel_type == R_AARCH64_ABS64)
+ return (8);
+ break;
case EM_ARM:
if (rel_type == R_ARM_ABS32)
return (4);
Modified: projects/building-blocks/contrib/netbsd-tests/games/t_factor.sh
==============================================================================
--- projects/building-blocks/contrib/netbsd-tests/games/t_factor.sh Thu Feb 12 21:15:28 2015 (r278637)
+++ projects/building-blocks/contrib/netbsd-tests/games/t_factor.sh Thu Feb 12 21:17:50 2015 (r278638)
@@ -27,13 +27,13 @@
expect() {
echo "${2}" >expout
- atf_check -s eq:0 -o file:expout -e empty /usr/games/factor ${1}
+ atf_check -s eq:0 -o file:expout -e empty /usr/bin/factor ${1}
}
atf_test_case overflow
overflow_head() {
atf_set "descr" "Tests for overflow conditions"
- atf_set "require.progs" "/usr/games/factor"
+ atf_set "require.progs" "/usr/bin/factor"
}
overflow_body() {
expect '8675309' '8675309: 8675309'
@@ -44,7 +44,7 @@ atf_test_case loop
loop_head() {
atf_set "descr" "Tests some cases that once locked the program" \
"in an infinite loop"
- atf_set "require.progs" "/usr/games/factor"
+ atf_set "require.progs" "/usr/bin/factor"
}
loop_body() {
expect '99999999999991' '99999999999991: 7 13 769231 1428571'
Modified: projects/building-blocks/etc/login.conf
==============================================================================
--- projects/building-blocks/etc/login.conf Thu Feb 12 21:15:28 2015 (r278637)
+++ projects/building-blocks/etc/login.conf Thu Feb 12 21:17:50 2015 (r278638)
@@ -27,7 +27,7 @@ default:\
:copyright=/etc/COPYRIGHT:\
:welcome=/etc/motd:\
:setenv=MAIL=/var/mail/$,BLOCKSIZE=K:\
- :path=/sbin /bin /usr/sbin /usr/bin /usr/games /usr/local/sbin /usr/local/bin ~/bin:\
+ :path=/sbin /bin /usr/sbin /usr/bin /usr/local/sbin /usr/local/bin ~/bin:\
:nologin=/var/run/nologin:\
:cputime=unlimited:\
:datasize=unlimited:\
Modified: projects/building-blocks/etc/master.passwd
==============================================================================
--- projects/building-blocks/etc/master.passwd Thu Feb 12 21:15:28 2015 (r278637)
+++ projects/building-blocks/etc/master.passwd Thu Feb 12 21:17:50 2015 (r278638)
@@ -7,7 +7,7 @@ operator:*:2:5::0:0:System &:/:/usr/sbin
bin:*:3:7::0:0:Binaries Commands and Source:/:/usr/sbin/nologin
tty:*:4:65533::0:0:Tty Sandbox:/:/usr/sbin/nologin
kmem:*:5:65533::0:0:KMem Sandbox:/:/usr/sbin/nologin
-games:*:7:13::0:0:Games pseudo-user:/usr/games:/usr/sbin/nologin
+games:*:7:13::0:0:Games pseudo-user:/:/usr/sbin/nologin
news:*:8:8::0:0:News Subsystem:/:/usr/sbin/nologin
man:*:9:9::0:0:Mister Man Pages:/usr/share/man:/usr/sbin/nologin
sshd:*:22:22::0:0:Secure Shell Daemon:/var/empty:/usr/sbin/nologin
Modified: projects/building-blocks/etc/mtree/BSD.debug.dist
==============================================================================
--- projects/building-blocks/etc/mtree/BSD.debug.dist Thu Feb 12 21:15:28 2015 (r278637)
+++ projects/building-blocks/etc/mtree/BSD.debug.dist Thu Feb 12 21:17:50 2015 (r278638)
@@ -21,8 +21,6 @@
usr
bin
..
- games
- ..
lib
clang
3.5.1
Modified: projects/building-blocks/etc/mtree/BSD.usr.dist
==============================================================================
--- projects/building-blocks/etc/mtree/BSD.usr.dist Thu Feb 12 21:15:28 2015 (r278637)
+++ projects/building-blocks/etc/mtree/BSD.usr.dist Thu Feb 12 21:17:50 2015 (r278638)
@@ -7,8 +7,6 @@
.
bin
..
- games
- ..
include
..
lib
Modified: projects/building-blocks/etc/root/dot.cshrc
==============================================================================
--- projects/building-blocks/etc/root/dot.cshrc Thu Feb 12 21:15:28 2015 (r278637)
+++ projects/building-blocks/etc/root/dot.cshrc Thu Feb 12 21:17:50 2015 (r278638)
@@ -15,7 +15,7 @@ alias ll ls -lAF
# A righteous umask
umask 22
-set path = (/sbin /bin /usr/sbin /usr/bin /usr/games /usr/local/sbin /usr/local/bin $HOME/bin)
+set path = (/sbin /bin /usr/sbin /usr/bin /usr/local/sbin /usr/local/bin $HOME/bin)
setenv EDITOR vi
setenv PAGER more
Modified: projects/building-blocks/etc/root/dot.login
==============================================================================
--- projects/building-blocks/etc/root/dot.login Thu Feb 12 21:15:28 2015 (r278637)
+++ projects/building-blocks/etc/root/dot.login Thu Feb 12 21:17:50 2015 (r278638)
@@ -6,4 +6,4 @@
#
# Uncomment to display a random cookie each login:
-# /usr/games/fortune -s
+# if ( -x /usr/bin/fortune ) /usr/bin/fortune -s
Modified: projects/building-blocks/etc/root/dot.profile
==============================================================================
--- projects/building-blocks/etc/root/dot.profile Thu Feb 12 21:15:28 2015 (r278637)
+++ projects/building-blocks/etc/root/dot.profile Thu Feb 12 21:17:50 2015 (r278638)
@@ -1,6 +1,6 @@
# $FreeBSD$
#
-PATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/games:/usr/local/sbin:/usr/local/bin:~/bin
+PATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/sbin:/usr/local/bin:~/bin
export PATH
HOME=/root
export HOME
Modified: projects/building-blocks/games/Makefile.inc
==============================================================================
--- projects/building-blocks/games/Makefile.inc Thu Feb 12 21:15:28 2015 (r278637)
+++ projects/building-blocks/games/Makefile.inc Thu Feb 12 21:17:50 2015 (r278638)
@@ -1,7 +1,6 @@
# @(#)Makefile.inc 8.1 (Berkeley) 5/31/93
# $FreeBSD$
-BINDIR?= /usr/games
+BINDIR?= /usr/bin
FILESDIR?= ${SHAREDIR}/games
WARNS?= 6
-DISTRIBUTION?= games
Modified: projects/building-blocks/games/caesar/rot13.sh
==============================================================================
--- projects/building-blocks/games/caesar/rot13.sh Thu Feb 12 21:15:28 2015 (r278637)
+++ projects/building-blocks/games/caesar/rot13.sh Thu Feb 12 21:17:50 2015 (r278638)
@@ -30,4 +30,4 @@
# @(#)rot13.sh 8.1 (Berkeley) 5/31/93
# $FreeBSD$
-exec /usr/games/caesar 13 "$@"
+exec /usr/bin/caesar 13 "$@"
Modified: projects/building-blocks/games/fortune/datfiles/Makefile
==============================================================================
--- projects/building-blocks/games/fortune/datfiles/Makefile Thu Feb 12 21:15:28 2015 (r278637)
+++ projects/building-blocks/games/fortune/datfiles/Makefile Thu Feb 12 21:17:50 2015 (r278638)
@@ -15,7 +15,7 @@ FILESDIR= ${SHAREDIR}/games/fortune
.for f in ${DB}
$f.dat: $f
- PATH=$$PATH:/usr/games:${.OBJDIR}/../strfile \
+ PATH=$$PATH:/usr/bin:${.OBJDIR}/../strfile \
strfile -Cs ${.ALLSRC} ${.TARGET}
.endfor
Modified: projects/building-blocks/include/stdio.h
==============================================================================
--- projects/building-blocks/include/stdio.h Thu Feb 12 21:15:28 2015 (r278637)
+++ projects/building-blocks/include/stdio.h Thu Feb 12 21:17:50 2015 (r278638)
@@ -166,7 +166,7 @@ __END_DECLS
#define __SRW 0x0010 /* open for reading & writing */
#define __SEOF 0x0020 /* found EOF */
#define __SERR 0x0040 /* found error */
-#define __SMBF 0x0080 /* _buf is from malloc */
+#define __SMBF 0x0080 /* _bf._base is from malloc */
#define __SAPP 0x0100 /* fdopen()ed in append mode */
#define __SSTR 0x0200 /* this is an sprintf/snprintf string */
#define __SOPT 0x0400 /* do fseek() optimization */
Modified: projects/building-blocks/lib/libc/gen/ulimit.c
==============================================================================
--- projects/building-blocks/lib/libc/gen/ulimit.c Thu Feb 12 21:15:28 2015 (r278637)
+++ projects/building-blocks/lib/libc/gen/ulimit.c Thu Feb 12 21:17:50 2015 (r278638)
@@ -53,13 +53,13 @@ ulimit(int cmd, ...)
va_start(ap, cmd);
arg = va_arg(ap, long);
va_end(ap);
+ if (arg > RLIM_INFINITY / 512 || arg < 0)
+ arg = RLIM_INFINITY / 512;
limit.rlim_max = limit.rlim_cur = (rlim_t)arg * 512;
/* The setrlimit() function sets errno to EPERM if needed. */
if (setrlimit(RLIMIT_FSIZE, &limit) == -1)
return (-1);
- if (arg * 512 > LONG_MAX)
- return (LONG_MAX);
return (arg);
} else {
errno = EINVAL;
Modified: projects/building-blocks/lib/libthr/libthr.3
==============================================================================
--- projects/building-blocks/lib/libthr/libthr.3 Thu Feb 12 21:15:28 2015 (r278637)
+++ projects/building-blocks/lib/libthr/libthr.3 Thu Feb 12 21:17:50 2015 (r278638)
@@ -1,5 +1,5 @@
.\" Copyright (c) 2005 Robert N. M. Watson
-.\" Copyright (c) 2014 The FreeBSD Foundation, Inc.
+.\" Copyright (c) 2014,2015 The FreeBSD Foundation, Inc.
.\" All rights reserved.
.\"
.\" Part of this documentation was written by
@@ -29,7 +29,7 @@
.\"
.\" $FreeBSD$
.\"
-.Dd September 26, 2014
+.Dd February 12, 2015
.Dt LIBTHR 3
.Os
.Sh NAME
@@ -200,45 +200,25 @@ Bigger values reduce the frequency of th
The value must be between 0 and 255.
.El
.Sh INTERACTION WITH RUN-TIME LINKER
-The
+On load,
.Nm
-library must appear before
-.Li libc
-in the global order of depended objects.
-.Pp
-Loading
-.Nm
-with the
-.Xr dlopen 3
-call in the process after the program binary is activated
-is not supported, and causes miscellaneous and hard-to-diagnose misbehaviour.
-This is due to
-.Nm
-interposing several important
-.Li libc
-symbols to provide thread-safe services.
-In particular,
-.Dv errno
-and the locking stubs from
-.Li libc
-are affected.
-This requirement is currently not enforced.
-.Pp
-If the program loads any modules at run-time, and those modules may require
-threading services, the main program binary must be linked with
-.Li libpthread ,
-even if it does not require any services from the library.
+installs interposing handlers into the hooks exported by
+.Li libc .
+The interposers provide real locking implementation instead of the
+stubs for single-threaded processes in
+.Li ,
+cancellation support and some modifications to the signal operations.
.Pp
.Nm
cannot be unloaded; the
.Xr dlclose 3
function does not perform any action when called with a handle for
.Nm .
-One of the reasons is that the interposing of
+One of the reasons is that the internal interposing of
.Li libc
functions cannot be undone.
.Sh SIGNALS
-The implementation also interposes the user-installed
+The implementation interposes the user-installed
.Xr signal 3
handlers.
This interposing is done to postpone signal delivery to threads which
Modified: projects/building-blocks/release/scripts/make-manifest.sh
==============================================================================
--- projects/building-blocks/release/scripts/make-manifest.sh Thu Feb 12 21:15:28 2015 (r278637)
+++ projects/building-blocks/release/scripts/make-manifest.sh Thu Feb 12 21:17:50 2015 (r278638)
@@ -13,7 +13,6 @@ desc_base="Base system (MANDATORY)"
desc_kernel="Kernel (MANDATORY)"
desc_doc="Additional documentation"
doc_default=off
-desc_games="Games (fortune, etc.)"
desc_lib32="32-bit compatibility libraries"
desc_ports="Ports tree"
desc_src="System source code"
Modified: projects/building-blocks/share/man/man4/led.4
==============================================================================
--- projects/building-blocks/share/man/man4/led.4 Thu Feb 12 21:15:28 2015 (r278637)
+++ projects/building-blocks/share/man/man4/led.4 Thu Feb 12 21:17:50 2015 (r278638)
@@ -170,7 +170,7 @@ flashes
.Pp
.Dl *_*__**_
.Bd -literal
-/usr/games/morse -l "Soekris rocks" > /dev/led/error
+/usr/bin/morse -l "Soekris rocks" > /dev/led/error
.Ed
.Sh SEE ALSO
.Xr morse 6
Modified: projects/building-blocks/share/man/man6/intro.6
==============================================================================
--- projects/building-blocks/share/man/man6/intro.6 Thu Feb 12 21:15:28 2015 (r278637)
+++ projects/building-blocks/share/man/man6/intro.6 Thu Feb 12 21:17:50 2015 (r278638)
@@ -37,7 +37,7 @@
This section contains information about games.
The games
are located in
-.Pa /usr/games
+.Pa /usr/bin
if installed.
You can get a short overview about all the games with the
command:
@@ -45,13 +45,18 @@ command:
$ apropos '\\(6\\)'
.Ed
.Sh FILES
-.Bl -tag -width /usr/games -compact
-.It Pa /usr/games
+.Bl -tag -width /usr/bin -compact
+.It Pa /usr/bin
location of games
.El
.Sh SEE ALSO
.Xr intro 1
.Sh HISTORY
+In earlier versions of
+.Fx ,
+games were located in
+.Pa /usr/games .
+.Pp
The
.Nm
section manual page appeared in
Modified: projects/building-blocks/share/man/man7/hier.7
==============================================================================
--- projects/building-blocks/share/man/man7/hier.7 Thu Feb 12 21:15:28 2015 (r278637)
+++ projects/building-blocks/share/man/man7/hier.7 Thu Feb 12 21:17:50 2015 (r278638)
@@ -187,8 +187,6 @@ common utilities, programming tools, and
.It Pa compat/
files needed to support binary compatibility with other operating systems,
such as Linux
-.It Pa games/
-useful and semi-frivolous programs
.It Pa include/
standard C include files
.Pp
Modified: projects/building-blocks/share/mk/bsd.prog.mk
==============================================================================
--- projects/building-blocks/share/mk/bsd.prog.mk Thu Feb 12 21:15:28 2015 (r278637)
+++ projects/building-blocks/share/mk/bsd.prog.mk Thu Feb 12 21:17:50 2015 (r278638)
@@ -62,7 +62,7 @@ PROG_FULL=${PROG}.full
${BINDIR} == "/bin" ||\
${BINDIR} == "/libexec" ||\
${BINDIR} == "/sbin" ||\
- ${BINDIR:C%/usr/(bin|bsdinstall|games|libexec|lpr|sendmail|sm.bin|sbin)(/.*)?%/usr/bin%} == "/usr/bin"\
+ ${BINDIR:C%/usr/(bin|bsdinstall|libexec|lpr|sendmail|sm.bin|sbin)(/.*)?%/usr/bin%} == "/usr/bin"\
)
DEBUGFILEDIR= ${DEBUGDIR}${BINDIR}
.else
Modified: projects/building-blocks/share/skel/Makefile
==============================================================================
--- projects/building-blocks/share/skel/Makefile Thu Feb 12 21:15:28 2015 (r278637)
+++ projects/building-blocks/share/skel/Makefile Thu Feb 12 21:17:50 2015 (r278638)
@@ -25,11 +25,6 @@ FILES2+= dot.rhosts
FILES1+= dot.cshrc
.endif
-.if ${MK_GAMES} == "no"
-dot.login_SED+= -e "/\/usr\/games\/fortune /s/^/\#/"
-dot.profile_SED+= -e "/\/usr\/games\/fortune /s/^/\#/"
-.endif
-
.if ${MK_VI} == "no"
dot.cshrc_SED+= -e '/^setenv.*EDITOR.*vi$$/s/^/\#/'
dot.mailrc_SED+= -e '/^set EDITOR=vi$$/s/^/\#/' -e '/^set VISUAL=vi$$/s/^/\#/'
Modified: projects/building-blocks/share/skel/dot.cshrc.in
==============================================================================
--- projects/building-blocks/share/skel/dot.cshrc.in Thu Feb 12 21:15:28 2015 (r278637)
+++ projects/building-blocks/share/skel/dot.cshrc.in Thu Feb 12 21:17:50 2015 (r278638)
@@ -14,7 +14,7 @@ alias ll ls -lAF
# These are normally set through /etc/login.conf. You may override them here
# if wanted.
-# set path = (/sbin /bin /usr/sbin /usr/bin /usr/games /usr/local/sbin /usr/local/bin $HOME/bin)
+# set path = (/sbin /bin /usr/sbin /usr/bin /usr/local/sbin /usr/local/bin $HOME/bin)
# setenv BLOCKSIZE K
# A righteous umask
# umask 22
Modified: projects/building-blocks/share/skel/dot.login.in
==============================================================================
--- projects/building-blocks/share/skel/dot.login.in Thu Feb 12 21:15:28 2015 (r278637)
+++ projects/building-blocks/share/skel/dot.login.in Thu Feb 12 21:17:50 2015 (r278638)
@@ -5,4 +5,4 @@
# see also csh(1), environ(7).
#
-/usr/games/fortune freebsd-tips
+/usr/bin/fortune freebsd-tips
Modified: projects/building-blocks/share/skel/dot.profile.in
==============================================================================
--- projects/building-blocks/share/skel/dot.profile.in Thu Feb 12 21:15:28 2015 (r278637)
+++ projects/building-blocks/share/skel/dot.profile.in Thu Feb 12 21:17:50 2015 (r278638)
@@ -7,7 +7,7 @@
# These are normally set through /etc/login.conf. You may override them here
# if wanted.
-# PATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/games:/usr/local/sbin:/usr/local/bin:$HOME/bin; export PATH
+# PATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/sbin:/usr/local/bin:$HOME/bin; export PATH
# BLOCKSIZE=K; export BLOCKSIZE
# Setting TERM is normally done through /etc/ttys. Do only override
@@ -21,4 +21,4 @@ PAGER=more; export PAGER
# set ENV to a file invoked each time sh is started for interactive use.
ENV=$HOME/.shrc; export ENV
-/usr/games/fortune freebsd-tips
+/usr/bin/fortune freebsd-tips
Modified: projects/building-blocks/sys/arm/arm/db_trace.c
==============================================================================
--- projects/building-blocks/sys/arm/arm/db_trace.c Thu Feb 12 21:15:28 2015 (r278637)
+++ projects/building-blocks/sys/arm/arm/db_trace.c Thu Feb 12 21:17:50 2015 (r278638)
@@ -50,7 +50,6 @@ __FBSDID("$FreeBSD$");
#include <ddb/db_sym.h>
#include <ddb/db_output.h>
-#ifdef __ARM_EABI__
/*
* Definitions for the instruction interpreter.
*
@@ -453,131 +452,6 @@ db_stack_trace_cmd(struct unwind_state *
}
}
}
-#endif
-
-/*
- * APCS stack frames are awkward beasts, so I don't think even trying to use
- * a structure to represent them is a good idea.
- *
- * Here's the diagram from the APCS. Increasing address is _up_ the page.
- *
- * save code pointer [fp] <- fp points to here
- * return link value [fp, #-4]
- * return sp value [fp, #-8]
- * return fp value [fp, #-12]
- * [saved v7 value]
- * [saved v6 value]
- * [saved v5 value]
- * [saved v4 value]
- * [saved v3 value]
- * [saved v2 value]
- * [saved v1 value]
- * [saved a4 value]
- * [saved a3 value]
- * [saved a2 value]
- * [saved a1 value]
- *
- * The save code pointer points twelve bytes beyond the start of the
- * code sequence (usually a single STM) that created the stack frame.
- * We have to disassemble it if we want to know which of the optional
- * fields are actually present.
- */
-
-#ifndef __ARM_EABI__ /* The frame format is differend in AAPCS */
-static void
-db_stack_trace_cmd(db_expr_t addr, db_expr_t count, boolean_t kernel_only)
-{
- u_int32_t *frame, *lastframe;
- c_db_sym_t sym;
- const char *name;
- db_expr_t value;
- db_expr_t offset;
- int scp_offset;
-
- frame = (u_int32_t *)addr;
- lastframe = NULL;
- scp_offset = -(get_pc_str_offset() >> 2);
-
- while (count-- && frame != NULL && !db_pager_quit) {
- db_addr_t scp;
- u_int32_t savecode;
- int r;
- u_int32_t *rp;
- const char *sep;
-
- /*
- * In theory, the SCP isn't guaranteed to be in the function
- * that generated the stack frame. We hope for the best.
- */
- scp = frame[FR_SCP];
-
- sym = db_search_symbol(scp, DB_STGY_ANY, &offset);
- if (sym == C_DB_SYM_NULL) {
- value = 0;
- name = "(null)";
- } else
- db_symbol_values(sym, &name, &value);
- db_printf("%s() at ", name);
- db_printsym(scp, DB_STGY_PROC);
- db_printf("\n");
-#ifdef __PROG26
- db_printf("\tscp=0x%08x rlv=0x%08x (", scp, frame[FR_RLV] & R15_PC);
- db_printsym(frame[FR_RLV] & R15_PC, DB_STGY_PROC);
- db_printf(")\n");
-#else
- db_printf("\tscp=0x%08x rlv=0x%08x (", scp, frame[FR_RLV]);
- db_printsym(frame[FR_RLV], DB_STGY_PROC);
- db_printf(")\n");
-#endif
- db_printf("\trsp=0x%08x rfp=0x%08x", frame[FR_RSP], frame[FR_RFP]);
-
- savecode = ((u_int32_t *)scp)[scp_offset];
- if ((savecode & 0x0e100000) == 0x08000000) {
- /* Looks like an STM */
- rp = frame - 4;
- sep = "\n\t";
- for (r = 10; r >= 0; r--) {
- if (savecode & (1 << r)) {
- db_printf("%sr%d=0x%08x",
- sep, r, *rp--);
- sep = (frame - rp) % 4 == 2 ?
- "\n\t" : " ";
- }
- }
- }
-
- db_printf("\n");
-
- /*
- * Switch to next frame up
- */
- if (frame[FR_RFP] == 0)
- break; /* Top of stack */
-
- lastframe = frame;
- frame = (u_int32_t *)(frame[FR_RFP]);
-
- if (INKERNEL((int)frame)) {
- /* staying in kernel */
- if (frame <= lastframe) {
- db_printf("Bad frame pointer: %p\n", frame);
- break;
- }
- } else if (INKERNEL((int)lastframe)) {
- /* switch from user to kernel */
- if (kernel_only)
- break; /* kernel stack only */
- } else {
- /* in user */
- if (frame <= lastframe) {
- db_printf("Bad user frame pointer: %p\n",
- frame);
- break;
- }
- }
- }
-}
-#endif
/* XXX stubs */
void
@@ -600,24 +474,18 @@ db_md_set_watchpoint(db_expr_t addr, db_
int
db_trace_thread(struct thread *thr, int count)
{
-#ifdef __ARM_EABI__
struct unwind_state state;
-#endif
struct pcb *ctx;
if (thr != curthread) {
ctx = kdb_thr_ctx(thr);
-#ifdef __ARM_EABI__
state.registers[FP] = ctx->pcb_regs.sf_r11;
state.registers[SP] = ctx->pcb_regs.sf_sp;
state.registers[LR] = ctx->pcb_regs.sf_lr;
state.registers[PC] = ctx->pcb_regs.sf_pc;
db_stack_trace_cmd(&state);
-#else
- db_stack_trace_cmd(ctx->pcb_regs.sf_r11, -1, TRUE);
-#endif
} else
db_trace_self();
return (0);
@@ -626,7 +494,6 @@ db_trace_thread(struct thread *thr, int
void
db_trace_self(void)
{
-#ifdef __ARM_EABI__
struct unwind_state state;
uint32_t sp;
@@ -639,10 +506,4 @@ db_trace_self(void)
state.registers[PC] = (uint32_t)db_trace_self;
db_stack_trace_cmd(&state);
-#else
- db_addr_t addr;
-
- addr = (db_addr_t)__builtin_frame_address(0);
- db_stack_trace_cmd(addr, -1, FALSE);
-#endif
}
Modified: projects/building-blocks/sys/arm/xscale/ixp425/if_npe.c
==============================================================================
--- projects/building-blocks/sys/arm/xscale/ixp425/if_npe.c Thu Feb 12 21:15:28 2015 (r278637)
+++ projects/building-blocks/sys/arm/xscale/ixp425/if_npe.c Thu Feb 12 21:17:50 2015 (r278638)
@@ -285,7 +285,7 @@ unit2npeid(int unit)
};
/* XXX check feature register instead */
return (unit < 3 ? npeidmap[
- (cpu_id() & CPU_ID_CPU_MASK) == CPU_ID_IXP435][unit] : -1);
+ (cpu_ident() & CPU_ID_CPU_MASK) == CPU_ID_IXP435][unit] : -1);
}
static int
Modified: projects/building-blocks/sys/boot/arm/ixp425/boot2/ixp425_board.c
==============================================================================
--- projects/building-blocks/sys/boot/arm/ixp425/boot2/ixp425_board.c Thu Feb 12 21:15:28 2015 (r278637)
+++ projects/building-blocks/sys/boot/arm/ixp425/boot2/ixp425_board.c Thu Feb 12 21:17:50 2015 (r278638)
@@ -74,7 +74,7 @@ board_init(void)
{
struct board_config **pbp;
- cputype = cpu_id() & CPU_ID_CPU_MASK;
+ cputype = cpu_ident() & CPU_ID_CPU_MASK;
SET_FOREACH(pbp, boards)
/* XXX pass down redboot board type */
Modified: projects/building-blocks/sys/boot/pc98/boot2/Makefile
==============================================================================
--- projects/building-blocks/sys/boot/pc98/boot2/Makefile Thu Feb 12 21:15:28 2015 (r278637)
+++ projects/building-blocks/sys/boot/pc98/boot2/Makefile Thu Feb 12 21:17:50 2015 (r278638)
@@ -92,6 +92,7 @@ boot2.out: ${BTXCRT} boot2.o sio.o
${LD} ${LD_FLAGS} -Ttext ${ORG2} -o ${.TARGET} ${.ALLSRC}
boot2.o: boot2.s
+ ${CC} ${ACFLAGS} -c boot2.s
SRCS= boot2.c boot2.h
Modified: projects/building-blocks/sys/cam/ctl/ctl.c
==============================================================================
--- projects/building-blocks/sys/cam/ctl/ctl.c Thu Feb 12 21:15:28 2015 (r278637)
+++ projects/building-blocks/sys/cam/ctl/ctl.c Thu Feb 12 21:17:50 2015 (r278638)
@@ -4483,6 +4483,8 @@ ctl_init_log_page_index(struct ctl_lun *
lun->log_pages.index[1].page_len = k * 2;
lun->log_pages.index[2].page_data = &lun->log_pages.lbp_page[0];
lun->log_pages.index[2].page_len = 12*CTL_NUM_LBP_PARAMS;
+ lun->log_pages.index[3].page_data = (uint8_t *)&lun->log_pages.stat_page;
+ lun->log_pages.index[3].page_len = sizeof(lun->log_pages.stat_page);
return (CTL_RETVAL_COMPLETE);
}
@@ -4720,6 +4722,9 @@ ctl_alloc_lun(struct ctl_softc *ctl_soft
lun->serseq = CTL_LUN_SERSEQ_OFF;
lun->ctl_softc = ctl_softc;
+#ifdef CTL_TIME_IO
+ lun->last_busy = getsbinuptime();
+#endif
TAILQ_INIT(&lun->ooa_queue);
TAILQ_INIT(&lun->blocked_queue);
STAILQ_INIT(&lun->error_list);
@@ -7085,6 +7090,67 @@ ctl_lbp_log_sense_handler(struct ctl_scs
}
int
+ctl_sap_log_sense_handler(struct ctl_scsiio *ctsio,
+ struct ctl_page_index *page_index,
+ int pc)
+{
+ struct ctl_lun *lun;
+ struct stat_page *data;
+ uint64_t rn, wn, rb, wb;
+ struct bintime rt, wt;
+ int i;
+
+ lun = (struct ctl_lun *)ctsio->io_hdr.ctl_private[CTL_PRIV_LUN].ptr;
+ data = (struct stat_page *)page_index->page_data;
*** DIFF OUTPUT TRUNCATED AT 1000 LINES ***
More information about the svn-src-projects
mailing list