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...
Dimitry Andric
dim at FreeBSD.org
Sat Jan 15 00:23:58 UTC 2011
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 at 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 ***
More information about the svn-src-projects
mailing list