From owner-svn-src-projects@FreeBSD.ORG Sun Jan 19 00:29:44 2014 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 478336CA; Sun, 19 Jan 2014 00:29:44 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id 339CB1DFE; Sun, 19 Jan 2014 00:29:44 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id s0J0ThuG018724; Sun, 19 Jan 2014 00:29:43 GMT (envelope-from jhibbits@svn.freebsd.org) Received: (from jhibbits@localhost) by svn.freebsd.org (8.14.7/8.14.7/Submit) id s0J0ThHg018723; Sun, 19 Jan 2014 00:29:43 GMT (envelope-from jhibbits@svn.freebsd.org) Message-Id: <201401190029.s0J0ThHg018723@svn.freebsd.org> From: Justin Hibbits Date: Sun, 19 Jan 2014 00:29:43 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r260873 - projects/pmac_pmu/sys/powerpc/powermac X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.17 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 19 Jan 2014 00:29:44 -0000 Author: jhibbits Date: Sun Jan 19 00:29:43 2014 New Revision: 260873 URL: http://svnweb.freebsd.org/changeset/base/260873 Log: No need to check if devd is running before posting the notification. Modified: projects/pmac_pmu/sys/powerpc/powermac/pmu.c Modified: projects/pmac_pmu/sys/powerpc/powermac/pmu.c ============================================================================== --- projects/pmac_pmu/sys/powerpc/powermac/pmu.c Sun Jan 19 00:23:59 2014 (r260872) +++ projects/pmac_pmu/sys/powerpc/powermac/pmu.c Sun Jan 19 00:29:43 2014 (r260873) @@ -729,13 +729,11 @@ pmu_intr(void *arg) /* if the lid was just closed, notify devd. */ if ((resp[2] & PMU_ENV_LID_CLOSED) && (!sc->sc_lid_closed)) { sc->sc_lid_closed = 1; - if (devctl_process_running()) - devctl_notify("PMU", "lid", "close", NULL); + devctl_notify("PMU", "lid", "close", NULL); } else if (!(resp[2] & PMU_ENV_LID_CLOSED) && (sc->sc_lid_closed)) { /* if the lid was just opened, notify devd. */ - if (devctl_process_running()) - devctl_notify("PMU", "lid", "open", NULL); + devctl_notify("PMU", "lid", "open", NULL); sc->sc_lid_closed = 0; } } From owner-svn-src-projects@FreeBSD.ORG Sun Jan 19 07:43:02 2014 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id EFA53913; Sun, 19 Jan 2014 07:43:02 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id DBAF21710; Sun, 19 Jan 2014 07:43:02 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id s0J7h2O3084996; Sun, 19 Jan 2014 07:43:02 GMT (envelope-from jhibbits@svn.freebsd.org) Received: (from jhibbits@localhost) by svn.freebsd.org (8.14.7/8.14.7/Submit) id s0J7h2oN084995; Sun, 19 Jan 2014 07:43:02 GMT (envelope-from jhibbits@svn.freebsd.org) Message-Id: <201401190743.s0J7h2oN084995@svn.freebsd.org> From: Justin Hibbits Date: Sun, 19 Jan 2014 07:43:02 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r260876 - projects/pmac_pmu/sys/powerpc/powermac X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.17 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 19 Jan 2014 07:43:03 -0000 Author: jhibbits Date: Sun Jan 19 07:43:02 2014 New Revision: 260876 URL: http://svnweb.freebsd.org/changeset/base/260876 Log: Forgot the PMU softc changes for the struct member renames. Modified: projects/pmac_pmu/sys/powerpc/powermac/pmuvar.h Modified: projects/pmac_pmu/sys/powerpc/powermac/pmuvar.h ============================================================================== --- projects/pmac_pmu/sys/powerpc/powermac/pmuvar.h Sun Jan 19 04:45:52 2014 (r260875) +++ projects/pmac_pmu/sys/powerpc/powermac/pmuvar.h Sun Jan 19 07:43:02 2014 (r260876) @@ -160,8 +160,8 @@ struct pmu_softc { volatile int sc_autopoll; int sc_batteries; struct cdev *sc_leddev; - int lid_closed; - uint8_t saved_regs[9]; + int sc_lid_closed; + uint8_t sc_saved_regs[9]; }; struct pmu_battstate { From owner-svn-src-projects@FreeBSD.ORG Sun Jan 19 07:44:15 2014 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id E073DA00; Sun, 19 Jan 2014 07:44:14 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id C1A4B1716; Sun, 19 Jan 2014 07:44:14 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id s0J7iEOR085194; Sun, 19 Jan 2014 07:44:14 GMT (envelope-from jhibbits@svn.freebsd.org) Received: (from jhibbits@localhost) by svn.freebsd.org (8.14.7/8.14.7/Submit) id s0J7iE24085192; Sun, 19 Jan 2014 07:44:14 GMT (envelope-from jhibbits@svn.freebsd.org) Message-Id: <201401190744.s0J7iE24085192@svn.freebsd.org> From: Justin Hibbits Date: Sun, 19 Jan 2014 07:44:14 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r260877 - projects/pmac_pmu/sys/powerpc/powermac X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.17 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 19 Jan 2014 07:44:15 -0000 Author: jhibbits Date: Sun Jan 19 07:44:14 2014 New Revision: 260877 URL: http://svnweb.freebsd.org/changeset/base/260877 Log: With the new bus suspend/resume, the buses don't need to be explicitly suspended and resumed, so remove the calls. Modified: projects/pmac_pmu/sys/powerpc/powermac/macio.c projects/pmac_pmu/sys/powerpc/powermac/uninorth.c Modified: projects/pmac_pmu/sys/powerpc/powermac/macio.c ============================================================================== --- projects/pmac_pmu/sys/powerpc/powermac/macio.c Sun Jan 19 07:43:02 2014 (r260876) +++ projects/pmac_pmu/sys/powerpc/powermac/macio.c Sun Jan 19 07:44:14 2014 (r260877) @@ -665,18 +665,9 @@ macio_enable_wireless(device_t dev, bool static int macio_suspend(device_t dev) { - int error; uint32_t temp; struct macio_softc *sc = device_get_softc(dev); - error = bus_generic_suspend(dev); - - if (error) - return (error); - - if (bus_current_pass != BUS_PASS_BUS) { - return (EAGAIN); - } powerpc_sync(); sc->saved_fcrs[0] = bus_read_4(sc->sc_memr, KEYLARGO_FCR0); @@ -745,20 +736,18 @@ static int macio_resume(device_t dev) { struct macio_softc *sc = device_get_softc(dev); - if (bus_current_pass == BUS_PASS_BUS) { - if (sc->sc_devid == 0x22) - bus_write_4(sc->sc_memr, KEYLARGO_MEDIABAY, sc->saved_mbcr); - - bus_write_4(sc->sc_memr, KEYLARGO_FCR0, sc->saved_fcrs[0]); - bus_write_4(sc->sc_memr, KEYLARGO_FCR1, sc->saved_fcrs[1]); - bus_write_4(sc->sc_memr, KEYLARGO_FCR2, sc->saved_fcrs[2]); - bus_write_4(sc->sc_memr, KEYLARGO_FCR3, sc->saved_fcrs[3]); - bus_write_4(sc->sc_memr, KEYLARGO_FCR4, sc->saved_fcrs[4]); - bus_write_4(sc->sc_memr, KEYLARGO_FCR5, sc->saved_fcrs[5]); - } + if (sc->sc_devid == 0x22) + bus_write_4(sc->sc_memr, KEYLARGO_MEDIABAY, sc->saved_mbcr); + + bus_write_4(sc->sc_memr, KEYLARGO_FCR0, sc->saved_fcrs[0]); + bus_write_4(sc->sc_memr, KEYLARGO_FCR1, sc->saved_fcrs[1]); + bus_write_4(sc->sc_memr, KEYLARGO_FCR2, sc->saved_fcrs[2]); + bus_write_4(sc->sc_memr, KEYLARGO_FCR3, sc->saved_fcrs[3]); + bus_write_4(sc->sc_memr, KEYLARGO_FCR4, sc->saved_fcrs[4]); + bus_write_4(sc->sc_memr, KEYLARGO_FCR5, sc->saved_fcrs[5]); /* Let things settle. */ DELAY(1000); - return (bus_generic_resume(dev)); + return (0); } Modified: projects/pmac_pmu/sys/powerpc/powermac/uninorth.c ============================================================================== --- projects/pmac_pmu/sys/powerpc/powermac/uninorth.c Sun Jan 19 07:43:02 2014 (r260876) +++ projects/pmac_pmu/sys/powerpc/powermac/uninorth.c Sun Jan 19 07:44:14 2014 (r260877) @@ -649,15 +649,7 @@ unin_chip_suspend(device_t dev) { int error; - error = bus_generic_suspend(dev); - - if (error) - return (error); - - if (bus_current_pass == BUS_PASS_BUS) - error = unin_chip_sleep(dev, 0); - else - error = EAGAIN; + error = unin_chip_sleep(dev, 0); return (error); } @@ -666,10 +658,9 @@ static int unin_chip_resume(device_t dev) { - if (bus_current_pass == BUS_PASS_BUS) - unin_chip_wake(dev); + unin_chip_wake(dev); - return (bus_generic_resume(dev)); + return (0); } int From owner-svn-src-projects@FreeBSD.ORG Sun Jan 19 09:35:41 2014 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id C9A06D6E; Sun, 19 Jan 2014 09:35:41 +0000 (UTC) Received: from vlakno.cz (mail.vlakno.cz [95.129.96.251]) by mx1.freebsd.org (Postfix) with ESMTP id 8D3DC1E72; Sun, 19 Jan 2014 09:35:40 +0000 (UTC) Received: by vlakno.cz (Postfix, from userid 1002) id 866441CC55A6; Sun, 19 Jan 2014 10:35:33 +0100 (CET) Date: Sun, 19 Jan 2014 10:35:33 +0100 From: Roman Divacky To: Kai Wang Subject: Re: svn commit: r260855 - projects/elftoolchain/contrib/elftoolchain/libdwarf Message-ID: <20140119093533.GA98138@freebsd.org> References: <201401181759.s0IHxMJK067711@svn.freebsd.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <201401181759.s0IHxMJK067711@svn.freebsd.org> User-Agent: Mutt/1.5.22 (2013-10-16) Cc: svn-src-projects@freebsd.org, src-committers@freebsd.org X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.17 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 19 Jan 2014 09:35:41 -0000 Nice progress! I hope all those fixes will make it upstream :) On Sat, Jan 18, 2014 at 05:59:22PM +0000, Kai Wang wrote: > Author: kaiw > Date: Sat Jan 18 17:59:22 2014 > New Revision: 260855 > URL: http://svnweb.freebsd.org/changeset/base/260855 > > Log: > API dwarf_attrval_flag() should properly handle an attribute with > (DWARF4) form DW_FORM_flag_present which implicitly indicates the > presence of the attribute. Manual page is updated to reflect this > change. > > Note that this was previously fixed in the old libdwarf. > > Modified: > projects/elftoolchain/contrib/elftoolchain/libdwarf/dwarf_attrval.c > projects/elftoolchain/contrib/elftoolchain/libdwarf/dwarf_attrval_signed.3 > > Modified: projects/elftoolchain/contrib/elftoolchain/libdwarf/dwarf_attrval.c > ============================================================================== > --- projects/elftoolchain/contrib/elftoolchain/libdwarf/dwarf_attrval.c Sat Jan 18 17:49:32 2014 (r260854) > +++ projects/elftoolchain/contrib/elftoolchain/libdwarf/dwarf_attrval.c Sat Jan 18 17:59:22 2014 (r260855) > @@ -50,6 +50,7 @@ dwarf_attrval_flag(Dwarf_Die die, Dwarf_ > > switch (at->at_form) { > case DW_FORM_flag: > + case DW_FORM_flag_present: > *valp = (Dwarf_Bool) (!!at->u[0].u64); > break; > default: > > Modified: projects/elftoolchain/contrib/elftoolchain/libdwarf/dwarf_attrval_signed.3 > ============================================================================== > --- projects/elftoolchain/contrib/elftoolchain/libdwarf/dwarf_attrval_signed.3 Sat Jan 18 17:49:32 2014 (r260854) > +++ projects/elftoolchain/contrib/elftoolchain/libdwarf/dwarf_attrval_signed.3 Sat Jan 18 17:59:22 2014 (r260855) > @@ -24,7 +24,7 @@ > .\" > .\" $Id: dwarf_attrval_signed.3 2072 2011-10-27 03:26:49Z jkoshy $ > .\" > -.Dd January 29, 2011 > +.Dd January 18, 2014 > .Os > .Dt DWARF_ATTRVAL_SIGNED 3 > .Sh NAME > @@ -84,13 +84,28 @@ Function > .Fn dwarf_attrval_flag > sets the location pointed to by argument > .Ar ret > -to 1 if the attribute named by argument > +to either 0 or 1. If the form of the attribute named by argument > .Ar attr > -has a non-zero value, or to 0 otherwise. > -The form of the attribute named by argument > +is > +.Dv DW_FORM_flag , > +function > +.Fn dwarf_attrval_flag > +sets the location pointed to by argument > +.Ar ret > +to 1 if the attribute has a non-zero value, or to 0 otherwise. > +If the form of the attribute named by argument > .Ar attr > -must be > -.Dv DW_FORM_flag . > +is > +.Dv DW_FORM_flag_present , > +function > +.Fn dwarf_attrval_flag > +unconditionally sets the location pointed to by argument > +.Ar ret > +to 1. > +The form of the attribute must be one of > +.Dv DW_FORM_flag > +or > +.Dv DW_FORM_flag_present . > .Pp > Function > .Fn dwarf_attrval_signed > @@ -122,7 +137,7 @@ attribute named by argument > The form of the attribute must be one of > .Dv DW_FORM_string > or > -.Dv DW_FORM_strp . > +.Dv DW_FORM_strp . > .Pp > Function > .Fn dwarf_attrval_unsigned From owner-svn-src-projects@FreeBSD.ORG Sun Jan 19 13:38:40 2014 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id B0F23F66; Sun, 19 Jan 2014 13:38:40 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id 9D5371DA4; Sun, 19 Jan 2014 13:38:40 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id s0JDceT2023103; Sun, 19 Jan 2014 13:38:40 GMT (envelope-from kaiw@svn.freebsd.org) Received: (from kaiw@localhost) by svn.freebsd.org (8.14.7/8.14.7/Submit) id s0JDceL0023102; Sun, 19 Jan 2014 13:38:40 GMT (envelope-from kaiw@svn.freebsd.org) Message-Id: <201401191338.s0JDceL0023102@svn.freebsd.org> From: Kai Wang Date: Sun, 19 Jan 2014 13:38:40 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r260878 - projects/elftoolchain/contrib/elftoolchain/libdwarf X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.17 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 19 Jan 2014 13:38:40 -0000 Author: kaiw Date: Sun Jan 19 13:38:40 2014 New Revision: 260878 URL: http://svnweb.freebsd.org/changeset/base/260878 Log: Add a sanity check: The provided offset for the desired location list should not exceed the size of the .debug_loc section. Modified: projects/elftoolchain/contrib/elftoolchain/libdwarf/libdwarf_loclist.c Modified: projects/elftoolchain/contrib/elftoolchain/libdwarf/libdwarf_loclist.c ============================================================================== --- projects/elftoolchain/contrib/elftoolchain/libdwarf/libdwarf_loclist.c Sun Jan 19 07:44:14 2014 (r260877) +++ projects/elftoolchain/contrib/elftoolchain/libdwarf/libdwarf_loclist.c Sun Jan 19 13:38:40 2014 (r260878) @@ -127,6 +127,11 @@ _dwarf_loclist_add(Dwarf_Debug dbg, Dwar return (DW_DLE_NO_ENTRY); } + if (lloff >= ds->ds_size) { + DWARF_SET_ERROR(dbg, error, DW_DLE_NO_ENTRY); + return (DW_DLE_NO_ENTRY); + } + if ((ll = malloc(sizeof(struct _Dwarf_Loclist))) == NULL) { DWARF_SET_ERROR(dbg, error, DW_DLE_MEMORY); return (DW_DLE_MEMORY); From owner-svn-src-projects@FreeBSD.ORG Sun Jan 19 13:42:49 2014 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id BA9E53B9; Sun, 19 Jan 2014 13:42:49 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id 8D86B1E14; Sun, 19 Jan 2014 13:42:49 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id s0JDgnaZ026743; Sun, 19 Jan 2014 13:42:49 GMT (envelope-from kaiw@svn.freebsd.org) Received: (from kaiw@localhost) by svn.freebsd.org (8.14.7/8.14.7/Submit) id s0JDgnDn026742; Sun, 19 Jan 2014 13:42:49 GMT (envelope-from kaiw@svn.freebsd.org) Message-Id: <201401191342.s0JDgnDn026742@svn.freebsd.org> From: Kai Wang Date: Sun, 19 Jan 2014 13:42:49 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r260879 - projects/elftoolchain/contrib/elftoolchain/libdwarf X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.17 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 19 Jan 2014 13:42:49 -0000 Author: kaiw Date: Sun Jan 19 13:42:49 2014 New Revision: 260879 URL: http://svnweb.freebsd.org/changeset/base/260879 Log: * Allow API dwarf_loclist_n() and dwarf_loclist() to be called with attributes that have form DW_FORM_sec_offset. * If the .debug_info section conforms to DWARF4, do not allow the value of attributes with form DW_FORM_data[48] to be used as section offset. Modified: projects/elftoolchain/contrib/elftoolchain/libdwarf/dwarf_loclist.c Modified: projects/elftoolchain/contrib/elftoolchain/libdwarf/dwarf_loclist.c ============================================================================== --- projects/elftoolchain/contrib/elftoolchain/libdwarf/dwarf_loclist.c Sun Jan 19 13:38:40 2014 (r260878) +++ projects/elftoolchain/contrib/elftoolchain/libdwarf/dwarf_loclist.c Sun Jan 19 13:42:49 2014 (r260879) @@ -56,8 +56,20 @@ dwarf_loclist_n(Dwarf_Attribute at, Dwar switch (at->at_form) { case DW_FORM_data4: case DW_FORM_data8: - ret = _dwarf_loclist_find(at->at_die->die_dbg, - at->at_die->die_cu, at->u[0].u64, &ll, error); + /* + * DW_FORM_data[48] can not be used as section offset + * since DWARF4. For DWARF[23], the application needs + * to determine if DW_FORM_data[48] is representing + * a constant or a section offset. + */ + if (at->at_die->die_cu->cu_version >= 4) { + DWARF_SET_ERROR(dbg, error, DW_DLE_NO_ENTRY); + return (DW_DLV_NO_ENTRY); + } + /* FALLTHROUGH */ + case DW_FORM_sec_offset: + ret = _dwarf_loclist_find(dbg, at->at_die->die_cu, + at->u[0].u64, &ll, error); if (ret == DW_DLE_NO_ENTRY) { DWARF_SET_ERROR(dbg, error, ret); return (DW_DLV_NO_ENTRY); @@ -119,6 +131,19 @@ dwarf_loclist(Dwarf_Attribute at, Dwarf_ switch (at->at_form) { case DW_FORM_data4: case DW_FORM_data8: + /* + * DW_FORM_data[48] can not be used as section offset + * since DWARF4. For DWARF[23], the application needs + * to determine if DW_FORM_data[48] is representing + * a constant or a section offset. + */ + if (at->at_die->die_cu->cu_version >= 4) { + printf("called cu_version >= 4\n"); + DWARF_SET_ERROR(dbg, error, DW_DLE_NO_ENTRY); + return (DW_DLV_NO_ENTRY); + } + /* FALLTHROUGH */ + case DW_FORM_sec_offset: ret = _dwarf_loclist_find(at->at_die->die_dbg, at->at_die->die_cu, at->u[0].u64, &ll, error); if (ret == DW_DLE_NO_ENTRY) { From owner-svn-src-projects@FreeBSD.ORG Sun Jan 19 13:48:04 2014 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id AE74EB5E; Sun, 19 Jan 2014 13:48:03 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id 137461E59; Sun, 19 Jan 2014 13:48:03 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id s0JDm21O028581; Sun, 19 Jan 2014 13:48:02 GMT (envelope-from kaiw@svn.freebsd.org) Received: (from kaiw@localhost) by svn.freebsd.org (8.14.7/8.14.7/Submit) id s0JDm2ZS028579; Sun, 19 Jan 2014 13:48:02 GMT (envelope-from kaiw@svn.freebsd.org) Message-Id: <201401191348.s0JDm2ZS028579@svn.freebsd.org> From: Kai Wang Date: Sun, 19 Jan 2014 13:48:02 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r260880 - projects/elftoolchain/cddl/contrib/opensolaris/tools/ctf/cvt X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.17 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 19 Jan 2014 13:48:04 -0000 Author: kaiw Date: Sun Jan 19 13:48:02 2014 New Revision: 260880 URL: http://svnweb.freebsd.org/changeset/base/260880 Log: * Make die_mem_offset() be able to handle DW_AT_data_member_location attributes generated by Clang 3.4. * Document how different compilers generate DW_AT_data_member_location attributes differently. * Document the quirks about DW_FORM_data[48]. Modified: projects/elftoolchain/cddl/contrib/opensolaris/tools/ctf/cvt/dwarf.c Modified: projects/elftoolchain/cddl/contrib/opensolaris/tools/ctf/cvt/dwarf.c ============================================================================== --- projects/elftoolchain/cddl/contrib/opensolaris/tools/ctf/cvt/dwarf.c Sun Jan 19 13:42:49 2014 (r260879) +++ projects/elftoolchain/cddl/contrib/opensolaris/tools/ctf/cvt/dwarf.c Sun Jan 19 13:48:02 2014 (r260880) @@ -492,23 +492,71 @@ die_mem_offset(dwarf_t *dw, Dwarf_Die di Dwarf_Locdesc *loc = NULL; Dwarf_Signed locnum = 0; Dwarf_Attribute at; + Dwarf_Half form; + + if (name != DW_AT_data_member_location) + terminate("die %llu: can only process attribute " + "DW_AT_data_member_location\n", die_off(dw, die)); if ((at = die_attr(dw, die, name, 0)) == NULL) return (0); - if (dwarf_loclist(at, &loc, &locnum, &dw->dw_err) != DW_DLV_OK) + if (dwarf_whatform(at, &form, &dw->dw_err) != DW_DLV_OK) return (0); - if (locnum != 1 || loc->ld_s->lr_atom != DW_OP_plus_uconst) { - terminate("die %llu: cannot parse member offset\n", - die_off(dw, die)); - } + switch (form) { + case DW_FORM_sec_offset: + case DW_FORM_block: + case DW_FORM_block1: + case DW_FORM_block2: + case DW_FORM_block4: + /* + * GCC in base and Clang (3.3 or below) generates + * DW_AT_data_member_location attribute with DW_FORM_block* + * form. The attribute contains one DW_OP_plus_uconst + * operator. The member offset stores in the operand. + */ + if (dwarf_loclist(at, &loc, &locnum, &dw->dw_err) != DW_DLV_OK) + return (0); + if (locnum != 1 || loc->ld_s->lr_atom != DW_OP_plus_uconst) { + terminate("die %llu: cannot parse member offset with " + "operator other than DW_OP_plus_uconst\n", + die_off(dw, die)); + } + *valp = loc->ld_s->lr_number; + if (loc != NULL) { + dwarf_dealloc(dw->dw_dw, loc->ld_s, DW_DLA_LOC_BLOCK); + dwarf_dealloc(dw->dw_dw, loc, DW_DLA_LOCDESC); + } + break; - *valp = loc->ld_s->lr_number; + case DW_FORM_data1: + case DW_FORM_data2: + case DW_FORM_data4: + case DW_FORM_data8: + case DW_FORM_udata: + /* + * Clang 3.4 generates DW_AT_data_member_location attribute + * with DW_FORM_data* form (constant class). The attribute + * stores a contant value which is the member offset. + * + * However, note that DW_FORM_data[48] in DWARF version 2 or 3 + * could be used as a section offset (offset into .debug_loc in + * this case). Here we assume the attribute always stores a + * constant because we know Clang 3.4 does this and GCC in + * base won't emit DW_FORM_data[48] for this attribute. This + * code will remain correct if future vesrions of Clang and + * GCC conform to DWARF4 standard and only use the form + * DW_FORM_sec_offset for section offset. + */ + if (dwarf_attrval_unsigned(die, name, valp, &dw->dw_err) != + DW_DLV_OK) + return (0); + break; - if (loc != NULL) { - dwarf_dealloc(dw->dw_dw, loc->ld_s, DW_DLA_LOC_BLOCK); - dwarf_dealloc(dw->dw_dw, loc, DW_DLA_LOCDESC); + default: + terminate("die %llu: cannot parse member offset with form " + "%u\n", die_off(dw, die), form); } return (1); From owner-svn-src-projects@FreeBSD.ORG Mon Jan 20 01:35:15 2014 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 45267F07; Mon, 20 Jan 2014 01:35:15 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id 179C21F95; Mon, 20 Jan 2014 01:35:15 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id s0K1ZEYn004246; Mon, 20 Jan 2014 01:35:14 GMT (envelope-from kaiw@svn.freebsd.org) Received: (from kaiw@localhost) by svn.freebsd.org (8.14.7/8.14.7/Submit) id s0K1ZEwm004244; Mon, 20 Jan 2014 01:35:14 GMT (envelope-from kaiw@svn.freebsd.org) Message-Id: <201401200135.s0K1ZEwm004244@svn.freebsd.org> From: Kai Wang Date: Mon, 20 Jan 2014 01:35:14 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r260897 - projects/elftoolchain/cddl/contrib/opensolaris/tools/ctf/cvt X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.17 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 20 Jan 2014 01:35:15 -0000 Author: kaiw Date: Mon Jan 20 01:35:14 2014 New Revision: 260897 URL: http://svnweb.freebsd.org/changeset/base/260897 Log: Clang 3.4 will sometimes emit DIE for struct/union member before emitting the DIE for the type of that member. ctfconvert can not handle this properly and will calculate a wrong member bit offset. Same struct/union type from different .o file will be treated as different types when their member bit offsets are different, and gets added/merged multiple times. This will in turn cause many other structs/pointers/typedefs that refer to the duplicated struct/union gets added/merged multiple times and eventually causes numerous duplicated CTF types in the kernel.debug file. The simple workaround here is to make use of DW_AT_byte_size attribute of the member DIE to calculate the bits occupied by the member's type, without actually resolving the type. Modified: projects/elftoolchain/cddl/contrib/opensolaris/tools/ctf/cvt/dwarf.c Modified: projects/elftoolchain/cddl/contrib/opensolaris/tools/ctf/cvt/dwarf.c ============================================================================== --- projects/elftoolchain/cddl/contrib/opensolaris/tools/ctf/cvt/dwarf.c Sun Jan 19 22:25:57 2014 (r260896) +++ projects/elftoolchain/cddl/contrib/opensolaris/tools/ctf/cvt/dwarf.c Mon Jan 20 01:35:14 2014 (r260897) @@ -938,7 +938,7 @@ static void die_sou_create(dwarf_t *dw, Dwarf_Die str, Dwarf_Off off, tdesc_t *tdp, int type, const char *typename) { - Dwarf_Unsigned sz, bitsz, bitoff, maxsz=0; + Dwarf_Unsigned sz, bysz, bitsz, bitoff, maxsz=0; Dwarf_Die mem; mlist_t *ml, **mlastp; iidesc_t *ii; @@ -1013,8 +1013,26 @@ die_sou_create(dwarf_t *dw, Dwarf_Die st #if BYTE_ORDER == _BIG_ENDIAN ml->ml_offset += bitoff; #else - ml->ml_offset += tdesc_bitsize(ml->ml_type) - bitoff - - ml->ml_size; + /* + * Note that Clang 3.4 will sometimes generate + * member DIE before generating the DIE for the + * member's type. The code can not handle this + * properly so that tdesc_bitsize(ml->ml_type) will + * return 0 because ml->ml_type is unknown. As a + * result, a wrong member offset will be calculated. + * To workaround this, we can instead try to + * retrieve the value of DW_AT_byte_size attribute + * which stores the byte size of the space occupied + * by the type. If this attribute exists, its value + * should equal to tdesc_bitsize(ml->ml_type)/NBBY. + */ + if (die_unsigned(dw, mem, DW_AT_byte_size, &bysz, 0) && + bysz > 0) + ml->ml_offset += bysz * NBBY - bitoff - + ml->ml_size; + else + ml->ml_offset += tdesc_bitsize(ml->ml_type) - + bitoff - ml->ml_size; #endif } From owner-svn-src-projects@FreeBSD.ORG Mon Jan 20 12:11:58 2014 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 724CC5D4; Mon, 20 Jan 2014 12:11:58 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id 5A0C11975; Mon, 20 Jan 2014 12:11:58 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id s0KCBwDR049404; Mon, 20 Jan 2014 12:11:58 GMT (envelope-from glebius@svn.freebsd.org) Received: (from glebius@localhost) by svn.freebsd.org (8.14.7/8.14.7/Submit) id s0KCBmAV049350; Mon, 20 Jan 2014 12:11:48 GMT (envelope-from glebius@svn.freebsd.org) Message-Id: <201401201211.s0KCBmAV049350@svn.freebsd.org> From: Gleb Smirnoff Date: Mon, 20 Jan 2014 12:11:48 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r260905 - in projects/sendfile: . bin/cat bin/df bin/pax/tests bin/sh bin/sh/tests bin/test/tests cddl/contrib/opensolaris/cmd/zdb cddl/contrib/opensolaris/cmd/zinject cddl/usr.bin/zinj... X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.17 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 20 Jan 2014 12:11:58 -0000 Author: glebius Date: Mon Jan 20 12:11:47 2014 New Revision: 260905 URL: http://svnweb.freebsd.org/changeset/base/260905 Log: Merge head up to r260904. Added: projects/sendfile/bin/pax/tests/legacy_test.pl - copied unchanged from r260904, head/bin/pax/tests/legacy_test.pl projects/sendfile/contrib/atf/atf-c++/atf-c++.pc.in - copied unchanged from r260904, head/contrib/atf/atf-c++/atf-c++.pc.in projects/sendfile/contrib/atf/atf-c/atf-c.pc.in - copied unchanged from r260904, head/contrib/atf/atf-c/atf-c.pc.in projects/sendfile/contrib/atf/atf-sh/atf-sh.pc.in - copied unchanged from r260904, head/contrib/atf/atf-sh/atf-sh.pc.in projects/sendfile/lib/atf/common.mk - copied unchanged from r260904, head/lib/atf/common.mk projects/sendfile/lib/atf/libatf-c++/tests/Makefile.inc - copied unchanged from r260904, head/lib/atf/libatf-c++/tests/Makefile.inc projects/sendfile/lib/atf/libatf-c++/tests/detail/ - copied from r260904, head/lib/atf/libatf-c++/tests/detail/ projects/sendfile/lib/atf/libatf-c/tests/Makefile.inc - copied unchanged from r260904, head/lib/atf/libatf-c/tests/Makefile.inc projects/sendfile/lib/atf/libatf-c/tests/detail/ - copied from r260904, head/lib/atf/libatf-c/tests/detail/ projects/sendfile/release/doc/en_US.ISO8859-1/share/xml/catalog.xml - copied unchanged from r260904, head/release/doc/en_US.ISO8859-1/share/xml/catalog.xml projects/sendfile/release/doc/en_US.ISO8859-1/share/xml/release.xsl - copied unchanged from r260904, head/release/doc/en_US.ISO8859-1/share/xml/release.xsl projects/sendfile/release/doc/share/xml/release.xsl - copied unchanged from r260904, head/release/doc/share/xml/release.xsl projects/sendfile/release/pkg_repos/ - copied from r260904, head/release/pkg_repos/ projects/sendfile/share/man/man4/geom_uncompress.4 - copied unchanged from r260904, head/share/man/man4/geom_uncompress.4 projects/sendfile/share/man/man4/virtio_random.4 - copied unchanged from r260904, head/share/man/man4/virtio_random.4 projects/sendfile/sys/amd64/conf/VT - copied unchanged from r260904, head/sys/amd64/conf/VT projects/sendfile/sys/arm/at91/at91_gpio.h - copied unchanged from r260904, head/sys/arm/at91/at91_gpio.h projects/sendfile/sys/arm/at91/at91_smc.c - copied unchanged from r260904, head/sys/arm/at91/at91_smc.c projects/sendfile/sys/arm/at91/at91_smc.h - copied unchanged from r260904, head/sys/arm/at91/at91_smc.h projects/sendfile/sys/contrib/dev/iwn/iwlwifi-105-6-18.168.6.1.fw.uu - copied unchanged from r260904, head/sys/contrib/dev/iwn/iwlwifi-105-6-18.168.6.1.fw.uu projects/sendfile/sys/dev/nand/nfc_at91.h - copied unchanged from r260904, head/sys/dev/nand/nfc_at91.h projects/sendfile/sys/dev/virtio/random/ - copied from r260904, head/sys/dev/virtio/random/ projects/sendfile/sys/i386/conf/VT - copied unchanged from r260904, head/sys/i386/conf/VT projects/sendfile/sys/modules/iwnfw/iwn105/ - copied from r260904, head/sys/modules/iwnfw/iwn105/ projects/sendfile/sys/modules/virtio/random/ - copied from r260904, head/sys/modules/virtio/random/ Deleted: projects/sendfile/bin/pax/tests/legacy_test.sh projects/sendfile/release/amd64/pkg-stage.conf projects/sendfile/release/doc/de_DE.ISO8859-1/ projects/sendfile/release/doc/en_US.ISO8859-1/share/xml/catalog projects/sendfile/release/doc/en_US.ISO8859-1/share/xml/release.dsl projects/sendfile/release/doc/fr_FR.ISO8859-1/ projects/sendfile/release/doc/ja_JP.eucJP/ projects/sendfile/release/doc/ru_RU.KOI8-R/ projects/sendfile/release/doc/share/xml/catalog projects/sendfile/release/doc/share/xml/default.dsl projects/sendfile/release/doc/share/xml/release.dsl projects/sendfile/release/doc/zh_CN.GB2312/ projects/sendfile/release/i386/pkg-stage.conf Modified: projects/sendfile/UPDATING projects/sendfile/bin/cat/cat.c projects/sendfile/bin/df/df.1 projects/sendfile/bin/pax/tests/Makefile projects/sendfile/bin/sh/input.c projects/sendfile/bin/sh/tests/Makefile projects/sendfile/bin/sh/trap.c projects/sendfile/bin/sh/trap.h projects/sendfile/bin/test/tests/Makefile projects/sendfile/cddl/contrib/opensolaris/cmd/zdb/zdb.c projects/sendfile/cddl/contrib/opensolaris/cmd/zinject/zinject.c projects/sendfile/cddl/usr.bin/zinject/Makefile projects/sendfile/contrib/atf/FREEBSD-Xlist projects/sendfile/contrib/atf/atf-c++/detail/test_helpers.cpp projects/sendfile/contrib/bsnmp/lib/snmpagent.c projects/sendfile/contrib/gcc/config/arm/freebsd.h projects/sendfile/contrib/gcc/cp/ChangeLog.apple projects/sendfile/contrib/gcc/cp/parser.c projects/sendfile/contrib/ntp/ntpd/ntp_config.c projects/sendfile/etc/defaults/rc.conf projects/sendfile/etc/mtree/BSD.tests.dist projects/sendfile/gnu/lib/libgcc/Makefile projects/sendfile/gnu/usr.bin/gdb/kgdb/trgt.c projects/sendfile/lib/atf/Makefile.inc projects/sendfile/lib/atf/libatf-c++/Makefile projects/sendfile/lib/atf/libatf-c++/tests/Makefile projects/sendfile/lib/atf/libatf-c/Makefile projects/sendfile/lib/atf/libatf-c/tests/Makefile projects/sendfile/lib/libc/Makefile projects/sendfile/lib/libc/gen/fts.3 projects/sendfile/lib/libc/gen/fts.c projects/sendfile/lib/libc/include/port_before.h projects/sendfile/lib/libc/resolv/res_send.c projects/sendfile/lib/libc/stdlib/getsubopt.c projects/sendfile/lib/libc/sys/accept.2 projects/sendfile/lib/libc/sys/chflags.2 projects/sendfile/lib/libc/sys/pipe.2 projects/sendfile/lib/libcxxrt/Version.map projects/sendfile/lib/libfetch/common.c projects/sendfile/lib/libkvm/Makefile projects/sendfile/lib/libkvm/kvm_ia64.c projects/sendfile/lib/libmd/sha256.h projects/sendfile/lib/libmd/sha256c.c projects/sendfile/libexec/rtld-elf/Makefile projects/sendfile/release/Makefile projects/sendfile/release/doc/en_US.ISO8859-1/errata/article.xml projects/sendfile/release/doc/en_US.ISO8859-1/relnotes/article.xml projects/sendfile/release/doc/share/mk/doc.relnotes.mk projects/sendfile/release/doc/share/xml/catalog.xml projects/sendfile/release/scripts/pkg-stage.sh projects/sendfile/sbin/camcontrol/camcontrol.c projects/sendfile/sbin/casperd/casperd.c projects/sendfile/sbin/geom/class/part/geom_part.c (contents, props changed) projects/sendfile/sbin/kldload/kldload.c projects/sendfile/sbin/route/keywords projects/sendfile/sbin/route/route.8 projects/sendfile/sbin/route/route.c projects/sendfile/share/keys/pkg/trusted/pkg.freebsd.org.2013102301 projects/sendfile/share/man/man4/Makefile projects/sendfile/share/man/man4/kld.4 projects/sendfile/share/man/man9/Makefile projects/sendfile/share/man/man9/malloc.9 projects/sendfile/share/man/man9/mbuf.9 projects/sendfile/share/man/man9/sglist.9 projects/sendfile/share/misc/committers-ports.dot projects/sendfile/share/mk/bsd.libnames.mk projects/sendfile/share/mk/bsd.test.mk projects/sendfile/share/mk/tap.test.mk projects/sendfile/sys/amd64/amd64/identcpu.c projects/sendfile/sys/amd64/conf/NOTES projects/sendfile/sys/amd64/include/vmm.h (contents, props changed) projects/sendfile/sys/amd64/vmm/amd/amdv.c projects/sendfile/sys/amd64/vmm/intel/vmcs.c projects/sendfile/sys/amd64/vmm/intel/vmcs.h projects/sendfile/sys/amd64/vmm/intel/vmx.c projects/sendfile/sys/amd64/vmm/intel/vmx.h projects/sendfile/sys/amd64/vmm/intel/vmx_genassym.c projects/sendfile/sys/amd64/vmm/intel/vmx_support.S projects/sendfile/sys/amd64/vmm/io/vioapic.c projects/sendfile/sys/amd64/vmm/io/vlapic.c projects/sendfile/sys/amd64/vmm/io/vlapic.h projects/sendfile/sys/amd64/vmm/vmm.c projects/sendfile/sys/amd64/vmm/vmm_stat.c projects/sendfile/sys/amd64/vmm/vmm_stat.h projects/sendfile/sys/arm/arm/devmap.c projects/sendfile/sys/arm/arm/machdep.c projects/sendfile/sys/arm/at91/at91rm9200.c projects/sendfile/sys/arm/at91/at91sam9260.c projects/sendfile/sys/arm/at91/at91sam9g20.c projects/sendfile/sys/arm/at91/at91sam9g45.c projects/sendfile/sys/arm/at91/at91sam9x5.c projects/sendfile/sys/arm/at91/at91var.h projects/sendfile/sys/arm/at91/board_hl201.c projects/sendfile/sys/arm/at91/board_sam9260ek.c projects/sendfile/sys/arm/at91/files.at91 projects/sendfile/sys/arm/at91/uart_dev_at91usart.c projects/sendfile/sys/arm/conf/ATMEL projects/sendfile/sys/arm/conf/HL201 projects/sendfile/sys/arm/conf/SAM9260EK projects/sendfile/sys/arm/freescale/imx/imx51_ipuv3_fbd.c projects/sendfile/sys/arm/include/devmap.h projects/sendfile/sys/arm/s3c2xx0/uart_dev_s3c2410.c projects/sendfile/sys/arm/sa11x0/uart_dev_sa1110.c projects/sendfile/sys/arm/xilinx/uart_dev_cdnc.c projects/sendfile/sys/cam/cam_debug.h projects/sendfile/sys/cam/cam_periph.c projects/sendfile/sys/cam/cam_periph.h projects/sendfile/sys/cam/cam_xpt.c projects/sendfile/sys/cam/scsi/scsi_low.c projects/sendfile/sys/cam/scsi/scsi_xpt.c projects/sendfile/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/arc.c projects/sendfile/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu_traverse.c projects/sendfile/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_mirror.c projects/sendfile/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_dir.c projects/sendfile/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vnops.c projects/sendfile/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_znode.c projects/sendfile/sys/compat/freebsd32/freebsd32_misc.c projects/sendfile/sys/conf/Makefile.arm projects/sendfile/sys/conf/files.amd64 projects/sendfile/sys/conf/files.i386 projects/sendfile/sys/contrib/ipfilter/netinet/ip_compat.h projects/sendfile/sys/contrib/ipfilter/netinet/ip_fil_freebsd.c (contents, props changed) projects/sendfile/sys/dev/aha/aha.c projects/sendfile/sys/dev/ahci/ahci.c projects/sendfile/sys/dev/altera/atse/if_atse.c projects/sendfile/sys/dev/bxe/bxe.c projects/sendfile/sys/dev/hyperv/netvsc/hv_netvsc_drv_freebsd.c projects/sendfile/sys/dev/mfi/mfi_cam.c projects/sendfile/sys/dev/nand/nfc_at91.c projects/sendfile/sys/dev/netmap/netmap.c projects/sendfile/sys/dev/netmap/netmap_generic.c projects/sendfile/sys/dev/netmap/netmap_mem2.c projects/sendfile/sys/dev/netmap/netmap_vale.c projects/sendfile/sys/dev/qlxge/qls_os.c projects/sendfile/sys/dev/uart/uart_core.c projects/sendfile/sys/dev/uart/uart_cpu.h projects/sendfile/sys/dev/uart/uart_dev_imx.c projects/sendfile/sys/dev/uart/uart_dev_lpc.c projects/sendfile/sys/dev/uart/uart_dev_ns8250.c projects/sendfile/sys/dev/uart/uart_dev_ns8250.h projects/sendfile/sys/dev/uart/uart_dev_pl011.c projects/sendfile/sys/dev/uart/uart_dev_quicc.c projects/sendfile/sys/dev/uart/uart_dev_sab82532.c projects/sendfile/sys/dev/uart/uart_dev_z8530.c projects/sendfile/sys/dev/uart/uart_if.m projects/sendfile/sys/dev/usb/controller/ehci.c projects/sendfile/sys/dev/usb/controller/uhci.c projects/sendfile/sys/dev/usb/controller/xhci.c projects/sendfile/sys/dev/usb/input/ukbd.c projects/sendfile/sys/dev/usb/net/uhso.c projects/sendfile/sys/dev/usb/serial/u3g.c projects/sendfile/sys/dev/usb/serial/umcs.c projects/sendfile/sys/dev/usb/usb_dev.c projects/sendfile/sys/dev/usb/usb_device.c projects/sendfile/sys/dev/usb/usb_device.h projects/sendfile/sys/dev/usb/usb_hub.c projects/sendfile/sys/dev/usb/usb_hub.h projects/sendfile/sys/dev/usb/usb_request.c projects/sendfile/sys/dev/usb/usb_transfer.c projects/sendfile/sys/dev/usb/wlan/if_rsu.c projects/sendfile/sys/dev/usb/wlan/if_run.c projects/sendfile/sys/dev/virtio/block/virtio_blk.c projects/sendfile/sys/dev/virtio/scsi/virtio_scsi.c projects/sendfile/sys/dev/vt/hw/xboxfb/xboxfb.c projects/sendfile/sys/fs/ext2fs/ext2_inode_cnv.c projects/sendfile/sys/fs/nfs/nfs_var.h projects/sendfile/sys/fs/nfsserver/nfs_nfsdcache.c projects/sendfile/sys/fs/nfsserver/nfs_nfsdkrpc.c projects/sendfile/sys/geom/multipath/g_multipath.c projects/sendfile/sys/geom/uncompress/g_uncompress.c projects/sendfile/sys/i386/conf/NOTES projects/sendfile/sys/i386/i386/identcpu.c projects/sendfile/sys/ia64/conf/GENERIC projects/sendfile/sys/ia64/ia64/exception.S projects/sendfile/sys/kern/kern_event.c projects/sendfile/sys/kern/subr_sglist.c projects/sendfile/sys/kern/subr_witness.c projects/sendfile/sys/kern/uipc_mbuf.c projects/sendfile/sys/kern/uipc_sockbuf.c projects/sendfile/sys/kern/uipc_socket.c projects/sendfile/sys/kern/uipc_syscalls.c projects/sendfile/sys/mips/adm5120/uart_dev_adm5120.c projects/sendfile/sys/mips/atheros/uart_dev_ar933x.c projects/sendfile/sys/mips/cavium/ciu.c projects/sendfile/sys/mips/cavium/uart_dev_oct16550.c projects/sendfile/sys/mips/rt305x/uart_dev_rt305x.c projects/sendfile/sys/modules/geom/Makefile projects/sendfile/sys/modules/geom/geom_uncompress/Makefile projects/sendfile/sys/modules/iwnfw/Makefile projects/sendfile/sys/modules/sound/driver/ai2s/Makefile projects/sendfile/sys/modules/virtio/Makefile projects/sendfile/sys/net/ieee8023ad_lacp.c projects/sendfile/sys/net/if.c projects/sendfile/sys/net/if_arcsubr.c projects/sendfile/sys/net/if_dl.h projects/sendfile/sys/net/if_ethersubr.c projects/sendfile/sys/net/if_fddisubr.c projects/sendfile/sys/net/if_iso88025subr.c projects/sendfile/sys/net/if_lagg.c projects/sendfile/sys/net/netmap_user.h projects/sendfile/sys/net/route.c projects/sendfile/sys/net/route.h projects/sendfile/sys/net/rtsock.c projects/sendfile/sys/net80211/ieee80211_mesh.c projects/sendfile/sys/netgraph/bluetooth/drivers/ubt/ng_ubt.c projects/sendfile/sys/netinet/in.c projects/sendfile/sys/netinet/in_mcast.c projects/sendfile/sys/netinet/ip_carp.c projects/sendfile/sys/netinet/ip_output.c projects/sendfile/sys/netinet/tcp_syncache.c projects/sendfile/sys/netinet6/in6.c projects/sendfile/sys/netinet6/in6_ifattach.c projects/sendfile/sys/netinet6/in6_mcast.c projects/sendfile/sys/netinet6/in6_var.h projects/sendfile/sys/netinet6/ip6_mroute.c projects/sendfile/sys/netinet6/ip6_mroute.h projects/sendfile/sys/netinet6/mld6.c projects/sendfile/sys/netinet6/nd6.c projects/sendfile/sys/netinet6/nd6.h projects/sendfile/sys/netinet6/nd6_rtr.c projects/sendfile/sys/ofed/drivers/infiniband/ulp/ipoib/ipoib_main.c projects/sendfile/sys/powerpc/include/atomic.h projects/sendfile/sys/powerpc/powermac/macgpio.c projects/sendfile/sys/powerpc/powermac/macgpiovar.h projects/sendfile/sys/powerpc/powermac/pmu.c projects/sendfile/sys/sys/mbuf.h projects/sendfile/sys/sys/random.h projects/sendfile/sys/sys/sf_base.h projects/sendfile/sys/sys/sf_sync.h projects/sendfile/sys/sys/sglist.h projects/sendfile/sys/sys/socket.h projects/sendfile/sys/vm/vm_pageout.c projects/sendfile/tools/build/mk/OptionalObsoleteFiles.inc projects/sendfile/tools/tools/mcgrab/mcgrab.cc projects/sendfile/tools/tools/netmap/Makefile projects/sendfile/tools/tools/netmap/bridge.c projects/sendfile/tools/tools/netmap/nm_util.c projects/sendfile/tools/tools/netmap/nm_util.h projects/sendfile/tools/tools/netmap/pcap.c projects/sendfile/tools/tools/netmap/pkt-gen.c projects/sendfile/tools/tools/netmap/vale-ctl.c projects/sendfile/tools/tools/usbtest/usb_msc_test.c projects/sendfile/tools/tools/usbtest/usb_msc_test.h projects/sendfile/usr.bin/atf/atf-sh/Makefile projects/sendfile/usr.bin/atf/atf-sh/tests/Makefile projects/sendfile/usr.bin/elfdump/elfdump.c projects/sendfile/usr.bin/find/function.c projects/sendfile/usr.bin/killall/killall.c projects/sendfile/usr.bin/ktrdump/ktrdump.c projects/sendfile/usr.bin/netstat/main.c projects/sendfile/usr.bin/netstat/netstat.1 projects/sendfile/usr.bin/script/script.c projects/sendfile/usr.sbin/bhyvectl/bhyvectl.c projects/sendfile/usr.sbin/bsdconfig/share/strings.subr projects/sendfile/usr.sbin/bsdinstall/scripts/services Directory Properties: projects/sendfile/ (props changed) projects/sendfile/cddl/ (props changed) projects/sendfile/cddl/contrib/opensolaris/ (props changed) projects/sendfile/contrib/atf/ (props changed) projects/sendfile/contrib/gcc/ (props changed) projects/sendfile/contrib/ntp/ (props changed) projects/sendfile/etc/ (props changed) projects/sendfile/gnu/lib/ (props changed) projects/sendfile/gnu/usr.bin/gdb/ (props changed) projects/sendfile/lib/libc/ (props changed) projects/sendfile/sbin/ (props changed) projects/sendfile/share/man/man4/ (props changed) projects/sendfile/sys/ (props changed) projects/sendfile/sys/amd64/vmm/ (props changed) projects/sendfile/sys/cddl/contrib/opensolaris/ (props changed) projects/sendfile/sys/conf/ (props changed) projects/sendfile/sys/contrib/ipfilter/ (props changed) projects/sendfile/sys/dev/hyperv/ (props changed) projects/sendfile/usr.sbin/bhyvectl/ (props changed) Modified: projects/sendfile/UPDATING ============================================================================== --- projects/sendfile/UPDATING Mon Jan 20 11:13:05 2014 (r260904) +++ projects/sendfile/UPDATING Mon Jan 20 12:11:47 2014 (r260905) @@ -31,6 +31,14 @@ NOTE TO PEOPLE WHO THINK THAT FreeBSD 11 disable the most expensive debugging functionality run "ln -s 'abort:false,junk:false' /etc/malloc.conf".) +20140110: + If a Makefile in a tests/ directory was auto-generating a Kyuafile + instead of providing an explicit one, this would prevent such + Makefile from providing its own Kyuafile in the future during + NO_CLEAN builds. This has been fixed in the Makefiles but manual + intervention is needed to clean an objdir if you use NO_CLEAN: + # find /usr/obj -name Kyuafile | xargs rm -f + 20131213: The behavior of gss_pseudo_random() for the krb5 mechanism has changed, for applications requesting a longer random string Modified: projects/sendfile/bin/cat/cat.c ============================================================================== --- projects/sendfile/bin/cat/cat.c Mon Jan 20 11:13:05 2014 (r260904) +++ projects/sendfile/bin/cat/cat.c Mon Jan 20 12:11:47 2014 (r260905) @@ -316,6 +316,7 @@ udom_open(const char *path, int flags) sou.sun_family = AF_UNIX; if ((len = strlcpy(sou.sun_path, path, sizeof(sou.sun_path))) >= sizeof(sou.sun_path)) { + close(fd); errno = ENAMETOOLONG; return (-1); } Modified: projects/sendfile/bin/df/df.1 ============================================================================== --- projects/sendfile/bin/df/df.1 Mon Jan 20 11:13:05 2014 (r260904) +++ projects/sendfile/bin/df/df.1 Mon Jan 20 12:11:47 2014 (r260905) @@ -29,7 +29,7 @@ .\" @(#)df.1 8.3 (Berkeley) 5/8/95 .\" $FreeBSD$ .\" -.Dd January 24, 2013 +.Dd January 16, 2014 .Dt DF 1 .Os .Sh NAME @@ -83,13 +83,13 @@ Use 1073741824 byte (1 Gibibyte) blocks This overrides any .Ev BLOCKSIZE specification from the environment. -.It Fl H +.It Fl h .Dq Human-readable output. Use unit suffixes: Byte, Kibibyte, Mebibyte, Gibibyte, Tebibyte and Pebibyte (based on powers of 1024) in order to reduce the number of digits to four or fewer. -.It Fl h +.It Fl H .Dq Human-readable output. Use unit suffixes: Byte, Kilobyte, Megabyte, Modified: projects/sendfile/bin/pax/tests/Makefile ============================================================================== --- projects/sendfile/bin/pax/tests/Makefile Mon Jan 20 11:13:05 2014 (r260904) +++ projects/sendfile/bin/pax/tests/Makefile Mon Jan 20 12:11:47 2014 (r260905) @@ -4,6 +4,6 @@ TESTSDIR= ${TESTSBASE}/bin/pax -TAP_TESTS_SH= legacy_test +TAP_TESTS_PERL= legacy_test .include Copied: projects/sendfile/bin/pax/tests/legacy_test.pl (from r260904, head/bin/pax/tests/legacy_test.pl) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ projects/sendfile/bin/pax/tests/legacy_test.pl Mon Jan 20 12:11:47 2014 (r260905, copy of r260904, head/bin/pax/tests/legacy_test.pl) @@ -0,0 +1,89 @@ +# $FreeBSD$ + +use strict; +use warnings; + +use Test::More tests => 6; +use File::Path qw(rmtree mkpath); +use Cwd; + +my $n = 0; +sub create_file { + my $fn = shift; + + $n++; + (my $dir = $fn) =~ s,/[^/]+$,,; + mkpath $dir; + open my $fd, ">", $fn or die "$fn: $!"; + print $fd "file $n\n"; +} + + +ustar_pathnames: { SKIP: { + # Prove that pax breaks up ustar pathnames properly + + my $top = getcwd . "/ustar-pathnames-1"; + skip "Current path is too long", 6 if length $top > 92; + rmtree $top; + my $subdir = "x" . "x" x (92 - length $top); + my $work94 = "$top/$subdir"; + mkpath $work94; # $work is 94 characters long + + my $x49 = "x" x 49; + my $x50 = "x" x 50; + my $x60 = "x" x 60; + my $x95 = "x" x 95; + + my @paths = ( + "$work94/x099", # 99 chars + "$work94/xx100", # 100 chars + "$work94/xxx101", # 101 chars + "$work94/$x49/${x50}x199", # 199 chars + "$work94/$x49/${x50}xx200", # 200 chars + "$work94/$x49/${x50}xxx201", # 201 chars + "$work94/$x60/${x95}254", # 254 chars + "$work94/$x60/${x95}x255", # 255 chars + ); + + my @l = map { length } @paths; + + my $n = 0; + create_file $_ for @paths; + system "pax -wf ustar.ok $work94"; + ok($? == 0, "Wrote 'ustar.ok' containing files with lengths @l"); + + (my $orig = $top) =~ s,1$,2,; + rmtree $orig; + rename $top, $orig; + + system "pax -rf ustar.ok"; + ok($? == 0, "Restored 'ustar.ok' containing files with lengths @l"); + + system "diff -ru $orig $top"; + ok($? == 0, "Restored files are identical"); + + rmtree $top; + rename $orig, $top; + + # 256 chars (with components < 100 chars) should not work + push @paths, "$work94/x$x60/${x95}x256"; # 256 chars + push @l, length $paths[-1]; + create_file $paths[-1]; + system "pax -wf ustar.fail1 $work94"; + ok($?, "Failed to write 'ustar.fail1' containing files with lengths @l"); + + # Components with 100 chars shouldn't work + unlink $paths[-1]; + $paths[-1] = "$work94/${x95}xc100"; # 100 char filename + $l[-1] = length $paths[-1]; + create_file $paths[-1]; + system "pax -wf ustar.fail2 $work94"; + ok($?, "Failed to write 'ustar.fail2' with a 100 char filename"); + + unlink $paths[-1]; + $paths[-1] = "$work94/${x95}xc100/x"; # 100 char component + $l[-1] = length $paths[-1]; + create_file $paths[-1]; + system "pax -wf ustar.fail3 $work94"; + ok($?, "Failed to write 'ustar.fail3' with a 100 char component"); +}} Modified: projects/sendfile/bin/sh/input.c ============================================================================== --- projects/sendfile/bin/sh/input.c Mon Jan 20 11:13:05 2014 (r260904) +++ projects/sendfile/bin/sh/input.c Mon Jan 20 12:11:47 2014 (r260905) @@ -162,20 +162,16 @@ preadfd(void) int nr; parsenextc = parsefile->buf; -#ifndef NO_HISTORY - if (el != NULL && gotwinch) { - gotwinch = 0; - el_resize(el); - } -#endif retry: #ifndef NO_HISTORY if (parsefile->fd == 0 && el) { static const char *rl_cp; static int el_len; - if (rl_cp == NULL) + if (rl_cp == NULL) { + el_resize(el); rl_cp = el_gets(el, &el_len); + } if (rl_cp == NULL) nr = el_len == 0 ? 0 : -1; else { Modified: projects/sendfile/bin/sh/tests/Makefile ============================================================================== --- projects/sendfile/bin/sh/tests/Makefile Mon Jan 20 11:13:05 2014 (r260904) +++ projects/sendfile/bin/sh/tests/Makefile Mon Jan 20 12:11:47 2014 (r260905) @@ -6,6 +6,12 @@ TESTSDIR= ${TESTSBASE}/bin/sh TAP_TESTS_SH= legacy_test TAP_TESTS_SH_SED_legacy_test= -e 's,__SH__,/bin/sh,g' +# Some tests in here are silently not run when the tests are executed as +# root. Explicitly tell Kyua to drop privileges. +# +# TODO(jmmv): Kyua needs to do this by default, not only when explicitly +# requested. See https://code.google.com/p/kyua/issues/detail?id=6 +TEST_METADATA.legacy_test+= required_user="unprivileged" SUBDIR+= builtins errors execution expansion parameters parser set-e Modified: projects/sendfile/bin/sh/trap.c ============================================================================== --- projects/sendfile/bin/sh/trap.c Mon Jan 20 11:13:05 2014 (r260904) +++ projects/sendfile/bin/sh/trap.c Mon Jan 20 12:11:47 2014 (r260905) @@ -80,7 +80,6 @@ static char *volatile trap[NSIG]; /* tra static volatile sig_atomic_t gotsig[NSIG]; /* indicates specified signal received */ static int ignore_sigchld; /* Used while handling SIGCHLD traps. */ -volatile sig_atomic_t gotwinch; static int last_trapsig; static int exiting; /* exitshell() has been called */ @@ -293,12 +292,6 @@ setsignal(int signo) action = S_IGN; break; #endif -#ifndef NO_HISTORY - case SIGWINCH: - if (rootshell && iflag) - action = S_CATCH; - break; -#endif } } @@ -400,11 +393,6 @@ onsig(int signo) gotsig[signo] = 1; pendingsig = signo; } - -#ifndef NO_HISTORY - if (signo == SIGWINCH) - gotwinch = 1; -#endif } @@ -490,9 +478,6 @@ setinteractive(int on) setsignal(SIGINT); setsignal(SIGQUIT); setsignal(SIGTERM); -#ifndef NO_HISTORY - setsignal(SIGWINCH); -#endif is_interactive = on; } Modified: projects/sendfile/bin/sh/trap.h ============================================================================== --- projects/sendfile/bin/sh/trap.h Mon Jan 20 11:13:05 2014 (r260904) +++ projects/sendfile/bin/sh/trap.h Mon Jan 20 12:11:47 2014 (r260905) @@ -36,7 +36,6 @@ extern volatile sig_atomic_t pendingsig; extern volatile sig_atomic_t pendingsig_waitcmd; extern int in_dotrap; -extern volatile sig_atomic_t gotwinch; void clear_traps(void); int have_traps(void); Modified: projects/sendfile/bin/test/tests/Makefile ============================================================================== --- projects/sendfile/bin/test/tests/Makefile Mon Jan 20 11:13:05 2014 (r260904) +++ projects/sendfile/bin/test/tests/Makefile Mon Jan 20 12:11:47 2014 (r260905) @@ -5,5 +5,11 @@ TESTSDIR= ${TESTSBASE}/bin/test TAP_TESTS_SH= legacy_test +# Some tests in here are silently not run when the tests are executed as +# root. Explicitly tell Kyua to drop privileges. +# +# TODO(jmmv): Kyua needs to do this by default, not only when explicitly +# requested. See https://code.google.com/p/kyua/issues/detail?id=6 +TEST_METADATA.legacy_test+= required_user="unprivileged" .include Modified: projects/sendfile/cddl/contrib/opensolaris/cmd/zdb/zdb.c ============================================================================== --- projects/sendfile/cddl/contrib/opensolaris/cmd/zdb/zdb.c Mon Jan 20 11:13:05 2014 (r260904) +++ projects/sendfile/cddl/contrib/opensolaris/cmd/zdb/zdb.c Mon Jan 20 12:11:47 2014 (r260905) @@ -3012,6 +3012,7 @@ zdb_read_block(char *thing, spa_t *spa) free(dup); return; } + i += p - &flagstr[i + 1]; /* skip over the number */ } } Modified: projects/sendfile/cddl/contrib/opensolaris/cmd/zinject/zinject.c ============================================================================== --- projects/sendfile/cddl/contrib/opensolaris/cmd/zinject/zinject.c Mon Jan 20 11:13:05 2014 (r260904) +++ projects/sendfile/cddl/contrib/opensolaris/cmd/zinject/zinject.c Mon Jan 20 12:11:47 2014 (r260905) @@ -148,6 +148,7 @@ #include #include +#include #undef verify /* both libzfs.h and zfs_context.h want to define this */ Modified: projects/sendfile/cddl/usr.bin/zinject/Makefile ============================================================================== --- projects/sendfile/cddl/usr.bin/zinject/Makefile Mon Jan 20 11:13:05 2014 (r260904) +++ projects/sendfile/cddl/usr.bin/zinject/Makefile Mon Jan 20 12:11:47 2014 (r260905) @@ -16,6 +16,7 @@ CFLAGS+= -I${.CURDIR}/../../contrib/open CFLAGS+= -I${.CURDIR}/../../../sys/cddl/contrib/opensolaris/uts/common/fs/zfs CFLAGS+= -I${.CURDIR}/../../../sys/cddl/contrib/opensolaris/uts/common/sys CFLAGS+= -I${.CURDIR}/../../../sys/cddl/contrib/opensolaris/uts/common +CFLAGS+= -I${.CURDIR}/../../../sys/cddl/contrib/opensolaris/common/zfs/ CFLAGS+= -I${.CURDIR}/../../contrib/opensolaris/head CFLAGS+= -I${.CURDIR}/../../lib/libumem Modified: projects/sendfile/contrib/atf/FREEBSD-Xlist ============================================================================== --- projects/sendfile/contrib/atf/FREEBSD-Xlist Mon Jan 20 11:13:05 2014 (r260904) +++ projects/sendfile/contrib/atf/FREEBSD-Xlist Mon Jan 20 12:11:47 2014 (r260905) @@ -8,7 +8,6 @@ Makefile* aclocal.m4 admin/ atf-*/atf-*.m4 -atf-*/atf-*.pc.in atf-config/ atf-report/ atf-run/ Copied: projects/sendfile/contrib/atf/atf-c++/atf-c++.pc.in (from r260904, head/contrib/atf/atf-c++/atf-c++.pc.in) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ projects/sendfile/contrib/atf/atf-c++/atf-c++.pc.in Mon Jan 20 12:11:47 2014 (r260905, copy of r260904, head/contrib/atf/atf-c++/atf-c++.pc.in) @@ -0,0 +1,11 @@ +# ATF pkg-config file + +cxx=__CXX__ +includedir=__INCLUDEDIR__ +libdir=__LIBDIR__ + +Name: atf-c++ +Description: Automated Testing Framework (C++ binding) +Version: __ATF_VERSION__ +Cflags: -I${includedir} +Libs: -L${libdir} -latf-c++ -latf-c Modified: projects/sendfile/contrib/atf/atf-c++/detail/test_helpers.cpp ============================================================================== --- projects/sendfile/contrib/atf/atf-c++/detail/test_helpers.cpp Mon Jan 20 11:13:05 2014 (r260904) +++ projects/sendfile/contrib/atf/atf-c++/detail/test_helpers.cpp Mon Jan 20 12:11:47 2014 (r260905) @@ -40,6 +40,18 @@ #include "process.hpp" #include "test_helpers.hpp" +// Path to the directory containing the libatf-c tests, used to locate the +// process_helpers program. If NULL (the default), the code will use a +// relative path. Otherwise, the provided path will be used; this is so +// that we can locate the helpers binary if the installation uses a +// different layout than the one we provide (as is the case in FreeBSD). +#if defined(ATF_C_TESTS_BASE) +static const char* atf_c_tests_base = ATF_C_TESTS_BASE; +#else +static const char* atf_c_tests_base = NULL; +#endif +#undef ATF_C_TESTS_BASE + void build_check_cxx_o_aux(const atf::fs::path& sfile, const char* failmsg, const bool expect_pass) @@ -67,25 +79,30 @@ build_check_cxx_o(const atf::tests::tc& void header_check(const char *hdrname) { - std::ofstream srcfile("test.c"); + std::ofstream srcfile("test.cpp"); ATF_REQUIRE(srcfile); srcfile << "#include <" << hdrname << ">\n"; srcfile.close(); const std::string failmsg = std::string("Header check failed; ") + hdrname + " is not self-contained"; - build_check_cxx_o_aux(atf::fs::path("test.c"), failmsg.c_str(), true); + build_check_cxx_o_aux(atf::fs::path("test.cpp"), failmsg.c_str(), true); } atf::fs::path get_process_helpers_path(const atf::tests::tc& tc, bool is_detail) { - if (is_detail) - return atf::fs::path(tc.get_config_var("srcdir")) / - ".." / ".." / "atf-c" / "detail" / "process_helpers"; - else - return atf::fs::path(tc.get_config_var("srcdir")) / - ".." / "atf-c" / "detail" / "process_helpers"; + const char* helper = "detail/process_helpers"; + if (atf_c_tests_base == NULL) { + if (is_detail) + return atf::fs::path(tc.get_config_var("srcdir")) / + ".." / ".." / "atf-c" / helper; + else + return atf::fs::path(tc.get_config_var("srcdir")) / + ".." / "atf-c" / helper; + } else { + return atf::fs::path(atf_c_tests_base) / helper; + } } void Copied: projects/sendfile/contrib/atf/atf-c/atf-c.pc.in (from r260904, head/contrib/atf/atf-c/atf-c.pc.in) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ projects/sendfile/contrib/atf/atf-c/atf-c.pc.in Mon Jan 20 12:11:47 2014 (r260905, copy of r260904, head/contrib/atf/atf-c/atf-c.pc.in) @@ -0,0 +1,11 @@ +# ATF pkg-config file + +cc=__CC__ +includedir=__INCLUDEDIR__ +libdir=__LIBDIR__ + +Name: atf-c +Description: Automated Testing Framework (C binding) +Version: __ATF_VERSION__ +Cflags: -I${includedir} +Libs: -L${libdir} -latf-c Copied: projects/sendfile/contrib/atf/atf-sh/atf-sh.pc.in (from r260904, head/contrib/atf/atf-sh/atf-sh.pc.in) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ projects/sendfile/contrib/atf/atf-sh/atf-sh.pc.in Mon Jan 20 12:11:47 2014 (r260905, copy of r260904, head/contrib/atf/atf-sh/atf-sh.pc.in) @@ -0,0 +1,8 @@ +# ATF pkg-config file + +exec_prefix=__EXEC_PREFIX__ +interpreter=${exec_prefix}/bin/atf-sh + +Name: atf-sh +Description: Automated Testing Framework (POSIX shell binding) +Version: __ATF_VERSION__ Modified: projects/sendfile/contrib/bsnmp/lib/snmpagent.c ============================================================================== --- projects/sendfile/contrib/bsnmp/lib/snmpagent.c Mon Jan 20 11:13:05 2014 (r260904) +++ projects/sendfile/contrib/bsnmp/lib/snmpagent.c Mon Jan 20 12:11:47 2014 (r260905) @@ -510,6 +510,11 @@ snmp_getbulk(struct snmp_pdu *pdu, struc for (cnt = 0; cnt < pdu->error_index; cnt++) { eomib = 1; for (i = non_rep; i < pdu->nbindings; i++) { + + if (resp->nbindings == SNMP_MAX_BINDINGS) + /* PDU is full */ + goto done; + if (cnt == 0) result = do_getnext(&context, &pdu->bindings[i], &resp->bindings[resp->nbindings], pdu); Modified: projects/sendfile/contrib/gcc/config/arm/freebsd.h ============================================================================== --- projects/sendfile/contrib/gcc/config/arm/freebsd.h Mon Jan 20 11:13:05 2014 (r260904) +++ projects/sendfile/contrib/gcc/config/arm/freebsd.h Mon Jan 20 12:11:47 2014 (r260905) @@ -72,6 +72,9 @@ #undef TARGET_DEFAULT_FLOAT_ABI #define TARGET_DEFAULT_FLOAT_ABI ARM_FLOAT_ABI_SOFT +#undef TARGET_DEFAULT +#define TARGET_DEFAULT (MASK_INTERWORK | TARGET_ENDIAN_DEFAULT) + #undef ARM_DEFAULT_ABI #define ARM_DEFAULT_ABI ARM_ABI_AAPCS_LINUX Modified: projects/sendfile/contrib/gcc/cp/ChangeLog.apple ============================================================================== --- projects/sendfile/contrib/gcc/cp/ChangeLog.apple Mon Jan 20 11:13:05 2014 (r260904) +++ projects/sendfile/contrib/gcc/cp/ChangeLog.apple Mon Jan 20 12:11:47 2014 (r260905) @@ -302,15 +302,6 @@ (cp_parser_objc_declaration): Parses attribute list and passes it down to cp_parser_objc_class_interface/cp_parser_objc_protocol_declaration. -2007-07-24 Fariborz Jahanian - - Radar 5355344 - * cp-tree.h (cp_objc_protocol_id_list): New declaration - * cp-lang.c (cp_objc_protocol_id_list): New stub - * parser.c (cp_parser_type_name): Added code to disambiguate - conditional from a protocol type. - (cp_parser_objc_tentative_protocol_refs_opt): New - 2007-07-13 Fariborz Jahanian Radar 5277239 Modified: projects/sendfile/contrib/gcc/cp/parser.c ============================================================================== --- projects/sendfile/contrib/gcc/cp/parser.c Mon Jan 20 11:13:05 2014 (r260904) +++ projects/sendfile/contrib/gcc/cp/parser.c Mon Jan 20 12:11:47 2014 (r260905) @@ -1827,10 +1827,6 @@ static tree cp_parser_objc_identifier_li /* APPLE LOCAL end radar 3803157 - objc attribute */ static tree cp_parser_objc_protocol_refs_opt (cp_parser *); -/* APPLE LOCAL begin radar 5355344 */ -static bool cp_parser_objc_tentative_protocol_refs_opt - (cp_parser *, tree *); -/* APPLE LOCAL end radar 5355344 */ static void cp_parser_objc_declaration (cp_parser *); static tree cp_parser_objc_statement @@ -17873,32 +17869,6 @@ cp_parser_objc_protocol_refs_opt (cp_par return protorefs; } -/* APPLE LOCAL begin radar 5355344 */ -/* This routine also parses a list of Objective-C protocol references; except that - if list is not valid, it returns FALSE and back-tracks parsing. */ - -static bool -cp_parser_objc_tentative_protocol_refs_opt (cp_parser* parser, tree *protorefs) -{ - *protorefs = NULL_TREE; - if(cp_lexer_next_token_is (parser->lexer, CPP_LESS)) - { - cp_parser_parse_tentatively (parser); - cp_lexer_consume_token (parser->lexer); /* Eat '<'. */ - *protorefs = cp_parser_objc_identifier_list (parser); - if (!cp_objc_protocol_id_list (*protorefs)) - { - cp_parser_abort_tentative_parse (parser); - return false; - } - if (cp_parser_parse_definitely (parser)) - cp_parser_require (parser, CPP_GREATER, "`>'"); - } - - return true; -} -/* APPLE LOCAL end radar 5355344 */ - /* Parse a Objective-C visibility specification. */ static void Modified: projects/sendfile/contrib/ntp/ntpd/ntp_config.c ============================================================================== --- projects/sendfile/contrib/ntp/ntpd/ntp_config.c Mon Jan 20 11:13:05 2014 (r260904) +++ projects/sendfile/contrib/ntp/ntpd/ntp_config.c Mon Jan 20 12:11:47 2014 (r260905) @@ -597,6 +597,8 @@ getconfig( #endif /* not SYS_WINNT */ } + proto_config(PROTO_MONITOR, 0, 0., NULL); + for (;;) { if (tok == CONFIG_END) break; Modified: projects/sendfile/etc/defaults/rc.conf ============================================================================== --- projects/sendfile/etc/defaults/rc.conf Mon Jan 20 11:13:05 2014 (r260904) +++ projects/sendfile/etc/defaults/rc.conf Mon Jan 20 12:11:47 2014 (r260905) @@ -311,7 +311,7 @@ nfs_client_enable="NO" # This host is a nfs_access_cache="60" # Client cache timeout in seconds nfs_server_enable="NO" # This host is an NFS server (or NO). oldnfs_server_enable="NO" # Run the old NFS server (YES/NO). -nfs_server_flags="-u -t -n 4" # Flags to nfsd (if enabled). +nfs_server_flags="-u -t" # Flags to nfsd (if enabled). mountd_enable="NO" # Run mountd (or NO). mountd_flags="-r" # Flags to mountd (if NFS server enabled). weak_mountd_authentication="NO" # Allow non-root mount requests to be served. Modified: projects/sendfile/etc/mtree/BSD.tests.dist ============================================================================== --- projects/sendfile/etc/mtree/BSD.tests.dist Mon Jan 20 11:13:05 2014 (r260904) +++ projects/sendfile/etc/mtree/BSD.tests.dist Mon Jan 20 12:11:47 2014 (r260905) @@ -49,8 +49,12 @@ lib atf libatf-c + detail + .. .. libatf-c++ + detail + .. .. test-programs .. Modified: projects/sendfile/gnu/lib/libgcc/Makefile ============================================================================== --- projects/sendfile/gnu/lib/libgcc/Makefile Mon Jan 20 11:13:05 2014 (r260904) +++ projects/sendfile/gnu/lib/libgcc/Makefile Mon Jan 20 12:11:47 2014 (r260905) @@ -34,9 +34,9 @@ OBJS= # added to below in various ways #--------------------------------------------------------------------------- # -# When upgrading GCC, get the following defintions straight from Makefile.in -# # Library members defined in libgcc2.c. +# When upgrading GCC, obtain the following list from mklibgcc.in +# LIB2FUNCS= _muldi3 _negdi2 _lshrdi3 _ashldi3 _ashrdi3 \ _cmpdi2 _ucmpdi2 \ _enable_execute_stack _trampoline __main _absvsi2 _absvdi2 _addvsi3 \ @@ -44,7 +44,7 @@ LIB2FUNCS= _muldi3 _negdi2 _lshrdi3 _ash _ffssi2 _ffsdi2 _clz _clzsi2 _clzdi2 _ctzsi2 _ctzdi2 _popcount_tab \ _popcountsi2 _popcountdi2 _paritysi2 _paritydi2 _powisf2 _powidf2 \ _powixf2 _powitf2 _mulsc3 _muldc3 _mulxc3 _multc3 _divsc3 _divdc3 \ - _divxc3 _divtc3 + _divxc3 _divtc3 _bswapsi2 _bswapdi2 .if ${COMPILER_TYPE} != "clang" || ${TARGET_CPUARCH} != "arm" LIB2FUNCS+= _clear_cache .endif @@ -119,8 +119,8 @@ LIB1ASMFUNCS = _dvmd_tls _bb_init_func .if ${MK_ARM_EABI} != "no" LIB2ADDEH = unwind-arm.c libunwind.S pr-support.c unwind-c.c # Some compilers generate __aeabi_ functions libgcc_s is missing -DPADD+= ${LIBGCC} -LDADD+= -lgcc +DPADD+= ${LIBCOMPILER_RT} +LDADD+= -lcompiler_rt .else LIB2FUNCS_EXTRA = floatunsidf.c floatunsisf.c .endif Modified: projects/sendfile/gnu/usr.bin/gdb/kgdb/trgt.c ============================================================================== --- projects/sendfile/gnu/usr.bin/gdb/kgdb/trgt.c Mon Jan 20 11:13:05 2014 (r260904) +++ projects/sendfile/gnu/usr.bin/gdb/kgdb/trgt.c Mon Jan 20 12:11:47 2014 (r260905) @@ -53,6 +53,18 @@ __FBSDID("$FreeBSD$"); #include "kgdb.h" +#ifdef CROSS_DEBUGGER +/* + * We suppress the call to add_target() of core_ops in corelow.c because if + * there are multiple core_stratum targets, the find_core_target() function + * won't know which one to return and returns none. We need it to return + * our target. We only have to do that when we're building a cross-debugger + * because fbsd-threads.c is part of a native debugger and it too defines + * coreops_suppress_target with 1 as the initializer. + */ +int coreops_suppress_target = 1; +#endif + static CORE_ADDR stoppcbs; static void kgdb_core_cleanup(void *); Modified: projects/sendfile/lib/atf/Makefile.inc ============================================================================== --- projects/sendfile/lib/atf/Makefile.inc Mon Jan 20 11:13:05 2014 (r260904) +++ projects/sendfile/lib/atf/Makefile.inc Mon Jan 20 12:11:47 2014 (r260905) @@ -38,6 +38,7 @@ CFLAGS+= -DATF_BUILD_CPPFLAGS='"${_CPPFL CFLAGS+= -DATF_BUILD_CXX='"${CXX}"' CFLAGS+= -DATF_BUILD_CXXFLAGS='"${_CXXFLAGS}"' CFLAGS+= -DATF_CONFDIR='"${CONFDIR}/atf"' +CFLAGS+= -DATF_C_TESTS_BASE='"${TESTSBASE}/lib/atf/libatf-c"' CFLAGS+= -DATF_INCLUDEDIR='"${INCLUDEDIR}"' CFLAGS+= -DATF_LIBDIR='"${LIBDIR}"' CFLAGS+= -DATF_LIBEXECDIR='"${LIBEXECDIR}"' Copied: projects/sendfile/lib/atf/common.mk (from r260904, head/lib/atf/common.mk) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ projects/sendfile/lib/atf/common.mk Mon Jan 20 12:11:47 2014 (r260905, copy of r260904, head/lib/atf/common.mk) @@ -0,0 +1,19 @@ +# $FreeBSD$ +# +# Common Makefile code for all components of ATF. +# + +.if !defined(ATF) +.error "ATF must be defined and point to the contrib/atf directory" +.endif + +# Depend on the atf-version target to generate a file that contains the +# version number of the currently imported ATF release and that only +# changes on new imports. +atf-version: atf-version-real + @cmp -s atf-version atf-version-real \ + || cp atf-version-real atf-version +atf-version-real: .PHONY + @grep 'define VERSION' ${ATF}/bconfig.h \ + | cut -d '"' -f 2 >atf-version-real +CLEANFILES+= atf-version atf-version-real Modified: projects/sendfile/lib/atf/libatf-c++/Makefile ============================================================================== --- projects/sendfile/lib/atf/libatf-c++/Makefile Mon Jan 20 11:13:05 2014 (r260904) +++ projects/sendfile/lib/atf/libatf-c++/Makefile Mon Jan 20 12:11:47 2014 (r260905) @@ -76,8 +76,21 @@ INCSDIR_atf-c++.hpp= ${INCLUDEDIR} MAN= atf-c++-api.3 +all: atf-c++.pc +atf-c++.pc: atf-c++.pc.in atf-version + sed -e 's,__CXX__,${CXX},g' \ + -e 's,__INCLUDEDIR__,${INCLUDEDIR},g' \ + -e 's,__LIBDIR__,${LIBDIR},g' \ + -e "s,__ATF_VERSION__,$$(cat atf-version),g" \ + <${ATF}/atf-c++/atf-c++.pc.in >atf-c++.pc + +beforeinstall: + ${INSTALL} -C -o ${LIBOWN} -g ${LIBGRP} -m ${LIBMODE} \ + atf-c++.pc ${DESTDIR}${LIBDATADIR}/pkgconfig + .if ${MK_TESTS} != "no" SUBDIR= tests .endif +.include "../common.mk" .include Modified: projects/sendfile/lib/atf/libatf-c++/tests/Makefile ============================================================================== --- projects/sendfile/lib/atf/libatf-c++/tests/Makefile Mon Jan 20 11:13:05 2014 (r260904) +++ projects/sendfile/lib/atf/libatf-c++/tests/Makefile Mon Jan 20 12:11:47 2014 (r260905) @@ -3,6 +3,7 @@ .include TESTSDIR= ${TESTSBASE}/lib/atf/libatf-c++ +TESTS_SUBDIRS= detail ATF= ${.CURDIR:H:H:H:H}/contrib/atf .PATH: ${ATF}/atf-c++ @@ -14,7 +15,6 @@ FILESDIR= ${TESTSDIR} FILES= macros_hpp_test.cpp FILES+= unused_test.cpp -# Tests in atf-c++. .for _T in atf_c++_test \ build_test \ check_test \ @@ -28,20 +28,4 @@ SRCS.${_T}= ${_T}.cpp test_helpers.cpp ATF_TESTS_SH= pkg_config_test -# Tests in atf-c++/detail. - -.for _T in application_test \ - env_test \ - exceptions_test \ - expand_test \ - fs_test \ - parser_test \ - process_test \ - sanity_test \ - text_test \ - ui_test -ATF_TESTS_CXX+= ${_T} -SRCS.${_T}= ${_T}.cpp test_helpers.cpp -.endfor - .include Copied: projects/sendfile/lib/atf/libatf-c++/tests/Makefile.inc (from r260904, head/lib/atf/libatf-c++/tests/Makefile.inc) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ projects/sendfile/lib/atf/libatf-c++/tests/Makefile.inc Mon Jan 20 12:11:47 2014 (r260905, copy of r260904, head/lib/atf/libatf-c++/tests/Makefile.inc) @@ -0,0 +1,3 @@ +# $FreeBSD$ + +.include "../Makefile.inc" Modified: projects/sendfile/lib/atf/libatf-c/Makefile ============================================================================== --- projects/sendfile/lib/atf/libatf-c/Makefile Mon Jan 20 11:13:05 2014 (r260904) +++ projects/sendfile/lib/atf/libatf-c/Makefile Mon Jan 20 12:11:47 2014 (r260905) @@ -74,8 +74,21 @@ INCSDIR_atf-c.h= ${INCLUDEDIR} MAN= atf-c-api.3 +all: atf-c.pc +atf-c.pc: atf-c.pc.in atf-version + sed -e 's,__CC__,${CC},g' \ + -e 's,__INCLUDEDIR__,${INCLUDEDIR},g' \ + -e 's,__LIBDIR__,${LIBDIR},g' \ + -e "s,__ATF_VERSION__,$$(cat atf-version),g" \ + <${ATF}/atf-c/atf-c.pc.in >atf-c.pc + +beforeinstall: + ${INSTALL} -C -o ${LIBOWN} -g ${LIBGRP} -m ${LIBMODE} \ + atf-c.pc ${DESTDIR}${LIBDATADIR}/pkgconfig + .if ${MK_TESTS} != "no" SUBDIR= tests .endif +.include "../common.mk" .include Modified: projects/sendfile/lib/atf/libatf-c/tests/Makefile ============================================================================== --- projects/sendfile/lib/atf/libatf-c/tests/Makefile Mon Jan 20 11:13:05 2014 (r260904) +++ projects/sendfile/lib/atf/libatf-c/tests/Makefile Mon Jan 20 12:11:47 2014 (r260905) @@ -3,6 +3,7 @@ .include TESTSDIR= ${TESTSBASE}/lib/atf/libatf-c +TESTS_SUBDIRS= detail ATF= ${.CURDIR:H:H:H:H}/contrib/atf .PATH: ${ATF}/atf-c @@ -19,8 +20,6 @@ FILESDIR= ${TESTSDIR} FILES= macros_h_test.c FILES+= unused_test.c -# Tests in atf-c. - .for _T in atf_c_test \ build_test \ check_test \ @@ -36,24 +35,4 @@ SRCS.${_T}= ${_T}.c test_helpers.c ATF_TESTS_SH= pkg_config_test -# Tests in atf-c/detail. - -.for _T in dynstr_test \ - env_test \ - fs_test \ - list_test \ - map_test \ - process_test \ - sanity_test \ - text_test \ - user_test -ATF_TESTS_C+= ${_T} -SRCS.${_T}= ${_T}.c test_helpers.c -.endfor - -PROGS+= process_helpers -SRCS.process_helpers= process_helpers.c -MAN.process_helpers= # defined -BINDIR.process_helpers= ${TESTSDIR} - .include Copied: projects/sendfile/lib/atf/libatf-c/tests/Makefile.inc (from r260904, head/lib/atf/libatf-c/tests/Makefile.inc) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ projects/sendfile/lib/atf/libatf-c/tests/Makefile.inc Mon Jan 20 12:11:47 2014 (r260905, copy of r260904, head/lib/atf/libatf-c/tests/Makefile.inc) @@ -0,0 +1,3 @@ +# $FreeBSD$ + +.include "../Makefile.inc" Modified: projects/sendfile/lib/libc/Makefile ============================================================================== --- projects/sendfile/lib/libc/Makefile Mon Jan 20 11:13:05 2014 (r260904) +++ projects/sendfile/lib/libc/Makefile Mon Jan 20 12:11:47 2014 (r260905) @@ -40,11 +40,11 @@ CFLAGS+=${CANCELPOINTS_CFLAGS} .endif # -# Only link with static libgcc.a (no libgcc_eh.a). +# Link with static libcompiler_rt.a. # -DPADD+= ${LIBGCC} +DPADD+= ${LIBCOMPILER_RT} LDFLAGS+= -nodefaultlibs -LDADD+= -lgcc +LDADD+= -lcompiler_rt .if ${MK_SSP} != "no" LDADD+= -lssp_nonshared Modified: projects/sendfile/lib/libc/gen/fts.3 ============================================================================== --- projects/sendfile/lib/libc/gen/fts.3 Mon Jan 20 11:13:05 2014 (r260904) +++ projects/sendfile/lib/libc/gen/fts.3 Mon Jan 20 12:11:47 2014 (r260905) @@ -28,7 +28,7 @@ .\" @(#)fts.3 8.5 (Berkeley) 4/16/94 .\" $FreeBSD$ .\" -.Dd May 21, 2013 +.Dd January 12, 2014 .Dt FTS 3 .Os .Sh NAME @@ -304,7 +304,6 @@ file is a member. A parent structure for the initial entry point is provided as well, however, only the .Fa fts_level , -.Fa fts_bignum , .Fa fts_number and .Fa fts_pointer @@ -366,13 +365,6 @@ The .Fa fts_name field is always .Dv NUL Ns -terminated . -.Pp -Note that the use of -.Fa fts_bignum -is mutually exclusive with the use of -.Fa fts_number -or -.Fa fts_pointer . .Sh FTS_OPEN The .Fn fts_open Modified: projects/sendfile/lib/libc/gen/fts.c ============================================================================== --- projects/sendfile/lib/libc/gen/fts.c Mon Jan 20 11:13:05 2014 (r260904) +++ projects/sendfile/lib/libc/gen/fts.c Mon Jan 20 12:11:47 2014 (r260905) @@ -62,7 +62,7 @@ static size_t fts_maxarglen(char * cons static void fts_padjust(FTS *, FTSENT *); static int fts_palloc(FTS *, size_t); static FTSENT *fts_sort(FTS *, FTSENT *, size_t); -static int fts_stat(FTS *, FTSENT *, int); +static int fts_stat(FTS *, FTSENT *, int, int); static int fts_safe_changedir(FTS *, FTSENT *, int, char *); static int fts_ufslinks(FTS *, const FTSENT *); @@ -171,7 +171,7 @@ fts_open(argv, options, compar) p->fts_level = FTS_ROOTLEVEL; p->fts_parent = parent; p->fts_accpath = p->fts_name; - p->fts_info = fts_stat(sp, p, ISSET(FTS_COMFOLLOW)); + p->fts_info = fts_stat(sp, p, ISSET(FTS_COMFOLLOW), -1); /* Command-line "." and ".." are real directories. */ if (p->fts_info == FTS_DOT) @@ -326,7 +326,7 @@ fts_read(FTS *sp) /* Any type of file may be re-visited; re-stat and re-turn. */ if (instr == FTS_AGAIN) { - p->fts_info = fts_stat(sp, p, 0); + p->fts_info = fts_stat(sp, p, 0, -1); return (p); } @@ -338,7 +338,7 @@ fts_read(FTS *sp) */ if (instr == FTS_FOLLOW && (p->fts_info == FTS_SL || p->fts_info == FTS_SLNONE)) { - p->fts_info = fts_stat(sp, p, 1); + p->fts_info = fts_stat(sp, p, 1, -1); if (p->fts_info == FTS_D && !ISSET(FTS_NOCHDIR)) { if ((p->fts_symfd = _open(".", O_RDONLY | O_CLOEXEC, 0)) < 0) { @@ -429,7 +429,7 @@ next: tmp = p; if (p->fts_instr == FTS_SKIP) goto next; if (p->fts_instr == FTS_FOLLOW) { - p->fts_info = fts_stat(sp, p, 1); + p->fts_info = fts_stat(sp, p, 1, -1); if (p->fts_info == FTS_D && !ISSET(FTS_NOCHDIR)) { if ((p->fts_symfd = _open(".", O_RDONLY | O_CLOEXEC, 0)) < 0) { @@ -800,10 +800,11 @@ mem1: saved_errno = errno; if (ISSET(FTS_NOCHDIR)) { p->fts_accpath = p->fts_path; memmove(cp, p->fts_name, p->fts_namelen + 1); - } else + p->fts_info = fts_stat(sp, p, 0, _dirfd(dirp)); + } else { p->fts_accpath = p->fts_name; - /* Stat it. */ - p->fts_info = fts_stat(sp, p, 0); + p->fts_info = fts_stat(sp, p, 0, -1); + } /* Decrement link count if applicable. */ if (nlinks > 0 && (p->fts_info == FTS_D || @@ -868,13 +869,19 @@ mem1: saved_errno = errno; } static int -fts_stat(FTS *sp, FTSENT *p, int follow) +fts_stat(FTS *sp, FTSENT *p, int follow, int dfd) { FTSENT *t; dev_t dev; ino_t ino; struct stat *sbp, sb; int saved_errno; + const char *path; + + if (dfd == -1) + path = p->fts_accpath, dfd = AT_FDCWD; + else + path = p->fts_name; /* If user needs stat info, stat buffer already allocated. */ sbp = ISSET(FTS_NOSTAT) ? &sb : p->fts_statp; @@ -896,16 +903,16 @@ fts_stat(FTS *sp, FTSENT *p, int follow) * fail, set the errno from the stat call. */ if (ISSET(FTS_LOGICAL) || follow) { - if (stat(p->fts_accpath, sbp)) { + if (fstatat(dfd, path, sbp, 0)) { saved_errno = errno; - if (!lstat(p->fts_accpath, sbp)) { + if (!fstatat(dfd, path, sbp, AT_SYMLINK_NOFOLLOW)) { errno = 0; return (FTS_SLNONE); } p->fts_errno = saved_errno; goto err; } - } else if (lstat(p->fts_accpath, sbp)) { + } else if (fstatat(dfd, path, sbp, AT_SYMLINK_NOFOLLOW)) { p->fts_errno = errno; err: memset(sbp, 0, sizeof(struct stat)); return (FTS_NS); Modified: projects/sendfile/lib/libc/include/port_before.h ============================================================================== --- projects/sendfile/lib/libc/include/port_before.h Mon Jan 20 11:13:05 2014 (r260904) +++ projects/sendfile/lib/libc/include/port_before.h Mon Jan 20 12:11:47 2014 (r260905) @@ -5,7 +5,7 @@ #define _LIBC 1 #define DO_PTHREADS 1 -#define USE_KQUEUE 1 +#define USE_POLL 1 #define ISC_SOCKLEN_T socklen_t #define ISC_FORMAT_PRINTF(fmt, args) \ Modified: projects/sendfile/lib/libc/resolv/res_send.c ============================================================================== --- projects/sendfile/lib/libc/resolv/res_send.c Mon Jan 20 11:13:05 2014 (r260904) +++ projects/sendfile/lib/libc/resolv/res_send.c Mon Jan 20 12:11:47 2014 (r260905) @@ -77,7 +77,7 @@ __FBSDID("$FreeBSD$"); */ #include "port_before.h" -#ifndef USE_KQUEUE +#if !defined(USE_KQUEUE) && !defined(USE_POLL) #include "fd_setsize.h" #endif @@ -963,7 +963,7 @@ send_dg(res_state statp, timeout.tv_nsec/1000000; pollfd.fd = s; pollfd.events = POLLRDNORM; - n = poll(&pollfd, 1, polltimeout); + n = _poll(&pollfd, 1, polltimeout); #endif /* USE_POLL */ if (n == 0) { Modified: projects/sendfile/lib/libc/stdlib/getsubopt.c ============================================================================== --- projects/sendfile/lib/libc/stdlib/getsubopt.c Mon Jan 20 11:13:05 2014 (r260904) +++ projects/sendfile/lib/libc/stdlib/getsubopt.c Mon Jan 20 12:11:47 2014 (r260905) @@ -45,9 +45,7 @@ __FBSDID("$FreeBSD$"); char *suboptarg; int -getsubopt(optionp, tokens, valuep) - char **optionp, **valuep; - char * const *tokens; +getsubopt(char **optionp, char * const *tokens, char **valuep) { int cnt; char *p; Modified: projects/sendfile/lib/libc/sys/accept.2 ============================================================================== --- projects/sendfile/lib/libc/sys/accept.2 Mon Jan 20 11:13:05 2014 (r260904) +++ projects/sendfile/lib/libc/sys/accept.2 Mon Jan 20 12:11:47 2014 (r260905) @@ -32,7 +32,8 @@ .Dt ACCEPT 2 .Os .Sh NAME -.Nm accept +.Nm accept , +.Nm accept4 .Nd accept a connection on a socket .Sh LIBRARY .Lb libc Modified: projects/sendfile/lib/libc/sys/chflags.2 ============================================================================== --- projects/sendfile/lib/libc/sys/chflags.2 Mon Jan 20 11:13:05 2014 (r260904) +++ projects/sendfile/lib/libc/sys/chflags.2 Mon Jan 20 12:11:47 2014 (r260905) @@ -34,7 +34,8 @@ .Sh NAME .Nm chflags , .Nm lchflags , -.Nm fchflags +.Nm fchflags , +.Nm chflagsat .Nd set file flags .Sh LIBRARY .Lb libc Modified: projects/sendfile/lib/libc/sys/pipe.2 ============================================================================== --- projects/sendfile/lib/libc/sys/pipe.2 Mon Jan 20 11:13:05 2014 (r260904) +++ projects/sendfile/lib/libc/sys/pipe.2 Mon Jan 20 12:11:47 2014 (r260905) @@ -32,7 +32,8 @@ .Dt PIPE 2 .Os .Sh NAME -.Nm pipe +.Nm pipe , +.Nm pipe2 .Nd create descriptor pair for interprocess communication .Sh LIBRARY .Lb libc Modified: projects/sendfile/lib/libcxxrt/Version.map ============================================================================== --- projects/sendfile/lib/libcxxrt/Version.map Mon Jan 20 11:13:05 2014 (r260904) +++ projects/sendfile/lib/libcxxrt/Version.map Mon Jan 20 12:11:47 2014 (r260905) @@ -111,6 +111,19 @@ CXXABI_1.3 { "typeinfo for void"; "typeinfo for wchar_t const*"; *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-projects@FreeBSD.ORG Mon Jan 20 14:48:53 2014 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id C2F3C72F; Mon, 20 Jan 2014 14:48:53 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id A30DF175F; Mon, 20 Jan 2014 14:48:53 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id s0KEmr48018295; Mon, 20 Jan 2014 14:48:53 GMT (envelope-from cherry@svn.freebsd.org) Received: (from cherry@localhost) by svn.freebsd.org (8.14.7/8.14.7/Submit) id s0KEmrZ3018292; Mon, 20 Jan 2014 14:48:53 GMT (envelope-from cherry@svn.freebsd.org) Message-Id: <201401201448.s0KEmrZ3018292@svn.freebsd.org> From: "Cherry G. Mathew" Date: Mon, 20 Jan 2014 14:48:53 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r260907 - in projects/amd64_xen_pv/sys/amd64: include xen X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.17 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 20 Jan 2014 14:48:53 -0000 Author: cherry Date: Mon Jan 20 14:48:52 2014 New Revision: 260907 URL: http://svnweb.freebsd.org/changeset/base/260907 Log: Handle %gs/%fs restore from appropriate pcb->pcb_{gs,fs}offset properly, during userland exit. When either is loaded with a new selector in the kernel, the base address offsets are reset, and have to be reloaded. In a xen pv container, this is done via hypercalls rather than rdmsr/wrmsr. We break out xen_set_proc() into kernel stack switch and just the tls switch via xen_load_tls(). This takes care of the ring #3 component of the %gs/%fs restore before exit to userland. %gs is slightly special in that the kernel per-cpu base offset is stored in the hidden offset register of %gs, in addition to the userland context. Additionally, xen takes care of the 'swapgs' operation when a user/kernel transition occurs. What all this means is that the exit path needs to reload the current *kernel* %gs offset when %gs is reloaded for userland, in addition to the userland offset. This kernel offset is assumed to be the per-cpu structure for the specific cpu on which the transition to userland is happening. Since we don't have access to the per-cpu msr where this information is saved, we take the slighly circuitous and presumptive route of obtaining the cpu number on which we are running before resetting %gs, and then using this information to find the appropriate offset value. Approved by: gibbs@ (implicit) Modified: projects/amd64_xen_pv/sys/amd64/include/cpufunc.h projects/amd64_xen_pv/sys/amd64/xen/exception.S projects/amd64_xen_pv/sys/amd64/xen/machdep.c Modified: projects/amd64_xen_pv/sys/amd64/include/cpufunc.h ============================================================================== --- projects/amd64_xen_pv/sys/amd64/include/cpufunc.h Mon Jan 20 14:37:02 2014 (r260906) +++ projects/amd64_xen_pv/sys/amd64/include/cpufunc.h Mon Jan 20 14:48:52 2014 (r260907) @@ -52,6 +52,8 @@ extern u_long xen_rcr2(void); extern void xen_load_cr3(u_long data); extern void xen_tlb_flush(void); extern void xen_invlpg(vm_offset_t addr); +extern void xen_load_kgsbase(uint64_t kgsbase); +extern void xen_load_tls(struct pcb *pcb); extern void xen_set_proc(struct pcb *newpcb); extern void write_rflags(u_long rflags); extern u_long read_rflags(void); Modified: projects/amd64_xen_pv/sys/amd64/xen/exception.S ============================================================================== --- projects/amd64_xen_pv/sys/amd64/xen/exception.S Mon Jan 20 14:37:02 2014 (r260906) +++ projects/amd64_xen_pv/sys/amd64/xen/exception.S Mon Jan 20 14:48:52 2014 (r260907) @@ -101,9 +101,11 @@ #define SAVE_SEGMENT_REGS \ movw %es, TF_ES(%rsp) ; \ movw %ds, TF_DS(%rsp) ; \ - movw %fs, TF_FS(%rsp) + movw %fs, TF_FS(%rsp) ; \ + movw %gs, TF_FS(%rsp) ; \ /* Restore generic data segment registers from the stack */ +/* This macro overwrites some general registers */ #define RESTORE_SEGMENT_REGS \ call restore_segment_regs @@ -234,20 +236,79 @@ jmp hypercall_page + (__HYPERVISOR_iret * 32) NON_GPROF_ENTRY(restore_segment_regs) + .globl doreti_iret .globl ld_es .globl ld_ds .globl ld_fs .globl ld_gs +doreti_iret: + /* Note: The trapframe is on the *caller* stackframe */ + movq PCPU(CURPCB),%r8 + + /* + * Do not reload segment registers for kernel. + * Since we do not reload segments registers with sane + * values on kernel entry, descriptors referenced by + * segments registers might be not valid. This is fatal + * for user mode, but is not a problem for the kernel. + */ + testb $SEL_RPL_MASK,(TF_CS + 8)(%rsp) + jz segs_done + testl $PCB_FULL_IRET,PCB_FLAGS(%r8) + jz segs_done + testl $TF_HASSEGS,(TF_FLAGS + 8)(%rsp) + jne 1f + + /* reload with sane values */ + movw $KUDSEL,%ax + movw %ax,(TF_DS + 8)(%rsp) + movw %ax,(TF_ES + 8)(%rsp) + movw $KUF32SEL,(TF_FS + 8)(%rsp) + movw $KUG32SEL,(TF_GS + 8)(%rsp) + +1: +ld_fs: + xorq %rbx, %rbx + movw (TF_FS + 8)(%rsp), %ax + movw %ax, %fs /* blew away fsbase here */ + cmpw $KUF32SEL, %ax + jne 2f + movq $0x666, %rbx /* Kernel doesn't use %fs */ + +2: +ld_gs: + movl PCPU(CPUID), %edi + callq pcpu_find + movq %rax, %rdi /* kgsbase == pcpu_find(PCPU_GET(cpuid)) */ + + movw (TF_GS + 8)(%rsp), %ax + movw %ax, %gs /* blew away (k)gsbase here */ + + /* Kernel gsbase reload */ + callq xen_load_kgsbase /* reload kgsbase from %rdi */ + + movw %gs, %ax + cmpw $KUG32SEL, %ax + jne 3f + movq $0x666, %rbx +3: + cmpq $0x666, %rbx /* reload user %fs/%gs ? */ + jne 4f + + movq PCPU(CURPCB), %rdi + callq xen_load_tls /* Update user %fs/%gs to pcb_fsbase and pcb_gsbase */ + +4: /* done with %fs/%gs */ + ld_es: - movw (TF_ES + 8)(%rsp,1), %es ; /* Save on previous frame */ + movw (TF_ES + 8)(%rsp), %es ; ld_ds: - movw (TF_DS + 8)(%rsp,1), %ds ; /* Save on previous frame */ -ld_fs: /* %fs == 0 and the per-proc base is updated via xen_set_proc() */ -ld_gs: /* XEN manages %gs (swapgs) */ + movw (TF_DS + 8)(%rsp), %ds ; + +segs_done: ret /* The path below should not have been reached. */ - .globl doreti_iret .globl doreti_iret_fault .globl ld_gsbase .globl ld_fsbase @@ -256,7 +317,6 @@ ld_gs: /* XEN manages %gs (swapgs) */ .globl mca_intr .globl fs_load_fault /* XXX: revisit */ .globl gs_load_fault /* XXX: revisit */ -doreti_iret: doreti_iret_fault: ld_gsbase: ld_fsbase: @@ -279,161 +339,161 @@ es_load_fault: call trap movw $KUDSEL,TF_ES(%rsp) DO_AST_MAYBE ; + RESTORE_SEGMENT_REGS ; /* overwrites some general registers */ RESTORE_GENERAL_REGS ; - RESTORE_SEGMENT_REGS ; TRAP_FRAME_EXIT_NOERR ; INTR_EXIT ; IDTVEC(de) /* Divide-By-Zero-Error */ TRAP_FRAME_ENTER_NOERR ; TRAP_PROLOGUE(T_DIVIDE) ; - SAVE_SEGMENT_REGS ; SAVE_GENERAL_REGS ; + SAVE_SEGMENT_REGS ; DO_STI_MAYBE ; CALLTRAP ; DO_AST_MAYBE ; + RESTORE_SEGMENT_REGS ; /* overwrites some general registers */ RESTORE_GENERAL_REGS ; - RESTORE_SEGMENT_REGS ; TRAP_FRAME_EXIT_NOERR ; INTR_EXIT ; IDTVEC(db) /* Debug */ TRAP_FRAME_ENTER_NOERR ; TRAP_PROLOGUE(T_TRCTRAP); - SAVE_SEGMENT_REGS ; SAVE_GENERAL_REGS ; + SAVE_SEGMENT_REGS ; CALLTRAP ; DO_AST_MAYBE ; + RESTORE_SEGMENT_REGS ; /* overwrites some general registers */ RESTORE_GENERAL_REGS ; - RESTORE_SEGMENT_REGS ; TRAP_FRAME_EXIT_NOERR ; INTR_EXIT ; IDTVEC(nmi) /* Non-Maskable-Interrupt */ TRAP_FRAME_ENTER_NOERR ; TRAP_PROLOGUE(T_NMI) ; - SAVE_SEGMENT_REGS ; SAVE_GENERAL_REGS ; + SAVE_SEGMENT_REGS ; CALLTRAP ; DO_AST_MAYBE ; + RESTORE_SEGMENT_REGS ; /* overwrites some general registers */ RESTORE_GENERAL_REGS ; - RESTORE_SEGMENT_REGS ; TRAP_FRAME_EXIT_NOERR ; INTR_EXIT ; IDTVEC(bp) /* Breakpoint */ TRAP_FRAME_ENTER_NOERR ; TRAP_PROLOGUE(T_BPTFLT) ; - SAVE_SEGMENT_REGS ; SAVE_GENERAL_REGS ; + SAVE_SEGMENT_REGS ; CALLTRAP ; DO_AST_MAYBE ; + RESTORE_SEGMENT_REGS ; /* overwrites some general registers */ RESTORE_GENERAL_REGS ; - RESTORE_SEGMENT_REGS ; TRAP_FRAME_EXIT_NOERR ; INTR_EXIT ; IDTVEC(of) /* Overflow */ TRAP_FRAME_ENTER_NOERR ; TRAP_PROLOGUE(T_OFLOW) ; - SAVE_SEGMENT_REGS ; SAVE_GENERAL_REGS ; + SAVE_SEGMENT_REGS ; DO_STI_MAYBE ; CALLTRAP ; DO_AST_MAYBE ; + RESTORE_SEGMENT_REGS ; /* overwrites some general registers */ RESTORE_GENERAL_REGS ; - RESTORE_SEGMENT_REGS ; TRAP_FRAME_EXIT_NOERR ; INTR_EXIT ; IDTVEC(br) /* Bound-Range */ TRAP_FRAME_ENTER_NOERR ; TRAP_PROLOGUE(T_BOUND) ; - SAVE_SEGMENT_REGS ; SAVE_GENERAL_REGS ; + SAVE_SEGMENT_REGS ; DO_STI_MAYBE ; CALLTRAP ; DO_AST_MAYBE ; + RESTORE_SEGMENT_REGS ; /* overwrites some general registers */ RESTORE_GENERAL_REGS ; - RESTORE_SEGMENT_REGS ; TRAP_FRAME_EXIT_NOERR ; INTR_EXIT ; IDTVEC(ud) /* Invalid-Opcode */ TRAP_FRAME_ENTER_NOERR ; TRAP_PROLOGUE(T_PRIVINFLT) ; - SAVE_SEGMENT_REGS ; SAVE_GENERAL_REGS ; + SAVE_SEGMENT_REGS ; DO_STI_MAYBE ; CALLTRAP ; DO_AST_MAYBE ; + RESTORE_SEGMENT_REGS ; /* overwrites some general registers */ RESTORE_GENERAL_REGS ; - RESTORE_SEGMENT_REGS ; TRAP_FRAME_EXIT_NOERR ; INTR_EXIT ; IDTVEC(nm) /* Device-Not-Available */ TRAP_FRAME_ENTER_NOERR ; TRAP_PROLOGUE(T_DNA) ; - SAVE_SEGMENT_REGS ; SAVE_GENERAL_REGS ; + SAVE_SEGMENT_REGS ; DO_STI_MAYBE ; CALLTRAP ; DO_AST_MAYBE ; + RESTORE_SEGMENT_REGS ; /* overwrites some general registers */ RESTORE_GENERAL_REGS ; - RESTORE_SEGMENT_REGS ; TRAP_FRAME_EXIT_NOERR ; INTR_EXIT ; IDTVEC(df) /* Double-Fault */ TRAP_FRAME_ENTER_ERR ; TRAP_PROLOGUE(T_DOUBLEFLT) ; - SAVE_SEGMENT_REGS ; SAVE_GENERAL_REGS ; + SAVE_SEGMENT_REGS ; DO_STI_MAYBE ; CALLTRAP ; DO_AST_MAYBE ; + RESTORE_SEGMENT_REGS ; /* overwrites some general registers */ RESTORE_GENERAL_REGS ; - RESTORE_SEGMENT_REGS ; TRAP_FRAME_EXIT_ERR ; INTR_EXIT ; IDTVEC(ts) /* Invalid-TSS */ TRAP_FRAME_ENTER_ERR ; TRAP_PROLOGUE(T_TSSFLT) ; - SAVE_SEGMENT_REGS ; SAVE_GENERAL_REGS ; + SAVE_SEGMENT_REGS ; DO_STI_MAYBE ; CALLTRAP ; DO_AST_MAYBE ; - RESTORE_GENERAL_REGS ; RESTORE_SEGMENT_REGS ; + RESTORE_GENERAL_REGS ; /* overwrites some general registers */ TRAP_FRAME_EXIT_ERR ; INTR_EXIT ; IDTVEC(np) /* Segment-Not-Present */ TRAP_FRAME_ENTER_ERR ; TRAP_PROLOGUE(T_SEGNPFLT) ; - SAVE_SEGMENT_REGS ; SAVE_GENERAL_REGS ; + SAVE_SEGMENT_REGS ; DO_STI_MAYBE ; CALLTRAP ; DO_AST_MAYBE ; - RESTORE_GENERAL_REGS ; RESTORE_SEGMENT_REGS ; + RESTORE_GENERAL_REGS ; /* overwrites some general registers */ TRAP_FRAME_EXIT_ERR ; INTR_EXIT ; IDTVEC(ss) /* Stack */ TRAP_FRAME_ENTER_ERR ; TRAP_PROLOGUE(T_STKFLT) ; - SAVE_SEGMENT_REGS ; SAVE_GENERAL_REGS ; + SAVE_SEGMENT_REGS ; DO_STI_MAYBE ; CALLTRAP ; DO_AST_MAYBE ; + RESTORE_SEGMENT_REGS ; /* overwrites some general registers */ RESTORE_GENERAL_REGS ; - RESTORE_SEGMENT_REGS ; TRAP_FRAME_EXIT_ERR ; INTR_EXIT ; @@ -446,86 +506,86 @@ IDTVEC(gp) /* General-Protection */ CALLTRAP ; DO_AST_MAYBE ; RESTORE_GENERAL_REGS ; - RESTORE_SEGMENT_REGS ; + RESTORE_SEGMENT_REGS ; /* overwrites some general registers */ TRAP_FRAME_EXIT_ERR ; INTR_EXIT ; IDTVEC(pf) /* Page-Fault */ TRAP_FRAME_ENTER_ERR ; TRAP_PROLOGUE(T_PAGEFLT); - SAVE_SEGMENT_REGS ; SAVE_GENERAL_REGS ; + SAVE_SEGMENT_REGS ; DO_STI_MAYBE ; SETUP_TF_ADDR ; /* Fault Address - clobbers %rsi %rdi */ CALLTRAP ; /* %rsi is ignored */ DO_AST_MAYBE ; + RESTORE_SEGMENT_REGS ; /* overwrites some general registers */ RESTORE_GENERAL_REGS ; - RESTORE_SEGMENT_REGS ; TRAP_FRAME_EXIT_ERR ; INTR_EXIT ; IDTVEC(mf) /* x87 Floating-Point Exception Pending */ TRAP_FRAME_ENTER_NOERR ; TRAP_PROLOGUE(T_ARITHTRAP) ; - SAVE_SEGMENT_REGS ; SAVE_GENERAL_REGS ; + SAVE_SEGMENT_REGS ; DO_STI_MAYBE ; CALLTRAP ; DO_AST_MAYBE ; + RESTORE_SEGMENT_REGS ; /* overwrites some general registers */ RESTORE_GENERAL_REGS ; - RESTORE_SEGMENT_REGS ; TRAP_FRAME_EXIT_NOERR ; INTR_EXIT ; IDTVEC(ac) /* Alignment-Check */ TRAP_FRAME_ENTER_ERR ; TRAP_PROLOGUE(T_ALIGNFLT) ; - SAVE_SEGMENT_REGS ; SAVE_GENERAL_REGS ; + SAVE_SEGMENT_REGS ; DO_STI_MAYBE ; CALLTRAP ; DO_AST_MAYBE ; + RESTORE_SEGMENT_REGS ; /* overwrites some general registers */ RESTORE_GENERAL_REGS ; - RESTORE_SEGMENT_REGS ; TRAP_FRAME_EXIT_ERR ; INTR_EXIT ; IDTVEC(mc) /* Machine-Check */ TRAP_FRAME_ENTER_NOERR ; TRAP_PROLOGUE(T_MCHK) ; - SAVE_SEGMENT_REGS ; SAVE_GENERAL_REGS ; + SAVE_SEGMENT_REGS ; DO_STI_MAYBE ; CALLTRAP ; DO_AST_MAYBE ; + RESTORE_SEGMENT_REGS ; /* overwrites some general registers */ RESTORE_GENERAL_REGS ; - RESTORE_SEGMENT_REGS ; TRAP_FRAME_EXIT_NOERR ; INTR_EXIT ; IDTVEC(xf) /* SIMD Floating-Point */ TRAP_FRAME_ENTER_NOERR ; TRAP_PROLOGUE(T_XMMFLT) ; - SAVE_SEGMENT_REGS ; SAVE_GENERAL_REGS ; + SAVE_SEGMENT_REGS ; DO_STI_MAYBE ; CALLTRAP ; DO_AST_MAYBE ; + RESTORE_SEGMENT_REGS ; /* overwrites some general registers */ RESTORE_GENERAL_REGS ; - RESTORE_SEGMENT_REGS ; TRAP_FRAME_EXIT_NOERR ; INTR_EXIT ; IDTVEC(rs) /* Reserved */ TRAP_FRAME_ENTER_NOERR ; TRAP_PROLOGUE(T_RESERVED) ; - SAVE_SEGMENT_REGS ; SAVE_GENERAL_REGS ; + SAVE_SEGMENT_REGS ; DO_STI_MAYBE ; CALLTRAP ; DO_AST_MAYBE ; + RESTORE_SEGMENT_REGS ; /* overwrites some general registers */ RESTORE_GENERAL_REGS ; - RESTORE_SEGMENT_REGS ; TRAP_FRAME_EXIT_NOERR ; INTR_EXIT ; @@ -535,21 +595,21 @@ ENTRY(fork_trampoline) movq %rsp,%rdx /* trapframe pointer */ call fork_exit DO_AST_MAYBE ; + RESTORE_SEGMENT_REGS ; /* overwrites some general registers */ RESTORE_GENERAL_REGS ; - RESTORE_SEGMENT_REGS ; TRAP_FRAME_EXIT_NOERR ; INTR_EXIT ; IDTVEC(hypervisor_callback) /* Xen only */ TRAP_FRAME_ENTER_NOERR ; TRAP_PROLOGUE(T_EVENT) ; - SAVE_SEGMENT_REGS ; SAVE_GENERAL_REGS ; + SAVE_SEGMENT_REGS ; EVENT_UPCALL ; DO_STI_MAYBE ; DO_AST_MAYBE ; + RESTORE_SEGMENT_REGS ; /* overwrites some general registers */ RESTORE_GENERAL_REGS ; - RESTORE_SEGMENT_REGS ; TRAP_FRAME_EXIT_NOERR ; INTR_EXIT ; @@ -561,15 +621,15 @@ msgfailsafe: .asciz "Failsafe upcall tri IDTVEC(syscall_callback) TRAP_FRAME_ENTER_NOERR ; TRAP_PROLOGUE(T_USER) ; - SAVE_SEGMENT_REGS ; SAVE_GENERAL_REGS ; + SAVE_SEGMENT_REGS ; movq %r11, TF_RFLAGS(%rsp) ; /* Tweak for INTR_EXIT */ movq %r10, TF_RCX(%rsp) ; /* Translate to C abi. see trap.c:cpu_fetch_syscall_args() */ DO_STI_MAYBE ; /* Clobbers %rdi */ movq TF_RDI(%rsp), %rdi ; CALLSYSCALL ; DO_AST_MAYBE ; + RESTORE_SEGMENT_REGS ; /* overwrites some general registers */ RESTORE_GENERAL_REGS ; /* XXX: optimise for SYSRET */ - RESTORE_SEGMENT_REGS ; TRAP_FRAME_EXIT_NOERR ; INTR_EXIT ; /* XXX: SYSRET is more optimal */ Modified: projects/amd64_xen_pv/sys/amd64/xen/machdep.c ============================================================================== --- projects/amd64_xen_pv/sys/amd64/xen/machdep.c Mon Jan 20 14:37:02 2014 (r260906) +++ projects/amd64_xen_pv/sys/amd64/xen/machdep.c Mon Jan 20 14:48:52 2014 (r260907) @@ -430,12 +430,11 @@ initxen(struct start_info *si) * Setup kernel PCPU base. pcpu needs them, and other * parts of the early startup path use pcpu variables before * we have loaded the new Global Descriptor Table. + * XXX: revisit */ pc = &__pcpu[0]; - HYPERVISOR_set_segment_base (SEGBASE_FS, 0); HYPERVISOR_set_segment_base (SEGBASE_GS_KERNEL, (uint64_t) pc); - HYPERVISOR_set_segment_base (SEGBASE_GS_USER, 0); /* Setup paging */ /* @@ -488,6 +487,7 @@ initxen(struct start_info *si) kern_envp = xen_setbootenv((caddr_t)xen_start_info->cmd_line); boothowto |= xen_boothowto(kern_envp); + boothowto |= RB_SINGLE; #ifdef DDB /* XXX: */ ksym_start = MD_FETCH(kmdp, MODINFOMD_SSYM, uintptr_t); @@ -515,17 +515,19 @@ initxen(struct start_info *si) /* NOTREACHED */ } - lgdt(NULL); /* See: support.S */ + lgdt(NULL); /* Load all segment registers - See: support.S */ /* * Refresh kernel tls registers since we've blown them away - * via new GDT load. pcpu needs them. + * via new GDT load and segment reloads. pcpu needs them. */ + + HYPERVISOR_set_segment_base (SEGBASE_FS, 0); HYPERVISOR_set_segment_base (SEGBASE_GS_KERNEL, (uint64_t) pc); + HYPERVISOR_set_segment_base (SEGBASE_GS_USER, (uint64_t) 0); /* per cpu structures for cpu0 */ pcpu_init(pc, 0, sizeof(struct pcpu)); - dpcpu_init((void *)(PTOV(physfree)), 0); physfree += DPCPU_SIZE; @@ -543,6 +545,7 @@ initxen(struct start_info *si) PCPU_SET(curthread, &thread0); PCPU_SET(tssp, &common_tss[0]); /* Dummy - see definition */ PCPU_SET(commontssp, &common_tss[0]); /* Dummy - see definition */ + /* XXX: ldt */ PCPU_SET(fs32p, (void *)xpmap_ptom(VTOP(&gdt[GUFS32_SEL]))); /* Note: On Xen PV, we set the machine address. */ PCPU_SET(gs32p, (void *)xpmap_ptom(VTOP(&gdt[GUGS32_SEL]))); /* Note: On Xen PV, we set the machine address. */ @@ -608,21 +611,29 @@ initxen(struct start_info *si) /* setup user mode selector glue */ _ucodesel = GSEL(GUCODE_SEL, SEL_UPL); _udatasel = GSEL(GUDATA_SEL, SEL_UPL); + /* XXX: _ucode32sel & compat_32 */ _ufssel = GSEL(GUFS32_SEL, SEL_UPL); _ugssel = GSEL(GUGS32_SEL, SEL_UPL); - /* Load thread0 context */ - load_ds(_udatasel); - load_es(_udatasel); - load_fs(0); /* reset %fs to 0 before 64bit base load */ - HYPERVISOR_set_segment_base (SEGBASE_FS, 0); - HYPERVISOR_set_segment_base (SEGBASE_GS_USER_SEL, (uint64_t) 0); - HYPERVISOR_set_segment_base (SEGBASE_GS_USER, (uint64_t) 0); + /* + * Native does a "transfer to user mode" - which seems rather + * suspect^wunfinished to me (cherry@). + * + * We don't do this on xen, since this thread eventually + * becomes vm/vm_glue.c:swapper() , which assumes that it is + * running in kernel mode. + * + * Note, cherry@: I don't think it's worth the trouble setting + * up a separate "swapper" user context for this thread, + * unless a strong case for performance savings (TLB hits ?) + * can be made. + */ /* setup proc 0's pcb */ thread0.td_pcb->pcb_flags = 0; thread0.td_pcb->pcb_cr3 = xpmap_ptom(VTOP(KPML4phys)); thread0.td_frame = &proc0_tf; + thread0.td_pcb->pcb_gsbase = (uint64_t) pc; env = getenv("kernelname"); if (env != NULL) @@ -1437,6 +1448,42 @@ xen_rcr2(void) return (HYPERVISOR_shared_info->vcpu_info[curcpu].arch.cr2); } +/* + * Set kernel %gs base + * This is required after a %gs reload from kernel context + */ +void +xen_load_kgsbase(uint64_t gsbase) +{ + HYPERVISOR_set_segment_base (SEGBASE_GS_KERNEL, gsbase); +} + +/* Set Usermode TLS registers from pcb context */ +void +xen_load_tls(struct pcb *pcb) +{ + /* XXX: compat32 */ + if (pcb->pcb_flags & PCB_32BIT) { + struct user_segment_descriptor gsd; + gsd = gdt[GUGS32_SEL]; + USD_SETBASE(&gsd, pcb->pcb_gsbase); + xen_set_descriptor((vm_paddr_t)PCPU_GET(gs32p), (void *)&gsd); + + if (pcb->pcb_flags & PCB_32BIT) { + gsd = gdt[GUFS32_SEL]; + USD_SETBASE(&gsd, pcb->pcb_fsbase); + xen_set_descriptor((vm_paddr_t)PCPU_GET(fs32p), (void *)&gsd); + } + } else { + HYPERVISOR_set_segment_base(SEGBASE_GS_USER_SEL, + _ugssel); + HYPERVISOR_set_segment_base(SEGBASE_GS_USER, + pcb->pcb_gsbase); + HYPERVISOR_set_segment_base(SEGBASE_FS, + pcb->pcb_fsbase); + } +} + void xen_set_proc(struct pcb *newpcb) { @@ -1444,26 +1491,7 @@ xen_set_proc(struct pcb *newpcb) (unsigned long) newpcb & ~0xFul); if (!(curthread->td_pflags & TDP_KTHREAD)) { /* Only for user proc */ - /* XXX: compat32 */ - if (newpcb->pcb_flags & PCB_32BIT) { - struct user_segment_descriptor gsd; - gsd = gdt[GUGS32_SEL]; - USD_SETBASE(&gsd, newpcb->pcb_gsbase); - xen_set_descriptor((vm_paddr_t)PCPU_GET(gs32p), (void *)&gsd); - - if (newpcb->pcb_flags & PCB_32BIT) { - gsd = gdt[GUFS32_SEL]; - USD_SETBASE(&gsd, newpcb->pcb_fsbase); - xen_set_descriptor((vm_paddr_t)PCPU_GET(fs32p), (void *)&gsd); - } - } else { - HYPERVISOR_set_segment_base(SEGBASE_GS_USER_SEL, - 0); - HYPERVISOR_set_segment_base(SEGBASE_GS_USER, - newpcb->pcb_gsbase); - HYPERVISOR_set_segment_base(SEGBASE_FS, - newpcb->pcb_fsbase); - } + xen_load_tls(newpcb); } } From owner-svn-src-projects@FreeBSD.ORG Mon Jan 20 15:00:22 2014 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 825C2918; Mon, 20 Jan 2014 15:00:22 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id 6F38C189D; Mon, 20 Jan 2014 15:00:22 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id s0KF0MM0022902; Mon, 20 Jan 2014 15:00:22 GMT (envelope-from glebius@svn.freebsd.org) Received: (from glebius@localhost) by svn.freebsd.org (8.14.7/8.14.7/Submit) id s0KF0Mud022901; Mon, 20 Jan 2014 15:00:22 GMT (envelope-from glebius@svn.freebsd.org) Message-Id: <201401201500.s0KF0Mud022901@svn.freebsd.org> From: Gleb Smirnoff Date: Mon, 20 Jan 2014 15:00:22 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r260908 - projects/sendfile/sys/kern X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.17 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 20 Jan 2014 15:00:22 -0000 Author: glebius Date: Mon Jan 20 15:00:21 2014 New Revision: 260908 URL: http://svnweb.freebsd.org/changeset/base/260908 Log: Relax assertion. Modified: projects/sendfile/sys/kern/uipc_sockbuf.c Modified: projects/sendfile/sys/kern/uipc_sockbuf.c ============================================================================== --- projects/sendfile/sys/kern/uipc_sockbuf.c Mon Jan 20 14:48:52 2014 (r260907) +++ projects/sendfile/sys/kern/uipc_sockbuf.c Mon Jan 20 15:00:21 2014 (r260908) @@ -160,7 +160,9 @@ void sbfree(struct sockbuf *sb, struct mbuf *m) { +#if 0 /* XXX: not yet: soclose() call path comes here w/o lock. */ SOCKBUF_LOCK_ASSERT(sb); +#endif sb->sb_ccc -= m->m_len; From owner-svn-src-projects@FreeBSD.ORG Mon Jan 20 18:51:18 2014 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id AEA139B8; Mon, 20 Jan 2014 18:51:18 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id 985611F2A; Mon, 20 Jan 2014 18:51:18 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id s0KIpIsb019731; Mon, 20 Jan 2014 18:51:18 GMT (envelope-from glebius@svn.freebsd.org) Received: (from glebius@localhost) by svn.freebsd.org (8.14.7/8.14.7/Submit) id s0KIpGkZ019716; Mon, 20 Jan 2014 18:51:16 GMT (envelope-from glebius@svn.freebsd.org) Message-Id: <201401201851.s0KIpGkZ019716@svn.freebsd.org> From: Gleb Smirnoff Date: Mon, 20 Jan 2014 18:51:16 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r260916 - in projects/sendfile: include lib/libc/gen libexec/getty sys/dev/uart sys/ia64/ia64 sys/vm sys/x86/x86 usr.sbin/pciconf X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.17 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 20 Jan 2014 18:51:18 -0000 Author: glebius Date: Mon Jan 20 18:51:16 2014 New Revision: 260916 URL: http://svnweb.freebsd.org/changeset/base/260916 Log: Merge head up to r260915. Modified: projects/sendfile/include/ttyent.h projects/sendfile/lib/libc/gen/getttyent.c projects/sendfile/libexec/getty/ttys.5 projects/sendfile/sys/dev/uart/uart_core.c projects/sendfile/sys/ia64/ia64/pmap.c projects/sendfile/sys/vm/vnode_pager.c projects/sendfile/sys/x86/x86/nexus.c projects/sendfile/usr.sbin/pciconf/pciconf.8 projects/sendfile/usr.sbin/pciconf/pciconf.c Directory Properties: projects/sendfile/ (props changed) projects/sendfile/include/ (props changed) projects/sendfile/lib/libc/ (props changed) projects/sendfile/sys/ (props changed) Modified: projects/sendfile/include/ttyent.h ============================================================================== --- projects/sendfile/include/ttyent.h Mon Jan 20 18:47:56 2014 (r260915) +++ projects/sendfile/include/ttyent.h Mon Jan 20 18:51:16 2014 (r260916) @@ -37,6 +37,7 @@ #define _TTYS_OFF "off" #define _TTYS_ON "on" +#define _TTYS_ONIFCONSOLE "onifconsole" #define _TTYS_SECURE "secure" #define _TTYS_INSECURE "insecure" #define _TTYS_WINDOW "window" Modified: projects/sendfile/lib/libc/gen/getttyent.c ============================================================================== --- projects/sendfile/lib/libc/gen/getttyent.c Mon Jan 20 18:47:56 2014 (r260915) +++ projects/sendfile/lib/libc/gen/getttyent.c Mon Jan 20 18:51:16 2014 (r260916) @@ -39,6 +39,9 @@ __FBSDID("$FreeBSD$"); #include #include +#include +#include + static char zapchar; static FILE *tf; static size_t lbsize; @@ -64,6 +67,36 @@ getttynam(const char *tty) return (t); } +static int +auto_tty_status(const char *ty_name) +{ + size_t len; + char *buf, *cons, *nextcons; + + /* Check if this is an enabled kernel console line */ + buf = NULL; + if (sysctlbyname("kern.console", NULL, &len, NULL, 0) == -1) + return (0); /* Errors mean don't enable */ + buf = malloc(len); + if (sysctlbyname("kern.console", buf, &len, NULL, 0) == -1) + goto done; + + if ((cons = strchr(buf, '/')) == NULL) + goto done; + *cons = '\0'; + nextcons = buf; + while ((cons = strsep(&nextcons, ",")) != NULL && strlen(cons) != 0) { + if (strcmp(cons, ty_name) == 0) { + free(buf); + return (TTY_ON); + } + } + +done: + free(buf); + return (0); +} + struct ttyent * getttyent(void) { @@ -126,6 +159,8 @@ getttyent(void) tty.ty_status &= ~TTY_ON; else if (scmp(_TTYS_ON)) tty.ty_status |= TTY_ON; + else if (scmp(_TTYS_ONIFCONSOLE)) + tty.ty_status |= auto_tty_status(tty.ty_name); else if (scmp(_TTYS_SECURE)) tty.ty_status |= TTY_SECURE; else if (scmp(_TTYS_INSECURE)) Modified: projects/sendfile/libexec/getty/ttys.5 ============================================================================== --- projects/sendfile/libexec/getty/ttys.5 Mon Jan 20 18:47:56 2014 (r260915) +++ projects/sendfile/libexec/getty/ttys.5 Mon Jan 20 18:51:16 2014 (r260916) @@ -102,8 +102,11 @@ ttys as a group. .Pp As flag values, the strings ``on'' and ``off'' specify that .Xr init 8 -should (should not) execute the command given in the second field, -while ``secure'' (if ``on'' is also specified) allows users with a +should (should not) execute the command given in the second field. +``onifconsole'' will cause this line to be enabled if and only if it is +an active kernel console device (it is equivalent to ``on'' in this +case). +The flag ``secure'' (if the console is enabled) allows users with a uid of 0 to login on this line. The flag ``dialin'' indicates that a tty entry describes a dialin Modified: projects/sendfile/sys/dev/uart/uart_core.c ============================================================================== --- projects/sendfile/sys/dev/uart/uart_core.c Mon Jan 20 18:47:56 2014 (r260915) +++ projects/sendfile/sys/dev/uart/uart_core.c Mon Jan 20 18:51:16 2014 (r260916) @@ -629,18 +629,14 @@ void uart_grab(struct uart_devinfo *di) { - uart_lock(di->hwmtx); if (di->sc) UART_GRAB(di->sc); - uart_unlock(di->hwmtx); } void uart_ungrab(struct uart_devinfo *di) { - uart_lock(di->hwmtx); if (di->sc) UART_UNGRAB(di->sc); - uart_unlock(di->hwmtx); } Modified: projects/sendfile/sys/ia64/ia64/pmap.c ============================================================================== --- projects/sendfile/sys/ia64/ia64/pmap.c Mon Jan 20 18:47:56 2014 (r260915) +++ projects/sendfile/sys/ia64/ia64/pmap.c Mon Jan 20 18:51:16 2014 (r260916) @@ -1303,6 +1303,8 @@ pmap_set_pte(struct ia64_lpte *pte, vm_o pte->itir = PAGE_SHIFT << 2; + ia64_mf(); + pte->tag = ia64_ttag(va); } @@ -1321,8 +1323,8 @@ pmap_remove_pte(pmap_t pmap, struct ia64 * First remove from the VHPT. */ error = pmap_remove_vhpt(va); - if (error) - return (error); + KASSERT(error == 0, ("%s: pmap_remove_vhpt returned %d", + __func__, error)); pmap_invalidate_page(va); Modified: projects/sendfile/sys/vm/vnode_pager.c ============================================================================== --- projects/sendfile/sys/vm/vnode_pager.c Mon Jan 20 18:47:56 2014 (r260915) +++ projects/sendfile/sys/vm/vnode_pager.c Mon Jan 20 18:51:16 2014 (r260916) @@ -244,8 +244,7 @@ retry: * The object must be locked. */ static void -vnode_pager_dealloc(object) - vm_object_t object; +vnode_pager_dealloc(vm_object_t object) { struct vnode *vp; int refs; @@ -280,11 +279,8 @@ vnode_pager_dealloc(object) } static boolean_t -vnode_pager_haspage(object, pindex, before, after) - vm_object_t object; - vm_pindex_t pindex; - int *before; - int *after; +vnode_pager_haspage(vm_object_t object, vm_pindex_t pindex, int *before, + int *after) { struct vnode *vp = object->handle; daddr_t bn; @@ -363,9 +359,7 @@ vnode_pager_haspage(object, pindex, befo * operation (possibly at object termination time), so we must be careful. */ void -vnode_pager_setsize(vp, nsize) - struct vnode *vp; - vm_ooffset_t nsize; +vnode_pager_setsize(struct vnode *vp, vm_ooffset_t nsize) { vm_object_t object; vm_page_t m; @@ -490,9 +484,7 @@ vnode_pager_addr(struct vnode *vp, vm_oo * small block filesystem vnode pager input */ static int -vnode_pager_input_smlfs(object, m) - vm_object_t object; - vm_page_t m; +vnode_pager_input_smlfs(vm_object_t object, vm_page_t m) { struct vnode *vp; struct bufobj *bo; @@ -584,9 +576,7 @@ vnode_pager_input_smlfs(object, m) * old style vnode pager input routine */ static int -vnode_pager_input_old(object, m) - vm_object_t object; - vm_page_t m; +vnode_pager_input_old(vm_object_t object, vm_page_t m) { struct uio auio; struct iovec aiov; @@ -659,11 +649,7 @@ vnode_pager_input_old(object, m) * backing vp's VOP_GETPAGES. */ static int -vnode_pager_getpages(object, m, count, reqpage) - vm_object_t object; - vm_page_t *m; - int count; - int reqpage; +vnode_pager_getpages(vm_object_t object, vm_page_t *m, int count, int reqpage) { int rtval; struct vnode *vp; @@ -683,11 +669,8 @@ vnode_pager_getpages(object, m, count, r * own vnodes if they fail to implement VOP_GETPAGES. */ int -vnode_pager_generic_getpages(vp, m, bytecount, reqpage) - struct vnode *vp; - vm_page_t *m; - int bytecount; - int reqpage; +vnode_pager_generic_getpages(struct vnode *vp, vm_page_t *m, int bytecount, + int reqpage) { vm_object_t object; vm_offset_t kva; @@ -1024,12 +1007,8 @@ vnode_pager_generic_getpages(vp, m, byte * backing vp's VOP_PUTPAGES. */ static void -vnode_pager_putpages(object, m, count, sync, rtvals) - vm_object_t object; - vm_page_t *m; - int count; - boolean_t sync; - int *rtvals; +vnode_pager_putpages(vm_object_t object, vm_page_t *m, int count, + boolean_t sync, int *rtvals) { int rtval; struct vnode *vp; Modified: projects/sendfile/sys/x86/x86/nexus.c ============================================================================== --- projects/sendfile/sys/x86/x86/nexus.c Mon Jan 20 18:47:56 2014 (r260915) +++ projects/sendfile/sys/x86/x86/nexus.c Mon Jan 20 18:51:16 2014 (r260916) @@ -368,12 +368,13 @@ nexus_alloc_resource(device_t bus, devic int needactivate = flags & RF_ACTIVE; /* - * If this is an allocation of the "default" range for a given RID, and - * we know what the resources for this device are (ie. they aren't maintained - * by a child bus), then work out the start/end values. + * If this is an allocation of the "default" range for a given + * RID, and we know what the resources for this device are + * (ie. they aren't maintained by a child bus), then work out + * the start/end values. */ if ((start == 0UL) && (end == ~0UL) && (count == 1)) { - if (ndev == NULL) + if (device_get_parent(child) != bus || ndev == NULL) return(NULL); rle = resource_list_find(&ndev->nx_resources, type, *rid); if (rle == NULL) @@ -492,6 +493,7 @@ static int nexus_release_resource(device_t bus, device_t child, int type, int rid, struct resource *r) { + if (rman_get_flags(r) & RF_ACTIVE) { int error = bus_deactivate_resource(child, type, rid, r); if (error) Modified: projects/sendfile/usr.sbin/pciconf/pciconf.8 ============================================================================== --- projects/sendfile/usr.sbin/pciconf/pciconf.8 Mon Jan 20 18:47:56 2014 (r260915) +++ projects/sendfile/usr.sbin/pciconf/pciconf.8 Mon Jan 20 18:51:16 2014 (r260916) @@ -25,7 +25,7 @@ .\" .\" $FreeBSD$ .\" -.Dd June 1, 2012 +.Dd January 20, 2014 .Dt PCICONF 8 .Os .Sh NAME @@ -33,13 +33,13 @@ .Nd diagnostic utility for the PCI bus .Sh SYNOPSIS .Nm -.Fl l Op Fl bcev +.Fl l Oo Fl bcev Oc Op Ar device .Nm -.Fl a Ar selector +.Fl a Ar device .Nm -.Fl r Oo Fl b | h Oc Ar selector addr Ns Op : Ns Ar addr2 +.Fl r Oo Fl b | h Oc Ar device addr Ns Op : Ns Ar addr2 .Nm -.Fl w Oo Fl b | h Oc Ar selector addr value +.Fl w Oo Fl b | h Oc Ar device addr value .Sh DESCRIPTION The .Nm @@ -54,7 +54,9 @@ normally only the super-user. .Pp With the .Fl l -option, it lists all devices found by the boot probe in the following format: +option, +.Nm +lists PCI devices in the following format: .Bd -literal foo0@pci0:0:4:0: class=0x010000 card=0x00000000 chip=0x000f1000 rev=0x01 \ hdr=0x00 @@ -65,16 +67,14 @@ hdr=0x00 .Ed .Pp The first column gives the -device name, unit number, and -.Ar selector . -If there is no device configured in the kernel for the +driver name, unit number, and selector . +If there is no driver attached to the .Tn PCI -device in question, the device name will be +device in question, the driver name will be .Dq none . -Unit numbers for unconfigured devices start at zero and are incremented for -each unconfigured device that is encountered. -The -.Ar selector +Unit numbers for detached devices start at zero and are incremented for +each detached device that is encountered. +The selector is in a form which may directly be used for the other forms of the command. The second column is the class code, with the class byte printed as two hex digits, followed by the sub-class and the interface bytes. @@ -182,18 +182,36 @@ option is supplied, will attempt to load the vendor/device information database, and print vendor, device, class and subclass identification strings for each device. .Pp +If the optional +.Ar device +argument is given with the +.Fl l +flag, +.Nm +will only list details about a single device instead of all devices. +.Pp All invocations of .Nm except for .Fl l require a -.Ar selector -of the form +.Ar device . +The device can be identified either by a device name if the device is +attached to a driver or by a selector. +Selectors identify a PCI device by its address in PCI config space and +can take one of the following forms: +.Pp +.Bl -bullet -offset indent -compact +.It .Li pci Ns Va domain Ns \&: Ns Va bus Ns \&: Ns Va device Ns \&: \ -Ns Va function Ns , -.Li pci Ns Va bus Ns \&: Ns Va device Ns \&: Ns Va function Ns , or -.Li pci Ns Va bus Ns \&: Ns Va device Ns . -In case of an abridged form, omitted selector components are assumed to be 0. +Ns Va function Ns +.It +.Li pci Ns Va bus Ns \&: Ns Va device Ns \&: Ns Va function Ns +.It +.Li pci Ns Va bus Ns \&: Ns Va device Ns +.El +.Pp +In the case of an abridged form, omitted selector components are assumed to be 0. An optional leading device name followed by @ and an optional final colon will be ignored; this is so that the first column in the output of .Nm Modified: projects/sendfile/usr.sbin/pciconf/pciconf.c ============================================================================== --- projects/sendfile/usr.sbin/pciconf/pciconf.c Mon Jan 20 18:47:56 2014 (r260915) +++ projects/sendfile/usr.sbin/pciconf/pciconf.c Mon Jan 20 18:51:16 2014 (r260916) @@ -35,6 +35,7 @@ static const char rcsid[] = #include #include +#include #include #include #include @@ -67,8 +68,10 @@ struct pci_vendor_info TAILQ_HEAD(,pci_vendor_info) pci_vendors; +static struct pcisel getsel(const char *str); static void list_bars(int fd, struct pci_conf *p); -static void list_devs(int verbose, int bars, int caps, int errors); +static void list_devs(const char *name, int verbose, int bars, int caps, + int errors); static void list_verbose(struct pci_conf *p); static const char *guess_class(struct pci_conf *p); static const char *guess_subclass(struct pci_conf *p); @@ -83,10 +86,10 @@ static void usage(void) { fprintf(stderr, "%s\n%s\n%s\n%s\n", - "usage: pciconf -l [-bcev]", - " pciconf -a selector", - " pciconf -r [-b | -h] selector addr[:addr2]", - " pciconf -w [-b | -h] selector addr value"); + "usage: pciconf -l [-bcev] [device]", + " pciconf -a device", + " pciconf -r [-b | -h] device addr[:addr2]", + " pciconf -w [-b | -h] device addr value"); exit (1); } @@ -145,14 +148,15 @@ main(int argc, char **argv) } } - if ((listmode && optind != argc) + if ((listmode && optind >= argc + 1) || (writemode && optind + 3 != argc) || (readmode && optind + 2 != argc) || (attachedmode && optind + 1 != argc)) usage(); if (listmode) { - list_devs(verbose, bars, caps, errors); + list_devs(optind + 1 == argc ? argv[optind] : NULL, verbose, + bars, caps, errors); } else if (attachedmode) { chkattached(argv[optind]); } else if (readmode) { @@ -169,11 +173,12 @@ main(int argc, char **argv) } static void -list_devs(int verbose, int bars, int caps, int errors) +list_devs(const char *name, int verbose, int bars, int caps, int errors) { int fd; struct pci_conf_io pc; struct pci_conf conf[255], *p; + struct pci_match_conf patterns[1]; int none_count = 0; if (verbose) @@ -186,6 +191,16 @@ list_devs(int verbose, int bars, int cap bzero(&pc, sizeof(struct pci_conf_io)); pc.match_buf_len = sizeof(conf); pc.matches = conf; + if (name != NULL) { + bzero(&patterns, sizeof(patterns)); + patterns[0].pc_sel = getsel(name); + patterns[0].flags = PCI_GETCONF_MATCH_DOMAIN | + PCI_GETCONF_MATCH_BUS | PCI_GETCONF_MATCH_DEV | + PCI_GETCONF_MATCH_FUNC; + pc.num_patterns = 1; + pc.pat_buf_len = sizeof(patterns); + pc.patterns = patterns; + } do { if (ioctl(fd, PCIOCGETCONF, &pc) == -1) @@ -557,7 +572,61 @@ read_config(int fd, struct pcisel *sel, } static struct pcisel -getsel(const char *str) +getdevice(const char *name) +{ + struct pci_conf_io pc; + struct pci_conf conf[1]; + struct pci_match_conf patterns[1]; + char *cp; + int fd; + + fd = open(_PATH_DEVPCI, O_RDONLY, 0); + if (fd < 0) + err(1, "%s", _PATH_DEVPCI); + + bzero(&pc, sizeof(struct pci_conf_io)); + pc.match_buf_len = sizeof(conf); + pc.matches = conf; + + bzero(&patterns, sizeof(patterns)); + + /* + * The pattern structure requires the unit to be split out from + * the driver name. Walk backwards from the end of the name to + * find the start of the unit. + */ + if (name[0] == '\0') + err(1, "Empty device name"); + cp = strchr(name, '\0'); + assert(cp != NULL && cp != name); + cp--; + while (cp != name && isdigit(cp[-1])) + cp--; + if (cp == name) + errx(1, "Invalid device name"); + if ((size_t)(cp - name) + 1 > sizeof(patterns[0].pd_name)) + errx(1, "Device name i2s too long"); + memcpy(patterns[0].pd_name, name, cp - name); + patterns[0].pd_unit = strtol(cp, &cp, 10); + assert(*cp == '\0'); + patterns[0].flags = PCI_GETCONF_MATCH_NAME | PCI_GETCONF_MATCH_UNIT; + pc.num_patterns = 1; + pc.pat_buf_len = sizeof(patterns); + pc.patterns = patterns; + + if (ioctl(fd, PCIOCGETCONF, &pc) == -1) + err(1, "ioctl(PCIOCGETCONF)"); + if (pc.status != PCI_GETCONF_LAST_DEVICE && + pc.status != PCI_GETCONF_MORE_DEVS) + errx(1, "error returned from PCIOCGETCONF ioctl"); + close(fd); + if (pc.num_matches == 0) + errx(1, "Device not found"); + return (conf[0].pc_sel); +} + +static struct pcisel +parsesel(const char *str) { char *ep = strchr(str, '@'); char *epbase; @@ -595,6 +664,20 @@ getsel(const char *str) return sel; } +static struct pcisel +getsel(const char *str) +{ + + /* + * No device names contain colons and selectors always contain + * at least one colon. + */ + if (strchr(str, ':') == NULL) + return (getdevice(str)); + else + return (parsesel(str)); +} + static void readone(int fd, struct pcisel *sel, long reg, int width) { From owner-svn-src-projects@FreeBSD.ORG Mon Jan 20 18:59:12 2014 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 8B618DDB; Mon, 20 Jan 2014 18:59:12 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id 702E31F97; Mon, 20 Jan 2014 18:59:12 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id s0KIxCO1020790; Mon, 20 Jan 2014 18:59:12 GMT (envelope-from marcel@svn.freebsd.org) Received: (from marcel@localhost) by svn.freebsd.org (8.14.7/8.14.7/Submit) id s0KIx9DG020769; Mon, 20 Jan 2014 18:59:09 GMT (envelope-from marcel@svn.freebsd.org) Message-Id: <201401201859.s0KIx9DG020769@svn.freebsd.org> From: Marcel Moolenaar Date: Mon, 20 Jan 2014 18:59:09 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r260917 - in projects/altix2: . bin/cat bin/df bin/pax/tests bin/sh bin/sh/tests bin/test/tests cddl/contrib/opensolaris/cmd/zdb cddl/contrib/opensolaris/cmd/zfs cddl/contrib/opensolari... X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.17 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 20 Jan 2014 18:59:12 -0000 Author: marcel Date: Mon Jan 20 18:59:07 2014 New Revision: 260917 URL: http://svnweb.freebsd.org/changeset/base/260917 Log: Merge ^/head@260914. Added: projects/altix2/bin/pax/tests/legacy_test.pl - copied unchanged from r260914, head/bin/pax/tests/legacy_test.pl projects/altix2/contrib/atf/atf-c++/atf-c++.pc.in - copied unchanged from r260914, head/contrib/atf/atf-c++/atf-c++.pc.in projects/altix2/contrib/atf/atf-c/atf-c.pc.in - copied unchanged from r260914, head/contrib/atf/atf-c/atf-c.pc.in projects/altix2/contrib/atf/atf-sh/atf-sh.pc.in - copied unchanged from r260914, head/contrib/atf/atf-sh/atf-sh.pc.in projects/altix2/lib/atf/common.mk - copied unchanged from r260914, head/lib/atf/common.mk projects/altix2/lib/atf/libatf-c++/tests/Makefile.inc - copied unchanged from r260914, head/lib/atf/libatf-c++/tests/Makefile.inc projects/altix2/lib/atf/libatf-c++/tests/detail/ - copied from r260914, head/lib/atf/libatf-c++/tests/detail/ projects/altix2/lib/atf/libatf-c/tests/Makefile.inc - copied unchanged from r260914, head/lib/atf/libatf-c/tests/Makefile.inc projects/altix2/lib/atf/libatf-c/tests/detail/ - copied from r260914, head/lib/atf/libatf-c/tests/detail/ projects/altix2/release/doc/en_US.ISO8859-1/share/xml/catalog.xml - copied unchanged from r260914, head/release/doc/en_US.ISO8859-1/share/xml/catalog.xml projects/altix2/release/doc/en_US.ISO8859-1/share/xml/release.xsl - copied unchanged from r260914, head/release/doc/en_US.ISO8859-1/share/xml/release.xsl projects/altix2/release/doc/share/xml/release.xsl - copied unchanged from r260914, head/release/doc/share/xml/release.xsl projects/altix2/release/pkg_repos/ - copied from r260914, head/release/pkg_repos/ projects/altix2/share/man/man4/geom_uncompress.4 - copied unchanged from r260914, head/share/man/man4/geom_uncompress.4 projects/altix2/share/man/man4/virtio_random.4 - copied unchanged from r260914, head/share/man/man4/virtio_random.4 projects/altix2/sys/amd64/conf/VT - copied unchanged from r260914, head/sys/amd64/conf/VT projects/altix2/sys/arm/at91/at91_gpio.h - copied unchanged from r260914, head/sys/arm/at91/at91_gpio.h projects/altix2/sys/arm/at91/at91_smc.c - copied unchanged from r260914, head/sys/arm/at91/at91_smc.c projects/altix2/sys/arm/at91/at91_smc.h - copied unchanged from r260914, head/sys/arm/at91/at91_smc.h projects/altix2/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_bookmark.c - copied unchanged from r260914, head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_bookmark.c projects/altix2/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/dsl_bookmark.h - copied unchanged from r260914, head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/dsl_bookmark.h projects/altix2/sys/contrib/dev/iwn/iwlwifi-105-6-18.168.6.1.fw.uu - copied unchanged from r260914, head/sys/contrib/dev/iwn/iwlwifi-105-6-18.168.6.1.fw.uu projects/altix2/sys/contrib/dev/iwn/iwlwifi-135-6-18.168.6.1.fw.uu - copied unchanged from r260914, head/sys/contrib/dev/iwn/iwlwifi-135-6-18.168.6.1.fw.uu projects/altix2/sys/dev/aic7xxx/aic79xx_reg.h - copied unchanged from r260914, head/sys/dev/aic7xxx/aic79xx_reg.h projects/altix2/sys/dev/aic7xxx/aic79xx_reg_print.c - copied unchanged from r260914, head/sys/dev/aic7xxx/aic79xx_reg_print.c projects/altix2/sys/dev/aic7xxx/aic79xx_seq.h - copied unchanged from r260914, head/sys/dev/aic7xxx/aic79xx_seq.h projects/altix2/sys/dev/aic7xxx/aic7xxx_reg.h - copied unchanged from r260914, head/sys/dev/aic7xxx/aic7xxx_reg.h projects/altix2/sys/dev/aic7xxx/aic7xxx_reg_print.c - copied unchanged from r260914, head/sys/dev/aic7xxx/aic7xxx_reg_print.c projects/altix2/sys/dev/aic7xxx/aic7xxx_seq.h - copied unchanged from r260914, head/sys/dev/aic7xxx/aic7xxx_seq.h projects/altix2/sys/dev/nand/nfc_at91.h - copied unchanged from r260914, head/sys/dev/nand/nfc_at91.h projects/altix2/sys/dev/virtio/random/ - copied from r260914, head/sys/dev/virtio/random/ projects/altix2/sys/i386/conf/VT - copied unchanged from r260914, head/sys/i386/conf/VT projects/altix2/sys/modules/iwnfw/iwn105/ - copied from r260914, head/sys/modules/iwnfw/iwn105/ projects/altix2/sys/modules/iwnfw/iwn135/ - copied from r260914, head/sys/modules/iwnfw/iwn135/ projects/altix2/sys/modules/virtio/random/ - copied from r260914, head/sys/modules/virtio/random/ projects/altix2/sys/sys/sf_base.h - copied unchanged from r260914, head/sys/sys/sf_base.h Deleted: projects/altix2/bin/pax/tests/legacy_test.sh projects/altix2/release/amd64/pkg-stage.conf projects/altix2/release/doc/de_DE.ISO8859-1/ projects/altix2/release/doc/en_US.ISO8859-1/share/xml/catalog projects/altix2/release/doc/en_US.ISO8859-1/share/xml/release.dsl projects/altix2/release/doc/fr_FR.ISO8859-1/ projects/altix2/release/doc/ja_JP.eucJP/ projects/altix2/release/doc/ru_RU.KOI8-R/ projects/altix2/release/doc/share/xml/catalog projects/altix2/release/doc/share/xml/default.dsl projects/altix2/release/doc/share/xml/release.dsl projects/altix2/release/doc/zh_CN.GB2312/ projects/altix2/release/i386/pkg-stage.conf projects/altix2/sys/arm/tegra/bus_space.c projects/altix2/sys/dev/fdt/fdt_pci.c projects/altix2/sys/powerpc/include/fdt.h Modified: projects/altix2/Makefile.inc1 projects/altix2/UPDATING projects/altix2/bin/cat/cat.c projects/altix2/bin/df/df.1 projects/altix2/bin/pax/tests/Makefile projects/altix2/bin/sh/input.c projects/altix2/bin/sh/sh.1 projects/altix2/bin/sh/tests/Makefile projects/altix2/bin/sh/trap.c projects/altix2/bin/sh/trap.h projects/altix2/bin/test/tests/Makefile projects/altix2/cddl/contrib/opensolaris/cmd/zdb/zdb.c projects/altix2/cddl/contrib/opensolaris/cmd/zfs/zfs.8 projects/altix2/cddl/contrib/opensolaris/cmd/zfs/zfs_iter.c projects/altix2/cddl/contrib/opensolaris/cmd/zfs/zfs_main.c projects/altix2/cddl/contrib/opensolaris/cmd/zinject/zinject.c projects/altix2/cddl/contrib/opensolaris/cmd/zpool/zpool-features.7 projects/altix2/cddl/contrib/opensolaris/lib/libzfs/common/libzfs.h projects/altix2/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_dataset.c projects/altix2/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_impl.h projects/altix2/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_iter.c projects/altix2/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_sendrecv.c projects/altix2/cddl/contrib/opensolaris/lib/libzfs_core/common/libzfs_core.c projects/altix2/cddl/contrib/opensolaris/lib/libzfs_core/common/libzfs_core.h projects/altix2/cddl/contrib/opensolaris/lib/pyzfs/common/allow.py projects/altix2/cddl/usr.bin/zinject/Makefile projects/altix2/contrib/atf/FREEBSD-Xlist projects/altix2/contrib/atf/atf-c++/detail/test_helpers.cpp projects/altix2/contrib/bsnmp/lib/snmpagent.c projects/altix2/contrib/byacc/CHANGES projects/altix2/contrib/byacc/VERSION projects/altix2/contrib/byacc/aclocal.m4 projects/altix2/contrib/byacc/config.guess projects/altix2/contrib/byacc/config.sub projects/altix2/contrib/byacc/configure projects/altix2/contrib/byacc/configure.in projects/altix2/contrib/byacc/defs.h projects/altix2/contrib/byacc/main.c projects/altix2/contrib/byacc/makefile.in projects/altix2/contrib/byacc/output.c projects/altix2/contrib/byacc/package/byacc.spec projects/altix2/contrib/byacc/package/debian/changelog projects/altix2/contrib/byacc/reader.c projects/altix2/contrib/byacc/skeleton.c projects/altix2/contrib/byacc/test/calc.tab.c projects/altix2/contrib/byacc/test/calc1.tab.c projects/altix2/contrib/byacc/test/calc2.tab.c projects/altix2/contrib/byacc/test/calc3.tab.c projects/altix2/contrib/byacc/test/code_calc.code.c projects/altix2/contrib/byacc/test/code_calc.tab.c projects/altix2/contrib/byacc/test/code_error.code.c projects/altix2/contrib/byacc/test/code_error.tab.c projects/altix2/contrib/byacc/test/error.tab.c projects/altix2/contrib/byacc/test/ftp.tab.c projects/altix2/contrib/byacc/test/grammar.tab.c projects/altix2/contrib/byacc/test/pure_calc.tab.c projects/altix2/contrib/byacc/test/pure_error.tab.c projects/altix2/contrib/byacc/test/quote_calc-s.tab.c projects/altix2/contrib/byacc/test/quote_calc.tab.c projects/altix2/contrib/byacc/test/quote_calc2-s.tab.c projects/altix2/contrib/byacc/test/quote_calc2.tab.c projects/altix2/contrib/byacc/test/quote_calc3-s.tab.c projects/altix2/contrib/byacc/test/quote_calc3.tab.c projects/altix2/contrib/byacc/test/quote_calc4-s.tab.c projects/altix2/contrib/byacc/test/quote_calc4.tab.c projects/altix2/contrib/byacc/yacc.1 projects/altix2/contrib/diff/man/diff3.1 projects/altix2/contrib/gcc/ChangeLog.apple projects/altix2/contrib/gcc/ChangeLog.gcc43 projects/altix2/contrib/gcc/attribs.c projects/altix2/contrib/gcc/c-common.c projects/altix2/contrib/gcc/c-common.h projects/altix2/contrib/gcc/c-convert.c projects/altix2/contrib/gcc/c-cppbuiltin.c projects/altix2/contrib/gcc/c-decl.c projects/altix2/contrib/gcc/c-objc-common.h projects/altix2/contrib/gcc/c-opts.c projects/altix2/contrib/gcc/c-parser.c projects/altix2/contrib/gcc/c-pretty-print.c projects/altix2/contrib/gcc/c-pretty-print.h projects/altix2/contrib/gcc/c-tree.h projects/altix2/contrib/gcc/c-typeck.c projects/altix2/contrib/gcc/c.opt projects/altix2/contrib/gcc/calls.c projects/altix2/contrib/gcc/cgraph.h projects/altix2/contrib/gcc/cgraphunit.c projects/altix2/contrib/gcc/combine.c projects/altix2/contrib/gcc/config/arm/freebsd.h projects/altix2/contrib/gcc/config/darwin.h projects/altix2/contrib/gcc/convert.c projects/altix2/contrib/gcc/convert.h projects/altix2/contrib/gcc/cp/ChangeLog projects/altix2/contrib/gcc/cp/ChangeLog.apple projects/altix2/contrib/gcc/cp/ChangeLog.gcc43 projects/altix2/contrib/gcc/cp/call.c projects/altix2/contrib/gcc/cp/class.c projects/altix2/contrib/gcc/cp/cp-gimplify.c projects/altix2/contrib/gcc/cp/cp-objcp-common.c projects/altix2/contrib/gcc/cp/cp-objcp-common.h projects/altix2/contrib/gcc/cp/cp-tree.h projects/altix2/contrib/gcc/cp/decl.c projects/altix2/contrib/gcc/cp/decl.h projects/altix2/contrib/gcc/cp/decl2.c projects/altix2/contrib/gcc/cp/error.c projects/altix2/contrib/gcc/cp/g++spec.c projects/altix2/contrib/gcc/cp/init.c projects/altix2/contrib/gcc/cp/mangle.c projects/altix2/contrib/gcc/cp/name-lookup.c projects/altix2/contrib/gcc/cp/name-lookup.h projects/altix2/contrib/gcc/cp/parser.c projects/altix2/contrib/gcc/cp/pt.c projects/altix2/contrib/gcc/cp/semantics.c projects/altix2/contrib/gcc/cp/tree.c projects/altix2/contrib/gcc/cp/typeck.c projects/altix2/contrib/gcc/dbxout.c projects/altix2/contrib/gcc/doc/extend.texi projects/altix2/contrib/gcc/doc/invoke.texi projects/altix2/contrib/gcc/dwarf2.h projects/altix2/contrib/gcc/dwarf2out.c projects/altix2/contrib/gcc/expmed.c projects/altix2/contrib/gcc/expr.c projects/altix2/contrib/gcc/fold-const.c projects/altix2/contrib/gcc/function.c projects/altix2/contrib/gcc/function.h projects/altix2/contrib/gcc/ggc-common.c projects/altix2/contrib/gcc/ggc.h projects/altix2/contrib/gcc/langhooks-def.h projects/altix2/contrib/gcc/langhooks.c projects/altix2/contrib/gcc/langhooks.h projects/altix2/contrib/gcc/libgcc2.c projects/altix2/contrib/gcc/libgcc2.h projects/altix2/contrib/gcc/loop-init.c projects/altix2/contrib/gcc/stor-layout.c projects/altix2/contrib/gcc/stub-objc.c projects/altix2/contrib/gcc/targhooks.c projects/altix2/contrib/gcc/toplev.c projects/altix2/contrib/gcc/tree-gimple.h projects/altix2/contrib/gcc/tree-nested.c projects/altix2/contrib/gcc/tree-ssa-address.c projects/altix2/contrib/gcc/tree.c projects/altix2/contrib/gcc/tree.def projects/altix2/contrib/gcc/tree.h projects/altix2/contrib/gcc/varasm.c projects/altix2/contrib/gcclibs/include/libiberty.h projects/altix2/contrib/gcclibs/libcpp/ChangeLog.apple projects/altix2/contrib/gcclibs/libcpp/charset.c projects/altix2/contrib/gcclibs/libcpp/directives.c projects/altix2/contrib/gcclibs/libcpp/internal.h projects/altix2/contrib/gcclibs/libcpp/lex.c projects/altix2/contrib/gcclibs/libiberty/physmem.c projects/altix2/contrib/gperf/doc/gperf.1 projects/altix2/contrib/gperf/src/options.cc projects/altix2/contrib/gperf/src/options.h projects/altix2/contrib/gperf/src/options.icc projects/altix2/contrib/gperf/src/output.cc projects/altix2/contrib/libpcap/ieee80211.h projects/altix2/contrib/ntp/ntpd/ntp_config.c projects/altix2/crypto/openssl/ssl/d1_both.c projects/altix2/crypto/openssl/ssl/s3_both.c projects/altix2/crypto/openssl/ssl/s3_lib.c projects/altix2/crypto/openssl/ssl/ssl_locl.h projects/altix2/crypto/openssl/ssl/t1_enc.c projects/altix2/etc/defaults/rc.conf projects/altix2/etc/devd/usb.conf projects/altix2/etc/mtree/BSD.tests.dist projects/altix2/gnu/lib/libgcc/Makefile projects/altix2/gnu/usr.bin/gdb/kgdb/trgt.c projects/altix2/include/ttyent.h projects/altix2/lib/atf/Makefile.inc projects/altix2/lib/atf/libatf-c++/Makefile projects/altix2/lib/atf/libatf-c++/tests/Makefile projects/altix2/lib/atf/libatf-c/Makefile projects/altix2/lib/atf/libatf-c/tests/Makefile projects/altix2/lib/libc/Makefile projects/altix2/lib/libc/gen/fts.3 projects/altix2/lib/libc/gen/fts.c projects/altix2/lib/libc/gen/getttyent.c projects/altix2/lib/libc/include/port_before.h projects/altix2/lib/libc/net/sctp_sys_calls.c projects/altix2/lib/libc/resolv/res_send.c projects/altix2/lib/libc/stdlib/getsubopt.c projects/altix2/lib/libc/sys/accept.2 projects/altix2/lib/libc/sys/chflags.2 projects/altix2/lib/libc/sys/pipe.2 projects/altix2/lib/libcasper/libcasper.c projects/altix2/lib/libcxxrt/Version.map projects/altix2/lib/libfetch/common.c projects/altix2/lib/libiconv/Makefile projects/altix2/lib/libiconv_modules/BIG5/Makefile projects/altix2/lib/libiconv_modules/EUC/Makefile projects/altix2/lib/libiconv_modules/EUCTW/Makefile projects/altix2/lib/libiconv_modules/GBK2K/Makefile projects/altix2/lib/libiconv_modules/ISO2022/Makefile projects/altix2/lib/libiconv_modules/JOHAB/Makefile projects/altix2/lib/libiconv_modules/UES/Makefile projects/altix2/lib/libiconv_modules/UTF1632/Makefile projects/altix2/lib/libiconv_modules/UTF7/Makefile projects/altix2/lib/libiconv_modules/iconv_std/Makefile projects/altix2/lib/libiconv_modules/mapper_parallel/Makefile projects/altix2/lib/libiconv_modules/mapper_serial/Makefile projects/altix2/lib/libiconv_modules/mapper_std/Makefile projects/altix2/lib/libiconv_modules/mapper_zone/Makefile projects/altix2/lib/libkvm/Makefile projects/altix2/lib/libkvm/kvm_ia64.c projects/altix2/lib/libmd/sha256.h projects/altix2/lib/libmd/sha256c.c projects/altix2/lib/libnetgraph/sock.c projects/altix2/lib/libnv/nvlist.c projects/altix2/lib/libusb/Makefile projects/altix2/lib/libusb/libusb.3 projects/altix2/lib/libusb/libusb.h projects/altix2/lib/libusb/libusb10_io.c projects/altix2/libexec/getty/ttys.5 projects/altix2/libexec/rtld-elf/Makefile projects/altix2/release/Makefile projects/altix2/release/doc/en_US.ISO8859-1/errata/article.xml projects/altix2/release/doc/en_US.ISO8859-1/relnotes/article.xml projects/altix2/release/doc/share/mk/doc.relnotes.mk projects/altix2/release/doc/share/xml/catalog.xml projects/altix2/release/picobsd/build/picobsd projects/altix2/release/scripts/pkg-stage.sh projects/altix2/sbin/camcontrol/camcontrol.c projects/altix2/sbin/casperd/casperd.c projects/altix2/sbin/geom/class/eli/geom_eli.c projects/altix2/sbin/geom/class/part/geom_part.c (contents, props changed) projects/altix2/sbin/kldload/kldload.c projects/altix2/sbin/nvmecontrol/devlist.c projects/altix2/sbin/route/keywords projects/altix2/sbin/route/route.8 projects/altix2/sbin/route/route.c projects/altix2/share/i18n/esdb/UTF/UTF.alias projects/altix2/share/keys/pkg/trusted/pkg.freebsd.org.2013102301 projects/altix2/share/man/man4/Makefile projects/altix2/share/man/man4/kld.4 projects/altix2/share/man/man4/netmap.4 projects/altix2/share/man/man4/run.4 projects/altix2/share/man/man9/Makefile projects/altix2/share/man/man9/ieee80211_crypto.9 projects/altix2/share/man/man9/malloc.9 projects/altix2/share/man/man9/mbuf.9 projects/altix2/share/man/man9/sglist.9 projects/altix2/share/misc/committers-ports.dot projects/altix2/share/mk/bsd.libnames.mk projects/altix2/share/mk/bsd.sys.mk projects/altix2/share/mk/bsd.test.mk projects/altix2/share/mk/tap.test.mk projects/altix2/sys/amd64/amd64/identcpu.c projects/altix2/sys/amd64/amd64/pmap.c projects/altix2/sys/amd64/conf/NOTES projects/altix2/sys/amd64/include/vmm.h (contents, props changed) projects/altix2/sys/amd64/vmm/amd/amdv.c projects/altix2/sys/amd64/vmm/intel/ept.c projects/altix2/sys/amd64/vmm/intel/ept.h projects/altix2/sys/amd64/vmm/intel/vmcs.c projects/altix2/sys/amd64/vmm/intel/vmcs.h projects/altix2/sys/amd64/vmm/intel/vmx.c projects/altix2/sys/amd64/vmm/intel/vmx.h projects/altix2/sys/amd64/vmm/intel/vmx_controls.h projects/altix2/sys/amd64/vmm/intel/vmx_genassym.c projects/altix2/sys/amd64/vmm/intel/vmx_support.S projects/altix2/sys/amd64/vmm/io/vhpet.c projects/altix2/sys/amd64/vmm/io/vioapic.c projects/altix2/sys/amd64/vmm/io/vlapic.c projects/altix2/sys/amd64/vmm/io/vlapic.h projects/altix2/sys/amd64/vmm/io/vlapic_priv.h projects/altix2/sys/amd64/vmm/vmm.c projects/altix2/sys/amd64/vmm/vmm_ipi.c projects/altix2/sys/amd64/vmm/vmm_ipi.h projects/altix2/sys/amd64/vmm/vmm_lapic.c projects/altix2/sys/amd64/vmm/vmm_stat.c projects/altix2/sys/amd64/vmm/vmm_stat.h projects/altix2/sys/arm/allwinner/a10_machdep.c projects/altix2/sys/arm/arm/bus_space_generic.c projects/altix2/sys/arm/arm/devmap.c projects/altix2/sys/arm/arm/machdep.c projects/altix2/sys/arm/arm/nexus.c projects/altix2/sys/arm/arm/trap.c projects/altix2/sys/arm/at91/at91rm9200.c projects/altix2/sys/arm/at91/at91sam9260.c projects/altix2/sys/arm/at91/at91sam9g20.c projects/altix2/sys/arm/at91/at91sam9g45.c projects/altix2/sys/arm/at91/at91sam9x5.c projects/altix2/sys/arm/at91/at91var.h projects/altix2/sys/arm/at91/board_hl201.c projects/altix2/sys/arm/at91/board_sam9260ek.c projects/altix2/sys/arm/at91/files.at91 projects/altix2/sys/arm/at91/uart_dev_at91usart.c projects/altix2/sys/arm/broadcom/bcm2835/bcm2835_fbd.c projects/altix2/sys/arm/broadcom/bcm2835/bcm2835_machdep.c projects/altix2/sys/arm/conf/AC100 projects/altix2/sys/arm/conf/ARMADAXP projects/altix2/sys/arm/conf/ARNDALE projects/altix2/sys/arm/conf/ATMEL projects/altix2/sys/arm/conf/AVILA projects/altix2/sys/arm/conf/BWCT projects/altix2/sys/arm/conf/CAMBRIA projects/altix2/sys/arm/conf/CNS11XXNAS projects/altix2/sys/arm/conf/COSMIC projects/altix2/sys/arm/conf/CUBIEBOARD projects/altix2/sys/arm/conf/CUBIEBOARD2 projects/altix2/sys/arm/conf/DB-78XXX projects/altix2/sys/arm/conf/DB-88F5XXX projects/altix2/sys/arm/conf/DB-88F6XXX projects/altix2/sys/arm/conf/DIGI-CCWMX53 projects/altix2/sys/arm/conf/DOCKSTAR projects/altix2/sys/arm/conf/EA3250 projects/altix2/sys/arm/conf/EB9200 projects/altix2/sys/arm/conf/EFIKA_MX projects/altix2/sys/arm/conf/ETHERNUT5 projects/altix2/sys/arm/conf/HL200 projects/altix2/sys/arm/conf/HL201 projects/altix2/sys/arm/conf/IMX53-QSB projects/altix2/sys/arm/conf/KB920X projects/altix2/sys/arm/conf/LN2410SBC projects/altix2/sys/arm/conf/NSLU projects/altix2/sys/arm/conf/PANDABOARD projects/altix2/sys/arm/conf/QILA9G20 projects/altix2/sys/arm/conf/RADXA projects/altix2/sys/arm/conf/RPI-B projects/altix2/sys/arm/conf/SAM9260EK projects/altix2/sys/arm/conf/SAM9G20EK projects/altix2/sys/arm/conf/SAM9X25EK projects/altix2/sys/arm/conf/SHEEVAPLUG projects/altix2/sys/arm/conf/SN9G45 projects/altix2/sys/arm/conf/TS7800 projects/altix2/sys/arm/conf/ZEDBOARD projects/altix2/sys/arm/freescale/imx/imx51_ipuv3.c projects/altix2/sys/arm/freescale/imx/imx51_ipuv3_fbd.c projects/altix2/sys/arm/include/devmap.h projects/altix2/sys/arm/include/fdt.h projects/altix2/sys/arm/include/intr.h projects/altix2/sys/arm/include/ofw_machdep.h projects/altix2/sys/arm/include/psl.h projects/altix2/sys/arm/lpc/lpc_gpio.c projects/altix2/sys/arm/lpc/lpc_machdep.c projects/altix2/sys/arm/lpc/lpc_mmc.c projects/altix2/sys/arm/lpc/lpcreg.h projects/altix2/sys/arm/mv/mv_machdep.c projects/altix2/sys/arm/mv/mv_pci.c projects/altix2/sys/arm/mv/mvvar.h projects/altix2/sys/arm/s3c2xx0/uart_dev_s3c2410.c projects/altix2/sys/arm/sa11x0/uart_dev_sa1110.c projects/altix2/sys/arm/tegra/files.tegra2 projects/altix2/sys/arm/tegra/tegra2_machdep.c projects/altix2/sys/arm/ti/am335x/am335x_dmtimer.c projects/altix2/sys/arm/ti/ti_machdep.c projects/altix2/sys/arm/xilinx/uart_dev_cdnc.c projects/altix2/sys/boot/fdt/dts/cubieboard.dts projects/altix2/sys/boot/fdt/dts/cubieboard2.dts projects/altix2/sys/boot/fdt/dts/dockstar.dts projects/altix2/sys/boot/i386/boot2/Makefile projects/altix2/sys/boot/i386/gptboot/Makefile projects/altix2/sys/boot/i386/gptzfsboot/Makefile projects/altix2/sys/boot/i386/zfsboot/Makefile projects/altix2/sys/boot/pc98/boot2/Makefile projects/altix2/sys/cam/cam_debug.h projects/altix2/sys/cam/cam_periph.c projects/altix2/sys/cam/cam_periph.h projects/altix2/sys/cam/cam_xpt.c projects/altix2/sys/cam/scsi/scsi_da.c projects/altix2/sys/cam/scsi/scsi_low.c projects/altix2/sys/cam/scsi/scsi_xpt.c projects/altix2/sys/cddl/compat/opensolaris/sys/time.h projects/altix2/sys/cddl/contrib/opensolaris/common/atomic/ia64/opensolaris_atomic.S projects/altix2/sys/cddl/contrib/opensolaris/common/zfs/zfeature_common.c projects/altix2/sys/cddl/contrib/opensolaris/common/zfs/zfeature_common.h projects/altix2/sys/cddl/contrib/opensolaris/common/zfs/zfs_deleg.c projects/altix2/sys/cddl/contrib/opensolaris/common/zfs/zfs_deleg.h projects/altix2/sys/cddl/contrib/opensolaris/common/zfs/zfs_ioctl_compat.c projects/altix2/sys/cddl/contrib/opensolaris/common/zfs/zfs_namecheck.c projects/altix2/sys/cddl/contrib/opensolaris/common/zfs/zfs_namecheck.h projects/altix2/sys/cddl/contrib/opensolaris/common/zfs/zfs_prop.c projects/altix2/sys/cddl/contrib/opensolaris/uts/common/Makefile.files projects/altix2/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/arc.c projects/altix2/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/bptree.c projects/altix2/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu_diff.c projects/altix2/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu_send.c projects/altix2/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu_traverse.c projects/altix2/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu_zfetch.c projects/altix2/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_dataset.c projects/altix2/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_destroy.c projects/altix2/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_scan.c projects/altix2/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/spa_misc.c projects/altix2/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/dsl_dataset.h projects/altix2/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/dsl_deleg.h projects/altix2/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/zfs_debug.h projects/altix2/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_mirror.c projects/altix2/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfeature.c projects/altix2/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_ctldir.c projects/altix2/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_dir.c projects/altix2/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_ioctl.c projects/altix2/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vnops.c projects/altix2/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_znode.c projects/altix2/sys/cddl/contrib/opensolaris/uts/common/sys/fs/zfs.h projects/altix2/sys/compat/freebsd32/freebsd32_misc.c projects/altix2/sys/conf/Makefile.arm projects/altix2/sys/conf/files projects/altix2/sys/conf/files.amd64 projects/altix2/sys/conf/files.i386 projects/altix2/sys/conf/options projects/altix2/sys/contrib/ipfilter/netinet/ip_compat.h projects/altix2/sys/contrib/ipfilter/netinet/ip_fil_freebsd.c (contents, props changed) projects/altix2/sys/dev/aacraid/aacraid.c projects/altix2/sys/dev/aha/aha.c projects/altix2/sys/dev/ahci/ahci.c projects/altix2/sys/dev/ale/if_ale.c projects/altix2/sys/dev/altera/atse/if_atse.c projects/altix2/sys/dev/ath/if_ath_rx_edma.c projects/altix2/sys/dev/ath/if_ath_tx.c projects/altix2/sys/dev/bwi/if_bwi.c projects/altix2/sys/dev/bwn/if_bwn.c projects/altix2/sys/dev/bxe/bxe.c projects/altix2/sys/dev/bxe/ecore_hsi.h projects/altix2/sys/dev/cxgbe/adapter.h projects/altix2/sys/dev/cxgbe/t4_main.c projects/altix2/sys/dev/cxgbe/t4_sge.c projects/altix2/sys/dev/e1000/if_em.c projects/altix2/sys/dev/e1000/if_igb.c projects/altix2/sys/dev/e1000/if_lem.c projects/altix2/sys/dev/fdt/fdt_common.c projects/altix2/sys/dev/fdt/fdt_common.h projects/altix2/sys/dev/fdt/fdt_mips.c projects/altix2/sys/dev/fdt/fdt_powerpc.c projects/altix2/sys/dev/fdt/fdt_x86.c projects/altix2/sys/dev/fdt/fdtbus.c projects/altix2/sys/dev/fdt/simplebus.c projects/altix2/sys/dev/ffec/if_ffec.c projects/altix2/sys/dev/firewire/if_fwe.c projects/altix2/sys/dev/hyperv/netvsc/hv_netvsc_drv_freebsd.c projects/altix2/sys/dev/ipw/if_ipw.c projects/altix2/sys/dev/iscsi/icl.c projects/altix2/sys/dev/iwi/if_iwi.c projects/altix2/sys/dev/iwn/if_iwn.c projects/altix2/sys/dev/iwn/if_iwn_devid.h projects/altix2/sys/dev/ixgbe/ixgbe.c projects/altix2/sys/dev/malo/if_malo.c projects/altix2/sys/dev/mfi/mfi_cam.c projects/altix2/sys/dev/mwl/if_mwl.c projects/altix2/sys/dev/nand/nand_id.c projects/altix2/sys/dev/nand/nandbus.c projects/altix2/sys/dev/nand/nfc_at91.c projects/altix2/sys/dev/netmap/if_em_netmap.h projects/altix2/sys/dev/netmap/if_igb_netmap.h projects/altix2/sys/dev/netmap/if_lem_netmap.h projects/altix2/sys/dev/netmap/if_re_netmap.h projects/altix2/sys/dev/netmap/ixgbe_netmap.h projects/altix2/sys/dev/netmap/netmap.c projects/altix2/sys/dev/netmap/netmap_freebsd.c projects/altix2/sys/dev/netmap/netmap_generic.c projects/altix2/sys/dev/netmap/netmap_kern.h projects/altix2/sys/dev/netmap/netmap_mbq.c projects/altix2/sys/dev/netmap/netmap_mbq.h projects/altix2/sys/dev/netmap/netmap_mem2.c projects/altix2/sys/dev/netmap/netmap_mem2.h projects/altix2/sys/dev/netmap/netmap_vale.c projects/altix2/sys/dev/nvme/nvme_ctrlr.c projects/altix2/sys/dev/qlxge/qls_os.c projects/altix2/sys/dev/ral/rt2560.c projects/altix2/sys/dev/ral/rt2661.c projects/altix2/sys/dev/ral/rt2860.c projects/altix2/sys/dev/uart/uart_bus_fdt.c projects/altix2/sys/dev/uart/uart_core.c projects/altix2/sys/dev/uart/uart_cpu.h projects/altix2/sys/dev/uart/uart_dev_imx.c projects/altix2/sys/dev/uart/uart_dev_lpc.c projects/altix2/sys/dev/uart/uart_dev_ns8250.c projects/altix2/sys/dev/uart/uart_dev_ns8250.h projects/altix2/sys/dev/uart/uart_dev_pl011.c projects/altix2/sys/dev/uart/uart_dev_quicc.c projects/altix2/sys/dev/uart/uart_dev_sab82532.c projects/altix2/sys/dev/uart/uart_dev_z8530.c projects/altix2/sys/dev/uart/uart_if.m projects/altix2/sys/dev/usb/controller/ehci.c projects/altix2/sys/dev/usb/controller/uhci.c projects/altix2/sys/dev/usb/controller/xhci.c projects/altix2/sys/dev/usb/input/ukbd.c projects/altix2/sys/dev/usb/net/uhso.c projects/altix2/sys/dev/usb/serial/u3g.c projects/altix2/sys/dev/usb/serial/umcs.c projects/altix2/sys/dev/usb/usb_dev.c projects/altix2/sys/dev/usb/usb_device.c projects/altix2/sys/dev/usb/usb_device.h projects/altix2/sys/dev/usb/usb_hub.c projects/altix2/sys/dev/usb/usb_hub.h projects/altix2/sys/dev/usb/usb_request.c projects/altix2/sys/dev/usb/usb_transfer.c projects/altix2/sys/dev/usb/usbdevs projects/altix2/sys/dev/usb/wlan/if_rsu.c projects/altix2/sys/dev/usb/wlan/if_rum.c projects/altix2/sys/dev/usb/wlan/if_run.c projects/altix2/sys/dev/usb/wlan/if_runreg.h projects/altix2/sys/dev/usb/wlan/if_runvar.h projects/altix2/sys/dev/usb/wlan/if_uath.c projects/altix2/sys/dev/usb/wlan/if_upgt.c projects/altix2/sys/dev/usb/wlan/if_ural.c projects/altix2/sys/dev/usb/wlan/if_urtw.c projects/altix2/sys/dev/usb/wlan/if_urtwn.c projects/altix2/sys/dev/usb/wlan/if_zyd.c projects/altix2/sys/dev/virtio/block/virtio_blk.c projects/altix2/sys/dev/virtio/scsi/virtio_scsi.c projects/altix2/sys/dev/vt/hw/vga/vga.c projects/altix2/sys/dev/vt/hw/xboxfb/xboxfb.c projects/altix2/sys/dev/wi/if_wi.c projects/altix2/sys/dev/wpi/if_wpi.c projects/altix2/sys/fs/ext2fs/ext2_inode_cnv.c projects/altix2/sys/fs/nfs/nfs_var.h projects/altix2/sys/fs/nfs/nfsrvcache.h projects/altix2/sys/fs/nfsserver/nfs_nfsdcache.c projects/altix2/sys/fs/nfsserver/nfs_nfsdkrpc.c projects/altix2/sys/fs/nfsserver/nfs_nfsdport.c projects/altix2/sys/fs/nfsserver/nfs_nfsdsubs.c projects/altix2/sys/geom/multipath/g_multipath.c projects/altix2/sys/geom/uncompress/g_uncompress.c projects/altix2/sys/i386/conf/NOTES projects/altix2/sys/i386/i386/identcpu.c projects/altix2/sys/ia64/conf/GENERIC projects/altix2/sys/ia64/ia64/exception.S projects/altix2/sys/ia64/ia64/pmap.c projects/altix2/sys/kern/kern_descrip.c projects/altix2/sys/kern/kern_event.c projects/altix2/sys/kern/subr_sglist.c projects/altix2/sys/kern/subr_witness.c projects/altix2/sys/kern/uipc_mbuf.c projects/altix2/sys/kern/uipc_sockbuf.c projects/altix2/sys/kern/uipc_socket.c projects/altix2/sys/kern/uipc_syscalls.c projects/altix2/sys/mips/adm5120/uart_dev_adm5120.c projects/altix2/sys/mips/atheros/uart_dev_ar933x.c projects/altix2/sys/mips/cavium/ciu.c projects/altix2/sys/mips/cavium/uart_dev_oct16550.c projects/altix2/sys/mips/conf/TP-WN1043ND.hints projects/altix2/sys/mips/include/fdt.h projects/altix2/sys/mips/rt305x/uart_dev_rt305x.c projects/altix2/sys/modules/aic7xxx/Makefile projects/altix2/sys/modules/aic7xxx/ahc/Makefile projects/altix2/sys/modules/aic7xxx/ahc/ahc_eisa/Makefile projects/altix2/sys/modules/aic7xxx/ahc/ahc_isa/Makefile projects/altix2/sys/modules/aic7xxx/ahc/ahc_pci/Makefile projects/altix2/sys/modules/aic7xxx/ahd/Makefile projects/altix2/sys/modules/geom/Makefile projects/altix2/sys/modules/geom/geom_uncompress/Makefile projects/altix2/sys/modules/iwnfw/Makefile projects/altix2/sys/modules/sound/driver/ai2s/Makefile projects/altix2/sys/modules/virtio/Makefile projects/altix2/sys/net/ieee8023ad_lacp.c projects/altix2/sys/net/if.c projects/altix2/sys/net/if_arcsubr.c projects/altix2/sys/net/if_dl.h projects/altix2/sys/net/if_ethersubr.c projects/altix2/sys/net/if_fddisubr.c projects/altix2/sys/net/if_iso88025subr.c projects/altix2/sys/net/if_lagg.c projects/altix2/sys/net/if_tap.c projects/altix2/sys/net/if_tun.c projects/altix2/sys/net/netmap.h projects/altix2/sys/net/netmap_user.h projects/altix2/sys/net/radix.c projects/altix2/sys/net/radix.h projects/altix2/sys/net/radix_mpath.c projects/altix2/sys/net/route.c projects/altix2/sys/net/route.h projects/altix2/sys/net/rtsock.c projects/altix2/sys/net/sff8472.h projects/altix2/sys/net80211/ieee80211.h projects/altix2/sys/net80211/ieee80211_adhoc.c projects/altix2/sys/net80211/ieee80211_hostap.c projects/altix2/sys/net80211/ieee80211_mesh.c projects/altix2/sys/net80211/ieee80211_output.c projects/altix2/sys/net80211/ieee80211_proto.c projects/altix2/sys/net80211/ieee80211_sta.c projects/altix2/sys/net80211/ieee80211_wds.c projects/altix2/sys/netgraph/bluetooth/drivers/ubt/ng_ubt.c projects/altix2/sys/netgraph/netflow/netflow.c projects/altix2/sys/netgraph/ng_l2tp.c projects/altix2/sys/netinet/if_ether.c projects/altix2/sys/netinet/in.c projects/altix2/sys/netinet/in_mcast.c projects/altix2/sys/netinet/ip_carp.c projects/altix2/sys/netinet/ip_output.c projects/altix2/sys/netinet/tcp_syncache.c projects/altix2/sys/netinet6/in6.c projects/altix2/sys/netinet6/in6_ifattach.c projects/altix2/sys/netinet6/in6_mcast.c projects/altix2/sys/netinet6/in6_src.c projects/altix2/sys/netinet6/in6_var.h projects/altix2/sys/netinet6/ip6_mroute.c projects/altix2/sys/netinet6/ip6_mroute.h projects/altix2/sys/netinet6/mld6.c projects/altix2/sys/netinet6/nd6.c projects/altix2/sys/netinet6/nd6.h projects/altix2/sys/netinet6/nd6_nbr.c projects/altix2/sys/netinet6/nd6_rtr.c projects/altix2/sys/netpfil/ipfw/ip_fw_table.c projects/altix2/sys/netpfil/pf/pf_lb.c projects/altix2/sys/ofed/drivers/infiniband/ulp/ipoib/ipoib_main.c projects/altix2/sys/powerpc/include/atomic.h projects/altix2/sys/powerpc/powermac/macgpio.c projects/altix2/sys/powerpc/powermac/macgpiovar.h projects/altix2/sys/powerpc/powermac/pmu.c projects/altix2/sys/rpc/svc.c projects/altix2/sys/rpc/svc.h projects/altix2/sys/rpc/svc_dg.c projects/altix2/sys/rpc/svc_vc.c projects/altix2/sys/sys/event.h projects/altix2/sys/sys/mbuf.h projects/altix2/sys/sys/pmckern.h projects/altix2/sys/sys/random.h projects/altix2/sys/sys/sf_sync.h projects/altix2/sys/sys/sglist.h projects/altix2/sys/sys/socket.h projects/altix2/sys/sys/user.h projects/altix2/sys/vm/vm_pageout.c projects/altix2/sys/x86/include/fdt.h projects/altix2/sys/x86/include/ofw_machdep.h projects/altix2/sys/x86/x86/mca.c projects/altix2/sys/x86/x86/nexus.c projects/altix2/tools/build/mk/OptionalObsoleteFiles.inc projects/altix2/tools/regression/capsicum/libcapsicum/Makefile projects/altix2/tools/regression/capsicum/libcapsicum/dns.c projects/altix2/tools/regression/capsicum/libcapsicum/grp.c projects/altix2/tools/regression/capsicum/libcapsicum/pwd.c projects/altix2/tools/regression/capsicum/libcapsicum/sysctl.c projects/altix2/tools/tools/mcgrab/mcgrab.cc projects/altix2/tools/tools/net80211/stumbler/stumbler.c projects/altix2/tools/tools/net80211/w00t/ap/ap.c projects/altix2/tools/tools/net80211/w00t/assoc/assoc.c projects/altix2/tools/tools/net80211/w00t/expand/expand.c projects/altix2/tools/tools/net80211/w00t/prga/prga.c projects/altix2/tools/tools/net80211/w00t/redir/redir.c projects/altix2/tools/tools/net80211/wesside/wesside/wesside.c projects/altix2/tools/tools/net80211/wlaninject/wlaninject.c projects/altix2/tools/tools/netmap/Makefile projects/altix2/tools/tools/netmap/bridge.c projects/altix2/tools/tools/netmap/nm_util.c projects/altix2/tools/tools/netmap/nm_util.h projects/altix2/tools/tools/netmap/pcap.c projects/altix2/tools/tools/netmap/pkt-gen.c projects/altix2/tools/tools/netmap/vale-ctl.c projects/altix2/tools/tools/usbtest/usb_msc_test.c projects/altix2/tools/tools/usbtest/usb_msc_test.h projects/altix2/usr.bin/atf/atf-sh/Makefile projects/altix2/usr.bin/atf/atf-sh/tests/Makefile projects/altix2/usr.bin/elfdump/elfdump.c projects/altix2/usr.bin/find/find.1 projects/altix2/usr.bin/find/function.c projects/altix2/usr.bin/iscsictl/iscsictl.8 projects/altix2/usr.bin/killall/killall.c projects/altix2/usr.bin/ktrdump/ktrdump.c projects/altix2/usr.bin/netstat/main.c projects/altix2/usr.bin/netstat/netstat.1 projects/altix2/usr.bin/script/script.c projects/altix2/usr.bin/whois/whois.c projects/altix2/usr.sbin/bhyve/Makefile projects/altix2/usr.sbin/bhyve/acpi.c projects/altix2/usr.sbin/bhyve/acpi.h projects/altix2/usr.sbin/bhyve/atpic.c projects/altix2/usr.sbin/bhyve/bhyve.8 projects/altix2/usr.sbin/bhyve/elcr.c projects/altix2/usr.sbin/bhyve/pci_emul.c projects/altix2/usr.sbin/bhyve/pci_emul.h projects/altix2/usr.sbin/bhyve/pci_lpc.c projects/altix2/usr.sbin/bhyve/pci_lpc.h projects/altix2/usr.sbin/bhyve/pit_8254.c projects/altix2/usr.sbin/bhyve/pm.c projects/altix2/usr.sbin/bhyve/post.c projects/altix2/usr.sbin/bhyve/rtc.c projects/altix2/usr.sbin/bhyve/virtio.c projects/altix2/usr.sbin/bhyvectl/bhyvectl.c projects/altix2/usr.sbin/bsdconfig/share/strings.subr projects/altix2/usr.sbin/bsdinstall/scripts/services projects/altix2/usr.sbin/bsdinstall/scripts/wlanconfig projects/altix2/usr.sbin/mfiutil/Makefile projects/altix2/usr.sbin/pciconf/pciconf.8 projects/altix2/usr.sbin/pciconf/pciconf.c projects/altix2/usr.sbin/rpc.lockd/kern.c projects/altix2/usr.sbin/rpc.lockd/lock_proc.c projects/altix2/usr.sbin/rpc.lockd/lockd.c Directory Properties: projects/altix2/ (props changed) projects/altix2/cddl/ (props changed) projects/altix2/cddl/contrib/opensolaris/ (props changed) projects/altix2/cddl/contrib/opensolaris/cmd/zfs/ (props changed) projects/altix2/cddl/contrib/opensolaris/lib/libzfs/ (props changed) projects/altix2/contrib/atf/ (props changed) projects/altix2/contrib/byacc/ (props changed) projects/altix2/contrib/gcc/ (props changed) projects/altix2/contrib/libpcap/ (props changed) projects/altix2/contrib/ntp/ (props changed) projects/altix2/crypto/openssl/ (props changed) projects/altix2/etc/ (props changed) projects/altix2/gnu/lib/ (props changed) projects/altix2/gnu/usr.bin/gdb/ (props changed) projects/altix2/include/ (props changed) projects/altix2/lib/libc/ (props changed) projects/altix2/sbin/ (props changed) projects/altix2/share/man/man4/ (props changed) projects/altix2/sys/ (props changed) projects/altix2/sys/amd64/vmm/ (props changed) projects/altix2/sys/boot/ (props changed) projects/altix2/sys/cddl/contrib/opensolaris/ (props changed) projects/altix2/sys/conf/ (props changed) projects/altix2/sys/contrib/ipfilter/ (props changed) projects/altix2/sys/dev/hyperv/ (props changed) projects/altix2/usr.sbin/bhyve/ (props changed) projects/altix2/usr.sbin/bhyvectl/ (props changed) Modified: projects/altix2/Makefile.inc1 ============================================================================== --- projects/altix2/Makefile.inc1 Mon Jan 20 18:51:16 2014 (r260916) +++ projects/altix2/Makefile.inc1 Mon Jan 20 18:59:07 2014 (r260917) @@ -1369,15 +1369,6 @@ kernel-tools: .MAKE mkdir -p ${MAKEOBJDIRPREFIX}/usr mtree -deU -f ${.CURDIR}/etc/mtree/BSD.usr.dist \ -p ${MAKEOBJDIRPREFIX}/usr >/dev/null -.for _tool in \ - sys/dev/aic7xxx/aicasm - ${_+_}@${ECHODIR} "===> ${_tool} (obj,depend,all,install)"; \ - cd ${.CURDIR}/${_tool} && \ - ${MAKE} DIRPRFX=${_tool}/ obj && \ - ${MAKE} DIRPRFX=${_tool}/ depend && \ - ${MAKE} DIRPRFX=${_tool}/ all && \ - ${MAKE} DIRPRFX=${_tool}/ DESTDIR=${MAKEOBJDIRPREFIX} install -.endfor # # cross-tools: Build cross-building tools Modified: projects/altix2/UPDATING ============================================================================== --- projects/altix2/UPDATING Mon Jan 20 18:51:16 2014 (r260916) +++ projects/altix2/UPDATING Mon Jan 20 18:59:07 2014 (r260917) @@ -31,6 +31,14 @@ NOTE TO PEOPLE WHO THINK THAT FreeBSD 11 disable the most expensive debugging functionality run "ln -s 'abort:false,junk:false' /etc/malloc.conf".) +20140110: + If a Makefile in a tests/ directory was auto-generating a Kyuafile + instead of providing an explicit one, this would prevent such + Makefile from providing its own Kyuafile in the future during + NO_CLEAN builds. This has been fixed in the Makefiles but manual + intervention is needed to clean an objdir if you use NO_CLEAN: + # find /usr/obj -name Kyuafile | xargs rm -f + 20131213: The behavior of gss_pseudo_random() for the krb5 mechanism has changed, for applications requesting a longer random string Modified: projects/altix2/bin/cat/cat.c ============================================================================== --- projects/altix2/bin/cat/cat.c Mon Jan 20 18:51:16 2014 (r260916) +++ projects/altix2/bin/cat/cat.c Mon Jan 20 18:59:07 2014 (r260917) @@ -316,6 +316,7 @@ udom_open(const char *path, int flags) sou.sun_family = AF_UNIX; if ((len = strlcpy(sou.sun_path, path, sizeof(sou.sun_path))) >= sizeof(sou.sun_path)) { + close(fd); errno = ENAMETOOLONG; return (-1); } Modified: projects/altix2/bin/df/df.1 ============================================================================== --- projects/altix2/bin/df/df.1 Mon Jan 20 18:51:16 2014 (r260916) +++ projects/altix2/bin/df/df.1 Mon Jan 20 18:59:07 2014 (r260917) @@ -29,7 +29,7 @@ .\" @(#)df.1 8.3 (Berkeley) 5/8/95 .\" $FreeBSD$ .\" -.Dd January 24, 2013 +.Dd January 16, 2014 .Dt DF 1 .Os .Sh NAME @@ -83,13 +83,13 @@ Use 1073741824 byte (1 Gibibyte) blocks This overrides any .Ev BLOCKSIZE specification from the environment. -.It Fl H +.It Fl h .Dq Human-readable output. Use unit suffixes: Byte, Kibibyte, Mebibyte, Gibibyte, Tebibyte and Pebibyte (based on powers of 1024) in order to reduce the number of digits to four or fewer. -.It Fl h +.It Fl H .Dq Human-readable output. Use unit suffixes: Byte, Kilobyte, Megabyte, Modified: projects/altix2/bin/pax/tests/Makefile ============================================================================== --- projects/altix2/bin/pax/tests/Makefile Mon Jan 20 18:51:16 2014 (r260916) +++ projects/altix2/bin/pax/tests/Makefile Mon Jan 20 18:59:07 2014 (r260917) @@ -4,6 +4,6 @@ TESTSDIR= ${TESTSBASE}/bin/pax -TAP_TESTS_SH= legacy_test +TAP_TESTS_PERL= legacy_test .include Copied: projects/altix2/bin/pax/tests/legacy_test.pl (from r260914, head/bin/pax/tests/legacy_test.pl) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ projects/altix2/bin/pax/tests/legacy_test.pl Mon Jan 20 18:59:07 2014 (r260917, copy of r260914, head/bin/pax/tests/legacy_test.pl) @@ -0,0 +1,89 @@ +# $FreeBSD$ + +use strict; +use warnings; + +use Test::More tests => 6; +use File::Path qw(rmtree mkpath); +use Cwd; + +my $n = 0; +sub create_file { + my $fn = shift; + + $n++; + (my $dir = $fn) =~ s,/[^/]+$,,; + mkpath $dir; + open my $fd, ">", $fn or die "$fn: $!"; + print $fd "file $n\n"; +} + + +ustar_pathnames: { SKIP: { + # Prove that pax breaks up ustar pathnames properly + + my $top = getcwd . "/ustar-pathnames-1"; + skip "Current path is too long", 6 if length $top > 92; + rmtree $top; + my $subdir = "x" . "x" x (92 - length $top); + my $work94 = "$top/$subdir"; + mkpath $work94; # $work is 94 characters long + + my $x49 = "x" x 49; + my $x50 = "x" x 50; + my $x60 = "x" x 60; + my $x95 = "x" x 95; + + my @paths = ( + "$work94/x099", # 99 chars + "$work94/xx100", # 100 chars + "$work94/xxx101", # 101 chars + "$work94/$x49/${x50}x199", # 199 chars + "$work94/$x49/${x50}xx200", # 200 chars + "$work94/$x49/${x50}xxx201", # 201 chars + "$work94/$x60/${x95}254", # 254 chars + "$work94/$x60/${x95}x255", # 255 chars + ); + + my @l = map { length } @paths; + + my $n = 0; + create_file $_ for @paths; + system "pax -wf ustar.ok $work94"; + ok($? == 0, "Wrote 'ustar.ok' containing files with lengths @l"); + + (my $orig = $top) =~ s,1$,2,; + rmtree $orig; + rename $top, $orig; + + system "pax -rf ustar.ok"; + ok($? == 0, "Restored 'ustar.ok' containing files with lengths @l"); + + system "diff -ru $orig $top"; + ok($? == 0, "Restored files are identical"); + + rmtree $top; + rename $orig, $top; + + # 256 chars (with components < 100 chars) should not work + push @paths, "$work94/x$x60/${x95}x256"; # 256 chars + push @l, length $paths[-1]; + create_file $paths[-1]; + system "pax -wf ustar.fail1 $work94"; + ok($?, "Failed to write 'ustar.fail1' containing files with lengths @l"); + + # Components with 100 chars shouldn't work + unlink $paths[-1]; + $paths[-1] = "$work94/${x95}xc100"; # 100 char filename + $l[-1] = length $paths[-1]; + create_file $paths[-1]; + system "pax -wf ustar.fail2 $work94"; + ok($?, "Failed to write 'ustar.fail2' with a 100 char filename"); + + unlink $paths[-1]; + $paths[-1] = "$work94/${x95}xc100/x"; # 100 char component + $l[-1] = length $paths[-1]; + create_file $paths[-1]; + system "pax -wf ustar.fail3 $work94"; + ok($?, "Failed to write 'ustar.fail3' with a 100 char component"); +}} Modified: projects/altix2/bin/sh/input.c ============================================================================== --- projects/altix2/bin/sh/input.c Mon Jan 20 18:51:16 2014 (r260916) +++ projects/altix2/bin/sh/input.c Mon Jan 20 18:59:07 2014 (r260917) @@ -162,20 +162,16 @@ preadfd(void) int nr; parsenextc = parsefile->buf; -#ifndef NO_HISTORY - if (el != NULL && gotwinch) { - gotwinch = 0; - el_resize(el); - } -#endif retry: #ifndef NO_HISTORY if (parsefile->fd == 0 && el) { static const char *rl_cp; static int el_len; - if (rl_cp == NULL) + if (rl_cp == NULL) { + el_resize(el); rl_cp = el_gets(el, &el_len); + } if (rl_cp == NULL) nr = el_len == 0 ? 0 : -1; else { Modified: projects/altix2/bin/sh/sh.1 ============================================================================== --- projects/altix2/bin/sh/sh.1 Mon Jan 20 18:51:16 2014 (r260916) +++ projects/altix2/bin/sh/sh.1 Mon Jan 20 18:59:07 2014 (r260917) @@ -32,7 +32,7 @@ .\" from: @(#)sh.1 8.6 (Berkeley) 5/4/95 .\" $FreeBSD$ .\" -.Dd November 1, 2013 +.Dd January 3, 2014 .Dt SH 1 .Os .Sh NAME @@ -235,10 +235,16 @@ or .Dq Li || operator; or if the command is a pipeline preceded by the .Ic !\& -operator. +keyword. If a shell function is executed and its exit status is explicitly tested, all commands of the function are considered to be tested as well. +.Pp +It is recommended to check for failures explicitly +instead of relying on +.Fl e +because it tends to behave in unexpected ways, +particularly in larger scripts. .It Fl f Li noglob Disable pathname expansion. .It Fl h Li trackall Modified: projects/altix2/bin/sh/tests/Makefile ============================================================================== --- projects/altix2/bin/sh/tests/Makefile Mon Jan 20 18:51:16 2014 (r260916) +++ projects/altix2/bin/sh/tests/Makefile Mon Jan 20 18:59:07 2014 (r260917) @@ -6,6 +6,12 @@ TESTSDIR= ${TESTSBASE}/bin/sh TAP_TESTS_SH= legacy_test TAP_TESTS_SH_SED_legacy_test= -e 's,__SH__,/bin/sh,g' +# Some tests in here are silently not run when the tests are executed as +# root. Explicitly tell Kyua to drop privileges. +# +# TODO(jmmv): Kyua needs to do this by default, not only when explicitly +# requested. See https://code.google.com/p/kyua/issues/detail?id=6 +TEST_METADATA.legacy_test+= required_user="unprivileged" SUBDIR+= builtins errors execution expansion parameters parser set-e Modified: projects/altix2/bin/sh/trap.c ============================================================================== --- projects/altix2/bin/sh/trap.c Mon Jan 20 18:51:16 2014 (r260916) +++ projects/altix2/bin/sh/trap.c Mon Jan 20 18:59:07 2014 (r260917) @@ -80,7 +80,6 @@ static char *volatile trap[NSIG]; /* tra static volatile sig_atomic_t gotsig[NSIG]; /* indicates specified signal received */ static int ignore_sigchld; /* Used while handling SIGCHLD traps. */ -volatile sig_atomic_t gotwinch; static int last_trapsig; static int exiting; /* exitshell() has been called */ @@ -293,12 +292,6 @@ setsignal(int signo) action = S_IGN; break; #endif -#ifndef NO_HISTORY - case SIGWINCH: - if (rootshell && iflag) - action = S_CATCH; - break; -#endif } } @@ -400,11 +393,6 @@ onsig(int signo) gotsig[signo] = 1; pendingsig = signo; } - -#ifndef NO_HISTORY - if (signo == SIGWINCH) - gotwinch = 1; -#endif } @@ -490,9 +478,6 @@ setinteractive(int on) setsignal(SIGINT); setsignal(SIGQUIT); setsignal(SIGTERM); -#ifndef NO_HISTORY - setsignal(SIGWINCH); -#endif is_interactive = on; } Modified: projects/altix2/bin/sh/trap.h ============================================================================== --- projects/altix2/bin/sh/trap.h Mon Jan 20 18:51:16 2014 (r260916) +++ projects/altix2/bin/sh/trap.h Mon Jan 20 18:59:07 2014 (r260917) @@ -36,7 +36,6 @@ extern volatile sig_atomic_t pendingsig; extern volatile sig_atomic_t pendingsig_waitcmd; extern int in_dotrap; -extern volatile sig_atomic_t gotwinch; void clear_traps(void); int have_traps(void); Modified: projects/altix2/bin/test/tests/Makefile ============================================================================== --- projects/altix2/bin/test/tests/Makefile Mon Jan 20 18:51:16 2014 (r260916) +++ projects/altix2/bin/test/tests/Makefile Mon Jan 20 18:59:07 2014 (r260917) @@ -5,5 +5,11 @@ TESTSDIR= ${TESTSBASE}/bin/test TAP_TESTS_SH= legacy_test +# Some tests in here are silently not run when the tests are executed as +# root. Explicitly tell Kyua to drop privileges. +# +# TODO(jmmv): Kyua needs to do this by default, not only when explicitly +# requested. See https://code.google.com/p/kyua/issues/detail?id=6 +TEST_METADATA.legacy_test+= required_user="unprivileged" .include Modified: projects/altix2/cddl/contrib/opensolaris/cmd/zdb/zdb.c ============================================================================== --- projects/altix2/cddl/contrib/opensolaris/cmd/zdb/zdb.c Mon Jan 20 18:51:16 2014 (r260916) +++ projects/altix2/cddl/contrib/opensolaris/cmd/zdb/zdb.c Mon Jan 20 18:59:07 2014 (r260917) @@ -3012,6 +3012,7 @@ zdb_read_block(char *thing, spa_t *spa) free(dup); return; } + i += p - &flagstr[i + 1]; /* skip over the number */ } } Modified: projects/altix2/cddl/contrib/opensolaris/cmd/zfs/zfs.8 ============================================================================== --- projects/altix2/cddl/contrib/opensolaris/cmd/zfs/zfs.8 Mon Jan 20 18:51:16 2014 (r260916) +++ projects/altix2/cddl/contrib/opensolaris/cmd/zfs/zfs.8 Mon Jan 20 18:59:07 2014 (r260917) @@ -18,7 +18,7 @@ .\" information: Portions Copyright [yyyy] [name of copyright owner] .\" .\" Copyright (c) 2010, Sun Microsystems, Inc. All Rights Reserved. -.\" Copyright (c) 2012 by Delphix. All rights reserved. +.\" Copyright (c) 2013 by Delphix. All rights reserved. .\" Copyright (c) 2011, Pawel Jakub Dawidek .\" Copyright (c) 2012, Glen Barber .\" Copyright (c) 2012, Bryan Drewery @@ -26,10 +26,11 @@ .\" Copyright (c) 2013 Nexenta Systems, Inc. All Rights Reserved. .\" Copyright (c) 2013, Joyent, Inc. All rights reserved. .\" Copyright (c) 2013, Steven Hartland +.\" Copyright (c) 2014, Xin LI .\" .\" $FreeBSD$ .\" -.Dd December 24, 2013 +.Dd January 2, 2014 .Dt ZFS 8 .Os .Sh NAME @@ -57,11 +58,16 @@ .Cm destroy .Op Fl dnpRrv .Sm off -.Ar snapshot -.Op % Ns Ar snapname +.Ar filesystem Ns | Ns volume +.Ns @snap +.Op % Ns Ar snap +.Op , Ns Ar snap Op % Ns Ar snap .Op , Ns ... .Sm on .Nm +.Cm destroy +.Ar filesystem Ns | Ns Ar volume Ns # Ns Ar bookmark +.Nm .Cm snapshot Ns | Ns Cm snap .Op Fl r .Oo Fl o Ar property Ns = Ns Ar value Oc Ns ... @@ -168,11 +174,19 @@ .Cm unshare .Fl a | Ar filesystem Ns | Ns Ar mountpoint .Nm +.Cm bookmark +.Ar snapshot +.Ar bookmark +.Nm .Cm send .Op Fl DnPpRv .Op Fl i Ar snapshot | Fl I Ar snapshot .Ar snapshot .Nm +.Cm send +.Op Fl i Ar snapshot Ns | Ns bookmark +.Ar filesystem Ns | Ns Ar volume Ns | Ns Ar snapshot +.Nm .Cm receive Ns | Ns Cm recv .Op Fl vnFu .Ar filesystem Ns | Ns Ar volume Ns | Ns Ar snapshot @@ -1654,6 +1668,13 @@ options, as they can destroy large porti behavior for mounted file systems in use. .It Xo .Nm +.Cm destroy +.Ar filesystem Ns | Ns Ar volume Ns # Ns Ar bookmark +.Xc +.Pp +The given bookmark is destroyed. +.It Xo +.Nm .Cm snapshot Ns | Ns Cm snap .Op Fl r .Oo Fl o Ar property Ns = Ns Ar value Oc Ns ... @@ -1686,14 +1707,24 @@ Roll back the given dataset to a previou back, all data that has changed since the snapshot is discarded, and the dataset reverts to the state at the time of the snapshot. By default, the command refuses to roll back to a snapshot other than the most recent one. In -order to do so, all intermediate snapshots must be destroyed by specifying the +order to do so, all intermediate snapshots and bookmarks must be destroyed +by specifying the .Fl r option. +.Pp +The +.Fl rR +options do not recursively destroy the child snapshots of a +recursive snapshot. +Only direct snapshots of the specified filesystem +are destroyed by either of these options. +To completely roll back a +recursive snapshot, you must rollback the individual child snapshots. .Bl -tag -width indent .It Fl r -Recursively destroy any snapshots more recent than the one specified. +Destroy any snapshots and bookmarks more recent than the one specified. .It Fl R -Recursively destroy any more recent snapshots, as well as any clones of those +Destroy any more recent snapshots and bookmarks, as well as any clones of those snapshots. .It Fl f Used with the @@ -1868,7 +1899,7 @@ syntax. A comma-separated list of types to display, where .Ar type is one of -.Sy filesystem , snapshot , snap, volume , No or Sy all . +.Sy filesystem , snapshot , snap , volume , bookmark , No or Sy all . For example, specifying .Fl t Cm snapshot displays only snapshots. @@ -1965,7 +1996,7 @@ sections. The special value .Cm all can be used to display all properties that apply to the given dataset's type -(filesystem, volume, or snapshot). +(filesystem, volume, snapshot, or bookmark). .Bl -tag -width indent .It Fl r Recursively display properties for any children. @@ -2283,6 +2314,26 @@ file system shared on the system. .El .It Xo .Nm +.Cm bookmark +.Ar snapshot +.Ar bookmark +.Xc +.Pp +Creates a bookmark of the given snapshot. +Bookmarks mark the point in time +when the snapshot was created, and can be used as the incremental source for +a +.Qq Nm Cm send +command. +.Pp +This feature must be enabled to be used. +See +.Xr zpool-features 7 +for details on ZFS feature flags and the +.Sy bookmark +feature. +.It Xo +.Nm .Cm send .Op Fl DnPpRv .Op Fl i Ar snapshot | Fl I Ar snapshot @@ -2301,17 +2352,15 @@ a file or to a different system (for exa By default, a full stream is generated. .Bl -tag -width indent .It Fl i Ar snapshot -Generate an incremental stream from the -.Fl i Ar snapshot -to the last -.Ar snapshot . -The incremental source (the -.Fl i Ar snapshot ) -can be specified as the last component of the snapshot name (for example, the -part after the -.Sy @ ) , -and it is assumed to be from the same file system as the last -.Ar snapshot . +Generate an incremental stream from the first +.Ar snapshot Pq the incremental source +to the second +.Ar snapshot Pq the incremental target . +The incremental source can be specified as the last component of the +snapshot name +.Pq the Em @ No character and following +and +it is assumed to be from the same file system as the incremental target. .Pp If the destination is a clone, the source may be the origin snapshot, which must be fully specified (for example, @@ -2319,15 +2368,16 @@ must be fully specified (for example, not just .Cm @origin ) . .It Fl I Ar snapshot -Generate a stream package that sends all intermediary snapshots from the -.Fl I Ar snapshot -to the last +Generate a stream package that sends all intermediary snapshots from the first +.Ar snapshot +to the second .Ar snapshot . For example, .Ic -I @a fs@d is similar to .Ic -i @a fs@b; -i @b fs@c; -i @c fs@d . -The incremental source snapshot may be specified as with the +The incremental +source may be specified as with the .Fl i option. .It Fl R @@ -2380,6 +2430,35 @@ on future versions of .Tn ZFS . .It Xo .Nm +.Cm send +.Op Fl i Ar snapshot Ns | Ns Ar bookmark +.Ar filesystem Ns | Ns Ar volume Ns | Ns Ar snapshot +.Xc +.Pp +Generate a send stream, which may be of a filesystem, and may be +incremental from a bookmark. +If the destination is a filesystem or volume, +the pool must be read-only, or the filesystem must not be mounted. +When the +stream generated from a filesystem or volume is received, the default snapshot +name will be +.Pq --head-- . +.Bl -tag -width indent +.It Fl i Ar snapshot Ns | Ns bookmark +Generate an incremental send stream. +The incremental source must be an earlier +snapshot in the destination's history. +It will commonly be an earlier +snapshot in the destination's filesystem, in which case it can be +specified as the last component of the name +.Pq the Em # No or Em @ No character and following . +.Pp +If the incremental target is a clone, the incremental source can +be the origin snapshot, or an earlier snapshot in the origin's filesystem, +or the origin's origin, etc. +.El +.It Xo +.Nm .Cm receive Ns | Ns Cm recv .Op Fl vnFu .Ar filesystem Ns | Ns Ar volume Ns | Ns Ar snapshot Modified: projects/altix2/cddl/contrib/opensolaris/cmd/zfs/zfs_iter.c ============================================================================== --- projects/altix2/cddl/contrib/opensolaris/cmd/zfs/zfs_iter.c Mon Jan 20 18:51:16 2014 (r260916) +++ projects/altix2/cddl/contrib/opensolaris/cmd/zfs/zfs_iter.c Mon Jan 20 18:59:07 2014 (r260917) @@ -24,6 +24,7 @@ * Copyright (c) 2012 Pawel Jakub Dawidek . * All rights reserved. * Copyright 2013 Nexenta Systems, Inc. All rights reserved. + * Copyright (c) 2013 by Delphix. All rights reserved. */ #include @@ -72,7 +73,7 @@ uu_avl_pool_t *avl_pool; * Include snaps if they were requested or if this a zfs list where types * were not specified and the "listsnapshots" property is set on this pool. */ -static int +static boolean_t zfs_include_snapshots(zfs_handle_t *zhp, callback_data_t *cb) { zpool_handle_t *zph; @@ -92,8 +93,9 @@ static int zfs_callback(zfs_handle_t *zhp, void *data) { callback_data_t *cb = data; - int dontclose = 0; - int include_snaps = zfs_include_snapshots(zhp, cb); + boolean_t dontclose = B_FALSE; + boolean_t include_snaps = zfs_include_snapshots(zhp, cb); + boolean_t include_bmarks = (cb->cb_types & ZFS_TYPE_BOOKMARK); if ((zfs_get_type(zhp) & cb->cb_types) || ((zfs_get_type(zhp) == ZFS_TYPE_SNAPSHOT) && include_snaps)) { @@ -119,7 +121,7 @@ zfs_callback(zfs_handle_t *zhp, void *da } } uu_avl_insert(cb->cb_avl, node, idx); - dontclose = 1; + dontclose = B_TRUE; } else { free(node); } @@ -134,11 +136,14 @@ zfs_callback(zfs_handle_t *zhp, void *da cb->cb_depth++; if (zfs_get_type(zhp) == ZFS_TYPE_FILESYSTEM) (void) zfs_iter_filesystems(zhp, zfs_callback, data); - if ((zfs_get_type(zhp) != ZFS_TYPE_SNAPSHOT) && include_snaps) { + if (((zfs_get_type(zhp) & (ZFS_TYPE_SNAPSHOT | + ZFS_TYPE_BOOKMARK)) == 0) && include_snaps) (void) zfs_iter_snapshots(zhp, (cb->cb_flags & ZFS_ITER_SIMPLE) != 0, zfs_callback, data); - } + if (((zfs_get_type(zhp) & (ZFS_TYPE_SNAPSHOT | + ZFS_TYPE_BOOKMARK)) == 0) && include_bmarks) + (void) zfs_iter_bookmarks(zhp, zfs_callback, data); cb->cb_depth--; } Modified: projects/altix2/cddl/contrib/opensolaris/cmd/zfs/zfs_main.c ============================================================================== --- projects/altix2/cddl/contrib/opensolaris/cmd/zfs/zfs_main.c Mon Jan 20 18:51:16 2014 (r260916) +++ projects/altix2/cddl/contrib/opensolaris/cmd/zfs/zfs_main.c Mon Jan 20 18:59:07 2014 (r260917) @@ -107,6 +107,7 @@ static int zfs_do_release(int argc, char static int zfs_do_diff(int argc, char **argv); static int zfs_do_jail(int argc, char **argv); static int zfs_do_unjail(int argc, char **argv); +static int zfs_do_bookmark(int argc, char **argv); /* * Enable a reasonable set of defaults for libumem debugging on DEBUG builds. @@ -155,6 +156,7 @@ typedef enum { HELP_HOLDS, HELP_RELEASE, HELP_DIFF, + HELP_BOOKMARK, } zfs_help_t; typedef struct zfs_command { @@ -181,6 +183,7 @@ static zfs_command_t command_table[] = { { "clone", zfs_do_clone, HELP_CLONE }, { "promote", zfs_do_promote, HELP_PROMOTE }, { "rename", zfs_do_rename, HELP_RENAME }, + { "bookmark", zfs_do_bookmark, HELP_BOOKMARK }, { NULL }, { "list", zfs_do_list, HELP_LIST }, { NULL }, @@ -231,11 +234,12 @@ get_usage(zfs_help_t idx) case HELP_DESTROY: return (gettext("\tdestroy [-fnpRrv] \n" "\tdestroy [-dnpRrv] " - "[%][,...]\n")); + "@[%][,...]\n" + "\tdestroy #\n")); case HELP_GET: return (gettext("\tget [-rHp] [-d max] " - "[-o \"all\" | field[,...]] [-t type[,...]] " - "[-s source[,...]]\n" + "[-o \"all\" | field[,...]]\n" + "\t [-t type[,...]] [-s source[,...]]\n" "\t <\"all\" | property[,...]> " "[filesystem|volume|snapshot] ...\n")); case HELP_INHERIT: @@ -264,15 +268,16 @@ get_usage(zfs_help_t idx) case HELP_RENAME: return (gettext("\trename [-f] " "\n" - "\trename [-f] -p " - "\n" + "\trename [-f] -p \n" "\trename -r \n" "\trename -u [-p] ")); case HELP_ROLLBACK: return (gettext("\trollback [-rRf] \n")); case HELP_SEND: - return (gettext("\tsend [-DnPpRv] " - "[-i snapshot | -I snapshot] \n")); + return (gettext("\tsend [-DnPpRv] [-[iI] snapshot] " + "\n" + "\tsend [-i snapshot|bookmark] " + "\n")); case HELP_SET: return (gettext("\tset " " ...\n")); @@ -280,7 +285,7 @@ get_usage(zfs_help_t idx) return (gettext("\tshare <-a | filesystem>\n")); case HELP_SNAPSHOT: return (gettext("\tsnapshot|snap [-r] [-o property=value] ... " - " ...\n")); + "@ ...\n")); case HELP_UNMOUNT: return (gettext("\tunmount|umount [-f] " "<-a | filesystem|mountpoint>\n")); @@ -309,11 +314,13 @@ get_usage(zfs_help_t idx) "\n")); case HELP_USERSPACE: return (gettext("\tuserspace [-Hinp] [-o field[,...]] " - "[-s field]...\n\t [-S field]... [-t type[,...]] " + "[-s field] ...\n" + "\t [-S field] ... [-t type[,...]] " "\n")); case HELP_GROUPSPACE: return (gettext("\tgroupspace [-Hinp] [-o field[,...]] " - "[-s field]...\n\t [-S field]... [-t type[,...]] " + "[-s field] ...\n" + "\t [-S field] ... [-t type[,...]] " "\n")); case HELP_HOLD: return (gettext("\thold [-r] ...\n")); @@ -324,6 +331,8 @@ get_usage(zfs_help_t idx) case HELP_DIFF: return (gettext("\tdiff [-FHt] " "[snapshot|filesystem]\n")); + case HELP_BOOKMARK: + return (gettext("\tbookmark \n")); } abort(); @@ -926,6 +935,7 @@ typedef struct destroy_cbdata { char *cb_prevsnap; int64_t cb_snapused; char *cb_snapspec; + char *cb_bookmark; } destroy_cbdata_t; /* @@ -1195,7 +1205,7 @@ zfs_do_destroy(int argc, char **argv) int err = 0; int c; zfs_handle_t *zhp = NULL; - char *at; + char *at, *pound; zfs_type_t type = ZFS_TYPE_DATASET; /* check options */ @@ -1247,6 +1257,7 @@ zfs_do_destroy(int argc, char **argv) } at = strchr(argv[0], '@'); + pound = strchr(argv[0], '#'); if (at != NULL) { /* Build the list of snaps to destroy in cb_nvl. */ @@ -1308,6 +1319,46 @@ zfs_do_destroy(int argc, char **argv) if (err != 0) rv = 1; + } else if (pound != NULL) { + int err; + nvlist_t *nvl; + + if (cb.cb_dryrun) { + (void) fprintf(stderr, + "dryrun is not supported with bookmark\n"); + return (-1); + } + + if (cb.cb_defer_destroy) { + (void) fprintf(stderr, + "defer destroy is not supported with bookmark\n"); + return (-1); + } + + if (cb.cb_recurse) { + (void) fprintf(stderr, + "recursive is not supported with bookmark\n"); + return (-1); + } + + if (!zfs_bookmark_exists(argv[0])) { + (void) fprintf(stderr, gettext("bookmark '%s' " + "does not exist.\n"), argv[0]); + return (1); + } + + nvl = fnvlist_alloc(); + fnvlist_add_boolean(nvl, argv[0]); + + err = lzc_destroy_bookmarks(nvl, NULL); + if (err != 0) { + (void) zfs_standard_error(g_zfs, err, + "cannot destroy bookmark"); + } + + nvlist_free(cb.cb_nvl); + + return (err); } else { /* Open the given dataset */ if ((zhp = zfs_open(g_zfs, argv[0], type)) == NULL) @@ -1670,7 +1721,8 @@ zfs_do_get(int argc, char **argv) flags &= ~ZFS_ITER_PROP_LISTSNAPS; while (*optarg != '\0') { static char *type_subopts[] = { "filesystem", - "volume", "snapshot", "all", NULL }; + "volume", "snapshot", "bookmark", + "all", NULL }; switch (getsubopt(&optarg, type_subopts, &value)) { @@ -1684,7 +1736,11 @@ zfs_do_get(int argc, char **argv) types |= ZFS_TYPE_SNAPSHOT; break; case 3: - types = ZFS_TYPE_DATASET; + types |= ZFS_TYPE_BOOKMARK; + break; + case 4: + types = ZFS_TYPE_DATASET | + ZFS_TYPE_BOOKMARK; break; default: @@ -3029,7 +3085,8 @@ zfs_do_list(int argc, char **argv) flags &= ~ZFS_ITER_PROP_LISTSNAPS; while (*optarg != '\0') { static char *type_subopts[] = { "filesystem", - "volume", "snapshot", "snap", "all", NULL }; + "volume", "snapshot", "snap", "bookmark", + "all", NULL }; switch (getsubopt(&optarg, type_subopts, &value)) { @@ -3044,9 +3101,12 @@ zfs_do_list(int argc, char **argv) types |= ZFS_TYPE_SNAPSHOT; break; case 4: - types = ZFS_TYPE_DATASET; + types |= ZFS_TYPE_BOOKMARK; + break; + case 5: + types = ZFS_TYPE_DATASET | + ZFS_TYPE_BOOKMARK; break; - default: (void) fprintf(stderr, gettext("invalid type '%s'\n"), @@ -3286,9 +3346,29 @@ typedef struct rollback_cbdata { char *cb_target; int cb_error; boolean_t cb_recurse; - boolean_t cb_dependent; } rollback_cbdata_t; +static int +rollback_check_dependent(zfs_handle_t *zhp, void *data) +{ + rollback_cbdata_t *cbp = data; + + if (cbp->cb_first && cbp->cb_recurse) { + (void) fprintf(stderr, gettext("cannot rollback to " + "'%s': clones of previous snapshots exist\n"), + cbp->cb_target); + (void) fprintf(stderr, gettext("use '-R' to " + "force deletion of the following clones and " + "dependents:\n")); + cbp->cb_first = 0; + cbp->cb_error = 1; + } + + (void) fprintf(stderr, "%s\n", zfs_get_name(zhp)); + + zfs_close(zhp); + return (0); +} /* * Report any snapshots more recent than the one specified. Used when '-r' is * not specified. We reuse this same callback for the snapshot dependents - if @@ -3305,52 +3385,30 @@ rollback_check(zfs_handle_t *zhp, void * return (0); } - if (!cbp->cb_dependent) { - if (strcmp(zfs_get_name(zhp), cbp->cb_target) != 0 && - zfs_get_type(zhp) == ZFS_TYPE_SNAPSHOT && - zfs_prop_get_int(zhp, ZFS_PROP_CREATETXG) > - cbp->cb_create) { - - if (cbp->cb_first && !cbp->cb_recurse) { - (void) fprintf(stderr, gettext("cannot " - "rollback to '%s': more recent snapshots " - "exist\n"), - cbp->cb_target); - (void) fprintf(stderr, gettext("use '-r' to " - "force deletion of the following " - "snapshots:\n")); - cbp->cb_first = 0; - cbp->cb_error = 1; - } - - if (cbp->cb_recurse) { - cbp->cb_dependent = B_TRUE; - if (zfs_iter_dependents(zhp, B_TRUE, - rollback_check, cbp) != 0) { - zfs_close(zhp); - return (-1); - } - cbp->cb_dependent = B_FALSE; - } else { - (void) fprintf(stderr, "%s\n", - zfs_get_name(zhp)); - } - } - } else { - if (cbp->cb_first && cbp->cb_recurse) { - (void) fprintf(stderr, gettext("cannot rollback to " - "'%s': clones of previous snapshots exist\n"), + if (zfs_prop_get_int(zhp, ZFS_PROP_CREATETXG) > cbp->cb_create) { + if (cbp->cb_first && !cbp->cb_recurse) { + (void) fprintf(stderr, gettext("cannot " + "rollback to '%s': more recent snapshots " + "or bookmarks exist\n"), cbp->cb_target); - (void) fprintf(stderr, gettext("use '-R' to " - "force deletion of the following clones and " - "dependents:\n")); + (void) fprintf(stderr, gettext("use '-r' to " + "force deletion of the following " + "snapshots and bookmarks:\n")); cbp->cb_first = 0; cbp->cb_error = 1; } - (void) fprintf(stderr, "%s\n", zfs_get_name(zhp)); + if (cbp->cb_recurse) { + if (zfs_iter_dependents(zhp, B_TRUE, + rollback_check_dependent, cbp) != 0) { + zfs_close(zhp); + return (-1); + } + } else { + (void) fprintf(stderr, "%s\n", + zfs_get_name(zhp)); + } } - zfs_close(zhp); return (0); } @@ -3420,7 +3478,9 @@ zfs_do_rollback(int argc, char **argv) cb.cb_create = zfs_prop_get_int(snap, ZFS_PROP_CREATETXG); cb.cb_first = B_TRUE; cb.cb_error = 0; - if ((ret = zfs_iter_children(zhp, rollback_check, &cb)) != 0) + if ((ret = zfs_iter_snapshots(zhp, B_FALSE, rollback_check, &cb)) != 0) + goto out; + if ((ret = zfs_iter_bookmarks(zhp, rollback_check, &cb)) != 0) goto out; if ((ret = cb.cb_error) != 0) @@ -3715,12 +3775,45 @@ zfs_do_send(int argc, char **argv) return (1); } - cp = strchr(argv[0], '@'); - if (cp == NULL) { - (void) fprintf(stderr, - gettext("argument must be a snapshot\n")); - usage(B_FALSE); + /* + * Special case sending a filesystem, or from a bookmark. + */ + if (strchr(argv[0], '@') == NULL || + (fromname && strchr(fromname, '#') != NULL)) { + char frombuf[ZFS_MAXNAMELEN]; + + if (flags.replicate || flags.doall || flags.props || + flags.dedup || flags.dryrun || flags.verbose || + flags.progress) { + (void) fprintf(stderr, + gettext("Error: " + "Unsupported flag with filesystem or bookmark.\n")); + return (1); + } + + zhp = zfs_open(g_zfs, argv[0], ZFS_TYPE_DATASET); + if (zhp == NULL) + return (1); + + if (fromname != NULL && + (fromname[0] == '#' || fromname[0] == '@')) { + /* + * Incremental source name begins with # or @. + * Default to same fs as target. + */ + (void) strncpy(frombuf, argv[0], sizeof (frombuf)); + cp = strchr(frombuf, '@'); + if (cp != NULL) + *cp = '\0'; + (void) strlcat(frombuf, fromname, sizeof (frombuf)); + fromname = frombuf; + } + err = zfs_send_one(zhp, fromname, STDOUT_FILENO); + zfs_close(zhp); + return (err != 0); } + + cp = strchr(argv[0], '@'); *cp = '\0'; toname = cp + 1; zhp = zfs_open(g_zfs, argv[0], ZFS_TYPE_FILESYSTEM | ZFS_TYPE_VOLUME); @@ -3876,6 +3969,7 @@ zfs_do_receive(int argc, char **argv) #define ZFS_DELEG_PERM_HOLD "hold" #define ZFS_DELEG_PERM_RELEASE "release" #define ZFS_DELEG_PERM_DIFF "diff" +#define ZFS_DELEG_PERM_BOOKMARK "bookmark" *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-projects@FreeBSD.ORG Mon Jan 20 19:38:51 2014 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 4D8CD29D; Mon, 20 Jan 2014 19:38:51 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id 35FCF1300; Mon, 20 Jan 2014 19:38:51 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id s0KJcpqY037149; Mon, 20 Jan 2014 19:38:51 GMT (envelope-from kaiw@svn.freebsd.org) Received: (from kaiw@localhost) by svn.freebsd.org (8.14.7/8.14.7/Submit) id s0KJcjoO037115; Mon, 20 Jan 2014 19:38:45 GMT (envelope-from kaiw@svn.freebsd.org) Message-Id: <201401201938.s0KJcjoO037115@svn.freebsd.org> From: Kai Wang Date: Mon, 20 Jan 2014 19:38:45 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r260920 - in projects/elftoolchain: bin/df cddl/contrib/opensolaris/cmd/zdb cddl/contrib/opensolaris/cmd/zinject cddl/usr.bin/zinject contrib/gcc/cp gnu/lib/libgcc include lib/libc lib/... X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.17 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 20 Jan 2014 19:38:51 -0000 Author: kaiw Date: Mon Jan 20 19:38:44 2014 New Revision: 260920 URL: http://svnweb.freebsd.org/changeset/base/260920 Log: MFH@260917. Added: projects/elftoolchain/release/pkg_repos/ - copied from r260917, head/release/pkg_repos/ projects/elftoolchain/share/man/man4/virtio_random.4 - copied unchanged from r260917, head/share/man/man4/virtio_random.4 projects/elftoolchain/sys/amd64/conf/VT - copied unchanged from r260917, head/sys/amd64/conf/VT projects/elftoolchain/sys/arm/at91/at91_gpio.h - copied unchanged from r260917, head/sys/arm/at91/at91_gpio.h projects/elftoolchain/sys/arm/at91/at91_smc.c - copied unchanged from r260917, head/sys/arm/at91/at91_smc.c projects/elftoolchain/sys/arm/at91/at91_smc.h - copied unchanged from r260917, head/sys/arm/at91/at91_smc.h projects/elftoolchain/sys/dev/nand/nfc_at91.h - copied unchanged from r260917, head/sys/dev/nand/nfc_at91.h projects/elftoolchain/sys/dev/virtio/random/ - copied from r260917, head/sys/dev/virtio/random/ projects/elftoolchain/sys/i386/conf/VT - copied unchanged from r260917, head/sys/i386/conf/VT projects/elftoolchain/sys/modules/virtio/random/ - copied from r260917, head/sys/modules/virtio/random/ Deleted: projects/elftoolchain/release/amd64/pkg-stage.conf projects/elftoolchain/release/i386/pkg-stage.conf Modified: projects/elftoolchain/bin/df/df.1 projects/elftoolchain/cddl/contrib/opensolaris/cmd/zdb/zdb.c projects/elftoolchain/cddl/contrib/opensolaris/cmd/zinject/zinject.c projects/elftoolchain/cddl/usr.bin/zinject/Makefile projects/elftoolchain/contrib/gcc/cp/ChangeLog.apple projects/elftoolchain/contrib/gcc/cp/parser.c projects/elftoolchain/gnu/lib/libgcc/Makefile projects/elftoolchain/include/ttyent.h projects/elftoolchain/lib/libc/Makefile projects/elftoolchain/lib/libc/gen/getttyent.c projects/elftoolchain/lib/libfetch/common.c projects/elftoolchain/lib/libkvm/kvm_ia64.c projects/elftoolchain/libexec/getty/ttys.5 projects/elftoolchain/libexec/rtld-elf/Makefile projects/elftoolchain/release/Makefile projects/elftoolchain/release/doc/en_US.ISO8859-1/errata/article.xml projects/elftoolchain/release/doc/en_US.ISO8859-1/relnotes/article.xml projects/elftoolchain/release/scripts/pkg-stage.sh projects/elftoolchain/share/man/man4/Makefile projects/elftoolchain/share/man/man9/malloc.9 projects/elftoolchain/share/man/man9/mbuf.9 projects/elftoolchain/share/mk/bsd.libnames.mk projects/elftoolchain/sys/amd64/conf/NOTES projects/elftoolchain/sys/amd64/vmm/intel/vmcs.h projects/elftoolchain/sys/amd64/vmm/intel/vmx.c projects/elftoolchain/sys/arm/at91/at91rm9200.c projects/elftoolchain/sys/arm/at91/at91sam9260.c projects/elftoolchain/sys/arm/at91/at91sam9g20.c projects/elftoolchain/sys/arm/at91/at91sam9g45.c projects/elftoolchain/sys/arm/at91/at91sam9x5.c projects/elftoolchain/sys/arm/at91/at91var.h projects/elftoolchain/sys/arm/at91/board_hl201.c projects/elftoolchain/sys/arm/at91/board_sam9260ek.c projects/elftoolchain/sys/arm/at91/files.at91 projects/elftoolchain/sys/arm/at91/uart_dev_at91usart.c projects/elftoolchain/sys/arm/conf/ATMEL projects/elftoolchain/sys/arm/conf/HL201 projects/elftoolchain/sys/arm/conf/SAM9260EK projects/elftoolchain/sys/arm/freescale/imx/imx51_ipuv3_fbd.c projects/elftoolchain/sys/arm/s3c2xx0/uart_dev_s3c2410.c projects/elftoolchain/sys/arm/sa11x0/uart_dev_sa1110.c projects/elftoolchain/sys/arm/xilinx/uart_dev_cdnc.c projects/elftoolchain/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/arc.c projects/elftoolchain/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu_traverse.c projects/elftoolchain/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_mirror.c projects/elftoolchain/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_dir.c projects/elftoolchain/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vnops.c projects/elftoolchain/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_znode.c projects/elftoolchain/sys/compat/freebsd32/freebsd32_misc.c projects/elftoolchain/sys/conf/files.amd64 projects/elftoolchain/sys/conf/files.i386 projects/elftoolchain/sys/contrib/ipfilter/netinet/ip_compat.h projects/elftoolchain/sys/contrib/ipfilter/netinet/ip_fil_freebsd.c (contents, props changed) projects/elftoolchain/sys/dev/aha/aha.c projects/elftoolchain/sys/dev/ahci/ahci.c projects/elftoolchain/sys/dev/altera/atse/if_atse.c projects/elftoolchain/sys/dev/bxe/bxe.c projects/elftoolchain/sys/dev/hyperv/netvsc/hv_netvsc_drv_freebsd.c projects/elftoolchain/sys/dev/nand/nfc_at91.c projects/elftoolchain/sys/dev/netmap/netmap.c projects/elftoolchain/sys/dev/netmap/netmap_generic.c projects/elftoolchain/sys/dev/netmap/netmap_vale.c projects/elftoolchain/sys/dev/qlxge/qls_os.c projects/elftoolchain/sys/dev/uart/uart_core.c projects/elftoolchain/sys/dev/uart/uart_cpu.h projects/elftoolchain/sys/dev/uart/uart_dev_imx.c projects/elftoolchain/sys/dev/uart/uart_dev_lpc.c projects/elftoolchain/sys/dev/uart/uart_dev_ns8250.c projects/elftoolchain/sys/dev/uart/uart_dev_ns8250.h projects/elftoolchain/sys/dev/uart/uart_dev_pl011.c projects/elftoolchain/sys/dev/uart/uart_dev_quicc.c projects/elftoolchain/sys/dev/uart/uart_dev_sab82532.c projects/elftoolchain/sys/dev/uart/uart_dev_z8530.c projects/elftoolchain/sys/dev/uart/uart_if.m projects/elftoolchain/sys/dev/usb/net/uhso.c projects/elftoolchain/sys/dev/usb/usb_dev.c projects/elftoolchain/sys/dev/usb/usb_device.c projects/elftoolchain/sys/dev/vt/hw/xboxfb/xboxfb.c projects/elftoolchain/sys/geom/multipath/g_multipath.c projects/elftoolchain/sys/i386/conf/NOTES projects/elftoolchain/sys/ia64/conf/GENERIC projects/elftoolchain/sys/ia64/ia64/pmap.c projects/elftoolchain/sys/kern/kern_event.c projects/elftoolchain/sys/kern/subr_witness.c projects/elftoolchain/sys/kern/uipc_mbuf.c projects/elftoolchain/sys/kern/uipc_sockbuf.c projects/elftoolchain/sys/kern/uipc_socket.c projects/elftoolchain/sys/kern/uipc_syscalls.c projects/elftoolchain/sys/mips/adm5120/uart_dev_adm5120.c projects/elftoolchain/sys/mips/atheros/uart_dev_ar933x.c projects/elftoolchain/sys/mips/cavium/ciu.c projects/elftoolchain/sys/mips/cavium/uart_dev_oct16550.c projects/elftoolchain/sys/mips/rt305x/uart_dev_rt305x.c projects/elftoolchain/sys/modules/virtio/Makefile projects/elftoolchain/sys/net/ieee8023ad_lacp.c projects/elftoolchain/sys/net/if.c projects/elftoolchain/sys/net/if_arcsubr.c projects/elftoolchain/sys/net/if_dl.h projects/elftoolchain/sys/net/if_ethersubr.c projects/elftoolchain/sys/net/if_fddisubr.c projects/elftoolchain/sys/net/if_iso88025subr.c projects/elftoolchain/sys/net/if_lagg.c projects/elftoolchain/sys/net/netmap_user.h projects/elftoolchain/sys/net80211/ieee80211_mesh.c projects/elftoolchain/sys/netinet/in.c projects/elftoolchain/sys/netinet/in_mcast.c projects/elftoolchain/sys/netinet/ip_carp.c projects/elftoolchain/sys/netinet/ip_output.c projects/elftoolchain/sys/netinet/tcp_syncache.c projects/elftoolchain/sys/netinet6/in6.c projects/elftoolchain/sys/netinet6/in6_ifattach.c projects/elftoolchain/sys/netinet6/in6_var.h projects/elftoolchain/sys/netinet6/nd6.c projects/elftoolchain/sys/netinet6/nd6.h projects/elftoolchain/sys/netinet6/nd6_rtr.c projects/elftoolchain/sys/ofed/drivers/infiniband/ulp/ipoib/ipoib_main.c projects/elftoolchain/sys/powerpc/powermac/pmu.c projects/elftoolchain/sys/sys/mbuf.h projects/elftoolchain/sys/sys/random.h projects/elftoolchain/sys/sys/sf_base.h projects/elftoolchain/sys/sys/sf_sync.h projects/elftoolchain/sys/sys/socket.h projects/elftoolchain/sys/vm/vm_pageout.c projects/elftoolchain/sys/vm/vnode_pager.c projects/elftoolchain/sys/x86/x86/nexus.c projects/elftoolchain/tools/tools/mcgrab/mcgrab.cc projects/elftoolchain/tools/tools/netmap/Makefile projects/elftoolchain/tools/tools/netmap/bridge.c projects/elftoolchain/tools/tools/netmap/nm_util.c projects/elftoolchain/tools/tools/netmap/nm_util.h projects/elftoolchain/tools/tools/netmap/pcap.c projects/elftoolchain/tools/tools/netmap/pkt-gen.c projects/elftoolchain/tools/tools/netmap/vale-ctl.c projects/elftoolchain/usr.bin/killall/killall.c projects/elftoolchain/usr.bin/ktrdump/ktrdump.c projects/elftoolchain/usr.bin/script/script.c projects/elftoolchain/usr.sbin/bsdconfig/share/strings.subr projects/elftoolchain/usr.sbin/bsdinstall/scripts/services projects/elftoolchain/usr.sbin/pciconf/pciconf.8 projects/elftoolchain/usr.sbin/pciconf/pciconf.c Directory Properties: projects/elftoolchain/ (props changed) projects/elftoolchain/cddl/ (props changed) projects/elftoolchain/cddl/contrib/opensolaris/ (props changed) projects/elftoolchain/contrib/gcc/ (props changed) projects/elftoolchain/gnu/lib/ (props changed) projects/elftoolchain/include/ (props changed) projects/elftoolchain/lib/libc/ (props changed) projects/elftoolchain/share/man/man4/ (props changed) projects/elftoolchain/sys/ (props changed) projects/elftoolchain/sys/amd64/vmm/ (props changed) projects/elftoolchain/sys/cddl/contrib/opensolaris/ (props changed) projects/elftoolchain/sys/conf/ (props changed) projects/elftoolchain/sys/contrib/ipfilter/ (props changed) projects/elftoolchain/sys/dev/hyperv/ (props changed) Modified: projects/elftoolchain/bin/df/df.1 ============================================================================== --- projects/elftoolchain/bin/df/df.1 Mon Jan 20 19:38:16 2014 (r260919) +++ projects/elftoolchain/bin/df/df.1 Mon Jan 20 19:38:44 2014 (r260920) @@ -29,7 +29,7 @@ .\" @(#)df.1 8.3 (Berkeley) 5/8/95 .\" $FreeBSD$ .\" -.Dd January 24, 2013 +.Dd January 16, 2014 .Dt DF 1 .Os .Sh NAME @@ -83,13 +83,13 @@ Use 1073741824 byte (1 Gibibyte) blocks This overrides any .Ev BLOCKSIZE specification from the environment. -.It Fl H +.It Fl h .Dq Human-readable output. Use unit suffixes: Byte, Kibibyte, Mebibyte, Gibibyte, Tebibyte and Pebibyte (based on powers of 1024) in order to reduce the number of digits to four or fewer. -.It Fl h +.It Fl H .Dq Human-readable output. Use unit suffixes: Byte, Kilobyte, Megabyte, Modified: projects/elftoolchain/cddl/contrib/opensolaris/cmd/zdb/zdb.c ============================================================================== --- projects/elftoolchain/cddl/contrib/opensolaris/cmd/zdb/zdb.c Mon Jan 20 19:38:16 2014 (r260919) +++ projects/elftoolchain/cddl/contrib/opensolaris/cmd/zdb/zdb.c Mon Jan 20 19:38:44 2014 (r260920) @@ -3012,6 +3012,7 @@ zdb_read_block(char *thing, spa_t *spa) free(dup); return; } + i += p - &flagstr[i + 1]; /* skip over the number */ } } Modified: projects/elftoolchain/cddl/contrib/opensolaris/cmd/zinject/zinject.c ============================================================================== --- projects/elftoolchain/cddl/contrib/opensolaris/cmd/zinject/zinject.c Mon Jan 20 19:38:16 2014 (r260919) +++ projects/elftoolchain/cddl/contrib/opensolaris/cmd/zinject/zinject.c Mon Jan 20 19:38:44 2014 (r260920) @@ -148,6 +148,7 @@ #include #include +#include #undef verify /* both libzfs.h and zfs_context.h want to define this */ Modified: projects/elftoolchain/cddl/usr.bin/zinject/Makefile ============================================================================== --- projects/elftoolchain/cddl/usr.bin/zinject/Makefile Mon Jan 20 19:38:16 2014 (r260919) +++ projects/elftoolchain/cddl/usr.bin/zinject/Makefile Mon Jan 20 19:38:44 2014 (r260920) @@ -16,6 +16,7 @@ CFLAGS+= -I${.CURDIR}/../../contrib/open CFLAGS+= -I${.CURDIR}/../../../sys/cddl/contrib/opensolaris/uts/common/fs/zfs CFLAGS+= -I${.CURDIR}/../../../sys/cddl/contrib/opensolaris/uts/common/sys CFLAGS+= -I${.CURDIR}/../../../sys/cddl/contrib/opensolaris/uts/common +CFLAGS+= -I${.CURDIR}/../../../sys/cddl/contrib/opensolaris/common/zfs/ CFLAGS+= -I${.CURDIR}/../../contrib/opensolaris/head CFLAGS+= -I${.CURDIR}/../../lib/libumem Modified: projects/elftoolchain/contrib/gcc/cp/ChangeLog.apple ============================================================================== --- projects/elftoolchain/contrib/gcc/cp/ChangeLog.apple Mon Jan 20 19:38:16 2014 (r260919) +++ projects/elftoolchain/contrib/gcc/cp/ChangeLog.apple Mon Jan 20 19:38:44 2014 (r260920) @@ -302,15 +302,6 @@ (cp_parser_objc_declaration): Parses attribute list and passes it down to cp_parser_objc_class_interface/cp_parser_objc_protocol_declaration. -2007-07-24 Fariborz Jahanian - - Radar 5355344 - * cp-tree.h (cp_objc_protocol_id_list): New declaration - * cp-lang.c (cp_objc_protocol_id_list): New stub - * parser.c (cp_parser_type_name): Added code to disambiguate - conditional from a protocol type. - (cp_parser_objc_tentative_protocol_refs_opt): New - 2007-07-13 Fariborz Jahanian Radar 5277239 Modified: projects/elftoolchain/contrib/gcc/cp/parser.c ============================================================================== --- projects/elftoolchain/contrib/gcc/cp/parser.c Mon Jan 20 19:38:16 2014 (r260919) +++ projects/elftoolchain/contrib/gcc/cp/parser.c Mon Jan 20 19:38:44 2014 (r260920) @@ -1827,10 +1827,6 @@ static tree cp_parser_objc_identifier_li /* APPLE LOCAL end radar 3803157 - objc attribute */ static tree cp_parser_objc_protocol_refs_opt (cp_parser *); -/* APPLE LOCAL begin radar 5355344 */ -static bool cp_parser_objc_tentative_protocol_refs_opt - (cp_parser *, tree *); -/* APPLE LOCAL end radar 5355344 */ static void cp_parser_objc_declaration (cp_parser *); static tree cp_parser_objc_statement @@ -17873,32 +17869,6 @@ cp_parser_objc_protocol_refs_opt (cp_par return protorefs; } -/* APPLE LOCAL begin radar 5355344 */ -/* This routine also parses a list of Objective-C protocol references; except that - if list is not valid, it returns FALSE and back-tracks parsing. */ - -static bool -cp_parser_objc_tentative_protocol_refs_opt (cp_parser* parser, tree *protorefs) -{ - *protorefs = NULL_TREE; - if(cp_lexer_next_token_is (parser->lexer, CPP_LESS)) - { - cp_parser_parse_tentatively (parser); - cp_lexer_consume_token (parser->lexer); /* Eat '<'. */ - *protorefs = cp_parser_objc_identifier_list (parser); - if (!cp_objc_protocol_id_list (*protorefs)) - { - cp_parser_abort_tentative_parse (parser); - return false; - } - if (cp_parser_parse_definitely (parser)) - cp_parser_require (parser, CPP_GREATER, "`>'"); - } - - return true; -} -/* APPLE LOCAL end radar 5355344 */ - /* Parse a Objective-C visibility specification. */ static void Modified: projects/elftoolchain/gnu/lib/libgcc/Makefile ============================================================================== --- projects/elftoolchain/gnu/lib/libgcc/Makefile Mon Jan 20 19:38:16 2014 (r260919) +++ projects/elftoolchain/gnu/lib/libgcc/Makefile Mon Jan 20 19:38:44 2014 (r260920) @@ -34,9 +34,9 @@ OBJS= # added to below in various ways #--------------------------------------------------------------------------- # -# When upgrading GCC, get the following defintions straight from Makefile.in -# # Library members defined in libgcc2.c. +# When upgrading GCC, obtain the following list from mklibgcc.in +# LIB2FUNCS= _muldi3 _negdi2 _lshrdi3 _ashldi3 _ashrdi3 \ _cmpdi2 _ucmpdi2 \ _enable_execute_stack _trampoline __main _absvsi2 _absvdi2 _addvsi3 \ @@ -44,7 +44,7 @@ LIB2FUNCS= _muldi3 _negdi2 _lshrdi3 _ash _ffssi2 _ffsdi2 _clz _clzsi2 _clzdi2 _ctzsi2 _ctzdi2 _popcount_tab \ _popcountsi2 _popcountdi2 _paritysi2 _paritydi2 _powisf2 _powidf2 \ _powixf2 _powitf2 _mulsc3 _muldc3 _mulxc3 _multc3 _divsc3 _divdc3 \ - _divxc3 _divtc3 + _divxc3 _divtc3 _bswapsi2 _bswapdi2 .if ${COMPILER_TYPE} != "clang" || ${TARGET_CPUARCH} != "arm" LIB2FUNCS+= _clear_cache .endif @@ -119,8 +119,8 @@ LIB1ASMFUNCS = _dvmd_tls _bb_init_func .if ${MK_ARM_EABI} != "no" LIB2ADDEH = unwind-arm.c libunwind.S pr-support.c unwind-c.c # Some compilers generate __aeabi_ functions libgcc_s is missing -DPADD+= ${LIBGCC} -LDADD+= -lgcc +DPADD+= ${LIBCOMPILER_RT} +LDADD+= -lcompiler_rt .else LIB2FUNCS_EXTRA = floatunsidf.c floatunsisf.c .endif Modified: projects/elftoolchain/include/ttyent.h ============================================================================== --- projects/elftoolchain/include/ttyent.h Mon Jan 20 19:38:16 2014 (r260919) +++ projects/elftoolchain/include/ttyent.h Mon Jan 20 19:38:44 2014 (r260920) @@ -37,6 +37,7 @@ #define _TTYS_OFF "off" #define _TTYS_ON "on" +#define _TTYS_ONIFCONSOLE "onifconsole" #define _TTYS_SECURE "secure" #define _TTYS_INSECURE "insecure" #define _TTYS_WINDOW "window" Modified: projects/elftoolchain/lib/libc/Makefile ============================================================================== --- projects/elftoolchain/lib/libc/Makefile Mon Jan 20 19:38:16 2014 (r260919) +++ projects/elftoolchain/lib/libc/Makefile Mon Jan 20 19:38:44 2014 (r260920) @@ -40,11 +40,11 @@ CFLAGS+=${CANCELPOINTS_CFLAGS} .endif # -# Only link with static libgcc.a (no libgcc_eh.a). +# Link with static libcompiler_rt.a. # -DPADD+= ${LIBGCC} +DPADD+= ${LIBCOMPILER_RT} LDFLAGS+= -nodefaultlibs -LDADD+= -lgcc +LDADD+= -lcompiler_rt .if ${MK_SSP} != "no" LDADD+= -lssp_nonshared Modified: projects/elftoolchain/lib/libc/gen/getttyent.c ============================================================================== --- projects/elftoolchain/lib/libc/gen/getttyent.c Mon Jan 20 19:38:16 2014 (r260919) +++ projects/elftoolchain/lib/libc/gen/getttyent.c Mon Jan 20 19:38:44 2014 (r260920) @@ -39,6 +39,9 @@ __FBSDID("$FreeBSD$"); #include #include +#include +#include + static char zapchar; static FILE *tf; static size_t lbsize; @@ -64,6 +67,36 @@ getttynam(const char *tty) return (t); } +static int +auto_tty_status(const char *ty_name) +{ + size_t len; + char *buf, *cons, *nextcons; + + /* Check if this is an enabled kernel console line */ + buf = NULL; + if (sysctlbyname("kern.console", NULL, &len, NULL, 0) == -1) + return (0); /* Errors mean don't enable */ + buf = malloc(len); + if (sysctlbyname("kern.console", buf, &len, NULL, 0) == -1) + goto done; + + if ((cons = strchr(buf, '/')) == NULL) + goto done; + *cons = '\0'; + nextcons = buf; + while ((cons = strsep(&nextcons, ",")) != NULL && strlen(cons) != 0) { + if (strcmp(cons, ty_name) == 0) { + free(buf); + return (TTY_ON); + } + } + +done: + free(buf); + return (0); +} + struct ttyent * getttyent(void) { @@ -126,6 +159,8 @@ getttyent(void) tty.ty_status &= ~TTY_ON; else if (scmp(_TTYS_ON)) tty.ty_status |= TTY_ON; + else if (scmp(_TTYS_ONIFCONSOLE)) + tty.ty_status |= auto_tty_status(tty.ty_name); else if (scmp(_TTYS_SECURE)) tty.ty_status |= TTY_SECURE; else if (scmp(_TTYS_INSECURE)) Modified: projects/elftoolchain/lib/libfetch/common.c ============================================================================== --- projects/elftoolchain/lib/libfetch/common.c Mon Jan 20 19:38:16 2014 (r260919) +++ projects/elftoolchain/lib/libfetch/common.c Mon Jan 20 19:38:44 2014 (r260920) @@ -679,7 +679,7 @@ fetch_ssl_setup_transport_layer(SSL_CTX if (getenv("SSL_NO_TLS1") != NULL) ssl_ctx_options |= SSL_OP_NO_TLSv1; if (verbose) - fetch_info("SSL options: %x", ssl_ctx_options); + fetch_info("SSL options: %lx", ssl_ctx_options); SSL_CTX_set_options(ctx, ssl_ctx_options); } Modified: projects/elftoolchain/lib/libkvm/kvm_ia64.c ============================================================================== --- projects/elftoolchain/lib/libkvm/kvm_ia64.c Mon Jan 20 19:38:16 2014 (r260919) +++ projects/elftoolchain/lib/libkvm/kvm_ia64.c Mon Jan 20 19:38:44 2014 (r260920) @@ -371,5 +371,5 @@ _kvm_kvatop(kvm_t *kd, u_long va, off_t size_t sz; sz = kd->vmst->kvatop(kd, va, ofs); - return (sz); + return ((sz > INT_MAX) ? INT_MAX : sz); } Modified: projects/elftoolchain/libexec/getty/ttys.5 ============================================================================== --- projects/elftoolchain/libexec/getty/ttys.5 Mon Jan 20 19:38:16 2014 (r260919) +++ projects/elftoolchain/libexec/getty/ttys.5 Mon Jan 20 19:38:44 2014 (r260920) @@ -102,8 +102,11 @@ ttys as a group. .Pp As flag values, the strings ``on'' and ``off'' specify that .Xr init 8 -should (should not) execute the command given in the second field, -while ``secure'' (if ``on'' is also specified) allows users with a +should (should not) execute the command given in the second field. +``onifconsole'' will cause this line to be enabled if and only if it is +an active kernel console device (it is equivalent to ``on'' in this +case). +The flag ``secure'' (if the console is enabled) allows users with a uid of 0 to login on this line. The flag ``dialin'' indicates that a tty entry describes a dialin Modified: projects/elftoolchain/libexec/rtld-elf/Makefile ============================================================================== --- projects/elftoolchain/libexec/rtld-elf/Makefile Mon Jan 20 19:38:16 2014 (r260919) +++ projects/elftoolchain/libexec/rtld-elf/Makefile Mon Jan 20 19:38:44 2014 (r260920) @@ -43,11 +43,12 @@ DPADD= ${LIBC_PIC} LDADD= -lc_pic .if ${MACHINE_CPUARCH} == "arm" && ${MK_ARM_EABI} != "no" -# Some of the required math functions (div & mod) are implemented in libgcc -# on ARM. The library also needs to be placed first to be correctly linked. -# As some of the functions are used before we have shared libraries. -DPADD+= ${LIBGCC} -LDADD+= -lgcc +# Some of the required math functions (div & mod) are implemented in +# libcompiler_rt on ARM. The library also needs to be placed first to be +# correctly linked. As some of the functions are used before we have +# shared libraries. +DPADD+= ${LIBCOMPILER_RT} +LDADD+= -lcompiler_rt .endif Modified: projects/elftoolchain/release/Makefile ============================================================================== --- projects/elftoolchain/release/Makefile Mon Jan 20 19:38:16 2014 (r260919) +++ projects/elftoolchain/release/Makefile Mon Jan 20 19:38:44 2014 (r260920) @@ -224,9 +224,9 @@ packagesystem: base.txz kernel.txz ${EXT touch ${.TARGET} pkg-stage: -.if !defined(NOPKG) && exists(${.CURDIR}/${TARGET}/pkg-stage.conf) - sh ${.CURDIR}/scripts/pkg-stage.sh ${.CURDIR}/${TARGET}/pkg-stage.conf \ - ${REVISION} +.if !defined(NOPKG) + env REPOS_DIR=${.CURDIR}/pkg_repos/ \ + sh ${.CURDIR}/scripts/pkg-stage.sh mkdir -p ${.OBJDIR}/dvd/packages/repos/ cp ${.CURDIR}/scripts/FreeBSD_install_cdrom.conf \ ${.OBJDIR}/dvd/packages/repos/ Modified: projects/elftoolchain/release/doc/en_US.ISO8859-1/errata/article.xml ============================================================================== --- projects/elftoolchain/release/doc/en_US.ISO8859-1/errata/article.xml Mon Jan 20 19:38:16 2014 (r260919) +++ projects/elftoolchain/release/doc/en_US.ISO8859-1/errata/article.xml Mon Jan 20 19:38:44 2014 (r260920) @@ -1,45 +1,24 @@ + "http://www.FreeBSD.org/XML/share/xml/freebsd50.dtd" [ + %release; ]> - -
- &os; &release; Errata - - - - The &os; Project - + +
+ + &os; &release; Errata + + The &os; Project $FreeBSD$ - 2000 - 2001 - 2002 - 2003 - 2004 - 2005 - 2006 - 2007 - 2008 - 2009 - 2010 - 2011 - 2012 - 2013 + 2014 + The &os; Documentation Project @@ -50,20 +29,20 @@ &tm-attrib.general; - - This document lists errata items for &os; &release;, - containing significant information discovered after the release - or too late in the release cycle to be otherwise included in the - release documentation. - This information includes security advisories, as well as news - relating to the software or documentation that could affect its - operation or usability. An up-to-date version of this document - should always be consulted before installing this version of - &os;. - - This errata document for &os; &release; - will be maintained until the release of &os; &release.next;. - + + This document lists errata items for &os; &release;, + containing significant information discovered after the release + or too late in the release cycle to be otherwise included in the + release documentation. + This information includes security advisories, as well as news + relating to the software or documentation that could affect its + operation or usability. An up-to-date version of this document + should always be consulted before installing this version of + &os;. + + This errata document for &os; &release; + will be maintained until the release of &os; &release.next;. + @@ -80,44 +59,35 @@ out of date by definition, but other copies are kept updated on the Internet and should be consulted as the current errata for this release. These other copies of the - errata are located at http://www.FreeBSD.org/releases/, plus any sites + errata are located at + , + plus any sites which keep up-to-date mirrors of this location. Source and binary snapshots of &os; &release.branch; also contain up-to-date copies of this document (as of the time of the snapshot). - For a list of all &os; CERT security advisories, see http://www.FreeBSD.org/security/ or ftp://ftp.FreeBSD.org/pub/FreeBSD/CERT/. - + For a list of all &os; CERT security advisories, see + + or . Security Advisories - No advisories. - - No advisories. - - No advisories. + No advisory. Open Issues - No open issues. - - No open issues. - - No open issues. + No open issues. Late-Breaking News - No news. - - No news. - - No news. + No news.
Modified: projects/elftoolchain/release/doc/en_US.ISO8859-1/relnotes/article.xml ============================================================================== --- projects/elftoolchain/release/doc/en_US.ISO8859-1/relnotes/article.xml Mon Jan 20 19:38:16 2014 (r260919) +++ projects/elftoolchain/release/doc/en_US.ISO8859-1/relnotes/article.xml Mon Jan 20 19:38:44 2014 (r260920) @@ -723,14 +723,13 @@ hv_vmbus_load="YES" Al Upgrading from previous releases of &os; - Beginning with &os; 6.2-RELEASE, - binary upgrades between RELEASE versions (and snapshots of the - various security branches) are supported using the - &man.freebsd-update.8; utility. The binary upgrade procedure will - update unmodified userland utilities, as well as unmodified GENERIC or - SMP kernels distributed as a part of an official &os; release. - The &man.freebsd-update.8; utility requires that the host being - upgraded have Internet connectivity. + Binary upgrades between RELEASE versions + (and snapshots of the various security branches) are supported + using the &man.freebsd-update.8; utility. The binary upgrade + procedure will update unmodified userland utilities, as well as + unmodified GENERIC kernels distributed as a part of an official + &os; release. The &man.freebsd-update.8; utility requires that + the host being upgraded have Internet connectivity. Source-based upgrades (those based on recompiling the &os; base system from source code) from previous versions are @@ -738,7 +737,7 @@ hv_vmbus_load="YES" Al /usr/src/UPDATING. - Upgrading &os; should, of course, only be attempted after + Upgrading &os; should only be attempted after backing up all data and configuration files. Modified: projects/elftoolchain/release/scripts/pkg-stage.sh ============================================================================== --- projects/elftoolchain/release/scripts/pkg-stage.sh Mon Jan 20 19:38:16 2014 (r260919) +++ projects/elftoolchain/release/scripts/pkg-stage.sh Mon Jan 20 19:38:44 2014 (r260920) @@ -5,24 +5,31 @@ set -e -usage() { - echo "$(basename ${0}) /path/to/pkg-stage.conf revision" - exit 1 -} - -if [ ! -e "${1}" ]; then - echo "Configuration file not specified." - echo - usage -fi - -if [ "$#" -lt 2 ]; then - usage -fi - -# Source config file for this architecture. -REVISION="${2}" -. "${1}" || exit 1 +export ASSUME_ALWAYS_YES=1 +export PKG_DBDIR="/tmp/pkg" +export PERMISSIVE="YES" +export REPO_AUTOUPDATE="NO" +export PKGCMD="/usr/sbin/pkg -d" + +DVD_PACKAGES="archivers/unzip +devel/subversion +devel/subversion-static +emulators/linux_base-f10 +misc/freebsd-doc-all +net/mpd5 +net/rsync +ports-mgmt/pkg +ports-mgmt/portmaster +shells/bash +shells/zsh +security/sudo +sysutils/screen +www/firefox +www/links +x11-drivers/xf86-video-vmware +x11/gnome2 +x11/kde4 +x11/xorg" # If NOPORTS is set for the release, do not attempt to build pkg(8). if [ ! -f /usr/ports/Makefile ]; then @@ -33,8 +40,13 @@ if [ ! -x /usr/local/sbin/pkg ]; then /usr/bin/make -C /usr/ports/ports-mgmt/pkg install clean fi +export PKG_ABI=$(pkg -vv | grep ^ABI | awk '{print $3}') +export PKG_CACHEDIR="dvd/packages/${PKG_ABI}" + /bin/mkdir -p ${PKG_CACHEDIR} +# Print pkg(8) information to make debugging easier. +${PKGCMD} -vv ${PKGCMD} update -f ${PKGCMD} fetch -d ${DVD_PACKAGES} Modified: projects/elftoolchain/share/man/man4/Makefile ============================================================================== --- projects/elftoolchain/share/man/man4/Makefile Mon Jan 20 19:38:16 2014 (r260919) +++ projects/elftoolchain/share/man/man4/Makefile Mon Jan 20 19:38:44 2014 (r260920) @@ -543,6 +543,7 @@ MAN= aac.4 \ ${_virtio.4} \ ${_virtio_balloon.4} \ ${_virtio_blk.4} \ + ${_virtio_random.4} \ ${_virtio_scsi.4} \ vkbd.4 \ vlan.4 \ @@ -787,6 +788,7 @@ _nxge.4= nxge.4 _virtio.4= virtio.4 _virtio_balloon.4=virtio_balloon.4 _virtio_blk.4= virtio_blk.4 +_virtio_random.4= virtio_random.4 _virtio_scsi.4= virtio_scsi.4 _vmx.4= vmx.4 _vtnet.4= vtnet.4 Copied: projects/elftoolchain/share/man/man4/virtio_random.4 (from r260917, head/share/man/man4/virtio_random.4) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ projects/elftoolchain/share/man/man4/virtio_random.4 Mon Jan 20 19:38:44 2014 (r260920, copy of r260917, head/share/man/man4/virtio_random.4) @@ -0,0 +1,61 @@ +.\" Copyright (c) 2013 Bryan Venteicher +.\" All rights reserved. +.\" +.\" 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 AUTHOR 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 AUTHOR 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. +.\" +.\" $FreeBSD$ +.\" +.Dd December 28, 2013 +.Dt VIRTIO_RANDOM 4 +.Os +.Sh NAME +.Nm virtio_random +.Nd VirtIO Entropy driver +.Sh SYNOPSIS +To compile this driver into the kernel, +place the following lines in your +kernel configuration file: +.Bd -ragged -offset indent +.Cd "device virtio_random" +.Ed +.Pp +Alternatively, to load the driver as a +module at boot time, place the following line in +.Xr loader.conf 5 : +.Bd -literal -offset indent +virtio_random_load="YES" +.Ed +.Sh DESCRIPTION +The +.Nm +device driver provides support for VirtIO entropy devices. +.Pp +The entropy device supplies high-quality randomness from the +hypervisor to the guest. +.Sh SEE ALSO +.Xr random 4 +.Xr virtio 4 +.Sh HISTORY +The +.Nm +driver was written by +.An Bryan Venteicher Aq bryanv@FreeBSD.org . Modified: projects/elftoolchain/share/man/man9/malloc.9 ============================================================================== --- projects/elftoolchain/share/man/man9/malloc.9 Mon Jan 20 19:38:16 2014 (r260919) +++ projects/elftoolchain/share/man/man9/malloc.9 Mon Jan 20 19:38:44 2014 (r260920) @@ -29,7 +29,7 @@ .\" $NetBSD: malloc.9,v 1.3 1996/11/11 00:05:11 lukem Exp $ .\" $FreeBSD$ .\" -.Dd November 15, 2012 +.Dd January 16, 2014 .Dt MALLOC 9 .Os .Sh NAME @@ -214,17 +214,6 @@ of two for requests up to the size of a For larger requests, one or more pages is allocated. While it should not be relied upon, this information may be useful for optimizing the efficiency of memory use. -.Pp -Programmers should be careful not to confuse the malloc flags -.Dv M_NOWAIT -and -.Dv M_WAITOK -with the -.Xr mbuf 9 -flags -.Dv M_DONTWAIT -and -.Dv M_WAIT . .Sh CONTEXT .Fn malloc , .Fn realloc Modified: projects/elftoolchain/share/man/man9/mbuf.9 ============================================================================== --- projects/elftoolchain/share/man/man9/mbuf.9 Mon Jan 20 19:38:16 2014 (r260919) +++ projects/elftoolchain/share/man/man9/mbuf.9 Mon Jan 20 19:38:44 2014 (r260920) @@ -24,7 +24,7 @@ .\" .\" $FreeBSD$ .\" -.Dd December 20, 2013 +.Dd January 16, 2014 .Dt MBUF 9 .Os .\" @@ -381,17 +381,6 @@ A number of other functions and macros r have the same argument because they may at some point need to allocate new .Vt mbufs . -.Pp -Historical -.Vt mbuf -allocator (See -.Sx HISTORY -section) used allocation flags -.Dv M_WAIT -and -.Dv M_DONTWAIT . -These constants are kept for compatibility -and their use in new code is discouraged. .It Fn MGETHDR mbuf how type Allocate an .Vt mbuf Modified: projects/elftoolchain/share/mk/bsd.libnames.mk ============================================================================== --- projects/elftoolchain/share/mk/bsd.libnames.mk Mon Jan 20 19:38:16 2014 (r260919) +++ projects/elftoolchain/share/mk/bsd.libnames.mk Mon Jan 20 19:38:44 2014 (r260920) @@ -36,6 +36,7 @@ LIBCAPSICUM?= ${DESTDIR}${LIBDIR}/libcap LIBCASPER?= ${DESTDIR}${LIBDIR}/libcasper.a LIBCOM_ERR?= ${DESTDIR}${LIBDIR}/libcom_err.a LIBCOMPAT?= ${DESTDIR}${LIBDIR}/libcompat.a +LIBCOMPILER_RT?=${DESTDIR}${LIBDIR}/libcompiler_rt.a LIBCRYPT?= ${DESTDIR}${LIBDIR}/libcrypt.a LIBCRYPTO?= ${DESTDIR}${LIBDIR}/libcrypto.a LIBCTF?= ${DESTDIR}${LIBDIR}/libctf.a @@ -53,8 +54,6 @@ LIBFETCH?= ${DESTDIR}${LIBDIR}/libfetch. LIBFL?= "don't use LIBFL, use LIBL" LIBFORM?= ${DESTDIR}${LIBDIR}/libform.a LIBG2C?= ${DESTDIR}${LIBDIR}/libg2c.a -LIBGCC?= ${DESTDIR}${LIBDIR}/libgcc.a -LIBGCC_PIC?= ${DESTDIR}${LIBDIR}/libgcc_pic.a LIBGEOM?= ${DESTDIR}${LIBDIR}/libgeom.a LIBGNUREGEX?= ${DESTDIR}${LIBDIR}/libgnuregex.a LIBGSSAPI?= ${DESTDIR}${LIBDIR}/libgssapi.a Modified: projects/elftoolchain/sys/amd64/conf/NOTES ============================================================================== --- projects/elftoolchain/sys/amd64/conf/NOTES Mon Jan 20 19:38:16 2014 (r260919) +++ projects/elftoolchain/sys/amd64/conf/NOTES Mon Jan 20 19:38:44 2014 (r260920) @@ -472,6 +472,7 @@ device vtnet # VirtIO Ethernet device device virtio_blk # VirtIO Block device device virtio_scsi # VirtIO SCSI device device virtio_balloon # VirtIO Memory Balloon device +device virtio_random # VirtIO Entropy device device hyperv # HyperV drivers Copied: projects/elftoolchain/sys/amd64/conf/VT (from r260917, head/sys/amd64/conf/VT) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ projects/elftoolchain/sys/amd64/conf/VT Mon Jan 20 19:38:44 2014 (r260920, copy of r260917, head/sys/amd64/conf/VT) @@ -0,0 +1,14 @@ +# VT -- kernel config using the vt(9) system console instead of legacy syscons +# +# For more information see https://wiki.freebsd.org/Newcons +# +# $FreeBSD$ + +include GENERIC +ident VT + +nodevice sc +nodevice vga + +device vt +device vt_vga Modified: projects/elftoolchain/sys/amd64/vmm/intel/vmcs.h ============================================================================== --- projects/elftoolchain/sys/amd64/vmm/intel/vmcs.h Mon Jan 20 19:38:16 2014 (r260919) +++ projects/elftoolchain/sys/amd64/vmm/intel/vmcs.h Mon Jan 20 19:38:44 2014 (r260920) @@ -331,12 +331,18 @@ vmcs_write(uint32_t encoding, uint64_t v #define EXIT_REASON_APIC_WRITE 56 /* + * NMI unblocking due to IRET. + * + * Applies to VM-exits due to hardware exception or EPT fault. + */ +#define EXIT_QUAL_NMIUDTI (1 << 12) +/* * VMCS interrupt information fields */ -#define VMCS_INTR_INFO_VALID (1U << 31) -#define VMCS_INTR_INFO_TYPE(info) (((info) >> 8) & 0x7) -#define VMCS_INTR_INFO_HW_INTR (0 << 8) -#define VMCS_INTR_INFO_NMI (2 << 8) +#define VMCS_INTR_VALID (1U << 31) +#define VMCS_INTR_T_MASK 0x700 /* Interruption-info type */ +#define VMCS_INTR_T_HWINTR (0 << 8) +#define VMCS_INTR_T_NMI (2 << 8) /* * VMCS IDT-Vectoring information fields Modified: projects/elftoolchain/sys/amd64/vmm/intel/vmx.c ============================================================================== --- projects/elftoolchain/sys/amd64/vmm/intel/vmx.c Mon Jan 20 19:38:16 2014 (r260919) +++ projects/elftoolchain/sys/amd64/vmm/intel/vmx.c Mon Jan 20 19:38:44 2014 (r260920) @@ -147,21 +147,6 @@ SYSCTL_INT(_hw_vmm_vmx, OID_AUTO, initia &vmx_initialized, 0, "Intel VMX initialized"); /* - * Virtual NMI blocking conditions. - * - * Some processor implementations also require NMI to be blocked if - * the STI_BLOCKING bit is set. It is possible to detect this at runtime - * based on the (exit_reason,exit_qual) tuple being set to - * (EXIT_REASON_INVAL_VMCS, EXIT_QUAL_NMI_WHILE_STI_BLOCKING). - * - * We take the easy way out and also include STI_BLOCKING as one of the - * gating items for vNMI injection. - */ -static uint64_t nmi_blocking_bits = VMCS_INTERRUPTIBILITY_MOVSS_BLOCKING | - VMCS_INTERRUPTIBILITY_NMI_BLOCKING | - VMCS_INTERRUPTIBILITY_STI_BLOCKING; - -/* * Optional capabilities */ static int cap_halt_exit; @@ -1020,121 +1005,149 @@ static void __inline vmx_set_int_window_exiting(struct vmx *vmx, int vcpu) { - vmx->cap[vcpu].proc_ctls |= PROCBASED_INT_WINDOW_EXITING; - vmcs_write(VMCS_PRI_PROC_BASED_CTLS, vmx->cap[vcpu].proc_ctls); + if ((vmx->cap[vcpu].proc_ctls & PROCBASED_INT_WINDOW_EXITING) == 0) { + vmx->cap[vcpu].proc_ctls |= PROCBASED_INT_WINDOW_EXITING; + vmcs_write(VMCS_PRI_PROC_BASED_CTLS, vmx->cap[vcpu].proc_ctls); + VCPU_CTR0(vmx->vm, vcpu, "Enabling interrupt window exiting"); + } } static void __inline vmx_clear_int_window_exiting(struct vmx *vmx, int vcpu) { + KASSERT((vmx->cap[vcpu].proc_ctls & PROCBASED_INT_WINDOW_EXITING) != 0, + ("intr_window_exiting not set: %#x", vmx->cap[vcpu].proc_ctls)); vmx->cap[vcpu].proc_ctls &= ~PROCBASED_INT_WINDOW_EXITING; vmcs_write(VMCS_PRI_PROC_BASED_CTLS, vmx->cap[vcpu].proc_ctls); + VCPU_CTR0(vmx->vm, vcpu, "Disabling interrupt window exiting"); } static void __inline vmx_set_nmi_window_exiting(struct vmx *vmx, int vcpu) { - vmx->cap[vcpu].proc_ctls |= PROCBASED_NMI_WINDOW_EXITING; - vmcs_write(VMCS_PRI_PROC_BASED_CTLS, vmx->cap[vcpu].proc_ctls); + if ((vmx->cap[vcpu].proc_ctls & PROCBASED_NMI_WINDOW_EXITING) == 0) { + vmx->cap[vcpu].proc_ctls |= PROCBASED_NMI_WINDOW_EXITING; + vmcs_write(VMCS_PRI_PROC_BASED_CTLS, vmx->cap[vcpu].proc_ctls); + VCPU_CTR0(vmx->vm, vcpu, "Enabling NMI window exiting"); + } } static void __inline vmx_clear_nmi_window_exiting(struct vmx *vmx, int vcpu) { + KASSERT((vmx->cap[vcpu].proc_ctls & PROCBASED_NMI_WINDOW_EXITING) != 0, + ("nmi_window_exiting not set %#x", vmx->cap[vcpu].proc_ctls)); vmx->cap[vcpu].proc_ctls &= ~PROCBASED_NMI_WINDOW_EXITING; vmcs_write(VMCS_PRI_PROC_BASED_CTLS, vmx->cap[vcpu].proc_ctls); + VCPU_CTR0(vmx->vm, vcpu, "Disabling NMI window exiting"); } -static int +#define NMI_BLOCKING (VMCS_INTERRUPTIBILITY_NMI_BLOCKING | \ + VMCS_INTERRUPTIBILITY_MOVSS_BLOCKING) +#define HWINTR_BLOCKING (VMCS_INTERRUPTIBILITY_STI_BLOCKING | \ + VMCS_INTERRUPTIBILITY_MOVSS_BLOCKING) + +static void vmx_inject_nmi(struct vmx *vmx, int vcpu) { - uint64_t info, interruptibility; + uint32_t gi, info; - /* Bail out if no NMI requested */ - if (!vm_nmi_pending(vmx->vm, vcpu)) - return (0); + gi = vmcs_read(VMCS_GUEST_INTERRUPTIBILITY); + KASSERT((gi & NMI_BLOCKING) == 0, ("vmx_inject_nmi: invalid guest " + "interruptibility-state %#x", gi)); - interruptibility = vmcs_read(VMCS_GUEST_INTERRUPTIBILITY); - if (interruptibility & nmi_blocking_bits) - goto nmiblocked; + info = vmcs_read(VMCS_ENTRY_INTR_INFO); + KASSERT((info & VMCS_INTR_VALID) == 0, ("vmx_inject_nmi: invalid " + "VM-entry interruption information %#x", info)); /* * Inject the virtual NMI. The vector must be the NMI IDT entry * or the VMCS entry check will fail. */ - info = VMCS_INTR_INFO_NMI | VMCS_INTR_INFO_VALID; - info |= IDT_NMI; + info = IDT_NMI | VMCS_INTR_T_NMI | VMCS_INTR_VALID; vmcs_write(VMCS_ENTRY_INTR_INFO, info); VCPU_CTR0(vmx->vm, vcpu, "Injecting vNMI"); /* Clear the request */ vm_nmi_clear(vmx->vm, vcpu); - return (1); - -nmiblocked: - /* - * Set the NMI Window Exiting execution control so we can inject - * the virtual NMI as soon as blocking condition goes away. - */ - vmx_set_nmi_window_exiting(vmx, vcpu); - - VCPU_CTR0(vmx->vm, vcpu, "Enabling NMI window exiting"); - return (1); } static void vmx_inject_interrupts(struct vmx *vmx, int vcpu, struct vlapic *vlapic) { - int vector; - uint64_t info, rflags, interruptibility; - - const int HWINTR_BLOCKED = VMCS_INTERRUPTIBILITY_STI_BLOCKING | - VMCS_INTERRUPTIBILITY_MOVSS_BLOCKING; + int vector, need_nmi_exiting; + uint64_t rflags; + uint32_t gi, info; - /* - * If there is already an interrupt pending then just return. - * - * This could happen if an interrupt was injected on a prior - * VM entry but the actual entry into guest mode was aborted - * because of a pending AST. - */ - info = vmcs_read(VMCS_ENTRY_INTR_INFO); - if (info & VMCS_INTR_INFO_VALID) - return; + if (vm_nmi_pending(vmx->vm, vcpu)) { + /* + * If there are no conditions blocking NMI injection then + * inject it directly here otherwise enable "NMI window + * exiting" to inject it as soon as we can. + * + * We also check for STI_BLOCKING because some implementations + * don't allow NMI injection in this case. If we are running + * on a processor that doesn't have this restriction it will + * immediately exit and the NMI will be injected in the + * "NMI window exiting" handler. + */ + need_nmi_exiting = 1; + gi = vmcs_read(VMCS_GUEST_INTERRUPTIBILITY); + if ((gi & (HWINTR_BLOCKING | NMI_BLOCKING)) == 0) { + info = vmcs_read(VMCS_ENTRY_INTR_INFO); + if ((info & VMCS_INTR_VALID) == 0) { + vmx_inject_nmi(vmx, vcpu); + need_nmi_exiting = 0; + } else { + VCPU_CTR1(vmx->vm, vcpu, "Cannot inject NMI " + "due to VM-entry intr info %#x", info); + } + } else { + VCPU_CTR1(vmx->vm, vcpu, "Cannot inject NMI due to " + "Guest Interruptibility-state %#x", gi); + } - /* - * NMI injection has priority so deal with those first - */ - if (vmx_inject_nmi(vmx, vcpu)) - return; + if (need_nmi_exiting) + vmx_set_nmi_window_exiting(vmx, vcpu); + } if (virtual_interrupt_delivery) { vmx_inject_pir(vlapic); return; } + /* + * If there is already an interrupt pending then just return. This + * could happen for multiple reasons: + * - A vectoring VM-entry was aborted due to astpending or rendezvous. + * - A VM-exit happened during event injection. + * - A NMI was injected above or after "NMI window exiting" VM-exit. + */ + info = vmcs_read(VMCS_ENTRY_INTR_INFO); + if (info & VMCS_INTR_VALID) + return; + /* Ask the local apic for a vector to inject */ if (!vlapic_pending_intr(vlapic, &vector)) return; - if (vector < 32 || vector > 255) - panic("vmx_inject_interrupts: invalid vector %d\n", vector); + KASSERT(vector >= 32 && vector <= 255, ("invalid vector %d", vector)); /* Check RFLAGS.IF and the interruptibility state of the guest */ rflags = vmcs_read(VMCS_GUEST_RFLAGS); if ((rflags & PSL_I) == 0) goto cantinject; - interruptibility = vmcs_read(VMCS_GUEST_INTERRUPTIBILITY); - if (interruptibility & HWINTR_BLOCKED) + gi = vmcs_read(VMCS_GUEST_INTERRUPTIBILITY); + if (gi & HWINTR_BLOCKING) goto cantinject; /* Inject the interrupt */ - info = VMCS_INTR_INFO_HW_INTR | VMCS_INTR_INFO_VALID; + info = VMCS_INTR_T_HWINTR | VMCS_INTR_VALID; info |= vector; vmcs_write(VMCS_ENTRY_INTR_INFO, info); @@ -1151,8 +1164,37 @@ cantinject: * the interrupt as soon as blocking condition goes away. */ vmx_set_int_window_exiting(vmx, vcpu); +} *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-projects@FreeBSD.ORG Mon Jan 20 22:54:07 2014 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 814252D1; Mon, 20 Jan 2014 22:54:07 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id 6DE1A1442; Mon, 20 Jan 2014 22:54:07 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id s0KMs7Px027866; Mon, 20 Jan 2014 22:54:07 GMT (envelope-from kaiw@svn.freebsd.org) Received: (from kaiw@localhost) by svn.freebsd.org (8.14.7/8.14.7/Submit) id s0KMs73c027865; Mon, 20 Jan 2014 22:54:07 GMT (envelope-from kaiw@svn.freebsd.org) Message-Id: <201401202254.s0KMs73c027865@svn.freebsd.org> From: Kai Wang Date: Mon, 20 Jan 2014 22:54:07 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r260941 - projects/elftoolchain/usr.sbin/pkg X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.17 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 20 Jan 2014 22:54:07 -0000 Author: kaiw Date: Mon Jan 20 22:54:06 2014 New Revision: 260941 URL: http://svnweb.freebsd.org/changeset/base/260941 Log: Fix build: include sys/queue.h header explicitly since the gelf.h header comes with the new libelf will no longer include sys/queue.h. Modified: projects/elftoolchain/usr.sbin/pkg/config.c Modified: projects/elftoolchain/usr.sbin/pkg/config.c ============================================================================== --- projects/elftoolchain/usr.sbin/pkg/config.c Mon Jan 20 22:32:23 2014 (r260940) +++ projects/elftoolchain/usr.sbin/pkg/config.c Mon Jan 20 22:54:06 2014 (r260941) @@ -29,6 +29,7 @@ __FBSDID("$FreeBSD$"); #include +#include #include #include #include From owner-svn-src-projects@FreeBSD.ORG Tue Jan 21 20:17:10 2014 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id E51B0B95; Tue, 21 Jan 2014 20:17:10 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id D11E914BB; Tue, 21 Jan 2014 20:17:10 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id s0LKHAGP039105; Tue, 21 Jan 2014 20:17:10 GMT (envelope-from kaiw@svn.freebsd.org) Received: (from kaiw@localhost) by svn.freebsd.org (8.14.7/8.14.7/Submit) id s0LKHAtG039104; Tue, 21 Jan 2014 20:17:10 GMT (envelope-from kaiw@svn.freebsd.org) Message-Id: <201401212017.s0LKHAtG039104@svn.freebsd.org> From: Kai Wang Date: Tue, 21 Jan 2014 20:17:10 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r260989 - projects/elftoolchain/contrib/elftoolchain/libdwarf X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.17 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 21 Jan 2014 20:17:11 -0000 Author: kaiw Date: Tue Jan 21 20:17:10 2014 New Revision: 260989 URL: http://svnweb.freebsd.org/changeset/base/260989 Log: Remove trailing whitespace. Modified: projects/elftoolchain/contrib/elftoolchain/libdwarf/dwarf_attrval_signed.3 Modified: projects/elftoolchain/contrib/elftoolchain/libdwarf/dwarf_attrval_signed.3 ============================================================================== --- projects/elftoolchain/contrib/elftoolchain/libdwarf/dwarf_attrval_signed.3 Tue Jan 21 19:06:29 2014 (r260988) +++ projects/elftoolchain/contrib/elftoolchain/libdwarf/dwarf_attrval_signed.3 Tue Jan 21 20:17:10 2014 (r260989) @@ -96,7 +96,7 @@ to 1 if the attribute has a non-zero val If the form of the attribute named by argument .Ar attr is -.Dv DW_FORM_flag_present , +.Dv DW_FORM_flag_present , function .Fn dwarf_attrval_flag unconditionally sets the location pointed to by argument From owner-svn-src-projects@FreeBSD.ORG Tue Jan 21 20:23:40 2014 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id F36E4ED0; Tue, 21 Jan 2014 20:23:39 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id E042C1593; Tue, 21 Jan 2014 20:23:39 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id s0LKNdB4042625; Tue, 21 Jan 2014 20:23:39 GMT (envelope-from kaiw@svn.freebsd.org) Received: (from kaiw@localhost) by svn.freebsd.org (8.14.7/8.14.7/Submit) id s0LKNdZF042623; Tue, 21 Jan 2014 20:23:39 GMT (envelope-from kaiw@svn.freebsd.org) Message-Id: <201401212023.s0LKNdZF042623@svn.freebsd.org> From: Kai Wang Date: Tue, 21 Jan 2014 20:23:39 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r260990 - in projects/elftoolchain/lib: libdwarf libelf X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.17 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 21 Jan 2014 20:23:40 -0000 Author: kaiw Date: Tue Jan 21 20:23:39 2014 New Revision: 260990 URL: http://svnweb.freebsd.org/changeset/base/260990 Log: Remove INCSDIR variable which is only used in elftoolchain's own build framework. Modified: projects/elftoolchain/lib/libdwarf/Makefile projects/elftoolchain/lib/libelf/Makefile Modified: projects/elftoolchain/lib/libdwarf/Makefile ============================================================================== --- projects/elftoolchain/lib/libdwarf/Makefile Tue Jan 21 20:17:10 2014 (r260989) +++ projects/elftoolchain/lib/libdwarf/Makefile Tue Jan 21 20:23:39 2014 (r260990) @@ -74,7 +74,6 @@ SRCS= \ libdwarf_str.c INCS= dwarf.h libdwarf.h -INCSDIR= /usr/include GENSRCS= dwarf_pubnames.c dwarf_pubtypes.c dwarf_weaks.c \ dwarf_funcs.c dwarf_vars.c dwarf_types.c \ Modified: projects/elftoolchain/lib/libelf/Makefile ============================================================================== --- projects/elftoolchain/lib/libelf/Makefile Tue Jan 21 20:17:10 2014 (r260989) +++ projects/elftoolchain/lib/libelf/Makefile Tue Jan 21 20:23:39 2014 (r260990) @@ -64,7 +64,6 @@ SRCS= elf.c \ ${GENSRCS} INCS= libelf.h gelf.h -INCSDIR= /usr/include GENSRCS= libelf_fsize.c libelf_msize.c libelf_convert.c CLEANFILES= ${GENSRCS} From owner-svn-src-projects@FreeBSD.ORG Tue Jan 21 20:42:16 2014 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id A4D1D86C; Tue, 21 Jan 2014 20:42:16 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id 78E431706; Tue, 21 Jan 2014 20:42:16 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id s0LKgGwD050200; Tue, 21 Jan 2014 20:42:16 GMT (envelope-from kaiw@svn.freebsd.org) Received: (from kaiw@localhost) by svn.freebsd.org (8.14.7/8.14.7/Submit) id s0LKgGkx050198; Tue, 21 Jan 2014 20:42:16 GMT (envelope-from kaiw@svn.freebsd.org) Message-Id: <201401212042.s0LKgGkx050198@svn.freebsd.org> From: Kai Wang Date: Tue, 21 Jan 2014 20:42:16 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r260991 - in projects/elftoolchain/lib: libdwarf libelf X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.17 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 21 Jan 2014 20:42:16 -0000 Author: kaiw Date: Tue Jan 21 20:42:15 2014 New Revision: 260991 URL: http://svnweb.freebsd.org/changeset/base/260991 Log: Reapply revisions r237528, r237531 and r238741 which make libelf properly include sys/ headers from the source tree instead of the host. These patches are also applied to libdwarf since libdwarf requires the same sys/ headers as libelf. Modified: projects/elftoolchain/lib/libdwarf/Makefile projects/elftoolchain/lib/libelf/Makefile Modified: projects/elftoolchain/lib/libdwarf/Makefile ============================================================================== --- projects/elftoolchain/lib/libdwarf/Makefile Tue Jan 21 20:23:39 2014 (r260990) +++ projects/elftoolchain/lib/libdwarf/Makefile Tue Jan 21 20:42:15 2014 (r260991) @@ -75,14 +75,27 @@ SRCS= \ INCS= dwarf.h libdwarf.h +# +# We need to link against the correct version of these files. One +# solution is to include ../../sys in the include path. This causes +# problems when a header file in sys depends on a file in another +# part of the tree, e.g. a machine dependent header. +# +SRCS+= sys/elf32.h sys/elf64.h sys/elf_common.h + GENSRCS= dwarf_pubnames.c dwarf_pubtypes.c dwarf_weaks.c \ dwarf_funcs.c dwarf_vars.c dwarf_types.c \ dwarf_pro_pubnames.c dwarf_pro_weaks.c \ dwarf_pro_funcs.c dwarf_pro_types.c \ dwarf_pro_vars.c CLEANFILES= ${GENSRCS} +CLEANDIRS= sys CFLAGS+= -I. -I${SRCDIR} -I${TOP}/common -I${TOP}/libelf +sys/elf32.h sys/elf64.h sys/elf_common.h: ${.CURDIR}/../../sys/${.TARGET} + mkdir -p ${.OBJDIR}/sys + ln -sf ${.CURDIR}/../../sys/${.TARGET} ${.TARGET} + LDADD+= -lelf DPADD+= ${LIBELF} Modified: projects/elftoolchain/lib/libelf/Makefile ============================================================================== --- projects/elftoolchain/lib/libelf/Makefile Tue Jan 21 20:23:39 2014 (r260990) +++ projects/elftoolchain/lib/libelf/Makefile Tue Jan 21 20:42:15 2014 (r260991) @@ -65,10 +65,23 @@ SRCS= elf.c \ INCS= libelf.h gelf.h +# +# We need to link against the correct version of these files. One +# solution is to include ../../sys in the include path. This causes +# problems when a header file in sys depends on a file in another +# part of the tree, e.g. a machine dependent header. +# +SRCS+= sys/elf32.h sys/elf64.h sys/elf_common.h + GENSRCS= libelf_fsize.c libelf_msize.c libelf_convert.c CLEANFILES= ${GENSRCS} +CLEANDIRS= sys CFLAGS+= -I. -I${SRCDIR} -I${TOP}/common +sys/elf32.h sys/elf64.h sys/elf_common.h: ${.CURDIR}/../../sys/${.TARGET} + mkdir -p ${.OBJDIR}/sys + ln -sf ${.CURDIR}/../../sys/${.TARGET} ${.TARGET} + SHLIB_MAJOR= 1 MAN= elf.3 \ From owner-svn-src-projects@FreeBSD.ORG Tue Jan 21 20:48:04 2014 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id ED93DC86; Tue, 21 Jan 2014 20:48:04 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id D65D7175E; Tue, 21 Jan 2014 20:48:04 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id s0LKm4Xg051118; Tue, 21 Jan 2014 20:48:04 GMT (envelope-from kaiw@svn.freebsd.org) Received: (from kaiw@localhost) by svn.freebsd.org (8.14.7/8.14.7/Submit) id s0LKm3FB051102; Tue, 21 Jan 2014 20:48:03 GMT (envelope-from kaiw@svn.freebsd.org) Message-Id: <201401212048.s0LKm3FB051102@svn.freebsd.org> From: Kai Wang Date: Tue, 21 Jan 2014 20:48:03 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r260992 - in projects/elftoolchain: contrib/bsnmp/lib etc/rc.d release/doc/en_US.ISO8859-1/relnotes share/misc sys/amd64/vmm sys/amd64/vmm/io sys/arm/conf sys/boot/i386/libi386 sys/boot... X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.17 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 21 Jan 2014 20:48:05 -0000 Author: kaiw Date: Tue Jan 21 20:48:02 2014 New Revision: 260992 URL: http://svnweb.freebsd.org/changeset/base/260992 Log: MFH@260988. Modified: projects/elftoolchain/contrib/bsnmp/lib/asn1.c projects/elftoolchain/etc/rc.d/sysctl projects/elftoolchain/release/doc/en_US.ISO8859-1/relnotes/article.xml projects/elftoolchain/share/misc/bsd-family-tree projects/elftoolchain/share/misc/committers-doc.dot projects/elftoolchain/share/misc/committers-ports.dot projects/elftoolchain/sys/amd64/vmm/io/iommu.c projects/elftoolchain/sys/amd64/vmm/io/ppt.c projects/elftoolchain/sys/amd64/vmm/io/ppt.h projects/elftoolchain/sys/amd64/vmm/vmm.c projects/elftoolchain/sys/arm/conf/NOTES projects/elftoolchain/sys/boot/i386/libi386/comconsole.c projects/elftoolchain/sys/boot/pc98/libpc98/comconsole.c projects/elftoolchain/sys/dev/pci/pci.c projects/elftoolchain/sys/dev/pci/pci_user.c projects/elftoolchain/sys/dev/pci/pcivar.h projects/elftoolchain/sys/dev/vt/hw/fb/vt_fb.c projects/elftoolchain/sys/fs/ext2fs/ext2_bmap.c projects/elftoolchain/sys/fs/ext2fs/ext2_dinode.h projects/elftoolchain/sys/fs/ext2fs/ext2_htree.c projects/elftoolchain/sys/fs/ext2fs/ext2_inode_cnv.c projects/elftoolchain/sys/fs/ext2fs/ext2_lookup.c projects/elftoolchain/sys/fs/ext2fs/ext2_subr.c projects/elftoolchain/sys/fs/ext2fs/ext2_vfsops.c projects/elftoolchain/sys/fs/ext2fs/ext2_vnops.c projects/elftoolchain/sys/fs/ext2fs/inode.h projects/elftoolchain/sys/kern/vfs_bio.c projects/elftoolchain/sys/powerpc/powermac/macio.c projects/elftoolchain/sys/powerpc/powermac/maciovar.h projects/elftoolchain/sys/sys/pciio.h projects/elftoolchain/sys/vm/vm_pageout.c projects/elftoolchain/sys/x86/include/legacyvar.h projects/elftoolchain/sys/x86/pci/pci_bus.c projects/elftoolchain/sys/x86/pci/qpi.c projects/elftoolchain/sys/x86/x86/mptable_pci.c projects/elftoolchain/usr.sbin/pciconf/pciconf.8 projects/elftoolchain/usr.sbin/pciconf/pciconf.c projects/elftoolchain/usr.sbin/usbdump/usbdump.c Directory Properties: projects/elftoolchain/ (props changed) projects/elftoolchain/etc/ (props changed) projects/elftoolchain/sys/ (props changed) projects/elftoolchain/sys/amd64/vmm/ (props changed) projects/elftoolchain/sys/boot/ (props changed) Modified: projects/elftoolchain/contrib/bsnmp/lib/asn1.c ============================================================================== --- projects/elftoolchain/contrib/bsnmp/lib/asn1.c Tue Jan 21 20:42:15 2014 (r260991) +++ projects/elftoolchain/contrib/bsnmp/lib/asn1.c Tue Jan 21 20:48:02 2014 (r260992) @@ -652,7 +652,7 @@ asn_put_objid(struct asn_buf *b, const s err = ASN_ERR_RANGE; } if (oid->subs[0] > 2 || - (oid->subs[0] < 2 && oid->subs[0] >= 40)) { + (oid->subs[0] < 2 && oid->subs[1] >= 40)) { asn_error(NULL, "oid out of range (%u,%u)", oid->subs[0], oid->subs[1]); err = ASN_ERR_RANGE; Modified: projects/elftoolchain/etc/rc.d/sysctl ============================================================================== --- projects/elftoolchain/etc/rc.d/sysctl Tue Jan 21 20:42:15 2014 (r260991) +++ projects/elftoolchain/etc/rc.d/sysctl Tue Jan 21 20:48:02 2014 (r260992) @@ -27,7 +27,9 @@ sysctl_start() esac for _f in /etc/sysctl.conf /etc/sysctl.conf.local; do - [ -r ${_f} ] && ${command} ${command_args} ${_f} > /dev/null + if [ -r ${_f} ]; then + ${command} ${command_args} ${_f} > /dev/null + fi done } Modified: projects/elftoolchain/release/doc/en_US.ISO8859-1/relnotes/article.xml ============================================================================== --- projects/elftoolchain/release/doc/en_US.ISO8859-1/relnotes/article.xml Tue Jan 21 20:42:15 2014 (r260991) +++ projects/elftoolchain/release/doc/en_US.ISO8859-1/relnotes/article.xml Tue Jan 21 20:48:02 2014 (r260992) @@ -1,33 +1,20 @@ %release; ]>
-&os; &release.current; Release Notes - + &os; &release.current; Release Notes The &os; Project $FreeBSD$ - 2000 - 2001 - 2002 - 2003 - 2004 - 2005 - 2006 - 2007 - 2008 - 2009 - 2010 - 2011 - 2012 - 2013 - The &os; Documentation Project + 2014 + The &os; Documentation + Project @@ -40,13 +27,13 @@ - The release notes for &os; &release.current; contain a summary - of the changes made to the &os; base system on the - &release.branch; development line. - This document lists applicable security advisories that were issued since - the last release, as well as significant changes to the &os; - kernel and userland. - Some brief remarks on upgrading are also presented. + The release notes for &os; &release.current; contain + a summary of the changes made to the &os; base system on the + &release.branch; development line. This document lists + applicable security advisories that were issued since the last + release, as well as significant changes to the &os; kernel and + userland. Some brief remarks on upgrading are also + presented. @@ -54,30 +41,32 @@ Introduction This document contains the release notes for &os; - &release.current;. It - describes recently added, changed, or deleted features of &os;. - It also provides some notes on upgrading - from previous versions of &os;. - - The &release.type; distribution to which these release notes - apply represents the latest point along the &release.branch; development - branch since &release.branch; was created. Information regarding pre-built, binary - &release.type; distributions along this branch - can be found at &release.url;. - - The &release.type; distribution to which these release notes - apply represents a point along the &release.branch; development - branch between &release.prev; and the future &release.next;. - Information regarding - pre-built, binary &release.type; distributions along this branch - can be found at &release.url;. - - This distribution of &os; &release.current; is a - &release.type; distribution. It can be found at &release.url; or any of its mirrors. More - information on obtaining this (or other) &release.type; - distributions of &os; can be found in the Obtaining - &os; appendix to the &os; - Handbook. + &release.current;. It describes recently added, changed, or + deleted features of &os;. It also provides some notes on + upgrading from previous versions of &os;. + + The &release.type; distribution to which + these release notes apply represents the latest point along the + &release.branch; development branch since &release.branch; was + created. Information regarding pre-built, binary &release.type; + distributions along this branch can be found at &release.url;. + + The &release.type; distribution to + which these release notes apply represents a point along the + &release.branch; development branch between &release.prev; and the + future &release.next;. Information regarding pre-built, binary + &release.type; distributions along this branch can be found at + &release.url;. + + This distribution of &os; + &release.current; is a &release.type; distribution. It can be + found at &release.url; or + any of its mirrors. More information on obtaining this (or other) + &release.type; distributions of &os; can be found in the Obtaining + &os; appendix to the &os; Handbook. All users are encouraged to consult the release errata before installing &os;. The errata document is updated with @@ -86,637 +75,199 @@ information on known bugs, security advisories, and corrections to documentation. An up-to-date copy of the errata for &os; &release.current; can be found on the &os; Web site. - What's New - This section describes - the most user-visible new or changed features in &os; - since &release.prev;. - In general, changes described here are unique to the &release.branch; - branch unless specifically marked as &merged; features. - - - Typical release note items - document recent security advisories issued after - &release.prev;, - new drivers or hardware support, new commands or options, - major bug fixes, or contributed software upgrades. They may also - list changes to major ports/packages or release engineering - practices. Clearly the release notes cannot list every single - change made to &os; between releases; this document focuses - primarily on security advisories, user-visible changes, and major - architectural improvements. + This section describes the most user-visible new or changed + features in &os; since &release.prev;. In general, changes + described here are unique to the &release.branch; branch unless + specifically marked as &merged; features. + + Typical release note items document recent security advisories + issued after &release.prev;, new drivers or hardware support, new + commands or options, major bug fixes, or contributed software + upgrades. They may also list changes to major ports/packages or + release engineering practices. Clearly the release notes cannot + list every single change made to &os; between releases; this + document focuses primarily on security advisories, user-visible + changes, and major architectural improvements. Security Advisories - + No advisories. Kernel Changes - The use of unmapped VMIO buffers eliminates the need to perform - TLB shootdown for mapping on buffer creation and reuse, greatly reducing the - amount of IPIs for shootdown on big-SMP machines and eliminating up to 25-30% - of the system time on i/o intensive workloads. - - The maximum amount of memory the &os; kernel - can address has been increased from 1TB to 4TB. - - A new &man.cpuset.2; API has been added - for thread to CPU binding and CPU resource grouping and - assignment. The &man.cpuset.1; userland utility has been added - to allow manipulation of processor sets. - - The &man.ddb.4; kernel debugger now has an output capture - facility. Input and output from &man.ddb.4; can now be captured - to a memory buffer for later inspection using &man.sysctl.8; or - a textdump. The new capture command controls - this feature. - - The &man.ddb.4; debugger now supports a simple scripting - facility, which supports a set of named scripts consisting of a - set of &man.ddb.4; commands. These commands can be managed from - within &man.ddb.4; or with the use of the new &man.ddb.8; - utility. More details can be found in the &man.ddb.4; manual - page. - - The kernel now supports a new textdump format of kernel - dumps. A textdump provides higher-level information via - mechanically generated/extracted debugging output, rather than a - simple memory dump. This facility can be used to generate brief - kernel bug reports that are rich in debugging information, but - are not dependent on kernel symbol tables or precisely - synchronized source code. More information can be found in the - &man.textdump.4; manual page. - - Kernel support for M:N threading has been removed. While - the KSE (Kernel Scheduled Entities) project was quite successful - in bringing threading to FreeBSD, the M:N approach taken by the - KSE library was never developed to its full potential. - Backwards compatibility for applications using KSE threading - will be provided via &man.libmap.conf.5; for dynamically linked - binaries. The &os; Project greatly appreciates the work of - &a.julian;, &a.deischen;, and &a.davidxu; on KSE support. - - The &os; kernel now exports information about certain kernel - features via the kern.features sysctl tree. - The &man.feature.present.3; library call provides a convenient - interface for user applications to test the presence of - features. - - The &os; kernel now has support for large - memory page mappings (superpages). - - The ULE - scheduler is now the default process scheduler - in GENERIC kernels. - - Support was added for - the new Intel on-CPU Bull Mountain random number - generator, found on IvyBridge and supposedly later CPUs, - accessible with RDRAND instruction. + Support for GPS ports has been added to + &man.uhso.4;. + + The VT kernel + configuration file has been added, which enables the new + vt console driver. Virtualization support - The BSD Hypervisor, &man.bhyve.8; is included - with &os;. &man.bhyve.8; requires Intel CPUs with VT-x and Extended Page Table (EPT) - support. These features are on all Nehalem models and beyond - (e.g. Nehalem and newer), but not on the lower-end Atom CPUs. - - &man.virtio.4; support has been added. &man.virtio.4; is the - name for the paravirtualization interface developed for the Linux KVM, but - since adopted to other virtual machine hypervisors (with the notable exception of Xen). - This work brings in a BSD-licensed clean-room implementation of the virtio kernel drivers - for disk IO (&man.virtio_blk.4; and &man.virtio_scsi.4;), network IO (&man.vtnet.4;), - memory ballooning (&man.virtio_balloon.4;), and PCI. - Tested with on Qemu/KVM, VirtualBox, and &man.bhyve.4;. - - Paravirtualized drivers which - support Microsoft Hyper-V have been imported and made - part of the amd64 GENERIC kernel. For i386, these drivers are not part of - GENERIC, so the following lines must be added to - /boot/loader.conf to load these drivers: - hv_ata_pci_disengage_load="YES" -hv_netsvc_load="YES" -hv_utils_load="YES" -hv_vmbus_load="YES" Alternatively, the Hyper-V drivers can be added to the i386 - kernel by adding device hyperv to the kernel config, and then - recompiling the kernel. Please refer to: - FreeBSD and Microsoft Windows Server Hyper-V support - for full instructions on how to set up Hyper-V support under FreeBSD. - - The &man.vmx.4; driver has been added. - &man.vmx.4; is a VMware VMXNET3 ethernet driver ported from - OpenBSD. - Xen PVHVM virtualization is now - part of the GENERIC kernel. + The &man.virtio_random.4; driver has + been added to harvest entropy from the host system. + + Unmapped IO support has been added to + &man.virtio_scsi.4;. + Unmapped IO support has been added to + &man.virtio_blk.4;. + + Support for Posted Interrupt + Processing is enabled if supported by the CPU. This + feature can be disabled by running sysctl + hw.vmm.vmx.use_apic_pir=0. Additionally, to + persist this setting across reboots, add + hw.vmm.vmx.use_apic_pir=0 to + /etc/sysctl.conf. + + Support for the Virtual Interrupt + Delivery feature of &intel; VT-x is enabled if + supported by the CPU. This feature can be disabled by running + sysctl hw.vmm.vmx.use_apic_vid=0. + Additionally, to persist this setting across reboots, add + hw.vmm.vmx.use_apic_vid=0 to + /etc/sysctl.conf. ARM support - Raspberry PI support has been added. - Refer to these setup instructions - and quick start - guide. - - The default ABI on ARM is now the ARM EABI. This brings a number of - improvements and allows future support for VFP and Thumb-2. - - ARM support has been greatly improved, including support - for ARMv6 and ARMv7, SMP and thread-local storage (TLS). - Additionally support for some newer SoC like the MV78x60 and OMAP4 was added. - See this announcement - for further details. - - Superpages support on ARM has been added. Superpages support - provides improved performance and scalability by allowing TLB - translations to dynamically cover large physical memory regions. - All ARMv6 and ARMv7-based platforms can take advantage of this feature. - See this page - for further details. - + The &man.nand.4; device is enabled for + ARM devices by default. Boot Loader Changes - The BTX kernel used by the boot - loader has been changed to invoke BIOS routines from real - mode. This change makes it possible to boot &os; from USB - devices. - - A new gptboot boot loader has - been added to support booting from a GPT labeled disk. A - new boot command has been added to - &man.gpt.8;, which makes a GPT disk bootable by writing the - required bits of the boot loader, creating a new boot - partition if required. - +   Hardware Support - The &man.cmx.4; driver, a driver for Omnikey CardMan 4040 - PCMCIA smartcard readers, has been added. - - The &man.syscons.4; driver now supports Colemak keyboard layout. - - The &man.uslcom.4; driver, a driver for Silicon - Laboratories CP2101/CP2102-based USB serial adapters, has been - imported from OpenBSD. - Multimedia Support - Support for version 2.0 of the USB Audio reference design - has been added. New devices should support higher bandwidth, - increased sampling frequency and wider dynamic range. - +   Network Interface Support - The &man.ale.4; driver has been added to provide support - for Atheros AR8121/AR8113/AR8114 Gigabit/Fast Ethernet controllers. - - The &man.em.4; driver has been split into two drivers - with some common parts. The &man.em.4; driver will continue - to support adapters up to the 82575, as well as new - client/desktop adapters. A new &man.igb.4; driver - will support new server adapters. - - The &man.jme.4; driver has been added to provide support - for PCIe network adapters based on JMicron JMC250 Gigabit - Ethernet and JMC260 Fast Ethernet controllers. - - The &man.malo.4; driver has been added to provide - support for Marvell Libertas 88W8335 based PCI network - adapters. - - The firmware for the &man.mxge.4; driver has been - updated from 1.4.25 to 1.4.29. - - The &man.sf.4; driver has been overhauled to improve its - performance and to add support for checksum offloading. It - should also work on all architectures. - - The &man.re.4; driver has been overhauled to fix a - number of issues. This driver now has Wake On LAN (WOL) - support. - - The &man.vr.4; driver has been overhauled to fix a - number of outstanding issues. It also now works on all - architectures. - - The &man.wpi.4; driver has - been updated to include a number of stability fixes. - - The &man.cxgbe.4; driver has been updated to support - 40G/10G Ethernet NICs based on Chelsio's Terminator 5 (T5) ASIC. - - The iw_cxgbe driver has been added. This is an - experimental iWARP/RDMA driver - (kernel verbs only) for Chelsio's T4 and T5 based cards. - - The Open Fabrics Enterprise Distribution (OFED) and - OFED Infiniband core has been - updated to the same version as supplied by Linux version 3.7 - - The Mellanox Infiniband driver has been updated to firmware - version 2.30.3200 for ConnectX3 NICs. Support has been added for ConnectX3 VPI NICs, where - each port can be used as Infiniband 56 GB/s or Ethernet 40 GB/s. Support has been added - for dynamically loading kernel modules for Infiniband core (ibcore) and - IP over Infiniband (ipoib). - - &man.netmap.4; has been added. &man.netmap.4; is a framework for - high-performance direct-to-hardware packet IO, offering low latency and high PPS - rates to userland applications while bypassing any kernel-side packet processing. - With &man.netmap.4; it is trivially possible to fully saturate a 10 Gbps network interface with - minimal packet sizes. For more information, see: - Netmap Project. - + Firmware for &intel; + Centrino™ Wireless-N 105 devices has been added + to the base system. + + Support for the &intel; + Centrino™ Wireless-N 135 chipset has been + added. + + Support for Broadcom chipsets + BCM57764, BCM57767, BCM57782, BCM57786 and BCM57787 has + been added to &man.bge.4;. Network Protocols - &man.carp.4; has been rewritten to make addresses - more sane from the viewpoint of routing daemons such as - quagga/zebra. It also brings support for a single redundant - address on the subnet (carpdev), switching state with - &man.ifconfig.8;, better locking and using modern kernel - interfaces to allocate multicast memberships. - Configuration of the CARP protocol via &man.ifconfig.8; has changed, as well as format - of CARP events submitted to &man.devd.8; has changed. See &man.carp.4; - for more information. The arpbalance feature of &man.carp.4; is currently - not supported anymore. - - The &man.pf.4; firewall now supports fine-grain locking - and better utilization on multi-cpu machines resulting in - significant improvements in performance. - - Support for up to 65536 routing tables has been - introduced. - - Support for setting/matching differentiated services - codepoints (DSCP) in IP header has been added to - &man.ipfw.8;. - +   Disks and Storage - The &man.aac.4; driver now supports volumes larger than - 2TB in size. - - The &man.ata.4; driver now supports a spindown command for - disks; after a configurable amount of time, if no requests - have been received for a disk, the disk will be spun down - until the next request. The &man.atacontrol.8; utility now - supports a spindown command to configure - this feature. - - The &man.hptrr.4; driver has been updated to version 1.2 - from Highpoint. - - &man.nvme.4; has been added and provides NVM Express support. - NVM Express is an optimized register interface, command set and feature set of - PCI Express (PCIe)-based Solid-State Drives (SSDs). For more information, - see nvmexpress.org. - +   File Systems - A new kernel-based iSCSI target and initiator has been - added - - UFS filesystems can now be enlarged with &man.growfs.8; while - mounted read-write. This is especially useful for virtual - machines, allowing the addition of more harddrive space without - interruption of service. - - A state of the art FUSE implementation is now part of the - base system. It allows the use of nearly all fusefs file - systems +   ZFS - &man.bsdinstall.8; now supports installing - ZFS on the root file system. It includes a single configuration menu - that allows you to select all of the required details, including - which drives to use, what ZFS RAID level to use (taking into consideration - the selected number of drives), GPT or MBR, GELI encryption, forcing 4K sectors, - pool name, etc. - - TRIM support has been added for - ZFS. - - Support for the high performance LZ4 compression algorithm - has been added to ZFS. LZ4 is usually faster and can achieve a - higher compression ratio than LZJB, the default compression - algorithm - - Support for L2ARC compression has been added to ZFS. - - The zio nop-write improvement from Illumos - was imported into &os;. To reduce I/O, nop-write skips overwriting - data if the checksum (cryptographically secure) of new data - matches the checksum of existing data. It also saves space if - snapshots are in use. This improvement only works only on - datasets with enabled compression, disabled deduplication and - sha256 checksums. - - ZFS will now compare the checksums of incoming writes to - the checksum of the existing on-disk data and avoid issuing any - write I/O for data that has not changed. This will reduce I/O - as well as space usage because if the old block is referenced - by a snapshot, both copies of the block are kept even though - both contain the same data. - +   - - Userland Changes - On platforms where &man.clang.1; is the default - system compiler, (such as i386, amd64, arm) GCC and GNU libstdc++ are no - longer built by default. &man.clang.1; and libc++ from LLVM are used on - these platforms by instead. GCC 4.2.1 and libstdc++ are still built - and used by default on pc98 and all other platforms where &man.clang.1; - is not the default system compiler. - - - &man.clang.1; and llvm have been updated to - version 3.3 release. Please refer to - - Clang 3.3 Release Notes. - - BIND has been replaced by &man.unbound.8; for - local dns resolution in the base system. With this change, nslookup - and dig are no longer a part of the base system. Users should - instead use &man.host.1; and &man.drill.1; Alternatively, - nslookup and dig can be obtained by installing the - dns/bind-tools port. - - sysinstall has been removed from the base system. - Auxiliary libraries and tools used by sysinstall such as libdisk, libftpio, - and sade have also been removed. sysinstall has been replaced by - &man.bsdinstall.8; and &man.bsdconfig.8;. - - &man.freebsd-version.1; has been added. This tool - makes a best effort to determine the version and patch level of - the installed kernel and userland. - - GNU patch has been removed from the base system, and replaced - by a BSD-licensed &man.patch.1; program. - - GNU sort has been removed from the base system, and replaced - by a BSD-licensed &man.sort.1; program. - - Berkely yacc (byacc) has been imported - from invisible island. - This brings bison compatibilities to &man.yacc.1; while preserving full - backwards compatibility with previous version of &man.yacc.1;. - - &man.lex.1; has been replaced by flex 2.5.37 - - &man.make.1; has been replaced with the - "Portable" BSD make tool (bmake) from NetBSD. - - The &man.adduser.8; utility now supports - a option to set the mode of a new user's - home directory. - - BSD-licensed versions of &man.ar.1; and &man.ranlib.1;, - based on libarchive, have replaced the GNU - Binutils versions of these utilities. - - BSD-licensed versions of &man.bc.1; and &man.dc.1; have - replaced their GNU counterparts. - - &man.chflags.1; now supports a flag for - verbose output and a flag to ignore errors - with the same semantics as (for example) - &man.chmod.1;. - - For compatibility with other implementations, &man.cp.1; now - supports a flag, which is equivalent to - specifying the flags. - - BSD-licensed version of &man.cpio.1; based on - libarchive, has replaced the GNU cpio. - Note that the GNU cpio is still installed as - gcpio. - - The &man.env.1; program now supports - which will completely unset the given variable - name by removing it from the environment, - instead of just setting it to a null value. - - The &man.fdopendir.3; library function has been added. - - The &man.fetch.3; library now support HTTP 1.1 - If-Modified-Since behavior. The &man.fetch.1; program now - supports - which will only download the specified HTTP URL if the content - is newer than filename. - - &man.find.1; has been enhanced by the addition of a number - of primaries that were present in GNU find but not &os; - &man.find.1;. - - &man.kgdb.1; now supports a new add-kld - command to make it easier to debug crash dumps with kernel - modules. - - The &man.ls.1; program now supports a - option to specify a date format string to be used with the long - format () output. - - &man.nc.1; now supports a switch to - disable the use of TCP options. - - &man.nc.1;'s switch has been deprecated. - It will be removed in a future release. - - The &man.ping6.8; utility now returns 2 - when the packet transmission was successful but no responses - were received (this is the same behavior as &man.ping.8;). - It returned a non-zero value before this change. - - The &man.procstat.1; utility has been added to display - detailed information about processes. - - The &man.realpath.1; utility now supports - a flag to suppress warnings; it now also - accepts multiple paths on its command line. - - &man.sh.1; has many bug fixes, some new features, and will now - refuse to parse some invalid scripts. Additionally, it now - has filename completion and defaults to the "emacs" editing - mode. - - The &man.split.1; utility now supports a - flag to split a file into a certain number of chunks. - - The &man.tar.1; utility now supports a - flag to enable &man.compress.1;-style - compression/decompression. - - The &man.tar.1; utility now supports a - flag to ignore user/group names - on create and extract. - - The &man.tar.1; utility now supports an - flag to sparsify files on extraction. - - The &man.tar.1; utility now supports a - flag to substitute filenames based on the specified regular - expression. - - The &man.tcgetsid.3; library function has been added to - return the process group ID for the session leader for the - controlling terminal. It is defined in IEEE Std 1003.1-2001 - (POSIX). - - &man.top.1; now supports a flag to - provide per-CPU usage statistics. - - &man.zdump.8; is now working properly on 64 bit architectures. - - - &man.traceroute.8; now has the ability to print the AS - number for each hop with the new switch; a - new option allows selecting a particular - WHOIS server. - - &man.traceroute6.8; now supports a flag - to send probe packets with no upper-layer protocol, rather than - the usual UDP probe packets. + Support for displaying VPD for PCI devices + via &man.pciconf.8; has been added. + + A new flag, onifconsole has + been added to /etc/ttys. This allows the + system to provide a login prompt via serial console if the + device is an active kernel console, otherwise it is equivalent + to off. + + Allow &man.pciconf.8; to identify PCI + devices that are attached to a driver to be identified by their + device name instead of just the selector. Additionally, an + optional device argument to the -l flag + to restrict the output to only listing details about a single + device. + + When unable to load a kernel module with + &man.kldload.8;, a message informing to view output of + &man.dmesg.8; is now printed, opposed to the previous output + Exec format error.. + + The &man.casperd.8; daemon has been added, + which provides access to functionality that is not available in + the capability mode sandbox. <filename>/etc/rc.d</filename> Scripts - - +   Contributed Software - &man.jemalloc.3; has been updated to 3.4.0. - See this link. - for more details. + &man.byacc.1; has been updated to version + 20140101. - AMD has been updated from 6.0.10 - to 6.1.5. - - awk has been updated from 1 May - 2007 release to the 23 October 2007 release. - - bzip2 has been updated from 1.0.4 - to 1.0.5. - - CVS has been removed from the - base system, but is still available from ports - - Subversion has been imported into the base system and - is installed as svnlite. svnlite - should only be used for checking out &os; source and committing, and does not - replace the full Subversion port. - - file has been updated to 5.11. - - hostapd has been - updated from 0.5.8 to 0.5.10. - - IPFilter has been updated to 5.1.2. - - less has been updated to - v458. - - ncurses has been updated from - to 5.7-20081102. - - OpenSSH has been updated - to 6.4. - - OpenPAM has been updated to - the Micrampelis release. - - sendmail has been updated from - 8.14.1 to 8.14.7. - - The timezone database has been updated from - the tzdata2008h release to - the tzdata2009m release. - - The stdtime part of libc, &man.zdump.8; and &man.zic.8; - have been updated from the tzcode2004a - release to the tzcode2009h release. - If you have upgraded from source or via the &man.freebsd-update.8;, - then please run &man.tzsetup.8; to install a new /etc/localtime. - - - WPA Supplicant has been - updated to 2.0. - - xz has been updated - from snapshot as of 12 April 2010 to 5.0.0. - - &man.nvi.1; has been updated to 2.1.2. - - &man.nvi.1; supports wide character locales. + Timezone data files have been updated to + version 2013i. + &man.lldb.1; has been updated to upstream + snapshot version r196259. Ports/Packages Collection Infrastructure - The pkg_add, pkg_create, pkg_delete, pkg_info, - pkg_updating, and pkg_version utilities have been removed. - &man.pkg.7; must now be used to install binary packages. &man.pkg.7; - is the next generation &os; package manager, also referred to as "pkgng". - +   Release Engineering and Integration - The supported version of - the GNOME desktop environment - (x11/gnome2) has been - updated from 2.20.1 to 2.22. - +   Documentation - - +   @@ -737,9 +288,8 @@ hv_vmbus_load="YES" Al /usr/src/UPDATING. - Upgrading &os; should only be attempted after - backing up all data and configuration - files. + Upgrading &os; should only be attempted after backing up + all data and configuration files.
Modified: projects/elftoolchain/share/misc/bsd-family-tree ============================================================================== --- projects/elftoolchain/share/misc/bsd-family-tree Tue Jan 21 20:42:15 2014 (r260991) +++ projects/elftoolchain/share/misc/bsd-family-tree Tue Jan 21 20:48:02 2014 (r260992) @@ -289,9 +289,16 @@ FreeBSD 5.2 | | | | | | | | | | | | | | | | | -FreeBSD 10 -current | NetBSD -current OpenBSD -current | + | | NetBSD -current OpenBSD -current | | | | | | - v v v v v + | v v v v + | + *--FreeBSD + | 10.0 + | + | +FreeBSD 11 -current + v Time ---------------- @@ -605,6 +612,7 @@ NetBSD 6.1.2 2013-09-30 [NBD] Mac OS X 10.9 2013-10-22 [APL] OpenBSD 5.4 2013-11-01 [OBD] DragonFly 3.6.0 2013-11-25 [DFB] +FreeBSD 10.0 2014-01-20 [FBD] Bibliography ------------------------ Modified: projects/elftoolchain/share/misc/committers-doc.dot ============================================================================== --- projects/elftoolchain/share/misc/committers-doc.dot Tue Jan 21 20:42:15 2014 (r260991) +++ projects/elftoolchain/share/misc/committers-doc.dot Tue Jan 21 20:48:02 2014 (r260992) @@ -68,6 +68,7 @@ gavin [label="Gavin Atkinson\ngavin@Free gjb [label="Glen Barber\ngjb@FreeBSD.org\n2010/09/01"] hrs [label="Hiroki Sato\nhrs@FreeBSD.org\n2000/07/06"] issyl0 [label="Isabell Long\nissyl0@FreeBSD.org\n2012/04/25"] +jgh [label="Jason Helfman\njgh@FreeBSD.org\n2014/01/20"] jkois [label="Johann Kois\njkois@FreeBSD.org\n2004/11/11"] joel [label="Joel Dahl\njoel@FreeBSD.org\n2005/04/05"] keramida [label="Giorgos Keramidas\nkeramida@FreeBSD.org\n2001/10/12"] @@ -97,6 +98,7 @@ bcr -> wblock bcr -> eadler bcr -> dru bcr -> crees +bcr -> jgh blackend -> ale @@ -163,10 +165,13 @@ nik -> keramida remko -> jkois remko -> rene +remko -> jgh simon -> josef simon -> remko trhodes -> danger trhodes -> jcamou + +wblock -> jgh } Modified: projects/elftoolchain/share/misc/committers-ports.dot ============================================================================== --- projects/elftoolchain/share/misc/committers-ports.dot Tue Jan 21 20:42:15 2014 (r260991) +++ projects/elftoolchain/share/misc/committers-ports.dot Tue Jan 21 20:48:02 2014 (r260992) @@ -105,6 +105,7 @@ gerald [label="Gerald Pfeifer\ngerald@Fr gjb [label="Glen Barber\ngjb@FreeBSD.org\n2012/06/19"] glarkin [label="Greg Larkin\nglarkin@FreeBSD.org\n2008/07/17"] glewis [label="Greg Lewis\nglewis@FreeBSD.org\n2002/04/08"] +grembo [label="Michael Gmelin\ngrembo@FreeBSD.org\n2014/01/21"] gnn [label="George Neville-Neil\ngnn@FreeBSD.org\n2013/09/04"] hq [label="Herve Quiroz\nhq@FreeBSD.org\n2004/08/05"] ijliao [label="Ying-Chieh Liao\nijliao@FreeBSD.org\n2001/01/20"] Modified: projects/elftoolchain/sys/amd64/vmm/io/iommu.c ============================================================================== --- projects/elftoolchain/sys/amd64/vmm/io/iommu.c Tue Jan 21 20:42:15 2014 (r260991) +++ projects/elftoolchain/sys/amd64/vmm/io/iommu.c Tue Jan 21 20:48:02 2014 (r260992) @@ -33,6 +33,7 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include #include @@ -43,7 +44,13 @@ __FBSDID("$FreeBSD$"); #include "vmm_mem.h" #include "iommu.h" -static boolean_t iommu_avail; +SYSCTL_DECL(_hw_vmm); +SYSCTL_NODE(_hw_vmm, OID_AUTO, iommu, CTLFLAG_RW, 0, "bhyve iommu parameters"); + +static int iommu_avail; +SYSCTL_INT(_hw_vmm_iommu, OID_AUTO, initialized, CTLFLAG_RD, &iommu_avail, + 0, "bhyve iommu initialized?"); + static struct iommu_ops *ops; static void *host_domain; @@ -160,7 +167,7 @@ iommu_init(void) if (error) return; - iommu_avail = TRUE; + iommu_avail = 1; /* * Create a domain for the devices owned by the host Modified: projects/elftoolchain/sys/amd64/vmm/io/ppt.c ============================================================================== --- projects/elftoolchain/sys/amd64/vmm/io/ppt.c Tue Jan 21 20:42:15 2014 (r260991) +++ projects/elftoolchain/sys/amd64/vmm/io/ppt.c Tue Jan 21 20:48:02 2014 (r260992) @@ -38,6 +38,7 @@ __FBSDID("$FreeBSD$"); #include #include #include *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-projects@FreeBSD.ORG Tue Jan 21 21:11:08 2014 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 651693DA; Tue, 21 Jan 2014 21:11:08 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id 525B4192E; Tue, 21 Jan 2014 21:11:08 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id s0LLB8CG062023; Tue, 21 Jan 2014 21:11:08 GMT (envelope-from kaiw@svn.freebsd.org) Received: (from kaiw@localhost) by svn.freebsd.org (8.14.7/8.14.7/Submit) id s0LLB8a3062022; Tue, 21 Jan 2014 21:11:08 GMT (envelope-from kaiw@svn.freebsd.org) Message-Id: <201401212111.s0LLB8a3062022@svn.freebsd.org> From: Kai Wang Date: Tue, 21 Jan 2014 21:11:08 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r260993 - projects/elftoolchain/lib/libdwarf X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.17 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 21 Jan 2014 21:11:08 -0000 Author: kaiw Date: Tue Jan 21 21:11:07 2014 New Revision: 260993 URL: http://svnweb.freebsd.org/changeset/base/260993 Log: Bump SHLIB_MAJOR for libdwarf as ABI/API has changed. Modified: projects/elftoolchain/lib/libdwarf/Makefile Modified: projects/elftoolchain/lib/libdwarf/Makefile ============================================================================== --- projects/elftoolchain/lib/libdwarf/Makefile Tue Jan 21 20:48:02 2014 (r260992) +++ projects/elftoolchain/lib/libdwarf/Makefile Tue Jan 21 21:11:07 2014 (r260993) @@ -99,7 +99,7 @@ sys/elf32.h sys/elf64.h sys/elf_common.h LDADD+= -lelf DPADD+= ${LIBELF} -SHLIB_MAJOR= 3 +SHLIB_MAJOR= 4 MAN= dwarf.3 \ dwarf_add_arange.3 \ From owner-svn-src-projects@FreeBSD.ORG Tue Jan 21 21:13:13 2014 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id DA502644; Tue, 21 Jan 2014 21:13:13 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id C7842195E; Tue, 21 Jan 2014 21:13:13 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id s0LLDDv6062365; Tue, 21 Jan 2014 21:13:13 GMT (envelope-from kaiw@svn.freebsd.org) Received: (from kaiw@localhost) by svn.freebsd.org (8.14.7/8.14.7/Submit) id s0LLDD6m062364; Tue, 21 Jan 2014 21:13:13 GMT (envelope-from kaiw@svn.freebsd.org) Message-Id: <201401212113.s0LLDD6m062364@svn.freebsd.org> From: Kai Wang Date: Tue, 21 Jan 2014 21:13:13 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r260994 - projects/elftoolchain/lib/libelf X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.17 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 21 Jan 2014 21:13:13 -0000 Author: kaiw Date: Tue Jan 21 21:13:13 2014 New Revision: 260994 URL: http://svnweb.freebsd.org/changeset/base/260994 Log: Bump SHLIB_MAJOR for libelf. Modified: projects/elftoolchain/lib/libelf/Makefile Modified: projects/elftoolchain/lib/libelf/Makefile ============================================================================== --- projects/elftoolchain/lib/libelf/Makefile Tue Jan 21 21:11:07 2014 (r260993) +++ projects/elftoolchain/lib/libelf/Makefile Tue Jan 21 21:13:13 2014 (r260994) @@ -82,7 +82,7 @@ sys/elf32.h sys/elf64.h sys/elf_common.h mkdir -p ${.OBJDIR}/sys ln -sf ${.CURDIR}/../../sys/${.TARGET} ${.TARGET} -SHLIB_MAJOR= 1 +SHLIB_MAJOR= 2 MAN= elf.3 \ elf_begin.3 \ From owner-svn-src-projects@FreeBSD.ORG Tue Jan 21 21:30:45 2014 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 5C592BEC; Tue, 21 Jan 2014 21:30:45 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id 491551A80; Tue, 21 Jan 2014 21:30:45 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id s0LLUjnX069565; Tue, 21 Jan 2014 21:30:45 GMT (envelope-from kaiw@svn.freebsd.org) Received: (from kaiw@localhost) by svn.freebsd.org (8.14.7/8.14.7/Submit) id s0LLUjPJ069564; Tue, 21 Jan 2014 21:30:45 GMT (envelope-from kaiw@svn.freebsd.org) Message-Id: <201401212130.s0LLUjPJ069564@svn.freebsd.org> From: Kai Wang Date: Tue, 21 Jan 2014 21:30:45 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r260995 - projects/elftoolchain X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.17 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 21 Jan 2014 21:30:45 -0000 Author: kaiw Date: Tue Jan 21 21:30:44 2014 New Revision: 260995 URL: http://svnweb.freebsd.org/changeset/base/260995 Log: Update OLD_LIBS. Modified: projects/elftoolchain/ObsoleteFiles.inc Modified: projects/elftoolchain/ObsoleteFiles.inc ============================================================================== --- projects/elftoolchain/ObsoleteFiles.inc Tue Jan 21 21:13:13 2014 (r260994) +++ projects/elftoolchain/ObsoleteFiles.inc Tue Jan 21 21:30:44 2014 (r260995) @@ -38,6 +38,11 @@ # xargs -n1 | sort | uniq -d; # done +# 201401xx: libelf and libdwarf import +OLD_LIBS+=usr/lib/libelf.so.1 +OLD_LIBS+=usr/lib32/libelf.so.1 +OLD_LIBS+=usr/lib/libdwarf.so.3 +OLD_LIBS+=usr/lib32/libdwarf.so.3 # 20131215: libcam version bumped OLD_LIBS+=lib/libcam.so.6 usr/lib32/libcam.so.6 # 20131202: libcapsicum and libcasper moved to /lib/ From owner-svn-src-projects@FreeBSD.ORG Wed Jan 22 13:43:55 2014 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 4A0F3ABE; Wed, 22 Jan 2014 13:43:55 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id 361A5199F; Wed, 22 Jan 2014 13:43:55 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id s0MDhtbm059819; Wed, 22 Jan 2014 13:43:55 GMT (envelope-from kaiw@svn.freebsd.org) Received: (from kaiw@localhost) by svn.freebsd.org (8.14.7/8.14.7/Submit) id s0MDhtq2059818; Wed, 22 Jan 2014 13:43:55 GMT (envelope-from kaiw@svn.freebsd.org) Message-Id: <201401221343.s0MDhtq2059818@svn.freebsd.org> From: Kai Wang Date: Wed, 22 Jan 2014 13:43:55 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r261025 - projects/elftoolchain/cddl/contrib/opensolaris/tools/ctf/cvt X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.17 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 22 Jan 2014 13:43:55 -0000 Author: kaiw Date: Wed Jan 22 13:43:54 2014 New Revision: 261025 URL: http://svnweb.freebsd.org/changeset/base/261025 Log: Let ctfconvert accept DWARF version 3 and 4. Modified: projects/elftoolchain/cddl/contrib/opensolaris/tools/ctf/cvt/dwarf.c Modified: projects/elftoolchain/cddl/contrib/opensolaris/tools/ctf/cvt/dwarf.c ============================================================================== --- projects/elftoolchain/cddl/contrib/opensolaris/tools/ctf/cvt/dwarf.c Wed Jan 22 10:57:42 2014 (r261024) +++ projects/elftoolchain/cddl/contrib/opensolaris/tools/ctf/cvt/dwarf.c Wed Jan 22 13:43:54 2014 (r261025) @@ -96,8 +96,10 @@ #include "list.h" #include "traverse.h" -/* The version of DWARF which we support. */ +/* The versions of DWARF which we support. */ #define DWARF_VERSION 2 +#define DWARF_VERSION3 3 +#define DWARF_VERSION4 4 /* * We need to define a couple of our own intrinsics, to smooth out some of the @@ -1981,9 +1983,10 @@ dw_read(tdata_t *td, Elf *elf, char *fil terminate("file contains too many types\n"); debug(1, "DWARF version: %d\n", vers); - if (vers != DWARF_VERSION) { + if (vers != DWARF_VERSION && vers != DWARF_VERSION3 && + vers != DWARF_VERSION4) { terminate("file contains incompatible version %d DWARF code " - "(version 2 required)\n", vers); + "(version 2, 3, or 4 required)\n", vers); } if (die_string(&dw, cu, DW_AT_producer, &prod, 0)) { From owner-svn-src-projects@FreeBSD.ORG Thu Jan 23 02:08:58 2014 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 19837596; Thu, 23 Jan 2014 02:08:58 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id 057ED1E14; Thu, 23 Jan 2014 02:08:58 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id s0N28v0A083276; Thu, 23 Jan 2014 02:08:57 GMT (envelope-from jhibbits@svn.freebsd.org) Received: (from jhibbits@localhost) by svn.freebsd.org (8.14.7/8.14.7/Submit) id s0N28val083275; Thu, 23 Jan 2014 02:08:57 GMT (envelope-from jhibbits@svn.freebsd.org) Message-Id: <201401230208.s0N28val083275@svn.freebsd.org> From: Justin Hibbits Date: Thu, 23 Jan 2014 02:08:57 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r261069 - projects/pmac_pmu/sys/powerpc/powermac X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.17 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 23 Jan 2014 02:08:58 -0000 Author: jhibbits Date: Thu Jan 23 02:08:57 2014 New Revision: 261069 URL: http://svnweb.freebsd.org/changeset/base/261069 Log: Add some IER/IFR #defines for the PMU VIA. Modified: projects/pmac_pmu/sys/powerpc/powermac/viareg.h Modified: projects/pmac_pmu/sys/powerpc/powermac/viareg.h ============================================================================== --- projects/pmac_pmu/sys/powerpc/powermac/viareg.h Thu Jan 23 01:09:33 2014 (r261068) +++ projects/pmac_pmu/sys/powerpc/powermac/viareg.h Thu Jan 23 02:08:57 2014 (r261069) @@ -47,6 +47,10 @@ #define vPB4 0x10 #define vPB5 0x20 #define vSR_INT 0x04 +#define vCB2_INT 0x08 +#define vCB1_INT 0x10 #define vSR_OUT 0x10 +#define vIER_SET 0x80 +#define vIER_CLR 0x00 #endif /* _POWERPC_VIAREG_H_ */ From owner-svn-src-projects@FreeBSD.ORG Thu Jan 23 02:10:31 2014 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 4D62568E; Thu, 23 Jan 2014 02:10:31 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id 39CB11E1C; Thu, 23 Jan 2014 02:10:31 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id s0N2AVtT085517; Thu, 23 Jan 2014 02:10:31 GMT (envelope-from jhibbits@svn.freebsd.org) Received: (from jhibbits@localhost) by svn.freebsd.org (8.14.7/8.14.7/Submit) id s0N2AULH085512; Thu, 23 Jan 2014 02:10:30 GMT (envelope-from jhibbits@svn.freebsd.org) Message-Id: <201401230210.s0N2AULH085512@svn.freebsd.org> From: Justin Hibbits Date: Thu, 23 Jan 2014 02:10:30 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r261070 - projects/pmac_pmu/sys/powerpc/powermac X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.17 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 23 Jan 2014 02:10:31 -0000 Author: jhibbits Date: Thu Jan 23 02:10:30 2014 New Revision: 261070 URL: http://svnweb.freebsd.org/changeset/base/261070 Log: Add suspend/resume for Intrepid, Pangea, and Shasta Mac-IO chipsets. Also, fix a mis-merge. Modified: projects/pmac_pmu/sys/powerpc/powermac/macio.c projects/pmac_pmu/sys/powerpc/powermac/maciovar.h Modified: projects/pmac_pmu/sys/powerpc/powermac/macio.c ============================================================================== --- projects/pmac_pmu/sys/powerpc/powermac/macio.c Thu Jan 23 02:08:57 2014 (r261069) +++ projects/pmac_pmu/sys/powerpc/powermac/macio.c Thu Jan 23 02:10:30 2014 (r261070) @@ -71,7 +71,7 @@ struct macio_softc { struct resource *sc_memr; int sc_rev; int sc_devid; - uint32_t saved_fcrs[6]; + uint32_t saved_fcrs[11]; uint32_t saved_mbcr; }; @@ -665,11 +665,50 @@ macio_enable_wireless(device_t dev, bool static int macio_suspend(device_t dev) { - uint32_t temp; struct macio_softc *sc = device_get_softc(dev); + uint32_t temp; + uint32_t fcr_bits[3][2]; powerpc_sync(); + if (sc->sc_devid == 0x22) { + fcr_bits[0][0] = KEYLARGO_FCR0_SLEEP_SET; + fcr_bits[0][1] = KEYLARGO_FCR0_SLEEP_CLR; + fcr_bits[1][0] = KEYLARGO_FCR1_SLEEP_SET; + fcr_bits[1][1] = KEYLARGO_FCR1_SLEEP_CLR; + fcr_bits[2][0] = KEYLARGO_FCR2_SLEEP_SET; + fcr_bits[2][0] = KEYLARGO_FCR2_SLEEP_SET; + fcr_bits[3][1] = KEYLARGO_FCR3_SLEEP_CLR; + fcr_bits[3][1] = KEYLARGO_FCR3_SLEEP_CLR; + } else if (sc->sc_devid == 0x25) { + fcr_bits[0][0] = PANGEA_FCR0_SLEEP_SET; + fcr_bits[0][1] = PANGEA_FCR0_SLEEP_CLR; + fcr_bits[1][0] = PANGEA_FCR1_SLEEP_SET; + fcr_bits[1][1] = PANGEA_FCR1_SLEEP_CLR; + fcr_bits[2][0] = PANGEA_FCR2_SLEEP_SET; + fcr_bits[2][0] = PANGEA_FCR2_SLEEP_SET; + fcr_bits[3][1] = PANGEA_FCR3_SLEEP_CLR; + fcr_bits[3][1] = PANGEA_FCR3_SLEEP_CLR; + } else if (sc->sc_devid == 0x3e) { + fcr_bits[0][0] = INTREPID_FCR0_SLEEP_SET; + fcr_bits[0][1] = INTREPID_FCR0_SLEEP_CLR; + fcr_bits[1][0] = INTREPID_FCR1_SLEEP_SET; + fcr_bits[1][1] = INTREPID_FCR1_SLEEP_CLR; + fcr_bits[2][0] = INTREPID_FCR2_SLEEP_SET; + fcr_bits[2][0] = INTREPID_FCR2_SLEEP_SET; + fcr_bits[3][1] = INTREPID_FCR3_SLEEP_CLR; + fcr_bits[3][1] = INTREPID_FCR3_SLEEP_CLR; + } else if (sc->sc_devid == 0x4f) { + fcr_bits[0][0] = K2_FCR0_SLEEP_SET; + fcr_bits[0][1] = K2_FCR0_SLEEP_CLR; + fcr_bits[1][0] = K2_FCR1_SLEEP_SET; + fcr_bits[1][1] = K2_FCR1_SLEEP_CLR; + fcr_bits[2][0] = K2_FCR2_SLEEP_SET; + fcr_bits[2][0] = K2_FCR2_SLEEP_SET; + fcr_bits[3][1] = K2_FCR3_SLEEP_CLR; + fcr_bits[3][1] = K2_FCR3_SLEEP_CLR; + } + sc->saved_fcrs[0] = bus_read_4(sc->sc_memr, KEYLARGO_FCR0); sc->saved_fcrs[1] = bus_read_4(sc->sc_memr, KEYLARGO_FCR1); sc->saved_fcrs[2] = bus_read_4(sc->sc_memr, KEYLARGO_FCR2); @@ -677,16 +716,24 @@ static int macio_suspend(device_t dev) sc->saved_fcrs[4] = bus_read_4(sc->sc_memr, KEYLARGO_FCR4); sc->saved_fcrs[5] = bus_read_4(sc->sc_memr, KEYLARGO_FCR5); + if (sc->sc_devid == 0x4f) { + sc->saved_fcrs[6] = bus_read_4(sc->sc_memr, K2_FCR6); + sc->saved_fcrs[7] = bus_read_4(sc->sc_memr, K2_FCR7); + sc->saved_fcrs[8] = bus_read_4(sc->sc_memr, K2_FCR8); + sc->saved_fcrs[9] = bus_read_4(sc->sc_memr, K2_FCR9); + sc->saved_fcrs[10] = bus_read_4(sc->sc_memr, K2_FCR10); + } + temp = sc->saved_fcrs[0]; - temp |= FCR0_USB_REF_SUSPEND; - bus_write_4(sc->sc_memr, KEYLARGO_FCR0, temp); - eieio(); powerpc_sync(); - DELAY(1000); + if (sc->sc_devid == 0x22) { + temp |= FCR0_USB_REF_SUSPEND; + bus_write_4(sc->sc_memr, KEYLARGO_FCR0, temp); + eieio(); powerpc_sync(); + DELAY(1000); + } - temp &= ~(FCR0_SCCA_ENABLE | FCR0_SCCB_ENABLE | - FCR0_SCC_CELL_ENABLE | FCR0_IRDA_ENABLE | - FCR0_IRDA_CLK32_ENABLE | - FCR0_IRDA_CLK19_ENABLE); + temp |= fcr_bits[0][0]; + temp &= ~fcr_bits[0][1]; bus_write_4(sc->sc_memr, KEYLARGO_FCR0, temp); eieio(); powerpc_sync(); @@ -699,31 +746,21 @@ static int macio_suspend(device_t dev) } temp = sc->saved_fcrs[1]; - temp &= ~(FCR1_AUDIO_SEL_22MCLK | FCR1_AUDIO_CLK_ENABLE | - FCR1_AUDIO_CLKOUT_ENABLE | FCR1_AUDIO_CELL_ENABLE | - FCR1_I2S0_CELL_ENABLE | FCR1_I2S0_CLK_ENABLE | - FCR1_I2S0_ENABLE | - FCR1_I2S1_CELL_ENABLE | FCR1_I2S1_CLK_ENABLE | - FCR1_I2S1_ENABLE | - FCR1_EIDE0_ENABLE | FCR1_EIDE0_RESET | - FCR1_EIDE1_ENABLE | FCR1_EIDE1_RESET | - FCR1_UIDE_ENABLE - ); + temp |= fcr_bits[1][0]; + temp &= ~fcr_bits[1][1]; + bus_write_4(sc->sc_memr, KEYLARGO_FCR1, temp); eieio(); powerpc_sync(); temp = sc->saved_fcrs[2]; - temp &= ~FCR2_IOBUS_ENABLE; + temp |= fcr_bits[2][0]; + temp &= ~fcr_bits[2][1]; bus_write_4(sc->sc_memr, KEYLARGO_FCR2, temp); eieio(); powerpc_sync(); temp = sc->saved_fcrs[3]; - temp |= (FCR3_SHUTDOWN_PLL_KW6 | FCR3_SHUTDOWN_PLL_KW4 | - FCR3_SHUTDOWN_PLL_KW35 | FCR3_SHUTDOWN_PLL_KW12); - temp &= ~(FCR3_CLK_66_ENABLE | FCR3_CLK_49_ENABLE | - FCR3_CLK_45_ENABLE | FCR3_CLK_31_ENABLE | - FCR3_TMR_CLK18_ENABLE | FCR3_I2S1_CLK18_ENABLE | - FCR3_I2S0_CLK18_ENABLE | FCR3_VIA_CLK16_ENABLE); + temp |= fcr_bits[3][0]; + temp &= ~fcr_bits[3][1]; if (sc->sc_rev >= 2) temp |= (FCR3_SHUTDOWN_PLL_2X | FCR3_SHUTDOWN_PLL_TOTAL); bus_write_4(sc->sc_memr, KEYLARGO_FCR3, temp); @@ -746,6 +783,14 @@ static int macio_resume(device_t dev) bus_write_4(sc->sc_memr, KEYLARGO_FCR4, sc->saved_fcrs[4]); bus_write_4(sc->sc_memr, KEYLARGO_FCR5, sc->saved_fcrs[5]); + if (sc->sc_devid == 0x4f) { + bus_write_4(sc->sc_memr, K2_FCR6, sc->saved_fcrs[6]); + bus_write_4(sc->sc_memr, K2_FCR7, sc->saved_fcrs[7]); + bus_write_4(sc->sc_memr, K2_FCR8, sc->saved_fcrs[8]); + bus_write_4(sc->sc_memr, K2_FCR9, sc->saved_fcrs[9]); + bus_write_4(sc->sc_memr, K2_FCR10, sc->saved_fcrs[10]); + } + /* Let things settle. */ DELAY(1000); Modified: projects/pmac_pmu/sys/powerpc/powermac/maciovar.h ============================================================================== --- projects/pmac_pmu/sys/powerpc/powermac/maciovar.h Thu Jan 23 02:08:57 2014 (r261069) +++ projects/pmac_pmu/sys/powerpc/powermac/maciovar.h Thu Jan 23 02:10:30 2014 (r261070) @@ -78,63 +78,6 @@ #define FCR0_SCCA_ENABLE 0x00000010 #define FCR0_SCCB_ENABLE 0x00000020 #define FCR0_SCC_CELL_ENABLE 0x00000040 -#define FCR0_IRDA_ENABLE 0x00008000 -#define FCR0_IRDA_CLK32_ENABLE 0x00010000 -#define FCR0_IRDA_CLK19_ENABLE 0x00020000 - -#define FCR0_USB_REF_SUSPEND 0x10000000 - -#define FCR1_AUDIO_SEL_22MCLK 0x00000002 -#define FCR1_AUDIO_CLK_ENABLE 0x00000008 -#define FCR1_AUDIO_CLKOUT_ENABLE 0x00000020 -#define FCR1_AUDIO_CELL_ENABLE 0x00000040 -#define FCR1_I2S0_CELL_ENABLE 0x00000400 -#define FCR1_I2S0_CLK_ENABLE 0x00001000 -#define FCR1_I2S0_ENABLE 0x00002000 -#define FCR1_I2S1_CELL_ENABLE 0x00020000 -#define FCR1_I2S1_CLK_ENABLE 0x00080000 -#define FCR1_I2S1_ENABLE 0x00100000 -#define FCR1_EIDE0_ENABLE 0x00800000 -#define FCR1_EIDE0_RESET 0x01000000 -#define FCR1_EIDE1_ENABLE 0x04000000 -#define FCR1_EIDE1_RESET 0x08000000 -#define FCR1_UIDE_ENABLE 0x20000000 -#define FCR1_UIDE_RESET 0x40000000 - -#define FCR2_IOBUS_ENABLE 0x00000002 - -#define FCR3_SHUTDOWN_PLL_TOTAL 0x00000001 -#define FCR3_SHUTDOWN_PLL_KW6 0x00000002 -#define FCR3_SHUTDOWN_PLL_KW4 0x00000004 -#define FCR3_SHUTDOWN_PLL_KW35 0x00000008 -#define FCR3_SHUTDOWN_PLL_KW12 0x00000010 -#define FCR3_SHUTDOWN_PLL_2X 0x00000080 -#define FCR3_CLK_66_ENABLE 0x00000100 -#define FCR3_CLK_49_ENABLE 0x00000200 -#define FCR3_CLK_45_ENABLE 0x00000400 -#define FCR3_CLK_31_ENABLE 0x00000800 -#define FCR3_TMR_CLK18_ENABLE 0x00001000 -#define FCR3_I2S1_CLK18_ENABLE 0x00002000 -#define FCR3_I2S0_CLK18_ENABLE 0x00004000 -#define FCR3_VIA_CLK16_ENABLE 0x00008000 - -#define KEYLARGO_MEDIABAY 0x34 -#define KEYLARGO_MB0_DEV_ENABLE 0x00001000 -#define KEYLARGO_MB0_DEV_POWER 0x00000400 -#define KEYLARGO_MB0_DEV_RESET 0x00000200 -#define KEYLARGO_MB0_ENABLE 0x00000100 -#define KEYLARGO_MB1_DEV_ENABLE 0x10000000 -#define KEYLARGO_MB1_DEV_POWER 0x04000000 -#define KEYLARGO_MB1_DEV_RESET 0x02000000 -#define KEYLARGO_MB1_ENABLE 0x01000000 - -#define FCR0_CHOOSE_SCCB 0x00000001 -#define FCR0_CHOOSE_SCCA 0x00000002 -#define FCR0_SLOW_SCC_PCLK 0x00000004 -#define FCR0_RESET_SCC 0x00000008 -#define FCR0_SCCA_ENABLE 0x00000010 -#define FCR0_SCCB_ENABLE 0x00000020 -#define FCR0_SCC_CELL_ENABLE 0x00000040 #define FCR0_CHOOSE_VIA 0x00000080 #define FCR0_HIGH_BAND_FOR_1MB 0x00000080 #define FCR0_USE_IR_SOURCE_2 0x00000200 /* KeyLargo */ @@ -268,6 +211,70 @@ #define FCR5_CLK3_68_ENABLE 0x00000010 #define FCR5_CLK32_ENABLE 0x00000020 +/* KeyLargo sleep bits */ +#define KEYLARGO_FCR0_SLEEP_SET FCR0_USB_REF_SUSPEND +#define KEYLARGO_FCR0_SLEEP_CLR (FCR0_SCCA_ENABLE | FCR0_SCCB_ENABLE | \ + FCR0_SCC_CELL_ENABLE | FCR0_IRDA_ENABLE | FCR0_IRDA_CLK32_ENABLE | \ + FCR0_IRDA_CLK19_ENABLE) + +#define KEYLARGO_FCR1_SLEEP_SET 0 +#define KEYLARGO_FCR1_SLEEP_CLR (FCR1_AUDIO_SEL_22MCLK | FCR1_AUDIO_CLK_ENABLE | \ + FCR1_AUDIO_CLKOUT_ENABLE | FCR1_AUDIO_CELL_ENABLE | \ + FCR1_I2S0_CELL_ENABLE | FCR1_I2S0_CLK_ENABLE | FCR1_I2S0_ENABLE | \ + FCR1_I2S1_CELL_ENABLE | FCR1_I2S1_CLK_ENABLE | FCR1_I2S1_ENABLE | \ + FCR1_EIDE0_ENABLE | FCR1_EIDE1_ENABLE | FCR1_UIDE_ENABLE | \ + FCR1_EIDE0_RESET | FCR1_EIDE1_RESET) + +#define KEYLARGO_FCR2_SLEEP_SET 0 +#define KEYLARGO_FCR2_SLEEP_CLR FCR2_IOBUS_ENABLE + +#define KEYLARGO_FCR3_SLEEP_SET (FCR3_SHUTDOWN_PLL_KW6 | FCR3_SHUTDOWN_PLL_KW4 | \ + FCR3_SHUTDOWN_PLL_KW35 | FCR3_SHUTDOWN_PLL_KW12) +#define KEYLARGO_FCR3_SLEEP_CLR (FCR3_CLK_66_ENABLE | FCR3_CLK_49_ENABLE | \ + FCR3_CLK_45_ENABLE | FCR3_CLK_31_ENABLE | FCR3_TMR_CLK18_ENABLE | \ + FCR3_I2S1_CLK18_ENABLE | FCR3_I2S0_CLK18_ENABLE | FCR3_VIA_CLK32_ENABLE) + +/* Pangea sleep bits */ +#define PANGEA_FCR0_SLEEP_SET 0 +#define PANGEA_FCR0_SLEEP_CLR (FCR0_USB1_CELL_ENABLE | FCR0_USB0_CELL_ENABLE | \ + FCR0_SCC_CELL_ENABLE | FCR0_SCCB_ENABLE | FCR0_SCCA_ENABLE) + +#define PANGEA_FCR1_SLEEP_SET 0 +#define PANGEA_FCR1_SLEEP_CLR (FCR1_AUDIO_SEL_22MCLK | FCR1_AUDIO_CLK_ENABLE | \ + FCR1_AUDIO_CLKOUT_ENABLE | FCR1_AUDIO_CELL_ENABLE | \ + FCR1_I2S0_CELL_ENABLE | FCR1_I2S0_CLK_ENABLE | FCR1_I2S0_ENABLE | \ + FCR1_I2S1_CELL_ENABLE | FCR1_I2S1_CLK_ENABLE | FCR1_I2S1_ENABLE | \ + FCR1_UIDE_ENABLE) + +#define PANGEA_FCR2_SLEEP_SET FCR2_ALT_DATA_OUT +#define PANGEA_FCR2_SLEEP_CLR 0 + +#define PANGEEA_FCR3_SLEEP_SET (FCR3_SHUTDOWN_PLL_KW35 | \ + FCR3_SHUTDOWN_PLL_KW4 | FCR3_SHUTDOWN_PLL_KW6) +#define PANGEA_FCR3_SLEEP_CLR (FCR3_CLK_49_ENABLE | FCR3_CLK_45_ENABLE | \ + FCR3_CLK_31_ENABLE | FCR3_TMR_CLK18_ENABLE | \ + FCR3_I2S1_CLK18_ENABLE | FCR3_I2S0_CLK18_ENABLE | FCR3_VIA_CLK16_ENABLE) + +/* Intrepid sleep bits */ +#define INTREPID_FCR0_SLEEP_SET 0 +#define INTREPID_FCR0_SLEEP_CLR (FCR0_SCCA_ENABLE | FCR0_SCCB_ENABLE | \ + FCR0_SCC_CELL_ENABLE) + +#define INTREPID_FCR1_SLEEP_SET 0 +#define INTREPID_FCR1_SLEEP_CLR ( FCR1_I2S0_CELL_ENABLE | \ + FCR1_I2S0_CLK_ENABLE | FCR1_I2S0_ENABLE | \ + FCR1_I2S1_CELL_ENABLE | FCR1_I2S1_CLK_ENABLE | \ + FCR1_I2S1_ENABLE | FCR1_UIDE_ENABLE) + +#define INTREPID_FCR2_SLEEP_SET 0 +#define INTREPID_FCR2_SLEEP_CLR 0 + +#define INTREPID_FCR3_SLEEP_SET 0 +#define INTREPID_FCR3_SLEEP_CLR (FCR3_CLK_49_ENABLE | FCR3_CLK_45_ENABLE | \ + FCR3_TMR_CLK18_ENABLE | \ + FCR3_I2S1_CLK18_ENABLE | FCR3_I2S0_CLK18_ENABLE | FCR3_VIA_CLK16_ENABLE) + + /* * K2 FCRs. */ @@ -342,6 +349,23 @@ #define FCR9_K2_CLK49_IS_STOPPED 0x00001000 #define FCR9_K2_OSC25_SHUTDOWN 0x00008000 +/* K2 sleep bits */ +#define K2_FCR0_SLEEP_SET 0 +#define K2_FCR0_SLEEP_CLR (FCR0_USB1_CELL_ENABLE | FCR0_USB0_CELL_ENABLE | \ + FCR0_SCC_CELL_ENABLE | FCR0_SCCB_ENABLE | FCR0_SCCA_ENABLE) + +#define K2_FCR1_SLEEP_SET 0 +#define K2_FCR1_SLEEP_CLR ( FCR1_I2S0_CELL_ENABLE | \ + FCR1_I2S0_CLK_ENABLE | FCR1_I2S0_ENABLE | \ + FCR1_I2S1_CELL_ENABLE | FCR1_I2S1_CLK_ENABLE | FCR1_I2S1_ENABLE | \ + FCR1_K2_SATA_RESET | FCR1_K2_UATA_RESET | FCR1_K2_GB_CLK_ENABLE) + +#define K2_FCR2_SLEEP_SET 0 +#define K2_FCR2_SLEEP_CLR FCR2_K2_SB_MPIC_ENABLE_OUTPUTS + +#define K2_FCR3_SLEEP_SET 0 +#define K2_FCR3_SLEEP_CLR FCR3_K2_ENABLE_OSC25_SHUTDOWN + /* * Format of a macio reg property entry. */ From owner-svn-src-projects@FreeBSD.ORG Fri Jan 24 13:36:45 2014 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 5188C339; Fri, 24 Jan 2014 13:36:45 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id 39BF41D74; Fri, 24 Jan 2014 13:36:45 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id s0ODajjG047259; Fri, 24 Jan 2014 13:36:45 GMT (envelope-from glebius@svn.freebsd.org) Received: (from glebius@localhost) by svn.freebsd.org (8.14.7/8.14.7/Submit) id s0ODagFV047244; Fri, 24 Jan 2014 13:36:42 GMT (envelope-from glebius@svn.freebsd.org) Message-Id: <201401241336.s0ODagFV047244@svn.freebsd.org> From: Gleb Smirnoff Date: Fri, 24 Jan 2014 13:36:42 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r261119 - in projects/sendfile: . contrib/bsnmp/lib contrib/jemalloc contrib/jemalloc/doc contrib/jemalloc/include/jemalloc contrib/jemalloc/include/jemalloc/internal contrib/jemalloc/s... X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.17 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 24 Jan 2014 13:36:45 -0000 Author: glebius Date: Fri Jan 24 13:36:41 2014 New Revision: 261119 URL: http://svnweb.freebsd.org/changeset/base/261119 Log: Merge head up to r261118. Added: projects/sendfile/contrib/jemalloc/include/jemalloc/internal/jemalloc_internal_defs.h - copied unchanged from r261118, head/contrib/jemalloc/include/jemalloc/internal/jemalloc_internal_defs.h projects/sendfile/contrib/jemalloc/include/jemalloc/internal/jemalloc_internal_macros.h - copied unchanged from r261118, head/contrib/jemalloc/include/jemalloc/internal/jemalloc_internal_macros.h projects/sendfile/contrib/jemalloc/include/jemalloc/internal/public_namespace.h - copied unchanged from r261118, head/contrib/jemalloc/include/jemalloc/internal/public_namespace.h projects/sendfile/sys/x86/include/apicvar.h - copied unchanged from r261118, head/sys/x86/include/apicvar.h projects/sendfile/tests/sys/ - copied from r261118, head/tests/sys/ Deleted: projects/sendfile/contrib/jemalloc/include/jemalloc/jemalloc_defs.h projects/sendfile/sys/amd64/include/apicvar.h projects/sendfile/sys/i386/include/apicvar.h projects/sendfile/sys/pc98/include/apicvar.h projects/sendfile/tools/build/options/WITHOUT_ATF projects/sendfile/tools/regression/sockets/unix_seqpacket/ projects/sendfile/tools/regression/sockets/unix_seqpacket_exercise/ Modified: projects/sendfile/Makefile.inc1 projects/sendfile/contrib/bsnmp/lib/asn1.c projects/sendfile/contrib/jemalloc/COPYING projects/sendfile/contrib/jemalloc/ChangeLog projects/sendfile/contrib/jemalloc/FREEBSD-Xlist projects/sendfile/contrib/jemalloc/FREEBSD-diffs projects/sendfile/contrib/jemalloc/FREEBSD-upgrade projects/sendfile/contrib/jemalloc/VERSION projects/sendfile/contrib/jemalloc/doc/jemalloc.3 projects/sendfile/contrib/jemalloc/include/jemalloc/internal/arena.h projects/sendfile/contrib/jemalloc/include/jemalloc/internal/chunk_dss.h projects/sendfile/contrib/jemalloc/include/jemalloc/internal/ckh.h projects/sendfile/contrib/jemalloc/include/jemalloc/internal/hash.h projects/sendfile/contrib/jemalloc/include/jemalloc/internal/huge.h projects/sendfile/contrib/jemalloc/include/jemalloc/internal/jemalloc_internal.h projects/sendfile/contrib/jemalloc/include/jemalloc/internal/private_namespace.h projects/sendfile/contrib/jemalloc/include/jemalloc/internal/prng.h projects/sendfile/contrib/jemalloc/include/jemalloc/internal/prof.h projects/sendfile/contrib/jemalloc/include/jemalloc/internal/ql.h projects/sendfile/contrib/jemalloc/include/jemalloc/internal/qr.h projects/sendfile/contrib/jemalloc/include/jemalloc/internal/rb.h projects/sendfile/contrib/jemalloc/include/jemalloc/internal/rtree.h projects/sendfile/contrib/jemalloc/include/jemalloc/internal/tcache.h projects/sendfile/contrib/jemalloc/include/jemalloc/internal/tsd.h projects/sendfile/contrib/jemalloc/include/jemalloc/internal/util.h projects/sendfile/contrib/jemalloc/include/jemalloc/jemalloc.h projects/sendfile/contrib/jemalloc/include/jemalloc/jemalloc_FreeBSD.h projects/sendfile/contrib/jemalloc/src/arena.c projects/sendfile/contrib/jemalloc/src/bitmap.c projects/sendfile/contrib/jemalloc/src/chunk.c projects/sendfile/contrib/jemalloc/src/chunk_dss.c projects/sendfile/contrib/jemalloc/src/chunk_mmap.c projects/sendfile/contrib/jemalloc/src/ckh.c projects/sendfile/contrib/jemalloc/src/ctl.c projects/sendfile/contrib/jemalloc/src/huge.c projects/sendfile/contrib/jemalloc/src/jemalloc.c projects/sendfile/contrib/jemalloc/src/mutex.c projects/sendfile/contrib/jemalloc/src/prof.c projects/sendfile/contrib/jemalloc/src/quarantine.c projects/sendfile/contrib/jemalloc/src/rtree.c projects/sendfile/contrib/jemalloc/src/stats.c projects/sendfile/contrib/jemalloc/src/tcache.c projects/sendfile/contrib/jemalloc/src/tsd.c projects/sendfile/contrib/jemalloc/src/util.c projects/sendfile/crypto/openssl/CHANGES projects/sendfile/crypto/openssl/Configure projects/sendfile/crypto/openssl/Makefile projects/sendfile/crypto/openssl/Makefile.org projects/sendfile/crypto/openssl/NEWS projects/sendfile/crypto/openssl/README projects/sendfile/crypto/openssl/apps/Makefile projects/sendfile/crypto/openssl/apps/apps.h projects/sendfile/crypto/openssl/apps/openssl.c projects/sendfile/crypto/openssl/apps/pkcs12.c projects/sendfile/crypto/openssl/config projects/sendfile/crypto/openssl/crypto/Makefile projects/sendfile/crypto/openssl/crypto/aes/asm/aes-parisc.pl projects/sendfile/crypto/openssl/crypto/aes/asm/bsaes-x86_64.pl projects/sendfile/crypto/openssl/crypto/armcap.c projects/sendfile/crypto/openssl/crypto/asn1/a_int.c projects/sendfile/crypto/openssl/crypto/bio/bss_dgram.c projects/sendfile/crypto/openssl/crypto/bn/Makefile projects/sendfile/crypto/openssl/crypto/bn/asm/mips-mont.pl projects/sendfile/crypto/openssl/crypto/bn/asm/mips.pl projects/sendfile/crypto/openssl/crypto/bn/asm/parisc-mont.pl projects/sendfile/crypto/openssl/crypto/bn/asm/x86_64-gf2m.pl projects/sendfile/crypto/openssl/crypto/bn/asm/x86_64-mont5.pl projects/sendfile/crypto/openssl/crypto/bn/bn_nist.c projects/sendfile/crypto/openssl/crypto/buffer/buffer.c projects/sendfile/crypto/openssl/crypto/buffer/buffer.h projects/sendfile/crypto/openssl/crypto/ec/ec_ameth.c projects/sendfile/crypto/openssl/crypto/ec/ec_asn1.c projects/sendfile/crypto/openssl/crypto/ec/ec_lib.c projects/sendfile/crypto/openssl/crypto/engine/eng_rdrand.c projects/sendfile/crypto/openssl/crypto/evp/Makefile projects/sendfile/crypto/openssl/crypto/evp/digest.c projects/sendfile/crypto/openssl/crypto/evp/e_aes.c projects/sendfile/crypto/openssl/crypto/evp/e_aes_cbc_hmac_sha1.c projects/sendfile/crypto/openssl/crypto/evp/e_des3.c projects/sendfile/crypto/openssl/crypto/evp/p5_crpt2.c projects/sendfile/crypto/openssl/crypto/modes/Makefile projects/sendfile/crypto/openssl/crypto/modes/asm/ghash-parisc.pl projects/sendfile/crypto/openssl/crypto/modes/cbc128.c projects/sendfile/crypto/openssl/crypto/modes/ccm128.c projects/sendfile/crypto/openssl/crypto/modes/cts128.c projects/sendfile/crypto/openssl/crypto/modes/gcm128.c projects/sendfile/crypto/openssl/crypto/modes/modes_lcl.h projects/sendfile/crypto/openssl/crypto/opensslv.h projects/sendfile/crypto/openssl/crypto/pariscid.pl projects/sendfile/crypto/openssl/crypto/pem/pem_info.c projects/sendfile/crypto/openssl/crypto/pkcs12/p12_crt.c projects/sendfile/crypto/openssl/crypto/rand/md_rand.c projects/sendfile/crypto/openssl/crypto/rand/rand.h projects/sendfile/crypto/openssl/crypto/rand/rand_err.c projects/sendfile/crypto/openssl/crypto/rand/rand_lib.c projects/sendfile/crypto/openssl/crypto/rc4/asm/rc4-parisc.pl projects/sendfile/crypto/openssl/crypto/rsa/rsa_ameth.c projects/sendfile/crypto/openssl/crypto/rsa/rsa_chk.c projects/sendfile/crypto/openssl/crypto/rsa/rsa_pmeth.c projects/sendfile/crypto/openssl/crypto/sha/Makefile projects/sendfile/crypto/openssl/crypto/sha/asm/sha1-parisc.pl projects/sendfile/crypto/openssl/crypto/sha/asm/sha1-x86_64.pl projects/sendfile/crypto/openssl/crypto/sha/asm/sha512-mips.pl projects/sendfile/crypto/openssl/crypto/sha/asm/sha512-parisc.pl projects/sendfile/crypto/openssl/crypto/sha/sha512.c projects/sendfile/crypto/openssl/crypto/srp/srp_grps.h projects/sendfile/crypto/openssl/crypto/srp/srp_lib.c projects/sendfile/crypto/openssl/crypto/x509/x509_vfy.c projects/sendfile/crypto/openssl/crypto/x509/x_all.c projects/sendfile/crypto/openssl/crypto/x86cpuid.pl projects/sendfile/crypto/openssl/doc/apps/cms.pod projects/sendfile/crypto/openssl/doc/apps/rsa.pod projects/sendfile/crypto/openssl/doc/apps/smime.pod projects/sendfile/crypto/openssl/doc/crypto/X509_STORE_CTX_get_error.pod projects/sendfile/crypto/openssl/doc/crypto/ecdsa.pod projects/sendfile/crypto/openssl/doc/ssl/SSL_COMP_add_compression_method.pod projects/sendfile/crypto/openssl/doc/ssl/SSL_CTX_add_session.pod projects/sendfile/crypto/openssl/doc/ssl/SSL_CTX_load_verify_locations.pod projects/sendfile/crypto/openssl/doc/ssl/SSL_CTX_set_client_CA_list.pod projects/sendfile/crypto/openssl/doc/ssl/SSL_CTX_set_options.pod projects/sendfile/crypto/openssl/doc/ssl/SSL_CTX_set_session_id_context.pod projects/sendfile/crypto/openssl/doc/ssl/SSL_CTX_set_ssl_version.pod projects/sendfile/crypto/openssl/doc/ssl/SSL_CTX_use_psk_identity_hint.pod projects/sendfile/crypto/openssl/doc/ssl/SSL_accept.pod projects/sendfile/crypto/openssl/doc/ssl/SSL_clear.pod projects/sendfile/crypto/openssl/doc/ssl/SSL_connect.pod projects/sendfile/crypto/openssl/doc/ssl/SSL_do_handshake.pod projects/sendfile/crypto/openssl/doc/ssl/SSL_read.pod projects/sendfile/crypto/openssl/doc/ssl/SSL_session_reused.pod projects/sendfile/crypto/openssl/doc/ssl/SSL_set_fd.pod projects/sendfile/crypto/openssl/doc/ssl/SSL_set_session.pod projects/sendfile/crypto/openssl/doc/ssl/SSL_shutdown.pod projects/sendfile/crypto/openssl/doc/ssl/SSL_write.pod projects/sendfile/crypto/openssl/engines/ccgost/gost89.h projects/sendfile/crypto/openssl/ssl/d1_both.c projects/sendfile/crypto/openssl/ssl/d1_clnt.c projects/sendfile/crypto/openssl/ssl/d1_lib.c projects/sendfile/crypto/openssl/ssl/d1_pkt.c projects/sendfile/crypto/openssl/ssl/d1_srvr.c projects/sendfile/crypto/openssl/ssl/s23_clnt.c projects/sendfile/crypto/openssl/ssl/s3_both.c projects/sendfile/crypto/openssl/ssl/s3_clnt.c projects/sendfile/crypto/openssl/ssl/s3_lib.c projects/sendfile/crypto/openssl/ssl/s3_pkt.c projects/sendfile/crypto/openssl/ssl/s3_srvr.c projects/sendfile/crypto/openssl/ssl/ssl.h projects/sendfile/crypto/openssl/ssl/ssl3.h projects/sendfile/crypto/openssl/ssl/ssl_lib.c projects/sendfile/crypto/openssl/ssl/ssl_locl.h projects/sendfile/crypto/openssl/ssl/ssltest.c projects/sendfile/crypto/openssl/ssl/t1_enc.c projects/sendfile/crypto/openssl/ssl/t1_lib.c projects/sendfile/crypto/openssl/util/shlib_wrap.sh projects/sendfile/etc/Makefile projects/sendfile/etc/defaults/periodic.conf projects/sendfile/etc/mtree/BSD.tests.dist projects/sendfile/etc/rc.d/sysctl projects/sendfile/include/malloc_np.h projects/sendfile/lib/libc/gen/tls.c projects/sendfile/lib/libc/stdlib/jemalloc/Makefile.inc projects/sendfile/lib/libc/stdlib/jemalloc/Symbol.map projects/sendfile/lib/libc/sys/posix_fallocate.2 projects/sendfile/release/doc/en_US.ISO8859-1/relnotes/article.xml projects/sendfile/sbin/kldstat/kldstat.8 projects/sendfile/sbin/kldstat/kldstat.c projects/sendfile/secure/lib/libcrypto/Makefile.inc projects/sendfile/secure/lib/libcrypto/amd64/bsaes-x86_64.S projects/sendfile/secure/lib/libcrypto/i386/x86cpuid.s projects/sendfile/secure/lib/libcrypto/man/ASN1_OBJECT_new.3 projects/sendfile/secure/lib/libcrypto/man/ASN1_STRING_length.3 projects/sendfile/secure/lib/libcrypto/man/ASN1_STRING_new.3 projects/sendfile/secure/lib/libcrypto/man/ASN1_STRING_print_ex.3 projects/sendfile/secure/lib/libcrypto/man/ASN1_generate_nconf.3 projects/sendfile/secure/lib/libcrypto/man/BIO_ctrl.3 projects/sendfile/secure/lib/libcrypto/man/BIO_f_base64.3 projects/sendfile/secure/lib/libcrypto/man/BIO_f_buffer.3 projects/sendfile/secure/lib/libcrypto/man/BIO_f_cipher.3 projects/sendfile/secure/lib/libcrypto/man/BIO_f_md.3 projects/sendfile/secure/lib/libcrypto/man/BIO_f_null.3 projects/sendfile/secure/lib/libcrypto/man/BIO_f_ssl.3 projects/sendfile/secure/lib/libcrypto/man/BIO_find_type.3 projects/sendfile/secure/lib/libcrypto/man/BIO_new.3 projects/sendfile/secure/lib/libcrypto/man/BIO_new_CMS.3 projects/sendfile/secure/lib/libcrypto/man/BIO_push.3 projects/sendfile/secure/lib/libcrypto/man/BIO_read.3 projects/sendfile/secure/lib/libcrypto/man/BIO_s_accept.3 projects/sendfile/secure/lib/libcrypto/man/BIO_s_bio.3 projects/sendfile/secure/lib/libcrypto/man/BIO_s_connect.3 projects/sendfile/secure/lib/libcrypto/man/BIO_s_fd.3 projects/sendfile/secure/lib/libcrypto/man/BIO_s_file.3 projects/sendfile/secure/lib/libcrypto/man/BIO_s_mem.3 projects/sendfile/secure/lib/libcrypto/man/BIO_s_null.3 projects/sendfile/secure/lib/libcrypto/man/BIO_s_socket.3 projects/sendfile/secure/lib/libcrypto/man/BIO_set_callback.3 projects/sendfile/secure/lib/libcrypto/man/BIO_should_retry.3 projects/sendfile/secure/lib/libcrypto/man/BN_BLINDING_new.3 projects/sendfile/secure/lib/libcrypto/man/BN_CTX_new.3 projects/sendfile/secure/lib/libcrypto/man/BN_CTX_start.3 projects/sendfile/secure/lib/libcrypto/man/BN_add.3 projects/sendfile/secure/lib/libcrypto/man/BN_add_word.3 projects/sendfile/secure/lib/libcrypto/man/BN_bn2bin.3 projects/sendfile/secure/lib/libcrypto/man/BN_cmp.3 projects/sendfile/secure/lib/libcrypto/man/BN_copy.3 projects/sendfile/secure/lib/libcrypto/man/BN_generate_prime.3 projects/sendfile/secure/lib/libcrypto/man/BN_mod_inverse.3 projects/sendfile/secure/lib/libcrypto/man/BN_mod_mul_montgomery.3 projects/sendfile/secure/lib/libcrypto/man/BN_mod_mul_reciprocal.3 projects/sendfile/secure/lib/libcrypto/man/BN_new.3 projects/sendfile/secure/lib/libcrypto/man/BN_num_bytes.3 projects/sendfile/secure/lib/libcrypto/man/BN_rand.3 projects/sendfile/secure/lib/libcrypto/man/BN_set_bit.3 projects/sendfile/secure/lib/libcrypto/man/BN_swap.3 projects/sendfile/secure/lib/libcrypto/man/BN_zero.3 projects/sendfile/secure/lib/libcrypto/man/CMS_add0_cert.3 projects/sendfile/secure/lib/libcrypto/man/CMS_add1_recipient_cert.3 projects/sendfile/secure/lib/libcrypto/man/CMS_compress.3 projects/sendfile/secure/lib/libcrypto/man/CMS_decrypt.3 projects/sendfile/secure/lib/libcrypto/man/CMS_encrypt.3 projects/sendfile/secure/lib/libcrypto/man/CMS_final.3 projects/sendfile/secure/lib/libcrypto/man/CMS_get0_RecipientInfos.3 projects/sendfile/secure/lib/libcrypto/man/CMS_get0_SignerInfos.3 projects/sendfile/secure/lib/libcrypto/man/CMS_get0_type.3 projects/sendfile/secure/lib/libcrypto/man/CMS_get1_ReceiptRequest.3 projects/sendfile/secure/lib/libcrypto/man/CMS_sign.3 projects/sendfile/secure/lib/libcrypto/man/CMS_sign_add1_signer.3 projects/sendfile/secure/lib/libcrypto/man/CMS_sign_receipt.3 projects/sendfile/secure/lib/libcrypto/man/CMS_uncompress.3 projects/sendfile/secure/lib/libcrypto/man/CMS_verify.3 projects/sendfile/secure/lib/libcrypto/man/CMS_verify_receipt.3 projects/sendfile/secure/lib/libcrypto/man/CONF_modules_free.3 projects/sendfile/secure/lib/libcrypto/man/CONF_modules_load_file.3 projects/sendfile/secure/lib/libcrypto/man/CRYPTO_set_ex_data.3 projects/sendfile/secure/lib/libcrypto/man/DH_generate_key.3 projects/sendfile/secure/lib/libcrypto/man/DH_generate_parameters.3 projects/sendfile/secure/lib/libcrypto/man/DH_get_ex_new_index.3 projects/sendfile/secure/lib/libcrypto/man/DH_new.3 projects/sendfile/secure/lib/libcrypto/man/DH_set_method.3 projects/sendfile/secure/lib/libcrypto/man/DH_size.3 projects/sendfile/secure/lib/libcrypto/man/DSA_SIG_new.3 projects/sendfile/secure/lib/libcrypto/man/DSA_do_sign.3 projects/sendfile/secure/lib/libcrypto/man/DSA_dup_DH.3 projects/sendfile/secure/lib/libcrypto/man/DSA_generate_key.3 projects/sendfile/secure/lib/libcrypto/man/DSA_generate_parameters.3 projects/sendfile/secure/lib/libcrypto/man/DSA_get_ex_new_index.3 projects/sendfile/secure/lib/libcrypto/man/DSA_new.3 projects/sendfile/secure/lib/libcrypto/man/DSA_set_method.3 projects/sendfile/secure/lib/libcrypto/man/DSA_sign.3 projects/sendfile/secure/lib/libcrypto/man/DSA_size.3 projects/sendfile/secure/lib/libcrypto/man/ERR_GET_LIB.3 projects/sendfile/secure/lib/libcrypto/man/ERR_clear_error.3 projects/sendfile/secure/lib/libcrypto/man/ERR_error_string.3 projects/sendfile/secure/lib/libcrypto/man/ERR_get_error.3 projects/sendfile/secure/lib/libcrypto/man/ERR_load_crypto_strings.3 projects/sendfile/secure/lib/libcrypto/man/ERR_load_strings.3 projects/sendfile/secure/lib/libcrypto/man/ERR_print_errors.3 projects/sendfile/secure/lib/libcrypto/man/ERR_put_error.3 projects/sendfile/secure/lib/libcrypto/man/ERR_remove_state.3 projects/sendfile/secure/lib/libcrypto/man/ERR_set_mark.3 projects/sendfile/secure/lib/libcrypto/man/EVP_BytesToKey.3 projects/sendfile/secure/lib/libcrypto/man/EVP_DigestInit.3 projects/sendfile/secure/lib/libcrypto/man/EVP_DigestSignInit.3 projects/sendfile/secure/lib/libcrypto/man/EVP_DigestVerifyInit.3 projects/sendfile/secure/lib/libcrypto/man/EVP_EncryptInit.3 projects/sendfile/secure/lib/libcrypto/man/EVP_OpenInit.3 projects/sendfile/secure/lib/libcrypto/man/EVP_PKEY_CTX_ctrl.3 projects/sendfile/secure/lib/libcrypto/man/EVP_PKEY_CTX_new.3 projects/sendfile/secure/lib/libcrypto/man/EVP_PKEY_cmp.3 projects/sendfile/secure/lib/libcrypto/man/EVP_PKEY_decrypt.3 projects/sendfile/secure/lib/libcrypto/man/EVP_PKEY_derive.3 projects/sendfile/secure/lib/libcrypto/man/EVP_PKEY_encrypt.3 projects/sendfile/secure/lib/libcrypto/man/EVP_PKEY_get_default_digest.3 projects/sendfile/secure/lib/libcrypto/man/EVP_PKEY_keygen.3 projects/sendfile/secure/lib/libcrypto/man/EVP_PKEY_new.3 projects/sendfile/secure/lib/libcrypto/man/EVP_PKEY_print_private.3 projects/sendfile/secure/lib/libcrypto/man/EVP_PKEY_set1_RSA.3 projects/sendfile/secure/lib/libcrypto/man/EVP_PKEY_sign.3 projects/sendfile/secure/lib/libcrypto/man/EVP_PKEY_verify.3 projects/sendfile/secure/lib/libcrypto/man/EVP_PKEY_verify_recover.3 projects/sendfile/secure/lib/libcrypto/man/EVP_SealInit.3 projects/sendfile/secure/lib/libcrypto/man/EVP_SignInit.3 projects/sendfile/secure/lib/libcrypto/man/EVP_VerifyInit.3 projects/sendfile/secure/lib/libcrypto/man/OBJ_nid2obj.3 projects/sendfile/secure/lib/libcrypto/man/OPENSSL_Applink.3 projects/sendfile/secure/lib/libcrypto/man/OPENSSL_VERSION_NUMBER.3 projects/sendfile/secure/lib/libcrypto/man/OPENSSL_config.3 projects/sendfile/secure/lib/libcrypto/man/OPENSSL_ia32cap.3 projects/sendfile/secure/lib/libcrypto/man/OPENSSL_load_builtin_modules.3 projects/sendfile/secure/lib/libcrypto/man/OpenSSL_add_all_algorithms.3 projects/sendfile/secure/lib/libcrypto/man/PEM_write_bio_CMS_stream.3 projects/sendfile/secure/lib/libcrypto/man/PEM_write_bio_PKCS7_stream.3 projects/sendfile/secure/lib/libcrypto/man/PKCS12_create.3 projects/sendfile/secure/lib/libcrypto/man/PKCS12_parse.3 projects/sendfile/secure/lib/libcrypto/man/PKCS7_decrypt.3 projects/sendfile/secure/lib/libcrypto/man/PKCS7_encrypt.3 projects/sendfile/secure/lib/libcrypto/man/PKCS7_sign.3 projects/sendfile/secure/lib/libcrypto/man/PKCS7_sign_add_signer.3 projects/sendfile/secure/lib/libcrypto/man/PKCS7_verify.3 projects/sendfile/secure/lib/libcrypto/man/RAND_add.3 projects/sendfile/secure/lib/libcrypto/man/RAND_bytes.3 projects/sendfile/secure/lib/libcrypto/man/RAND_cleanup.3 projects/sendfile/secure/lib/libcrypto/man/RAND_egd.3 projects/sendfile/secure/lib/libcrypto/man/RAND_load_file.3 projects/sendfile/secure/lib/libcrypto/man/RAND_set_rand_method.3 projects/sendfile/secure/lib/libcrypto/man/RSA_blinding_on.3 projects/sendfile/secure/lib/libcrypto/man/RSA_check_key.3 projects/sendfile/secure/lib/libcrypto/man/RSA_generate_key.3 projects/sendfile/secure/lib/libcrypto/man/RSA_get_ex_new_index.3 projects/sendfile/secure/lib/libcrypto/man/RSA_new.3 projects/sendfile/secure/lib/libcrypto/man/RSA_padding_add_PKCS1_type_1.3 projects/sendfile/secure/lib/libcrypto/man/RSA_print.3 projects/sendfile/secure/lib/libcrypto/man/RSA_private_encrypt.3 projects/sendfile/secure/lib/libcrypto/man/RSA_public_encrypt.3 projects/sendfile/secure/lib/libcrypto/man/RSA_set_method.3 projects/sendfile/secure/lib/libcrypto/man/RSA_sign.3 projects/sendfile/secure/lib/libcrypto/man/RSA_sign_ASN1_OCTET_STRING.3 projects/sendfile/secure/lib/libcrypto/man/RSA_size.3 projects/sendfile/secure/lib/libcrypto/man/SMIME_read_CMS.3 projects/sendfile/secure/lib/libcrypto/man/SMIME_read_PKCS7.3 projects/sendfile/secure/lib/libcrypto/man/SMIME_write_CMS.3 projects/sendfile/secure/lib/libcrypto/man/SMIME_write_PKCS7.3 projects/sendfile/secure/lib/libcrypto/man/X509_NAME_ENTRY_get_object.3 projects/sendfile/secure/lib/libcrypto/man/X509_NAME_add_entry_by_txt.3 projects/sendfile/secure/lib/libcrypto/man/X509_NAME_get_index_by_NID.3 projects/sendfile/secure/lib/libcrypto/man/X509_NAME_print_ex.3 projects/sendfile/secure/lib/libcrypto/man/X509_STORE_CTX_get_error.3 projects/sendfile/secure/lib/libcrypto/man/X509_STORE_CTX_get_ex_new_index.3 projects/sendfile/secure/lib/libcrypto/man/X509_STORE_CTX_new.3 projects/sendfile/secure/lib/libcrypto/man/X509_STORE_CTX_set_verify_cb.3 projects/sendfile/secure/lib/libcrypto/man/X509_STORE_set_verify_cb_func.3 projects/sendfile/secure/lib/libcrypto/man/X509_VERIFY_PARAM_set_flags.3 projects/sendfile/secure/lib/libcrypto/man/X509_new.3 projects/sendfile/secure/lib/libcrypto/man/X509_verify_cert.3 projects/sendfile/secure/lib/libcrypto/man/bio.3 projects/sendfile/secure/lib/libcrypto/man/blowfish.3 projects/sendfile/secure/lib/libcrypto/man/bn.3 projects/sendfile/secure/lib/libcrypto/man/bn_internal.3 projects/sendfile/secure/lib/libcrypto/man/buffer.3 projects/sendfile/secure/lib/libcrypto/man/crypto.3 projects/sendfile/secure/lib/libcrypto/man/d2i_ASN1_OBJECT.3 projects/sendfile/secure/lib/libcrypto/man/d2i_DHparams.3 projects/sendfile/secure/lib/libcrypto/man/d2i_DSAPublicKey.3 projects/sendfile/secure/lib/libcrypto/man/d2i_PKCS8PrivateKey.3 projects/sendfile/secure/lib/libcrypto/man/d2i_RSAPublicKey.3 projects/sendfile/secure/lib/libcrypto/man/d2i_X509.3 projects/sendfile/secure/lib/libcrypto/man/d2i_X509_ALGOR.3 projects/sendfile/secure/lib/libcrypto/man/d2i_X509_CRL.3 projects/sendfile/secure/lib/libcrypto/man/d2i_X509_NAME.3 projects/sendfile/secure/lib/libcrypto/man/d2i_X509_REQ.3 projects/sendfile/secure/lib/libcrypto/man/d2i_X509_SIG.3 projects/sendfile/secure/lib/libcrypto/man/des.3 projects/sendfile/secure/lib/libcrypto/man/dh.3 projects/sendfile/secure/lib/libcrypto/man/dsa.3 projects/sendfile/secure/lib/libcrypto/man/ecdsa.3 projects/sendfile/secure/lib/libcrypto/man/engine.3 projects/sendfile/secure/lib/libcrypto/man/err.3 projects/sendfile/secure/lib/libcrypto/man/evp.3 projects/sendfile/secure/lib/libcrypto/man/hmac.3 projects/sendfile/secure/lib/libcrypto/man/i2d_CMS_bio_stream.3 projects/sendfile/secure/lib/libcrypto/man/i2d_PKCS7_bio_stream.3 projects/sendfile/secure/lib/libcrypto/man/lh_stats.3 projects/sendfile/secure/lib/libcrypto/man/lhash.3 projects/sendfile/secure/lib/libcrypto/man/md5.3 projects/sendfile/secure/lib/libcrypto/man/mdc2.3 projects/sendfile/secure/lib/libcrypto/man/pem.3 projects/sendfile/secure/lib/libcrypto/man/rand.3 projects/sendfile/secure/lib/libcrypto/man/rc4.3 projects/sendfile/secure/lib/libcrypto/man/ripemd.3 projects/sendfile/secure/lib/libcrypto/man/rsa.3 projects/sendfile/secure/lib/libcrypto/man/sha.3 projects/sendfile/secure/lib/libcrypto/man/threads.3 projects/sendfile/secure/lib/libcrypto/man/ui.3 projects/sendfile/secure/lib/libcrypto/man/ui_compat.3 projects/sendfile/secure/lib/libcrypto/man/x509.3 projects/sendfile/secure/lib/libssl/man/SSL_CIPHER_get_name.3 projects/sendfile/secure/lib/libssl/man/SSL_COMP_add_compression_method.3 projects/sendfile/secure/lib/libssl/man/SSL_CTX_add_extra_chain_cert.3 projects/sendfile/secure/lib/libssl/man/SSL_CTX_add_session.3 projects/sendfile/secure/lib/libssl/man/SSL_CTX_ctrl.3 projects/sendfile/secure/lib/libssl/man/SSL_CTX_flush_sessions.3 projects/sendfile/secure/lib/libssl/man/SSL_CTX_free.3 projects/sendfile/secure/lib/libssl/man/SSL_CTX_get_ex_new_index.3 projects/sendfile/secure/lib/libssl/man/SSL_CTX_get_verify_mode.3 projects/sendfile/secure/lib/libssl/man/SSL_CTX_load_verify_locations.3 projects/sendfile/secure/lib/libssl/man/SSL_CTX_new.3 projects/sendfile/secure/lib/libssl/man/SSL_CTX_sess_number.3 projects/sendfile/secure/lib/libssl/man/SSL_CTX_sess_set_cache_size.3 projects/sendfile/secure/lib/libssl/man/SSL_CTX_sess_set_get_cb.3 projects/sendfile/secure/lib/libssl/man/SSL_CTX_sessions.3 projects/sendfile/secure/lib/libssl/man/SSL_CTX_set_cert_store.3 projects/sendfile/secure/lib/libssl/man/SSL_CTX_set_cert_verify_callback.3 projects/sendfile/secure/lib/libssl/man/SSL_CTX_set_cipher_list.3 projects/sendfile/secure/lib/libssl/man/SSL_CTX_set_client_CA_list.3 projects/sendfile/secure/lib/libssl/man/SSL_CTX_set_client_cert_cb.3 projects/sendfile/secure/lib/libssl/man/SSL_CTX_set_default_passwd_cb.3 projects/sendfile/secure/lib/libssl/man/SSL_CTX_set_generate_session_id.3 projects/sendfile/secure/lib/libssl/man/SSL_CTX_set_info_callback.3 projects/sendfile/secure/lib/libssl/man/SSL_CTX_set_max_cert_list.3 projects/sendfile/secure/lib/libssl/man/SSL_CTX_set_mode.3 projects/sendfile/secure/lib/libssl/man/SSL_CTX_set_msg_callback.3 projects/sendfile/secure/lib/libssl/man/SSL_CTX_set_options.3 projects/sendfile/secure/lib/libssl/man/SSL_CTX_set_psk_client_callback.3 projects/sendfile/secure/lib/libssl/man/SSL_CTX_set_quiet_shutdown.3 projects/sendfile/secure/lib/libssl/man/SSL_CTX_set_session_cache_mode.3 projects/sendfile/secure/lib/libssl/man/SSL_CTX_set_session_id_context.3 projects/sendfile/secure/lib/libssl/man/SSL_CTX_set_ssl_version.3 projects/sendfile/secure/lib/libssl/man/SSL_CTX_set_timeout.3 projects/sendfile/secure/lib/libssl/man/SSL_CTX_set_tmp_dh_callback.3 projects/sendfile/secure/lib/libssl/man/SSL_CTX_set_tmp_rsa_callback.3 projects/sendfile/secure/lib/libssl/man/SSL_CTX_set_verify.3 projects/sendfile/secure/lib/libssl/man/SSL_CTX_use_certificate.3 projects/sendfile/secure/lib/libssl/man/SSL_CTX_use_psk_identity_hint.3 projects/sendfile/secure/lib/libssl/man/SSL_SESSION_free.3 projects/sendfile/secure/lib/libssl/man/SSL_SESSION_get_ex_new_index.3 projects/sendfile/secure/lib/libssl/man/SSL_SESSION_get_time.3 projects/sendfile/secure/lib/libssl/man/SSL_accept.3 projects/sendfile/secure/lib/libssl/man/SSL_alert_type_string.3 projects/sendfile/secure/lib/libssl/man/SSL_clear.3 projects/sendfile/secure/lib/libssl/man/SSL_connect.3 projects/sendfile/secure/lib/libssl/man/SSL_do_handshake.3 projects/sendfile/secure/lib/libssl/man/SSL_free.3 projects/sendfile/secure/lib/libssl/man/SSL_get_SSL_CTX.3 projects/sendfile/secure/lib/libssl/man/SSL_get_ciphers.3 projects/sendfile/secure/lib/libssl/man/SSL_get_client_CA_list.3 projects/sendfile/secure/lib/libssl/man/SSL_get_current_cipher.3 projects/sendfile/secure/lib/libssl/man/SSL_get_default_timeout.3 projects/sendfile/secure/lib/libssl/man/SSL_get_error.3 projects/sendfile/secure/lib/libssl/man/SSL_get_ex_data_X509_STORE_CTX_idx.3 projects/sendfile/secure/lib/libssl/man/SSL_get_ex_new_index.3 projects/sendfile/secure/lib/libssl/man/SSL_get_fd.3 projects/sendfile/secure/lib/libssl/man/SSL_get_peer_cert_chain.3 projects/sendfile/secure/lib/libssl/man/SSL_get_peer_certificate.3 projects/sendfile/secure/lib/libssl/man/SSL_get_psk_identity.3 projects/sendfile/secure/lib/libssl/man/SSL_get_rbio.3 projects/sendfile/secure/lib/libssl/man/SSL_get_session.3 projects/sendfile/secure/lib/libssl/man/SSL_get_verify_result.3 projects/sendfile/secure/lib/libssl/man/SSL_get_version.3 projects/sendfile/secure/lib/libssl/man/SSL_library_init.3 projects/sendfile/secure/lib/libssl/man/SSL_load_client_CA_file.3 projects/sendfile/secure/lib/libssl/man/SSL_new.3 projects/sendfile/secure/lib/libssl/man/SSL_pending.3 projects/sendfile/secure/lib/libssl/man/SSL_read.3 projects/sendfile/secure/lib/libssl/man/SSL_rstate_string.3 projects/sendfile/secure/lib/libssl/man/SSL_session_reused.3 projects/sendfile/secure/lib/libssl/man/SSL_set_bio.3 projects/sendfile/secure/lib/libssl/man/SSL_set_connect_state.3 projects/sendfile/secure/lib/libssl/man/SSL_set_fd.3 projects/sendfile/secure/lib/libssl/man/SSL_set_session.3 projects/sendfile/secure/lib/libssl/man/SSL_set_shutdown.3 projects/sendfile/secure/lib/libssl/man/SSL_set_verify_result.3 projects/sendfile/secure/lib/libssl/man/SSL_shutdown.3 projects/sendfile/secure/lib/libssl/man/SSL_state_string.3 projects/sendfile/secure/lib/libssl/man/SSL_want.3 projects/sendfile/secure/lib/libssl/man/SSL_write.3 projects/sendfile/secure/lib/libssl/man/d2i_SSL_SESSION.3 projects/sendfile/secure/lib/libssl/man/ssl.3 projects/sendfile/secure/usr.bin/openssl/man/CA.pl.1 projects/sendfile/secure/usr.bin/openssl/man/asn1parse.1 projects/sendfile/secure/usr.bin/openssl/man/ca.1 projects/sendfile/secure/usr.bin/openssl/man/ciphers.1 projects/sendfile/secure/usr.bin/openssl/man/cms.1 projects/sendfile/secure/usr.bin/openssl/man/crl.1 projects/sendfile/secure/usr.bin/openssl/man/crl2pkcs7.1 projects/sendfile/secure/usr.bin/openssl/man/dgst.1 projects/sendfile/secure/usr.bin/openssl/man/dhparam.1 projects/sendfile/secure/usr.bin/openssl/man/dsa.1 projects/sendfile/secure/usr.bin/openssl/man/dsaparam.1 projects/sendfile/secure/usr.bin/openssl/man/ec.1 projects/sendfile/secure/usr.bin/openssl/man/ecparam.1 projects/sendfile/secure/usr.bin/openssl/man/enc.1 projects/sendfile/secure/usr.bin/openssl/man/errstr.1 projects/sendfile/secure/usr.bin/openssl/man/gendsa.1 projects/sendfile/secure/usr.bin/openssl/man/genpkey.1 projects/sendfile/secure/usr.bin/openssl/man/genrsa.1 projects/sendfile/secure/usr.bin/openssl/man/nseq.1 projects/sendfile/secure/usr.bin/openssl/man/ocsp.1 projects/sendfile/secure/usr.bin/openssl/man/openssl.1 projects/sendfile/secure/usr.bin/openssl/man/passwd.1 projects/sendfile/secure/usr.bin/openssl/man/pkcs12.1 projects/sendfile/secure/usr.bin/openssl/man/pkcs7.1 projects/sendfile/secure/usr.bin/openssl/man/pkcs8.1 projects/sendfile/secure/usr.bin/openssl/man/pkey.1 projects/sendfile/secure/usr.bin/openssl/man/pkeyparam.1 projects/sendfile/secure/usr.bin/openssl/man/pkeyutl.1 projects/sendfile/secure/usr.bin/openssl/man/rand.1 projects/sendfile/secure/usr.bin/openssl/man/req.1 projects/sendfile/secure/usr.bin/openssl/man/rsa.1 projects/sendfile/secure/usr.bin/openssl/man/rsautl.1 projects/sendfile/secure/usr.bin/openssl/man/s_client.1 projects/sendfile/secure/usr.bin/openssl/man/s_server.1 projects/sendfile/secure/usr.bin/openssl/man/s_time.1 projects/sendfile/secure/usr.bin/openssl/man/sess_id.1 projects/sendfile/secure/usr.bin/openssl/man/smime.1 projects/sendfile/secure/usr.bin/openssl/man/speed.1 projects/sendfile/secure/usr.bin/openssl/man/spkac.1 projects/sendfile/secure/usr.bin/openssl/man/ts.1 projects/sendfile/secure/usr.bin/openssl/man/tsget.1 projects/sendfile/secure/usr.bin/openssl/man/verify.1 projects/sendfile/secure/usr.bin/openssl/man/version.1 projects/sendfile/secure/usr.bin/openssl/man/x509.1 projects/sendfile/secure/usr.bin/openssl/man/x509v3_config.1 projects/sendfile/share/man/man5/src.conf.5 projects/sendfile/share/misc/bsd-family-tree projects/sendfile/share/misc/committers-doc.dot projects/sendfile/share/misc/committers-ports.dot projects/sendfile/share/misc/committers-src.dot projects/sendfile/share/mk/bsd.own.mk projects/sendfile/sys/amd64/amd64/machdep.c projects/sendfile/sys/amd64/amd64/mp_watchdog.c projects/sendfile/sys/amd64/amd64/pmap.c projects/sendfile/sys/amd64/include/smp.h projects/sendfile/sys/amd64/vmm/intel/vmx.c projects/sendfile/sys/amd64/vmm/io/iommu.c projects/sendfile/sys/amd64/vmm/io/ppt.c projects/sendfile/sys/amd64/vmm/io/ppt.h projects/sendfile/sys/amd64/vmm/vmm.c projects/sendfile/sys/amd64/vmm/vmm_ipi.c projects/sendfile/sys/amd64/vmm/vmm_stat.c projects/sendfile/sys/amd64/vmm/vmm_stat.h projects/sendfile/sys/arm/arm/locore.S projects/sendfile/sys/arm/at91/uart_dev_at91usart.c projects/sendfile/sys/arm/conf/HL201 projects/sendfile/sys/arm/conf/NOTES projects/sendfile/sys/boot/i386/libi386/comconsole.c projects/sendfile/sys/boot/pc98/libpc98/comconsole.c projects/sendfile/sys/cam/cam_xpt.c projects/sendfile/sys/cam/scsi/scsi_da.c projects/sendfile/sys/compat/freebsd32/freebsd32_misc.c projects/sendfile/sys/conf/NOTES projects/sendfile/sys/conf/options projects/sendfile/sys/conf/options.arm projects/sendfile/sys/dev/adb/adb_kbd.c projects/sendfile/sys/dev/adb/adb_mouse.c projects/sendfile/sys/dev/fdt/fdt_common.c projects/sendfile/sys/dev/hwpmc/hwpmc_core.c projects/sendfile/sys/dev/hwpmc/hwpmc_piv.c projects/sendfile/sys/dev/hwpmc/hwpmc_ppro.c projects/sendfile/sys/dev/hwpmc/hwpmc_uncore.c projects/sendfile/sys/dev/hwpmc/hwpmc_x86.c projects/sendfile/sys/dev/pci/pci.c projects/sendfile/sys/dev/pci/pci_user.c projects/sendfile/sys/dev/pci/pcivar.h projects/sendfile/sys/dev/uart/uart.h projects/sendfile/sys/dev/uart/uart_bus_fdt.c projects/sendfile/sys/dev/uart/uart_cpu_fdt.c projects/sendfile/sys/dev/usb/controller/ehci.c projects/sendfile/sys/dev/usb/quirk/usb_quirk.c projects/sendfile/sys/dev/usb/usb_freebsd.h projects/sendfile/sys/dev/usb/usb_freebsd_loader.h projects/sendfile/sys/dev/usb/usb_transfer.c projects/sendfile/sys/dev/usb/usbdevs projects/sendfile/sys/dev/usb/wlan/if_run.c projects/sendfile/sys/dev/vt/hw/fb/vt_fb.c projects/sendfile/sys/fs/ext2fs/ext2_bmap.c projects/sendfile/sys/fs/ext2fs/ext2_dinode.h projects/sendfile/sys/fs/ext2fs/ext2_htree.c projects/sendfile/sys/fs/ext2fs/ext2_inode_cnv.c projects/sendfile/sys/fs/ext2fs/ext2_lookup.c projects/sendfile/sys/fs/ext2fs/ext2_subr.c projects/sendfile/sys/fs/ext2fs/ext2_vfsops.c projects/sendfile/sys/fs/ext2fs/ext2_vnops.c projects/sendfile/sys/fs/ext2fs/inode.h projects/sendfile/sys/geom/geom_ctl.c projects/sendfile/sys/i386/i386/machdep.c projects/sendfile/sys/i386/i386/mp_watchdog.c projects/sendfile/sys/i386/i386/pmap.c projects/sendfile/sys/i386/include/smp.h projects/sendfile/sys/i386/xen/mptable.c projects/sendfile/sys/kern/subr_prf.c projects/sendfile/sys/kern/vfs_bio.c projects/sendfile/sys/kern/vfs_syscalls.c projects/sendfile/sys/mips/atheros/ar724xreg.h projects/sendfile/sys/netinet/ip_mroute.c projects/sendfile/sys/netpfil/ipfw/ip_fw2.c projects/sendfile/sys/netpfil/ipfw/ip_fw_private.h projects/sendfile/sys/netpfil/ipfw/ip_fw_sockopt.c projects/sendfile/sys/netpfil/pf/pf.c projects/sendfile/sys/netpfil/pf/pf_ioctl.c projects/sendfile/sys/pc98/pc98/machdep.c projects/sendfile/sys/powerpc/powermac/macio.c projects/sendfile/sys/powerpc/powermac/maciovar.h projects/sendfile/sys/powerpc/powerpc/exec_machdep.c projects/sendfile/sys/sys/pciio.h projects/sendfile/sys/sys/systm.h projects/sendfile/sys/vm/vm_pageout.c projects/sendfile/sys/x86/acpica/madt.c projects/sendfile/sys/x86/acpica/srat.c projects/sendfile/sys/x86/include/legacyvar.h projects/sendfile/sys/x86/pci/pci_bus.c projects/sendfile/sys/x86/pci/qpi.c projects/sendfile/sys/x86/x86/io_apic.c projects/sendfile/sys/x86/x86/local_apic.c projects/sendfile/sys/x86/x86/mca.c projects/sendfile/sys/x86/x86/mptable.c projects/sendfile/sys/x86/x86/mptable_pci.c projects/sendfile/sys/x86/x86/msi.c projects/sendfile/sys/x86/xen/xen_intr.c projects/sendfile/usr.sbin/bhyve/block_if.c projects/sendfile/usr.sbin/bhyve/pci_ahci.c projects/sendfile/usr.sbin/etcupdate/etcupdate.sh projects/sendfile/usr.sbin/mergemaster/mergemaster.sh projects/sendfile/usr.sbin/pciconf/pciconf.8 projects/sendfile/usr.sbin/pciconf/pciconf.c projects/sendfile/usr.sbin/pkg/config.c projects/sendfile/usr.sbin/services_mkdb/extern.h projects/sendfile/usr.sbin/services_mkdb/services_mkdb.8 projects/sendfile/usr.sbin/services_mkdb/services_mkdb.c projects/sendfile/usr.sbin/usbdump/usbdump.c Directory Properties: projects/sendfile/ (props changed) projects/sendfile/crypto/openssl/ (props changed) projects/sendfile/etc/ (props changed) projects/sendfile/include/ (props changed) projects/sendfile/lib/libc/ (props changed) projects/sendfile/sbin/ (props changed) projects/sendfile/sys/ (props changed) projects/sendfile/sys/amd64/vmm/ (props changed) projects/sendfile/sys/boot/ (props changed) projects/sendfile/sys/conf/ (props changed) projects/sendfile/usr.sbin/bhyve/ (props changed) Modified: projects/sendfile/Makefile.inc1 ============================================================================== --- projects/sendfile/Makefile.inc1 Fri Jan 24 09:17:29 2014 (r261118) +++ projects/sendfile/Makefile.inc1 Fri Jan 24 13:36:41 2014 (r261119) @@ -417,7 +417,7 @@ LIB32WMAKEFLAGS+= \ -DNO_LINT LIB32WMAKE= ${LIB32WMAKEENV} ${MAKE} ${LIB32WMAKEFLAGS} \ - -DWITHOUT_MAN -DWITHOUT_INFO -DWITHOUT_HTML + -DWITHOUT_MAN -DWITHOUT_INFO -DWITHOUT_HTML -DNO_TESTS LIB32IMAKE= ${LIB32WMAKE:NINSTALL=*:NDESTDIR=*:N_LDSCRIPTROOT=*} -DNO_INCS \ ${IMAKE_INSTALL} .endif @@ -771,7 +771,7 @@ _nmtree_itools= nmtree ITOOLS= [ awk cap_mkdb cat chflags chmod chown \ date echo egrep find grep id install ${_install-info} \ ln lockf make mkdir mtree ${_nmtree_itools} mv pwd_mkdb \ - rm sed sh sysctl test true uname wc ${_zoneinfo} + rm sed services_mkdb sh sysctl test true uname wc ${_zoneinfo} # # distributeworld Modified: projects/sendfile/contrib/bsnmp/lib/asn1.c ============================================================================== --- projects/sendfile/contrib/bsnmp/lib/asn1.c Fri Jan 24 09:17:29 2014 (r261118) +++ projects/sendfile/contrib/bsnmp/lib/asn1.c Fri Jan 24 13:36:41 2014 (r261119) @@ -652,7 +652,7 @@ asn_put_objid(struct asn_buf *b, const s err = ASN_ERR_RANGE; } if (oid->subs[0] > 2 || - (oid->subs[0] < 2 && oid->subs[0] >= 40)) { + (oid->subs[0] < 2 && oid->subs[1] >= 40)) { asn_error(NULL, "oid out of range (%u,%u)", oid->subs[0], oid->subs[1]); err = ASN_ERR_RANGE; Modified: projects/sendfile/contrib/jemalloc/COPYING ============================================================================== --- projects/sendfile/contrib/jemalloc/COPYING Fri Jan 24 09:17:29 2014 (r261118) +++ projects/sendfile/contrib/jemalloc/COPYING Fri Jan 24 13:36:41 2014 (r261119) @@ -1,10 +1,10 @@ Unless otherwise specified, files in the jemalloc source distribution are subject to the following license: -------------------------------------------------------------------------------- -Copyright (C) 2002-2013 Jason Evans . +Copyright (C) 2002-2014 Jason Evans . All rights reserved. Copyright (C) 2007-2012 Mozilla Foundation. All rights reserved. -Copyright (C) 2009-2013 Facebook, Inc. All rights reserved. +Copyright (C) 2009-2014 Facebook, Inc. All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: Modified: projects/sendfile/contrib/jemalloc/ChangeLog ============================================================================== --- projects/sendfile/contrib/jemalloc/ChangeLog Fri Jan 24 09:17:29 2014 (r261118) +++ projects/sendfile/contrib/jemalloc/ChangeLog Fri Jan 24 13:36:41 2014 (r261119) @@ -6,6 +6,59 @@ found in the git revision history: http://www.canonware.com/cgi-bin/gitweb.cgi?p=jemalloc.git git://canonware.com/jemalloc.git +* 3.5.0 (January 22, 2014) + + This version focuses on refactoring and automated testing, though it also + includes some non-trivial heap profiling optimizations not mentioned below. + + New features: + - Add the *allocx() API, which is a successor to the experimental *allocm() + API. The *allocx() functions are slightly simpler to use because they have + fewer parameters, they directly return the results of primary interest, and + mallocx()/rallocx() avoid the strict aliasing pitfall that + allocm()/rallocx() share with posix_memalign(). Note that *allocm() is + slated for removal in the next non-bugfix release. + - Add support for LinuxThreads. + + Bug fixes: + - Unless heap profiling is enabled, disable floating point code and don't link + with libm. This, in combination with e.g. EXTRA_CFLAGS=-mno-sse on x64 + systems, makes it possible to completely disable floating point register + use. Some versions of glibc neglect to save/restore caller-saved floating + point registers during dynamic lazy symbol loading, and the symbol loading + code uses whatever malloc the application happens to have linked/loaded + with, the result being potential floating point register corruption. + - Report ENOMEM rather than EINVAL if an OOM occurs during heap profiling + backtrace creation in imemalign(). This bug impacted posix_memalign() and + aligned_alloc(). + - Fix a file descriptor leak in a prof_dump_maps() error path. + - Fix prof_dump() to close the dump file descriptor for all relevant error + paths. + - Fix rallocm() to use the arena specified by the ALLOCM_ARENA(s) flag for + allocation, not just deallocation. + - Fix a data race for large allocation stats counters. + - Fix a potential infinite loop during thread exit. This bug occurred on + Solaris, and could affect other platforms with similar pthreads TSD + implementations. + - Don't junk-fill reallocations unless usable size changes. This fixes a + violation of the *allocx()/*allocm() semantics. + - Fix growing large reallocation to junk fill new space. + - Fix huge deallocation to junk fill when munmap is disabled. + - Change the default private namespace prefix from empty to je_, and change + --with-private-namespace-prefix so that it prepends an additional prefix + rather than replacing je_. This reduces the likelihood of applications + which statically link jemalloc experiencing symbol name collisions. + - Add missing private namespace mangling (relevant when + --with-private-namespace is specified). + - Add and use JEMALLOC_INLINE_C so that static inline functions are marked as + static even for debug builds. + - Add a missing mutex unlock in a malloc_init_hard() error path. In practice + this error path is never executed. + - Fix numerous bugs in malloc_strotumax() error handling/reporting. These + bugs had no impact except for malformed inputs. + - Fix numerous bugs in malloc_snprintf(). These bugs were not exercised by + existing calls, so they had no impact. + * 3.4.1 (October 20, 2013) Bug fixes: Modified: projects/sendfile/contrib/jemalloc/FREEBSD-Xlist ============================================================================== --- projects/sendfile/contrib/jemalloc/FREEBSD-Xlist Fri Jan 24 09:17:29 2014 (r261118) +++ projects/sendfile/contrib/jemalloc/FREEBSD-Xlist Fri Jan 24 13:36:41 2014 (r261119) @@ -10,14 +10,35 @@ autom4te.cache/ bin/ config.* configure* +coverage.sh doc/*.in doc/*.xml doc/*.xsl doc/*.html include/jemalloc/internal/jemalloc_internal.h.in +include/jemalloc/internal/jemalloc_internal_defs.h.in +include/jemalloc/internal/private_namespace.sh +include/jemalloc/internal/private_symbols.txt +include/jemalloc/internal/private_unnamespace.h +include/jemalloc/internal/private_unnamespace.sh +include/jemalloc/internal/public_namespace.sh +include/jemalloc/internal/public_symbols.txt +include/jemalloc/internal/public_unnamespace.h +include/jemalloc/internal/public_unnamespace.sh include/jemalloc/internal/size_classes.sh include/jemalloc/jemalloc.h.in +include/jemalloc/jemalloc.sh include/jemalloc/jemalloc_defs.h.in +include/jemalloc/jemalloc_macros.h +include/jemalloc/jemalloc_macros.h.in +include/jemalloc/jemalloc_mangle_jet.h +include/jemalloc/jemalloc_mangle.sh +include/jemalloc/jemalloc_mangle.h +include/jemalloc/jemalloc_protos_jet.h +include/jemalloc/jemalloc_protos.h +include/jemalloc/jemalloc_protos.h.in +include/jemalloc/jemalloc_rename.h +include/jemalloc/jemalloc_rename.sh include/msvc_compat/ install-sh src/zone.c Modified: projects/sendfile/contrib/jemalloc/FREEBSD-diffs ============================================================================== --- projects/sendfile/contrib/jemalloc/FREEBSD-diffs Fri Jan 24 09:17:29 2014 (r261118) +++ projects/sendfile/contrib/jemalloc/FREEBSD-diffs Fri Jan 24 13:36:41 2014 (r261119) @@ -1,8 +1,8 @@ diff --git a/doc/jemalloc.xml.in b/doc/jemalloc.xml.in -index abd5e6f..1d7491a 100644 +index c7e2e87..2bd59f0 100644 --- a/doc/jemalloc.xml.in +++ b/doc/jemalloc.xml.in -@@ -51,12 +51,23 @@ +@@ -57,12 +57,23 @@ This manual describes jemalloc @jemalloc_version@. More information can be found at the jemalloc website. @@ -27,7 +27,7 @@ index abd5e6f..1d7491a 100644 Standard API -@@ -2180,4 +2191,16 @@ malloc_conf = "lg_chunk:24";]]> +@@ -2338,4 +2349,19 @@ malloc_conf = "lg_chunk:24";]]> The posix_memalign function conforms to IEEE Std 1003.1-2001 (“POSIX.1”). @@ -42,32 +42,35 @@ index abd5e6f..1d7491a 100644 + mallctl*, and + *allocm functions first appeared in + FreeBSD 10.0. ++ ++ The *allocx functions first appeared ++ in FreeBSD 11.0. + diff --git a/include/jemalloc/internal/jemalloc_internal.h.in b/include/jemalloc/internal/jemalloc_internal.h.in -index 53c135c..c547339 100644 +index d24a1fe..d101c3d 100644 --- a/include/jemalloc/internal/jemalloc_internal.h.in +++ b/include/jemalloc/internal/jemalloc_internal.h.in @@ -1,5 +1,8 @@ #ifndef JEMALLOC_INTERNAL_H - #define JEMALLOC_INTERNAL_H + #define JEMALLOC_INTERNAL_H +#include "libc_private.h" +#include "namespace.h" + #include #ifdef _WIN32 # include -@@ -54,6 +57,9 @@ typedef intptr_t ssize_t; +@@ -65,6 +68,9 @@ typedef intptr_t ssize_t; + #include #endif - #include +#include "un-namespace.h" +#include "libc_private.h" + #define JEMALLOC_NO_DEMANGLE - #include "../jemalloc@install_suffix@.h" - -@@ -95,13 +101,7 @@ static const bool config_fill = + #ifdef JEMALLOC_JET + # define JEMALLOC_N(n) jet_##n +@@ -99,13 +105,7 @@ static const bool config_fill = false #endif ; @@ -96,36 +99,24 @@ index de44e14..564d604 100644 #endif bool malloc_mutex_init(malloc_mutex_t *mutex); -diff --git a/include/jemalloc/internal/private_namespace.h b/include/jemalloc/internal/private_namespace.h -index cdb0b0e..2a98d1f 100644 ---- a/include/jemalloc/internal/private_namespace.h -+++ b/include/jemalloc/internal/private_namespace.h -@@ -218,7 +218,6 @@ - #define iralloc JEMALLOC_N(iralloc) - #define irallocx JEMALLOC_N(irallocx) - #define isalloc JEMALLOC_N(isalloc) --#define isthreaded JEMALLOC_N(isthreaded) - #define ivsalloc JEMALLOC_N(ivsalloc) - #define jemalloc_postfork_child JEMALLOC_N(jemalloc_postfork_child) - #define jemalloc_postfork_parent JEMALLOC_N(jemalloc_postfork_parent) -diff --git a/include/jemalloc/jemalloc.h.in b/include/jemalloc/jemalloc.h.in -index 31b1304..c3ef2f5 100644 ---- a/include/jemalloc/jemalloc.h.in -+++ b/include/jemalloc/jemalloc.h.in -@@ -15,6 +15,7 @@ extern "C" { - #define JEMALLOC_VERSION_GID "@jemalloc_version_gid@" - - #include "jemalloc_defs@install_suffix@.h" -+#include "jemalloc_FreeBSD.h" - - #ifdef JEMALLOC_EXPERIMENTAL - #define ALLOCM_LG_ALIGN(la) (la) +diff --git a/include/jemalloc/internal/private_symbols.txt b/include/jemalloc/internal/private_symbols.txt +index 1e64ed5..29ddba3 100644 +--- a/include/jemalloc/internal/private_symbols.txt ++++ b/include/jemalloc/internal/private_symbols.txt +@@ -225,7 +225,6 @@ iralloc + iralloct + iralloct_realign + isalloc +-isthreaded + ivsalloc + ixalloc + jemalloc_postfork_child diff --git a/include/jemalloc/jemalloc_FreeBSD.h b/include/jemalloc/jemalloc_FreeBSD.h new file mode 100644 -index 0000000..e6c8407 +index 0000000..94554bc --- /dev/null +++ b/include/jemalloc/jemalloc_FreeBSD.h -@@ -0,0 +1,117 @@ +@@ -0,0 +1,134 @@ +/* + * Override settings that were generated in jemalloc_defs.h as necessary. + */ @@ -202,6 +193,12 @@ index 0000000..e6c8407 +#undef je_free +#undef je_posix_memalign +#undef je_malloc_usable_size ++#undef je_mallocx ++#undef je_rallocx ++#undef je_xallocx ++#undef je_sallocx ++#undef je_dallocx ++#undef je_nallocx +#undef je_allocm +#undef je_rallocm +#undef je_sallocm @@ -213,6 +210,12 @@ index 0000000..e6c8407 +#define je_free __free +#define je_posix_memalign __posix_memalign +#define je_malloc_usable_size __malloc_usable_size ++#define je_mallocx __mallocx ++#define je_rallocx __rallocx ++#define je_xallocx __xallocx ++#define je_sallocx __sallocx ++#define je_dallocx __dallocx ++#define je_nallocx __nallocx +#define je_allocm __allocm +#define je_rallocm __rallocm +#define je_sallocm __sallocm @@ -236,15 +239,31 @@ index 0000000..e6c8407 +__weak_reference(__free, free); +__weak_reference(__posix_memalign, posix_memalign); +__weak_reference(__malloc_usable_size, malloc_usable_size); ++__weak_reference(__mallocx, mallocx); ++__weak_reference(__rallocx, rallocx); ++__weak_reference(__xallocx, xallocx); ++__weak_reference(__sallocx, sallocx); ++__weak_reference(__dallocx, dallocx); ++__weak_reference(__nallocx, nallocx); +__weak_reference(__allocm, allocm); +__weak_reference(__rallocm, rallocm); +__weak_reference(__sallocm, sallocm); +__weak_reference(__dallocm, dallocm); +__weak_reference(__nallocm, nallocm); +#endif +diff --git a/include/jemalloc/jemalloc_rename.sh b/include/jemalloc/jemalloc_rename.sh +index f943891..47d032c 100755 +--- a/include/jemalloc/jemalloc_rename.sh ++++ b/include/jemalloc/jemalloc_rename.sh +@@ -19,4 +19,6 @@ done + + cat < -.\" Date: 10/20/2013 +.\" Date: 01/22/2014 .\" Manual: User Manual -.\" Source: jemalloc 3.4.1-0-g0135fb806e4137dc9cdf152541926a2bc95e33f0 +.\" Source: jemalloc 3.5.0-0-gcc47dde16203a6ae7eb685b53e1ae501f3869bc6 .\" Language: English .\" -.TH "JEMALLOC" "3" "10/20/2013" "jemalloc 3.4.1-0-g0135fb806e41" "User Manual" +.TH "JEMALLOC" "3" "01/22/2014" "jemalloc 3.5.0-0-gcc47dde16203" "User Manual" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -31,7 +31,7 @@ jemalloc \- general purpose memory allocation functions .SH "LIBRARY" .PP -This manual describes jemalloc 3\&.4\&.1\-0\-g0135fb806e4137dc9cdf152541926a2bc95e33f0\&. More information can be found at the +This manual describes jemalloc 3\&.5\&.0\-0\-gcc47dde16203a6ae7eb685b53e1ae501f3869bc6\&. More information can be found at the \m[blue]\fBjemalloc website\fR\m[]\&\s-2\u[1]\d\s+2\&. .PP The following configuration options are enabled in libc\*(Aqs built\-in jemalloc: @@ -71,16 +71,28 @@ make variable)\&. .HP \w'void\ free('u .BI "void free(void\ *" "ptr" ");" .SS "Non\-standard API" -.HP \w'size_t\ malloc_usable_size('u -.BI "size_t malloc_usable_size(const\ void\ *" "ptr" ");" -.HP \w'void\ malloc_stats_print('u -.BI "void malloc_stats_print(void\ " "(*write_cb)" "\ (void\ *,\ const\ char\ *), void\ *" "cbopaque" ", const\ char\ *" "opts" ");" +.HP \w'void\ *mallocx('u +.BI "void *mallocx(size_t\ " "size" ", int\ " "flags" ");" +.HP \w'void\ *rallocx('u +.BI "void *rallocx(void\ *" "ptr" ", size_t\ " "size" ", int\ " "flags" ");" +.HP \w'size_t\ xallocx('u +.BI "size_t xallocx(void\ *" "ptr" ", size_t\ " "size" ", size_t\ " "extra" ", int\ " "flags" ");" +.HP \w'size_t\ sallocx('u +.BI "size_t sallocx(void\ *" "ptr" ", int\ " "flags" ");" +.HP \w'void\ dallocx('u +.BI "void dallocx(void\ *" "ptr" ", int\ " "flags" ");" +.HP \w'size_t\ nallocx('u +.BI "size_t nallocx(size_t\ " "size" ", int\ " "flags" ");" .HP \w'int\ mallctl('u .BI "int mallctl(const\ char\ *" "name" ", void\ *" "oldp" ", size_t\ *" "oldlenp" ", void\ *" "newp" ", size_t\ " "newlen" ");" .HP \w'int\ mallctlnametomib('u .BI "int mallctlnametomib(const\ char\ *" "name" ", size_t\ *" "mibp" ", size_t\ *" "miblenp" ");" .HP \w'int\ mallctlbymib('u .BI "int mallctlbymib(const\ size_t\ *" "mib" ", size_t\ " "miblen" ", void\ *" "oldp" ", size_t\ *" "oldlenp" ", void\ *" "newp" ", size_t\ " "newlen" ");" +.HP \w'void\ malloc_stats_print('u +.BI "void malloc_stats_print(void\ " "(*write_cb)" "\ (void\ *,\ const\ char\ *), void\ *" "cbopaque" ", const\ char\ *" "opts" ");" +.HP \w'size_t\ malloc_usable_size('u +.BI "size_t malloc_usable_size(const\ void\ *" "ptr" ");" .HP \w'void\ (*malloc_message)('u .BI "void (*malloc_message)(void\ *" "cbopaque" ", const\ char\ *" "s" ");" .PP @@ -172,36 +184,105 @@ is .SS "Non\-standard API" .PP The -\fBmalloc_usable_size\fR\fB\fR -function returns the usable size of the allocation pointed to by -\fIptr\fR\&. The return value may be larger than the size that was requested during allocation\&. The -\fBmalloc_usable_size\fR\fB\fR -function is not a mechanism for in\-place -\fBrealloc\fR\fB\fR; rather it is provided solely as a tool for introspection purposes\&. Any discrepancy between the requested allocation size and the size reported by -\fBmalloc_usable_size\fR\fB\fR -should not be depended on, since such behavior is entirely implementation\-dependent\&. +\fBmallocx\fR\fB\fR, +\fBrallocx\fR\fB\fR, +\fBxallocx\fR\fB\fR, +\fBsallocx\fR\fB\fR, +\fBdallocx\fR\fB\fR, and +\fBnallocx\fR\fB\fR +functions all have a +\fIflags\fR +argument that can be used to specify options\&. The functions only check the options that are contextually relevant\&. Use bitwise or (|) operations to specify one or more of the following: +.PP +\fBMALLOCX_LG_ALIGN(\fR\fB\fIla\fR\fR\fB) \fR +.RS 4 +Align the memory allocation to start at an address that is a multiple of +(1 << \fIla\fR)\&. This macro does not validate that +\fIla\fR +is within the valid range\&. +.RE +.PP +\fBMALLOCX_ALIGN(\fR\fB\fIa\fR\fR\fB) \fR +.RS 4 +Align the memory allocation to start at an address that is a multiple of +\fIa\fR, where +\fIa\fR +is a power of two\&. This macro does not validate that +\fIa\fR +is a power of 2\&. +.RE +.PP +\fBMALLOCX_ZERO\fR +.RS 4 +Initialize newly allocated memory to contain zero bytes\&. In the growing reallocation case, the real size prior to reallocation defines the boundary between untouched bytes and those that are initialized to contain zero bytes\&. If this macro is absent, newly allocated memory is uninitialized\&. +.RE +.PP +\fBMALLOCX_ARENA(\fR\fB\fIa\fR\fR\fB) \fR +.RS 4 +Use the arena specified by the index +\fIa\fR +(and by necessity bypass the thread cache)\&. This macro has no effect for huge regions, nor for regions that were allocated via an arena other than the one specified\&. This macro does not validate that +\fIa\fR +specifies an arena index in the valid range\&. +.RE .PP The -\fBmalloc_stats_print\fR\fB\fR -function writes human\-readable summary statistics via the -\fIwrite_cb\fR -callback function pointer and -\fIcbopaque\fR -data passed to -\fIwrite_cb\fR, or -\fBmalloc_message\fR\fB\fR -if -\fIwrite_cb\fR +\fBmallocx\fR\fB\fR +function allocates at least +\fIsize\fR +bytes of memory, and returns a pointer to the base address of the allocation\&. Behavior is undefined if +\fIsize\fR is -\fBNULL\fR\&. This function can be called repeatedly\&. General information that never changes during execution can be omitted by specifying "g" as a character within the -\fIopts\fR -string\&. Note that -\fBmalloc_message\fR\fB\fR -uses the -\fBmallctl*\fR\fB\fR -functions internally, so inconsistent statistics can be reported if multiple threads use these functions simultaneously\&. If -\fB\-\-enable\-stats\fR -is specified during configuration, \(lqm\(rq and \(lqa\(rq can be specified to omit merged arena and per arena statistics, respectively; \(lqb\(rq and \(lql\(rq can be specified to omit per size class statistics for bins and large objects, respectively\&. Unrecognized characters are silently ignored\&. Note that thread caching may prevent some statistics from being completely up to date, since extra locking would be required to merge counters that track thread cache operations\&. +\fB0\fR, or if request size overflows due to size class and/or alignment constraints\&. +.PP +The +\fBrallocx\fR\fB\fR +function resizes the allocation at +\fIptr\fR +to be at least +\fIsize\fR +bytes, and returns a pointer to the base address of the resulting allocation, which may or may not have moved from its original location\&. Behavior is undefined if +\fIsize\fR +is +\fB0\fR, or if request size overflows due to size class and/or alignment constraints\&. +.PP +The +\fBxallocx\fR\fB\fR +function resizes the allocation at +\fIptr\fR +in place to be at least +\fIsize\fR +bytes, and returns the real size of the allocation\&. If +\fIextra\fR +is non\-zero, an attempt is made to resize the allocation to be at least +(\fIsize\fR + \fIextra\fR) +bytes, though inability to allocate the extra byte(s) will not by itself result in failure to resize\&. Behavior is undefined if +\fIsize\fR +is +\fB0\fR, or if +(\fIsize\fR + \fIextra\fR > \fBSIZE_T_MAX\fR)\&. +.PP +The +\fBsallocx\fR\fB\fR +function returns the real size of the allocation at +\fIptr\fR\&. +.PP +The +\fBdallocx\fR\fB\fR +function causes the memory referenced by +\fIptr\fR +to be made available for future allocations\&. +.PP +The +\fBnallocx\fR\fB\fR +function allocates no memory, but it performs the same size computation as the +\fBmallocx\fR\fB\fR +function, and returns the real size of the allocation that would result from the equivalent +\fBmallocx\fR\fB\fR +function call\&. Behavior is undefined if +\fIsize\fR +is +\fB0\fR, or if request size overflows due to size class and/or alignment constraints\&. .PP The \fBmallctl\fR\fB\fR @@ -245,15 +326,14 @@ that is smaller than the number of perio .\} .nf unsigned nbins, i; - -int mib[4]; +size_t mib[4]; size_t len, miblen; len = sizeof(nbins); mallctl("arenas\&.nbins", &nbins, &len, NULL, 0); miblen = 4; -mallnametomib("arenas\&.bin\&.0\&.size", mib, &miblen); +mallctlnametomib("arenas\&.bin\&.0\&.size", mib, &miblen); for (i = 0; i < nbins; i++) { size_t bin_size; @@ -266,6 +346,38 @@ for (i = 0; i < nbins; i++) { .if n \{\ .RE .\} +.PP +The +\fBmalloc_stats_print\fR\fB\fR +function writes human\-readable summary statistics via the +\fIwrite_cb\fR +callback function pointer and +\fIcbopaque\fR +data passed to +\fIwrite_cb\fR, or +\fBmalloc_message\fR\fB\fR +if +\fIwrite_cb\fR +is +\fBNULL\fR\&. This function can be called repeatedly\&. General information that never changes during execution can be omitted by specifying "g" as a character within the +\fIopts\fR +string\&. Note that +\fBmalloc_message\fR\fB\fR +uses the +\fBmallctl*\fR\fB\fR +functions internally, so inconsistent statistics can be reported if multiple threads use these functions simultaneously\&. If +\fB\-\-enable\-stats\fR +is specified during configuration, \(lqm\(rq and \(lqa\(rq can be specified to omit merged arena and per arena statistics, respectively; \(lqb\(rq and \(lql\(rq can be specified to omit per size class statistics for bins and large objects, respectively\&. Unrecognized characters are silently ignored\&. Note that thread caching may prevent some statistics from being completely up to date, since extra locking would be required to merge counters that track thread cache operations\&. +.PP +The +\fBmalloc_usable_size\fR\fB\fR +function returns the usable size of the allocation pointed to by +\fIptr\fR\&. The return value may be larger than the size that was requested during allocation\&. The +\fBmalloc_usable_size\fR\fB\fR +function is not a mechanism for in\-place +\fBrealloc\fR\fB\fR; rather it is provided solely as a tool for introspection purposes\&. Any discrepancy between the requested allocation size and the size reported by +\fBmalloc_usable_size\fR\fB\fR +should not be depended on, since such behavior is entirely implementation\-dependent\&. .SS "Experimental API" .PP The experimental API is subject to change or removal without regard for backward compatibility\&. If @@ -302,7 +414,7 @@ is a power of 2\&. .PP \fBALLOCM_ZERO\fR .RS 4 -Initialize newly allocated memory to contain zero bytes\&. In the growing reallocation case, the real size prior to reallocation defines the boundary between untouched bytes and those that are initialized to contain zero bytes\&. If this option is absent, newly allocated memory is uninitialized\&. +Initialize newly allocated memory to contain zero bytes\&. In the growing reallocation case, the real size prior to reallocation defines the boundary between untouched bytes and those that are initialized to contain zero bytes\&. If this macro is absent, newly allocated memory is uninitialized\&. .RE .PP \fBALLOCM_NO_MOVE\fR @@ -313,9 +425,10 @@ For reallocation, fail rather than movin \fBALLOCM_ARENA(\fR\fB\fIa\fR\fR\fB) \fR .RS 4 Use the arena specified by the index -\fIa\fR\&. This macro does not validate that \fIa\fR -specifies an arena in the valid range\&. +(and by necessity bypass the thread cache)\&. This macro has no effect for huge regions, nor for regions that were allocated via an arena other than the one specified\&. This macro does not validate that +\fIa\fR +specifies an arena index in the valid range\&. .RE .PP The @@ -332,7 +445,7 @@ is not \fBNULL\fR\&. Behavior is undefined if \fIsize\fR is -\fB0\fR\&. +\fB0\fR, or if request size overflows due to size class and/or alignment constraints\&. .PP The \fBrallocm\fR\fB\fR @@ -350,11 +463,11 @@ is not \fBNULL\fR\&. If \fIextra\fR is non\-zero, an attempt is made to resize the allocation to be at least -\fIsize\fR + \fIextra\fR) +(\fIsize\fR + \fIextra\fR) bytes, though inability to allocate the extra byte(s) will not by itself result in failure\&. Behavior is undefined if \fIsize\fR is -\fB0\fR, or if +\fB0\fR, if request size overflows due to size class and/or alignment constraints, or if (\fIsize\fR + \fIextra\fR > \fBSIZE_T_MAX\fR)\&. .PP The @@ -384,7 +497,7 @@ to the real size of the allocation that function call\&. Behavior is undefined if \fIsize\fR is -\fB0\fR\&. +\fB0\fR, or if request size overflows due to size class and/or alignment constraints\&. .SH "TUNING" .PP Once, when the first call is made to one of the memory allocation routines, the allocator initializes its internals based in part on various options that can be specified at compile\- or run\-time\&. @@ -662,16 +775,18 @@ in these cases\&. This option is disable is specified during configuration, in which case it is enabled by default\&. .RE .PP -"opt\&.lg_chunk" (\fBsize_t\fR) r\- -.RS 4 -Virtual memory chunk size (log base 2)\&. If a chunk size outside the supported size range is specified, the size is silently clipped to the minimum/maximum supported size\&. The default chunk size is 4 MiB (2^22)\&. -.RE -.PP "opt\&.dss" (\fBconst char *\fR) r\- .RS 4 dss (\fBsbrk\fR(2)) allocation precedence as related to \fBmmap\fR(2) -allocation\&. The following settings are supported: \(lqdisabled\(rq, \(lqprimary\(rq, and \(lqsecondary\(rq (default)\&. +allocation\&. The following settings are supported: \(lqdisabled\(rq, \(lqprimary\(rq, and \(lqsecondary\(rq\&. The default is \(lqsecondary\(rq if +"config\&.dss" +is true, \(lqdisabled\(rq otherwise\&. +.RE +.PP +"opt\&.lg_chunk" (\fBsize_t\fR) r\- +.RS 4 +Virtual memory chunk size (log base 2)\&. If a chunk size outside the supported size range is specified, the size is silently clipped to the minimum/maximum supported size\&. The default chunk size is 4 MiB (2^22)\&. .RE .PP "opt\&.narenas" (\fBsize_t\fR) r\- @@ -726,7 +841,8 @@ option is enabled, the redzones are chec "opt\&.zero" (\fBbool\fR) r\- [\fB\-\-enable\-fill\fR] .RS 4 Zero filling enabled/disabled\&. If enabled, each byte of uninitialized allocated memory will be initialized to 0\&. Note that this initialization only happens once for each byte, so -\fBrealloc\fR\fB\fR +\fBrealloc\fR\fB\fR, +\fBrallocx\fR\fB\fR and \fBrallocm\fR\fB\fR calls do not zero memory that was previously allocated\&. This is intended for debugging and will impact performance negatively\&. This option is disabled by default\&. @@ -804,7 +920,7 @@ Filename prefix for profile dumps\&. If jeprof\&. .RE .PP -"opt\&.prof_active" (\fBbool\fR) r\- [\fB\-\-enable\-prof\fR] +"opt\&.prof_active" (\fBbool\fR) rw [\fB\-\-enable\-prof\fR] .RS 4 Profiling activated/deactivated\&. This is a secondary control mechanism that makes it possible to start the application with profiling enabled (see the "opt\&.prof" @@ -1119,7 +1235,7 @@ Number of or similar calls made to purge dirty pages\&. .RE .PP -"stats\&.arenas\&.\&.npurged" (\fBuint64_t\fR) r\- [\fB\-\-enable\-stats\fR] +"stats\&.arenas\&.\&.purged" (\fBuint64_t\fR) r\- [\fB\-\-enable\-stats\fR] .RS 4 Number of pages purged\&. .RE @@ -1342,11 +1458,32 @@ function returns no value\&. .SS "Non\-standard API" .PP The -\fBmalloc_usable_size\fR\fB\fR -function returns the usable size of the allocation pointed to by +\fBmallocx\fR\fB\fR +and +\fBrallocx\fR\fB\fR +functions return a pointer to the allocated memory if successful; otherwise a +\fBNULL\fR +pointer is returned to indicate insufficient contiguous memory was available to service the allocation request\&. +.PP +The +\fBxallocx\fR\fB\fR +function returns the real size of the resulting resized allocation pointed to by +\fIptr\fR, which is a value less than +\fIsize\fR +if the allocation could not be adequately grown in place\&. +.PP +The +\fBsallocx\fR\fB\fR +function returns the real size of the allocation pointed to by \fIptr\fR\&. .PP The +\fBnallocx\fR\fB\fR +returns the real size that would result from a successful equivalent +\fBmallocx\fR\fB\fR +function call, or zero if insufficient memory is available to perform the size computation\&. +.PP +The \fBmallctl\fR\fB\fR, \fBmallctlnametomib\fR\fB\fR, and \fBmallctlbymib\fR\fB\fR @@ -1363,12 +1500,6 @@ is too large or too small\&. Alternative is too large or too small; in this case as much data as possible are read despite the error\&. .RE .PP -ENOMEM -.RS 4 -\fI*oldlenp\fR -is too short to hold the requested value\&. -.RE -.PP ENOENT .RS 4 \fIname\fR @@ -1393,6 +1524,11 @@ An interface with side effects failed in \fBmallctl*\fR\fB\fR read/write processing\&. .RE +.PP +The +\fBmalloc_usable_size\fR\fB\fR +function returns the usable size of the allocation pointed to by +\fIptr\fR\&. .SS "Experimental API" .PP The @@ -1501,6 +1637,10 @@ The \fBmallctl*\fR\fB\fR, and \fB*allocm\fR\fB\fR functions first appeared in FreeBSD 10\&.0\&. +.PP +The +\fB*allocx\fR\fB\fR +functions first appeared in FreeBSD 11\&.0\&. .SH "AUTHOR" .PP \fBJason Evans\fR Modified: projects/sendfile/contrib/jemalloc/include/jemalloc/internal/arena.h ============================================================================== --- projects/sendfile/contrib/jemalloc/include/jemalloc/internal/arena.h Fri Jan 24 09:17:29 2014 (r261118) +++ projects/sendfile/contrib/jemalloc/include/jemalloc/internal/arena.h Fri Jan 24 13:36:41 2014 (r261119) @@ -158,6 +158,7 @@ struct arena_chunk_map_s { }; typedef rb_tree(arena_chunk_map_t) arena_avail_tree_t; typedef rb_tree(arena_chunk_map_t) arena_run_tree_t; +typedef ql_head(arena_chunk_map_t) arena_chunk_mapelms_t; /* Arena chunk header. */ struct arena_chunk_s { @@ -174,11 +175,12 @@ struct arena_chunk_s { size_t nruns_avail; /* - * Number of available run adjacencies. Clean and dirty available runs - * are not coalesced, which causes virtual memory fragmentation. The - * ratio of (nruns_avail-nruns_adjac):nruns_adjac is used for tracking - * this fragmentation. - * */ + * Number of available run adjacencies that purging could coalesce. + * Clean and dirty available runs are not coalesced, which causes + * virtual memory fragmentation. The ratio of + * (nruns_avail-nruns_adjac):nruns_adjac is used for tracking this + * fragmentation. + */ size_t nruns_adjac; /* @@ -404,7 +406,16 @@ void arena_tcache_fill_small(arena_t *ar size_t binind, uint64_t prof_accumbytes); void arena_alloc_junk_small(void *ptr, arena_bin_info_t *bin_info, bool zero); +#ifdef JEMALLOC_JET +typedef void (arena_redzone_corruption_t)(void *, size_t, bool, size_t, + uint8_t); +extern arena_redzone_corruption_t *arena_redzone_corruption; +typedef void (arena_dalloc_junk_small_t)(void *, arena_bin_info_t *); +extern arena_dalloc_junk_small_t *arena_dalloc_junk_small; +#else void arena_dalloc_junk_small(void *ptr, arena_bin_info_t *bin_info); +#endif +void arena_quarantine_junk_small(void *ptr, size_t usize); void *arena_malloc_small(arena_t *arena, size_t size, bool zero); void *arena_malloc_large(arena_t *arena, size_t size, bool zero); void *arena_palloc(arena_t *arena, size_t size, size_t alignment, bool zero); @@ -415,10 +426,18 @@ void arena_dalloc_bin(arena_t *arena, ar size_t pageind, arena_chunk_map_t *mapelm); void arena_dalloc_small(arena_t *arena, arena_chunk_t *chunk, void *ptr, size_t pageind); +#ifdef JEMALLOC_JET +typedef void (arena_dalloc_junk_large_t)(void *, size_t); +extern arena_dalloc_junk_large_t *arena_dalloc_junk_large; +#endif void arena_dalloc_large_locked(arena_t *arena, arena_chunk_t *chunk, void *ptr); void arena_dalloc_large(arena_t *arena, arena_chunk_t *chunk, void *ptr); -void *arena_ralloc_no_move(void *ptr, size_t oldsize, size_t size, +#ifdef JEMALLOC_JET +typedef void (arena_ralloc_junk_large_t)(void *, size_t, size_t); +extern arena_ralloc_junk_large_t *arena_ralloc_junk_large; +#endif +bool arena_ralloc_no_move(void *ptr, size_t oldsize, size_t size, size_t extra, bool zero); void *arena_ralloc(arena_t *arena, void *ptr, size_t oldsize, size_t size, size_t extra, size_t alignment, bool zero, bool try_tcache_alloc, @@ -473,7 +492,7 @@ size_t arena_bin_index(arena_t *arena, a unsigned arena_run_regind(arena_run_t *run, arena_bin_info_t *bin_info, const void *ptr); prof_ctx_t *arena_prof_ctx_get(const void *ptr); -void arena_prof_ctx_set(const void *ptr, prof_ctx_t *ctx); +void arena_prof_ctx_set(const void *ptr, size_t usize, prof_ctx_t *ctx); void *arena_malloc(arena_t *arena, size_t size, bool zero, bool try_tcache); size_t arena_salloc(const void *ptr, bool demote); void arena_dalloc(arena_t *arena, arena_chunk_t *chunk, void *ptr, @@ -885,10 +904,10 @@ arena_prof_ctx_get(const void *ptr) } JEMALLOC_INLINE void -arena_prof_ctx_set(const void *ptr, prof_ctx_t *ctx) +arena_prof_ctx_set(const void *ptr, size_t usize, prof_ctx_t *ctx) { arena_chunk_t *chunk; - size_t pageind, mapbits; + size_t pageind; cassert(config_prof); assert(ptr != NULL); @@ -896,10 +915,17 @@ arena_prof_ctx_set(const void *ptr, prof chunk = (arena_chunk_t *)CHUNK_ADDR2BASE(ptr); pageind = ((uintptr_t)ptr - (uintptr_t)chunk) >> LG_PAGE; - mapbits = arena_mapbits_get(chunk, pageind); - assert((mapbits & CHUNK_MAP_ALLOCATED) != 0); - if ((mapbits & CHUNK_MAP_LARGE) == 0) { + assert(arena_mapbits_allocated_get(chunk, pageind) != 0); + + if (usize > SMALL_MAXCLASS || (prof_promote && + ((uintptr_t)ctx != (uintptr_t)1U || arena_mapbits_large_get(chunk, + pageind) != 0))) { + assert(arena_mapbits_large_get(chunk, pageind) != 0); + arena_mapp_get(chunk, pageind)->prof_ctx = ctx; + } else { + assert(arena_mapbits_large_get(chunk, pageind) == 0); if (prof_promote == false) { + size_t mapbits = arena_mapbits_get(chunk, pageind); arena_run_t *run = (arena_run_t *)((uintptr_t)chunk + (uintptr_t)((pageind - (mapbits >> LG_PAGE)) << LG_PAGE)); @@ -911,12 +937,11 @@ arena_prof_ctx_set(const void *ptr, prof bin_info = &arena_bin_info[binind]; regind = arena_run_regind(run, bin_info, ptr); - *((prof_ctx_t **)((uintptr_t)run + bin_info->ctx0_offset - + (regind * sizeof(prof_ctx_t *)))) = ctx; - } else - assert((uintptr_t)ctx == (uintptr_t)1U); - } else - arena_mapp_get(chunk, pageind)->prof_ctx = ctx; + *((prof_ctx_t **)((uintptr_t)run + + bin_info->ctx0_offset + (regind * sizeof(prof_ctx_t + *)))) = ctx; + } + } } JEMALLOC_ALWAYS_INLINE void * Modified: projects/sendfile/contrib/jemalloc/include/jemalloc/internal/chunk_dss.h ============================================================================== --- projects/sendfile/contrib/jemalloc/include/jemalloc/internal/chunk_dss.h Fri Jan 24 09:17:29 2014 (r261118) +++ projects/sendfile/contrib/jemalloc/include/jemalloc/internal/chunk_dss.h Fri Jan 24 13:36:41 2014 (r261119) @@ -7,7 +7,7 @@ typedef enum { dss_prec_secondary = 2, dss_prec_limit = 3 -} dss_prec_t ; +} dss_prec_t; #define DSS_PREC_DEFAULT dss_prec_secondary #define DSS_DEFAULT "secondary" Modified: projects/sendfile/contrib/jemalloc/include/jemalloc/internal/ckh.h ============================================================================== --- projects/sendfile/contrib/jemalloc/include/jemalloc/internal/ckh.h Fri Jan 24 09:17:29 2014 (r261118) +++ projects/sendfile/contrib/jemalloc/include/jemalloc/internal/ckh.h Fri Jan 24 13:36:41 2014 (r261119) @@ -17,7 +17,7 @@ typedef bool ckh_keycomp_t (const void * * There are 2^LG_CKH_BUCKET_CELLS cells in each hash table bucket. Try to fit * one bucket per L1 cache line. */ -#define LG_CKH_BUCKET_CELLS (LG_CACHELINE - LG_SIZEOF_PTR - 1) +#define LG_CKH_BUCKET_CELLS (LG_CACHELINE - LG_SIZEOF_PTR - 1) #endif /* JEMALLOC_H_TYPES */ /******************************************************************************/ Modified: projects/sendfile/contrib/jemalloc/include/jemalloc/internal/hash.h ============================================================================== --- projects/sendfile/contrib/jemalloc/include/jemalloc/internal/hash.h Fri Jan 24 09:17:29 2014 (r261118) +++ projects/sendfile/contrib/jemalloc/include/jemalloc/internal/hash.h Fri Jan 24 13:36:41 2014 (r261119) @@ -19,6 +19,11 @@ #ifdef JEMALLOC_H_INLINES #ifndef JEMALLOC_ENABLE_INLINE +uint32_t hash_x86_32(const void *key, int len, uint32_t seed); +void hash_x86_128(const void *key, const int len, uint32_t seed, + uint64_t r_out[2]); +void hash_x64_128(const void *key, const int len, const uint32_t seed, + uint64_t r_out[2]); void hash(const void *key, size_t len, const uint32_t seed, size_t r_hash[2]); #endif @@ -43,14 +48,14 @@ JEMALLOC_INLINE uint32_t hash_get_block_32(const uint32_t *p, int i) { - return p[i]; + return (p[i]); } JEMALLOC_INLINE uint64_t hash_get_block_64(const uint64_t *p, int i) { - return p[i]; + return (p[i]); } JEMALLOC_INLINE uint32_t @@ -63,7 +68,7 @@ hash_fmix_32(uint32_t h) h *= 0xc2b2ae35; h ^= h >> 16; - return h; + return (h); } JEMALLOC_INLINE uint64_t @@ -76,7 +81,7 @@ hash_fmix_64(uint64_t k) k *= QU(0xc4ceb9fe1a85ec53LLU); k ^= k >> 33; - return k; + return (k); } JEMALLOC_INLINE uint32_t @@ -127,12 +132,12 @@ hash_x86_32(const void *key, int len, ui h1 = hash_fmix_32(h1); - return h1; + return (h1); } UNUSED JEMALLOC_INLINE void hash_x86_128(const void *key, const int len, uint32_t seed, - uint64_t r_out[2]) *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-projects@FreeBSD.ORG Sat Jan 25 11:27:09 2014 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 9922626D; Sat, 25 Jan 2014 11:27:09 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id 862C71854; Sat, 25 Jan 2014 11:27:09 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id s0PBR9h4070419; Sat, 25 Jan 2014 11:27:09 GMT (envelope-from kaiw@svn.freebsd.org) Received: (from kaiw@localhost) by svn.freebsd.org (8.14.7/8.14.7/Submit) id s0PBR9mr070418; Sat, 25 Jan 2014 11:27:09 GMT (envelope-from kaiw@svn.freebsd.org) Message-Id: <201401251127.s0PBR9mr070418@svn.freebsd.org> From: Kai Wang Date: Sat, 25 Jan 2014 11:27:09 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r261154 - projects/elftoolchain/cddl/contrib/opensolaris/tools/ctf/cvt X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.17 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 25 Jan 2014 11:27:09 -0000 Author: kaiw Date: Sat Jan 25 11:27:09 2014 New Revision: 261154 URL: http://svnweb.freebsd.org/changeset/base/261154 Log: Simplify DWARF version check. Submitted by: emaste Modified: projects/elftoolchain/cddl/contrib/opensolaris/tools/ctf/cvt/dwarf.c Modified: projects/elftoolchain/cddl/contrib/opensolaris/tools/ctf/cvt/dwarf.c ============================================================================== --- projects/elftoolchain/cddl/contrib/opensolaris/tools/ctf/cvt/dwarf.c Sat Jan 25 10:43:47 2014 (r261153) +++ projects/elftoolchain/cddl/contrib/opensolaris/tools/ctf/cvt/dwarf.c Sat Jan 25 11:27:09 2014 (r261154) @@ -96,11 +96,6 @@ #include "list.h" #include "traverse.h" -/* The versions of DWARF which we support. */ -#define DWARF_VERSION 2 -#define DWARF_VERSION3 3 -#define DWARF_VERSION4 4 - /* * We need to define a couple of our own intrinsics, to smooth out some of the * differences between the GCC and DevPro DWARF emitters. See the referenced @@ -1983,10 +1978,9 @@ dw_read(tdata_t *td, Elf *elf, char *fil terminate("file contains too many types\n"); debug(1, "DWARF version: %d\n", vers); - if (vers != DWARF_VERSION && vers != DWARF_VERSION3 && - vers != DWARF_VERSION4) { + if (vers < 2 || vers > 4) { terminate("file contains incompatible version %d DWARF code " - "(version 2, 3, or 4 required)\n", vers); + "(version 2, 3 or 4 required)\n", vers); } if (die_string(&dw, cu, DW_AT_producer, &prod, 0)) { From owner-svn-src-projects@FreeBSD.ORG Sat Jan 25 11:43:58 2014 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id A5A0D6B3; Sat, 25 Jan 2014 11:43:58 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id 92E241999; Sat, 25 Jan 2014 11:43:58 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id s0PBhwH0077460; Sat, 25 Jan 2014 11:43:58 GMT (envelope-from kaiw@svn.freebsd.org) Received: (from kaiw@localhost) by svn.freebsd.org (8.14.7/8.14.7/Submit) id s0PBhw2w077459; Sat, 25 Jan 2014 11:43:58 GMT (envelope-from kaiw@svn.freebsd.org) Message-Id: <201401251143.s0PBhw2w077459@svn.freebsd.org> From: Kai Wang Date: Sat, 25 Jan 2014 11:43:58 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r261155 - projects/elftoolchain X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.17 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 25 Jan 2014 11:43:58 -0000 Author: kaiw Date: Sat Jan 25 11:43:58 2014 New Revision: 261155 URL: http://svnweb.freebsd.org/changeset/base/261155 Log: Fix date. Modified: projects/elftoolchain/ObsoleteFiles.inc Modified: projects/elftoolchain/ObsoleteFiles.inc ============================================================================== --- projects/elftoolchain/ObsoleteFiles.inc Sat Jan 25 11:27:09 2014 (r261154) +++ projects/elftoolchain/ObsoleteFiles.inc Sat Jan 25 11:43:58 2014 (r261155) @@ -38,7 +38,7 @@ # xargs -n1 | sort | uniq -d; # done -# 201401xx: libelf and libdwarf import +# 20140125: libelf and libdwarf import OLD_LIBS+=usr/lib/libelf.so.1 OLD_LIBS+=usr/lib32/libelf.so.1 OLD_LIBS+=usr/lib/libdwarf.so.3 From owner-svn-src-projects@FreeBSD.ORG Sat Jan 25 11:46:47 2014 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 3D11E8DE; Sat, 25 Jan 2014 11:46:47 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id 29A1119AF; Sat, 25 Jan 2014 11:46:47 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id s0PBkl9w077969; Sat, 25 Jan 2014 11:46:47 GMT (envelope-from kaiw@svn.freebsd.org) Received: (from kaiw@localhost) by svn.freebsd.org (8.14.7/8.14.7/Submit) id s0PBklpb077968; Sat, 25 Jan 2014 11:46:47 GMT (envelope-from kaiw@svn.freebsd.org) Message-Id: <201401251146.s0PBklpb077968@svn.freebsd.org> From: Kai Wang Date: Sat, 25 Jan 2014 11:46:46 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r261156 - projects/elftoolchain/sys/sys X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.17 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 25 Jan 2014 11:46:47 -0000 Author: kaiw Date: Sat Jan 25 11:46:46 2014 New Revision: 261156 URL: http://svnweb.freebsd.org/changeset/base/261156 Log: Bump __FreeBSD_version. Modified: projects/elftoolchain/sys/sys/param.h Modified: projects/elftoolchain/sys/sys/param.h ============================================================================== --- projects/elftoolchain/sys/sys/param.h Sat Jan 25 11:43:58 2014 (r261155) +++ projects/elftoolchain/sys/sys/param.h Sat Jan 25 11:46:46 2014 (r261156) @@ -58,7 +58,7 @@ * in the range 5 to 9. */ #undef __FreeBSD_version -#define __FreeBSD_version 1100005 /* Master, propagated to newvers */ +#define __FreeBSD_version 1100006 /* Master, propagated to newvers */ /* * __FreeBSD_kernel__ indicates that this system uses the kernel of FreeBSD, From owner-svn-src-projects@FreeBSD.ORG Sat Jan 25 12:07:44 2014 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id D7919F37; Sat, 25 Jan 2014 12:07:44 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id C3B041AFC; Sat, 25 Jan 2014 12:07:44 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id s0PC7i3l085900; Sat, 25 Jan 2014 12:07:44 GMT (envelope-from kaiw@svn.freebsd.org) Received: (from kaiw@localhost) by svn.freebsd.org (8.14.7/8.14.7/Submit) id s0PC7iHF085898; Sat, 25 Jan 2014 12:07:44 GMT (envelope-from kaiw@svn.freebsd.org) Message-Id: <201401251207.s0PC7iHF085898@svn.freebsd.org> From: Kai Wang Date: Sat, 25 Jan 2014 12:07:44 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r261157 - projects/elftoolchain X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.17 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 25 Jan 2014 12:07:44 -0000 Author: kaiw Date: Sat Jan 25 12:07:44 2014 New Revision: 261157 URL: http://svnweb.freebsd.org/changeset/base/261157 Log: Document libelf/libdwarf update in UPDATING. Modified: projects/elftoolchain/UPDATING Modified: projects/elftoolchain/UPDATING ============================================================================== --- projects/elftoolchain/UPDATING Sat Jan 25 11:46:46 2014 (r261156) +++ projects/elftoolchain/UPDATING Sat Jan 25 12:07:44 2014 (r261157) @@ -31,6 +31,13 @@ NOTE TO PEOPLE WHO THINK THAT FreeBSD 11 disable the most expensive debugging functionality run "ln -s 'abort:false,junk:false' /etc/malloc.conf".) +20140125: + The libelf and libdwarf libraries have been updated to newer + versions from upstream. Shared library version numbers for + these two libraries were bumped. Any ports or binaries + requiring these two libraries should be recompiled. + __FreeBSD_version is bumped to 1100006. + 20140110: If a Makefile in a tests/ directory was auto-generating a Kyuafile instead of providing an explicit one, this would prevent such From owner-svn-src-projects@FreeBSD.ORG Sat Jan 25 13:53:46 2014 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id E30C0989; Sat, 25 Jan 2014 13:53:46 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id CEE0B138A; Sat, 25 Jan 2014 13:53:46 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id s0PDrkJY030956; Sat, 25 Jan 2014 13:53:46 GMT (envelope-from kaiw@svn.freebsd.org) Received: (from kaiw@localhost) by svn.freebsd.org (8.14.7/8.14.7/Submit) id s0PDrk2N030955; Sat, 25 Jan 2014 13:53:46 GMT (envelope-from kaiw@svn.freebsd.org) Message-Id: <201401251353.s0PDrk2N030955@svn.freebsd.org> From: Kai Wang Date: Sat, 25 Jan 2014 13:53:46 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r261158 - projects/elftoolchain/contrib/elftoolchain/libelf X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.17 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 25 Jan 2014 13:53:47 -0000 Author: kaiw Date: Sat Jan 25 13:53:46 2014 New Revision: 261158 URL: http://svnweb.freebsd.org/changeset/base/261158 Log: Reapply r221569, r233401, r233524 and r255105: Add support for a few ARM/MIPS ELF section types in _libelf_xlate_shtype(). Modified: projects/elftoolchain/contrib/elftoolchain/libelf/libelf_data.c Modified: projects/elftoolchain/contrib/elftoolchain/libelf/libelf_data.c ============================================================================== --- projects/elftoolchain/contrib/elftoolchain/libelf/libelf_data.c Sat Jan 25 12:07:44 2014 (r261157) +++ projects/elftoolchain/contrib/elftoolchain/libelf/libelf_data.c Sat Jan 25 13:53:46 2014 (r261158) @@ -82,6 +82,17 @@ _libelf_xlate_shtype(uint32_t sht) return (ELF_T_VNEED); case SHT_SUNW_versym: /* == SHT_GNU_versym */ return (ELF_T_HALF); + + case SHT_ARM_PREEMPTMAP: + case SHT_ARM_ATTRIBUTES: + case SHT_ARM_DEBUGOVERLAY: + case SHT_ARM_OVERLAYSECTION: + case SHT_MIPS_DWARF: + case SHT_MIPS_REGINFO: + case SHT_MIPS_OPTIONS: + case SHT_AMD64_UNWIND: /* == SHT_IA_64_UNWIND == SHT_ARM_EXIDX */ + return (ELF_T_BYTE); + default: return (-1); } From owner-svn-src-projects@FreeBSD.ORG Sat Jan 25 14:02:06 2014 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id DA8F3C83; Sat, 25 Jan 2014 14:02:06 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id C25DB147E; Sat, 25 Jan 2014 14:02:06 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id s0PE26s5034739; Sat, 25 Jan 2014 14:02:06 GMT (envelope-from kaiw@svn.freebsd.org) Received: (from kaiw@localhost) by svn.freebsd.org (8.14.7/8.14.7/Submit) id s0PE23CC034715; Sat, 25 Jan 2014 14:02:03 GMT (envelope-from kaiw@svn.freebsd.org) Message-Id: <201401251402.s0PE23CC034715@svn.freebsd.org> From: Kai Wang Date: Sat, 25 Jan 2014 14:02:03 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r261159 - in projects/elftoolchain: . bin/sh bin/sh/tests/builtins bin/sh/tests/parser cddl/contrib/opensolaris/lib/libdtrace/common contrib/jemalloc contrib/jemalloc/doc contrib/jemall... X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.17 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 25 Jan 2014 14:02:06 -0000 Author: kaiw Date: Sat Jan 25 14:02:02 2014 New Revision: 261159 URL: http://svnweb.freebsd.org/changeset/base/261159 Log: MFH@261151. Added: projects/elftoolchain/bin/sh/tests/parser/alias11.0 - copied unchanged from r261158, head/bin/sh/tests/parser/alias11.0 projects/elftoolchain/contrib/jemalloc/include/jemalloc/internal/jemalloc_internal_defs.h - copied unchanged from r261158, head/contrib/jemalloc/include/jemalloc/internal/jemalloc_internal_defs.h projects/elftoolchain/contrib/jemalloc/include/jemalloc/internal/jemalloc_internal_macros.h - copied unchanged from r261158, head/contrib/jemalloc/include/jemalloc/internal/jemalloc_internal_macros.h projects/elftoolchain/contrib/jemalloc/include/jemalloc/internal/public_namespace.h - copied unchanged from r261158, head/contrib/jemalloc/include/jemalloc/internal/public_namespace.h projects/elftoolchain/sys/x86/include/apicvar.h - copied unchanged from r261158, head/sys/x86/include/apicvar.h projects/elftoolchain/tests/sys/ - copied from r261158, head/tests/sys/ Deleted: projects/elftoolchain/contrib/jemalloc/include/jemalloc/jemalloc_defs.h projects/elftoolchain/sys/amd64/include/apicvar.h projects/elftoolchain/sys/i386/include/apicvar.h projects/elftoolchain/sys/pc98/include/apicvar.h projects/elftoolchain/tools/build/options/WITHOUT_ATF projects/elftoolchain/tools/regression/sockets/unix_seqpacket/ projects/elftoolchain/tools/regression/sockets/unix_seqpacket_exercise/ Modified: projects/elftoolchain/Makefile.inc1 projects/elftoolchain/bin/sh/alias.c projects/elftoolchain/bin/sh/input.c projects/elftoolchain/bin/sh/tests/builtins/command3.0.stdout projects/elftoolchain/bin/sh/tests/builtins/command5.0.stdout projects/elftoolchain/bin/sh/tests/builtins/command6.0.stdout projects/elftoolchain/bin/sh/tests/parser/Makefile projects/elftoolchain/cddl/contrib/opensolaris/lib/libdtrace/common/dt_subr.c projects/elftoolchain/contrib/jemalloc/COPYING projects/elftoolchain/contrib/jemalloc/ChangeLog projects/elftoolchain/contrib/jemalloc/FREEBSD-Xlist projects/elftoolchain/contrib/jemalloc/FREEBSD-diffs projects/elftoolchain/contrib/jemalloc/FREEBSD-upgrade projects/elftoolchain/contrib/jemalloc/VERSION projects/elftoolchain/contrib/jemalloc/doc/jemalloc.3 projects/elftoolchain/contrib/jemalloc/include/jemalloc/internal/arena.h projects/elftoolchain/contrib/jemalloc/include/jemalloc/internal/chunk_dss.h projects/elftoolchain/contrib/jemalloc/include/jemalloc/internal/ckh.h projects/elftoolchain/contrib/jemalloc/include/jemalloc/internal/hash.h projects/elftoolchain/contrib/jemalloc/include/jemalloc/internal/huge.h projects/elftoolchain/contrib/jemalloc/include/jemalloc/internal/jemalloc_internal.h projects/elftoolchain/contrib/jemalloc/include/jemalloc/internal/private_namespace.h projects/elftoolchain/contrib/jemalloc/include/jemalloc/internal/prng.h projects/elftoolchain/contrib/jemalloc/include/jemalloc/internal/prof.h projects/elftoolchain/contrib/jemalloc/include/jemalloc/internal/ql.h projects/elftoolchain/contrib/jemalloc/include/jemalloc/internal/qr.h projects/elftoolchain/contrib/jemalloc/include/jemalloc/internal/rb.h projects/elftoolchain/contrib/jemalloc/include/jemalloc/internal/rtree.h projects/elftoolchain/contrib/jemalloc/include/jemalloc/internal/tcache.h projects/elftoolchain/contrib/jemalloc/include/jemalloc/internal/tsd.h projects/elftoolchain/contrib/jemalloc/include/jemalloc/internal/util.h projects/elftoolchain/contrib/jemalloc/include/jemalloc/jemalloc.h projects/elftoolchain/contrib/jemalloc/include/jemalloc/jemalloc_FreeBSD.h projects/elftoolchain/contrib/jemalloc/src/arena.c projects/elftoolchain/contrib/jemalloc/src/bitmap.c projects/elftoolchain/contrib/jemalloc/src/chunk.c projects/elftoolchain/contrib/jemalloc/src/chunk_dss.c projects/elftoolchain/contrib/jemalloc/src/chunk_mmap.c projects/elftoolchain/contrib/jemalloc/src/ckh.c projects/elftoolchain/contrib/jemalloc/src/ctl.c projects/elftoolchain/contrib/jemalloc/src/huge.c projects/elftoolchain/contrib/jemalloc/src/jemalloc.c projects/elftoolchain/contrib/jemalloc/src/mutex.c projects/elftoolchain/contrib/jemalloc/src/prof.c projects/elftoolchain/contrib/jemalloc/src/quarantine.c projects/elftoolchain/contrib/jemalloc/src/rtree.c projects/elftoolchain/contrib/jemalloc/src/stats.c projects/elftoolchain/contrib/jemalloc/src/tcache.c projects/elftoolchain/contrib/jemalloc/src/tsd.c projects/elftoolchain/contrib/jemalloc/src/util.c projects/elftoolchain/crypto/openssl/CHANGES projects/elftoolchain/crypto/openssl/Configure projects/elftoolchain/crypto/openssl/Makefile projects/elftoolchain/crypto/openssl/Makefile.org projects/elftoolchain/crypto/openssl/NEWS projects/elftoolchain/crypto/openssl/README projects/elftoolchain/crypto/openssl/apps/Makefile projects/elftoolchain/crypto/openssl/apps/apps.h projects/elftoolchain/crypto/openssl/apps/openssl.c projects/elftoolchain/crypto/openssl/apps/pkcs12.c projects/elftoolchain/crypto/openssl/config projects/elftoolchain/crypto/openssl/crypto/Makefile projects/elftoolchain/crypto/openssl/crypto/aes/asm/aes-parisc.pl projects/elftoolchain/crypto/openssl/crypto/aes/asm/bsaes-x86_64.pl projects/elftoolchain/crypto/openssl/crypto/armcap.c projects/elftoolchain/crypto/openssl/crypto/asn1/a_int.c projects/elftoolchain/crypto/openssl/crypto/bio/bss_dgram.c projects/elftoolchain/crypto/openssl/crypto/bn/Makefile projects/elftoolchain/crypto/openssl/crypto/bn/asm/mips-mont.pl projects/elftoolchain/crypto/openssl/crypto/bn/asm/mips.pl projects/elftoolchain/crypto/openssl/crypto/bn/asm/parisc-mont.pl projects/elftoolchain/crypto/openssl/crypto/bn/asm/x86_64-gf2m.pl projects/elftoolchain/crypto/openssl/crypto/bn/asm/x86_64-mont5.pl projects/elftoolchain/crypto/openssl/crypto/bn/bn_nist.c projects/elftoolchain/crypto/openssl/crypto/buffer/buffer.c projects/elftoolchain/crypto/openssl/crypto/buffer/buffer.h projects/elftoolchain/crypto/openssl/crypto/ec/ec_ameth.c projects/elftoolchain/crypto/openssl/crypto/ec/ec_asn1.c projects/elftoolchain/crypto/openssl/crypto/ec/ec_lib.c projects/elftoolchain/crypto/openssl/crypto/engine/eng_rdrand.c projects/elftoolchain/crypto/openssl/crypto/evp/Makefile projects/elftoolchain/crypto/openssl/crypto/evp/digest.c projects/elftoolchain/crypto/openssl/crypto/evp/e_aes.c projects/elftoolchain/crypto/openssl/crypto/evp/e_aes_cbc_hmac_sha1.c projects/elftoolchain/crypto/openssl/crypto/evp/e_des3.c projects/elftoolchain/crypto/openssl/crypto/evp/p5_crpt2.c projects/elftoolchain/crypto/openssl/crypto/modes/Makefile projects/elftoolchain/crypto/openssl/crypto/modes/asm/ghash-parisc.pl projects/elftoolchain/crypto/openssl/crypto/modes/cbc128.c projects/elftoolchain/crypto/openssl/crypto/modes/ccm128.c projects/elftoolchain/crypto/openssl/crypto/modes/cts128.c projects/elftoolchain/crypto/openssl/crypto/modes/gcm128.c projects/elftoolchain/crypto/openssl/crypto/modes/modes_lcl.h projects/elftoolchain/crypto/openssl/crypto/opensslv.h projects/elftoolchain/crypto/openssl/crypto/pariscid.pl projects/elftoolchain/crypto/openssl/crypto/pem/pem_info.c projects/elftoolchain/crypto/openssl/crypto/pkcs12/p12_crt.c projects/elftoolchain/crypto/openssl/crypto/rand/md_rand.c projects/elftoolchain/crypto/openssl/crypto/rand/rand.h projects/elftoolchain/crypto/openssl/crypto/rand/rand_err.c projects/elftoolchain/crypto/openssl/crypto/rand/rand_lib.c projects/elftoolchain/crypto/openssl/crypto/rc4/asm/rc4-parisc.pl projects/elftoolchain/crypto/openssl/crypto/rsa/rsa_ameth.c projects/elftoolchain/crypto/openssl/crypto/rsa/rsa_chk.c projects/elftoolchain/crypto/openssl/crypto/rsa/rsa_pmeth.c projects/elftoolchain/crypto/openssl/crypto/sha/Makefile projects/elftoolchain/crypto/openssl/crypto/sha/asm/sha1-parisc.pl projects/elftoolchain/crypto/openssl/crypto/sha/asm/sha1-x86_64.pl projects/elftoolchain/crypto/openssl/crypto/sha/asm/sha512-mips.pl projects/elftoolchain/crypto/openssl/crypto/sha/asm/sha512-parisc.pl projects/elftoolchain/crypto/openssl/crypto/sha/sha512.c projects/elftoolchain/crypto/openssl/crypto/srp/srp_grps.h projects/elftoolchain/crypto/openssl/crypto/srp/srp_lib.c projects/elftoolchain/crypto/openssl/crypto/x509/x509_vfy.c projects/elftoolchain/crypto/openssl/crypto/x509/x_all.c projects/elftoolchain/crypto/openssl/crypto/x86cpuid.pl projects/elftoolchain/crypto/openssl/doc/apps/cms.pod projects/elftoolchain/crypto/openssl/doc/apps/rsa.pod projects/elftoolchain/crypto/openssl/doc/apps/smime.pod projects/elftoolchain/crypto/openssl/doc/crypto/X509_STORE_CTX_get_error.pod projects/elftoolchain/crypto/openssl/doc/crypto/ecdsa.pod projects/elftoolchain/crypto/openssl/doc/ssl/SSL_COMP_add_compression_method.pod projects/elftoolchain/crypto/openssl/doc/ssl/SSL_CTX_add_session.pod projects/elftoolchain/crypto/openssl/doc/ssl/SSL_CTX_load_verify_locations.pod projects/elftoolchain/crypto/openssl/doc/ssl/SSL_CTX_set_client_CA_list.pod projects/elftoolchain/crypto/openssl/doc/ssl/SSL_CTX_set_options.pod projects/elftoolchain/crypto/openssl/doc/ssl/SSL_CTX_set_session_id_context.pod projects/elftoolchain/crypto/openssl/doc/ssl/SSL_CTX_set_ssl_version.pod projects/elftoolchain/crypto/openssl/doc/ssl/SSL_CTX_use_psk_identity_hint.pod projects/elftoolchain/crypto/openssl/doc/ssl/SSL_accept.pod projects/elftoolchain/crypto/openssl/doc/ssl/SSL_clear.pod projects/elftoolchain/crypto/openssl/doc/ssl/SSL_connect.pod projects/elftoolchain/crypto/openssl/doc/ssl/SSL_do_handshake.pod projects/elftoolchain/crypto/openssl/doc/ssl/SSL_read.pod projects/elftoolchain/crypto/openssl/doc/ssl/SSL_session_reused.pod projects/elftoolchain/crypto/openssl/doc/ssl/SSL_set_fd.pod projects/elftoolchain/crypto/openssl/doc/ssl/SSL_set_session.pod projects/elftoolchain/crypto/openssl/doc/ssl/SSL_shutdown.pod projects/elftoolchain/crypto/openssl/doc/ssl/SSL_write.pod projects/elftoolchain/crypto/openssl/engines/ccgost/gost89.h projects/elftoolchain/crypto/openssl/ssl/d1_both.c projects/elftoolchain/crypto/openssl/ssl/d1_clnt.c projects/elftoolchain/crypto/openssl/ssl/d1_lib.c projects/elftoolchain/crypto/openssl/ssl/d1_pkt.c projects/elftoolchain/crypto/openssl/ssl/d1_srvr.c projects/elftoolchain/crypto/openssl/ssl/s23_clnt.c projects/elftoolchain/crypto/openssl/ssl/s3_both.c projects/elftoolchain/crypto/openssl/ssl/s3_clnt.c projects/elftoolchain/crypto/openssl/ssl/s3_lib.c projects/elftoolchain/crypto/openssl/ssl/s3_pkt.c projects/elftoolchain/crypto/openssl/ssl/s3_srvr.c projects/elftoolchain/crypto/openssl/ssl/ssl.h projects/elftoolchain/crypto/openssl/ssl/ssl3.h projects/elftoolchain/crypto/openssl/ssl/ssl_lib.c projects/elftoolchain/crypto/openssl/ssl/ssl_locl.h projects/elftoolchain/crypto/openssl/ssl/ssltest.c projects/elftoolchain/crypto/openssl/ssl/t1_enc.c projects/elftoolchain/crypto/openssl/ssl/t1_lib.c projects/elftoolchain/crypto/openssl/util/shlib_wrap.sh projects/elftoolchain/etc/defaults/periodic.conf projects/elftoolchain/etc/mtree/BSD.tests.dist projects/elftoolchain/include/malloc_np.h projects/elftoolchain/lib/libc/gen/Makefile.inc projects/elftoolchain/lib/libc/gen/tls.c projects/elftoolchain/lib/libc/stdlib/jemalloc/Makefile.inc projects/elftoolchain/lib/libc/stdlib/jemalloc/Symbol.map projects/elftoolchain/lib/libc/sys/posix_fallocate.2 projects/elftoolchain/release/doc/en_US.ISO8859-1/relnotes/article.xml projects/elftoolchain/sbin/kldstat/kldstat.8 projects/elftoolchain/sbin/kldstat/kldstat.c projects/elftoolchain/secure/lib/libcrypto/Makefile.inc projects/elftoolchain/secure/lib/libcrypto/amd64/bsaes-x86_64.S projects/elftoolchain/secure/lib/libcrypto/i386/x86cpuid.s projects/elftoolchain/secure/lib/libcrypto/man/ASN1_OBJECT_new.3 projects/elftoolchain/secure/lib/libcrypto/man/ASN1_STRING_length.3 projects/elftoolchain/secure/lib/libcrypto/man/ASN1_STRING_new.3 projects/elftoolchain/secure/lib/libcrypto/man/ASN1_STRING_print_ex.3 projects/elftoolchain/secure/lib/libcrypto/man/ASN1_generate_nconf.3 projects/elftoolchain/secure/lib/libcrypto/man/BIO_ctrl.3 projects/elftoolchain/secure/lib/libcrypto/man/BIO_f_base64.3 projects/elftoolchain/secure/lib/libcrypto/man/BIO_f_buffer.3 projects/elftoolchain/secure/lib/libcrypto/man/BIO_f_cipher.3 projects/elftoolchain/secure/lib/libcrypto/man/BIO_f_md.3 projects/elftoolchain/secure/lib/libcrypto/man/BIO_f_null.3 projects/elftoolchain/secure/lib/libcrypto/man/BIO_f_ssl.3 projects/elftoolchain/secure/lib/libcrypto/man/BIO_find_type.3 projects/elftoolchain/secure/lib/libcrypto/man/BIO_new.3 projects/elftoolchain/secure/lib/libcrypto/man/BIO_new_CMS.3 projects/elftoolchain/secure/lib/libcrypto/man/BIO_push.3 projects/elftoolchain/secure/lib/libcrypto/man/BIO_read.3 projects/elftoolchain/secure/lib/libcrypto/man/BIO_s_accept.3 projects/elftoolchain/secure/lib/libcrypto/man/BIO_s_bio.3 projects/elftoolchain/secure/lib/libcrypto/man/BIO_s_connect.3 projects/elftoolchain/secure/lib/libcrypto/man/BIO_s_fd.3 projects/elftoolchain/secure/lib/libcrypto/man/BIO_s_file.3 projects/elftoolchain/secure/lib/libcrypto/man/BIO_s_mem.3 projects/elftoolchain/secure/lib/libcrypto/man/BIO_s_null.3 projects/elftoolchain/secure/lib/libcrypto/man/BIO_s_socket.3 projects/elftoolchain/secure/lib/libcrypto/man/BIO_set_callback.3 projects/elftoolchain/secure/lib/libcrypto/man/BIO_should_retry.3 projects/elftoolchain/secure/lib/libcrypto/man/BN_BLINDING_new.3 projects/elftoolchain/secure/lib/libcrypto/man/BN_CTX_new.3 projects/elftoolchain/secure/lib/libcrypto/man/BN_CTX_start.3 projects/elftoolchain/secure/lib/libcrypto/man/BN_add.3 projects/elftoolchain/secure/lib/libcrypto/man/BN_add_word.3 projects/elftoolchain/secure/lib/libcrypto/man/BN_bn2bin.3 projects/elftoolchain/secure/lib/libcrypto/man/BN_cmp.3 projects/elftoolchain/secure/lib/libcrypto/man/BN_copy.3 projects/elftoolchain/secure/lib/libcrypto/man/BN_generate_prime.3 projects/elftoolchain/secure/lib/libcrypto/man/BN_mod_inverse.3 projects/elftoolchain/secure/lib/libcrypto/man/BN_mod_mul_montgomery.3 projects/elftoolchain/secure/lib/libcrypto/man/BN_mod_mul_reciprocal.3 projects/elftoolchain/secure/lib/libcrypto/man/BN_new.3 projects/elftoolchain/secure/lib/libcrypto/man/BN_num_bytes.3 projects/elftoolchain/secure/lib/libcrypto/man/BN_rand.3 projects/elftoolchain/secure/lib/libcrypto/man/BN_set_bit.3 projects/elftoolchain/secure/lib/libcrypto/man/BN_swap.3 projects/elftoolchain/secure/lib/libcrypto/man/BN_zero.3 projects/elftoolchain/secure/lib/libcrypto/man/CMS_add0_cert.3 projects/elftoolchain/secure/lib/libcrypto/man/CMS_add1_recipient_cert.3 projects/elftoolchain/secure/lib/libcrypto/man/CMS_compress.3 projects/elftoolchain/secure/lib/libcrypto/man/CMS_decrypt.3 projects/elftoolchain/secure/lib/libcrypto/man/CMS_encrypt.3 projects/elftoolchain/secure/lib/libcrypto/man/CMS_final.3 projects/elftoolchain/secure/lib/libcrypto/man/CMS_get0_RecipientInfos.3 projects/elftoolchain/secure/lib/libcrypto/man/CMS_get0_SignerInfos.3 projects/elftoolchain/secure/lib/libcrypto/man/CMS_get0_type.3 projects/elftoolchain/secure/lib/libcrypto/man/CMS_get1_ReceiptRequest.3 projects/elftoolchain/secure/lib/libcrypto/man/CMS_sign.3 projects/elftoolchain/secure/lib/libcrypto/man/CMS_sign_add1_signer.3 projects/elftoolchain/secure/lib/libcrypto/man/CMS_sign_receipt.3 projects/elftoolchain/secure/lib/libcrypto/man/CMS_uncompress.3 projects/elftoolchain/secure/lib/libcrypto/man/CMS_verify.3 projects/elftoolchain/secure/lib/libcrypto/man/CMS_verify_receipt.3 projects/elftoolchain/secure/lib/libcrypto/man/CONF_modules_free.3 projects/elftoolchain/secure/lib/libcrypto/man/CONF_modules_load_file.3 projects/elftoolchain/secure/lib/libcrypto/man/CRYPTO_set_ex_data.3 projects/elftoolchain/secure/lib/libcrypto/man/DH_generate_key.3 projects/elftoolchain/secure/lib/libcrypto/man/DH_generate_parameters.3 projects/elftoolchain/secure/lib/libcrypto/man/DH_get_ex_new_index.3 projects/elftoolchain/secure/lib/libcrypto/man/DH_new.3 projects/elftoolchain/secure/lib/libcrypto/man/DH_set_method.3 projects/elftoolchain/secure/lib/libcrypto/man/DH_size.3 projects/elftoolchain/secure/lib/libcrypto/man/DSA_SIG_new.3 projects/elftoolchain/secure/lib/libcrypto/man/DSA_do_sign.3 projects/elftoolchain/secure/lib/libcrypto/man/DSA_dup_DH.3 projects/elftoolchain/secure/lib/libcrypto/man/DSA_generate_key.3 projects/elftoolchain/secure/lib/libcrypto/man/DSA_generate_parameters.3 projects/elftoolchain/secure/lib/libcrypto/man/DSA_get_ex_new_index.3 projects/elftoolchain/secure/lib/libcrypto/man/DSA_new.3 projects/elftoolchain/secure/lib/libcrypto/man/DSA_set_method.3 projects/elftoolchain/secure/lib/libcrypto/man/DSA_sign.3 projects/elftoolchain/secure/lib/libcrypto/man/DSA_size.3 projects/elftoolchain/secure/lib/libcrypto/man/ERR_GET_LIB.3 projects/elftoolchain/secure/lib/libcrypto/man/ERR_clear_error.3 projects/elftoolchain/secure/lib/libcrypto/man/ERR_error_string.3 projects/elftoolchain/secure/lib/libcrypto/man/ERR_get_error.3 projects/elftoolchain/secure/lib/libcrypto/man/ERR_load_crypto_strings.3 projects/elftoolchain/secure/lib/libcrypto/man/ERR_load_strings.3 projects/elftoolchain/secure/lib/libcrypto/man/ERR_print_errors.3 projects/elftoolchain/secure/lib/libcrypto/man/ERR_put_error.3 projects/elftoolchain/secure/lib/libcrypto/man/ERR_remove_state.3 projects/elftoolchain/secure/lib/libcrypto/man/ERR_set_mark.3 projects/elftoolchain/secure/lib/libcrypto/man/EVP_BytesToKey.3 projects/elftoolchain/secure/lib/libcrypto/man/EVP_DigestInit.3 projects/elftoolchain/secure/lib/libcrypto/man/EVP_DigestSignInit.3 projects/elftoolchain/secure/lib/libcrypto/man/EVP_DigestVerifyInit.3 projects/elftoolchain/secure/lib/libcrypto/man/EVP_EncryptInit.3 projects/elftoolchain/secure/lib/libcrypto/man/EVP_OpenInit.3 projects/elftoolchain/secure/lib/libcrypto/man/EVP_PKEY_CTX_ctrl.3 projects/elftoolchain/secure/lib/libcrypto/man/EVP_PKEY_CTX_new.3 projects/elftoolchain/secure/lib/libcrypto/man/EVP_PKEY_cmp.3 projects/elftoolchain/secure/lib/libcrypto/man/EVP_PKEY_decrypt.3 projects/elftoolchain/secure/lib/libcrypto/man/EVP_PKEY_derive.3 projects/elftoolchain/secure/lib/libcrypto/man/EVP_PKEY_encrypt.3 projects/elftoolchain/secure/lib/libcrypto/man/EVP_PKEY_get_default_digest.3 projects/elftoolchain/secure/lib/libcrypto/man/EVP_PKEY_keygen.3 projects/elftoolchain/secure/lib/libcrypto/man/EVP_PKEY_new.3 projects/elftoolchain/secure/lib/libcrypto/man/EVP_PKEY_print_private.3 projects/elftoolchain/secure/lib/libcrypto/man/EVP_PKEY_set1_RSA.3 projects/elftoolchain/secure/lib/libcrypto/man/EVP_PKEY_sign.3 projects/elftoolchain/secure/lib/libcrypto/man/EVP_PKEY_verify.3 projects/elftoolchain/secure/lib/libcrypto/man/EVP_PKEY_verify_recover.3 projects/elftoolchain/secure/lib/libcrypto/man/EVP_SealInit.3 projects/elftoolchain/secure/lib/libcrypto/man/EVP_SignInit.3 projects/elftoolchain/secure/lib/libcrypto/man/EVP_VerifyInit.3 projects/elftoolchain/secure/lib/libcrypto/man/OBJ_nid2obj.3 projects/elftoolchain/secure/lib/libcrypto/man/OPENSSL_Applink.3 projects/elftoolchain/secure/lib/libcrypto/man/OPENSSL_VERSION_NUMBER.3 projects/elftoolchain/secure/lib/libcrypto/man/OPENSSL_config.3 projects/elftoolchain/secure/lib/libcrypto/man/OPENSSL_ia32cap.3 projects/elftoolchain/secure/lib/libcrypto/man/OPENSSL_load_builtin_modules.3 projects/elftoolchain/secure/lib/libcrypto/man/OpenSSL_add_all_algorithms.3 projects/elftoolchain/secure/lib/libcrypto/man/PEM_write_bio_CMS_stream.3 projects/elftoolchain/secure/lib/libcrypto/man/PEM_write_bio_PKCS7_stream.3 projects/elftoolchain/secure/lib/libcrypto/man/PKCS12_create.3 projects/elftoolchain/secure/lib/libcrypto/man/PKCS12_parse.3 projects/elftoolchain/secure/lib/libcrypto/man/PKCS7_decrypt.3 projects/elftoolchain/secure/lib/libcrypto/man/PKCS7_encrypt.3 projects/elftoolchain/secure/lib/libcrypto/man/PKCS7_sign.3 projects/elftoolchain/secure/lib/libcrypto/man/PKCS7_sign_add_signer.3 projects/elftoolchain/secure/lib/libcrypto/man/PKCS7_verify.3 projects/elftoolchain/secure/lib/libcrypto/man/RAND_add.3 projects/elftoolchain/secure/lib/libcrypto/man/RAND_bytes.3 projects/elftoolchain/secure/lib/libcrypto/man/RAND_cleanup.3 projects/elftoolchain/secure/lib/libcrypto/man/RAND_egd.3 projects/elftoolchain/secure/lib/libcrypto/man/RAND_load_file.3 projects/elftoolchain/secure/lib/libcrypto/man/RAND_set_rand_method.3 projects/elftoolchain/secure/lib/libcrypto/man/RSA_blinding_on.3 projects/elftoolchain/secure/lib/libcrypto/man/RSA_check_key.3 projects/elftoolchain/secure/lib/libcrypto/man/RSA_generate_key.3 projects/elftoolchain/secure/lib/libcrypto/man/RSA_get_ex_new_index.3 projects/elftoolchain/secure/lib/libcrypto/man/RSA_new.3 projects/elftoolchain/secure/lib/libcrypto/man/RSA_padding_add_PKCS1_type_1.3 projects/elftoolchain/secure/lib/libcrypto/man/RSA_print.3 projects/elftoolchain/secure/lib/libcrypto/man/RSA_private_encrypt.3 projects/elftoolchain/secure/lib/libcrypto/man/RSA_public_encrypt.3 projects/elftoolchain/secure/lib/libcrypto/man/RSA_set_method.3 projects/elftoolchain/secure/lib/libcrypto/man/RSA_sign.3 projects/elftoolchain/secure/lib/libcrypto/man/RSA_sign_ASN1_OCTET_STRING.3 projects/elftoolchain/secure/lib/libcrypto/man/RSA_size.3 projects/elftoolchain/secure/lib/libcrypto/man/SMIME_read_CMS.3 projects/elftoolchain/secure/lib/libcrypto/man/SMIME_read_PKCS7.3 projects/elftoolchain/secure/lib/libcrypto/man/SMIME_write_CMS.3 projects/elftoolchain/secure/lib/libcrypto/man/SMIME_write_PKCS7.3 projects/elftoolchain/secure/lib/libcrypto/man/X509_NAME_ENTRY_get_object.3 projects/elftoolchain/secure/lib/libcrypto/man/X509_NAME_add_entry_by_txt.3 projects/elftoolchain/secure/lib/libcrypto/man/X509_NAME_get_index_by_NID.3 projects/elftoolchain/secure/lib/libcrypto/man/X509_NAME_print_ex.3 projects/elftoolchain/secure/lib/libcrypto/man/X509_STORE_CTX_get_error.3 projects/elftoolchain/secure/lib/libcrypto/man/X509_STORE_CTX_get_ex_new_index.3 projects/elftoolchain/secure/lib/libcrypto/man/X509_STORE_CTX_new.3 projects/elftoolchain/secure/lib/libcrypto/man/X509_STORE_CTX_set_verify_cb.3 projects/elftoolchain/secure/lib/libcrypto/man/X509_STORE_set_verify_cb_func.3 projects/elftoolchain/secure/lib/libcrypto/man/X509_VERIFY_PARAM_set_flags.3 projects/elftoolchain/secure/lib/libcrypto/man/X509_new.3 projects/elftoolchain/secure/lib/libcrypto/man/X509_verify_cert.3 projects/elftoolchain/secure/lib/libcrypto/man/bio.3 projects/elftoolchain/secure/lib/libcrypto/man/blowfish.3 projects/elftoolchain/secure/lib/libcrypto/man/bn.3 projects/elftoolchain/secure/lib/libcrypto/man/bn_internal.3 projects/elftoolchain/secure/lib/libcrypto/man/buffer.3 projects/elftoolchain/secure/lib/libcrypto/man/crypto.3 projects/elftoolchain/secure/lib/libcrypto/man/d2i_ASN1_OBJECT.3 projects/elftoolchain/secure/lib/libcrypto/man/d2i_DHparams.3 projects/elftoolchain/secure/lib/libcrypto/man/d2i_DSAPublicKey.3 projects/elftoolchain/secure/lib/libcrypto/man/d2i_PKCS8PrivateKey.3 projects/elftoolchain/secure/lib/libcrypto/man/d2i_RSAPublicKey.3 projects/elftoolchain/secure/lib/libcrypto/man/d2i_X509.3 projects/elftoolchain/secure/lib/libcrypto/man/d2i_X509_ALGOR.3 projects/elftoolchain/secure/lib/libcrypto/man/d2i_X509_CRL.3 projects/elftoolchain/secure/lib/libcrypto/man/d2i_X509_NAME.3 projects/elftoolchain/secure/lib/libcrypto/man/d2i_X509_REQ.3 projects/elftoolchain/secure/lib/libcrypto/man/d2i_X509_SIG.3 projects/elftoolchain/secure/lib/libcrypto/man/des.3 projects/elftoolchain/secure/lib/libcrypto/man/dh.3 projects/elftoolchain/secure/lib/libcrypto/man/dsa.3 projects/elftoolchain/secure/lib/libcrypto/man/ecdsa.3 projects/elftoolchain/secure/lib/libcrypto/man/engine.3 projects/elftoolchain/secure/lib/libcrypto/man/err.3 projects/elftoolchain/secure/lib/libcrypto/man/evp.3 projects/elftoolchain/secure/lib/libcrypto/man/hmac.3 projects/elftoolchain/secure/lib/libcrypto/man/i2d_CMS_bio_stream.3 projects/elftoolchain/secure/lib/libcrypto/man/i2d_PKCS7_bio_stream.3 projects/elftoolchain/secure/lib/libcrypto/man/lh_stats.3 projects/elftoolchain/secure/lib/libcrypto/man/lhash.3 projects/elftoolchain/secure/lib/libcrypto/man/md5.3 projects/elftoolchain/secure/lib/libcrypto/man/mdc2.3 projects/elftoolchain/secure/lib/libcrypto/man/pem.3 projects/elftoolchain/secure/lib/libcrypto/man/rand.3 projects/elftoolchain/secure/lib/libcrypto/man/rc4.3 projects/elftoolchain/secure/lib/libcrypto/man/ripemd.3 projects/elftoolchain/secure/lib/libcrypto/man/rsa.3 projects/elftoolchain/secure/lib/libcrypto/man/sha.3 projects/elftoolchain/secure/lib/libcrypto/man/threads.3 projects/elftoolchain/secure/lib/libcrypto/man/ui.3 projects/elftoolchain/secure/lib/libcrypto/man/ui_compat.3 projects/elftoolchain/secure/lib/libcrypto/man/x509.3 projects/elftoolchain/secure/lib/libssl/man/SSL_CIPHER_get_name.3 projects/elftoolchain/secure/lib/libssl/man/SSL_COMP_add_compression_method.3 projects/elftoolchain/secure/lib/libssl/man/SSL_CTX_add_extra_chain_cert.3 projects/elftoolchain/secure/lib/libssl/man/SSL_CTX_add_session.3 projects/elftoolchain/secure/lib/libssl/man/SSL_CTX_ctrl.3 projects/elftoolchain/secure/lib/libssl/man/SSL_CTX_flush_sessions.3 projects/elftoolchain/secure/lib/libssl/man/SSL_CTX_free.3 projects/elftoolchain/secure/lib/libssl/man/SSL_CTX_get_ex_new_index.3 projects/elftoolchain/secure/lib/libssl/man/SSL_CTX_get_verify_mode.3 projects/elftoolchain/secure/lib/libssl/man/SSL_CTX_load_verify_locations.3 projects/elftoolchain/secure/lib/libssl/man/SSL_CTX_new.3 projects/elftoolchain/secure/lib/libssl/man/SSL_CTX_sess_number.3 projects/elftoolchain/secure/lib/libssl/man/SSL_CTX_sess_set_cache_size.3 projects/elftoolchain/secure/lib/libssl/man/SSL_CTX_sess_set_get_cb.3 projects/elftoolchain/secure/lib/libssl/man/SSL_CTX_sessions.3 projects/elftoolchain/secure/lib/libssl/man/SSL_CTX_set_cert_store.3 projects/elftoolchain/secure/lib/libssl/man/SSL_CTX_set_cert_verify_callback.3 projects/elftoolchain/secure/lib/libssl/man/SSL_CTX_set_cipher_list.3 projects/elftoolchain/secure/lib/libssl/man/SSL_CTX_set_client_CA_list.3 projects/elftoolchain/secure/lib/libssl/man/SSL_CTX_set_client_cert_cb.3 projects/elftoolchain/secure/lib/libssl/man/SSL_CTX_set_default_passwd_cb.3 projects/elftoolchain/secure/lib/libssl/man/SSL_CTX_set_generate_session_id.3 projects/elftoolchain/secure/lib/libssl/man/SSL_CTX_set_info_callback.3 projects/elftoolchain/secure/lib/libssl/man/SSL_CTX_set_max_cert_list.3 projects/elftoolchain/secure/lib/libssl/man/SSL_CTX_set_mode.3 projects/elftoolchain/secure/lib/libssl/man/SSL_CTX_set_msg_callback.3 projects/elftoolchain/secure/lib/libssl/man/SSL_CTX_set_options.3 projects/elftoolchain/secure/lib/libssl/man/SSL_CTX_set_psk_client_callback.3 projects/elftoolchain/secure/lib/libssl/man/SSL_CTX_set_quiet_shutdown.3 projects/elftoolchain/secure/lib/libssl/man/SSL_CTX_set_session_cache_mode.3 projects/elftoolchain/secure/lib/libssl/man/SSL_CTX_set_session_id_context.3 projects/elftoolchain/secure/lib/libssl/man/SSL_CTX_set_ssl_version.3 projects/elftoolchain/secure/lib/libssl/man/SSL_CTX_set_timeout.3 projects/elftoolchain/secure/lib/libssl/man/SSL_CTX_set_tmp_dh_callback.3 projects/elftoolchain/secure/lib/libssl/man/SSL_CTX_set_tmp_rsa_callback.3 projects/elftoolchain/secure/lib/libssl/man/SSL_CTX_set_verify.3 projects/elftoolchain/secure/lib/libssl/man/SSL_CTX_use_certificate.3 projects/elftoolchain/secure/lib/libssl/man/SSL_CTX_use_psk_identity_hint.3 projects/elftoolchain/secure/lib/libssl/man/SSL_SESSION_free.3 projects/elftoolchain/secure/lib/libssl/man/SSL_SESSION_get_ex_new_index.3 projects/elftoolchain/secure/lib/libssl/man/SSL_SESSION_get_time.3 projects/elftoolchain/secure/lib/libssl/man/SSL_accept.3 projects/elftoolchain/secure/lib/libssl/man/SSL_alert_type_string.3 projects/elftoolchain/secure/lib/libssl/man/SSL_clear.3 projects/elftoolchain/secure/lib/libssl/man/SSL_connect.3 projects/elftoolchain/secure/lib/libssl/man/SSL_do_handshake.3 projects/elftoolchain/secure/lib/libssl/man/SSL_free.3 projects/elftoolchain/secure/lib/libssl/man/SSL_get_SSL_CTX.3 projects/elftoolchain/secure/lib/libssl/man/SSL_get_ciphers.3 projects/elftoolchain/secure/lib/libssl/man/SSL_get_client_CA_list.3 projects/elftoolchain/secure/lib/libssl/man/SSL_get_current_cipher.3 projects/elftoolchain/secure/lib/libssl/man/SSL_get_default_timeout.3 projects/elftoolchain/secure/lib/libssl/man/SSL_get_error.3 projects/elftoolchain/secure/lib/libssl/man/SSL_get_ex_data_X509_STORE_CTX_idx.3 projects/elftoolchain/secure/lib/libssl/man/SSL_get_ex_new_index.3 projects/elftoolchain/secure/lib/libssl/man/SSL_get_fd.3 projects/elftoolchain/secure/lib/libssl/man/SSL_get_peer_cert_chain.3 projects/elftoolchain/secure/lib/libssl/man/SSL_get_peer_certificate.3 projects/elftoolchain/secure/lib/libssl/man/SSL_get_psk_identity.3 projects/elftoolchain/secure/lib/libssl/man/SSL_get_rbio.3 projects/elftoolchain/secure/lib/libssl/man/SSL_get_session.3 projects/elftoolchain/secure/lib/libssl/man/SSL_get_verify_result.3 projects/elftoolchain/secure/lib/libssl/man/SSL_get_version.3 projects/elftoolchain/secure/lib/libssl/man/SSL_library_init.3 projects/elftoolchain/secure/lib/libssl/man/SSL_load_client_CA_file.3 projects/elftoolchain/secure/lib/libssl/man/SSL_new.3 projects/elftoolchain/secure/lib/libssl/man/SSL_pending.3 projects/elftoolchain/secure/lib/libssl/man/SSL_read.3 projects/elftoolchain/secure/lib/libssl/man/SSL_rstate_string.3 projects/elftoolchain/secure/lib/libssl/man/SSL_session_reused.3 projects/elftoolchain/secure/lib/libssl/man/SSL_set_bio.3 projects/elftoolchain/secure/lib/libssl/man/SSL_set_connect_state.3 projects/elftoolchain/secure/lib/libssl/man/SSL_set_fd.3 projects/elftoolchain/secure/lib/libssl/man/SSL_set_session.3 projects/elftoolchain/secure/lib/libssl/man/SSL_set_shutdown.3 projects/elftoolchain/secure/lib/libssl/man/SSL_set_verify_result.3 projects/elftoolchain/secure/lib/libssl/man/SSL_shutdown.3 projects/elftoolchain/secure/lib/libssl/man/SSL_state_string.3 projects/elftoolchain/secure/lib/libssl/man/SSL_want.3 projects/elftoolchain/secure/lib/libssl/man/SSL_write.3 projects/elftoolchain/secure/lib/libssl/man/d2i_SSL_SESSION.3 projects/elftoolchain/secure/lib/libssl/man/ssl.3 projects/elftoolchain/secure/usr.bin/openssl/man/CA.pl.1 projects/elftoolchain/secure/usr.bin/openssl/man/asn1parse.1 projects/elftoolchain/secure/usr.bin/openssl/man/ca.1 projects/elftoolchain/secure/usr.bin/openssl/man/ciphers.1 projects/elftoolchain/secure/usr.bin/openssl/man/cms.1 projects/elftoolchain/secure/usr.bin/openssl/man/crl.1 projects/elftoolchain/secure/usr.bin/openssl/man/crl2pkcs7.1 projects/elftoolchain/secure/usr.bin/openssl/man/dgst.1 projects/elftoolchain/secure/usr.bin/openssl/man/dhparam.1 projects/elftoolchain/secure/usr.bin/openssl/man/dsa.1 projects/elftoolchain/secure/usr.bin/openssl/man/dsaparam.1 projects/elftoolchain/secure/usr.bin/openssl/man/ec.1 projects/elftoolchain/secure/usr.bin/openssl/man/ecparam.1 projects/elftoolchain/secure/usr.bin/openssl/man/enc.1 projects/elftoolchain/secure/usr.bin/openssl/man/errstr.1 projects/elftoolchain/secure/usr.bin/openssl/man/gendsa.1 projects/elftoolchain/secure/usr.bin/openssl/man/genpkey.1 projects/elftoolchain/secure/usr.bin/openssl/man/genrsa.1 projects/elftoolchain/secure/usr.bin/openssl/man/nseq.1 projects/elftoolchain/secure/usr.bin/openssl/man/ocsp.1 projects/elftoolchain/secure/usr.bin/openssl/man/openssl.1 projects/elftoolchain/secure/usr.bin/openssl/man/passwd.1 projects/elftoolchain/secure/usr.bin/openssl/man/pkcs12.1 projects/elftoolchain/secure/usr.bin/openssl/man/pkcs7.1 projects/elftoolchain/secure/usr.bin/openssl/man/pkcs8.1 projects/elftoolchain/secure/usr.bin/openssl/man/pkey.1 projects/elftoolchain/secure/usr.bin/openssl/man/pkeyparam.1 projects/elftoolchain/secure/usr.bin/openssl/man/pkeyutl.1 projects/elftoolchain/secure/usr.bin/openssl/man/rand.1 projects/elftoolchain/secure/usr.bin/openssl/man/req.1 projects/elftoolchain/secure/usr.bin/openssl/man/rsa.1 projects/elftoolchain/secure/usr.bin/openssl/man/rsautl.1 projects/elftoolchain/secure/usr.bin/openssl/man/s_client.1 projects/elftoolchain/secure/usr.bin/openssl/man/s_server.1 projects/elftoolchain/secure/usr.bin/openssl/man/s_time.1 projects/elftoolchain/secure/usr.bin/openssl/man/sess_id.1 projects/elftoolchain/secure/usr.bin/openssl/man/smime.1 projects/elftoolchain/secure/usr.bin/openssl/man/speed.1 projects/elftoolchain/secure/usr.bin/openssl/man/spkac.1 projects/elftoolchain/secure/usr.bin/openssl/man/ts.1 projects/elftoolchain/secure/usr.bin/openssl/man/tsget.1 projects/elftoolchain/secure/usr.bin/openssl/man/verify.1 projects/elftoolchain/secure/usr.bin/openssl/man/version.1 projects/elftoolchain/secure/usr.bin/openssl/man/x509.1 projects/elftoolchain/secure/usr.bin/openssl/man/x509v3_config.1 projects/elftoolchain/share/man/man5/src.conf.5 projects/elftoolchain/share/misc/committers-doc.dot projects/elftoolchain/share/misc/committers-src.dot projects/elftoolchain/share/mk/bsd.own.mk projects/elftoolchain/sys/amd64/amd64/machdep.c projects/elftoolchain/sys/amd64/amd64/mp_watchdog.c projects/elftoolchain/sys/amd64/amd64/pmap.c projects/elftoolchain/sys/amd64/include/smp.h projects/elftoolchain/sys/amd64/vmm/intel/vmx.c projects/elftoolchain/sys/amd64/vmm/vmm_ipi.c projects/elftoolchain/sys/amd64/vmm/vmm_stat.c projects/elftoolchain/sys/amd64/vmm/vmm_stat.h projects/elftoolchain/sys/arm/arm/locore.S projects/elftoolchain/sys/arm/at91/uart_bus_at91usart.c projects/elftoolchain/sys/arm/at91/uart_cpu_at91usart.c projects/elftoolchain/sys/arm/at91/uart_dev_at91usart.c projects/elftoolchain/sys/arm/conf/BWCT projects/elftoolchain/sys/arm/conf/HL200 projects/elftoolchain/sys/arm/conf/HL201 projects/elftoolchain/sys/arm/conf/QILA9G20 projects/elftoolchain/sys/arm/conf/SAM9G20EK projects/elftoolchain/sys/arm/conf/SAM9X25EK projects/elftoolchain/sys/arm/conf/SN9G45 projects/elftoolchain/sys/arm/include/asmacros.h projects/elftoolchain/sys/cam/cam_xpt.c projects/elftoolchain/sys/cam/scsi/scsi_da.c projects/elftoolchain/sys/compat/freebsd32/freebsd32_misc.c projects/elftoolchain/sys/conf/NOTES projects/elftoolchain/sys/conf/options projects/elftoolchain/sys/conf/options.arm projects/elftoolchain/sys/dev/adb/adb_kbd.c projects/elftoolchain/sys/dev/adb/adb_mouse.c projects/elftoolchain/sys/dev/fdt/fdt_common.c projects/elftoolchain/sys/dev/hwpmc/hwpmc_core.c projects/elftoolchain/sys/dev/hwpmc/hwpmc_piv.c projects/elftoolchain/sys/dev/hwpmc/hwpmc_ppro.c projects/elftoolchain/sys/dev/hwpmc/hwpmc_uncore.c projects/elftoolchain/sys/dev/hwpmc/hwpmc_x86.c projects/elftoolchain/sys/dev/uart/uart.h projects/elftoolchain/sys/dev/uart/uart_bus_fdt.c projects/elftoolchain/sys/dev/uart/uart_cpu_fdt.c projects/elftoolchain/sys/dev/usb/controller/ehci.c projects/elftoolchain/sys/dev/usb/quirk/usb_quirk.c projects/elftoolchain/sys/dev/usb/usb_dev.c projects/elftoolchain/sys/dev/usb/usb_freebsd.h projects/elftoolchain/sys/dev/usb/usb_freebsd_loader.h projects/elftoolchain/sys/dev/usb/usb_transfer.c projects/elftoolchain/sys/dev/usb/usbdevs projects/elftoolchain/sys/dev/usb/wlan/if_run.c projects/elftoolchain/sys/dev/virtio/network/if_vtnet.c projects/elftoolchain/sys/dev/virtio/scsi/virtio_scsi.c projects/elftoolchain/sys/fs/ext2fs/ext2_alloc.c projects/elftoolchain/sys/fs/ext2fs/ext2_htree.c projects/elftoolchain/sys/fs/ext2fs/ext2_lookup.c projects/elftoolchain/sys/fs/ext2fs/ext2_subr.c projects/elftoolchain/sys/fs/ext2fs/ext2_vnops.c projects/elftoolchain/sys/geom/geom_ctl.c projects/elftoolchain/sys/i386/i386/machdep.c projects/elftoolchain/sys/i386/i386/mp_watchdog.c projects/elftoolchain/sys/i386/i386/pmap.c projects/elftoolchain/sys/i386/include/smp.h projects/elftoolchain/sys/i386/xen/mptable.c projects/elftoolchain/sys/kern/subr_prf.c projects/elftoolchain/sys/kern/uipc_shm.c projects/elftoolchain/sys/kern/vfs_syscalls.c projects/elftoolchain/sys/mips/atheros/ar724xreg.h projects/elftoolchain/sys/netinet/ip_mroute.c projects/elftoolchain/sys/netpfil/ipfw/ip_fw2.c projects/elftoolchain/sys/netpfil/ipfw/ip_fw_private.h projects/elftoolchain/sys/netpfil/ipfw/ip_fw_sockopt.c projects/elftoolchain/sys/netpfil/pf/pf.c projects/elftoolchain/sys/netpfil/pf/pf_ioctl.c projects/elftoolchain/sys/pc98/pc98/machdep.c projects/elftoolchain/sys/powerpc/powerpc/exec_machdep.c projects/elftoolchain/sys/sys/systm.h projects/elftoolchain/sys/vm/vm_page.c projects/elftoolchain/sys/x86/acpica/madt.c projects/elftoolchain/sys/x86/acpica/srat.c projects/elftoolchain/sys/x86/x86/io_apic.c projects/elftoolchain/sys/x86/x86/local_apic.c projects/elftoolchain/sys/x86/x86/mca.c projects/elftoolchain/sys/x86/x86/mptable.c projects/elftoolchain/sys/x86/x86/msi.c projects/elftoolchain/sys/x86/xen/xen_intr.c projects/elftoolchain/tests/Makefile projects/elftoolchain/usr.sbin/bhyve/block_if.c projects/elftoolchain/usr.sbin/bhyve/pci_ahci.c projects/elftoolchain/usr.sbin/cron/cron/cron.c projects/elftoolchain/usr.sbin/etcupdate/etcupdate.sh projects/elftoolchain/usr.sbin/mergemaster/mergemaster.sh projects/elftoolchain/usr.sbin/services_mkdb/extern.h projects/elftoolchain/usr.sbin/services_mkdb/services_mkdb.8 projects/elftoolchain/usr.sbin/services_mkdb/services_mkdb.c Directory Properties: projects/elftoolchain/ (props changed) projects/elftoolchain/cddl/ (props changed) projects/elftoolchain/cddl/contrib/opensolaris/ (props changed) projects/elftoolchain/crypto/openssl/ (props changed) projects/elftoolchain/etc/ (props changed) projects/elftoolchain/include/ (props changed) projects/elftoolchain/lib/libc/ (props changed) projects/elftoolchain/sbin/ (props changed) projects/elftoolchain/sys/ (props changed) projects/elftoolchain/sys/amd64/vmm/ (props changed) projects/elftoolchain/sys/conf/ (props changed) projects/elftoolchain/usr.sbin/bhyve/ (props changed) Modified: projects/elftoolchain/Makefile.inc1 ============================================================================== --- projects/elftoolchain/Makefile.inc1 Sat Jan 25 13:53:46 2014 (r261158) +++ projects/elftoolchain/Makefile.inc1 Sat Jan 25 14:02:02 2014 (r261159) @@ -246,7 +246,7 @@ BMAKE= MAKEOBJDIRPREFIX=${WORLDTMP} \ SSP_CFLAGS= \ -DWITHOUT_HTML -DWITHOUT_INFO -DNO_LINT -DWITHOUT_MAN \ -DNO_PIC -DNO_PROFILE -DNO_SHARED \ - -DNO_CPU_CFLAGS -DNO_WARNS -DNO_CTF -DEARLY_BUILD + -DNO_CPU_CFLAGS -DNO_WARNS -DNO_CTF -DEARLY_BUILD -DNO_TESTS # build-tools stage TMAKE= MAKEOBJDIRPREFIX=${OBJTREE} \ @@ -256,12 +256,12 @@ TMAKE= MAKEOBJDIRPREFIX=${OBJTREE} \ BOOTSTRAPPING=${OSRELDATE} \ SSP_CFLAGS= \ -DNO_LINT \ - -DNO_CPU_CFLAGS -DNO_WARNS -DNO_CTF -DEARLY_BUILD + -DNO_CPU_CFLAGS -DNO_WARNS -DNO_CTF -DEARLY_BUILD -DNO_TESTS # cross-tools stage XMAKE= TOOLS_PREFIX=${WORLDTMP} ${BMAKE} \ TARGET=${TARGET} TARGET_ARCH=${TARGET_ARCH} \ - -DWITHOUT_GDB + -DWITHOUT_GDB -DNO_TESTS # kernel-tools stage KTMAKEENV= INSTALL="sh ${.CURDIR}/tools/install.sh" \ @@ -414,7 +414,8 @@ LIB32WMAKEFLAGS+= \ -DLIBRARIES_ONLY \ -DNO_CPU_CFLAGS \ -DNO_CTF \ - -DNO_LINT + -DNO_LINT \ + -DNO_TESTS LIB32WMAKE= ${LIB32WMAKEENV} ${MAKE} ${LIB32WMAKEFLAGS} \ -DWITHOUT_MAN -DWITHOUT_INFO -DWITHOUT_HTML @@ -569,7 +570,7 @@ _libraries: @echo "--------------------------------------------------------------" ${_+_}cd ${.CURDIR}; \ ${WMAKE} -DNO_FSCHG -DWITHOUT_HTML -DWITHOUT_INFO -DNO_LINT \ - -DWITHOUT_MAN -DNO_PROFILE libraries + -DWITHOUT_MAN -DNO_PROFILE -DNO_TESTS libraries _depend: @echo @echo "--------------------------------------------------------------" @@ -771,7 +772,7 @@ _nmtree_itools= nmtree ITOOLS= [ awk cap_mkdb cat chflags chmod chown \ date echo egrep find grep id install ${_install-info} \ ln lockf make mkdir mtree ${_nmtree_itools} mv pwd_mkdb \ - rm sed sh sysctl test true uname wc ${_zoneinfo} + rm sed services_mkdb sh sysctl test true uname wc ${_zoneinfo} # # distributeworld @@ -1501,7 +1502,12 @@ _prebuild_libs= ${_kerberos5_lib_libasn1 ${_secure_lib_libcrypto} ${_lib_libldns} \ ${_secure_lib_libssh} ${_secure_lib_libssl} -.if ${MK_TESTS} != "no" +.if defined(WITH_ATF) || ${MK_TESTS} != "no" +.if !defined(WITH_ATF) +# Ensure that the ATF libraries will be built during make libraries, even +# though they will have -DNO_TESTS +MAKE+= -DWITH_ATF +.endif _lib_atf= lib/atf .endif @@ -1877,7 +1883,7 @@ XDEV_CPUTYPE?=${TARGET_CPUTYPE} NOFUN=-DNO_FSCHG -DWITHOUT_HTML -DWITHOUT_INFO -DNO_LINT \ -DWITHOUT_MAN -DWITHOUT_NLS -DNO_PROFILE \ - -DWITHOUT_KERBEROS -DWITHOUT_RESCUE -DNO_WARNS \ + -DWITHOUT_KERBEROS -DWITHOUT_RESCUE -DNO_TESTS -DNO_WARNS \ TARGET=${XDEV} TARGET_ARCH=${XDEV_ARCH} \ CPUTYPE=${XDEV_CPUTYPE} Modified: projects/elftoolchain/bin/sh/alias.c ============================================================================== --- projects/elftoolchain/bin/sh/alias.c Sat Jan 25 13:53:46 2014 (r261158) +++ projects/elftoolchain/bin/sh/alias.c Sat Jan 25 14:02:02 2014 (r261159) @@ -68,18 +68,7 @@ setalias(const char *name, const char *v if (equal(name, ap->name)) { INTOFF; ckfree(ap->val); - /* See HACK below. */ -#ifdef notyet ap->val = savestr(val); -#else - { - size_t len = strlen(val); - ap->val = ckmalloc(len + 2); - memcpy(ap->val, val, len); - ap->val[len] = ' '; - ap->val[len+1] = '\0'; - } -#endif INTON; return; } @@ -88,34 +77,7 @@ setalias(const char *name, const char *v INTOFF; ap = ckmalloc(sizeof (struct alias)); ap->name = savestr(name); - /* - * XXX - HACK: in order that the parser will not finish reading the - * alias value off the input before processing the next alias, we - * dummy up an extra space at the end of the alias. This is a crock - * and should be re-thought. The idea (if you feel inclined to help) - * is to avoid alias recursions. The mechanism used is: when - * expanding an alias, the value of the alias is pushed back on the - * input as a string and a pointer to the alias is stored with the - * string. The alias is marked as being in use. When the input - * routine finishes reading the string, it marks the alias not - * in use. The problem is synchronization with the parser. Since - * it reads ahead, the alias is marked not in use before the - * resulting token(s) is next checked for further alias sub. The - * H A C K is that we add a little fluff after the alias value - * so that the string will not be exhausted. This is a good - * idea ------- ***NOT*** - */ -#ifdef notyet ap->val = savestr(val); -#else /* hack */ - { - size_t len = strlen(val); - ap->val = ckmalloc(len + 2); - memcpy(ap->val, val, len); - ap->val[len] = ' '; /* fluff */ - ap->val[len+1] = '\0'; - } -#endif ap->flag = 0; ap->next = *app; *app = ap; @@ -207,14 +169,8 @@ comparealiases(const void *p1, const voi static void printalias(const struct alias *a) { - char *p; - out1fmt("%s=", a->name); - /* Don't print the space added above. */ - p = a->val + strlen(a->val) - 1; - *p = '\0'; out1qstr(a->val); - *p = ' '; out1c('\n'); } Modified: projects/elftoolchain/bin/sh/input.c ============================================================================== --- projects/elftoolchain/bin/sh/input.c Sat Jan 25 13:53:46 2014 (r261158) +++ projects/elftoolchain/bin/sh/input.c Sat Jan 25 14:02:02 2014 (r261159) @@ -226,7 +226,14 @@ preadbuffer(void) int more; char savec; - if (parsefile->strpush) { + while (parsefile->strpush) { + /* + * Add a space to the end of an alias to ensure that the + * alias remains in use while parsing its last word. + * This avoids alias recursions. + */ + if (parsenleft == -1 && parsefile->strpush->ap != NULL) + return ' '; popstring(); if (--parsenleft >= 0) return (*parsenextc++); Modified: projects/elftoolchain/bin/sh/tests/builtins/command3.0.stdout ============================================================================== --- projects/elftoolchain/bin/sh/tests/builtins/command3.0.stdout Sat Jan 25 13:53:46 2014 (r261158) +++ projects/elftoolchain/bin/sh/tests/builtins/command3.0.stdout Sat Jan 25 14:02:02 2014 (r261159) @@ -4,4 +4,4 @@ true fun break if -alias foo='bar ' +alias foo=bar Modified: projects/elftoolchain/bin/sh/tests/builtins/command5.0.stdout ============================================================================== --- projects/elftoolchain/bin/sh/tests/builtins/command5.0.stdout Sat Jan 25 13:53:46 2014 (r261158) +++ projects/elftoolchain/bin/sh/tests/builtins/command5.0.stdout Sat Jan 25 14:02:02 2014 (r261159) @@ -5,4 +5,4 @@ fun is a shell function break is a special shell builtin if is a shell keyword { is a shell keyword -foo is an alias for bar +foo is an alias for bar Modified: projects/elftoolchain/bin/sh/tests/builtins/command6.0.stdout ============================================================================== --- projects/elftoolchain/bin/sh/tests/builtins/command6.0.stdout Sat Jan 25 13:53:46 2014 (r261158) +++ projects/elftoolchain/bin/sh/tests/builtins/command6.0.stdout Sat Jan 25 14:02:02 2014 (r261159) @@ -4,4 +4,4 @@ fun is a shell function break is a special shell builtin if is a shell keyword { is a shell keyword -foo is an alias for bar +foo is an alias for bar Modified: projects/elftoolchain/bin/sh/tests/parser/Makefile ============================================================================== --- projects/elftoolchain/bin/sh/tests/parser/Makefile Sat Jan 25 13:53:46 2014 (r261158) +++ projects/elftoolchain/bin/sh/tests/parser/Makefile Sat Jan 25 14:02:02 2014 (r261159) @@ -15,6 +15,7 @@ FILES+= alias7.0 FILES+= alias8.0 FILES+= alias9.0 FILES+= alias10.0 +FILES+= alias11.0 FILES+= and-pipe-not.0 FILES+= case1.0 FILES+= case2.0 Copied: projects/elftoolchain/bin/sh/tests/parser/alias11.0 (from r261158, head/bin/sh/tests/parser/alias11.0) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ projects/elftoolchain/bin/sh/tests/parser/alias11.0 Sat Jan 25 14:02:02 2014 (r261159, copy of r261158, head/bin/sh/tests/parser/alias11.0) @@ -0,0 +1,6 @@ +# $FreeBSD$ + +alias alias0=alias1 +alias alias1=exit +eval 'alias0 0' +exit 3 Modified: projects/elftoolchain/cddl/contrib/opensolaris/lib/libdtrace/common/dt_subr.c ============================================================================== --- projects/elftoolchain/cddl/contrib/opensolaris/lib/libdtrace/common/dt_subr.c Sat Jan 25 13:53:46 2014 (r261158) +++ projects/elftoolchain/cddl/contrib/opensolaris/lib/libdtrace/common/dt_subr.c Sat Jan 25 14:02:02 2014 (r261159) @@ -734,11 +734,6 @@ dt_zalloc(dtrace_hdl_t *dtp, size_t size { void *data; - if (size > 16 * 1024 * 1024) { - (void) dt_set_errno(dtp, EDT_NOMEM); - return (NULL); - } - if ((data = malloc(size)) == NULL) (void) dt_set_errno(dtp, EDT_NOMEM); else @@ -752,11 +747,6 @@ dt_alloc(dtrace_hdl_t *dtp, size_t size) { void *data; - if (size > 16 * 1024 * 1024) { - (void) dt_set_errno(dtp, EDT_NOMEM); - return (NULL); - } - if ((data = malloc(size)) == NULL) (void) dt_set_errno(dtp, EDT_NOMEM); Modified: projects/elftoolchain/contrib/jemalloc/COPYING ============================================================================== --- projects/elftoolchain/contrib/jemalloc/COPYING Sat Jan 25 13:53:46 2014 (r261158) +++ projects/elftoolchain/contrib/jemalloc/COPYING Sat Jan 25 14:02:02 2014 (r261159) @@ -1,10 +1,10 @@ Unless otherwise specified, files in the jemalloc source distribution are subject to the following license: -------------------------------------------------------------------------------- -Copyright (C) 2002-2013 Jason Evans . +Copyright (C) 2002-2014 Jason Evans . All rights reserved. Copyright (C) 2007-2012 Mozilla Foundation. All rights reserved. -Copyright (C) 2009-2013 Facebook, Inc. All rights reserved. +Copyright (C) 2009-2014 Facebook, Inc. All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: Modified: projects/elftoolchain/contrib/jemalloc/ChangeLog ============================================================================== --- projects/elftoolchain/contrib/jemalloc/ChangeLog Sat Jan 25 13:53:46 2014 (r261158) +++ projects/elftoolchain/contrib/jemalloc/ChangeLog Sat Jan 25 14:02:02 2014 (r261159) @@ -6,6 +6,59 @@ found in the git revision history: http://www.canonware.com/cgi-bin/gitweb.cgi?p=jemalloc.git git://canonware.com/jemalloc.git +* 3.5.0 (January 22, 2014) + + This version focuses on refactoring and automated testing, though it also + includes some non-trivial heap profiling optimizations not mentioned below. + + New features: + - Add the *allocx() API, which is a successor to the experimental *allocm() + API. The *allocx() functions are slightly simpler to use because they have + fewer parameters, they directly return the results of primary interest, and + mallocx()/rallocx() avoid the strict aliasing pitfall that + allocm()/rallocx() share with posix_memalign(). Note that *allocm() is + slated for removal in the next non-bugfix release. + - Add support for LinuxThreads. + + Bug fixes: + - Unless heap profiling is enabled, disable floating point code and don't link + with libm. This, in combination with e.g. EXTRA_CFLAGS=-mno-sse on x64 + systems, makes it possible to completely disable floating point register + use. Some versions of glibc neglect to save/restore caller-saved floating + point registers during dynamic lazy symbol loading, and the symbol loading + code uses whatever malloc the application happens to have linked/loaded + with, the result being potential floating point register corruption. + - Report ENOMEM rather than EINVAL if an OOM occurs during heap profiling + backtrace creation in imemalign(). This bug impacted posix_memalign() and + aligned_alloc(). + - Fix a file descriptor leak in a prof_dump_maps() error path. + - Fix prof_dump() to close the dump file descriptor for all relevant error + paths. + - Fix rallocm() to use the arena specified by the ALLOCM_ARENA(s) flag for + allocation, not just deallocation. + - Fix a data race for large allocation stats counters. + - Fix a potential infinite loop during thread exit. This bug occurred on + Solaris, and could affect other platforms with similar pthreads TSD + implementations. + - Don't junk-fill reallocations unless usable size changes. This fixes a + violation of the *allocx()/*allocm() semantics. + - Fix growing large reallocation to junk fill new space. + - Fix huge deallocation to junk fill when munmap is disabled. + - Change the default private namespace prefix from empty to je_, and change + --with-private-namespace-prefix so that it prepends an additional prefix + rather than replacing je_. This reduces the likelihood of applications + which statically link jemalloc experiencing symbol name collisions. + - Add missing private namespace mangling (relevant when + --with-private-namespace is specified). + - Add and use JEMALLOC_INLINE_C so that static inline functions are marked as + static even for debug builds. + - Add a missing mutex unlock in a malloc_init_hard() error path. In practice + this error path is never executed. + - Fix numerous bugs in malloc_strotumax() error handling/reporting. These + bugs had no impact except for malformed inputs. + - Fix numerous bugs in malloc_snprintf(). These bugs were not exercised by + existing calls, so they had no impact. + * 3.4.1 (October 20, 2013) Bug fixes: Modified: projects/elftoolchain/contrib/jemalloc/FREEBSD-Xlist ============================================================================== --- projects/elftoolchain/contrib/jemalloc/FREEBSD-Xlist Sat Jan 25 13:53:46 2014 (r261158) +++ projects/elftoolchain/contrib/jemalloc/FREEBSD-Xlist Sat Jan 25 14:02:02 2014 (r261159) @@ -10,14 +10,35 @@ autom4te.cache/ bin/ config.* configure* +coverage.sh doc/*.in doc/*.xml doc/*.xsl doc/*.html include/jemalloc/internal/jemalloc_internal.h.in +include/jemalloc/internal/jemalloc_internal_defs.h.in +include/jemalloc/internal/private_namespace.sh +include/jemalloc/internal/private_symbols.txt +include/jemalloc/internal/private_unnamespace.h +include/jemalloc/internal/private_unnamespace.sh +include/jemalloc/internal/public_namespace.sh +include/jemalloc/internal/public_symbols.txt +include/jemalloc/internal/public_unnamespace.h +include/jemalloc/internal/public_unnamespace.sh include/jemalloc/internal/size_classes.sh include/jemalloc/jemalloc.h.in +include/jemalloc/jemalloc.sh include/jemalloc/jemalloc_defs.h.in +include/jemalloc/jemalloc_macros.h +include/jemalloc/jemalloc_macros.h.in +include/jemalloc/jemalloc_mangle_jet.h +include/jemalloc/jemalloc_mangle.sh +include/jemalloc/jemalloc_mangle.h +include/jemalloc/jemalloc_protos_jet.h +include/jemalloc/jemalloc_protos.h +include/jemalloc/jemalloc_protos.h.in +include/jemalloc/jemalloc_rename.h +include/jemalloc/jemalloc_rename.sh include/msvc_compat/ install-sh src/zone.c Modified: projects/elftoolchain/contrib/jemalloc/FREEBSD-diffs ============================================================================== --- projects/elftoolchain/contrib/jemalloc/FREEBSD-diffs Sat Jan 25 13:53:46 2014 (r261158) +++ projects/elftoolchain/contrib/jemalloc/FREEBSD-diffs Sat Jan 25 14:02:02 2014 (r261159) @@ -1,8 +1,8 @@ diff --git a/doc/jemalloc.xml.in b/doc/jemalloc.xml.in -index abd5e6f..1d7491a 100644 +index c7e2e87..2bd59f0 100644 --- a/doc/jemalloc.xml.in +++ b/doc/jemalloc.xml.in -@@ -51,12 +51,23 @@ +@@ -57,12 +57,23 @@ This manual describes jemalloc @jemalloc_version@. More information can be found at the jemalloc website. @@ -27,7 +27,7 @@ index abd5e6f..1d7491a 100644 Standard API -@@ -2180,4 +2191,16 @@ malloc_conf = "lg_chunk:24";]]> +@@ -2338,4 +2349,19 @@ malloc_conf = "lg_chunk:24";]]> The posix_memalign function conforms to IEEE Std 1003.1-2001 (“POSIX.1”). @@ -42,32 +42,35 @@ index abd5e6f..1d7491a 100644 + mallctl*, and + *allocm functions first appeared in + FreeBSD 10.0. ++ ++ The *allocx functions first appeared ++ in FreeBSD 11.0. + diff --git a/include/jemalloc/internal/jemalloc_internal.h.in b/include/jemalloc/internal/jemalloc_internal.h.in -index 53c135c..c547339 100644 +index d24a1fe..d101c3d 100644 --- a/include/jemalloc/internal/jemalloc_internal.h.in +++ b/include/jemalloc/internal/jemalloc_internal.h.in @@ -1,5 +1,8 @@ #ifndef JEMALLOC_INTERNAL_H - #define JEMALLOC_INTERNAL_H + #define JEMALLOC_INTERNAL_H +#include "libc_private.h" +#include "namespace.h" + #include #ifdef _WIN32 # include -@@ -54,6 +57,9 @@ typedef intptr_t ssize_t; +@@ -65,6 +68,9 @@ typedef intptr_t ssize_t; + #include #endif - #include +#include "un-namespace.h" +#include "libc_private.h" + #define JEMALLOC_NO_DEMANGLE - #include "../jemalloc@install_suffix@.h" - -@@ -95,13 +101,7 @@ static const bool config_fill = + #ifdef JEMALLOC_JET + # define JEMALLOC_N(n) jet_##n +@@ -99,13 +105,7 @@ static const bool config_fill = false #endif ; @@ -96,36 +99,24 @@ index de44e14..564d604 100644 #endif bool malloc_mutex_init(malloc_mutex_t *mutex); -diff --git a/include/jemalloc/internal/private_namespace.h b/include/jemalloc/internal/private_namespace.h -index cdb0b0e..2a98d1f 100644 ---- a/include/jemalloc/internal/private_namespace.h -+++ b/include/jemalloc/internal/private_namespace.h -@@ -218,7 +218,6 @@ - #define iralloc JEMALLOC_N(iralloc) - #define irallocx JEMALLOC_N(irallocx) - #define isalloc JEMALLOC_N(isalloc) --#define isthreaded JEMALLOC_N(isthreaded) - #define ivsalloc JEMALLOC_N(ivsalloc) - #define jemalloc_postfork_child JEMALLOC_N(jemalloc_postfork_child) - #define jemalloc_postfork_parent JEMALLOC_N(jemalloc_postfork_parent) -diff --git a/include/jemalloc/jemalloc.h.in b/include/jemalloc/jemalloc.h.in -index 31b1304..c3ef2f5 100644 ---- a/include/jemalloc/jemalloc.h.in -+++ b/include/jemalloc/jemalloc.h.in -@@ -15,6 +15,7 @@ extern "C" { - #define JEMALLOC_VERSION_GID "@jemalloc_version_gid@" - - #include "jemalloc_defs@install_suffix@.h" -+#include "jemalloc_FreeBSD.h" - - #ifdef JEMALLOC_EXPERIMENTAL - #define ALLOCM_LG_ALIGN(la) (la) +diff --git a/include/jemalloc/internal/private_symbols.txt b/include/jemalloc/internal/private_symbols.txt +index 1e64ed5..29ddba3 100644 +--- a/include/jemalloc/internal/private_symbols.txt ++++ b/include/jemalloc/internal/private_symbols.txt +@@ -225,7 +225,6 @@ iralloc + iralloct + iralloct_realign + isalloc +-isthreaded + ivsalloc + ixalloc + jemalloc_postfork_child diff --git a/include/jemalloc/jemalloc_FreeBSD.h b/include/jemalloc/jemalloc_FreeBSD.h new file mode 100644 -index 0000000..e6c8407 +index 0000000..94554bc --- /dev/null +++ b/include/jemalloc/jemalloc_FreeBSD.h -@@ -0,0 +1,117 @@ +@@ -0,0 +1,134 @@ +/* + * Override settings that were generated in jemalloc_defs.h as necessary. + */ @@ -202,6 +193,12 @@ index 0000000..e6c8407 +#undef je_free +#undef je_posix_memalign +#undef je_malloc_usable_size ++#undef je_mallocx ++#undef je_rallocx ++#undef je_xallocx ++#undef je_sallocx ++#undef je_dallocx ++#undef je_nallocx +#undef je_allocm +#undef je_rallocm +#undef je_sallocm @@ -213,6 +210,12 @@ index 0000000..e6c8407 +#define je_free __free +#define je_posix_memalign __posix_memalign +#define je_malloc_usable_size __malloc_usable_size ++#define je_mallocx __mallocx ++#define je_rallocx __rallocx ++#define je_xallocx __xallocx ++#define je_sallocx __sallocx ++#define je_dallocx __dallocx ++#define je_nallocx __nallocx +#define je_allocm __allocm +#define je_rallocm __rallocm +#define je_sallocm __sallocm @@ -236,15 +239,31 @@ index 0000000..e6c8407 +__weak_reference(__free, free); +__weak_reference(__posix_memalign, posix_memalign); +__weak_reference(__malloc_usable_size, malloc_usable_size); ++__weak_reference(__mallocx, mallocx); ++__weak_reference(__rallocx, rallocx); ++__weak_reference(__xallocx, xallocx); ++__weak_reference(__sallocx, sallocx); ++__weak_reference(__dallocx, dallocx); ++__weak_reference(__nallocx, nallocx); +__weak_reference(__allocm, allocm); +__weak_reference(__rallocm, rallocm); +__weak_reference(__sallocm, sallocm); +__weak_reference(__dallocm, dallocm); +__weak_reference(__nallocm, nallocm); +#endif +diff --git a/include/jemalloc/jemalloc_rename.sh b/include/jemalloc/jemalloc_rename.sh +index f943891..47d032c 100755 +--- a/include/jemalloc/jemalloc_rename.sh ++++ b/include/jemalloc/jemalloc_rename.sh +@@ -19,4 +19,6 @@ done + + cat < -.\" Date: 10/20/2013 +.\" Date: 01/22/2014 .\" Manual: User Manual -.\" Source: jemalloc 3.4.1-0-g0135fb806e4137dc9cdf152541926a2bc95e33f0 +.\" Source: jemalloc 3.5.0-0-gcc47dde16203a6ae7eb685b53e1ae501f3869bc6 .\" Language: English .\" -.TH "JEMALLOC" "3" "10/20/2013" "jemalloc 3.4.1-0-g0135fb806e41" "User Manual" +.TH "JEMALLOC" "3" "01/22/2014" "jemalloc 3.5.0-0-gcc47dde16203" "User Manual" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -31,7 +31,7 @@ jemalloc \- general purpose memory allocation functions .SH "LIBRARY" .PP -This manual describes jemalloc 3\&.4\&.1\-0\-g0135fb806e4137dc9cdf152541926a2bc95e33f0\&. More information can be found at the +This manual describes jemalloc 3\&.5\&.0\-0\-gcc47dde16203a6ae7eb685b53e1ae501f3869bc6\&. More information can be found at the \m[blue]\fBjemalloc website\fR\m[]\&\s-2\u[1]\d\s+2\&. .PP The following configuration options are enabled in libc\*(Aqs built\-in jemalloc: @@ -71,16 +71,28 @@ make variable)\&. .HP \w'void\ free('u .BI "void free(void\ *" "ptr" ");" .SS "Non\-standard API" -.HP \w'size_t\ malloc_usable_size('u -.BI "size_t malloc_usable_size(const\ void\ *" "ptr" ");" -.HP \w'void\ malloc_stats_print('u -.BI "void malloc_stats_print(void\ " "(*write_cb)" "\ (void\ *,\ const\ char\ *), void\ *" "cbopaque" ", const\ char\ *" "opts" ");" +.HP \w'void\ *mallocx('u +.BI "void *mallocx(size_t\ " "size" ", int\ " "flags" ");" +.HP \w'void\ *rallocx('u +.BI "void *rallocx(void\ *" "ptr" ", size_t\ " "size" ", int\ " "flags" ");" +.HP \w'size_t\ xallocx('u +.BI "size_t xallocx(void\ *" "ptr" ", size_t\ " "size" ", size_t\ " "extra" ", int\ " "flags" ");" +.HP \w'size_t\ sallocx('u +.BI "size_t sallocx(void\ *" "ptr" ", int\ " "flags" ");" +.HP \w'void\ dallocx('u +.BI "void dallocx(void\ *" "ptr" ", int\ " "flags" ");" +.HP \w'size_t\ nallocx('u +.BI "size_t nallocx(size_t\ " "size" ", int\ " "flags" ");" .HP \w'int\ mallctl('u .BI "int mallctl(const\ char\ *" "name" ", void\ *" "oldp" ", size_t\ *" "oldlenp" ", void\ *" "newp" ", size_t\ " "newlen" ");" .HP \w'int\ mallctlnametomib('u .BI "int mallctlnametomib(const\ char\ *" "name" ", size_t\ *" "mibp" ", size_t\ *" "miblenp" ");" .HP \w'int\ mallctlbymib('u .BI "int mallctlbymib(const\ size_t\ *" "mib" ", size_t\ " "miblen" ", void\ *" "oldp" ", size_t\ *" "oldlenp" ", void\ *" "newp" ", size_t\ " "newlen" ");" +.HP \w'void\ malloc_stats_print('u +.BI "void malloc_stats_print(void\ " "(*write_cb)" "\ (void\ *,\ const\ char\ *), void\ *" "cbopaque" ", const\ char\ *" "opts" ");" +.HP \w'size_t\ malloc_usable_size('u +.BI "size_t malloc_usable_size(const\ void\ *" "ptr" ");" .HP \w'void\ (*malloc_message)('u .BI "void (*malloc_message)(void\ *" "cbopaque" ", const\ char\ *" "s" ");" .PP @@ -172,36 +184,105 @@ is .SS "Non\-standard API" .PP The -\fBmalloc_usable_size\fR\fB\fR -function returns the usable size of the allocation pointed to by -\fIptr\fR\&. The return value may be larger than the size that was requested during allocation\&. The -\fBmalloc_usable_size\fR\fB\fR -function is not a mechanism for in\-place -\fBrealloc\fR\fB\fR; rather it is provided solely as a tool for introspection purposes\&. Any discrepancy between the requested allocation size and the size reported by -\fBmalloc_usable_size\fR\fB\fR -should not be depended on, since such behavior is entirely implementation\-dependent\&. +\fBmallocx\fR\fB\fR, +\fBrallocx\fR\fB\fR, +\fBxallocx\fR\fB\fR, +\fBsallocx\fR\fB\fR, +\fBdallocx\fR\fB\fR, and +\fBnallocx\fR\fB\fR +functions all have a +\fIflags\fR +argument that can be used to specify options\&. The functions only check the options that are contextually relevant\&. Use bitwise or (|) operations to specify one or more of the following: +.PP +\fBMALLOCX_LG_ALIGN(\fR\fB\fIla\fR\fR\fB) \fR +.RS 4 +Align the memory allocation to start at an address that is a multiple of +(1 << \fIla\fR)\&. This macro does not validate that +\fIla\fR +is within the valid range\&. +.RE +.PP +\fBMALLOCX_ALIGN(\fR\fB\fIa\fR\fR\fB) \fR +.RS 4 +Align the memory allocation to start at an address that is a multiple of +\fIa\fR, where +\fIa\fR +is a power of two\&. This macro does not validate that +\fIa\fR +is a power of 2\&. +.RE +.PP +\fBMALLOCX_ZERO\fR +.RS 4 +Initialize newly allocated memory to contain zero bytes\&. In the growing reallocation case, the real size prior to reallocation defines the boundary between untouched bytes and those that are initialized to contain zero bytes\&. If this macro is absent, newly allocated memory is uninitialized\&. +.RE +.PP +\fBMALLOCX_ARENA(\fR\fB\fIa\fR\fR\fB) \fR +.RS 4 +Use the arena specified by the index +\fIa\fR +(and by necessity bypass the thread cache)\&. This macro has no effect for huge regions, nor for regions that were allocated via an arena other than the one specified\&. This macro does not validate that +\fIa\fR +specifies an arena index in the valid range\&. +.RE .PP The -\fBmalloc_stats_print\fR\fB\fR -function writes human\-readable summary statistics via the -\fIwrite_cb\fR -callback function pointer and -\fIcbopaque\fR -data passed to -\fIwrite_cb\fR, or -\fBmalloc_message\fR\fB\fR -if -\fIwrite_cb\fR +\fBmallocx\fR\fB\fR +function allocates at least +\fIsize\fR +bytes of memory, and returns a pointer to the base address of the allocation\&. Behavior is undefined if +\fIsize\fR is -\fBNULL\fR\&. This function can be called repeatedly\&. General information that never changes during execution can be omitted by specifying "g" as a character within the -\fIopts\fR -string\&. Note that -\fBmalloc_message\fR\fB\fR -uses the -\fBmallctl*\fR\fB\fR -functions internally, so inconsistent statistics can be reported if multiple threads use these functions simultaneously\&. If -\fB\-\-enable\-stats\fR -is specified during configuration, \(lqm\(rq and \(lqa\(rq can be specified to omit merged arena and per arena statistics, respectively; \(lqb\(rq and \(lql\(rq can be specified to omit per size class statistics for bins and large objects, respectively\&. Unrecognized characters are silently ignored\&. Note that thread caching may prevent some statistics from being completely up to date, since extra locking would be required to merge counters that track thread cache operations\&. +\fB0\fR, or if request size overflows due to size class and/or alignment constraints\&. +.PP +The +\fBrallocx\fR\fB\fR +function resizes the allocation at +\fIptr\fR +to be at least +\fIsize\fR +bytes, and returns a pointer to the base address of the resulting allocation, which may or may not have moved from its original location\&. Behavior is undefined if +\fIsize\fR +is +\fB0\fR, or if request size overflows due to size class and/or alignment constraints\&. +.PP +The +\fBxallocx\fR\fB\fR +function resizes the allocation at +\fIptr\fR +in place to be at least +\fIsize\fR +bytes, and returns the real size of the allocation\&. If +\fIextra\fR +is non\-zero, an attempt is made to resize the allocation to be at least +(\fIsize\fR + \fIextra\fR) +bytes, though inability to allocate the extra byte(s) will not by itself result in failure to resize\&. Behavior is undefined if +\fIsize\fR +is +\fB0\fR, or if +(\fIsize\fR + \fIextra\fR > \fBSIZE_T_MAX\fR)\&. +.PP +The +\fBsallocx\fR\fB\fR +function returns the real size of the allocation at +\fIptr\fR\&. +.PP +The +\fBdallocx\fR\fB\fR +function causes the memory referenced by +\fIptr\fR +to be made available for future allocations\&. +.PP +The +\fBnallocx\fR\fB\fR +function allocates no memory, but it performs the same size computation as the +\fBmallocx\fR\fB\fR +function, and returns the real size of the allocation that would result from the equivalent +\fBmallocx\fR\fB\fR +function call\&. Behavior is undefined if +\fIsize\fR +is +\fB0\fR, or if request size overflows due to size class and/or alignment constraints\&. .PP The \fBmallctl\fR\fB\fR @@ -245,15 +326,14 @@ that is smaller than the number of perio .\} .nf unsigned nbins, i; - -int mib[4]; +size_t mib[4]; size_t len, miblen; len = sizeof(nbins); mallctl("arenas\&.nbins", &nbins, &len, NULL, 0); miblen = 4; -mallnametomib("arenas\&.bin\&.0\&.size", mib, &miblen); +mallctlnametomib("arenas\&.bin\&.0\&.size", mib, &miblen); for (i = 0; i < nbins; i++) { size_t bin_size; @@ -266,6 +346,38 @@ for (i = 0; i < nbins; i++) { .if n \{\ .RE .\} +.PP +The +\fBmalloc_stats_print\fR\fB\fR +function writes human\-readable summary statistics via the +\fIwrite_cb\fR +callback function pointer and +\fIcbopaque\fR +data passed to +\fIwrite_cb\fR, or +\fBmalloc_message\fR\fB\fR +if +\fIwrite_cb\fR +is +\fBNULL\fR\&. This function can be called repeatedly\&. General information that never changes during execution can be omitted by specifying "g" as a character within the +\fIopts\fR +string\&. Note that +\fBmalloc_message\fR\fB\fR +uses the +\fBmallctl*\fR\fB\fR +functions internally, so inconsistent statistics can be reported if multiple threads use these functions simultaneously\&. If +\fB\-\-enable\-stats\fR +is specified during configuration, \(lqm\(rq and \(lqa\(rq can be specified to omit merged arena and per arena statistics, respectively; \(lqb\(rq and \(lql\(rq can be specified to omit per size class statistics for bins and large objects, respectively\&. Unrecognized characters are silently ignored\&. Note that thread caching may prevent some statistics from being completely up to date, since extra locking would be required to merge counters that track thread cache operations\&. +.PP +The +\fBmalloc_usable_size\fR\fB\fR +function returns the usable size of the allocation pointed to by +\fIptr\fR\&. The return value may be larger than the size that was requested during allocation\&. The +\fBmalloc_usable_size\fR\fB\fR +function is not a mechanism for in\-place +\fBrealloc\fR\fB\fR; rather it is provided solely as a tool for introspection purposes\&. Any discrepancy between the requested allocation size and the size reported by +\fBmalloc_usable_size\fR\fB\fR +should not be depended on, since such behavior is entirely implementation\-dependent\&. .SS "Experimental API" .PP The experimental API is subject to change or removal without regard for backward compatibility\&. If @@ -302,7 +414,7 @@ is a power of 2\&. .PP \fBALLOCM_ZERO\fR .RS 4 -Initialize newly allocated memory to contain zero bytes\&. In the growing reallocation case, the real size prior to reallocation defines the boundary between untouched bytes and those that are initialized to contain zero bytes\&. If this option is absent, newly allocated memory is uninitialized\&. +Initialize newly allocated memory to contain zero bytes\&. In the growing reallocation case, the real size prior to reallocation defines the boundary between untouched bytes and those that are initialized to contain zero bytes\&. If this macro is absent, newly allocated memory is uninitialized\&. .RE .PP \fBALLOCM_NO_MOVE\fR @@ -313,9 +425,10 @@ For reallocation, fail rather than movin \fBALLOCM_ARENA(\fR\fB\fIa\fR\fR\fB) \fR .RS 4 Use the arena specified by the index -\fIa\fR\&. This macro does not validate that \fIa\fR -specifies an arena in the valid range\&. +(and by necessity bypass the thread cache)\&. This macro has no effect for huge regions, nor for regions that were allocated via an arena other than the one specified\&. This macro does not validate that +\fIa\fR +specifies an arena index in the valid range\&. .RE .PP The @@ -332,7 +445,7 @@ is not \fBNULL\fR\&. Behavior is undefined if \fIsize\fR is -\fB0\fR\&. +\fB0\fR, or if request size overflows due to size class and/or alignment constraints\&. .PP The \fBrallocm\fR\fB\fR @@ -350,11 +463,11 @@ is not \fBNULL\fR\&. If \fIextra\fR is non\-zero, an attempt is made to resize the allocation to be at least -\fIsize\fR + \fIextra\fR) +(\fIsize\fR + \fIextra\fR) bytes, though inability to allocate the extra byte(s) will not by itself result in failure\&. Behavior is undefined if \fIsize\fR is -\fB0\fR, or if +\fB0\fR, if request size overflows due to size class and/or alignment constraints, or if (\fIsize\fR + \fIextra\fR > \fBSIZE_T_MAX\fR)\&. .PP The @@ -384,7 +497,7 @@ to the real size of the allocation that function call\&. Behavior is undefined if \fIsize\fR is -\fB0\fR\&. +\fB0\fR, or if request size overflows due to size class and/or alignment constraints\&. .SH "TUNING" .PP Once, when the first call is made to one of the memory allocation routines, the allocator initializes its internals based in part on various options that can be specified at compile\- or run\-time\&. @@ -662,16 +775,18 @@ in these cases\&. This option is disable is specified during configuration, in which case it is enabled by default\&. .RE .PP -"opt\&.lg_chunk" (\fBsize_t\fR) r\- -.RS 4 -Virtual memory chunk size (log base 2)\&. If a chunk size outside the supported size range is specified, the size is silently clipped to the minimum/maximum supported size\&. The default chunk size is 4 MiB (2^22)\&. -.RE -.PP "opt\&.dss" (\fBconst char *\fR) r\- .RS 4 dss (\fBsbrk\fR(2)) allocation precedence as related to \fBmmap\fR(2) -allocation\&. The following settings are supported: \(lqdisabled\(rq, \(lqprimary\(rq, and \(lqsecondary\(rq (default)\&. +allocation\&. The following settings are supported: \(lqdisabled\(rq, \(lqprimary\(rq, and \(lqsecondary\(rq\&. The default is \(lqsecondary\(rq if +"config\&.dss" +is true, \(lqdisabled\(rq otherwise\&. +.RE +.PP +"opt\&.lg_chunk" (\fBsize_t\fR) r\- +.RS 4 +Virtual memory chunk size (log base 2)\&. If a chunk size outside the supported size range is specified, the size is silently clipped to the minimum/maximum supported size\&. The default chunk size is 4 MiB (2^22)\&. .RE .PP "opt\&.narenas" (\fBsize_t\fR) r\- @@ -726,7 +841,8 @@ option is enabled, the redzones are chec "opt\&.zero" (\fBbool\fR) r\- [\fB\-\-enable\-fill\fR] .RS 4 Zero filling enabled/disabled\&. If enabled, each byte of uninitialized allocated memory will be initialized to 0\&. Note that this initialization only happens once for each byte, so -\fBrealloc\fR\fB\fR +\fBrealloc\fR\fB\fR, +\fBrallocx\fR\fB\fR and \fBrallocm\fR\fB\fR calls do not zero memory that was previously allocated\&. This is intended for debugging and will impact performance negatively\&. This option is disabled by default\&. @@ -804,7 +920,7 @@ Filename prefix for profile dumps\&. If jeprof\&. .RE .PP -"opt\&.prof_active" (\fBbool\fR) r\- [\fB\-\-enable\-prof\fR] +"opt\&.prof_active" (\fBbool\fR) rw [\fB\-\-enable\-prof\fR] .RS 4 Profiling activated/deactivated\&. This is a secondary control mechanism that makes it possible to start the application with profiling enabled (see the "opt\&.prof" @@ -1119,7 +1235,7 @@ Number of or similar calls made to purge dirty pages\&. .RE .PP -"stats\&.arenas\&.\&.npurged" (\fBuint64_t\fR) r\- [\fB\-\-enable\-stats\fR] +"stats\&.arenas\&.\&.purged" (\fBuint64_t\fR) r\- [\fB\-\-enable\-stats\fR] .RS 4 Number of pages purged\&. .RE @@ -1342,11 +1458,32 @@ function returns no value\&. .SS "Non\-standard API" .PP The -\fBmalloc_usable_size\fR\fB\fR -function returns the usable size of the allocation pointed to by +\fBmallocx\fR\fB\fR +and +\fBrallocx\fR\fB\fR +functions return a pointer to the allocated memory if successful; otherwise a +\fBNULL\fR +pointer is returned to indicate insufficient contiguous memory was available to service the allocation request\&. +.PP +The +\fBxallocx\fR\fB\fR +function returns the real size of the resulting resized allocation pointed to by +\fIptr\fR, which is a value less than +\fIsize\fR +if the allocation could not be adequately grown in place\&. +.PP +The +\fBsallocx\fR\fB\fR +function returns the real size of the allocation pointed to by \fIptr\fR\&. .PP The +\fBnallocx\fR\fB\fR +returns the real size that would result from a successful equivalent +\fBmallocx\fR\fB\fR +function call, or zero if insufficient memory is available to perform the size computation\&. +.PP +The \fBmallctl\fR\fB\fR, \fBmallctlnametomib\fR\fB\fR, and \fBmallctlbymib\fR\fB\fR @@ -1363,12 +1500,6 @@ is too large or too small\&. Alternative is too large or too small; in this case as much data as possible are read despite the error\&. .RE .PP -ENOMEM -.RS 4 -\fI*oldlenp\fR -is too short to hold the requested value\&. -.RE -.PP ENOENT .RS 4 \fIname\fR @@ -1393,6 +1524,11 @@ An interface with side effects failed in \fBmallctl*\fR\fB\fR read/write processing\&. .RE +.PP +The +\fBmalloc_usable_size\fR\fB\fR +function returns the usable size of the allocation pointed to by +\fIptr\fR\&. .SS "Experimental API" .PP The @@ -1501,6 +1637,10 @@ The \fBmallctl*\fR\fB\fR, and \fB*allocm\fR\fB\fR functions first appeared in FreeBSD 10\&.0\&. +.PP +The +\fB*allocx\fR\fB\fR +functions first appeared in FreeBSD 11\&.0\&. .SH "AUTHOR" .PP \fBJason Evans\fR Modified: projects/elftoolchain/contrib/jemalloc/include/jemalloc/internal/arena.h ============================================================================== --- projects/elftoolchain/contrib/jemalloc/include/jemalloc/internal/arena.h Sat Jan 25 13:53:46 2014 (r261158) +++ projects/elftoolchain/contrib/jemalloc/include/jemalloc/internal/arena.h Sat Jan 25 14:02:02 2014 (r261159) @@ -158,6 +158,7 @@ struct arena_chunk_map_s { }; *** DIFF OUTPUT TRUNCATED AT 1000 LINES ***