From @ Mon Feb 26 03:10:48 2018 r/lib/libgcc.a(comparedf2.o): In >> function `__gedf2': >> /usr/src/contrib/compiler-rt/lib/builtins/comparedf2.c:96: multiple >> definition of `__gedf2' >> /usr/obj/usr/src/mips.mips64/tmp/usr/lib/libc.a(gedf2.o):/us >> r/src/lib/libc/softfloat/gedf2.c:18: first defined here >> /usr/obj/usr/src/mips.mips64/tmp/usr/lib/libgcc.a(comparedf2.o): In >> function `__eqdf2': >> /usr/src/contrib/compiler-rt/lib/builtins/comparedf2.c:126: multiple >> definition of `__eqdf2' >> /usr/obj/usr/src/mips.mips64/tmp/usr/lib/libc.a(eqdf2.o):/us >> r/src/lib/libc/softfloat/eqdf2.c:18: first defined here >> /usr/obj/usr/src/mips.mips64/tmp/usr/lib/libgcc.a(comparedf2.o): In >> function `__ltdf2': >> /usr/src/contrib/compiler-rt/lib/builtins/comparedf2.c:131: multiple Status: RO Content-Length: 15344 Lines: 249 r-rt/lib/builtins/comparedf2.c:131: multiple >> definition of `__ltdf2' >> /usr/obj/usr/src/mips.mips64/tmp/usr/lib/libc.a(ltdf2.o):/us >> r/src/lib/libc/softfloat/ltdf2.c:18: first defined here >> /usr/obj/usr/src/mips.mips64/tmp/usr/lib/libgcc.a(comparedf2.o): In >> function `__nedf2': >> /usr/src/contrib/compiler-rt/lib/builtins/comparedf2.c:136: multiple >> definition of `__nedf2' >> /usr/obj/usr/src/mips.mips64/tmp/usr/lib/libc.a(nedf2.o):/us >> r/src/lib/libc/softfloat/nedf2.c:18: first defined here >> /usr/obj/usr/src/mips.mips64/tmp/usr/lib/libgcc.a(comparedf2.o): In >> function `__gtdf2': >> /usr/src/contrib/compiler-rt/lib/builtins/comparedf2.c:141: multiple >> definition of `__gtdf2' >> /usr/obj/usr/src/mips.mips64/tmp/usr/lib/libc.a(gtdf2.o):/us >> r/src/lib/libc/softfloat/gtdf2.c:18: first defined here >> >> undefined.... devd doesn't even use strtodl. >> >> (looks like the code to associate make output with the right commands is >> broken, since I had to dig for it. >> >> Warner >> >> >>> Steve >>> >>> >>> On 01/30/2018 22:05, Warner Losh wrote: >>> >>>> Author: imp >>>> Date: Wed Jan 31 03:05:14 2018 >>>> New Revision: 328612 >>>> URL: https://svnweb.freebsd.org/changeset/base/328612 >>>> >>>> Log: >>>> Move strtold wrapper from strtol.c to its own strtold.c. This code >>>> was written by theraven@ (David Chisnall) entirely, there's no >>>> original Berkeley code left here so just copy his copyright over. >>>> >>>> >> > ------------------------------ Message: 12 Date: Sun, 25 Feb 2018 23:59:47 +0000 (UTC) From: Devin Teske To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r329995 - head/cddl/lib/libdtrace Message-ID: <201802252359.w1PNxlvT022663@repo.freebsd.org> Content-Type: text/plain; charset=UTF-8 Author: dteske Date: Sun Feb 25 23:59:47 2018 New Revision: 329995 URL: https://svnweb.freebsd.org/changeset/base/329995 Log: Updates and enhancements to signal.d to aid DTrace scripting + Add missing signals SIGTHR (32) and SIGLIBRT (33) + Add inline for converting SIG* int to string + Add inline for converting CLD_* int to string Reviewed by: markj Sponsored by: Smule, Inc. Differential Revision: https://reviews.freebsd.org/D14497 Modified: head/cddl/lib/libdtrace/signal.d Modified: head/cddl/lib/libdtrace/signal.d ============================================================================== --- head/cddl/lib/libdtrace/signal.d Sun Feb 25 23:10:13 2018 (r329994) +++ head/cddl/lib/libdtrace/signal.d Sun Feb 25 23:59:47 2018 (r329995) @@ -20,6 +20,7 @@ * CDDL HEADER END * * Portions Copyright 2008 John Birrell jb@freebsd.org + * Portions Copyright 2018 Devin Teske dteske@freebsd.org * * $FreeBSD$ */ @@ -86,7 +87,48 @@ inline int SIGUSR1 = 30; #pragma D binding "1.0" SIGUSR1 inline int SIGUSR2 = 31; #pragma D binding "1.0" SIGUSR2 +inline int SIGTHR = 32; +#pragma D binding "1.13" SIGTHR +inline int SIGLIBRT = 33; +#pragma D binding "1.13" SIGLIBRT +#pragma D binding "1.13" signal_string +inline string signal_string[int signal] = + signal == SIGHUP ? "SIGHUP" : + signal == SIGINT ? "SIGINT" : + signal == SIGQUIT ? "SIGQUIT" : + signal == SIGILL ? "SIGILL": + signal == SIGTRAP ? "SIGTRAP" : + signal == SIGABRT ? "SIGABRT" : + signal == SIGEMT ? "SIGEMT" : + signal == SIGFPE ? "SIGFPE" : + signal == SIGKILL ? "SIGKILL" : + signal == SIGBUS ? "SIGBUS" : + signal == SIGSEGV ? "SIGSEGV" : + signal == SIGSYS ? "SIGSYS" : + signal == SIGPIPE ? "SIGPIPE" : + signal == SIGALRM ? "SIGALRM" : + signal == SIGTERM ? "SIGTERM" : + signal == SIGURG ? "SIGURG" : + signal == SIGSTOP ? "SIGSTOP" : + signal == SIGTSTP ? "SIGTSTP" : + signal == SIGCONT ? "SIGCONT" : + signal == SIGCHLD ? "SIGCHLD" : + signal == SIGTTIN ? "SIGTTIN" : + signal == SIGTTOU ? "SIGTTOU" : + signal == SIGIO ? "SIGIO" : + signal == SIGXCPU ? "SIGXCPU" : + signal == SIGXFSZ ? "SIGXFSZ" : + signal == SIGVTALRM ? "SIGVTALRM" : + signal == SIGPROF ? "SIGPROF" : + signal == SIGWINCH ? "SIGWINCH" : + signal == SIGINFO ? "SIGINFO" : + signal == SIGUSR1 ? "SIGUSR1" : + signal == SIGUSR2 ? "SIGUSR2" : + signal == SIGTHR ? "SIGTHR" : + signal == SIGLIBRT ? "SIGLIBRT" : + "UNKNOWN"; + inline int CLD_EXITED = 1; #pragma D binding "1.0" CLD_EXITED inline int CLD_KILLED = 2; @@ -99,3 +141,13 @@ inline int CLD_STOPPED = 5; #pragma D binding "1.0" CLD_STOPPED inline int CLD_CONTINUED = 6; #pragma D binding "1.0" CLD_CONTINUED + +#pragma D binding "1.13" child_signal_string +inline string child_signal_string[int child_signal] = + child_signal == CLD_EXITED ? "child exited" : + child_signal == CLD_KILLED ? "child terminated abnormally" : + child_signal == CLD_DUMPED ? "child core dumped" : + child_signal == CLD_TRAPPED ? "traced child trapped" : + child_signal == CLD_STOPPED ? "child stopped" : + child_signal == CLD_CONTINUED ? "stopped child continued" : + strjoin("Unknown SIGCHLD code (", strjoin(lltostr(child_signal), ")")); ------------------------------ Message: 13 Date: Mon, 26 Feb 2018 00:04:22 +0000 (UTC) From: Devin Teske To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r329996 - head/cddl/lib/libdtrace Message-ID: <201802260004.w1Q04Mh5027441@repo.freebsd.org> Content-Type: text/plain; charset=UTF-8 Author: dteske Date: Mon Feb 26 00:04:21 2018 New Revision: 329996 URL: https://svnweb.freebsd.org/changeset/base/329996 Log: Consistent casing for fallback SIGCHLD (s/Unknown/unknown/) Modified: head/cddl/lib/libdtrace/signal.d Modified: head/cddl/lib/libdtrace/signal.d ============================================================================== --- head/cddl/lib/libdtrace/signal.d Sun Feb 25 23:59:47 2018 (r329995) +++ head/cddl/lib/libdtrace/signal.d Mon Feb 26 00:04:21 2018 (r329996) @@ -150,4 +150,4 @@ inline string child_signal_string[int child_signal] = child_signal == CLD_TRAPPED ? "traced child trapped" : child_signal == CLD_STOPPED ? "child stopped" : child_signal == CLD_CONTINUED ? "stopped child continued" : - strjoin("Unknown SIGCHLD code (", strjoin(lltostr(child_signal), ")")); + strjoin("unknown SIGCHLD code (", strjoin(lltostr(child_signal), ")")); ------------------------------ Message: 14 Date: Mon, 26 Feb 2018 00:34:56 +0000 (UTC) From: Kirk McKusick To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r329997 - head/sys/ufs/ffs Message-ID: <201802260034.w1Q0YuGP042254@repo.freebsd.org> Content-Type: text/plain; charset=UTF-8 Author: mckusick Date: Mon Feb 26 00:34:56 2018 New Revision: 329997 URL: https://svnweb.freebsd.org/changeset/base/329997 Log: Use a more straight-forward approach to relaxing the location restraints when validating one of the backup superblocks. Modified: head/sys/ufs/ffs/ffs_subr.c Modified: head/sys/ufs/ffs/ffs_subr.c ============================================================================== --- head/sys/ufs/ffs/ffs_subr.c Mon Feb 26 00:04:21 2018 (r329996) +++ head/sys/ufs/ffs/ffs_subr.c Mon Feb 26 00:34:56 2018 (r329997) @@ -140,7 +140,7 @@ ffs_load_inode(struct buf *bp, struct inode *ip, struc * the superblock and its associated data. */ static off_t sblock_try[] = SBLOCKSEARCH; -static int readsuper(void *, struct fs **, off_t, +static int readsuper(void *, struct fs **, off_t, int, int (*)(void *, off_t, void **, int)); /* @@ -174,11 +174,12 @@ ffs_sbget(void *devfd, struct fs **fsp, off_t altsbloc *fsp = NULL; if (altsblock != -1) { - if ((error = readsuper(devfd, fsp, -altsblock, readfunc)) != 0) + if ((error = readsuper(devfd, fsp, altsblock, 1, + readfunc)) != 0) return (error); } else { for (i = 0; sblock_try[i] != -1; i++) { - if ((error = readsuper(devfd, fsp, sblock_try[i], + if ((error = readsuper(devfd, fsp, sblock_try[i], 0, readfunc)) == 0) break; if (error == ENOENT) @@ -238,17 +239,12 @@ ffs_sbget(void *devfd, struct fs **fsp, off_t altsbloc * Return zero on success or an errno on failure. */ static int -readsuper(void *devfd, struct fs **fsp, off_t sblockloc, +readsuper(void *devfd, struct fs **fsp, off_t sblockloc, int isaltsblk, int (*readfunc)(void *devfd, off_t loc, void **bufp, int size)) { struct fs *fs; - int error, altblk; + int error; - altblk = 0; - if (sblockloc < 0) { - altblk = 1; - sblockloc = - sblockloc; - } error = (*readfunc)(devfd, sblockloc, (void **)fsp, SBLOCKSIZE); if (*fsp != NULL) (*fsp)->fs_csp = NULL; /* Not yet any summary information */ @@ -257,9 +253,9 @@ readsuper(void *devfd, struct fs **fsp, off_t sblocklo fs = *fsp; if (fs->fs_magic == FS_BAD_MAGIC) return (EINVAL); - if (((fs->fs_magic == FS_UFS1_MAGIC && (altblk || + if (((fs->fs_magic == FS_UFS1_MAGIC && (isaltsblk || sblockloc <= SBLOCK_UFS1)) || - (fs->fs_magic == FS_UFS2_MAGIC && (altblk || + (fs->fs_magic == FS_UFS2_MAGIC && (isaltsblk || sblockloc == fs->fs_sblockloc))) && fs->fs_ncg >= 1 && fs->fs_bsize >= MINBSIZE && ------------------------------ Message: 15 Date: Mon, 26 Feb 2018 02:12:09 +0000 (UTC) From: Mike Silbersack To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-11@freebsd.org Subject: svn commit: r329998 - stable/11/sbin/savecore Message-ID: <201802260212.w1Q2C9wT089570@repo.freebsd.org> Content-Type: text/plain; charset=UTF-8 Author: silby Date: Mon Feb 26 02:12:09 2018 New Revision: 329998 URL: https://svnweb.freebsd.org/changeset/base/329998 Log: MFC r329362: Prevent savecore from reading bounds from the current directory. Modified: stable/11/sbin/savecore/savecore.c Directory Properties: stable/11/ (props changed) Modified: stable/11/sbin/savecore/savecore.c ============================================================================== --- stable/11/sbin/savecore/savecore.c Mon Feb 26 00:34:56 2018 (r329997) +++ stable/11/sbin/savecore/savecore.c Mon Feb 26 02:12:09 2018 (r329998) @@ -155,6 +155,13 @@ getbounds(void) char buf[6]; int ret; + /* + * If we are just checking, then we haven't done a chdir to the dump + * directory and we should not try to read a bounds file. + */ + if (checkfor) + return (0); + ret = 0; if ((fp = fopen("bounds", "r")) == NULL) { ------------------------------ Message: 16 Date: Mon, 26 Feb 2018 02:28:32 +0000 (UTC) From: Ian Lepore To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r329999 - in head/sys: arm/freescale/imx modules/imx modules/imx/imx_spi Message-ID: <201802260228.w1Q2SW0l096371@repo.freebsd.org> Content-Type: text/plain; charset=UTF-8 Author: ian Date: Mon Feb 26 02:28:32 2018 New Revision: 329999 URL: https://svnweb.freebsd.org/changeset/base/329999 Log: Add a SPI driver for imx5 and imx6. It can be compiled into the kernel with "device imx_spi" or loaded as a module, which is also named "imx_spi". Added: head/sys/arm/freescale/imx/imx_spi.c (contents, props changed) head/sys/modules/imx/imx_spi/ head/sys/modules/imx/imx_spi/Makefile (contents, props changed) Modified: head/sys/arm/freescale/imx/files.imx5 head/sys/arm/freescale/imx/files.imx6 head/sys/arm/freescale/imx/imx51_ccm.c head/sys/arm/freescale/imx/imx6_ccm.c head/sys/arm/freescale/imx/imx6_ccmreg.h head/sys/arm/freescale/imx/imx_ccmvar.h head/sys/modules/imx/Makefile Modified: head/sys/arm/freescale/imx/files.imx5 ============================================================================== --- head/sys/arm/freescale/imx/files.imx5 Mon Feb 26 02:12:09 2018 (r329998) +++ head/sys/arm/freescale/imx/files.imx5 Mon Feb 26 02:28:32 2018 (r329999) @@ -52,3 +52,6 @@ dev/vt/hw/fb/vt_early_fb.c optional vt # Fast Ethernet Controller dev/ffec/if_ffec.c optional ffec +# SPI +arm/freescale/imx/imx_spi.c optional imx_spi + Modified: head/sys/arm/freescale/imx/files.imx6 ============================================================================== --- head/sys/arm/freescale/imx/files.imx6 Mon Feb 26 02:12:09 2018 (r329998) +++ head/sys/arm/freescale/imx/files.imx6 Mon Feb 26 02:28:32 2018 (r329999) @@ -22,6 +22,7 @@ arm/freescale/imx/imx_machdep.c standard arm/freescale/imx/imx_gpt.c optional imx_gpt arm/freescale/imx/imx_gpio.c optional gpio arm/freescale/imx/imx_i2c.c optional fsliic +arm/freescale/imx/imx_spi.c optional imx_spi arm/freescale/imx/imx6_sdma.c optional fslsdma arm/freescale/imx/imx6_audmux.c optional sound arm/freescale/imx/imx6_ssi.c optional sound Modified: head/sys/arm/freescale/imx/imx51_ccm.c ============================================================================== --- head/sys/arm/freescale/imx/imx51_ccm.c Mon Feb 26 02:12:09 2018 (r329998) +++ head/sys/arm/freescale/imx/imx51_ccm.c Mon Feb 26 02:28:32 2018 (r329999) @@ -621,6 +621,13 @@ imx_ccm_usbphy_enable(device_t dev) } uint32_t +imx_ccm_ecspi_hz(void) +{ + + return (imx51_get_clock(IMX51CLK_CSPI_CLK_ROOT)); +} + +uint32_t imx_ccm_ipg_hz(void) { @@ -654,3 +661,4 @@ imx_ccm_ahb_hz(void) return (imx51_get_clock(IMX51CLK_AHB_CLK_ROOT)); } + Modified: head/sys/arm/freescale/imx/imx6_ccm.c ============================================================================== --- head/sys/arm/freescale/imx/imx6_ccm.c Mon Feb 26 02:12:09 2018 (r329998) +++ head/sys/arm/freescale/imx/imx6_ccm.c Mon Feb 26 02:28:32 2018 (r329999) @@ -96,8 +96,9 @@ ccm_init_gates(struct ccm_softc *sc) reg = CCGR0_AIPS_TZ1 | CCGR0_AIPS_TZ2 | CCGR0_ABPHDMA; WR4(sc, CCM_CCGR0, reg); - /* enet, epit, gpt */ - reg = CCGR1_ENET | CCGR1_EPIT1 | CCGR1_GPT; + /* enet, epit, gpt, spi */ + reg = CCGR1_ENET | CCGR1_EPIT1 | CCGR1_GPT | CCGR1_ECSPI1 | + CCGR1_ECSPI2 | CCGR1_ECSPI3 | CCGR1_ECSPI4 | CCGR1_ECSPI5; WR4(sc, CCM_CCGR1, reg); /* ipmux & ipsync (bridges), iomux, i2c */ @@ -349,6 +350,13 @@ imx6_ccm_sata_enable(void) WR4(ccm_sc, CCM_ANALOG_PLL_ENET, v); return 0; +} + +uint32_t +imx_ccm_ecspi_hz(void) +{ + + return (60000000); } uint32_t Modified: head/sys/arm/freescale/imx/imx6_ccmreg.h ============================================================================== --- head/sys/arm/freescale/imx/imx6_ccmreg.h Mon Feb 26 02:12:09 2018 (r329998) +++ head/sys/arm/freescale/imx/imx6_ccmreg.h Mon Feb 26 02:28:32 2018 (r329999) @@ -80,9 +80,15 @@ #define CCGR0_AIPS_TZ2 (0x3 << 2) #define CCGR0_ABPHDMA (0x3 << 4) #define CCM_CCGR1 0x06C +#define CCGR1_ECSPI1 (0x3 << 0) +#define CCGR1_ECSPI2 (0x3 << 2) +#define CCGR1_ECSPI3 (0x3 << 4) +#define CCGR1_ECSPI4 (0x3 << 6) +#define CCGR1_ECSPI5 (0x3 << 8) #define CCGR1_ENET (0x3 << 10) #define CCGR1_EPIT1 (0x3 << 12) #define CCGR1_EPIT2 (0x3 << 14) +#define CCGR1_ESAI (0x3 << 16) #define CCGR1_GPT (0x3 << 20) #define CCGR1_GPT_SERIAL (0x3 << 22) #define CCM_CCGR2 0x070 Modified: head/sys/arm/freescale/imx/imx_ccmvar.h ============================================================================== --- head/sys/arm/freescale/imx/imx_ccmvar.h Mon Feb 26 02:12:09 2018 (r329998) +++ head/sys/arm/freescale/imx/imx_ccmvar.h Mon Feb