svn commit: r275913 - in projects/building-blocks: . bin/ps bin/sh bin/sh/tests/execution cddl/contrib/opensolaris/cmd/zdb cddl/contrib/opensolaris/cmd/zfs cddl/contrib/opensolaris/lib/libdtrace/co...
Garrett Cooper
ngie at FreeBSD.org
Thu Dec 18 18:46:13 UTC 2014
Author: ngie
Date: Thu Dec 18 18:46:08 2014
New Revision: 275913
URL: https://svnweb.freebsd.org/changeset/base/275913
Log:
MFhead @ r275911 (also, sort out MK_* flags in BMAKE, etc on this branch)
Added:
projects/building-blocks/bin/sh/tests/execution/set-x4.0
- copied unchanged from r275911, head/bin/sh/tests/execution/set-x4.0
projects/building-blocks/contrib/elftoolchain/readelf/
- copied from r275911, head/contrib/elftoolchain/readelf/
projects/building-blocks/contrib/file/magic/Magdir/kerberos
- copied unchanged from r275911, head/contrib/file/magic/Magdir/kerberos
projects/building-blocks/contrib/file/magic/Magdir/meteorological
- copied unchanged from r275911, head/contrib/file/magic/Magdir/meteorological
projects/building-blocks/contrib/llvm/patches/patch-r275759-clang-r221170-ppc-vaarg.diff
- copied unchanged from r275911, head/contrib/llvm/patches/patch-r275759-clang-r221170-ppc-vaarg.diff
projects/building-blocks/share/man/man7/crypto.7
- copied unchanged from r275911, head/share/man/man7/crypto.7
projects/building-blocks/sys/boot/fdt/dts/mips/beripad-sockit.dts
- copied unchanged from r275911, head/sys/boot/fdt/dts/mips/beripad-sockit.dts
projects/building-blocks/sys/crypto/aesni/aesni_ghash.c
- copied unchanged from r275911, head/sys/crypto/aesni/aesni_ghash.c
projects/building-blocks/sys/dev/ofw/ofw_cpu.c
- copied unchanged from r275911, head/sys/dev/ofw/ofw_cpu.c
projects/building-blocks/sys/kern/kern_procctl.c
- copied unchanged from r275911, head/sys/kern/kern_procctl.c
projects/building-blocks/sys/libkern/timingsafe_bcmp.c
- copied unchanged from r275911, head/sys/libkern/timingsafe_bcmp.c
projects/building-blocks/sys/mips/conf/BERI_SOCKIT
- copied unchanged from r275911, head/sys/mips/conf/BERI_SOCKIT
projects/building-blocks/sys/opencrypto/gfmult.c
- copied unchanged from r275911, head/sys/opencrypto/gfmult.c
projects/building-blocks/sys/opencrypto/gfmult.h
- copied unchanged from r275911, head/sys/opencrypto/gfmult.h
projects/building-blocks/sys/opencrypto/gmac.c
- copied unchanged from r275911, head/sys/opencrypto/gmac.c
projects/building-blocks/sys/opencrypto/gmac.h
- copied unchanged from r275911, head/sys/opencrypto/gmac.h
projects/building-blocks/tests/sys/opencrypto/
- copied from r275911, head/tests/sys/opencrypto/
projects/building-blocks/tools/tools/nanobsd/defaults.sh
- copied unchanged from r275911, head/tools/tools/nanobsd/defaults.sh
projects/building-blocks/usr.sbin/vigr/
- copied from r275911, head/usr.sbin/vigr/
Deleted:
projects/building-blocks/contrib/file/magic/Magdir/rinex
projects/building-blocks/sys/powerpc/ofw/ofw_cpu.c
Modified:
projects/building-blocks/Makefile.inc1
projects/building-blocks/UPDATING
projects/building-blocks/bin/ps/ps.1
projects/building-blocks/bin/sh/output.c
projects/building-blocks/bin/sh/tests/execution/Makefile
projects/building-blocks/cddl/contrib/opensolaris/cmd/zdb/zdb.c
projects/building-blocks/cddl/contrib/opensolaris/cmd/zfs/zfs.8
projects/building-blocks/cddl/contrib/opensolaris/lib/libdtrace/common/drti.c
projects/building-blocks/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_iter.c
projects/building-blocks/contrib/binutils/bfd/ChangeLog
projects/building-blocks/contrib/binutils/bfd/bfd-in2.h
projects/building-blocks/contrib/binutils/bfd/ecoff.c
projects/building-blocks/contrib/binutils/bfd/elf32-ppc.c
projects/building-blocks/contrib/binutils/bfd/elf64-ppc.c
projects/building-blocks/contrib/binutils/bfd/libbfd.h
projects/building-blocks/contrib/binutils/bfd/reloc.c
projects/building-blocks/contrib/binutils/bfd/section.c
projects/building-blocks/contrib/binutils/gas/config/tc-ppc.c
projects/building-blocks/contrib/binutils/include/elf/ChangeLog
projects/building-blocks/contrib/binutils/include/elf/ppc.h
projects/building-blocks/contrib/binutils/include/elf/ppc64.h
projects/building-blocks/contrib/elftoolchain/elfcopy/main.c
projects/building-blocks/contrib/elftoolchain/elfcopy/segments.c
projects/building-blocks/contrib/file/ChangeLog
projects/building-blocks/contrib/file/Makefile.in
projects/building-blocks/contrib/file/TODO
projects/building-blocks/contrib/file/aclocal.m4
projects/building-blocks/contrib/file/config.h.in
projects/building-blocks/contrib/file/configure
projects/building-blocks/contrib/file/configure.ac
projects/building-blocks/contrib/file/doc/Makefile.in
projects/building-blocks/contrib/file/doc/file.man
projects/building-blocks/contrib/file/doc/libmagic.man
projects/building-blocks/contrib/file/magic/Localstuff
projects/building-blocks/contrib/file/magic/Magdir/android
projects/building-blocks/contrib/file/magic/Magdir/animation
projects/building-blocks/contrib/file/magic/Magdir/archive
projects/building-blocks/contrib/file/magic/Magdir/blender
projects/building-blocks/contrib/file/magic/Magdir/commands
projects/building-blocks/contrib/file/magic/Magdir/compress
projects/building-blocks/contrib/file/magic/Magdir/database
projects/building-blocks/contrib/file/magic/Magdir/elf
projects/building-blocks/contrib/file/magic/Magdir/filesystems
projects/building-blocks/contrib/file/magic/Magdir/images
projects/building-blocks/contrib/file/magic/Magdir/jpeg
projects/building-blocks/contrib/file/magic/Magdir/linux
projects/building-blocks/contrib/file/magic/Magdir/macintosh
projects/building-blocks/contrib/file/magic/Magdir/msooxml
projects/building-blocks/contrib/file/magic/Magdir/netbsd
projects/building-blocks/contrib/file/magic/Magdir/pascal
projects/building-blocks/contrib/file/magic/Magdir/pgp
projects/building-blocks/contrib/file/magic/Magdir/python
projects/building-blocks/contrib/file/magic/Magdir/riff
projects/building-blocks/contrib/file/magic/Magdir/sequent
projects/building-blocks/contrib/file/magic/Magdir/sereal
projects/building-blocks/contrib/file/magic/Magdir/ssh
projects/building-blocks/contrib/file/magic/Magdir/vms
projects/building-blocks/contrib/file/magic/Magdir/vorbis
projects/building-blocks/contrib/file/magic/Magdir/windows
projects/building-blocks/contrib/file/magic/Makefile.am
projects/building-blocks/contrib/file/magic/Makefile.in
projects/building-blocks/contrib/file/missing
projects/building-blocks/contrib/file/python/Makefile.in
projects/building-blocks/contrib/file/src/Makefile.in
projects/building-blocks/contrib/file/src/apprentice.c
projects/building-blocks/contrib/file/src/ascmagic.c
projects/building-blocks/contrib/file/src/cdf.c
projects/building-blocks/contrib/file/src/cdf.h
projects/building-blocks/contrib/file/src/compress.c
projects/building-blocks/contrib/file/src/elfclass.h
projects/building-blocks/contrib/file/src/encoding.c
projects/building-blocks/contrib/file/src/file.c
projects/building-blocks/contrib/file/src/file.h
projects/building-blocks/contrib/file/src/file_opts.h
projects/building-blocks/contrib/file/src/fsmagic.c
projects/building-blocks/contrib/file/src/funcs.c
projects/building-blocks/contrib/file/src/getline.c
projects/building-blocks/contrib/file/src/magic.c
projects/building-blocks/contrib/file/src/magic.h
projects/building-blocks/contrib/file/src/magic.h.in
projects/building-blocks/contrib/file/src/pread.c
projects/building-blocks/contrib/file/src/readcdf.c
projects/building-blocks/contrib/file/src/readelf.c
projects/building-blocks/contrib/file/src/softmagic.c
projects/building-blocks/contrib/file/src/vasprintf.c
projects/building-blocks/contrib/file/tests/Makefile.in
projects/building-blocks/contrib/llvm/patches/patch-r274286-llvm-r201784-asm-dollar.diff
projects/building-blocks/contrib/llvm/patches/patch-r275633-llvm-r223171-fix-vectorizer.diff
projects/building-blocks/contrib/llvm/tools/clang/lib/CodeGen/TargetInfo.cpp
projects/building-blocks/contrib/unbound/iterator/iterator.c
projects/building-blocks/contrib/unbound/iterator/iterator.h
projects/building-blocks/etc/Makefile
projects/building-blocks/etc/devd/usb.conf
projects/building-blocks/etc/mtree/BSD.include.dist
projects/building-blocks/etc/mtree/BSD.tests.dist
projects/building-blocks/etc/mtree/BSD.usr.dist
projects/building-blocks/gnu/usr.bin/binutils/libbfd/bfd.h
projects/building-blocks/gnu/usr.bin/cc/cc1plus/Makefile
projects/building-blocks/gnu/usr.bin/groff/Makefile
projects/building-blocks/gnu/usr.bin/groff/src/Makefile
projects/building-blocks/gnu/usr.bin/groff/src/devices/Makefile
projects/building-blocks/gnu/usr.bin/groff/src/libs/Makefile
projects/building-blocks/gnu/usr.bin/groff/src/preproc/Makefile
projects/building-blocks/gnu/usr.bin/groff/src/roff/Makefile
projects/building-blocks/gnu/usr.bin/groff/src/utils/Makefile
projects/building-blocks/lib/libc/iconv/iconv.3
projects/building-blocks/lib/libc/net/sctp_sys_calls.c
projects/building-blocks/lib/libc/stdlib/quick_exit.3
projects/building-blocks/lib/libc/sys/kqueue.2
projects/building-blocks/lib/libc/sys/procctl.2
projects/building-blocks/lib/libmagic/config.h
projects/building-blocks/lib/msun/ld128/k_expl.h
projects/building-blocks/lib/msun/ld80/k_expl.h
projects/building-blocks/lib/msun/src/catrig.c
projects/building-blocks/lib/msun/src/catrigf.c
projects/building-blocks/lib/msun/src/k_exp.c
projects/building-blocks/lib/msun/src/k_expf.c
projects/building-blocks/lib/msun/src/math_private.h
projects/building-blocks/lib/msun/src/s_ccosh.c
projects/building-blocks/lib/msun/src/s_ccoshf.c
projects/building-blocks/lib/msun/src/s_cexp.c
projects/building-blocks/lib/msun/src/s_cexpf.c
projects/building-blocks/lib/msun/src/s_conj.c
projects/building-blocks/lib/msun/src/s_conjf.c
projects/building-blocks/lib/msun/src/s_conjl.c
projects/building-blocks/lib/msun/src/s_cproj.c
projects/building-blocks/lib/msun/src/s_cprojf.c
projects/building-blocks/lib/msun/src/s_cprojl.c
projects/building-blocks/lib/msun/src/s_csinh.c
projects/building-blocks/lib/msun/src/s_csinhf.c
projects/building-blocks/lib/msun/src/s_csqrt.c
projects/building-blocks/lib/msun/src/s_csqrtf.c
projects/building-blocks/lib/msun/src/s_csqrtl.c
projects/building-blocks/lib/msun/src/s_ctanh.c
projects/building-blocks/lib/msun/src/s_ctanhf.c
projects/building-blocks/sbin/ffsinfo/ffsinfo.c
projects/building-blocks/sbin/ifconfig/Makefile
projects/building-blocks/sbin/ifconfig/ifconfig.8
projects/building-blocks/sbin/ifconfig/ifvxlan.c
projects/building-blocks/sbin/ping6/ping6.c
projects/building-blocks/sbin/shutdown/shutdown.8
projects/building-blocks/sbin/shutdown/shutdown.c
projects/building-blocks/share/man/man4/crypto.4
projects/building-blocks/share/man/man4/vxlan.4
projects/building-blocks/share/man/man7/Makefile
projects/building-blocks/share/man/man7/build.7
projects/building-blocks/share/man/man9/crypto.9
projects/building-blocks/share/man/man9/mutex.9
projects/building-blocks/share/man/man9/rmlock.9
projects/building-blocks/share/man/man9/rwlock.9
projects/building-blocks/share/man/man9/sx.9
projects/building-blocks/share/misc/committers-ports.dot
projects/building-blocks/share/mk/bsd.opts.mk
projects/building-blocks/share/mk/src.opts.mk
projects/building-blocks/sys/amd64/amd64/exception.S
projects/building-blocks/sys/amd64/vmm/io/vatpic.c
projects/building-blocks/sys/arm/mv/mv_common.c
projects/building-blocks/sys/arm/mv/mv_pci.c
projects/building-blocks/sys/boot/fdt/dts/arm/socfpga-sockit-beri.dts
projects/building-blocks/sys/boot/fdt/dts/mips/beri-netfpga.dts
projects/building-blocks/sys/boot/fdt/dts/mips/beri-sim.dts
projects/building-blocks/sys/boot/fdt/dts/mips/beripad-de4.dts
projects/building-blocks/sys/cam/ctl/ctl.c
projects/building-blocks/sys/cam/ctl/ctl.h
projects/building-blocks/sys/cam/ctl/ctl_backend.h
projects/building-blocks/sys/cam/ctl/ctl_backend_block.c
projects/building-blocks/sys/cam/ctl/ctl_cmd_table.c
projects/building-blocks/sys/cam/ctl/ctl_frontend_iscsi.c
projects/building-blocks/sys/cam/ctl/ctl_frontend_iscsi.h
projects/building-blocks/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/arc.c
projects/building-blocks/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dbuf.c
projects/building-blocks/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu_diff.c
projects/building-blocks/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu_objset.c
projects/building-blocks/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu_send.c
projects/building-blocks/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu_traverse.c
projects/building-blocks/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu_tx.c
projects/building-blocks/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dnode.c
projects/building-blocks/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dnode_sync.c
projects/building-blocks/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_bookmark.c
projects/building-blocks/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_dataset.c
projects/building-blocks/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_deadlist.c
projects/building-blocks/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_deleg.c
projects/building-blocks/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_destroy.c
projects/building-blocks/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_dir.c
projects/building-blocks/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_pool.c
projects/building-blocks/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_prop.c
projects/building-blocks/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_scan.c
projects/building-blocks/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_synctask.c
projects/building-blocks/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_userhold.c
projects/building-blocks/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sa.c
projects/building-blocks/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/spa.c
projects/building-blocks/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/spa_history.c
projects/building-blocks/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/arc.h
projects/building-blocks/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/dbuf.h
projects/building-blocks/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/dmu.h
projects/building-blocks/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/dsl_dataset.h
projects/building-blocks/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/dsl_dir.h
projects/building-blocks/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/spa.h
projects/building-blocks/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/uberblock.h
projects/building-blocks/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/zap_impl.h
projects/building-blocks/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/zap_leaf.h
projects/building-blocks/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/uberblock.c
projects/building-blocks/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zap.c
projects/building-blocks/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zap_leaf.c
projects/building-blocks/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zap_micro.c
projects/building-blocks/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_ioctl.c
projects/building-blocks/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vnops.c
projects/building-blocks/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zil.c
projects/building-blocks/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zio.c
projects/building-blocks/sys/compat/freebsd32/freebsd32.h
projects/building-blocks/sys/compat/freebsd32/freebsd32_misc.c
projects/building-blocks/sys/compat/linprocfs/linprocfs.c
projects/building-blocks/sys/compat/svr4/svr4_socket.c
projects/building-blocks/sys/conf/files
projects/building-blocks/sys/conf/files.amd64
projects/building-blocks/sys/conf/files.i386
projects/building-blocks/sys/conf/files.powerpc
projects/building-blocks/sys/crypto/aesni/aesni.c
projects/building-blocks/sys/crypto/aesni/aesni.h
projects/building-blocks/sys/crypto/aesni/aesni_wrap.c
projects/building-blocks/sys/crypto/via/padlock_hash.c
projects/building-blocks/sys/dev/beri/virtio/virtio_mmio_platform.c
projects/building-blocks/sys/dev/cxgbe/adapter.h
projects/building-blocks/sys/dev/cxgbe/tom/t4_ddp.c
projects/building-blocks/sys/dev/cxgbe/tom/t4_tom.h
projects/building-blocks/sys/dev/drm/drm_sysctl.c
projects/building-blocks/sys/dev/drm2/drm_sysctl.c
projects/building-blocks/sys/dev/fdt/fdt_common.c
projects/building-blocks/sys/dev/fdt/fdt_common.h
projects/building-blocks/sys/dev/iscsi/iscsi.c
projects/building-blocks/sys/dev/iscsi/iscsi_proto.h
projects/building-blocks/sys/dev/malo/if_malo_pci.c
projects/building-blocks/sys/dev/mmc/mmc.c
projects/building-blocks/sys/dev/mwl/if_mwl_pci.c
projects/building-blocks/sys/dev/sis/if_sis.c
projects/building-blocks/sys/dev/usb/net/if_urndis.c
projects/building-blocks/sys/dev/usb/serial/umodem.c
projects/building-blocks/sys/dev/virtio/mmio/virtio_mmio.c
projects/building-blocks/sys/dev/virtio/mmio/virtio_mmio_if.m
projects/building-blocks/sys/dev/virtio/virtio_bus_if.m
projects/building-blocks/sys/dev/virtio/virtqueue.c
projects/building-blocks/sys/fs/ext2fs/ext2_alloc.c
projects/building-blocks/sys/fs/ext2fs/ext2_lookup.c
projects/building-blocks/sys/fs/ext2fs/ext2_vnops.c
projects/building-blocks/sys/fs/fuse/fuse_vnops.c
projects/building-blocks/sys/fs/msdosfs/msdosfs_lookup.c
projects/building-blocks/sys/fs/nandfs/nandfs_vnops.c
projects/building-blocks/sys/fs/nfsclient/nfs_clvnops.c
projects/building-blocks/sys/fs/nfsserver/nfs_nfsdserv.c
projects/building-blocks/sys/fs/tmpfs/tmpfs_vnops.c
projects/building-blocks/sys/fs/unionfs/union_subr.c
projects/building-blocks/sys/fs/unionfs/union_vnops.c
projects/building-blocks/sys/geom/eli/g_eli_crypto.c
projects/building-blocks/sys/geom/eli/g_eli_integrity.c
projects/building-blocks/sys/geom/eli/g_eli_privacy.c
projects/building-blocks/sys/kern/init_main.c
projects/building-blocks/sys/kern/kern_conf.c
projects/building-blocks/sys/kern/kern_exec.c
projects/building-blocks/sys/kern/kern_exit.c
projects/building-blocks/sys/kern/kern_fork.c
projects/building-blocks/sys/kern/kern_mutex.c
projects/building-blocks/sys/kern/kern_proc.c
projects/building-blocks/sys/kern/kern_rmlock.c
projects/building-blocks/sys/kern/kern_rwlock.c
projects/building-blocks/sys/kern/kern_sig.c
projects/building-blocks/sys/kern/kern_sx.c
projects/building-blocks/sys/kern/kern_thread.c
projects/building-blocks/sys/kern/subr_clock.c
projects/building-blocks/sys/kern/subr_lock.c
projects/building-blocks/sys/kern/sys_process.c
projects/building-blocks/sys/kern/uipc_socket.c
projects/building-blocks/sys/kern/uipc_usrreq.c
projects/building-blocks/sys/kern/vfs_subr.c
projects/building-blocks/sys/kern/vfs_syscalls.c
projects/building-blocks/sys/kern/vfs_vnops.c
projects/building-blocks/sys/mips/beri/beri_machdep.c
projects/building-blocks/sys/mips/beri/files.beri
projects/building-blocks/sys/mips/rmi/dev/sec/rmisec.c
projects/building-blocks/sys/modules/aesni/Makefile
projects/building-blocks/sys/modules/crypto/Makefile
projects/building-blocks/sys/net/if_dead.c
projects/building-blocks/sys/net80211/ieee80211_scan_sta.c
projects/building-blocks/sys/netinet/ip_input.c
projects/building-blocks/sys/netinet/ip_ipsec.c
projects/building-blocks/sys/netinet/ip_ipsec.h
projects/building-blocks/sys/netinet/ip_output.c
projects/building-blocks/sys/netinet/sctp_input.c
projects/building-blocks/sys/netinet/sctp_pcb.c
projects/building-blocks/sys/netinet/tcp_input.c
projects/building-blocks/sys/netinet/udp_usrreq.c
projects/building-blocks/sys/netinet6/ip6_forward.c
projects/building-blocks/sys/netinet6/ip6_ipsec.c
projects/building-blocks/sys/netinet6/ip6_ipsec.h
projects/building-blocks/sys/netinet6/ip6_output.c
projects/building-blocks/sys/netinet6/raw_ip6.c
projects/building-blocks/sys/netinet6/sctp6_usrreq.c
projects/building-blocks/sys/netinet6/udp6_usrreq.c
projects/building-blocks/sys/netipsec/ipsec.c
projects/building-blocks/sys/netipsec/ipsec.h
projects/building-blocks/sys/netipsec/ipsec6.h
projects/building-blocks/sys/netipsec/ipsec_input.c
projects/building-blocks/sys/netipsec/ipsec_output.c
projects/building-blocks/sys/netipsec/xform_ah.c
projects/building-blocks/sys/netipsec/xform_esp.c
projects/building-blocks/sys/netipsec/xform_ipcomp.c
projects/building-blocks/sys/nfsclient/nfs_vnops.c
projects/building-blocks/sys/nfsserver/nfs_serv.c
projects/building-blocks/sys/ofed/drivers/net/mlx4/en_cq.c
projects/building-blocks/sys/opencrypto/criov.c
projects/building-blocks/sys/opencrypto/crypto.c
projects/building-blocks/sys/opencrypto/cryptodev.c
projects/building-blocks/sys/opencrypto/cryptodev.h
projects/building-blocks/sys/opencrypto/cryptosoft.c
projects/building-blocks/sys/opencrypto/xform.c
projects/building-blocks/sys/opencrypto/xform.h
projects/building-blocks/sys/rpc/svc.c
projects/building-blocks/sys/security/mac_lomac/mac_lomac.c
projects/building-blocks/sys/sys/bufobj.h
projects/building-blocks/sys/sys/elf_common.h
projects/building-blocks/sys/sys/libkern.h
projects/building-blocks/sys/sys/lock.h
projects/building-blocks/sys/sys/mutex.h
projects/building-blocks/sys/sys/param.h
projects/building-blocks/sys/sys/proc.h
projects/building-blocks/sys/sys/procctl.h
projects/building-blocks/sys/sys/rmlock.h
projects/building-blocks/sys/sys/rwlock.h
projects/building-blocks/sys/sys/sx.h
projects/building-blocks/sys/ufs/ffs/ffs_alloc.c
projects/building-blocks/sys/ufs/ffs/ffs_snapshot.c
projects/building-blocks/sys/ufs/ufs/ufs_lookup.c
projects/building-blocks/tests/sys/Makefile
projects/building-blocks/tools/build/mk/OptionalObsoleteFiles.inc
projects/building-blocks/tools/tools/nanobsd/nanobsd.sh
projects/building-blocks/usr.bin/id/id.c
projects/building-blocks/usr.bin/killall/killall.c
projects/building-blocks/usr.bin/mkimg/Makefile
projects/building-blocks/usr.bin/mkimg/qcow.c
projects/building-blocks/usr.bin/sed/compile.c
projects/building-blocks/usr.sbin/Makefile
projects/building-blocks/usr.sbin/autofs/automountd.c
projects/building-blocks/usr.sbin/autofs/autounmountd.8
projects/building-blocks/usr.sbin/autofs/common.c
projects/building-blocks/usr.sbin/bluetooth/bthidd/kbd.c
projects/building-blocks/usr.sbin/bsdinstall/distextract/Makefile
projects/building-blocks/usr.sbin/bsdinstall/distextract/distextract.c
projects/building-blocks/usr.sbin/chkgrp/chkgrp.c
projects/building-blocks/usr.sbin/ctladm/ctladm.8
projects/building-blocks/usr.sbin/ctld/discovery.c
projects/building-blocks/usr.sbin/ctld/login.c
projects/building-blocks/usr.sbin/iscsid/discovery.c
projects/building-blocks/usr.sbin/iscsid/login.c
projects/building-blocks/usr.sbin/jail/command.c
projects/building-blocks/usr.sbin/kldxref/Makefile
projects/building-blocks/usr.sbin/lpr/lpr/lpr.c
projects/building-blocks/usr.sbin/pw/tests/pw_useradd.sh
projects/building-blocks/usr.sbin/pw/tests/pw_usermod.sh
projects/building-blocks/usr.sbin/syslogd/syslogd.c
Directory Properties:
projects/building-blocks/ (props changed)
projects/building-blocks/cddl/ (props changed)
projects/building-blocks/cddl/contrib/opensolaris/ (props changed)
projects/building-blocks/cddl/contrib/opensolaris/cmd/zfs/ (props changed)
projects/building-blocks/cddl/contrib/opensolaris/lib/libzfs/ (props changed)
projects/building-blocks/contrib/binutils/ (props changed)
projects/building-blocks/contrib/file/ (props changed)
projects/building-blocks/contrib/llvm/ (props changed)
projects/building-blocks/contrib/llvm/tools/clang/ (props changed)
projects/building-blocks/contrib/unbound/ (props changed)
projects/building-blocks/etc/ (props changed)
projects/building-blocks/gnu/usr.bin/binutils/ (props changed)
projects/building-blocks/lib/libc/ (props changed)
projects/building-blocks/sbin/ (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/amd64/vmm/ (props changed)
projects/building-blocks/sys/boot/ (props changed)
projects/building-blocks/sys/cddl/contrib/opensolaris/ (props changed)
projects/building-blocks/sys/conf/ (props changed)
projects/building-blocks/usr.bin/mkimg/ (props changed)
projects/building-blocks/usr.sbin/jail/ (props changed)
Modified: projects/building-blocks/Makefile.inc1
==============================================================================
--- projects/building-blocks/Makefile.inc1 Thu Dec 18 18:44:22 2014 (r275912)
+++ projects/building-blocks/Makefile.inc1 Thu Dec 18 18:46:08 2014 (r275913)
@@ -113,6 +113,8 @@ _REDUNDENT_LIB_DIRS+= ${LOCAL_LIB_DIR
.for _DIR in ${LOCAL_LIB_DIRS}
.if empty(_REDUNDENT_LIB_DIRS:M${_DIR}) && exists(${.CURDIR}/${_DIR}/Makefile)
SUBDIR+= ${_DIR}
+.else
+.warning ${_DIR} not added to SUBDIR list. See UPDATING 20141121.
.endif
.endfor
.endif
@@ -261,8 +263,9 @@ BMAKE= MAKEOBJDIRPREFIX=${WORLDTMP} \
MK_HTML=no MK_INFO=no NO_LINT=yes MK_MAN=no \
-DNO_PIC MK_PROFILE=no -DNO_SHARED \
-DNO_CPU_CFLAGS MK_WARNS=no MK_CTF=no \
- MK_CLANG_FULL=no MK_LLDB=no MK_TESTS=no \
- MK_DEBUG_FILES=no
+ MK_CLANG_EXTRAS=no MK_CLANG_FULL=no \
+ MK_DEBUG_FILES=no \
+ MK_LLDB=no MK_TESTS=no
# build-tools stage
TMAKE= MAKEOBJDIRPREFIX=${OBJTREE} \
@@ -273,9 +276,12 @@ TMAKE= MAKEOBJDIRPREFIX=${OBJTREE} \
SSP_CFLAGS= \
-DNO_LINT \
-DNO_CPU_CFLAGS \
- MK_WARNS=no MK_CTF=no MK_CLANG_FULL=no MK_LLDB=no MK_MAN=no \
+ MK_CTF=no \
+ MK_CLANG_EXTRAS=no MK_CLANG_FULL=no \
MK_DEBUG_FILES=no \
+ MK_LLDB=no MK_MAN=no \
MK_SHAREDOCS=no MK_TESTS=no \
+ MK_WARNS=no
# cross-tools stage
XMAKE= TOOLS_PREFIX=${WORLDTMP} ${BMAKE} \
@@ -528,8 +534,9 @@ _worldtmp:
-p ${WORLDTMP}/usr/lib >/dev/null
.endif
.if ${MK_TESTS} != "no"
+ mkdir -p ${WORLDTMP}${TESTSBASE}
mtree -deU -f ${.CURDIR}/etc/mtree/BSD.tests.dist \
- -p ${WORLDTMP}/usr >/dev/null
+ -p ${WORLDTMP}${TESTSBASE} >/dev/null
.endif
.for _mtree in ${LOCAL_MTREE}
mtree -deU -f ${.CURDIR}/${_mtree} -p ${WORLDTMP} > /dev/null
@@ -792,7 +799,7 @@ _zoneinfo= zic tzsetup
ITOOLS= [ awk cap_mkdb cat chflags chmod chown \
date echo egrep find grep id install ${_install-info} \
ln lockf make mkdir mtree mv pwd_mkdb \
- rm sed services_mkdb sh sysctl test true uname wc ${_zoneinfo} \
+ rm sed services_mkdb sh strip sysctl test true uname wc ${_zoneinfo} \
${LOCAL_ITOOLS}
# Needed for share/man
@@ -868,8 +875,9 @@ distributeworld installworld: _installch
-p ${DESTDIR}/${DISTDIR}/${dist}/usr/lib >/dev/null
.endif
.if ${MK_TESTS} != "no" && ${dist} == "tests"
+ -mkdir -p ${DESTDIR}/${DISTDIR}/${dist}${TESTSBASE}
mtree -deU -f ${.CURDIR}/etc/mtree/BSD.tests.dist \
- -p ${DESTDIR}/${DISTDIR}/${dist}/usr >/dev/null
+ -p ${DESTDIR}/${DISTDIR}/${dist}${TESTSBASE} >/dev/null
.endif
.if defined(NO_ROOT)
${IMAKEENV} mtree -C -f ${.CURDIR}/etc/mtree/BSD.root.dist | \
@@ -1479,7 +1487,8 @@ NXBMAKE= ${NXBENV} ${MAKE} \
MK_HTML=no MK_INFO=no NO_LINT=yes MK_MAN=no \
-DNO_PIC MK_PROFILE=no -DNO_SHARED \
-DNO_CPU_CFLAGS MK_WARNS=no MK_CTF=no \
- MK_CLANG_FULL=no MK_LLDB=no
+ MK_CLANG_EXTRAS=no MK_CLANG_FULL=no \
+ MK_LLDB=no
native-xtools: .MAKE
mkdir -p ${OBJTREE}/nxb-bin/bin
@@ -2093,8 +2102,9 @@ _xi-mtree:
mtree -deU -f ${.CURDIR}/etc/mtree/BSD.include.dist \
-p ${XDDESTDIR}/usr/include >/dev/null
.if ${MK_TESTS} != "no"
+ mkdir -p ${XDDESTDIR}${TESTSBASE}
mtree -deU -f ${.CURDIR}/etc/mtree/BSD.tests.dist \
- -p ${XDDESTDIR}/usr >/dev/null
+ -p ${XDDESTDIR}${TESTSBASE} >/dev/null
.endif
.ORDER: xdev-build _xi-mtree _xi-cross-tools _xi-includes _xi-libraries
Modified: projects/building-blocks/UPDATING
==============================================================================
--- projects/building-blocks/UPDATING Thu Dec 18 18:44:22 2014 (r275912)
+++ projects/building-blocks/UPDATING Thu Dec 18 18:46:08 2014 (r275913)
@@ -31,6 +31,14 @@ NOTE TO PEOPLE WHO THINK THAT FreeBSD 11
disable the most expensive debugging functionality run
"ln -s 'abort:false,junk:false' /etc/malloc.conf".)
+20141121:
+ The handling of LOCAL_LIB_DIRS has been altered to skip addition of
+ directories to top level SUBDIR variable when their parent
+ directory is included in LOCAL_DIRS. Users with build systems with
+ such hierarchies and without SUBDIR entries in the parent
+ directory Makefiles should add them or add the directories to
+ LOCAL_DIRS.
+
20141109:
faith(4) and faithd(8) has been removed from base system. It
has been obsolete for a very long time.
Modified: projects/building-blocks/bin/ps/ps.1
==============================================================================
--- projects/building-blocks/bin/ps/ps.1 Thu Dec 18 18:44:22 2014 (r275912)
+++ projects/building-blocks/bin/ps/ps.1 Thu Dec 18 18:46:08 2014 (r275913)
@@ -29,7 +29,7 @@
.\" @(#)ps.1 8.3 (Berkeley) 4/18/94
.\" $FreeBSD$
.\"
-.Dd August 27, 2014
+.Dd December 9, 2014
.Dt PS 1
.Os
.Sh NAME
@@ -332,6 +332,7 @@ the include file
.It Dv "P_SINGLE_BOUNDARY" Ta No "0x400000" Ta "Threads should suspend at user boundary"
.It Dv "P_HWPMC" Ta No "0x800000" Ta "Process is using HWPMCs"
.It Dv "P_JAILED" Ta No "0x1000000" Ta "Process is in jail"
+.It Dv "P_TOTAL_STOP" Ta No "0x2000000" Ta "Stopped for system suspend"
.It Dv "P_INEXEC" Ta No "0x4000000" Ta "Process is in execve()"
.It Dv "P_STATCHILD" Ta No "0x8000000" Ta "Child process stopped or exited"
.It Dv "P_INMEM" Ta No "0x10000000" Ta "Loaded into memory"
Modified: projects/building-blocks/bin/sh/output.c
==============================================================================
--- projects/building-blocks/bin/sh/output.c Thu Dec 18 18:44:22 2014 (r275912)
+++ projects/building-blocks/bin/sh/output.c Thu Dec 18 18:46:08 2014 (r275913)
@@ -54,6 +54,8 @@ __FBSDID("$FreeBSD$");
#include <errno.h>
#include <unistd.h>
#include <stdlib.h>
+#include <wchar.h>
+#include <wctype.h>
#include "shell.h"
#include "syntax.h"
@@ -111,42 +113,86 @@ outstr(const char *p, struct output *fil
outbin(p, strlen(p), file);
}
+static void
+byteseq(int ch, struct output *file)
+{
+ char seq[4];
+
+ seq[0] = '\\';
+ seq[1] = (ch >> 6 & 0x3) + '0';
+ seq[2] = (ch >> 3 & 0x7) + '0';
+ seq[3] = (ch & 0x7) + '0';
+ outbin(seq, 4, file);
+}
+
+static void
+outdqstr(const char *p, struct output *file)
+{
+ const char *end;
+ mbstate_t mbs;
+ size_t clen;
+ wchar_t wc;
+
+ memset(&mbs, '\0', sizeof(mbs));
+ end = p + strlen(p);
+ outstr("$'", file);
+ while ((clen = mbrtowc(&wc, p, end - p + 1, &mbs)) != 0) {
+ if (clen == (size_t)-2) {
+ while (p < end)
+ byteseq(*p++, file);
+ break;
+ }
+ if (clen == (size_t)-1) {
+ memset(&mbs, '\0', sizeof(mbs));
+ byteseq(*p++, file);
+ continue;
+ }
+ if (wc == L'\n')
+ outcslow('\n', file), p++;
+ else if (wc == L'\r')
+ outstr("\\r", file), p++;
+ else if (wc == L'\t')
+ outstr("\\t", file), p++;
+ else if (!iswprint(wc)) {
+ for (; clen > 0; clen--)
+ byteseq(*p++, file);
+ } else {
+ if (wc == L'\'' || wc == L'\\')
+ outcslow('\\', file);
+ outbin(p, clen, file);
+ p += clen;
+ }
+ }
+ outcslow('\'', file);
+}
+
/* Like outstr(), but quote for re-input into the shell. */
void
outqstr(const char *p, struct output *file)
{
- char ch;
- int inquotes;
+ int i;
if (p[0] == '\0') {
outstr("''", file);
return;
}
- if (p[strcspn(p, "|&;<>()$`\\\"' \t\n*?[~#=")] == '\0' ||
+ for (i = 0; p[i] != '\0'; i++) {
+ if ((p[i] > '\0' && p[i] < ' ' && p[i] != '\n') ||
+ (p[i] & 0x80) != 0 || p[i] == '\'') {
+ outdqstr(p, file);
+ return;
+ }
+ }
+
+ if (p[strcspn(p, "|&;<>()$`\\\" \n*?[~#=")] == '\0' ||
strcmp(p, "[") == 0) {
outstr(p, file);
return;
}
- inquotes = 0;
- while ((ch = *p++) != '\0') {
- switch (ch) {
- case '\'':
- /* Can't quote single quotes inside single quotes. */
- if (inquotes)
- outcslow('\'', file);
- inquotes = 0;
- outstr("\\'", file);
- break;
- default:
- if (!inquotes)
- outcslow('\'', file);
- inquotes = 1;
- outc(ch, file);
- }
- }
- if (inquotes)
- outcslow('\'', file);
+ outcslow('\'', file);
+ outstr(p, file);
+ outcslow('\'', file);
}
void
Modified: projects/building-blocks/bin/sh/tests/execution/Makefile
==============================================================================
--- projects/building-blocks/bin/sh/tests/execution/Makefile Thu Dec 18 18:44:22 2014 (r275912)
+++ projects/building-blocks/bin/sh/tests/execution/Makefile Thu Dec 18 18:46:08 2014 (r275913)
@@ -44,6 +44,7 @@ FILES+= set-n4.0
FILES+= set-x1.0
FILES+= set-x2.0
FILES+= set-x3.0
+FILES+= set-x4.0
FILES+= shellproc1.0
FILES+= subshell1.0 subshell1.0.stdout
FILES+= subshell2.0
Copied: projects/building-blocks/bin/sh/tests/execution/set-x4.0 (from r275911, head/bin/sh/tests/execution/set-x4.0)
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ projects/building-blocks/bin/sh/tests/execution/set-x4.0 Thu Dec 18 18:46:08 2014 (r275913, copy of r275911, head/bin/sh/tests/execution/set-x4.0)
@@ -0,0 +1,7 @@
+# $FreeBSD$
+
+key=`printf '\r\t\001\200\300'`
+r=`{ set -x; : "$key"; } 2>&1 >/dev/null`
+case $r in
+*[![:print:]]*) echo fail; exit 3
+esac
Modified: projects/building-blocks/cddl/contrib/opensolaris/cmd/zdb/zdb.c
==============================================================================
--- projects/building-blocks/cddl/contrib/opensolaris/cmd/zdb/zdb.c Thu Dec 18 18:44:22 2014 (r275912)
+++ projects/building-blocks/cddl/contrib/opensolaris/cmd/zdb/zdb.c Thu Dec 18 18:46:08 2014 (r275913)
@@ -1184,7 +1184,7 @@ visit_indirect(spa_t *spa, const dnode_p
print_indirect(bp, zb, dnp);
if (BP_GET_LEVEL(bp) > 0 && !BP_IS_HOLE(bp)) {
- uint32_t flags = ARC_WAIT;
+ arc_flags_t flags = ARC_FLAG_WAIT;
int i;
blkptr_t *cbp;
int epb = BP_GET_LSIZE(bp) >> SPA_BLKPTRSHIFT;
@@ -1884,8 +1884,8 @@ dump_dir(objset_t *os)
if (dds.dds_type == DMU_OST_META) {
dds.dds_creation_txg = TXG_INITIAL;
usedobjs = BP_GET_FILL(os->os_rootbp);
- refdbytes = os->os_spa->spa_dsl_pool->
- dp_mos_dir->dd_phys->dd_used_bytes;
+ refdbytes = dsl_dir_phys(os->os_spa->spa_dsl_pool->dp_mos_dir)->
+ dd_used_bytes;
} else {
dmu_objset_space(os, &refdbytes, &scratch, &usedobjs, &scratch);
}
Modified: projects/building-blocks/cddl/contrib/opensolaris/cmd/zfs/zfs.8
==============================================================================
--- projects/building-blocks/cddl/contrib/opensolaris/cmd/zfs/zfs.8 Thu Dec 18 18:44:22 2014 (r275912)
+++ projects/building-blocks/cddl/contrib/opensolaris/cmd/zfs/zfs.8 Thu Dec 18 18:46:08 2014 (r275913)
@@ -23,15 +23,15 @@
.\" Copyright (c) 2012, Glen Barber <gjb at FreeBSD.org>
.\" Copyright (c) 2012, Bryan Drewery <bdrewery at FreeBSD.org>
.\" Copyright (c) 2013 by Saso Kiselkov. All rights reserved.
-.\" Copyright (c) 2013 Nexenta Systems, Inc. All Rights Reserved.
.\" Copyright (c) 2014, Joyent, Inc. All rights reserved.
.\" Copyright (c) 2013, Steven Hartland <smh at FreeBSD.org>
+.\" Copyright (c) 2014 Nexenta Systems, Inc. All Rights Reserved.
.\" Copyright (c) 2014, Xin LI <delphij at FreeBSD.org>
.\" Copyright (c) 2014, The FreeBSD Foundation, All Rights Reserved.
.\"
.\" $FreeBSD$
.\"
-.Dd November 12, 2014
+.Dd December 12, 2014
.Dt ZFS 8
.Os
.Sh NAME
@@ -3505,10 +3505,9 @@ are also displayed.
.Bd -literal -offset 2n
.Li # Ic zfs allow cindys create,destroy,mount,snapshot tank/cindys
.Li # Ic zfs allow tank/cindys
--------------------------------------------------------------
-Local+Descendent permissions on (tank/cindys)
- user cindys create,destroy,mount,snapshot
--------------------------------------------------------------
+---- Permissions on tank/cindys --------------------------------------
+Local+Descendent permissions:
+ user cindys create,destroy,mount,snapshot
.Ed
.It Sy Example 18 No Delegating Create Time Permissions on a Tn ZFS No Dataset
.Pp
@@ -3524,12 +3523,11 @@ are also displayed.
.Li # Ic zfs allow staff create,mount tank/users
.Li # Ic zfs allow -c destroy tank/users
.Li # Ic zfs allow tank/users
--------------------------------------------------------------
-Create time permissions on (tank/users)
- create,destroy
-Local+Descendent permissions on (tank/users)
- group staff create,mount
--------------------------------------------------------------
+---- Permissions on tank/users ---------------------------------------
+Permission sets:
+ destroy
+Local+Descendent permissions:
+ group staff create,mount
.Ed
.It Xo
.Sy Example 19
@@ -3547,14 +3545,11 @@ are also displayed.
.Li # Ic zfs allow -s @pset create,destroy,snapshot,mount tank/users
.Li # Ic zfs allow staff @pset tank/users
.Li # Ic zfs allow tank/users
--------------------------------------------------------------
-Permission sets on (tank/users)
+---- Permissions on tank/users ---------------------------------------
+Permission sets:
@pset create,destroy,mount,snapshot
-Create time permissions on (tank/users)
- create,destroy
-Local+Descendent permissions on (tank/users)
- group staff @pset,create,mount
--------------------------------------------------------------
+Local+Descendent permissions:
+ group staff @pset
.Ed
.It Sy Example 20 No Delegating Property Permissions on a Tn ZFS No Dataset
.Pp
@@ -3566,16 +3561,15 @@ file system. The permissions on
are also displayed.
.Bd -literal -offset 2n
.Li # Ic zfs allow cindys quota,reservation users/home
-.Li # Ic zfs allow cindys
--------------------------------------------------------------
-Local+Descendent permissions on (users/home)
+.Li # Ic zfs allow users/home
+---- Permissions on users/home ---------------------------------------
+Local+Descendent permissions:
user cindys quota,reservation
--------------------------------------------------------------
.Li # Ic su - cindys
.Li cindys% Ic zfs set quota=10G users/home/marks
.Li cindys% Ic zfs get quota users/home/marks
-NAME PROPERTY VALUE SOURCE
-users/home/marks quota 10G local
+NAME PROPERTY VALUE SOURCE
+users/home/marks quota 10G local
.Ed
.It Sy Example 21 No Removing ZFS Delegated Permissions on a Tn ZFS No Dataset
.Pp
@@ -3589,14 +3583,11 @@ are also displayed.
.Bd -literal -offset 2n
.Li # Ic zfs unallow staff snapshot tank/users
.Li # Ic zfs allow tank/users
--------------------------------------------------------------
-Permission sets on (tank/users)
+---- Permissions on tank/users ---------------------------------------
+Permission sets:
@pset create,destroy,mount,snapshot
-Create time permissions on (tank/users)
- create,destroy
-Local+Descendent permissions on (tank/users)
- group staff @pset,create,mount
--------------------------------------------------------------
+Local+Descendent permissions:
+ group staff @pset
.Ed
.It Sy Example 22 Showing the differences between a snapshot and a ZFS Dataset
.Pp
Modified: projects/building-blocks/cddl/contrib/opensolaris/lib/libdtrace/common/drti.c
==============================================================================
--- projects/building-blocks/cddl/contrib/opensolaris/lib/libdtrace/common/drti.c Thu Dec 18 18:44:22 2014 (r275912)
+++ projects/building-blocks/cddl/contrib/opensolaris/lib/libdtrace/common/drti.c Thu Dec 18 18:46:08 2014 (r275913)
@@ -110,7 +110,7 @@ dtrace_dof_init(void)
Elf32_Ehdr *elf;
#endif
dof_helper_t dh;
- Link_map *lmp;
+ Link_map *lmp = NULL;
#if defined(sun)
Lmid_t lmid;
#else
Modified: projects/building-blocks/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_iter.c
==============================================================================
--- projects/building-blocks/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_iter.c Thu Dec 18 18:44:22 2014 (r275912)
+++ projects/building-blocks/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_iter.c Thu Dec 18 18:46:08 2014 (r275913)
@@ -24,7 +24,7 @@
* Copyright (c) 2013 by Delphix. All rights reserved.
* Copyright (c) 2012 Pawel Jakub Dawidek <pawel at dawidek.net>.
* All rights reserved.
- * Copyright 2013 Nexenta Systems, Inc. All rights reserved.
+ * Copyright 2014 Nexenta Systems, Inc. All rights reserved.
*/
#include <stdio.h>
@@ -193,9 +193,6 @@ zfs_iter_bookmarks(zfs_handle_t *zhp, zf
fnvlist_add_boolean(props, zfs_prop_to_name(ZFS_PROP_CREATETXG));
fnvlist_add_boolean(props, zfs_prop_to_name(ZFS_PROP_CREATION));
- /* Allocate an nvlist to hold the bookmarks. */
- bmarks = fnvlist_alloc();
-
if ((err = lzc_get_bookmarks(zhp->zfs_name, props, &bmarks)) != 0)
goto out;
Modified: projects/building-blocks/contrib/binutils/bfd/ChangeLog
==============================================================================
--- projects/building-blocks/contrib/binutils/bfd/ChangeLog Thu Dec 18 18:44:22 2014 (r275912)
+++ projects/building-blocks/contrib/binutils/bfd/ChangeLog Thu Dec 18 18:46:08 2014 (r275913)
@@ -1,3 +1,49 @@
+2009-02-15 Alan Modra <amodra at bigpond.net.au>
+
+ * elf64-ppc.c (struct _ppc64_elf_section_data): Delete t_symndx,
+ add toc.symndx and toc.add.
+ (ppc64_elf_check_relocs): Don't set htab->tls_get_addr here.
+ Set up toc.add.
+ (get_tls_mask): Add toc_addend param, set from toc.add. Adjust all
+ callers.
+ (ppc64_elf_tls_setup): Set htab->tls_get_addr and tls_get_addr_fd.
+ (branch_reloc_hash_match): New function, extracted from..
+ (ppc64_elf_tls_optimize): ..here.
+ (ppc64_elf_relocate_section): Properly set addends when optimizing
+ tls sequences. Avoid unnecessary reading and writing of insns.
+ Only redo reloc when symbol changed. Bypass symbol checks when
+ using tlsld_got.
+ * elf32-ppc.c (ppc_elf_tls_setup): Correct comment.
+ (branch_reloc_hash_match): New function, extracted from..
+ (ppc_elf_tls_optimize): ..here.
+ (ppc_elf_relocate_section): Avoid unnecessary reading of insns.
+ Don't clear addend on zapped __tls_get_addr reloc.
+
+2008-08-11 Alan Modra <amodra at bigpond.net.au>
+
+ * elf64-ppc.c (toc_adjusting_stub_needed): Any call via the plt
+ needs r2 valid, not just those to external syms.
+
+2007-11-06 Alan Modra <amodra at bigpond.net.au>
+
+ * elf32-ppc.c (ppc_elf_check_relocs): Don't refcount tlsld_got here..
+ (ppc_elf_gc_sweep_hook): ..or here..
+ (ppc_elf_tls_optimize): ..or here. Make two passes through the
+ relocs, ensuring that tls_get_addr calls follow gd and ld relocs.
+ (allocate_dynrelocs): Refcount tlsld_got here.
+ (ppc_elf_size_dynamic_sections): Call allocate_dynrelocs before
+ allocating tlsld_got.
+ (ppc_elf_relocate_section): Remove check that a tls_get_addr
+ call follows gd and ld relocs.
+
+2007-08-13 Alan Modra <amodra at bigpond.net.au>
+
+ * elf64-ppc.c (ADDI_R12_R12, LD_R11_0R2, LD_R2_0R2): Define.
+ Update stub comments.
+ (build_plt_stub): Build two variants, one without "addis".
+ (ppc_build_one_stub): Build stubs without "addis" if possible.
+ (ppc_size_one_stub): Size new stubs.
+
2007-07-02 Joseph Myers <joseph at codesourcery.com>
* elfxx-mips.c (mips_elf_calculate_relocation): Handle
Modified: projects/building-blocks/contrib/binutils/bfd/bfd-in2.h
==============================================================================
--- projects/building-blocks/contrib/binutils/bfd/bfd-in2.h Thu Dec 18 18:44:22 2014 (r275912)
+++ projects/building-blocks/contrib/binutils/bfd/bfd-in2.h Thu Dec 18 18:46:08 2014 (r275913)
@@ -1380,6 +1380,9 @@ typedef struct bfd_section
/* Nonzero if this section has TLS related relocations. */
unsigned int has_tls_reloc:1;
+ /* Nonzero if this section has a call to __tls_get_addr. */
+ unsigned int has_tls_get_addr_call:1;
+
/* Nonzero if this section has a gp reloc. */
unsigned int has_gp_reloc:1;
@@ -1640,11 +1643,11 @@ extern asection bfd_ind_section;
/* segment_mark, sec_info_type, use_rela_p, has_tls_reloc, */ \
0, 0, 0, 0, \
\
- /* has_gp_reloc, need_finalize_relax, reloc_done, */ \
- 0, 0, 0, \
+ /* has_tls_get_addr_call, has_gp_reloc, need_finalize_relax, */ \
+ 0, 0, 0, \
\
- /* vma, lma, size, rawsize */ \
- 0, 0, 0, 0, \
+ /* reloc_done, vma, lma, size, rawsize */ \
+ 0, 0, 0, 0, 0, \
\
/* output_offset, output_section, alignment_power, */ \
0, (struct bfd_section *) &SEC, 0, \
@@ -2896,6 +2899,8 @@ in the instruction. */
/* PowerPC and PowerPC64 thread-local storage relocations. */
BFD_RELOC_PPC_TLS,
+ BFD_RELOC_PPC_TLSGD,
+ BFD_RELOC_PPC_TLSLD,
BFD_RELOC_PPC_DTPMOD,
BFD_RELOC_PPC_TPREL16,
BFD_RELOC_PPC_TPREL16_LO,
Modified: projects/building-blocks/contrib/binutils/bfd/ecoff.c
==============================================================================
--- projects/building-blocks/contrib/binutils/bfd/ecoff.c Thu Dec 18 18:44:22 2014 (r275912)
+++ projects/building-blocks/contrib/binutils/bfd/ecoff.c Thu Dec 18 18:46:08 2014 (r275913)
@@ -58,10 +58,10 @@ static asection bfd_debug_section =
0, 0, 1, 0,
/* segment_mark, sec_info_type, use_rela_p, has_tls_reloc, */
0, 0, 0, 0,
- /* has_gp_reloc, need_finalize_relax, reloc_done, */
- 0, 0, 0,
- /* vma, lma, size, rawsize, */
- 0, 0, 0, 0,
+ /* has_tls_get_addr_call, has_gp_reloc, need_finalize_relax, */
+ 0, 0, 0,
+ /* reloc_done, vma, lma, size, rawsize, */
+ 0, 0, 0, 0, 0,
/* output_offset, output_section, alignment_power, */
0, NULL, 0,
/* relocation, orelocation, reloc_count, filepos, rel_filepos, */
Modified: projects/building-blocks/contrib/binutils/bfd/elf32-ppc.c
==============================================================================
--- projects/building-blocks/contrib/binutils/bfd/elf32-ppc.c Thu Dec 18 18:44:22 2014 (r275912)
+++ projects/building-blocks/contrib/binutils/bfd/elf32-ppc.c Thu Dec 18 18:46:08 2014 (r275913)
@@ -746,7 +746,7 @@ static reloc_howto_type ppc_elf_howto_ra
0xffff, /* dst_mask */
FALSE), /* pcrel_offset */
- /* Marker reloc for TLS. */
+ /* Marker relocs for TLS. */
HOWTO (R_PPC_TLS,
0, /* rightshift */
2, /* size (0 = byte, 1 = short, 2 = long) */
@@ -761,6 +761,34 @@ static reloc_howto_type ppc_elf_howto_ra
0, /* dst_mask */
FALSE), /* pcrel_offset */
+ HOWTO (R_PPC_TLSGD,
+ 0, /* rightshift */
+ 2, /* size (0 = byte, 1 = short, 2 = long) */
+ 32, /* bitsize */
+ FALSE, /* pc_relative */
+ 0, /* bitpos */
+ complain_overflow_dont, /* complain_on_overflow */
+ bfd_elf_generic_reloc, /* special_function */
+ "R_PPC_TLSGD", /* name */
+ FALSE, /* partial_inplace */
+ 0, /* src_mask */
+ 0, /* dst_mask */
+ FALSE), /* pcrel_offset */
+
+ HOWTO (R_PPC_TLSLD,
+ 0, /* rightshift */
+ 2, /* size (0 = byte, 1 = short, 2 = long) */
+ 32, /* bitsize */
+ FALSE, /* pc_relative */
+ 0, /* bitpos */
+ complain_overflow_dont, /* complain_on_overflow */
+ bfd_elf_generic_reloc, /* special_function */
+ "R_PPC_TLSLD", /* name */
+ FALSE, /* partial_inplace */
+ 0, /* src_mask */
+ 0, /* dst_mask */
+ FALSE), /* pcrel_offset */
+
/* Computes the load module index of the load module that contains the
definition of its TLS sym. */
HOWTO (R_PPC_DTPMOD32,
@@ -1524,6 +1552,8 @@ ppc_elf_reloc_type_lookup (bfd *abfd ATT
case BFD_RELOC_CTOR: r = R_PPC_ADDR32; break;
case BFD_RELOC_PPC_TOC16: r = R_PPC_TOC16; break;
case BFD_RELOC_PPC_TLS: r = R_PPC_TLS; break;
+ case BFD_RELOC_PPC_TLSGD: r = R_PPC_TLSGD; break;
+ case BFD_RELOC_PPC_TLSLD: r = R_PPC_TLSLD; break;
case BFD_RELOC_PPC_DTPMOD: r = R_PPC_DTPMOD32; break;
case BFD_RELOC_PPC_TPREL16: r = R_PPC_TPREL16; break;
case BFD_RELOC_PPC_TPREL16_LO: r = R_PPC_TPREL16_LO; break;
@@ -2345,16 +2375,34 @@ struct plt_entry
bfd_vma glink_offset;
};
-/* Of those relocs that might be copied as dynamic relocs, this macro
+/* Of those relocs that might be copied as dynamic relocs, this function
selects those that must be copied when linking a shared library,
even when the symbol is local. */
-#define MUST_BE_DYN_RELOC(RTYPE) \
- ((RTYPE) != R_PPC_REL24 \
- && (RTYPE) != R_PPC_REL14 \
- && (RTYPE) != R_PPC_REL14_BRTAKEN \
- && (RTYPE) != R_PPC_REL14_BRNTAKEN \
- && (RTYPE) != R_PPC_REL32)
+static int
+must_be_dyn_reloc (struct bfd_link_info *info,
+ enum elf_ppc_reloc_type r_type)
+{
+ switch (r_type)
+ {
+ default:
+ return 1;
+
+ case R_PPC_REL24:
+ case R_PPC_REL14:
+ case R_PPC_REL14_BRTAKEN:
+ case R_PPC_REL14_BRNTAKEN:
+ case R_PPC_REL32:
+ return 0;
+
+ case R_PPC_TPREL32:
+ case R_PPC_TPREL16:
+ case R_PPC_TPREL16_LO:
+ case R_PPC_TPREL16_HI:
+ case R_PPC_TPREL16_HA:
+ return !info->executable;
+ }
+}
/* If ELIMINATE_COPY_RELOCS is non-zero, the linker will try to avoid
copying dynamic variables from a shared lib into an app's dynbss
@@ -2421,7 +2469,7 @@ struct ppc_elf_link_hash_table
/* The .got.plt section (VxWorks only)*/
asection *sgotplt;
- /* Shortcut to .__tls_get_addr. */
+ /* Shortcut to __tls_get_addr. */
struct elf_link_hash_entry *tls_get_addr;
/* The bfd that forced an old-style PLT. */
@@ -3040,6 +3088,7 @@ ppc_elf_check_relocs (bfd *abfd,
const Elf_Internal_Rela *rel;
const Elf_Internal_Rela *rel_end;
asection *got2, *sreloc;
+ struct elf_link_hash_entry *tga;
if (info->relocatable)
return TRUE;
@@ -3063,6 +3112,8 @@ ppc_elf_check_relocs (bfd *abfd,
ppc_elf_howto_init ();
htab = ppc_elf_hash_table (info);
+ tga = elf_link_hash_lookup (&htab->elf, "__tls_get_addr",
+ FALSE, FALSE, TRUE);
symtab_hdr = &elf_tdata (abfd)->symtab_hdr;
sym_hashes = elf_sym_hashes (abfd);
got2 = bfd_get_section_by_name (abfd, ".got2");
@@ -3074,7 +3125,7 @@ ppc_elf_check_relocs (bfd *abfd,
unsigned long r_symndx;
enum elf_ppc_reloc_type r_type;
struct elf_link_hash_entry *h;
- int tls_type = 0;
+ int tls_type;
r_symndx = ELF32_R_SYM (rel->r_info);
if (r_symndx < symtab_hdr->sh_info)
@@ -3101,14 +3152,48 @@ ppc_elf_check_relocs (bfd *abfd,
BFD_ASSERT (h == htab->elf.hgot);
}
+ tls_type = 0;
r_type = ELF32_R_TYPE (rel->r_info);
+ if (h != NULL && h == tga)
+ switch (r_type)
+ {
+ default:
+ break;
+
+ case R_PPC_PLTREL24:
+ case R_PPC_LOCAL24PC:
+ case R_PPC_REL24:
+ case R_PPC_REL14:
+ case R_PPC_REL14_BRTAKEN:
+ case R_PPC_REL14_BRNTAKEN:
+ case R_PPC_ADDR24:
+ case R_PPC_ADDR14:
+ case R_PPC_ADDR14_BRTAKEN:
+ case R_PPC_ADDR14_BRNTAKEN:
+ if (rel != relocs
+ && (ELF32_R_TYPE (rel[-1].r_info) == R_PPC_TLSGD
+ || ELF32_R_TYPE (rel[-1].r_info) == R_PPC_TLSLD))
+ /* We have a new-style __tls_get_addr call with a marker
+ reloc. */
+ ;
+ else
+ /* Mark this section as having an old-style call. */
+ sec->has_tls_get_addr_call = 1;
+ break;
+ }
+
switch (r_type)
{
+ case R_PPC_TLSGD:
+ case R_PPC_TLSLD:
+ /* These special tls relocs tie a call to __tls_get_addr with
+ its parameter symbol. */
+ break;
+
case R_PPC_GOT_TLSLD16:
case R_PPC_GOT_TLSLD16_LO:
case R_PPC_GOT_TLSLD16_HI:
case R_PPC_GOT_TLSLD16_HA:
- htab->tlsld_got.refcount += 1;
tls_type = TLS_TLS | TLS_LD;
goto dogottls;
@@ -3123,7 +3208,7 @@ ppc_elf_check_relocs (bfd *abfd,
case R_PPC_GOT_TPREL16_LO:
case R_PPC_GOT_TPREL16_HI:
case R_PPC_GOT_TPREL16_HA:
- if (info->shared)
+ if (!info->executable)
info->flags |= DF_STATIC_TLS;
tls_type = TLS_TLS | TLS_TPREL;
goto dogottls;
@@ -3358,7 +3443,7 @@ ppc_elf_check_relocs (bfd *abfd,
/* This refers only to functions defined in the shared library. */
case R_PPC_LOCAL24PC:
- if (h && h == htab->elf.hgot && htab->plt_type == PLT_UNSET)
+ if (h != NULL && h == htab->elf.hgot && htab->plt_type == PLT_UNSET)
{
htab->plt_type = PLT_OLD;
htab->old_bfd = abfd;
@@ -3381,7 +3466,11 @@ ppc_elf_check_relocs (bfd *abfd,
/* We shouldn't really be seeing these. */
case R_PPC_TPREL32:
- if (info->shared)
+ case R_PPC_TPREL16:
+ case R_PPC_TPREL16_LO:
+ case R_PPC_TPREL16_HI:
+ case R_PPC_TPREL16_HA:
+ if (!info->executable)
info->flags |= DF_STATIC_TLS;
goto dodyn;
@@ -3390,14 +3479,6 @@ ppc_elf_check_relocs (bfd *abfd,
case R_PPC_DTPREL32:
goto dodyn;
- case R_PPC_TPREL16:
- case R_PPC_TPREL16_LO:
- case R_PPC_TPREL16_HI:
- case R_PPC_TPREL16_HA:
- if (info->shared)
- info->flags |= DF_STATIC_TLS;
- goto dodyn;
-
case R_PPC_REL32:
if (h == NULL
&& got2 != NULL
@@ -3488,7 +3569,7 @@ ppc_elf_check_relocs (bfd *abfd,
dynamic library if we manage to avoid copy relocs for the
symbol. */
if ((info->shared
- && (MUST_BE_DYN_RELOC (r_type)
+ && (must_be_dyn_reloc (info, r_type)
|| (h != NULL
&& (! info->symbolic
|| h->root.type == bfd_link_hash_defweak
@@ -3583,7 +3664,7 @@ ppc_elf_check_relocs (bfd *abfd,
}
p->count += 1;
- if (!MUST_BE_DYN_RELOC (r_type))
+ if (!must_be_dyn_reloc (info, r_type))
p->pc_count += 1;
}
@@ -3903,9 +3984,6 @@ ppc_elf_gc_sweep_hook (bfd *abfd,
case R_PPC_GOT_TLSLD16_LO:
case R_PPC_GOT_TLSLD16_HI:
case R_PPC_GOT_TLSLD16_HA:
- htab->tlsld_got.refcount -= 1;
- /* Fall thru */
-
case R_PPC_GOT_TLSGD16:
case R_PPC_GOT_TLSGD16_LO:
case R_PPC_GOT_TLSGD16_HI:
@@ -3979,7 +4057,8 @@ ppc_elf_gc_sweep_hook (bfd *abfd,
return TRUE;
}
-/* Set htab->tls_get_addr and call the generic ELF tls_setup function. */
+/* Set plt output section type, htab->tls_get_addr, and call the
+ generic ELF tls_setup function. */
asection *
ppc_elf_tls_setup (bfd *obfd, struct bfd_link_info *info)
@@ -4000,6 +4079,43 @@ ppc_elf_tls_setup (bfd *obfd, struct bfd
return _bfd_elf_tls_setup (obfd, info);
}
+/* Return TRUE iff REL is a branch reloc with a global symbol matching
+ HASH. */
+
+static bfd_boolean
+branch_reloc_hash_match (const bfd *ibfd,
+ const Elf_Internal_Rela *rel,
+ const struct elf_link_hash_entry *hash)
+{
+ Elf_Internal_Shdr *symtab_hdr = &elf_tdata (ibfd)->symtab_hdr;
+ enum elf_ppc_reloc_type r_type = ELF32_R_TYPE (rel->r_info);
+ unsigned int r_symndx = ELF32_R_SYM (rel->r_info);
+
+ if (r_symndx >= symtab_hdr->sh_info
+ && (r_type == R_PPC_PLTREL24
+ || r_type == R_PPC_LOCAL24PC
+ || r_type == R_PPC_REL14
+ || r_type == R_PPC_REL14_BRTAKEN
+ || r_type == R_PPC_REL14_BRNTAKEN
+ || r_type == R_PPC_REL24
+ || r_type == R_PPC_ADDR24
+ || r_type == R_PPC_ADDR14
+ || r_type == R_PPC_ADDR14_BRTAKEN
+ || r_type == R_PPC_ADDR14_BRNTAKEN))
+ {
+ struct elf_link_hash_entry **sym_hashes = elf_sym_hashes (ibfd);
+ struct elf_link_hash_entry *h;
+
+ h = sym_hashes[r_symndx - symtab_hdr->sh_info];
+ while (h->root.type == bfd_link_hash_indirect
+ || h->root.type == bfd_link_hash_warning)
+ h = (struct elf_link_hash_entry *) h->root.u.i.link;
+ if (h == hash)
+ return TRUE;
+ }
+ return FALSE;
+}
+
/* Run through all the TLS relocs looking for optimization
opportunities. */
@@ -4010,187 +4126,204 @@ ppc_elf_tls_optimize (bfd *obfd ATTRIBUT
bfd *ibfd;
asection *sec;
struct ppc_elf_link_hash_table *htab;
+ int pass;
- if (info->relocatable || info->shared)
+ if (info->relocatable || !info->executable)
return TRUE;
htab = ppc_elf_hash_table (info);
- for (ibfd = info->input_bfds; ibfd != NULL; ibfd = ibfd->link_next)
- {
- Elf_Internal_Sym *locsyms = NULL;
- Elf_Internal_Shdr *symtab_hdr = &elf_tdata (ibfd)->symtab_hdr;
-
- for (sec = ibfd->sections; sec != NULL; sec = sec->next)
- if (sec->has_tls_reloc && !bfd_is_abs_section (sec->output_section))
- {
- Elf_Internal_Rela *relstart, *rel, *relend;
- int expecting_tls_get_addr;
+ /* Make two passes through the relocs. First time check that tls
+ relocs involved in setting up a tls_get_addr call are indeed
+ followed by such a call. If they are not, exclude them from
+ the optimizations done on the second pass. */
+ for (pass = 0; pass < 2; ++pass)
+ for (ibfd = info->input_bfds; ibfd != NULL; ibfd = ibfd->link_next)
+ {
+ Elf_Internal_Sym *locsyms = NULL;
+ Elf_Internal_Shdr *symtab_hdr = &elf_tdata (ibfd)->symtab_hdr;
- /* Read the relocations. */
- relstart = _bfd_elf_link_read_relocs (ibfd, sec, NULL, NULL,
- info->keep_memory);
- if (relstart == NULL)
- return FALSE;
+ for (sec = ibfd->sections; sec != NULL; sec = sec->next)
+ if (sec->has_tls_reloc && !bfd_is_abs_section (sec->output_section))
+ {
+ Elf_Internal_Rela *relstart, *rel, *relend;
- expecting_tls_get_addr = 0;
- relend = relstart + sec->reloc_count;
- for (rel = relstart; rel < relend; rel++)
- {
- enum elf_ppc_reloc_type r_type;
- unsigned long r_symndx;
- struct elf_link_hash_entry *h = NULL;
- char *tls_mask;
- char tls_set, tls_clear;
- bfd_boolean is_local;
+ /* Read the relocations. */
+ relstart = _bfd_elf_link_read_relocs (ibfd, sec, NULL, NULL,
+ info->keep_memory);
+ if (relstart == NULL)
+ return FALSE;
- r_symndx = ELF32_R_SYM (rel->r_info);
- if (r_symndx >= symtab_hdr->sh_info)
- {
- struct elf_link_hash_entry **sym_hashes;
+ relend = relstart + sec->reloc_count;
+ for (rel = relstart; rel < relend; rel++)
+ {
+ enum elf_ppc_reloc_type r_type;
+ unsigned long r_symndx;
+ struct elf_link_hash_entry *h = NULL;
+ char *tls_mask;
+ char tls_set, tls_clear;
+ bfd_boolean is_local;
+ int expecting_tls_get_addr;
+ bfd_signed_vma *got_count;
- sym_hashes = elf_sym_hashes (ibfd);
- h = sym_hashes[r_symndx - symtab_hdr->sh_info];
- while (h->root.type == bfd_link_hash_indirect
- || h->root.type == bfd_link_hash_warning)
- h = (struct elf_link_hash_entry *) h->root.u.i.link;
- }
+ r_symndx = ELF32_R_SYM (rel->r_info);
+ if (r_symndx >= symtab_hdr->sh_info)
+ {
+ struct elf_link_hash_entry **sym_hashes;
- is_local = FALSE;
- if (h == NULL
- || !h->def_dynamic)
- is_local = TRUE;
+ sym_hashes = elf_sym_hashes (ibfd);
+ h = sym_hashes[r_symndx - symtab_hdr->sh_info];
+ while (h->root.type == bfd_link_hash_indirect
+ || h->root.type == bfd_link_hash_warning)
+ h = (struct elf_link_hash_entry *) h->root.u.i.link;
+ }
- r_type = ELF32_R_TYPE (rel->r_info);
- switch (r_type)
- {
- case R_PPC_GOT_TLSLD16:
- case R_PPC_GOT_TLSLD16_LO:
- case R_PPC_GOT_TLSLD16_HI:
- case R_PPC_GOT_TLSLD16_HA:
- /* These relocs should never be against a symbol
- defined in a shared lib. Leave them alone if
- that turns out to be the case. */
- expecting_tls_get_addr = 0;
- htab->tlsld_got.refcount -= 1;
- if (!is_local)
- continue;
+ expecting_tls_get_addr = 0;
+ is_local = FALSE;
+ if (h == NULL
+ || !h->def_dynamic)
+ is_local = TRUE;
- /* LD -> LE */
- tls_set = 0;
- tls_clear = TLS_LD;
- expecting_tls_get_addr = 1;
- break;
+ r_type = ELF32_R_TYPE (rel->r_info);
+ switch (r_type)
+ {
+ case R_PPC_GOT_TLSLD16:
+ case R_PPC_GOT_TLSLD16_LO:
+ expecting_tls_get_addr = 1;
+ /* Fall thru */
+
+ case R_PPC_GOT_TLSLD16_HI:
+ case R_PPC_GOT_TLSLD16_HA:
+ /* These relocs should never be against a symbol
+ defined in a shared lib. Leave them alone if
+ that turns out to be the case. */
+ if (!is_local)
+ continue;
- case R_PPC_GOT_TLSGD16:
- case R_PPC_GOT_TLSGD16_LO:
- case R_PPC_GOT_TLSGD16_HI:
- case R_PPC_GOT_TLSGD16_HA:
- if (is_local)
- /* GD -> LE */
+ /* LD -> LE */
tls_set = 0;
- else
- /* GD -> IE */
- tls_set = TLS_TLS | TLS_TPRELGD;
- tls_clear = TLS_GD;
- expecting_tls_get_addr = 1;
- break;
+ tls_clear = TLS_LD;
+ break;
*** DIFF OUTPUT TRUNCATED AT 1000 LINES ***
More information about the svn-src-projects
mailing list