CVS commit: src/sys/arch/mac68k
Module Name:src Committed By: jklos Date: Tue Jul 16 07:31:40 UTC 2013 Modified Files: src/sys/arch/mac68k/conf: GENERIC src/sys/arch/mac68k/mac68k: genassym.cf locore.s machdep.c pmap_bootstrap.c Log Message: Added DJMEMCMAX option for recognizing 128 meg SIMMs in Centris and Quadra 610, 650 and 800 systems. From Rob Braun, http://synack.net/~bbraun/netbsdmac2.html To generate a diff of this commit: cvs rdiff -u -r1.214 -r1.215 src/sys/arch/mac68k/conf/GENERIC cvs rdiff -u -r1.36 -r1.37 src/sys/arch/mac68k/mac68k/genassym.cf cvs rdiff -u -r1.166 -r1.167 src/sys/arch/mac68k/mac68k/locore.s cvs rdiff -u -r1.345 -r1.346 src/sys/arch/mac68k/mac68k/machdep.c cvs rdiff -u -r1.93 -r1.94 src/sys/arch/mac68k/mac68k/pmap_bootstrap.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/sys/arch/mac68k/conf/GENERIC diff -u src/sys/arch/mac68k/conf/GENERIC:1.214 src/sys/arch/mac68k/conf/GENERIC:1.215 --- src/sys/arch/mac68k/conf/GENERIC:1.214 Sun Jun 30 21:38:57 2013 +++ src/sys/arch/mac68k/conf/GENERIC Tue Jul 16 07:31:40 2013 @@ -1,4 +1,4 @@ -# $NetBSD: GENERIC,v 1.214 2013/06/30 21:38:57 rmind Exp $ +# $NetBSD: GENERIC,v 1.215 2013/07/16 07:31:40 jklos Exp $ # # GENERIC machine description file # @@ -22,7 +22,7 @@ include arch/mac68k/conf/std.mac68k options INCLUDE_CONFIG_FILE # embed config file in kernel binary -#ident GENERIC-$Revision: 1.214 $ +#ident GENERIC-$Revision: 1.215 $ maxusers 16 # estimated number of users @@ -35,6 +35,10 @@ options M68020 # Note: must have 6885 options FPSP options FPU_EMULATE +# Support for 128 meg SIMMs in Centris / Quadra 610, 650 and 800 machines. +# You need to set the total memory in the MacOS Booter. +#options DJMEMCMAX + # Standard system options options INSECURE # disable kernel security levels Index: src/sys/arch/mac68k/mac68k/genassym.cf diff -u src/sys/arch/mac68k/mac68k/genassym.cf:1.36 src/sys/arch/mac68k/mac68k/genassym.cf:1.37 --- src/sys/arch/mac68k/mac68k/genassym.cf:1.36 Fri Jan 14 02:06:28 2011 +++ src/sys/arch/mac68k/mac68k/genassym.cf Tue Jul 16 07:31:40 2013 @@ -1,4 +1,4 @@ -# $NetBSD: genassym.cf,v 1.36 2011/01/14 02:06:28 rmind Exp $ +# $NetBSD: genassym.cf,v 1.37 2013/07/16 07:31:40 jklos Exp $ # # Copyright (c) 1990 The Regents of the University of California. @@ -169,6 +169,13 @@ define ENOENT ENOENT define EFAULT EFAULT define ENAMETOOLONG ENAMETOOLONG +# machine ids +define MACH_MACC610 MACH_MACC610 +define MACH_MACQ610 MACH_MACQ610 +define MACH_MACC650 MACH_MACC650 +define MACH_MACQ650 MACH_MACQ650 +define MACH_MACQ800 MACH_MACQ800 + # SVR4 binary compatibility ifdef COMPAT_SVR4 define SVR4_SIGF_HANDLER offsetof(struct svr4_sigframe, sf_handler) Index: src/sys/arch/mac68k/mac68k/locore.s diff -u src/sys/arch/mac68k/mac68k/locore.s:1.166 src/sys/arch/mac68k/mac68k/locore.s:1.167 --- src/sys/arch/mac68k/mac68k/locore.s:1.166 Thu Dec 22 15:33:29 2011 +++ src/sys/arch/mac68k/mac68k/locore.s Tue Jul 16 07:31:40 2013 @@ -1,4 +1,4 @@ -/* $NetBSD: locore.s,v 1.166 2011/12/22 15:33:29 tsutsui Exp $ */ +/* $NetBSD: locore.s,v 1.167 2013/07/16 07:31:40 jklos Exp $ */ /* * Copyright (c) 1988 University of Utah. @@ -273,6 +273,117 @@ Lstart3: movl %a1,%d1 .word 0xf518 | pflusha .long 0x4e7b1807 | movc %d1,%srp + +#if defined(DJMEMCMAX) + movl %a3,%sp@- + cmp #MACH_MACC610,_C_LABEL(machineid) + jra Ldjmemc610 + cmp #MACH_MACQ610,_C_LABEL(machineid) + jra Ldjmemc610 + cmp #MACH_MACC650,_C_LABEL(machineid) + jra Ldjmemccfg + cmp #MACH_MACQ650,_C_LABEL(machineid) + jra Ldjmemccfg + cmp #MACH_MACQ800,_C_LABEL(machineid) + jra Ldjmemccfg + + jra Lnodjmemc + +Ldjmemccfg: + movl #0x50f0e00c,%a0 + movl %a0@,%d0 | determine where RAM SIMMs start + andl #0x00FF,%d0 + addl #0x10,%d0 | bank 3 start + addl #0x10,%d0 | bank 4 start + + movl #0x50f0e014,%a0 + movl %d0,%a0@+ | bank 4 + addl #0x10,%d0 + movl %d0,%a0@+ | bank 5 + addl #0x10,%d0 + + movl %d0,%a0@+ | bank 6 + addl #0x10,%d0 + movl %d0,%a0@+ | bank 7 + addl #0x10,%d0 + movl %d0,%a0@+ | bank 8 + addl #0x10,%d0 + movl %d0,%a0@+ | bank 9 + addl #0x10,%d0 + jra Ldjmemctop + +Ldjmemc610: + movl #0x50f0e00c,%a0 + movl %a0@,%d0 | determine where RAM SIMMs start + andl #0x00FF,%d0 + addl #0x10,%d0 | bank 3 start + + movl #0x50f0e014,%a0 + movl %d0,%a0@+ | bank 4 + addl #0x10,%d0 + movl %d0,%a0@+ | bank 5 + movl %d0,%a0@+ | bank 6 + addl #0x10,%d0 + movl %d0,%a0@+ | bank 7 + movl %d0,%a0@+ | bank 8 + addl #0x10,%d0 + movl %d0,%a0@+ | bank 9 + +Ldjmemctop: + movl #0x50F0E02C,%a0 + movl %d0,%a0@ | memtop + + | preserve ~512KB beyond 4MB just in case + movl #0x40,%a0 + movl #0x900,%a2 + movl #0x,%d0 +L1stbankcopy1: + movl %a0@+,%a2@+ + dbra %d0,L1stbankcopy1 + movl #0x,%d0 +L1stbankcopy2: + movl %a0@+,%a2@+ + dbra %d0,L1stbankcopy2 + + lea _ASM_LABEL(Lsetup1stbank),%a0 + movl #0x880,%a2 |
CVS commit: src
Module Name:src Committed By: joerg Date: Tue Jul 16 09:52:21 UTC 2013 Modified Files: src: Makefile Log Message: hp700 rescue/ldd fails on -j16 build if usr.bin/ldd/elf32/libldd_elf32.a hasn't been made yet. Add an explicit .WAIT before rescue to avoid this. To generate a diff of this commit: cvs rdiff -u -r1.302 -r1.303 src/Makefile Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/Makefile diff -u src/Makefile:1.302 src/Makefile:1.303 --- src/Makefile:1.302 Mon Dec 3 13:53:29 2012 +++ src/Makefile Tue Jul 16 09:52:21 2013 @@ -1,4 +1,4 @@ -# $NetBSD: Makefile,v 1.302 2012/12/03 13:53:29 apb Exp $ +# $NetBSD: Makefile,v 1.303 2013/07/16 09:52:21 joerg Exp $ # # This is the top-level makefile for building NetBSD. For an outline of @@ -139,7 +139,8 @@ _SRC_TOP_OBJ_= # _SUBDIR= tools lib include gnu external crypto/external bin games _SUBDIR+= libexec sbin usr.bin -_SUBDIR+= usr.sbin share rescue sys etc tests compat .WAIT distrib regress +_SUBDIR+= usr.sbin share sys etc tests compat +_SUBDIR+= .WAIT rescue .WAIT distrib regress .for dir in ${_SUBDIR} .if ${dir} == .WAIT \
CVS commit: src/usr.sbin/cpuctl/arch
Module Name:src Committed By: msaitoh Date: Tue Jul 16 09:54:30 UTC 2013 Modified Files: src/usr.sbin/cpuctl/arch: i386.c Log Message: Update Intel's Processor Family Names of family == 6 from the latest document. Add 0x35(Atom), 0x36(Atom S), 0x3f(future Xeon), 0x46(Haswell) and update some models. To generate a diff of this commit: cvs rdiff -u -r1.39 -r1.40 src/usr.sbin/cpuctl/arch/i386.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/usr.sbin/cpuctl/arch/i386.c diff -u src/usr.sbin/cpuctl/arch/i386.c:1.39 src/usr.sbin/cpuctl/arch/i386.c:1.40 --- src/usr.sbin/cpuctl/arch/i386.c:1.39 Wed Mar 6 11:52:53 2013 +++ src/usr.sbin/cpuctl/arch/i386.c Tue Jul 16 09:54:30 2013 @@ -1,4 +1,4 @@ -/* $NetBSD: i386.c,v 1.39 2013/03/06 11:52:53 yamt Exp $ */ +/* $NetBSD: i386.c,v 1.40 2013/07/16 09:54:30 msaitoh Exp $ */ /*- * Copyright (c) 1999, 2000, 2001, 2006, 2007, 2008 The NetBSD Foundation, Inc. @@ -57,7 +57,7 @@ #include sys/cdefs.h #ifndef lint -__RCSID($NetBSD: i386.c,v 1.39 2013/03/06 11:52:53 yamt Exp $); +__RCSID($NetBSD: i386.c,v 1.40 2013/07/16 09:54:30 msaitoh Exp $); #endif /* not lint */ #include sys/types.h @@ -294,12 +294,18 @@ const struct cpu_cpuid_nameclass i386_cp [0x0a] = Pentium III Xeon (Cascades), [0x0b] = Pentium III (Tualatin), [0x0d] = Pentium M (Dothan), -[0x0e] = Pentium Core Duo, // M (Yonah), -[0x0f] = Core 2, +[0x0e] = Pentium Core Duo, Core solo, +[0x0f] = Xeon 30xx, 32xx, 51xx, 53xx, 73xx, + Core 2 Quad 6xxx, + Core 2 Extreme 6xxx, + Core 2 Duo 4xxx, 5xxx, 6xxx, 7xxx + and Pentium DC, [0x15] = EP80579 Integrated Processor, [0x16] = Celeron (45nm), -[0x17] = Core 2 Extreme, -[0x1a] = Core i7 (Nehalem), +[0x17] = Xeon 31xx, 33xx, 52xx, 54xx, + Core 2 Quad 8xxx and 9xxx, +[0x1a] = Core i7, Xeon 34xx, 35xx and 55xx + (Nehalem), [0x1c] = Atom Family, [0x1d] = XeonMP 74xx (Nehalem), [0x1e] = Core i7 and i5, @@ -307,15 +313,24 @@ const struct cpu_cpuid_nameclass i386_cp [0x25] = Xeon 36xx 56xx, i7, i5 and i3, [0x26] = Atom Family, [0x27] = Atom Family, -[0x2a] = Xeon E3-12xx, 2nd gen i7, i5, i3 2xxx, +[0x2a] = Xeon E3-12xx, 2nd gen i7, i5, + i3 2xxx, [0x2c] = Xeon 36xx 56xx, i7, i5 and i3, -[0x2e] = Xeon 75xx 65xx, [0x2d] = Xeon E5 Sandy bridy family, +[0x2e] = Xeon 75xx 65xx, [0x2f] = Xeon E7 family, -[0x3a] = Xeon E3-1200v2 and 3rd gen core, Ivy bridge, -[0x3c] = Next Intel Core, -[0x3e] = Next gen Xeon E5, Ivy bridge, -[0x45] = Next Intel Core, +[0x35] = Atom Family, +[0x36] = Atom S, +[0x3a] = Xeon E3-1200v2 and 3rd gen core, + Ivy bridge, +[0x3c] = 4th gen Core, Xeon E3-12xx v3 + (Haswell), +[0x3e] = Next gen Xeon E5/E7, Ivy bridge, +[0x3f] = Future gen Xeon, +[0x45] = 4th gen Core, Xeon E3-12xx v3 + (Haswell), +[0x46] = 4th gen Core, Xeon E3-12xx v3 + (Haswell), }, Pentium Pro, II or III, /* Default */ NULL,
CVS commit: src/sys/arch/hp700/stand
Module Name:src Committed By: joerg Date: Tue Jul 16 10:05:38 UTC 2013 Modified Files: src/sys/arch/hp700/stand: Makefile.inc Log Message: Disable unwind sections for the boot loaders. To generate a diff of this commit: cvs rdiff -u -r1.8 -r1.9 src/sys/arch/hp700/stand/Makefile.inc Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/sys/arch/hp700/stand/Makefile.inc diff -u src/sys/arch/hp700/stand/Makefile.inc:1.8 src/sys/arch/hp700/stand/Makefile.inc:1.9 --- src/sys/arch/hp700/stand/Makefile.inc:1.8 Mon Jun 20 06:52:37 2011 +++ src/sys/arch/hp700/stand/Makefile.inc Tue Jul 16 10:05:38 2013 @@ -1,4 +1,4 @@ -# $NetBSD: Makefile.inc,v 1.8 2011/06/20 06:52:37 mrg Exp $ +# $NetBSD: Makefile.inc,v 1.9 2013/07/16 10:05:38 joerg Exp $ BINDIR= /usr/mdec @@ -6,3 +6,4 @@ BINDIR= /usr/mdec COPTS+= -Wno-pointer-sign COPTS+= -fno-strict-aliasing +COPTS+= -fno-unwind-tables
CVS commit: src/sys/dev/pci
Module Name:src Committed By: msaitoh Date: Tue Jul 16 10:30:27 UTC 2013 Modified Files: src/sys/dev/pci: if_wm.c Log Message: Fix yet another NVM bank detect problem in wm(4). Use bank 0 if the detect function failed. It's the same as FreeBSD. Observed and tested with Asus P8P67 Deluxe motherboard and tested by jnemeth. To generate a diff of this commit: cvs rdiff -u -r1.261 -r1.262 src/sys/dev/pci/if_wm.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/sys/dev/pci/if_wm.c diff -u src/sys/dev/pci/if_wm.c:1.261 src/sys/dev/pci/if_wm.c:1.262 --- src/sys/dev/pci/if_wm.c:1.261 Thu Jun 27 09:57:49 2013 +++ src/sys/dev/pci/if_wm.c Tue Jul 16 10:30:27 2013 @@ -1,4 +1,4 @@ -/* $NetBSD: if_wm.c,v 1.261 2013/06/27 09:57:49 msaitoh Exp $ */ +/* $NetBSD: if_wm.c,v 1.262 2013/07/16 10:30:27 msaitoh Exp $ */ /* * Copyright (c) 2001, 2002, 2003, 2004 Wasabi Systems, Inc. @@ -76,7 +76,7 @@ */ #include sys/cdefs.h -__KERNEL_RCSID(0, $NetBSD: if_wm.c,v 1.261 2013/06/27 09:57:49 msaitoh Exp $); +__KERNEL_RCSID(0, $NetBSD: if_wm.c,v 1.262 2013/07/16 10:30:27 msaitoh Exp $); #include sys/param.h #include sys/systm.h @@ -7596,7 +7596,8 @@ wm_valid_nvm_bank_detect_ich8lan(struct } } - aprint_error_dev(sc-sc_dev, EEPROM not present\n); + DPRINTF(WM_DEBUG_NVM, (%s: No valid NVM bank present\n, + device_xname(sc-sc_dev))); return -1; } @@ -7628,7 +7629,7 @@ wm_read_eeprom_ich8(struct wm_softc *sc, if (error) { aprint_error_dev(sc-sc_dev, %s: failed to detect NVM bank\n, __func__); - return error; + flash_bank = 0; } /*
CVS commit: src/sys/fs/udf
Module Name:src Committed By: reinoud Date: Tue Jul 16 10:49:36 UTC 2013 Modified Files: src/sys/fs/udf: udf_rename.c Log Message: Remove udf_node * as state variables and add the loop invariants UFS and tmpfs carry to make it easier to debug. To generate a diff of this commit: cvs rdiff -u -r1.9 -r1.10 src/sys/fs/udf/udf_rename.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/sys/fs/udf/udf_rename.c diff -u src/sys/fs/udf/udf_rename.c:1.9 src/sys/fs/udf/udf_rename.c:1.10 --- src/sys/fs/udf/udf_rename.c:1.9 Mon Jul 15 14:40:21 2013 +++ src/sys/fs/udf/udf_rename.c Tue Jul 16 10:49:36 2013 @@ -1,4 +1,4 @@ -/* $NetBSD: udf_rename.c,v 1.9 2013/07/15 14:40:21 reinoud Exp $ */ +/* $NetBSD: udf_rename.c,v 1.10 2013/07/16 10:49:36 reinoud Exp $ */ /* * Copyright (c) 2013 Reinoud Zandijk @@ -28,7 +28,7 @@ */ #include sys/cdefs.h -__KERNEL_RCSID(0, $NetBSD: udf_rename.c,v 1.9 2013/07/15 14:40:21 reinoud Exp $); +__KERNEL_RCSID(0, $NetBSD: udf_rename.c,v 1.10 2013/07/16 10:49:36 reinoud Exp $); #include sys/param.h #include sys/errno.h @@ -503,7 +503,8 @@ udf_gro_genealogy(struct mount *mp, kaut struct vnode **intermediate_node_ret) { struct udf_mount *ump; - struct udf_node *source, *target, *parent_node, *child_node; + struct udf_node *parent_node; + struct vnode *vp, *dvp; struct long_ad parent_loc; const char *name; int namelen; @@ -532,91 +533,97 @@ udf_gro_genealogy(struct mount *mp, kaut if (error) return error; - source = VTOI(fdvp); - target = VTOI(tdvp); - name = ..; namelen = 2; error= 0; - ump = target-ump; + ump = VTOI(tdvp)-ump; /* if nodes are equal, it is no use looking */ - KASSERT(udf_compare_icb(source-loc, target-loc) != 0); + KASSERT(udf_compare_icb(VTOI(fdvp)-loc, VTOI(tdvp)-loc) != 0); - child_node = target; - vref(child_node-vnode); + /* start at destination vnode and walk up the tree */ + vp = tdvp; + vref(vp); for (;;) { + KASSERT(vp != NULL); + KASSERT(VOP_ISLOCKED(vp) == LK_EXCLUSIVE); + KASSERT(vp-v_mount == mp); + KASSERT(vp-v_type == VDIR); + KASSERT(!udf_rmdired_p(vp)); + DPRINTF(NODE, (udf_gro_genealogy : - source vp %p, looking at vp %p\n, - source-vnode, child_node-vnode)); + fdvp %p, looking at vp %p\n, + fdvp, vp)); /* sanity check */ - if (child_node-vnode-v_type != VDIR) { - vput(child_node-vnode); + if (vp-v_type != VDIR) { + vput(vp); return ENOTDIR; } /* go down one level */ - error = udf_lookup_name_in_dir(child_node-vnode, name, namelen, + error = udf_lookup_name_in_dir(vp, name, namelen, parent_loc, found); DPRINTF(NODE, (\tlookup of parent '..' resulted in error %d, found %d\n, error, found)); if (!found) error = ENOENT; if (error) { - vput(child_node-vnode); + vput(vp); return error; } /* did we encounter the root node? i.e. loop back */ - if (udf_compare_icb(parent_loc, child_node-loc) == 0) { + if (udf_compare_icb(parent_loc, VTOI(vp)-loc) == 0) { DPRINTF(NODE, (ROOT found!\n)); - vput(child_node-vnode); + vput(vp); *intermediate_node_ret = NULL; return 0; } - /* did we encounter source node? */ - if (udf_compare_icb(parent_loc, source-loc) == 0) { - DPRINTF(NODE, (SOURCE NODE FOUND\n)); - *intermediate_node_ret = child_node-vnode; - VOP_UNLOCK(child_node-vnode); + /* Did we find that fdvp is an ancestor of tdvp? */ + if (udf_compare_icb(parent_loc, VTOI(fdvp)-loc) == 0) { + DPRINTF(NODE, (fdvp is ancestor of tdvp\n)); + *intermediate_node_ret = vp; + VOP_UNLOCK(vp); return 0; } /* * Unlock vp so that we can lock the parent, but keep child vp * referenced until after we have found the parent, so that - * dotdot_ino will not be recycled. - * - * XXX This guarantees that vp's inode number will not be - * recycled, but why can't dotdot_ino be recycled? + * parent_node will not be recycled. */ DPRINTF(NODE, (\tgetting the parent node\n)); - VOP_UNLOCK(child_node-vnode); + VOP_UNLOCK(vp); error = udf_get_node(ump, parent_loc, parent_node); - vrele(child_node-vnode); + vrele(vp); if (error) return error; + dvp = parent_node-vnode; + + /* switch */ + KASSERT(dvp != NULL); + KASSERT(VOP_ISLOCKED(dvp) == LK_EXCLUSIVE); + vp = dvp; + /* sanity check */ - if (parent_node-vnode-v_type != VDIR) { + if (vp-v_type != VDIR) { /* * Odd, but can happen if we loose the race and the * '..' node has been recycled. */ - vput(child_node-vnode); + vput(vp); return ENOTDIR; } - if (udf_rmdired_p(parent_node-vnode)) { - vput(parent_node-vnode); + if (udf_rmdired_p(vp)) { + vput(vp); return ENOENT; } - - child_node = parent_node; } }
CVS commit: src/usr.bin/make
Module Name:src Committed By: christos Date: Tue Jul 16 14:00:53 UTC 2013 Modified Files: src/usr.bin/make: main.c make.1 var.c Log Message: More gmake compatibility: 1. add -w flag to print Entering and Leaving directory name the the beginning and the end of processing. 2. export MAKELEVEL=$((MAKELEVEL + 1)) only in the child environment. 3. when printing error messages, prefix them with the program name [$MAKELEVEL] for $MAKELEVEL 0 4. if $MAKEFLAGS consists only of letters assume it is a set of flags (as allowed by posix), convert them to -f -l -a -g -s, so that they get parsed properly. With those fixes gmake - bmake - gmake - bmake etc. works as expected. To generate a diff of this commit: cvs rdiff -u -r1.219 -r1.220 src/usr.bin/make/main.c cvs rdiff -u -r1.218 -r1.219 src/usr.bin/make/make.1 cvs rdiff -u -r1.181 -r1.182 src/usr.bin/make/var.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/usr.bin/make/main.c diff -u src/usr.bin/make/main.c:1.219 src/usr.bin/make/main.c:1.220 --- src/usr.bin/make/main.c:1.219 Mon Jul 15 16:33:11 2013 +++ src/usr.bin/make/main.c Tue Jul 16 10:00:53 2013 @@ -1,4 +1,4 @@ -/* $NetBSD: main.c,v 1.219 2013/07/15 20:33:11 christos Exp $ */ +/* $NetBSD: main.c,v 1.220 2013/07/16 14:00:53 christos Exp $ */ /* * Copyright (c) 1988, 1989, 1990, 1993 @@ -69,7 +69,7 @@ */ #ifndef MAKE_NATIVE -static char rcsid[] = $NetBSD: main.c,v 1.219 2013/07/15 20:33:11 christos Exp $; +static char rcsid[] = $NetBSD: main.c,v 1.220 2013/07/16 14:00:53 christos Exp $; #else #include sys/cdefs.h #ifndef lint @@ -81,7 +81,7 @@ __COPYRIGHT(@(#) Copyright (c) 1988, 19 #if 0 static char sccsid[] = @(#)main.c 8.3 (Berkeley) 3/19/94; #else -__RCSID($NetBSD: main.c,v 1.219 2013/07/15 20:33:11 christos Exp $); +__RCSID($NetBSD: main.c,v 1.220 2013/07/16 14:00:53 christos Exp $); #endif #endif /* not lint */ #endif @@ -128,6 +128,7 @@ __RCSID($NetBSD: main.c,v 1.219 2013/07 #include stdio.h #include stdlib.h #include time.h +#include ctype.h #include make.h #include hash.h @@ -163,6 +164,7 @@ Boolean noRecursiveExecute; /* -N flag Boolean keepgoing; /* -k flag */ Boolean queryFlag; /* -q flag */ Boolean touchFlag; /* -t flag */ +Boolean enterFlag; /* -w flag */ Boolean ignoreErrors; /* -i flag */ Boolean beSilent; /* -s flag */ Boolean oldVars; /* variable substitution style */ @@ -184,11 +186,44 @@ char curdir[MAXPATHLEN + 1]; /* Startup char *progname;/* the program name */ char *makeDependfile; pid_t myPid; +int makelevel; Boolean forceJobs = FALSE; extern Lst parseIncPath; +/* + * For compatibility with the POSIX version of MAKEFLAGS that includes + * all the options with out -, convert flags to -f -l -a -g -s. + */ +static char * +explode(const char *flags) +{ +size_t len; +char *nf, *st; +const char *f; + +if (flags == NULL) + return NULL; + +for (f = flags; *f; f++) + if (!isalpha((unsigned char)*f)) + break; + +if (*f) + return estrdup(flags); + +len = strlen(flags); +st = nf = emalloc(len * 3 + 1); +while (*flags) { + *nf++ = '-'; + *nf++ = *flags++; + *nf++ = ' '; +} +*nf = '\0'; +return st; +} + static void parse_debug_options(const char *argvalue) { @@ -341,7 +376,7 @@ MainParseArgs(int argc, char **argv) Boolean inOption, dashDash = FALSE; char found_path[MAXPATHLEN + 1]; /* for searching for sys.mk */ -#define OPTFLAGS BC:D:I:J:NST:V:WXd:ef:ij:km:nqrst +#define OPTFLAGS BC:D:I:J:NST:V:WXd:ef:ij:km:nqrstw /* Can't actually use getopt(3) because rescanning is not portable */ getopt_def = OPTFLAGS; @@ -549,6 +584,10 @@ rearg: touchFlag = TRUE; Var_Append(MAKEFLAGS, -t, VAR_GLOBAL); break; + case 'w': + enterFlag = TRUE; + Var_Append(MAKEFLAGS, -w, VAR_GLOBAL); + break; case '-': dashDash = TRUE; break; @@ -941,14 +980,21 @@ main(int argc, char **argv) { char tmp[64], *ep; - snprintf(tmp, sizeof(tmp), %d, - ((ep = getenv(MAKE_LEVEL_ENV)) *ep) ? atoi(ep) + 1 : 0); + makelevel = ((ep = getenv(MAKE_LEVEL_ENV)) *ep) ? atoi(ep) : 0; + if (makelevel 0) + makelevel = 0; + snprintf(tmp, sizeof(tmp), %d, makelevel); Var_Set(MAKE_LEVEL, tmp, VAR_GLOBAL, 0); snprintf(tmp, sizeof(tmp), %u, myPid); Var_Set(.MAKE.PID, tmp, VAR_GLOBAL, 0); snprintf(tmp, sizeof(tmp), %u, getppid()); Var_Set(.MAKE.PPID, tmp, VAR_GLOBAL, 0); } + if (makelevel 0) { + char pn[1024]; + snprintf(pn, sizeof(pn), %s[%d], progname, makelevel); + progname = estrdup(pn); + } Job_SetPrefix(); #ifdef USE_META @@ -960,7 +1006,9 @@ main(int argc, char **argv) * in a different format). */ #ifdef POSIX - Main_ParseArgLine(getenv(MAKEFLAGS)); + p1 = explode(getenv(MAKEFLAGS)); + Main_ParseArgLine(p1); + free(p1); #else Main_ParseArgLine(getenv(MAKE)); #endif
CVS commit: src/usr.bin/make
Module Name:src Committed By: christos Date: Tue Jul 16 14:22:13 UTC 2013 Modified Files: src/usr.bin/make: main.c Log Message: use bmake_foo instead of efoo() To generate a diff of this commit: cvs rdiff -u -r1.220 -r1.221 src/usr.bin/make/main.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/usr.bin/make/main.c diff -u src/usr.bin/make/main.c:1.220 src/usr.bin/make/main.c:1.221 --- src/usr.bin/make/main.c:1.220 Tue Jul 16 10:00:53 2013 +++ src/usr.bin/make/main.c Tue Jul 16 10:22:13 2013 @@ -1,4 +1,4 @@ -/* $NetBSD: main.c,v 1.220 2013/07/16 14:00:53 christos Exp $ */ +/* $NetBSD: main.c,v 1.221 2013/07/16 14:22:13 christos Exp $ */ /* * Copyright (c) 1988, 1989, 1990, 1993 @@ -69,7 +69,7 @@ */ #ifndef MAKE_NATIVE -static char rcsid[] = $NetBSD: main.c,v 1.220 2013/07/16 14:00:53 christos Exp $; +static char rcsid[] = $NetBSD: main.c,v 1.221 2013/07/16 14:22:13 christos Exp $; #else #include sys/cdefs.h #ifndef lint @@ -81,7 +81,7 @@ __COPYRIGHT(@(#) Copyright (c) 1988, 19 #if 0 static char sccsid[] = @(#)main.c 8.3 (Berkeley) 3/19/94; #else -__RCSID($NetBSD: main.c,v 1.220 2013/07/16 14:00:53 christos Exp $); +__RCSID($NetBSD: main.c,v 1.221 2013/07/16 14:22:13 christos Exp $); #endif #endif /* not lint */ #endif @@ -211,10 +211,10 @@ explode(const char *flags) break; if (*f) - return estrdup(flags); + return bmake_strdup(flags); len = strlen(flags); -st = nf = emalloc(len * 3 + 1); +st = nf = bmake_malloc(len * 3 + 1); while (*flags) { *nf++ = '-'; *nf++ = *flags++; @@ -993,7 +993,7 @@ main(int argc, char **argv) if (makelevel 0) { char pn[1024]; snprintf(pn, sizeof(pn), %s[%d], progname, makelevel); - progname = estrdup(pn); + progname = bmake_strdup(pn); } Job_SetPrefix();
CVS commit: src/usr.sbin/ldpd
Module Name:src Committed By: kefren Date: Tue Jul 16 16:55:01 UTC 2013 Modified Files: src/usr.sbin/ldpd: mpls_routes.c Log Message: create binding for connected routes on startup decay an warning message to debug only To generate a diff of this commit: cvs rdiff -u -r1.15 -r1.16 src/usr.sbin/ldpd/mpls_routes.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/usr.sbin/ldpd/mpls_routes.c diff -u src/usr.sbin/ldpd/mpls_routes.c:1.15 src/usr.sbin/ldpd/mpls_routes.c:1.16 --- src/usr.sbin/ldpd/mpls_routes.c:1.15 Tue Jul 16 02:54:32 2013 +++ src/usr.sbin/ldpd/mpls_routes.c Tue Jul 16 16:55:01 2013 @@ -1,4 +1,4 @@ -/* $NetBSD: mpls_routes.c,v 1.15 2013/07/16 02:54:32 kefren Exp $ */ +/* $NetBSD: mpls_routes.c,v 1.16 2013/07/16 16:55:01 kefren Exp $ */ /*- * Copyright (c) 2010 The NetBSD Foundation, Inc. @@ -726,7 +726,7 @@ check_route(struct rt_msg * rg, uint rle rg-m_rtm.rtm_type); } - warnp([check_route] Route %s: %s / %s - %s by PID:%d\n, oper, dest, + debugp([check_route] Route %s: %s / %s - %s by PID:%d\n, oper, dest, pref, gate, rg-m_rtm.rtm_pid); if(so_pref_allocated) @@ -879,7 +879,7 @@ bind_current_routes() free(so_pref); continue; } - if (so_gate-sa.sa_family == AF_INET) + if (so_gate == NULL || so_gate-sa.sa_family == AF_INET) label_add(so_dst, so_pref, so_gate, MPLS_LABEL_IMPLNULL, NULL, 0);
CVS commit: src/usr.bin/printf
Module Name:src Committed By: christos Date: Tue Jul 16 17:48:22 UTC 2013 Modified Files: src/usr.bin/printf: Makefile printf.c Log Message: WARNS=6 To generate a diff of this commit: cvs rdiff -u -r1.11 -r1.12 src/usr.bin/printf/Makefile cvs rdiff -u -r1.35 -r1.36 src/usr.bin/printf/printf.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/usr.bin/printf/Makefile diff -u src/usr.bin/printf/Makefile:1.11 src/usr.bin/printf/Makefile:1.12 --- src/usr.bin/printf/Makefile:1.11 Tue Aug 16 06:37:21 2011 +++ src/usr.bin/printf/Makefile Tue Jul 16 13:48:22 2013 @@ -1,6 +1,6 @@ -# $NetBSD: Makefile,v 1.11 2011/08/16 10:37:21 christos Exp $ +# $NetBSD: Makefile,v 1.12 2013/07/16 17:48:22 christos Exp $ # from: @(#)Makefile 8.1 (Berkeley) 6/6/93 - +WARNS=6 PROG= printf COPTS.printf.c = -Wno-format-nonliteral Index: src/usr.bin/printf/printf.c diff -u src/usr.bin/printf/printf.c:1.35 src/usr.bin/printf/printf.c:1.36 --- src/usr.bin/printf/printf.c:1.35 Tue Mar 15 19:11:49 2011 +++ src/usr.bin/printf/printf.c Tue Jul 16 13:48:22 2013 @@ -1,4 +1,4 @@ -/* $NetBSD: printf.c,v 1.35 2011/03/15 23:11:49 christos Exp $ */ +/* $NetBSD: printf.c,v 1.36 2013/07/16 17:48:22 christos Exp $ */ /* * Copyright (c) 1989, 1993 @@ -41,7 +41,7 @@ __COPYRIGHT(@(#) Copyright (c) 1989, 19 #if 0 static char sccsid[] = @(#)printf.c 8.2 (Berkeley) 3/22/95; #else -__RCSID($NetBSD: printf.c,v 1.35 2011/03/15 23:11:49 christos Exp $); +__RCSID($NetBSD: printf.c,v 1.36 2013/07/16 17:48:22 christos Exp $); #endif #endif /* not lint */ @@ -68,13 +68,13 @@ __RCSID($NetBSD: printf.c,v 1.35 2011/0 static void conv_escape_str(char *, void (*)(int)); static char *conv_escape(char *, char *); static char *conv_expand(const char *); -static int getchr(void); +static char getchr(void); static double getdouble(void); static int getwidth(void); static intmax_t getintmax(void); static uintmax_t getuintmax(void); static char *getstr(void); -static char *mklong(const char *, int); +static char *mklong(const char *, char); static void check_conversion(const char *, const char *); static void usage(void); @@ -128,15 +128,15 @@ int main(int argc, char *argv[]) int fieldwidth, precision; char nextch; char *format; - int ch; - int error; + char ch; + int error, o; #if !defined(SHELL) !defined(BUILTIN) (void)setlocale (LC_ALL, ); #endif - while ((ch = getopt(argc, argv, )) != -1) { - switch (ch) { + while ((o = getopt(argc, argv, )) != -1) { + switch (o) { case '?': default: usage(); @@ -426,8 +426,8 @@ conv_escape_str(char *str, void (*do_put static char * conv_escape(char *str, char *conv_ch) { - int value; - int ch; + char value; + char ch; char num_buf[4], *num_end; ch = *str++; @@ -438,9 +438,9 @@ conv_escape(char *str, char *conv_ch) num_buf[0] = ch; ch = str[0]; num_buf[1] = ch; - num_buf[2] = ch ? str[1] : 0; - num_buf[3] = 0; - value = strtoul(num_buf, num_end, 8); + num_buf[2] = (char)(ch != '\0' ? str[1] : '\0'); + num_buf[3] = '\0'; + value = (char)strtoul(num_buf, num_end, 8); str += num_end - (num_buf + 1); break; @@ -451,9 +451,9 @@ conv_escape(char *str, char *conv_ch) Supporting 2 byte constants is a compromise. */ ch = str[0]; num_buf[0] = ch; - num_buf[1] = ch ? str[1] : 0; - num_buf[2] = 0; - value = strtoul(num_buf, num_end, 16); + num_buf[1] = (char)(ch != '\0' ? str[1] : '\0'); + num_buf[2] = '\0'; + value = (char)strtoul(num_buf, num_end, 16); str += num_end - num_buf; break; @@ -487,7 +487,7 @@ conv_expand(const char *str) { static char *conv_str; char *cp; - int ch; + char ch; if (conv_str) free(conv_str); @@ -497,7 +497,7 @@ conv_expand(const char *str) return NULL; cp = conv_str; - while ((ch = *(const unsigned char *)str++) != '\0') { + while ((ch = *(const char *)str++) != '\0') { switch (ch) { /* Use C escapes for expected control characters */ case '\\': ch = '\\'; break; /* backslash */ @@ -513,7 +513,7 @@ conv_expand(const char *str) case '\v': ch = 'v'; break; /* vertical-tab */ default: /* Copy anything printable */ - if (isprint(ch)) { + if (isprint((unsigned char)ch)) { *cp++ = ch; continue; } @@ -521,7 +521,7 @@ conv_expand(const char *str) *cp++ = '\\'; if (ch 0200) { *cp++ = 'M'; -ch = ~0200; +ch = (char)~0200; } if (ch == 0177) { *cp++ = '^'; @@ -546,7 +546,7 @@ conv_expand(const char *str) } static char * -mklong(const char *str, int ch) +mklong(const char *str, char ch) { static char copy[64]; size_t len; @@ -563,12 +563,12 @@ mklong(const char *str, int ch) return copy; } -static int +static char getchr(void) { if (!*gargv) return 0; - return (int)**gargv++; + return **gargv++; } static char * @@ -583,7 +583,7 @@ getstr(void) static int getwidth(void) { - long
CVS commit: src/share/mk
Module Name:src Committed By: christos Date: Tue Jul 16 17:48:52 UTC 2013 Modified Files: src/share/mk: bsd.sys.mk Log Message: Add -Wconversion for WARNS 5 To generate a diff of this commit: cvs rdiff -u -r1.223 -r1.224 src/share/mk/bsd.sys.mk Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/share/mk/bsd.sys.mk diff -u src/share/mk/bsd.sys.mk:1.223 src/share/mk/bsd.sys.mk:1.224 --- src/share/mk/bsd.sys.mk:1.223 Sat Jan 26 21:31:44 2013 +++ src/share/mk/bsd.sys.mk Tue Jul 16 13:48:52 2013 @@ -1,4 +1,4 @@ -# $NetBSD: bsd.sys.mk,v 1.223 2013/01/27 02:31:44 christos Exp $ +# $NetBSD: bsd.sys.mk,v 1.224 2013/07/16 17:48:52 christos Exp $ # # Build definitions used for NetBSD source tree builds. @@ -64,6 +64,9 @@ CXXFLAGS+= ${${ACTIVE_CXX} == gcc:? -W .if ${WARNS} 4 CFLAGS+= -Wold-style-definition .endif +.if ${WARNS} 5 +CFLAGS+= -Wconversion +.endif CFLAGS+= -Wsign-compare -Wformat=2 CFLAGS+= ${${ACTIVE_CC} == clang:? -Wno-error=format-nonliteral :} CFLAGS+= ${${ACTIVE_CC} == gcc:? -Wno-format-zero-length :}
CVS commit: src/usr.sbin/ldpd
Module Name:src Committed By: kefren Date: Tue Jul 16 19:40:01 UTC 2013 Modified Files: src/usr.sbin/ldpd: tlv_stack.c Log Message: send the actual prefix on the wire instead of struct headers statify To generate a diff of this commit: cvs rdiff -u -r1.8 -r1.9 src/usr.sbin/ldpd/tlv_stack.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/usr.sbin/ldpd/tlv_stack.c diff -u src/usr.sbin/ldpd/tlv_stack.c:1.8 src/usr.sbin/ldpd/tlv_stack.c:1.9 --- src/usr.sbin/ldpd/tlv_stack.c:1.8 Thu Jul 11 10:46:19 2013 +++ src/usr.sbin/ldpd/tlv_stack.c Tue Jul 16 19:40:01 2013 @@ -1,4 +1,4 @@ -/* $NetBSD: tlv_stack.c,v 1.8 2013/07/11 10:46:19 kefren Exp $ */ +/* $NetBSD: tlv_stack.c,v 1.9 2013/07/16 19:40:01 kefren Exp $ */ /*- * Copyright (c) 2010 The NetBSD Foundation, Inc. @@ -47,9 +47,9 @@ #include mpls_interface.h #include tlv_stack.h -uint8_t ldp_ceil8(int); +static uint8_t ldp_ceil8(int); -uint8_t +static uint8_t ldp_ceil8(int x) { if (x % 8 == 0) @@ -285,7 +285,8 @@ send_label_tlv(const struct ldp_peer * p p-type = FEC_PREFIX; p-af = htons(LDP_AF_INET); p-prelen = prefixlen; - memcpy(p-prefix, addr, ldp_ceil8(prefixlen)); + memcpy(p-prefix, ((const struct sockaddr_in*)addr)-sin_addr, + ldp_ceil8(prefixlen)); /* LABEL TLV */ l = (struct label_tlv *) ((unsigned char *) p +
CVS commit: src/sys/rump
Module Name:src Committed By: pooka Date: Tue Jul 16 19:07:55 UTC 2013 Modified Files: src/sys/rump: Makefile.rump src/sys/rump/kern/lib/libtty: Makefile Log Message: COMPAT_60 for rump kernels. Requested via github (buildrump.sh) To generate a diff of this commit: cvs rdiff -u -r1.83 -r1.84 src/sys/rump/Makefile.rump cvs rdiff -u -r1.1 -r1.2 src/sys/rump/kern/lib/libtty/Makefile Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/sys/rump/Makefile.rump diff -u src/sys/rump/Makefile.rump:1.83 src/sys/rump/Makefile.rump:1.84 --- src/sys/rump/Makefile.rump:1.83 Tue Jul 9 17:49:37 2013 +++ src/sys/rump/Makefile.rump Tue Jul 16 19:07:54 2013 @@ -1,4 +1,4 @@ -# $NetBSD: Makefile.rump,v 1.83 2013/07/09 17:49:37 pooka Exp $ +# $NetBSD: Makefile.rump,v 1.84 2013/07/16 19:07:54 pooka Exp $ # WARNS?= 3 # XXX: src/sys won't compile with -Wsign-compare yet @@ -16,7 +16,7 @@ CPPFLAGS+= -D_RUMP_NATIVE_ABI .endif CPPFLAGS+= -DMAXUSERS=32 -CPPFLAGS+= -DCOMPAT_50=1 +CPPFLAGS+= -DCOMPAT_50=1 -DCOMPAT_60=1 CPPFLAGS+= -nostdinc CFLAGS+= -ffreestanding -fno-strict-aliasing Index: src/sys/rump/kern/lib/libtty/Makefile diff -u src/sys/rump/kern/lib/libtty/Makefile:1.1 src/sys/rump/kern/lib/libtty/Makefile:1.2 --- src/sys/rump/kern/lib/libtty/Makefile:1.1 Mon Jun 14 14:45:47 2010 +++ src/sys/rump/kern/lib/libtty/Makefile Tue Jul 16 19:07:55 2013 @@ -1,11 +1,13 @@ -# $NetBSD: Makefile,v 1.1 2010/06/14 14:45:47 pooka Exp $ +# $NetBSD: Makefile,v 1.2 2013/07/16 19:07:55 pooka Exp $ # -.PATH: ${.CURDIR}/../../../../kern +.PATH: ${.CURDIR}/../../../../kern \ + ${.CURDIR}/../../../../compat/common LIB= rumpkern_tty SRCS= tty.c tty_bsdpty.c tty_conf.c tty_ptm.c tty_pty.c tty_tty.c tty_subr.c +SRCS+= tty_60.c SRCS+= component.c
CVS commit: src/sys/rump/net/lib/libvirtif
Module Name:src Committed By: pooka Date: Tue Jul 16 19:44:31 UTC 2013 Modified Files: src/sys/rump/net/lib/libvirtif: rumpcomp_user.c Log Message: Explicitly ignore return value of writev() for sending a packet. Otherwise you get the following with some compilers: warning: ignoring return value of 'writev', declared with attribute warn_unused_result [-Wunused-result] To generate a diff of this commit: cvs rdiff -u -r1.8 -r1.9 src/sys/rump/net/lib/libvirtif/rumpcomp_user.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/sys/rump/net/lib/libvirtif/rumpcomp_user.c diff -u src/sys/rump/net/lib/libvirtif/rumpcomp_user.c:1.8 src/sys/rump/net/lib/libvirtif/rumpcomp_user.c:1.9 --- src/sys/rump/net/lib/libvirtif/rumpcomp_user.c:1.8 Thu Jul 4 11:46:51 2013 +++ src/sys/rump/net/lib/libvirtif/rumpcomp_user.c Tue Jul 16 19:44:31 2013 @@ -1,4 +1,4 @@ -/* $NetBSD: rumpcomp_user.c,v 1.8 2013/07/04 11:46:51 pooka Exp $ */ +/* $NetBSD: rumpcomp_user.c,v 1.9 2013/07/16 19:44:31 pooka Exp $ */ /* * Copyright (c) 2013 Antti Kantee. All Rights Reserved. @@ -134,7 +134,7 @@ VIFHYPER_SEND(struct virtif_user *viu, void *cookie = rumpuser_component_unschedule(); /* no need to check for return value; packets may be dropped */ - writev(viu-viu_fd, iov, iovlen); + (void)writev(viu-viu_fd, iov, iovlen); rumpuser_component_schedule(cookie); }
CVS commit: src/usr.bin/make/unit-tests
Module Name:src Committed By: sjg Date: Tue Jul 16 19:59:29 UTC 2013 Modified Files: src/usr.bin/make/unit-tests: Makefile Log Message: Fix unit-tests to cope with recent change to progname To generate a diff of this commit: cvs rdiff -u -r1.36 -r1.37 src/usr.bin/make/unit-tests/Makefile Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/usr.bin/make/unit-tests/Makefile diff -u src/usr.bin/make/unit-tests/Makefile:1.36 src/usr.bin/make/unit-tests/Makefile:1.37 --- src/usr.bin/make/unit-tests/Makefile:1.36 Fri Mar 22 16:36:46 2013 +++ src/usr.bin/make/unit-tests/Makefile Tue Jul 16 19:59:28 2013 @@ -1,4 +1,4 @@ -# $NetBSD: Makefile,v 1.36 2013/03/22 16:36:46 sjg Exp $ +# $NetBSD: Makefile,v 1.37 2013/07/16 19:59:28 sjg Exp $ # # Unit tests for make(1) # The main targets are: @@ -79,7 +79,7 @@ LANG= C test: @echo ${TEST_MAKE} -f ${MAKEFILE} ${.TARGET}.out 21 @cd ${.OBJDIR} ${TEST_MAKE} -f ${MAKEFILE} 21 | \ - ${TOOL_SED} -e 's,^${TEST_MAKE:T:C/\./\\\./g}:,make:,' \ + ${TOOL_SED} -e 's,^${TEST_MAKE:T:C/\./\\\./g}[^:]*:,make:,' \ -e '/stopped/s, /.*, unit-tests,' \ -e 's,${.CURDIR:C/\./\\\./g}/,,g' \ -e 's,${UNIT_TESTS:C/\./\\\./g}/,,g' ${.TARGET}.out || { \
CVS commit: src/usr.bin/make
Module Name:src Committed By: sjg Date: Tue Jul 16 20:00:56 UTC 2013 Modified Files: src/usr.bin/make: var.c Log Message: When a var is set in the CMD context, it prevents the same name being set in GLOBAL context. We should also delete any such variable in GLOBAL context, else make -V will show the wrong value. To generate a diff of this commit: cvs rdiff -u -r1.182 -r1.183 src/usr.bin/make/var.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/usr.bin/make/var.c diff -u src/usr.bin/make/var.c:1.182 src/usr.bin/make/var.c:1.183 --- src/usr.bin/make/var.c:1.182 Tue Jul 16 14:00:53 2013 +++ src/usr.bin/make/var.c Tue Jul 16 20:00:56 2013 @@ -1,4 +1,4 @@ -/* $NetBSD: var.c,v 1.182 2013/07/16 14:00:53 christos Exp $ */ +/* $NetBSD: var.c,v 1.183 2013/07/16 20:00:56 sjg Exp $ */ /* * Copyright (c) 1988, 1989, 1990, 1993 @@ -69,14 +69,14 @@ */ #ifndef MAKE_NATIVE -static char rcsid[] = $NetBSD: var.c,v 1.182 2013/07/16 14:00:53 christos Exp $; +static char rcsid[] = $NetBSD: var.c,v 1.183 2013/07/16 20:00:56 sjg Exp $; #else #include sys/cdefs.h #ifndef lint #if 0 static char sccsid[] = @(#)var.c 8.3 (Berkeley) 3/19/94; #else -__RCSID($NetBSD: var.c,v 1.182 2013/07/16 14:00:53 christos Exp $); +__RCSID($NetBSD: var.c,v 1.183 2013/07/16 20:00:56 sjg Exp $); #endif #endif /* not lint */ #endif @@ -929,6 +929,14 @@ Var_Set(const char *name, const char *va } v = VarFind(name, ctxt, 0); if (v == NULL) { + if (ctxt == VAR_CMD (flags VAR_NO_EXPORT) == 0) { + /* + * This var would normally prevent the same name being added + * to VAR_GLOBAL, so delete it from there if needed. + * Otherwise -V name may show the wrong value. + */ + Var_Delete(name, VAR_GLOBAL); + } VarAdd(name, val, ctxt); } else { Buf_Empty(v-val);
CVS commit: src/sys/rump/include/rump
Module Name:src Committed By: pooka Date: Tue Jul 16 20:17:06 UTC 2013 Modified Files: src/sys/rump/include/rump: rump.h Log Message: Give reader-friendly aliases to rfork flags. To generate a diff of this commit: cvs rdiff -u -r1.56 -r1.57 src/sys/rump/include/rump/rump.h Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/sys/rump/include/rump/rump.h diff -u src/sys/rump/include/rump/rump.h:1.56 src/sys/rump/include/rump/rump.h:1.57 --- src/sys/rump/include/rump/rump.h:1.56 Sat Apr 27 15:13:11 2013 +++ src/sys/rump/include/rump/rump.h Tue Jul 16 20:17:06 2013 @@ -1,4 +1,4 @@ -/* $NetBSD: rump.h,v 1.56 2013/04/27 15:13:11 pooka Exp $ */ +/* $NetBSD: rump.h,v 1.57 2013/07/16 20:17:06 pooka Exp $ */ /* * Copyright (c) 2007-2011 Antti Kantee. All Rights Reserved. @@ -79,6 +79,10 @@ enum rump_sigmodel { /* flags to rump_lwproc_rfork */ #define RUMP_RFFDG 0x01 #define RUMP_RFCFDG 0x02 +/* slightly-easier-to-parse aliases for the above */ +#define RUMP_RFFD_SHARE 0x00 /* lossage */ +#define RUMP_RFFD_COPY RUMP_RFFDG +#define RUMP_RFFD_CLEAR RUMP_RFCFDG /* rumpvfs */ #define RUMPCN_FREECRED 0x02
CVS commit: src/sys/arch/m68k/include
Module Name:src Committed By: matt Date: Tue Jul 16 21:01:03 UTC 2013 Modified Files: src/sys/arch/m68k/include: asm.h Log Message: Add an END macro. reorder EXTBL macro To generate a diff of this commit: cvs rdiff -u -r1.28 -r1.29 src/sys/arch/m68k/include/asm.h Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/sys/arch/m68k/include/asm.h diff -u src/sys/arch/m68k/include/asm.h:1.28 src/sys/arch/m68k/include/asm.h:1.29 --- src/sys/arch/m68k/include/asm.h:1.28 Sat Feb 12 16:32:36 2011 +++ src/sys/arch/m68k/include/asm.h Tue Jul 16 21:01:03 2013 @@ -1,4 +1,4 @@ -/* $NetBSD: asm.h,v 1.28 2011/02/12 16:32:36 matt Exp $ */ +/* $NetBSD: asm.h,v 1.29 2013/07/16 21:01:03 matt Exp $ */ /*- * Copyright (c) 1997 The NetBSD Foundation, Inc. @@ -97,6 +97,7 @@ #define _ENTRY(name) \ .text; .even; .globl name; .type name,@function; name: +#define END(name) .size name,.-name #ifdef __ELF__ #define MCOUNT_ENTRY __mcount @@ -245,13 +246,13 @@ /* * Macros to hide shortcomings in the 68010. */ -#ifndef __mc68010__ -#define EXTBL(reg) \ - extbl reg -#else /* __mc68010__ */ +#ifdef __mc68010__ #define EXTBL(reg) \ extw reg ; \ extl reg +#else /* __mc68010__ */ +#define EXTBL(reg) \ + extbl reg #endif /* __mc68010__ */ #endif /* _M68K_ASM_H_ */
CVS commit: src/sys/rump/net/lib/libvirtif
Module Name:src Committed By: pooka Date: Tue Jul 16 21:14:42 UTC 2013 Modified Files: src/sys/rump/net/lib/libvirtif: rumpcomp_user.c Log Message: A simple (void) is apparently too easy and traditional to make Wunused-result STFU, so let's invent something a bit more verbose to try to achieve the desired result of ccg xnaht I really don't care if you think I should check the return value. To generate a diff of this commit: cvs rdiff -u -r1.9 -r1.10 src/sys/rump/net/lib/libvirtif/rumpcomp_user.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/sys/rump/net/lib/libvirtif/rumpcomp_user.c diff -u src/sys/rump/net/lib/libvirtif/rumpcomp_user.c:1.9 src/sys/rump/net/lib/libvirtif/rumpcomp_user.c:1.10 --- src/sys/rump/net/lib/libvirtif/rumpcomp_user.c:1.9 Tue Jul 16 19:44:31 2013 +++ src/sys/rump/net/lib/libvirtif/rumpcomp_user.c Tue Jul 16 21:14:42 2013 @@ -1,4 +1,4 @@ -/* $NetBSD: rumpcomp_user.c,v 1.9 2013/07/16 19:44:31 pooka Exp $ */ +/* $NetBSD: rumpcomp_user.c,v 1.10 2013/07/16 21:14:42 pooka Exp $ */ /* * Copyright (c) 2013 Antti Kantee. All Rights Reserved. @@ -132,9 +132,19 @@ VIFHYPER_SEND(struct virtif_user *viu, struct iovec *iov, size_t iovlen) { void *cookie = rumpuser_component_unschedule(); + ssize_t idontcare __attribute__((__unused__)); - /* no need to check for return value; packets may be dropped */ - (void)writev(viu-viu_fd, iov, iovlen); + /* + * no need to check for return value; packets may be dropped + * + * ... sorry, I spoke too soon. We need to check it because + * apparently gcc reinvented const poisoning and it's very + * hard to say thanks, I know I'm not using the result, + * but please STFU and let's get on with something useful. + * So let's trick gcc into letting us share the compiler + * experience. + */ + idontcare = writev(viu-viu_fd, iov, iovlen); rumpuser_component_schedule(cookie); }
CVS commit: src/lib/libc/arch/m68k/string
Module Name:src Committed By: matt Date: Tue Jul 16 21:46:42 UTC 2013 Modified Files: src/lib/libc/arch/m68k/string: memccpy.S swab.S Log Message: Add END(func) To generate a diff of this commit: cvs rdiff -u -r1.2 -r1.3 src/lib/libc/arch/m68k/string/memccpy.S cvs rdiff -u -r1.8 -r1.9 src/lib/libc/arch/m68k/string/swab.S Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/lib/libc/arch/m68k/string/memccpy.S diff -u src/lib/libc/arch/m68k/string/memccpy.S:1.2 src/lib/libc/arch/m68k/string/memccpy.S:1.3 --- src/lib/libc/arch/m68k/string/memccpy.S:1.2 Tue Jul 16 20:49:42 2013 +++ src/lib/libc/arch/m68k/string/memccpy.S Tue Jul 16 21:46:42 2013 @@ -1,4 +1,4 @@ -/* $NetBSD: memccpy.S,v 1.2 2013/07/16 20:49:42 matt Exp $ */ +/* $NetBSD: memccpy.S,v 1.3 2013/07/16 21:46:42 matt Exp $ */ /* * Copyright (C) 1999 Scott Reynolds. All rights reserved. @@ -29,7 +29,7 @@ #include machine/asm.h #if defined(LIBC_SCCS) !defined(lint) - RCSID($NetBSD: memccpy.S,v 1.2 2013/07/16 20:49:42 matt Exp $) + RCSID($NetBSD: memccpy.S,v 1.3 2013/07/16 21:46:42 matt Exp $) #endif /* LIBC_SCCS and not lint */ ENTRY(memccpy) @@ -80,3 +80,4 @@ Lmcnzdone: Lmcdone: movl %a0,%d0 rts +END(memccpy) Index: src/lib/libc/arch/m68k/string/swab.S diff -u src/lib/libc/arch/m68k/string/swab.S:1.8 src/lib/libc/arch/m68k/string/swab.S:1.9 --- src/lib/libc/arch/m68k/string/swab.S:1.8 Tue Jul 16 20:49:42 2013 +++ src/lib/libc/arch/m68k/string/swab.S Tue Jul 16 21:46:42 2013 @@ -1,4 +1,4 @@ -/* $NetBSD: swab.S,v 1.8 2013/07/16 20:49:42 matt Exp $ */ +/* $NetBSD: swab.S,v 1.9 2013/07/16 21:46:42 matt Exp $ */ #include machine/asm.h @@ -18,3 +18,4 @@ swloop: swdone: rts +END(swab)
CVS commit: src/lib/libc/arch/m68k/stdlib
Module Name:src Committed By: matt Date: Tue Jul 16 21:48:32 UTC 2013 Modified Files: src/lib/libc/arch/m68k/stdlib: abs.S llabs.S Log Message: WEAK_ALIAS is always present Use END(func) To generate a diff of this commit: cvs rdiff -u -r1.7 -r1.8 src/lib/libc/arch/m68k/stdlib/abs.S cvs rdiff -u -r1.5 -r1.6 src/lib/libc/arch/m68k/stdlib/llabs.S Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/lib/libc/arch/m68k/stdlib/abs.S diff -u src/lib/libc/arch/m68k/stdlib/abs.S:1.7 src/lib/libc/arch/m68k/stdlib/abs.S:1.8 --- src/lib/libc/arch/m68k/stdlib/abs.S:1.7 Tue Jul 16 20:49:42 2013 +++ src/lib/libc/arch/m68k/stdlib/abs.S Tue Jul 16 21:48:32 2013 @@ -1,4 +1,4 @@ -/* $NetBSD: abs.S,v 1.7 2013/07/16 20:49:42 matt Exp $ */ +/* $NetBSD: abs.S,v 1.8 2013/07/16 21:48:32 matt Exp $ */ /*- * Copyright (c) 1990 The Regents of the University of California. @@ -39,7 +39,7 @@ #if 0 RCSID(from: @(#)abs.s 5.1 (Berkeley) 5/12/90) #else - RCSID($NetBSD: abs.S,v 1.7 2013/07/16 20:49:42 matt Exp $) + RCSID($NetBSD: abs.S,v 1.8 2013/07/16 21:48:32 matt Exp $) #endif #endif /* LIBC_SCCS and not lint */ @@ -56,3 +56,4 @@ ENTRY(abs) negl %d0 L1: rts +END(abs) Index: src/lib/libc/arch/m68k/stdlib/llabs.S diff -u src/lib/libc/arch/m68k/stdlib/llabs.S:1.5 src/lib/libc/arch/m68k/stdlib/llabs.S:1.6 --- src/lib/libc/arch/m68k/stdlib/llabs.S:1.5 Tue Jul 16 20:49:42 2013 +++ src/lib/libc/arch/m68k/stdlib/llabs.S Tue Jul 16 21:48:32 2013 @@ -1,4 +1,4 @@ -/* $NetBSD: llabs.S,v 1.5 2013/07/16 20:49:42 matt Exp $ */ +/* $NetBSD: llabs.S,v 1.6 2013/07/16 21:48:32 matt Exp $ */ /*- * Copyright (c) 1990 The Regents of the University of California. @@ -39,21 +39,16 @@ #if 0 RCSID(from: @(#)abs.s 5.1 (Berkeley) 5/12/90) #else - RCSID($NetBSD: llabs.S,v 1.5 2013/07/16 20:49:42 matt Exp $) + RCSID($NetBSD: llabs.S,v 1.6 2013/07/16 21:48:32 matt Exp $) #endif #endif /* LIBC_SCCS and not lint */ -#ifdef WEAK_ALIAS WEAK_ALIAS(llabs, _llabs) WEAK_ALIAS(imaxabs, _llabs) -#endif + /* llabs - long long int absolute value */ -#ifdef WEAK_ALIAS ENTRY(_llabs) -#else -ENTRY(llabs) -#endif movl 8(%sp),%d1 movl 4(%sp),%d0 jge L1 @@ -61,3 +56,4 @@ ENTRY(llabs) negxl %d0 L1: rts +END(_llabs)
CVS commit: src/lib/libc/arch/m68k/quad
Module Name:src Committed By: matt Date: Tue Jul 16 21:49:45 UTC 2013 Modified Files: src/lib/libc/arch/m68k/quad: ashldi3.S ashrdi3.S lshrdi3.S Log Message: Add END(func) To generate a diff of this commit: cvs rdiff -u -r1.5 -r1.6 src/lib/libc/arch/m68k/quad/ashldi3.S \ src/lib/libc/arch/m68k/quad/ashrdi3.S cvs rdiff -u -r1.6 -r1.7 src/lib/libc/arch/m68k/quad/lshrdi3.S Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/lib/libc/arch/m68k/quad/ashldi3.S diff -u src/lib/libc/arch/m68k/quad/ashldi3.S:1.5 src/lib/libc/arch/m68k/quad/ashldi3.S:1.6 --- src/lib/libc/arch/m68k/quad/ashldi3.S:1.5 Tue Jul 16 20:49:42 2013 +++ src/lib/libc/arch/m68k/quad/ashldi3.S Tue Jul 16 21:49:45 2013 @@ -1,4 +1,4 @@ -/* $NetBSD: ashldi3.S,v 1.5 2013/07/16 20:49:42 matt Exp $ */ +/* $NetBSD: ashldi3.S,v 1.6 2013/07/16 21:49:45 matt Exp $ */ /*- * Copyright (c) 1996 The NetBSD Foundation, Inc. @@ -58,3 +58,4 @@ L2: asll %d2,%d0 L3: moveml -12(%fp),%d2-%d4 unlk %fp rts +END(__ashldi3) Index: src/lib/libc/arch/m68k/quad/ashrdi3.S diff -u src/lib/libc/arch/m68k/quad/ashrdi3.S:1.5 src/lib/libc/arch/m68k/quad/ashrdi3.S:1.6 --- src/lib/libc/arch/m68k/quad/ashrdi3.S:1.5 Tue Jul 16 20:49:42 2013 +++ src/lib/libc/arch/m68k/quad/ashrdi3.S Tue Jul 16 21:49:45 2013 @@ -1,4 +1,4 @@ -/* $NetBSD: ashrdi3.S,v 1.5 2013/07/16 20:49:42 matt Exp $ */ +/* $NetBSD: ashrdi3.S,v 1.6 2013/07/16 21:49:45 matt Exp $ */ /*- * Copyright (c) 1996 The NetBSD Foundation, Inc. @@ -59,3 +59,4 @@ L2: lsrl %d2,%d1 L3: moveml -12(%fp),%d2-%d4 unlk %fp rts +END(__ashrdi3) Index: src/lib/libc/arch/m68k/quad/lshrdi3.S diff -u src/lib/libc/arch/m68k/quad/lshrdi3.S:1.6 src/lib/libc/arch/m68k/quad/lshrdi3.S:1.7 --- src/lib/libc/arch/m68k/quad/lshrdi3.S:1.6 Tue Jul 16 20:49:42 2013 +++ src/lib/libc/arch/m68k/quad/lshrdi3.S Tue Jul 16 21:49:45 2013 @@ -1,4 +1,4 @@ -/* $NetBSD: lshrdi3.S,v 1.6 2013/07/16 20:49:42 matt Exp $ */ +/* $NetBSD: lshrdi3.S,v 1.7 2013/07/16 21:49:45 matt Exp $ */ /*- * Copyright (c) 1996 The NetBSD Foundation, Inc. @@ -58,3 +58,4 @@ L2: lsrl %d2,%d1 L3: moveml -12(%fp),%d2-%d4 unlk %fp rts +END(__lshrdi3)
CVS commit: src/lib/libc/arch/m68k/gen
Module Name:src Committed By: matt Date: Tue Jul 16 22:12:20 UTC 2013 Modified Files: src/lib/libc/arch/m68k/gen: _setjmp.S adddf3.S addsf3.S alloca.S ashlsi3.S ashrsi3.S cmpdf2.S cmpsf2.S divdf3.S divsf3.S extendsfdf2.S fabs.S fixdfsi.S fixunsdfsi.S floatsidf.S flt_rounds.S flt_rounds_softfloat.S fpgetmask.S fpgetround.S fpgetsticky.S fpsetmask.S fpsetround.S fpsetsticky.S lshlsi3.S lshrsi3.S modf.S muldf3.S mulsf3.S negdf2.S negsf2.S resumecontext.S setjmp.S sigsetjmp.S subdf3.S subsf3.S swapcontext.S truncdfsf2.S umulsi3.S Log Message: Add END(func) To generate a diff of this commit: cvs rdiff -u -r1.8 -r1.9 src/lib/libc/arch/m68k/gen/_setjmp.S \ src/lib/libc/arch/m68k/gen/fpgetround.S \ src/lib/libc/arch/m68k/gen/fpsetmask.S \ src/lib/libc/arch/m68k/gen/fpsetsticky.S \ src/lib/libc/arch/m68k/gen/muldf3.S src/lib/libc/arch/m68k/gen/negdf2.S \ src/lib/libc/arch/m68k/gen/negsf2.S cvs rdiff -u -r1.7 -r1.8 src/lib/libc/arch/m68k/gen/adddf3.S \ src/lib/libc/arch/m68k/gen/addsf3.S src/lib/libc/arch/m68k/gen/alloca.S \ src/lib/libc/arch/m68k/gen/divdf3.S src/lib/libc/arch/m68k/gen/divsf3.S \ src/lib/libc/arch/m68k/gen/extendsfdf2.S \ src/lib/libc/arch/m68k/gen/floatsidf.S \ src/lib/libc/arch/m68k/gen/fpgetmask.S \ src/lib/libc/arch/m68k/gen/fpgetsticky.S \ src/lib/libc/arch/m68k/gen/modf.S src/lib/libc/arch/m68k/gen/mulsf3.S \ src/lib/libc/arch/m68k/gen/subdf3.S src/lib/libc/arch/m68k/gen/subsf3.S \ src/lib/libc/arch/m68k/gen/truncdfsf2.S cvs rdiff -u -r1.6 -r1.7 src/lib/libc/arch/m68k/gen/ashlsi3.S \ src/lib/libc/arch/m68k/gen/ashrsi3.S src/lib/libc/arch/m68k/gen/cmpdf2.S \ src/lib/libc/arch/m68k/gen/cmpsf2.S src/lib/libc/arch/m68k/gen/fixdfsi.S \ src/lib/libc/arch/m68k/gen/fixunsdfsi.S \ src/lib/libc/arch/m68k/gen/lshlsi3.S src/lib/libc/arch/m68k/gen/lshrsi3.S \ src/lib/libc/arch/m68k/gen/resumecontext.S \ src/lib/libc/arch/m68k/gen/umulsi3.S cvs rdiff -u -r1.9 -r1.10 src/lib/libc/arch/m68k/gen/fabs.S \ src/lib/libc/arch/m68k/gen/flt_rounds.S \ src/lib/libc/arch/m68k/gen/fpsetround.S \ src/lib/libc/arch/m68k/gen/sigsetjmp.S cvs rdiff -u -r1.3 -r1.4 src/lib/libc/arch/m68k/gen/flt_rounds_softfloat.S cvs rdiff -u -r1.13 -r1.14 src/lib/libc/arch/m68k/gen/setjmp.S cvs rdiff -u -r1.4 -r1.5 src/lib/libc/arch/m68k/gen/swapcontext.S Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/lib/libc/arch/m68k/gen/_setjmp.S diff -u src/lib/libc/arch/m68k/gen/_setjmp.S:1.8 src/lib/libc/arch/m68k/gen/_setjmp.S:1.9 --- src/lib/libc/arch/m68k/gen/_setjmp.S:1.8 Tue Jul 16 20:49:42 2013 +++ src/lib/libc/arch/m68k/gen/_setjmp.S Tue Jul 16 22:12:20 2013 @@ -1,4 +1,4 @@ -/* $NetBSD: _setjmp.S,v 1.8 2013/07/16 20:49:42 matt Exp $ */ +/* $NetBSD: _setjmp.S,v 1.9 2013/07/16 22:12:20 matt Exp $ */ /*- * Copyright (c) 1990 The Regents of the University of California. @@ -39,7 +39,7 @@ #if 0 RCSID(from: @(#)_setjmp.s 5.1 (Berkeley) 5/12/90) #else - RCSID($NetBSD: _setjmp.S,v 1.8 2013/07/16 20:49:42 matt Exp $) + RCSID($NetBSD: _setjmp.S,v 1.9 2013/07/16 22:12:20 matt Exp $) #endif #endif /* LIBC_SCCS and not lint */ @@ -66,6 +66,7 @@ ENTRY(_setjmp) moveml #0x3CFC,(%a0) /* save other non-scratch regs */ clrl %d0 /* return zero */ rts +END(_setjmp) ENTRY(_longjmp) movl 4(%sp),%a0 /* save area pointer */ @@ -86,3 +87,4 @@ ok: botch: jbsr PIC_PLT(_C_LABEL(longjmperror)) stop #0 +END(_longjmp) Index: src/lib/libc/arch/m68k/gen/fpgetround.S diff -u src/lib/libc/arch/m68k/gen/fpgetround.S:1.8 src/lib/libc/arch/m68k/gen/fpgetround.S:1.9 --- src/lib/libc/arch/m68k/gen/fpgetround.S:1.8 Sun Jan 13 21:45:44 2002 +++ src/lib/libc/arch/m68k/gen/fpgetround.S Tue Jul 16 22:12:20 2013 @@ -1,4 +1,4 @@ -/* $NetBSD: fpgetround.S,v 1.8 2002/01/13 21:45:44 thorpej Exp $ */ +/* $NetBSD: fpgetround.S,v 1.9 2013/07/16 22:12:20 matt Exp $ */ /* * Written by J.T. Conklin, Apr 6, 1995 @@ -7,12 +7,9 @@ #include machine/asm.h -#ifdef WEAK_ALIAS WEAK_ALIAS(fpgetround, _fpgetround) ENTRY(_fpgetround) -#else -ENTRY(fpgetround) -#endif fmovel %fpcr,%d0 bfextu %d0{#26:#2},%d0 rts +END(_fpgetround) Index: src/lib/libc/arch/m68k/gen/fpsetmask.S diff -u src/lib/libc/arch/m68k/gen/fpsetmask.S:1.8 src/lib/libc/arch/m68k/gen/fpsetmask.S:1.9 --- src/lib/libc/arch/m68k/gen/fpsetmask.S:1.8 Tue Jul 16 20:49:42 2013 +++ src/lib/libc/arch/m68k/gen/fpsetmask.S Tue Jul 16 22:12:20 2013 @@ -1,4 +1,4 @@ -/* $NetBSD: fpsetmask.S,v 1.8 2013/07/16 20:49:42 matt Exp $ */ +/* $NetBSD: fpsetmask.S,v 1.9 2013/07/16 22:12:20 matt Exp $ */ /* * Written by Charles M. Hannum, Apr 9, 1995 @@ -7,12 +7,8 @@ #include machine/asm.h -#ifdef WEAK_ALIAS WEAK_ALIAS(fpsetmask, _fpsetmask) ENTRY(_fpsetmask) -#else -ENTRY(fpsetmask) -#endif movel %d2,-(%sp)
CVS commit: src/lib/libc/arch/m68k/sys
Module Name:src Committed By: matt Date: Tue Jul 16 22:15:55 UTC 2013 Modified Files: src/lib/libc/arch/m68k/sys: __m68k_read_tp.S fork.S getcontext.S mremap.S Log Message: Add END(func) To generate a diff of this commit: cvs rdiff -u -r1.1 -r1.2 src/lib/libc/arch/m68k/sys/__m68k_read_tp.S cvs rdiff -u -r1.7 -r1.8 src/lib/libc/arch/m68k/sys/fork.S cvs rdiff -u -r1.4 -r1.5 src/lib/libc/arch/m68k/sys/getcontext.S cvs rdiff -u -r1.2 -r1.3 src/lib/libc/arch/m68k/sys/mremap.S Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/lib/libc/arch/m68k/sys/__m68k_read_tp.S diff -u src/lib/libc/arch/m68k/sys/__m68k_read_tp.S:1.1 src/lib/libc/arch/m68k/sys/__m68k_read_tp.S:1.2 --- src/lib/libc/arch/m68k/sys/__m68k_read_tp.S:1.1 Tue Nov 22 15:25:28 2011 +++ src/lib/libc/arch/m68k/sys/__m68k_read_tp.S Tue Jul 16 22:15:55 2013 @@ -4,4 +4,4 @@ ENTRY(__m68k_read_tp) SYSTRAP(_lwp_getprivate) movl %d0,%a0 rts - .size __m68k_read_tp, .-__m68k_read_tp +END(__m68k_read_tp) Index: src/lib/libc/arch/m68k/sys/fork.S diff -u src/lib/libc/arch/m68k/sys/fork.S:1.7 src/lib/libc/arch/m68k/sys/fork.S:1.8 --- src/lib/libc/arch/m68k/sys/fork.S:1.7 Thu Aug 7 16:42:14 2003 +++ src/lib/libc/arch/m68k/sys/fork.S Tue Jul 16 22:15:55 2013 @@ -1,4 +1,4 @@ -/* $NetBSD: fork.S,v 1.7 2003/08/07 16:42:14 agc Exp $ */ +/* $NetBSD: fork.S,v 1.8 2013/07/16 22:15:55 matt Exp $ */ /*- * Copyright (c) 1990 The Regents of the University of California. @@ -39,7 +39,7 @@ #if 0 RCSID(from: @(#)fork.s 5.1 (Berkeley) 5/12/90) #else - RCSID($NetBSD: fork.S,v 1.7 2003/08/07 16:42:14 agc Exp $) + RCSID($NetBSD: fork.S,v 1.8 2013/07/16 22:15:55 matt Exp $) #endif #endif /* LIBC_SCCS and not lint */ @@ -47,3 +47,4 @@ _SYSCALL(__fork,fork) subql #1,%d1 /* from 1 to 0 in child, 0 to -1 in parent */ andl %d1,%d0 rts /* pid = fork() */ +END(__fork) Index: src/lib/libc/arch/m68k/sys/getcontext.S diff -u src/lib/libc/arch/m68k/sys/getcontext.S:1.4 src/lib/libc/arch/m68k/sys/getcontext.S:1.5 --- src/lib/libc/arch/m68k/sys/getcontext.S:1.4 Tue Jul 16 20:49:42 2013 +++ src/lib/libc/arch/m68k/sys/getcontext.S Tue Jul 16 22:15:55 2013 @@ -1,4 +1,4 @@ -/* $NetBSD: getcontext.S,v 1.4 2013/07/16 20:49:42 matt Exp $ */ +/* $NetBSD: getcontext.S,v 1.5 2013/07/16 22:15:55 matt Exp $ */ /*- * Copyright (c) 2001 The NetBSD Foundation, Inc. @@ -32,7 +32,7 @@ #include SYS.h #if defined(SYSLIBC_SCCS) !defined(lint) - RCSID($NetBSD: getcontext.S,v 1.4 2013/07/16 20:49:42 matt Exp $) + RCSID($NetBSD: getcontext.S,v 1.5 2013/07/16 22:15:55 matt Exp $) #endif /* SYSLIBC_SCCS !lint */ #ifdef WEAK_ALIAS @@ -45,3 +45,4 @@ _SYSCALL(_getcontext,getcontext) movl (%sp),100(%a0) | adjust saved program counter clrl 36(%a0) | arrange for return value of 0 rts +END(_getcontext) Index: src/lib/libc/arch/m68k/sys/mremap.S diff -u src/lib/libc/arch/m68k/sys/mremap.S:1.2 src/lib/libc/arch/m68k/sys/mremap.S:1.3 --- src/lib/libc/arch/m68k/sys/mremap.S:1.2 Mon Apr 28 20:22:56 2008 +++ src/lib/libc/arch/m68k/sys/mremap.S Tue Jul 16 22:15:55 2013 @@ -1,4 +1,4 @@ -/* $NetBSD: mremap.S,v 1.2 2008/04/28 20:22:56 martin Exp $ */ +/* $NetBSD: mremap.S,v 1.3 2013/07/16 22:15:55 matt Exp $ */ /*- * Copyright (c) 2007 The NetBSD Foundation, Inc. @@ -33,3 +33,4 @@ SYSCALL(mremap) movl %d0,%a0 #endif rts +END(mremap)
CVS commit: src/lib/libc/arch/m68k/sys
Module Name:src Committed By: matt Date: Tue Jul 16 22:16:53 UTC 2013 Modified Files: src/lib/libc/arch/m68k/sys: pipe.S shmat.S Log Message: Add END(func) To generate a diff of this commit: cvs rdiff -u -r1.7 -r1.8 src/lib/libc/arch/m68k/sys/pipe.S cvs rdiff -u -r1.2 -r1.3 src/lib/libc/arch/m68k/sys/shmat.S Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/lib/libc/arch/m68k/sys/pipe.S diff -u src/lib/libc/arch/m68k/sys/pipe.S:1.7 src/lib/libc/arch/m68k/sys/pipe.S:1.8 --- src/lib/libc/arch/m68k/sys/pipe.S:1.7 Tue Jul 16 20:49:42 2013 +++ src/lib/libc/arch/m68k/sys/pipe.S Tue Jul 16 22:16:53 2013 @@ -1,4 +1,4 @@ -/* $NetBSD: pipe.S,v 1.7 2013/07/16 20:49:42 matt Exp $ */ +/* $NetBSD: pipe.S,v 1.8 2013/07/16 22:16:53 matt Exp $ */ /*- * Copyright (c) 1990 The Regents of the University of California. @@ -39,7 +39,7 @@ #if 0 RCSID(from: @(#)pipe.s 5.1 (Berkeley) 5/12/90) #else - RCSID($NetBSD: pipe.S,v 1.7 2013/07/16 20:49:42 matt Exp $) + RCSID($NetBSD: pipe.S,v 1.8 2013/07/16 22:16:53 matt Exp $) #endif #endif /* LIBC_SCCS and not lint */ @@ -53,3 +53,4 @@ _SYSCALL(_pipe,pipe) movl %d1,(%a0) clrl %d0 rts +END(_pipe) Index: src/lib/libc/arch/m68k/sys/shmat.S diff -u src/lib/libc/arch/m68k/sys/shmat.S:1.2 src/lib/libc/arch/m68k/sys/shmat.S:1.3 --- src/lib/libc/arch/m68k/sys/shmat.S:1.2 Mon Apr 28 20:22:56 2008 +++ src/lib/libc/arch/m68k/sys/shmat.S Tue Jul 16 22:16:53 2013 @@ -1,4 +1,4 @@ -/* $NetBSD: shmat.S,v 1.2 2008/04/28 20:22:56 martin Exp $ */ +/* $NetBSD: shmat.S,v 1.3 2013/07/16 22:16:53 matt Exp $ */ /*- * Copyright (c) 2000 The NetBSD Foundation, Inc. @@ -33,3 +33,4 @@ SYSCALL(shmat) movl %d0,%a0 #endif rts +END(shmat)
CVS commit: src/lib/libc/arch/m68k
Module Name:src Committed By: matt Date: Tue Jul 16 22:18:14 UTC 2013 Modified Files: src/lib/libc/arch/m68k: SYS.h Log Message: Make CERROR hidden. Use END() appropriately. To generate a diff of this commit: cvs rdiff -u -r1.16 -r1.17 src/lib/libc/arch/m68k/SYS.h Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/lib/libc/arch/m68k/SYS.h diff -u src/lib/libc/arch/m68k/SYS.h:1.16 src/lib/libc/arch/m68k/SYS.h:1.17 --- src/lib/libc/arch/m68k/SYS.h:1.16 Thu Aug 7 16:42:09 2003 +++ src/lib/libc/arch/m68k/SYS.h Tue Jul 16 22:18:14 2013 @@ -1,4 +1,4 @@ -/* $NetBSD: SYS.h,v 1.16 2003/08/07 16:42:09 agc Exp $ */ +/* $NetBSD: SYS.h,v 1.17 2013/07/16 22:18:14 matt Exp $ */ /*- * Copyright (c) 1990 The Regents of the University of California. @@ -45,23 +45,15 @@ #define SYSTRAP(x) movl #SYS_/**/x,%d0; trap #0 #endif -#ifdef __ELF__ #define CERROR _C_LABEL(__cerror) -#define CURBRK _C_LABEL(__curbrk) -#else -#define CERROR _ASM_LABEL(cerror) -#define CURBRK _ASM_LABEL(curbrk) -#endif #define _SYSCALL_NOERROR(x,y) \ ENTRY(x); \ SYSTRAP(y) #define _SYSCALL(x,y) \ - .even;\ - err: jra PIC_PLT(CERROR); \ _SYSCALL_NOERROR(x,y); \ - jcs err + jcc CERROR #define SYSCALL_NOERROR(x) \ _SYSCALL_NOERROR(x,x) @@ -71,11 +63,13 @@ #define PSEUDO_NOERROR(x,y) \ _SYSCALL_NOERROR(x,y); \ - rts + rts;\ + END(x) #define PSEUDO(x,y) \ _SYSCALL(x,y); \ - rts + rts;\ + END(x) #define RSYSCALL_NOERROR(x) \ PSEUDO_NOERROR(x,x) @@ -95,3 +89,4 @@ #define ASMSTR .asciz .globl CERROR + .hidden CERROR
CVS commit: src/lib/libc/arch/m68k/sys
Module Name:src Committed By: matt Date: Tue Jul 16 22:19:37 UTC 2013 Modified Files: src/lib/libc/arch/m68k/sys: __mmap.S Log Message: Add END(func) To generate a diff of this commit: cvs rdiff -u -r1.2 -r1.3 src/lib/libc/arch/m68k/sys/__mmap.S Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/lib/libc/arch/m68k/sys/__mmap.S diff -u src/lib/libc/arch/m68k/sys/__mmap.S:1.2 src/lib/libc/arch/m68k/sys/__mmap.S:1.3 --- src/lib/libc/arch/m68k/sys/__mmap.S:1.2 Mon Apr 28 20:22:56 2008 +++ src/lib/libc/arch/m68k/sys/__mmap.S Tue Jul 16 22:19:37 2013 @@ -1,4 +1,4 @@ -/* $NetBSD: __mmap.S,v 1.2 2008/04/28 20:22:56 martin Exp $ */ +/* $NetBSD: __mmap.S,v 1.3 2013/07/16 22:19:37 matt Exp $ */ /*- * Copyright (c) 2007 The NetBSD Foundation, Inc. @@ -33,3 +33,4 @@ _SYSCALL(__mmap,mmap) movl %d0,%a0 #endif rts +END(__mmap)
CVS commit: src/lib/libc/arch/m68k/sys
Module Name:src Committed By: matt Date: Tue Jul 16 22:19:16 UTC 2013 Modified Files: src/lib/libc/arch/m68k/sys: __sigtramp2.S _lwp_getprivate.S Log Message: Add END(func) Use SYSTRAP To generate a diff of this commit: cvs rdiff -u -r1.3 -r1.4 src/lib/libc/arch/m68k/sys/__sigtramp2.S cvs rdiff -u -r1.2 -r1.3 src/lib/libc/arch/m68k/sys/_lwp_getprivate.S Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/lib/libc/arch/m68k/sys/__sigtramp2.S diff -u src/lib/libc/arch/m68k/sys/__sigtramp2.S:1.3 src/lib/libc/arch/m68k/sys/__sigtramp2.S:1.4 --- src/lib/libc/arch/m68k/sys/__sigtramp2.S:1.3 Tue Jul 16 20:49:42 2013 +++ src/lib/libc/arch/m68k/sys/__sigtramp2.S Tue Jul 16 22:19:16 2013 @@ -1,4 +1,4 @@ -/* $NetBSD: __sigtramp2.S,v 1.3 2013/07/16 20:49:42 matt Exp $ */ +/* $NetBSD: __sigtramp2.S,v 1.4 2013/07/16 22:19:16 matt Exp $ */ /*- * Copyright (c) 2003 The NetBSD Foundation, Inc. @@ -44,7 +44,7 @@ ENTRY_NOPROFILE(__sigtramp_siginfo_2) movl 8(%sp),%a0 /* get pointer to ucontext */ movl %a0,4(%sp) /* put it in the argument slot */ /* fake return address already there */ -movl#SYS_setcontext,%d0 -trap#0 + SYSTRAP(setcontext) movl %d0,4(%sp) /* error code */ SYSTRAP(exit) /* exit */ +END(__sigtramp_siginfo_2) Index: src/lib/libc/arch/m68k/sys/_lwp_getprivate.S diff -u src/lib/libc/arch/m68k/sys/_lwp_getprivate.S:1.2 src/lib/libc/arch/m68k/sys/_lwp_getprivate.S:1.3 --- src/lib/libc/arch/m68k/sys/_lwp_getprivate.S:1.2 Mon Apr 28 20:22:56 2008 +++ src/lib/libc/arch/m68k/sys/_lwp_getprivate.S Tue Jul 16 22:19:16 2013 @@ -1,4 +1,4 @@ -/* $NetBSD: _lwp_getprivate.S,v 1.2 2008/04/28 20:22:56 martin Exp $ */ +/* $NetBSD: _lwp_getprivate.S,v 1.3 2013/07/16 22:19:16 matt Exp $ */ /*- * Copyright (c) 2007 The NetBSD Foundation, Inc. @@ -33,3 +33,4 @@ SYSCALL(_lwp_getprivate) movl %d0,%a0 #endif rts +END(_lwp_getprivate)
CVS commit: src/lib/libc/arch/m68k/sys
Module Name:src Committed By: matt Date: Tue Jul 16 22:20:35 UTC 2013 Modified Files: src/lib/libc/arch/m68k/sys: exect.S syscall.S Log Message: Use SYSTRAP Use a branch for CERROR (avoid the PLT) To generate a diff of this commit: cvs rdiff -u -r1.7 -r1.8 src/lib/libc/arch/m68k/sys/exect.S \ src/lib/libc/arch/m68k/sys/syscall.S Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/lib/libc/arch/m68k/sys/exect.S diff -u src/lib/libc/arch/m68k/sys/exect.S:1.7 src/lib/libc/arch/m68k/sys/exect.S:1.8 --- src/lib/libc/arch/m68k/sys/exect.S:1.7 Thu Aug 7 16:42:14 2003 +++ src/lib/libc/arch/m68k/sys/exect.S Tue Jul 16 22:20:35 2013 @@ -1,4 +1,4 @@ -/* $NetBSD: exect.S,v 1.7 2003/08/07 16:42:14 agc Exp $ */ +/* $NetBSD: exect.S,v 1.8 2013/07/16 22:20:35 matt Exp $ */ /*- * Copyright (c) 1990 The Regents of the University of California. @@ -40,11 +40,11 @@ #if 0 RCSID(from: @(#)exect.s 5.1 (Berkeley) 5/12/90) #else - RCSID($NetBSD: exect.S,v 1.7 2003/08/07 16:42:14 agc Exp $) + RCSID($NetBSD: exect.S,v 1.8 2013/07/16 22:20:35 matt Exp $) #endif #endif /* LIBC_SCCS and not lint */ ENTRY(exect) - movl #SYS_execve,%d0 - trap #0 - jra PIC_PLT(CERROR) /* exect(file, argv, env) */ + SYSTRAP(execve) + jbra CERROR /* exect(file, argv, env) */ +END(exect) Index: src/lib/libc/arch/m68k/sys/syscall.S diff -u src/lib/libc/arch/m68k/sys/syscall.S:1.7 src/lib/libc/arch/m68k/sys/syscall.S:1.8 --- src/lib/libc/arch/m68k/sys/syscall.S:1.7 Thu Aug 7 16:42:14 2003 +++ src/lib/libc/arch/m68k/sys/syscall.S Tue Jul 16 22:20:35 2013 @@ -1,4 +1,4 @@ -/* $NetBSD: syscall.S,v 1.7 2003/08/07 16:42:14 agc Exp $ */ +/* $NetBSD: syscall.S,v 1.8 2013/07/16 22:20:35 matt Exp $ */ /*- * Copyright (c) 1990 The Regents of the University of California. @@ -39,14 +39,13 @@ #if 0 RCSID(from: @(#)syscall.s 5.1 (Berkeley) 5/12/90) #else - RCSID($NetBSD: syscall.S,v 1.7 2003/08/07 16:42:14 agc Exp $) + RCSID($NetBSD: syscall.S,v 1.8 2013/07/16 22:20:35 matt Exp $) #endif #endif /* LIBC_SCCS and not lint */ ENTRY(syscall) clrl %d0 trap #0 - jcs err + jcc CERROR rts -err: - jra PIC_PLT(CERROR) +END(syscall)
CVS commit: src/sys/arch/m68k/include
Module Name:src Committed By: matt Date: Tue Jul 16 22:23:15 UTC 2013 Modified Files: src/sys/arch/m68k/include: asm.h Log Message: Remove non __ELF__ clauses. Add GOT_SETUP and LEA_LCL macros. To generate a diff of this commit: cvs rdiff -u -r1.29 -r1.30 src/sys/arch/m68k/include/asm.h Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/sys/arch/m68k/include/asm.h diff -u src/sys/arch/m68k/include/asm.h:1.29 src/sys/arch/m68k/include/asm.h:1.30 --- src/sys/arch/m68k/include/asm.h:1.29 Tue Jul 16 21:01:03 2013 +++ src/sys/arch/m68k/include/asm.h Tue Jul 16 22:23:15 2013 @@ -1,4 +1,4 @@ -/* $NetBSD: asm.h,v 1.29 2013/07/16 21:01:03 matt Exp $ */ +/* $NetBSD: asm.h,v 1.30 2013/07/16 22:23:15 matt Exp $ */ /*- * Copyright (c) 1997 The NetBSD Foundation, Inc. @@ -73,25 +73,22 @@ #ifndef _M68K_ASM_H_ #define _M68K_ASM_H_ -#if defined(__ELF__) defined(PIC) -#define PIC_PLT(name) name@PLTPC +#if defined(PIC) +#define PIC_PLT(name) name@PLTPC +#define LEA_LCL(name,reg) lea (name,%pc),reg +#define GOT_SETUP(reg) lea (_GLOBAL_OFFSET_TABLE_@GOTPC,%pc),reg #else -#define PIC_PLT(name) name +#define __IMMEDIATE # +#define PIC_PLT(name) name +#define LEA_LCL(name,reg) movl __IMMEDIATE name,reg +#define GOT_SETUP(reg) /* nothing */ #endif -#ifdef __ELF__ -# if __STDC__ -# define _C_LABEL(name) name -# else -# define _C_LABEL(name) name +#if __STDC__ +# define _C_LABEL(name) name +#else +# define _C_LABEL(name) name #endif /* __STDC__ */ -#else /* __ELF__ */ -# if __STDC__ -# define _C_LABEL(name) _ ## name -# else -# define _C_LABEL(name) _/**/name -# endif /* __STDC__ */ -#endif /* __ELF__ */ #define _ASM_LABEL(name) name @@ -99,11 +96,7 @@ .text; .even; .globl name; .type name,@function; name: #define END(name) .size name,.-name -#ifdef __ELF__ #define MCOUNT_ENTRY __mcount -#else -#define MCOUNT_ENTRY mcount -#endif #ifdef GPROF #define _PROF_PROLOG link %a6,#0; jbsr MCOUNT_ENTRY; unlk %a6 @@ -219,11 +212,10 @@ #define VECTOR_UNUSED \ .long 0 -#ifdef __ELF__ #define WEAK_ALIAS(alias,sym) \ .weak alias; \ alias = sym -#endif + /* * STRONG_ALIAS: create a strong alias. */
CVS commit: src/lib/libc
Module Name:src Committed By: matt Date: Tue Jul 16 23:00:15 UTC 2013 Modified Files: src/lib/libc/arch/m68k/sys: __clone.S __vfork14.S brk.S cerror.S ptrace.S sbrk.S src/lib/libc/compat/arch/m68k/sys: compat_Ovfork.S compat___sigreturn14.S compat___sigtramp1.S compat_sigpending.S compat_sigprocmask.S compat_sigreturn.S compat_sigsuspend.S Log Message: Use SYSTRAP. Don't use the PLT to call CERROR Use LEA_LCL / GOT_SETUP Remove non-__ELF__ code. Make __minbrk and __curbrk hidden and avoid using the GOT for them. Convert to motorola syntax. To generate a diff of this commit: cvs rdiff -u -r1.4 -r1.5 src/lib/libc/arch/m68k/sys/__clone.S cvs rdiff -u -r1.10 -r1.11 src/lib/libc/arch/m68k/sys/__vfork14.S cvs rdiff -u -r1.16 -r1.17 src/lib/libc/arch/m68k/sys/brk.S \ src/lib/libc/arch/m68k/sys/cerror.S cvs rdiff -u -r1.12 -r1.13 src/lib/libc/arch/m68k/sys/ptrace.S cvs rdiff -u -r1.15 -r1.16 src/lib/libc/arch/m68k/sys/sbrk.S cvs rdiff -u -r1.1 -r1.2 src/lib/libc/compat/arch/m68k/sys/compat_Ovfork.S \ src/lib/libc/compat/arch/m68k/sys/compat___sigreturn14.S \ src/lib/libc/compat/arch/m68k/sys/compat_sigpending.S \ src/lib/libc/compat/arch/m68k/sys/compat_sigprocmask.S \ src/lib/libc/compat/arch/m68k/sys/compat_sigreturn.S \ src/lib/libc/compat/arch/m68k/sys/compat_sigsuspend.S cvs rdiff -u -r1.2 -r1.3 \ src/lib/libc/compat/arch/m68k/sys/compat___sigtramp1.S Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/lib/libc/arch/m68k/sys/__clone.S diff -u src/lib/libc/arch/m68k/sys/__clone.S:1.4 src/lib/libc/arch/m68k/sys/__clone.S:1.5 --- src/lib/libc/arch/m68k/sys/__clone.S:1.4 Tue Jul 16 20:49:42 2013 +++ src/lib/libc/arch/m68k/sys/__clone.S Tue Jul 16 23:00:15 2013 @@ -1,4 +1,4 @@ -/* $NetBSD: __clone.S,v 1.4 2013/07/16 20:49:42 matt Exp $ */ +/* $NetBSD: __clone.S,v 1.5 2013/07/16 23:00:15 matt Exp $ */ /*- * Copyright (c) 2001 The NetBSD Foundation, Inc. @@ -62,4 +62,5 @@ ENTRY(__clone) /* NOTREACHED */ 1: rts 2: movl #EINVAL,%d0 -3: jra PIC_PLT(CERROR) +3: jbra CERROR +END(__clone) Index: src/lib/libc/arch/m68k/sys/__vfork14.S diff -u src/lib/libc/arch/m68k/sys/__vfork14.S:1.10 src/lib/libc/arch/m68k/sys/__vfork14.S:1.11 --- src/lib/libc/arch/m68k/sys/__vfork14.S:1.10 Tue Jul 16 20:49:42 2013 +++ src/lib/libc/arch/m68k/sys/__vfork14.S Tue Jul 16 23:00:15 2013 @@ -1,4 +1,4 @@ -/* $NetBSD: __vfork14.S,v 1.10 2013/07/16 20:49:42 matt Exp $ */ +/* $NetBSD: __vfork14.S,v 1.11 2013/07/16 23:00:15 matt Exp $ */ /*- * Copyright (c) 1990 The Regents of the University of California. @@ -39,7 +39,7 @@ #if 0 RCSID(from: @(#)Ovfork.s 5.1 (Berkeley) 5/12/90) #else - RCSID($NetBSD: __vfork14.S,v 1.10 2013/07/16 20:49:42 matt Exp $) + RCSID($NetBSD: __vfork14.S,v 1.11 2013/07/16 23:00:15 matt Exp $) #endif #endif /* LIBC_SCCS and not lint */ @@ -61,8 +61,7 @@ ENTRY(__vfork14) movl (%sp)+,%a1 - movl #SYS___vfork14,%d0 - trap #0 + SYSTRAP(__vfork14) jcs err subql #1,%d1 /* from 1 to 0 in child, 0 to -1 in parent */ andl %d1,%d0 @@ -81,14 +80,15 @@ err: #endif movl (%sp)+,%a1 #else - .globl _C_LABEL(errno) #ifdef PIC - lea (_GLOBAL_OFFSET_TABLE_@GOTPC,%pc),%a0 + GOT_SETUP(%a0) movl _C_LABEL(errno)@GOT:w(%a0),%a0 movl %d0,(%a0) #else + .globl _C_LABEL(errno) movl %d0,_C_LABEL(errno) #endif /* PIC */ #endif /* _REENTRANT */ moveq #-1,%d0 jmp (%a1) +END(__vfork14) Index: src/lib/libc/arch/m68k/sys/brk.S diff -u src/lib/libc/arch/m68k/sys/brk.S:1.16 src/lib/libc/arch/m68k/sys/brk.S:1.17 --- src/lib/libc/arch/m68k/sys/brk.S:1.16 Tue Jul 16 20:49:42 2013 +++ src/lib/libc/arch/m68k/sys/brk.S Tue Jul 16 23:00:15 2013 @@ -1,4 +1,4 @@ -/* $NetBSD: brk.S,v 1.16 2013/07/16 20:49:42 matt Exp $ */ +/* $NetBSD: brk.S,v 1.17 2013/07/16 23:00:15 matt Exp $ */ /*- * Copyright (c) 1990 The Regents of the University of California. @@ -39,13 +39,15 @@ #if 0 RCSID(from: @(#)brk.s 5.1 (Berkeley) 5/12/90) #else - RCSID($NetBSD: brk.S,v 1.16 2013/07/16 20:49:42 matt Exp $) + RCSID($NetBSD: brk.S,v 1.17 2013/07/16 23:00:15 matt Exp $) #endif #endif /* LIBC_SCCS and not lint */ .globl _end .globl _C_LABEL(__minbrk) + .hidden _C_LABEL(__minbrk) .globl _C_LABEL(__curbrk) + .hidden _C_LABEL(__curbrk) #ifdef WEAK_ALIAS WEAK_ALIAS(brk, _brk) @@ -59,26 +61,23 @@ _C_LABEL(__minbrk): ENTRY(_brk) #ifdef PIC - lea (_GLOBAL_OFFSET_TABLE_@GOTPC,%pc),%a1 - movl _C_LABEL(__minbrk)@GOT:w(%a1),%a0 - movl (%a0),%d0 + LEA_LCL(_C_LABEL(__minbrk),%a1) + movl (%a1),%a1 #else - movl _C_LABEL(__minbrk),%d0 + movl _C_LABEL(__minbrk),%a1 #endif - cmpl 4(%sp),%d0 + cmpl 4(%sp),%a1 jls ok - movl %d0,4(%sp) + movl %a1,4(%sp) ok: - movl #SYS_break,%d0 - trap #0 - jcs err + SYSTRAP(break) + jcc CERROR #ifdef PIC - movl _C_LABEL(__curbrk)@GOT:w(%a1),%a0 - movl 4(%sp),(%a0) + LEA_LCL(_C_LABEL(__curbrk),%a0) + movl
CVS commit: src/sys/arch/m68k/include
Module Name:src Committed By: matt Date: Tue Jul 16 23:01:05 UTC 2013 Modified Files: src/sys/arch/m68k/include: asm.h Log Message: Make INTERRUPT_{SAVE,RESTORE}REG visible to userland To generate a diff of this commit: cvs rdiff -u -r1.30 -r1.31 src/sys/arch/m68k/include/asm.h Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/sys/arch/m68k/include/asm.h diff -u src/sys/arch/m68k/include/asm.h:1.30 src/sys/arch/m68k/include/asm.h:1.31 --- src/sys/arch/m68k/include/asm.h:1.30 Tue Jul 16 22:23:15 2013 +++ src/sys/arch/m68k/include/asm.h Tue Jul 16 23:01:05 2013 @@ -1,4 +1,4 @@ -/* $NetBSD: asm.h,v 1.30 2013/07/16 22:23:15 matt Exp $ */ +/* $NetBSD: asm.h,v 1.31 2013/07/16 23:01:05 matt Exp $ */ /*- * Copyright (c) 1997 The NetBSD Foundation, Inc. @@ -162,6 +162,13 @@ #define ASBSS(name, size)\ .comm _ASM_LABEL(name),size +/* + * Need a better place for these but these are common across + * all m68k ports so let's define just once. + */ +#define INTERRUPT_SAVEREG moveml #0xC0C0,%sp@- +#define INTERRUPT_RESTOREREG moveml %sp@+,#0x0303 + #ifdef _KERNEL /* * Shorthand for calling panic(). @@ -173,13 +180,6 @@ 9: .asciz x ; \ .even -/* - * Need a better place for these but these are common across - * all m68k ports so let's define just once. - */ -#define INTERRUPT_SAVEREG moveml #0xC0C0,%sp@- -#define INTERRUPT_RESTOREREG moveml %sp@+,#0x0303 - /* 64-bit counter increments */ #define CPUINFO_INCREMENT(n) \ lea _C_LABEL(cpu_info_store)+(n)+4,%a1; \
CVS commit: src/common/lib/libc/arch/m68k
Module Name:src Committed By: matt Date: Tue Jul 16 23:24:19 UTC 2013 Modified Files: src/common/lib/libc/arch/m68k/atomic: atomic_add.S atomic_and.S atomic_cas.S atomic_cas_68000.S atomic_dec.S atomic_inc.S atomic_or.S atomic_swap.S src/common/lib/libc/arch/m68k/gen: bswap16.S bswap32.S bswap64.S divsi3.S modsi3.S mulsi3.S udivsi3.S umodsi3.S src/common/lib/libc/arch/m68k/net: htonl.S htons.S ntohl.S ntohs.S src/common/lib/libc/arch/m68k/string: bcmp.S bcopy.S bzero.S ffs.S memcmp.S memset.S strcat.S strchr.S strcmp.S strcpy.S strlen.S strncmp.S strncpy.S strrchr.S Log Message: Add END(func) Fix some straggling %r@eol to (%r) To generate a diff of this commit: cvs rdiff -u -r1.5 -r1.6 src/common/lib/libc/arch/m68k/atomic/atomic_add.S \ src/common/lib/libc/arch/m68k/atomic/atomic_dec.S \ src/common/lib/libc/arch/m68k/atomic/atomic_inc.S \ src/common/lib/libc/arch/m68k/atomic/atomic_swap.S cvs rdiff -u -r1.7 -r1.8 src/common/lib/libc/arch/m68k/atomic/atomic_and.S \ src/common/lib/libc/arch/m68k/atomic/atomic_or.S cvs rdiff -u -r1.6 -r1.7 src/common/lib/libc/arch/m68k/atomic/atomic_cas.S cvs rdiff -u -r1.4 -r1.5 \ src/common/lib/libc/arch/m68k/atomic/atomic_cas_68000.S cvs rdiff -u -r1.3 -r1.4 src/common/lib/libc/arch/m68k/gen/bswap16.S \ src/common/lib/libc/arch/m68k/gen/bswap32.S \ src/common/lib/libc/arch/m68k/gen/divsi3.S \ src/common/lib/libc/arch/m68k/gen/mulsi3.S \ src/common/lib/libc/arch/m68k/gen/udivsi3.S \ src/common/lib/libc/arch/m68k/gen/umodsi3.S cvs rdiff -u -r1.2 -r1.3 src/common/lib/libc/arch/m68k/gen/bswap64.S cvs rdiff -u -r1.4 -r1.5 src/common/lib/libc/arch/m68k/gen/modsi3.S cvs rdiff -u -r1.2 -r1.3 src/common/lib/libc/arch/m68k/net/htonl.S \ src/common/lib/libc/arch/m68k/net/htons.S \ src/common/lib/libc/arch/m68k/net/ntohl.S \ src/common/lib/libc/arch/m68k/net/ntohs.S cvs rdiff -u -r1.3 -r1.4 src/common/lib/libc/arch/m68k/string/bcmp.S \ src/common/lib/libc/arch/m68k/string/bcopy.S \ src/common/lib/libc/arch/m68k/string/bzero.S \ src/common/lib/libc/arch/m68k/string/ffs.S \ src/common/lib/libc/arch/m68k/string/memset.S \ src/common/lib/libc/arch/m68k/string/strchr.S \ src/common/lib/libc/arch/m68k/string/strcmp.S \ src/common/lib/libc/arch/m68k/string/strncmp.S \ src/common/lib/libc/arch/m68k/string/strrchr.S cvs rdiff -u -r1.2 -r1.3 src/common/lib/libc/arch/m68k/string/memcmp.S \ src/common/lib/libc/arch/m68k/string/strcat.S \ src/common/lib/libc/arch/m68k/string/strcpy.S \ src/common/lib/libc/arch/m68k/string/strlen.S \ src/common/lib/libc/arch/m68k/string/strncpy.S Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/common/lib/libc/arch/m68k/atomic/atomic_add.S diff -u src/common/lib/libc/arch/m68k/atomic/atomic_add.S:1.5 src/common/lib/libc/arch/m68k/atomic/atomic_add.S:1.6 --- src/common/lib/libc/arch/m68k/atomic/atomic_add.S:1.5 Tue Jul 16 20:49:41 2013 +++ src/common/lib/libc/arch/m68k/atomic/atomic_add.S Tue Jul 16 23:24:18 2013 @@ -1,4 +1,4 @@ -/* $NetBSD: atomic_add.S,v 1.5 2013/07/16 20:49:41 matt Exp $ */ +/* $NetBSD: atomic_add.S,v 1.6 2013/07/16 23:24:18 matt Exp $ */ /*- * Copyright (c) 2007 The NetBSD Foundation, Inc. @@ -37,8 +37,9 @@ ENTRY(_atomic_add_32) movl 4(%sp), %a0 movl 8(%sp), %d0 - addl %d0, %a0@ + addl %d0, (%a0) rts +END(_atomic_add_32) ATOMIC_OP_ALIAS(atomic_add_32,_atomic_add_32) ATOMIC_OP_ALIAS(atomic_add_int,_atomic_add_32) STRONG_ALIAS(_atomic_add_int,_atomic_add_32) @@ -52,10 +53,12 @@ ENTRY(_atomic_add_32_nv) 1: movl (%a0), %d0 movl %d0, %d1 addl 8(%sp), %d0 - casl %d1, %d0, %a0@ + casl %d1, %d0, (%a0) bne 1b movl %d0, %a0 /* pointers return also in %a0 */ rts +END(_atomic_add_32_nv) + ATOMIC_OP_ALIAS(atomic_add_32_nv,_atomic_add_32_nv) ATOMIC_OP_ALIAS(atomic_add_int_nv,_atomic_add_32_nv) STRONG_ALIAS(_atomic_add_int_nv,_atomic_add_32_nv) Index: src/common/lib/libc/arch/m68k/atomic/atomic_dec.S diff -u src/common/lib/libc/arch/m68k/atomic/atomic_dec.S:1.5 src/common/lib/libc/arch/m68k/atomic/atomic_dec.S:1.6 --- src/common/lib/libc/arch/m68k/atomic/atomic_dec.S:1.5 Tue Jul 16 20:49:41 2013 +++ src/common/lib/libc/arch/m68k/atomic/atomic_dec.S Tue Jul 16 23:24:18 2013 @@ -1,4 +1,4 @@ -/* $NetBSD: atomic_dec.S,v 1.5 2013/07/16 20:49:41 matt Exp $ */ +/* $NetBSD: atomic_dec.S,v 1.6 2013/07/16 23:24:18 matt Exp $ */ /*- * Copyright (c) 2007 The NetBSD Foundation, Inc. @@ -35,8 +35,9 @@ ENTRY(_atomic_dec_32) movl 4(%sp), %a0 - subql #1, %a0@ + subql #1, (%a0) rts +END(_atomic_dec_32) ATOMIC_OP_ALIAS(atomic_dec_32,_atomic_dec_32) ATOMIC_OP_ALIAS(atomic_dec_uint,_atomic_dec_32) STRONG_ALIAS(_atomic_dec_uint,_atomic_dec_32) @@ -50,10 +51,11 @@ ENTRY(_atomic_dec_32_nv) 1: movl (%a0), %d0 movl %d0, %d1 subql #1, %d0
CVS commit: src/lib/libc/arch/m68k
Module Name:src Committed By: matt Date: Wed Jul 17 01:41:17 UTC 2013 Modified Files: src/lib/libc/arch/m68k: Makefile.inc Added Files: src/lib/libc/arch/m68k: genassym.cf Log Message: Add genassym / assym.h support To generate a diff of this commit: cvs rdiff -u -r1.14 -r1.15 src/lib/libc/arch/m68k/Makefile.inc cvs rdiff -u -r0 -r1.1 src/lib/libc/arch/m68k/genassym.cf Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/lib/libc/arch/m68k/Makefile.inc diff -u src/lib/libc/arch/m68k/Makefile.inc:1.14 src/lib/libc/arch/m68k/Makefile.inc:1.15 --- src/lib/libc/arch/m68k/Makefile.inc:1.14 Tue Nov 22 15:25:28 2011 +++ src/lib/libc/arch/m68k/Makefile.inc Wed Jul 17 01:41:17 2013 @@ -1,10 +1,12 @@ -# $NetBSD: Makefile.inc,v 1.14 2011/11/22 15:25:28 joerg Exp $ +# $NetBSD: Makefile.inc,v 1.15 2013/07/17 01:41:17 matt Exp $ SRCS+= __sigaction14_sigtramp.c __sigtramp2.S __m68k_read_tp.S __mmap.S ASM+= _lwp_getprivate.S mremap.S +CPPFLAGS+= -I. # for assym.h + .if ${MKSOFTFLOAT} != no -CPPFLAGS+= -DSOFTLOFLOAT_NEED_FIXUNS -DSOFTFLOAT -DSOFTFLOATM68K_FOR_GCC +CPPFLAGS+= -DSOFTFLOAT_NEED_FIXUNS -DSOFTFLOAT -DSOFTFLOATM68K_FOR_GCC . include softfloat/Makefile.inc .endif Added files: Index: src/lib/libc/arch/m68k/genassym.cf diff -u /dev/null src/lib/libc/arch/m68k/genassym.cf:1.1 --- /dev/null Wed Jul 17 01:41:17 2013 +++ src/lib/libc/arch/m68k/genassym.cf Wed Jul 17 01:41:17 2013 @@ -0,0 +1,52 @@ +# $NetBSD: genassym.cf,v 1.1 2013/07/17 01:41:17 matt Exp $ + +# +# Copyright (c) 2013 The NetBSD Foundation, Inc. +# All rights reserved. +# +# This code is derived from software contributed to The NetBSD Foundation +# by Matt Thomas m...@3am-sfotware.com. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# 1. Redistributions of source code must retain the above copyright +#notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +#notice, this list of conditions and the following disclaimer in the +#documentation and/or other materials provided with the distribution. +# +# THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS +# ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED +# TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +# PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS +# BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +# POSSIBILITY OF SUCH DAMAGE. +# + +include sys/types.h +include machine/reg.h +include ucontext.h +include signal.h + +define UC_LINK offsetof(ucontext_t, uc_link) +define UC_SIGMASK offsetof(ucontext_t, uc_sigmask) +define UC_MCONTEXT_D0 offsetof(ucontext_t, uc_mcontext.__gregs[_REG_D0]) +define UC_MCONTEXT_SP offsetof(ucontext_t, uc_mcontext.__gregs[_REG_A7]) +define UC_MCONTEXT_PC offsetof(ucontext_t, uc_mcontext.__gregs[_REG_PC]) +define UC_SIZE sizeof(ucontext_t) + +define SC_ONSTACK offsetof(struct sigcontext, sc_onstack) +define SC___MASK13 offsetof(struct sigcontext, __sc_mask13) +define SC_SP offsetof(struct sigcontext, sc_sp) +define SC_FP offsetof(struct sigcontext, sc_fp) +define SC_AP offsetof(struct sigcontext, sc_ap) +define SC_PC offsetof(struct sigcontext, sc_pc) +define SC_PS offsetof(struct sigcontext, sc_ps) +define SC_MASK offsetof(struct sigcontext, sc_mask) +define SC_SIZE sizeof(struct sigcontext)
CVS commit: src/lib/libc/arch/m68k/sys
Module Name:src Committed By: matt Date: Wed Jul 17 03:01:27 UTC 2013 Modified Files: src/lib/libc/arch/m68k/sys: getcontext.S Log Message: Use assym.h To generate a diff of this commit: cvs rdiff -u -r1.5 -r1.6 src/lib/libc/arch/m68k/sys/getcontext.S Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/lib/libc/arch/m68k/sys/getcontext.S diff -u src/lib/libc/arch/m68k/sys/getcontext.S:1.5 src/lib/libc/arch/m68k/sys/getcontext.S:1.6 --- src/lib/libc/arch/m68k/sys/getcontext.S:1.5 Tue Jul 16 22:15:55 2013 +++ src/lib/libc/arch/m68k/sys/getcontext.S Wed Jul 17 03:01:27 2013 @@ -1,4 +1,4 @@ -/* $NetBSD: getcontext.S,v 1.5 2013/07/16 22:15:55 matt Exp $ */ +/* $NetBSD: getcontext.S,v 1.6 2013/07/17 03:01:27 matt Exp $ */ /*- * Copyright (c) 2001 The NetBSD Foundation, Inc. @@ -30,9 +30,10 @@ */ #include SYS.h +#include assym.h #if defined(SYSLIBC_SCCS) !defined(lint) - RCSID($NetBSD: getcontext.S,v 1.5 2013/07/16 22:15:55 matt Exp $) + RCSID($NetBSD: getcontext.S,v 1.6 2013/07/17 03:01:27 matt Exp $) #endif /* SYSLIBC_SCCS !lint */ #ifdef WEAK_ALIAS @@ -41,8 +42,8 @@ WEAK_ALIAS(getcontext, _getcontext) _SYSCALL(_getcontext,getcontext) movl 4(%sp),%a0 - addql #4,96(%a0) | adjust saved stack pointer - movl (%sp),100(%a0) | adjust saved program counter - clrl 36(%a0) | arrange for return value of 0 + addql #4,UC_MCONTEXT_SP(%a0) | adjust saved stack pointer + movl %sp@,UC_MCONTEXT_PC(%a0)| adjust saved program counter + clrl UC_MCONTEXT_D0(%a0) | arrange for return value of 0 rts END(_getcontext)
CVS commit: src/lib/libc/arch/m68k/gen
Module Name:src Committed By: matt Date: Wed Jul 17 03:04:54 UTC 2013 Modified Files: src/lib/libc/arch/m68k/gen: resumecontext.S Log Message: Use assym.h To generate a diff of this commit: cvs rdiff -u -r1.7 -r1.8 src/lib/libc/arch/m68k/gen/resumecontext.S Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/lib/libc/arch/m68k/gen/resumecontext.S diff -u src/lib/libc/arch/m68k/gen/resumecontext.S:1.7 src/lib/libc/arch/m68k/gen/resumecontext.S:1.8 --- src/lib/libc/arch/m68k/gen/resumecontext.S:1.7 Tue Jul 16 22:12:20 2013 +++ src/lib/libc/arch/m68k/gen/resumecontext.S Wed Jul 17 03:04:54 2013 @@ -1,4 +1,4 @@ -/* $NetBSD: resumecontext.S,v 1.7 2013/07/16 22:12:20 matt Exp $ */ +/* $NetBSD: resumecontext.S,v 1.8 2013/07/17 03:04:54 matt Exp $ */ /*- * Copyright (c) 2001 The NetBSD Foundation, Inc. @@ -30,9 +30,10 @@ */ #include machine/asm.h +#include assym.h #if defined(LIBC_SCCS) !defined(lint) - RCSID($NetBSD: resumecontext.S,v 1.7 2013/07/16 22:12:20 matt Exp $) + RCSID($NetBSD: resumecontext.S,v 1.8 2013/07/17 03:04:54 matt Exp $) #endif /* LIBC_SCCS !lint */ /* @@ -42,11 +43,11 @@ */ ENTRY(_resumecontext) - subl #(4 + 1024),%sp /* retaddr preservation + ucontext_t */ + subl #(4 + UC_SIZE),%sp /* retaddr preservation + ucontext_t */ lea (%sp),%a0 movl %a0,-(%sp) jbsr PIC_PLT(_C_LABEL(_getcontext)) - movl (4 + 4)(%sp),(%sp) /* uc_link */ + movl (4 + UC_LINK)(%sp),(%sp) /* uc_link */ tstl (%sp) /* check for NULL */ jne 1f jbsr PIC_PLT(_C_LABEL(exit)) /* cleanly exit(0) */
CVS commit: src/lib/libc/arch/m68k/gen
Module Name:src Committed By: matt Date: Wed Jul 17 03:05:17 UTC 2013 Modified Files: src/lib/libc/arch/m68k/gen: swapcontext.S Log Message: Use assym.h To generate a diff of this commit: cvs rdiff -u -r1.5 -r1.6 src/lib/libc/arch/m68k/gen/swapcontext.S Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/lib/libc/arch/m68k/gen/swapcontext.S diff -u src/lib/libc/arch/m68k/gen/swapcontext.S:1.5 src/lib/libc/arch/m68k/gen/swapcontext.S:1.6 --- src/lib/libc/arch/m68k/gen/swapcontext.S:1.5 Tue Jul 16 22:12:20 2013 +++ src/lib/libc/arch/m68k/gen/swapcontext.S Wed Jul 17 03:05:17 2013 @@ -1,4 +1,4 @@ -/* $NetBSD: swapcontext.S,v 1.5 2013/07/16 22:12:20 matt Exp $ */ +/* $NetBSD: swapcontext.S,v 1.6 2013/07/17 03:05:17 matt Exp $ */ /*- * Copyright (c) 2001 The NetBSD Foundation, Inc. @@ -30,9 +30,10 @@ */ #include SYS.h +#include assym.h #if defined(LIBC_SCCS) !defined(lint) - RCSID($NetBSD: swapcontext.S,v 1.5 2013/07/16 22:12:20 matt Exp $) + RCSID($NetBSD: swapcontext.S,v 1.6 2013/07/17 03:05:17 matt Exp $) #endif /* LIBC_SCCS !lint */ ENTRY(swapcontext) @@ -41,8 +42,8 @@ ENTRY(swapcontext) tstl %d0 | OK? jne L1 movl (%sp),%a0 - addql #8,96(%a0) | adjust saved stack pointer (again) - movl 4(%sp),100(%a0) | adjust saved program counter (again) + addql #8,UC_MCONTEXT_SP(%a0) | adjust saved stack pointer (again) + movl %sp@(4),UC_MCONTEXT_PC(%a0) | adjust saved program counter (again) movl 12(%sp),(%sp) | push ucp on stack jbsr PIC_PLT(_C_LABEL(setcontext)) | setcontext(ucp) L1: addql #4,%sp | pop ucp
CVS commit: src/lib/libc/arch/m68k/gen
Module Name:src Committed By: matt Date: Wed Jul 17 03:05:41 UTC 2013 Modified Files: src/lib/libc/arch/m68k/gen: setjmp.S Log Message: Use assym.h To generate a diff of this commit: cvs rdiff -u -r1.14 -r1.15 src/lib/libc/arch/m68k/gen/setjmp.S Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/lib/libc/arch/m68k/gen/setjmp.S diff -u src/lib/libc/arch/m68k/gen/setjmp.S:1.14 src/lib/libc/arch/m68k/gen/setjmp.S:1.15 --- src/lib/libc/arch/m68k/gen/setjmp.S:1.14 Tue Jul 16 22:12:20 2013 +++ src/lib/libc/arch/m68k/gen/setjmp.S Wed Jul 17 03:05:41 2013 @@ -1,4 +1,4 @@ -/* $NetBSD: setjmp.S,v 1.14 2013/07/16 22:12:20 matt Exp $ */ +/* $NetBSD: setjmp.S,v 1.15 2013/07/17 03:05:41 matt Exp $ */ /*- * Copyright (c) 1990 The Regents of the University of California. @@ -34,12 +34,13 @@ */ #include machine/asm.h +#include assym.h #if defined(LIBC_SCCS) !defined(lint) #if 0 RCSID(from: @(#)setjmp.s 5.1 (Berkeley) 5/12/90) #else - RCSID($NetBSD: setjmp.S,v 1.14 2013/07/16 22:12:20 matt Exp $) + RCSID($NetBSD: setjmp.S,v 1.15 2013/07/17 03:05:41 matt Exp $) #endif #endif /* LIBC_SCCS and not lint */ @@ -67,11 +68,11 @@ ENTRY(__setjmp14) /* Get pointer to jmp_buf; a sigcontext is at the beginning. */ movl 4(%sp),%a0 - movl %d0,(%a0) /* store onstack */ - clrl 4(%a0) /* unused word (old style signal mask) */ + movl %d0,SC_ONSTACK(%a0) /* store onstack */ + clrl SC___MASK13(%a0) /* unused word (old style signal mask) */ /* Get the signal mask. */ - pea 28(%a0) /* oset = sc.sc_mask */ + pea SC_MASK(%a0) /* oset = sc.sc_mask */ movl #0,-(%sp) /* set = NULL */ movl #0,-(%sp) /* action = 0 ignored */ jbsr PIC_PLT(_C_LABEL(__sigprocmask14)) @@ -79,14 +80,14 @@ ENTRY(__setjmp14) movl 4(%sp),%a0 /* get jmp_buf pointer again */ lea 4(%sp),%a1 /* adjust SP since we won't rts */ - movl %a1,8(%a0) /* save SP */ - movl %a6,12(%a0) /* save FP */ - clrl 16(%a0) /* no AP */ - movl (%sp),20(%a0) /* save return PC */ - clrl 24(%a0) /* clear PS */ + movl %a1,SC_SP(%a0) /* save SP */ + movl %a6,SC_FP(%a0) /* save FP */ + clrl SC_AP(%a0) /* no AP */ + movl (%sp),SC_PC(%a0)/* save return PC */ + clrl SC_PS(%a0) /* clear PS */ /* Save remaining non-scratch regs after signal mask. */ - moveml #0x3CFC,44(%a0) + moveml #0x3CFC,SC_SIZE(%a0) clrl %d0 /* return 0 */ rts
CVS commit: src/lib/libc/compat/arch/m68k/sys
Module Name:src Committed By: matt Date: Wed Jul 17 04:56:14 UTC 2013 Modified Files: src/lib/libc/compat/arch/m68k/sys: compat_sigprocmask.S Log Message: Use a more compact instruction sequence that also works on coldfire To generate a diff of this commit: cvs rdiff -u -r1.2 -r1.3 \ src/lib/libc/compat/arch/m68k/sys/compat_sigprocmask.S Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/lib/libc/compat/arch/m68k/sys/compat_sigprocmask.S diff -u src/lib/libc/compat/arch/m68k/sys/compat_sigprocmask.S:1.2 src/lib/libc/compat/arch/m68k/sys/compat_sigprocmask.S:1.3 --- src/lib/libc/compat/arch/m68k/sys/compat_sigprocmask.S:1.2 Tue Jul 16 23:00:15 2013 +++ src/lib/libc/compat/arch/m68k/sys/compat_sigprocmask.S Wed Jul 17 04:56:14 2013 @@ -1,4 +1,4 @@ -/* $NetBSD: compat_sigprocmask.S,v 1.2 2013/07/16 23:00:15 matt Exp $ */ +/* $NetBSD: compat_sigprocmask.S,v 1.3 2013/07/17 04:56:14 matt Exp $ */ /*- * Copyright (c) 1990 The Regents of the University of California. @@ -39,7 +39,7 @@ #if 0 RCSID(from: @(#)sigprocmask.s 5.2 (Berkeley) 6/6/90) #else - RCSID($NetBSD: compat_sigprocmask.S,v 1.2 2013/07/16 23:00:15 matt Exp $) + RCSID($NetBSD: compat_sigprocmask.S,v 1.3 2013/07/17 04:56:14 matt Exp $) #endif #endif /* LIBC_SCCS and not lint */ @@ -50,7 +50,8 @@ ENTRY(sigprocmask) tstl 8(%sp) /* check new sigset pointer */ jne gotptr /* if not null, indirect */ /* movl #0,8(%sp) /* null mask pointer: block empty set */ - movl #1,4(%sp) /* SIG_BLOCK */ + movql #1,%d0 /* SIG_BLOCK */ + movl %d0,4(%sp) jra doit gotptr: movl 8(%sp),%a0
CVS commit: src/lib/libc/arch/m68k/gen
Module Name:src Committed By: matt Date: Wed Jul 17 04:57:55 UTC 2013 Modified Files: src/lib/libc/arch/m68k/gen: alloca.S Log Message: Use a more portable series of instructions. To generate a diff of this commit: cvs rdiff -u -r1.8 -r1.9 src/lib/libc/arch/m68k/gen/alloca.S Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/lib/libc/arch/m68k/gen/alloca.S diff -u src/lib/libc/arch/m68k/gen/alloca.S:1.8 src/lib/libc/arch/m68k/gen/alloca.S:1.9 --- src/lib/libc/arch/m68k/gen/alloca.S:1.8 Tue Jul 16 22:12:20 2013 +++ src/lib/libc/arch/m68k/gen/alloca.S Wed Jul 17 04:57:55 2013 @@ -1,4 +1,4 @@ -/* $NetBSD: alloca.S,v 1.8 2013/07/16 22:12:20 matt Exp $ */ +/* $NetBSD: alloca.S,v 1.9 2013/07/17 04:57:55 matt Exp $ */ /*- * Copyright (c) 1990 The Regents of the University of California. @@ -39,7 +39,7 @@ #if 0 RCSID(from: @(#)alloca.s 5.1 (Berkeley) 5/12/90) #else - RCSID($NetBSD: alloca.S,v 1.8 2013/07/16 22:12:20 matt Exp $) + RCSID($NetBSD: alloca.S,v 1.9 2013/07/17 04:57:55 matt Exp $) #endif #endif /* LIBC_SCCS and not lint */ @@ -49,10 +49,11 @@ ENTRY(alloca) movl (%sp),%a1 /* save return addr */ movl %sp,%d0 /* get current SP value */ subl 4(%sp),%d0 /* allocate requested space */ - andb #~3,%d0 /* longword align for efficiency */ + movql #-4,%d1 /* sign extend a mask */ + andl %d1,%d0 /* longword align for efficiency */ addql #8,%d0 /* reuse space of call frame */ movl %d0,%sp /* set new SP value */ - lea -4(%sp),%sp /* account for argument pop in caller */ + subql #4,%sp /* account for argument pop in caller */ #ifdef __SVR4_ABI__ moveal %d0,%a0 #endif
CVS commit: src/distrib/sets/lists/comp
Module Name:src Committed By: matt Date: Wed Jul 17 05:41:30 UTC 2013 Modified Files: src/distrib/sets/lists/comp: ad.m68k Log Message: Export m68k/fpreg.h To generate a diff of this commit: cvs rdiff -u -r1.46 -r1.47 src/distrib/sets/lists/comp/ad.m68k Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/distrib/sets/lists/comp/ad.m68k diff -u src/distrib/sets/lists/comp/ad.m68k:1.46 src/distrib/sets/lists/comp/ad.m68k:1.47 --- src/distrib/sets/lists/comp/ad.m68k:1.46 Wed Jan 16 16:01:05 2013 +++ src/distrib/sets/lists/comp/ad.m68k Wed Jul 17 05:41:30 2013 @@ -1,4 +1,4 @@ -# $NetBSD: ad.m68k,v 1.46 2013/01/16 16:01:05 christos Exp $ +# $NetBSD: ad.m68k,v 1.47 2013/07/17 05:41:30 matt Exp $ ./usr/bin/elf2aoutcomp-sysutil-bin ./usr/include/gcc-4.5/tgmath.h comp-c-include gcccmds,gcc=45 ./usr/include/gcc-4.5/math-68881.h comp-c-include gcccmds,gcc=45 @@ -23,6 +23,7 @@ ./usr/include/m68k/endian.h comp-c-include ./usr/include/m68k/endian_machdep.h comp-c-include ./usr/include/m68k/float.h comp-c-include +./usr/include/m68k/fpreg.h comp-c-include ./usr/include/m68k/frame.h comp-c-include ./usr/include/m68k/ieee.h comp-c-include ./usr/include/m68k/ieeefp.h comp-c-include
CVS commit: src/sys/arch/m68k/include
Module Name:src Committed By: matt Date: Wed Jul 17 05:42:02 UTC 2013 Modified Files: src/sys/arch/m68k/include: Makefile Log Message: Export fpreg.h for libc To generate a diff of this commit: cvs rdiff -u -r1.27 -r1.28 src/sys/arch/m68k/include/Makefile Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/sys/arch/m68k/include/Makefile diff -u src/sys/arch/m68k/include/Makefile:1.27 src/sys/arch/m68k/include/Makefile:1.28 --- src/sys/arch/m68k/include/Makefile:1.27 Sun Jul 17 20:54:43 2011 +++ src/sys/arch/m68k/include/Makefile Wed Jul 17 05:42:02 2013 @@ -1,4 +1,4 @@ -# $NetBSD: Makefile,v 1.27 2011/07/17 20:54:43 joerg Exp $ +# $NetBSD: Makefile,v 1.28 2013/07/17 05:42:02 matt Exp $ INCSDIR= /usr/include/m68k @@ -7,7 +7,7 @@ INCS= ansi.h aout_machdep.h asm.h asm_si cacheops.h cacheops_20.h cacheops_30.h cacheops_40.h cacheops_60.h \ cdefs.h cpu.h cpuframe.h \ elf_machdep.h endian.h endian_machdep.h \ - float.h frame.h \ + float.h fpreg.h frame.h \ ieee.h ieeefp.h \ int_const.h int_fmtio.h int_limits.h int_mwgwtypes.h int_types.h \ kcore.h \