Date: Thu, 12 Feb 2015 21:17:51 +0000 (UTC) From: Garrett Cooper <ngie@FreeBSD.org> To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: 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... Message-ID: <201502122117.t1CLHp3n009237@svn.freebsd.org>
next in thread | raw e-mail | index | archive | help
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 ***
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201502122117.t1CLHp3n009237>