Date: Sat, 15 Jan 2011 00:23:57 +0000 (UTC) From: Dimitry Andric <dim@FreeBSD.org> To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r217434 - in projects/binutils-2.17: bin/sh contrib/binutils/ld/emultempl contrib/gcc/config/rs6000 contrib/top lib/csu/i386-elf lib/csu/powerpc lib/csu/powerpc64 lib/libc/powerpc/gen l... Message-ID: <201101150023.p0F0Nve7007048@svn.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: dim Date: Sat Jan 15 00:23:57 2011 New Revision: 217434 URL: http://svn.freebsd.org/changeset/base/217434 Log: Sync: merge r217376 through r217433 from ^/head. Modified: projects/binutils-2.17/bin/sh/trap.c projects/binutils-2.17/contrib/binutils/ld/emultempl/ppc64elf.em projects/binutils-2.17/contrib/gcc/config/rs6000/crtsavres.asm projects/binutils-2.17/contrib/gcc/config/rs6000/freebsd.h projects/binutils-2.17/contrib/gcc/config/rs6000/rs6000.c projects/binutils-2.17/contrib/gcc/config/rs6000/tramp.asm projects/binutils-2.17/lib/csu/i386-elf/crt1_s.S projects/binutils-2.17/lib/csu/powerpc/crti.S projects/binutils-2.17/lib/csu/powerpc/crtn.S projects/binutils-2.17/lib/csu/powerpc64/crti.S projects/binutils-2.17/lib/csu/powerpc64/crtn.S projects/binutils-2.17/lib/libc/powerpc/gen/_ctx_start.S projects/binutils-2.17/lib/libc/powerpc/gen/_setjmp.S projects/binutils-2.17/lib/libc/powerpc/gen/fabs.S projects/binutils-2.17/lib/libc/powerpc/gen/setjmp.S projects/binutils-2.17/lib/libc/powerpc/gen/sigsetjmp.S projects/binutils-2.17/lib/libc/powerpc/sys/brk.S projects/binutils-2.17/lib/libc/powerpc/sys/cerror.S projects/binutils-2.17/lib/libc/powerpc/sys/exect.S projects/binutils-2.17/lib/libc/powerpc/sys/pipe.S projects/binutils-2.17/lib/libc/powerpc/sys/ptrace.S projects/binutils-2.17/lib/libc/powerpc/sys/sbrk.S projects/binutils-2.17/lib/libc/powerpc/sys/setlogin.S projects/binutils-2.17/lib/libc/powerpc64/gen/_ctx_start.S projects/binutils-2.17/lib/libc/powerpc64/gen/_setjmp.S projects/binutils-2.17/lib/libc/powerpc64/gen/fabs.S projects/binutils-2.17/lib/libc/powerpc64/gen/setjmp.S projects/binutils-2.17/lib/libc/powerpc64/gen/sigsetjmp.S projects/binutils-2.17/lib/libc/powerpc64/sys/brk.S projects/binutils-2.17/lib/libc/powerpc64/sys/cerror.S projects/binutils-2.17/lib/libc/powerpc64/sys/exect.S projects/binutils-2.17/lib/libc/powerpc64/sys/pipe.S projects/binutils-2.17/lib/libc/powerpc64/sys/ptrace.S projects/binutils-2.17/lib/libc/powerpc64/sys/sbrk.S projects/binutils-2.17/lib/libc/powerpc64/sys/setlogin.S projects/binutils-2.17/lib/libcompiler_rt/Makefile projects/binutils-2.17/libexec/rtld-elf/powerpc/rtld_start.S projects/binutils-2.17/libexec/rtld-elf/powerpc64/rtld_start.S projects/binutils-2.17/release/amd64/boot_crunch.conf projects/binutils-2.17/release/i386/boot_crunch.conf projects/binutils-2.17/release/ia64/boot_crunch.conf projects/binutils-2.17/release/pc98/boot_crunch.conf projects/binutils-2.17/release/powerpc/boot_crunch.conf projects/binutils-2.17/release/sparc64/boot_crunch.conf projects/binutils-2.17/release/sun4v/boot_crunch.conf projects/binutils-2.17/sys/amd64/ia32/ia32_signal.c projects/binutils-2.17/sys/amd64/linux32/linux32_sysvec.c projects/binutils-2.17/sys/contrib/pf/net/pf_osfp.c projects/binutils-2.17/sys/dev/alc/if_alc.c projects/binutils-2.17/sys/dev/alc/if_alcvar.h projects/binutils-2.17/sys/dev/dc/dcphy.c projects/binutils-2.17/sys/dev/dc/pnphy.c projects/binutils-2.17/sys/dev/mii/atphy.c projects/binutils-2.17/sys/dev/mii/brgphy.c projects/binutils-2.17/sys/dev/mii/ciphy.c projects/binutils-2.17/sys/dev/mii/e1000phy.c projects/binutils-2.17/sys/dev/mii/ip1000phy.c projects/binutils-2.17/sys/dev/mii/jmphy.c projects/binutils-2.17/sys/dev/mii/mii_physubr.c projects/binutils-2.17/sys/dev/mii/rgephy.c projects/binutils-2.17/sys/dev/mii/xmphy.c projects/binutils-2.17/sys/dev/re/if_re.c projects/binutils-2.17/sys/fs/nfs/nfs_var.h projects/binutils-2.17/sys/fs/nfsserver/nfs_nfsdkrpc.c projects/binutils-2.17/sys/fs/nfsserver/nfs_nfsdport.c projects/binutils-2.17/sys/fs/nfsserver/nfs_nfsdstate.c projects/binutils-2.17/sys/kern/sched_4bsd.c projects/binutils-2.17/sys/kern/sched_ule.c projects/binutils-2.17/sys/kern/subr_sleepqueue.c projects/binutils-2.17/sys/nfs/nfs_nfssvc.c projects/binutils-2.17/sys/nfs/nfssvc.h projects/binutils-2.17/sys/powerpc/include/vmparam.h projects/binutils-2.17/sys/powerpc/powerpc/elf32_machdep.c projects/binutils-2.17/sys/powerpc/powerpc/elf64_machdep.c projects/binutils-2.17/sys/powerpc/powerpc/exec_machdep.c projects/binutils-2.17/sys/sys/priority.h projects/binutils-2.17/usr.bin/cpuset/cpuset.1 projects/binutils-2.17/usr.bin/cpuset/cpuset.c Directory Properties: projects/binutils-2.17/ (props changed) projects/binutils-2.17/cddl/contrib/opensolaris/ (props changed) projects/binutils-2.17/contrib/bind9/ (props changed) projects/binutils-2.17/contrib/binutils/ (props changed) projects/binutils-2.17/contrib/bzip2/ (props changed) projects/binutils-2.17/contrib/dialog/ (props changed) projects/binutils-2.17/contrib/ee/ (props changed) projects/binutils-2.17/contrib/expat/ (props changed) projects/binutils-2.17/contrib/file/ (props changed) projects/binutils-2.17/contrib/gdb/ (props changed) projects/binutils-2.17/contrib/gdtoa/ (props changed) projects/binutils-2.17/contrib/gnu-sort/ (props changed) projects/binutils-2.17/contrib/groff/ (props changed) projects/binutils-2.17/contrib/less/ (props changed) projects/binutils-2.17/contrib/libpcap/ (props changed) projects/binutils-2.17/contrib/llvm/ (props changed) projects/binutils-2.17/contrib/llvm/tools/clang/ (props changed) projects/binutils-2.17/contrib/ncurses/ (props changed) projects/binutils-2.17/contrib/netcat/ (props changed) projects/binutils-2.17/contrib/ntp/ (props changed) projects/binutils-2.17/contrib/one-true-awk/ (props changed) projects/binutils-2.17/contrib/openbsm/ (props changed) projects/binutils-2.17/contrib/openpam/ (props changed) projects/binutils-2.17/contrib/pf/ (props changed) projects/binutils-2.17/contrib/sendmail/ (props changed) projects/binutils-2.17/contrib/tcpdump/ (props changed) projects/binutils-2.17/contrib/tcsh/ (props changed) projects/binutils-2.17/contrib/top/ (props changed) projects/binutils-2.17/contrib/top/install-sh (props changed) projects/binutils-2.17/contrib/tzcode/stdtime/ (props changed) projects/binutils-2.17/contrib/tzcode/zic/ (props changed) projects/binutils-2.17/contrib/tzdata/ (props changed) projects/binutils-2.17/contrib/wpa/ (props changed) projects/binutils-2.17/contrib/xz/ (props changed) projects/binutils-2.17/crypto/openssh/ (props changed) projects/binutils-2.17/crypto/openssl/ (props changed) projects/binutils-2.17/lib/libc/ (props changed) projects/binutils-2.17/lib/libc/stdtime/ (props changed) projects/binutils-2.17/lib/libutil/ (props changed) projects/binutils-2.17/lib/libz/ (props changed) projects/binutils-2.17/sbin/ (props changed) projects/binutils-2.17/sbin/ipfw/ (props changed) projects/binutils-2.17/share/mk/bsd.arch.inc.mk (props changed) projects/binutils-2.17/share/zoneinfo/ (props changed) projects/binutils-2.17/sys/ (props changed) projects/binutils-2.17/sys/amd64/include/xen/ (props changed) projects/binutils-2.17/sys/cddl/contrib/opensolaris/ (props changed) projects/binutils-2.17/sys/contrib/dev/acpica/ (props changed) projects/binutils-2.17/sys/contrib/octeon-sdk/ (props changed) projects/binutils-2.17/sys/contrib/pf/ (props changed) projects/binutils-2.17/sys/contrib/x86emu/ (props changed) projects/binutils-2.17/usr.bin/calendar/ (props changed) projects/binutils-2.17/usr.bin/csup/ (props changed) projects/binutils-2.17/usr.bin/procstat/ (props changed) projects/binutils-2.17/usr.sbin/zic/ (props changed) Modified: projects/binutils-2.17/bin/sh/trap.c ============================================================================== --- projects/binutils-2.17/bin/sh/trap.c Sat Jan 15 00:12:51 2011 (r217433) +++ projects/binutils-2.17/bin/sh/trap.c Sat Jan 15 00:23:57 2011 (r217434) @@ -134,7 +134,7 @@ printsignals(void) outlen += 3; /* good enough */ } ++outlen; - if (outlen > 70 || n == sys_nsig - 1) { + if (outlen > 71 || n == sys_nsig - 1) { out1str("\n"); outlen = 0; } else { Modified: projects/binutils-2.17/contrib/binutils/ld/emultempl/ppc64elf.em ============================================================================== --- projects/binutils-2.17/contrib/binutils/ld/emultempl/ppc64elf.em Sat Jan 15 00:12:51 2011 (r217433) +++ projects/binutils-2.17/contrib/binutils/ld/emultempl/ppc64elf.em Sat Jan 15 00:23:57 2011 (r217434) @@ -72,6 +72,7 @@ ppc_create_output_section_statements (vo { extern const bfd_target bfd_elf64_powerpc_vec; extern const bfd_target bfd_elf64_powerpcle_vec; + asection *sect; if (link_info.hash->creator != &bfd_elf64_powerpc_vec && link_info.hash->creator != &bfd_elf64_powerpcle_vec) @@ -92,6 +93,8 @@ ppc_create_output_section_statements (vo return; } + if (bfd_get_section_by_name (stub_file->the_bfd, ".note.GNU-stack") == NULL) + sect = bfd_make_section (stub_file->the_bfd, ".note.GNU-stack"); stub_file->the_bfd->flags |= BFD_LINKER_CREATED; ldlang_add_file (stub_file); ppc64_elf_init_stub_bfd (stub_file->the_bfd, &link_info); Modified: projects/binutils-2.17/contrib/gcc/config/rs6000/crtsavres.asm ============================================================================== --- projects/binutils-2.17/contrib/gcc/config/rs6000/crtsavres.asm Sat Jan 15 00:12:51 2011 (r217433) +++ projects/binutils-2.17/contrib/gcc/config/rs6000/crtsavres.asm Sat Jan 15 00:23:57 2011 (r217434) @@ -305,3 +305,5 @@ FUNC_END(_restgpr_15_x) FUNC_END(_restgpr_14_x) #endif + + .section .note.GNU-stack,"",%progbits Modified: projects/binutils-2.17/contrib/gcc/config/rs6000/freebsd.h ============================================================================== --- projects/binutils-2.17/contrib/gcc/config/rs6000/freebsd.h Sat Jan 15 00:12:51 2011 (r217433) +++ projects/binutils-2.17/contrib/gcc/config/rs6000/freebsd.h Sat Jan 15 00:23:57 2011 (r217434) @@ -230,6 +230,8 @@ } #endif +#define TARGET_ASM_FILE_END rs6000_elf_end_indicate_exec_stack + /* FreeBSD doesn't support saving and restoring 64-bit regs with a 32-bit kernel. This is supported when running on a 64-bit kernel with COMPAT_FREEBSD32, but tell GCC it isn't so that our 32-bit binaries @@ -242,3 +244,5 @@ #define PROFILE_HOOK(LABEL) \ do { if (TARGET_64BIT) output_profile_hook (LABEL); } while (0) +#undef NEED_INDICATE_EXEC_STACK +#define NEED_INDICATE_EXEC_STACK 1 Modified: projects/binutils-2.17/contrib/gcc/config/rs6000/rs6000.c ============================================================================== --- projects/binutils-2.17/contrib/gcc/config/rs6000/rs6000.c Sat Jan 15 00:12:51 2011 (r217433) +++ projects/binutils-2.17/contrib/gcc/config/rs6000/rs6000.c Sat Jan 15 00:23:57 2011 (r217434) @@ -18426,7 +18426,7 @@ rs6000_elf_declare_function_name (FILE * static void rs6000_elf_end_indicate_exec_stack (void) { - if (TARGET_32BIT) + if (NEED_INDICATE_EXEC_STACK) file_end_indicate_exec_stack (); } #endif Modified: projects/binutils-2.17/contrib/gcc/config/rs6000/tramp.asm ============================================================================== --- projects/binutils-2.17/contrib/gcc/config/rs6000/tramp.asm Sat Jan 15 00:12:51 2011 (r217433) +++ projects/binutils-2.17/contrib/gcc/config/rs6000/tramp.asm Sat Jan 15 00:23:57 2011 (r217434) @@ -115,3 +115,5 @@ FUNC_START(__trampoline_setup) FUNC_END(__trampoline_setup) #endif + + .section .note.GNU-stack,"",%progbits Modified: projects/binutils-2.17/lib/csu/i386-elf/crt1_s.S ============================================================================== --- projects/binutils-2.17/lib/csu/i386-elf/crt1_s.S Sat Jan 15 00:12:51 2011 (r217433) +++ projects/binutils-2.17/lib/csu/i386-elf/crt1_s.S Sat Jan 15 00:23:57 2011 (r217434) @@ -42,6 +42,7 @@ _start: .cfi_def_cfa_register %ebp andl $0xfffffff0,%esp # align stack leal 8(%ebp),%eax + subl $4,%esp pushl %eax # argv pushl 4(%ebp) # argc pushl %edx # rtld cleanup Modified: projects/binutils-2.17/lib/csu/powerpc/crti.S ============================================================================== --- projects/binutils-2.17/lib/csu/powerpc/crti.S Sat Jan 15 00:12:51 2011 (r217433) +++ projects/binutils-2.17/lib/csu/powerpc/crti.S Sat Jan 15 00:23:57 2011 (r217434) @@ -47,3 +47,5 @@ _fini: stw 31,12(1) stw 0,20(1) mr 31,1 + + .section .note.GNU-stack,"",%progbits Modified: projects/binutils-2.17/lib/csu/powerpc/crtn.S ============================================================================== --- projects/binutils-2.17/lib/csu/powerpc/crtn.S Sat Jan 15 00:12:51 2011 (r217433) +++ projects/binutils-2.17/lib/csu/powerpc/crtn.S Sat Jan 15 00:23:57 2011 (r217434) @@ -42,3 +42,5 @@ __FBSDID("$FreeBSD$"); lwz 31,-4(11) mr 1,11 blr + + .section .note.GNU-stack,"",%progbits Modified: projects/binutils-2.17/lib/csu/powerpc64/crti.S ============================================================================== --- projects/binutils-2.17/lib/csu/powerpc64/crti.S Sat Jan 15 00:12:51 2011 (r217433) +++ projects/binutils-2.17/lib/csu/powerpc64/crti.S Sat Jan 15 00:23:57 2011 (r217434) @@ -59,3 +59,5 @@ _fini: stdu 1,-48(1) mflr 0 std 0,64(1) + + .section .note.GNU-stack,"",%progbits Modified: projects/binutils-2.17/lib/csu/powerpc64/crtn.S ============================================================================== --- projects/binutils-2.17/lib/csu/powerpc64/crtn.S Sat Jan 15 00:12:51 2011 (r217433) +++ projects/binutils-2.17/lib/csu/powerpc64/crtn.S Sat Jan 15 00:23:57 2011 (r217434) @@ -38,3 +38,5 @@ __FBSDID("$FreeBSD$"); ld 0,16(%r1) mtlr 0 blr + + .section .note.GNU-stack,"",%progbits Modified: projects/binutils-2.17/lib/libc/powerpc/gen/_ctx_start.S ============================================================================== --- projects/binutils-2.17/lib/libc/powerpc/gen/_ctx_start.S Sat Jan 15 00:12:51 2011 (r217433) +++ projects/binutils-2.17/lib/libc/powerpc/gen/_ctx_start.S Sat Jan 15 00:23:57 2011 (r217434) @@ -41,3 +41,5 @@ * above branch. */ bl PIC_PLT(CNAME(abort)) /* abort */ + + .section .note.GNU-stack,"",%progbits Modified: projects/binutils-2.17/lib/libc/powerpc/gen/_setjmp.S ============================================================================== --- projects/binutils-2.17/lib/libc/powerpc/gen/_setjmp.S Sat Jan 15 00:12:51 2011 (r217433) +++ projects/binutils-2.17/lib/libc/powerpc/gen/_setjmp.S Sat Jan 15 00:23:57 2011 (r217434) @@ -69,3 +69,5 @@ ENTRY(_longjmp) bnelr li %r3,1 blr + + .section .note.GNU-stack,"",%progbits Modified: projects/binutils-2.17/lib/libc/powerpc/gen/fabs.S ============================================================================== --- projects/binutils-2.17/lib/libc/powerpc/gen/fabs.S Sat Jan 15 00:12:51 2011 (r217433) +++ projects/binutils-2.17/lib/libc/powerpc/gen/fabs.S Sat Jan 15 00:23:57 2011 (r217434) @@ -33,3 +33,5 @@ __FBSDID("$FreeBSD$"); ENTRY(fabs) fabs %f1,%f1 blr + + .section .note.GNU-stack,"",%progbits Modified: projects/binutils-2.17/lib/libc/powerpc/gen/setjmp.S ============================================================================== --- projects/binutils-2.17/lib/libc/powerpc/gen/setjmp.S Sat Jan 15 00:12:51 2011 (r217433) +++ projects/binutils-2.17/lib/libc/powerpc/gen/setjmp.S Sat Jan 15 00:23:57 2011 (r217434) @@ -89,3 +89,4 @@ ENTRY(__longjmp) li %r3,1 blr + .section .note.GNU-stack,"",%progbits Modified: projects/binutils-2.17/lib/libc/powerpc/gen/sigsetjmp.S ============================================================================== --- projects/binutils-2.17/lib/libc/powerpc/gen/sigsetjmp.S Sat Jan 15 00:12:51 2011 (r217433) +++ projects/binutils-2.17/lib/libc/powerpc/gen/sigsetjmp.S Sat Jan 15 00:23:57 2011 (r217434) @@ -95,3 +95,5 @@ ENTRY(siglongjmp) bnelr li %r3,1 blr + + .section .note.GNU-stack,"",%progbits Modified: projects/binutils-2.17/lib/libc/powerpc/sys/brk.S ============================================================================== --- projects/binutils-2.17/lib/libc/powerpc/sys/brk.S Sat Jan 15 00:12:51 2011 (r217433) +++ projects/binutils-2.17/lib/libc/powerpc/sys/brk.S Sat Jan 15 00:23:57 2011 (r217434) @@ -71,3 +71,5 @@ ENTRY(brk) 1: b PIC_PLT(HIDENAME(cerror)) + + .section .note.GNU-stack,"",%progbits Modified: projects/binutils-2.17/lib/libc/powerpc/sys/cerror.S ============================================================================== --- projects/binutils-2.17/lib/libc/powerpc/sys/cerror.S Sat Jan 15 00:12:51 2011 (r217433) +++ projects/binutils-2.17/lib/libc/powerpc/sys/cerror.S Sat Jan 15 00:23:57 2011 (r217434) @@ -54,4 +54,4 @@ HIDENAME(cerror): li %r4,-1 blr /* return to callers caller */ - + .section .note.GNU-stack,"",%progbits Modified: projects/binutils-2.17/lib/libc/powerpc/sys/exect.S ============================================================================== --- projects/binutils-2.17/lib/libc/powerpc/sys/exect.S Sat Jan 15 00:12:51 2011 (r217433) +++ projects/binutils-2.17/lib/libc/powerpc/sys/exect.S Sat Jan 15 00:23:57 2011 (r217434) @@ -37,3 +37,5 @@ ENTRY(exect) blr 1: b PIC_PLT(HIDENAME(cerror)) + + .section .note.GNU-stack,"",%progbits Modified: projects/binutils-2.17/lib/libc/powerpc/sys/pipe.S ============================================================================== --- projects/binutils-2.17/lib/libc/powerpc/sys/pipe.S Sat Jan 15 00:12:51 2011 (r217433) +++ projects/binutils-2.17/lib/libc/powerpc/sys/pipe.S Sat Jan 15 00:23:57 2011 (r217434) @@ -41,3 +41,5 @@ ENTRY(pipe) blr /* and return 0 */ 1: b PIC_PLT(HIDENAME(cerror)) + + .section .note.GNU-stack,"",%progbits Modified: projects/binutils-2.17/lib/libc/powerpc/sys/ptrace.S ============================================================================== --- projects/binutils-2.17/lib/libc/powerpc/sys/ptrace.S Sat Jan 15 00:12:51 2011 (r217433) +++ projects/binutils-2.17/lib/libc/powerpc/sys/ptrace.S Sat Jan 15 00:23:57 2011 (r217434) @@ -56,3 +56,5 @@ ENTRY(ptrace) blr 1: b PIC_PLT(HIDENAME(cerror)) + + .section .note.GNU-stack,"",%progbits Modified: projects/binutils-2.17/lib/libc/powerpc/sys/sbrk.S ============================================================================== --- projects/binutils-2.17/lib/libc/powerpc/sys/sbrk.S Sat Jan 15 00:12:51 2011 (r217433) +++ projects/binutils-2.17/lib/libc/powerpc/sys/sbrk.S Sat Jan 15 00:23:57 2011 (r217434) @@ -68,3 +68,5 @@ ENTRY(sbrk) blr 2: b PIC_PLT(HIDENAME(cerror)) + + .section .note.GNU-stack,"",%progbits Modified: projects/binutils-2.17/lib/libc/powerpc/sys/setlogin.S ============================================================================== --- projects/binutils-2.17/lib/libc/powerpc/sys/setlogin.S Sat Jan 15 00:12:51 2011 (r217433) +++ projects/binutils-2.17/lib/libc/powerpc/sys/setlogin.S Sat Jan 15 00:23:57 2011 (r217434) @@ -47,3 +47,5 @@ SYSCALL(setlogin) stw %r5,CNAME(_logname_valid)@l(%r4) #endif blr + + .section .note.GNU-stack,"",%progbits Modified: projects/binutils-2.17/lib/libc/powerpc64/gen/_ctx_start.S ============================================================================== --- projects/binutils-2.17/lib/libc/powerpc64/gen/_ctx_start.S Sat Jan 15 00:12:51 2011 (r217433) +++ projects/binutils-2.17/lib/libc/powerpc64/gen/_ctx_start.S Sat Jan 15 00:23:57 2011 (r217434) @@ -45,3 +45,5 @@ */ nop bl PIC_PLT(CNAME(abort)) /* abort */ + + .section .note.GNU-stack,"",%progbits Modified: projects/binutils-2.17/lib/libc/powerpc64/gen/_setjmp.S ============================================================================== --- projects/binutils-2.17/lib/libc/powerpc64/gen/_setjmp.S Sat Jan 15 00:12:51 2011 (r217433) +++ projects/binutils-2.17/lib/libc/powerpc64/gen/_setjmp.S Sat Jan 15 00:23:57 2011 (r217434) @@ -114,3 +114,5 @@ ENTRY(_longjmp) bnelr li %r3,1 blr + + .section .note.GNU-stack,"",%progbits Modified: projects/binutils-2.17/lib/libc/powerpc64/gen/fabs.S ============================================================================== --- projects/binutils-2.17/lib/libc/powerpc64/gen/fabs.S Sat Jan 15 00:12:51 2011 (r217433) +++ projects/binutils-2.17/lib/libc/powerpc64/gen/fabs.S Sat Jan 15 00:23:57 2011 (r217434) @@ -33,3 +33,5 @@ __FBSDID("$FreeBSD$"); ENTRY(fabs) fabs %f1,%f1 blr + + .section .note.GNU-stack,"",%progbits Modified: projects/binutils-2.17/lib/libc/powerpc64/gen/setjmp.S ============================================================================== --- projects/binutils-2.17/lib/libc/powerpc64/gen/setjmp.S Sat Jan 15 00:12:51 2011 (r217433) +++ projects/binutils-2.17/lib/libc/powerpc64/gen/setjmp.S Sat Jan 15 00:23:57 2011 (r217434) @@ -137,3 +137,4 @@ ENTRY(__longjmp) li %r3,1 blr + .section .note.GNU-stack,"",%progbits Modified: projects/binutils-2.17/lib/libc/powerpc64/gen/sigsetjmp.S ============================================================================== --- projects/binutils-2.17/lib/libc/powerpc64/gen/sigsetjmp.S Sat Jan 15 00:12:51 2011 (r217433) +++ projects/binutils-2.17/lib/libc/powerpc64/gen/sigsetjmp.S Sat Jan 15 00:23:57 2011 (r217434) @@ -142,3 +142,5 @@ ENTRY(siglongjmp) bnelr li %r3,1 blr + + .section .note.GNU-stack,"",%progbits Modified: projects/binutils-2.17/lib/libc/powerpc64/sys/brk.S ============================================================================== --- projects/binutils-2.17/lib/libc/powerpc64/sys/brk.S Sat Jan 15 00:12:51 2011 (r217433) +++ projects/binutils-2.17/lib/libc/powerpc64/sys/brk.S Sat Jan 15 00:23:57 2011 (r217434) @@ -69,3 +69,5 @@ ENTRY(brk) ld %r0,16(%r1) mtlr %r0 blr + + .section .note.GNU-stack,"",%progbits Modified: projects/binutils-2.17/lib/libc/powerpc64/sys/cerror.S ============================================================================== --- projects/binutils-2.17/lib/libc/powerpc64/sys/cerror.S Sat Jan 15 00:12:51 2011 (r217433) +++ projects/binutils-2.17/lib/libc/powerpc64/sys/cerror.S Sat Jan 15 00:23:57 2011 (r217434) @@ -57,4 +57,4 @@ ENTRY(HIDENAME(cerror)) li %r4,-1 blr - + .section .note.GNU-stack,"",%progbits Modified: projects/binutils-2.17/lib/libc/powerpc64/sys/exect.S ============================================================================== --- projects/binutils-2.17/lib/libc/powerpc64/sys/exect.S Sat Jan 15 00:12:51 2011 (r217433) +++ projects/binutils-2.17/lib/libc/powerpc64/sys/exect.S Sat Jan 15 00:23:57 2011 (r217434) @@ -45,3 +45,5 @@ ENTRY(exect) ld %r0,16(%r1) mtlr %r0 blr + + .section .note.GNU-stack,"",%progbits Modified: projects/binutils-2.17/lib/libc/powerpc64/sys/pipe.S ============================================================================== --- projects/binutils-2.17/lib/libc/powerpc64/sys/pipe.S Sat Jan 15 00:12:51 2011 (r217433) +++ projects/binutils-2.17/lib/libc/powerpc64/sys/pipe.S Sat Jan 15 00:23:57 2011 (r217434) @@ -49,3 +49,5 @@ ENTRY(pipe) ld %r0,16(%r1) mtlr %r0 blr + + .section .note.GNU-stack,"",%progbits Modified: projects/binutils-2.17/lib/libc/powerpc64/sys/ptrace.S ============================================================================== --- projects/binutils-2.17/lib/libc/powerpc64/sys/ptrace.S Sat Jan 15 00:12:51 2011 (r217433) +++ projects/binutils-2.17/lib/libc/powerpc64/sys/ptrace.S Sat Jan 15 00:23:57 2011 (r217434) @@ -63,3 +63,5 @@ ENTRY(ptrace) ld %r0,16(%r1) mtlr %r0 blr + + .section .note.GNU-stack,"",%progbits Modified: projects/binutils-2.17/lib/libc/powerpc64/sys/sbrk.S ============================================================================== --- projects/binutils-2.17/lib/libc/powerpc64/sys/sbrk.S Sat Jan 15 00:12:51 2011 (r217433) +++ projects/binutils-2.17/lib/libc/powerpc64/sys/sbrk.S Sat Jan 15 00:23:57 2011 (r217434) @@ -64,3 +64,5 @@ ENTRY(sbrk) ld %r0,16(%r1) mtlr %r0 blr + + .section .note.GNU-stack,"",%progbits Modified: projects/binutils-2.17/lib/libc/powerpc64/sys/setlogin.S ============================================================================== --- projects/binutils-2.17/lib/libc/powerpc64/sys/setlogin.S Sat Jan 15 00:12:51 2011 (r217433) +++ projects/binutils-2.17/lib/libc/powerpc64/sys/setlogin.S Sat Jan 15 00:23:57 2011 (r217434) @@ -37,3 +37,5 @@ SYSCALL(setlogin) li %r5,0 stw %r5,CNAME(_logname_valid)@toc@l(%r4) blr + + .section .note.GNU-stack,"",%progbits Modified: projects/binutils-2.17/lib/libcompiler_rt/Makefile ============================================================================== --- projects/binutils-2.17/lib/libcompiler_rt/Makefile Sat Jan 15 00:12:51 2011 (r217433) +++ projects/binutils-2.17/lib/libcompiler_rt/Makefile Sat Jan 15 00:23:57 2011 (r217434) @@ -156,7 +156,8 @@ SYMLINKS+=libcompiler_rt_p.a ${LIBDIR}/l . endif .endif -.if ${MACHINE_CPUARCH} == "amd64" || ${MACHINE_CPUARCH} == "i386" +.if ${MACHINE_CPUARCH} == "amd64" || ${MACHINE_CPUARCH} == "i386" || \ + ${MACHINE_CPUARCH} == "powerpc" AFLAGS+=--noexecstack ACFLAGS+=-Wa,--noexecstack .endif Modified: projects/binutils-2.17/libexec/rtld-elf/powerpc/rtld_start.S ============================================================================== --- projects/binutils-2.17/libexec/rtld-elf/powerpc/rtld_start.S Sat Jan 15 00:12:51 2011 (r217433) +++ projects/binutils-2.17/libexec/rtld-elf/powerpc/rtld_start.S Sat Jan 15 00:23:57 2011 (r217434) @@ -197,4 +197,4 @@ _ENTRY(_rtld_powerpc_pltcall) mtctr %r11 bctr # (*jmptab[index])() - + .section .note.GNU-stack,"",%progbits Modified: projects/binutils-2.17/libexec/rtld-elf/powerpc64/rtld_start.S ============================================================================== --- projects/binutils-2.17/libexec/rtld-elf/powerpc64/rtld_start.S Sat Jan 15 00:12:51 2011 (r217433) +++ projects/binutils-2.17/libexec/rtld-elf/powerpc64/rtld_start.S Sat Jan 15 00:23:57 2011 (r217434) @@ -159,3 +159,4 @@ _ENTRY(_rtld_bind_start) bctr # jump to target + .section .note.GNU-stack,"",%progbits Modified: projects/binutils-2.17/release/amd64/boot_crunch.conf ============================================================================== --- projects/binutils-2.17/release/amd64/boot_crunch.conf Sat Jan 15 00:12:51 2011 (r217433) +++ projects/binutils-2.17/release/amd64/boot_crunch.conf Sat Jan 15 00:23:57 2011 (r217434) @@ -40,5 +40,5 @@ progs sysinstall progs usbconfig libs -ll -ledit -lutil -lmd -lcrypt -lftpio -lz -lnetgraph -libs -ldialog -lncurses -ldisk -lcam -lsbuf -lufs -ldevinfo +libs -lodialog -lncurses -ldisk -lcam -lsbuf -lufs -ldevinfo libs -lbsdxml -larchive -lcrypto -lbz2 -llzma -lusb -ljail Modified: projects/binutils-2.17/release/i386/boot_crunch.conf ============================================================================== --- projects/binutils-2.17/release/i386/boot_crunch.conf Sat Jan 15 00:12:51 2011 (r217433) +++ projects/binutils-2.17/release/i386/boot_crunch.conf Sat Jan 15 00:23:57 2011 (r217434) @@ -40,5 +40,5 @@ progs sysinstall progs usbconfig libs -ll -ledit -lutil -lmd -lcrypt -lftpio -lz -lnetgraph -libs -ldialog -lncurses -ldisk -lcam -lsbuf -lufs -ldevinfo +libs -lodialog -lncurses -ldisk -lcam -lsbuf -lufs -ldevinfo libs -lbsdxml -larchive -lcrypto -lbz2 -llzma -lusb -ljail Modified: projects/binutils-2.17/release/ia64/boot_crunch.conf ============================================================================== --- projects/binutils-2.17/release/ia64/boot_crunch.conf Sat Jan 15 00:12:51 2011 (r217433) +++ projects/binutils-2.17/release/ia64/boot_crunch.conf Sat Jan 15 00:23:57 2011 (r217434) @@ -45,5 +45,5 @@ progs sysinstall progs usbconfig libs -ll -ledit -lutil -lmd -lcrypt -lftpio -lz -lnetgraph -libs -ldialog -lncurses -ldisk -lcam -lkiconv -lsbuf -lufs -ldevinfo +libs -lodialog -lncurses -ldisk -lcam -lkiconv -lsbuf -lufs -ldevinfo libs -lgeom -lbsdxml -larchive -lcrypto -lbz2 -llzma -lusb -ljail Modified: projects/binutils-2.17/release/pc98/boot_crunch.conf ============================================================================== --- projects/binutils-2.17/release/pc98/boot_crunch.conf Sat Jan 15 00:12:51 2011 (r217433) +++ projects/binutils-2.17/release/pc98/boot_crunch.conf Sat Jan 15 00:23:57 2011 (r217434) @@ -39,5 +39,5 @@ progs ppp progs sysinstall libs -ll -ledit -lutil -lmd -lcrypt -lftpio -lz -lnetgraph -libs -ldialog -lncurses -ldisk -lcam -lsbuf -lufs -lbsdxml +libs -lodialog -lncurses -ldisk -lcam -lsbuf -lufs -lbsdxml libs -larchive -lcrypto -lbz2 -llzma -ljail Modified: projects/binutils-2.17/release/powerpc/boot_crunch.conf ============================================================================== --- projects/binutils-2.17/release/powerpc/boot_crunch.conf Sat Jan 15 00:12:51 2011 (r217433) +++ projects/binutils-2.17/release/powerpc/boot_crunch.conf Sat Jan 15 00:23:57 2011 (r217434) @@ -45,5 +45,5 @@ progs sysinstall progs usbconfig libs -ll -ledit -lutil -lmd -lcrypt -lftpio -lz -lnetgraph -libs -ldialog -lncurses -ldisk -lcam -lkiconv -lsbuf -lufs +libs -lodialog -lncurses -ldisk -lcam -lkiconv -lsbuf -lufs libs -lgeom -lbsdxml -larchive -lcrypto -lbz2 -llzma -lusb -ljail Modified: projects/binutils-2.17/release/sparc64/boot_crunch.conf ============================================================================== --- projects/binutils-2.17/release/sparc64/boot_crunch.conf Sat Jan 15 00:12:51 2011 (r217433) +++ projects/binutils-2.17/release/sparc64/boot_crunch.conf Sat Jan 15 00:23:57 2011 (r217434) @@ -43,5 +43,5 @@ progs sysinstall progs usbconfig libs -ll -ledit -lutil -lmd -lcrypt -lftpio -lz -lnetgraph -libs -ldialog -lncurses -ldisk -lcam -lsbuf -lufs -lgeom -lbsdxml +libs -lodialog -lncurses -ldisk -lcam -lsbuf -lufs -lgeom -lbsdxml libs -larchive -lcrypto -lbz2 -llzma -lusb -ljail Modified: projects/binutils-2.17/release/sun4v/boot_crunch.conf ============================================================================== --- projects/binutils-2.17/release/sun4v/boot_crunch.conf Sat Jan 15 00:12:51 2011 (r217433) +++ projects/binutils-2.17/release/sun4v/boot_crunch.conf Sat Jan 15 00:23:57 2011 (r217434) @@ -40,5 +40,5 @@ progs sysinstall progs usbconfig libs -ll -ledit -lutil -lmd -lcrypt -lftpio -lz -lnetgraph -libs -ldialog -lncurses -ldisk -lcam -lsbuf -lufs -lbsdxml +libs -lodialog -lncurses -ldisk -lcam -lsbuf -lufs -lbsdxml libs -larchive -lcrypto -lbz2 -llzma -lusb -ljail Modified: projects/binutils-2.17/sys/amd64/ia32/ia32_signal.c ============================================================================== --- projects/binutils-2.17/sys/amd64/ia32/ia32_signal.c Sat Jan 15 00:12:51 2011 (r217433) +++ projects/binutils-2.17/sys/amd64/ia32/ia32_signal.c Sat Jan 15 00:23:57 2011 (r217434) @@ -741,7 +741,6 @@ ia32_setregs(struct thread *td, struct i regs->tf_gs = _ugssel; regs->tf_flags = TF_HASSEGS; - load_cr0(rcr0() | CR0_MP | CR0_TS); fpstate_drop(td); /* Return via doreti so that we can change to a different %cs */ Modified: projects/binutils-2.17/sys/amd64/linux32/linux32_sysvec.c ============================================================================== --- projects/binutils-2.17/sys/amd64/linux32/linux32_sysvec.c Sat Jan 15 00:12:51 2011 (r217433) +++ projects/binutils-2.17/sys/amd64/linux32/linux32_sysvec.c Sat Jan 15 00:23:57 2011 (r217434) @@ -865,7 +865,7 @@ exec_linux_setregs(struct thread *td, st regs->tf_flags = TF_HASSEGS; regs->tf_cs = _ucode32sel; regs->tf_rbx = imgp->ps_strings; - load_cr0(rcr0() | CR0_MP | CR0_TS); + fpstate_drop(td); /* Do full restore on return so that we can change to a different %cs */ Modified: projects/binutils-2.17/sys/contrib/pf/net/pf_osfp.c ============================================================================== --- projects/binutils-2.17/sys/contrib/pf/net/pf_osfp.c Sat Jan 15 00:12:51 2011 (r217433) +++ projects/binutils-2.17/sys/contrib/pf/net/pf_osfp.c Sat Jan 15 00:23:57 2011 (r217434) @@ -601,7 +601,7 @@ pf_osfp_validate(void) if (find.fp_mss == 0) find.fp_mss = 128; if (f->fp_flags & PF_OSFP_WSIZE_MSS) - find.fp_wsize *= find.fp_mss, 1; + find.fp_wsize *= find.fp_mss; else if (f->fp_flags & PF_OSFP_WSIZE_MTU) find.fp_wsize *= (find.fp_mss + 40); else if (f->fp_flags & PF_OSFP_WSIZE_MOD) Modified: projects/binutils-2.17/sys/dev/alc/if_alc.c ============================================================================== --- projects/binutils-2.17/sys/dev/alc/if_alc.c Sat Jan 15 00:12:51 2011 (r217433) +++ projects/binutils-2.17/sys/dev/alc/if_alc.c Sat Jan 15 00:23:57 2011 (r217434) @@ -1052,13 +1052,12 @@ alc_detach(device_t dev) ifp = sc->alc_ifp; if (device_is_attached(dev)) { + ether_ifdetach(ifp); ALC_LOCK(sc); - sc->alc_flags |= ALC_FLAG_DETACH; alc_stop(sc); ALC_UNLOCK(sc); callout_drain(&sc->alc_tick_ch); taskqueue_drain(sc->alc_tq, &sc->alc_int_task); - ether_ifdetach(ifp); } if (sc->alc_tq != NULL) { @@ -2368,7 +2367,7 @@ alc_ioctl(struct ifnet *ifp, u_long cmd, ((ifp->if_flags ^ sc->alc_if_flags) & (IFF_PROMISC | IFF_ALLMULTI)) != 0) alc_rxfilter(sc); - else if ((sc->alc_flags & ALC_FLAG_DETACH) == 0) + else alc_init_locked(sc); } else if ((ifp->if_drv_flags & IFF_DRV_RUNNING) != 0) alc_stop(sc); @@ -2663,6 +2662,7 @@ alc_int_task(void *arg, int pending) ifp = sc->alc_ifp; status = CSR_READ_4(sc, ALC_INTR_STATUS); + ALC_LOCK(sc); if (sc->alc_morework != 0) { sc->alc_morework = 0; status |= INTR_RX_PKT; @@ -2680,7 +2680,6 @@ alc_int_task(void *arg, int pending) if (more == EAGAIN) sc->alc_morework = 1; else if (more == EIO) { - ALC_LOCK(sc); ifp->if_drv_flags &= ~IFF_DRV_RUNNING; alc_init_locked(sc); ALC_UNLOCK(sc); @@ -2698,7 +2697,6 @@ alc_int_task(void *arg, int pending) if ((status & INTR_TXQ_TO_RST) != 0) device_printf(sc->alc_dev, "TxQ reset! -- resetting\n"); - ALC_LOCK(sc); ifp->if_drv_flags &= ~IFF_DRV_RUNNING; alc_init_locked(sc); ALC_UNLOCK(sc); @@ -2706,11 +2704,12 @@ alc_int_task(void *arg, int pending) } if ((ifp->if_drv_flags & IFF_DRV_RUNNING) != 0 && !IFQ_DRV_IS_EMPTY(&ifp->if_snd)) - alc_start(ifp); + alc_start_locked(ifp); } if (more == EAGAIN || (CSR_READ_4(sc, ALC_INTR_STATUS) & ALC_INTRS) != 0) { + ALC_UNLOCK(sc); taskqueue_enqueue(sc->alc_tq, &sc->alc_int_task); return; } @@ -2720,6 +2719,7 @@ done: /* Re-enable interrupts if we're running. */ CSR_WRITE_4(sc, ALC_INTR_STATUS, 0x7FFFFFFF); } + ALC_UNLOCK(sc); } static void @@ -3039,7 +3039,9 @@ alc_rxeof(struct alc_softc *sc, struct r #endif { /* Pass it on. */ + ALC_UNLOCK(sc); (*ifp->if_input)(ifp, m); + ALC_LOCK(sc); } } } Modified: projects/binutils-2.17/sys/dev/alc/if_alcvar.h ============================================================================== --- projects/binutils-2.17/sys/dev/alc/if_alcvar.h Sat Jan 15 00:12:51 2011 (r217433) +++ projects/binutils-2.17/sys/dev/alc/if_alcvar.h Sat Jan 15 00:23:57 2011 (r217434) @@ -230,7 +230,6 @@ struct alc_softc { #define ALC_FLAG_L0S 0x0400 #define ALC_FLAG_L1S 0x0800 #define ALC_FLAG_APS 0x1000 -#define ALC_FLAG_DETACH 0x4000 #define ALC_FLAG_LINK 0x8000 struct callout alc_tick_ch; Modified: projects/binutils-2.17/sys/dev/dc/dcphy.c ============================================================================== --- projects/binutils-2.17/sys/dev/dc/dcphy.c Sat Jan 15 00:12:51 2011 (r217433) +++ projects/binutils-2.17/sys/dev/dc/dcphy.c Sat Jan 15 00:23:57 2011 (r217434) @@ -222,17 +222,12 @@ dcphy_service(struct mii_softc *sc, stru /*dcphy_reset(sc);*/ (void) dcphy_auto(sc); break; - case IFM_100_T4: - /* - * XXX Not supported as a manual setting right now. - */ - return (EINVAL); case IFM_100_TX: dcphy_reset(sc); DC_CLRBIT(dc_sc, DC_10BTCTRL, DC_TCTL_AUTONEGENBL); mode |= DC_NETCFG_PORTSEL | DC_NETCFG_PCS | DC_NETCFG_SCRAMBLER; - if ((ife->ifm_media & IFM_GMASK) == IFM_FDX) + if ((ife->ifm_media & IFM_FDX) != 0) mode |= DC_NETCFG_FULLDUPLEX; else mode &= ~DC_NETCFG_FULLDUPLEX; @@ -241,7 +236,7 @@ dcphy_service(struct mii_softc *sc, stru case IFM_10_T: DC_CLRBIT(dc_sc, DC_SIARESET, DC_SIA_RESET); DC_CLRBIT(dc_sc, DC_10BTCTRL, 0xFFFF); - if ((ife->ifm_media & IFM_GMASK) == IFM_FDX) + if ((ife->ifm_media & IFM_FDX) != 0) DC_SETBIT(dc_sc, DC_10BTCTRL, 0x7F3D); else DC_SETBIT(dc_sc, DC_10BTCTRL, 0x7F3F); @@ -249,7 +244,7 @@ dcphy_service(struct mii_softc *sc, stru DC_CLRBIT(dc_sc, DC_10BTCTRL, DC_TCTL_AUTONEGENBL); mode &= ~DC_NETCFG_PORTSEL; mode |= DC_NETCFG_SPEEDSEL; - if ((ife->ifm_media & IFM_GMASK) == IFM_FDX) + if ((ife->ifm_media & IFM_FDX) != 0) mode |= DC_NETCFG_FULLDUPLEX; else mode &= ~DC_NETCFG_FULLDUPLEX; Modified: projects/binutils-2.17/sys/dev/dc/pnphy.c ============================================================================== --- projects/binutils-2.17/sys/dev/dc/pnphy.c Sat Jan 15 00:12:51 2011 (r217433) +++ projects/binutils-2.17/sys/dev/dc/pnphy.c Sat Jan 15 00:23:57 2011 (r217434) @@ -66,14 +66,6 @@ __FBSDID("$FreeBSD$"); #include "miibus_if.h" -#define DC_SETBIT(sc, reg, x) \ - CSR_WRITE_4(sc, reg, \ - CSR_READ_4(sc, reg) | x) - -#define DC_CLRBIT(sc, reg, x) \ - CSR_WRITE_4(sc, reg, \ - CSR_READ_4(sc, reg) & ~x) - static int pnphy_probe(device_t); static int pnphy_attach(device_t); @@ -170,23 +162,19 @@ pnphy_service(struct mii_softc *sc, stru if ((mii->mii_ifp->if_flags & IFF_UP) == 0) break; + /* + * Note that auto-negotiation is broken on this chip. + */ switch (IFM_SUBTYPE(ife->ifm_media)) { - case IFM_AUTO: - /* NWAY is busted on this chip */ - case IFM_100_T4: - /* - * XXX Not supported as a manual setting right now. - */ - return (EINVAL); case IFM_100_TX: mii->mii_media_active = IFM_ETHER | IFM_100_TX; - if ((ife->ifm_media & IFM_GMASK) == IFM_FDX) + if ((ife->ifm_media & IFM_FDX) != 0) mii->mii_media_active |= IFM_FDX; MIIBUS_STATCHG(sc->mii_dev); return (0); case IFM_10_T: mii->mii_media_active = IFM_ETHER | IFM_10_T; - if ((ife->ifm_media & IFM_GMASK) == IFM_FDX) + if ((ife->ifm_media & IFM_FDX) != 0) mii->mii_media_active |= IFM_FDX; MIIBUS_STATCHG(sc->mii_dev); return (0); @@ -226,15 +214,14 @@ pnphy_status(struct mii_softc *sc) mii->mii_media_active = IFM_ETHER; reg = CSR_READ_4(dc_sc, DC_ISR); - if (!(reg & DC_ISR_LINKFAIL)) mii->mii_media_status |= IFM_ACTIVE; - - if (CSR_READ_4(dc_sc, DC_NETCFG) & DC_NETCFG_SPEEDSEL) + reg = CSR_READ_4(dc_sc, DC_NETCFG); + if (reg & DC_NETCFG_SPEEDSEL) mii->mii_media_active |= IFM_10_T; else mii->mii_media_active |= IFM_100_TX; - if (CSR_READ_4(dc_sc, DC_NETCFG) & DC_NETCFG_FULLDUPLEX) + if (reg & DC_NETCFG_FULLDUPLEX) mii->mii_media_active |= IFM_FDX; else mii->mii_media_active |= IFM_HDX; Modified: projects/binutils-2.17/sys/dev/mii/atphy.c ============================================================================== --- projects/binutils-2.17/sys/dev/mii/atphy.c Sat Jan 15 00:12:51 2011 (r217433) +++ projects/binutils-2.17/sys/dev/mii/atphy.c Sat Jan 15 00:23:57 2011 (r217434) @@ -187,9 +187,9 @@ atphy_service(struct mii_softc *sc, stru } anar = atphy_anar(ife); - if (((ife->ifm_media & IFM_GMASK) & IFM_FDX) != 0) { + if ((ife->ifm_media & IFM_FDX) != 0) { bmcr |= BMCR_FDX; - if (((ife->ifm_media & IFM_GMASK) & IFM_FLOW) != 0 || + if ((ife->ifm_media & IFM_FLOW) != 0 || (sc->mii_flags & MIIF_FORCEPAUSE) != 0) anar |= ANAR_PAUSE_TOWARDS; } @@ -371,7 +371,7 @@ atphy_anar(struct ifmedia_entry *ife) return (0); } - if (((ife->ifm_media & IFM_GMASK) & IFM_FDX) != 0) { + if ((ife->ifm_media & IFM_FDX) != 0) { if (IFM_SUBTYPE(ife->ifm_media) == IFM_100_TX) anar |= ANAR_TX_FD; else @@ -387,13 +387,13 @@ atphy_setmedia(struct mii_softc *sc, int uint16_t anar; anar = BMSR_MEDIA_TO_ANAR(sc->mii_capabilities) | ANAR_CSMA; - if (((IFM_SUBTYPE(media) == IFM_AUTO || - ((media & IFM_GMASK) & IFM_FDX) != 0) && - ((media & IFM_GMASK) & IFM_FLOW) != 0) || - (sc->mii_flags & MIIF_FORCEPAUSE) != 0) + if ((IFM_SUBTYPE(media) == IFM_AUTO || (media & IFM_FDX) != 0) && + ((media & IFM_FLOW) != 0 || + (sc->mii_flags & MIIF_FORCEPAUSE) != 0)) anar |= ANAR_PAUSE_TOWARDS; PHY_WRITE(sc, MII_ANAR, anar); - if ((sc->mii_extcapabilities & (EXTSR_1000TFDX | EXTSR_1000THDX)) != 0) + if ((sc->mii_extcapabilities & + (EXTSR_1000TFDX | EXTSR_1000THDX)) != 0) PHY_WRITE(sc, MII_100T2CR, GTCR_ADV_1000TFDX | GTCR_ADV_1000THDX); PHY_WRITE(sc, MII_BMCR, BMCR_RESET | BMCR_AUTOEN | BMCR_STARTNEG); Modified: projects/binutils-2.17/sys/dev/mii/brgphy.c ============================================================================== --- projects/binutils-2.17/sys/dev/mii/brgphy.c Sat Jan 15 00:12:51 2011 (r217433) +++ projects/binutils-2.17/sys/dev/mii/brgphy.c Sat Jan 15 00:23:57 2011 (r217434) @@ -453,7 +453,7 @@ brgphy_setmedia(struct mii_softc *sc, in break; } - if ((media & IFM_GMASK) == IFM_FDX) { + if ((media & IFM_FDX) != 0) { bmcr |= BRGPHY_BMCR_FDX; gig = BRGPHY_1000CTL_AFD; } else { Modified: projects/binutils-2.17/sys/dev/mii/ciphy.c ============================================================================== --- projects/binutils-2.17/sys/dev/mii/ciphy.c Sat Jan 15 00:12:51 2011 (r217433) +++ projects/binutils-2.17/sys/dev/mii/ciphy.c Sat Jan 15 00:23:57 2011 (r217434) @@ -176,26 +176,23 @@ ciphy_service(struct mii_softc *sc, stru case IFM_10_T: speed = CIPHY_S10; setit: - if ((ife->ifm_media & IFM_GMASK) == IFM_FDX) { + if ((ife->ifm_media & IFM_FDX) != 0) { speed |= CIPHY_BMCR_FDX; gig = CIPHY_1000CTL_AFD; - } else { + } else gig = CIPHY_1000CTL_AHD; - } - PHY_WRITE(sc, CIPHY_MII_1000CTL, 0); + if (IFM_SUBTYPE(ife->ifm_media) == IFM_1000_T) { + gig |= CIPHY_1000CTL_MSE; + if ((ife->ifm_media & IFM_ETH_MASTER) != 0) + gig |= CIPHY_1000CTL_MSC; + speed |= + CIPHY_BMCR_AUTOEN | CIPHY_BMCR_STARTNEG; + } else + gig = 0; + PHY_WRITE(sc, CIPHY_MII_1000CTL, gig); PHY_WRITE(sc, CIPHY_MII_BMCR, speed); PHY_WRITE(sc, CIPHY_MII_ANAR, CIPHY_SEL_TYPE); - - if (IFM_SUBTYPE(ife->ifm_media) != IFM_1000_T) - break; - - gig |= CIPHY_1000CTL_MSE; - if ((ife->ifm_media & IFM_ETH_MASTER) != 0) - gig |= CIPHY_1000CTL_MSC; - PHY_WRITE(sc, CIPHY_MII_1000CTL, gig); - PHY_WRITE(sc, CIPHY_MII_BMCR, - speed | CIPHY_BMCR_AUTOEN | CIPHY_BMCR_STARTNEG); break; case IFM_NONE: PHY_WRITE(sc, MII_BMCR, BMCR_ISO | BMCR_PDOWN); Modified: projects/binutils-2.17/sys/dev/mii/e1000phy.c ============================================================================== --- projects/binutils-2.17/sys/dev/mii/e1000phy.c Sat Jan 15 00:12:51 2011 (r217433) +++ projects/binutils-2.17/sys/dev/mii/e1000phy.c Sat Jan 15 00:23:57 2011 (r217434) @@ -358,7 +358,7 @@ e1000phy_service(struct mii_softc *sc, s return (EINVAL); } - if (((ife->ifm_media & IFM_GMASK) & IFM_FDX) != 0) { + if ((ife->ifm_media & IFM_FDX) != 0) { speed |= E1000_CR_FULL_DUPLEX; gig = E1000_1GCR_1000T_FD; } else @@ -372,10 +372,10 @@ e1000phy_service(struct mii_softc *sc, s gig |= E1000_1GCR_MS_ENABLE; if ((ife->ifm_media & IFM_ETH_MASTER) != 0) gig |= E1000_1GCR_MS_VALUE; - PHY_WRITE(sc, E1000_1GCR, gig); } else if ((sc->mii_extcapabilities & (EXTSR_1000TFDX | EXTSR_1000THDX)) != 0) - PHY_WRITE(sc, E1000_1GCR, 0); + gig = 0; + PHY_WRITE(sc, E1000_1GCR, gig); PHY_WRITE(sc, E1000_AR, E1000_AR_SELECTOR_FIELD); PHY_WRITE(sc, E1000_CR, speed | E1000_CR_RESET); done: Modified: projects/binutils-2.17/sys/dev/mii/ip1000phy.c ============================================================================== --- projects/binutils-2.17/sys/dev/mii/ip1000phy.c Sat Jan 15 00:12:51 2011 (r217433) +++ projects/binutils-2.17/sys/dev/mii/ip1000phy.c Sat Jan 15 00:23:57 2011 (r217434) @@ -186,22 +186,21 @@ ip1000phy_service(struct mii_softc *sc, return (EINVAL); } - if (((ife->ifm_media & IFM_GMASK) & IFM_FDX) != 0) { + if ((ife->ifm_media & IFM_FDX) != 0) { speed |= IP1000PHY_BMCR_FDX; gig = IP1000PHY_1000CR_1000T_FDX; } else gig = IP1000PHY_1000CR_1000T; - PHY_WRITE(sc, IP1000PHY_MII_1000CR, 0); - PHY_WRITE(sc, IP1000PHY_MII_BMCR, speed); - - if (IFM_SUBTYPE(ife->ifm_media) != IFM_1000_T) - break; - - gig |= IP1000PHY_1000CR_MASTER | IP1000PHY_1000CR_MANUAL; - if ((ife->ifm_media & IFM_ETH_MASTER) != 0) - gig |= IP1000PHY_1000CR_MMASTER; + if (IFM_SUBTYPE(ife->ifm_media) == IFM_1000_T) { + gig |= + IP1000PHY_1000CR_MASTER | IP1000PHY_1000CR_MANUAL; + if ((ife->ifm_media & IFM_ETH_MASTER) != 0) + gig |= IP1000PHY_1000CR_MMASTER; + } else + gig = 0; PHY_WRITE(sc, IP1000PHY_MII_1000CR, gig); + PHY_WRITE(sc, IP1000PHY_MII_BMCR, speed); done: break; Modified: projects/binutils-2.17/sys/dev/mii/jmphy.c ============================================================================== --- projects/binutils-2.17/sys/dev/mii/jmphy.c Sat Jan 15 00:12:51 2011 (r217433) +++ projects/binutils-2.17/sys/dev/mii/jmphy.c Sat Jan 15 00:23:57 2011 (r217434) @@ -373,10 +373,10 @@ jmphy_setmedia(struct mii_softc *sc, str bmcr |= BMCR_LOOP; anar = jmphy_anar(ife); - if (((IFM_SUBTYPE(ife->ifm_media) == IFM_AUTO || + if ((IFM_SUBTYPE(ife->ifm_media) == IFM_AUTO || (ife->ifm_media & IFM_FDX) != 0) && - (ife->ifm_media & IFM_FLOW) != 0) || - (sc->mii_flags & MIIF_FORCEPAUSE) != 0) + ((ife->ifm_media & IFM_FLOW) != 0 || + (sc->mii_flags & MIIF_FORCEPAUSE) != 0)) anar |= ANAR_PAUSE_TOWARDS; if ((sc->mii_flags & MIIF_HAVE_GTCR) != 0) { Modified: projects/binutils-2.17/sys/dev/mii/mii_physubr.c ============================================================================== --- projects/binutils-2.17/sys/dev/mii/mii_physubr.c Sat Jan 15 00:12:51 2011 (r217433) +++ projects/binutils-2.17/sys/dev/mii/mii_physubr.c Sat Jan 15 00:23:57 2011 (r217434) @@ -135,8 +135,9 @@ mii_phy_setmedia(struct mii_softc *sc) gtcr |= GTCR_ADV_MS; } - if ((ife->ifm_media & IFM_GMASK) == (IFM_FDX | IFM_FLOW) || - (sc->mii_flags & MIIF_FORCEPAUSE) != 0) { + if ((ife->ifm_media & IFM_FDX) != 0 && + ((ife->ifm_media & IFM_FLOW) != 0 || + (sc->mii_flags & MIIF_FORCEPAUSE) != 0)) { if ((sc->mii_flags & MIIF_IS_1000X) != 0) anar |= ANAR_X_PAUSE_TOWARDS; else { @@ -184,7 +185,8 @@ mii_phy_auto(struct mii_softc *sc) ANAR_CSMA; if ((ife->ifm_media & IFM_FLOW) != 0 || (sc->mii_flags & MIIF_FORCEPAUSE) != 0) { - if ((sc->mii_capabilities & BMSR_100TXFDX) != 0) + if ((sc->mii_capabilities & + (BMSR_10TFDX | BMSR_100TXFDX)) != 0) anar |= ANAR_FC; /* XXX Only 1000BASE-T has PAUSE_ASYM? */ if (((sc->mii_flags & MIIF_HAVE_GTCR) != 0) && Modified: projects/binutils-2.17/sys/dev/mii/rgephy.c ============================================================================== --- projects/binutils-2.17/sys/dev/mii/rgephy.c Sat Jan 15 00:12:51 2011 (r217433) +++ projects/binutils-2.17/sys/dev/mii/rgephy.c Sat Jan 15 00:23:57 2011 (r217434) @@ -146,6 +146,13 @@ rgephy_attach(device_t dev) mii_phy_add_media(sc); printf("\n"); #undef ADD + /* + * Allow IFM_FLAG0 to be set indicating that auto-negotiation with + * manual configuration, which is used to work around issues with + * certain setups by default, should not be triggered as it may in + * turn cause harm in some edge cases. + */ + mii->mii_media.ifm_mask |= IFM_FLAG0; rgephy_reset(sc); MIIBUS_MEDIAINIT(sc->mii_dev); @@ -201,37 +208,38 @@ rgephy_service(struct mii_softc *sc, str speed = RGEPHY_S10; anar |= RGEPHY_ANAR_10_FD | RGEPHY_ANAR_10; setit: - rgephy_loop(sc); - if ((ife->ifm_media & IFM_GMASK) == IFM_FDX) { + if ((ife->ifm_media & IFM_FLOW) != 0 && + (mii->mii_media.ifm_media & IFM_FLAG0) != 0) + return (EINVAL); + + if ((ife->ifm_media & IFM_FDX) != 0) { speed |= RGEPHY_BMCR_FDX; gig = RGEPHY_1000CTL_AFD; anar &= ~(RGEPHY_ANAR_TX | RGEPHY_ANAR_10); + if ((ife->ifm_media & IFM_FLOW) != 0 || + (sc->mii_flags & MIIF_FORCEPAUSE) != 0) + anar |= + RGEPHY_ANAR_PC | RGEPHY_ANAR_ASP; } else { gig = RGEPHY_1000CTL_AHD; anar &= ~(RGEPHY_ANAR_TX_FD | RGEPHY_ANAR_10_FD); } - - if (IFM_SUBTYPE(ife->ifm_media) != IFM_1000_T) { - PHY_WRITE(sc, RGEPHY_MII_1000CTL, 0); - PHY_WRITE(sc, RGEPHY_MII_ANAR, anar); - PHY_WRITE(sc, RGEPHY_MII_BMCR, speed | - RGEPHY_BMCR_AUTOEN | - RGEPHY_BMCR_STARTNEG); - break; + if (IFM_SUBTYPE(ife->ifm_media) == IFM_1000_T) { + gig |= RGEPHY_1000CTL_MSE; + if ((ife->ifm_media & IFM_ETH_MASTER) != 0) + gig |= RGEPHY_1000CTL_MSC; + } else { + gig = 0; + anar &= ~RGEPHY_ANAR_ASP; } - - if ((ife->ifm_media & IFM_FLOW) != 0 || - (sc->mii_flags & MIIF_FORCEPAUSE) != 0) - anar |= RGEPHY_ANAR_PC | RGEPHY_ANAR_ASP; - - gig |= RGEPHY_1000CTL_MSE; - if ((ife->ifm_media & IFM_ETH_MASTER) != 0) - gig |= RGEPHY_1000CTL_MSC; + if ((mii->mii_media.ifm_media & IFM_FLAG0) == 0) + speed |= + RGEPHY_BMCR_AUTOEN | RGEPHY_BMCR_STARTNEG; + rgephy_loop(sc); PHY_WRITE(sc, RGEPHY_MII_1000CTL, gig); PHY_WRITE(sc, RGEPHY_MII_ANAR, anar); - PHY_WRITE(sc, RGEPHY_MII_BMCR, speed | - RGEPHY_BMCR_AUTOEN | RGEPHY_BMCR_STARTNEG); + PHY_WRITE(sc, RGEPHY_MII_BMCR, speed); break; case IFM_NONE: PHY_WRITE(sc, MII_BMCR, BMCR_ISO | BMCR_PDOWN); @@ -258,8 +266,7 @@ setit: /* * Check to see if we have link. If we do, we don't - * need to restart the autonegotiation process. Read - * the BMSR twice in case it's latched. + * need to restart the autonegotiation process. */ if (rsc->mii_revision >= 2) { /* RTL8211B(L) */ Modified: projects/binutils-2.17/sys/dev/mii/xmphy.c ============================================================================== --- projects/binutils-2.17/sys/dev/mii/xmphy.c Sat Jan 15 00:12:51 2011 (r217433) +++ projects/binutils-2.17/sys/dev/mii/xmphy.c Sat Jan 15 00:23:57 2011 (r217434) @@ -171,7 +171,7 @@ xmphy_service(struct mii_softc *sc, stru break; case IFM_1000_SX: mii_phy_reset(sc); - if ((ife->ifm_media & IFM_GMASK) == IFM_FDX) { + if ((ife->ifm_media & IFM_FDX) != 0) { PHY_WRITE(sc, XMPHY_MII_ANAR, XMPHY_ANAR_FDX); PHY_WRITE(sc, XMPHY_MII_BMCR, XMPHY_BMCR_FDX); } else { Modified: projects/binutils-2.17/sys/dev/re/if_re.c ============================================================================== --- projects/binutils-2.17/sys/dev/re/if_re.c Sat Jan 15 00:12:51 2011 (r217433) +++ projects/binutils-2.17/sys/dev/re/if_re.c Sat Jan 15 00:23:57 2011 (r217434) @@ -1258,11 +1258,6 @@ re_attach(device_t dev) CSR_WRITE_1(sc, RL_EECMD, RL_EEMODE_OFF); } - /* Reset the adapter. */ - RL_LOCK(sc); - re_reset(sc); - RL_UNLOCK(sc); - hw_rev = re_hwrevs; hwrev = CSR_READ_4(sc, RL_TXCFG); switch (hwrev & 0x70000000) { @@ -1366,6 +1361,11 @@ re_attach(device_t dev) break; } + /* Reset the adapter. */ + RL_LOCK(sc); + re_reset(sc); + RL_UNLOCK(sc); + /* Enable PME. */ CSR_WRITE_1(sc, RL_EECMD, RL_EE_MODE); cfg = CSR_READ_1(sc, RL_CFG1); @@ -1663,15 +1663,19 @@ re_detach(device_t dev) /* Destroy all the RX and TX buffer maps */ if (sc->rl_ldata.rl_tx_mtag) { - for (i = 0; i < sc->rl_ldata.rl_tx_desc_cnt; i++) - bus_dmamap_destroy(sc->rl_ldata.rl_tx_mtag, - sc->rl_ldata.rl_tx_desc[i].tx_dmamap); + for (i = 0; i < sc->rl_ldata.rl_tx_desc_cnt; i++) { + if (sc->rl_ldata.rl_tx_desc[i].tx_dmamap) + bus_dmamap_destroy(sc->rl_ldata.rl_tx_mtag, + sc->rl_ldata.rl_tx_desc[i].tx_dmamap); + } bus_dma_tag_destroy(sc->rl_ldata.rl_tx_mtag); } if (sc->rl_ldata.rl_rx_mtag) { - for (i = 0; i < sc->rl_ldata.rl_rx_desc_cnt; i++) - bus_dmamap_destroy(sc->rl_ldata.rl_rx_mtag, - sc->rl_ldata.rl_rx_desc[i].rx_dmamap); + for (i = 0; i < sc->rl_ldata.rl_rx_desc_cnt; i++) { + if (sc->rl_ldata.rl_rx_desc[i].rx_dmamap) + bus_dmamap_destroy(sc->rl_ldata.rl_rx_mtag, + sc->rl_ldata.rl_rx_desc[i].rx_dmamap); + } if (sc->rl_ldata.rl_rx_sparemap) bus_dmamap_destroy(sc->rl_ldata.rl_rx_mtag, sc->rl_ldata.rl_rx_sparemap); @@ -2618,6 +2622,16 @@ re_init_locked(struct rl_softc *sc) re_reset(sc); /* + * For C+ mode, initialize the RX descriptors and mbufs. + */ + if (re_rx_list_init(sc) != 0) { + device_printf(sc->rl_dev, "no memory for RX buffers\n"); + re_stop(sc); + return; + } + re_tx_list_init(sc); + + /* * Enable C+ RX and TX mode, as well as VLAN stripping and * RX checksum offload. We must configure the C+ register * before all others. @@ -2669,12 +2683,6 @@ re_init_locked(struct rl_softc *sc) CSR_WRITE_1(sc, RL_EECMD, RL_EEMODE_OFF); /* - * For C+ mode, initialize the RX descriptors and mbufs. - */ - re_rx_list_init(sc); - re_tx_list_init(sc); - - /* * Load the addresses of the RX and TX lists into the chip. */ @@ -2923,14 +2931,20 @@ re_ioctl(struct ifnet *ifp, u_long comma } } #endif /* DEVICE_POLLING */ - if (mask & IFCAP_HWCSUM) { - ifp->if_capenable ^= IFCAP_HWCSUM; - if (ifp->if_capenable & IFCAP_TXCSUM) *** DIFF OUTPUT TRUNCATED AT 1000 LINES ***
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201101150023.p0F0Nve7007048>