From owner-svn-src-user@FreeBSD.ORG Sun Jun 12 09:18:48 2011 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id A31AD106566C; Sun, 12 Jun 2011 09:18:48 +0000 (UTC) (envelope-from adrian@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 92AF68FC13; Sun, 12 Jun 2011 09:18:48 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p5C9Imr1016562; Sun, 12 Jun 2011 09:18:48 GMT (envelope-from adrian@svn.freebsd.org) Received: (from adrian@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id p5C9Immf016557; Sun, 12 Jun 2011 09:18:48 GMT (envelope-from adrian@svn.freebsd.org) Message-Id: <201106120918.p5C9Immf016557@svn.freebsd.org> From: Adrian Chadd Date: Sun, 12 Jun 2011 09:18:48 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r223004 - user/adrian/if_ath_tx/sys/dev/ath X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 12 Jun 2011 09:18:48 -0000 Author: adrian Date: Sun Jun 12 09:18:48 2011 New Revision: 223004 URL: http://svn.freebsd.org/changeset/base/223004 Log: Add code to flush the software queues whenever the interface is reset. * Add functionality to flush all software-queued packets for a TID. * Add a function to drain all software queued packets for the given node * Add a function that drains all software queued packets for the given interface - so, all nodes for all vaps. This is needed because now that packets are on the sw q as well as hw q, an interface reset, channel change, etc can result in software queued packets whose rate control bits now don't match what the channel is setup for. For example, during scan, the interface is in a non-ht40 mode and any ht/40 packets queued to it will end up annoying the baseband. ath_vap_delete() also deleted all entries from the hw and sw txq's; it's possible we could get away with only flushing entries for the given vap's sw tx queues. Maybe I'll do that later. Note: I've discovered no node locking is done, so the rate control code is likely still racy. Blah. Finally, I'm not sure if the ieee80211 common lock should be held when iterating like this over the nodes. It doesn't seem so - it isn't held at the moment. I'm still concerned about subtle race conditions with the TX path and other things such as scan and interface reset. I'll do some further digging later as it seems that breaking out the TX path into said software queue has made some racy stuff a little more .. obvious. Modified: user/adrian/if_ath_tx/sys/dev/ath/if_ath.c user/adrian/if_ath_tx/sys/dev/ath/if_ath_misc.h user/adrian/if_ath_tx/sys/dev/ath/if_ath_tx.c user/adrian/if_ath_tx/sys/dev/ath/if_ath_tx.h Modified: user/adrian/if_ath_tx/sys/dev/ath/if_ath.c ============================================================================== --- user/adrian/if_ath_tx/sys/dev/ath/if_ath.c Sun Jun 12 02:05:59 2011 (r223003) +++ user/adrian/if_ath_tx/sys/dev/ath/if_ath.c Sun Jun 12 09:18:48 2011 (r223004) @@ -175,7 +175,6 @@ static void ath_tx_cleanup(struct ath_so static void ath_tx_proc_q0(void *, int); static void ath_tx_proc_q0123(void *, int); static void ath_tx_proc(void *, int); -static void ath_tx_draintxq(struct ath_softc *, struct ath_txq *); static int ath_chan_set(struct ath_softc *, struct ieee80211_channel *); static void ath_draintxq(struct ath_softc *); static void ath_stoprecv(struct ath_softc *); @@ -202,6 +201,7 @@ static void ath_setcurmode(struct ath_so static void ath_announce(struct ath_softc *); static void ath_dfs_tasklet(void *, int); +static void ath_sc_flushtxq(struct ath_softc *sc); #ifdef IEEE80211_SUPPORT_TDMA static void ath_tdma_settimers(struct ath_softc *sc, u_int32_t nexttbtt, @@ -1130,7 +1130,8 @@ ath_vap_delete(struct ieee80211vap *vap) * the vap state by any frames pending on the tx queues. */ ath_hal_intrset(ah, 0); /* disable interrupts */ - ath_draintxq(sc); /* stop xmit side */ + ath_draintxq(sc); /* stop hw xmit side */ + ath_sc_flushtxq(sc); /* drain sw xmit side */ ath_stoprecv(sc); /* stop recv side */ } @@ -1678,6 +1679,7 @@ ath_stop_locked(struct ifnet *ifp) ath_hal_intrset(ah, 0); } ath_draintxq(sc); + ath_sc_flushtxq(sc); /* drain sw xmit side */ if (!sc->sc_invalid) { ath_stoprecv(sc); ath_hal_phydisable(ah); @@ -1714,6 +1716,7 @@ ath_reset(struct ifnet *ifp) ath_hal_intrset(ah, 0); /* disable interrupts */ ath_draintxq(sc); /* stop xmit side */ + ath_sc_flushtxq(sc); /* drain sw xmit side */ ath_stoprecv(sc); /* stop recv side */ ath_settkipmic(sc); /* configure TKIP MIC handling */ /* NB: indicate channel change so we do a full reset */ @@ -4204,13 +4207,43 @@ ath_tx_proc(void *arg, int npending) ath_start(ifp); } -static void +/* + * This is currently used by ath_tx_draintxq() and + * ath_tx_tid_free_pkts(). + * + * It recycles a single ath_buf. + */ +void +ath_tx_buf_drainone(struct ath_softc *sc, struct ath_buf *bf) +{ + struct ieee80211_node *ni; + + bus_dmamap_unload(sc->sc_dmat, bf->bf_dmamap); + ni = bf->bf_node; + bf->bf_node = NULL; + if (ni != NULL) { + /* + * Do any callback and reclaim the node reference. + */ + if (bf->bf_m->m_flags & M_TXCB) + ieee80211_process_callback(ni, bf->bf_m, -1); + ieee80211_free_node(ni); + } + m_freem(bf->bf_m); + bf->bf_m = NULL; + bf->bf_flags &= ~ATH_BUF_BUSY; + + ATH_TXBUF_LOCK(sc); + STAILQ_INSERT_TAIL(&sc->sc_txbuf, bf, bf_list); + ATH_TXBUF_UNLOCK(sc); +} + +void ath_tx_draintxq(struct ath_softc *sc, struct ath_txq *txq) { #ifdef ATH_DEBUG struct ath_hal *ah = sc->sc_ah; #endif - struct ieee80211_node *ni; struct ath_buf *bf; u_int ix; @@ -4244,24 +4277,7 @@ ath_tx_draintxq(struct ath_softc *sc, st bf->bf_m->m_len, 0, -1); } #endif /* ATH_DEBUG */ - bus_dmamap_unload(sc->sc_dmat, bf->bf_dmamap); - ni = bf->bf_node; - bf->bf_node = NULL; - if (ni != NULL) { - /* - * Do any callback and reclaim the node reference. - */ - if (bf->bf_m->m_flags & M_TXCB) - ieee80211_process_callback(ni, bf->bf_m, -1); - ieee80211_free_node(ni); - } - m_freem(bf->bf_m); - bf->bf_m = NULL; - bf->bf_flags &= ~ATH_BUF_BUSY; - - ATH_TXBUF_LOCK(sc); - STAILQ_INSERT_TAIL(&sc->sc_txbuf, bf, bf_list); - ATH_TXBUF_UNLOCK(sc); + ath_tx_buf_drainone(sc, bf); } } @@ -4434,6 +4450,7 @@ ath_chan_set(struct ath_softc *sc, struc */ ath_hal_intrset(ah, 0); /* disable interrupts */ ath_draintxq(sc); /* clear pending tx frames */ + ath_sc_flushtxq(sc); /* drain sw xmit side */ ath_stoprecv(sc); /* turn off frame recv */ if (!ath_hal_reset(ah, sc->sc_opmode, chan, AH_TRUE, &status)) { if_printf(ifp, "%s: unable to reset " @@ -5731,5 +5748,38 @@ ath_dfs_tasklet(void *p, int npending) } } +/* + * Flush all software queued packets for the given VAP. + * + * The ieee80211 common lock should be held. + */ +static void +ath_vap_flush_node(void *arg, struct ieee80211_node *ni) +{ + struct ath_softc *sc = (struct ath_softc *) arg; + + ath_tx_node_flush(sc, ATH_NODE(ni)); +} + +/* + * Flush all software queued packets for the given sc. + * + * The ieee80211 common lock should be held. + */ +static void +ath_sc_flushtxq(struct ath_softc *sc) +{ + struct ieee80211com *ic = sc->sc_ifp->if_l2com; + + //IEEE80211_LOCK_ASSERT(ic); + /* Debug if we don't own the lock! */ + if (! mtx_owned(IEEE80211_LOCK_OBJ(ic))) { + device_printf(sc->sc_dev, "%s: comlock not owned?\n", + __func__); + } + + ieee80211_iterate_nodes(&ic->ic_sta, ath_vap_flush_node, sc); +} + MODULE_VERSION(if_ath, 1); MODULE_DEPEND(if_ath, wlan, 1, 1, 1); /* 802.11 media layer */ Modified: user/adrian/if_ath_tx/sys/dev/ath/if_ath_misc.h ============================================================================== --- user/adrian/if_ath_tx/sys/dev/ath/if_ath_misc.h Sun Jun 12 02:05:59 2011 (r223003) +++ user/adrian/if_ath_tx/sys/dev/ath/if_ath_misc.h Sun Jun 12 09:18:48 2011 (r223004) @@ -54,5 +54,7 @@ extern struct ath_buf * ath_getbuf(struc extern struct ath_buf * _ath_getbuf_locked(struct ath_softc *sc); extern int ath_reset(struct ifnet *); +extern void ath_tx_draintxq(struct ath_softc *sc, struct ath_txq *txq); +extern void ath_tx_buf_drainone(struct ath_softc *sc, struct ath_buf *bf); #endif Modified: user/adrian/if_ath_tx/sys/dev/ath/if_ath_tx.c ============================================================================== --- user/adrian/if_ath_tx/sys/dev/ath/if_ath_tx.c Sun Jun 12 02:05:59 2011 (r223003) +++ user/adrian/if_ath_tx/sys/dev/ath/if_ath_tx.c Sun Jun 12 09:18:48 2011 (r223004) @@ -1371,21 +1371,45 @@ ath_tx_tid_txq_unmark(struct ath_softc * * * Since net80211 shouldn't free the node until the last packets * have been sent, this function should never have to free any - * packets. + * packets when a node is freed. + * + * It can also be called on an active node during an interface + * reset or state transition. */ static void ath_tx_tid_free_pkts(struct ath_softc *sc, struct ath_node *an, int tid) { struct ath_tid *atid = &an->an_tid[tid]; - struct ieee80211_node *ni = &an->an_node; + struct ath_buf *bf; - /* XXX TODO */ - /* For now, just print a loud warning if it occurs */ - if (! STAILQ_EMPTY(&atid->axq_q)) - device_printf(sc->sc_dev, "%s: AID %d TID %d queue not " - "empty on queue destroy!\n", - __func__, ni->ni_associd, tid); + + /* Walk the queue, free frames */ + ATH_TXQ_LOCK(atid); + for (;;) { + bf = STAILQ_FIRST(&atid->axq_q); + if (bf == NULL) + break; + ATH_TXQ_REMOVE_HEAD(atid, bf_list); + ath_tx_buf_drainone(sc, bf); + } + ATH_TXQ_UNLOCK(atid); +} + +/* + * Flush all software queued packets for the given node. + * + * This protects ath_node behind ATH_LOCK for now. + */ +void +ath_tx_node_flush(struct ath_softc *sc, struct ath_node *an) +{ + int tid; + + ATH_LOCK(sc); + for (tid = 0; tid < IEEE80211_TID_SIZE; tid++) + ath_tx_tid_free_pkts(sc, an, tid); + ATH_UNLOCK(sc); } /* @@ -1399,11 +1423,19 @@ ath_tx_tid_cleanup(struct ath_softc *sc, { int i; struct ath_tid *atid; + struct ieee80211_node *ni = &an->an_node; for (i = 0; i < IEEE80211_TID_SIZE; i++) { atid = &an->an_tid[i]; /* Free packets in sw queue */ + /* For now, just print a loud warning if it occurs */ + ATH_TXQ_LOCK(atid); + if (! STAILQ_EMPTY(&atid->axq_q)) + device_printf(sc->sc_dev, "%s: AID %d TID %d queue not " + "empty on queue destroy!\n", + __func__, ni->ni_associd, i); + ATH_TXQ_UNLOCK(atid); ath_tx_tid_free_pkts(sc, an, i); /* Mark hw-queued packets as having no parent now */ Modified: user/adrian/if_ath_tx/sys/dev/ath/if_ath_tx.h ============================================================================== --- user/adrian/if_ath_tx/sys/dev/ath/if_ath_tx.h Sun Jun 12 02:05:59 2011 (r223003) +++ user/adrian/if_ath_tx/sys/dev/ath/if_ath_tx.h Sun Jun 12 09:18:48 2011 (r223004) @@ -32,6 +32,7 @@ #define __IF_ATH_TX_H__ extern void ath_freetx(struct mbuf *m); +extern void ath_tx_node_flush(struct ath_softc *sc, struct ath_node *an); extern void ath_txfrag_cleanup(struct ath_softc *sc, ath_bufhead *frags, struct ieee80211_node *ni); extern int ath_txfrag_setup(struct ath_softc *sc, ath_bufhead *frags, From owner-svn-src-user@FreeBSD.ORG Sun Jun 12 10:14:35 2011 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 8354C106566C; Sun, 12 Jun 2011 10:14:35 +0000 (UTC) (envelope-from adrian@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 743598FC20; Sun, 12 Jun 2011 10:14:35 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p5CAEZ0H018310; Sun, 12 Jun 2011 10:14:35 GMT (envelope-from adrian@svn.freebsd.org) Received: (from adrian@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id p5CAEZOm018307; Sun, 12 Jun 2011 10:14:35 GMT (envelope-from adrian@svn.freebsd.org) Message-Id: <201106121014.p5CAEZOm018307@svn.freebsd.org> From: Adrian Chadd Date: Sun, 12 Jun 2011 10:14:35 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r223006 - user/adrian/if_ath_tx/sys/dev/ath X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 12 Jun 2011 10:14:35 -0000 Author: adrian Date: Sun Jun 12 10:14:35 2011 New Revision: 223006 URL: http://svn.freebsd.org/changeset/base/223006 Log: * don't worry about logging the lack of comlock for now; I'll dig deeper soon * Don't hold the txq lock whilst freeing buffers; mirror what's done elsewhere when manipulating the txq. Modified: user/adrian/if_ath_tx/sys/dev/ath/if_ath.c user/adrian/if_ath_tx/sys/dev/ath/if_ath_tx.c Modified: user/adrian/if_ath_tx/sys/dev/ath/if_ath.c ============================================================================== --- user/adrian/if_ath_tx/sys/dev/ath/if_ath.c Sun Jun 12 10:13:48 2011 (r223005) +++ user/adrian/if_ath_tx/sys/dev/ath/if_ath.c Sun Jun 12 10:14:35 2011 (r223006) @@ -5771,12 +5771,14 @@ ath_sc_flushtxq(struct ath_softc *sc) { struct ieee80211com *ic = sc->sc_ifp->if_l2com; +#if 0 //IEEE80211_LOCK_ASSERT(ic); /* Debug if we don't own the lock! */ if (! mtx_owned(IEEE80211_LOCK_OBJ(ic))) { device_printf(sc->sc_dev, "%s: comlock not owned?\n", __func__); } +#endif ieee80211_iterate_nodes(&ic->ic_sta, ath_vap_flush_node, sc); } Modified: user/adrian/if_ath_tx/sys/dev/ath/if_ath_tx.c ============================================================================== --- user/adrian/if_ath_tx/sys/dev/ath/if_ath_tx.c Sun Jun 12 10:13:48 2011 (r223005) +++ user/adrian/if_ath_tx/sys/dev/ath/if_ath_tx.c Sun Jun 12 10:14:35 2011 (r223006) @@ -1385,15 +1385,17 @@ ath_tx_tid_free_pkts(struct ath_softc *s /* Walk the queue, free frames */ - ATH_TXQ_LOCK(atid); for (;;) { - bf = STAILQ_FIRST(&atid->axq_q); - if (bf == NULL) + ATH_TXQ_LOCK(atid); + bf = STAILQ_FIRST(&atid->axq_q); + if (bf == NULL) { + ATH_TXQ_UNLOCK(atid); break; + } ATH_TXQ_REMOVE_HEAD(atid, bf_list); + ATH_TXQ_UNLOCK(atid); ath_tx_buf_drainone(sc, bf); } - ATH_TXQ_UNLOCK(atid); } /* From owner-svn-src-user@FreeBSD.ORG Mon Jun 13 00:55:29 2011 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id A1A63106566B; Mon, 13 Jun 2011 00:55:29 +0000 (UTC) (envelope-from adrian@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 919588FC16; Mon, 13 Jun 2011 00:55:29 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p5D0tTNh048460; Mon, 13 Jun 2011 00:55:29 GMT (envelope-from adrian@svn.freebsd.org) Received: (from adrian@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id p5D0tT1T048456; Mon, 13 Jun 2011 00:55:29 GMT (envelope-from adrian@svn.freebsd.org) Message-Id: <201106130055.p5D0tT1T048456@svn.freebsd.org> From: Adrian Chadd Date: Mon, 13 Jun 2011 00:55:29 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r223028 - user/adrian/if_ath_tx/sys/dev/ath X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 13 Jun 2011 00:55:29 -0000 Author: adrian Date: Mon Jun 13 00:55:29 2011 New Revision: 223028 URL: http://svn.freebsd.org/changeset/base/223028 Log: Add new mutexes - one protecting the sc txqueue slist and one for ath_node Since ath_node now contains useful data that will be accessed concurrently, protect it with a mutex. Migrate the sc->sc_txnodeq out of ATH_LOCK and behind its own lock. Since the rate control logic uses state in ath_node (ie, "stuff" attached after it), add some mutexes to the rate control calls. It's likely the locking isn't completely correct yet. Modified: user/adrian/if_ath_tx/sys/dev/ath/if_ath.c user/adrian/if_ath_tx/sys/dev/ath/if_ath_tx.c user/adrian/if_ath_tx/sys/dev/ath/if_athvar.h Modified: user/adrian/if_ath_tx/sys/dev/ath/if_ath.c ============================================================================== --- user/adrian/if_ath_tx/sys/dev/ath/if_ath.c Sun Jun 12 23:45:46 2011 (r223027) +++ user/adrian/if_ath_tx/sys/dev/ath/if_ath.c Mon Jun 13 00:55:29 2011 (r223028) @@ -741,6 +741,9 @@ ath_attach(u_int16_t devid, struct ath_s /* Setup software TX queue related bits */ STAILQ_INIT(&sc->sc_txnodeq); + snprintf(sc->sc_txnodeq_name, sizeof(sc->sc_txnodeq_name), + "%s: txnodeq\n", device_get_nameunit(sc->sc_dev)); + ATH_TXNODE_LOCK_INIT(sc); if (bootverbose) ieee80211_announce(ic); @@ -793,6 +796,7 @@ ath_detach(struct ath_softc *sc) ath_desc_free(sc); ath_tx_cleanup(sc); ath_hal_detach(sc->sc_ah); /* NB: sets chip in full sleep */ + ATH_TXNODE_LOCK_DESTROY(sc); if_free(ifp); return 0; @@ -3120,6 +3124,11 @@ ath_node_alloc(struct ieee80211vap *vap, } ath_rate_node_init(sc, an); + /* Setup the mutex - there's no associd yet so set the name to NULL */ + snprintf(an->an_name, sizeof(an->an_name), "%s: node %p", + device_get_nameunit(sc->sc_dev), an); + mtx_init(&an->an_mtx, an->an_name, NULL, MTX_DEF); + /* XXX setup ath_tid */ ath_tx_tid_init(sc, an); @@ -3139,6 +3148,7 @@ ath_node_free(struct ieee80211_node *ni) ath_tx_tid_cleanup(sc, ATH_NODE(ni)); ath_rate_node_cleanup(sc, ATH_NODE(ni)); + mtx_destroy(&ATH_NODE(ni)->an_mtx); sc->sc_node_free(ni); } Modified: user/adrian/if_ath_tx/sys/dev/ath/if_ath_tx.c ============================================================================== --- user/adrian/if_ath_tx/sys/dev/ath/if_ath_tx.c Sun Jun 12 23:45:46 2011 (r223027) +++ user/adrian/if_ath_tx/sys/dev/ath/if_ath_tx.c Mon Jun 13 00:55:29 2011 (r223028) @@ -649,8 +649,10 @@ ath_tx_normal_setup(struct ath_softc *sc txrate |= rt->info[rix].shortPreamble; try0 = ATH_TXMAXTRY; /* XXX?too many? */ } else { + ATH_NODE_LOCK(an); ath_rate_findrate(sc, an, shortPreamble, pktlen, &rix, &try0, &txrate); + ATH_NODE_UNLOCK(an); sc->sc_txrix = rix; /* for LED blinking */ sc->sc_lastdatarix = rix; /* for fast frames */ if (try0 != ATH_TXMAXTRY) @@ -885,10 +887,12 @@ ath_tx_normal_setup(struct ath_softc *sc * we don't use it. */ if (ismrr) { + ATH_NODE_LOCK(an); if (ath_tx_is_11n(sc)) ath_rate_getxtxrates(sc, an, rix, rate, try); else ath_rate_setupxtxdesc(sc, an, ds, shortPreamble, rix); + ATH_NODE_UNLOCK(an); } if (ath_tx_is_11n(sc)) { @@ -1222,15 +1226,14 @@ bad: * This is done to make it easy for the software scheduler to * find which nodes have data to send. * - * This must be called with the ATH lock held. + * The node and txnode locks should be held. */ static void ath_tx_node_sched(struct ath_softc *sc, struct ath_node *an) { - /* - * XXX sched is serialised behind the ATH lock; not - * XXX a per-node lock. - */ + ATH_NODE_LOCK_ASSERT(an); + ATH_TXNODE_LOCK_ASSERT(sc); + if (an->sched) return; /* already scheduled */ @@ -1243,20 +1246,19 @@ ath_tx_node_sched(struct ath_softc *sc, * Mark the current node as no longer needing to be polled for * TX packets. * - * This must be called with the ATH lock held. + * The node and txnode locks should be held. */ static void ath_tx_node_unsched(struct ath_softc *sc, struct ath_node *an) { - /* - * XXX sched is serialised behind the ATH lock; not - * XXX a per-node lock. - */ + ATH_NODE_LOCK_ASSERT(an); + ATH_TXNODE_LOCK_ASSERT(sc); + if (an->sched == 0) return; - STAILQ_REMOVE(&sc->sc_txnodeq, an, ath_node, an_list); an->sched = 0; + STAILQ_REMOVE(&sc->sc_txnodeq, an, ath_node, an_list); } /* @@ -1302,13 +1304,18 @@ ath_tx_swq(struct ath_softc *sc, struct ATH_TXQ_UNLOCK(atid); - /* Mark the given node/tid as having packets to dequeue */ - ATH_LOCK(sc); + /* + * ATH_TXNODE must be acquired before ATH_NODE is acquired + * if they're both needed. + */ + ATH_TXNODE_LOCK(sc); + ATH_NODE_LOCK(an); /* Bump queued packet counter */ - /* XXX for now, an_qdepth is behind the ATH lock */ - atomic_add_int(&an->an_qdepth, 1); + an->an_qdepth++; + /* Mark the given node as having packets to dequeue */ ath_tx_node_sched(sc, an); - ATH_UNLOCK(sc); + ATH_NODE_UNLOCK(an); + ATH_TXNODE_UNLOCK(sc); } /* @@ -1375,6 +1382,8 @@ ath_tx_tid_txq_unmark(struct ath_softc * * * It can also be called on an active node during an interface * reset or state transition. + * + * This doesn't update an->an_qdepth! */ static void ath_tx_tid_free_pkts(struct ath_softc *sc, struct ath_node *an, @@ -1383,7 +1392,6 @@ ath_tx_tid_free_pkts(struct ath_softc *s struct ath_tid *atid = &an->an_tid[tid]; struct ath_buf *bf; - /* Walk the queue, free frames */ for (;;) { ATH_TXQ_LOCK(atid); @@ -1400,18 +1408,17 @@ ath_tx_tid_free_pkts(struct ath_softc *s /* * Flush all software queued packets for the given node. - * - * This protects ath_node behind ATH_LOCK for now. */ void ath_tx_node_flush(struct ath_softc *sc, struct ath_node *an) { int tid; - ATH_LOCK(sc); + ATH_NODE_LOCK(an); for (tid = 0; tid < IEEE80211_TID_SIZE; tid++) ath_tx_tid_free_pkts(sc, an, tid); - ATH_UNLOCK(sc); + an->an_qdepth = 0; + ATH_NODE_UNLOCK(an); } /* @@ -1444,7 +1451,11 @@ ath_tx_tid_cleanup(struct ath_softc *sc, ath_tx_tid_txq_unmark(sc, an, i); /* Remove any pending hardware TXQ scheduling */ + ATH_NODE_LOCK(an); + ATH_TXNODE_LOCK(sc); ath_tx_node_unsched(sc, an); + ATH_TXNODE_UNLOCK(sc); + ATH_NODE_UNLOCK(an); /* Free mutex */ mtx_destroy(&atid->axq_lock); @@ -1477,7 +1488,9 @@ ath_tx_tid_hw_queue(struct ath_softc *sc ATH_TXQ_UNLOCK(atid); /* Remove from queue */ - atomic_subtract_int(&an->an_qdepth, 1); + ATH_NODE_LOCK(an); + an->an_qdepth--; + ATH_NODE_UNLOCK(an); txq = bf->bf_state.bfs_txq; /* Sanity check! */ @@ -1519,6 +1532,7 @@ ath_tx_hw_queue(struct ath_softc *sc, st static int ath_txq_node_qlen(struct ath_softc *sc, struct ath_node *an) { + ATH_NODE_LOCK_ASSERT(an); return an->an_qdepth; } @@ -1531,17 +1545,17 @@ ath_txq_sched(struct ath_softc *sc) { struct ath_node *an, *next; - /* XXX I'm not happy the ATH lock is held for so long here */ - ATH_LOCK(sc); - + ATH_TXNODE_LOCK(sc); /* Iterate over the list of active nodes, queuing packets */ STAILQ_FOREACH_SAFE(an, &sc->sc_txnodeq, an_list, next) { /* Try dequeueing packets from the current node */ ath_tx_hw_queue(sc, an); /* Are any packets left on the node software queue? Remove */ + ATH_NODE_LOCK(an); if (! ath_txq_node_qlen(sc, an)) ath_tx_node_unsched(sc, an); + ATH_NODE_UNLOCK(an); } - ATH_UNLOCK(sc); + ATH_TXNODE_UNLOCK(sc); } Modified: user/adrian/if_ath_tx/sys/dev/ath/if_athvar.h ============================================================================== --- user/adrian/if_ath_tx/sys/dev/ath/if_athvar.h Sun Jun 12 23:45:46 2011 (r223027) +++ user/adrian/if_ath_tx/sys/dev/ath/if_athvar.h Mon Jun 13 00:55:29 2011 (r223028) @@ -94,7 +94,7 @@ struct ath_tid { STAILQ_HEAD(,ath_buf) axq_q; /* pending buffers */ u_int axq_depth; /* queue depth (stat only) */ struct mtx axq_lock; /* lock on queue, tx_buf */ - char axq_name[24]; /* e.g. "ath0_a1_t5" */ + char axq_name[24]; /* e.g. "wlan0_a1_t5" */ struct ath_buf *tx_buf[ATH_TID_MAX_BUFS]; /* active tx buffers, beginning at current BAW */ }; @@ -110,6 +110,8 @@ struct ath_node { struct ath_buf *an_ff_buf[WME_NUM_AC]; /* ff staging area */ struct ath_tid an_tid[IEEE80211_TID_SIZE]; /* per-TID state */ u_int an_qdepth; /* Current queue depth of all TIDs */ + char an_name[32]; /* eg "wlan0_a1" */ + struct mtx an_mtx; /* protecting the ath_node state */ /* variable-length rate control state follows */ }; #define ATH_NODE(ni) ((struct ath_node *)(ni)) @@ -204,6 +206,10 @@ struct ath_txq { char axq_name[12]; /* e.g. "ath0_txq4" */ }; +#define ATH_NODE_LOCK(_an) mtx_lock(&(_an)->an_mtx) +#define ATH_NODE_UNLOCK(_an) mtx_unlock(&(_an)->an_mtx) +#define ATH_NODE_LOCK_ASSERT(_an) mtx_assert(&(_an)->an_mtx, MA_OWNED) + #define ATH_TXQ_LOCK_INIT(_sc, _tq) do { \ snprintf((_tq)->axq_name, sizeof((_tq)->axq_name), "%s_txq%u", \ device_get_nameunit((_sc)->sc_dev), (_tq)->axq_qnum); \ @@ -403,7 +409,9 @@ struct ath_softc { struct task sc_dfstask; /* DFS processing task */ /* Software TX queue related state */ + struct mtx sc_txnodeq_mtx; /* mutex protecting the below */ STAILQ_HEAD(, ath_node) sc_txnodeq; /* Nodes which have traffic to send */ + char sc_txnodeq_name[16]; /* mutex name */ }; #define ATH_LOCK_INIT(_sc) \ @@ -414,6 +422,14 @@ struct ath_softc { #define ATH_UNLOCK(_sc) mtx_unlock(&(_sc)->sc_mtx) #define ATH_LOCK_ASSERT(_sc) mtx_assert(&(_sc)->sc_mtx, MA_OWNED) +#define ATH_TXNODE_LOCK_INIT(_sc) \ + mtx_init(&(_sc)->sc_txnodeq_mtx, (sc)->sc_txnodeq_name, \ + NULL, MTX_DEF | MTX_RECURSE) +#define ATH_TXNODE_LOCK_DESTROY(_sc) mtx_destroy(&(_sc)->sc_txnodeq_mtx) +#define ATH_TXNODE_LOCK(_sc) mtx_lock(&(_sc)->sc_txnodeq_mtx) +#define ATH_TXNODE_UNLOCK(_sc) mtx_unlock(&(_sc)->sc_txnodeq_mtx) +#define ATH_TXNODE_LOCK_ASSERT(_sc) mtx_assert(&(_sc)->sc_txnodeq_mtx, MA_OWNED) + #define ATH_TXQ_SETUP(sc, i) ((sc)->sc_txqsetup & (1< Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id B42C2106564A; Mon, 13 Jun 2011 01:30:18 +0000 (UTC) (envelope-from adrian@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id A4F758FC13; Mon, 13 Jun 2011 01:30:18 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p5D1UIsq049818; Mon, 13 Jun 2011 01:30:18 GMT (envelope-from adrian@svn.freebsd.org) Received: (from adrian@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id p5D1UIQS049816; Mon, 13 Jun 2011 01:30:18 GMT (envelope-from adrian@svn.freebsd.org) Message-Id: <201106130130.p5D1UIQS049816@svn.freebsd.org> From: Adrian Chadd Date: Mon, 13 Jun 2011 01:30:18 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r223030 - user/adrian/if_ath_tx/sys/dev/ath X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 13 Jun 2011 01:30:18 -0000 Author: adrian Date: Mon Jun 13 01:30:18 2011 New Revision: 223030 URL: http://svn.freebsd.org/changeset/base/223030 Log: Fix another LOR. Modified: user/adrian/if_ath_tx/sys/dev/ath/if_ath_tx.c Modified: user/adrian/if_ath_tx/sys/dev/ath/if_ath_tx.c ============================================================================== --- user/adrian/if_ath_tx/sys/dev/ath/if_ath_tx.c Mon Jun 13 01:04:00 2011 (r223029) +++ user/adrian/if_ath_tx/sys/dev/ath/if_ath_tx.c Mon Jun 13 01:30:18 2011 (r223030) @@ -1451,11 +1451,11 @@ ath_tx_tid_cleanup(struct ath_softc *sc, ath_tx_tid_txq_unmark(sc, an, i); /* Remove any pending hardware TXQ scheduling */ - ATH_NODE_LOCK(an); ATH_TXNODE_LOCK(sc); + ATH_NODE_LOCK(an); ath_tx_node_unsched(sc, an); - ATH_TXNODE_UNLOCK(sc); ATH_NODE_UNLOCK(an); + ATH_TXNODE_UNLOCK(sc); /* Free mutex */ mtx_destroy(&atid->axq_lock); From owner-svn-src-user@FreeBSD.ORG Mon Jun 13 02:23:52 2011 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 19EF3106566C; Mon, 13 Jun 2011 02:23:52 +0000 (UTC) (envelope-from adrian@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 0A76D8FC14; Mon, 13 Jun 2011 02:23:52 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p5D2NpX4051463; Mon, 13 Jun 2011 02:23:51 GMT (envelope-from adrian@svn.freebsd.org) Received: (from adrian@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id p5D2NpkN051461; Mon, 13 Jun 2011 02:23:51 GMT (envelope-from adrian@svn.freebsd.org) Message-Id: <201106130223.p5D2NpkN051461@svn.freebsd.org> From: Adrian Chadd Date: Mon, 13 Jun 2011 02:23:51 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r223031 - user/adrian/if_ath_tx/sys/dev/ath X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 13 Jun 2011 02:23:52 -0000 Author: adrian Date: Mon Jun 13 02:23:51 2011 New Revision: 223031 URL: http://svn.freebsd.org/changeset/base/223031 Log: Fix another LOR, this time with the IEEE80211_NODE_LOCK() (node table lock.) free_pkts() would eventually free the last node reference, causing the node to be removed from the node table. This required the node table lock to be held. Modified: user/adrian/if_ath_tx/sys/dev/ath/if_ath_tx.c Modified: user/adrian/if_ath_tx/sys/dev/ath/if_ath_tx.c ============================================================================== --- user/adrian/if_ath_tx/sys/dev/ath/if_ath_tx.c Mon Jun 13 01:30:18 2011 (r223030) +++ user/adrian/if_ath_tx/sys/dev/ath/if_ath_tx.c Mon Jun 13 02:23:51 2011 (r223031) @@ -1414,9 +1414,16 @@ ath_tx_node_flush(struct ath_softc *sc, { int tid; - ATH_NODE_LOCK(an); for (tid = 0; tid < IEEE80211_TID_SIZE; tid++) ath_tx_tid_free_pkts(sc, an, tid); + + /* + * Don't hold the node lock across free_pkts; + * freeing buffers may release the node and + * that will acquire the IEEE80211_NODE_LOCK (node table). + * That then causes a lock reversal. + */ + ATH_NODE_LOCK(an); an->an_qdepth = 0; ATH_NODE_UNLOCK(an); } From owner-svn-src-user@FreeBSD.ORG Mon Jun 13 05:34:09 2011 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 03B1E106564A; Mon, 13 Jun 2011 05:34:09 +0000 (UTC) (envelope-from adrian@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id E79328FC13; Mon, 13 Jun 2011 05:34:08 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p5D5Y89m057689; Mon, 13 Jun 2011 05:34:08 GMT (envelope-from adrian@svn.freebsd.org) Received: (from adrian@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id p5D5Y8gX057683; Mon, 13 Jun 2011 05:34:08 GMT (envelope-from adrian@svn.freebsd.org) Message-Id: <201106130534.p5D5Y8gX057683@svn.freebsd.org> From: Adrian Chadd Date: Mon, 13 Jun 2011 05:34:08 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r223036 - in user/adrian/if_ath_tx/sys: dev/ath net80211 X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 13 Jun 2011 05:34:09 -0000 Author: adrian Date: Mon Jun 13 05:34:08 2011 New Revision: 223036 URL: http://svn.freebsd.org/changeset/base/223036 Log: Expose the default ampdu TX methods for use by ath(4). The (current) aim is to leverage the existing per-TID AMPDU TX handling (negotiation, BAR/BAW tracking and handling, etc) and to simply handle the packet TX, BA response handling and retransmission in the ath(4) driver. The timeout call also should be turned into a callback so the ath(4) code can trap it and remove the TID queue pause. Modified: user/adrian/if_ath_tx/sys/dev/ath/if_ath.c user/adrian/if_ath_tx/sys/dev/ath/if_ath_tx.c user/adrian/if_ath_tx/sys/dev/ath/if_ath_tx.h user/adrian/if_ath_tx/sys/net80211/ieee80211_ht.c user/adrian/if_ath_tx/sys/net80211/ieee80211_ht.h Modified: user/adrian/if_ath_tx/sys/dev/ath/if_ath.c ============================================================================== --- user/adrian/if_ath_tx/sys/dev/ath/if_ath.c Mon Jun 13 05:22:07 2011 (r223035) +++ user/adrian/if_ath_tx/sys/dev/ath/if_ath.c Mon Jun 13 05:34:08 2011 (r223036) @@ -644,6 +644,10 @@ ath_attach(u_int16_t devid, struct ath_s | IEEE80211_HTCAP_SMPS_OFF; /* SM power save off */ ; + ic->ic_addba_request = ath_addba_request; + ic->ic_addba_response = ath_addba_response; + ic->ic_addba_stop = ath_addba_stop; + /* * Enable short-GI for HT20 only if the hardware * advertises support. Modified: user/adrian/if_ath_tx/sys/dev/ath/if_ath_tx.c ============================================================================== --- user/adrian/if_ath_tx/sys/dev/ath/if_ath_tx.c Mon Jun 13 05:22:07 2011 (r223035) +++ user/adrian/if_ath_tx/sys/dev/ath/if_ath_tx.c Mon Jun 13 05:34:08 2011 (r223036) @@ -77,6 +77,7 @@ __FBSDID("$FreeBSD$"); #ifdef IEEE80211_SUPPORT_TDMA #include #endif +#include #include @@ -1566,3 +1567,54 @@ ath_txq_sched(struct ath_softc *sc) } ATH_TXNODE_UNLOCK(sc); } + + + +/* + * TX addba handling + */ + +/* + * Method to handle sending an ADDBA request. + * + * We tap this so the relevant flags can be set to pause the TID + * whilst waiting for the response. + * + * XXX there's no timeout handler we can override? + */ +int +ath_addba_request(struct ieee80211_node *ni, struct ieee80211_tx_ampdu *tap, + int dialogtoken, int baparamset, int batimeout) +{ + return ieee80211_addba_request(ni, tap, dialogtoken, baparamset, + batimeout); +} + +/* + * Handle an ADDBA response. + * + * We unpause the queue so TX'ing can resume. + * + * Any packets TX'ed from this point should be "aggregate" (whether + * aggregate or not) so the BAW is updated. + */ +int +ath_addba_response(struct ieee80211_node *ni, struct ieee80211_tx_ampdu *tap, + int dialogtoken, int code, int batimeout) +{ + return ieee80211_addba_request(ni, tap, dialogtoken, code, batimeout); +} + + +/* + * Stop ADDBA on a queue. + * + * In theory, queued ath_bufs should be turned back into non-aggregate + * buffers. I'm not sure what to do about packets currently queued + * to the hardware. + */ +void +ath_addba_stop(struct ieee80211_node *ni, struct ieee80211_tx_ampdu *tap) +{ + ieee80211_addba_stop(ni, tap); +} Modified: user/adrian/if_ath_tx/sys/dev/ath/if_ath_tx.h ============================================================================== --- user/adrian/if_ath_tx/sys/dev/ath/if_ath_tx.h Mon Jun 13 05:22:07 2011 (r223035) +++ user/adrian/if_ath_tx/sys/dev/ath/if_ath_tx.h Mon Jun 13 05:34:08 2011 (r223036) @@ -52,5 +52,14 @@ extern void ath_tx_tid_hw_queue(struct a extern void ath_tx_hw_queue(struct ath_softc *sc, struct ath_node *an); extern void ath_txq_sched(struct ath_softc *sc); +/* TX addba handling */ +extern int ath_addba_request(struct ieee80211_node *ni, + struct ieee80211_tx_ampdu *tap, int dialogtoken, + int baparamset, int batimeout); +extern int ath_addba_response(struct ieee80211_node *ni, + struct ieee80211_tx_ampdu *tap, int dialogtoken, + int code, int batimeout); +extern void ath_addba_stop(struct ieee80211_node *ni, + struct ieee80211_tx_ampdu *tap); #endif Modified: user/adrian/if_ath_tx/sys/net80211/ieee80211_ht.c ============================================================================== --- user/adrian/if_ath_tx/sys/net80211/ieee80211_ht.c Mon Jun 13 05:22:07 2011 (r223035) +++ user/adrian/if_ath_tx/sys/net80211/ieee80211_ht.c Mon Jun 13 05:34:08 2011 (r223036) @@ -209,14 +209,7 @@ SYSINIT(wlan_ht, SI_SUB_DRIVERS, SI_ORDE static int ieee80211_ampdu_enable(struct ieee80211_node *ni, struct ieee80211_tx_ampdu *tap); -static int ieee80211_addba_request(struct ieee80211_node *ni, - struct ieee80211_tx_ampdu *tap, - int dialogtoken, int baparamset, int batimeout); -static int ieee80211_addba_response(struct ieee80211_node *ni, - struct ieee80211_tx_ampdu *tap, - int code, int baparamset, int batimeout); -static void ieee80211_addba_stop(struct ieee80211_node *ni, - struct ieee80211_tx_ampdu *tap); + static void ieee80211_bar_response(struct ieee80211_node *ni, struct ieee80211_tx_ampdu *tap, int status); static void ampdu_tx_stop(struct ieee80211_tx_ampdu *tap); @@ -1726,7 +1719,7 @@ addba_stop_timeout(struct ieee80211_tx_a * We setup the specified state block and start a timer * to wait for an ADDBA response frame. */ -static int +int ieee80211_addba_request(struct ieee80211_node *ni, struct ieee80211_tx_ampdu *tap, int dialogtoken, int baparamset, int batimeout) @@ -1748,7 +1741,7 @@ ieee80211_addba_request(struct ieee80211 * response. We shutdown any pending timer and update the * state block according to the reply. */ -static int +int ieee80211_addba_response(struct ieee80211_node *ni, struct ieee80211_tx_ampdu *tap, int status, int baparamset, int batimeout) @@ -1777,7 +1770,7 @@ ieee80211_addba_response(struct ieee8021 * Default method for stopping A-MPDU tx aggregation. * Any timer is cleared and we drain any pending frames. */ -static void +void ieee80211_addba_stop(struct ieee80211_node *ni, struct ieee80211_tx_ampdu *tap) { /* XXX locking */ Modified: user/adrian/if_ath_tx/sys/net80211/ieee80211_ht.h ============================================================================== --- user/adrian/if_ath_tx/sys/net80211/ieee80211_ht.h Mon Jun 13 05:22:07 2011 (r223035) +++ user/adrian/if_ath_tx/sys/net80211/ieee80211_ht.h Mon Jun 13 05:34:08 2011 (r223036) @@ -200,4 +200,14 @@ uint8_t *ieee80211_add_htinfo_vendor(uin struct ieee80211_beacon_offsets; void ieee80211_ht_update_beacon(struct ieee80211vap *, struct ieee80211_beacon_offsets *); + +int ieee80211_addba_request(struct ieee80211_node *ni, + struct ieee80211_tx_ampdu *tap, int dialogtoken, + int baparamset, int batimeout); +int ieee80211_addba_response(struct ieee80211_node *ni, + struct ieee80211_tx_ampdu *tap, int dialogtoken, + int code, int batimeout); +void ieee80211_addba_stop(struct ieee80211_node *ni, + struct ieee80211_tx_ampdu *tap); + #endif /* _NET80211_IEEE80211_HT_H_ */ From owner-svn-src-user@FreeBSD.ORG Mon Jun 13 06:38:01 2011 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id BF03E106564A; Mon, 13 Jun 2011 06:38:01 +0000 (UTC) (envelope-from adrian@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id AFA2B8FC15; Mon, 13 Jun 2011 06:38:01 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p5D6c1xP059624; Mon, 13 Jun 2011 06:38:01 GMT (envelope-from adrian@svn.freebsd.org) Received: (from adrian@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id p5D6c1WZ059622; Mon, 13 Jun 2011 06:38:01 GMT (envelope-from adrian@svn.freebsd.org) Message-Id: <201106130638.p5D6c1WZ059622@svn.freebsd.org> From: Adrian Chadd Date: Mon, 13 Jun 2011 06:38:01 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r223038 - user/adrian/if_ath_tx/sys/dev/ath/ath_rate/sample X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 13 Jun 2011 06:38:01 -0000 Author: adrian Date: Mon Jun 13 06:38:01 2011 New Revision: 223038 URL: http://svn.freebsd.org/changeset/base/223038 Log: Temporary hack - this way I can store the ieee80211_debug #define in opt_ah.h . This shouldn't be merged back into -HEAD. Modified: user/adrian/if_ath_tx/sys/dev/ath/ath_rate/sample/sample.c Modified: user/adrian/if_ath_tx/sys/dev/ath/ath_rate/sample/sample.c ============================================================================== --- user/adrian/if_ath_tx/sys/dev/ath/ath_rate/sample/sample.c Mon Jun 13 06:32:56 2011 (r223037) +++ user/adrian/if_ath_tx/sys/dev/ath/ath_rate/sample/sample.c Mon Jun 13 06:38:01 2011 (r223038) @@ -43,6 +43,7 @@ __FBSDID("$FreeBSD$"); */ #include "opt_inet.h" #include "opt_wlan.h" +#include "opt_ah.h" #include #include From owner-svn-src-user@FreeBSD.ORG Mon Jun 13 06:42:26 2011 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 562A5106564A; Mon, 13 Jun 2011 06:42:26 +0000 (UTC) (envelope-from adrian@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 3C0B48FC0A; Mon, 13 Jun 2011 06:42:26 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p5D6gQ6K059818; Mon, 13 Jun 2011 06:42:26 GMT (envelope-from adrian@svn.freebsd.org) Received: (from adrian@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id p5D6gQ5T059816; Mon, 13 Jun 2011 06:42:26 GMT (envelope-from adrian@svn.freebsd.org) Message-Id: <201106130642.p5D6gQ5T059816@svn.freebsd.org> From: Adrian Chadd Date: Mon, 13 Jun 2011 06:42:26 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r223039 - user/adrian/if_ath_tx/sys/dev/ath X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 13 Jun 2011 06:42:26 -0000 Author: adrian Date: Mon Jun 13 06:42:25 2011 New Revision: 223039 URL: http://svn.freebsd.org/changeset/base/223039 Log: Begin fleshing out the AMPDU pending/running logic. If AMPDU-TX negotiation is pending, packets for that given TID should not be transmitted but instead should be queued. Once the AMPDU-TX request/response has occured, packets should be dequeued. This is so that the initial negotiated BA start stays valid (hopefully!) until the end of the request/response exchange. The transmitter must not queue packets with incrementing seqnum's until that ADDBA exchange has completed. Once AMPDU-TX is established, it then doesn't matter if they're sent aggregated or not - any seqnum being sent updates the BAW. If this isn't done, then the sender may TX a packet (say an ARP request) between the BA request and BA response. Thus the BA window start negotiated as part of the ADDBA exchange doesn't match the seqnum of the first packet received after the ADDBA exchange (as the packet in-between has helpfully updated it for you), and you end up with a BA window that doesn't match. This isn't currently important as ampdu TX is still non-functional (the ath(4) driver doesn't add sequence numbers and doesn't update the BA window); this is just in prepration for that. Modified: user/adrian/if_ath_tx/sys/dev/ath/if_ath_tx.c Modified: user/adrian/if_ath_tx/sys/dev/ath/if_ath_tx.c ============================================================================== --- user/adrian/if_ath_tx/sys/dev/ath/if_ath_tx.c Mon Jun 13 06:38:01 2011 (r223038) +++ user/adrian/if_ath_tx/sys/dev/ath/if_ath_tx.c Mon Jun 13 06:42:25 2011 (r223039) @@ -100,6 +100,13 @@ __FBSDID("$FreeBSD$"); #include #include +static int ath_tx_ampdu_pending(struct ath_softc *sc, struct ath_node *an, + int tid); +#if 0 +static int ath_tx_ampdu_running(struct ath_softc *sc, struct ath_node *an, + int tid); +#endif + /* * Whether to use the 11n rate scenario functions or not */ @@ -1529,6 +1536,12 @@ ath_tx_hw_queue(struct ath_softc *sc, st */ for (i = 0; i < IEEE80211_TID_SIZE; i++) { atid = &an->an_tid[i]; + ATH_NODE_LOCK(an); + if (ath_tx_ampdu_pending(sc, an, i)) { + ATH_NODE_UNLOCK(an); + continue; + } + ATH_NODE_UNLOCK(an); ath_tx_tid_hw_queue(sc, an, i); } } @@ -1566,8 +1579,7 @@ ath_txq_sched(struct ath_softc *sc) ATH_NODE_UNLOCK(an); } ATH_TXNODE_UNLOCK(sc); -} - +} /* @@ -1575,6 +1587,73 @@ ath_txq_sched(struct ath_softc *sc) */ /* + * Return net80211 TID struct pointer, or NULL for none + */ +static struct ieee80211_tx_ampdu * +ath_tx_get_tx_tid(struct ath_node *an, int tid) +{ + struct ieee80211_node *ni = &an->an_node; + struct ieee80211_tx_ampdu *tap; + int ac; + + if (tid == IEEE80211_NONQOS_TID) + return 0; + + ac = TID_TO_WME_AC(tid); + + tap = &ni->ni_tx_ampdu[ac]; + return tap; +} + +#if 0 +/* + * Is AMPDU-TX running? + * + * The ATH_NODE lock must be held. + */ +static int +ath_tx_ampdu_running(struct ath_softc *sc, struct ath_node *an, int tid) +{ + struct ieee80211_tx_ampdu *tap; + + ATH_NODE_LOCK_ASSERT(an); + + tap = ath_tx_get_tx_tid(an, tid); + if (tap == NULL) + return 0; /* Not valid; default to not running */ + + return (tap->txa_flags & IEEE80211_AGGR_RUNNING); +} +#endif + +/* + * Is AMPDU-TX negotiation pending? + * + * The ATH_NODE lock must be held. + */ +static int +ath_tx_ampdu_pending(struct ath_softc *sc, struct ath_node *an, int tid) +{ + struct ieee80211_tx_ampdu *tap; + + ATH_NODE_LOCK_ASSERT(an); + + tap = ath_tx_get_tx_tid(an, tid); + if (tap == NULL) + return 0; /* Not valid; default to not pending */ + + return (tap->txa_flags & IEEE80211_AGGR_XCHGPEND); +} + + +/* + * Is AMPDU-TX pending for the given TID? + * + * The ATH_NODE lock must be held. + */ + + +/* * Method to handle sending an ADDBA request. * * We tap this so the relevant flags can be set to pause the TID From owner-svn-src-user@FreeBSD.ORG Mon Jun 13 06:42:44 2011 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id DD3851065674; Mon, 13 Jun 2011 06:42:44 +0000 (UTC) (envelope-from adrian@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id CE3708FC0C; Mon, 13 Jun 2011 06:42:44 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p5D6giCP059863; Mon, 13 Jun 2011 06:42:44 GMT (envelope-from adrian@svn.freebsd.org) Received: (from adrian@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id p5D6givn059861; Mon, 13 Jun 2011 06:42:44 GMT (envelope-from adrian@svn.freebsd.org) Message-Id: <201106130642.p5D6givn059861@svn.freebsd.org> From: Adrian Chadd Date: Mon, 13 Jun 2011 06:42:44 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r223040 - user/adrian/if_ath_tx/sys/modules/ath X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 13 Jun 2011 06:42:45 -0000 Author: adrian Date: Mon Jun 13 06:42:44 2011 New Revision: 223040 URL: http://svn.freebsd.org/changeset/base/223040 Log: Cheat - set IEEE80211_DEBUG in opt_ah.h for now. Modified: user/adrian/if_ath_tx/sys/modules/ath/Makefile Modified: user/adrian/if_ath_tx/sys/modules/ath/Makefile ============================================================================== --- user/adrian/if_ath_tx/sys/modules/ath/Makefile Mon Jun 13 06:42:25 2011 (r223039) +++ user/adrian/if_ath_tx/sys/modules/ath/Makefile Mon Jun 13 06:42:44 2011 (r223040) @@ -147,5 +147,6 @@ opt_ah.h: echo '#define ATH_DEBUG 1' >> $@ echo '#define ATH_DIAGAPI 1' >> $@ echo '#define ATH_ENABLE_11N 1' >> $@ + echo '#define IEEE80211_DEBUG 1' >> $@ .include From owner-svn-src-user@FreeBSD.ORG Mon Jun 13 11:30:22 2011 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id B1AD4106566B; Mon, 13 Jun 2011 11:30:22 +0000 (UTC) (envelope-from adrian@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 977D88FC12; Mon, 13 Jun 2011 11:30:22 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p5DBUMiM071236; Mon, 13 Jun 2011 11:30:22 GMT (envelope-from adrian@svn.freebsd.org) Received: (from adrian@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id p5DBUMHD071232; Mon, 13 Jun 2011 11:30:22 GMT (envelope-from adrian@svn.freebsd.org) Message-Id: <201106131130.p5DBUMHD071232@svn.freebsd.org> From: Adrian Chadd Date: Mon, 13 Jun 2011 11:30:22 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r223041 - user/adrian/if_ath_tx/sys/dev/ath X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 13 Jun 2011 11:30:22 -0000 Author: adrian Date: Mon Jun 13 11:30:22 2011 New Revision: 223041 URL: http://svn.freebsd.org/changeset/base/223041 Log: After being poked by bschmidt, don't go grovelling through net80211, instead just store the callbacks and use them. Modified: user/adrian/if_ath_tx/sys/dev/ath/if_ath.c user/adrian/if_ath_tx/sys/dev/ath/if_ath_tx.c user/adrian/if_ath_tx/sys/dev/ath/if_athvar.h Modified: user/adrian/if_ath_tx/sys/dev/ath/if_ath.c ============================================================================== --- user/adrian/if_ath_tx/sys/dev/ath/if_ath.c Mon Jun 13 06:42:44 2011 (r223040) +++ user/adrian/if_ath_tx/sys/dev/ath/if_ath.c Mon Jun 13 11:30:22 2011 (r223041) @@ -644,6 +644,10 @@ ath_attach(u_int16_t devid, struct ath_s | IEEE80211_HTCAP_SMPS_OFF; /* SM power save off */ ; + sc->sc_addba_request = ic->ic_addba_request; + sc->sc_addba_response = ic->ic_addba_response; + sc->sc_addba_stop = ic->ic_addba_stop; + ic->ic_addba_request = ath_addba_request; ic->ic_addba_response = ath_addba_response; ic->ic_addba_stop = ath_addba_stop; Modified: user/adrian/if_ath_tx/sys/dev/ath/if_ath_tx.c ============================================================================== --- user/adrian/if_ath_tx/sys/dev/ath/if_ath_tx.c Mon Jun 13 06:42:44 2011 (r223040) +++ user/adrian/if_ath_tx/sys/dev/ath/if_ath_tx.c Mon Jun 13 11:30:22 2011 (r223041) @@ -1665,7 +1665,8 @@ int ath_addba_request(struct ieee80211_node *ni, struct ieee80211_tx_ampdu *tap, int dialogtoken, int baparamset, int batimeout) { - return ieee80211_addba_request(ni, tap, dialogtoken, baparamset, + struct ath_softc *sc = ni->ni_ic->ic_ifp->if_softc; + return sc->sc_addba_request(ni, tap, dialogtoken, baparamset, batimeout); } @@ -1681,7 +1682,8 @@ int ath_addba_response(struct ieee80211_node *ni, struct ieee80211_tx_ampdu *tap, int dialogtoken, int code, int batimeout) { - return ieee80211_addba_request(ni, tap, dialogtoken, code, batimeout); + struct ath_softc *sc = ni->ni_ic->ic_ifp->if_softc; + return sc->sc_addba_request(ni, tap, dialogtoken, code, batimeout); } @@ -1695,5 +1697,6 @@ ath_addba_response(struct ieee80211_node void ath_addba_stop(struct ieee80211_node *ni, struct ieee80211_tx_ampdu *tap) { - ieee80211_addba_stop(ni, tap); + struct ath_softc *sc = ni->ni_ic->ic_ifp->if_softc; + sc->sc_addba_stop(ni, tap); } Modified: user/adrian/if_ath_tx/sys/dev/ath/if_athvar.h ============================================================================== --- user/adrian/if_ath_tx/sys/dev/ath/if_athvar.h Mon Jun 13 06:42:44 2011 (r223040) +++ user/adrian/if_ath_tx/sys/dev/ath/if_athvar.h Mon Jun 13 11:30:22 2011 (r223041) @@ -412,6 +412,14 @@ struct ath_softc { struct mtx sc_txnodeq_mtx; /* mutex protecting the below */ STAILQ_HEAD(, ath_node) sc_txnodeq; /* Nodes which have traffic to send */ char sc_txnodeq_name[16]; /* mutex name */ + + /* TX AMPDU handling */ + int (*sc_addba_request)(struct ieee80211_node *, + struct ieee80211_tx_ampdu *, int, int, int); + int (*sc_addba_response)(struct ieee80211_node *, + struct ieee80211_tx_ampdu *, int, int, int); + void (*sc_addba_stop)(struct ieee80211_node *, + struct ieee80211_tx_ampdu *); }; #define ATH_LOCK_INIT(_sc) \ From owner-svn-src-user@FreeBSD.ORG Mon Jun 13 12:13:48 2011 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 481B81065673; Mon, 13 Jun 2011 12:13:48 +0000 (UTC) (envelope-from adrian@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 37F428FC16; Mon, 13 Jun 2011 12:13:48 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p5DCDm90073481; Mon, 13 Jun 2011 12:13:48 GMT (envelope-from adrian@svn.freebsd.org) Received: (from adrian@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id p5DCDmQw073479; Mon, 13 Jun 2011 12:13:48 GMT (envelope-from adrian@svn.freebsd.org) Message-Id: <201106131213.p5DCDmQw073479@svn.freebsd.org> From: Adrian Chadd Date: Mon, 13 Jun 2011 12:13:48 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r223042 - user/adrian/if_ath_tx/sys/dev/ath X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 13 Jun 2011 12:13:48 -0000 Author: adrian Date: Mon Jun 13 12:13:47 2011 New Revision: 223042 URL: http://svn.freebsd.org/changeset/base/223042 Log: In prepration for breaking out the TX descriptor completion handling, begin breaking out some of the processing into helper functions. Modified: user/adrian/if_ath_tx/sys/dev/ath/if_ath.c Modified: user/adrian/if_ath_tx/sys/dev/ath/if_ath.c ============================================================================== --- user/adrian/if_ath_tx/sys/dev/ath/if_ath.c Mon Jun 13 11:30:22 2011 (r223041) +++ user/adrian/if_ath_tx/sys/dev/ath/if_ath.c Mon Jun 13 12:13:47 2011 (r223042) @@ -3976,6 +3976,76 @@ ath_tx_findrix(const struct ath_softc *s return (rix == 0xff ? 0 : rix); } +static void +ath_tx_freebuf(struct ath_softc *sc, struct ath_buf *bf) +{ + struct ath_buf *last; + + bus_dmamap_sync(sc->sc_dmat, bf->bf_dmamap, + BUS_DMASYNC_POSTWRITE); + bus_dmamap_unload(sc->sc_dmat, bf->bf_dmamap); + + m_freem(bf->bf_m); + bf->bf_m = NULL; + bf->bf_node = NULL; + + ATH_TXBUF_LOCK(sc); + last = STAILQ_LAST(&sc->sc_txbuf, ath_buf, bf_list); + if (last != NULL) + last->bf_flags &= ~ATH_BUF_BUSY; + STAILQ_INSERT_TAIL(&sc->sc_txbuf, bf, bf_list); + ATH_TXBUF_UNLOCK(sc); +} + +static void +ath_tx_update_stats(struct ath_softc *sc, struct ath_tx_status *ts, + struct ath_buf *bf) +{ + struct ieee80211_node *ni = bf->bf_node; + struct ifnet *ifp = sc->sc_ifp; + struct ieee80211com *ic = ifp->if_l2com; + int sr, lr, pri; + + if (ts->ts_status == 0) { + u_int8_t txant = ts->ts_antenna; + sc->sc_stats.ast_ant_tx[txant]++; + sc->sc_ant_tx[txant]++; + if (ts->ts_finaltsi != 0) + sc->sc_stats.ast_tx_altrate++; + pri = M_WME_GETAC(bf->bf_m); + if (pri >= WME_AC_VO) + ic->ic_wme.wme_hipri_traffic++; + if ((bf->bf_txflags & HAL_TXDESC_NOACK) == 0) + ni->ni_inact = ni->ni_inact_reload; + } else { + if (ts->ts_status & HAL_TXERR_XRETRY) + sc->sc_stats.ast_tx_xretries++; + if (ts->ts_status & HAL_TXERR_FIFO) + sc->sc_stats.ast_tx_fifoerr++; + if (ts->ts_status & HAL_TXERR_FILT) + sc->sc_stats.ast_tx_filtered++; + if (ts->ts_status & HAL_TXERR_XTXOP) + sc->sc_stats.ast_tx_xtxop++; + if (ts->ts_status & HAL_TXERR_TIMER_EXPIRED) + sc->sc_stats.ast_tx_timerexpired++; + + /* XXX HAL_TX_DATA_UNDERRUN */ + /* XXX HAL_TX_DELIM_UNDERRUN */ + + if (bf->bf_m->m_flags & M_FF) + sc->sc_stats.ast_ff_txerr++; + } + /* XXX when is this valid? */ + if (ts->ts_status & HAL_TX_DESC_CFG_ERR) + sc->sc_stats.ast_tx_desccfgerr++; + + sr = ts->ts_shortretry; + lr = ts->ts_longretry; + sc->sc_stats.ast_tx_shortretry += sr; + sc->sc_stats.ast_tx_longretry += lr; + +} + /* * Process completed xmit descriptors from the specified queue. */ @@ -3983,14 +4053,12 @@ static int ath_tx_processq(struct ath_softc *sc, struct ath_txq *txq) { struct ath_hal *ah = sc->sc_ah; - struct ifnet *ifp = sc->sc_ifp; - struct ieee80211com *ic = ifp->if_l2com; - struct ath_buf *bf, *last; + struct ath_buf *bf; struct ath_desc *ds, *ds0; struct ath_tx_status *ts; struct ieee80211_node *ni; struct ath_node *an; - int sr, lr, pri, nacked; + int nacked; HAL_STATUS status; DPRINTF(sc, ATH_DEBUG_TX_PROC, "%s: tx queue %u head %p link %p\n", @@ -4037,44 +4105,9 @@ ath_tx_processq(struct ath_softc *sc, st ni = bf->bf_node; if (ni != NULL) { - an = ATH_NODE(ni); - if (ts->ts_status == 0) { - u_int8_t txant = ts->ts_antenna; - sc->sc_stats.ast_ant_tx[txant]++; - sc->sc_ant_tx[txant]++; - if (ts->ts_finaltsi != 0) - sc->sc_stats.ast_tx_altrate++; - pri = M_WME_GETAC(bf->bf_m); - if (pri >= WME_AC_VO) - ic->ic_wme.wme_hipri_traffic++; - if ((bf->bf_txflags & HAL_TXDESC_NOACK) == 0) - ni->ni_inact = ni->ni_inact_reload; - } else { - if (ts->ts_status & HAL_TXERR_XRETRY) - sc->sc_stats.ast_tx_xretries++; - if (ts->ts_status & HAL_TXERR_FIFO) - sc->sc_stats.ast_tx_fifoerr++; - if (ts->ts_status & HAL_TXERR_FILT) - sc->sc_stats.ast_tx_filtered++; - if (ts->ts_status & HAL_TXERR_XTXOP) - sc->sc_stats.ast_tx_xtxop++; - if (ts->ts_status & HAL_TXERR_TIMER_EXPIRED) - sc->sc_stats.ast_tx_timerexpired++; - - /* XXX HAL_TX_DATA_UNDERRUN */ - /* XXX HAL_TX_DELIM_UNDERRUN */ + /* update statistics */ + ath_tx_update_stats(sc, ts, bf); - if (bf->bf_m->m_flags & M_FF) - sc->sc_stats.ast_ff_txerr++; - } - /* XXX when is this valid? */ - if (ts->ts_status & HAL_TX_DESC_CFG_ERR) - sc->sc_stats.ast_tx_desccfgerr++; - - sr = ts->ts_shortretry; - lr = ts->ts_longretry; - sc->sc_stats.ast_tx_shortretry += sr; - sc->sc_stats.ast_tx_longretry += lr; /* * Hand the descriptor to the rate control algorithm. */ @@ -4093,6 +4126,7 @@ ath_tx_processq(struct ath_softc *sc, st } ath_rate_tx_complete(sc, an, bf); } + /* * Do any tx complete callback. Note this must * be done before releasing the node reference. @@ -4103,20 +4137,9 @@ ath_tx_processq(struct ath_softc *sc, st ts->ts_status : HAL_TXERR_XRETRY); ieee80211_free_node(ni); } - bus_dmamap_sync(sc->sc_dmat, bf->bf_dmamap, - BUS_DMASYNC_POSTWRITE); - bus_dmamap_unload(sc->sc_dmat, bf->bf_dmamap); - - m_freem(bf->bf_m); - bf->bf_m = NULL; - bf->bf_node = NULL; - - ATH_TXBUF_LOCK(sc); - last = STAILQ_LAST(&sc->sc_txbuf, ath_buf, bf_list); - if (last != NULL) - last->bf_flags &= ~ATH_BUF_BUSY; - STAILQ_INSERT_TAIL(&sc->sc_txbuf, bf, bf_list); - ATH_TXBUF_UNLOCK(sc); + + /* Free the mbuf; recycle the ath_buf */ + ath_tx_freebuf(sc, bf); } #ifdef IEEE80211_SUPPORT_SUPERG /* From owner-svn-src-user@FreeBSD.ORG Mon Jun 13 12:23:45 2011 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id EBC491065670; Mon, 13 Jun 2011 12:23:45 +0000 (UTC) (envelope-from adrian@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id DC30C8FC0C; Mon, 13 Jun 2011 12:23:45 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p5DCNj0W073912; Mon, 13 Jun 2011 12:23:45 GMT (envelope-from adrian@svn.freebsd.org) Received: (from adrian@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id p5DCNj2P073909; Mon, 13 Jun 2011 12:23:45 GMT (envelope-from adrian@svn.freebsd.org) Message-Id: <201106131223.p5DCNj2P073909@svn.freebsd.org> From: Adrian Chadd Date: Mon, 13 Jun 2011 12:23:45 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r223043 - user/adrian/if_ath_tx/sys/dev/ath X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 13 Jun 2011 12:23:46 -0000 Author: adrian Date: Mon Jun 13 12:23:45 2011 New Revision: 223043 URL: http://svn.freebsd.org/changeset/base/223043 Log: Fix broken-ness introduced in my previous commit. Modified: user/adrian/if_ath_tx/sys/dev/ath/if_ath.c user/adrian/if_ath_tx/sys/dev/ath/if_ath_tx.c Modified: user/adrian/if_ath_tx/sys/dev/ath/if_ath.c ============================================================================== --- user/adrian/if_ath_tx/sys/dev/ath/if_ath.c Mon Jun 13 12:13:47 2011 (r223042) +++ user/adrian/if_ath_tx/sys/dev/ath/if_ath.c Mon Jun 13 12:23:45 2011 (r223043) @@ -4105,6 +4105,7 @@ ath_tx_processq(struct ath_softc *sc, st ni = bf->bf_node; if (ni != NULL) { + an = ATH_NODE(ni); /* update statistics */ ath_tx_update_stats(sc, ts, bf); Modified: user/adrian/if_ath_tx/sys/dev/ath/if_ath_tx.c ============================================================================== --- user/adrian/if_ath_tx/sys/dev/ath/if_ath_tx.c Mon Jun 13 12:13:47 2011 (r223042) +++ user/adrian/if_ath_tx/sys/dev/ath/if_ath_tx.c Mon Jun 13 12:23:45 2011 (r223043) @@ -1683,7 +1683,7 @@ ath_addba_response(struct ieee80211_node int dialogtoken, int code, int batimeout) { struct ath_softc *sc = ni->ni_ic->ic_ifp->if_softc; - return sc->sc_addba_request(ni, tap, dialogtoken, code, batimeout); + return sc->sc_addba_response(ni, tap, dialogtoken, code, batimeout); } From owner-svn-src-user@FreeBSD.ORG Mon Jun 13 13:21:12 2011 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id C4DDB106564A; Mon, 13 Jun 2011 13:21:12 +0000 (UTC) (envelope-from adrian@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 730538FC0C; Mon, 13 Jun 2011 13:21:12 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p5DDLCGC076024; Mon, 13 Jun 2011 13:21:12 GMT (envelope-from adrian@svn.freebsd.org) Received: (from adrian@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id p5DDLCNC076020; Mon, 13 Jun 2011 13:21:12 GMT (envelope-from adrian@svn.freebsd.org) Message-Id: <201106131321.p5DDLCNC076020@svn.freebsd.org> From: Adrian Chadd Date: Mon, 13 Jun 2011 13:21:12 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r223045 - user/adrian/if_ath_tx/sys/dev/ath X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 13 Jun 2011 13:21:12 -0000 Author: adrian Date: Mon Jun 13 13:21:12 2011 New Revision: 223045 URL: http://svn.freebsd.org/changeset/base/223045 Log: Reduce some duplicated code from ath_tx_processq() and the couple other places which unmap, free and call completion handlers for mbufs/ath_bufs. Modified: user/adrian/if_ath_tx/sys/dev/ath/if_ath.c user/adrian/if_ath_tx/sys/dev/ath/if_ath_misc.h user/adrian/if_ath_tx/sys/dev/ath/if_ath_tx.c Modified: user/adrian/if_ath_tx/sys/dev/ath/if_ath.c ============================================================================== --- user/adrian/if_ath_tx/sys/dev/ath/if_ath.c Mon Jun 13 12:45:19 2011 (r223044) +++ user/adrian/if_ath_tx/sys/dev/ath/if_ath.c Mon Jun 13 13:21:12 2011 (r223045) @@ -3977,27 +3977,6 @@ ath_tx_findrix(const struct ath_softc *s } static void -ath_tx_freebuf(struct ath_softc *sc, struct ath_buf *bf) -{ - struct ath_buf *last; - - bus_dmamap_sync(sc->sc_dmat, bf->bf_dmamap, - BUS_DMASYNC_POSTWRITE); - bus_dmamap_unload(sc->sc_dmat, bf->bf_dmamap); - - m_freem(bf->bf_m); - bf->bf_m = NULL; - bf->bf_node = NULL; - - ATH_TXBUF_LOCK(sc); - last = STAILQ_LAST(&sc->sc_txbuf, ath_buf, bf_list); - if (last != NULL) - last->bf_flags &= ~ATH_BUF_BUSY; - STAILQ_INSERT_TAIL(&sc->sc_txbuf, bf, bf_list); - ATH_TXBUF_UNLOCK(sc); -} - -static void ath_tx_update_stats(struct ath_softc *sc, struct ath_tx_status *ts, struct ath_buf *bf) { @@ -4127,20 +4106,15 @@ ath_tx_processq(struct ath_softc *sc, st } ath_rate_tx_complete(sc, an, bf); } - - /* - * Do any tx complete callback. Note this must - * be done before releasing the node reference. - */ - if (bf->bf_m->m_flags & M_TXCB) - ieee80211_process_callback(ni, bf->bf_m, - (bf->bf_txflags & HAL_TXDESC_NOACK) == 0 ? - ts->ts_status : HAL_TXERR_XRETRY); - ieee80211_free_node(ni); } - - /* Free the mbuf; recycle the ath_buf */ - ath_tx_freebuf(sc, bf); + /* + * Do any tx complete callback. Note this must + * be done before releasing the node reference. + * This will free the node as well. + */ + ath_tx_freebuf(sc, bf, + ((bf->bf_txflags & HAL_TXDESC_NOACK) == 0) ? + ts->ts_status : HAL_TXERR_XRETRY); } #ifdef IEEE80211_SUPPORT_SUPERG /* @@ -4256,7 +4230,7 @@ ath_tx_proc(void *arg, int npending) * It recycles a single ath_buf. */ void -ath_tx_buf_drainone(struct ath_softc *sc, struct ath_buf *bf) +ath_tx_freebuf(struct ath_softc *sc, struct ath_buf *bf, int status) { struct ieee80211_node *ni; @@ -4268,7 +4242,7 @@ ath_tx_buf_drainone(struct ath_softc *sc * Do any callback and reclaim the node reference. */ if (bf->bf_m->m_flags & M_TXCB) - ieee80211_process_callback(ni, bf->bf_m, -1); + ieee80211_process_callback(ni, bf->bf_m, status); ieee80211_free_node(ni); } m_freem(bf->bf_m); @@ -4319,7 +4293,7 @@ ath_tx_draintxq(struct ath_softc *sc, st bf->bf_m->m_len, 0, -1); } #endif /* ATH_DEBUG */ - ath_tx_buf_drainone(sc, bf); + ath_tx_freebuf(sc, bf, -1); } } Modified: user/adrian/if_ath_tx/sys/dev/ath/if_ath_misc.h ============================================================================== --- user/adrian/if_ath_tx/sys/dev/ath/if_ath_misc.h Mon Jun 13 12:45:19 2011 (r223044) +++ user/adrian/if_ath_tx/sys/dev/ath/if_ath_misc.h Mon Jun 13 13:21:12 2011 (r223045) @@ -55,6 +55,7 @@ extern struct ath_buf * _ath_getbuf_lock extern int ath_reset(struct ifnet *); extern void ath_tx_draintxq(struct ath_softc *sc, struct ath_txq *txq); -extern void ath_tx_buf_drainone(struct ath_softc *sc, struct ath_buf *bf); +extern void ath_tx_freebuf(struct ath_softc *sc, struct ath_buf *bf, + int status); #endif Modified: user/adrian/if_ath_tx/sys/dev/ath/if_ath_tx.c ============================================================================== --- user/adrian/if_ath_tx/sys/dev/ath/if_ath_tx.c Mon Jun 13 12:45:19 2011 (r223044) +++ user/adrian/if_ath_tx/sys/dev/ath/if_ath_tx.c Mon Jun 13 13:21:12 2011 (r223045) @@ -1410,7 +1410,7 @@ ath_tx_tid_free_pkts(struct ath_softc *s } ATH_TXQ_REMOVE_HEAD(atid, bf_list); ATH_TXQ_UNLOCK(atid); - ath_tx_buf_drainone(sc, bf); + ath_tx_freebuf(sc, bf, -1); } } From owner-svn-src-user@FreeBSD.ORG Mon Jun 13 13:40:12 2011 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id A8230106566B; Mon, 13 Jun 2011 13:40:12 +0000 (UTC) (envelope-from adrian@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 8DD9B8FC08; Mon, 13 Jun 2011 13:40:12 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p5DDeC9r077944; Mon, 13 Jun 2011 13:40:12 GMT (envelope-from adrian@svn.freebsd.org) Received: (from adrian@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id p5DDeClC077940; Mon, 13 Jun 2011 13:40:12 GMT (envelope-from adrian@svn.freebsd.org) Message-Id: <201106131340.p5DDeClC077940@svn.freebsd.org> From: Adrian Chadd Date: Mon, 13 Jun 2011 13:40:12 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r223048 - user/adrian/if_ath_tx/sys/dev/ath X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 13 Jun 2011 13:40:12 -0000 Author: adrian Date: Mon Jun 13 13:40:12 2011 New Revision: 223048 URL: http://svn.freebsd.org/changeset/base/223048 Log: Break out some more of the common TX completion handling code. Introduce a ath_buf completion handler. This will be set by the aggregation code to signal that it wants the buffer for further processing rather than simply free'ing it. It'll use this opportunity to check the BA if applicable, handle retries, etc. Modified: user/adrian/if_ath_tx/sys/dev/ath/if_ath.c user/adrian/if_ath_tx/sys/dev/ath/if_ath_misc.h user/adrian/if_ath_tx/sys/dev/ath/if_athvar.h Modified: user/adrian/if_ath_tx/sys/dev/ath/if_ath.c ============================================================================== --- user/adrian/if_ath_tx/sys/dev/ath/if_ath.c Mon Jun 13 13:28:31 2011 (r223047) +++ user/adrian/if_ath_tx/sys/dev/ath/if_ath.c Mon Jun 13 13:40:12 2011 (r223048) @@ -4025,6 +4025,21 @@ ath_tx_update_stats(struct ath_softc *sc } +void +ath_tx_default_comp(struct ath_softc *sc, struct ath_buf *bf) +{ + struct ath_tx_status *ts = &bf->bf_status.ds_txstat; + /* + * Do any tx complete callback. Note this must + * be done before releasing the node reference. + * This will free the mbuf, release the net80211 + * node and recycle the ath_buf. + */ + ath_tx_freebuf(sc, bf, + ((bf->bf_txflags & HAL_TXDESC_NOACK) == 0) ? + ts->ts_status : HAL_TXERR_XRETRY); +} + /* * Process completed xmit descriptors from the specified queue. */ @@ -4083,6 +4098,20 @@ ath_tx_processq(struct ath_softc *sc, st ATH_TXQ_UNLOCK(txq); ni = bf->bf_node; + /* + * If unicast frame was ack'd update RSSI, + * including the last rx time used to + * workaround phantom bmiss interrupts. + */ + if (ni != NULL && ts->ts_status == 0 && + ((bf->bf_txflags & HAL_TXDESC_NOACK) == 0)) { + nacked++; + sc->sc_stats.ast_tx_rssi = ts->ts_rssi; + ATH_RSSI_LPF(sc->sc_halstats.ns_avgtxrssi, + ts->ts_rssi); + } + + /* If unicast frame, update general statistics */ if (ni != NULL) { an = ATH_NODE(ni); /* update statistics */ @@ -4092,29 +4121,14 @@ ath_tx_processq(struct ath_softc *sc, st * Hand the descriptor to the rate control algorithm. */ if ((ts->ts_status & HAL_TXERR_FILT) == 0 && - (bf->bf_txflags & HAL_TXDESC_NOACK) == 0) { - /* - * If frame was ack'd update statistics, - * including the last rx time used to - * workaround phantom bmiss interrupts. - */ - if (ts->ts_status == 0) { - nacked++; - sc->sc_stats.ast_tx_rssi = ts->ts_rssi; - ATH_RSSI_LPF(sc->sc_halstats.ns_avgtxrssi, - ts->ts_rssi); - } + (bf->bf_txflags & HAL_TXDESC_NOACK) == 0) ath_rate_tx_complete(sc, an, bf); - } } - /* - * Do any tx complete callback. Note this must - * be done before releasing the node reference. - * This will free the node as well. - */ - ath_tx_freebuf(sc, bf, - ((bf->bf_txflags & HAL_TXDESC_NOACK) == 0) ? - ts->ts_status : HAL_TXERR_XRETRY); + + if (bf->bf_comp == NULL) + ath_tx_default_comp(sc, bf); + else + bf->bf_comp(sc, bf); } #ifdef IEEE80211_SUPPORT_SUPERG /* Modified: user/adrian/if_ath_tx/sys/dev/ath/if_ath_misc.h ============================================================================== --- user/adrian/if_ath_tx/sys/dev/ath/if_ath_misc.h Mon Jun 13 13:28:31 2011 (r223047) +++ user/adrian/if_ath_tx/sys/dev/ath/if_ath_misc.h Mon Jun 13 13:40:12 2011 (r223048) @@ -55,6 +55,7 @@ extern struct ath_buf * _ath_getbuf_lock extern int ath_reset(struct ifnet *); extern void ath_tx_draintxq(struct ath_softc *sc, struct ath_txq *txq); +extern void ath_tx_default_comp(struct ath_softc *sc, struct ath_buf *bf); extern void ath_tx_freebuf(struct ath_softc *sc, struct ath_buf *bf, int status); Modified: user/adrian/if_ath_tx/sys/dev/ath/if_athvar.h ============================================================================== --- user/adrian/if_ath_tx/sys/dev/ath/if_athvar.h Mon Jun 13 13:28:31 2011 (r223047) +++ user/adrian/if_ath_tx/sys/dev/ath/if_athvar.h Mon Jun 13 13:40:12 2011 (r223048) @@ -147,6 +147,9 @@ struct ath_buf { #define ATH_MAX_SCATTER ATH_TXDESC /* max(tx,rx,beacon) desc's */ bus_dma_segment_t bf_segs[ATH_MAX_SCATTER]; + /* Completion function to call on TX complete (fail or not) */ + void(* bf_comp) (struct ath_softc *sc, struct ath_buf *bf); + /* This state is kept to support software retries and aggregation */ struct { int bfs_pktlen; /* length of this packet */ From owner-svn-src-user@FreeBSD.ORG Tue Jun 14 15:45:42 2011 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 11EF5106566B; Tue, 14 Jun 2011 15:45:42 +0000 (UTC) (envelope-from luigi@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id DD4028FC0A; Tue, 14 Jun 2011 15:45:41 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p5EFjfg3041379; Tue, 14 Jun 2011 15:45:41 GMT (envelope-from luigi@svn.freebsd.org) Received: (from luigi@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id p5EFjfoE041378; Tue, 14 Jun 2011 15:45:41 GMT (envelope-from luigi@svn.freebsd.org) Message-Id: <201106141545.p5EFjfoE041378@svn.freebsd.org> From: Luigi Rizzo Date: Tue, 14 Jun 2011 15:45:41 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r223083 - user/luigi/netmap X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 14 Jun 2011 15:45:42 -0000 Author: luigi Date: Tue Jun 14 15:45:41 2011 New Revision: 223083 URL: http://svn.freebsd.org/changeset/base/223083 Log: work area in preparation for merging netmap Added: - copied from r223082, head/ Directory Properties: user/luigi/netmap/ (props changed) From owner-svn-src-user@FreeBSD.ORG Tue Jun 14 16:50:29 2011 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id BC77C10657D9; Tue, 14 Jun 2011 16:50:29 +0000 (UTC) (envelope-from adrian@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id ABBC08FC12; Tue, 14 Jun 2011 16:50:29 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p5EGoT0h043451; Tue, 14 Jun 2011 16:50:29 GMT (envelope-from adrian@svn.freebsd.org) Received: (from adrian@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id p5EGoTfA043447; Tue, 14 Jun 2011 16:50:29 GMT (envelope-from adrian@svn.freebsd.org) Message-Id: <201106141650.p5EGoTfA043447@svn.freebsd.org> From: Adrian Chadd Date: Tue, 14 Jun 2011 16:50:29 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r223087 - user/adrian/if_ath_tx/sys/dev/ath X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 14 Jun 2011 16:50:29 -0000 Author: adrian Date: Tue Jun 14 16:50:29 2011 New Revision: 223087 URL: http://svn.freebsd.org/changeset/base/223087 Log: Begin making ampdu tx work (but only with non-aggregate packets.) * the TID lookup using ieee80211_gettid() was wrong, instead use the AC from the mbuf and convert that to a TID. * Since A-MPDU TX packets aren't supposed to be stuffed on the cabq when the station is in PS mode, don't do that. Instead, we'll eventually handle this lter. * Move the eventual TXQ selection out to ath_tx_start(). * write a function to assign seqno's to A-MPDU TX frames. This works enough to TX non-aggregate frame in A-MPDU but it's missing a lot of support. In particular, BAR's aren't sent when the window needs shifting (because of a TX failure) and there's currently no logic to only queue frames which fit inside the BA window. There's also a problem with the initial sequence numbers used just after the ADDBA exchange, so there's a (large) BA window shift. That needs to be fixed. Modified: user/adrian/if_ath_tx/sys/dev/ath/if_ath_debug.h user/adrian/if_ath_tx/sys/dev/ath/if_ath_tx.c user/adrian/if_ath_tx/sys/dev/ath/if_ath_tx.h Modified: user/adrian/if_ath_tx/sys/dev/ath/if_ath_debug.h ============================================================================== --- user/adrian/if_ath_tx/sys/dev/ath/if_ath_debug.h Tue Jun 14 16:50:16 2011 (r223086) +++ user/adrian/if_ath_tx/sys/dev/ath/if_ath_debug.h Tue Jun 14 16:50:29 2011 (r223087) @@ -57,6 +57,7 @@ enum { ATH_DEBUG_TDMA = 0x00800000, /* TDMA processing */ ATH_DEBUG_TDMA_TIMER = 0x01000000, /* TDMA timer processing */ ATH_DEBUG_REGDOMAIN = 0x02000000, /* regulatory processing */ + ATH_DEBUG_SW_TX = 0x04000000, ATH_DEBUG_FATAL = 0x80000000, /* fatal errors */ ATH_DEBUG_ANY = 0xffffffff }; Modified: user/adrian/if_ath_tx/sys/dev/ath/if_ath_tx.c ============================================================================== --- user/adrian/if_ath_tx/sys/dev/ath/if_ath_tx.c Tue Jun 14 16:50:16 2011 (r223086) +++ user/adrian/if_ath_tx/sys/dev/ath/if_ath_tx.c Tue Jun 14 16:50:29 2011 (r223087) @@ -102,10 +102,10 @@ __FBSDID("$FreeBSD$"); static int ath_tx_ampdu_pending(struct ath_softc *sc, struct ath_node *an, int tid); -#if 0 static int ath_tx_ampdu_running(struct ath_softc *sc, struct ath_node *an, int tid); -#endif +static ieee80211_seq ath_tx_tid_seqno_assign(struct ath_softc *sc, + struct ieee80211_node *ni, struct ath_buf *bf, struct mbuf *m0); /* * Whether to use the 11n rate scenario functions or not @@ -922,21 +922,39 @@ ath_tx_start(struct ath_softc *sc, struc struct ath_vap *avp = ATH_VAP(vap); int r; u_int pri; + int tid; struct ath_txq *txq; int ismcast; const struct ieee80211_frame *wh; + int is_ampdu = 0; /* Determine the target hardware queue! */ pri = M_WME_GETAC(m0); /* honor classification */ + tid = WME_AC_TO_TID(pri); txq = sc->sc_ac2q[pri]; wh = mtod(m0, struct ieee80211_frame *); ismcast = IEEE80211_IS_MULTICAST(wh->i_addr1); - /* Multicast frames go onto the software multicat queue */ - if (ismcast && (vap->iv_ps_sta || avp->av_mcastq.axq_depth)) + /* A-MPDU TX */ + if ((ath_tx_ampdu_running(sc, ATH_NODE(ni), tid)) || + (ath_tx_ampdu_pending(sc, ATH_NODE(ni), tid))) + is_ampdu = 1; + + DPRINTF(sc, ATH_DEBUG_SW_TX, "%s: tid=%d, ac=%d, is_ampdu=%d\n", + __func__, tid, pri, is_ampdu); + + /* Multicast frames go onto the software multicast queue */ + if (ismcast) + txq = &avp->av_mcastq; + if ((! is_ampdu) && (vap->iv_ps_sta || avp->av_mcastq.axq_depth)) txq = &avp->av_mcastq; /* Do the generic frame setup */ + + /* A-MPDU TX? Manually set sequence number */ + if (is_ampdu) + (void) ath_tx_tid_seqno_assign(sc, ni, bf, m0); + /* This also sets up the DMA map */ r = ath_tx_normal_setup(sc, ni, bf, m0); @@ -951,7 +969,7 @@ ath_tx_start(struct ath_softc *sc, struc #if 1 /* add to software queue */ - ath_tx_swq(sc, ni, bf, m0); + ath_tx_swq(sc, ni, txq, bf, m0); #else /* @@ -1270,37 +1288,56 @@ ath_tx_node_unsched(struct ath_softc *sc } /* + * Assign a sequence number manually to the given frame. + * + * This should only be called for A-MPDU TX frames. + */ +static ieee80211_seq +ath_tx_tid_seqno_assign(struct ath_softc *sc, struct ieee80211_node *ni, + struct ath_buf *bf, struct mbuf *m0) +{ + struct ieee80211_frame *wh; + int tid, pri; + ieee80211_seq seqno; + + /* TID lookup */ + wh = mtod(m0, struct ieee80211_frame *); + pri = M_WME_GETAC(m0); /* honor classification */ + tid = WME_AC_TO_TID(pri); + + /* Does the packet require a sequence number? */ + if (! IEEE80211_QOS_HAS_SEQ(wh)) + return -1; + + /* Manually assign sequence number */ + seqno = ni->ni_txseqs[tid]++; + *(uint16_t *)&wh->i_seq[0] = htole16(seqno << IEEE80211_SEQ_SEQ_SHIFT); + M_SEQNO_SET(m0, seqno); + + /* Return so caller can do something with it if needed */ + return seqno; +} + + +/* * Queue the given packet on the relevant software queue. * * This however doesn't queue the packet to the hardware! */ void -ath_tx_swq(struct ath_softc *sc, struct ieee80211_node *ni, struct ath_buf *bf, - struct mbuf *m0) +ath_tx_swq(struct ath_softc *sc, struct ieee80211_node *ni, struct ath_txq *txq, + struct ath_buf *bf, struct mbuf *m0) { struct ath_node *an = ATH_NODE(ni); - struct ieee80211vap *vap = ni->ni_vap; struct ieee80211_frame *wh; - struct ath_vap *avp = ATH_VAP(vap); struct ath_tid *atid; - struct ath_txq *txq; /* eventual destination queue */ - int tid; - int ismcast; - u_int pri; + int pri, tid; /* Fetch the TID - non-QoS frames get assigned to TID 16 */ wh = mtod(m0, struct ieee80211_frame *); - tid = ieee80211_gettid(wh); - atid = &an->an_tid[tid]; - - /* Fetch the eventual destination queue */ pri = M_WME_GETAC(m0); /* honor classification */ - ismcast = IEEE80211_IS_MULTICAST(wh->i_addr1); - txq = sc->sc_ac2q[pri]; - - /* Handle mcast, or PS STA */ - if (ismcast && (vap->iv_ps_sta || avp->av_mcastq.axq_depth)) - txq = &avp->av_mcastq; + tid = WME_AC_TO_TID(pri); + atid = &an->an_tid[tid]; /* Set local packet state, used to queue packets to hardware */ bf->bf_state.bfs_tid = tid; @@ -1311,7 +1348,6 @@ ath_tx_swq(struct ath_softc *sc, struct ATH_TXQ_INSERT_TAIL(atid, bf, bf_list); ATH_TXQ_UNLOCK(atid); - /* * ATH_TXNODE must be acquired before ATH_NODE is acquired * if they're both needed. @@ -1605,7 +1641,6 @@ ath_tx_get_tx_tid(struct ath_node *an, i return tap; } -#if 0 /* * Is AMPDU-TX running? * @@ -1616,15 +1651,14 @@ ath_tx_ampdu_running(struct ath_softc *s { struct ieee80211_tx_ampdu *tap; - ATH_NODE_LOCK_ASSERT(an); + //ATH_NODE_LOCK_ASSERT(an); tap = ath_tx_get_tx_tid(an, tid); if (tap == NULL) return 0; /* Not valid; default to not running */ - return (tap->txa_flags & IEEE80211_AGGR_RUNNING); + return !! (tap->txa_flags & IEEE80211_AGGR_RUNNING); } -#endif /* * Is AMPDU-TX negotiation pending? @@ -1636,13 +1670,13 @@ ath_tx_ampdu_pending(struct ath_softc *s { struct ieee80211_tx_ampdu *tap; - ATH_NODE_LOCK_ASSERT(an); + //ATH_NODE_LOCK_ASSERT(an); tap = ath_tx_get_tx_tid(an, tid); if (tap == NULL) return 0; /* Not valid; default to not pending */ - return (tap->txa_flags & IEEE80211_AGGR_XCHGPEND); + return !! (tap->txa_flags & IEEE80211_AGGR_XCHGPEND); } Modified: user/adrian/if_ath_tx/sys/dev/ath/if_ath_tx.h ============================================================================== --- user/adrian/if_ath_tx/sys/dev/ath/if_ath_tx.h Tue Jun 14 16:50:16 2011 (r223086) +++ user/adrian/if_ath_tx/sys/dev/ath/if_ath_tx.h Tue Jun 14 16:50:29 2011 (r223087) @@ -44,7 +44,7 @@ extern int ath_raw_xmit(struct ieee80211 /* software queue stuff */ extern void ath_tx_swq(struct ath_softc *sc, struct ieee80211_node *ni, - struct ath_buf *bf, struct mbuf *m0); + struct ath_txq *txq, struct ath_buf *bf, struct mbuf *m0); extern void ath_tx_tid_init(struct ath_softc *sc, struct ath_node *an); extern void ath_tx_tid_cleanup(struct ath_softc *sc, struct ath_node *an); extern void ath_tx_tid_hw_queue(struct ath_softc *sc, struct ath_node *an, From owner-svn-src-user@FreeBSD.ORG Wed Jun 15 13:10:37 2011 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 7D932106566C; Wed, 15 Jun 2011 13:10:37 +0000 (UTC) (envelope-from gabor@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 6D7B18FC12; Wed, 15 Jun 2011 13:10:37 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p5FDAbYb083222; Wed, 15 Jun 2011 13:10:37 GMT (envelope-from gabor@svn.freebsd.org) Received: (from gabor@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id p5FDAbdQ083220; Wed, 15 Jun 2011 13:10:37 GMT (envelope-from gabor@svn.freebsd.org) Message-Id: <201106151310.p5FDAbdQ083220@svn.freebsd.org> From: Gabor Kovesdan Date: Wed, 15 Jun 2011 13:10:37 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r223108 - user/gabor/tre-integration/lib/libregex X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 15 Jun 2011 13:10:37 -0000 Author: gabor Date: Wed Jun 15 13:10:37 2011 New Revision: 223108 URL: http://svn.freebsd.org/changeset/base/223108 Log: - Make this build as an individual library Modified: user/gabor/tre-integration/lib/libregex/Makefile Modified: user/gabor/tre-integration/lib/libregex/Makefile ============================================================================== --- user/gabor/tre-integration/lib/libregex/Makefile Wed Jun 15 07:29:20 2011 (r223107) +++ user/gabor/tre-integration/lib/libregex/Makefile Wed Jun 15 13:10:37 2011 (r223108) @@ -9,7 +9,8 @@ SHLIB_MAJOR=1 NO_MAN= yes WARNS?= 6 -CFLAGS+=-DHAVE_CONFIG_H -I${.CURDIR}/../../contrib/tre +CFLAGS+=-DHAVE_CONFIG_H -I${.CURDIR}/../../contrib/tre/lib \ + -I${.CURDIR}/../../include SRCS= regcomp.c regerror.c regexec.c tre-ast.c tre-compile.c \ tre-match-approx.c tre-match-backtrack.c tre-match-parallel.c \ tre-mem.c tre-parse.c tre-stack.c xmalloc.c From owner-svn-src-user@FreeBSD.ORG Wed Jun 15 14:44:08 2011 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 8451B106566C; Wed, 15 Jun 2011 14:44:08 +0000 (UTC) (envelope-from adrian@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 7568B8FC0C; Wed, 15 Jun 2011 14:44:08 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p5FEi8Yf086134; Wed, 15 Jun 2011 14:44:08 GMT (envelope-from adrian@svn.freebsd.org) Received: (from adrian@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id p5FEi8j7086132; Wed, 15 Jun 2011 14:44:08 GMT (envelope-from adrian@svn.freebsd.org) Message-Id: <201106151444.p5FEi8j7086132@svn.freebsd.org> From: Adrian Chadd Date: Wed, 15 Jun 2011 14:44:08 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r223110 - user/adrian/if_ath_tx/sys/dev/ath X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 15 Jun 2011 14:44:08 -0000 Author: adrian Date: Wed Jun 15 14:44:08 2011 New Revision: 223110 URL: http://svn.freebsd.org/changeset/base/223110 Log: A hacky hack to make the raw xmit path use the software TX queue. I don't like that the software TX queue bit occurs at each call to raw_ic_xmit but it's enough to get the ball rolling. The motivation for this is largely so per-TID action frames (addba/delba) occur in the correct order. Modified: user/adrian/if_ath_tx/sys/dev/ath/if_ath_tx.c Modified: user/adrian/if_ath_tx/sys/dev/ath/if_ath_tx.c ============================================================================== --- user/adrian/if_ath_tx/sys/dev/ath/if_ath_tx.c Wed Jun 15 14:07:16 2011 (r223109) +++ user/adrian/if_ath_tx/sys/dev/ath/if_ath_tx.c Wed Jun 15 14:44:08 2011 (r223110) @@ -1175,7 +1175,13 @@ ath_tx_raw_start(struct ath_softc *sc, s /* Fill in the details in the descriptor list */ ath_tx_chaindesclist(sc, sc->sc_ac2q[pri], bf); - ath_tx_handoff(sc, sc->sc_ac2q[pri], bf); + + /* Queue to software queue */ + ath_tx_swq(sc, ni, sc->sc_ac2q[pri], bf, m0); + + /* Kick txq */ + ath_txq_sched(sc); + return 0; } From owner-svn-src-user@FreeBSD.ORG Wed Jun 15 14:48:46 2011 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 2591D106566B; Wed, 15 Jun 2011 14:48:46 +0000 (UTC) (envelope-from gabor@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 112FD8FC08; Wed, 15 Jun 2011 14:48:46 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p5FEmk2W086334; Wed, 15 Jun 2011 14:48:46 GMT (envelope-from gabor@svn.freebsd.org) Received: (from gabor@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id p5FEmjE3086300; Wed, 15 Jun 2011 14:48:45 GMT (envelope-from gabor@svn.freebsd.org) Message-Id: <201106151448.p5FEmjE3086300@svn.freebsd.org> From: Gabor Kovesdan Date: Wed, 15 Jun 2011 14:48:45 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r223111 - in user/gabor/tre-integration: . bin/chmod bin/ed bin/ls bin/pax bin/ps bin/sh bin/sh/bltin cddl/compat/opensolaris/include cddl/compat/opensolaris/misc contrib/bind9 contrib/... X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 15 Jun 2011 14:48:46 -0000 Author: gabor Date: Wed Jun 15 14:48:42 2011 New Revision: 223111 URL: http://svn.freebsd.org/changeset/base/223111 Log: - Merge from HEAD Added: user/gabor/tre-integration/lib/libprocstat/ - copied from r223109, head/lib/libprocstat/ user/gabor/tre-integration/sys/dev/ath/ath_dfs/ - copied from r223109, head/sys/dev/ath/ath_dfs/ user/gabor/tre-integration/sys/dev/glxiic/ - copied from r223109, head/sys/dev/glxiic/ user/gabor/tre-integration/sys/modules/glxiic/ - copied from r223109, head/sys/modules/glxiic/ user/gabor/tre-integration/sys/modules/usb/umcs/ - copied from r223109, head/sys/modules/usb/umcs/ user/gabor/tre-integration/sys/teken/demo/ - copied from r223109, head/sys/teken/demo/ user/gabor/tre-integration/sys/teken/libteken/ - copied from r223109, head/sys/teken/libteken/ user/gabor/tre-integration/sys/teken/stress/ - copied from r223109, head/sys/teken/stress/ user/gabor/tre-integration/tools/regression/netinet/ipdivert/ - copied from r223109, head/tools/regression/netinet/ipdivert/ user/gabor/tre-integration/tools/regression/security/cap_test/ - copied from r223109, head/tools/regression/security/cap_test/ user/gabor/tre-integration/tools/tools/ath/ath_ee_9287_print/ - copied from r223109, head/tools/tools/ath/ath_ee_9287_print/ user/gabor/tre-integration/tools/tools/cxgbetool/ - copied from r223109, head/tools/tools/cxgbetool/ user/gabor/tre-integration/usr.sbin/pkg_install/lib/ - copied from r223109, head/usr.sbin/pkg_install/lib/ Deleted: user/gabor/tre-integration/contrib/bind9/RELEASE-NOTES-BIND-9.6.3.html user/gabor/tre-integration/contrib/bind9/RELEASE-NOTES-BIND-9.6.3.pdf user/gabor/tre-integration/contrib/bind9/RELEASE-NOTES-BIND-9.6.3.txt user/gabor/tre-integration/contrib/llvm/include/llvm/Support/StandardPasses.h user/gabor/tre-integration/contrib/llvm/lib/CodeGen/AsmPrinter/DwarfTableException.cpp user/gabor/tre-integration/contrib/llvm/lib/ExecutionEngine/JIT/TargetSelect.cpp user/gabor/tre-integration/contrib/llvm/lib/ExecutionEngine/MCJIT/TargetSelect.cpp user/gabor/tre-integration/contrib/llvm/tools/clang/include/clang/Tooling/Tooling.h user/gabor/tre-integration/contrib/llvm/tools/clang/lib/Frontend/DiagChecker.cpp user/gabor/tre-integration/contrib/llvm/tools/clang/lib/Tooling/JsonCompileCommandLineDatabase.cpp user/gabor/tre-integration/contrib/llvm/tools/clang/lib/Tooling/JsonCompileCommandLineDatabase.h user/gabor/tre-integration/contrib/llvm/tools/clang/lib/Tooling/Tooling.cpp user/gabor/tre-integration/contrib/one-true-awk/proctab.c user/gabor/tre-integration/lib/libpkg/ user/gabor/tre-integration/release/powerpc/hfs.map user/gabor/tre-integration/release/sun4v/ user/gabor/tre-integration/sbin/hastd/proto_tcp4.c user/gabor/tre-integration/sys/conf/Makefile.sun4v user/gabor/tre-integration/sys/conf/files.sun4v user/gabor/tre-integration/sys/conf/options.sun4v user/gabor/tre-integration/sys/nfsclient/nfs_kdtrace.h user/gabor/tre-integration/sys/powerpc/aim/ofwmagic.S user/gabor/tre-integration/sys/sun4v/ user/gabor/tre-integration/sys/teken/Makefile user/gabor/tre-integration/sys/teken/teken_demo.c user/gabor/tre-integration/sys/teken/teken_stress.c user/gabor/tre-integration/tools/build/options/WITHOUT_OBJC user/gabor/tre-integration/tools/build/options/WITH_GPIO user/gabor/tre-integration/usr.bin/fstat/cd9660.c user/gabor/tre-integration/usr.bin/fstat/fstat.h user/gabor/tre-integration/usr.bin/fstat/msdosfs.c user/gabor/tre-integration/usr.bin/fstat/zfs/ user/gabor/tre-integration/usr.bin/fstat/zfs.c Modified: user/gabor/tre-integration/MAINTAINERS user/gabor/tre-integration/Makefile user/gabor/tre-integration/Makefile.inc1 user/gabor/tre-integration/UPDATING user/gabor/tre-integration/bin/chmod/chmod.1 user/gabor/tre-integration/bin/ed/POSIX user/gabor/tre-integration/bin/ls/ls.1 user/gabor/tre-integration/bin/pax/ar_io.c user/gabor/tre-integration/bin/pax/ar_subs.c user/gabor/tre-integration/bin/pax/buf_subs.c user/gabor/tre-integration/bin/pax/cpio.c user/gabor/tre-integration/bin/pax/file_subs.c user/gabor/tre-integration/bin/pax/ftree.c user/gabor/tre-integration/bin/pax/options.c user/gabor/tre-integration/bin/pax/pat_rep.c user/gabor/tre-integration/bin/pax/pax.c user/gabor/tre-integration/bin/pax/sel_subs.c user/gabor/tre-integration/bin/pax/tables.c user/gabor/tre-integration/bin/pax/tar.c user/gabor/tre-integration/bin/ps/extern.h user/gabor/tre-integration/bin/ps/keyword.c user/gabor/tre-integration/bin/ps/print.c user/gabor/tre-integration/bin/ps/ps.1 user/gabor/tre-integration/bin/ps/ps.c user/gabor/tre-integration/bin/sh/TOUR user/gabor/tre-integration/bin/sh/alias.c user/gabor/tre-integration/bin/sh/alias.h user/gabor/tre-integration/bin/sh/arith.h user/gabor/tre-integration/bin/sh/arith_yacc.c user/gabor/tre-integration/bin/sh/bltin/bltin.h user/gabor/tre-integration/bin/sh/builtins.def user/gabor/tre-integration/bin/sh/cd.c user/gabor/tre-integration/bin/sh/cd.h user/gabor/tre-integration/bin/sh/eval.c user/gabor/tre-integration/bin/sh/eval.h user/gabor/tre-integration/bin/sh/exec.h user/gabor/tre-integration/bin/sh/expand.c user/gabor/tre-integration/bin/sh/expand.h user/gabor/tre-integration/bin/sh/histedit.c user/gabor/tre-integration/bin/sh/input.c user/gabor/tre-integration/bin/sh/jobs.c user/gabor/tre-integration/bin/sh/jobs.h user/gabor/tre-integration/bin/sh/main.c user/gabor/tre-integration/bin/sh/main.h user/gabor/tre-integration/bin/sh/miscbltin.c user/gabor/tre-integration/bin/sh/mkbuiltins user/gabor/tre-integration/bin/sh/mkinit.c user/gabor/tre-integration/bin/sh/mksyntax.c user/gabor/tre-integration/bin/sh/mktokens user/gabor/tre-integration/bin/sh/myhistedit.h user/gabor/tre-integration/bin/sh/options.c user/gabor/tre-integration/bin/sh/options.h user/gabor/tre-integration/bin/sh/parser.c user/gabor/tre-integration/bin/sh/parser.h user/gabor/tre-integration/bin/sh/sh.1 user/gabor/tre-integration/bin/sh/trap.c user/gabor/tre-integration/bin/sh/trap.h user/gabor/tre-integration/bin/sh/var.c user/gabor/tre-integration/bin/sh/var.h user/gabor/tre-integration/cddl/compat/opensolaris/include/assert.h user/gabor/tre-integration/cddl/compat/opensolaris/misc/fsshare.c user/gabor/tre-integration/contrib/bind9/CHANGES user/gabor/tre-integration/contrib/bind9/FAQ.xml user/gabor/tre-integration/contrib/bind9/Makefile.in user/gabor/tre-integration/contrib/bind9/README.idnkit user/gabor/tre-integration/contrib/bind9/acconfig.h user/gabor/tre-integration/contrib/bind9/bin/Makefile.in user/gabor/tre-integration/contrib/bind9/bin/check/Makefile.in user/gabor/tre-integration/contrib/bind9/bin/check/named-checkconf.8 user/gabor/tre-integration/contrib/bind9/bin/check/named-checkconf.docbook user/gabor/tre-integration/contrib/bind9/bin/check/named-checkconf.html user/gabor/tre-integration/contrib/bind9/bin/check/named-checkzone.8 user/gabor/tre-integration/contrib/bind9/bin/check/named-checkzone.docbook user/gabor/tre-integration/contrib/bind9/bin/check/named-checkzone.html user/gabor/tre-integration/contrib/bind9/bin/dig/Makefile.in user/gabor/tre-integration/contrib/bind9/bin/dig/dig.1 user/gabor/tre-integration/contrib/bind9/bin/dig/dig.docbook user/gabor/tre-integration/contrib/bind9/bin/dig/dig.html user/gabor/tre-integration/contrib/bind9/bin/dig/host.1 user/gabor/tre-integration/contrib/bind9/bin/dig/host.docbook user/gabor/tre-integration/contrib/bind9/bin/dig/host.html user/gabor/tre-integration/contrib/bind9/bin/dig/include/dig/dig.h user/gabor/tre-integration/contrib/bind9/bin/dig/nslookup.c user/gabor/tre-integration/contrib/bind9/bin/dnssec/Makefile.in user/gabor/tre-integration/contrib/bind9/bin/dnssec/dnssec-dsfromkey.c user/gabor/tre-integration/contrib/bind9/bin/dnssec/dnssec-dsfromkey.docbook user/gabor/tre-integration/contrib/bind9/bin/dnssec/dnssec-keyfromlabel.8 user/gabor/tre-integration/contrib/bind9/bin/dnssec/dnssec-keyfromlabel.c user/gabor/tre-integration/contrib/bind9/bin/dnssec/dnssec-keyfromlabel.docbook user/gabor/tre-integration/contrib/bind9/bin/dnssec/dnssec-keygen.8 user/gabor/tre-integration/contrib/bind9/bin/dnssec/dnssec-keygen.c user/gabor/tre-integration/contrib/bind9/bin/dnssec/dnssec-keygen.docbook user/gabor/tre-integration/contrib/bind9/bin/dnssec/dnssec-signzone.8 user/gabor/tre-integration/contrib/bind9/bin/dnssec/dnssec-signzone.docbook user/gabor/tre-integration/contrib/bind9/bin/dnssec/dnssectool.c user/gabor/tre-integration/contrib/bind9/bin/dnssec/dnssectool.h user/gabor/tre-integration/contrib/bind9/bin/named/Makefile.in user/gabor/tre-integration/contrib/bind9/bin/named/bind9.xsl user/gabor/tre-integration/contrib/bind9/bin/named/config.c user/gabor/tre-integration/contrib/bind9/bin/named/controlconf.c user/gabor/tre-integration/contrib/bind9/bin/named/convertxsl.pl user/gabor/tre-integration/contrib/bind9/bin/named/include/named/builtin.h user/gabor/tre-integration/contrib/bind9/bin/named/include/named/client.h user/gabor/tre-integration/contrib/bind9/bin/named/include/named/config.h user/gabor/tre-integration/contrib/bind9/bin/named/include/named/control.h user/gabor/tre-integration/contrib/bind9/bin/named/include/named/interfacemgr.h user/gabor/tre-integration/contrib/bind9/bin/named/include/named/listenlist.h user/gabor/tre-integration/contrib/bind9/bin/named/include/named/log.h user/gabor/tre-integration/contrib/bind9/bin/named/include/named/logconf.h user/gabor/tre-integration/contrib/bind9/bin/named/include/named/lwaddr.h user/gabor/tre-integration/contrib/bind9/bin/named/include/named/lwdclient.h user/gabor/tre-integration/contrib/bind9/bin/named/include/named/lwresd.h user/gabor/tre-integration/contrib/bind9/bin/named/include/named/lwsearch.h user/gabor/tre-integration/contrib/bind9/bin/named/include/named/main.h user/gabor/tre-integration/contrib/bind9/bin/named/include/named/notify.h user/gabor/tre-integration/contrib/bind9/bin/named/include/named/ns_smf_globals.h user/gabor/tre-integration/contrib/bind9/bin/named/include/named/server.h user/gabor/tre-integration/contrib/bind9/bin/named/include/named/sortlist.h user/gabor/tre-integration/contrib/bind9/bin/named/include/named/statschannel.h user/gabor/tre-integration/contrib/bind9/bin/named/include/named/tkeyconf.h user/gabor/tre-integration/contrib/bind9/bin/named/include/named/tsigconf.h user/gabor/tre-integration/contrib/bind9/bin/named/include/named/types.h user/gabor/tre-integration/contrib/bind9/bin/named/include/named/update.h user/gabor/tre-integration/contrib/bind9/bin/named/include/named/xfrout.h user/gabor/tre-integration/contrib/bind9/bin/named/include/named/zoneconf.h user/gabor/tre-integration/contrib/bind9/bin/named/interfacemgr.c user/gabor/tre-integration/contrib/bind9/bin/named/listenlist.c user/gabor/tre-integration/contrib/bind9/bin/named/log.c user/gabor/tre-integration/contrib/bind9/bin/named/logconf.c user/gabor/tre-integration/contrib/bind9/bin/named/lwaddr.c user/gabor/tre-integration/contrib/bind9/bin/named/lwdclient.c user/gabor/tre-integration/contrib/bind9/bin/named/lwderror.c user/gabor/tre-integration/contrib/bind9/bin/named/lwdgabn.c user/gabor/tre-integration/contrib/bind9/bin/named/lwdgnba.c user/gabor/tre-integration/contrib/bind9/bin/named/lwdgrbn.c user/gabor/tre-integration/contrib/bind9/bin/named/lwdnoop.c user/gabor/tre-integration/contrib/bind9/bin/named/lwresd.8 user/gabor/tre-integration/contrib/bind9/bin/named/lwresd.c user/gabor/tre-integration/contrib/bind9/bin/named/lwresd.docbook user/gabor/tre-integration/contrib/bind9/bin/named/lwresd.html user/gabor/tre-integration/contrib/bind9/bin/named/lwsearch.c user/gabor/tre-integration/contrib/bind9/bin/named/named.8 user/gabor/tre-integration/contrib/bind9/bin/named/named.conf.5 user/gabor/tre-integration/contrib/bind9/bin/named/named.conf.docbook user/gabor/tre-integration/contrib/bind9/bin/named/named.conf.html user/gabor/tre-integration/contrib/bind9/bin/named/named.docbook user/gabor/tre-integration/contrib/bind9/bin/named/named.html user/gabor/tre-integration/contrib/bind9/bin/named/notify.c user/gabor/tre-integration/contrib/bind9/bin/named/sortlist.c user/gabor/tre-integration/contrib/bind9/bin/named/statschannel.c user/gabor/tre-integration/contrib/bind9/bin/named/tkeyconf.c user/gabor/tre-integration/contrib/bind9/bin/named/tsigconf.c user/gabor/tre-integration/contrib/bind9/bin/named/unix/Makefile.in user/gabor/tre-integration/contrib/bind9/bin/named/unix/include/named/os.h user/gabor/tre-integration/contrib/bind9/bin/named/unix/os.c user/gabor/tre-integration/contrib/bind9/bin/named/zoneconf.c user/gabor/tre-integration/contrib/bind9/bin/nsupdate/Makefile.in user/gabor/tre-integration/contrib/bind9/bin/nsupdate/nsupdate.c user/gabor/tre-integration/contrib/bind9/bin/rndc/Makefile.in user/gabor/tre-integration/contrib/bind9/bin/rndc/include/rndc/os.h user/gabor/tre-integration/contrib/bind9/bin/rndc/rndc-confgen.8 user/gabor/tre-integration/contrib/bind9/bin/rndc/rndc-confgen.c user/gabor/tre-integration/contrib/bind9/bin/rndc/rndc-confgen.docbook user/gabor/tre-integration/contrib/bind9/bin/rndc/rndc-confgen.html user/gabor/tre-integration/contrib/bind9/bin/rndc/rndc.8 user/gabor/tre-integration/contrib/bind9/bin/rndc/rndc.c user/gabor/tre-integration/contrib/bind9/bin/rndc/rndc.conf user/gabor/tre-integration/contrib/bind9/bin/rndc/rndc.conf.5 user/gabor/tre-integration/contrib/bind9/bin/rndc/rndc.conf.docbook user/gabor/tre-integration/contrib/bind9/bin/rndc/rndc.conf.html user/gabor/tre-integration/contrib/bind9/bin/rndc/rndc.docbook user/gabor/tre-integration/contrib/bind9/bin/rndc/rndc.html user/gabor/tre-integration/contrib/bind9/bin/rndc/unix/Makefile.in user/gabor/tre-integration/contrib/bind9/bin/rndc/unix/os.c user/gabor/tre-integration/contrib/bind9/bin/rndc/util.c user/gabor/tre-integration/contrib/bind9/bin/rndc/util.h user/gabor/tre-integration/contrib/bind9/doc/Makefile.in user/gabor/tre-integration/contrib/bind9/doc/arm/Bv9ARM.ch01.html user/gabor/tre-integration/contrib/bind9/doc/arm/Bv9ARM.ch02.html user/gabor/tre-integration/contrib/bind9/doc/arm/Bv9ARM.ch03.html user/gabor/tre-integration/contrib/bind9/doc/arm/Bv9ARM.ch04.html user/gabor/tre-integration/contrib/bind9/doc/arm/Bv9ARM.ch05.html user/gabor/tre-integration/contrib/bind9/doc/arm/Bv9ARM.ch10.html user/gabor/tre-integration/contrib/bind9/doc/arm/Makefile.in user/gabor/tre-integration/contrib/bind9/doc/arm/README-SGML user/gabor/tre-integration/contrib/bind9/doc/misc/Makefile.in user/gabor/tre-integration/contrib/bind9/doc/misc/dnssec user/gabor/tre-integration/contrib/bind9/doc/misc/format-options.pl user/gabor/tre-integration/contrib/bind9/doc/misc/ipv6 user/gabor/tre-integration/contrib/bind9/doc/misc/migration user/gabor/tre-integration/contrib/bind9/doc/misc/migration-4to9 user/gabor/tre-integration/contrib/bind9/doc/misc/rfc-compliance user/gabor/tre-integration/contrib/bind9/doc/misc/roadmap user/gabor/tre-integration/contrib/bind9/doc/misc/sdb user/gabor/tre-integration/contrib/bind9/doc/misc/sort-options.pl user/gabor/tre-integration/contrib/bind9/isc-config.sh.in user/gabor/tre-integration/contrib/bind9/lib/Makefile.in user/gabor/tre-integration/contrib/bind9/lib/bind9/Makefile.in user/gabor/tre-integration/contrib/bind9/lib/bind9/getaddresses.c user/gabor/tre-integration/contrib/bind9/lib/bind9/include/Makefile.in user/gabor/tre-integration/contrib/bind9/lib/bind9/include/bind9/Makefile.in user/gabor/tre-integration/contrib/bind9/lib/bind9/include/bind9/check.h user/gabor/tre-integration/contrib/bind9/lib/bind9/include/bind9/getaddresses.h user/gabor/tre-integration/contrib/bind9/lib/bind9/include/bind9/version.h user/gabor/tre-integration/contrib/bind9/lib/bind9/version.c user/gabor/tre-integration/contrib/bind9/lib/dns/acache.c user/gabor/tre-integration/contrib/bind9/lib/dns/acl.c user/gabor/tre-integration/contrib/bind9/lib/dns/api user/gabor/tre-integration/contrib/bind9/lib/dns/byaddr.c user/gabor/tre-integration/contrib/bind9/lib/dns/cache.c user/gabor/tre-integration/contrib/bind9/lib/dns/callbacks.c user/gabor/tre-integration/contrib/bind9/lib/dns/compress.c user/gabor/tre-integration/contrib/bind9/lib/dns/db.c user/gabor/tre-integration/contrib/bind9/lib/dns/dbiterator.c user/gabor/tre-integration/contrib/bind9/lib/dns/dbtable.c user/gabor/tre-integration/contrib/bind9/lib/dns/diff.c user/gabor/tre-integration/contrib/bind9/lib/dns/dispatch.c user/gabor/tre-integration/contrib/bind9/lib/dns/dlz.c user/gabor/tre-integration/contrib/bind9/lib/dns/dnssec.c user/gabor/tre-integration/contrib/bind9/lib/dns/ds.c user/gabor/tre-integration/contrib/bind9/lib/dns/dst_lib.c user/gabor/tre-integration/contrib/bind9/lib/dns/dst_openssl.h user/gabor/tre-integration/contrib/bind9/lib/dns/dst_parse.c user/gabor/tre-integration/contrib/bind9/lib/dns/dst_parse.h user/gabor/tre-integration/contrib/bind9/lib/dns/dst_result.c user/gabor/tre-integration/contrib/bind9/lib/dns/forward.c user/gabor/tre-integration/contrib/bind9/lib/dns/gen-unix.h user/gabor/tre-integration/contrib/bind9/lib/dns/gen.c user/gabor/tre-integration/contrib/bind9/lib/dns/gssapi_link.c user/gabor/tre-integration/contrib/bind9/lib/dns/hmac_link.c user/gabor/tre-integration/contrib/bind9/lib/dns/include/Makefile.in user/gabor/tre-integration/contrib/bind9/lib/dns/include/dns/Makefile.in user/gabor/tre-integration/contrib/bind9/lib/dns/include/dns/acache.h user/gabor/tre-integration/contrib/bind9/lib/dns/include/dns/acl.h user/gabor/tre-integration/contrib/bind9/lib/dns/include/dns/adb.h user/gabor/tre-integration/contrib/bind9/lib/dns/include/dns/bit.h user/gabor/tre-integration/contrib/bind9/lib/dns/include/dns/byaddr.h user/gabor/tre-integration/contrib/bind9/lib/dns/include/dns/cache.h user/gabor/tre-integration/contrib/bind9/lib/dns/include/dns/callbacks.h user/gabor/tre-integration/contrib/bind9/lib/dns/include/dns/cert.h user/gabor/tre-integration/contrib/bind9/lib/dns/include/dns/compress.h user/gabor/tre-integration/contrib/bind9/lib/dns/include/dns/db.h user/gabor/tre-integration/contrib/bind9/lib/dns/include/dns/dbiterator.h user/gabor/tre-integration/contrib/bind9/lib/dns/include/dns/dbtable.h user/gabor/tre-integration/contrib/bind9/lib/dns/include/dns/dispatch.h user/gabor/tre-integration/contrib/bind9/lib/dns/include/dns/dlz.h user/gabor/tre-integration/contrib/bind9/lib/dns/include/dns/dnssec.h user/gabor/tre-integration/contrib/bind9/lib/dns/include/dns/ds.h user/gabor/tre-integration/contrib/bind9/lib/dns/include/dns/fixedname.h user/gabor/tre-integration/contrib/bind9/lib/dns/include/dns/forward.h user/gabor/tre-integration/contrib/bind9/lib/dns/include/dns/iptable.h user/gabor/tre-integration/contrib/bind9/lib/dns/include/dns/journal.h user/gabor/tre-integration/contrib/bind9/lib/dns/include/dns/keyflags.h user/gabor/tre-integration/contrib/bind9/lib/dns/include/dns/keytable.h user/gabor/tre-integration/contrib/bind9/lib/dns/include/dns/keyvalues.h user/gabor/tre-integration/contrib/bind9/lib/dns/include/dns/lib.h user/gabor/tre-integration/contrib/bind9/lib/dns/include/dns/log.h user/gabor/tre-integration/contrib/bind9/lib/dns/include/dns/lookup.h user/gabor/tre-integration/contrib/bind9/lib/dns/include/dns/master.h user/gabor/tre-integration/contrib/bind9/lib/dns/include/dns/masterdump.h user/gabor/tre-integration/contrib/bind9/lib/dns/include/dns/message.h user/gabor/tre-integration/contrib/bind9/lib/dns/include/dns/nsec.h user/gabor/tre-integration/contrib/bind9/lib/dns/include/dns/nsec3.h user/gabor/tre-integration/contrib/bind9/lib/dns/include/dns/opcode.h user/gabor/tre-integration/contrib/bind9/lib/dns/include/dns/order.h user/gabor/tre-integration/contrib/bind9/lib/dns/include/dns/peer.h user/gabor/tre-integration/contrib/bind9/lib/dns/include/dns/portlist.h user/gabor/tre-integration/contrib/bind9/lib/dns/include/dns/rbt.h user/gabor/tre-integration/contrib/bind9/lib/dns/include/dns/rcode.h user/gabor/tre-integration/contrib/bind9/lib/dns/include/dns/rdata.h user/gabor/tre-integration/contrib/bind9/lib/dns/include/dns/rdataclass.h user/gabor/tre-integration/contrib/bind9/lib/dns/include/dns/rdatalist.h user/gabor/tre-integration/contrib/bind9/lib/dns/include/dns/rdataset.h user/gabor/tre-integration/contrib/bind9/lib/dns/include/dns/rdatasetiter.h user/gabor/tre-integration/contrib/bind9/lib/dns/include/dns/rdataslab.h user/gabor/tre-integration/contrib/bind9/lib/dns/include/dns/rdatatype.h user/gabor/tre-integration/contrib/bind9/lib/dns/include/dns/request.h user/gabor/tre-integration/contrib/bind9/lib/dns/include/dns/rootns.h user/gabor/tre-integration/contrib/bind9/lib/dns/include/dns/sdb.h user/gabor/tre-integration/contrib/bind9/lib/dns/include/dns/sdlz.h user/gabor/tre-integration/contrib/bind9/lib/dns/include/dns/secalg.h user/gabor/tre-integration/contrib/bind9/lib/dns/include/dns/secproto.h user/gabor/tre-integration/contrib/bind9/lib/dns/include/dns/soa.h user/gabor/tre-integration/contrib/bind9/lib/dns/include/dns/ssu.h user/gabor/tre-integration/contrib/bind9/lib/dns/include/dns/stats.h user/gabor/tre-integration/contrib/bind9/lib/dns/include/dns/tcpmsg.h user/gabor/tre-integration/contrib/bind9/lib/dns/include/dns/time.h user/gabor/tre-integration/contrib/bind9/lib/dns/include/dns/timer.h user/gabor/tre-integration/contrib/bind9/lib/dns/include/dns/tkey.h user/gabor/tre-integration/contrib/bind9/lib/dns/include/dns/ttl.h user/gabor/tre-integration/contrib/bind9/lib/dns/include/dns/version.h user/gabor/tre-integration/contrib/bind9/lib/dns/include/dns/xfrin.h user/gabor/tre-integration/contrib/bind9/lib/dns/include/dns/zonekey.h user/gabor/tre-integration/contrib/bind9/lib/dns/include/dns/zt.h user/gabor/tre-integration/contrib/bind9/lib/dns/include/dst/Makefile.in user/gabor/tre-integration/contrib/bind9/lib/dns/include/dst/gssapi.h user/gabor/tre-integration/contrib/bind9/lib/dns/include/dst/lib.h user/gabor/tre-integration/contrib/bind9/lib/dns/include/dst/result.h user/gabor/tre-integration/contrib/bind9/lib/dns/iptable.c user/gabor/tre-integration/contrib/bind9/lib/dns/key.c user/gabor/tre-integration/contrib/bind9/lib/dns/keytable.c user/gabor/tre-integration/contrib/bind9/lib/dns/lib.c user/gabor/tre-integration/contrib/bind9/lib/dns/log.c user/gabor/tre-integration/contrib/bind9/lib/dns/lookup.c user/gabor/tre-integration/contrib/bind9/lib/dns/master.c user/gabor/tre-integration/contrib/bind9/lib/dns/masterdump.c user/gabor/tre-integration/contrib/bind9/lib/dns/ncache.c user/gabor/tre-integration/contrib/bind9/lib/dns/nsec.c user/gabor/tre-integration/contrib/bind9/lib/dns/nsec3.c user/gabor/tre-integration/contrib/bind9/lib/dns/openssldh_link.c user/gabor/tre-integration/contrib/bind9/lib/dns/openssldsa_link.c user/gabor/tre-integration/contrib/bind9/lib/dns/opensslrsa_link.c user/gabor/tre-integration/contrib/bind9/lib/dns/order.c user/gabor/tre-integration/contrib/bind9/lib/dns/peer.c user/gabor/tre-integration/contrib/bind9/lib/dns/portlist.c user/gabor/tre-integration/contrib/bind9/lib/dns/rbt.c user/gabor/tre-integration/contrib/bind9/lib/dns/rbtdb.h user/gabor/tre-integration/contrib/bind9/lib/dns/rbtdb64.c user/gabor/tre-integration/contrib/bind9/lib/dns/rbtdb64.h user/gabor/tre-integration/contrib/bind9/lib/dns/rcode.c user/gabor/tre-integration/contrib/bind9/lib/dns/rdata/any_255/tsig_250.c user/gabor/tre-integration/contrib/bind9/lib/dns/rdata/any_255/tsig_250.h user/gabor/tre-integration/contrib/bind9/lib/dns/rdata/ch_3/a_1.c user/gabor/tre-integration/contrib/bind9/lib/dns/rdata/ch_3/a_1.h user/gabor/tre-integration/contrib/bind9/lib/dns/rdata/generic/afsdb_18.c user/gabor/tre-integration/contrib/bind9/lib/dns/rdata/generic/afsdb_18.h user/gabor/tre-integration/contrib/bind9/lib/dns/rdata/generic/cert_37.c user/gabor/tre-integration/contrib/bind9/lib/dns/rdata/generic/cert_37.h user/gabor/tre-integration/contrib/bind9/lib/dns/rdata/generic/cname_5.c user/gabor/tre-integration/contrib/bind9/lib/dns/rdata/generic/cname_5.h user/gabor/tre-integration/contrib/bind9/lib/dns/rdata/generic/dlv_32769.c user/gabor/tre-integration/contrib/bind9/lib/dns/rdata/generic/dlv_32769.h user/gabor/tre-integration/contrib/bind9/lib/dns/rdata/generic/dname_39.c user/gabor/tre-integration/contrib/bind9/lib/dns/rdata/generic/dname_39.h user/gabor/tre-integration/contrib/bind9/lib/dns/rdata/generic/dnskey_48.c user/gabor/tre-integration/contrib/bind9/lib/dns/rdata/generic/dnskey_48.h user/gabor/tre-integration/contrib/bind9/lib/dns/rdata/generic/ds_43.c user/gabor/tre-integration/contrib/bind9/lib/dns/rdata/generic/ds_43.h user/gabor/tre-integration/contrib/bind9/lib/dns/rdata/generic/gpos_27.c user/gabor/tre-integration/contrib/bind9/lib/dns/rdata/generic/gpos_27.h user/gabor/tre-integration/contrib/bind9/lib/dns/rdata/generic/hinfo_13.c user/gabor/tre-integration/contrib/bind9/lib/dns/rdata/generic/hinfo_13.h user/gabor/tre-integration/contrib/bind9/lib/dns/rdata/generic/ipseckey_45.h user/gabor/tre-integration/contrib/bind9/lib/dns/rdata/generic/isdn_20.c user/gabor/tre-integration/contrib/bind9/lib/dns/rdata/generic/isdn_20.h user/gabor/tre-integration/contrib/bind9/lib/dns/rdata/generic/key_25.c user/gabor/tre-integration/contrib/bind9/lib/dns/rdata/generic/key_25.h user/gabor/tre-integration/contrib/bind9/lib/dns/rdata/generic/loc_29.c user/gabor/tre-integration/contrib/bind9/lib/dns/rdata/generic/loc_29.h user/gabor/tre-integration/contrib/bind9/lib/dns/rdata/generic/mb_7.c user/gabor/tre-integration/contrib/bind9/lib/dns/rdata/generic/mb_7.h user/gabor/tre-integration/contrib/bind9/lib/dns/rdata/generic/md_3.c user/gabor/tre-integration/contrib/bind9/lib/dns/rdata/generic/md_3.h user/gabor/tre-integration/contrib/bind9/lib/dns/rdata/generic/mf_4.c user/gabor/tre-integration/contrib/bind9/lib/dns/rdata/generic/mf_4.h user/gabor/tre-integration/contrib/bind9/lib/dns/rdata/generic/mg_8.c user/gabor/tre-integration/contrib/bind9/lib/dns/rdata/generic/mg_8.h user/gabor/tre-integration/contrib/bind9/lib/dns/rdata/generic/minfo_14.c user/gabor/tre-integration/contrib/bind9/lib/dns/rdata/generic/minfo_14.h user/gabor/tre-integration/contrib/bind9/lib/dns/rdata/generic/mr_9.c user/gabor/tre-integration/contrib/bind9/lib/dns/rdata/generic/mr_9.h user/gabor/tre-integration/contrib/bind9/lib/dns/rdata/generic/mx_15.c user/gabor/tre-integration/contrib/bind9/lib/dns/rdata/generic/mx_15.h user/gabor/tre-integration/contrib/bind9/lib/dns/rdata/generic/ns_2.c user/gabor/tre-integration/contrib/bind9/lib/dns/rdata/generic/ns_2.h user/gabor/tre-integration/contrib/bind9/lib/dns/rdata/generic/nsec3_50.c user/gabor/tre-integration/contrib/bind9/lib/dns/rdata/generic/nsec3_50.h user/gabor/tre-integration/contrib/bind9/lib/dns/rdata/generic/nsec3param_51.c user/gabor/tre-integration/contrib/bind9/lib/dns/rdata/generic/nsec3param_51.h user/gabor/tre-integration/contrib/bind9/lib/dns/rdata/generic/nsec_47.h user/gabor/tre-integration/contrib/bind9/lib/dns/rdata/generic/null_10.c user/gabor/tre-integration/contrib/bind9/lib/dns/rdata/generic/null_10.h user/gabor/tre-integration/contrib/bind9/lib/dns/rdata/generic/nxt_30.c user/gabor/tre-integration/contrib/bind9/lib/dns/rdata/generic/nxt_30.h user/gabor/tre-integration/contrib/bind9/lib/dns/rdata/generic/opt_41.c user/gabor/tre-integration/contrib/bind9/lib/dns/rdata/generic/opt_41.h user/gabor/tre-integration/contrib/bind9/lib/dns/rdata/generic/proforma.c user/gabor/tre-integration/contrib/bind9/lib/dns/rdata/generic/proforma.h user/gabor/tre-integration/contrib/bind9/lib/dns/rdata/generic/ptr_12.c user/gabor/tre-integration/contrib/bind9/lib/dns/rdata/generic/ptr_12.h user/gabor/tre-integration/contrib/bind9/lib/dns/rdata/generic/rp_17.c user/gabor/tre-integration/contrib/bind9/lib/dns/rdata/generic/rp_17.h user/gabor/tre-integration/contrib/bind9/lib/dns/rdata/generic/rrsig_46.h user/gabor/tre-integration/contrib/bind9/lib/dns/rdata/generic/rt_21.c user/gabor/tre-integration/contrib/bind9/lib/dns/rdata/generic/rt_21.h user/gabor/tre-integration/contrib/bind9/lib/dns/rdata/generic/sig_24.c user/gabor/tre-integration/contrib/bind9/lib/dns/rdata/generic/sig_24.h user/gabor/tre-integration/contrib/bind9/lib/dns/rdata/generic/soa_6.c user/gabor/tre-integration/contrib/bind9/lib/dns/rdata/generic/soa_6.h user/gabor/tre-integration/contrib/bind9/lib/dns/rdata/generic/spf_99.c user/gabor/tre-integration/contrib/bind9/lib/dns/rdata/generic/spf_99.h user/gabor/tre-integration/contrib/bind9/lib/dns/rdata/generic/sshfp_44.c user/gabor/tre-integration/contrib/bind9/lib/dns/rdata/generic/sshfp_44.h user/gabor/tre-integration/contrib/bind9/lib/dns/rdata/generic/tkey_249.c user/gabor/tre-integration/contrib/bind9/lib/dns/rdata/generic/tkey_249.h user/gabor/tre-integration/contrib/bind9/lib/dns/rdata/generic/txt_16.c user/gabor/tre-integration/contrib/bind9/lib/dns/rdata/generic/txt_16.h user/gabor/tre-integration/contrib/bind9/lib/dns/rdata/generic/unspec_103.c user/gabor/tre-integration/contrib/bind9/lib/dns/rdata/generic/unspec_103.h user/gabor/tre-integration/contrib/bind9/lib/dns/rdata/generic/x25_19.c user/gabor/tre-integration/contrib/bind9/lib/dns/rdata/generic/x25_19.h user/gabor/tre-integration/contrib/bind9/lib/dns/rdata/hs_4/a_1.c user/gabor/tre-integration/contrib/bind9/lib/dns/rdata/hs_4/a_1.h user/gabor/tre-integration/contrib/bind9/lib/dns/rdata/in_1/a6_38.c user/gabor/tre-integration/contrib/bind9/lib/dns/rdata/in_1/a6_38.h user/gabor/tre-integration/contrib/bind9/lib/dns/rdata/in_1/a_1.c user/gabor/tre-integration/contrib/bind9/lib/dns/rdata/in_1/a_1.h user/gabor/tre-integration/contrib/bind9/lib/dns/rdata/in_1/aaaa_28.c user/gabor/tre-integration/contrib/bind9/lib/dns/rdata/in_1/aaaa_28.h user/gabor/tre-integration/contrib/bind9/lib/dns/rdata/in_1/apl_42.c user/gabor/tre-integration/contrib/bind9/lib/dns/rdata/in_1/apl_42.h user/gabor/tre-integration/contrib/bind9/lib/dns/rdata/in_1/dhcid_49.c user/gabor/tre-integration/contrib/bind9/lib/dns/rdata/in_1/dhcid_49.h user/gabor/tre-integration/contrib/bind9/lib/dns/rdata/in_1/kx_36.c user/gabor/tre-integration/contrib/bind9/lib/dns/rdata/in_1/kx_36.h user/gabor/tre-integration/contrib/bind9/lib/dns/rdata/in_1/naptr_35.c user/gabor/tre-integration/contrib/bind9/lib/dns/rdata/in_1/naptr_35.h user/gabor/tre-integration/contrib/bind9/lib/dns/rdata/in_1/nsap-ptr_23.c user/gabor/tre-integration/contrib/bind9/lib/dns/rdata/in_1/nsap-ptr_23.h user/gabor/tre-integration/contrib/bind9/lib/dns/rdata/in_1/nsap_22.c user/gabor/tre-integration/contrib/bind9/lib/dns/rdata/in_1/nsap_22.h user/gabor/tre-integration/contrib/bind9/lib/dns/rdata/in_1/px_26.c user/gabor/tre-integration/contrib/bind9/lib/dns/rdata/in_1/px_26.h user/gabor/tre-integration/contrib/bind9/lib/dns/rdata/in_1/srv_33.c user/gabor/tre-integration/contrib/bind9/lib/dns/rdata/in_1/srv_33.h user/gabor/tre-integration/contrib/bind9/lib/dns/rdata/in_1/wks_11.c user/gabor/tre-integration/contrib/bind9/lib/dns/rdata/in_1/wks_11.h user/gabor/tre-integration/contrib/bind9/lib/dns/rdata/rdatastructpre.h user/gabor/tre-integration/contrib/bind9/lib/dns/rdata/rdatastructsuf.h user/gabor/tre-integration/contrib/bind9/lib/dns/rdatalist_p.h user/gabor/tre-integration/contrib/bind9/lib/dns/rdataset.c user/gabor/tre-integration/contrib/bind9/lib/dns/rdatasetiter.c user/gabor/tre-integration/contrib/bind9/lib/dns/request.c user/gabor/tre-integration/contrib/bind9/lib/dns/soa.c user/gabor/tre-integration/contrib/bind9/lib/dns/spnego.asn1 user/gabor/tre-integration/contrib/bind9/lib/dns/spnego.c user/gabor/tre-integration/contrib/bind9/lib/dns/spnego.h user/gabor/tre-integration/contrib/bind9/lib/dns/spnego_asn1.c user/gabor/tre-integration/contrib/bind9/lib/dns/spnego_asn1.pl user/gabor/tre-integration/contrib/bind9/lib/dns/ssu.c user/gabor/tre-integration/contrib/bind9/lib/dns/stats.c user/gabor/tre-integration/contrib/bind9/lib/dns/tcpmsg.c user/gabor/tre-integration/contrib/bind9/lib/dns/timer.c user/gabor/tre-integration/contrib/bind9/lib/dns/ttl.c user/gabor/tre-integration/contrib/bind9/lib/dns/validator.c user/gabor/tre-integration/contrib/bind9/lib/dns/version.c user/gabor/tre-integration/contrib/bind9/lib/dns/xfrin.c user/gabor/tre-integration/contrib/bind9/lib/dns/zonekey.c user/gabor/tre-integration/contrib/bind9/lib/dns/zt.c user/gabor/tre-integration/contrib/bind9/lib/isc/alpha/Makefile.in user/gabor/tre-integration/contrib/bind9/lib/isc/alpha/include/Makefile.in user/gabor/tre-integration/contrib/bind9/lib/isc/alpha/include/isc/Makefile.in user/gabor/tre-integration/contrib/bind9/lib/isc/alpha/include/isc/atomic.h user/gabor/tre-integration/contrib/bind9/lib/isc/assertions.c user/gabor/tre-integration/contrib/bind9/lib/isc/base32.c user/gabor/tre-integration/contrib/bind9/lib/isc/base64.c user/gabor/tre-integration/contrib/bind9/lib/isc/bitstring.c user/gabor/tre-integration/contrib/bind9/lib/isc/buffer.c user/gabor/tre-integration/contrib/bind9/lib/isc/bufferlist.c user/gabor/tre-integration/contrib/bind9/lib/isc/commandline.c user/gabor/tre-integration/contrib/bind9/lib/isc/error.c user/gabor/tre-integration/contrib/bind9/lib/isc/event.c user/gabor/tre-integration/contrib/bind9/lib/isc/fsaccess.c user/gabor/tre-integration/contrib/bind9/lib/isc/hash.c user/gabor/tre-integration/contrib/bind9/lib/isc/heap.c user/gabor/tre-integration/contrib/bind9/lib/isc/hex.c user/gabor/tre-integration/contrib/bind9/lib/isc/hmacmd5.c user/gabor/tre-integration/contrib/bind9/lib/isc/hmacsha.c user/gabor/tre-integration/contrib/bind9/lib/isc/httpd.c user/gabor/tre-integration/contrib/bind9/lib/isc/ia64/Makefile.in user/gabor/tre-integration/contrib/bind9/lib/isc/ia64/include/Makefile.in user/gabor/tre-integration/contrib/bind9/lib/isc/ia64/include/isc/Makefile.in user/gabor/tre-integration/contrib/bind9/lib/isc/ia64/include/isc/atomic.h user/gabor/tre-integration/contrib/bind9/lib/isc/include/Makefile.in user/gabor/tre-integration/contrib/bind9/lib/isc/include/isc/Makefile.in user/gabor/tre-integration/contrib/bind9/lib/isc/include/isc/app.h user/gabor/tre-integration/contrib/bind9/lib/isc/include/isc/assertions.h user/gabor/tre-integration/contrib/bind9/lib/isc/include/isc/base32.h user/gabor/tre-integration/contrib/bind9/lib/isc/include/isc/base64.h user/gabor/tre-integration/contrib/bind9/lib/isc/include/isc/bitstring.h user/gabor/tre-integration/contrib/bind9/lib/isc/include/isc/boolean.h user/gabor/tre-integration/contrib/bind9/lib/isc/include/isc/buffer.h user/gabor/tre-integration/contrib/bind9/lib/isc/include/isc/bufferlist.h user/gabor/tre-integration/contrib/bind9/lib/isc/include/isc/commandline.h user/gabor/tre-integration/contrib/bind9/lib/isc/include/isc/entropy.h user/gabor/tre-integration/contrib/bind9/lib/isc/include/isc/error.h user/gabor/tre-integration/contrib/bind9/lib/isc/include/isc/event.h user/gabor/tre-integration/contrib/bind9/lib/isc/include/isc/eventclass.h user/gabor/tre-integration/contrib/bind9/lib/isc/include/isc/file.h user/gabor/tre-integration/contrib/bind9/lib/isc/include/isc/formatcheck.h user/gabor/tre-integration/contrib/bind9/lib/isc/include/isc/fsaccess.h user/gabor/tre-integration/contrib/bind9/lib/isc/include/isc/hash.h user/gabor/tre-integration/contrib/bind9/lib/isc/include/isc/heap.h user/gabor/tre-integration/contrib/bind9/lib/isc/include/isc/hex.h user/gabor/tre-integration/contrib/bind9/lib/isc/include/isc/hmacmd5.h user/gabor/tre-integration/contrib/bind9/lib/isc/include/isc/hmacsha.h user/gabor/tre-integration/contrib/bind9/lib/isc/include/isc/httpd.h user/gabor/tre-integration/contrib/bind9/lib/isc/include/isc/interfaceiter.h user/gabor/tre-integration/contrib/bind9/lib/isc/include/isc/ipv6.h user/gabor/tre-integration/contrib/bind9/lib/isc/include/isc/iterated_hash.h user/gabor/tre-integration/contrib/bind9/lib/isc/include/isc/lang.h user/gabor/tre-integration/contrib/bind9/lib/isc/include/isc/lex.h user/gabor/tre-integration/contrib/bind9/lib/isc/include/isc/lfsr.h user/gabor/tre-integration/contrib/bind9/lib/isc/include/isc/lib.h user/gabor/tre-integration/contrib/bind9/lib/isc/include/isc/list.h user/gabor/tre-integration/contrib/bind9/lib/isc/include/isc/log.h user/gabor/tre-integration/contrib/bind9/lib/isc/include/isc/magic.h user/gabor/tre-integration/contrib/bind9/lib/isc/include/isc/md5.h user/gabor/tre-integration/contrib/bind9/lib/isc/include/isc/msgcat.h user/gabor/tre-integration/contrib/bind9/lib/isc/include/isc/msgs.h user/gabor/tre-integration/contrib/bind9/lib/isc/include/isc/mutexblock.h user/gabor/tre-integration/contrib/bind9/lib/isc/include/isc/netaddr.h user/gabor/tre-integration/contrib/bind9/lib/isc/include/isc/netscope.h user/gabor/tre-integration/contrib/bind9/lib/isc/include/isc/ondestroy.h user/gabor/tre-integration/contrib/bind9/lib/isc/include/isc/os.h user/gabor/tre-integration/contrib/bind9/lib/isc/include/isc/parseint.h user/gabor/tre-integration/contrib/bind9/lib/isc/include/isc/portset.h user/gabor/tre-integration/contrib/bind9/lib/isc/include/isc/print.h user/gabor/tre-integration/contrib/bind9/lib/isc/include/isc/quota.h user/gabor/tre-integration/contrib/bind9/lib/isc/include/isc/radix.h user/gabor/tre-integration/contrib/bind9/lib/isc/include/isc/random.h user/gabor/tre-integration/contrib/bind9/lib/isc/include/isc/ratelimiter.h user/gabor/tre-integration/contrib/bind9/lib/isc/include/isc/refcount.h user/gabor/tre-integration/contrib/bind9/lib/isc/include/isc/region.h user/gabor/tre-integration/contrib/bind9/lib/isc/include/isc/resource.h user/gabor/tre-integration/contrib/bind9/lib/isc/include/isc/result.h user/gabor/tre-integration/contrib/bind9/lib/isc/include/isc/resultclass.h user/gabor/tre-integration/contrib/bind9/lib/isc/include/isc/rwlock.h user/gabor/tre-integration/contrib/bind9/lib/isc/include/isc/serial.h user/gabor/tre-integration/contrib/bind9/lib/isc/include/isc/sha1.h user/gabor/tre-integration/contrib/bind9/lib/isc/include/isc/sha2.h user/gabor/tre-integration/contrib/bind9/lib/isc/include/isc/sockaddr.h user/gabor/tre-integration/contrib/bind9/lib/isc/include/isc/socket.h user/gabor/tre-integration/contrib/bind9/lib/isc/include/isc/stats.h user/gabor/tre-integration/contrib/bind9/lib/isc/include/isc/stdio.h user/gabor/tre-integration/contrib/bind9/lib/isc/include/isc/stdlib.h user/gabor/tre-integration/contrib/bind9/lib/isc/include/isc/string.h user/gabor/tre-integration/contrib/bind9/lib/isc/include/isc/symtab.h user/gabor/tre-integration/contrib/bind9/lib/isc/include/isc/taskpool.h user/gabor/tre-integration/contrib/bind9/lib/isc/include/isc/timer.h user/gabor/tre-integration/contrib/bind9/lib/isc/include/isc/types.h user/gabor/tre-integration/contrib/bind9/lib/isc/include/isc/util.h user/gabor/tre-integration/contrib/bind9/lib/isc/include/isc/version.h user/gabor/tre-integration/contrib/bind9/lib/isc/include/isc/xml.h user/gabor/tre-integration/contrib/bind9/lib/isc/inet_aton.c user/gabor/tre-integration/contrib/bind9/lib/isc/inet_ntop.c user/gabor/tre-integration/contrib/bind9/lib/isc/inet_pton.c user/gabor/tre-integration/contrib/bind9/lib/isc/iterated_hash.c user/gabor/tre-integration/contrib/bind9/lib/isc/lex.c user/gabor/tre-integration/contrib/bind9/lib/isc/lfsr.c user/gabor/tre-integration/contrib/bind9/lib/isc/lib.c user/gabor/tre-integration/contrib/bind9/lib/isc/log.c user/gabor/tre-integration/contrib/bind9/lib/isc/md5.c user/gabor/tre-integration/contrib/bind9/lib/isc/mips/Makefile.in user/gabor/tre-integration/contrib/bind9/lib/isc/mips/include/Makefile.in user/gabor/tre-integration/contrib/bind9/lib/isc/mips/include/isc/Makefile.in user/gabor/tre-integration/contrib/bind9/lib/isc/mips/include/isc/atomic.h user/gabor/tre-integration/contrib/bind9/lib/isc/mutexblock.c user/gabor/tre-integration/contrib/bind9/lib/isc/netaddr.c user/gabor/tre-integration/contrib/bind9/lib/isc/netscope.c user/gabor/tre-integration/contrib/bind9/lib/isc/nls/Makefile.in user/gabor/tre-integration/contrib/bind9/lib/isc/nls/msgcat.c user/gabor/tre-integration/contrib/bind9/lib/isc/noatomic/Makefile.in user/gabor/tre-integration/contrib/bind9/lib/isc/noatomic/include/Makefile.in user/gabor/tre-integration/contrib/bind9/lib/isc/noatomic/include/isc/Makefile.in user/gabor/tre-integration/contrib/bind9/lib/isc/noatomic/include/isc/atomic.h user/gabor/tre-integration/contrib/bind9/lib/isc/nothreads/condition.c user/gabor/tre-integration/contrib/bind9/lib/isc/nothreads/include/Makefile.in user/gabor/tre-integration/contrib/bind9/lib/isc/nothreads/include/isc/Makefile.in user/gabor/tre-integration/contrib/bind9/lib/isc/nothreads/include/isc/condition.h user/gabor/tre-integration/contrib/bind9/lib/isc/nothreads/include/isc/mutex.h user/gabor/tre-integration/contrib/bind9/lib/isc/nothreads/include/isc/once.h user/gabor/tre-integration/contrib/bind9/lib/isc/nothreads/include/isc/thread.h user/gabor/tre-integration/contrib/bind9/lib/isc/nothreads/mutex.c user/gabor/tre-integration/contrib/bind9/lib/isc/nothreads/thread.c user/gabor/tre-integration/contrib/bind9/lib/isc/ondestroy.c user/gabor/tre-integration/contrib/bind9/lib/isc/parseint.c user/gabor/tre-integration/contrib/bind9/lib/isc/portset.c user/gabor/tre-integration/contrib/bind9/lib/isc/powerpc/Makefile.in user/gabor/tre-integration/contrib/bind9/lib/isc/powerpc/include/Makefile.in user/gabor/tre-integration/contrib/bind9/lib/isc/powerpc/include/isc/Makefile.in user/gabor/tre-integration/contrib/bind9/lib/isc/powerpc/include/isc/atomic.h user/gabor/tre-integration/contrib/bind9/lib/isc/pthreads/Makefile.in user/gabor/tre-integration/contrib/bind9/lib/isc/pthreads/condition.c user/gabor/tre-integration/contrib/bind9/lib/isc/pthreads/include/Makefile.in user/gabor/tre-integration/contrib/bind9/lib/isc/pthreads/include/isc/Makefile.in user/gabor/tre-integration/contrib/bind9/lib/isc/pthreads/include/isc/condition.h user/gabor/tre-integration/contrib/bind9/lib/isc/pthreads/include/isc/mutex.h user/gabor/tre-integration/contrib/bind9/lib/isc/pthreads/include/isc/once.h user/gabor/tre-integration/contrib/bind9/lib/isc/pthreads/include/isc/thread.h user/gabor/tre-integration/contrib/bind9/lib/isc/pthreads/thread.c user/gabor/tre-integration/contrib/bind9/lib/isc/quota.c user/gabor/tre-integration/contrib/bind9/lib/isc/radix.c user/gabor/tre-integration/contrib/bind9/lib/isc/random.c user/gabor/tre-integration/contrib/bind9/lib/isc/ratelimiter.c user/gabor/tre-integration/contrib/bind9/lib/isc/refcount.c user/gabor/tre-integration/contrib/bind9/lib/isc/region.c user/gabor/tre-integration/contrib/bind9/lib/isc/result.c user/gabor/tre-integration/contrib/bind9/lib/isc/rwlock.c user/gabor/tre-integration/contrib/bind9/lib/isc/serial.c user/gabor/tre-integration/contrib/bind9/lib/isc/sha1.c user/gabor/tre-integration/contrib/bind9/lib/isc/sha2.c user/gabor/tre-integration/contrib/bind9/lib/isc/sockaddr.c user/gabor/tre-integration/contrib/bind9/lib/isc/sparc64/Makefile.in user/gabor/tre-integration/contrib/bind9/lib/isc/sparc64/include/Makefile.in user/gabor/tre-integration/contrib/bind9/lib/isc/sparc64/include/isc/Makefile.in user/gabor/tre-integration/contrib/bind9/lib/isc/sparc64/include/isc/atomic.h user/gabor/tre-integration/contrib/bind9/lib/isc/stats.c user/gabor/tre-integration/contrib/bind9/lib/isc/string.c user/gabor/tre-integration/contrib/bind9/lib/isc/strtoul.c user/gabor/tre-integration/contrib/bind9/lib/isc/symtab.c user/gabor/tre-integration/contrib/bind9/lib/isc/task_p.h user/gabor/tre-integration/contrib/bind9/lib/isc/taskpool.c user/gabor/tre-integration/contrib/bind9/lib/isc/timer.c user/gabor/tre-integration/contrib/bind9/lib/isc/timer_p.h user/gabor/tre-integration/contrib/bind9/lib/isc/unix/Makefile.in user/gabor/tre-integration/contrib/bind9/lib/isc/unix/app.c user/gabor/tre-integration/contrib/bind9/lib/isc/unix/dir.c user/gabor/tre-integration/contrib/bind9/lib/isc/unix/entropy.c user/gabor/tre-integration/contrib/bind9/lib/isc/unix/errno2result.c user/gabor/tre-integration/contrib/bind9/lib/isc/unix/errno2result.h user/gabor/tre-integration/contrib/bind9/lib/isc/unix/file.c user/gabor/tre-integration/contrib/bind9/lib/isc/unix/fsaccess.c user/gabor/tre-integration/contrib/bind9/lib/isc/unix/ifiter_getifaddrs.c user/gabor/tre-integration/contrib/bind9/lib/isc/unix/ifiter_ioctl.c user/gabor/tre-integration/contrib/bind9/lib/isc/unix/ifiter_sysctl.c user/gabor/tre-integration/contrib/bind9/lib/isc/unix/include/Makefile.in user/gabor/tre-integration/contrib/bind9/lib/isc/unix/include/isc/Makefile.in user/gabor/tre-integration/contrib/bind9/lib/isc/unix/include/isc/dir.h user/gabor/tre-integration/contrib/bind9/lib/isc/unix/include/isc/int.h user/gabor/tre-integration/contrib/bind9/lib/isc/unix/include/isc/keyboard.h user/gabor/tre-integration/contrib/bind9/lib/isc/unix/include/isc/net.h user/gabor/tre-integration/contrib/bind9/lib/isc/unix/include/isc/netdb.h user/gabor/tre-integration/contrib/bind9/lib/isc/unix/include/isc/offset.h user/gabor/tre-integration/contrib/bind9/lib/isc/unix/include/isc/stat.h user/gabor/tre-integration/contrib/bind9/lib/isc/unix/include/isc/stdtime.h user/gabor/tre-integration/contrib/bind9/lib/isc/unix/include/isc/strerror.h user/gabor/tre-integration/contrib/bind9/lib/isc/unix/include/isc/syslog.h user/gabor/tre-integration/contrib/bind9/lib/isc/unix/include/isc/time.h user/gabor/tre-integration/contrib/bind9/lib/isc/unix/interfaceiter.c user/gabor/tre-integration/contrib/bind9/lib/isc/unix/ipv6.c user/gabor/tre-integration/contrib/bind9/lib/isc/unix/keyboard.c user/gabor/tre-integration/contrib/bind9/lib/isc/unix/net.c user/gabor/tre-integration/contrib/bind9/lib/isc/unix/os.c user/gabor/tre-integration/contrib/bind9/lib/isc/unix/resource.c user/gabor/tre-integration/contrib/bind9/lib/isc/unix/socket_p.h user/gabor/tre-integration/contrib/bind9/lib/isc/unix/stdio.c user/gabor/tre-integration/contrib/bind9/lib/isc/unix/stdtime.c user/gabor/tre-integration/contrib/bind9/lib/isc/unix/strerror.c user/gabor/tre-integration/contrib/bind9/lib/isc/unix/syslog.c user/gabor/tre-integration/contrib/bind9/lib/isc/unix/time.c user/gabor/tre-integration/contrib/bind9/lib/isc/version.c user/gabor/tre-integration/contrib/bind9/lib/isc/x86_32/Makefile.in user/gabor/tre-integration/contrib/bind9/lib/isc/x86_32/include/Makefile.in user/gabor/tre-integration/contrib/bind9/lib/isc/x86_32/include/isc/Makefile.in user/gabor/tre-integration/contrib/bind9/lib/isc/x86_32/include/isc/atomic.h user/gabor/tre-integration/contrib/bind9/lib/isc/x86_64/Makefile.in user/gabor/tre-integration/contrib/bind9/lib/isc/x86_64/include/Makefile.in user/gabor/tre-integration/contrib/bind9/lib/isc/x86_64/include/isc/Makefile.in user/gabor/tre-integration/contrib/bind9/lib/isc/x86_64/include/isc/atomic.h user/gabor/tre-integration/contrib/bind9/lib/isccc/Makefile.in user/gabor/tre-integration/contrib/bind9/lib/isccc/alist.c user/gabor/tre-integration/contrib/bind9/lib/isccc/base64.c user/gabor/tre-integration/contrib/bind9/lib/isccc/cc.c user/gabor/tre-integration/contrib/bind9/lib/isccc/ccmsg.c user/gabor/tre-integration/contrib/bind9/lib/isccc/include/Makefile.in user/gabor/tre-integration/contrib/bind9/lib/isccc/include/isccc/Makefile.in user/gabor/tre-integration/contrib/bind9/lib/isccc/include/isccc/alist.h user/gabor/tre-integration/contrib/bind9/lib/isccc/include/isccc/base64.h user/gabor/tre-integration/contrib/bind9/lib/isccc/include/isccc/cc.h user/gabor/tre-integration/contrib/bind9/lib/isccc/include/isccc/ccmsg.h user/gabor/tre-integration/contrib/bind9/lib/isccc/include/isccc/events.h user/gabor/tre-integration/contrib/bind9/lib/isccc/include/isccc/lib.h user/gabor/tre-integration/contrib/bind9/lib/isccc/include/isccc/result.h user/gabor/tre-integration/contrib/bind9/lib/isccc/include/isccc/sexpr.h user/gabor/tre-integration/contrib/bind9/lib/isccc/include/isccc/symtab.h user/gabor/tre-integration/contrib/bind9/lib/isccc/include/isccc/symtype.h user/gabor/tre-integration/contrib/bind9/lib/isccc/include/isccc/types.h user/gabor/tre-integration/contrib/bind9/lib/isccc/include/isccc/util.h user/gabor/tre-integration/contrib/bind9/lib/isccc/include/isccc/version.h user/gabor/tre-integration/contrib/bind9/lib/isccc/lib.c user/gabor/tre-integration/contrib/bind9/lib/isccc/result.c user/gabor/tre-integration/contrib/bind9/lib/isccc/sexpr.c user/gabor/tre-integration/contrib/bind9/lib/isccc/symtab.c user/gabor/tre-integration/contrib/bind9/lib/isccc/version.c user/gabor/tre-integration/contrib/bind9/lib/isccfg/Makefile.in user/gabor/tre-integration/contrib/bind9/lib/isccfg/aclconf.c user/gabor/tre-integration/contrib/bind9/lib/isccfg/include/Makefile.in user/gabor/tre-integration/contrib/bind9/lib/isccfg/include/isccfg/Makefile.in user/gabor/tre-integration/contrib/bind9/lib/isccfg/include/isccfg/aclconf.h user/gabor/tre-integration/contrib/bind9/lib/isccfg/include/isccfg/cfg.h user/gabor/tre-integration/contrib/bind9/lib/isccfg/include/isccfg/grammar.h user/gabor/tre-integration/contrib/bind9/lib/isccfg/include/isccfg/log.h user/gabor/tre-integration/contrib/bind9/lib/isccfg/include/isccfg/namedconf.h user/gabor/tre-integration/contrib/bind9/lib/isccfg/include/isccfg/version.h user/gabor/tre-integration/contrib/bind9/lib/isccfg/log.c user/gabor/tre-integration/contrib/bind9/lib/isccfg/parser.c user/gabor/tre-integration/contrib/bind9/lib/isccfg/version.c user/gabor/tre-integration/contrib/bind9/lib/lwres/Makefile.in user/gabor/tre-integration/contrib/bind9/lib/lwres/assert_p.h user/gabor/tre-integration/contrib/bind9/lib/lwres/context.c user/gabor/tre-integration/contrib/bind9/lib/lwres/context_p.h user/gabor/tre-integration/contrib/bind9/lib/lwres/gai_strerror.c user/gabor/tre-integration/contrib/bind9/lib/lwres/getaddrinfo.c user/gabor/tre-integration/contrib/bind9/lib/lwres/gethost.c user/gabor/tre-integration/contrib/bind9/lib/lwres/getipnode.c user/gabor/tre-integration/contrib/bind9/lib/lwres/getnameinfo.c user/gabor/tre-integration/contrib/bind9/lib/lwres/getrrset.c user/gabor/tre-integration/contrib/bind9/lib/lwres/herror.c user/gabor/tre-integration/contrib/bind9/lib/lwres/include/Makefile.in user/gabor/tre-integration/contrib/bind9/lib/lwres/include/lwres/Makefile.in user/gabor/tre-integration/contrib/bind9/lib/lwres/include/lwres/context.h user/gabor/tre-integration/contrib/bind9/lib/lwres/include/lwres/int.h user/gabor/tre-integration/contrib/bind9/lib/lwres/include/lwres/ipv6.h user/gabor/tre-integration/contrib/bind9/lib/lwres/include/lwres/lang.h user/gabor/tre-integration/contrib/bind9/lib/lwres/include/lwres/list.h user/gabor/tre-integration/contrib/bind9/lib/lwres/include/lwres/lwbuffer.h user/gabor/tre-integration/contrib/bind9/lib/lwres/include/lwres/lwpacket.h user/gabor/tre-integration/contrib/bind9/lib/lwres/include/lwres/lwres.h user/gabor/tre-integration/contrib/bind9/lib/lwres/include/lwres/netdb.h.in user/gabor/tre-integration/contrib/bind9/lib/lwres/include/lwres/platform.h.in user/gabor/tre-integration/contrib/bind9/lib/lwres/include/lwres/result.h user/gabor/tre-integration/contrib/bind9/lib/lwres/include/lwres/stdlib.h user/gabor/tre-integration/contrib/bind9/lib/lwres/include/lwres/version.h user/gabor/tre-integration/contrib/bind9/lib/lwres/lwbuffer.c user/gabor/tre-integration/contrib/bind9/lib/lwres/lwconfig.c user/gabor/tre-integration/contrib/bind9/lib/lwres/lwinetaton.c user/gabor/tre-integration/contrib/bind9/lib/lwres/lwinetntop.c user/gabor/tre-integration/contrib/bind9/lib/lwres/lwinetpton.c user/gabor/tre-integration/contrib/bind9/lib/lwres/lwpacket.c user/gabor/tre-integration/contrib/bind9/lib/lwres/lwres_gabn.c user/gabor/tre-integration/contrib/bind9/lib/lwres/lwres_gnba.c user/gabor/tre-integration/contrib/bind9/lib/lwres/lwres_grbn.c user/gabor/tre-integration/contrib/bind9/lib/lwres/lwres_noop.c user/gabor/tre-integration/contrib/bind9/lib/lwres/lwresutil.c user/gabor/tre-integration/contrib/bind9/lib/lwres/man/Makefile.in user/gabor/tre-integration/contrib/bind9/lib/lwres/man/lwres.3 user/gabor/tre-integration/contrib/bind9/lib/lwres/man/lwres.docbook user/gabor/tre-integration/contrib/bind9/lib/lwres/man/lwres_buffer.3 user/gabor/tre-integration/contrib/bind9/lib/lwres/man/lwres_buffer.docbook user/gabor/tre-integration/contrib/bind9/lib/lwres/man/lwres_config.3 user/gabor/tre-integration/contrib/bind9/lib/lwres/man/lwres_config.docbook user/gabor/tre-integration/contrib/bind9/lib/lwres/man/lwres_context.3 user/gabor/tre-integration/contrib/bind9/lib/lwres/man/lwres_context.docbook user/gabor/tre-integration/contrib/bind9/lib/lwres/man/lwres_gabn.3 user/gabor/tre-integration/contrib/bind9/lib/lwres/man/lwres_gabn.docbook user/gabor/tre-integration/contrib/bind9/lib/lwres/man/lwres_gai_strerror.3 user/gabor/tre-integration/contrib/bind9/lib/lwres/man/lwres_gai_strerror.docbook user/gabor/tre-integration/contrib/bind9/lib/lwres/man/lwres_getaddrinfo.3 user/gabor/tre-integration/contrib/bind9/lib/lwres/man/lwres_getaddrinfo.docbook user/gabor/tre-integration/contrib/bind9/lib/lwres/man/lwres_gethostent.3 user/gabor/tre-integration/contrib/bind9/lib/lwres/man/lwres_gethostent.docbook user/gabor/tre-integration/contrib/bind9/lib/lwres/man/lwres_getipnode.3 user/gabor/tre-integration/contrib/bind9/lib/lwres/man/lwres_getipnode.docbook user/gabor/tre-integration/contrib/bind9/lib/lwres/man/lwres_getnameinfo.3 user/gabor/tre-integration/contrib/bind9/lib/lwres/man/lwres_getnameinfo.docbook user/gabor/tre-integration/contrib/bind9/lib/lwres/man/lwres_getrrsetbyname.3 user/gabor/tre-integration/contrib/bind9/lib/lwres/man/lwres_getrrsetbyname.docbook user/gabor/tre-integration/contrib/bind9/lib/lwres/man/lwres_gnba.3 user/gabor/tre-integration/contrib/bind9/lib/lwres/man/lwres_gnba.docbook user/gabor/tre-integration/contrib/bind9/lib/lwres/man/lwres_hstrerror.3 user/gabor/tre-integration/contrib/bind9/lib/lwres/man/lwres_hstrerror.docbook user/gabor/tre-integration/contrib/bind9/lib/lwres/man/lwres_inetntop.3 user/gabor/tre-integration/contrib/bind9/lib/lwres/man/lwres_inetntop.docbook user/gabor/tre-integration/contrib/bind9/lib/lwres/man/lwres_noop.3 user/gabor/tre-integration/contrib/bind9/lib/lwres/man/lwres_noop.docbook user/gabor/tre-integration/contrib/bind9/lib/lwres/man/lwres_packet.3 user/gabor/tre-integration/contrib/bind9/lib/lwres/man/lwres_packet.docbook user/gabor/tre-integration/contrib/bind9/lib/lwres/man/lwres_resutil.3 user/gabor/tre-integration/contrib/bind9/lib/lwres/man/lwres_resutil.docbook user/gabor/tre-integration/contrib/bind9/lib/lwres/print.c user/gabor/tre-integration/contrib/bind9/lib/lwres/strtoul.c user/gabor/tre-integration/contrib/bind9/lib/lwres/unix/Makefile.in user/gabor/tre-integration/contrib/bind9/lib/lwres/unix/include/Makefile.in user/gabor/tre-integration/contrib/bind9/lib/lwres/unix/include/lwres/Makefile.in user/gabor/tre-integration/contrib/bind9/lib/lwres/unix/include/lwres/net.h user/gabor/tre-integration/contrib/bind9/lib/lwres/version.c user/gabor/tre-integration/contrib/bind9/make/Makefile.in user/gabor/tre-integration/contrib/bind9/make/includes.in user/gabor/tre-integration/contrib/bind9/make/rules.in user/gabor/tre-integration/contrib/bind9/mkinstalldirs user/gabor/tre-integration/contrib/bind9/version user/gabor/tre-integration/contrib/binutils/binutils/objcopy.c user/gabor/tre-integration/contrib/binutils/binutils/readelf.c user/gabor/tre-integration/contrib/binutils/binutils/strings.c user/gabor/tre-integration/contrib/binutils/gas/read.h user/gabor/tre-integration/contrib/binutils/gas/write.c user/gabor/tre-integration/contrib/binutils/ld/emulparams/elf64bmip-defs.sh user/gabor/tre-integration/contrib/binutils/ld/ldlang.c user/gabor/tre-integration/contrib/compiler-rt/CREDITS.TXT user/gabor/tre-integration/contrib/compiler-rt/LICENSE.TXT user/gabor/tre-integration/contrib/compiler-rt/README.txt user/gabor/tre-integration/contrib/compiler-rt/lib/absvdi2.c user/gabor/tre-integration/contrib/compiler-rt/lib/absvsi2.c user/gabor/tre-integration/contrib/compiler-rt/lib/absvti2.c user/gabor/tre-integration/contrib/compiler-rt/lib/adddf3.c user/gabor/tre-integration/contrib/compiler-rt/lib/addsf3.c user/gabor/tre-integration/contrib/compiler-rt/lib/addvdi3.c user/gabor/tre-integration/contrib/compiler-rt/lib/addvsi3.c user/gabor/tre-integration/contrib/compiler-rt/lib/addvti3.c user/gabor/tre-integration/contrib/compiler-rt/lib/apple_versioning.c user/gabor/tre-integration/contrib/compiler-rt/lib/arm/adddf3vfp.S user/gabor/tre-integration/contrib/compiler-rt/lib/arm/addsf3vfp.S user/gabor/tre-integration/contrib/compiler-rt/lib/arm/bswapdi2.S user/gabor/tre-integration/contrib/compiler-rt/lib/arm/bswapsi2.S user/gabor/tre-integration/contrib/compiler-rt/lib/arm/comparesf2.S user/gabor/tre-integration/contrib/compiler-rt/lib/arm/divdf3vfp.S user/gabor/tre-integration/contrib/compiler-rt/lib/arm/divsf3vfp.S user/gabor/tre-integration/contrib/compiler-rt/lib/arm/eqdf2vfp.S user/gabor/tre-integration/contrib/compiler-rt/lib/arm/eqsf2vfp.S user/gabor/tre-integration/contrib/compiler-rt/lib/arm/extendsfdf2vfp.S user/gabor/tre-integration/contrib/compiler-rt/lib/arm/fixdfsivfp.S user/gabor/tre-integration/contrib/compiler-rt/lib/arm/fixsfsivfp.S user/gabor/tre-integration/contrib/compiler-rt/lib/arm/fixunsdfsivfp.S user/gabor/tre-integration/contrib/compiler-rt/lib/arm/fixunssfsivfp.S user/gabor/tre-integration/contrib/compiler-rt/lib/arm/floatsidfvfp.S user/gabor/tre-integration/contrib/compiler-rt/lib/arm/floatsisfvfp.S user/gabor/tre-integration/contrib/compiler-rt/lib/arm/floatunssidfvfp.S user/gabor/tre-integration/contrib/compiler-rt/lib/arm/floatunssisfvfp.S user/gabor/tre-integration/contrib/compiler-rt/lib/arm/gedf2vfp.S user/gabor/tre-integration/contrib/compiler-rt/lib/arm/gesf2vfp.S user/gabor/tre-integration/contrib/compiler-rt/lib/arm/gtdf2vfp.S user/gabor/tre-integration/contrib/compiler-rt/lib/arm/gtsf2vfp.S user/gabor/tre-integration/contrib/compiler-rt/lib/arm/ledf2vfp.S user/gabor/tre-integration/contrib/compiler-rt/lib/arm/lesf2vfp.S user/gabor/tre-integration/contrib/compiler-rt/lib/arm/ltdf2vfp.S user/gabor/tre-integration/contrib/compiler-rt/lib/arm/ltsf2vfp.S user/gabor/tre-integration/contrib/compiler-rt/lib/arm/modsi3.S user/gabor/tre-integration/contrib/compiler-rt/lib/arm/muldf3vfp.S user/gabor/tre-integration/contrib/compiler-rt/lib/arm/mulsf3vfp.S user/gabor/tre-integration/contrib/compiler-rt/lib/arm/nedf2vfp.S user/gabor/tre-integration/contrib/compiler-rt/lib/arm/negdf2vfp.S user/gabor/tre-integration/contrib/compiler-rt/lib/arm/negsf2vfp.S user/gabor/tre-integration/contrib/compiler-rt/lib/arm/nesf2vfp.S user/gabor/tre-integration/contrib/compiler-rt/lib/arm/restore_vfp_d8_d15_regs.S user/gabor/tre-integration/contrib/compiler-rt/lib/arm/save_vfp_d8_d15_regs.S user/gabor/tre-integration/contrib/compiler-rt/lib/arm/subdf3vfp.S user/gabor/tre-integration/contrib/compiler-rt/lib/arm/subsf3vfp.S user/gabor/tre-integration/contrib/compiler-rt/lib/arm/switch16.S user/gabor/tre-integration/contrib/compiler-rt/lib/arm/switch32.S user/gabor/tre-integration/contrib/compiler-rt/lib/arm/switch8.S user/gabor/tre-integration/contrib/compiler-rt/lib/arm/switchu8.S user/gabor/tre-integration/contrib/compiler-rt/lib/arm/sync_synchronize.S user/gabor/tre-integration/contrib/compiler-rt/lib/arm/truncdfsf2vfp.S user/gabor/tre-integration/contrib/compiler-rt/lib/arm/unorddf2vfp.S user/gabor/tre-integration/contrib/compiler-rt/lib/arm/unordsf2vfp.S user/gabor/tre-integration/contrib/compiler-rt/lib/ashldi3.c user/gabor/tre-integration/contrib/compiler-rt/lib/ashlti3.c user/gabor/tre-integration/contrib/compiler-rt/lib/ashrdi3.c user/gabor/tre-integration/contrib/compiler-rt/lib/ashrti3.c user/gabor/tre-integration/contrib/compiler-rt/lib/assembly.h user/gabor/tre-integration/contrib/compiler-rt/lib/clear_cache.c user/gabor/tre-integration/contrib/compiler-rt/lib/clzdi2.c user/gabor/tre-integration/contrib/compiler-rt/lib/clzsi2.c user/gabor/tre-integration/contrib/compiler-rt/lib/clzti2.c user/gabor/tre-integration/contrib/compiler-rt/lib/cmpdi2.c user/gabor/tre-integration/contrib/compiler-rt/lib/cmpti2.c user/gabor/tre-integration/contrib/compiler-rt/lib/comparedf2.c user/gabor/tre-integration/contrib/compiler-rt/lib/comparesf2.c user/gabor/tre-integration/contrib/compiler-rt/lib/ctzdi2.c user/gabor/tre-integration/contrib/compiler-rt/lib/ctzsi2.c user/gabor/tre-integration/contrib/compiler-rt/lib/ctzti2.c user/gabor/tre-integration/contrib/compiler-rt/lib/divdc3.c user/gabor/tre-integration/contrib/compiler-rt/lib/divdf3.c user/gabor/tre-integration/contrib/compiler-rt/lib/divdi3.c user/gabor/tre-integration/contrib/compiler-rt/lib/divsc3.c user/gabor/tre-integration/contrib/compiler-rt/lib/divsf3.c user/gabor/tre-integration/contrib/compiler-rt/lib/divsi3.c user/gabor/tre-integration/contrib/compiler-rt/lib/divti3.c user/gabor/tre-integration/contrib/compiler-rt/lib/divxc3.c user/gabor/tre-integration/contrib/compiler-rt/lib/enable_execute_stack.c user/gabor/tre-integration/contrib/compiler-rt/lib/endianness.h user/gabor/tre-integration/contrib/compiler-rt/lib/eprintf.c user/gabor/tre-integration/contrib/compiler-rt/lib/extendsfdf2.c user/gabor/tre-integration/contrib/compiler-rt/lib/ffsdi2.c user/gabor/tre-integration/contrib/compiler-rt/lib/ffsti2.c user/gabor/tre-integration/contrib/compiler-rt/lib/fixdfdi.c user/gabor/tre-integration/contrib/compiler-rt/lib/fixdfsi.c user/gabor/tre-integration/contrib/compiler-rt/lib/fixdfti.c user/gabor/tre-integration/contrib/compiler-rt/lib/fixsfdi.c user/gabor/tre-integration/contrib/compiler-rt/lib/fixsfsi.c user/gabor/tre-integration/contrib/compiler-rt/lib/fixsfti.c user/gabor/tre-integration/contrib/compiler-rt/lib/fixunsdfdi.c user/gabor/tre-integration/contrib/compiler-rt/lib/fixunsdfsi.c user/gabor/tre-integration/contrib/compiler-rt/lib/fixunsdfti.c user/gabor/tre-integration/contrib/compiler-rt/lib/fixunssfdi.c user/gabor/tre-integration/contrib/compiler-rt/lib/fixunssfsi.c user/gabor/tre-integration/contrib/compiler-rt/lib/fixunssfti.c user/gabor/tre-integration/contrib/compiler-rt/lib/fixunsxfdi.c user/gabor/tre-integration/contrib/compiler-rt/lib/fixunsxfsi.c user/gabor/tre-integration/contrib/compiler-rt/lib/fixunsxfti.c user/gabor/tre-integration/contrib/compiler-rt/lib/fixxfdi.c user/gabor/tre-integration/contrib/compiler-rt/lib/fixxfti.c user/gabor/tre-integration/contrib/compiler-rt/lib/floatdidf.c user/gabor/tre-integration/contrib/compiler-rt/lib/floatdisf.c user/gabor/tre-integration/contrib/compiler-rt/lib/floatdixf.c user/gabor/tre-integration/contrib/compiler-rt/lib/floatsidf.c user/gabor/tre-integration/contrib/compiler-rt/lib/floatsisf.c user/gabor/tre-integration/contrib/compiler-rt/lib/floattidf.c user/gabor/tre-integration/contrib/compiler-rt/lib/floattisf.c user/gabor/tre-integration/contrib/compiler-rt/lib/floattixf.c user/gabor/tre-integration/contrib/compiler-rt/lib/floatundidf.c user/gabor/tre-integration/contrib/compiler-rt/lib/floatundisf.c user/gabor/tre-integration/contrib/compiler-rt/lib/floatundixf.c user/gabor/tre-integration/contrib/compiler-rt/lib/floatunsidf.c user/gabor/tre-integration/contrib/compiler-rt/lib/floatunsisf.c user/gabor/tre-integration/contrib/compiler-rt/lib/floatuntidf.c user/gabor/tre-integration/contrib/compiler-rt/lib/floatuntisf.c user/gabor/tre-integration/contrib/compiler-rt/lib/floatuntixf.c user/gabor/tre-integration/contrib/compiler-rt/lib/fp_lib.h user/gabor/tre-integration/contrib/compiler-rt/lib/gcc_personality_v0.c user/gabor/tre-integration/contrib/compiler-rt/lib/i386/ashldi3.S user/gabor/tre-integration/contrib/compiler-rt/lib/i386/ashrdi3.S user/gabor/tre-integration/contrib/compiler-rt/lib/i386/divdi3.S user/gabor/tre-integration/contrib/compiler-rt/lib/i386/floatdidf.S user/gabor/tre-integration/contrib/compiler-rt/lib/i386/floatdisf.S user/gabor/tre-integration/contrib/compiler-rt/lib/i386/floatdixf.S user/gabor/tre-integration/contrib/compiler-rt/lib/i386/floatundidf.S user/gabor/tre-integration/contrib/compiler-rt/lib/i386/floatundisf.S user/gabor/tre-integration/contrib/compiler-rt/lib/i386/floatundixf.S user/gabor/tre-integration/contrib/compiler-rt/lib/i386/lshrdi3.S user/gabor/tre-integration/contrib/compiler-rt/lib/i386/moddi3.S user/gabor/tre-integration/contrib/compiler-rt/lib/i386/muldi3.S user/gabor/tre-integration/contrib/compiler-rt/lib/i386/udivdi3.S user/gabor/tre-integration/contrib/compiler-rt/lib/i386/umoddi3.S user/gabor/tre-integration/contrib/compiler-rt/lib/int_lib.h user/gabor/tre-integration/contrib/compiler-rt/lib/lshrdi3.c user/gabor/tre-integration/contrib/compiler-rt/lib/lshrti3.c user/gabor/tre-integration/contrib/compiler-rt/lib/moddi3.c user/gabor/tre-integration/contrib/compiler-rt/lib/modsi3.c user/gabor/tre-integration/contrib/compiler-rt/lib/modti3.c user/gabor/tre-integration/contrib/compiler-rt/lib/muldc3.c user/gabor/tre-integration/contrib/compiler-rt/lib/muldf3.c user/gabor/tre-integration/contrib/compiler-rt/lib/muldi3.c user/gabor/tre-integration/contrib/compiler-rt/lib/mulsc3.c user/gabor/tre-integration/contrib/compiler-rt/lib/mulsf3.c user/gabor/tre-integration/contrib/compiler-rt/lib/multi3.c user/gabor/tre-integration/contrib/compiler-rt/lib/mulvdi3.c user/gabor/tre-integration/contrib/compiler-rt/lib/mulvsi3.c user/gabor/tre-integration/contrib/compiler-rt/lib/mulvti3.c user/gabor/tre-integration/contrib/compiler-rt/lib/mulxc3.c user/gabor/tre-integration/contrib/compiler-rt/lib/negdf2.c user/gabor/tre-integration/contrib/compiler-rt/lib/negdi2.c user/gabor/tre-integration/contrib/compiler-rt/lib/negsf2.c user/gabor/tre-integration/contrib/compiler-rt/lib/negti2.c user/gabor/tre-integration/contrib/compiler-rt/lib/negvdi2.c user/gabor/tre-integration/contrib/compiler-rt/lib/negvsi2.c user/gabor/tre-integration/contrib/compiler-rt/lib/negvti2.c user/gabor/tre-integration/contrib/compiler-rt/lib/paritydi2.c user/gabor/tre-integration/contrib/compiler-rt/lib/paritysi2.c user/gabor/tre-integration/contrib/compiler-rt/lib/parityti2.c user/gabor/tre-integration/contrib/compiler-rt/lib/popcountdi2.c user/gabor/tre-integration/contrib/compiler-rt/lib/popcountsi2.c user/gabor/tre-integration/contrib/compiler-rt/lib/popcountti2.c user/gabor/tre-integration/contrib/compiler-rt/lib/powidf2.c user/gabor/tre-integration/contrib/compiler-rt/lib/powisf2.c user/gabor/tre-integration/contrib/compiler-rt/lib/powitf2.c user/gabor/tre-integration/contrib/compiler-rt/lib/powixf2.c user/gabor/tre-integration/contrib/compiler-rt/lib/ppc/restFP.S user/gabor/tre-integration/contrib/compiler-rt/lib/ppc/saveFP.S user/gabor/tre-integration/contrib/compiler-rt/lib/subvdi3.c user/gabor/tre-integration/contrib/compiler-rt/lib/subvsi3.c user/gabor/tre-integration/contrib/compiler-rt/lib/subvti3.c user/gabor/tre-integration/contrib/compiler-rt/lib/trampoline_setup.c user/gabor/tre-integration/contrib/compiler-rt/lib/truncdfsf2.c user/gabor/tre-integration/contrib/compiler-rt/lib/ucmpdi2.c user/gabor/tre-integration/contrib/compiler-rt/lib/ucmpti2.c user/gabor/tre-integration/contrib/compiler-rt/lib/udivdi3.c user/gabor/tre-integration/contrib/compiler-rt/lib/udivmoddi4.c user/gabor/tre-integration/contrib/compiler-rt/lib/udivmodti4.c user/gabor/tre-integration/contrib/compiler-rt/lib/udivsi3.c user/gabor/tre-integration/contrib/compiler-rt/lib/udivti3.c user/gabor/tre-integration/contrib/compiler-rt/lib/umoddi3.c user/gabor/tre-integration/contrib/compiler-rt/lib/umodsi3.c user/gabor/tre-integration/contrib/compiler-rt/lib/umodti3.c user/gabor/tre-integration/contrib/compiler-rt/lib/x86_64/floatundidf.S user/gabor/tre-integration/contrib/compiler-rt/lib/x86_64/floatundisf.S user/gabor/tre-integration/contrib/compiler-rt/lib/x86_64/floatundixf.S user/gabor/tre-integration/contrib/gcc/combine.c user/gabor/tre-integration/contrib/gcc/emit-rtl.c user/gabor/tre-integration/contrib/gcc/function.c user/gabor/tre-integration/contrib/gcc/genattrtab.c user/gabor/tre-integration/contrib/gcc/genautomata.c user/gabor/tre-integration/contrib/gcc/gengtype-lex.l user/gabor/tre-integration/contrib/gcc/genmodes.c user/gabor/tre-integration/contrib/gcc/omp-low.c user/gabor/tre-integration/contrib/gcc/tree-cfg.c user/gabor/tre-integration/contrib/gcc/tree-vect-patterns.c user/gabor/tre-integration/contrib/gcclibs/libiberty/regex.c user/gabor/tre-integration/contrib/gdb/gdb/ppcfbsd-tdep.c user/gabor/tre-integration/contrib/gperf/src/gen-perf.cc user/gabor/tre-integration/contrib/gperf/src/key-list.cc user/gabor/tre-integration/contrib/gperf/src/options.cc user/gabor/tre-integration/contrib/groff/src/devices/grohtml/post-html.cpp user/gabor/tre-integration/contrib/groff/src/libs/libdriver/input.cpp user/gabor/tre-integration/contrib/groff/src/roff/troff/mtsm.cpp user/gabor/tre-integration/contrib/groff/src/roff/troff/node.cpp user/gabor/tre-integration/contrib/groff/src/utils/hpftodit/hpftodit.cpp user/gabor/tre-integration/contrib/groff/tmac/doc-common user/gabor/tre-integration/contrib/groff/tmac/doc-syms user/gabor/tre-integration/contrib/groff/tmac/doc.tmac user/gabor/tre-integration/contrib/groff/tmac/troffrc user/gabor/tre-integration/contrib/less/LICENSE user/gabor/tre-integration/contrib/less/Makefile.aut user/gabor/tre-integration/contrib/less/Makefile.wnm user/gabor/tre-integration/contrib/less/NEWS user/gabor/tre-integration/contrib/less/README user/gabor/tre-integration/contrib/less/brac.c user/gabor/tre-integration/contrib/less/ch.c user/gabor/tre-integration/contrib/less/charset.c user/gabor/tre-integration/contrib/less/charset.h user/gabor/tre-integration/contrib/less/cmd.h user/gabor/tre-integration/contrib/less/cmdbuf.c user/gabor/tre-integration/contrib/less/command.c user/gabor/tre-integration/contrib/less/configure user/gabor/tre-integration/contrib/less/configure.ac user/gabor/tre-integration/contrib/less/cvt.c user/gabor/tre-integration/contrib/less/decode.c user/gabor/tre-integration/contrib/less/defines.ds user/gabor/tre-integration/contrib/less/defines.h.in user/gabor/tre-integration/contrib/less/defines.o2 user/gabor/tre-integration/contrib/less/defines.o9 user/gabor/tre-integration/contrib/less/defines.wn user/gabor/tre-integration/contrib/less/edit.c user/gabor/tre-integration/contrib/less/filename.c user/gabor/tre-integration/contrib/less/forwback.c user/gabor/tre-integration/contrib/less/funcs.h user/gabor/tre-integration/contrib/less/help.c user/gabor/tre-integration/contrib/less/ifile.c user/gabor/tre-integration/contrib/less/input.c user/gabor/tre-integration/contrib/less/jump.c user/gabor/tre-integration/contrib/less/less.h user/gabor/tre-integration/contrib/less/less.hlp user/gabor/tre-integration/contrib/less/less.man user/gabor/tre-integration/contrib/less/less.nro user/gabor/tre-integration/contrib/less/lessecho.c user/gabor/tre-integration/contrib/less/lessecho.man user/gabor/tre-integration/contrib/less/lessecho.nro user/gabor/tre-integration/contrib/less/lesskey.c user/gabor/tre-integration/contrib/less/lesskey.h user/gabor/tre-integration/contrib/less/lesskey.man user/gabor/tre-integration/contrib/less/lesskey.nro user/gabor/tre-integration/contrib/less/lglob.h user/gabor/tre-integration/contrib/less/line.c user/gabor/tre-integration/contrib/less/linenum.c user/gabor/tre-integration/contrib/less/lsystem.c user/gabor/tre-integration/contrib/less/main.c user/gabor/tre-integration/contrib/less/mark.c user/gabor/tre-integration/contrib/less/mkhelp.c user/gabor/tre-integration/contrib/less/optfunc.c user/gabor/tre-integration/contrib/less/option.c user/gabor/tre-integration/contrib/less/option.h user/gabor/tre-integration/contrib/less/opttbl.c user/gabor/tre-integration/contrib/less/os.c user/gabor/tre-integration/contrib/less/output.c user/gabor/tre-integration/contrib/less/pattern.c user/gabor/tre-integration/contrib/less/pattern.h user/gabor/tre-integration/contrib/less/pckeys.h user/gabor/tre-integration/contrib/less/position.c user/gabor/tre-integration/contrib/less/position.h user/gabor/tre-integration/contrib/less/prompt.c user/gabor/tre-integration/contrib/less/screen.c user/gabor/tre-integration/contrib/less/scrsize.c user/gabor/tre-integration/contrib/less/search.c user/gabor/tre-integration/contrib/less/signal.c user/gabor/tre-integration/contrib/less/tags.c user/gabor/tre-integration/contrib/less/ttyin.c user/gabor/tre-integration/contrib/less/version.c user/gabor/tre-integration/contrib/libpcap/pcap-bpf.c user/gabor/tre-integration/contrib/llvm/include/llvm-c/Core.h user/gabor/tre-integration/contrib/llvm/include/llvm-c/Disassembler.h user/gabor/tre-integration/contrib/llvm/include/llvm/ADT/FoldingSet.h user/gabor/tre-integration/contrib/llvm/include/llvm/ADT/StringRef.h user/gabor/tre-integration/contrib/llvm/include/llvm/ADT/Triple.h user/gabor/tre-integration/contrib/llvm/include/llvm/Analysis/AliasAnalysis.h user/gabor/tre-integration/contrib/llvm/include/llvm/Analysis/CallGraph.h user/gabor/tre-integration/contrib/llvm/include/llvm/Analysis/DIBuilder.h user/gabor/tre-integration/contrib/llvm/include/llvm/Analysis/DebugInfo.h user/gabor/tre-integration/contrib/llvm/include/llvm/Analysis/FindUsedTypes.h user/gabor/tre-integration/contrib/llvm/include/llvm/Analysis/IVUsers.h user/gabor/tre-integration/contrib/llvm/include/llvm/Analysis/RegionPass.h user/gabor/tre-integration/contrib/llvm/include/llvm/Analysis/ScalarEvolution.h user/gabor/tre-integration/contrib/llvm/include/llvm/Argument.h user/gabor/tre-integration/contrib/llvm/include/llvm/Attributes.h user/gabor/tre-integration/contrib/llvm/include/llvm/CodeGen/AsmPrinter.h user/gabor/tre-integration/contrib/llvm/include/llvm/CodeGen/CallingConvLower.h user/gabor/tre-integration/contrib/llvm/include/llvm/CodeGen/FastISel.h user/gabor/tre-integration/contrib/llvm/include/llvm/CodeGen/ISDOpcodes.h user/gabor/tre-integration/contrib/llvm/include/llvm/CodeGen/LiveInterval.h user/gabor/tre-integration/contrib/llvm/include/llvm/CodeGen/MachineInstr.h user/gabor/tre-integration/contrib/llvm/include/llvm/CodeGen/MachineInstrBuilder.h user/gabor/tre-integration/contrib/llvm/include/llvm/CodeGen/MachineModuleInfo.h user/gabor/tre-integration/contrib/llvm/include/llvm/CodeGen/MachineOperand.h user/gabor/tre-integration/contrib/llvm/include/llvm/CodeGen/PseudoSourceValue.h user/gabor/tre-integration/contrib/llvm/include/llvm/CodeGen/RegAllocPBQP.h user/gabor/tre-integration/contrib/llvm/include/llvm/CodeGen/ScheduleDAG.h user/gabor/tre-integration/contrib/llvm/include/llvm/CodeGen/SelectionDAG.h user/gabor/tre-integration/contrib/llvm/include/llvm/CodeGen/TargetLoweringObjectFileImpl.h user/gabor/tre-integration/contrib/llvm/include/llvm/CompilerDriver/Common.td user/gabor/tre-integration/contrib/llvm/include/llvm/ExecutionEngine/ExecutionEngine.h user/gabor/tre-integration/contrib/llvm/include/llvm/Function.h user/gabor/tre-integration/contrib/llvm/include/llvm/InitializePasses.h user/gabor/tre-integration/contrib/llvm/include/llvm/IntrinsicInst.h user/gabor/tre-integration/contrib/llvm/include/llvm/Intrinsics.td user/gabor/tre-integration/contrib/llvm/include/llvm/IntrinsicsARM.td user/gabor/tre-integration/contrib/llvm/include/llvm/IntrinsicsX86.td user/gabor/tre-integration/contrib/llvm/include/llvm/IntrinsicsXCore.td user/gabor/tre-integration/contrib/llvm/include/llvm/LinkAllPasses.h user/gabor/tre-integration/contrib/llvm/include/llvm/MC/MCAsmInfo.h user/gabor/tre-integration/contrib/llvm/include/llvm/MC/MCDwarf.h user/gabor/tre-integration/contrib/llvm/include/llvm/MC/MCELFSymbolFlags.h user/gabor/tre-integration/contrib/llvm/include/llvm/MC/MCExpr.h user/gabor/tre-integration/contrib/llvm/include/llvm/MC/MCInstPrinter.h user/gabor/tre-integration/contrib/llvm/include/llvm/MC/MCParser/MCAsmLexer.h user/gabor/tre-integration/contrib/llvm/include/llvm/MC/MCParser/MCAsmParser.h user/gabor/tre-integration/contrib/llvm/include/llvm/MC/MCParser/MCAsmParserExtension.h user/gabor/tre-integration/contrib/llvm/include/llvm/MC/MCStreamer.h user/gabor/tre-integration/contrib/llvm/include/llvm/Metadata.h user/gabor/tre-integration/contrib/llvm/include/llvm/Operator.h user/gabor/tre-integration/contrib/llvm/include/llvm/Support/Casting.h user/gabor/tre-integration/contrib/llvm/include/llvm/Support/CrashRecoveryContext.h user/gabor/tre-integration/contrib/llvm/include/llvm/Support/Dwarf.h user/gabor/tre-integration/contrib/llvm/include/llvm/Support/IRBuilder.h user/gabor/tre-integration/contrib/llvm/include/llvm/Support/MemoryBuffer.h user/gabor/tre-integration/contrib/llvm/include/llvm/Support/PatternMatch.h user/gabor/tre-integration/contrib/llvm/include/llvm/Support/Program.h user/gabor/tre-integration/contrib/llvm/include/llvm/Support/SourceMgr.h user/gabor/tre-integration/contrib/llvm/include/llvm/Target/Target.td user/gabor/tre-integration/contrib/llvm/include/llvm/Target/TargetAsmInfo.h user/gabor/tre-integration/contrib/llvm/include/llvm/Target/TargetInstrItineraries.h user/gabor/tre-integration/contrib/llvm/include/llvm/Target/TargetLibraryInfo.h user/gabor/tre-integration/contrib/llvm/include/llvm/Target/TargetLowering.h user/gabor/tre-integration/contrib/llvm/include/llvm/Target/TargetLoweringObjectFile.h user/gabor/tre-integration/contrib/llvm/include/llvm/Target/TargetOptions.h user/gabor/tre-integration/contrib/llvm/include/llvm/Target/TargetRegisterInfo.h user/gabor/tre-integration/contrib/llvm/include/llvm/Target/TargetSelectionDAG.td user/gabor/tre-integration/contrib/llvm/include/llvm/Transforms/Instrumentation.h user/gabor/tre-integration/contrib/llvm/include/llvm/Transforms/Utils/Local.h user/gabor/tre-integration/contrib/llvm/include/llvm/Transforms/Utils/SSAUpdater.h user/gabor/tre-integration/contrib/llvm/include/llvm/Type.h user/gabor/tre-integration/contrib/llvm/lib/Analysis/Analysis.cpp user/gabor/tre-integration/contrib/llvm/lib/Analysis/BasicAliasAnalysis.cpp user/gabor/tre-integration/contrib/llvm/lib/Analysis/ConstantFolding.cpp user/gabor/tre-integration/contrib/llvm/lib/Analysis/DIBuilder.cpp user/gabor/tre-integration/contrib/llvm/lib/Analysis/IPA/CallGraph.cpp user/gabor/tre-integration/contrib/llvm/lib/Analysis/IPA/CallGraphSCCPass.cpp user/gabor/tre-integration/contrib/llvm/lib/Analysis/IPA/FindUsedTypes.cpp user/gabor/tre-integration/contrib/llvm/lib/Analysis/IVUsers.cpp user/gabor/tre-integration/contrib/llvm/lib/Analysis/InlineCost.cpp user/gabor/tre-integration/contrib/llvm/lib/Analysis/InstructionSimplify.cpp user/gabor/tre-integration/contrib/llvm/lib/Analysis/LazyValueInfo.cpp user/gabor/tre-integration/contrib/llvm/lib/Analysis/Loads.cpp user/gabor/tre-integration/contrib/llvm/lib/Analysis/MemoryDependenceAnalysis.cpp user/gabor/tre-integration/contrib/llvm/lib/Analysis/RegionPass.cpp user/gabor/tre-integration/contrib/llvm/lib/Analysis/ScalarEvolution.cpp user/gabor/tre-integration/contrib/llvm/lib/Analysis/ValueTracking.cpp user/gabor/tre-integration/contrib/llvm/lib/AsmParser/LLLexer.cpp user/gabor/tre-integration/contrib/llvm/lib/AsmParser/LLLexer.h user/gabor/tre-integration/contrib/llvm/lib/AsmParser/LLParser.cpp user/gabor/tre-integration/contrib/llvm/lib/AsmParser/LLToken.h user/gabor/tre-integration/contrib/llvm/lib/Bitcode/Reader/BitcodeReader.cpp user/gabor/tre-integration/contrib/llvm/lib/Bitcode/Writer/BitcodeWriter.cpp user/gabor/tre-integration/contrib/llvm/lib/Bitcode/Writer/ValueEnumerator.cpp user/gabor/tre-integration/contrib/llvm/lib/CodeGen/AggressiveAntiDepBreaker.cpp user/gabor/tre-integration/contrib/llvm/lib/CodeGen/AggressiveAntiDepBreaker.h user/gabor/tre-integration/contrib/llvm/lib/CodeGen/AllocationOrder.cpp user/gabor/tre-integration/contrib/llvm/lib/CodeGen/AllocationOrder.h user/gabor/tre-integration/contrib/llvm/lib/CodeGen/AntiDepBreaker.h user/gabor/tre-integration/contrib/llvm/lib/CodeGen/AsmPrinter/ARMException.cpp user/gabor/tre-integration/contrib/llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp user/gabor/tre-integration/contrib/llvm/lib/CodeGen/AsmPrinter/AsmPrinterDwarf.cpp user/gabor/tre-integration/contrib/llvm/lib/CodeGen/AsmPrinter/DwarfCFIException.cpp user/gabor/tre-integration/contrib/llvm/lib/CodeGen/AsmPrinter/DwarfCompileUnit.cpp user/gabor/tre-integration/contrib/llvm/lib/CodeGen/AsmPrinter/DwarfCompileUnit.h user/gabor/tre-integration/contrib/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp user/gabor/tre-integration/contrib/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.h user/gabor/tre-integration/contrib/llvm/lib/CodeGen/AsmPrinter/DwarfException.h user/gabor/tre-integration/contrib/llvm/lib/CodeGen/BranchFolding.cpp user/gabor/tre-integration/contrib/llvm/lib/CodeGen/BranchFolding.h user/gabor/tre-integration/contrib/llvm/lib/CodeGen/CalcSpillWeights.cpp user/gabor/tre-integration/contrib/llvm/lib/CodeGen/CallingConvLower.cpp user/gabor/tre-integration/contrib/llvm/lib/CodeGen/CriticalAntiDepBreaker.cpp user/gabor/tre-integration/contrib/llvm/lib/CodeGen/CriticalAntiDepBreaker.h user/gabor/tre-integration/contrib/llvm/lib/CodeGen/DwarfEHPrepare.cpp user/gabor/tre-integration/contrib/llvm/lib/CodeGen/IfConversion.cpp user/gabor/tre-integration/contrib/llvm/lib/CodeGen/InlineSpiller.cpp user/gabor/tre-integration/contrib/llvm/lib/CodeGen/LLVMTargetMachine.cpp user/gabor/tre-integration/contrib/llvm/lib/CodeGen/LiveDebugVariables.cpp user/gabor/tre-integration/contrib/llvm/lib/CodeGen/LiveDebugVariables.h user/gabor/tre-integration/contrib/llvm/lib/CodeGen/LiveRangeEdit.cpp user/gabor/tre-integration/contrib/llvm/lib/CodeGen/LiveRangeEdit.h user/gabor/tre-integration/contrib/llvm/lib/CodeGen/MachineBasicBlock.cpp user/gabor/tre-integration/contrib/llvm/lib/CodeGen/MachineFunction.cpp user/gabor/tre-integration/contrib/llvm/lib/CodeGen/MachineInstr.cpp user/gabor/tre-integration/contrib/llvm/lib/CodeGen/MachineRegisterInfo.cpp user/gabor/tre-integration/contrib/llvm/lib/CodeGen/MachineVerifier.cpp user/gabor/tre-integration/contrib/llvm/lib/CodeGen/PostRASchedulerList.cpp user/gabor/tre-integration/contrib/llvm/lib/CodeGen/RegAllocBase.h user/gabor/tre-integration/contrib/llvm/lib/CodeGen/RegAllocBasic.cpp user/gabor/tre-integration/contrib/llvm/lib/CodeGen/RegAllocFast.cpp user/gabor/tre-integration/contrib/llvm/lib/CodeGen/RegAllocGreedy.cpp user/gabor/tre-integration/contrib/llvm/lib/CodeGen/RegisterScavenging.cpp user/gabor/tre-integration/contrib/llvm/lib/CodeGen/ScheduleDAGInstrs.cpp user/gabor/tre-integration/contrib/llvm/lib/CodeGen/ScheduleDAGInstrs.h user/gabor/tre-integration/contrib/llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp user/gabor/tre-integration/contrib/llvm/lib/CodeGen/SelectionDAG/FastISel.cpp user/gabor/tre-integration/contrib/llvm/lib/CodeGen/SelectionDAG/FunctionLoweringInfo.cpp user/gabor/tre-integration/contrib/llvm/lib/CodeGen/SelectionDAG/InstrEmitter.cpp user/gabor/tre-integration/contrib/llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp user/gabor/tre-integration/contrib/llvm/lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp user/gabor/tre-integration/contrib/llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.cpp user/gabor/tre-integration/contrib/llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h user/gabor/tre-integration/contrib/llvm/lib/CodeGen/SelectionDAG/LegalizeTypesGeneric.cpp user/gabor/tre-integration/contrib/llvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp user/gabor/tre-integration/contrib/llvm/lib/CodeGen/SelectionDAG/ScheduleDAGRRList.cpp user/gabor/tre-integration/contrib/llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp user/gabor/tre-integration/contrib/llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp user/gabor/tre-integration/contrib/llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.h user/gabor/tre-integration/contrib/llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp user/gabor/tre-integration/contrib/llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp user/gabor/tre-integration/contrib/llvm/lib/CodeGen/SimpleRegisterCoalescing.cpp user/gabor/tre-integration/contrib/llvm/lib/CodeGen/SimpleRegisterCoalescing.h user/gabor/tre-integration/contrib/llvm/lib/CodeGen/SjLjEHPrepare.cpp user/gabor/tre-integration/contrib/llvm/lib/CodeGen/SplitKit.cpp user/gabor/tre-integration/contrib/llvm/lib/CodeGen/SplitKit.h user/gabor/tre-integration/contrib/llvm/lib/CodeGen/TailDuplication.cpp user/gabor/tre-integration/contrib/llvm/lib/CodeGen/TargetInstrInfoImpl.cpp user/gabor/tre-integration/contrib/llvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp user/gabor/tre-integration/contrib/llvm/lib/CodeGen/TwoAddressInstructionPass.cpp user/gabor/tre-integration/contrib/llvm/lib/CodeGen/UnreachableBlockElim.cpp user/gabor/tre-integration/contrib/llvm/lib/CodeGen/VirtRegMap.cpp user/gabor/tre-integration/contrib/llvm/lib/ExecutionEngine/ExecutionEngine.cpp user/gabor/tre-integration/contrib/llvm/lib/ExecutionEngine/JIT/JIT.cpp user/gabor/tre-integration/contrib/llvm/lib/ExecutionEngine/JIT/JIT.h user/gabor/tre-integration/contrib/llvm/lib/ExecutionEngine/MCJIT/MCJIT.cpp user/gabor/tre-integration/contrib/llvm/lib/ExecutionEngine/MCJIT/MCJIT.h user/gabor/tre-integration/contrib/llvm/lib/ExecutionEngine/MCJIT/MCJITMemoryManager.h user/gabor/tre-integration/contrib/llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyld.cpp user/gabor/tre-integration/contrib/llvm/lib/MC/ELFObjectWriter.cpp user/gabor/tre-integration/contrib/llvm/lib/MC/ELFObjectWriter.h user/gabor/tre-integration/contrib/llvm/lib/MC/MCAsmInfo.cpp user/gabor/tre-integration/contrib/llvm/lib/MC/MCAsmInfoDarwin.cpp user/gabor/tre-integration/contrib/llvm/lib/MC/MCAsmStreamer.cpp user/gabor/tre-integration/contrib/llvm/lib/MC/MCAssembler.cpp user/gabor/tre-integration/contrib/llvm/lib/MC/MCDisassembler/Disassembler.cpp user/gabor/tre-integration/contrib/llvm/lib/MC/MCDwarf.cpp user/gabor/tre-integration/contrib/llvm/lib/MC/MCELF.cpp user/gabor/tre-integration/contrib/llvm/lib/MC/MCELFStreamer.cpp user/gabor/tre-integration/contrib/llvm/lib/MC/MCExpr.cpp user/gabor/tre-integration/contrib/llvm/lib/MC/MCInstPrinter.cpp user/gabor/tre-integration/contrib/llvm/lib/MC/MCMachOStreamer.cpp user/gabor/tre-integration/contrib/llvm/lib/MC/MCObjectStreamer.cpp user/gabor/tre-integration/contrib/llvm/lib/MC/MCParser/AsmLexer.cpp user/gabor/tre-integration/contrib/llvm/lib/MC/MCParser/AsmParser.cpp user/gabor/tre-integration/contrib/llvm/lib/MC/MCParser/COFFAsmParser.cpp user/gabor/tre-integration/contrib/llvm/lib/MC/MCParser/DarwinAsmParser.cpp user/gabor/tre-integration/contrib/llvm/lib/MC/MCStreamer.cpp user/gabor/tre-integration/contrib/llvm/lib/MC/WinCOFFStreamer.cpp user/gabor/tre-integration/contrib/llvm/lib/Support/APInt.cpp user/gabor/tre-integration/contrib/llvm/lib/Support/Dwarf.cpp user/gabor/tre-integration/contrib/llvm/lib/Support/FoldingSet.cpp user/gabor/tre-integration/contrib/llvm/lib/Support/Host.cpp user/gabor/tre-integration/contrib/llvm/lib/Support/MemoryBuffer.cpp user/gabor/tre-integration/contrib/llvm/lib/Support/SourceMgr.cpp user/gabor/tre-integration/contrib/llvm/lib/Support/Unix/Host.inc user/gabor/tre-integration/contrib/llvm/lib/Support/Unix/Program.inc user/gabor/tre-integration/contrib/llvm/lib/Support/Windows/Program.inc user/gabor/tre-integration/contrib/llvm/lib/Target/ARM/ARMAsmBackend.cpp user/gabor/tre-integration/contrib/llvm/lib/Target/ARM/ARMAsmPrinter.cpp user/gabor/tre-integration/contrib/llvm/lib/Target/ARM/ARMAsmPrinter.h user/gabor/tre-integration/contrib/llvm/lib/Target/ARM/ARMBaseRegisterInfo.cpp user/gabor/tre-integration/contrib/llvm/lib/Target/ARM/ARMBaseRegisterInfo.h user/gabor/tre-integration/contrib/llvm/lib/Target/ARM/ARMCodeEmitter.cpp user/gabor/tre-integration/contrib/llvm/lib/Target/ARM/ARMFastISel.cpp user/gabor/tre-integration/contrib/llvm/lib/Target/ARM/ARMFixupKinds.h user/gabor/tre-integration/contrib/llvm/lib/Target/ARM/ARMISelDAGToDAG.cpp user/gabor/tre-integration/contrib/llvm/lib/Target/ARM/ARMISelLowering.cpp user/gabor/tre-integration/contrib/llvm/lib/Target/ARM/ARMISelLowering.h user/gabor/tre-integration/contrib/llvm/lib/Target/ARM/ARMInstrFormats.td user/gabor/tre-integration/contrib/llvm/lib/Target/ARM/ARMInstrInfo.td user/gabor/tre-integration/contrib/llvm/lib/Target/ARM/ARMInstrNEON.td user/gabor/tre-integration/contrib/llvm/lib/Target/ARM/ARMInstrThumb.td user/gabor/tre-integration/contrib/llvm/lib/Target/ARM/ARMInstrThumb2.td user/gabor/tre-integration/contrib/llvm/lib/Target/ARM/ARMLoadStoreOptimizer.cpp user/gabor/tre-integration/contrib/llvm/lib/Target/ARM/ARMMCAsmInfo.cpp user/gabor/tre-integration/contrib/llvm/lib/Target/ARM/ARMMCCodeEmitter.cpp user/gabor/tre-integration/contrib/llvm/lib/Target/ARM/ARMPerfectShuffle.h user/gabor/tre-integration/contrib/llvm/lib/Target/ARM/ARMRegisterInfo.td user/gabor/tre-integration/contrib/llvm/lib/Target/ARM/ARMSelectionDAGInfo.cpp user/gabor/tre-integration/contrib/llvm/lib/Target/ARM/ARMSelectionDAGInfo.h user/gabor/tre-integration/contrib/llvm/lib/Target/ARM/AsmParser/ARMAsmParser.cpp user/gabor/tre-integration/contrib/llvm/lib/Target/ARM/Disassembler/ARMDisassemblerCore.cpp user/gabor/tre-integration/contrib/llvm/lib/Target/ARM/Disassembler/ThumbDisassemblerCore.h user/gabor/tre-integration/contrib/llvm/lib/Target/ARM/InstPrinter/ARMInstPrinter.cpp user/gabor/tre-integration/contrib/llvm/lib/Target/ARM/InstPrinter/ARMInstPrinter.h user/gabor/tre-integration/contrib/llvm/lib/Target/ARM/Thumb1RegisterInfo.cpp user/gabor/tre-integration/contrib/llvm/lib/Target/Alpha/AlphaISelLowering.cpp user/gabor/tre-integration/contrib/llvm/lib/Target/Alpha/AlphaISelLowering.h user/gabor/tre-integration/contrib/llvm/lib/Target/Alpha/AlphaRegisterInfo.cpp user/gabor/tre-integration/contrib/llvm/lib/Target/Alpha/AlphaRegisterInfo.h user/gabor/tre-integration/contrib/llvm/lib/Target/Alpha/AlphaRegisterInfo.td user/gabor/tre-integration/contrib/llvm/lib/Target/Blackfin/BlackfinFrameLowering.cpp user/gabor/tre-integration/contrib/llvm/lib/Target/Blackfin/BlackfinFrameLowering.h user/gabor/tre-integration/contrib/llvm/lib/Target/Blackfin/BlackfinISelDAGToDAG.cpp user/gabor/tre-integration/contrib/llvm/lib/Target/Blackfin/BlackfinISelLowering.cpp user/gabor/tre-integration/contrib/llvm/lib/Target/Blackfin/BlackfinISelLowering.h user/gabor/tre-integration/contrib/llvm/lib/Target/Blackfin/BlackfinInstrInfo.cpp user/gabor/tre-integration/contrib/llvm/lib/Target/Blackfin/BlackfinRegisterInfo.cpp user/gabor/tre-integration/contrib/llvm/lib/Target/Blackfin/BlackfinRegisterInfo.h user/gabor/tre-integration/contrib/llvm/lib/Target/Blackfin/BlackfinRegisterInfo.td user/gabor/tre-integration/contrib/llvm/lib/Target/CBackend/CBackend.cpp user/gabor/tre-integration/contrib/llvm/lib/Target/CellSPU/SPUISelLowering.cpp user/gabor/tre-integration/contrib/llvm/lib/Target/CellSPU/SPUISelLowering.h user/gabor/tre-integration/contrib/llvm/lib/Target/CellSPU/SPURegisterInfo.cpp user/gabor/tre-integration/contrib/llvm/lib/Target/CellSPU/SPURegisterInfo.h user/gabor/tre-integration/contrib/llvm/lib/Target/CellSPU/SPURegisterInfo.td user/gabor/tre-integration/contrib/llvm/lib/Target/MBlaze/MBlazeISelLowering.cpp user/gabor/tre-integration/contrib/llvm/lib/Target/MBlaze/MBlazeISelLowering.h user/gabor/tre-integration/contrib/llvm/lib/Target/MBlaze/MBlazeInstrInfo.td user/gabor/tre-integration/contrib/llvm/lib/Target/MBlaze/MBlazeRegisterInfo.cpp user/gabor/tre-integration/contrib/llvm/lib/Target/MBlaze/MBlazeRegisterInfo.h user/gabor/tre-integration/contrib/llvm/lib/Target/MBlaze/MBlazeRegisterInfo.td user/gabor/tre-integration/contrib/llvm/lib/Target/MSP430/MSP430ISelLowering.cpp user/gabor/tre-integration/contrib/llvm/lib/Target/MSP430/MSP430ISelLowering.h user/gabor/tre-integration/contrib/llvm/lib/Target/MSP430/MSP430RegisterInfo.cpp user/gabor/tre-integration/contrib/llvm/lib/Target/MSP430/MSP430RegisterInfo.h user/gabor/tre-integration/contrib/llvm/lib/Target/MSP430/MSP430RegisterInfo.td user/gabor/tre-integration/contrib/llvm/lib/Target/Mips/Mips.h user/gabor/tre-integration/contrib/llvm/lib/Target/Mips/MipsAsmPrinter.cpp user/gabor/tre-integration/contrib/llvm/lib/Target/Mips/MipsFrameLowering.cpp user/gabor/tre-integration/contrib/llvm/lib/Target/Mips/MipsFrameLowering.h user/gabor/tre-integration/contrib/llvm/lib/Target/Mips/MipsISelDAGToDAG.cpp user/gabor/tre-integration/contrib/llvm/lib/Target/Mips/MipsISelLowering.cpp user/gabor/tre-integration/contrib/llvm/lib/Target/Mips/MipsISelLowering.h user/gabor/tre-integration/contrib/llvm/lib/Target/Mips/MipsInstrFPU.td user/gabor/tre-integration/contrib/llvm/lib/Target/Mips/MipsInstrFormats.td user/gabor/tre-integration/contrib/llvm/lib/Target/Mips/MipsInstrInfo.h user/gabor/tre-integration/contrib/llvm/lib/Target/Mips/MipsInstrInfo.td user/gabor/tre-integration/contrib/llvm/lib/Target/Mips/MipsMCAsmInfo.cpp user/gabor/tre-integration/contrib/llvm/lib/Target/Mips/MipsMachineFunction.h user/gabor/tre-integration/contrib/llvm/lib/Target/Mips/MipsRegisterInfo.cpp user/gabor/tre-integration/contrib/llvm/lib/Target/Mips/MipsRegisterInfo.h user/gabor/tre-integration/contrib/llvm/lib/Target/Mips/MipsRegisterInfo.td user/gabor/tre-integration/contrib/llvm/lib/Target/Mips/MipsTargetMachine.cpp user/gabor/tre-integration/contrib/llvm/lib/Target/Mips/MipsTargetMachine.h user/gabor/tre-integration/contrib/llvm/lib/Target/PTX/PTX.td user/gabor/tre-integration/contrib/llvm/lib/Target/PTX/PTXISelLowering.cpp user/gabor/tre-integration/contrib/llvm/lib/Target/PTX/PTXISelLowering.h user/gabor/tre-integration/contrib/llvm/lib/Target/PTX/PTXInstrInfo.td user/gabor/tre-integration/contrib/llvm/lib/Target/PTX/PTXRegisterInfo.h user/gabor/tre-integration/contrib/llvm/lib/Target/PTX/PTXSubtarget.cpp user/gabor/tre-integration/contrib/llvm/lib/Target/PTX/PTXSubtarget.h user/gabor/tre-integration/contrib/llvm/lib/Target/PowerPC/InstPrinter/PPCInstPrinter.cpp user/gabor/tre-integration/contrib/llvm/lib/Target/PowerPC/InstPrinter/PPCInstPrinter.h user/gabor/tre-integration/contrib/llvm/lib/Target/PowerPC/PPC.h user/gabor/tre-integration/contrib/llvm/lib/Target/PowerPC/PPCAsmPrinter.cpp user/gabor/tre-integration/contrib/llvm/lib/Target/PowerPC/PPCFrameLowering.cpp user/gabor/tre-integration/contrib/llvm/lib/Target/PowerPC/PPCHazardRecognizers.cpp user/gabor/tre-integration/contrib/llvm/lib/Target/PowerPC/PPCISelDAGToDAG.cpp user/gabor/tre-integration/contrib/llvm/lib/Target/PowerPC/PPCISelLowering.cpp user/gabor/tre-integration/contrib/llvm/lib/Target/PowerPC/PPCISelLowering.h user/gabor/tre-integration/contrib/llvm/lib/Target/PowerPC/PPCInstr64Bit.td user/gabor/tre-integration/contrib/llvm/lib/Target/PowerPC/PPCInstrInfo.td user/gabor/tre-integration/contrib/llvm/lib/Target/PowerPC/PPCMCAsmInfo.cpp user/gabor/tre-integration/contrib/llvm/lib/Target/PowerPC/PPCMCInstLower.cpp user/gabor/tre-integration/contrib/llvm/lib/Target/PowerPC/PPCRegisterInfo.cpp user/gabor/tre-integration/contrib/llvm/lib/Target/PowerPC/PPCRegisterInfo.h user/gabor/tre-integration/contrib/llvm/lib/Target/PowerPC/PPCRegisterInfo.td user/gabor/tre-integration/contrib/llvm/lib/Target/Sparc/SparcISelLowering.cpp user/gabor/tre-integration/contrib/llvm/lib/Target/Sparc/SparcISelLowering.h user/gabor/tre-integration/contrib/llvm/lib/Target/Sparc/SparcRegisterInfo.cpp user/gabor/tre-integration/contrib/llvm/lib/Target/Sparc/SparcRegisterInfo.h user/gabor/tre-integration/contrib/llvm/lib/Target/Sparc/SparcRegisterInfo.td user/gabor/tre-integration/contrib/llvm/lib/Target/SystemZ/SystemZISelLowering.cpp user/gabor/tre-integration/contrib/llvm/lib/Target/SystemZ/SystemZISelLowering.h user/gabor/tre-integration/contrib/llvm/lib/Target/SystemZ/SystemZRegisterInfo.cpp user/gabor/tre-integration/contrib/llvm/lib/Target/SystemZ/SystemZRegisterInfo.h user/gabor/tre-integration/contrib/llvm/lib/Target/SystemZ/SystemZRegisterInfo.td user/gabor/tre-integration/contrib/llvm/lib/Target/TargetLibraryInfo.cpp user/gabor/tre-integration/contrib/llvm/lib/Target/TargetLoweringObjectFile.cpp user/gabor/tre-integration/contrib/llvm/lib/Target/TargetMachine.cpp user/gabor/tre-integration/contrib/llvm/lib/Target/TargetRegisterInfo.cpp user/gabor/tre-integration/contrib/llvm/lib/Target/X86/InstPrinter/X86ATTInstPrinter.cpp user/gabor/tre-integration/contrib/llvm/lib/Target/X86/InstPrinter/X86ATTInstPrinter.h user/gabor/tre-integration/contrib/llvm/lib/Target/X86/InstPrinter/X86IntelInstPrinter.cpp user/gabor/tre-integration/contrib/llvm/lib/Target/X86/InstPrinter/X86IntelInstPrinter.h user/gabor/tre-integration/contrib/llvm/lib/Target/X86/X86.td user/gabor/tre-integration/contrib/llvm/lib/Target/X86/X86FastISel.cpp user/gabor/tre-integration/contrib/llvm/lib/Target/X86/X86FrameLowering.cpp user/gabor/tre-integration/contrib/llvm/lib/Target/X86/X86ISelDAGToDAG.cpp user/gabor/tre-integration/contrib/llvm/lib/Target/X86/X86ISelLowering.cpp user/gabor/tre-integration/contrib/llvm/lib/Target/X86/X86ISelLowering.h user/gabor/tre-integration/contrib/llvm/lib/Target/X86/X86InstrCompiler.td user/gabor/tre-integration/contrib/llvm/lib/Target/X86/X86InstrExtension.td user/gabor/tre-integration/contrib/llvm/lib/Target/X86/X86InstrFragmentsSIMD.td user/gabor/tre-integration/contrib/llvm/lib/Target/X86/X86InstrInfo.cpp user/gabor/tre-integration/contrib/llvm/lib/Target/X86/X86InstrInfo.h user/gabor/tre-integration/contrib/llvm/lib/Target/X86/X86InstrInfo.td user/gabor/tre-integration/contrib/llvm/lib/Target/X86/X86InstrMMX.td user/gabor/tre-integration/contrib/llvm/lib/Target/X86/X86InstrSSE.td user/gabor/tre-integration/contrib/llvm/lib/Target/X86/X86MCAsmInfo.cpp user/gabor/tre-integration/contrib/llvm/lib/Target/X86/X86MCCodeEmitter.cpp user/gabor/tre-integration/contrib/llvm/lib/Target/X86/X86MCInstLower.cpp user/gabor/tre-integration/contrib/llvm/lib/Target/X86/X86RegisterInfo.cpp user/gabor/tre-integration/contrib/llvm/lib/Target/X86/X86RegisterInfo.h user/gabor/tre-integration/contrib/llvm/lib/Target/X86/X86RegisterInfo.td user/gabor/tre-integration/contrib/llvm/lib/Target/X86/X86Subtarget.cpp user/gabor/tre-integration/contrib/llvm/lib/Target/XCore/XCoreISelDAGToDAG.cpp user/gabor/tre-integration/contrib/llvm/lib/Target/XCore/XCoreISelLowering.cpp user/gabor/tre-integration/contrib/llvm/lib/Target/XCore/XCoreISelLowering.h user/gabor/tre-integration/contrib/llvm/lib/Target/XCore/XCoreInstrInfo.td user/gabor/tre-integration/contrib/llvm/lib/Target/XCore/XCoreRegisterInfo.cpp user/gabor/tre-integration/contrib/llvm/lib/Target/XCore/XCoreRegisterInfo.h user/gabor/tre-integration/contrib/llvm/lib/Target/XCore/XCoreRegisterInfo.td user/gabor/tre-integration/contrib/llvm/lib/Transforms/IPO/DeadTypeElimination.cpp user/gabor/tre-integration/contrib/llvm/lib/Transforms/IPO/ExtractGV.cpp user/gabor/tre-integration/contrib/llvm/lib/Transforms/IPO/GlobalOpt.cpp user/gabor/tre-integration/contrib/llvm/lib/Transforms/IPO/PruneEH.cpp user/gabor/tre-integration/contrib/llvm/lib/Transforms/InstCombine/InstCombine.h user/gabor/tre-integration/contrib/llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp user/gabor/tre-integration/contrib/llvm/lib/Transforms/InstCombine/InstCombineCasts.cpp user/gabor/tre-integration/contrib/llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp user/gabor/tre-integration/contrib/llvm/lib/Transforms/InstCombine/InstCombineLoadStoreAlloca.cpp user/gabor/tre-integration/contrib/llvm/lib/Transforms/InstCombine/InstCombineMulDivRem.cpp user/gabor/tre-integration/contrib/llvm/lib/Transforms/InstCombine/InstCombinePHI.cpp user/gabor/tre-integration/contrib/llvm/lib/Transforms/InstCombine/InstCombineSelect.cpp user/gabor/tre-integration/contrib/llvm/lib/Transforms/InstCombine/InstCombineSimplifyDemanded.cpp user/gabor/tre-integration/contrib/llvm/lib/Transforms/InstCombine/InstructionCombining.cpp user/gabor/tre-integration/contrib/llvm/lib/Transforms/Instrumentation/GCOVProfiling.cpp user/gabor/tre-integration/contrib/llvm/lib/Transforms/Instrumentation/PathProfiling.cpp user/gabor/tre-integration/contrib/llvm/lib/Transforms/Scalar/CodeGenPrepare.cpp user/gabor/tre-integration/contrib/llvm/lib/Transforms/Scalar/GVN.cpp user/gabor/tre-integration/contrib/llvm/lib/Transforms/Scalar/IndVarSimplify.cpp user/gabor/tre-integration/contrib/llvm/lib/Transforms/Scalar/JumpThreading.cpp user/gabor/tre-integration/contrib/llvm/lib/Transforms/Scalar/LICM.cpp user/gabor/tre-integration/contrib/llvm/lib/Transforms/Scalar/LoopIdiomRecognize.cpp user/gabor/tre-integration/contrib/llvm/lib/Transforms/Scalar/LoopStrengthReduce.cpp user/gabor/tre-integration/contrib/llvm/lib/Transforms/Scalar/LoopUnswitch.cpp user/gabor/tre-integration/contrib/llvm/lib/Transforms/Scalar/MemCpyOptimizer.cpp user/gabor/tre-integration/contrib/llvm/lib/Transforms/Scalar/SCCP.cpp user/gabor/tre-integration/contrib/llvm/lib/Transforms/Scalar/ScalarReplAggregates.cpp user/gabor/tre-integration/contrib/llvm/lib/Transforms/Scalar/SimplifyCFGPass.cpp user/gabor/tre-integration/contrib/llvm/lib/Transforms/Scalar/TailRecursionElimination.cpp user/gabor/tre-integration/contrib/llvm/lib/Transforms/Utils/BasicBlockUtils.cpp user/gabor/tre-integration/contrib/llvm/lib/Transforms/Utils/BreakCriticalEdges.cpp user/gabor/tre-integration/contrib/llvm/lib/Transforms/Utils/BuildLibCalls.cpp user/gabor/tre-integration/contrib/llvm/lib/Transforms/Utils/InlineFunction.cpp user/gabor/tre-integration/contrib/llvm/lib/Transforms/Utils/Local.cpp user/gabor/tre-integration/contrib/llvm/lib/Transforms/Utils/PromoteMemoryToRegister.cpp user/gabor/tre-integration/contrib/llvm/lib/Transforms/Utils/SSAUpdater.cpp user/gabor/tre-integration/contrib/llvm/lib/Transforms/Utils/SimplifyCFG.cpp user/gabor/tre-integration/contrib/llvm/lib/VMCore/Attributes.cpp user/gabor/tre-integration/contrib/llvm/lib/VMCore/AutoUpgrade.cpp user/gabor/tre-integration/contrib/llvm/lib/VMCore/DebugInfoProbe.cpp user/gabor/tre-integration/contrib/llvm/lib/VMCore/Function.cpp user/gabor/tre-integration/contrib/llvm/lib/VMCore/IRBuilder.cpp user/gabor/tre-integration/contrib/llvm/lib/VMCore/InlineAsm.cpp user/gabor/tre-integration/contrib/llvm/lib/VMCore/Instructions.cpp user/gabor/tre-integration/contrib/llvm/lib/VMCore/PassManager.cpp user/gabor/tre-integration/contrib/llvm/lib/VMCore/Type.cpp user/gabor/tre-integration/contrib/llvm/lib/VMCore/Verifier.cpp user/gabor/tre-integration/contrib/llvm/tools/clang/include/clang-c/Index.h user/gabor/tre-integration/contrib/llvm/tools/clang/include/clang/AST/APValue.h user/gabor/tre-integration/contrib/llvm/tools/clang/include/clang/AST/ASTContext.h user/gabor/tre-integration/contrib/llvm/tools/clang/include/clang/AST/CanonicalType.h user/gabor/tre-integration/contrib/llvm/tools/clang/include/clang/AST/Decl.h user/gabor/tre-integration/contrib/llvm/tools/clang/include/clang/AST/DeclBase.h user/gabor/tre-integration/contrib/llvm/tools/clang/include/clang/AST/DeclCXX.h user/gabor/tre-integration/contrib/llvm/tools/clang/include/clang/AST/DeclObjC.h user/gabor/tre-integration/contrib/llvm/tools/clang/include/clang/AST/DeclTemplate.h user/gabor/tre-integration/contrib/llvm/tools/clang/include/clang/AST/Expr.h user/gabor/tre-integration/contrib/llvm/tools/clang/include/clang/AST/ExternalASTSource.h user/gabor/tre-integration/contrib/llvm/tools/clang/include/clang/AST/RecursiveASTVisitor.h user/gabor/tre-integration/contrib/llvm/tools/clang/include/clang/AST/StmtVisitor.h user/gabor/tre-integration/contrib/llvm/tools/clang/include/clang/AST/Type.h user/gabor/tre-integration/contrib/llvm/tools/clang/include/clang/AST/TypeLoc.h user/gabor/tre-integration/contrib/llvm/tools/clang/include/clang/AST/TypeNodes.def user/gabor/tre-integration/contrib/llvm/tools/clang/include/clang/Basic/BuiltinsARM.def user/gabor/tre-integration/contrib/llvm/tools/clang/include/clang/Basic/BuiltinsX86.def user/gabor/tre-integration/contrib/llvm/tools/clang/include/clang/Basic/DeclNodes.td user/gabor/tre-integration/contrib/llvm/tools/clang/include/clang/Basic/Diagnostic.h user/gabor/tre-integration/contrib/llvm/tools/clang/include/clang/Basic/DiagnosticCommonKinds.td user/gabor/tre-integration/contrib/llvm/tools/clang/include/clang/Basic/DiagnosticFrontendKinds.td user/gabor/tre-integration/contrib/llvm/tools/clang/include/clang/Basic/DiagnosticGroups.td user/gabor/tre-integration/contrib/llvm/tools/clang/include/clang/Basic/DiagnosticIDs.h user/gabor/tre-integration/contrib/llvm/tools/clang/include/clang/Basic/DiagnosticParseKinds.td user/gabor/tre-integration/contrib/llvm/tools/clang/include/clang/Basic/DiagnosticSemaKinds.td user/gabor/tre-integration/contrib/llvm/tools/clang/include/clang/Basic/ExceptionSpecificationType.h user/gabor/tre-integration/contrib/llvm/tools/clang/include/clang/Basic/IdentifierTable.h user/gabor/tre-integration/contrib/llvm/tools/clang/include/clang/Basic/LangOptions.h user/gabor/tre-integration/contrib/llvm/tools/clang/include/clang/Basic/SourceLocation.h user/gabor/tre-integration/contrib/llvm/tools/clang/include/clang/Basic/SourceManager.h user/gabor/tre-integration/contrib/llvm/tools/clang/include/clang/Basic/Specifiers.h user/gabor/tre-integration/contrib/llvm/tools/clang/include/clang/Basic/StmtNodes.td user/gabor/tre-integration/contrib/llvm/tools/clang/include/clang/Basic/TargetInfo.h user/gabor/tre-integration/contrib/llvm/tools/clang/include/clang/Basic/TokenKinds.def user/gabor/tre-integration/contrib/llvm/tools/clang/include/clang/Basic/TypeTraits.h user/gabor/tre-integration/contrib/llvm/tools/clang/include/clang/Basic/arm_neon.td user/gabor/tre-integration/contrib/llvm/tools/clang/include/clang/Driver/CC1AsOptions.td user/gabor/tre-integration/contrib/llvm/tools/clang/include/clang/Driver/CC1Options.td user/gabor/tre-integration/contrib/llvm/tools/clang/include/clang/Driver/Options.td user/gabor/tre-integration/contrib/llvm/tools/clang/include/clang/Driver/ToolChain.h user/gabor/tre-integration/contrib/llvm/tools/clang/include/clang/Frontend/ASTUnit.h user/gabor/tre-integration/contrib/llvm/tools/clang/include/clang/Frontend/CodeGenOptions.h user/gabor/tre-integration/contrib/llvm/tools/clang/include/clang/Frontend/DiagnosticOptions.h user/gabor/tre-integration/contrib/llvm/tools/clang/include/clang/Frontend/LangStandard.h user/gabor/tre-integration/contrib/llvm/tools/clang/include/clang/Frontend/LangStandards.def user/gabor/tre-integration/contrib/llvm/tools/clang/include/clang/Frontend/PreprocessorOptions.h user/gabor/tre-integration/contrib/llvm/tools/clang/include/clang/Frontend/Utils.h user/gabor/tre-integration/contrib/llvm/tools/clang/include/clang/Lex/HeaderSearch.h user/gabor/tre-integration/contrib/llvm/tools/clang/include/clang/Lex/LiteralSupport.h user/gabor/tre-integration/contrib/llvm/tools/clang/include/clang/Lex/PreprocessingRecord.h user/gabor/tre-integration/contrib/llvm/tools/clang/include/clang/Lex/Preprocessor.h user/gabor/tre-integration/contrib/llvm/tools/clang/include/clang/Parse/Parser.h user/gabor/tre-integration/contrib/llvm/tools/clang/include/clang/Sema/CodeCompleteConsumer.h user/gabor/tre-integration/contrib/llvm/tools/clang/include/clang/Sema/DeclSpec.h user/gabor/tre-integration/contrib/llvm/tools/clang/include/clang/Sema/Initialization.h user/gabor/tre-integration/contrib/llvm/tools/clang/include/clang/Sema/Lookup.h user/gabor/tre-integration/contrib/llvm/tools/clang/include/clang/Sema/Overload.h user/gabor/tre-integration/contrib/llvm/tools/clang/include/clang/Sema/Scope.h user/gabor/tre-integration/contrib/llvm/tools/clang/include/clang/Sema/Sema.h user/gabor/tre-integration/contrib/llvm/tools/clang/include/clang/Sema/Template.h user/gabor/tre-integration/contrib/llvm/tools/clang/include/clang/Serialization/ASTBitCodes.h user/gabor/tre-integration/contrib/llvm/tools/clang/include/clang/Serialization/ASTReader.h user/gabor/tre-integration/contrib/llvm/tools/clang/include/clang/Serialization/ASTWriter.h user/gabor/tre-integration/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/Checker.h user/gabor/tre-integration/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/CheckerManager.h user/gabor/tre-integration/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/BasicValueFactory.h user/gabor/tre-integration/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/ExprEngine.h user/gabor/tre-integration/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/GRState.h user/gabor/tre-integration/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/ObjCMessage.h user/gabor/tre-integration/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/SValBuilder.h user/gabor/tre-integration/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/Store.h user/gabor/tre-integration/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/SubEngine.h user/gabor/tre-integration/contrib/llvm/tools/clang/lib/AST/APValue.cpp user/gabor/tre-integration/contrib/llvm/tools/clang/lib/AST/ASTContext.cpp user/gabor/tre-integration/contrib/llvm/tools/clang/lib/AST/ASTDiagnostic.cpp user/gabor/tre-integration/contrib/llvm/tools/clang/lib/AST/ASTImporter.cpp user/gabor/tre-integration/contrib/llvm/tools/clang/lib/AST/Decl.cpp user/gabor/tre-integration/contrib/llvm/tools/clang/lib/AST/DeclBase.cpp user/gabor/tre-integration/contrib/llvm/tools/clang/lib/AST/DeclCXX.cpp user/gabor/tre-integration/contrib/llvm/tools/clang/lib/AST/DeclObjC.cpp user/gabor/tre-integration/contrib/llvm/tools/clang/lib/AST/DeclPrinter.cpp user/gabor/tre-integration/contrib/llvm/tools/clang/lib/AST/DeclTemplate.cpp user/gabor/tre-integration/contrib/llvm/tools/clang/lib/AST/DumpXML.cpp user/gabor/tre-integration/contrib/llvm/tools/clang/lib/AST/Expr.cpp user/gabor/tre-integration/contrib/llvm/tools/clang/lib/AST/ExprClassification.cpp user/gabor/tre-integration/contrib/llvm/tools/clang/lib/AST/ExprConstant.cpp user/gabor/tre-integration/contrib/llvm/tools/clang/lib/AST/ExternalASTSource.cpp user/gabor/tre-integration/contrib/llvm/tools/clang/lib/AST/ItaniumMangle.cpp user/gabor/tre-integration/contrib/llvm/tools/clang/lib/AST/Mangle.cpp user/gabor/tre-integration/contrib/llvm/tools/clang/lib/AST/MicrosoftMangle.cpp user/gabor/tre-integration/contrib/llvm/tools/clang/lib/AST/RecordLayoutBuilder.cpp user/gabor/tre-integration/contrib/llvm/tools/clang/lib/AST/StmtPrinter.cpp user/gabor/tre-integration/contrib/llvm/tools/clang/lib/AST/StmtProfile.cpp user/gabor/tre-integration/contrib/llvm/tools/clang/lib/AST/Type.cpp user/gabor/tre-integration/contrib/llvm/tools/clang/lib/AST/TypePrinter.cpp user/gabor/tre-integration/contrib/llvm/tools/clang/lib/Analysis/AnalysisContext.cpp user/gabor/tre-integration/contrib/llvm/tools/clang/lib/Analysis/CFG.cpp user/gabor/tre-integration/contrib/llvm/tools/clang/lib/Analysis/CocoaConventions.cpp user/gabor/tre-integration/contrib/llvm/tools/clang/lib/Analysis/LiveVariables.cpp user/gabor/tre-integration/contrib/llvm/tools/clang/lib/Analysis/UninitializedValues.cpp user/gabor/tre-integration/contrib/llvm/tools/clang/lib/Basic/Diagnostic.cpp user/gabor/tre-integration/contrib/llvm/tools/clang/lib/Basic/DiagnosticIDs.cpp user/gabor/tre-integration/contrib/llvm/tools/clang/lib/Basic/FileManager.cpp user/gabor/tre-integration/contrib/llvm/tools/clang/lib/Basic/IdentifierTable.cpp user/gabor/tre-integration/contrib/llvm/tools/clang/lib/Basic/SourceManager.cpp user/gabor/tre-integration/contrib/llvm/tools/clang/lib/Basic/Targets.cpp user/gabor/tre-integration/contrib/llvm/tools/clang/lib/CodeGen/BackendUtil.cpp user/gabor/tre-integration/contrib/llvm/tools/clang/lib/CodeGen/CGBlocks.cpp user/gabor/tre-integration/contrib/llvm/tools/clang/lib/CodeGen/CGBuiltin.cpp user/gabor/tre-integration/contrib/llvm/tools/clang/lib/CodeGen/CGCXX.cpp user/gabor/tre-integration/contrib/llvm/tools/clang/lib/CodeGen/CGCall.cpp user/gabor/tre-integration/contrib/llvm/tools/clang/lib/CodeGen/CGCall.h user/gabor/tre-integration/contrib/llvm/tools/clang/lib/CodeGen/CGClass.cpp user/gabor/tre-integration/contrib/llvm/tools/clang/lib/CodeGen/CGDebugInfo.cpp user/gabor/tre-integration/contrib/llvm/tools/clang/lib/CodeGen/CGDebugInfo.h user/gabor/tre-integration/contrib/llvm/tools/clang/lib/CodeGen/CGDecl.cpp user/gabor/tre-integration/contrib/llvm/tools/clang/lib/CodeGen/CGDeclCXX.cpp user/gabor/tre-integration/contrib/llvm/tools/clang/lib/CodeGen/CGException.cpp user/gabor/tre-integration/contrib/llvm/tools/clang/lib/CodeGen/CGExpr.cpp user/gabor/tre-integration/contrib/llvm/tools/clang/lib/CodeGen/CGExprAgg.cpp user/gabor/tre-integration/contrib/llvm/tools/clang/lib/CodeGen/CGExprCXX.cpp user/gabor/tre-integration/contrib/llvm/tools/clang/lib/CodeGen/CGExprConstant.cpp user/gabor/tre-integration/contrib/llvm/tools/clang/lib/CodeGen/CGExprScalar.cpp user/gabor/tre-integration/contrib/llvm/tools/clang/lib/CodeGen/CGObjC.cpp user/gabor/tre-integration/contrib/llvm/tools/clang/lib/CodeGen/CGObjCGNU.cpp user/gabor/tre-integration/contrib/llvm/tools/clang/lib/CodeGen/CGObjCMac.cpp user/gabor/tre-integration/contrib/llvm/tools/clang/lib/CodeGen/CGObjCRuntime.cpp user/gabor/tre-integration/contrib/llvm/tools/clang/lib/CodeGen/CGObjCRuntime.h user/gabor/tre-integration/contrib/llvm/tools/clang/lib/CodeGen/CGRecordLayoutBuilder.cpp user/gabor/tre-integration/contrib/llvm/tools/clang/lib/CodeGen/CGStmt.cpp user/gabor/tre-integration/contrib/llvm/tools/clang/lib/CodeGen/CGVTT.cpp user/gabor/tre-integration/contrib/llvm/tools/clang/lib/CodeGen/CGVTables.cpp user/gabor/tre-integration/contrib/llvm/tools/clang/lib/CodeGen/CodeGenFunction.cpp user/gabor/tre-integration/contrib/llvm/tools/clang/lib/CodeGen/CodeGenFunction.h user/gabor/tre-integration/contrib/llvm/tools/clang/lib/CodeGen/CodeGenModule.cpp user/gabor/tre-integration/contrib/llvm/tools/clang/lib/CodeGen/CodeGenModule.h user/gabor/tre-integration/contrib/llvm/tools/clang/lib/CodeGen/CodeGenTypes.h user/gabor/tre-integration/contrib/llvm/tools/clang/lib/CodeGen/ItaniumCXXABI.cpp user/gabor/tre-integration/contrib/llvm/tools/clang/lib/CodeGen/ModuleBuilder.cpp user/gabor/tre-integration/contrib/llvm/tools/clang/lib/CodeGen/TargetInfo.cpp user/gabor/tre-integration/contrib/llvm/tools/clang/lib/Driver/Driver.cpp user/gabor/tre-integration/contrib/llvm/tools/clang/lib/Driver/HostInfo.cpp user/gabor/tre-integration/contrib/llvm/tools/clang/lib/Driver/ToolChains.cpp user/gabor/tre-integration/contrib/llvm/tools/clang/lib/Driver/ToolChains.h user/gabor/tre-integration/contrib/llvm/tools/clang/lib/Driver/Tools.cpp user/gabor/tre-integration/contrib/llvm/tools/clang/lib/Driver/Tools.h user/gabor/tre-integration/contrib/llvm/tools/clang/lib/Frontend/ASTConsumers.cpp user/gabor/tre-integration/contrib/llvm/tools/clang/lib/Frontend/ASTUnit.cpp user/gabor/tre-integration/contrib/llvm/tools/clang/lib/Frontend/CompilerInstance.cpp user/gabor/tre-integration/contrib/llvm/tools/clang/lib/Frontend/CompilerInvocation.cpp user/gabor/tre-integration/contrib/llvm/tools/clang/lib/Frontend/CreateInvocationFromCommandLine.cpp user/gabor/tre-integration/contrib/llvm/tools/clang/lib/Frontend/InitHeaderSearch.cpp user/gabor/tre-integration/contrib/llvm/tools/clang/lib/Frontend/InitPreprocessor.cpp user/gabor/tre-integration/contrib/llvm/tools/clang/lib/Frontend/LogDiagnosticPrinter.cpp user/gabor/tre-integration/contrib/llvm/tools/clang/lib/Frontend/TextDiagnosticPrinter.cpp user/gabor/tre-integration/contrib/llvm/tools/clang/lib/Frontend/Warnings.cpp user/gabor/tre-integration/contrib/llvm/tools/clang/lib/Headers/emmintrin.h user/gabor/tre-integration/contrib/llvm/tools/clang/lib/Headers/mmintrin.h user/gabor/tre-integration/contrib/llvm/tools/clang/lib/Headers/xmmintrin.h user/gabor/tre-integration/contrib/llvm/tools/clang/lib/Index/CallGraph.cpp user/gabor/tre-integration/contrib/llvm/tools/clang/lib/Index/Indexer.cpp user/gabor/tre-integration/contrib/llvm/tools/clang/lib/Lex/HeaderSearch.cpp user/gabor/tre-integration/contrib/llvm/tools/clang/lib/Lex/Lexer.cpp user/gabor/tre-integration/contrib/llvm/tools/clang/lib/Lex/LiteralSupport.cpp user/gabor/tre-integration/contrib/llvm/tools/clang/lib/Lex/MacroInfo.cpp user/gabor/tre-integration/contrib/llvm/tools/clang/lib/Lex/PPDirectives.cpp user/gabor/tre-integration/contrib/llvm/tools/clang/lib/Lex/PPMacroExpansion.cpp user/gabor/tre-integration/contrib/llvm/tools/clang/lib/Lex/Pragma.cpp user/gabor/tre-integration/contrib/llvm/tools/clang/lib/Lex/PreprocessingRecord.cpp user/gabor/tre-integration/contrib/llvm/tools/clang/lib/Lex/Preprocessor.cpp user/gabor/tre-integration/contrib/llvm/tools/clang/lib/Parse/ParseCXXInlineMethods.cpp user/gabor/tre-integration/contrib/llvm/tools/clang/lib/Parse/ParseDecl.cpp user/gabor/tre-integration/contrib/llvm/tools/clang/lib/Parse/ParseDeclCXX.cpp user/gabor/tre-integration/contrib/llvm/tools/clang/lib/Parse/ParseExpr.cpp user/gabor/tre-integration/contrib/llvm/tools/clang/lib/Parse/ParseExprCXX.cpp user/gabor/tre-integration/contrib/llvm/tools/clang/lib/Parse/ParseObjc.cpp user/gabor/tre-integration/contrib/llvm/tools/clang/lib/Parse/ParsePragma.cpp user/gabor/tre-integration/contrib/llvm/tools/clang/lib/Parse/ParseStmt.cpp user/gabor/tre-integration/contrib/llvm/tools/clang/lib/Parse/ParseTemplate.cpp user/gabor/tre-integration/contrib/llvm/tools/clang/lib/Parse/ParseTentative.cpp user/gabor/tre-integration/contrib/llvm/tools/clang/lib/Parse/Parser.cpp user/gabor/tre-integration/contrib/llvm/tools/clang/lib/Rewrite/RewriteObjC.cpp user/gabor/tre-integration/contrib/llvm/tools/clang/lib/Sema/AnalysisBasedWarnings.cpp user/gabor/tre-integration/contrib/llvm/tools/clang/lib/Sema/DeclSpec.cpp user/gabor/tre-integration/contrib/llvm/tools/clang/lib/Sema/JumpDiagnostics.cpp user/gabor/tre-integration/contrib/llvm/tools/clang/lib/Sema/Sema.cpp user/gabor/tre-integration/contrib/llvm/tools/clang/lib/Sema/SemaAccess.cpp user/gabor/tre-integration/contrib/llvm/tools/clang/lib/Sema/SemaCXXCast.cpp user/gabor/tre-integration/contrib/llvm/tools/clang/lib/Sema/SemaCXXScopeSpec.cpp user/gabor/tre-integration/contrib/llvm/tools/clang/lib/Sema/SemaChecking.cpp user/gabor/tre-integration/contrib/llvm/tools/clang/lib/Sema/SemaCodeComplete.cpp user/gabor/tre-integration/contrib/llvm/tools/clang/lib/Sema/SemaDecl.cpp user/gabor/tre-integration/contrib/llvm/tools/clang/lib/Sema/SemaDeclCXX.cpp user/gabor/tre-integration/contrib/llvm/tools/clang/lib/Sema/SemaDeclObjC.cpp user/gabor/tre-integration/contrib/llvm/tools/clang/lib/Sema/SemaExceptionSpec.cpp user/gabor/tre-integration/contrib/llvm/tools/clang/lib/Sema/SemaExpr.cpp user/gabor/tre-integration/contrib/llvm/tools/clang/lib/Sema/SemaExprCXX.cpp user/gabor/tre-integration/contrib/llvm/tools/clang/lib/Sema/SemaExprObjC.cpp user/gabor/tre-integration/contrib/llvm/tools/clang/lib/Sema/SemaInit.cpp user/gabor/tre-integration/contrib/llvm/tools/clang/lib/Sema/SemaLookup.cpp user/gabor/tre-integration/contrib/llvm/tools/clang/lib/Sema/SemaOverload.cpp user/gabor/tre-integration/contrib/llvm/tools/clang/lib/Sema/SemaStmt.cpp user/gabor/tre-integration/contrib/llvm/tools/clang/lib/Sema/SemaTemplate.cpp user/gabor/tre-integration/contrib/llvm/tools/clang/lib/Sema/SemaTemplateDeduction.cpp user/gabor/tre-integration/contrib/llvm/tools/clang/lib/Sema/SemaTemplateInstantiate.cpp user/gabor/tre-integration/contrib/llvm/tools/clang/lib/Sema/SemaTemplateInstantiateDecl.cpp user/gabor/tre-integration/contrib/llvm/tools/clang/lib/Sema/SemaTemplateVariadic.cpp user/gabor/tre-integration/contrib/llvm/tools/clang/lib/Sema/SemaType.cpp user/gabor/tre-integration/contrib/llvm/tools/clang/lib/Sema/TreeTransform.h user/gabor/tre-integration/contrib/llvm/tools/clang/lib/Serialization/ASTReader.cpp user/gabor/tre-integration/contrib/llvm/tools/clang/lib/Serialization/ASTReaderDecl.cpp user/gabor/tre-integration/contrib/llvm/tools/clang/lib/Serialization/ASTReaderStmt.cpp user/gabor/tre-integration/contrib/llvm/tools/clang/lib/Serialization/ASTWriter.cpp user/gabor/tre-integration/contrib/llvm/tools/clang/lib/Serialization/ASTWriterDecl.cpp user/gabor/tre-integration/contrib/llvm/tools/clang/lib/Serialization/ASTWriterStmt.cpp user/gabor/tre-integration/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/CStringChecker.cpp user/gabor/tre-integration/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/NSErrorChecker.cpp user/gabor/tre-integration/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/BasicStore.cpp user/gabor/tre-integration/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/BasicValueFactory.cpp user/gabor/tre-integration/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/CFRefCount.cpp user/gabor/tre-integration/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/CXXExprEngine.cpp user/gabor/tre-integration/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/CheckerManager.cpp user/gabor/tre-integration/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/Environment.cpp user/gabor/tre-integration/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/ExprEngine.cpp user/gabor/tre-integration/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/FlatStore.cpp user/gabor/tre-integration/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/GRState.cpp user/gabor/tre-integration/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/ObjCMessage.cpp user/gabor/tre-integration/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/RegionStore.cpp user/gabor/tre-integration/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/SimpleConstraintManager.cpp user/gabor/tre-integration/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/SimpleSValBuilder.cpp user/gabor/tre-integration/contrib/llvm/tools/clang/lib/StaticAnalyzer/Frontend/AnalysisConsumer.cpp user/gabor/tre-integration/contrib/llvm/tools/clang/tools/driver/cc1as_main.cpp user/gabor/tre-integration/contrib/llvm/utils/TableGen/AsmMatcherEmitter.cpp user/gabor/tre-integration/contrib/llvm/utils/TableGen/AsmWriterEmitter.cpp user/gabor/tre-integration/contrib/llvm/utils/TableGen/ClangDiagnosticsEmitter.cpp user/gabor/tre-integration/contrib/llvm/utils/TableGen/CodeGenIntrinsics.h user/gabor/tre-integration/contrib/llvm/utils/TableGen/CodeGenRegisters.h user/gabor/tre-integration/contrib/llvm/utils/TableGen/CodeGenTarget.cpp user/gabor/tre-integration/contrib/llvm/utils/TableGen/CodeGenTarget.h user/gabor/tre-integration/contrib/llvm/utils/TableGen/DAGISelMatcherGen.cpp user/gabor/tre-integration/contrib/llvm/utils/TableGen/EDEmitter.cpp user/gabor/tre-integration/contrib/llvm/utils/TableGen/FastISelEmitter.cpp user/gabor/tre-integration/contrib/llvm/utils/TableGen/IntrinsicEmitter.cpp user/gabor/tre-integration/contrib/llvm/utils/TableGen/LLVMCConfigurationEmitter.cpp user/gabor/tre-integration/contrib/llvm/utils/TableGen/NeonEmitter.cpp user/gabor/tre-integration/contrib/llvm/utils/TableGen/Record.cpp user/gabor/tre-integration/contrib/llvm/utils/TableGen/RegisterInfoEmitter.cpp user/gabor/tre-integration/contrib/llvm/utils/TableGen/TGLexer.cpp user/gabor/tre-integration/contrib/llvm/utils/TableGen/TGLexer.h user/gabor/tre-integration/contrib/llvm/utils/TableGen/TGParser.h user/gabor/tre-integration/contrib/llvm/utils/TableGen/TableGen.cpp user/gabor/tre-integration/contrib/netcat/atomicio.c user/gabor/tre-integration/contrib/netcat/nc.1 user/gabor/tre-integration/contrib/netcat/netcat.c user/gabor/tre-integration/contrib/netcat/socks.c user/gabor/tre-integration/contrib/ntp/ntpd/ntp_io.c user/gabor/tre-integration/contrib/one-true-awk/FIXES user/gabor/tre-integration/contrib/one-true-awk/main.c user/gabor/tre-integration/contrib/openbsm/libbsm/audit_submit.3 user/gabor/tre-integration/contrib/pf/pfctl/pfctl.8 user/gabor/tre-integration/contrib/pf/pfctl/pfctl.c user/gabor/tre-integration/contrib/pf/pfctl/pfctl_optimize.c user/gabor/tre-integration/contrib/pf/pfctl/pfctl_parser.c user/gabor/tre-integration/contrib/pf/pfctl/pfctl_parser.h user/gabor/tre-integration/contrib/sendmail/CACerts user/gabor/tre-integration/contrib/sendmail/FREEBSD-upgrade user/gabor/tre-integration/contrib/sendmail/KNOWNBUGS user/gabor/tre-integration/contrib/sendmail/LICENSE user/gabor/tre-integration/contrib/sendmail/PGPKEYS user/gabor/tre-integration/contrib/sendmail/RELEASE_NOTES user/gabor/tre-integration/contrib/sendmail/cf/cf/submit.cf user/gabor/tre-integration/contrib/sendmail/cf/feature/ldap_routing.m4 user/gabor/tre-integration/contrib/sendmail/cf/m4/cfhead.m4 user/gabor/tre-integration/contrib/sendmail/cf/m4/proto.m4 user/gabor/tre-integration/contrib/sendmail/cf/m4/version.m4 user/gabor/tre-integration/contrib/sendmail/contrib/qtool.pl user/gabor/tre-integration/contrib/sendmail/doc/op/op.me user/gabor/tre-integration/contrib/sendmail/include/sm/conf.h user/gabor/tre-integration/contrib/sendmail/libmilter/docs/overview.html user/gabor/tre-integration/contrib/sendmail/libmilter/docs/smfi_stop.html user/gabor/tre-integration/contrib/sendmail/libmilter/docs/xxfi_envrcpt.html user/gabor/tre-integration/contrib/sendmail/libmilter/engine.c user/gabor/tre-integration/contrib/sendmail/libmilter/sm_gethost.c user/gabor/tre-integration/contrib/sendmail/libmilter/worker.c user/gabor/tre-integration/contrib/sendmail/libsm/ldap.c user/gabor/tre-integration/contrib/sendmail/makemap/makemap.c user/gabor/tre-integration/contrib/sendmail/src/Makefile.m4 user/gabor/tre-integration/contrib/sendmail/src/conf.c user/gabor/tre-integration/contrib/sendmail/src/daemon.c user/gabor/tre-integration/contrib/sendmail/src/deliver.c user/gabor/tre-integration/contrib/sendmail/src/domain.c user/gabor/tre-integration/contrib/sendmail/src/envelope.c user/gabor/tre-integration/contrib/sendmail/src/err.c user/gabor/tre-integration/contrib/sendmail/src/main.c user/gabor/tre-integration/contrib/sendmail/src/map.c user/gabor/tre-integration/contrib/sendmail/src/mci.c user/gabor/tre-integration/contrib/sendmail/src/parseaddr.c user/gabor/tre-integration/contrib/sendmail/src/queue.c user/gabor/tre-integration/contrib/sendmail/src/readcf.c user/gabor/tre-integration/contrib/sendmail/src/sendmail.8 user/gabor/tre-integration/contrib/sendmail/src/sendmail.h user/gabor/tre-integration/contrib/sendmail/src/sm_resolve.c user/gabor/tre-integration/contrib/sendmail/src/srvrsmtp.c user/gabor/tre-integration/contrib/sendmail/src/tls.c user/gabor/tre-integration/contrib/sendmail/src/udb.c user/gabor/tre-integration/contrib/sendmail/src/usersmtp.c user/gabor/tre-integration/contrib/sendmail/src/version.c user/gabor/tre-integration/contrib/top/commands.c user/gabor/tre-integration/contrib/top/machine.h user/gabor/tre-integration/contrib/top/top.X user/gabor/tre-integration/contrib/top/top.c user/gabor/tre-integration/crypto/heimdal/lib/sl/slc-gram.y user/gabor/tre-integration/crypto/openssh/ChangeLog user/gabor/tre-integration/crypto/openssh/LICENCE user/gabor/tre-integration/crypto/openssh/PROTOCOL user/gabor/tre-integration/crypto/openssh/PROTOCOL.agent user/gabor/tre-integration/crypto/openssh/PROTOCOL.certkeys user/gabor/tre-integration/crypto/openssh/PROTOCOL.mux user/gabor/tre-integration/crypto/openssh/README user/gabor/tre-integration/crypto/openssh/atomicio.c user/gabor/tre-integration/crypto/openssh/atomicio.h user/gabor/tre-integration/crypto/openssh/audit-bsm.c user/gabor/tre-integration/crypto/openssh/audit.c user/gabor/tre-integration/crypto/openssh/audit.h user/gabor/tre-integration/crypto/openssh/auth-options.c user/gabor/tre-integration/crypto/openssh/auth-rsa.c user/gabor/tre-integration/crypto/openssh/auth.c user/gabor/tre-integration/crypto/openssh/auth1.c user/gabor/tre-integration/crypto/openssh/auth2-jpake.c user/gabor/tre-integration/crypto/openssh/auth2-pubkey.c user/gabor/tre-integration/crypto/openssh/auth2.c user/gabor/tre-integration/crypto/openssh/authfd.c user/gabor/tre-integration/crypto/openssh/authfile.c user/gabor/tre-integration/crypto/openssh/bufaux.c user/gabor/tre-integration/crypto/openssh/buffer.h user/gabor/tre-integration/crypto/openssh/canohost.c user/gabor/tre-integration/crypto/openssh/channels.c user/gabor/tre-integration/crypto/openssh/cipher-3des1.c user/gabor/tre-integration/crypto/openssh/cipher-acss.c user/gabor/tre-integration/crypto/openssh/cipher-aes.c user/gabor/tre-integration/crypto/openssh/cipher-bf1.c user/gabor/tre-integration/crypto/openssh/cipher-ctr.c user/gabor/tre-integration/crypto/openssh/clientloop.c user/gabor/tre-integration/crypto/openssh/compress.c user/gabor/tre-integration/crypto/openssh/config.h user/gabor/tre-integration/crypto/openssh/config.h.in user/gabor/tre-integration/crypto/openssh/defines.h user/gabor/tre-integration/crypto/openssh/dns.c user/gabor/tre-integration/crypto/openssh/entropy.c user/gabor/tre-integration/crypto/openssh/hostfile.c user/gabor/tre-integration/crypto/openssh/hostfile.h user/gabor/tre-integration/crypto/openssh/includes.h user/gabor/tre-integration/crypto/openssh/jpake.c user/gabor/tre-integration/crypto/openssh/kex.c user/gabor/tre-integration/crypto/openssh/kex.h user/gabor/tre-integration/crypto/openssh/kexdhc.c user/gabor/tre-integration/crypto/openssh/kexdhs.c user/gabor/tre-integration/crypto/openssh/kexgexc.c user/gabor/tre-integration/crypto/openssh/kexgexs.c user/gabor/tre-integration/crypto/openssh/key.c user/gabor/tre-integration/crypto/openssh/key.h user/gabor/tre-integration/crypto/openssh/loginrec.c user/gabor/tre-integration/crypto/openssh/loginrec.h user/gabor/tre-integration/crypto/openssh/misc.c user/gabor/tre-integration/crypto/openssh/misc.h user/gabor/tre-integration/crypto/openssh/moduli.c user/gabor/tre-integration/crypto/openssh/monitor.c user/gabor/tre-integration/crypto/openssh/monitor_wrap.c user/gabor/tre-integration/crypto/openssh/mux.c user/gabor/tre-integration/crypto/openssh/myproposal.h user/gabor/tre-integration/crypto/openssh/openbsd-compat/bindresvport.c user/gabor/tre-integration/crypto/openssh/openbsd-compat/bsd-misc.c user/gabor/tre-integration/crypto/openssh/openbsd-compat/bsd-misc.h user/gabor/tre-integration/crypto/openssh/openbsd-compat/glob.c user/gabor/tre-integration/crypto/openssh/openbsd-compat/glob.h user/gabor/tre-integration/crypto/openssh/openbsd-compat/openbsd-compat.h user/gabor/tre-integration/crypto/openssh/openbsd-compat/openssl-compat.c user/gabor/tre-integration/crypto/openssh/openbsd-compat/openssl-compat.h user/gabor/tre-integration/crypto/openssh/openbsd-compat/port-linux.c user/gabor/tre-integration/crypto/openssh/openbsd-compat/port-linux.h user/gabor/tre-integration/crypto/openssh/openbsd-compat/port-solaris.c user/gabor/tre-integration/crypto/openssh/openbsd-compat/port-solaris.h user/gabor/tre-integration/crypto/openssh/packet.c user/gabor/tre-integration/crypto/openssh/packet.h user/gabor/tre-integration/crypto/openssh/pathnames.h user/gabor/tre-integration/crypto/openssh/platform.c user/gabor/tre-integration/crypto/openssh/platform.h user/gabor/tre-integration/crypto/openssh/readconf.c user/gabor/tre-integration/crypto/openssh/readconf.h user/gabor/tre-integration/crypto/openssh/readpass.c user/gabor/tre-integration/crypto/openssh/schnorr.c user/gabor/tre-integration/crypto/openssh/scp.1 user/gabor/tre-integration/crypto/openssh/scp.c user/gabor/tre-integration/crypto/openssh/servconf.c user/gabor/tre-integration/crypto/openssh/servconf.h user/gabor/tre-integration/crypto/openssh/session.c user/gabor/tre-integration/crypto/openssh/sftp-client.c user/gabor/tre-integration/crypto/openssh/sftp-client.h user/gabor/tre-integration/crypto/openssh/sftp-server.c user/gabor/tre-integration/crypto/openssh/sftp.1 user/gabor/tre-integration/crypto/openssh/sftp.c user/gabor/tre-integration/crypto/openssh/ssh-add.1 user/gabor/tre-integration/crypto/openssh/ssh-add.c user/gabor/tre-integration/crypto/openssh/ssh-agent.1 user/gabor/tre-integration/crypto/openssh/ssh-agent.c user/gabor/tre-integration/crypto/openssh/ssh-dss.c user/gabor/tre-integration/crypto/openssh/ssh-keygen.1 user/gabor/tre-integration/crypto/openssh/ssh-keygen.c user/gabor/tre-integration/crypto/openssh/ssh-keyscan.1 user/gabor/tre-integration/crypto/openssh/ssh-keyscan.c user/gabor/tre-integration/crypto/openssh/ssh-keysign.8 user/gabor/tre-integration/crypto/openssh/ssh-keysign.c user/gabor/tre-integration/crypto/openssh/ssh-rsa.c user/gabor/tre-integration/crypto/openssh/ssh.1 user/gabor/tre-integration/crypto/openssh/ssh.c user/gabor/tre-integration/crypto/openssh/ssh2.h user/gabor/tre-integration/crypto/openssh/ssh_config user/gabor/tre-integration/crypto/openssh/ssh_config.5 user/gabor/tre-integration/crypto/openssh/ssh_namespace.h user/gabor/tre-integration/crypto/openssh/sshconnect.c user/gabor/tre-integration/crypto/openssh/sshconnect.h user/gabor/tre-integration/crypto/openssh/sshconnect2.c user/gabor/tre-integration/crypto/openssh/sshd.8 user/gabor/tre-integration/crypto/openssh/sshd.c user/gabor/tre-integration/crypto/openssh/sshd_config user/gabor/tre-integration/crypto/openssh/sshd_config.5 user/gabor/tre-integration/crypto/openssh/sshlogin.c user/gabor/tre-integration/crypto/openssh/uuencode.c user/gabor/tre-integration/crypto/openssh/uuencode.h user/gabor/tre-integration/crypto/openssh/version.h user/gabor/tre-integration/etc/defaults/rc.conf user/gabor/tre-integration/etc/network.subr user/gabor/tre-integration/etc/periodic/daily/220.backup-pkgdb user/gabor/tre-integration/etc/periodic/daily/450.status-security user/gabor/tre-integration/etc/periodic/daily/800.scrub-zfs user/gabor/tre-integration/etc/rc.d/ipfilter user/gabor/tre-integration/etc/rc.d/mountcritremote user/gabor/tre-integration/etc/rc.d/nfsclient user/gabor/tre-integration/etc/rc.d/nfsd user/gabor/tre-integration/etc/rc.d/pf user/gabor/tre-integration/etc/rc.d/rtadvd user/gabor/tre-integration/etc/rc.d/sshd user/gabor/tre-integration/etc/rc.subr user/gabor/tre-integration/etc/sendmail/freebsd.mc user/gabor/tre-integration/etc/sendmail/freebsd.submit.mc user/gabor/tre-integration/games/fortune/datfiles/fortunes user/gabor/tre-integration/games/fortune/datfiles/fortunes-o.real user/gabor/tre-integration/games/fortune/datfiles/fortunes-o.sp.ok user/gabor/tre-integration/games/fortune/datfiles/fortunes.sp.ok user/gabor/tre-integration/games/fortune/datfiles/freebsd-tips.sp.ok user/gabor/tre-integration/games/fortune/datfiles/gerrold.limerick user/gabor/tre-integration/games/fortune/datfiles/limerick user/gabor/tre-integration/games/fortune/datfiles/limerick.sp.ok user/gabor/tre-integration/games/fortune/datfiles/startrek.sp.ok user/gabor/tre-integration/games/fortune/datfiles/zippy.sp.ok user/gabor/tre-integration/games/morse/morse.c user/gabor/tre-integration/gnu/usr.bin/Makefile user/gabor/tre-integration/gnu/usr.bin/gdb/kgdb/kthr.c user/gabor/tre-integration/gnu/usr.bin/grep/Makefile user/gabor/tre-integration/gnu/usr.bin/groff/tmac/mdoc.local user/gabor/tre-integration/gnu/usr.bin/send-pr/categories user/gabor/tre-integration/gnu/usr.bin/send-pr/send-pr.1 user/gabor/tre-integration/lib/Makefile user/gabor/tre-integration/lib/clang/clang.build.mk user/gabor/tre-integration/lib/clang/include/clang/Basic/Version.inc user/gabor/tre-integration/lib/clang/libclangfrontend/Makefile user/gabor/tre-integration/lib/clang/libllvmasmprinter/Makefile user/gabor/tre-integration/lib/clang/libllvmcodegen/Makefile user/gabor/tre-integration/lib/clang/libllvmmc/Makefile user/gabor/tre-integration/lib/clang/libllvmmipscodegen/Makefile user/gabor/tre-integration/lib/libarchive/Makefile user/gabor/tre-integration/lib/libarchive/archive_hash.h user/gabor/tre-integration/lib/libarchive/config_freebsd.h user/gabor/tre-integration/lib/libc/gen/feature_present.3 user/gabor/tre-integration/lib/libc/gen/posix_spawn.c user/gabor/tre-integration/lib/libc/iconv/Symbol.map user/gabor/tre-integration/lib/libc/iconv/iconvctl.3 user/gabor/tre-integration/lib/libc/net/sctp_sys_calls.c user/gabor/tre-integration/lib/libc/sparc64/sys/Makefile.inc user/gabor/tre-integration/lib/libc/sparc64/sys/__sparc_utrap_gen.S user/gabor/tre-integration/lib/libc/sys/chmod.2 user/gabor/tre-integration/lib/libc/sys/mq_setattr.2 user/gabor/tre-integration/lib/libc/sys/stat.2 user/gabor/tre-integration/lib/libcompiler_rt/Makefile user/gabor/tre-integration/lib/libcrypt/crypt-sha256.c user/gabor/tre-integration/lib/libcrypt/crypt-sha512.c user/gabor/tre-integration/lib/libcrypt/crypt.c user/gabor/tre-integration/lib/libcrypt/crypt.h user/gabor/tre-integration/lib/libdisk/Makefile user/gabor/tre-integration/lib/libdwarf/Makefile user/gabor/tre-integration/lib/libdwarf/_libdwarf.h user/gabor/tre-integration/lib/libdwarf/dwarf_init.c user/gabor/tre-integration/lib/libdwarf/libdwarf.h user/gabor/tre-integration/lib/libelf/Makefile user/gabor/tre-integration/lib/libelf/elf_data.c user/gabor/tre-integration/lib/libelf/elf_getdata.3 user/gabor/tre-integration/lib/libelf/libelf_data.c user/gabor/tre-integration/lib/libfetch/Makefile user/gabor/tre-integration/lib/libfetch/common.c user/gabor/tre-integration/lib/libfetch/file.c user/gabor/tre-integration/lib/libfetch/ftp.c user/gabor/tre-integration/lib/libfetch/http.c user/gabor/tre-integration/lib/libiconv/Makefile user/gabor/tre-integration/lib/libkvm/Makefile user/gabor/tre-integration/lib/libkvm/kvm_pcpu.c user/gabor/tre-integration/lib/libkvm/kvm_sparc64.c user/gabor/tre-integration/lib/libmemstat/memstat_uma.c user/gabor/tre-integration/lib/libsbuf/Makefile user/gabor/tre-integration/lib/libstand/bswap.c user/gabor/tre-integration/lib/libutil/Makefile user/gabor/tre-integration/lib/libutil/libutil.h user/gabor/tre-integration/lib/msun/ld128/e_rem_pio2l.h user/gabor/tre-integration/lib/msun/ld80/e_rem_pio2l.h user/gabor/tre-integration/lib/msun/src/s_cosl.c user/gabor/tre-integration/lib/msun/src/s_sinl.c user/gabor/tre-integration/lib/msun/src/s_tanl.c user/gabor/tre-integration/libexec/comsat/comsat.c user/gabor/tre-integration/libexec/rtld-elf/Makefile user/gabor/tre-integration/libexec/tftpd/tftp-io.c user/gabor/tre-integration/release/Makefile user/gabor/tre-integration/release/Makefile.sysinstall user/gabor/tre-integration/release/amd64/mkisoimages.sh user/gabor/tre-integration/release/doc/en_US.ISO8859-1/relnotes/article.sgml user/gabor/tre-integration/release/doc/share/sgml/release.ent user/gabor/tre-integration/release/generate-release.sh user/gabor/tre-integration/release/i386/mkisoimages.sh user/gabor/tre-integration/release/ia64/mkisoimages.sh user/gabor/tre-integration/release/powerpc/mkisoimages.sh user/gabor/tre-integration/sbin/atacontrol/atacontrol.8 user/gabor/tre-integration/sbin/atacontrol/atacontrol.c user/gabor/tre-integration/sbin/camcontrol/camcontrol.c user/gabor/tre-integration/sbin/devd/devd.conf.5 user/gabor/tre-integration/sbin/dumpfs/dumpfs.8 user/gabor/tre-integration/sbin/fsck_ffs/suj.c user/gabor/tre-integration/sbin/geom/class/eli/geli.8 user/gabor/tre-integration/sbin/geom/class/part/geom_part.c user/gabor/tre-integration/sbin/geom/class/part/gpart.8 user/gabor/tre-integration/sbin/geom/class/sched/Makefile user/gabor/tre-integration/sbin/growfs/growfs.8 user/gabor/tre-integration/sbin/hastctl/hastctl.c user/gabor/tre-integration/sbin/hastd/Makefile user/gabor/tre-integration/sbin/hastd/control.c user/gabor/tre-integration/sbin/hastd/hast.conf.5 user/gabor/tre-integration/sbin/hastd/hast.h user/gabor/tre-integration/sbin/hastd/hastd.c user/gabor/tre-integration/sbin/hastd/parse.y user/gabor/tre-integration/sbin/hastd/pjdlog.c user/gabor/tre-integration/sbin/hastd/primary.c user/gabor/tre-integration/sbin/hastd/proto_common.c user/gabor/tre-integration/sbin/hastd/secondary.c user/gabor/tre-integration/sbin/hastd/subr.c user/gabor/tre-integration/sbin/hastd/subr.h user/gabor/tre-integration/sbin/hastd/token.l user/gabor/tre-integration/sbin/ifconfig/Makefile user/gabor/tre-integration/sbin/ifconfig/af_inet.c user/gabor/tre-integration/sbin/ifconfig/af_inet6.c user/gabor/tre-integration/sbin/ifconfig/af_nd6.c user/gabor/tre-integration/sbin/ifconfig/ifconfig.8 user/gabor/tre-integration/sbin/ifconfig/ifconfig.c user/gabor/tre-integration/sbin/ifconfig/ifmedia.c user/gabor/tre-integration/sbin/ipfw/ipfw.8 user/gabor/tre-integration/sbin/ipfw/ipfw2.c user/gabor/tre-integration/sbin/ipfw/ipfw2.h user/gabor/tre-integration/sbin/ipfw/main.c user/gabor/tre-integration/sbin/ipfw/nat.c user/gabor/tre-integration/sbin/mount/mount.8 user/gabor/tre-integration/sbin/mount/mount.c user/gabor/tre-integration/sbin/mount_nfs/mount_nfs.8 user/gabor/tre-integration/sbin/mount_reiserfs/mount_reiserfs.8 user/gabor/tre-integration/sbin/mount_reiserfs/mount_reiserfs.c user/gabor/tre-integration/sbin/newfs/newfs.8 user/gabor/tre-integration/sbin/newfs/newfs.h user/gabor/tre-integration/sbin/rcorder/rcorder.8 user/gabor/tre-integration/sbin/rtsol/Makefile user/gabor/tre-integration/sbin/setkey/setkey.8 user/gabor/tre-integration/sbin/tunefs/tunefs.8 user/gabor/tre-integration/sbin/umount/umount.8 user/gabor/tre-integration/sbin/umount/umount.c user/gabor/tre-integration/secure/lib/libssh/Makefile user/gabor/tre-integration/secure/usr.sbin/sshd/Makefile user/gabor/tre-integration/share/examples/Makefile user/gabor/tre-integration/share/examples/diskless/README.TEMPLATING user/gabor/tre-integration/share/examples/drivers/make_device_driver.sh user/gabor/tre-integration/share/examples/libvgl/demo.c user/gabor/tre-integration/share/examples/netgraph/ether.bridge user/gabor/tre-integration/share/examples/netgraph/frame_relay user/gabor/tre-integration/share/examples/netgraph/ngctl user/gabor/tre-integration/share/examples/netgraph/raw user/gabor/tre-integration/share/examples/netgraph/virtual.chain user/gabor/tre-integration/share/examples/netgraph/virtual.lan user/gabor/tre-integration/share/examples/ses/srcs/eltsub.c user/gabor/tre-integration/share/man/man3/Makefile user/gabor/tre-integration/share/man/man3/queue.3 user/gabor/tre-integration/share/man/man4/Makefile user/gabor/tre-integration/share/man/man4/ahci.4 user/gabor/tre-integration/share/man/man4/aio.4 user/gabor/tre-integration/share/man/man4/amdsbwd.4 user/gabor/tre-integration/share/man/man4/ata.4 user/gabor/tre-integration/share/man/man4/ath.4 user/gabor/tre-integration/share/man/man4/ath_hal.4 user/gabor/tre-integration/share/man/man4/atrtc.4 user/gabor/tre-integration/share/man/man4/attimer.4 user/gabor/tre-integration/share/man/man4/bwn.4 user/gabor/tre-integration/share/man/man4/cc.4 user/gabor/tre-integration/share/man/man4/cc_hd.4 user/gabor/tre-integration/share/man/man4/coretemp.4 user/gabor/tre-integration/share/man/man4/ddb.4 user/gabor/tre-integration/share/man/man4/em.4 user/gabor/tre-integration/share/man/man4/h_ertt.4 user/gabor/tre-integration/share/man/man4/hpet.4 user/gabor/tre-integration/share/man/man4/ichwd.4 user/gabor/tre-integration/share/man/man4/igb.4 user/gabor/tre-integration/share/man/man4/man4.i386/Makefile user/gabor/tre-integration/share/man/man4/mps.4 user/gabor/tre-integration/share/man/man4/msk.4 user/gabor/tre-integration/share/man/man4/nvram2env.4 user/gabor/tre-integration/share/man/man4/pst.4 user/gabor/tre-integration/share/man/man4/ucom.4 user/gabor/tre-integration/share/man/man4/ucycom.4 user/gabor/tre-integration/share/man/man4/uep.4 user/gabor/tre-integration/share/man/man4/vge.4 user/gabor/tre-integration/share/man/man4/xhci.4 user/gabor/tre-integration/share/man/man5/ar.5 user/gabor/tre-integration/share/man/man5/fstab.5 user/gabor/tre-integration/share/man/man5/rc.conf.5 user/gabor/tre-integration/share/man/man5/reiserfs.5 user/gabor/tre-integration/share/man/man5/src.conf.5 user/gabor/tre-integration/share/man/man7/c99.7 user/gabor/tre-integration/share/man/man7/eventtimers.7 user/gabor/tre-integration/share/man/man7/ports.7 user/gabor/tre-integration/share/man/man7/release.7 user/gabor/tre-integration/share/man/man9/LOCK_PROFILING.9 user/gabor/tre-integration/share/man/man9/Makefile user/gabor/tre-integration/share/man/man9/bus_adjust_resource.9 user/gabor/tre-integration/share/man/man9/devfs_set_cdevpriv.9 user/gabor/tre-integration/share/man/man9/hhook.9 user/gabor/tre-integration/share/man/man9/khelp.9 user/gabor/tre-integration/share/man/man9/make_dev.9 user/gabor/tre-integration/share/man/man9/pseudofs.9 user/gabor/tre-integration/share/man/man9/sbuf.9 user/gabor/tre-integration/share/man/man9/zone.9 user/gabor/tre-integration/share/misc/bsd-family-tree user/gabor/tre-integration/share/misc/committers-ports.dot user/gabor/tre-integration/share/misc/committers-src.dot user/gabor/tre-integration/share/misc/iso3166 user/gabor/tre-integration/share/misc/mdoc.template user/gabor/tre-integration/share/mk/bsd.doc.mk user/gabor/tre-integration/share/mk/bsd.libnames.mk user/gabor/tre-integration/share/mk/bsd.own.mk user/gabor/tre-integration/share/skel/dot.shrc user/gabor/tre-integration/sys/Makefile user/gabor/tre-integration/sys/amd64/acpica/acpi_wakeup.c user/gabor/tre-integration/sys/amd64/amd64/identcpu.c user/gabor/tre-integration/sys/amd64/amd64/intr_machdep.c user/gabor/tre-integration/sys/amd64/amd64/legacy.c user/gabor/tre-integration/sys/amd64/amd64/machdep.c user/gabor/tre-integration/sys/amd64/amd64/mp_machdep.c user/gabor/tre-integration/sys/amd64/amd64/pmap.c user/gabor/tre-integration/sys/amd64/amd64/vm_machdep.c user/gabor/tre-integration/sys/amd64/conf/GENERIC user/gabor/tre-integration/sys/amd64/include/_types.h user/gabor/tre-integration/sys/amd64/include/clock.h user/gabor/tre-integration/sys/amd64/include/pmap.h user/gabor/tre-integration/sys/amd64/include/smp.h user/gabor/tre-integration/sys/amd64/include/specialreg.h user/gabor/tre-integration/sys/amd64/include/vmparam.h user/gabor/tre-integration/sys/arm/arm/pmap.c user/gabor/tre-integration/sys/arm/include/_types.h user/gabor/tre-integration/sys/arm/include/pmap.h user/gabor/tre-integration/sys/arm/include/vmparam.h user/gabor/tre-integration/sys/boot/Makefile user/gabor/tre-integration/sys/boot/common/Makefile.inc user/gabor/tre-integration/sys/boot/common/interp.c user/gabor/tre-integration/sys/boot/common/loader.8 user/gabor/tre-integration/sys/boot/forth/beastie.4th user/gabor/tre-integration/sys/boot/forth/loader.4th user/gabor/tre-integration/sys/boot/forth/loader.conf.5 user/gabor/tre-integration/sys/boot/forth/support.4th user/gabor/tre-integration/sys/boot/i386/boot2/Makefile user/gabor/tre-integration/sys/boot/i386/loader/Makefile user/gabor/tre-integration/sys/boot/i386/zfsboot/Makefile user/gabor/tre-integration/sys/boot/ia64/common/Makefile user/gabor/tre-integration/sys/boot/ia64/common/exec.c user/gabor/tre-integration/sys/boot/ia64/common/libia64.h user/gabor/tre-integration/sys/boot/ia64/efi/efimd.c user/gabor/tre-integration/sys/boot/ia64/efi/main.c user/gabor/tre-integration/sys/boot/ia64/efi/version user/gabor/tre-integration/sys/boot/pc98/loader/Makefile user/gabor/tre-integration/sys/boot/powerpc/ofw/Makefile user/gabor/tre-integration/sys/boot/powerpc/ps3/Makefile user/gabor/tre-integration/sys/boot/sparc64/loader/Makefile user/gabor/tre-integration/sys/boot/sparc64/loader/main.c user/gabor/tre-integration/sys/cam/ata/ata_all.c user/gabor/tre-integration/sys/cam/ata/ata_da.c user/gabor/tre-integration/sys/cam/ata/ata_xpt.c user/gabor/tre-integration/sys/cam/cam_ccb.h user/gabor/tre-integration/sys/cam/cam_periph.c user/gabor/tre-integration/sys/cam/cam_periph.h user/gabor/tre-integration/sys/cam/cam_xpt.c user/gabor/tre-integration/sys/cam/cam_xpt.h user/gabor/tre-integration/sys/cam/cam_xpt_internal.h user/gabor/tre-integration/sys/cam/scsi/scsi_all.c user/gabor/tre-integration/sys/cam/scsi/scsi_all.h user/gabor/tre-integration/sys/cam/scsi/scsi_cd.c user/gabor/tre-integration/sys/cam/scsi/scsi_da.c user/gabor/tre-integration/sys/cam/scsi/scsi_pass.c user/gabor/tre-integration/sys/cam/scsi/scsi_ses.h user/gabor/tre-integration/sys/cam/scsi/scsi_xpt.c user/gabor/tre-integration/sys/cddl/compat/opensolaris/kern/opensolaris.c user/gabor/tre-integration/sys/cddl/compat/opensolaris/kern/opensolaris_sysevent.c user/gabor/tre-integration/sys/cddl/compat/opensolaris/kern/opensolaris_taskq.c user/gabor/tre-integration/sys/cddl/compat/opensolaris/kern/opensolaris_vfs.c user/gabor/tre-integration/sys/cddl/compat/opensolaris/sys/atomic.h user/gabor/tre-integration/sys/cddl/compat/opensolaris/sys/kstat.h user/gabor/tre-integration/sys/cddl/compat/opensolaris/sys/systm.h user/gabor/tre-integration/sys/cddl/compat/opensolaris/sys/taskq.h user/gabor/tre-integration/sys/cddl/compat/opensolaris/sys/time.h user/gabor/tre-integration/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/spa_history.c user/gabor/tre-integration/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/arc.h user/gabor/tre-integration/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/ddt.h user/gabor/tre-integration/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/dsl_pool.h user/gabor/tre-integration/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/spa.h user/gabor/tre-integration/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/zfs_ioctl.h user/gabor/tre-integration/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/zio.h user/gabor/tre-integration/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_dir.c user/gabor/tre-integration/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_ioctl.c user/gabor/tre-integration/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vfsops.c user/gabor/tre-integration/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zio.c user/gabor/tre-integration/sys/cddl/dev/cyclic/cyclic.c user/gabor/tre-integration/sys/cddl/dev/cyclic/i386/cyclic_machdep.c user/gabor/tre-integration/sys/cddl/dev/dtrace/amd64/dtrace_subr.c user/gabor/tre-integration/sys/cddl/dev/dtrace/i386/dtrace_subr.c user/gabor/tre-integration/sys/compat/linux/linux_ioctl.c user/gabor/tre-integration/sys/compat/linux/linux_ioctl.h user/gabor/tre-integration/sys/compat/linux/linux_videodev.h user/gabor/tre-integration/sys/conf/Makefile.powerpc user/gabor/tre-integration/sys/conf/NOTES user/gabor/tre-integration/sys/conf/files user/gabor/tre-integration/sys/conf/files.i386 user/gabor/tre-integration/sys/conf/files.powerpc user/gabor/tre-integration/sys/conf/kern.mk user/gabor/tre-integration/sys/conf/kern.post.mk user/gabor/tre-integration/sys/conf/kmod.mk user/gabor/tre-integration/sys/conf/newvers.sh user/gabor/tre-integration/sys/conf/options user/gabor/tre-integration/sys/contrib/dev/acpica/changes.txt user/gabor/tre-integration/sys/contrib/dev/acpica/debugger/dbexec.c user/gabor/tre-integration/sys/contrib/dev/acpica/debugger/dbinput.c user/gabor/tre-integration/sys/contrib/dev/acpica/debugger/dbutils.c user/gabor/tre-integration/sys/contrib/dev/acpica/debugger/dbxface.c user/gabor/tre-integration/sys/contrib/dev/acpica/include/acconfig.h user/gabor/tre-integration/sys/contrib/dev/acpica/include/acdebug.h user/gabor/tre-integration/sys/contrib/dev/acpica/include/acglobal.h user/gabor/tre-integration/sys/contrib/dev/acpica/include/aclocal.h user/gabor/tre-integration/sys/contrib/dev/acpica/include/acpiosxf.h user/gabor/tre-integration/sys/contrib/dev/acpica/include/acpixf.h user/gabor/tre-integration/sys/contrib/dev/acpica/include/acpredef.h user/gabor/tre-integration/sys/contrib/dev/acpica/osunixxf.c user/gabor/tre-integration/sys/contrib/dev/acpica/tables/tbinstal.c user/gabor/tre-integration/sys/contrib/pf/net/pf.c user/gabor/tre-integration/sys/contrib/pf/net/pf_ioctl.c user/gabor/tre-integration/sys/contrib/pf/net/pf_norm.c user/gabor/tre-integration/sys/ddb/db_command.c user/gabor/tre-integration/sys/dev/aac/aac.c user/gabor/tre-integration/sys/dev/aac/aacvar.h user/gabor/tre-integration/sys/dev/acpica/Osd/OsdDebug.c user/gabor/tre-integration/sys/dev/acpica/acpi.c user/gabor/tre-integration/sys/dev/acpica/acpi_hpet.c user/gabor/tre-integration/sys/dev/acpica/acpi_timer.c user/gabor/tre-integration/sys/dev/ae/if_ae.c user/gabor/tre-integration/sys/dev/age/if_age.c user/gabor/tre-integration/sys/dev/ahci/ahci.c user/gabor/tre-integration/sys/dev/ahci/ahci.h user/gabor/tre-integration/sys/dev/alc/if_alc.c user/gabor/tre-integration/sys/dev/alc/if_alcreg.h user/gabor/tre-integration/sys/dev/ale/if_ale.c user/gabor/tre-integration/sys/dev/ale/if_alereg.h user/gabor/tre-integration/sys/dev/amdsbwd/amdsbwd.c user/gabor/tre-integration/sys/dev/ata/ata-pci.h user/gabor/tre-integration/sys/dev/ata/ata-sata.c user/gabor/tre-integration/sys/dev/ata/chipsets/ata-intel.c user/gabor/tre-integration/sys/dev/ath/ah_osdep.c user/gabor/tre-integration/sys/dev/ath/ath_hal/ah.c user/gabor/tre-integration/sys/dev/ath/ath_hal/ah.h user/gabor/tre-integration/sys/dev/ath/ath_hal/ah_debug.h user/gabor/tre-integration/sys/dev/ath/ath_hal/ah_desc.h user/gabor/tre-integration/sys/dev/ath/ath_hal/ah_devid.h user/gabor/tre-integration/sys/dev/ath/ath_hal/ah_eeprom.h user/gabor/tre-integration/sys/dev/ath/ath_hal/ah_eeprom_v1.c user/gabor/tre-integration/sys/dev/ath/ath_hal/ah_eeprom_v14.c user/gabor/tre-integration/sys/dev/ath/ath_hal/ah_eeprom_v14.h user/gabor/tre-integration/sys/dev/ath/ath_hal/ah_eeprom_v3.c user/gabor/tre-integration/sys/dev/ath/ath_hal/ah_eeprom_v4k.c user/gabor/tre-integration/sys/dev/ath/ath_hal/ah_internal.h user/gabor/tre-integration/sys/dev/ath/ath_hal/ar5212/ar5212.h user/gabor/tre-integration/sys/dev/ath/ath_hal/ar5212/ar5212_attach.c user/gabor/tre-integration/sys/dev/ath/ath_hal/ar5212/ar5212_misc.c user/gabor/tre-integration/sys/dev/ath/ath_hal/ar5212/ar5212reg.h user/gabor/tre-integration/sys/dev/ath/ath_hal/ar5416/ar2133.c user/gabor/tre-integration/sys/dev/ath/ath_hal/ar5416/ar5416.h user/gabor/tre-integration/sys/dev/ath/ath_hal/ar5416/ar5416_ani.c user/gabor/tre-integration/sys/dev/ath/ath_hal/ar5416/ar5416_attach.c user/gabor/tre-integration/sys/dev/ath/ath_hal/ar5416/ar5416_cal.c user/gabor/tre-integration/sys/dev/ath/ath_hal/ar5416/ar5416_misc.c user/gabor/tre-integration/sys/dev/ath/ath_hal/ar5416/ar5416_power.c user/gabor/tre-integration/sys/dev/ath/ath_hal/ar5416/ar5416_reset.c user/gabor/tre-integration/sys/dev/ath/ath_hal/ar5416/ar5416_xmit.c user/gabor/tre-integration/sys/dev/ath/ath_hal/ar5416/ar5416desc.h user/gabor/tre-integration/sys/dev/ath/ath_hal/ar5416/ar5416phy.h user/gabor/tre-integration/sys/dev/ath/ath_hal/ar5416/ar5416reg.h user/gabor/tre-integration/sys/dev/ath/ath_hal/ar9001/ar9130_attach.c user/gabor/tre-integration/sys/dev/ath/ath_hal/ar9001/ar9160_attach.c user/gabor/tre-integration/sys/dev/ath/ath_hal/ar9002/ar9280_attach.c user/gabor/tre-integration/sys/dev/ath/ath_hal/ar9002/ar9280_olc.c user/gabor/tre-integration/sys/dev/ath/ath_hal/ar9002/ar9285.h user/gabor/tre-integration/sys/dev/ath/ath_hal/ar9002/ar9285_attach.c user/gabor/tre-integration/sys/dev/ath/ath_hal/ar9002/ar9285_cal.c user/gabor/tre-integration/sys/dev/ath/ath_hal/ar9002/ar9285_diversity.c user/gabor/tre-integration/sys/dev/ath/ath_hal/ar9002/ar9285_phy.c user/gabor/tre-integration/sys/dev/ath/ath_hal/ar9002/ar9285_phy.h user/gabor/tre-integration/sys/dev/ath/ath_hal/ar9002/ar9285_reset.c user/gabor/tre-integration/sys/dev/ath/ath_rate/sample/sample.c user/gabor/tre-integration/sys/dev/ath/ath_rate/sample/tx_schedules.h user/gabor/tre-integration/sys/dev/ath/if_ath.c user/gabor/tre-integration/sys/dev/ath/if_ath_ahb.c user/gabor/tre-integration/sys/dev/ath/if_ath_sysctl.c user/gabor/tre-integration/sys/dev/ath/if_ath_tx_ht.c user/gabor/tre-integration/sys/dev/ath/if_athioctl.h user/gabor/tre-integration/sys/dev/ath/if_athvar.h user/gabor/tre-integration/sys/dev/atkbdc/atkbd.c user/gabor/tre-integration/sys/dev/bce/if_bce.c user/gabor/tre-integration/sys/dev/bfe/if_bfe.c user/gabor/tre-integration/sys/dev/bge/if_bge.c user/gabor/tre-integration/sys/dev/bge/if_bgereg.h user/gabor/tre-integration/sys/dev/bm/if_bm.c user/gabor/tre-integration/sys/dev/bxe/bxe_debug.h user/gabor/tre-integration/sys/dev/bxe/bxe_link.c user/gabor/tre-integration/sys/dev/bxe/if_bxe.c user/gabor/tre-integration/sys/dev/bxe/if_bxe.h user/gabor/tre-integration/sys/dev/cardbus/cardbus_cis.c user/gabor/tre-integration/sys/dev/cfi/cfi_dev.c user/gabor/tre-integration/sys/dev/coretemp/coretemp.c user/gabor/tre-integration/sys/dev/cxgbe/adapter.h user/gabor/tre-integration/sys/dev/cxgbe/common/common.h user/gabor/tre-integration/sys/dev/cxgbe/common/t4fw_interface.h user/gabor/tre-integration/sys/dev/cxgbe/offload.h user/gabor/tre-integration/sys/dev/cxgbe/osdep.h user/gabor/tre-integration/sys/dev/cxgbe/t4_ioctl.h user/gabor/tre-integration/sys/dev/cxgbe/t4_main.c user/gabor/tre-integration/sys/dev/cxgbe/t4_sge.c user/gabor/tre-integration/sys/dev/dc/dcphy.c user/gabor/tre-integration/sys/dev/dc/pnphy.c user/gabor/tre-integration/sys/dev/e1000/if_em.c user/gabor/tre-integration/sys/dev/ed/if_ed_pccard.c user/gabor/tre-integration/sys/dev/et/if_et.c user/gabor/tre-integration/sys/dev/fxp/if_fxp.c user/gabor/tre-integration/sys/dev/gem/if_gem.c user/gabor/tre-integration/sys/dev/hme/if_hme.c user/gabor/tre-integration/sys/dev/hwpmc/hwpmc_mod.c user/gabor/tre-integration/sys/dev/ichsmb/ichsmb_pci.c user/gabor/tre-integration/sys/dev/ichwd/ichwd.c user/gabor/tre-integration/sys/dev/ichwd/ichwd.h user/gabor/tre-integration/sys/dev/iicbus/ds1775.c user/gabor/tre-integration/sys/dev/iicbus/max6690.c user/gabor/tre-integration/sys/dev/ipw/if_ipw.c user/gabor/tre-integration/sys/dev/iwi/if_iwi.c user/gabor/tre-integration/sys/dev/iwn/if_iwn.c user/gabor/tre-integration/sys/dev/iwn/if_iwnreg.h user/gabor/tre-integration/sys/dev/iwn/if_iwnvar.h user/gabor/tre-integration/sys/dev/ixgbe/LICENSE user/gabor/tre-integration/sys/dev/ixgbe/README user/gabor/tre-integration/sys/dev/ixgbe/ixgbe.c user/gabor/tre-integration/sys/dev/ixgbe/ixv.c user/gabor/tre-integration/sys/dev/jme/if_jme.c user/gabor/tre-integration/sys/dev/lge/if_lge.c user/gabor/tre-integration/sys/dev/md/md.c user/gabor/tre-integration/sys/dev/mfi/mfi.c user/gabor/tre-integration/sys/dev/mfi/mfireg.h user/gabor/tre-integration/sys/dev/mii/acphy.c user/gabor/tre-integration/sys/dev/mii/amphy.c user/gabor/tre-integration/sys/dev/mii/atphy.c user/gabor/tre-integration/sys/dev/mii/axphy.c user/gabor/tre-integration/sys/dev/mii/bmtphy.c user/gabor/tre-integration/sys/dev/mii/brgphy.c user/gabor/tre-integration/sys/dev/mii/ciphy.c user/gabor/tre-integration/sys/dev/mii/e1000phy.c user/gabor/tre-integration/sys/dev/mii/exphy.c user/gabor/tre-integration/sys/dev/mii/gentbi.c user/gabor/tre-integration/sys/dev/mii/icsphy.c user/gabor/tre-integration/sys/dev/mii/inphy.c user/gabor/tre-integration/sys/dev/mii/ip1000phy.c user/gabor/tre-integration/sys/dev/mii/jmphy.c user/gabor/tre-integration/sys/dev/mii/lxtphy.c user/gabor/tre-integration/sys/dev/mii/mii.c user/gabor/tre-integration/sys/dev/mii/mii.h user/gabor/tre-integration/sys/dev/mii/mii_physubr.c user/gabor/tre-integration/sys/dev/mii/miidevs user/gabor/tre-integration/sys/dev/mii/miivar.h user/gabor/tre-integration/sys/dev/mii/mlphy.c user/gabor/tre-integration/sys/dev/mii/nsgphy.c user/gabor/tre-integration/sys/dev/mii/nsphy.c user/gabor/tre-integration/sys/dev/mii/nsphyter.c user/gabor/tre-integration/sys/dev/mii/pnaphy.c user/gabor/tre-integration/sys/dev/mii/qsphy.c user/gabor/tre-integration/sys/dev/mii/rdcphy.c user/gabor/tre-integration/sys/dev/mii/rgephy.c user/gabor/tre-integration/sys/dev/mii/rlphy.c user/gabor/tre-integration/sys/dev/mii/rlswitch.c user/gabor/tre-integration/sys/dev/mii/ruephy.c user/gabor/tre-integration/sys/dev/mii/smcphy.c user/gabor/tre-integration/sys/dev/mii/tdkphy.c user/gabor/tre-integration/sys/dev/mii/tlphy.c user/gabor/tre-integration/sys/dev/mii/truephy.c user/gabor/tre-integration/sys/dev/mii/ukphy.c user/gabor/tre-integration/sys/dev/mii/xmphy.c user/gabor/tre-integration/sys/dev/mk48txx/mk48txx.c user/gabor/tre-integration/sys/dev/mk48txx/mk48txxreg.h user/gabor/tre-integration/sys/dev/mmc/mmc.c user/gabor/tre-integration/sys/dev/mmc/mmcvar.h user/gabor/tre-integration/sys/dev/msk/if_msk.c user/gabor/tre-integration/sys/dev/msk/if_mskreg.h user/gabor/tre-integration/sys/dev/mvs/mvs.c user/gabor/tre-integration/sys/dev/nfe/if_nfe.c user/gabor/tre-integration/sys/dev/nge/if_nge.c user/gabor/tre-integration/sys/dev/null/null.c user/gabor/tre-integration/sys/dev/nve/if_nve.c user/gabor/tre-integration/sys/dev/pccard/pccard.c user/gabor/tre-integration/sys/dev/pci/isa_pci.c user/gabor/tre-integration/sys/dev/pci/pci.c user/gabor/tre-integration/sys/dev/pci/pci_pci.c user/gabor/tre-integration/sys/dev/pci/pcireg.h user/gabor/tre-integration/sys/dev/pcn/if_pcn.c user/gabor/tre-integration/sys/dev/puc/puc.c user/gabor/tre-integration/sys/dev/puc/puc_bfe.h user/gabor/tre-integration/sys/dev/puc/puc_pccard.c user/gabor/tre-integration/sys/dev/puc/puc_pci.c user/gabor/tre-integration/sys/dev/puc/pucdata.c user/gabor/tre-integration/sys/dev/safe/safe.c user/gabor/tre-integration/sys/dev/scc/scc_bfe_ebus.c user/gabor/tre-integration/sys/dev/sdhci/sdhci.c user/gabor/tre-integration/sys/dev/sf/if_sf.c user/gabor/tre-integration/sys/dev/sge/if_sge.c user/gabor/tre-integration/sys/dev/siis/siis.c user/gabor/tre-integration/sys/dev/sis/if_sis.c user/gabor/tre-integration/sys/dev/sound/pci/hda/hdac.c user/gabor/tre-integration/sys/dev/sound/pcm/dsp.c user/gabor/tre-integration/sys/dev/sound/pcm/sound.c user/gabor/tre-integration/sys/dev/sound/usb/uaudio.c user/gabor/tre-integration/sys/dev/ste/if_ste.c user/gabor/tre-integration/sys/dev/syscons/syscons.c user/gabor/tre-integration/sys/dev/syscons/syscons.h user/gabor/tre-integration/sys/dev/tx/if_tx.c user/gabor/tre-integration/sys/dev/uart/uart_cpu_sparc64.c user/gabor/tre-integration/sys/dev/uart/uart_dev_ns8250.c user/gabor/tre-integration/sys/dev/usb/controller/xhci_pci.c user/gabor/tre-integration/sys/dev/usb/controller/xhcireg.h user/gabor/tre-integration/sys/dev/usb/input/uhid.c user/gabor/tre-integration/sys/dev/usb/input/ukbd.c user/gabor/tre-integration/sys/dev/usb/input/ums.c user/gabor/tre-integration/sys/dev/usb/net/if_aue.c user/gabor/tre-integration/sys/dev/usb/net/if_axe.c user/gabor/tre-integration/sys/dev/usb/net/if_rue.c user/gabor/tre-integration/sys/dev/usb/net/if_udav.c user/gabor/tre-integration/sys/dev/usb/storage/umass.c user/gabor/tre-integration/sys/dev/usb/storage/ustorage_fs.c user/gabor/tre-integration/sys/dev/usb/usb_device.c user/gabor/tre-integration/sys/dev/usb/usb_device.h user/gabor/tre-integration/sys/dev/usb/usb_freebsd.h user/gabor/tre-integration/sys/dev/usb/usb_generic.c user/gabor/tre-integration/sys/dev/usb/usb_hub.c user/gabor/tre-integration/sys/dev/usb/usb_process.c user/gabor/tre-integration/sys/dev/usb/usb_request.c user/gabor/tre-integration/sys/dev/usb/usb_request.h user/gabor/tre-integration/sys/dev/usb/usb_transfer.c user/gabor/tre-integration/sys/dev/usb/usbdevs user/gabor/tre-integration/sys/dev/usb/usbdi.h user/gabor/tre-integration/sys/dev/vge/if_vge.c user/gabor/tre-integration/sys/dev/vr/if_vr.c user/gabor/tre-integration/sys/dev/vte/if_vte.c user/gabor/tre-integration/sys/dev/wb/if_wb.c user/gabor/tre-integration/sys/dev/wpi/if_wpi.c user/gabor/tre-integration/sys/dev/xen/balloon/balloon.c user/gabor/tre-integration/sys/dev/xen/blkback/blkback.c user/gabor/tre-integration/sys/dev/xen/blkfront/blkfront.c user/gabor/tre-integration/sys/dev/xen/control/control.c user/gabor/tre-integration/sys/dev/xen/netfront/netfront.c user/gabor/tre-integration/sys/dev/xl/if_xl.c user/gabor/tre-integration/sys/dev/xl/if_xlreg.h user/gabor/tre-integration/sys/fs/cd9660/cd9660_vfsops.c user/gabor/tre-integration/sys/fs/ext2fs/ext2_lookup.c user/gabor/tre-integration/sys/fs/ext2fs/ext2_vfsops.c user/gabor/tre-integration/sys/fs/hpfs/hpfs_vfsops.c user/gabor/tre-integration/sys/fs/msdosfs/msdosfs_vfsops.c user/gabor/tre-integration/sys/fs/nfs/nfs.h user/gabor/tre-integration/sys/fs/nfs/nfs_commonkrpc.c user/gabor/tre-integration/sys/fs/nfs/nfs_commonport.c user/gabor/tre-integration/sys/fs/nfs/nfs_commonsubs.c user/gabor/tre-integration/sys/fs/nfs/nfs_var.h user/gabor/tre-integration/sys/fs/nfs/nfsproto.h user/gabor/tre-integration/sys/fs/nfsclient/nfs_clbio.c user/gabor/tre-integration/sys/fs/nfsclient/nfs_clcomsubs.c user/gabor/tre-integration/sys/fs/nfsclient/nfs_clkrpc.c user/gabor/tre-integration/sys/fs/nfsclient/nfs_clnfsiod.c user/gabor/tre-integration/sys/fs/nfsclient/nfs_clport.c user/gabor/tre-integration/sys/fs/nfsclient/nfs_clrpcops.c user/gabor/tre-integration/sys/fs/nfsclient/nfs_clstate.c user/gabor/tre-integration/sys/fs/nfsclient/nfs_clsubs.c user/gabor/tre-integration/sys/fs/nfsclient/nfs_clvfsops.c user/gabor/tre-integration/sys/fs/nfsclient/nfs_clvnops.c user/gabor/tre-integration/sys/fs/nfsserver/nfs_nfsdkrpc.c user/gabor/tre-integration/sys/fs/nfsserver/nfs_nfsdport.c user/gabor/tre-integration/sys/fs/nfsserver/nfs_nfsdsocket.c user/gabor/tre-integration/sys/fs/nfsserver/nfs_nfsdstate.c user/gabor/tre-integration/sys/fs/ntfs/ntfs_vfsops.c user/gabor/tre-integration/sys/fs/nullfs/null_vfsops.c user/gabor/tre-integration/sys/fs/nwfs/nwfs_io.c user/gabor/tre-integration/sys/fs/smbfs/smbfs_io.c user/gabor/tre-integration/sys/fs/tmpfs/tmpfs_vfsops.c user/gabor/tre-integration/sys/fs/udf/udf_vfsops.c user/gabor/tre-integration/sys/fs/unionfs/union_vfsops.c user/gabor/tre-integration/sys/geom/cache/g_cache.c user/gabor/tre-integration/sys/geom/concat/g_concat.c user/gabor/tre-integration/sys/geom/eli/g_eli.c user/gabor/tre-integration/sys/geom/eli/g_eli.h user/gabor/tre-integration/sys/geom/eli/g_eli_ctl.c user/gabor/tre-integration/sys/geom/eli/g_eli_integrity.c user/gabor/tre-integration/sys/geom/eli/g_eli_key_cache.c user/gabor/tre-integration/sys/geom/gate/g_gate.c user/gabor/tre-integration/sys/geom/geom.h user/gabor/tre-integration/sys/geom/geom_dev.c user/gabor/tre-integration/sys/geom/geom_disk.c user/gabor/tre-integration/sys/geom/geom_disk.h user/gabor/tre-integration/sys/geom/geom_dump.c user/gabor/tre-integration/sys/geom/geom_event.c user/gabor/tre-integration/sys/geom/geom_kern.c user/gabor/tre-integration/sys/geom/geom_map.c user/gabor/tre-integration/sys/geom/geom_subr.c user/gabor/tre-integration/sys/geom/journal/g_journal.c user/gabor/tre-integration/sys/geom/label/g_label.c user/gabor/tre-integration/sys/geom/mountver/g_mountver.c user/gabor/tre-integration/sys/geom/multipath/g_multipath.c user/gabor/tre-integration/sys/geom/part/g_part.c user/gabor/tre-integration/sys/geom/part/g_part_apm.c user/gabor/tre-integration/sys/geom/part/g_part_bsd.c user/gabor/tre-integration/sys/geom/part/g_part_ebr.c user/gabor/tre-integration/sys/geom/part/g_part_mbr.c user/gabor/tre-integration/sys/geom/part/g_part_pc98.c user/gabor/tre-integration/sys/geom/part/g_part_vtoc8.c user/gabor/tre-integration/sys/geom/sched/g_sched.c user/gabor/tre-integration/sys/geom/shsec/g_shsec.c user/gabor/tre-integration/sys/geom/stripe/g_stripe.c user/gabor/tre-integration/sys/geom/vinum/geom_vinum_drive.c user/gabor/tre-integration/sys/geom/vinum/geom_vinum_events.c user/gabor/tre-integration/sys/gnu/fs/reiserfs/reiserfs_vfsops.c user/gabor/tre-integration/sys/gnu/fs/xfs/FreeBSD/support/kdb.c user/gabor/tre-integration/sys/gnu/fs/xfs/FreeBSD/xfs_mountops.c user/gabor/tre-integration/sys/i386/conf/GENERIC user/gabor/tre-integration/sys/i386/conf/NOTES user/gabor/tre-integration/sys/i386/i386/identcpu.c user/gabor/tre-integration/sys/i386/i386/intr_machdep.c user/gabor/tre-integration/sys/i386/i386/legacy.c user/gabor/tre-integration/sys/i386/i386/machdep.c user/gabor/tre-integration/sys/i386/i386/mp_machdep.c user/gabor/tre-integration/sys/i386/i386/pmap.c user/gabor/tre-integration/sys/i386/i386/vm_machdep.c user/gabor/tre-integration/sys/i386/include/_types.h user/gabor/tre-integration/sys/i386/include/clock.h user/gabor/tre-integration/sys/i386/include/pmap.h user/gabor/tre-integration/sys/i386/include/sf_buf.h user/gabor/tre-integration/sys/i386/include/smp.h user/gabor/tre-integration/sys/i386/include/specialreg.h user/gabor/tre-integration/sys/i386/include/vmparam.h user/gabor/tre-integration/sys/i386/include/xen/xenvar.h user/gabor/tre-integration/sys/i386/pci/pci_cfgreg.c user/gabor/tre-integration/sys/i386/xen/clock.c user/gabor/tre-integration/sys/i386/xen/mp_machdep.c user/gabor/tre-integration/sys/i386/xen/pmap.c user/gabor/tre-integration/sys/ia64/acpica/acpi_machdep.c user/gabor/tre-integration/sys/ia64/ia64/exception.S user/gabor/tre-integration/sys/ia64/ia64/machdep.c user/gabor/tre-integration/sys/ia64/ia64/mp_machdep.c user/gabor/tre-integration/sys/ia64/ia64/pal.S user/gabor/tre-integration/sys/ia64/ia64/pmap.c user/gabor/tre-integration/sys/ia64/ia64/syscall.S user/gabor/tre-integration/sys/ia64/include/_types.h user/gabor/tre-integration/sys/ia64/include/ia64_cpu.h user/gabor/tre-integration/sys/ia64/include/pcpu.h user/gabor/tre-integration/sys/ia64/include/smp.h user/gabor/tre-integration/sys/ia64/include/vmparam.h user/gabor/tre-integration/sys/ia64/isa/isa.c user/gabor/tre-integration/sys/isa/isa_common.c user/gabor/tre-integration/sys/isa/isa_common.h user/gabor/tre-integration/sys/isa/syscons_isa.c user/gabor/tre-integration/sys/kern/device_if.m user/gabor/tre-integration/sys/kern/kern_clocksource.c user/gabor/tre-integration/sys/kern/kern_conf.c user/gabor/tre-integration/sys/kern/kern_cpuset.c user/gabor/tre-integration/sys/kern/kern_descrip.c user/gabor/tre-integration/sys/kern/kern_environment.c user/gabor/tre-integration/sys/kern/kern_exit.c user/gabor/tre-integration/sys/kern/kern_idle.c user/gabor/tre-integration/sys/kern/kern_ktr.c user/gabor/tre-integration/sys/kern/kern_pmc.c user/gabor/tre-integration/sys/kern/kern_proc.c user/gabor/tre-integration/sys/kern/kern_racct.c user/gabor/tre-integration/sys/kern/kern_rctl.c user/gabor/tre-integration/sys/kern/kern_rmlock.c user/gabor/tre-integration/sys/kern/kern_shutdown.c user/gabor/tre-integration/sys/kern/kern_sig.c user/gabor/tre-integration/sys/kern/kern_synch.c user/gabor/tre-integration/sys/kern/kern_sysctl.c user/gabor/tre-integration/sys/kern/ksched.c user/gabor/tre-integration/sys/kern/sched_4bsd.c user/gabor/tre-integration/sys/kern/sched_ule.c user/gabor/tre-integration/sys/kern/subr_devstat.c user/gabor/tre-integration/sys/kern/subr_kdb.c user/gabor/tre-integration/sys/kern/subr_msgbuf.c user/gabor/tre-integration/sys/kern/subr_pcpu.c user/gabor/tre-integration/sys/kern/subr_prf.c user/gabor/tre-integration/sys/kern/subr_rman.c user/gabor/tre-integration/sys/kern/subr_sbuf.c user/gabor/tre-integration/sys/kern/subr_smp.c user/gabor/tre-integration/sys/kern/sys_process.c user/gabor/tre-integration/sys/kern/uipc_socket.c user/gabor/tre-integration/sys/kern/uipc_syscalls.c user/gabor/tre-integration/sys/kern/vfs_bio.c user/gabor/tre-integration/sys/kern/vfs_default.c user/gabor/tre-integration/sys/kern/vfs_mount.c user/gabor/tre-integration/sys/kern/vfs_subr.c user/gabor/tre-integration/sys/kern/vfs_syscalls.c user/gabor/tre-integration/sys/kern/vfs_vnops.c user/gabor/tre-integration/sys/kern/vnode_if.src user/gabor/tre-integration/sys/mips/atheros/ar71xx_gpio.c user/gabor/tre-integration/sys/mips/atheros/ar71xx_gpiovar.h user/gabor/tre-integration/sys/mips/atheros/ar724xreg.h user/gabor/tre-integration/sys/mips/atheros/ar91xxreg.h user/gabor/tre-integration/sys/mips/atheros/if_arge.c user/gabor/tre-integration/sys/mips/cavium/octe/octe.c user/gabor/tre-integration/sys/mips/cavium/octeon_ebt3000_cf.c user/gabor/tre-integration/sys/mips/cavium/octeon_mp.c user/gabor/tre-integration/sys/mips/conf/ADM5120 user/gabor/tre-integration/sys/mips/conf/ALCHEMY user/gabor/tre-integration/sys/mips/conf/AR71XX user/gabor/tre-integration/sys/mips/conf/AR91XX_BASE user/gabor/tre-integration/sys/mips/conf/IDT user/gabor/tre-integration/sys/mips/conf/MALTA user/gabor/tre-integration/sys/mips/conf/MALTA64 user/gabor/tre-integration/sys/mips/conf/OCTEON1 user/gabor/tre-integration/sys/mips/conf/PB92 user/gabor/tre-integration/sys/mips/conf/PB92.hints user/gabor/tre-integration/sys/mips/conf/QEMU user/gabor/tre-integration/sys/mips/conf/RT305X user/gabor/tre-integration/sys/mips/conf/SENTRY5 user/gabor/tre-integration/sys/mips/conf/XLR user/gabor/tre-integration/sys/mips/conf/XLR64 user/gabor/tre-integration/sys/mips/conf/XLRN32 user/gabor/tre-integration/sys/mips/conf/std.SWARM user/gabor/tre-integration/sys/mips/idt/if_kr.c user/gabor/tre-integration/sys/mips/include/_types.h user/gabor/tre-integration/sys/mips/include/atomic.h user/gabor/tre-integration/sys/mips/include/hwfunc.h user/gabor/tre-integration/sys/mips/include/pmap.h user/gabor/tre-integration/sys/mips/include/smp.h user/gabor/tre-integration/sys/mips/include/vmparam.h user/gabor/tre-integration/sys/mips/mips/mp_machdep.c user/gabor/tre-integration/sys/mips/mips/pmap.c user/gabor/tre-integration/sys/mips/rmi/xlr_machdep.c user/gabor/tre-integration/sys/mips/sibyte/sb_scd.c user/gabor/tre-integration/sys/modules/Makefile user/gabor/tre-integration/sys/modules/ath/Makefile user/gabor/tre-integration/sys/modules/cxgbe/if_cxgbe/Makefile user/gabor/tre-integration/sys/modules/mem/Makefile user/gabor/tre-integration/sys/modules/mii/Makefile user/gabor/tre-integration/sys/modules/uart/Makefile user/gabor/tre-integration/sys/modules/usb/Makefile user/gabor/tre-integration/sys/modules/wlan/Makefile user/gabor/tre-integration/sys/net/bridgestp.c user/gabor/tre-integration/sys/net/bridgestp.h user/gabor/tre-integration/sys/net/if.h user/gabor/tre-integration/sys/net/if_epair.c user/gabor/tre-integration/sys/net/if_ethersubr.c user/gabor/tre-integration/sys/net/if_llatbl.c user/gabor/tre-integration/sys/net/if_llatbl.h user/gabor/tre-integration/sys/net/if_media.h user/gabor/tre-integration/sys/net/if_tun.c user/gabor/tre-integration/sys/net/netisr.c user/gabor/tre-integration/sys/net/netisr.h user/gabor/tre-integration/sys/net/netisr_internal.h user/gabor/tre-integration/sys/net80211/ieee80211_adhoc.c user/gabor/tre-integration/sys/net80211/ieee80211_alq.c user/gabor/tre-integration/sys/net80211/ieee80211_hostap.c user/gabor/tre-integration/sys/net80211/ieee80211_ht.c user/gabor/tre-integration/sys/net80211/ieee80211_input.h user/gabor/tre-integration/sys/net80211/ieee80211_mesh.c user/gabor/tre-integration/sys/net80211/ieee80211_output.c user/gabor/tre-integration/sys/net80211/ieee80211_sta.c user/gabor/tre-integration/sys/net80211/ieee80211_var.h user/gabor/tre-integration/sys/net80211/ieee80211_wds.c user/gabor/tre-integration/sys/netgraph/bluetooth/drivers/ubt/ng_ubt.c user/gabor/tre-integration/sys/netgraph/ng_eiface.c user/gabor/tre-integration/sys/netgraph/ng_nat.c user/gabor/tre-integration/sys/netgraph/ng_pipe.c user/gabor/tre-integration/sys/netinet/icmp6.h user/gabor/tre-integration/sys/netinet/in.c user/gabor/tre-integration/sys/netinet/in_pcb.c user/gabor/tre-integration/sys/netinet/in_pcb.h user/gabor/tre-integration/sys/netinet/in_proto.c user/gabor/tre-integration/sys/netinet/in_var.h user/gabor/tre-integration/sys/netinet/ip_divert.c user/gabor/tre-integration/sys/netinet/ip_input.c user/gabor/tre-integration/sys/netinet/ip_ipsec.c user/gabor/tre-integration/sys/netinet/ipfw/ip_dn_glue.c user/gabor/tre-integration/sys/netinet/ipfw/ip_dummynet.c user/gabor/tre-integration/sys/netinet/ipfw/ip_fw2.c user/gabor/tre-integration/sys/netinet/ipfw/ip_fw_dynamic.c user/gabor/tre-integration/sys/netinet/ipfw/ip_fw_nat.c user/gabor/tre-integration/sys/netinet/ipfw/ip_fw_sockopt.c user/gabor/tre-integration/sys/netinet/libalias/alias.h user/gabor/tre-integration/sys/netinet/libalias/alias_sctp.h user/gabor/tre-integration/sys/netinet/raw_ip.c user/gabor/tre-integration/sys/netinet/sctp.h user/gabor/tre-integration/sys/netinet/sctp_asconf.c user/gabor/tre-integration/sys/netinet/sctp_auth.c user/gabor/tre-integration/sys/netinet/sctp_auth.h user/gabor/tre-integration/sys/netinet/sctp_cc_functions.c user/gabor/tre-integration/sys/netinet/sctp_indata.c user/gabor/tre-integration/sys/netinet/sctp_indata.h user/gabor/tre-integration/sys/netinet/sctp_input.c user/gabor/tre-integration/sys/netinet/sctp_input.h user/gabor/tre-integration/sys/netinet/sctp_output.c user/gabor/tre-integration/sys/netinet/sctp_output.h user/gabor/tre-integration/sys/netinet/sctp_pcb.c user/gabor/tre-integration/sys/netinet/sctp_sysctl.h user/gabor/tre-integration/sys/netinet/sctp_timer.c user/gabor/tre-integration/sys/netinet/sctp_usrreq.c user/gabor/tre-integration/sys/netinet/sctp_var.h user/gabor/tre-integration/sys/netinet/sctputil.c user/gabor/tre-integration/sys/netinet/sctputil.h user/gabor/tre-integration/sys/netinet/siftr.c user/gabor/tre-integration/sys/netinet/tcp_input.c user/gabor/tre-integration/sys/netinet/tcp_output.c user/gabor/tre-integration/sys/netinet/tcp_subr.c user/gabor/tre-integration/sys/netinet/tcp_syncache.c user/gabor/tre-integration/sys/netinet/tcp_timer.c user/gabor/tre-integration/sys/netinet/tcp_timewait.c user/gabor/tre-integration/sys/netinet/tcp_usrreq.c user/gabor/tre-integration/sys/netinet/udp_usrreq.c user/gabor/tre-integration/sys/netinet6/in6.c user/gabor/tre-integration/sys/netinet6/in6.h user/gabor/tre-integration/sys/netinet6/in6_pcb.c user/gabor/tre-integration/sys/netinet6/in6_pcb.h user/gabor/tre-integration/sys/netinet6/in6_proto.c user/gabor/tre-integration/sys/netinet6/in6_src.c user/gabor/tre-integration/sys/netinet6/ip6_input.c user/gabor/tre-integration/sys/netinet6/ip6_ipsec.c user/gabor/tre-integration/sys/netinet6/ip6_var.h user/gabor/tre-integration/sys/netinet6/nd6.c user/gabor/tre-integration/sys/netinet6/nd6.h user/gabor/tre-integration/sys/netinet6/nd6_nbr.c user/gabor/tre-integration/sys/netinet6/nd6_rtr.c user/gabor/tre-integration/sys/netinet6/sctp6_usrreq.c user/gabor/tre-integration/sys/netinet6/send.h user/gabor/tre-integration/sys/netinet6/udp6_usrreq.c user/gabor/tre-integration/sys/netipsec/key.c user/gabor/tre-integration/sys/nfs/nfs_common.c user/gabor/tre-integration/sys/nfs/nfs_diskless.c user/gabor/tre-integration/sys/nfs/nfs_nfssvc.c user/gabor/tre-integration/sys/nfs/nfssvc.h user/gabor/tre-integration/sys/nfsclient/nfs.h user/gabor/tre-integration/sys/nfsclient/nfs_bio.c user/gabor/tre-integration/sys/nfsclient/nfs_kdtrace.c user/gabor/tre-integration/sys/nfsclient/nfs_krpc.c user/gabor/tre-integration/sys/nfsclient/nfs_nfsiod.c user/gabor/tre-integration/sys/nfsclient/nfs_subs.c user/gabor/tre-integration/sys/nfsclient/nfs_vfsops.c user/gabor/tre-integration/sys/nfsclient/nfs_vnops.c user/gabor/tre-integration/sys/nfsclient/nfsargs.h user/gabor/tre-integration/sys/nfsserver/nfs_srvsubs.c user/gabor/tre-integration/sys/nlm/nlm_prot_impl.c user/gabor/tre-integration/sys/ofed/drivers/infiniband/ulp/ipoib/ipoib_cm.c user/gabor/tre-integration/sys/ofed/include/linux/list.h user/gabor/tre-integration/sys/pc98/cbus/syscons_cbus.c user/gabor/tre-integration/sys/pc98/conf/GENERIC user/gabor/tre-integration/sys/pc98/pc98/machdep.c user/gabor/tre-integration/sys/powerpc/aim/interrupt.c user/gabor/tre-integration/sys/powerpc/aim/locore32.S user/gabor/tre-integration/sys/powerpc/aim/locore64.S user/gabor/tre-integration/sys/powerpc/aim/machdep.c user/gabor/tre-integration/sys/powerpc/aim/mmu_oea.c user/gabor/tre-integration/sys/powerpc/aim/mmu_oea64.c user/gabor/tre-integration/sys/powerpc/aim/moea64_native.c user/gabor/tre-integration/sys/powerpc/aim/mp_cpudep.c user/gabor/tre-integration/sys/powerpc/aim/slb.c user/gabor/tre-integration/sys/powerpc/aim/trap_subr64.S user/gabor/tre-integration/sys/powerpc/booke/locore.S user/gabor/tre-integration/sys/powerpc/booke/machdep.c user/gabor/tre-integration/sys/powerpc/booke/platform_bare.c user/gabor/tre-integration/sys/powerpc/booke/pmap.c user/gabor/tre-integration/sys/powerpc/conf/GENERIC user/gabor/tre-integration/sys/powerpc/conf/GENERIC64 user/gabor/tre-integration/sys/powerpc/conf/NOTES user/gabor/tre-integration/sys/powerpc/include/_types.h user/gabor/tre-integration/sys/powerpc/include/atomic.h user/gabor/tre-integration/sys/powerpc/include/openpicvar.h user/gabor/tre-integration/sys/powerpc/include/param.h user/gabor/tre-integration/sys/powerpc/include/pmap.h user/gabor/tre-integration/sys/powerpc/include/slb.h user/gabor/tre-integration/sys/powerpc/include/smp.h user/gabor/tre-integration/sys/powerpc/include/spr.h user/gabor/tre-integration/sys/powerpc/include/vmparam.h user/gabor/tre-integration/sys/powerpc/mpc85xx/isa.c user/gabor/tre-integration/sys/powerpc/mpc85xx/mpc85xx.c user/gabor/tre-integration/sys/powerpc/mpc85xx/mpc85xx.h user/gabor/tre-integration/sys/powerpc/mpc85xx/openpic_fdt.c user/gabor/tre-integration/sys/powerpc/ofw/ofw_machdep.c user/gabor/tre-integration/sys/powerpc/ofw/ofw_real.c user/gabor/tre-integration/sys/powerpc/powermac/fcu.c user/gabor/tre-integration/sys/powerpc/powermac/macio.c user/gabor/tre-integration/sys/powerpc/powermac/maciovar.h user/gabor/tre-integration/sys/powerpc/powermac/smu.c user/gabor/tre-integration/sys/powerpc/powermac/smusat.c user/gabor/tre-integration/sys/powerpc/powerpc/intr_machdep.c user/gabor/tre-integration/sys/powerpc/powerpc/mp_machdep.c user/gabor/tre-integration/sys/powerpc/powerpc/openpic.c user/gabor/tre-integration/sys/powerpc/powerpc/pic_if.m user/gabor/tre-integration/sys/powerpc/powerpc/platform.c user/gabor/tre-integration/sys/powerpc/ps3/ps3bus.c user/gabor/tre-integration/sys/sparc64/conf/GENERIC user/gabor/tre-integration/sys/sparc64/include/_types.h user/gabor/tre-integration/sys/sparc64/include/asmacros.h user/gabor/tre-integration/sys/sparc64/include/ktr.h user/gabor/tre-integration/sys/sparc64/include/pmap.h user/gabor/tre-integration/sys/sparc64/include/smp.h user/gabor/tre-integration/sys/sparc64/include/vmparam.h user/gabor/tre-integration/sys/sparc64/isa/isa.c user/gabor/tre-integration/sys/sparc64/sparc64/autoconf.c user/gabor/tre-integration/sys/sparc64/sparc64/eeprom.c user/gabor/tre-integration/sys/sparc64/sparc64/exception.S user/gabor/tre-integration/sys/sparc64/sparc64/genassym.c user/gabor/tre-integration/sys/sparc64/sparc64/intr_machdep.c user/gabor/tre-integration/sys/sparc64/sparc64/mem.c user/gabor/tre-integration/sys/sparc64/sparc64/mp_exception.S user/gabor/tre-integration/sys/sparc64/sparc64/mp_locore.S user/gabor/tre-integration/sys/sparc64/sparc64/mp_machdep.c user/gabor/tre-integration/sys/sparc64/sparc64/pmap.c user/gabor/tre-integration/sys/sparc64/sparc64/swtch.S user/gabor/tre-integration/sys/sparc64/sparc64/tlb.c user/gabor/tre-integration/sys/sys/_rmlock.h user/gabor/tre-integration/sys/sys/conf.h user/gabor/tre-integration/sys/sys/cpuset.h user/gabor/tre-integration/sys/sys/disk.h user/gabor/tre-integration/sys/sys/dtrace_bsd.h user/gabor/tre-integration/sys/sys/elf_common.h user/gabor/tre-integration/sys/sys/kdb.h user/gabor/tre-integration/sys/sys/ktr.h user/gabor/tre-integration/sys/sys/mbuf.h user/gabor/tre-integration/sys/sys/mount.h user/gabor/tre-integration/sys/sys/msgbuf.h user/gabor/tre-integration/sys/sys/param.h user/gabor/tre-integration/sys/sys/pcpu.h user/gabor/tre-integration/sys/sys/pmckern.h user/gabor/tre-integration/sys/sys/priority.h user/gabor/tre-integration/sys/sys/proc.h user/gabor/tre-integration/sys/sys/queue.h user/gabor/tre-integration/sys/sys/racct.h user/gabor/tre-integration/sys/sys/sbuf.h user/gabor/tre-integration/sys/sys/smp.h user/gabor/tre-integration/sys/sys/soundcard.h user/gabor/tre-integration/sys/sys/stddef.h user/gabor/tre-integration/sys/sys/stdint.h user/gabor/tre-integration/sys/sys/systm.h user/gabor/tre-integration/sys/sys/types.h user/gabor/tre-integration/sys/sys/user.h user/gabor/tre-integration/sys/sys/vnode.h user/gabor/tre-integration/sys/teken/teken.c user/gabor/tre-integration/sys/teken/teken.h user/gabor/tre-integration/sys/ufs/ffs/ffs_alloc.c user/gabor/tre-integration/sys/ufs/ffs/ffs_balloc.c user/gabor/tre-integration/sys/ufs/ffs/ffs_extern.h user/gabor/tre-integration/sys/ufs/ffs/ffs_inode.c user/gabor/tre-integration/sys/ufs/ffs/ffs_snapshot.c user/gabor/tre-integration/sys/ufs/ffs/ffs_softdep.c user/gabor/tre-integration/sys/ufs/ffs/ffs_vfsops.c user/gabor/tre-integration/sys/ufs/ffs/ffs_vnops.c user/gabor/tre-integration/sys/ufs/ffs/fs.h user/gabor/tre-integration/sys/ufs/ffs/softdep.h user/gabor/tre-integration/sys/ufs/ufs/inode.h user/gabor/tre-integration/sys/ufs/ufs/quota.h user/gabor/tre-integration/sys/ufs/ufs/ufs_extern.h user/gabor/tre-integration/sys/ufs/ufs/ufs_lookup.c user/gabor/tre-integration/sys/ufs/ufs/ufs_quota.c user/gabor/tre-integration/sys/ufs/ufs/ufs_vfsops.c user/gabor/tre-integration/sys/ufs/ufs/ufs_vnops.c user/gabor/tre-integration/sys/ufs/ufs/ufsmount.h user/gabor/tre-integration/sys/vm/uma_core.c user/gabor/tre-integration/sys/vm/uma_int.h user/gabor/tre-integration/sys/vm/vm_kern.c user/gabor/tre-integration/sys/vm/vm_object.c user/gabor/tre-integration/sys/vm/vm_page.c user/gabor/tre-integration/sys/vm/vm_page.h user/gabor/tre-integration/sys/vm/vnode_pager.c user/gabor/tre-integration/sys/vm/vnode_pager.h user/gabor/tre-integration/sys/x86/isa/clock.c user/gabor/tre-integration/sys/x86/isa/isa.c user/gabor/tre-integration/sys/x86/x86/local_apic.c user/gabor/tre-integration/sys/x86/x86/tsc.c user/gabor/tre-integration/sys/xen/interface/io/xenbus.h user/gabor/tre-integration/sys/xen/xenbus/xenbus.c user/gabor/tre-integration/sys/xen/xenbus/xenbus_if.m user/gabor/tre-integration/sys/xen/xenbus/xenbusb.c user/gabor/tre-integration/sys/xen/xenbus/xenbusb.h user/gabor/tre-integration/sys/xen/xenbus/xenbusb_back.c user/gabor/tre-integration/sys/xen/xenbus/xenbusb_front.c user/gabor/tre-integration/sys/xen/xenbus/xenbusb_if.m user/gabor/tre-integration/sys/xen/xenbus/xenbusvar.h user/gabor/tre-integration/sys/xen/xenstore/xenstorevar.h user/gabor/tre-integration/tools/build/make_check/Makefile user/gabor/tre-integration/tools/build/options/WITHOUT_ACCT user/gabor/tre-integration/tools/build/options/WITHOUT_FDT user/gabor/tre-integration/tools/build/options/WITHOUT_FLOPPY user/gabor/tre-integration/tools/build/options/WITH_BSD_GREP user/gabor/tre-integration/tools/build/options/makeman user/gabor/tre-integration/tools/regression/bin/sh/builtins/alias.1.stderr user/gabor/tre-integration/tools/regression/netinet/tcpconnect/tcpconnect.c user/gabor/tre-integration/tools/regression/netinet/tcpdrop/tcpdrop.c user/gabor/tre-integration/tools/regression/netinet/tcpfullwindowrst/tcpfullwindowrsttest.c user/gabor/tre-integration/tools/regression/netinet/tcpsocktimewait/tcpsocktimewait.c user/gabor/tre-integration/tools/regression/netinet/udpconnectjail/udpconnectjail.c user/gabor/tre-integration/tools/regression/usr.bin/printf/regress.sh user/gabor/tre-integration/tools/tools/README user/gabor/tre-integration/tools/tools/ath/ath_ee_v4k_print/v4k.c user/gabor/tre-integration/tools/tools/ether_reflect/ether_reflect.1 user/gabor/tre-integration/tools/tools/iso/check-iso3166.pl user/gabor/tre-integration/tools/tools/nanobsd/nanobsd.sh user/gabor/tre-integration/usr.bin/Makefile user/gabor/tre-integration/usr.bin/ar/acpyacc.y user/gabor/tre-integration/usr.bin/ar/ar.c user/gabor/tre-integration/usr.bin/ar/write.c user/gabor/tre-integration/usr.bin/calendar/calendars/calendar.freebsd user/gabor/tre-integration/usr.bin/calendar/io.c user/gabor/tre-integration/usr.bin/clang/tblgen/Makefile user/gabor/tre-integration/usr.bin/find/function.c user/gabor/tre-integration/usr.bin/find/main.c user/gabor/tre-integration/usr.bin/find/option.c user/gabor/tre-integration/usr.bin/fstat/Makefile user/gabor/tre-integration/usr.bin/fstat/fstat.c user/gabor/tre-integration/usr.bin/grep/grep.c user/gabor/tre-integration/usr.bin/grep/util.c user/gabor/tre-integration/usr.bin/gzip/Makefile user/gabor/tre-integration/usr.bin/gzip/gzip.1 user/gabor/tre-integration/usr.bin/gzip/gzip.c user/gabor/tre-integration/usr.bin/gzip/zdiff user/gabor/tre-integration/usr.bin/gzip/zdiff.1 user/gabor/tre-integration/usr.bin/gzip/zuncompress.c user/gabor/tre-integration/usr.bin/iconv/Makefile user/gabor/tre-integration/usr.bin/kdump/mksubr user/gabor/tre-integration/usr.bin/less/defines.h user/gabor/tre-integration/usr.bin/man/man.1 user/gabor/tre-integration/usr.bin/man/man.conf.5 user/gabor/tre-integration/usr.bin/man/man.sh user/gabor/tre-integration/usr.bin/mkcsmapper/mkcsmapper.1 user/gabor/tre-integration/usr.bin/mkesdb/mkesdb.1 user/gabor/tre-integration/usr.bin/mkuzip/mkuzip.c user/gabor/tre-integration/usr.bin/netstat/netisr.c user/gabor/tre-integration/usr.bin/nfsstat/nfsstat.1 user/gabor/tre-integration/usr.bin/nfsstat/nfsstat.c user/gabor/tre-integration/usr.bin/printf/printf.1 user/gabor/tre-integration/usr.bin/printf/printf.c user/gabor/tre-integration/usr.bin/procstat/Makefile user/gabor/tre-integration/usr.bin/procstat/procstat.c user/gabor/tre-integration/usr.bin/procstat/procstat.h user/gabor/tre-integration/usr.bin/procstat/procstat_args.c user/gabor/tre-integration/usr.bin/procstat/procstat_basic.c user/gabor/tre-integration/usr.bin/procstat/procstat_bin.c user/gabor/tre-integration/usr.bin/procstat/procstat_cred.c user/gabor/tre-integration/usr.bin/procstat/procstat_files.c user/gabor/tre-integration/usr.bin/procstat/procstat_kstack.c user/gabor/tre-integration/usr.bin/procstat/procstat_sigs.c user/gabor/tre-integration/usr.bin/procstat/procstat_threads.c user/gabor/tre-integration/usr.bin/procstat/procstat_vm.c user/gabor/tre-integration/usr.bin/rctl/Makefile user/gabor/tre-integration/usr.bin/rctl/rctl.8 user/gabor/tre-integration/usr.bin/rpcgen/rpc_hout.c user/gabor/tre-integration/usr.bin/rpcgen/rpc_svcout.c user/gabor/tre-integration/usr.bin/rpcgen/rpc_tblout.c user/gabor/tre-integration/usr.bin/rpcinfo/rpcinfo.c user/gabor/tre-integration/usr.bin/showmount/showmount.c user/gabor/tre-integration/usr.bin/su/su.1 user/gabor/tre-integration/usr.bin/tftp/main.c user/gabor/tre-integration/usr.bin/tip/tip/tipout.c user/gabor/tre-integration/usr.bin/top/machine.c user/gabor/tre-integration/usr.bin/top/top.local.1 user/gabor/tre-integration/usr.bin/truss/amd64-fbsd.c user/gabor/tre-integration/usr.bin/truss/amd64-fbsd32.c user/gabor/tre-integration/usr.bin/truss/i386-fbsd.c user/gabor/tre-integration/usr.bin/truss/ia64-fbsd.c user/gabor/tre-integration/usr.bin/truss/main.c user/gabor/tre-integration/usr.bin/truss/powerpc-fbsd.c user/gabor/tre-integration/usr.bin/truss/powerpc64-fbsd.c user/gabor/tre-integration/usr.bin/truss/sparc64-fbsd.c user/gabor/tre-integration/usr.sbin/bluetooth/ath3kfw/Makefile user/gabor/tre-integration/usr.sbin/bluetooth/bthidd/hid.c user/gabor/tre-integration/usr.sbin/bsdinstall/Makefile user/gabor/tre-integration/usr.sbin/bsdinstall/partedit/Makefile user/gabor/tre-integration/usr.sbin/bsdinstall/scripts/Makefile user/gabor/tre-integration/usr.sbin/bsdinstall/scripts/auto user/gabor/tre-integration/usr.sbin/bsdinstall/scripts/netconfig user/gabor/tre-integration/usr.sbin/bsnmpd/modules/snmp_bridge/snmp_bridge.3 user/gabor/tre-integration/usr.sbin/bsnmpd/modules/snmp_hostres/snmp_hostres.3 user/gabor/tre-integration/usr.sbin/bsnmpd/modules/snmp_wlan/Makefile user/gabor/tre-integration/usr.sbin/bsnmpd/modules/snmp_wlan/snmp_wlan.3 user/gabor/tre-integration/usr.sbin/diskinfo/diskinfo.c user/gabor/tre-integration/usr.sbin/freebsd-update/freebsd-update.sh user/gabor/tre-integration/usr.sbin/gpioctl/gpioctl.8 user/gabor/tre-integration/usr.sbin/ifmcstat/ifmcstat.8 user/gabor/tre-integration/usr.sbin/jail/Makefile user/gabor/tre-integration/usr.sbin/jail/jail.c user/gabor/tre-integration/usr.sbin/jls/Makefile user/gabor/tre-integration/usr.sbin/jls/jls.c user/gabor/tre-integration/usr.sbin/kbdmap/kbdmap.c user/gabor/tre-integration/usr.sbin/lastlogin/lastlogin.8 user/gabor/tre-integration/usr.sbin/lastlogin/lastlogin.c user/gabor/tre-integration/usr.sbin/makefs/cd9660.c user/gabor/tre-integration/usr.sbin/makefs/cd9660.h user/gabor/tre-integration/usr.sbin/makefs/cd9660/cd9660_eltorito.c user/gabor/tre-integration/usr.sbin/makefs/makefs.8 user/gabor/tre-integration/usr.sbin/mfiutil/mfi_config.c user/gabor/tre-integration/usr.sbin/mfiutil/mfi_drive.c user/gabor/tre-integration/usr.sbin/mfiutil/mfi_evt.c user/gabor/tre-integration/usr.sbin/mfiutil/mfi_flash.c user/gabor/tre-integration/usr.sbin/mfiutil/mfi_patrol.c user/gabor/tre-integration/usr.sbin/mfiutil/mfi_show.c user/gabor/tre-integration/usr.sbin/mfiutil/mfi_volume.c user/gabor/tre-integration/usr.sbin/mountd/mountd.c user/gabor/tre-integration/usr.sbin/newsyslog/newsyslog.c user/gabor/tre-integration/usr.sbin/newsyslog/newsyslog.conf.5 user/gabor/tre-integration/usr.sbin/nfsd/nfsv4.4 user/gabor/tre-integration/usr.sbin/pc-sysinstall/backend-query/enable-net.sh user/gabor/tre-integration/usr.sbin/pc-sysinstall/backend-query/test-netup.sh user/gabor/tre-integration/usr.sbin/pc-sysinstall/backend/functions-cleanup.sh user/gabor/tre-integration/usr.sbin/pc-sysinstall/backend/functions-disk.sh user/gabor/tre-integration/usr.sbin/pc-sysinstall/backend/functions-installcomponents.sh user/gabor/tre-integration/usr.sbin/pc-sysinstall/backend/functions-networking.sh user/gabor/tre-integration/usr.sbin/pkg_install/Makefile user/gabor/tre-integration/usr.sbin/pkg_install/Makefile.inc user/gabor/tre-integration/usr.sbin/pkg_install/add/Makefile user/gabor/tre-integration/usr.sbin/pkg_install/add/extract.c user/gabor/tre-integration/usr.sbin/pkg_install/add/futil.c user/gabor/tre-integration/usr.sbin/pkg_install/add/main.c user/gabor/tre-integration/usr.sbin/pkg_install/add/perform.c user/gabor/tre-integration/usr.sbin/pkg_install/create/Makefile user/gabor/tre-integration/usr.sbin/pkg_install/create/main.c user/gabor/tre-integration/usr.sbin/pkg_install/create/perform.c user/gabor/tre-integration/usr.sbin/pkg_install/create/pl.c user/gabor/tre-integration/usr.sbin/pkg_install/delete/Makefile user/gabor/tre-integration/usr.sbin/pkg_install/delete/main.c user/gabor/tre-integration/usr.sbin/pkg_install/delete/perform.c user/gabor/tre-integration/usr.sbin/pkg_install/info/Makefile user/gabor/tre-integration/usr.sbin/pkg_install/info/info.h user/gabor/tre-integration/usr.sbin/pkg_install/info/main.c user/gabor/tre-integration/usr.sbin/pkg_install/info/perform.c user/gabor/tre-integration/usr.sbin/pkg_install/info/show.c user/gabor/tre-integration/usr.sbin/pkg_install/updating/Makefile user/gabor/tre-integration/usr.sbin/pkg_install/updating/main.c user/gabor/tre-integration/usr.sbin/pkg_install/version/Makefile user/gabor/tre-integration/usr.sbin/pkg_install/version/main.c user/gabor/tre-integration/usr.sbin/pkg_install/version/perform.c user/gabor/tre-integration/usr.sbin/pmccontrol/pmccontrol.c user/gabor/tre-integration/usr.sbin/rpc.lockd/lockd.c user/gabor/tre-integration/usr.sbin/rpc.statd/statd.c user/gabor/tre-integration/usr.sbin/rtadvd/advcap.c user/gabor/tre-integration/usr.sbin/rtadvd/config.c user/gabor/tre-integration/usr.sbin/rtadvd/config.h user/gabor/tre-integration/usr.sbin/rtadvd/dump.c user/gabor/tre-integration/usr.sbin/rtadvd/dump.h user/gabor/tre-integration/usr.sbin/rtadvd/if.c user/gabor/tre-integration/usr.sbin/rtadvd/if.h user/gabor/tre-integration/usr.sbin/rtadvd/pathnames.h user/gabor/tre-integration/usr.sbin/rtadvd/rrenum.c user/gabor/tre-integration/usr.sbin/rtadvd/rrenum.h user/gabor/tre-integration/usr.sbin/rtadvd/rtadvd.8 user/gabor/tre-integration/usr.sbin/rtadvd/rtadvd.c user/gabor/tre-integration/usr.sbin/rtadvd/rtadvd.conf user/gabor/tre-integration/usr.sbin/rtadvd/rtadvd.conf.5 user/gabor/tre-integration/usr.sbin/rtadvd/rtadvd.h user/gabor/tre-integration/usr.sbin/rtadvd/timer.c user/gabor/tre-integration/usr.sbin/rtadvd/timer.h user/gabor/tre-integration/usr.sbin/rtsold/dump.c user/gabor/tre-integration/usr.sbin/rtsold/if.c user/gabor/tre-integration/usr.sbin/rtsold/probe.c user/gabor/tre-integration/usr.sbin/rtsold/rtsock.c user/gabor/tre-integration/usr.sbin/rtsold/rtsol.c user/gabor/tre-integration/usr.sbin/rtsold/rtsold.8 user/gabor/tre-integration/usr.sbin/rtsold/rtsold.c user/gabor/tre-integration/usr.sbin/rtsold/rtsold.h user/gabor/tre-integration/usr.sbin/tcpdrop/tcpdrop.c user/gabor/tre-integration/usr.sbin/tzsetup/tzsetup.8 user/gabor/tre-integration/usr.sbin/tzsetup/tzsetup.c user/gabor/tre-integration/usr.sbin/usbdump/usbdump.8 user/gabor/tre-integration/usr.sbin/usbdump/usbdump.c Directory Properties: user/gabor/tre-integration/ (props changed) user/gabor/tre-integration/cddl/contrib/opensolaris/ (props changed) user/gabor/tre-integration/contrib/bind9/ (props changed) user/gabor/tre-integration/contrib/binutils/ (props changed) user/gabor/tre-integration/contrib/bzip2/ (props changed) user/gabor/tre-integration/contrib/compiler-rt/ (props changed) user/gabor/tre-integration/contrib/dialog/ (props changed) user/gabor/tre-integration/contrib/ee/ (props changed) user/gabor/tre-integration/contrib/expat/ (props changed) user/gabor/tre-integration/contrib/file/ (props changed) user/gabor/tre-integration/contrib/gcc/ (props changed) user/gabor/tre-integration/contrib/gdb/ (props changed) user/gabor/tre-integration/contrib/gdtoa/ (props changed) user/gabor/tre-integration/contrib/gnu-sort/ (props changed) user/gabor/tre-integration/contrib/groff/ (props changed) user/gabor/tre-integration/contrib/less/ (props changed) user/gabor/tre-integration/contrib/libpcap/ (props changed) user/gabor/tre-integration/contrib/libstdc++/ (props changed) user/gabor/tre-integration/contrib/llvm/ (props changed) user/gabor/tre-integration/contrib/llvm/tools/clang/ (props changed) user/gabor/tre-integration/contrib/ncurses/ (props changed) user/gabor/tre-integration/contrib/netcat/ (props changed) user/gabor/tre-integration/contrib/ntp/ (props changed) user/gabor/tre-integration/contrib/one-true-awk/ (props changed) user/gabor/tre-integration/contrib/openbsm/ (props changed) user/gabor/tre-integration/contrib/openpam/ (props changed) user/gabor/tre-integration/contrib/pf/ (props changed) user/gabor/tre-integration/contrib/sendmail/ (props changed) user/gabor/tre-integration/contrib/tcpdump/ (props changed) user/gabor/tre-integration/contrib/tcsh/ (props changed) user/gabor/tre-integration/contrib/top/ (props changed) user/gabor/tre-integration/contrib/top/install-sh (props changed) user/gabor/tre-integration/contrib/tzcode/stdtime/ (props changed) user/gabor/tre-integration/contrib/tzcode/zic/ (props changed) user/gabor/tre-integration/contrib/tzdata/ (props changed) user/gabor/tre-integration/contrib/wpa/ (props changed) user/gabor/tre-integration/contrib/xz/ (props changed) user/gabor/tre-integration/crypto/openssh/ (props changed) user/gabor/tre-integration/crypto/openssl/ (props changed) user/gabor/tre-integration/gnu/lib/ (props changed) user/gabor/tre-integration/gnu/usr.bin/binutils/ (props changed) user/gabor/tre-integration/gnu/usr.bin/cc/cc_tools/ (props changed) user/gabor/tre-integration/gnu/usr.bin/gdb/ (props changed) user/gabor/tre-integration/lib/libc/ (props changed) user/gabor/tre-integration/lib/libc/stdtime/ (props changed) user/gabor/tre-integration/lib/libutil/ (props changed) user/gabor/tre-integration/lib/libz/ (props changed) user/gabor/tre-integration/sbin/ (props changed) user/gabor/tre-integration/sbin/ipfw/ (props changed) user/gabor/tre-integration/share/mk/bsd.arch.inc.mk (props changed) user/gabor/tre-integration/share/zoneinfo/ (props changed) user/gabor/tre-integration/sys/ (props changed) user/gabor/tre-integration/sys/amd64/include/xen/ (props changed) user/gabor/tre-integration/sys/boot/ (props changed) user/gabor/tre-integration/sys/boot/i386/efi/ (props changed) user/gabor/tre-integration/sys/boot/ia64/efi/ (props changed) user/gabor/tre-integration/sys/boot/ia64/ski/ (props changed) user/gabor/tre-integration/sys/boot/powerpc/boot1.chrp/ (props changed) user/gabor/tre-integration/sys/boot/powerpc/ofw/ (props changed) user/gabor/tre-integration/sys/cddl/contrib/opensolaris/ (props changed) user/gabor/tre-integration/sys/conf/ (props changed) user/gabor/tre-integration/sys/contrib/dev/acpica/ (props changed) user/gabor/tre-integration/sys/contrib/octeon-sdk/ (props changed) user/gabor/tre-integration/sys/contrib/pf/ (props changed) user/gabor/tre-integration/sys/contrib/x86emu/ (props changed) user/gabor/tre-integration/usr.bin/calendar/ (props changed) user/gabor/tre-integration/usr.bin/csup/ (props changed) user/gabor/tre-integration/usr.bin/procstat/ (props changed) user/gabor/tre-integration/usr.sbin/ndiscvt/ (props changed) user/gabor/tre-integration/usr.sbin/zic/ (props changed) Modified: user/gabor/tre-integration/MAINTAINERS ============================================================================== --- user/gabor/tre-integration/MAINTAINERS Wed Jun 15 14:44:08 2011 (r223110) +++ user/gabor/tre-integration/MAINTAINERS Wed Jun 15 14:48:42 2011 (r223111) @@ -108,7 +108,7 @@ linux emul emulation Please discuss chan bs{diff,patch} cperciva Pre-commit review requested. portsnap cperciva Pre-commit review requested. freebsd-update cperciva Pre-commit review requested. -openssl - No non-upstream commits should be done. +openssl benl Pre-commit review requested. sys/netgraph/bluetooth emax Pre-commit review preferred. lib/libbluetooth emax Pre-commit review preferred. lib/libsdp emax Pre-commit review preferred. Modified: user/gabor/tre-integration/Makefile ============================================================================== --- user/gabor/tre-integration/Makefile Wed Jun 15 14:44:08 2011 (r223110) +++ user/gabor/tre-integration/Makefile Wed Jun 15 14:48:42 2011 (r223111) @@ -131,7 +131,7 @@ _MAKE= PATH=${PATH} ${BINMAKE} -f Makefi # Guess machine architecture from machine type, and vice versa. .if !defined(TARGET_ARCH) && defined(TARGET) -_TARGET_ARCH= ${TARGET:S/pc98/i386/:S/sun4v/sparc64/:S/mips/mipsel/} +_TARGET_ARCH= ${TARGET:S/pc98/i386/:S/mips/mipsel/} .elif !defined(TARGET) && defined(TARGET_ARCH) && \ ${TARGET_ARCH} != ${MACHINE_ARCH} _TARGET= ${TARGET_ARCH:C/mips.*e[lb]/mips/:C/armeb/arm/} @@ -323,12 +323,11 @@ toolchains: # existing system is. # .if make(universe) || make(universe_kernels) || make(tinderbox) || make(targets) -TARGETS?=amd64 arm i386 ia64 mips pc98 powerpc sparc64 sun4v +TARGETS?=amd64 arm i386 ia64 mips pc98 powerpc sparc64 TARGET_ARCHES_arm?= arm armeb TARGET_ARCHES_mips?= mipsel mipseb mips64el mips64eb mipsn32eb TARGET_ARCHES_powerpc?= powerpc powerpc64 TARGET_ARCHES_pc98?= i386 -TARGET_ARCHES_sun4v?= sparc64 .for target in ${TARGETS} TARGET_ARCHES_${target}?= ${target} .endfor Modified: user/gabor/tre-integration/Makefile.inc1 ============================================================================== --- user/gabor/tre-integration/Makefile.inc1 Wed Jun 15 14:44:08 2011 (r223110) +++ user/gabor/tre-integration/Makefile.inc1 Wed Jun 15 14:48:42 2011 (r223111) @@ -130,7 +130,7 @@ VERSION!= uname -srp VERSION+= ${OSRELDATE} .endif -KNOWN_ARCHES?= amd64 arm armeb/arm i386 i386/pc98 ia64 mipsel/mips mipseb/mips mips64el/mips mips64eb/mips mipsn32el/mips mipsn32eb/mips powerpc powerpc64/powerpc sparc64 sparc64/sun4v +KNOWN_ARCHES?= amd64 arm armeb/arm i386 i386/pc98 ia64 mipsel/mips mipseb/mips mips64el/mips mips64eb/mips mipsn32el/mips mipsn32eb/mips powerpc powerpc64/powerpc sparc64 .if ${TARGET} == ${TARGET_ARCH} _t= ${TARGET} .else @@ -246,9 +246,10 @@ TMAKE= MAKEOBJDIRPREFIX=${OBJTREE} \ ${BMAKEENV} ${MAKE} -f Makefile.inc1 \ TARGET=${TARGET} TARGET_ARCH=${TARGET_ARCH} \ DESTDIR= \ + BOOTSTRAPPING=${OSRELDATE} \ SSP_CFLAGS= \ - BOOTSTRAPPING=${OSRELDATE} -DNO_LINT -DNO_CPU_CFLAGS \ - -DNO_WARNS -DNO_CTF + -DNO_LINT \ + -DNO_CPU_CFLAGS -DNO_WARNS -DNO_CTF # cross-tools stage XMAKE= TOOLS_PREFIX=${WORLDTMP} ${BMAKE} \ @@ -829,7 +830,7 @@ buildkernel: @echo "--------------------------------------------------------------" cd ${KRNLOBJDIR}/${_kernel}; \ MAKESRCPATH=${KERNSRCDIR}/dev/aic7xxx/aicasm \ - ${MAKE} SSP_CFLAGS= -DNO_CPU_CFLAGS \ + ${MAKE} SSP_CFLAGS= -DNO_CPU_CFLAGS -DNO_CTF \ -f ${KERNSRCDIR}/dev/aic7xxx/aicasm/Makefile # XXX - Gratuitously builds aicasm in the ``makeoptions NO_MODULES'' case. .if !defined(MODULES_WITH_WORLD) && !defined(NO_MODULES) && exists(${KERNSRCDIR}/modules) @@ -868,7 +869,7 @@ reinstallkernel reinstallkernel.debug: i false .endif @echo "--------------------------------------------------------------" - @echo ">>> Installing kernel ${KERNCONF}" + @echo ">>> Installing kernel ${INSTALLKERNEL}" @echo "--------------------------------------------------------------" cd ${KRNLOBJDIR}/${INSTALLKERNEL}; \ ${CROSSENV} PATH=${TMPPATH} \ @@ -1024,7 +1025,9 @@ _clang_tblgen= \ usr.bin/clang/tblgen .endif -.if ${MK_CDDL} != "no" +.if ${MK_CDDL} != "no" && \ + ${BOOTSTRAPPING} < 800038 && \ + !(${BOOTSTRAPPING} >= 700112 && ${BOOTSTRAPPING} < 799999) _dtrace_tools= cddl/usr.bin/sgsmsg cddl/lib/libctf lib/libelf \ lib/libdwarf cddl/usr.bin/ctfconvert cddl/usr.bin/ctfmerge .endif @@ -1033,6 +1036,9 @@ _dtrace_tools= cddl/usr.bin/sgsmsg cddl/ _dtc= gnu/usr.bin/dtc .endif +# Please document (add comment) why something is in 'bootstrap-tools'. +# Try to bound the building of the bootstrap-tool to just the +# FreeBSD versions that need the tool built at this stage of the build. bootstrap-tools: .for _tool in \ ${_clang_tblgen} \ @@ -1126,6 +1132,10 @@ _kgzip= usr.sbin/kgzip .endif .endif +.if ${MK_BINUTILS} != "no" +_binutils= gnu/usr.bin/binutils +.endif + .if ${MK_CLANG} != "no" .if ${CC:T:Mclang} == "clang" _clang= usr.bin/clang @@ -1133,12 +1143,16 @@ _clang_libs= lib/clang .endif .endif +.if ${MK_GCC} != "no" +_cc= gnu/usr.bin/cc +.endif + cross-tools: .for _tool in \ ${_clang_libs} \ ${_clang} \ - gnu/usr.bin/binutils \ - gnu/usr.bin/cc \ + ${_binutils} \ + ${_cc} \ usr.bin/xlint/lint1 usr.bin/xlint/lint2 usr.bin/xlint/xlint \ ${_btxld} \ ${_crunchide} \ @@ -1199,7 +1213,7 @@ _prebuild_libs= ${_kerberos5_lib_libasn1 ${_kerberos5_lib_libhx509} ${_kerberos5_lib_libkrb5} \ ${_kerberos5_lib_libroken} \ lib/libbz2 lib/libcom_err lib/libcrypt \ - lib/libexpat lib/libfetch \ + lib/libexpat \ ${_lib_libgssapi} ${_lib_libipx} \ lib/libkiconv lib/libkvm lib/liblzma lib/libmd \ lib/ncurses/ncurses lib/ncurses/ncursesw \ @@ -1232,7 +1246,6 @@ _cddl_lib= cddl/lib _secure_lib_libcrypto= secure/lib/libcrypto _secure_lib_libssl= secure/lib/libssl lib/libradius__L secure/lib/libssl__L: secure/lib/libcrypto__L -lib/libfetch__L: secure/lib/libcrypto__L secure/lib/libssl__L lib/libmd__L .if ${MK_OPENSSH} != "no" _secure_lib_libssh= secure/lib/libssh secure/lib/libssh__L: lib/libz__L secure/lib/libcrypto__L lib/libcrypt__L @@ -1268,7 +1281,7 @@ _lib_libypclnt= lib/libypclnt .endif .if ${MK_OPENSSL} == "no" -lib/libfetch__L lib/libradius__L: lib/libmd__L +lib/libradius__L: lib/libmd__L .endif .for _lib in ${_prereq_libs} @@ -1547,7 +1560,8 @@ _xb-build-tools: _xb-cross-tools: .for _tool in \ gnu/usr.bin/binutils \ - gnu/usr.bin/cc + gnu/usr.bin/cc \ + usr.bin/ar ${_+_}@${ECHODIR} "===> xdev ${_tool} (obj,depend,all)"; \ cd ${.CURDIR}/${_tool}; \ ${CDMAKE} DIRPRFX=${_tool}/ obj; \ @@ -1572,7 +1586,8 @@ _xi-cross-tools: @echo "_xi-cross-tools" .for _tool in \ gnu/usr.bin/binutils \ - gnu/usr.bin/cc + gnu/usr.bin/cc \ + usr.bin/ar ${_+_}@${ECHODIR} "===> xdev ${_tool} (install)"; \ cd ${.CURDIR}/${_tool}; \ ${CDMAKE} DIRPRFX=${_tool}/ install DESTDIR=${XDDESTDIR} Modified: user/gabor/tre-integration/UPDATING ============================================================================== --- user/gabor/tre-integration/UPDATING Wed Jun 15 14:44:08 2011 (r223110) +++ user/gabor/tre-integration/UPDATING Wed Jun 15 14:48:42 2011 (r223111) @@ -22,6 +22,36 @@ NOTE TO PEOPLE WHO THINK THAT FreeBSD 9. machines to maximize performance. (To disable malloc debugging, run ln -s aj /etc/malloc.conf.) +20110608: + The following sysctls and tunables are retired on x86 platforms: + machdep.hlt_cpus + machdep.hlt_logical_cpus + The following sysctl is retired: + machdep.hyperthreading_allowed + The sysctls were supposed to provide a way to dynamically offline and + online selected CPUs on x86 platforms, but the implementation has not + been reliable especially with SCHED_ULE scheduler. + machdep.hyperthreading_allowed tunable is still available to ignore + hyperthreading CPUs at OS level. + Individual CPUs can be disabled using hint.lapic.X.disabled tunable, + where X is an APIC ID of a CPU. Be advised, though, that disabling + CPUs in non-uniform fashion will result in non-uniform topology and + may lead to sub-optimal system performance with SCHED_ULE, which is + a default scheduler. + +20110607: + cpumask_t type is retired and cpuset_t is used in order to describe + a mask of CPUs. + +20110531: + Changes to ifconfig(8) for dynamic address family detection mandate + that you are running a kernel of 20110525 or later. Make sure to + follow the update procedure to boot a new kernel before installing + world. + +20110513: + Support for sun4v architecture is officially dropped + 20110430: Users of the Atheros AR71xx SoC code now need to add 'device ar71xx_pci' into their kernel configurations along with 'device pci'. Modified: user/gabor/tre-integration/bin/chmod/chmod.1 ============================================================================== --- user/gabor/tre-integration/bin/chmod/chmod.1 Wed Jun 15 14:44:08 2011 (r223110) +++ user/gabor/tre-integration/bin/chmod/chmod.1 Wed Jun 15 14:48:42 2011 (r223111) @@ -134,7 +134,7 @@ will run with effective gid set to the g See .Xr chmod 2 and -.Xr sticky 8 . +.Xr sticky 7 . .It Li 0400 Allow read by owner. .It Li 0200 @@ -325,10 +325,10 @@ option is non-standard and its use in sc .Xr umask 2 , .Xr fts 3 , .Xr setmode 3 , +.Xr sticky 7 , .Xr symlink 7 , .Xr chown 8 , -.Xr mount 8 , -.Xr sticky 8 +.Xr mount 8 .Sh STANDARDS The .Nm Modified: user/gabor/tre-integration/bin/ed/POSIX ============================================================================== --- user/gabor/tre-integration/bin/ed/POSIX Wed Jun 15 14:44:08 2011 (r223110) +++ user/gabor/tre-integration/bin/ed/POSIX Wed Jun 15 14:48:42 2011 (r223111) @@ -75,7 +75,7 @@ DEVIATIONS 2) Since the behavior of `u' (undo) within a `g' (global) command list is not specified by POSIX, it follows the behavior of the SunOS ed: undo forces a global command list to be executed only once, rather than - for each line matching a global pattern. In addtion, each instance of + for each line matching a global pattern. In addition, each instance of `u' within a global command undoes all previous commands (including undo's) in the command list. This seems the best way, since the alternatives are either too complicated to implement or too confusing @@ -83,7 +83,7 @@ DEVIATIONS The global/undo combination is useful for masking errors that would otherwise cause a script to fail. For instance, an ed script - to remove any occurences of either `censor1' or `censor2' might be + to remove any occurrences of either `censor1' or `censor2' might be written as: ed - file <= 0) { @@ -794,7 +794,7 @@ ar_rdsync(void) /* * ar_fow() - * Move the I/O position within the archive foward the specified number of + * Move the I/O position within the archive forward the specified number of * bytes as supported by the device. If we cannot move the requested * number of bytes, return the actual number of bytes moved in skipped. * Return: @@ -813,7 +813,7 @@ ar_fow(off_t sksz, off_t *skipped) return(0); /* - * we cannot move foward at EOF or error + * we cannot move forward at EOF or error */ if (lstrval <= 0) return(lstrval); @@ -822,7 +822,7 @@ ar_fow(off_t sksz, off_t *skipped) * Safer to read forward on devices where it is hard to find the end of * the media without reading to it. With tapes we cannot be sure of the * number of physical blocks to skip (we do not know physical block - * size at this point), so we must only read foward on tapes! + * size at this point), so we must only read forward on tapes! */ if (artyp != ISREG) return(0); @@ -907,7 +907,7 @@ ar_rev(off_t sksz) /* * we may try to go backwards past the start when the archive - * is only a single record. If this hapens and we are on a + * is only a single record. If this happens and we are on a * multi volume archive, we need to go to the end of the * previous volume and continue our movement backwards from * there. @@ -1046,7 +1046,7 @@ get_phys(void) } /* - * read foward to the file mark, then back up in front of the filemark + * read forward to the file mark, then back up in front of the filemark * (this is a bit paranoid, but should be safe to do). */ while ((res = read(arfd, scbuf, sizeof(scbuf))) > 0) Modified: user/gabor/tre-integration/bin/pax/ar_subs.c ============================================================================== --- user/gabor/tre-integration/bin/pax/ar_subs.c Wed Jun 15 14:44:08 2011 (r223110) +++ user/gabor/tre-integration/bin/pax/ar_subs.c Wed Jun 15 14:48:42 2011 (r223111) @@ -854,7 +854,7 @@ copy(void) } /* - * Non standard -Y and -Z flag. When the exisiting file is + * Non standard -Y and -Z flag. When the existing file is * same age or newer skip */ if ((Yflag || Zflag) && ((lstat(arcn->name, &sb) == 0))) { @@ -1096,7 +1096,7 @@ next_head(ARCHD *arcn) } /* - * ok got a valid header, check for trailer if format encodes it in the + * ok got a valid header, check for trailer if format encodes it in * the header. */ if (frmt->inhead && ((*frmt->trail_cpio)(arcn) == 0)) { Modified: user/gabor/tre-integration/bin/pax/buf_subs.c ============================================================================== --- user/gabor/tre-integration/bin/pax/buf_subs.c Wed Jun 15 14:44:08 2011 (r223110) +++ user/gabor/tre-integration/bin/pax/buf_subs.c Wed Jun 15 14:48:42 2011 (r223111) @@ -145,7 +145,7 @@ rd_start(void) } if (wrblksz % BLKMULT) { paxwarn(1, "Write block size %d is not a %d byte multiple", - wrblksz, BLKMULT); + wrblksz, BLKMULT); return(-1); } } @@ -182,13 +182,13 @@ cp_start(void) * the start of the header of the first file added to the archive. The * format specific end read function tells us how many bytes to move * backwards in the archive to be positioned BEFORE the trailer. Two - * different postions have to be adjusted, the O.S. file offset (e.g. the + * different positions have to be adjusted, the O.S. file offset (e.g. the * position of the tape head) and the write point within the data we have * stored in the read (soon to become write) buffer. We may have to move * back several records (the number depends on the size of the archive * record and the size of the format trailer) to read up the record where * the first byte of the trailer is recorded. Trailers may span (and - * overlap) record boundries. + * overlap) record boundaries. * We first calculate which record has the first byte of the trailer. We * move the OS file offset back to the start of this record and read it * up. We set the buffer write pointer to be at this byte (the byte where @@ -196,10 +196,10 @@ cp_start(void) * start of this record so a flush of this buffer will replace the record * in the archive. * A major problem is rewriting this last record. For archives stored - * on disk files, this is trival. However, many devices are really picky + * on disk files, this is trivial. However, many devices are really picky * about the conditions under which they will allow a write to occur. * Often devices restrict the conditions where writes can be made writes, - * so it may not be feasable to append archives stored on all types of + * so it may not be feasible to append archives stored on all types of * devices. * Return: * 0 for success, -1 for failure @@ -365,7 +365,7 @@ rd_sync(void) * pback() * push the data used during the archive id phase back into the I/O * buffer. This is required as we cannot be sure that the header does NOT - * overlap a block boundry (as in the case we are trying to recover a + * overlap a block boundary (as in the case we are trying to recover a * flawed archived). This was not designed to be used for any other * purpose. (What software engineering, HA!) * WARNING: do not even THINK of pback greater than BLKMULT, unless the @@ -382,7 +382,7 @@ pback(char *pt, int cnt) /* * rd_skip() - * skip foward in the archive during an archive read. Used to get quickly + * skip forward in the archive during an archive read. Used to get quickly * past file data and padding for files the user did NOT select. * Return: * 0 if ok, -1 failure, and 1 when EOF on the archive volume was detected. @@ -396,7 +396,7 @@ rd_skip(off_t skcnt) off_t skipped = 0; /* - * consume what data we have in the buffer. If we have to move foward + * consume what data we have in the buffer. If we have to move forward * whole records, we call the low level skip function to see if we can * move within the archive without doing the expensive reads on data we * do not want. @@ -453,7 +453,7 @@ rd_skip(off_t skcnt) * wr_fin() * flush out any data (and pad if required) the last block. We always pad * with zero (even though we do not have to). Padding with 0 makes it a - * lot easier to recover if the archive is damaged. zero paddding SHOULD + * lot easier to recover if the archive is damaged. zero padding SHOULD * BE a requirement.... */ @@ -530,7 +530,7 @@ rd_wrbuf(char *in, int cpcnt) /* * read error, return what we got (or the error if * no data was copied). The caller must know that an - * error occured and has the best knowledge what to + * error occurred and has the best knowledge what to * do with it */ if ((res = cpcnt - incnt) > 0) @@ -584,7 +584,7 @@ wr_skip(off_t skcnt) /* * wr_rdfile() - * fill write buffer with the contents of a file. We are passed an open + * fill write buffer with the contents of a file. We are passed an open * file descriptor to the file and the archive structure that describes the * file we are storing. The variable "left" is modified to contain the * number of bytes of the file we were NOT able to write to the archive. @@ -671,7 +671,7 @@ rd_wrfile(ARCHD *arcn, int ofd, off_t *l int isem = 1; int rem; int sz = MINFBSZ; - struct stat sb; + struct stat sb; u_long crc = 0L; /* @@ -884,7 +884,7 @@ buf_flush(int bufcnt) /* * if we have reached the user specified byte count for each archive - * volume, prompt for the next volume. (The non-standrad -R flag). + * volume, prompt for the next volume. (The non-standard -R flag). * NOTE: If the wrlimit is smaller than wrcnt, we will always write * at least one record. We always round limit UP to next blocksize. */ @@ -944,7 +944,7 @@ buf_flush(int bufcnt) } else if (cnt > 0) { /* * Oh drat we got a partial write! - * if format doesnt care about alignment let it go, + * if format doesn't care about alignment let it go, * we warned the user in ar_write().... but this means * the last record on this volume violates pax spec.... */ Modified: user/gabor/tre-integration/bin/pax/cpio.c ============================================================================== --- user/gabor/tre-integration/bin/pax/cpio.c Wed Jun 15 14:44:08 2011 (r223110) +++ user/gabor/tre-integration/bin/pax/cpio.c Wed Jun 15 14:48:42 2011 (r223111) @@ -627,7 +627,7 @@ vcpio_rd(ARCHD *arcn, char *buf) return(-1); /* - * skip padding. header + filename is aligned to 4 byte boundries + * skip padding. header + filename is aligned to 4 byte boundaries */ if (rd_skip((off_t)(VCPIO_PAD(sizeof(HD_VCPIO) + nsz))) < 0) return(-1); @@ -942,7 +942,7 @@ bcpio_rd(ARCHD *arcn, char *buf) return(-1); /* - * header + file name are aligned to 2 byte boundries, skip if needed + * header + file name are aligned to 2 byte boundaries, skip if needed */ if (rd_skip((off_t)(BCPIO_PAD(sizeof(HD_BCPIO) + nsz))) < 0) return(-1); @@ -989,8 +989,8 @@ bcpio_endrd(void) * bcpio_wr() * copy the data in the ARCHD to buffer in old binary cpio format * There is a real chance of field overflow with this critter. So we - * always check the conversion is ok. nobody in his their right mind - * should write an achive in this format... + * always check that the conversion is ok. nobody in their right mind + * should write an archive in this format... * Return * 0 if file has data to be written after the header, 1 if file has NO * data to write after the header, -1 if archive write failed Modified: user/gabor/tre-integration/bin/pax/file_subs.c ============================================================================== --- user/gabor/tre-integration/bin/pax/file_subs.c Wed Jun 15 14:44:08 2011 (r223110) +++ user/gabor/tre-integration/bin/pax/file_subs.c Wed Jun 15 14:48:42 2011 (r223111) @@ -84,9 +84,9 @@ file_creat(ARCHD *arcn) * works. We have to take special handling when the file does exist. To * detect this, we use O_EXCL. For example when trying to create a * file and a character device or fifo exists with the same name, we - * can accidently open the device by mistake (or block waiting to open) - * If we find that the open has failed, then figure spend the effort to - * figure out why. This strategy was found to have better average + * can accidentally open the device by mistake (or block waiting to + * open). If we find that the open has failed, then spend the effort + * to figure out why. This strategy was found to have better average * performance in common use than checking the file (and the path) * first with lstat. */ @@ -559,7 +559,7 @@ chk_path( char *name, uid_t st_uid, gid_ for(;;) { /* - * work foward from the first / and check each part of the path + * work forward from the first / and check each part of the path */ spt = strchr(spt, '/'); if (spt == NULL) @@ -600,7 +600,7 @@ chk_path( char *name, uid_t st_uid, gid_ (void)set_ids(name, st_uid, st_gid); /* - * make sure the user doen't have some strange umask that + * make sure the user doesn't have some strange umask that * causes this newly created directory to be unusable. We fix * the modes and restore them back to the creation default at * the end of pax @@ -716,11 +716,11 @@ set_pmode(char *fnm, mode_t mode) * uses lseek whenever it detects the input data is all 0 within that * file block. In more detail, the strategy is as follows: * While the input is all zero keep doing an lseek. Keep track of when we - * pass over file block boundries. Only write when we hit a non zero + * pass over file block boundaries. Only write when we hit a non zero * input. once we have written a file block, we continue to write it to * the end (we stop looking at the input). When we reach the start of the * next file block, start checking for zero blocks again. Working on file - * block boundries significantly reduces the overhead when copying files + * block boundaries significantly reduces the overhead when copying files * that are NOT very sparse. This overhead (when compared to a write) is * almost below the measurement resolution on many systems. Without it, * files with holes cannot be safely copied. It does has a side effect as @@ -923,7 +923,7 @@ set_crc(ARCHD *arcn, int fd) /* * safety check. we want to avoid archiving files that are active as - * they can create inconsistant archive copies. + * they can create inconsistent archive copies. */ if (cpcnt != arcn->sb.st_size) paxwarn(1, "File changed size %s", arcn->org_name); Modified: user/gabor/tre-integration/bin/pax/ftree.c ============================================================================== --- user/gabor/tre-integration/bin/pax/ftree.c Wed Jun 15 14:44:08 2011 (r223110) +++ user/gabor/tre-integration/bin/pax/ftree.c Wed Jun 15 14:48:42 2011 (r223111) @@ -101,8 +101,8 @@ ftree_start(void) /* * optional user flags that effect file traversal * -H command line symlink follow only (half follow) - * -L follow sylinks (logical) - * -P do not follow sylinks (physical). This is the default. + * -L follow symlinks (logical) + * -P do not follow symlinks (physical). This is the default. * -X do not cross over mount points * -t preserve access times on files read. * -n select only the first member of a file tree when a match is found Modified: user/gabor/tre-integration/bin/pax/options.c ============================================================================== --- user/gabor/tre-integration/bin/pax/options.c Wed Jun 15 14:44:08 2011 (r223110) +++ user/gabor/tre-integration/bin/pax/options.c Wed Jun 15 14:48:42 2011 (r223111) @@ -887,7 +887,7 @@ tar_options(int argc, char **argv) sawpat = 1; } /* - * if patterns were added, we are doing chdir() + * if patterns were added, we are doing chdir() * on a file-by-file basis, else, just one * global chdir (if any) after opening input. */ Modified: user/gabor/tre-integration/bin/pax/pat_rep.c ============================================================================== --- user/gabor/tre-integration/bin/pax/pat_rep.c Wed Jun 15 14:44:08 2011 (r223110) +++ user/gabor/tre-integration/bin/pax/pat_rep.c Wed Jun 15 14:48:42 2011 (r223111) @@ -397,7 +397,7 @@ pat_sel(ARCHD *arcn) /* * should never happen.... */ - paxwarn(1, "Pattern list inconsistant"); + paxwarn(1, "Pattern list inconsistent"); return(-1); } *ppt = pt->fow; Modified: user/gabor/tre-integration/bin/pax/pax.c ============================================================================== --- user/gabor/tre-integration/bin/pax/pax.c Wed Jun 15 14:44:08 2011 (r223110) +++ user/gabor/tre-integration/bin/pax/pax.c Wed Jun 15 14:48:42 2011 (r223111) @@ -372,7 +372,7 @@ gen_init(void) /* * signal handling to reset stored directory times and modes. Since * we deal with broken pipes via failed writes we ignore it. We also - * deal with any file size limit thorugh failed writes. Cpu time + * deal with any file size limit thorough failed writes. Cpu time * limits are caught and a cleanup is forced. */ if ((sigemptyset(&s_mask) < 0) || (sigaddset(&s_mask, SIGTERM) < 0) || Modified: user/gabor/tre-integration/bin/pax/sel_subs.c ============================================================================== --- user/gabor/tre-integration/bin/pax/sel_subs.c Wed Jun 15 14:44:08 2011 (r223110) +++ user/gabor/tre-integration/bin/pax/sel_subs.c Wed Jun 15 14:48:42 2011 (r223111) @@ -376,7 +376,7 @@ trng_add(char *str) } /* - * by default we only will check file mtime, but usee can specify + * by default we only will check file mtime, but the user can specify * mtime, ctime (inode change time) or both. */ if ((flgpt == NULL) || (*flgpt == '\0')) Modified: user/gabor/tre-integration/bin/pax/tables.c ============================================================================== --- user/gabor/tre-integration/bin/pax/tables.c Wed Jun 15 14:44:08 2011 (r223110) +++ user/gabor/tre-integration/bin/pax/tables.c Wed Jun 15 14:48:42 2011 (r223111) @@ -209,7 +209,7 @@ chk_lnk(ARCHD *arcn) * purg_lnk * remove reference for a file that we may have added to the data base as * a potential source for hard links. We ended up not using the file, so - * we do not want to accidently point another file at it later on. + * we do not want to accidentally point another file at it later on. */ void @@ -306,14 +306,14 @@ lnk_end(void) * An append with an -u must read the archive and store the modification time * for every file on that archive before starting the write phase. It is clear * that this is one HUGE database. To save memory space, the actual file names - * are stored in a scatch file and indexed by an in memory hash table. The + * are stored in a scratch file and indexed by an in memory hash table. The * hash table is indexed by hashing the file path. The nodes in the table store * the length of the filename and the lseek offset within the scratch file * where the actual name is stored. Since there are never any deletions to this * table, fragmentation of the scratch file is never an issue. Lookups seem to * not exhibit any locality at all (files in the database are rarely * looked up more than once...). So caching is just a waste of memory. The - * only limitation is the amount of scatch file space available to store the + * only limitation is the amount of scratch file space available to store the * path names. */ Modified: user/gabor/tre-integration/bin/pax/tar.c ============================================================================== --- user/gabor/tre-integration/bin/pax/tar.c Wed Jun 15 14:44:08 2011 (r223110) +++ user/gabor/tre-integration/bin/pax/tar.c Wed Jun 15 14:48:42 2011 (r223111) @@ -291,7 +291,7 @@ tar_chksm(char *blk, int len) /* * tar_id() * determine if a block given to us is a valid tar header (and not a USTAR - * header). We have to be on the lookout for those pesky blocks of all + * header). We have to be on the lookout for those pesky blocks of all * zero's. * Return: * 0 if a tar header, -1 otherwise Modified: user/gabor/tre-integration/bin/ps/extern.h ============================================================================== --- user/gabor/tre-integration/bin/ps/extern.h Wed Jun 15 14:44:08 2011 (r223110) +++ user/gabor/tre-integration/bin/ps/extern.h Wed Jun 15 14:48:42 2011 (r223111) @@ -70,6 +70,7 @@ void pmem(KINFO *, VARENT *); void pri(KINFO *, VARENT *); void printheader(void); void priorityr(KINFO *, VARENT *); +void egroupname(KINFO *, VARENT *); void rgroupname(KINFO *, VARENT *); void runame(KINFO *, VARENT *); void rvar(KINFO *, VARENT *); @@ -78,6 +79,7 @@ int s_cputime(KINFO *); int s_label(KINFO *); int s_loginclass(KINFO *); int s_logname(KINFO *); +int s_egroupname(KINFO *); int s_rgroupname(KINFO *); int s_runame(KINFO *); int s_systime(KINFO *); Modified: user/gabor/tre-integration/bin/ps/keyword.c ============================================================================== --- user/gabor/tre-integration/bin/ps/keyword.c Wed Jun 15 14:44:08 2011 (r223110) +++ user/gabor/tre-integration/bin/ps/keyword.c Wed Jun 15 14:48:42 2011 (r223111) @@ -88,12 +88,19 @@ static VAR var[] = { {"cpu", "CPU", NULL, 0, kvar, NULL, 3, KOFF(ki_estcpu), UINT, "d", 0}, {"cputime", "", "time", 0, NULL, NULL, 0, 0, CHAR, NULL, 0}, + {"egid", "", "gid", 0, NULL, NULL, 0, 0, CHAR, NULL, 0}, + {"egroup", "", "group", 0, NULL, NULL, 0, 0, CHAR, NULL, 0}, {"emul", "EMUL", NULL, LJUST, emulname, NULL, EMULLEN, 0, CHAR, NULL, 0}, {"etime", "ELAPSED", NULL, USER, elapsed, NULL, 12, 0, CHAR, NULL, 0}, {"etimes", "ELAPSED", NULL, USER, elapseds, NULL, 12, 0, CHAR, NULL, 0}, + {"euid", "", "uid", 0, NULL, NULL, 0, 0, CHAR, NULL, 0}, {"f", "F", NULL, 0, kvar, NULL, 8, KOFF(ki_flag), INT, "x", 0}, {"flags", "", "f", 0, NULL, NULL, 0, 0, CHAR, NULL, 0}, + {"gid", "GID", NULL, 0, kvar, NULL, UIDLEN, KOFF(ki_groups), + UINT, UIDFMT, 0}, + {"group", "GROUP", NULL, LJUST, egroupname, s_egroupname, + USERLEN, 0, CHAR, NULL, 0}, {"ignored", "", "sigignore", 0, NULL, NULL, 0, 0, CHAR, NULL, 0}, {"inblk", "INBLK", NULL, USER, rvar, NULL, 4, ROFF(ru_inblock), LONG, "ld", 0}, Modified: user/gabor/tre-integration/bin/ps/print.c ============================================================================== --- user/gabor/tre-integration/bin/ps/print.c Wed Jun 15 14:44:08 2011 (r223110) +++ user/gabor/tre-integration/bin/ps/print.c Wed Jun 15 14:48:42 2011 (r223111) @@ -341,6 +341,22 @@ s_uname(KINFO *k) } void +egroupname(KINFO *k, VARENT *ve) +{ + VAR *v; + + v = ve->var; + (void)printf("%-*s", v->width, + group_from_gid(k->ki_p->ki_groups[0], 0)); +} + +int +s_egroupname(KINFO *k) +{ + return (strlen(group_from_gid(k->ki_p->ki_groups[0], 0))); +} + +void rgroupname(KINFO *k, VARENT *ve) { VAR *v; Modified: user/gabor/tre-integration/bin/ps/ps.1 ============================================================================== --- user/gabor/tre-integration/bin/ps/ps.1 Wed Jun 15 14:44:08 2011 (r223110) +++ user/gabor/tre-integration/bin/ps/ps.1 Wed Jun 15 14:48:42 2011 (r223111) @@ -29,7 +29,7 @@ .\" @(#)ps.1 8.3 (Berkeley) 4/18/94 .\" $FreeBSD$ .\" -.Dd April 18, 2011 +.Dd June 14, 2011 .Dt PS 1 .Os .Sh NAME @@ -301,7 +301,7 @@ the include file .It Dv "P_PPWAIT" Ta No "0x00010 Parent is waiting for child to exec/exit" .It Dv "P_PROFIL" Ta No "0x00020 Has started profiling" .It Dv "P_STOPPROF" Ta No "0x00040 Has thread in requesting to stop prof" -.It Dv "P_HASTHREADS" Ta No "0x00080 Has had threads (no cleanup shortcuts)" +.It Dv "P_HADTHREADS" Ta No "0x00080 Has had threads (no cleanup shortcuts)" .It Dv "P_SUGID" Ta No "0x00100 Had set id privileges since last exec" .It Dv "P_SYSTEM" Ta No "0x00200 System proc: no sigs, stats or swapping" .It Dv "P_SINGLE_EXIT" Ta No "0x00400 Threads suspending should exit, not wait" @@ -502,6 +502,12 @@ elapsed running time, in decimal integer .It Cm flags the process flags, in hexadecimal (alias .Cm f ) +.It Cm gid +effective group ID (alias +.Cm egid ) +.It Cm group +group name (from egid) (alias +.Cm egroup ) .It Cm inblk total blocks read (alias .Cm inblock ) @@ -549,7 +555,7 @@ wait channel (as an address) total blocks written (alias .Cm oublock ) .It Cm paddr -swap address +process pointer .It Cm pagein pageins (same as majflt) .It Cm pgid @@ -629,7 +635,8 @@ process pointer .It Cm ucomm name to be used for accounting .It Cm uid -effective user ID +effective user ID (alias +.Cm euid ) .It Cm upr scheduling priority on return from system call (alias .Cm usrpri ) Modified: user/gabor/tre-integration/bin/ps/ps.c ============================================================================== --- user/gabor/tre-integration/bin/ps/ps.c Wed Jun 15 14:44:08 2011 (r223110) +++ user/gabor/tre-integration/bin/ps/ps.c Wed Jun 15 14:48:42 2011 (r223111) @@ -219,7 +219,7 @@ main(int argc, char *argv[]) case 'A': /* * Exactly the same as `-ax'. This has been - * added for compatability with SUSv3, but for + * added for compatibility with SUSv3, but for * now it will not be described in the man page. */ nselectors++; Modified: user/gabor/tre-integration/bin/sh/TOUR ============================================================================== --- user/gabor/tre-integration/bin/sh/TOUR Wed Jun 15 14:44:08 2011 (r223110) +++ user/gabor/tre-integration/bin/sh/TOUR Wed Jun 15 14:48:42 2011 (r223111) @@ -27,10 +27,8 @@ programs is: mkbuiltins builtins builtins.h builtins.c mkinit *.c init.c mknodes nodetypes nodes.h nodes.c - mksignames - signames.h signames.c mksyntax - syntax.h syntax.c mktokens - token.h - bltin/mkexpr unary_op binary_op operators.h operators.c There are undoubtedly too many of these. Mkinit searches all the C source files for entries looking like: @@ -64,14 +62,6 @@ tion: Preprocessor #define statements are copied to init.c without any special action to request this. -INDENTATION: The ash source is indented in multiples of six -spaces. The only study that I have heard of on the subject con- -cluded that the optimal amount to indent is in the range of four -to six spaces. I use six spaces since it is not too big a jump -from the widely used eight spaces. If you really hate six space -indentation, use the adjind (source included) program to change -it to something else. - EXCEPTIONS: Code for dealing with exceptions appears in exceptions.c. The C language doesn't include exception handling, so I implement it using setjmp and longjmp. The global variable @@ -115,7 +105,7 @@ repeatedly parses and executes commands. OPTIONS.C: This file contains the option processing code. It is called from main to parse the shell arguments when the shell is -invoked, and it also contains the set builtin. The -i and -j op- +invoked, and it also contains the set builtin. The -i and -m op- tions (the latter turns on job control) require changes in signal handling. The routines setjobctl (in jobs.c) and setinteractive (in trap.c) are called to handle changes to these options. @@ -123,10 +113,11 @@ handling. The routines setjobctl (in jo PARSING: The parser code is all in parser.c. A recursive des- cent parser is used. Syntax tables (generated by mksyntax) are used to classify characters during lexical analysis. There are -three tables: one for normal use, one for use when inside single -quotes, and one for use when inside double quotes. The tables -are machine dependent because they are indexed by character vari- -ables and the range of a char varies from machine to machine. +four tables: one for normal use, one for use when inside single +quotes and dollar single quotes, one for use when inside double +quotes and one for use in arithmetic. The tables are machine +dependent because they are indexed by character variables and +the range of a char varies from machine to machine. PARSE OUTPUT: The output of the parser consists of a tree of nodes. The various types of nodes are defined in the file node- @@ -242,12 +233,7 @@ The routine shellexec is the interface t EXPAND.C: Arguments are processed in three passes. The first (performed by the routine argstr) performs variable and command substitution. The second (ifsbreakup) performs word splitting -and the third (expandmeta) performs file name generation. If the -"/u" directory is simulated, then when "/u/username" is replaced -by the user's home directory, the flag "didudir" is set. This -tells the cd command that it should print out the directory name, -just as it would if the "/u" directory were implemented using -symbolic links. +and the third (expandmeta) performs file name generation. VAR.C: Variables are stored in a hash table. Probably we should switch to extensible hashing. The variable name is stored in the @@ -292,14 +278,7 @@ when the program is linked into ash. Th before bltin.h is included; bltin.h will #undef main if the pro- gram is to be compiled stand-alone. -CD.C: This file defines the cd and pwd builtins. The pwd com- -mand runs /bin/pwd the first time it is invoked (unless the user -has already done a cd to an absolute pathname), but then -remembers the current directory and updates it when the cd com- -mand is run, so subsequent pwd commands run very fast. The main -complication in the cd command is in the docd command, which -resolves symbolic links into actual names and informs the user -where the user ended up if he crossed a symbolic link. +CD.C: This file defines the cd and pwd builtins. SIGNALS: Trap.c implements the trap command. The routine set- signal figures out what action should be taken when a signal is Modified: user/gabor/tre-integration/bin/sh/alias.c ============================================================================== --- user/gabor/tre-integration/bin/sh/alias.c Wed Jun 15 14:44:08 2011 (r223110) +++ user/gabor/tre-integration/bin/sh/alias.c Wed Jun 15 14:48:42 2011 (r223111) @@ -46,6 +46,7 @@ __FBSDID("$FreeBSD$"); #include "mystring.h" #include "alias.h" #include "options.h" /* XXX for argptr (should remove?) */ +#include "builtins.h" #define ATABSIZE 39 @@ -238,7 +239,7 @@ aliascmd(int argc, char **argv) while ((n = *++argv) != NULL) { if ((v = strchr(n+1, '=')) == NULL) /* n+1: funny ksh stuff */ if ((ap = lookupalias(n, 0)) == NULL) { - warning("%s not found", n); + warning("%s: not found", n); ret = 1; } else printalias(ap); Modified: user/gabor/tre-integration/bin/sh/alias.h ============================================================================== --- user/gabor/tre-integration/bin/sh/alias.h Wed Jun 15 14:44:08 2011 (r223110) +++ user/gabor/tre-integration/bin/sh/alias.h Wed Jun 15 14:48:42 2011 (r223111) @@ -43,5 +43,3 @@ struct alias { }; struct alias *lookupalias(const char *, int); -int aliascmd(int, char **); -int unaliascmd(int, char **); Modified: user/gabor/tre-integration/bin/sh/arith.h ============================================================================== --- user/gabor/tre-integration/bin/sh/arith.h Wed Jun 15 14:44:08 2011 (r223110) +++ user/gabor/tre-integration/bin/sh/arith.h Wed Jun 15 14:48:42 2011 (r223111) @@ -36,4 +36,3 @@ arith_t arith(const char *); void arith_lex_reset(void); -int expcmd(int, char **); Modified: user/gabor/tre-integration/bin/sh/arith_yacc.c ============================================================================== --- user/gabor/tre-integration/bin/sh/arith_yacc.c Wed Jun 15 14:44:08 2011 (r223110) +++ user/gabor/tre-integration/bin/sh/arith_yacc.c Wed Jun 15 14:48:42 2011 (r223111) @@ -97,6 +97,8 @@ static arith_t arith_lookupvarint(char * arith_t result; str = lookupvar(varname); + if (uflag && str == NULL) + yyerror("variable not set"); if (str == NULL || *str == '\0') str = "0"; errno = 0; @@ -342,7 +344,7 @@ arith_t arith(const char *s) * The exp(1) builtin. */ int -expcmd(int argc, char **argv) +letcmd(int argc, char **argv) { const char *p; char *concat; Modified: user/gabor/tre-integration/bin/sh/bltin/bltin.h ============================================================================== --- user/gabor/tre-integration/bin/sh/bltin/bltin.h Wed Jun 15 14:44:08 2011 (r223110) +++ user/gabor/tre-integration/bin/sh/bltin/bltin.h Wed Jun 15 14:48:42 2011 (r223111) @@ -43,6 +43,7 @@ #include "../mystring.h" #ifdef SHELL #include "../output.h" +#include "builtins.h" #define FILE struct output #undef stdout #define stdout out1 @@ -75,7 +76,4 @@ pointer stalloc(int); void error(const char *, ...) __printf0like(1, 2); pid_t getjobpgrp(char *); -int echocmd(int, char **); -int testcmd(int, char **); - extern char *commandname; Modified: user/gabor/tre-integration/bin/sh/builtins.def ============================================================================== --- user/gabor/tre-integration/bin/sh/builtins.def Wed Jun 15 14:44:08 2011 (r223110) +++ user/gabor/tre-integration/bin/sh/builtins.def Wed Jun 15 14:48:42 2011 (r223111) @@ -60,7 +60,7 @@ echocmd echo evalcmd -s eval execcmd -s exec exitcmd -s exit -expcmd exp let +letcmd let exportcmd -s export -s readonly #exprcmd expr falsecmd false Modified: user/gabor/tre-integration/bin/sh/cd.c ============================================================================== --- user/gabor/tre-integration/bin/sh/cd.c Wed Jun 15 14:44:08 2011 (r223110) +++ user/gabor/tre-integration/bin/sh/cd.c Wed Jun 15 14:48:42 2011 (r223111) @@ -63,6 +63,7 @@ __FBSDID("$FreeBSD$"); #include "mystring.h" #include "show.h" #include "cd.h" +#include "builtins.h" static int cdlogical(char *); *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-user@FreeBSD.ORG Wed Jun 15 15:07:01 2011 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id C5D41106564A; Wed, 15 Jun 2011 15:07:01 +0000 (UTC) (envelope-from adrian@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 9D6F08FC12; Wed, 15 Jun 2011 15:07:01 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p5FF714U086938; Wed, 15 Jun 2011 15:07:01 GMT (envelope-from adrian@svn.freebsd.org) Received: (from adrian@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id p5FF71if086936; Wed, 15 Jun 2011 15:07:01 GMT (envelope-from adrian@svn.freebsd.org) Message-Id: <201106151507.p5FF71if086936@svn.freebsd.org> From: Adrian Chadd Date: Wed, 15 Jun 2011 15:07:01 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r223112 - user/adrian/if_ath_tx/sys/dev/ath X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 15 Jun 2011 15:07:01 -0000 Author: adrian Date: Wed Jun 15 15:07:01 2011 New Revision: 223112 URL: http://svn.freebsd.org/changeset/base/223112 Log: Don't assign sequence numbers if AMPDU-TX is in negotiation phase. net80211 only stops assigning its own sequence numbers once AMPDU-TX has finished being negotiated. It otherwise tags packets with sequence numbers. My previous patch was skipping every other sequence number during the ADDBA exchange and causing the receiver to get throughly confused for a bit. With this patch the receiver now doesn't receive such badly sequenced packets. There are still issues though with the addba BA win start versus what's already been software queued. Packets in the software queue have sequence numbers from -before- the BA window advertised in the ADDBA but are being held and arrive after the ADDBA exchange has occured. Crazy, but true. Modified: user/adrian/if_ath_tx/sys/dev/ath/if_ath_tx.c Modified: user/adrian/if_ath_tx/sys/dev/ath/if_ath_tx.c ============================================================================== --- user/adrian/if_ath_tx/sys/dev/ath/if_ath_tx.c Wed Jun 15 14:48:42 2011 (r223111) +++ user/adrian/if_ath_tx/sys/dev/ath/if_ath_tx.c Wed Jun 15 15:07:01 2011 (r223112) @@ -926,7 +926,8 @@ ath_tx_start(struct ath_softc *sc, struc struct ath_txq *txq; int ismcast; const struct ieee80211_frame *wh; - int is_ampdu = 0; + int is_ampdu, is_ampdu_tx, is_ampdu_pending; + ieee80211_seq seqno; /* Determine the target hardware queue! */ pri = M_WME_GETAC(m0); /* honor classification */ @@ -936,9 +937,9 @@ ath_tx_start(struct ath_softc *sc, struc ismcast = IEEE80211_IS_MULTICAST(wh->i_addr1); /* A-MPDU TX */ - if ((ath_tx_ampdu_running(sc, ATH_NODE(ni), tid)) || - (ath_tx_ampdu_pending(sc, ATH_NODE(ni), tid))) - is_ampdu = 1; + is_ampdu_tx = ath_tx_ampdu_running(sc, ATH_NODE(ni), tid); + is_ampdu_pending = ath_tx_ampdu_pending(sc, ATH_NODE(ni), tid); + is_ampdu = is_ampdu_tx | is_ampdu_pending; DPRINTF(sc, ATH_DEBUG_SW_TX, "%s: tid=%d, ac=%d, is_ampdu=%d\n", __func__, tid, pri, is_ampdu); @@ -952,8 +953,9 @@ ath_tx_start(struct ath_softc *sc, struc /* Do the generic frame setup */ /* A-MPDU TX? Manually set sequence number */ - if (is_ampdu) - (void) ath_tx_tid_seqno_assign(sc, ni, bf, m0); + /* Don't do it whilst pending; the net80211 layer still assigns them */ + if (is_ampdu_tx) + seqno = ath_tx_tid_seqno_assign(sc, ni, bf, m0); /* This also sets up the DMA map */ r = ath_tx_normal_setup(sc, ni, bf, m0); From owner-svn-src-user@FreeBSD.ORG Wed Jun 15 15:24:22 2011 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 48B86106564A; Wed, 15 Jun 2011 15:24:22 +0000 (UTC) (envelope-from adrian@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 39B7A8FC08; Wed, 15 Jun 2011 15:24:22 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p5FFOMjV087501; Wed, 15 Jun 2011 15:24:22 GMT (envelope-from adrian@svn.freebsd.org) Received: (from adrian@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id p5FFOMW0087499; Wed, 15 Jun 2011 15:24:22 GMT (envelope-from adrian@svn.freebsd.org) Message-Id: <201106151524.p5FFOMW0087499@svn.freebsd.org> From: Adrian Chadd Date: Wed, 15 Jun 2011 15:24:22 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r223113 - user/adrian/if_ath_tx/sys/dev/ath X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 15 Jun 2011 15:24:22 -0000 Author: adrian Date: Wed Jun 15 15:24:21 2011 New Revision: 223113 URL: http://svn.freebsd.org/changeset/base/223113 Log: Misc stuff * tidy up a function call so it doesn't go over > 80 lines * add some disabled debugging for myself Non-misc stuff (just so I don't forget): The action frame is going out with AC pri = 3 (AC_VO); thus it's going out whilst the queued hardware frames in the other pri (eg AC=0/TID=0) are also queued. So the addba makes it out before the hardware queued frames before it. The solution may be to somehow delaying queueing the ADDBA frame until all the hardware-queued frames are sent. Modified: user/adrian/if_ath_tx/sys/dev/ath/if_ath_tx.c Modified: user/adrian/if_ath_tx/sys/dev/ath/if_ath_tx.c ============================================================================== --- user/adrian/if_ath_tx/sys/dev/ath/if_ath_tx.c Wed Jun 15 15:07:01 2011 (r223112) +++ user/adrian/if_ath_tx/sys/dev/ath/if_ath_tx.c Wed Jun 15 15:24:21 2011 (r223113) @@ -957,6 +957,14 @@ ath_tx_start(struct ath_softc *sc, struc if (is_ampdu_tx) seqno = ath_tx_tid_seqno_assign(sc, ni, bf, m0); +#if 0 + /* Is ampdu pending? fetch the seqno and print it out */ + if (is_ampdu_pending) + device_printf(sc->sc_dev, + "%s: tid %d: ampdu pending, seqno %d\n", + __func__, tid, M_SEQNO_GET(m0)); +#endif + /* This also sets up the DMA map */ r = ath_tx_normal_setup(sc, ni, bf, m0); @@ -1021,7 +1029,9 @@ ath_tx_raw_start(struct ath_softc *sc, s pktlen = m0->m_pkthdr.len - (hdrlen & 3) + IEEE80211_CRC_LEN; /* Handle encryption twiddling if needed */ - if (! ath_tx_tag_crypto(sc, ni, m0, params->ibp_flags & IEEE80211_BPF_CRYPTO, 0, &hdrlen, &pktlen, &keyix)) { + if (! ath_tx_tag_crypto(sc, ni, + m0, params->ibp_flags & IEEE80211_BPF_CRYPTO, 0, + &hdrlen, &pktlen, &keyix)) { ath_freetx(m0); return EIO; } From owner-svn-src-user@FreeBSD.ORG Wed Jun 15 23:41:26 2011 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 453DF1065673; Wed, 15 Jun 2011 23:41:26 +0000 (UTC) (envelope-from bz@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 3518F8FC12; Wed, 15 Jun 2011 23:41:26 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p5FNfQmW003319; Wed, 15 Jun 2011 23:41:26 GMT (envelope-from bz@svn.freebsd.org) Received: (from bz@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id p5FNfPF0003310; Wed, 15 Jun 2011 23:41:25 GMT (envelope-from bz@svn.freebsd.org) Message-Id: <201106152341.p5FNfPF0003310@svn.freebsd.org> From: "Bjoern A. Zeeb" Date: Wed, 15 Jun 2011 23:41:25 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r223130 - user/brooks/openssh-hpn X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 15 Jun 2011 23:41:26 -0000 Author: bz Date: Wed Jun 15 23:41:25 2011 New Revision: 223130 URL: http://svn.freebsd.org/changeset/base/223130 Log: Manually backout openssh5.8-server-logging.diff which was distributed within openssh5.8-dynwindow_noneswitch.diff. Modified: user/brooks/openssh-hpn/auth2.c user/brooks/openssh-hpn/channels.c user/brooks/openssh-hpn/channels.h user/brooks/openssh-hpn/kex.c user/brooks/openssh-hpn/packet.c user/brooks/openssh-hpn/packet.h user/brooks/openssh-hpn/serverloop.c user/brooks/openssh-hpn/sshd.c Modified: user/brooks/openssh-hpn/auth2.c ============================================================================== --- user/brooks/openssh-hpn/auth2.c Wed Jun 15 23:38:15 2011 (r223129) +++ user/brooks/openssh-hpn/auth2.c Wed Jun 15 23:41:25 2011 (r223130) @@ -218,7 +218,6 @@ input_userauth_request(int type, u_int32 Authmethod *m = NULL; char *user, *service, *method, *style = NULL; int authenticated = 0; - static int log_flag = 0; if (authctxt == NULL) fatal("input_userauth_request: no authctxt"); @@ -227,11 +226,6 @@ input_userauth_request(int type, u_int32 service = packet_get_cstring(NULL); method = packet_get_cstring(NULL); debug("userauth-request for user %s service %s method %s", user, service, method); - if (!log_flag) { - logit("SSH: Server;Ltype: Authname;Remote: %s-%d;Name: %s", - get_remote_ipaddr(), get_remote_port(), user); - log_flag = 1; - } debug("attempt %d failures %d", authctxt->attempt, authctxt->failures); if ((style = strchr(user, ':')) != NULL) Modified: user/brooks/openssh-hpn/channels.c ============================================================================== --- user/brooks/openssh-hpn/channels.c Wed Jun 15 23:38:15 2011 (r223129) +++ user/brooks/openssh-hpn/channels.c Wed Jun 15 23:41:25 2011 (r223130) @@ -2166,12 +2166,11 @@ channel_after_select(fd_set *readset, fd /* If there is data to send to the connection, enqueue some of it now. */ -int +void channel_output_poll(void) { Channel *c; u_int i, len; - int packet_length = 0; for (i = 0; i < channels_alloc; i++) { c = channels[i]; @@ -2219,7 +2218,7 @@ channel_output_poll(void) packet_start(SSH2_MSG_CHANNEL_DATA); packet_put_int(c->remote_id); packet_put_string(data, dlen); - packet_length = packet_send(); + packet_send(); c->remote_window -= dlen + 4; xfree(data); } @@ -2249,7 +2248,7 @@ channel_output_poll(void) SSH2_MSG_CHANNEL_DATA : SSH_MSG_CHANNEL_DATA); packet_put_int(c->remote_id); packet_put_string(buffer_ptr(&c->input), len); - packet_length = packet_send(); + packet_send(); buffer_consume(&c->input, len); c->remote_window -= len; } @@ -2284,13 +2283,12 @@ channel_output_poll(void) packet_put_int(c->remote_id); packet_put_int(SSH2_EXTENDED_DATA_STDERR); packet_put_string(buffer_ptr(&c->extended), len); - packet_length = packet_send(); + packet_send(); buffer_consume(&c->extended, len); c->remote_window -= len; debug2("channel %d: sent ext data %d", c->self, len); } } - return (packet_length); } Modified: user/brooks/openssh-hpn/channels.h ============================================================================== --- user/brooks/openssh-hpn/channels.h Wed Jun 15 23:38:15 2011 (r223129) +++ user/brooks/openssh-hpn/channels.h Wed Jun 15 23:41:25 2011 (r223130) @@ -239,7 +239,7 @@ void channel_input_status_confirm(int, void channel_prepare_select(fd_set **, fd_set **, int *, u_int*, int); void channel_after_select(fd_set *, fd_set *); -int channel_output_poll(void); +void channel_output_poll(void); int channel_not_very_much_buffered_data(void); void channel_close_all(void); Modified: user/brooks/openssh-hpn/kex.c ============================================================================== --- user/brooks/openssh-hpn/kex.c Wed Jun 15 23:38:15 2011 (r223129) +++ user/brooks/openssh-hpn/kex.c Wed Jun 15 23:41:25 2011 (r223130) @@ -49,7 +49,6 @@ #include "dispatch.h" #include "monitor.h" #include "roaming.h" -#include "canohost.h" #if OPENSSL_VERSION_NUMBER >= 0x00907000L # if defined(HAVE_EVP_SHA256) @@ -409,7 +408,6 @@ kex_choose_conf(Kex *kex) int nenc, nmac, ncomp; u_int mode, ctos, need; int first_kex_follows, type; - int log_flag = 0; int auth_flag; @@ -463,23 +461,6 @@ kex_choose_conf(Kex *kex) newkeys->enc.name, newkeys->mac.name, newkeys->comp.name); - /* - * client starts withctos = 0 && log flag = 0 and no log - * 2nd client pass ctos=1 and flag = 1 so no log - * server starts with ctos =1 && log_flag = 0 so log - * 2nd sever pass ctos = 1 && log flag = 1 so no log - * -cjr - */ - if (ctos && !log_flag) { - logit("SSH: Server;Ltype: Kex;Remote: %s-%d;" - "Enc: %s;MAC: %s;Comp: %s", - get_remote_ipaddr(), - get_remote_port(), - newkeys->enc.name, - newkeys->mac.name, - newkeys->comp.name); - } - log_flag = 1; } choose_kex(kex, cprop[PROPOSAL_KEX_ALGS], sprop[PROPOSAL_KEX_ALGS]); choose_hostkeyalg(kex, cprop[PROPOSAL_SERVER_HOST_KEY_ALGS], Modified: user/brooks/openssh-hpn/packet.c ============================================================================== --- user/brooks/openssh-hpn/packet.c Wed Jun 15 23:38:15 2011 (r223129) +++ user/brooks/openssh-hpn/packet.c Wed Jun 15 23:41:25 2011 (r223130) @@ -842,7 +842,7 @@ packet_enable_delayed_compress(void) /* * Finalize packet in SSH2 format (compress, mac, encrypt, enqueue) */ -static int +static void packet_send2_wrapped(void) { u_char type, *cp, *macbuf = NULL; @@ -961,13 +961,11 @@ packet_send2_wrapped(void) set_newkeys(MODE_OUT); else if (type == SSH2_MSG_USERAUTH_SUCCESS && active_state->server_side) packet_enable_delayed_compress(); - return(packet_length); } -static int +static void packet_send2(void) { - static int packet_length = 0; struct packet *p; u_char type, *cp; @@ -985,7 +983,7 @@ packet_send2(void) sizeof(Buffer)); buffer_init(&active_state->outgoing_packet); TAILQ_INSERT_TAIL(&active_state->outgoing, p, next); - return(sizeof(Buffer)); + return; } } @@ -993,7 +991,7 @@ packet_send2(void) if (type == SSH2_MSG_KEXINIT) active_state->rekeying = 1; - packet_length = packet_send2_wrapped(); + packet_send2_wrapped(); /* after a NEWKEYS message we can send the complete queue */ if (type == SSH2_MSG_NEWKEYS) { @@ -1006,22 +1004,19 @@ packet_send2(void) sizeof(Buffer)); TAILQ_REMOVE(&active_state->outgoing, p, next); xfree(p); - packet_length += packet_send2_wrapped(); + packet_send2_wrapped(); } } - return(packet_length); } -int +void packet_send(void) { - int packet_len = 0; if (compat20) - packet_len = packet_send2(); + packet_send2(); else packet_send1(); DBG(debug("packet_send done")); - return(packet_len); } /* @@ -1660,7 +1655,7 @@ packet_disconnect(const char *fmt,...) /* Checks if there is any buffered output, and tries to write some of the output. */ -int +void packet_write_poll(void) { int len = buffer_len(&active_state->output); @@ -1673,14 +1668,13 @@ packet_write_poll(void) if (len == -1) { if (errno == EINTR || errno == EAGAIN || errno == EWOULDBLOCK) - return(0); + return; fatal("Write failed: %.100s", strerror(errno)); } if (len == 0 && !cont) fatal("Write connection closed"); buffer_consume(&active_state->output, len); } - return(len); } /* Modified: user/brooks/openssh-hpn/packet.h ============================================================================== --- user/brooks/openssh-hpn/packet.h Wed Jun 15 23:38:15 2011 (r223129) +++ user/brooks/openssh-hpn/packet.h Wed Jun 15 23:41:25 2011 (r223130) @@ -55,7 +55,7 @@ void packet_put_ecpoint(const EC_GRO void packet_put_string(const void *buf, u_int len); void packet_put_cstring(const char *str); void packet_put_raw(const void *buf, u_int len); -int packet_send(void); +void packet_send(void); int packet_read(void); void packet_read_expect(int type); @@ -90,7 +90,7 @@ int packet_get_ssh1_cipher(void); void packet_set_iv(int, u_char *); void *packet_get_newkeys(int); -int packet_write_poll(void); +void packet_write_poll(void); void packet_write_wait(void); int packet_have_data_to_write(void); int packet_not_very_much_data_to_write(void); Modified: user/brooks/openssh-hpn/serverloop.c ============================================================================== --- user/brooks/openssh-hpn/serverloop.c Wed Jun 15 23:38:15 2011 (r223129) +++ user/brooks/openssh-hpn/serverloop.c Wed Jun 15 23:41:25 2011 (r223130) @@ -94,11 +94,10 @@ static int fdin; /* Descriptor for stdi static int fdout; /* Descriptor for stdout (for reading); May be same number as fdin. */ static int fderr; /* Descriptor for stderr. May be -1. */ -/* XXX should this really be u_long? Why not int64_t? */ -static u_long stdin_bytes = 0; /* Number of bytes written to stdin. */ -static u_long stdout_bytes = 0; /* Number of stdout bytes sent to client. */ -static u_long stderr_bytes = 0; /* Number of stderr bytes sent to client. */ -static u_long fdout_bytes = 0; /* Number of stdout bytes read from program. */ +static int stdin_bytes = 0; /* Number of bytes written to stdin. */ +static int stdout_bytes = 0; /* Number of stdout bytes sent to client. */ +static int stderr_bytes = 0; /* Number of stderr bytes sent to client. */ +static int fdout_bytes = 0; /* Number of stdout bytes read from program. */ static int stdin_eof = 0; /* EOF message received from client. */ static int fdout_eof = 0; /* EOF encountered reading from fdout. */ static int fderr_eof = 0; /* EOF encountered readung from fderr. */ @@ -123,19 +122,6 @@ static volatile sig_atomic_t received_si static void server_init_dispatch(void); /* - * Returns current time in seconds from Jan 1, 1970 with the maximum - * available resolution. - */ - -static double -get_current_time(void) -{ - struct timeval tv; - gettimeofday(&tv, NULL); - return (double) tv.tv_sec + (double) tv.tv_usec / 1000000.0; -} - -/* * we write to this pipe if a SIGCHLD is caught in order to avoid * the race between select() and child_terminated */ @@ -428,7 +414,6 @@ process_input(fd_set *readset) } else { /* Buffer any received data. */ packet_process_incoming(buf, len); - fdout_bytes += len; } } if (compat20) @@ -451,7 +436,6 @@ process_input(fd_set *readset) } else { buffer_append(&stdout_buffer, buf, len); fdout_bytes += len; - debug ("FD out now: %ld", fdout_bytes); } } /* Read and buffer any available stderr data from the program. */ @@ -519,7 +503,7 @@ process_output(fd_set *writeset) } /* Send any buffered packet data to the client. */ if (FD_ISSET(connection_out, writeset)) - stdin_bytes += packet_write_poll(); + packet_write_poll(); } /* @@ -836,10 +820,8 @@ server_loop2(Authctxt *authctxt) { fd_set *readset = NULL, *writeset = NULL; int rekeying = 0, max_fd, nalloc = 0; - double start_time, total_time; debug("Entering interactive session for SSH2."); - start_time = get_current_time(); mysignal(SIGCHLD, sigchld_handler); child_terminated = 0; @@ -901,12 +883,6 @@ server_loop2(Authctxt *authctxt) /* free remaining sessions, e.g. remove wtmp entries */ session_destroy_all(NULL); - total_time = get_current_time() - start_time; - logit("SSH: Server;LType: Throughput;Remote: %s-%d;" - "IN: %lu;OUT: %lu;Duration: %.1f;tPut_in: %.1f;tPut_out: %.1f", - get_remote_ipaddr(), get_remote_port(), - stdin_bytes, fdout_bytes, total_time, stdin_bytes / total_time, - fdout_bytes / total_time); } static void Modified: user/brooks/openssh-hpn/sshd.c ============================================================================== --- user/brooks/openssh-hpn/sshd.c Wed Jun 15 23:38:15 2011 (r223129) +++ user/brooks/openssh-hpn/sshd.c Wed Jun 15 23:41:25 2011 (r223130) @@ -469,10 +469,6 @@ sshd_exchange_identification(int sock_in } debug("Client protocol version %d.%d; client software version %.100s", remote_major, remote_minor, remote_version); - logit("SSH: Server;Ltype: Version;Remote: %s-%d;" - "Protocol: %d.%d;Client: %.100s", - get_remote_ipaddr(), get_remote_port(), - remote_major, remote_minor, remote_version); compat_datafellows(remote_version); From owner-svn-src-user@FreeBSD.ORG Wed Jun 15 23:45:36 2011 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 25908106566B; Wed, 15 Jun 2011 23:45:36 +0000 (UTC) (envelope-from bz@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id F14338FC08; Wed, 15 Jun 2011 23:45:35 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p5FNjZJi003482; Wed, 15 Jun 2011 23:45:35 GMT (envelope-from bz@svn.freebsd.org) Received: (from bz@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id p5FNjZiX003480; Wed, 15 Jun 2011 23:45:35 GMT (envelope-from bz@svn.freebsd.org) Message-Id: <201106152345.p5FNjZiX003480@svn.freebsd.org> From: "Bjoern A. Zeeb" Date: Wed, 15 Jun 2011 23:45:35 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r223131 - user/brooks/openssh-hpn X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 15 Jun 2011 23:45:36 -0000 Author: bz Date: Wed Jun 15 23:45:35 2011 New Revision: 223131 URL: http://svn.freebsd.org/changeset/base/223131 Log: Manually backout openssh5.8-peaktput.diff which was distributed within openssh5.8-dynwindow_noneswitch.diff. Modified: user/brooks/openssh-hpn/progressmeter.c Modified: user/brooks/openssh-hpn/progressmeter.c ============================================================================== --- user/brooks/openssh-hpn/progressmeter.c Wed Jun 15 23:41:25 2011 (r223130) +++ user/brooks/openssh-hpn/progressmeter.c Wed Jun 15 23:45:35 2011 (r223131) @@ -68,8 +68,6 @@ static time_t last_update; /* last progr static char *file; /* name of the file being transferred */ static off_t end_pos; /* ending position of transfer */ static off_t cur_pos; /* transfer position as of last refresh */ -static off_t last_pos; -static off_t max_delta_pos = 0; static volatile off_t *counter; /* progress counter */ static long stalled; /* how long we have been stalled */ static int bytes_per_second; /* current speed in bytes per second */ @@ -130,17 +128,12 @@ refresh_progress_meter(void) int hours, minutes, seconds; int i, len; int file_len; - off_t delta_pos; transferred = *counter - cur_pos; cur_pos = *counter; now = time(NULL); bytes_left = end_pos - cur_pos; - delta_pos = cur_pos - last_pos; - if (delta_pos > max_delta_pos) - max_delta_pos = delta_pos; - if (bytes_left > 0) elapsed = now - last_update; else { @@ -165,7 +158,7 @@ refresh_progress_meter(void) /* filename */ buf[0] = '\0'; - file_len = win_size - 45; + file_len = win_size - 35; if (file_len > 0) { len = snprintf(buf, file_len + 1, "\r%s", file); if (len < 0) @@ -195,16 +188,6 @@ refresh_progress_meter(void) (off_t)bytes_per_second); strlcat(buf, "/s ", win_size); - /* instantaneous rate */ - if (bytes_left > 0) { - format_rate(buf + strlen(buf), win_size - strlen(buf), - delta_pos); - } else { - format_rate(buf + strlen(buf), win_size - strlen(buf), - max_delta_pos); - } - strlcat(buf, "/s ", win_size); - /* ETA */ if (!transferred) stalled += elapsed; @@ -241,7 +224,6 @@ refresh_progress_meter(void) atomicio(vwrite, STDOUT_FILENO, buf, win_size - 1); last_update = now; - last_pos = cur_pos; } /*ARGSUSED*/ From owner-svn-src-user@FreeBSD.ORG Thu Jun 16 12:24:03 2011 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id E2E6C1065672; Thu, 16 Jun 2011 12:24:03 +0000 (UTC) (envelope-from hrs@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id CE7FD8FC1A; Thu, 16 Jun 2011 12:24:03 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p5GCO3iE029098; Thu, 16 Jun 2011 12:24:03 GMT (envelope-from hrs@svn.freebsd.org) Received: (from hrs@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id p5GCO3dY029065; Thu, 16 Jun 2011 12:24:03 GMT (envelope-from hrs@svn.freebsd.org) Message-Id: <201106161224.p5GCO3dY029065@svn.freebsd.org> From: Hiroki Sato Date: Thu, 16 Jun 2011 12:24:03 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r223147 - in user/hrs/ipv6: bin/ps bin/sh bin/sh/bltin contrib/gdb/gdb contrib/llvm/include/llvm contrib/llvm/include/llvm-c contrib/llvm/include/llvm/ADT contrib/llvm/include/llvm/Anal... X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 16 Jun 2011 12:24:04 -0000 Author: hrs Date: Thu Jun 16 12:24:02 2011 New Revision: 223147 URL: http://svn.freebsd.org/changeset/base/223147 Log: Merge from HEAD@222977. Added: user/hrs/ipv6/contrib/llvm/include/llvm/ADT/PackedVector.h - copied unchanged from r223146, head/contrib/llvm/include/llvm/ADT/PackedVector.h user/hrs/ipv6/contrib/llvm/include/llvm/Analysis/BranchProbabilityInfo.h - copied unchanged from r223146, head/contrib/llvm/include/llvm/Analysis/BranchProbabilityInfo.h user/hrs/ipv6/contrib/llvm/include/llvm/DefaultPasses.h - copied unchanged from r223146, head/contrib/llvm/include/llvm/DefaultPasses.h user/hrs/ipv6/contrib/llvm/include/llvm/MC/MCWin64EH.h - copied unchanged from r223146, head/contrib/llvm/include/llvm/MC/MCWin64EH.h user/hrs/ipv6/contrib/llvm/include/llvm/Support/BranchProbability.h - copied unchanged from r223146, head/contrib/llvm/include/llvm/Support/BranchProbability.h user/hrs/ipv6/contrib/llvm/include/llvm/Support/PassManagerBuilder.h - copied unchanged from r223146, head/contrib/llvm/include/llvm/Support/PassManagerBuilder.h user/hrs/ipv6/contrib/llvm/include/llvm/Support/Win64EH.h - copied unchanged from r223146, head/contrib/llvm/include/llvm/Support/Win64EH.h user/hrs/ipv6/contrib/llvm/lib/Analysis/BranchProbabilityInfo.cpp - copied unchanged from r223146, head/contrib/llvm/lib/Analysis/BranchProbabilityInfo.cpp user/hrs/ipv6/contrib/llvm/lib/CodeGen/AsmPrinter/Win64Exception.cpp - copied unchanged from r223146, head/contrib/llvm/lib/CodeGen/AsmPrinter/Win64Exception.cpp user/hrs/ipv6/contrib/llvm/lib/CodeGen/RegisterClassInfo.cpp - copied unchanged from r223146, head/contrib/llvm/lib/CodeGen/RegisterClassInfo.cpp user/hrs/ipv6/contrib/llvm/lib/CodeGen/RegisterClassInfo.h - copied unchanged from r223146, head/contrib/llvm/lib/CodeGen/RegisterClassInfo.h user/hrs/ipv6/contrib/llvm/lib/ExecutionEngine/TargetSelect.cpp - copied unchanged from r223146, head/contrib/llvm/lib/ExecutionEngine/TargetSelect.cpp user/hrs/ipv6/contrib/llvm/lib/MC/MCWin64EH.cpp - copied unchanged from r223146, head/contrib/llvm/lib/MC/MCWin64EH.cpp user/hrs/ipv6/contrib/llvm/lib/Support/BranchProbability.cpp - copied unchanged from r223146, head/contrib/llvm/lib/Support/BranchProbability.cpp user/hrs/ipv6/contrib/llvm/lib/Target/Mips/MipsEmitGPRestore.cpp - copied unchanged from r223146, head/contrib/llvm/lib/Target/Mips/MipsEmitGPRestore.cpp user/hrs/ipv6/contrib/llvm/utils/TableGen/CodeGenRegisters.cpp - copied unchanged from r223146, head/contrib/llvm/utils/TableGen/CodeGenRegisters.cpp user/hrs/ipv6/contrib/llvm/utils/TableGen/SetTheory.cpp - copied unchanged from r223146, head/contrib/llvm/utils/TableGen/SetTheory.cpp user/hrs/ipv6/contrib/llvm/utils/TableGen/SetTheory.h - copied unchanged from r223146, head/contrib/llvm/utils/TableGen/SetTheory.h user/hrs/ipv6/contrib/sendmail/cf/ostype/solaris11.m4 - copied unchanged from r223146, head/contrib/sendmail/cf/ostype/solaris11.m4 user/hrs/ipv6/tools/regression/bin/sh/builtins/case6.0 - copied unchanged from r223146, head/tools/regression/bin/sh/builtins/case6.0 user/hrs/ipv6/tools/regression/bin/sh/builtins/case7.0 - copied unchanged from r223146, head/tools/regression/bin/sh/builtins/case7.0 user/hrs/ipv6/tools/regression/bin/sh/builtins/case8.0 - copied unchanged from r223146, head/tools/regression/bin/sh/builtins/case8.0 user/hrs/ipv6/usr.sbin/bsdinstall/bsdinstall.8 - copied unchanged from r223146, head/usr.sbin/bsdinstall/bsdinstall.8 Deleted: user/hrs/ipv6/contrib/llvm/include/llvm/Support/StandardPasses.h user/hrs/ipv6/contrib/llvm/lib/CodeGen/AsmPrinter/DwarfTableException.cpp user/hrs/ipv6/contrib/llvm/lib/ExecutionEngine/JIT/TargetSelect.cpp user/hrs/ipv6/contrib/llvm/lib/ExecutionEngine/MCJIT/TargetSelect.cpp user/hrs/ipv6/contrib/llvm/tools/clang/include/clang/Tooling/Tooling.h user/hrs/ipv6/contrib/llvm/tools/clang/lib/Frontend/DiagChecker.cpp user/hrs/ipv6/contrib/llvm/tools/clang/lib/Tooling/JsonCompileCommandLineDatabase.cpp user/hrs/ipv6/contrib/llvm/tools/clang/lib/Tooling/JsonCompileCommandLineDatabase.h user/hrs/ipv6/contrib/llvm/tools/clang/lib/Tooling/Tooling.cpp Modified: user/hrs/ipv6/bin/ps/extern.h user/hrs/ipv6/bin/ps/keyword.c user/hrs/ipv6/bin/ps/print.c user/hrs/ipv6/bin/ps/ps.1 user/hrs/ipv6/bin/sh/alias.c user/hrs/ipv6/bin/sh/alias.h user/hrs/ipv6/bin/sh/arith.h user/hrs/ipv6/bin/sh/bltin/bltin.h user/hrs/ipv6/bin/sh/cd.c user/hrs/ipv6/bin/sh/cd.h user/hrs/ipv6/bin/sh/eval.c user/hrs/ipv6/bin/sh/eval.h user/hrs/ipv6/bin/sh/exec.h user/hrs/ipv6/bin/sh/expand.c user/hrs/ipv6/bin/sh/expand.h user/hrs/ipv6/bin/sh/histedit.c user/hrs/ipv6/bin/sh/jobs.c user/hrs/ipv6/bin/sh/jobs.h user/hrs/ipv6/bin/sh/main.c user/hrs/ipv6/bin/sh/main.h user/hrs/ipv6/bin/sh/mkbuiltins user/hrs/ipv6/bin/sh/myhistedit.h user/hrs/ipv6/bin/sh/options.c user/hrs/ipv6/bin/sh/options.h user/hrs/ipv6/bin/sh/sh.1 user/hrs/ipv6/bin/sh/trap.c user/hrs/ipv6/bin/sh/trap.h user/hrs/ipv6/bin/sh/var.c user/hrs/ipv6/bin/sh/var.h user/hrs/ipv6/contrib/gdb/gdb/ppcfbsd-tdep.c user/hrs/ipv6/contrib/llvm/include/llvm-c/Core.h user/hrs/ipv6/contrib/llvm/include/llvm-c/Disassembler.h user/hrs/ipv6/contrib/llvm/include/llvm/ADT/FoldingSet.h user/hrs/ipv6/contrib/llvm/include/llvm/ADT/StringRef.h user/hrs/ipv6/contrib/llvm/include/llvm/ADT/Triple.h user/hrs/ipv6/contrib/llvm/include/llvm/Analysis/AliasAnalysis.h user/hrs/ipv6/contrib/llvm/include/llvm/Analysis/CallGraph.h user/hrs/ipv6/contrib/llvm/include/llvm/Analysis/DIBuilder.h user/hrs/ipv6/contrib/llvm/include/llvm/Analysis/DebugInfo.h user/hrs/ipv6/contrib/llvm/include/llvm/Analysis/FindUsedTypes.h user/hrs/ipv6/contrib/llvm/include/llvm/Analysis/IVUsers.h user/hrs/ipv6/contrib/llvm/include/llvm/Analysis/RegionPass.h user/hrs/ipv6/contrib/llvm/include/llvm/Analysis/ScalarEvolution.h user/hrs/ipv6/contrib/llvm/include/llvm/Argument.h user/hrs/ipv6/contrib/llvm/include/llvm/Attributes.h user/hrs/ipv6/contrib/llvm/include/llvm/CodeGen/AsmPrinter.h user/hrs/ipv6/contrib/llvm/include/llvm/CodeGen/CallingConvLower.h user/hrs/ipv6/contrib/llvm/include/llvm/CodeGen/FastISel.h user/hrs/ipv6/contrib/llvm/include/llvm/CodeGen/ISDOpcodes.h user/hrs/ipv6/contrib/llvm/include/llvm/CodeGen/LiveInterval.h user/hrs/ipv6/contrib/llvm/include/llvm/CodeGen/MachineInstr.h user/hrs/ipv6/contrib/llvm/include/llvm/CodeGen/MachineInstrBuilder.h user/hrs/ipv6/contrib/llvm/include/llvm/CodeGen/MachineModuleInfo.h user/hrs/ipv6/contrib/llvm/include/llvm/CodeGen/MachineOperand.h user/hrs/ipv6/contrib/llvm/include/llvm/CodeGen/PseudoSourceValue.h user/hrs/ipv6/contrib/llvm/include/llvm/CodeGen/RegAllocPBQP.h user/hrs/ipv6/contrib/llvm/include/llvm/CodeGen/ScheduleDAG.h user/hrs/ipv6/contrib/llvm/include/llvm/CodeGen/SelectionDAG.h user/hrs/ipv6/contrib/llvm/include/llvm/CodeGen/TargetLoweringObjectFileImpl.h user/hrs/ipv6/contrib/llvm/include/llvm/CompilerDriver/Common.td user/hrs/ipv6/contrib/llvm/include/llvm/ExecutionEngine/ExecutionEngine.h user/hrs/ipv6/contrib/llvm/include/llvm/Function.h user/hrs/ipv6/contrib/llvm/include/llvm/InitializePasses.h user/hrs/ipv6/contrib/llvm/include/llvm/IntrinsicInst.h user/hrs/ipv6/contrib/llvm/include/llvm/Intrinsics.td user/hrs/ipv6/contrib/llvm/include/llvm/IntrinsicsARM.td user/hrs/ipv6/contrib/llvm/include/llvm/IntrinsicsX86.td user/hrs/ipv6/contrib/llvm/include/llvm/IntrinsicsXCore.td user/hrs/ipv6/contrib/llvm/include/llvm/LinkAllPasses.h user/hrs/ipv6/contrib/llvm/include/llvm/MC/MCAsmInfo.h user/hrs/ipv6/contrib/llvm/include/llvm/MC/MCDwarf.h user/hrs/ipv6/contrib/llvm/include/llvm/MC/MCELFSymbolFlags.h user/hrs/ipv6/contrib/llvm/include/llvm/MC/MCExpr.h user/hrs/ipv6/contrib/llvm/include/llvm/MC/MCInstPrinter.h user/hrs/ipv6/contrib/llvm/include/llvm/MC/MCParser/MCAsmLexer.h user/hrs/ipv6/contrib/llvm/include/llvm/MC/MCParser/MCAsmParser.h user/hrs/ipv6/contrib/llvm/include/llvm/MC/MCParser/MCAsmParserExtension.h user/hrs/ipv6/contrib/llvm/include/llvm/MC/MCStreamer.h user/hrs/ipv6/contrib/llvm/include/llvm/Metadata.h user/hrs/ipv6/contrib/llvm/include/llvm/Operator.h user/hrs/ipv6/contrib/llvm/include/llvm/Support/Casting.h user/hrs/ipv6/contrib/llvm/include/llvm/Support/CrashRecoveryContext.h user/hrs/ipv6/contrib/llvm/include/llvm/Support/Dwarf.h user/hrs/ipv6/contrib/llvm/include/llvm/Support/IRBuilder.h user/hrs/ipv6/contrib/llvm/include/llvm/Support/MemoryBuffer.h user/hrs/ipv6/contrib/llvm/include/llvm/Support/PatternMatch.h user/hrs/ipv6/contrib/llvm/include/llvm/Support/Program.h user/hrs/ipv6/contrib/llvm/include/llvm/Support/SourceMgr.h user/hrs/ipv6/contrib/llvm/include/llvm/Target/Target.td user/hrs/ipv6/contrib/llvm/include/llvm/Target/TargetAsmInfo.h user/hrs/ipv6/contrib/llvm/include/llvm/Target/TargetInstrItineraries.h user/hrs/ipv6/contrib/llvm/include/llvm/Target/TargetLibraryInfo.h user/hrs/ipv6/contrib/llvm/include/llvm/Target/TargetLowering.h user/hrs/ipv6/contrib/llvm/include/llvm/Target/TargetLoweringObjectFile.h user/hrs/ipv6/contrib/llvm/include/llvm/Target/TargetOptions.h user/hrs/ipv6/contrib/llvm/include/llvm/Target/TargetRegisterInfo.h user/hrs/ipv6/contrib/llvm/include/llvm/Target/TargetSelectionDAG.td user/hrs/ipv6/contrib/llvm/include/llvm/Transforms/Instrumentation.h user/hrs/ipv6/contrib/llvm/include/llvm/Transforms/Utils/Local.h user/hrs/ipv6/contrib/llvm/include/llvm/Transforms/Utils/SSAUpdater.h user/hrs/ipv6/contrib/llvm/include/llvm/Type.h user/hrs/ipv6/contrib/llvm/lib/Analysis/Analysis.cpp user/hrs/ipv6/contrib/llvm/lib/Analysis/BasicAliasAnalysis.cpp user/hrs/ipv6/contrib/llvm/lib/Analysis/ConstantFolding.cpp user/hrs/ipv6/contrib/llvm/lib/Analysis/DIBuilder.cpp user/hrs/ipv6/contrib/llvm/lib/Analysis/IPA/CallGraph.cpp user/hrs/ipv6/contrib/llvm/lib/Analysis/IPA/CallGraphSCCPass.cpp user/hrs/ipv6/contrib/llvm/lib/Analysis/IPA/FindUsedTypes.cpp user/hrs/ipv6/contrib/llvm/lib/Analysis/IVUsers.cpp user/hrs/ipv6/contrib/llvm/lib/Analysis/InlineCost.cpp user/hrs/ipv6/contrib/llvm/lib/Analysis/InstructionSimplify.cpp user/hrs/ipv6/contrib/llvm/lib/Analysis/LazyValueInfo.cpp user/hrs/ipv6/contrib/llvm/lib/Analysis/Loads.cpp user/hrs/ipv6/contrib/llvm/lib/Analysis/MemoryDependenceAnalysis.cpp user/hrs/ipv6/contrib/llvm/lib/Analysis/RegionPass.cpp user/hrs/ipv6/contrib/llvm/lib/Analysis/ScalarEvolution.cpp user/hrs/ipv6/contrib/llvm/lib/Analysis/ValueTracking.cpp user/hrs/ipv6/contrib/llvm/lib/AsmParser/LLLexer.cpp user/hrs/ipv6/contrib/llvm/lib/AsmParser/LLLexer.h user/hrs/ipv6/contrib/llvm/lib/AsmParser/LLParser.cpp user/hrs/ipv6/contrib/llvm/lib/AsmParser/LLToken.h user/hrs/ipv6/contrib/llvm/lib/Bitcode/Reader/BitcodeReader.cpp user/hrs/ipv6/contrib/llvm/lib/Bitcode/Writer/BitcodeWriter.cpp user/hrs/ipv6/contrib/llvm/lib/Bitcode/Writer/ValueEnumerator.cpp user/hrs/ipv6/contrib/llvm/lib/CodeGen/AggressiveAntiDepBreaker.cpp user/hrs/ipv6/contrib/llvm/lib/CodeGen/AggressiveAntiDepBreaker.h user/hrs/ipv6/contrib/llvm/lib/CodeGen/AllocationOrder.cpp user/hrs/ipv6/contrib/llvm/lib/CodeGen/AllocationOrder.h user/hrs/ipv6/contrib/llvm/lib/CodeGen/AntiDepBreaker.h user/hrs/ipv6/contrib/llvm/lib/CodeGen/AsmPrinter/ARMException.cpp user/hrs/ipv6/contrib/llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp user/hrs/ipv6/contrib/llvm/lib/CodeGen/AsmPrinter/AsmPrinterDwarf.cpp user/hrs/ipv6/contrib/llvm/lib/CodeGen/AsmPrinter/DwarfCFIException.cpp user/hrs/ipv6/contrib/llvm/lib/CodeGen/AsmPrinter/DwarfCompileUnit.cpp user/hrs/ipv6/contrib/llvm/lib/CodeGen/AsmPrinter/DwarfCompileUnit.h user/hrs/ipv6/contrib/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp user/hrs/ipv6/contrib/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.h user/hrs/ipv6/contrib/llvm/lib/CodeGen/AsmPrinter/DwarfException.h user/hrs/ipv6/contrib/llvm/lib/CodeGen/BranchFolding.cpp user/hrs/ipv6/contrib/llvm/lib/CodeGen/BranchFolding.h user/hrs/ipv6/contrib/llvm/lib/CodeGen/CalcSpillWeights.cpp user/hrs/ipv6/contrib/llvm/lib/CodeGen/CallingConvLower.cpp user/hrs/ipv6/contrib/llvm/lib/CodeGen/CriticalAntiDepBreaker.cpp user/hrs/ipv6/contrib/llvm/lib/CodeGen/CriticalAntiDepBreaker.h user/hrs/ipv6/contrib/llvm/lib/CodeGen/DwarfEHPrepare.cpp user/hrs/ipv6/contrib/llvm/lib/CodeGen/IfConversion.cpp user/hrs/ipv6/contrib/llvm/lib/CodeGen/InlineSpiller.cpp user/hrs/ipv6/contrib/llvm/lib/CodeGen/LLVMTargetMachine.cpp user/hrs/ipv6/contrib/llvm/lib/CodeGen/LiveDebugVariables.cpp user/hrs/ipv6/contrib/llvm/lib/CodeGen/LiveDebugVariables.h user/hrs/ipv6/contrib/llvm/lib/CodeGen/LiveRangeEdit.cpp user/hrs/ipv6/contrib/llvm/lib/CodeGen/LiveRangeEdit.h user/hrs/ipv6/contrib/llvm/lib/CodeGen/MachineBasicBlock.cpp user/hrs/ipv6/contrib/llvm/lib/CodeGen/MachineFunction.cpp user/hrs/ipv6/contrib/llvm/lib/CodeGen/MachineInstr.cpp user/hrs/ipv6/contrib/llvm/lib/CodeGen/MachineRegisterInfo.cpp user/hrs/ipv6/contrib/llvm/lib/CodeGen/MachineVerifier.cpp user/hrs/ipv6/contrib/llvm/lib/CodeGen/PostRASchedulerList.cpp user/hrs/ipv6/contrib/llvm/lib/CodeGen/RegAllocBase.h user/hrs/ipv6/contrib/llvm/lib/CodeGen/RegAllocBasic.cpp user/hrs/ipv6/contrib/llvm/lib/CodeGen/RegAllocFast.cpp user/hrs/ipv6/contrib/llvm/lib/CodeGen/RegAllocGreedy.cpp user/hrs/ipv6/contrib/llvm/lib/CodeGen/RegisterScavenging.cpp user/hrs/ipv6/contrib/llvm/lib/CodeGen/ScheduleDAGInstrs.cpp user/hrs/ipv6/contrib/llvm/lib/CodeGen/ScheduleDAGInstrs.h user/hrs/ipv6/contrib/llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp user/hrs/ipv6/contrib/llvm/lib/CodeGen/SelectionDAG/FastISel.cpp user/hrs/ipv6/contrib/llvm/lib/CodeGen/SelectionDAG/FunctionLoweringInfo.cpp user/hrs/ipv6/contrib/llvm/lib/CodeGen/SelectionDAG/InstrEmitter.cpp user/hrs/ipv6/contrib/llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp user/hrs/ipv6/contrib/llvm/lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp user/hrs/ipv6/contrib/llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.cpp user/hrs/ipv6/contrib/llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h user/hrs/ipv6/contrib/llvm/lib/CodeGen/SelectionDAG/LegalizeTypesGeneric.cpp user/hrs/ipv6/contrib/llvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp user/hrs/ipv6/contrib/llvm/lib/CodeGen/SelectionDAG/ScheduleDAGRRList.cpp user/hrs/ipv6/contrib/llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp user/hrs/ipv6/contrib/llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp user/hrs/ipv6/contrib/llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.h user/hrs/ipv6/contrib/llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp user/hrs/ipv6/contrib/llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp user/hrs/ipv6/contrib/llvm/lib/CodeGen/SimpleRegisterCoalescing.cpp user/hrs/ipv6/contrib/llvm/lib/CodeGen/SimpleRegisterCoalescing.h user/hrs/ipv6/contrib/llvm/lib/CodeGen/SjLjEHPrepare.cpp user/hrs/ipv6/contrib/llvm/lib/CodeGen/SplitKit.cpp user/hrs/ipv6/contrib/llvm/lib/CodeGen/SplitKit.h user/hrs/ipv6/contrib/llvm/lib/CodeGen/TailDuplication.cpp user/hrs/ipv6/contrib/llvm/lib/CodeGen/TargetInstrInfoImpl.cpp user/hrs/ipv6/contrib/llvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp user/hrs/ipv6/contrib/llvm/lib/CodeGen/TwoAddressInstructionPass.cpp user/hrs/ipv6/contrib/llvm/lib/CodeGen/UnreachableBlockElim.cpp user/hrs/ipv6/contrib/llvm/lib/CodeGen/VirtRegMap.cpp user/hrs/ipv6/contrib/llvm/lib/ExecutionEngine/ExecutionEngine.cpp user/hrs/ipv6/contrib/llvm/lib/ExecutionEngine/JIT/JIT.cpp user/hrs/ipv6/contrib/llvm/lib/ExecutionEngine/JIT/JIT.h user/hrs/ipv6/contrib/llvm/lib/ExecutionEngine/MCJIT/MCJIT.cpp user/hrs/ipv6/contrib/llvm/lib/ExecutionEngine/MCJIT/MCJIT.h user/hrs/ipv6/contrib/llvm/lib/ExecutionEngine/MCJIT/MCJITMemoryManager.h user/hrs/ipv6/contrib/llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyld.cpp user/hrs/ipv6/contrib/llvm/lib/MC/ELFObjectWriter.cpp user/hrs/ipv6/contrib/llvm/lib/MC/ELFObjectWriter.h user/hrs/ipv6/contrib/llvm/lib/MC/MCAsmInfo.cpp user/hrs/ipv6/contrib/llvm/lib/MC/MCAsmInfoDarwin.cpp user/hrs/ipv6/contrib/llvm/lib/MC/MCAsmStreamer.cpp user/hrs/ipv6/contrib/llvm/lib/MC/MCAssembler.cpp user/hrs/ipv6/contrib/llvm/lib/MC/MCDisassembler/Disassembler.cpp user/hrs/ipv6/contrib/llvm/lib/MC/MCDwarf.cpp user/hrs/ipv6/contrib/llvm/lib/MC/MCELF.cpp user/hrs/ipv6/contrib/llvm/lib/MC/MCELFStreamer.cpp user/hrs/ipv6/contrib/llvm/lib/MC/MCExpr.cpp user/hrs/ipv6/contrib/llvm/lib/MC/MCInstPrinter.cpp user/hrs/ipv6/contrib/llvm/lib/MC/MCMachOStreamer.cpp user/hrs/ipv6/contrib/llvm/lib/MC/MCObjectStreamer.cpp user/hrs/ipv6/contrib/llvm/lib/MC/MCParser/AsmLexer.cpp user/hrs/ipv6/contrib/llvm/lib/MC/MCParser/AsmParser.cpp user/hrs/ipv6/contrib/llvm/lib/MC/MCParser/COFFAsmParser.cpp user/hrs/ipv6/contrib/llvm/lib/MC/MCParser/DarwinAsmParser.cpp user/hrs/ipv6/contrib/llvm/lib/MC/MCStreamer.cpp user/hrs/ipv6/contrib/llvm/lib/MC/WinCOFFStreamer.cpp user/hrs/ipv6/contrib/llvm/lib/Support/APInt.cpp user/hrs/ipv6/contrib/llvm/lib/Support/Dwarf.cpp user/hrs/ipv6/contrib/llvm/lib/Support/FoldingSet.cpp user/hrs/ipv6/contrib/llvm/lib/Support/Host.cpp user/hrs/ipv6/contrib/llvm/lib/Support/MemoryBuffer.cpp user/hrs/ipv6/contrib/llvm/lib/Support/SourceMgr.cpp user/hrs/ipv6/contrib/llvm/lib/Support/Unix/Host.inc user/hrs/ipv6/contrib/llvm/lib/Support/Unix/Program.inc user/hrs/ipv6/contrib/llvm/lib/Support/Windows/Program.inc user/hrs/ipv6/contrib/llvm/lib/Target/ARM/ARMAsmBackend.cpp user/hrs/ipv6/contrib/llvm/lib/Target/ARM/ARMAsmPrinter.cpp user/hrs/ipv6/contrib/llvm/lib/Target/ARM/ARMAsmPrinter.h user/hrs/ipv6/contrib/llvm/lib/Target/ARM/ARMBaseRegisterInfo.cpp user/hrs/ipv6/contrib/llvm/lib/Target/ARM/ARMBaseRegisterInfo.h user/hrs/ipv6/contrib/llvm/lib/Target/ARM/ARMCodeEmitter.cpp user/hrs/ipv6/contrib/llvm/lib/Target/ARM/ARMFastISel.cpp user/hrs/ipv6/contrib/llvm/lib/Target/ARM/ARMFixupKinds.h user/hrs/ipv6/contrib/llvm/lib/Target/ARM/ARMISelDAGToDAG.cpp user/hrs/ipv6/contrib/llvm/lib/Target/ARM/ARMISelLowering.cpp user/hrs/ipv6/contrib/llvm/lib/Target/ARM/ARMISelLowering.h user/hrs/ipv6/contrib/llvm/lib/Target/ARM/ARMInstrFormats.td user/hrs/ipv6/contrib/llvm/lib/Target/ARM/ARMInstrInfo.td user/hrs/ipv6/contrib/llvm/lib/Target/ARM/ARMInstrNEON.td user/hrs/ipv6/contrib/llvm/lib/Target/ARM/ARMInstrThumb.td user/hrs/ipv6/contrib/llvm/lib/Target/ARM/ARMInstrThumb2.td user/hrs/ipv6/contrib/llvm/lib/Target/ARM/ARMLoadStoreOptimizer.cpp user/hrs/ipv6/contrib/llvm/lib/Target/ARM/ARMMCAsmInfo.cpp user/hrs/ipv6/contrib/llvm/lib/Target/ARM/ARMMCCodeEmitter.cpp user/hrs/ipv6/contrib/llvm/lib/Target/ARM/ARMPerfectShuffle.h user/hrs/ipv6/contrib/llvm/lib/Target/ARM/ARMRegisterInfo.td user/hrs/ipv6/contrib/llvm/lib/Target/ARM/ARMSelectionDAGInfo.cpp user/hrs/ipv6/contrib/llvm/lib/Target/ARM/ARMSelectionDAGInfo.h user/hrs/ipv6/contrib/llvm/lib/Target/ARM/AsmParser/ARMAsmParser.cpp user/hrs/ipv6/contrib/llvm/lib/Target/ARM/Disassembler/ARMDisassemblerCore.cpp user/hrs/ipv6/contrib/llvm/lib/Target/ARM/Disassembler/ThumbDisassemblerCore.h user/hrs/ipv6/contrib/llvm/lib/Target/ARM/InstPrinter/ARMInstPrinter.cpp user/hrs/ipv6/contrib/llvm/lib/Target/ARM/InstPrinter/ARMInstPrinter.h user/hrs/ipv6/contrib/llvm/lib/Target/ARM/Thumb1RegisterInfo.cpp user/hrs/ipv6/contrib/llvm/lib/Target/Alpha/AlphaISelLowering.cpp user/hrs/ipv6/contrib/llvm/lib/Target/Alpha/AlphaISelLowering.h user/hrs/ipv6/contrib/llvm/lib/Target/Alpha/AlphaRegisterInfo.cpp user/hrs/ipv6/contrib/llvm/lib/Target/Alpha/AlphaRegisterInfo.h user/hrs/ipv6/contrib/llvm/lib/Target/Alpha/AlphaRegisterInfo.td user/hrs/ipv6/contrib/llvm/lib/Target/Blackfin/BlackfinFrameLowering.cpp user/hrs/ipv6/contrib/llvm/lib/Target/Blackfin/BlackfinFrameLowering.h user/hrs/ipv6/contrib/llvm/lib/Target/Blackfin/BlackfinISelDAGToDAG.cpp user/hrs/ipv6/contrib/llvm/lib/Target/Blackfin/BlackfinISelLowering.cpp user/hrs/ipv6/contrib/llvm/lib/Target/Blackfin/BlackfinISelLowering.h user/hrs/ipv6/contrib/llvm/lib/Target/Blackfin/BlackfinInstrInfo.cpp user/hrs/ipv6/contrib/llvm/lib/Target/Blackfin/BlackfinRegisterInfo.cpp user/hrs/ipv6/contrib/llvm/lib/Target/Blackfin/BlackfinRegisterInfo.h user/hrs/ipv6/contrib/llvm/lib/Target/Blackfin/BlackfinRegisterInfo.td user/hrs/ipv6/contrib/llvm/lib/Target/CBackend/CBackend.cpp user/hrs/ipv6/contrib/llvm/lib/Target/CellSPU/SPUISelLowering.cpp user/hrs/ipv6/contrib/llvm/lib/Target/CellSPU/SPUISelLowering.h user/hrs/ipv6/contrib/llvm/lib/Target/CellSPU/SPURegisterInfo.cpp user/hrs/ipv6/contrib/llvm/lib/Target/CellSPU/SPURegisterInfo.h user/hrs/ipv6/contrib/llvm/lib/Target/CellSPU/SPURegisterInfo.td user/hrs/ipv6/contrib/llvm/lib/Target/MBlaze/MBlazeISelLowering.cpp user/hrs/ipv6/contrib/llvm/lib/Target/MBlaze/MBlazeISelLowering.h user/hrs/ipv6/contrib/llvm/lib/Target/MBlaze/MBlazeInstrInfo.td user/hrs/ipv6/contrib/llvm/lib/Target/MBlaze/MBlazeRegisterInfo.cpp user/hrs/ipv6/contrib/llvm/lib/Target/MBlaze/MBlazeRegisterInfo.h user/hrs/ipv6/contrib/llvm/lib/Target/MBlaze/MBlazeRegisterInfo.td user/hrs/ipv6/contrib/llvm/lib/Target/MSP430/MSP430ISelLowering.cpp user/hrs/ipv6/contrib/llvm/lib/Target/MSP430/MSP430ISelLowering.h user/hrs/ipv6/contrib/llvm/lib/Target/MSP430/MSP430RegisterInfo.cpp user/hrs/ipv6/contrib/llvm/lib/Target/MSP430/MSP430RegisterInfo.h user/hrs/ipv6/contrib/llvm/lib/Target/MSP430/MSP430RegisterInfo.td user/hrs/ipv6/contrib/llvm/lib/Target/Mips/Mips.h user/hrs/ipv6/contrib/llvm/lib/Target/Mips/MipsAsmPrinter.cpp user/hrs/ipv6/contrib/llvm/lib/Target/Mips/MipsFrameLowering.cpp user/hrs/ipv6/contrib/llvm/lib/Target/Mips/MipsFrameLowering.h user/hrs/ipv6/contrib/llvm/lib/Target/Mips/MipsISelDAGToDAG.cpp user/hrs/ipv6/contrib/llvm/lib/Target/Mips/MipsISelLowering.cpp user/hrs/ipv6/contrib/llvm/lib/Target/Mips/MipsISelLowering.h user/hrs/ipv6/contrib/llvm/lib/Target/Mips/MipsInstrFPU.td user/hrs/ipv6/contrib/llvm/lib/Target/Mips/MipsInstrFormats.td user/hrs/ipv6/contrib/llvm/lib/Target/Mips/MipsInstrInfo.h user/hrs/ipv6/contrib/llvm/lib/Target/Mips/MipsInstrInfo.td user/hrs/ipv6/contrib/llvm/lib/Target/Mips/MipsMCAsmInfo.cpp user/hrs/ipv6/contrib/llvm/lib/Target/Mips/MipsMachineFunction.h user/hrs/ipv6/contrib/llvm/lib/Target/Mips/MipsRegisterInfo.cpp user/hrs/ipv6/contrib/llvm/lib/Target/Mips/MipsRegisterInfo.h user/hrs/ipv6/contrib/llvm/lib/Target/Mips/MipsRegisterInfo.td user/hrs/ipv6/contrib/llvm/lib/Target/Mips/MipsTargetMachine.cpp user/hrs/ipv6/contrib/llvm/lib/Target/Mips/MipsTargetMachine.h user/hrs/ipv6/contrib/llvm/lib/Target/PTX/PTX.td user/hrs/ipv6/contrib/llvm/lib/Target/PTX/PTXISelLowering.cpp user/hrs/ipv6/contrib/llvm/lib/Target/PTX/PTXISelLowering.h user/hrs/ipv6/contrib/llvm/lib/Target/PTX/PTXInstrInfo.td user/hrs/ipv6/contrib/llvm/lib/Target/PTX/PTXRegisterInfo.h user/hrs/ipv6/contrib/llvm/lib/Target/PTX/PTXSubtarget.cpp user/hrs/ipv6/contrib/llvm/lib/Target/PTX/PTXSubtarget.h user/hrs/ipv6/contrib/llvm/lib/Target/PowerPC/InstPrinter/PPCInstPrinter.cpp user/hrs/ipv6/contrib/llvm/lib/Target/PowerPC/InstPrinter/PPCInstPrinter.h user/hrs/ipv6/contrib/llvm/lib/Target/PowerPC/PPC.h user/hrs/ipv6/contrib/llvm/lib/Target/PowerPC/PPCAsmPrinter.cpp user/hrs/ipv6/contrib/llvm/lib/Target/PowerPC/PPCFrameLowering.cpp user/hrs/ipv6/contrib/llvm/lib/Target/PowerPC/PPCHazardRecognizers.cpp user/hrs/ipv6/contrib/llvm/lib/Target/PowerPC/PPCISelDAGToDAG.cpp user/hrs/ipv6/contrib/llvm/lib/Target/PowerPC/PPCISelLowering.cpp user/hrs/ipv6/contrib/llvm/lib/Target/PowerPC/PPCISelLowering.h user/hrs/ipv6/contrib/llvm/lib/Target/PowerPC/PPCInstr64Bit.td user/hrs/ipv6/contrib/llvm/lib/Target/PowerPC/PPCInstrInfo.td user/hrs/ipv6/contrib/llvm/lib/Target/PowerPC/PPCMCAsmInfo.cpp user/hrs/ipv6/contrib/llvm/lib/Target/PowerPC/PPCMCInstLower.cpp user/hrs/ipv6/contrib/llvm/lib/Target/PowerPC/PPCRegisterInfo.cpp user/hrs/ipv6/contrib/llvm/lib/Target/PowerPC/PPCRegisterInfo.h user/hrs/ipv6/contrib/llvm/lib/Target/PowerPC/PPCRegisterInfo.td user/hrs/ipv6/contrib/llvm/lib/Target/Sparc/SparcISelLowering.cpp user/hrs/ipv6/contrib/llvm/lib/Target/Sparc/SparcISelLowering.h user/hrs/ipv6/contrib/llvm/lib/Target/Sparc/SparcRegisterInfo.cpp user/hrs/ipv6/contrib/llvm/lib/Target/Sparc/SparcRegisterInfo.h user/hrs/ipv6/contrib/llvm/lib/Target/Sparc/SparcRegisterInfo.td user/hrs/ipv6/contrib/llvm/lib/Target/SystemZ/SystemZISelLowering.cpp user/hrs/ipv6/contrib/llvm/lib/Target/SystemZ/SystemZISelLowering.h user/hrs/ipv6/contrib/llvm/lib/Target/SystemZ/SystemZRegisterInfo.cpp user/hrs/ipv6/contrib/llvm/lib/Target/SystemZ/SystemZRegisterInfo.h user/hrs/ipv6/contrib/llvm/lib/Target/SystemZ/SystemZRegisterInfo.td user/hrs/ipv6/contrib/llvm/lib/Target/TargetLibraryInfo.cpp user/hrs/ipv6/contrib/llvm/lib/Target/TargetLoweringObjectFile.cpp user/hrs/ipv6/contrib/llvm/lib/Target/TargetMachine.cpp user/hrs/ipv6/contrib/llvm/lib/Target/TargetRegisterInfo.cpp user/hrs/ipv6/contrib/llvm/lib/Target/X86/InstPrinter/X86ATTInstPrinter.cpp user/hrs/ipv6/contrib/llvm/lib/Target/X86/InstPrinter/X86ATTInstPrinter.h user/hrs/ipv6/contrib/llvm/lib/Target/X86/InstPrinter/X86IntelInstPrinter.cpp user/hrs/ipv6/contrib/llvm/lib/Target/X86/InstPrinter/X86IntelInstPrinter.h user/hrs/ipv6/contrib/llvm/lib/Target/X86/X86.td user/hrs/ipv6/contrib/llvm/lib/Target/X86/X86FastISel.cpp user/hrs/ipv6/contrib/llvm/lib/Target/X86/X86FrameLowering.cpp user/hrs/ipv6/contrib/llvm/lib/Target/X86/X86ISelDAGToDAG.cpp user/hrs/ipv6/contrib/llvm/lib/Target/X86/X86ISelLowering.cpp user/hrs/ipv6/contrib/llvm/lib/Target/X86/X86ISelLowering.h user/hrs/ipv6/contrib/llvm/lib/Target/X86/X86InstrCompiler.td user/hrs/ipv6/contrib/llvm/lib/Target/X86/X86InstrExtension.td user/hrs/ipv6/contrib/llvm/lib/Target/X86/X86InstrFragmentsSIMD.td user/hrs/ipv6/contrib/llvm/lib/Target/X86/X86InstrInfo.cpp user/hrs/ipv6/contrib/llvm/lib/Target/X86/X86InstrInfo.h user/hrs/ipv6/contrib/llvm/lib/Target/X86/X86InstrInfo.td user/hrs/ipv6/contrib/llvm/lib/Target/X86/X86InstrMMX.td user/hrs/ipv6/contrib/llvm/lib/Target/X86/X86InstrSSE.td user/hrs/ipv6/contrib/llvm/lib/Target/X86/X86MCAsmInfo.cpp user/hrs/ipv6/contrib/llvm/lib/Target/X86/X86MCCodeEmitter.cpp user/hrs/ipv6/contrib/llvm/lib/Target/X86/X86MCInstLower.cpp user/hrs/ipv6/contrib/llvm/lib/Target/X86/X86RegisterInfo.cpp user/hrs/ipv6/contrib/llvm/lib/Target/X86/X86RegisterInfo.h user/hrs/ipv6/contrib/llvm/lib/Target/X86/X86RegisterInfo.td user/hrs/ipv6/contrib/llvm/lib/Target/X86/X86Subtarget.cpp user/hrs/ipv6/contrib/llvm/lib/Target/XCore/XCoreISelDAGToDAG.cpp user/hrs/ipv6/contrib/llvm/lib/Target/XCore/XCoreISelLowering.cpp user/hrs/ipv6/contrib/llvm/lib/Target/XCore/XCoreISelLowering.h user/hrs/ipv6/contrib/llvm/lib/Target/XCore/XCoreInstrInfo.td user/hrs/ipv6/contrib/llvm/lib/Target/XCore/XCoreRegisterInfo.cpp user/hrs/ipv6/contrib/llvm/lib/Target/XCore/XCoreRegisterInfo.h user/hrs/ipv6/contrib/llvm/lib/Target/XCore/XCoreRegisterInfo.td user/hrs/ipv6/contrib/llvm/lib/Transforms/IPO/DeadTypeElimination.cpp user/hrs/ipv6/contrib/llvm/lib/Transforms/IPO/ExtractGV.cpp user/hrs/ipv6/contrib/llvm/lib/Transforms/IPO/GlobalOpt.cpp user/hrs/ipv6/contrib/llvm/lib/Transforms/IPO/PruneEH.cpp user/hrs/ipv6/contrib/llvm/lib/Transforms/InstCombine/InstCombine.h user/hrs/ipv6/contrib/llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp user/hrs/ipv6/contrib/llvm/lib/Transforms/InstCombine/InstCombineCasts.cpp user/hrs/ipv6/contrib/llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp user/hrs/ipv6/contrib/llvm/lib/Transforms/InstCombine/InstCombineLoadStoreAlloca.cpp user/hrs/ipv6/contrib/llvm/lib/Transforms/InstCombine/InstCombineMulDivRem.cpp user/hrs/ipv6/contrib/llvm/lib/Transforms/InstCombine/InstCombinePHI.cpp user/hrs/ipv6/contrib/llvm/lib/Transforms/InstCombine/InstCombineSelect.cpp user/hrs/ipv6/contrib/llvm/lib/Transforms/InstCombine/InstCombineSimplifyDemanded.cpp user/hrs/ipv6/contrib/llvm/lib/Transforms/InstCombine/InstructionCombining.cpp user/hrs/ipv6/contrib/llvm/lib/Transforms/Instrumentation/GCOVProfiling.cpp user/hrs/ipv6/contrib/llvm/lib/Transforms/Instrumentation/PathProfiling.cpp user/hrs/ipv6/contrib/llvm/lib/Transforms/Scalar/CodeGenPrepare.cpp user/hrs/ipv6/contrib/llvm/lib/Transforms/Scalar/GVN.cpp user/hrs/ipv6/contrib/llvm/lib/Transforms/Scalar/IndVarSimplify.cpp user/hrs/ipv6/contrib/llvm/lib/Transforms/Scalar/JumpThreading.cpp user/hrs/ipv6/contrib/llvm/lib/Transforms/Scalar/LICM.cpp user/hrs/ipv6/contrib/llvm/lib/Transforms/Scalar/LoopIdiomRecognize.cpp user/hrs/ipv6/contrib/llvm/lib/Transforms/Scalar/LoopStrengthReduce.cpp user/hrs/ipv6/contrib/llvm/lib/Transforms/Scalar/LoopUnswitch.cpp user/hrs/ipv6/contrib/llvm/lib/Transforms/Scalar/MemCpyOptimizer.cpp user/hrs/ipv6/contrib/llvm/lib/Transforms/Scalar/SCCP.cpp user/hrs/ipv6/contrib/llvm/lib/Transforms/Scalar/ScalarReplAggregates.cpp user/hrs/ipv6/contrib/llvm/lib/Transforms/Scalar/SimplifyCFGPass.cpp user/hrs/ipv6/contrib/llvm/lib/Transforms/Scalar/TailRecursionElimination.cpp user/hrs/ipv6/contrib/llvm/lib/Transforms/Utils/BasicBlockUtils.cpp user/hrs/ipv6/contrib/llvm/lib/Transforms/Utils/BreakCriticalEdges.cpp user/hrs/ipv6/contrib/llvm/lib/Transforms/Utils/BuildLibCalls.cpp user/hrs/ipv6/contrib/llvm/lib/Transforms/Utils/InlineFunction.cpp user/hrs/ipv6/contrib/llvm/lib/Transforms/Utils/Local.cpp user/hrs/ipv6/contrib/llvm/lib/Transforms/Utils/PromoteMemoryToRegister.cpp user/hrs/ipv6/contrib/llvm/lib/Transforms/Utils/SSAUpdater.cpp user/hrs/ipv6/contrib/llvm/lib/Transforms/Utils/SimplifyCFG.cpp user/hrs/ipv6/contrib/llvm/lib/VMCore/Attributes.cpp user/hrs/ipv6/contrib/llvm/lib/VMCore/AutoUpgrade.cpp user/hrs/ipv6/contrib/llvm/lib/VMCore/DebugInfoProbe.cpp user/hrs/ipv6/contrib/llvm/lib/VMCore/Function.cpp user/hrs/ipv6/contrib/llvm/lib/VMCore/IRBuilder.cpp user/hrs/ipv6/contrib/llvm/lib/VMCore/InlineAsm.cpp user/hrs/ipv6/contrib/llvm/lib/VMCore/Instructions.cpp user/hrs/ipv6/contrib/llvm/lib/VMCore/PassManager.cpp user/hrs/ipv6/contrib/llvm/lib/VMCore/Type.cpp user/hrs/ipv6/contrib/llvm/lib/VMCore/Verifier.cpp user/hrs/ipv6/contrib/llvm/tools/clang/include/clang-c/Index.h user/hrs/ipv6/contrib/llvm/tools/clang/include/clang/AST/APValue.h user/hrs/ipv6/contrib/llvm/tools/clang/include/clang/AST/ASTContext.h user/hrs/ipv6/contrib/llvm/tools/clang/include/clang/AST/CanonicalType.h user/hrs/ipv6/contrib/llvm/tools/clang/include/clang/AST/Decl.h user/hrs/ipv6/contrib/llvm/tools/clang/include/clang/AST/DeclBase.h user/hrs/ipv6/contrib/llvm/tools/clang/include/clang/AST/DeclCXX.h user/hrs/ipv6/contrib/llvm/tools/clang/include/clang/AST/DeclObjC.h user/hrs/ipv6/contrib/llvm/tools/clang/include/clang/AST/DeclTemplate.h user/hrs/ipv6/contrib/llvm/tools/clang/include/clang/AST/Expr.h user/hrs/ipv6/contrib/llvm/tools/clang/include/clang/AST/ExternalASTSource.h user/hrs/ipv6/contrib/llvm/tools/clang/include/clang/AST/RecursiveASTVisitor.h user/hrs/ipv6/contrib/llvm/tools/clang/include/clang/AST/StmtVisitor.h user/hrs/ipv6/contrib/llvm/tools/clang/include/clang/AST/Type.h user/hrs/ipv6/contrib/llvm/tools/clang/include/clang/AST/TypeLoc.h user/hrs/ipv6/contrib/llvm/tools/clang/include/clang/AST/TypeNodes.def user/hrs/ipv6/contrib/llvm/tools/clang/include/clang/Basic/BuiltinsARM.def user/hrs/ipv6/contrib/llvm/tools/clang/include/clang/Basic/BuiltinsX86.def user/hrs/ipv6/contrib/llvm/tools/clang/include/clang/Basic/DeclNodes.td user/hrs/ipv6/contrib/llvm/tools/clang/include/clang/Basic/Diagnostic.h user/hrs/ipv6/contrib/llvm/tools/clang/include/clang/Basic/DiagnosticCommonKinds.td user/hrs/ipv6/contrib/llvm/tools/clang/include/clang/Basic/DiagnosticFrontendKinds.td user/hrs/ipv6/contrib/llvm/tools/clang/include/clang/Basic/DiagnosticGroups.td user/hrs/ipv6/contrib/llvm/tools/clang/include/clang/Basic/DiagnosticIDs.h user/hrs/ipv6/contrib/llvm/tools/clang/include/clang/Basic/DiagnosticParseKinds.td user/hrs/ipv6/contrib/llvm/tools/clang/include/clang/Basic/DiagnosticSemaKinds.td user/hrs/ipv6/contrib/llvm/tools/clang/include/clang/Basic/ExceptionSpecificationType.h user/hrs/ipv6/contrib/llvm/tools/clang/include/clang/Basic/IdentifierTable.h user/hrs/ipv6/contrib/llvm/tools/clang/include/clang/Basic/LangOptions.h user/hrs/ipv6/contrib/llvm/tools/clang/include/clang/Basic/SourceLocation.h user/hrs/ipv6/contrib/llvm/tools/clang/include/clang/Basic/SourceManager.h user/hrs/ipv6/contrib/llvm/tools/clang/include/clang/Basic/Specifiers.h user/hrs/ipv6/contrib/llvm/tools/clang/include/clang/Basic/StmtNodes.td user/hrs/ipv6/contrib/llvm/tools/clang/include/clang/Basic/TargetInfo.h user/hrs/ipv6/contrib/llvm/tools/clang/include/clang/Basic/TokenKinds.def user/hrs/ipv6/contrib/llvm/tools/clang/include/clang/Basic/TypeTraits.h user/hrs/ipv6/contrib/llvm/tools/clang/include/clang/Basic/arm_neon.td user/hrs/ipv6/contrib/llvm/tools/clang/include/clang/Driver/CC1AsOptions.td user/hrs/ipv6/contrib/llvm/tools/clang/include/clang/Driver/CC1Options.td user/hrs/ipv6/contrib/llvm/tools/clang/include/clang/Driver/Options.td user/hrs/ipv6/contrib/llvm/tools/clang/include/clang/Driver/ToolChain.h user/hrs/ipv6/contrib/llvm/tools/clang/include/clang/Frontend/ASTUnit.h user/hrs/ipv6/contrib/llvm/tools/clang/include/clang/Frontend/CodeGenOptions.h user/hrs/ipv6/contrib/llvm/tools/clang/include/clang/Frontend/DiagnosticOptions.h user/hrs/ipv6/contrib/llvm/tools/clang/include/clang/Frontend/LangStandard.h user/hrs/ipv6/contrib/llvm/tools/clang/include/clang/Frontend/LangStandards.def user/hrs/ipv6/contrib/llvm/tools/clang/include/clang/Frontend/PreprocessorOptions.h user/hrs/ipv6/contrib/llvm/tools/clang/include/clang/Frontend/Utils.h user/hrs/ipv6/contrib/llvm/tools/clang/include/clang/Lex/HeaderSearch.h user/hrs/ipv6/contrib/llvm/tools/clang/include/clang/Lex/LiteralSupport.h user/hrs/ipv6/contrib/llvm/tools/clang/include/clang/Lex/PreprocessingRecord.h user/hrs/ipv6/contrib/llvm/tools/clang/include/clang/Lex/Preprocessor.h user/hrs/ipv6/contrib/llvm/tools/clang/include/clang/Parse/Parser.h user/hrs/ipv6/contrib/llvm/tools/clang/include/clang/Sema/CodeCompleteConsumer.h user/hrs/ipv6/contrib/llvm/tools/clang/include/clang/Sema/DeclSpec.h user/hrs/ipv6/contrib/llvm/tools/clang/include/clang/Sema/Initialization.h user/hrs/ipv6/contrib/llvm/tools/clang/include/clang/Sema/Lookup.h user/hrs/ipv6/contrib/llvm/tools/clang/include/clang/Sema/Overload.h user/hrs/ipv6/contrib/llvm/tools/clang/include/clang/Sema/Scope.h user/hrs/ipv6/contrib/llvm/tools/clang/include/clang/Sema/Sema.h user/hrs/ipv6/contrib/llvm/tools/clang/include/clang/Sema/Template.h user/hrs/ipv6/contrib/llvm/tools/clang/include/clang/Serialization/ASTBitCodes.h user/hrs/ipv6/contrib/llvm/tools/clang/include/clang/Serialization/ASTReader.h user/hrs/ipv6/contrib/llvm/tools/clang/include/clang/Serialization/ASTWriter.h user/hrs/ipv6/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/Checker.h user/hrs/ipv6/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/CheckerManager.h user/hrs/ipv6/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/BasicValueFactory.h user/hrs/ipv6/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/ExprEngine.h user/hrs/ipv6/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/GRState.h user/hrs/ipv6/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/ObjCMessage.h user/hrs/ipv6/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/SValBuilder.h user/hrs/ipv6/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/Store.h user/hrs/ipv6/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/SubEngine.h user/hrs/ipv6/contrib/llvm/tools/clang/lib/AST/APValue.cpp user/hrs/ipv6/contrib/llvm/tools/clang/lib/AST/ASTContext.cpp user/hrs/ipv6/contrib/llvm/tools/clang/lib/AST/ASTDiagnostic.cpp user/hrs/ipv6/contrib/llvm/tools/clang/lib/AST/ASTImporter.cpp user/hrs/ipv6/contrib/llvm/tools/clang/lib/AST/Decl.cpp user/hrs/ipv6/contrib/llvm/tools/clang/lib/AST/DeclBase.cpp user/hrs/ipv6/contrib/llvm/tools/clang/lib/AST/DeclCXX.cpp user/hrs/ipv6/contrib/llvm/tools/clang/lib/AST/DeclObjC.cpp user/hrs/ipv6/contrib/llvm/tools/clang/lib/AST/DeclPrinter.cpp user/hrs/ipv6/contrib/llvm/tools/clang/lib/AST/DeclTemplate.cpp user/hrs/ipv6/contrib/llvm/tools/clang/lib/AST/DumpXML.cpp user/hrs/ipv6/contrib/llvm/tools/clang/lib/AST/Expr.cpp user/hrs/ipv6/contrib/llvm/tools/clang/lib/AST/ExprClassification.cpp user/hrs/ipv6/contrib/llvm/tools/clang/lib/AST/ExprConstant.cpp user/hrs/ipv6/contrib/llvm/tools/clang/lib/AST/ExternalASTSource.cpp user/hrs/ipv6/contrib/llvm/tools/clang/lib/AST/ItaniumMangle.cpp user/hrs/ipv6/contrib/llvm/tools/clang/lib/AST/Mangle.cpp user/hrs/ipv6/contrib/llvm/tools/clang/lib/AST/MicrosoftMangle.cpp user/hrs/ipv6/contrib/llvm/tools/clang/lib/AST/RecordLayoutBuilder.cpp user/hrs/ipv6/contrib/llvm/tools/clang/lib/AST/StmtPrinter.cpp user/hrs/ipv6/contrib/llvm/tools/clang/lib/AST/StmtProfile.cpp user/hrs/ipv6/contrib/llvm/tools/clang/lib/AST/Type.cpp user/hrs/ipv6/contrib/llvm/tools/clang/lib/AST/TypePrinter.cpp user/hrs/ipv6/contrib/llvm/tools/clang/lib/Analysis/AnalysisContext.cpp user/hrs/ipv6/contrib/llvm/tools/clang/lib/Analysis/CFG.cpp user/hrs/ipv6/contrib/llvm/tools/clang/lib/Analysis/CocoaConventions.cpp user/hrs/ipv6/contrib/llvm/tools/clang/lib/Analysis/LiveVariables.cpp user/hrs/ipv6/contrib/llvm/tools/clang/lib/Analysis/UninitializedValues.cpp user/hrs/ipv6/contrib/llvm/tools/clang/lib/Basic/Diagnostic.cpp user/hrs/ipv6/contrib/llvm/tools/clang/lib/Basic/DiagnosticIDs.cpp user/hrs/ipv6/contrib/llvm/tools/clang/lib/Basic/FileManager.cpp user/hrs/ipv6/contrib/llvm/tools/clang/lib/Basic/IdentifierTable.cpp user/hrs/ipv6/contrib/llvm/tools/clang/lib/Basic/SourceManager.cpp user/hrs/ipv6/contrib/llvm/tools/clang/lib/Basic/Targets.cpp user/hrs/ipv6/contrib/llvm/tools/clang/lib/CodeGen/BackendUtil.cpp user/hrs/ipv6/contrib/llvm/tools/clang/lib/CodeGen/CGBlocks.cpp user/hrs/ipv6/contrib/llvm/tools/clang/lib/CodeGen/CGBuiltin.cpp user/hrs/ipv6/contrib/llvm/tools/clang/lib/CodeGen/CGCXX.cpp user/hrs/ipv6/contrib/llvm/tools/clang/lib/CodeGen/CGCall.cpp user/hrs/ipv6/contrib/llvm/tools/clang/lib/CodeGen/CGCall.h user/hrs/ipv6/contrib/llvm/tools/clang/lib/CodeGen/CGClass.cpp user/hrs/ipv6/contrib/llvm/tools/clang/lib/CodeGen/CGDebugInfo.cpp user/hrs/ipv6/contrib/llvm/tools/clang/lib/CodeGen/CGDebugInfo.h user/hrs/ipv6/contrib/llvm/tools/clang/lib/CodeGen/CGDecl.cpp user/hrs/ipv6/contrib/llvm/tools/clang/lib/CodeGen/CGDeclCXX.cpp user/hrs/ipv6/contrib/llvm/tools/clang/lib/CodeGen/CGException.cpp user/hrs/ipv6/contrib/llvm/tools/clang/lib/CodeGen/CGExpr.cpp user/hrs/ipv6/contrib/llvm/tools/clang/lib/CodeGen/CGExprAgg.cpp user/hrs/ipv6/contrib/llvm/tools/clang/lib/CodeGen/CGExprCXX.cpp user/hrs/ipv6/contrib/llvm/tools/clang/lib/CodeGen/CGExprConstant.cpp user/hrs/ipv6/contrib/llvm/tools/clang/lib/CodeGen/CGExprScalar.cpp user/hrs/ipv6/contrib/llvm/tools/clang/lib/CodeGen/CGObjC.cpp user/hrs/ipv6/contrib/llvm/tools/clang/lib/CodeGen/CGObjCGNU.cpp user/hrs/ipv6/contrib/llvm/tools/clang/lib/CodeGen/CGObjCMac.cpp user/hrs/ipv6/contrib/llvm/tools/clang/lib/CodeGen/CGObjCRuntime.cpp user/hrs/ipv6/contrib/llvm/tools/clang/lib/CodeGen/CGObjCRuntime.h user/hrs/ipv6/contrib/llvm/tools/clang/lib/CodeGen/CGRecordLayoutBuilder.cpp user/hrs/ipv6/contrib/llvm/tools/clang/lib/CodeGen/CGStmt.cpp user/hrs/ipv6/contrib/llvm/tools/clang/lib/CodeGen/CGVTT.cpp user/hrs/ipv6/contrib/llvm/tools/clang/lib/CodeGen/CGVTables.cpp user/hrs/ipv6/contrib/llvm/tools/clang/lib/CodeGen/CodeGenFunction.cpp user/hrs/ipv6/contrib/llvm/tools/clang/lib/CodeGen/CodeGenFunction.h user/hrs/ipv6/contrib/llvm/tools/clang/lib/CodeGen/CodeGenModule.cpp user/hrs/ipv6/contrib/llvm/tools/clang/lib/CodeGen/CodeGenModule.h user/hrs/ipv6/contrib/llvm/tools/clang/lib/CodeGen/CodeGenTypes.h user/hrs/ipv6/contrib/llvm/tools/clang/lib/CodeGen/ItaniumCXXABI.cpp user/hrs/ipv6/contrib/llvm/tools/clang/lib/CodeGen/ModuleBuilder.cpp user/hrs/ipv6/contrib/llvm/tools/clang/lib/CodeGen/TargetInfo.cpp user/hrs/ipv6/contrib/llvm/tools/clang/lib/Driver/Driver.cpp user/hrs/ipv6/contrib/llvm/tools/clang/lib/Driver/HostInfo.cpp user/hrs/ipv6/contrib/llvm/tools/clang/lib/Driver/ToolChains.cpp user/hrs/ipv6/contrib/llvm/tools/clang/lib/Driver/ToolChains.h user/hrs/ipv6/contrib/llvm/tools/clang/lib/Driver/Tools.cpp user/hrs/ipv6/contrib/llvm/tools/clang/lib/Driver/Tools.h user/hrs/ipv6/contrib/llvm/tools/clang/lib/Frontend/ASTConsumers.cpp user/hrs/ipv6/contrib/llvm/tools/clang/lib/Frontend/ASTUnit.cpp user/hrs/ipv6/contrib/llvm/tools/clang/lib/Frontend/CompilerInstance.cpp user/hrs/ipv6/contrib/llvm/tools/clang/lib/Frontend/CompilerInvocation.cpp user/hrs/ipv6/contrib/llvm/tools/clang/lib/Frontend/CreateInvocationFromCommandLine.cpp user/hrs/ipv6/contrib/llvm/tools/clang/lib/Frontend/InitHeaderSearch.cpp user/hrs/ipv6/contrib/llvm/tools/clang/lib/Frontend/InitPreprocessor.cpp user/hrs/ipv6/contrib/llvm/tools/clang/lib/Frontend/LogDiagnosticPrinter.cpp user/hrs/ipv6/contrib/llvm/tools/clang/lib/Frontend/TextDiagnosticPrinter.cpp user/hrs/ipv6/contrib/llvm/tools/clang/lib/Frontend/Warnings.cpp user/hrs/ipv6/contrib/llvm/tools/clang/lib/Headers/emmintrin.h user/hrs/ipv6/contrib/llvm/tools/clang/lib/Headers/mmintrin.h user/hrs/ipv6/contrib/llvm/tools/clang/lib/Headers/xmmintrin.h user/hrs/ipv6/contrib/llvm/tools/clang/lib/Index/CallGraph.cpp user/hrs/ipv6/contrib/llvm/tools/clang/lib/Index/Indexer.cpp user/hrs/ipv6/contrib/llvm/tools/clang/lib/Lex/HeaderSearch.cpp user/hrs/ipv6/contrib/llvm/tools/clang/lib/Lex/Lexer.cpp user/hrs/ipv6/contrib/llvm/tools/clang/lib/Lex/LiteralSupport.cpp user/hrs/ipv6/contrib/llvm/tools/clang/lib/Lex/MacroInfo.cpp user/hrs/ipv6/contrib/llvm/tools/clang/lib/Lex/PPDirectives.cpp user/hrs/ipv6/contrib/llvm/tools/clang/lib/Lex/PPMacroExpansion.cpp user/hrs/ipv6/contrib/llvm/tools/clang/lib/Lex/Pragma.cpp user/hrs/ipv6/contrib/llvm/tools/clang/lib/Lex/PreprocessingRecord.cpp user/hrs/ipv6/contrib/llvm/tools/clang/lib/Lex/Preprocessor.cpp user/hrs/ipv6/contrib/llvm/tools/clang/lib/Parse/ParseCXXInlineMethods.cpp user/hrs/ipv6/contrib/llvm/tools/clang/lib/Parse/ParseDecl.cpp user/hrs/ipv6/contrib/llvm/tools/clang/lib/Parse/ParseDeclCXX.cpp user/hrs/ipv6/contrib/llvm/tools/clang/lib/Parse/ParseExpr.cpp user/hrs/ipv6/contrib/llvm/tools/clang/lib/Parse/ParseExprCXX.cpp user/hrs/ipv6/contrib/llvm/tools/clang/lib/Parse/ParseObjc.cpp user/hrs/ipv6/contrib/llvm/tools/clang/lib/Parse/ParsePragma.cpp user/hrs/ipv6/contrib/llvm/tools/clang/lib/Parse/ParseStmt.cpp user/hrs/ipv6/contrib/llvm/tools/clang/lib/Parse/ParseTemplate.cpp user/hrs/ipv6/contrib/llvm/tools/clang/lib/Parse/ParseTentative.cpp user/hrs/ipv6/contrib/llvm/tools/clang/lib/Parse/Parser.cpp user/hrs/ipv6/contrib/llvm/tools/clang/lib/Rewrite/RewriteObjC.cpp user/hrs/ipv6/contrib/llvm/tools/clang/lib/Sema/AnalysisBasedWarnings.cpp user/hrs/ipv6/contrib/llvm/tools/clang/lib/Sema/DeclSpec.cpp user/hrs/ipv6/contrib/llvm/tools/clang/lib/Sema/JumpDiagnostics.cpp user/hrs/ipv6/contrib/llvm/tools/clang/lib/Sema/Sema.cpp user/hrs/ipv6/contrib/llvm/tools/clang/lib/Sema/SemaAccess.cpp user/hrs/ipv6/contrib/llvm/tools/clang/lib/Sema/SemaCXXCast.cpp user/hrs/ipv6/contrib/llvm/tools/clang/lib/Sema/SemaCXXScopeSpec.cpp user/hrs/ipv6/contrib/llvm/tools/clang/lib/Sema/SemaChecking.cpp user/hrs/ipv6/contrib/llvm/tools/clang/lib/Sema/SemaCodeComplete.cpp user/hrs/ipv6/contrib/llvm/tools/clang/lib/Sema/SemaDecl.cpp user/hrs/ipv6/contrib/llvm/tools/clang/lib/Sema/SemaDeclCXX.cpp user/hrs/ipv6/contrib/llvm/tools/clang/lib/Sema/SemaDeclObjC.cpp user/hrs/ipv6/contrib/llvm/tools/clang/lib/Sema/SemaExceptionSpec.cpp user/hrs/ipv6/contrib/llvm/tools/clang/lib/Sema/SemaExpr.cpp user/hrs/ipv6/contrib/llvm/tools/clang/lib/Sema/SemaExprCXX.cpp user/hrs/ipv6/contrib/llvm/tools/clang/lib/Sema/SemaExprObjC.cpp user/hrs/ipv6/contrib/llvm/tools/clang/lib/Sema/SemaInit.cpp user/hrs/ipv6/contrib/llvm/tools/clang/lib/Sema/SemaLookup.cpp user/hrs/ipv6/contrib/llvm/tools/clang/lib/Sema/SemaOverload.cpp user/hrs/ipv6/contrib/llvm/tools/clang/lib/Sema/SemaStmt.cpp user/hrs/ipv6/contrib/llvm/tools/clang/lib/Sema/SemaTemplate.cpp user/hrs/ipv6/contrib/llvm/tools/clang/lib/Sema/SemaTemplateDeduction.cpp user/hrs/ipv6/contrib/llvm/tools/clang/lib/Sema/SemaTemplateInstantiate.cpp user/hrs/ipv6/contrib/llvm/tools/clang/lib/Sema/SemaTemplateInstantiateDecl.cpp user/hrs/ipv6/contrib/llvm/tools/clang/lib/Sema/SemaTemplateVariadic.cpp user/hrs/ipv6/contrib/llvm/tools/clang/lib/Sema/SemaType.cpp user/hrs/ipv6/contrib/llvm/tools/clang/lib/Sema/TreeTransform.h user/hrs/ipv6/contrib/llvm/tools/clang/lib/Serialization/ASTReader.cpp user/hrs/ipv6/contrib/llvm/tools/clang/lib/Serialization/ASTReaderDecl.cpp user/hrs/ipv6/contrib/llvm/tools/clang/lib/Serialization/ASTReaderStmt.cpp user/hrs/ipv6/contrib/llvm/tools/clang/lib/Serialization/ASTWriter.cpp user/hrs/ipv6/contrib/llvm/tools/clang/lib/Serialization/ASTWriterDecl.cpp user/hrs/ipv6/contrib/llvm/tools/clang/lib/Serialization/ASTWriterStmt.cpp user/hrs/ipv6/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/CStringChecker.cpp user/hrs/ipv6/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/NSErrorChecker.cpp user/hrs/ipv6/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/BasicStore.cpp user/hrs/ipv6/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/BasicValueFactory.cpp user/hrs/ipv6/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/CFRefCount.cpp user/hrs/ipv6/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/CXXExprEngine.cpp user/hrs/ipv6/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/CheckerManager.cpp user/hrs/ipv6/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/Environment.cpp user/hrs/ipv6/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/ExprEngine.cpp user/hrs/ipv6/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/FlatStore.cpp user/hrs/ipv6/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/GRState.cpp user/hrs/ipv6/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/ObjCMessage.cpp user/hrs/ipv6/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/RegionStore.cpp user/hrs/ipv6/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/SimpleConstraintManager.cpp user/hrs/ipv6/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/SimpleSValBuilder.cpp user/hrs/ipv6/contrib/llvm/tools/clang/lib/StaticAnalyzer/Frontend/AnalysisConsumer.cpp user/hrs/ipv6/contrib/llvm/tools/clang/tools/driver/cc1as_main.cpp user/hrs/ipv6/contrib/llvm/utils/TableGen/AsmMatcherEmitter.cpp user/hrs/ipv6/contrib/llvm/utils/TableGen/AsmWriterEmitter.cpp user/hrs/ipv6/contrib/llvm/utils/TableGen/ClangDiagnosticsEmitter.cpp user/hrs/ipv6/contrib/llvm/utils/TableGen/CodeGenIntrinsics.h user/hrs/ipv6/contrib/llvm/utils/TableGen/CodeGenRegisters.h user/hrs/ipv6/contrib/llvm/utils/TableGen/CodeGenTarget.cpp user/hrs/ipv6/contrib/llvm/utils/TableGen/CodeGenTarget.h user/hrs/ipv6/contrib/llvm/utils/TableGen/DAGISelMatcherGen.cpp user/hrs/ipv6/contrib/llvm/utils/TableGen/EDEmitter.cpp user/hrs/ipv6/contrib/llvm/utils/TableGen/FastISelEmitter.cpp user/hrs/ipv6/contrib/llvm/utils/TableGen/IntrinsicEmitter.cpp user/hrs/ipv6/contrib/llvm/utils/TableGen/LLVMCConfigurationEmitter.cpp user/hrs/ipv6/contrib/llvm/utils/TableGen/NeonEmitter.cpp user/hrs/ipv6/contrib/llvm/utils/TableGen/Record.cpp user/hrs/ipv6/contrib/llvm/utils/TableGen/RegisterInfoEmitter.cpp user/hrs/ipv6/contrib/llvm/utils/TableGen/TGLexer.cpp user/hrs/ipv6/contrib/llvm/utils/TableGen/TGLexer.h user/hrs/ipv6/contrib/llvm/utils/TableGen/TGParser.h user/hrs/ipv6/contrib/llvm/utils/TableGen/TableGen.cpp user/hrs/ipv6/contrib/pf/pfctl/pfctl.8 user/hrs/ipv6/contrib/pf/pfctl/pfctl.c user/hrs/ipv6/contrib/pf/pfctl/pfctl_optimize.c user/hrs/ipv6/contrib/pf/pfctl/pfctl_parser.c user/hrs/ipv6/contrib/pf/pfctl/pfctl_parser.h user/hrs/ipv6/contrib/sendmail/CACerts user/hrs/ipv6/contrib/sendmail/FREEBSD-upgrade user/hrs/ipv6/contrib/sendmail/KNOWNBUGS user/hrs/ipv6/contrib/sendmail/LICENSE user/hrs/ipv6/contrib/sendmail/PGPKEYS user/hrs/ipv6/contrib/sendmail/RELEASE_NOTES user/hrs/ipv6/contrib/sendmail/cf/cf/submit.cf user/hrs/ipv6/contrib/sendmail/cf/feature/ldap_routing.m4 user/hrs/ipv6/contrib/sendmail/cf/m4/cfhead.m4 user/hrs/ipv6/contrib/sendmail/cf/m4/proto.m4 user/hrs/ipv6/contrib/sendmail/cf/m4/version.m4 user/hrs/ipv6/contrib/sendmail/contrib/qtool.pl user/hrs/ipv6/contrib/sendmail/doc/op/op.me user/hrs/ipv6/contrib/sendmail/include/sm/conf.h user/hrs/ipv6/contrib/sendmail/libmilter/docs/overview.html user/hrs/ipv6/contrib/sendmail/libmilter/docs/smfi_stop.html user/hrs/ipv6/contrib/sendmail/libmilter/docs/xxfi_envrcpt.html user/hrs/ipv6/contrib/sendmail/libmilter/engine.c user/hrs/ipv6/contrib/sendmail/libmilter/sm_gethost.c user/hrs/ipv6/contrib/sendmail/libmilter/worker.c user/hrs/ipv6/contrib/sendmail/libsm/ldap.c user/hrs/ipv6/contrib/sendmail/makemap/makemap.c user/hrs/ipv6/contrib/sendmail/src/Makefile.m4 user/hrs/ipv6/contrib/sendmail/src/conf.c user/hrs/ipv6/contrib/sendmail/src/daemon.c user/hrs/ipv6/contrib/sendmail/src/deliver.c user/hrs/ipv6/contrib/sendmail/src/domain.c user/hrs/ipv6/contrib/sendmail/src/envelope.c user/hrs/ipv6/contrib/sendmail/src/err.c user/hrs/ipv6/contrib/sendmail/src/main.c user/hrs/ipv6/contrib/sendmail/src/map.c user/hrs/ipv6/contrib/sendmail/src/mci.c user/hrs/ipv6/contrib/sendmail/src/parseaddr.c user/hrs/ipv6/contrib/sendmail/src/queue.c user/hrs/ipv6/contrib/sendmail/src/readcf.c user/hrs/ipv6/contrib/sendmail/src/sendmail.8 user/hrs/ipv6/contrib/sendmail/src/sendmail.h user/hrs/ipv6/contrib/sendmail/src/sm_resolve.c user/hrs/ipv6/contrib/sendmail/src/srvrsmtp.c user/hrs/ipv6/contrib/sendmail/src/tls.c user/hrs/ipv6/contrib/sendmail/src/udb.c user/hrs/ipv6/contrib/sendmail/src/usersmtp.c user/hrs/ipv6/contrib/sendmail/src/version.c user/hrs/ipv6/etc/defaults/rc.conf user/hrs/ipv6/etc/network.subr user/hrs/ipv6/etc/periodic/daily/800.scrub-zfs user/hrs/ipv6/etc/rc.d/mountcritremote user/hrs/ipv6/etc/rc.d/nfsclient user/hrs/ipv6/etc/rc.d/rtadvd user/hrs/ipv6/etc/rc.subr user/hrs/ipv6/etc/sendmail/freebsd.mc user/hrs/ipv6/etc/sendmail/freebsd.submit.mc user/hrs/ipv6/lib/clang/include/clang/Basic/Version.inc user/hrs/ipv6/lib/clang/libclangfrontend/Makefile user/hrs/ipv6/lib/clang/libllvmasmprinter/Makefile user/hrs/ipv6/lib/clang/libllvmcodegen/Makefile user/hrs/ipv6/lib/clang/libllvmmc/Makefile user/hrs/ipv6/lib/clang/libllvmmipscodegen/Makefile user/hrs/ipv6/lib/libc/gen/sysconf.c user/hrs/ipv6/lib/libc/net/sctp_sys_calls.c user/hrs/ipv6/lib/libstand/Makefile user/hrs/ipv6/lib/libstand/net.c user/hrs/ipv6/lib/libstand/tftp.c user/hrs/ipv6/lib/libstand/zalloc.c user/hrs/ipv6/libexec/tftpd/tftpd.8 user/hrs/ipv6/release/Makefile user/hrs/ipv6/release/doc/en_US.ISO8859-1/relnotes/article.sgml user/hrs/ipv6/release/powerpc/mkisoimages.sh user/hrs/ipv6/sbin/camcontrol/camcontrol.c user/hrs/ipv6/sbin/hastd/proto_common.c user/hrs/ipv6/sbin/ifconfig/ifconfig.c user/hrs/ipv6/sbin/ipfw/ipfw.8 user/hrs/ipv6/sbin/ipfw/ipfw2.c user/hrs/ipv6/sbin/ipfw/ipfw2.h user/hrs/ipv6/sbin/ipfw/nat.c user/hrs/ipv6/share/misc/committers-ports.dot user/hrs/ipv6/sys/amd64/conf/GENERIC user/hrs/ipv6/sys/boot/forth/loader.rc user/hrs/ipv6/sys/boot/i386/zfsboot/Makefile user/hrs/ipv6/sys/cam/ata/ata_all.c user/hrs/ipv6/sys/cam/ata/ata_da.c user/hrs/ipv6/sys/cam/ata/ata_xpt.c user/hrs/ipv6/sys/cam/cam_ccb.h user/hrs/ipv6/sys/cam/cam_periph.c user/hrs/ipv6/sys/cam/cam_periph.h user/hrs/ipv6/sys/cam/cam_xpt.c user/hrs/ipv6/sys/cam/cam_xpt.h user/hrs/ipv6/sys/cam/cam_xpt_internal.h user/hrs/ipv6/sys/cam/scsi/scsi_all.c user/hrs/ipv6/sys/cam/scsi/scsi_all.h user/hrs/ipv6/sys/cam/scsi/scsi_da.c user/hrs/ipv6/sys/cam/scsi/scsi_pass.c user/hrs/ipv6/sys/cam/scsi/scsi_xpt.c user/hrs/ipv6/sys/conf/Makefile.arm user/hrs/ipv6/sys/dev/ata/chipsets/ata-intel.c user/hrs/ipv6/sys/dev/ath/if_ath_ahb.c user/hrs/ipv6/sys/dev/puc/puc.c user/hrs/ipv6/sys/dev/puc/puc_bfe.h user/hrs/ipv6/sys/dev/puc/puc_pccard.c user/hrs/ipv6/sys/dev/puc/puc_pci.c user/hrs/ipv6/sys/dev/safe/safe.c user/hrs/ipv6/sys/dev/sound/pci/hda/hdac.c user/hrs/ipv6/sys/dev/xen/blkback/blkback.c user/hrs/ipv6/sys/geom/geom.h user/hrs/ipv6/sys/geom/geom_dev.c user/hrs/ipv6/sys/geom/geom_disk.c user/hrs/ipv6/sys/geom/geom_disk.h user/hrs/ipv6/sys/geom/geom_event.c user/hrs/ipv6/sys/geom/geom_subr.c user/hrs/ipv6/sys/i386/conf/GENERIC user/hrs/ipv6/sys/kern/kern_conf.c user/hrs/ipv6/sys/kern/kern_exit.c user/hrs/ipv6/sys/kern/subr_devstat.c user/hrs/ipv6/sys/kern/subr_kdb.c user/hrs/ipv6/sys/kern/sys_process.c user/hrs/ipv6/sys/net/if.h user/hrs/ipv6/sys/net/rtsock.c user/hrs/ipv6/sys/net80211/ieee80211_acl.c user/hrs/ipv6/sys/net80211/ieee80211_ioctl.c user/hrs/ipv6/sys/net80211/ieee80211_ioctl.h user/hrs/ipv6/sys/netinet/in.h user/hrs/ipv6/sys/netinet/ipfw/ip_fw2.c user/hrs/ipv6/sys/netinet/ipfw/ip_fw_nat.c user/hrs/ipv6/sys/netinet/libalias/alias.h user/hrs/ipv6/sys/netinet/sctp.h user/hrs/ipv6/sys/netinet/sctp_auth.c user/hrs/ipv6/sys/netinet/sctp_indata.c user/hrs/ipv6/sys/netinet/sctp_output.c user/hrs/ipv6/sys/netinet/sctp_pcb.c user/hrs/ipv6/sys/netinet/sctp_structs.h user/hrs/ipv6/sys/netinet/sctp_uio.h user/hrs/ipv6/sys/netinet/sctp_usrreq.c user/hrs/ipv6/sys/netinet/sctp_var.h user/hrs/ipv6/sys/netinet/sctputil.c user/hrs/ipv6/sys/netinet/tcp_output.c user/hrs/ipv6/sys/netinet6/nd6.c user/hrs/ipv6/sys/netinet6/nd6.h user/hrs/ipv6/sys/pc98/conf/GENERIC user/hrs/ipv6/sys/powerpc/conf/GENERIC user/hrs/ipv6/sys/powerpc/conf/GENERIC64 user/hrs/ipv6/sys/sparc64/conf/GENERIC user/hrs/ipv6/sys/sparc64/include/smp.h user/hrs/ipv6/sys/sys/conf.h user/hrs/ipv6/sys/sys/disk.h user/hrs/ipv6/sys/sys/proc.h user/hrs/ipv6/sys/ufs/ffs/ffs_alloc.c user/hrs/ipv6/sys/ufs/ffs/ffs_balloc.c user/hrs/ipv6/sys/ufs/ffs/ffs_extern.h user/hrs/ipv6/sys/ufs/ffs/ffs_inode.c user/hrs/ipv6/sys/ufs/ffs/ffs_snapshot.c user/hrs/ipv6/sys/ufs/ffs/ffs_softdep.c user/hrs/ipv6/sys/ufs/ffs/ffs_vfsops.c user/hrs/ipv6/sys/ufs/ffs/softdep.h user/hrs/ipv6/sys/ufs/ufs/ufs_vnops.c user/hrs/ipv6/sys/vm/vm_page.c user/hrs/ipv6/sys/vm/vm_page.h user/hrs/ipv6/sys/vm/vnode_pager.c user/hrs/ipv6/usr.bin/calendar/calendars/calendar.freebsd user/hrs/ipv6/usr.bin/clang/tblgen/Makefile user/hrs/ipv6/usr.bin/find/function.c user/hrs/ipv6/usr.bin/grep/fastgrep.c user/hrs/ipv6/usr.bin/grep/grep.c user/hrs/ipv6/usr.bin/grep/util.c user/hrs/ipv6/usr.bin/tftp/main.c user/hrs/ipv6/usr.bin/tftp/tftp.1 user/hrs/ipv6/usr.sbin/bsdinstall/Makefile user/hrs/ipv6/usr.sbin/diskinfo/diskinfo.c user/hrs/ipv6/usr.sbin/pw/pw_user.c Directory Properties: user/hrs/ipv6/ (props changed) user/hrs/ipv6/cddl/contrib/opensolaris/ (props changed) user/hrs/ipv6/contrib/bind9/ (props changed) user/hrs/ipv6/contrib/binutils/ (props changed) user/hrs/ipv6/contrib/bzip2/ (props changed) user/hrs/ipv6/contrib/compiler-rt/ (props changed) user/hrs/ipv6/contrib/dialog/ (props changed) user/hrs/ipv6/contrib/ee/ (props changed) user/hrs/ipv6/contrib/expat/ (props changed) user/hrs/ipv6/contrib/file/ (props changed) user/hrs/ipv6/contrib/gcc/ (props changed) user/hrs/ipv6/contrib/gdb/ (props changed) user/hrs/ipv6/contrib/gdtoa/ (props changed) user/hrs/ipv6/contrib/gnu-sort/ (props changed) user/hrs/ipv6/contrib/groff/ (props changed) user/hrs/ipv6/contrib/less/ (props changed) user/hrs/ipv6/contrib/libpcap/ (props changed) user/hrs/ipv6/contrib/libstdc++/ (props changed) user/hrs/ipv6/contrib/llvm/ (props changed) user/hrs/ipv6/contrib/llvm/tools/clang/ (props changed) user/hrs/ipv6/contrib/ncurses/ (props changed) user/hrs/ipv6/contrib/netcat/ (props changed) user/hrs/ipv6/contrib/ntp/ (props changed) user/hrs/ipv6/contrib/one-true-awk/ (props changed) user/hrs/ipv6/contrib/openbsm/ (props changed) user/hrs/ipv6/contrib/openpam/ (props changed) user/hrs/ipv6/contrib/pf/ (props changed) user/hrs/ipv6/contrib/sendmail/ (props changed) user/hrs/ipv6/contrib/tcpdump/ (props changed) user/hrs/ipv6/contrib/tcsh/ (props changed) user/hrs/ipv6/contrib/top/ (props changed) user/hrs/ipv6/contrib/top/install-sh (props changed) user/hrs/ipv6/contrib/tzcode/stdtime/ (props changed) user/hrs/ipv6/contrib/tzcode/zic/ (props changed) user/hrs/ipv6/contrib/tzdata/ (props changed) user/hrs/ipv6/contrib/wpa/ (props changed) user/hrs/ipv6/contrib/xz/ (props changed) user/hrs/ipv6/crypto/openssh/ (props changed) user/hrs/ipv6/crypto/openssl/ (props changed) user/hrs/ipv6/gnu/lib/ (props changed) user/hrs/ipv6/gnu/usr.bin/binutils/ (props changed) user/hrs/ipv6/gnu/usr.bin/cc/cc_tools/ (props changed) user/hrs/ipv6/gnu/usr.bin/gdb/ (props changed) user/hrs/ipv6/lib/libc/ (props changed) user/hrs/ipv6/lib/libc/stdtime/ (props changed) user/hrs/ipv6/lib/libutil/ (props changed) user/hrs/ipv6/lib/libz/ (props changed) user/hrs/ipv6/sbin/ (props changed) user/hrs/ipv6/sbin/ipfw/ (props changed) user/hrs/ipv6/share/mk/bsd.arch.inc.mk (props changed) user/hrs/ipv6/share/zoneinfo/ (props changed) user/hrs/ipv6/sys/ (props changed) user/hrs/ipv6/sys/amd64/include/xen/ (props changed) user/hrs/ipv6/sys/boot/ (props changed) user/hrs/ipv6/sys/boot/i386/efi/ (props changed) user/hrs/ipv6/sys/boot/ia64/efi/ (props changed) user/hrs/ipv6/sys/boot/ia64/ski/ (props changed) user/hrs/ipv6/sys/boot/powerpc/boot1.chrp/ (props changed) user/hrs/ipv6/sys/boot/powerpc/ofw/ (props changed) user/hrs/ipv6/sys/cddl/contrib/opensolaris/ (props changed) user/hrs/ipv6/sys/conf/ (props changed) user/hrs/ipv6/sys/contrib/dev/acpica/ (props changed) user/hrs/ipv6/sys/contrib/octeon-sdk/ (props changed) user/hrs/ipv6/sys/contrib/pf/ (props changed) user/hrs/ipv6/sys/contrib/x86emu/ (props changed) user/hrs/ipv6/usr.bin/calendar/ (props changed) user/hrs/ipv6/usr.bin/csup/ (props changed) user/hrs/ipv6/usr.bin/procstat/ (props changed) user/hrs/ipv6/usr.sbin/ndiscvt/ (props changed) user/hrs/ipv6/usr.sbin/rtsold/ (props changed) user/hrs/ipv6/usr.sbin/zic/ (props changed) Modified: user/hrs/ipv6/bin/ps/extern.h ============================================================================== --- user/hrs/ipv6/bin/ps/extern.h Thu Jun 16 10:41:59 2011 (r223146) +++ user/hrs/ipv6/bin/ps/extern.h Thu Jun 16 12:24:02 2011 (r223147) @@ -70,6 +70,7 @@ void pmem(KINFO *, VARENT *); void pri(KINFO *, VARENT *); void printheader(void); void priorityr(KINFO *, VARENT *); +void egroupname(KINFO *, VARENT *); void rgroupname(KINFO *, VARENT *); void runame(KINFO *, VARENT *); void rvar(KINFO *, VARENT *); @@ -78,6 +79,7 @@ int s_cputime(KINFO *); int s_label(KINFO *); int s_loginclass(KINFO *); int s_logname(KINFO *); +int s_egroupname(KINFO *); int s_rgroupname(KINFO *); int s_runame(KINFO *); int s_systime(KINFO *); Modified: user/hrs/ipv6/bin/ps/keyword.c ============================================================================== --- user/hrs/ipv6/bin/ps/keyword.c Thu Jun 16 10:41:59 2011 (r223146) +++ user/hrs/ipv6/bin/ps/keyword.c Thu Jun 16 12:24:02 2011 (r223147) @@ -88,12 +88,19 @@ static VAR var[] = { {"cpu", "CPU", NULL, 0, kvar, NULL, 3, KOFF(ki_estcpu), UINT, "d", 0}, {"cputime", "", "time", 0, NULL, NULL, 0, 0, CHAR, NULL, 0}, + {"egid", "", "gid", 0, NULL, NULL, 0, 0, CHAR, NULL, 0}, + {"egroup", "", "group", 0, NULL, NULL, 0, 0, CHAR, NULL, 0}, {"emul", "EMUL", NULL, LJUST, emulname, NULL, EMULLEN, 0, CHAR, NULL, 0}, {"etime", "ELAPSED", NULL, USER, elapsed, NULL, 12, 0, CHAR, NULL, 0}, {"etimes", "ELAPSED", NULL, USER, elapseds, NULL, 12, 0, CHAR, NULL, 0}, + {"euid", "", "uid", 0, NULL, NULL, 0, 0, CHAR, NULL, 0}, {"f", "F", NULL, 0, kvar, NULL, 8, KOFF(ki_flag), INT, "x", 0}, {"flags", "", "f", 0, NULL, NULL, 0, 0, CHAR, NULL, 0}, + {"gid", "GID", NULL, 0, kvar, NULL, UIDLEN, KOFF(ki_groups), + UINT, UIDFMT, 0}, + {"group", "GROUP", NULL, LJUST, egroupname, s_egroupname, + USERLEN, 0, CHAR, NULL, 0}, {"ignored", "", "sigignore", 0, NULL, NULL, 0, 0, CHAR, NULL, 0}, {"inblk", "INBLK", NULL, USER, rvar, NULL, 4, ROFF(ru_inblock), LONG, "ld", 0}, Modified: user/hrs/ipv6/bin/ps/print.c ============================================================================== --- user/hrs/ipv6/bin/ps/print.c Thu Jun 16 10:41:59 2011 (r223146) +++ user/hrs/ipv6/bin/ps/print.c Thu Jun 16 12:24:02 2011 (r223147) @@ -341,6 +341,22 @@ s_uname(KINFO *k) } void +egroupname(KINFO *k, VARENT *ve) +{ + VAR *v; + + v = ve->var; + (void)printf("%-*s", v->width, + group_from_gid(k->ki_p->ki_groups[0], 0)); +} + +int +s_egroupname(KINFO *k) +{ + return (strlen(group_from_gid(k->ki_p->ki_groups[0], 0))); +} + +void rgroupname(KINFO *k, VARENT *ve) { VAR *v; Modified: user/hrs/ipv6/bin/ps/ps.1 ============================================================================== --- user/hrs/ipv6/bin/ps/ps.1 Thu Jun 16 10:41:59 2011 (r223146) +++ user/hrs/ipv6/bin/ps/ps.1 Thu Jun 16 12:24:02 2011 (r223147) @@ -29,7 +29,7 @@ .\" @(#)ps.1 8.3 (Berkeley) 4/18/94 .\" $FreeBSD$ .\" -.Dd April 18, 2011 +.Dd June 14, 2011 .Dt PS 1 .Os .Sh NAME @@ -502,6 +502,12 @@ elapsed running time, in decimal integer .It Cm flags the process flags, in hexadecimal (alias .Cm f ) +.It Cm gid +effective group ID (alias +.Cm egid ) +.It Cm group +group name (from egid) (alias +.Cm egroup ) .It Cm inblk total blocks read (alias .Cm inblock ) @@ -629,7 +635,8 @@ process pointer .It Cm ucomm name to be used for accounting .It Cm uid -effective user ID +effective user ID (alias +.Cm euid ) .It Cm upr scheduling priority on return from system call (alias .Cm usrpri ) Modified: user/hrs/ipv6/bin/sh/alias.c ============================================================================== --- user/hrs/ipv6/bin/sh/alias.c Thu Jun 16 10:41:59 2011 (r223146) +++ user/hrs/ipv6/bin/sh/alias.c Thu Jun 16 12:24:02 2011 (r223147) @@ -46,6 +46,7 @@ __FBSDID("$FreeBSD$"); #include "mystring.h" #include "alias.h" #include "options.h" /* XXX for argptr (should remove?) */ +#include "builtins.h" #define ATABSIZE 39 Modified: user/hrs/ipv6/bin/sh/alias.h ============================================================================== --- user/hrs/ipv6/bin/sh/alias.h Thu Jun 16 10:41:59 2011 (r223146) +++ user/hrs/ipv6/bin/sh/alias.h Thu Jun 16 12:24:02 2011 (r223147) @@ -43,5 +43,3 @@ struct alias { }; struct alias *lookupalias(const char *, int); -int aliascmd(int, char **); -int unaliascmd(int, char **); Modified: user/hrs/ipv6/bin/sh/arith.h ============================================================================== --- user/hrs/ipv6/bin/sh/arith.h Thu Jun 16 10:41:59 2011 (r223146) +++ user/hrs/ipv6/bin/sh/arith.h Thu Jun 16 12:24:02 2011 (r223147) @@ -36,4 +36,3 @@ arith_t arith(const char *); void arith_lex_reset(void); -int expcmd(int, char **); Modified: user/hrs/ipv6/bin/sh/bltin/bltin.h ============================================================================== --- user/hrs/ipv6/bin/sh/bltin/bltin.h Thu Jun 16 10:41:59 2011 (r223146) +++ user/hrs/ipv6/bin/sh/bltin/bltin.h Thu Jun 16 12:24:02 2011 (r223147) @@ -43,6 +43,7 @@ #include "../mystring.h" #ifdef SHELL #include "../output.h" +#include "builtins.h" #define FILE struct output #undef stdout #define stdout out1 @@ -75,7 +76,4 @@ pointer stalloc(int); void error(const char *, ...) __printf0like(1, 2); pid_t getjobpgrp(char *); -int echocmd(int, char **); -int testcmd(int, char **); - extern char *commandname; Modified: user/hrs/ipv6/bin/sh/cd.c ============================================================================== --- user/hrs/ipv6/bin/sh/cd.c Thu Jun 16 10:41:59 2011 (r223146) +++ user/hrs/ipv6/bin/sh/cd.c Thu Jun 16 12:24:02 2011 (r223147) @@ -63,6 +63,7 @@ __FBSDID("$FreeBSD$"); #include "mystring.h" #include "show.h" #include "cd.h" +#include "builtins.h" static int cdlogical(char *); static int cdphysical(char *); Modified: user/hrs/ipv6/bin/sh/cd.h ============================================================================== --- user/hrs/ipv6/bin/sh/cd.h Thu Jun 16 10:41:59 2011 (r223146) +++ user/hrs/ipv6/bin/sh/cd.h Thu Jun 16 12:24:02 2011 (r223147) @@ -30,5 +30,3 @@ */ void pwd_init(int); -int cdcmd (int, char **); -int pwdcmd(int, char **); Modified: user/hrs/ipv6/bin/sh/eval.c ============================================================================== --- user/hrs/ipv6/bin/sh/eval.c Thu Jun 16 10:41:59 2011 (r223146) +++ user/hrs/ipv6/bin/sh/eval.c Thu Jun 16 12:24:02 2011 (r223147) @@ -571,14 +571,8 @@ evalpipe(union node *n) static int is_valid_fast_cmdsubst(union node *n) { - union node *argp; - if (n->type != NCMD) - return 0; - for (argp = n->ncmd.args ; argp ; argp = argp->narg.next) - if (expandhassideeffects(argp->narg.text)) - return 0; - return 1; + return (n->type == NCMD); } /* @@ -596,6 +590,7 @@ evalbackcmd(union node *n, struct backcm struct stackmark smark; /* unnecessary */ struct jmploc jmploc; struct jmploc *savehandler; + struct localvar *savelocalvars; setstackmark(&smark); result->fd = -1; @@ -608,12 +603,18 @@ evalbackcmd(union node *n, struct backcm } if (is_valid_fast_cmdsubst(n)) { exitstatus = oexitstatus; + savelocalvars = localvars; + localvars = NULL; + forcelocal++; savehandler = handler; if (setjmp(jmploc.loc)) { if (exception == EXERROR || exception == EXEXEC) exitstatus = 2; else if (exception != 0) { handler = savehandler; + forcelocal--; + poplocalvars(); + localvars = savelocalvars; longjmp(handler->loc, 1); } } else { @@ -621,6 +622,9 @@ evalbackcmd(union node *n, struct backcm evalcommand(n, EV_BACKCMD, result); } handler = savehandler; + forcelocal--; + poplocalvars(); + localvars = savelocalvars; } else { exitstatus = 0; if (pipe(pip) < 0) Modified: user/hrs/ipv6/bin/sh/eval.h ============================================================================== --- user/hrs/ipv6/bin/sh/eval.h Thu Jun 16 10:41:59 2011 (r223146) +++ user/hrs/ipv6/bin/sh/eval.h Thu Jun 16 12:24:02 2011 (r223147) @@ -51,19 +51,10 @@ struct backcmd { /* result of evalbackc #define EV_TESTED 02 /* exit status is checked; ignore -e flag */ #define EV_BACKCMD 04 /* command executing within back quotes */ -int evalcmd(int, char **); void evalstring(char *, int); union node; /* BLETCH for ansi C */ void evaltree(union node *, int); void evalbackcmd(union node *, struct backcmd *); -int bltincmd(int, char **); -int breakcmd(int, char **); -int returncmd(int, char **); -int falsecmd(int, char **); -int truecmd(int, char **); -int execcmd(int, char **); -int timescmd(int, char **); -int commandcmd(int, char **); /* in_function returns nonzero if we are currently evaluating a function */ #define in_function() funcnest Modified: user/hrs/ipv6/bin/sh/exec.h ============================================================================== --- user/hrs/ipv6/bin/sh/exec.h Thu Jun 16 10:41:59 2011 (r223146) +++ user/hrs/ipv6/bin/sh/exec.h Thu Jun 16 12:24:02 2011 (r223147) @@ -66,7 +66,6 @@ extern int exerrno; /* last exec error void shellexec(char **, char **, const char *, int) __dead2; char *padvance(const char **, const char *); -int hashcmd(int, char **); void find_command(const char *, struct cmdentry *, int, const char *); int find_builtin(const char *, int *); void hashcd(void); @@ -75,5 +74,4 @@ void addcmdentry(const char *, struct cm void defun(const char *, union node *); int unsetfunc(const char *); int typecmd_impl(int, char **, int, const char *); -int typecmd(int, char **); void clearcmdentry(void); Modified: user/hrs/ipv6/bin/sh/expand.c ============================================================================== --- user/hrs/ipv6/bin/sh/expand.c Thu Jun 16 10:41:59 2011 (r223146) +++ user/hrs/ipv6/bin/sh/expand.c Thu Jun 16 12:24:02 2011 (r223147) @@ -53,6 +53,7 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include /* * Routines to expand arguments to commands. We have to deal with @@ -76,6 +77,7 @@ __FBSDID("$FreeBSD$"); #include "mystring.h" #include "arith.h" #include "show.h" +#include "builtins.h" /* * Structure specifying which parts of the string should be searched @@ -1400,13 +1402,43 @@ get_wc(const char **p) /* + * See if a character matches a character class, starting at the first colon + * of "[:class:]". + * If a valid character class is recognized, a pointer to the next character + * after the final closing bracket is stored into *end, otherwise a null + * pointer is stored into *end. + */ +static int +match_charclass(const char *p, wchar_t chr, const char **end) +{ + char name[20]; + const char *nameend; + wctype_t cclass; + + *end = NULL; + p++; + nameend = strstr(p, ":]"); + if (nameend == NULL || nameend - p >= sizeof(name) || nameend == p) + return 0; + memcpy(name, p, nameend - p); + name[nameend - p] = '\0'; + *end = nameend + 2; + cclass = wctype(name); + /* An unknown class matches nothing but is valid nevertheless. */ + if (cclass == 0) + return 0; + return iswctype(chr, cclass); +} + + +/* * Returns true if the pattern matches the string. */ int patmatch(const char *pattern, const char *string, int squoted) { - const char *p, *q; + const char *p, *q, *end; char c; wchar_t wc, wc2; @@ -1430,7 +1462,7 @@ patmatch(const char *pattern, const char if (localeisutf8) wc = get_wc(&q); else - wc = *q++; + wc = (unsigned char)*q++; if (wc == '\0') return 0; break; @@ -1487,13 +1519,18 @@ patmatch(const char *pattern, const char if (localeisutf8) chr = get_wc(&q); else - chr = *q++; + chr = (unsigned char)*q++; if (chr == '\0') return 0; c = *p++; do { if (c == CTLQUOTEMARK) continue; + if (c == '[' && *p == ':') { + found |= match_charclass(p, chr, &end); + if (end != NULL) + p = end; + } if (c == CTLESC) c = *p++; if (localeisutf8 && c & 0x80) { @@ -1502,7 +1539,7 @@ patmatch(const char *pattern, const char if (wc == 0) /* bad utf-8 */ return 0; } else - wc = c; + wc = (unsigned char)c; if (*p == '-' && p[1] != ']') { p++; while (*p == CTLQUOTEMARK) @@ -1514,7 +1551,7 @@ patmatch(const char *pattern, const char if (wc2 == 0) /* bad utf-8 */ return 0; } else - wc2 = *p++; + wc2 = (unsigned char)*p++; if ( collate_range_cmp(chr, wc) >= 0 && collate_range_cmp(chr, wc2) <= 0 ) @@ -1621,78 +1658,6 @@ cvtnum(int num, char *buf) } /* - * Check statically if expanding a string may have side effects. - */ -int -expandhassideeffects(const char *p) -{ - int c; - int arinest; - - arinest = 0; - while ((c = *p++) != '\0') { - switch (c) { - case CTLESC: - p++; - break; - case CTLVAR: - c = *p++; - /* Expanding $! sets the job to remembered. */ - if (*p == '!') - return 1; - if ((c & VSTYPE) == VSASSIGN) - return 1; - /* - * If we are in arithmetic, the parameter may contain - * '=' which may cause side effects. Exceptions are - * the length of a parameter and $$, $# and $? which - * are always numeric. - */ - if ((c & VSTYPE) == VSLENGTH) { - while (*p != '=') - p++; - p++; - break; - } - if ((*p == '$' || *p == '#' || *p == '?') && - p[1] == '=') { - p += 2; - break; - } - if (arinest > 0) - return 1; - break; - case CTLBACKQ: - case CTLBACKQ | CTLQUOTE: - if (arinest > 0) - return 1; - break; - case CTLARI: - arinest++; - break; - case CTLENDARI: - arinest--; - break; - case '=': - if (*p == '=') { - /* Allow '==' operator. */ - p++; - continue; - } - if (arinest > 0) - return 1; - break; - case '!': case '<': case '>': - /* Allow '!=', '<=', '>=' operators. */ - if (*p == '=') - p++; - break; - } - } - return 0; -} - -/* * Do most of the work for wordexp(3). */ Modified: user/hrs/ipv6/bin/sh/expand.h ============================================================================== --- user/hrs/ipv6/bin/sh/expand.h Thu Jun 16 10:41:59 2011 (r223146) +++ user/hrs/ipv6/bin/sh/expand.h Thu Jun 16 12:24:02 2011 (r223147) @@ -63,5 +63,3 @@ void expari(int); int patmatch(const char *, const char *, int); void rmescapes(char *); int casematch(union node *, const char *); -int expandhassideeffects(const char *); -int wordexpcmd(int, char **); Modified: user/hrs/ipv6/bin/sh/histedit.c ============================================================================== --- user/hrs/ipv6/bin/sh/histedit.c Thu Jun 16 10:41:59 2011 (r223146) +++ user/hrs/ipv6/bin/sh/histedit.c Thu Jun 16 12:24:02 2011 (r223147) @@ -59,6 +59,7 @@ __FBSDID("$FreeBSD$"); #include "error.h" #include "eval.h" #include "memalloc.h" +#include "builtins.h" #define MAXHISTLOOPS 4 /* max recursions through fc */ #define DEFEDITOR "ed" /* default editor *should* be $EDITOR */ Modified: user/hrs/ipv6/bin/sh/jobs.c ============================================================================== --- user/hrs/ipv6/bin/sh/jobs.c Thu Jun 16 10:41:59 2011 (r223146) +++ user/hrs/ipv6/bin/sh/jobs.c Thu Jun 16 12:24:02 2011 (r223147) @@ -70,6 +70,8 @@ __FBSDID("$FreeBSD$"); #include "memalloc.h" #include "error.h" #include "mystring.h" +#include "var.h" +#include "builtins.h" static struct job *jobtab; /* array of jobs */ @@ -798,6 +800,7 @@ forkshell(struct job *jp, union node *n, handler = &main_handler; closescript(); INTON; + forcelocal = 0; clear_traps(); #if JOBS jobctl = 0; /* do job control only in root shell */ @@ -1121,7 +1124,7 @@ backgndpidset(void) pid_t backgndpidval(void) { - if (bgjob != NULL) + if (bgjob != NULL && !forcelocal) bgjob->remembered = 1; return backgndpid; } Modified: user/hrs/ipv6/bin/sh/jobs.h ============================================================================== --- user/hrs/ipv6/bin/sh/jobs.h Thu Jun 16 10:41:59 2011 (r223146) +++ user/hrs/ipv6/bin/sh/jobs.h Thu Jun 16 12:24:02 2011 (r223147) @@ -88,12 +88,7 @@ extern int in_dowait; /* are we in dowa extern volatile sig_atomic_t breakwaitcmd; /* break wait to process traps? */ void setjobctl(int); -int fgcmd(int, char **); -int bgcmd(int, char **); -int jobscmd(int, char **); void showjobs(int, int); -int waitcmd(int, char **); -int jobidcmd(int, char **); struct job *makejob(union node *, int); pid_t forkshell(struct job *, union node *, int); int waitforjob(struct job *, int *); Modified: user/hrs/ipv6/bin/sh/main.c ============================================================================== --- user/hrs/ipv6/bin/sh/main.c Thu Jun 16 10:41:59 2011 (r223146) +++ user/hrs/ipv6/bin/sh/main.c Thu Jun 16 12:24:02 2011 (r223147) @@ -72,6 +72,7 @@ __FBSDID("$FreeBSD$"); #include "mystring.h" #include "exec.h" #include "cd.h" +#include "builtins.h" int rootpid; int rootshell; @@ -150,7 +151,7 @@ main(int argc, char *argv[]) state1: state = 2; if (privileged == 0) - read_profile(".profile"); + read_profile("${HOME-}/.profile"); else read_profile("/etc/suid_profile"); } Modified: user/hrs/ipv6/bin/sh/main.h ============================================================================== --- user/hrs/ipv6/bin/sh/main.h Thu Jun 16 10:41:59 2011 (r223146) +++ user/hrs/ipv6/bin/sh/main.h Thu Jun 16 12:24:02 2011 (r223147) @@ -39,5 +39,3 @@ extern struct jmploc main_handler; /* to void readcmdfile(const char *); void cmdloop(int); -int dotcmd(int, char **); -int exitcmd(int, char **); Modified: user/hrs/ipv6/bin/sh/mkbuiltins ============================================================================== --- user/hrs/ipv6/bin/sh/mkbuiltins Thu Jun 16 10:41:59 2011 (r223146) +++ user/hrs/ipv6/bin/sh/mkbuiltins Thu Jun 16 12:24:02 2011 (r223147) @@ -58,9 +58,7 @@ cat <<\! ! awk '/^[^#]/ {if(('$havejobs' || $2 != "-j") && ('$havehist' || $2 != "-h")) \ print $0}' builtins.def | sed 's/-[hj]//' > $temp -awk '{ printf "int %s(int, char **);\n", $1}' $temp -echo ' -int (*const builtinfunc[])(int, char **) = {' +echo 'int (*const builtinfunc[])(int, char **) = {' awk '/^[^#]/ { printf "\t%s,\n", $1}' $temp echo '}; @@ -94,5 +92,7 @@ struct builtincmd { }; extern int (*const builtinfunc[])(int, char **); -extern const struct builtincmd builtincmd[];' +extern const struct builtincmd builtincmd[]; +' +awk '{ printf "int %s(int, char **);\n", $1}' $temp rm -f $temp Modified: user/hrs/ipv6/bin/sh/myhistedit.h ============================================================================== --- user/hrs/ipv6/bin/sh/myhistedit.h Thu Jun 16 10:41:59 2011 (r223146) +++ user/hrs/ipv6/bin/sh/myhistedit.h Thu Jun 16 12:24:02 2011 (r223147) @@ -39,8 +39,6 @@ extern int displayhist; void histedit(void); void sethistsize(const char *); void setterm(const char *); -int histcmd(int, char **); int not_fcnumber(const char *); int str_to_event(const char *, int); -int bindcmd(int, char **); Modified: user/hrs/ipv6/bin/sh/options.c ============================================================================== --- user/hrs/ipv6/bin/sh/options.c Thu Jun 16 10:41:59 2011 (r223146) +++ user/hrs/ipv6/bin/sh/options.c Thu Jun 16 12:24:02 2011 (r223147) @@ -56,6 +56,7 @@ __FBSDID("$FreeBSD$"); #include "memalloc.h" #include "error.h" #include "mystring.h" +#include "builtins.h" #ifndef NO_HISTORY #include "myhistedit.h" #endif Modified: user/hrs/ipv6/bin/sh/options.h ============================================================================== --- user/hrs/ipv6/bin/sh/options.h Thu Jun 16 10:41:59 2011 (r223146) +++ user/hrs/ipv6/bin/sh/options.h Thu Jun 16 12:24:02 2011 (r223147) @@ -108,8 +108,5 @@ void procargs(int, char **); void optschanged(void); void setparam(char **); void freeparam(struct shparam *); -int shiftcmd(int, char **); -int setcmd(int, char **); -int getoptscmd(int, char **); int nextopt(const char *); void getoptsreset(const char *); Modified: user/hrs/ipv6/bin/sh/sh.1 ============================================================================== --- user/hrs/ipv6/bin/sh/sh.1 Thu Jun 16 10:41:59 2011 (r223146) +++ user/hrs/ipv6/bin/sh/sh.1 Thu Jun 16 12:24:02 2011 (r223147) @@ -32,7 +32,7 @@ .\" from: @(#)sh.1 8.6 (Berkeley) 5/4/95 .\" $FreeBSD$ .\" -.Dd June 10, 2011 +.Dd June 15, 2011 .Dt SH 1 .Os .Sh NAME @@ -1536,10 +1536,7 @@ except that the built-in commands and .Ic trap return information about the main shell environment -if they are the only command in a command substitution -and the substitutions in the command cannot cause side effects -(such as from assigning values to variables or referencing -.Li $! ). +if they are the only command in a command substitution. .Ss Arithmetic Expansion Arithmetic expansion provides a mechanism for evaluating an arithmetic expression and substituting its value. @@ -1651,6 +1648,15 @@ matches a rather than introducing a character class. A character class matches any of the characters between the square brackets. A range of characters may be specified using a minus sign. +A named class of characters (see +.Xr wctype 3 ) +may be specified by surrounding the name with +.Ql \&[: +and +.Ql :\&] . +For example, +.Ql \&[\&[:alpha:\&]\&] +is a shell pattern that matches a single letter. The character class may be complemented by making an exclamation point .Pq Ql !\& the first character of the character class. @@ -2575,6 +2581,7 @@ will return the argument. .Xr execve 2 , .Xr getrlimit 2 , .Xr umask 2 , +.Xr wctype 3 , .Xr editrc 5 .Sh HISTORY A Modified: user/hrs/ipv6/bin/sh/trap.c ============================================================================== --- user/hrs/ipv6/bin/sh/trap.c Thu Jun 16 10:41:59 2011 (r223146) +++ user/hrs/ipv6/bin/sh/trap.c Thu Jun 16 12:24:02 2011 (r223147) @@ -55,6 +55,7 @@ __FBSDID("$FreeBSD$"); #include "error.h" #include "trap.h" #include "mystring.h" +#include "builtins.h" #include "myhistedit.h" Modified: user/hrs/ipv6/bin/sh/trap.h ============================================================================== --- user/hrs/ipv6/bin/sh/trap.h Thu Jun 16 10:41:59 2011 (r223146) +++ user/hrs/ipv6/bin/sh/trap.h Thu Jun 16 12:24:02 2011 (r223147) @@ -37,7 +37,6 @@ extern int pendingsigs; extern int in_dotrap; extern volatile sig_atomic_t gotwinch; -int trapcmd(int, char **); void clear_traps(void); int have_traps(void); void setsignal(int); Modified: user/hrs/ipv6/bin/sh/var.c ============================================================================== --- user/hrs/ipv6/bin/sh/var.c Thu Jun 16 10:41:59 2011 (r223146) +++ user/hrs/ipv6/bin/sh/var.c Thu Jun 16 12:24:02 2011 (r223147) @@ -63,6 +63,7 @@ __FBSDID("$FreeBSD$"); #include "error.h" #include "mystring.h" #include "parser.h" +#include "builtins.h" #ifndef NO_HISTORY #include "myhistedit.h" #endif @@ -94,6 +95,8 @@ struct var vps4; struct var vvers; static struct var voptind; +int forcelocal; + static const struct varinit varinit[] = { #ifndef NO_HISTORY { &vhistsize, VUNSET, "HISTSIZE=", @@ -325,6 +328,8 @@ setvareq(char *s, int flags) if (aflag) flags |= VEXPORT; + if (forcelocal && !(flags & (VNOSET | VNOLOCAL))) + mklocal(s); vp = find_var(s, &vpp, &nlen); if (vp != NULL) { if (vp->flags & VREADONLY) @@ -740,9 +745,9 @@ mklocal(char *name) vp = find_var(name, &vpp, NULL); if (vp == NULL) { if (strchr(name, '=')) - setvareq(savestr(name), VSTRFIXED); + setvareq(savestr(name), VSTRFIXED | VNOLOCAL); else - setvar(name, NULL, VSTRFIXED); + setvar(name, NULL, VSTRFIXED | VNOLOCAL); vp = *vpp; /* the new variable */ lvp->text = NULL; lvp->flags = VUNSET; @@ -751,7 +756,7 @@ mklocal(char *name) lvp->flags = vp->flags; vp->flags |= VSTRFIXED|VTEXTFIXED; if (name[vp->name_len] == '=') - setvareq(savestr(name), 0); + setvareq(savestr(name), VNOLOCAL); } } lvp->vp = vp; Modified: user/hrs/ipv6/bin/sh/var.h ============================================================================== --- user/hrs/ipv6/bin/sh/var.h Thu Jun 16 10:41:59 2011 (r223146) +++ user/hrs/ipv6/bin/sh/var.h Thu Jun 16 12:24:02 2011 (r223147) @@ -46,6 +46,7 @@ #define VUNSET 0x20 /* the variable is not set */ #define VNOFUNC 0x40 /* don't call the callback function */ #define VNOSET 0x80 /* do not set variable - just readonly test */ +#define VNOLOCAL 0x100 /* ignore forcelocal */ struct var { @@ -68,6 +69,7 @@ struct localvar { struct localvar *localvars; +extern int forcelocal; extern struct var vifs; extern struct var vmail; @@ -121,11 +123,7 @@ void updatecharset(void); void initcharset(void); char **environment(void); int showvarscmd(int, char **); -int exportcmd(int, char **); -int localcmd(int, char **); void mklocal(char *); void poplocalvars(void); -int setvarcmd(int, char **); -int unsetcmd(int, char **); int unsetvar(const char *); int setvarsafe(const char *, const char *, int); Modified: user/hrs/ipv6/contrib/gdb/gdb/ppcfbsd-tdep.c ============================================================================== --- user/hrs/ipv6/contrib/gdb/gdb/ppcfbsd-tdep.c Thu Jun 16 10:41:59 2011 (r223146) +++ user/hrs/ipv6/contrib/gdb/gdb/ppcfbsd-tdep.c Thu Jun 16 12:24:02 2011 (r223147) @@ -27,7 +27,9 @@ #include "target.h" #include "breakpoint.h" #include "value.h" +#include "gdb_string.h" #include "osabi.h" +#include "regset.h" #include "ppc-tdep.h" #include "ppcfbsd-tdep.h" @@ -80,6 +82,17 @@ ppcfbsd_supply_reg (char *regs, int regn regcache_raw_supply (current_regcache, PC_REGNUM, regs + REG_PC_OFFSET); } +static void +ppcfbsd_supply_gregset (const struct regset *regset, + struct regcache *regcache, + int regnum, void *gregs, size_t size) +{ + ppcfbsd_supply_reg (gregs, -1); +} + +static struct regset ppcfbsd_gregset = { + NULL, (void*)ppcfbsd_supply_gregset +}; void ppcfbsd_fill_reg (char *regs, int regno) @@ -144,6 +157,20 @@ ppcfbsd_supply_fpreg (char *fpregs, int fpregs + FPREG_FPSCR_OFFSET); } +static void +ppcfbsd_supply_fpregset (const struct regset *regset, + struct regcache * regcache, + int regnum, void *fpset, size_t size) +{ + ppcfbsd_supply_fpreg (fpset, -1); +} + + +static struct regset ppcfbsd_fpregset = +{ + NULL, (void*)ppcfbsd_supply_fpregset +}; + void ppcfbsd_fill_fpreg (char *fpregs, int regno) { @@ -174,69 +201,285 @@ ppcfbsd_fill_fpreg (char *fpregs, int re fpregs + FPREG_FPSCR_OFFSET); } -static void -fetch_core_registers (char *core_reg_sect, unsigned core_reg_size, int which, - CORE_ADDR ignore) +/* Return the appropriate register set for the core section identified + by SECT_NAME and SECT_SIZE. */ + +const struct regset * +ppcfbsd_regset_from_core_section (struct gdbarch *gdbarch, + const char *sect_name, size_t sect_size) { - char *regs, *fpregs; + struct gdbarch_tdep *tdep = gdbarch_tdep (gdbarch); + + if (strcmp (sect_name, ".reg") == 0 && sect_size >= SIZEOF_STRUCT_REG) + return &ppcfbsd_gregset; + + if (strcmp (sect_name, ".reg2") == 0 && sect_size >= SIZEOF_STRUCT_FPREG) + return &ppcfbsd_fpregset; - /* We get everything from one section. */ - if (which != 0) - return; + return NULL; +} - regs = core_reg_sect; - fpregs = core_reg_sect + SIZEOF_STRUCT_REG; - /* Integer registers. */ - ppcfbsd_supply_reg (regs, -1); +/* Macros for matching instructions. Note that, since all the + operands are masked off before they're or-ed into the instruction, + you can use -1 to make masks. */ + +#define insn_d(opcd, rts, ra, d) \ + ((((opcd) & 0x3f) << 26) \ + | (((rts) & 0x1f) << 21) \ + | (((ra) & 0x1f) << 16) \ + | ((d) & 0xffff)) + +#define insn_ds(opcd, rts, ra, d, xo) \ + ((((opcd) & 0x3f) << 26) \ + | (((rts) & 0x1f) << 21) \ + | (((ra) & 0x1f) << 16) \ + | ((d) & 0xfffc) \ + | ((xo) & 0x3)) + +#define insn_xfx(opcd, rts, spr, xo) \ + ((((opcd) & 0x3f) << 26) \ + | (((rts) & 0x1f) << 21) \ + | (((spr) & 0x1f) << 16) \ + | (((spr) & 0x3e0) << 6) \ + | (((xo) & 0x3ff) << 1)) + +/* Read a PPC instruction from memory. PPC instructions are always + big-endian, no matter what endianness the program is running in, so + we can't use read_memory_integer or one of its friends here. */ +static unsigned int +read_insn (CORE_ADDR pc) +{ + unsigned char buf[4]; - /* Floating point registers. */ - ppcfbsd_supply_fpreg (fpregs, -1); + read_memory (pc, buf, 4); + return (buf[0] << 24) | (buf[1] << 16) | (buf[2] << 8) | buf[3]; } -static void -fetch_elfcore_registers (char *core_reg_sect, unsigned core_reg_size, int which, - CORE_ADDR ignore) + +/* An instruction to match. */ +struct insn_pattern { - switch (which) + unsigned int mask; /* mask the insn with this... */ + unsigned int data; /* ...and see if it matches this. */ + int optional; /* If non-zero, this insn may be absent. */ +}; + +/* Return non-zero if the instructions at PC match the series + described in PATTERN, or zero otherwise. PATTERN is an array of + 'struct insn_pattern' objects, terminated by an entry whose mask is + zero. + + When the match is successful, fill INSN[i] with what PATTERN[i] + matched. If PATTERN[i] is optional, and the instruction wasn't + present, set INSN[i] to 0 (which is not a valid PPC instruction). + INSN should have as many elements as PATTERN. Note that, if + PATTERN contains optional instructions which aren't present in + memory, then INSN will have holes, so INSN[i] isn't necessarily the + i'th instruction in memory. */ +static int +insns_match_pattern (CORE_ADDR pc, + struct insn_pattern *pattern, + unsigned int *insn) +{ + int i; + + for (i = 0; pattern[i].mask; i++) { - case 0: /* Integer registers. */ - if (core_reg_size != SIZEOF_STRUCT_REG) - warning (_("Wrong size register set in core file.")); + insn[i] = read_insn (pc); + if ((insn[i] & pattern[i].mask) == pattern[i].data) + pc += 4; + else if (pattern[i].optional) + insn[i] = 0; else - ppcfbsd_supply_reg (core_reg_sect, -1); - break; + return 0; + } - case 2: /* Floating point registers. */ - if (core_reg_size != SIZEOF_STRUCT_FPREG) - warning (_("Wrong size FP register set in core file.")); - else - ppcfbsd_supply_fpreg (core_reg_sect, -1); - break; + return 1; +} - default: - /* Don't know what kind of register request this is; just ignore it. */ - break; - } + +/* Return the 'd' field of the d-form instruction INSN, properly + sign-extended. */ +static CORE_ADDR +insn_d_field (unsigned int insn) +{ + return ((((CORE_ADDR) insn & 0xffff) ^ 0x8000) - 0x8000); } -static struct core_fns ppcfbsd_core_fns = + +/* Return the 'ds' field of the ds-form instruction INSN, with the two + zero bits concatenated at the right, and properly + sign-extended. */ +static CORE_ADDR +insn_ds_field (unsigned int insn) { - bfd_target_unknown_flavour, /* core_flavour */ - default_check_format, /* check_format */ - default_core_sniffer, /* core_sniffer */ - fetch_core_registers, /* core_read_registers */ - NULL /* next */ -}; + return ((((CORE_ADDR) insn & 0xfffc) ^ 0x8000) - 0x8000); +} + -static struct core_fns ppcfbsd_elfcore_fns = +/* If DESC is the address of a 64-bit PowerPC FreeBSD function + descriptor, return the descriptor's entry point. */ +static CORE_ADDR +ppc64_desc_entry_point (CORE_ADDR desc) { - bfd_target_elf_flavour, /* core_flavour */ - default_check_format, /* check_format */ - default_core_sniffer, /* core_sniffer */ - fetch_elfcore_registers, /* core_read_registers */ - NULL /* next */ -}; + /* The first word of the descriptor is the entry point. */ + return (CORE_ADDR) read_memory_unsigned_integer (desc, 8); +} + + +/* Pattern for the standard linkage function. These are built by + build_plt_stub in elf64-ppc.c, whose GLINK argument is always + zero. */ +static struct insn_pattern ppc64_standard_linkage[] = + { + /* addis r12, r2, */ + { insn_d (-1, -1, -1, 0), insn_d (15, 12, 2, 0), 0 }, + + /* std r2, 40(r1) */ + { -1, insn_ds (62, 2, 1, 40, 0), 0 }, + + /* ld r11, (r12) */ + { insn_ds (-1, -1, -1, 0, -1), insn_ds (58, 11, 12, 0, 0), 0 }, + + /* addis r12, r12, 1 */ + { insn_d (-1, -1, -1, -1), insn_d (15, 12, 2, 1), 1 }, + + /* ld r2, (r12) */ + { insn_ds (-1, -1, -1, 0, -1), insn_ds (58, 2, 12, 0, 0), 0 }, + + /* addis r12, r12, 1 */ + { insn_d (-1, -1, -1, -1), insn_d (15, 12, 2, 1), 1 }, + + /* mtctr r11 */ + { insn_xfx (-1, -1, -1, -1), insn_xfx (31, 11, 9, 467), + 0 }, + + /* ld r11, (r12) */ + { insn_ds (-1, -1, -1, 0, -1), insn_ds (58, 11, 12, 0, 0), 0 }, + + /* bctr */ + { -1, 0x4e800420, 0 }, + + { 0, 0, 0 } + }; +#define PPC64_STANDARD_LINKAGE_LEN \ + (sizeof (ppc64_standard_linkage) / sizeof (ppc64_standard_linkage[0])) + +/* When the dynamic linker is doing lazy symbol resolution, the first + call to a function in another object will go like this: + + - The user's function calls the linkage function: *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-user@FreeBSD.ORG Thu Jun 16 12:41:37 2011 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 8F276106564A; Thu, 16 Jun 2011 12:41:37 +0000 (UTC) (envelope-from hrs@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 7E67B8FC12; Thu, 16 Jun 2011 12:41:37 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p5GCfbKn029713; Thu, 16 Jun 2011 12:41:37 GMT (envelope-from hrs@svn.freebsd.org) Received: (from hrs@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id p5GCfbAr029707; Thu, 16 Jun 2011 12:41:37 GMT (envelope-from hrs@svn.freebsd.org) Message-Id: <201106161241.p5GCfbAr029707@svn.freebsd.org> From: Hiroki Sato Date: Thu, 16 Jun 2011 12:41:37 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r223149 - user/hrs/ipv6/usr.sbin/rtsold X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 16 Jun 2011 12:41:37 -0000 Author: hrs Date: Thu Jun 16 12:41:37 2011 New Revision: 223149 URL: http://svn.freebsd.org/changeset/base/223149 Log: - Add ":origin" label to the interface id for resolvconf(8). - Add -u option to enable adding :[RA-source-address] to the interface id. - s/INET6_ADDRSTRLEN/sizeof(ntopbuf)/ - Fix a bug that can prevent -D from being overridden by -d. - /-P pidfile/-p pidfile/ for consistency with rtadvd(8). - Fix WARNS. Discussed with: ume Modified: user/hrs/ipv6/usr.sbin/rtsold/Makefile user/hrs/ipv6/usr.sbin/rtsold/rtsol.c user/hrs/ipv6/usr.sbin/rtsold/rtsold.8 user/hrs/ipv6/usr.sbin/rtsold/rtsold.c user/hrs/ipv6/usr.sbin/rtsold/rtsold.h Modified: user/hrs/ipv6/usr.sbin/rtsold/Makefile ============================================================================== --- user/hrs/ipv6/usr.sbin/rtsold/Makefile Thu Jun 16 12:28:37 2011 (r223148) +++ user/hrs/ipv6/usr.sbin/rtsold/Makefile Thu Jun 16 12:41:37 2011 (r223149) @@ -19,7 +19,7 @@ MAN= rtsold.8 MLINKS= rtsold.8 rtsol.8 SRCS= rtsold.c rtsol.c if.c probe.c dump.c rtsock.c -WARNS?= 6 +WARNS?= 3 CFLAGS+= -DHAVE_ARC4RANDOM -DHAVE_POLL_H DPADD= ${LIBKVM} LDADD= -lkvm Modified: user/hrs/ipv6/usr.sbin/rtsold/rtsol.c ============================================================================== --- user/hrs/ipv6/usr.sbin/rtsold/rtsol.c Thu Jun 16 12:28:37 2011 (r223148) +++ user/hrs/ipv6/usr.sbin/rtsold/rtsol.c Thu Jun 16 12:41:37 2011 (r223149) @@ -73,6 +73,7 @@ static struct sockaddr_in6 from; static int rcvcmsglen; int rssock; +static char rsid[IFNAMSIZ + 1 + sizeof(DNSINFO_ORIGIN_LABEL) + 1 + NI_MAXHOST]; struct ifinfo_head_t ifinfo_head = TAILQ_HEAD_INITIALIZER(ifinfo_head); @@ -82,14 +83,18 @@ static const struct sockaddr_in6 sin6_al .sin6_addr = IN6ADDR_LINKLOCAL_ALLROUTERS_INIT, }; -static void call_script(const int, const char *const *, void *); +static void call_script(const int, const char *const *, + struct script_msg_head_t *); static size_t dname_labeldec(char *, size_t, const char *); static int safefile(const char *); static struct ra_opt *find_raopt(struct rainfo *, int, void *, size_t); +static int ra_opt_rdnss_dispatch(struct ifinfo *, struct rainfo *, + struct script_msg_head_t *, struct script_msg_head_t *); +static char *make_rsid(const char *, const char *, struct rainfo *); #define _ARGS_OTHER otherconf_script, ifi->ifname -#define _ARGS_RESADD resolvconf_script, "-a", ifi->ifname -#define _ARGS_RESDEL resolvconf_script, "-d", ifi->ifname +#define _ARGS_RESADD resolvconf_script, "-a", rsid +#define _ARGS_RESDEL resolvconf_script, "-d", rsid #define CALL_SCRIPT(name, sm_head) \ do { \ @@ -306,7 +311,7 @@ rtsol_input(int s) warnmsg(LOG_ERR, __func__, "invalid icmp type(%d) from %s on %s", icp->icmp6_type, inet_ntop(AF_INET6, &from.sin6_addr, ntopbuf, - INET6_ADDRSTRLEN), + sizeof(ntopbuf)), if_indextoname(pi->ipi6_ifindex, ifnamebuf)); return; } @@ -315,7 +320,7 @@ rtsol_input(int s) warnmsg(LOG_INFO, __func__, "invalid icmp code(%d) from %s on %s", icp->icmp6_code, inet_ntop(AF_INET6, &from.sin6_addr, ntopbuf, - INET6_ADDRSTRLEN), + sizeof(ntopbuf)), if_indextoname(pi->ipi6_ifindex, ifnamebuf)); return; } @@ -325,7 +330,7 @@ rtsol_input(int s) "invalid RA with hop limit(%d) from %s on %s", *hlimp, inet_ntop(AF_INET6, &from.sin6_addr, ntopbuf, - INET6_ADDRSTRLEN), + sizeof(ntopbuf)), if_indextoname(pi->ipi6_ifindex, ifnamebuf)); return; } @@ -334,7 +339,7 @@ rtsol_input(int s) warnmsg(LOG_INFO, __func__, "invalid RA with non link-local source from %s on %s", inet_ntop(AF_INET6, &from.sin6_addr, ntopbuf, - INET6_ADDRSTRLEN), + sizeof(ntopbuf)), if_indextoname(pi->ipi6_ifindex, ifnamebuf)); return; } @@ -345,14 +350,14 @@ rtsol_input(int s) warnmsg(LOG_INFO, __func__, "received RA from %s on an unexpected IF(%s)", inet_ntop(AF_INET6, &from.sin6_addr, ntopbuf, - INET6_ADDRSTRLEN), + sizeof(ntopbuf)), if_indextoname(pi->ipi6_ifindex, ifnamebuf)); return; } warnmsg(LOG_DEBUG, __func__, "received RA from %s on %s, state is %d", - inet_ntop(AF_INET6, &from.sin6_addr, ntopbuf, INET6_ADDRSTRLEN), + inet_ntop(AF_INET6, &from.sin6_addr, ntopbuf, sizeof(ntopbuf)), ifi->ifname, ifi->state); nd_ra = (struct nd_router_advert *)icp; @@ -378,6 +383,8 @@ rtsol_input(int s) ELM_MALLOC(rai, exit(1)); rai->rai_ifinfo = ifi; TAILQ_INIT(&rai->rai_ra_opt); + rai->rai_saddr.sin6_family = AF_INET6; + rai->rai_saddr.sin6_len = sizeof(rai->rai_saddr); memcpy(&rai->rai_saddr.sin6_addr, &from.sin6_addr, sizeof(rai->rai_saddr.sin6_addr)); newent_rai = 1; @@ -406,19 +413,19 @@ rtsol_input(int s) "too short RDNSS option" "in RA from %s was ignored.", inet_ntop(AF_INET6, &from.sin6_addr, - ntopbuf, INET6_ADDRSTRLEN)); + ntopbuf, sizeof(ntopbuf))); break; } addr = (struct in6_addr *)(raoptp + sizeof(*rdnss)); while ((char *)addr < (char *)RA_OPT_NEXT_HDR(raoptp)) { if (inet_ntop(AF_INET6, addr, ntopbuf, - INET6_ADDRSTRLEN) == NULL) { + sizeof(ntopbuf)) == NULL) { warnmsg(LOG_INFO, __func__, "an invalid address in RDNSS option" " in RA from %s was ignored.", inet_ntop(AF_INET6, &from.sin6_addr, - ntopbuf, INET6_ADDRSTRLEN)); + ntopbuf, sizeof(ntopbuf))); addr++; continue; } @@ -482,7 +489,7 @@ rtsol_input(int s) "too short DNSSL option" "in RA from %s was ignored.", inet_ntop(AF_INET6, &from.sin6_addr, - ntopbuf, INET6_ADDRSTRLEN)); + ntopbuf, sizeof(ntopbuf))); break; } @@ -568,10 +575,11 @@ ra_opt_handler(struct ifinfo *ifi) struct rainfo *rai; struct script_msg *smp1, *smp2, *smp3; struct timeval now; - TAILQ_HEAD(, script_msg) sm_rdnss_head = - TAILQ_HEAD_INITIALIZER(sm_rdnss_head); - TAILQ_HEAD(, script_msg) sm_dnssl_head = - TAILQ_HEAD_INITIALIZER(sm_dnssl_head); + struct script_msg_head_t sm_rdnss_head = + TAILQ_HEAD_INITIALIZER(sm_rdnss_head); + struct script_msg_head_t sm_dnssl_head = + TAILQ_HEAD_INITIALIZER(sm_dnssl_head); + int dcount, dlen; dcount = 0; @@ -658,17 +666,69 @@ free2: free1: free(smp1); } + /* Call the script for each information source. */ + if (uflag) + ra_opt_rdnss_dispatch(ifi, rai, &sm_rdnss_head, + &sm_dnssl_head); + } + /* Call the script for each interface. */ + if (!uflag) + ra_opt_rdnss_dispatch(ifi, NULL, &sm_rdnss_head, + &sm_dnssl_head); + return (0); +} + +char * +make_rsid(const char *ifname, const char *origin, struct rainfo *rai) +{ + char hbuf[NI_MAXHOST]; + + if (rai == NULL) + sprintf(rsid, "%s:%s", ifname, origin); + else { + if (!IN6_IS_ADDR_LINKLOCAL(&rai->rai_saddr.sin6_addr)) + return (NULL); + if (getnameinfo((struct sockaddr *)&rai->rai_saddr, + rai->rai_saddr.sin6_len, hbuf, sizeof(hbuf), NULL, 0, + NI_NUMERICHOST) != 0) + return (NULL); + sprintf(rsid, "%s:%s:[%s]", ifname, origin, hbuf); } + warnmsg(LOG_DEBUG, __func__, "rsid = [%s]", rsid); + return (rsid); +} + +int +ra_opt_rdnss_dispatch(struct ifinfo *ifi, + struct rainfo *rai, + struct script_msg_head_t *sm_rdnss_head, + struct script_msg_head_t *sm_dnssl_head) +{ + const char *r; + struct script_msg *smp1; + int error; + + error = 0; /* Add \n for DNSSL list. */ - if (!TAILQ_EMPTY(&sm_dnssl_head)) { - ELM_MALLOC(smp1, goto ra_opt_handler_freeit); + if (!TAILQ_EMPTY(sm_dnssl_head)) { + ELM_MALLOC(smp1, goto ra_opt_rdnss_freeit); smp1->sm_msg = resstr_nl; - TAILQ_INSERT_TAIL(&sm_dnssl_head, smp1, sm_next); + TAILQ_INSERT_TAIL(sm_dnssl_head, smp1, sm_next); } - TAILQ_CONCAT(&sm_rdnss_head, &sm_dnssl_head, sm_next); + TAILQ_CONCAT(sm_rdnss_head, sm_dnssl_head, sm_next); - if (!TAILQ_EMPTY(&sm_rdnss_head)) - CALL_SCRIPT(RESADD, &sm_rdnss_head); + if (rai != NULL && uflag) + r = make_rsid(ifi->ifname, DNSINFO_ORIGIN_LABEL, rai); + else + r = make_rsid(ifi->ifname, DNSINFO_ORIGIN_LABEL, NULL); + if (r == NULL) { + warnmsg(LOG_ERR, __func__, "make_rsid() failed. " + "Script was not invoked."); + error = 1; + goto ra_opt_rdnss_freeit; + } + if (!TAILQ_EMPTY(sm_rdnss_head)) + CALL_SCRIPT(RESADD, sm_rdnss_head); else if (ifi->ifi_rdnss == IFI_DNSOPT_STATE_RECEIVED || ifi->ifi_dnssl == IFI_DNSOPT_STATE_RECEIVED) { CALL_SCRIPT(RESDEL, NULL); @@ -676,21 +736,21 @@ free1: ifi->ifi_dnssl = IFI_DNSOPT_STATE_NOINFO; } -ra_opt_handler_freeit: +ra_opt_rdnss_freeit: /* Clear script message queue. */ - if (!TAILQ_EMPTY(&sm_rdnss_head)) { - while ((smp1 = TAILQ_FIRST(&sm_rdnss_head)) != NULL) { - TAILQ_REMOVE(&sm_rdnss_head, smp1, sm_next); + if (!TAILQ_EMPTY(sm_rdnss_head)) { + while ((smp1 = TAILQ_FIRST(sm_rdnss_head)) != NULL) { + TAILQ_REMOVE(sm_rdnss_head, smp1, sm_next); free(smp1); } } - if (!TAILQ_EMPTY(&sm_dnssl_head)) { - while ((smp1 = TAILQ_FIRST(&sm_dnssl_head)) != NULL) { - TAILQ_REMOVE(&sm_dnssl_head, smp1, sm_next); + if (!TAILQ_EMPTY(sm_dnssl_head)) { + while ((smp1 = TAILQ_FIRST(sm_dnssl_head)) != NULL) { + TAILQ_REMOVE(sm_dnssl_head, smp1, sm_next); free(smp1); } } - return (0); + return (error); } static struct ra_opt * @@ -709,19 +769,18 @@ find_raopt(struct rainfo *rai, int type, } static void -call_script(const int argc, const char *const argv[], void *head) +call_script(const int argc, const char *const argv[], + struct script_msg_head_t *sm_head) { const char *scriptpath; int fd[2]; int error; pid_t pid, wpid; - TAILQ_HEAD(, script_msg) *sm_head; if ((scriptpath = argv[0]) == NULL) return; fd[0] = fd[1] = -1; - sm_head = head; if (sm_head != NULL && !TAILQ_EMPTY(sm_head)) { error = pipe(fd); if (error) { Modified: user/hrs/ipv6/usr.sbin/rtsold/rtsold.8 ============================================================================== --- user/hrs/ipv6/usr.sbin/rtsold/rtsold.8 Thu Jun 16 12:28:37 2011 (r223148) +++ user/hrs/ipv6/usr.sbin/rtsold/rtsold.8 Thu Jun 16 12:41:37 2011 (r223149) @@ -29,7 +29,7 @@ .\" .\" $FreeBSD$ .\" -.Dd May 28, 2011 +.Dd June 14, 2011 .Dt RTSOLD 8 .Os .\" @@ -39,24 +39,24 @@ .\" .Sh SYNOPSIS .Nm -.Op Fl dDfFm1 +.Op Fl dDfFmu1 .Op Fl O Ar script-name -.Op Fl P Ar pidfile +.Op Fl p Ar pidfile .Op Fl R Ar script-name .Ar interface ... .Nm -.Op Fl dDfFm1 +.Op Fl dDfFmu1 .Op Fl O Ar script-name -.Op Fl P Ar pidfile +.Op Fl p Ar pidfile .Op Fl R Ar script-name .Fl a .Nm rtsol -.Op Fl dD +.Op Fl dDu .Op Fl O Ar script-name .Op Fl R Ar script-name .Ar interface ... .Nm rtsol -.Op Fl dD +.Op Fl dDu .Op Fl O Ar script-name .Op Fl R Ar script-name .Fl a @@ -227,7 +227,7 @@ configuration. must be the absolute path from root to the script file, be a regular file, and be created by the same owner who runs .Nm . -.It Fl P Ar pidfile +.It Fl p Ar pidfile Writes the process ID of .Nm to @@ -245,6 +245,18 @@ standard input of this script. The .Xr resolvconf 8 script is used by default. +.It Fl u +Specifies whether adding the source address of Router Advertisement +messages to the interface name in an argument of the RDNSS and DNSSL +script. +.Pp +If +.Fl u +is specified, the interface name in the script argument will be +.Ql ifname:slaac:[RA-source-address] . +.Pp +If not, it will be +.Ql ifname:slaac . .El .Sh FILES .Bl -tag -width /var/run/rtsold.dump -compact Modified: user/hrs/ipv6/usr.sbin/rtsold/rtsold.c ============================================================================== --- user/hrs/ipv6/usr.sbin/rtsold/rtsold.c Thu Jun 16 12:28:37 2011 (r223148) +++ user/hrs/ipv6/usr.sbin/rtsold/rtsold.c Thu Jun 16 12:41:37 2011 (r223149) @@ -75,6 +75,7 @@ static int fflag = 0; int Fflag = 0; /* force setting sysctl parameters */ int aflag = 0; int dflag = 0; +int uflag = 0; const char *otherconf_script; const char *resolvconf_script = "/sbin/resolvconf"; @@ -129,10 +130,10 @@ main(int argc, char **argv) #ifndef SMALL /* rtsold */ - opts = "adDfFm1O:P:R:"; + opts = "adDfFm1O:p:R:u"; #else /* rtsol */ - opts = "adDFO:P:R:"; + opts = "adDFO:R:u"; fflag = 1; once = 1; #endif @@ -144,10 +145,10 @@ main(int argc, char **argv) aflag = 1; break; case 'd': - dflag = 1; + dflag += 1; break; case 'D': - dflag = 2; + dflag += 2; break; case 'f': fflag = 1; @@ -164,12 +165,15 @@ main(int argc, char **argv) case 'O': otherconf_script = optarg; break; - case 'P': + case 'p': pidfilename = optarg; break; case 'R': resolvconf_script = optarg; break; + case 'u': + uflag = 1; + break; default: usage(); exit(1); @@ -184,14 +188,19 @@ main(int argc, char **argv) } /* set log level */ - if (dflag == 0) + if (dflag > 1) + log_upto = LOG_DEBUG; + else if (dflag > 0) + log_upto = LOG_INFO; + else log_upto = LOG_NOTICE; + if (!fflag) { char *ident; - ident = strrchr(argv[0], '/'); + ident = strrchr(argv0, '/'); if (!ident) - ident = argv[0]; + ident = argv0; else ident++; openlog(ident, LOG_NDELAY|LOG_PID, LOG_DAEMON); Modified: user/hrs/ipv6/usr.sbin/rtsold/rtsold.h ============================================================================== --- user/hrs/ipv6/usr.sbin/rtsold/rtsold.h Thu Jun 16 12:28:37 2011 (r223148) +++ user/hrs/ipv6/usr.sbin/rtsold/rtsold.h Thu Jun 16 12:41:37 2011 (r223149) @@ -37,6 +37,8 @@ struct script_msg { char *sm_msg; }; +TAILQ_HEAD(script_msg_head_t, script_msg); + struct ra_opt { TAILQ_ENTRY(ra_opt) rao_next; @@ -60,7 +62,7 @@ struct ifinfo { TAILQ_ENTRY(ifinfo) ifi_next; /* pointer to the next interface */ struct sockaddr_dl *sdl; /* link-layer address */ - char ifname[IF_NAMESIZE]; /* interface name */ + char ifname[IFNAMSIZ]; /* interface name */ u_int32_t linkid; /* link ID of this interface */ int active; /* interface status */ int probeinterval; /* interval of probe timer (if necessary) */ @@ -96,6 +98,7 @@ struct ifinfo { /* Interface list */ extern TAILQ_HEAD(ifinfo_head_t, ifinfo) ifinfo_head; +#define DNSINFO_ORIGIN_LABEL "slaac" /* * RFC 3542 API deprecates IPV6_PKTINFO in favor of * IPV6_RECVPKTINFO @@ -126,6 +129,7 @@ extern struct timeval tm_max; extern int dflag; extern int aflag; extern int Fflag; +extern int uflag; extern const char *otherconf_script; extern const char *resolvconf_script; extern int ifconfig(char *); From owner-svn-src-user@FreeBSD.ORG Thu Jun 16 12:57:34 2011 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 0D4D11065670; Thu, 16 Jun 2011 12:57:34 +0000 (UTC) (envelope-from hrs@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id D8C028FC0A; Thu, 16 Jun 2011 12:57:33 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p5GCvXaG030195; Thu, 16 Jun 2011 12:57:33 GMT (envelope-from hrs@svn.freebsd.org) Received: (from hrs@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id p5GCvXTj030191; Thu, 16 Jun 2011 12:57:33 GMT (envelope-from hrs@svn.freebsd.org) Message-Id: <201106161257.p5GCvXTj030191@svn.freebsd.org> From: Hiroki Sato Date: Thu, 16 Jun 2011 12:57:33 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r223150 - user/hrs/ipv6/usr.sbin/rtadvd X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 16 Jun 2011 12:57:34 -0000 Author: hrs Date: Thu Jun 16 12:57:33 2011 New Revision: 223150 URL: http://svn.freebsd.org/changeset/base/223150 Log: - Check RTM_VERSION. - Fix WARNS. Modified: user/hrs/ipv6/usr.sbin/rtadvd/Makefile user/hrs/ipv6/usr.sbin/rtadvd/if.c user/hrs/ipv6/usr.sbin/rtadvd/rtadvd.c Modified: user/hrs/ipv6/usr.sbin/rtadvd/Makefile ============================================================================== --- user/hrs/ipv6/usr.sbin/rtadvd/Makefile Thu Jun 16 12:41:37 2011 (r223149) +++ user/hrs/ipv6/usr.sbin/rtadvd/Makefile Thu Jun 16 12:57:33 2011 (r223150) @@ -23,6 +23,6 @@ LDADD= -lutil CFLAGS+= -DHAVE_ARC4RANDOM -DHAVE_POLL_H -DROUTEINFO -WARNS?= 6 +WARNS?= 3 .include Modified: user/hrs/ipv6/usr.sbin/rtadvd/if.c ============================================================================== --- user/hrs/ipv6/usr.sbin/rtadvd/if.c Thu Jun 16 12:41:37 2011 (r223149) +++ user/hrs/ipv6/usr.sbin/rtadvd/if.c Thu Jun 16 12:57:33 2011 (r223150) @@ -105,6 +105,12 @@ if_nametosdl(char *name) lim = buf + len; for (next = buf; next < lim; next += ifm->ifm_msglen) { ifm = (struct if_msghdr *)next; + if (ifm->ifm_version != RTM_VERSION) { + syslog(LOG_ERR, + "<%s> RTM_VERSION mismatch (%d != %d).", + __func__, ifm->ifm_version, RTM_VERSION); + continue; + } if (ifm->ifm_type == RTM_IFINFO) { sa = (struct sockaddr *)(ifm + 1); get_rtaddrs(ifm->ifm_addrs, sa, rti_info); Modified: user/hrs/ipv6/usr.sbin/rtadvd/rtadvd.c ============================================================================== --- user/hrs/ipv6/usr.sbin/rtadvd/rtadvd.c Thu Jun 16 12:41:37 2011 (r223149) +++ user/hrs/ipv6/usr.sbin/rtadvd/rtadvd.c Thu Jun 16 12:57:33 2011 (r223150) @@ -503,6 +503,13 @@ rtmsg_input(void) RTADV_TYPE2BITMASK(RTM_IFANNOUNCE)); if (len == 0) break; + if (((struct rt_msghdr *)next)->rtm_version != RTM_VERSION) { + syslog(LOG_ERR, + "<%s> RTM_VERSION mismatch (%d != %d).", + __func__, ((struct rt_msghdr *)next)->rtm_version, + RTM_VERSION); + continue; + } type = rtmsg_type(next); switch (type) { case RTM_ADD: From owner-svn-src-user@FreeBSD.ORG Fri Jun 17 11:13:37 2011 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id E75F0106564A; Fri, 17 Jun 2011 11:13:37 +0000 (UTC) (envelope-from adrian@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id D769A8FC14; Fri, 17 Jun 2011 11:13:37 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p5HBDbHu088805; Fri, 17 Jun 2011 11:13:37 GMT (envelope-from adrian@svn.freebsd.org) Received: (from adrian@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id p5HBDbmh088803; Fri, 17 Jun 2011 11:13:37 GMT (envelope-from adrian@svn.freebsd.org) Message-Id: <201106171113.p5HBDbmh088803@svn.freebsd.org> From: Adrian Chadd Date: Fri, 17 Jun 2011 11:13:37 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r223184 - user/adrian/if_ath_tx/sys/dev/ath X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 17 Jun 2011 11:13:38 -0000 Author: adrian Date: Fri Jun 17 11:13:37 2011 New Revision: 223184 URL: http://svn.freebsd.org/changeset/base/223184 Log: This is a very very dirty hack to stuff ADDBA frames into the correct destination TXQ. From the code: * ADDBA (and potentially others) need to be placed in the same * hardware queue as the TID/node it's relating to. This is so * it goes out after any pending non-aggregate frames to the * same node/TID. * * If this isn't done, the ADDBA can go out before the frames * queued in hardware. Even though these frames have a sequence * number -earlier- than the ADDBA can be transmitted (but * no frames whose sequence numbers are after the ADDBA should * be!) they'll arrive after the ADDBA - and the receiving end * will simply drop them as being out of the BAW. * * The frames can't be appended to the TID software queue - it'll * never be sent out. So these frames have to be directly * dispatched to the hardware, rather than queued in software. * So if this function returns true, the TXQ has to be * overridden and it has to be directly dispatched. * * It's a dirty hack, but someone's gotta do it. Modified: user/adrian/if_ath_tx/sys/dev/ath/if_ath_tx.c Modified: user/adrian/if_ath_tx/sys/dev/ath/if_ath_tx.c ============================================================================== --- user/adrian/if_ath_tx/sys/dev/ath/if_ath_tx.c Fri Jun 17 10:21:24 2011 (r223183) +++ user/adrian/if_ath_tx/sys/dev/ath/if_ath_tx.c Fri Jun 17 11:13:37 2011 (r223184) @@ -106,6 +106,8 @@ static int ath_tx_ampdu_running(struct a int tid); static ieee80211_seq ath_tx_tid_seqno_assign(struct ath_softc *sc, struct ieee80211_node *ni, struct ath_buf *bf, struct mbuf *m0); +static int ath_tx_action_frame_override_queue(struct ath_softc *sc, + struct ieee80211_node *ni, struct mbuf *m0, int *tid); /* * Whether to use the 11n rate scenario functions or not @@ -1014,6 +1016,8 @@ ath_tx_raw_start(struct ath_softc *sc, s struct ath_desc *ds; u_int pri; uint8_t try[4], rate[4]; + int o_tid = -1; + int do_override; bzero(try, sizeof(try)); bzero(rate, sizeof(rate)); @@ -1185,14 +1189,37 @@ ath_tx_raw_start(struct ath_softc *sc, s /* NB: no buffered multicast in power save support */ + /* XXX If it's an ADDBA, override the correct queue */ + do_override = ath_tx_action_frame_override_queue(sc, ni, m0, &o_tid); + + /* Map ADDBA to the correct priority */ + if (do_override) { +#if 0 + device_printf(sc->sc_dev, + "%s: overriding tid %d pri %d -> %d\n", + __func__, o_tid, pri, TID_TO_WME_AC(o_tid)); +#endif + pri = TID_TO_WME_AC(o_tid); + } + /* Fill in the details in the descriptor list */ ath_tx_chaindesclist(sc, sc->sc_ac2q[pri], bf); - /* Queue to software queue */ - ath_tx_swq(sc, ni, sc->sc_ac2q[pri], bf, m0); + /* + * If we're overiding the ADDBA destination, dump directly + * into the hardware queue, right after any pending + * frames to that node are. + */ + + if (do_override) + ath_tx_handoff(sc, sc->sc_ac2q[pri], bf); + else { + /* Queue to software queue */ + ath_tx_swq(sc, ni, sc->sc_ac2q[pri], bf, m0); - /* Kick txq */ - ath_txq_sched(sc); + /* Kick txq */ + ath_txq_sched(sc); + } return 0; } @@ -1261,6 +1288,93 @@ bad: return error; } +/* Some helper functions */ + +/* + * ADDBA (and potentially others) need to be placed in the same + * hardware queue as the TID/node it's relating to. This is so + * it goes out after any pending non-aggregate frames to the + * same node/TID. + * + * If this isn't done, the ADDBA can go out before the frames + * queued in hardware. Even though these frames have a sequence + * number -earlier- than the ADDBA can be transmitted (but + * no frames whose sequence numbers are after the ADDBA should + * be!) they'll arrive after the ADDBA - and the receiving end + * will simply drop them as being out of the BAW. + * + * The frames can't be appended to the TID software queue - it'll + * never be sent out. So these frames have to be directly + * dispatched to the hardware, rather than queued in software. + * So if this function returns true, the TXQ has to be + * overridden and it has to be directly dispatched. + * + * It's a dirty hack, but someone's gotta do it. + */ + +/* + * XXX doesn't belong here! + */ +static int +ieee80211_is_action(struct ieee80211_frame *wh) +{ + /* Type: Management frame? */ + if ((wh->i_fc[0] & IEEE80211_FC0_TYPE_MASK) != + IEEE80211_FC0_TYPE_MGT) + return 0; + + /* Subtype: Action frame? */ + if ((wh->i_fc[0] & IEEE80211_FC0_SUBTYPE_MASK) != + IEEE80211_FC0_SUBTYPE_ACTION) + return 0; + + return 1; +} + +#define MS(_v, _f) (((_v) & _f) >> _f##_S) +/* + * Return an alternate TID for ADDBA request frames. + * + * Yes, this likely should be done in the net80211 layer. + */ +static int +ath_tx_action_frame_override_queue(struct ath_softc *sc, + struct ieee80211_node *ni, + struct mbuf *m0, int *tid) +{ + struct ieee80211_frame *wh = mtod(m0, struct ieee80211_frame *); + struct ieee80211_action_ba_addbarequest *ia; + uint8_t *frm; + uint16_t baparamset; + + /* Not action frame? Bail */ + if (! ieee80211_is_action(wh)) + return 0; + + /* XXX Not needed for frames we send? */ +#if 0 + /* Correct length? */ + if (! ieee80211_parse_action(ni, m)) + return 0; +#endif + + /* Extract out action frame */ + frm = (u_int8_t *)&wh[1]; + ia = (struct ieee80211_action_ba_addbarequest *) frm; + + /* Not ADDBA? Bail */ + if (ia->rq_header.ia_category != IEEE80211_ACTION_CAT_BA) + return 0; + if (ia->rq_header.ia_action != IEEE80211_ACTION_BA_ADDBA_REQUEST) + return 0; + + /* Extract TID, return it */ + baparamset = le16toh(ia->rq_baparamset); + *tid = (int) MS(baparamset, IEEE80211_BAPS_TID); + + return 1; +} +#undef MS /* Per-node software queue operations */ From owner-svn-src-user@FreeBSD.ORG Fri Jun 17 17:43:35 2011 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 90438106564A; Fri, 17 Jun 2011 17:43:35 +0000 (UTC) (envelope-from brooks@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 7FA248FC0A; Fri, 17 Jun 2011 17:43:35 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p5HHhZq3000550; Fri, 17 Jun 2011 17:43:35 GMT (envelope-from brooks@svn.freebsd.org) Received: (from brooks@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id p5HHhZrM000528; Fri, 17 Jun 2011 17:43:35 GMT (envelope-from brooks@svn.freebsd.org) Message-Id: <201106171743.p5HHhZrM000528@svn.freebsd.org> From: Brooks Davis Date: Fri, 17 Jun 2011 17:43:35 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r223192 - user/brooks/openssh-hpn X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 17 Jun 2011 17:43:35 -0000 Author: brooks Date: Fri Jun 17 17:43:35 2011 New Revision: 223192 URL: http://svn.freebsd.org/changeset/base/223192 Log: Merge lots of style and whitespace improvements from bz@. Modified: user/brooks/openssh-hpn/auth2.c user/brooks/openssh-hpn/buffer.c user/brooks/openssh-hpn/buffer.h user/brooks/openssh-hpn/channels.c user/brooks/openssh-hpn/channels.h user/brooks/openssh-hpn/clientloop.c user/brooks/openssh-hpn/compat.c user/brooks/openssh-hpn/compat.h user/brooks/openssh-hpn/kex.c user/brooks/openssh-hpn/kex.h user/brooks/openssh-hpn/misc.c user/brooks/openssh-hpn/misc.h user/brooks/openssh-hpn/packet.c user/brooks/openssh-hpn/packet.h user/brooks/openssh-hpn/progressmeter.c user/brooks/openssh-hpn/readconf.c user/brooks/openssh-hpn/readconf.h user/brooks/openssh-hpn/scp.c user/brooks/openssh-hpn/servconf.c user/brooks/openssh-hpn/servconf.h user/brooks/openssh-hpn/serverloop.c user/brooks/openssh-hpn/session.c user/brooks/openssh-hpn/ssh.c user/brooks/openssh-hpn/sshconnect.c user/brooks/openssh-hpn/sshconnect2.c user/brooks/openssh-hpn/sshd.c user/brooks/openssh-hpn/sshd_config user/brooks/openssh-hpn/version.h Modified: user/brooks/openssh-hpn/auth2.c ============================================================================== --- user/brooks/openssh-hpn/auth2.c Fri Jun 17 16:23:50 2011 (r223191) +++ user/brooks/openssh-hpn/auth2.c Fri Jun 17 17:43:35 2011 (r223192) @@ -49,7 +49,6 @@ #include "dispatch.h" #include "pathnames.h" #include "buffer.h" -#include "canohost.h" #ifdef GSSAPI #include "ssh-gss.h" Modified: user/brooks/openssh-hpn/buffer.c ============================================================================== --- user/brooks/openssh-hpn/buffer.c Fri Jun 17 16:23:50 2011 (r223191) +++ user/brooks/openssh-hpn/buffer.c Fri Jun 17 17:43:35 2011 (r223192) @@ -24,8 +24,9 @@ #include "buffer.h" #include "log.h" -#define BUFFER_MAX_CHUNK 0x100000 #define BUFFER_ALLOCSZ 0x008000 +#define BUFFER_MAX_CHUNK 0x100000 +#define BUFFER_MAX_LEN 0x4000000 /* 64MB */ /* Initializes the buffer structure. */ @@ -164,6 +165,13 @@ buffer_len(const Buffer *buffer) return buffer->end - buffer->offset; } +/* Returns the maximum number of bytes of data that may be in the buffer. */ +u_int +buffer_get_max_len(void) +{ + return (BUFFER_MAX_LEN); +} + /* Gets data from the beginning of the buffer. */ int Modified: user/brooks/openssh-hpn/buffer.h ============================================================================== --- user/brooks/openssh-hpn/buffer.h Fri Jun 17 16:23:50 2011 (r223191) +++ user/brooks/openssh-hpn/buffer.h Fri Jun 17 17:43:35 2011 (r223192) @@ -16,8 +16,6 @@ #ifndef BUFFER_H #define BUFFER_H -#define BUFFER_MAX_LEN 0x4000000 /* 64MB */ - typedef struct { u_char *buf; /* Buffer for data. */ u_int alloc; /* Number of bytes allocated for data. */ @@ -48,6 +46,8 @@ int buffer_get_ret(Buffer *, void *, u_ int buffer_consume_ret(Buffer *, u_int); int buffer_consume_end_ret(Buffer *, u_int); +u_int buffer_get_max_len(void); + #include void buffer_put_bignum(Buffer *, const BIGNUM *); Modified: user/brooks/openssh-hpn/channels.c ============================================================================== --- user/brooks/openssh-hpn/channels.c Fri Jun 17 16:23:50 2011 (r223191) +++ user/brooks/openssh-hpn/channels.c Fri Jun 17 17:43:35 2011 (r223192) @@ -170,8 +170,10 @@ static void port_open_helper(Channel *c, static int connect_next(struct channel_connect *); static void channel_connect_ctx_free(struct channel_connect *); +/* -- HPN */ + static int hpn_disabled = 0; -static int hpn_buffer_size = 2 * 1024 * 1024; +static u_int buffer_size = CHAN_HPN_MIN_WINDOW_DEFAULT; /* -- channel core */ @@ -312,11 +314,11 @@ channel_new(char *ctype, int type, int r c->self = found; c->type = type; c->ctype = ctype; + c->dynamic_window = 0; c->local_window = window; c->local_window_max = window; c->local_consumed = 0; c->local_maxpacket = maxpack; - c->dynamic_window = 0; c->remote_id = -1; c->remote_name = xstrdup(remote_name); c->remote_window = 0; @@ -812,34 +814,45 @@ channel_pre_open_13(Channel *c, fd_set * FD_SET(c->sock, writeset); } -int channel_tcpwinsz () { - u_int32_t tcpwinsz = 0; - socklen_t optsz = sizeof(tcpwinsz); - int ret = -1; +static u_int +channel_tcpwinsz(void) +{ + u_int32_t tcpwinsz; + socklen_t optsz; + int ret, sd; + u_int maxlen; - /* if we aren't on a socket return 128KB*/ + /* If we are not on a socket return 128KB. */ if (!packet_connection_is_on_socket()) - return(128*1024); - ret = getsockopt(packet_get_connection_in(), - SOL_SOCKET, SO_RCVBUF, &tcpwinsz, &optsz); - /* return no more than 64MB */ - if ((ret == 0) && tcpwinsz > BUFFER_MAX_LEN) - tcpwinsz = BUFFER_MAX_LEN; - debug2("tcpwinsz: %d for connection: %d", tcpwinsz, - packet_get_connection_in()); - return(tcpwinsz); + return (128 * 1024); + + tcpwinsz = 0; + optsz = sizeof(tcpwinsz); + sd = packet_get_connection_in(); + ret = getsockopt(sd, SOL_SOCKET, SO_RCVBUF, &tcpwinsz, &optsz); + + /* Return no more than the maximum buffer size. */ + maxlen = buffer_get_max_len(); + if ((ret == 0) && tcpwinsz > maxlen) + tcpwinsz = maxlen; + /* In case getsockopt() failed return a minimum. */ + if (tcpwinsz == 0) + tcpwinsz = CHAN_TCP_WINDOW_DEFAULT; + debug2("tcpwinsz: %d for connection: %d", tcpwinsz, sd); + return (tcpwinsz); } static void channel_pre_open(Channel *c, fd_set *readset, fd_set *writeset) { - u_int limit = compat20 ? c->remote_window : packet_get_maxsize(); + u_int limit; - /* check buffer limits */ - if ((!c->tcpwinsz) || (c->dynamic_window > 0)) + /* Check buffer limits. */ + if (!c->tcpwinsz || c->dynamic_window > 0) c->tcpwinsz = channel_tcpwinsz(); - - limit = MIN(limit, 2 * c->tcpwinsz); + + limit = MIN(compat20 ? c->remote_window : packet_get_maxsize(), + 2 * c->tcpwinsz); if (c->istate == CHAN_INPUT_OPEN && limit > 0 && @@ -1818,13 +1831,14 @@ channel_check_window(Channel *c) c->local_window < c->local_window_max/2) && c->local_consumed > 0) { u_int addition = 0; - /* adjust max window size if we are in a dynamic environment */ - if (c->dynamic_window && (c->tcpwinsz > c->local_window_max)) { + + /* Adjust max window size if we are in a dynamic environment. */ + if (c->dynamic_window && c->tcpwinsz > c->local_window_max) { /* - * Grow the window somewhat aggressively to - * maintain pressure. + * Grow the window somewhat aggressively to maintain + * pressure. */ - addition = 1.5*(c->tcpwinsz - c->local_window_max); + addition = 1.5 * (c->tcpwinsz - c->local_window_max); c->local_window_max += addition; } packet_start(SSH2_MSG_CHANNEL_WINDOW_ADJUST); @@ -2673,12 +2687,11 @@ channel_set_af(int af) } void -channel_set_hpn(int external_hpn_disabled, int external_hpn_buffer_size) +channel_set_hpn(int disabled, u_int buf_size) { - hpn_disabled = external_hpn_disabled; - hpn_buffer_size = external_hpn_buffer_size; - debug("HPN Disabled: %d, HPN Buffer Size: %d", - hpn_disabled, hpn_buffer_size); + hpn_disabled = disabled; + buffer_size = buf_size; + debug("HPN Disabled: %d, HPN Buffer Size: %d", hpn_disabled, buffer_size); } static int @@ -2833,16 +2846,18 @@ channel_setup_fwd_listener(int type, con *allocated_listen_port); } - /* Allocate a channel number for the socket. */ - if (hpn_disabled) { + /* + * Allocate a channel number for the socket. Explicitly test + * for hpn disabled option. If true use smaller window size. + */ + if (hpn_disabled) c = channel_new("port listener", type, sock, sock, -1, CHAN_TCP_WINDOW_DEFAULT, CHAN_TCP_PACKET_DEFAULT, 0, "port listener", 1); - } else { + else c = channel_new("port listener", type, sock, sock, -1, hpn_buffer_size, CHAN_TCP_PACKET_DEFAULT, 0, "port listener", 1); - } c->path = xstrdup(host); c->host_port = port_to_connect; c->listening_port = listen_port; @@ -3387,17 +3402,16 @@ x11_create_display_inet(int x11_display_ *chanids = xcalloc(num_socks + 1, sizeof(**chanids)); for (n = 0; n < num_socks; n++) { sock = socks[n]; - if (hpn_disabled) { + if (hpn_disabled) nc = channel_new("x11 listener", SSH_CHANNEL_X11_LISTENER, sock, sock, -1, CHAN_X11_WINDOW_DEFAULT, CHAN_X11_PACKET_DEFAULT, 0, "X11 inet listener", 1); - } else { + else nc = channel_new("x11 listener", SSH_CHANNEL_X11_LISTENER, sock, sock, -1, hpn_buffer_size, CHAN_X11_PACKET_DEFAULT, 0, "X11 inet listener", 1); - } nc->single_connection = single_connection; (*chanids)[n] = nc->self; } Modified: user/brooks/openssh-hpn/channels.h ============================================================================== --- user/brooks/openssh-hpn/channels.h Fri Jun 17 16:23:50 2011 (r223191) +++ user/brooks/openssh-hpn/channels.h Fri Jun 17 17:43:35 2011 (r223192) @@ -125,10 +125,10 @@ struct Channel { u_int local_window_max; u_int local_consumed; u_int local_maxpacket; + u_int tcpwinsz; int dynamic_window; int extended_usage; int single_connection; - u_int tcpwinsz; char *ctype; /* type */ @@ -164,11 +164,15 @@ struct Channel { /* default window/packet sizes for tcp/x11-fwd-channel */ #define CHAN_SES_PACKET_DEFAULT (32*1024) #define CHAN_SES_WINDOW_DEFAULT (4*CHAN_SES_PACKET_DEFAULT) + #define CHAN_TCP_PACKET_DEFAULT (32*1024) #define CHAN_TCP_WINDOW_DEFAULT (4*CHAN_TCP_PACKET_DEFAULT) + #define CHAN_X11_PACKET_DEFAULT (16*1024) #define CHAN_X11_WINDOW_DEFAULT (4*CHAN_X11_PACKET_DEFAULT) +#define CHAN_HPN_MIN_WINDOW_DEFAULT (2*1024*1024) + /* possible input states */ #define CHAN_INPUT_OPEN 0 #define CHAN_INPUT_WAIT_DRAIN 1 @@ -239,7 +243,7 @@ void channel_input_status_confirm(int, void channel_prepare_select(fd_set **, fd_set **, int *, u_int*, int); void channel_after_select(fd_set *, fd_set *); -void channel_output_poll(void); +void channel_output_poll(void); int channel_not_very_much_buffered_data(void); void channel_close_all(void); @@ -297,6 +301,6 @@ void chan_write_failed(Channel *); void chan_obuf_empty(Channel *); /* hpn handler */ -void channel_set_hpn(int, int); +void channel_set_hpn(int, u_int); #endif Modified: user/brooks/openssh-hpn/clientloop.c ============================================================================== --- user/brooks/openssh-hpn/clientloop.c Fri Jun 17 16:23:50 2011 (r223191) +++ user/brooks/openssh-hpn/clientloop.c Fri Jun 17 17:43:35 2011 (r223192) @@ -1768,18 +1768,14 @@ client_request_x11(const char *request_t sock = x11_connect_display(); if (sock < 0) return NULL; - /* again is this really necessary for X11? */ - if (options.hpn_disabled) { - c = channel_new("x11", - SSH_CHANNEL_X11_OPEN, sock, sock, -1, + if (options.hpn_disabled) + c = channel_new("x11", SSH_CHANNEL_X11_OPEN, sock, sock, -1, CHAN_TCP_WINDOW_DEFAULT, CHAN_X11_PACKET_DEFAULT, 0, "x11", 1); - } else { - c = channel_new("x11", - SSH_CHANNEL_X11_OPEN, sock, sock, -1, + else + c = channel_new("x11", SSH_CHANNEL_X11_OPEN, sock, sock, -1, options.hpn_buffer_size, CHAN_X11_PACKET_DEFAULT, 0, "x11", 1); - } c->force_drain = 1; return c; } @@ -1799,17 +1795,16 @@ client_request_agent(const char *request sock = ssh_get_authentication_socket(); if (sock < 0) return NULL; - if (options.hpn_disabled) { + if (options.hpn_disabled) c = channel_new("authentication agent connection", SSH_CHANNEL_OPEN, sock, sock, -1, CHAN_X11_WINDOW_DEFAULT, CHAN_TCP_WINDOW_DEFAULT, 0, "authentication agent connection", 1); - } else { + else c = channel_new("authentication agent connection", SSH_CHANNEL_OPEN, sock, sock, -1, options.hpn_buffer_size, options.hpn_buffer_size, 0, "authentication agent connection", 1); - } c->force_drain = 1; return c; } @@ -1836,15 +1831,14 @@ client_request_tun_fwd(int tun_mode, int return -1; } - if(options.hpn_disabled) { + if (options.hpn_disabled) c = channel_new("tun", SSH_CHANNEL_OPENING, fd, fd, -1, CHAN_TCP_WINDOW_DEFAULT, CHAN_TCP_PACKET_DEFAULT, 0, "tun", 1); - } else { + else c = channel_new("tun", SSH_CHANNEL_OPENING, fd, fd, -1, options.hpn_buffer_size, CHAN_TCP_PACKET_DEFAULT, 0, "tun", 1); - } c->datagram = 1; #if defined(SSH_TUN_FILTER) Modified: user/brooks/openssh-hpn/compat.c ============================================================================== --- user/brooks/openssh-hpn/compat.c Fri Jun 17 16:23:50 2011 (r223191) +++ user/brooks/openssh-hpn/compat.c Fri Jun 17 17:43:35 2011 (r223192) @@ -171,15 +171,14 @@ compat_datafellows(const char *version) debug("match: %s pat %s", version, check[i].pat); datafellows = check[i].bugs; /* - * Check to see if the remote side is OpenSSH and - * not HPN. - * XXX: Using the version to do this is bizzare. + * Check to see if the remote side is OpenSSH and not + * HPN. It is utterly strange to check it from the + * version string and expose the option that way. */ - if(strstr(version,"OpenSSH") != NULL) { - if (strstr(version,"hpn") == NULL) { - datafellows |= SSH_BUG_LARGEWINDOW; - debug("Remote is NON-HPN aware"); - } + if (strstr(version,"OpenSSH") != NULL && + strstr(version,"hpn") == NULL) { + datafellows |= SSH_BUG_LARGEWINDOW; + debug("Remote is not HPN-aware"); } return; } Modified: user/brooks/openssh-hpn/compat.h ============================================================================== --- user/brooks/openssh-hpn/compat.h Fri Jun 17 16:23:50 2011 (r223191) +++ user/brooks/openssh-hpn/compat.h Fri Jun 17 17:43:35 2011 (r223192) @@ -58,7 +58,7 @@ #define SSH_OLD_FORWARD_ADDR 0x01000000 #define SSH_BUG_RFWD_ADDR 0x02000000 #define SSH_NEW_OPENSSH 0x04000000 -#define SSH_BUG_LARGEWINDOW 0x08000000 +#define SSH_BUG_LARGEWINDOW 0x08000000 void enable_compat13(void); void enable_compat20(void); Modified: user/brooks/openssh-hpn/kex.c ============================================================================== --- user/brooks/openssh-hpn/kex.c Fri Jun 17 16:23:50 2011 (r223191) +++ user/brooks/openssh-hpn/kex.c Fri Jun 17 17:43:35 2011 (r223192) @@ -90,8 +90,7 @@ kex_names_valid(const char *names) return 1; } -/* put algorithm proposal into buffer */ -/* used in sshconnect.c as well as kex.c */ +/* Put algorithm proposal into buffer. Also used in sshconnect2.c. */ void kex_prop2buf(Buffer *b, char *proposal[PROPOSAL_MAX]) { @@ -408,13 +407,8 @@ kex_choose_conf(Kex *kex) int nenc, nmac, ncomp; u_int mode, ctos, need; int first_kex_follows, type; - int auth_flag; - auth_flag = packet_authentication_state(); - - debug ("AUTH STATE IS %d", auth_flag); - my = kex_buf2prop(&kex->my, NULL); peer = kex_buf2prop(&kex->peer, &first_kex_follows); @@ -437,6 +431,8 @@ kex_choose_conf(Kex *kex) } /* Algorithm Negotiation */ + auth_flag = packet_get_authentication_state(); + debug ("AUTH STATE is %d", auth_flag); for (mode = 0; mode < MODE_MAX; mode++) { newkeys = xcalloc(1, sizeof(*newkeys)); kex->newkeys[mode] = newkeys; @@ -448,13 +444,14 @@ kex_choose_conf(Kex *kex) choose_enc (&newkeys->enc, cprop[nenc], sprop[nenc]); choose_mac (&newkeys->mac, cprop[nmac], sprop[nmac]); choose_comp(&newkeys->comp, cprop[ncomp], sprop[ncomp]); + debug("REQUESTED ENC.NAME is '%s'", newkeys->enc.name); if (strcmp(newkeys->enc.name, "none") == 0) { debug("Requesting NONE. Authflag is %d", auth_flag); if (auth_flag == 1) debug("None requested post authentication."); else - fatal("Pre-authentication none cipher " - "requests are not allowed."); + fatal("Pre-authentication none cipher requests " + "are not allowed."); } debug("kex: %s %s %s %s", ctos ? "client->server" : "server->client", Modified: user/brooks/openssh-hpn/kex.h ============================================================================== --- user/brooks/openssh-hpn/kex.h Fri Jun 17 16:23:50 2011 (r223191) +++ user/brooks/openssh-hpn/kex.h Fri Jun 17 17:43:35 2011 (r223192) @@ -140,7 +140,7 @@ struct Kex { int kex_names_valid(const char *); -void kex_prop2buf(Buffer *, char *proposal[PROPOSAL_MAX]); +void kex_prop2buf(Buffer *, char *[PROPOSAL_MAX]); Kex *kex_setup(char *[PROPOSAL_MAX]); void kex_finish(Kex *); Modified: user/brooks/openssh-hpn/misc.c ============================================================================== --- user/brooks/openssh-hpn/misc.c Fri Jun 17 16:23:50 2011 (r223191) +++ user/brooks/openssh-hpn/misc.c Fri Jun 17 17:43:35 2011 (r223192) @@ -996,3 +996,34 @@ sock_set_v6only(int s) error("setsockopt IPV6_V6ONLY: %s", strerror(errno)); #endif } + +void +sock_get_rcvbuf(int *size, int rcvbuf) +{ + int sock, socksize; + socklen_t socksizelen = sizeof(socksize); + + /* + * Create a socket but do not connect it. We use it + * only to get the rcv socket size. + */ + sock = socket(AF_INET6, SOCK_STREAM, 0); + if (sock < 0) + sock = socket(AF_INET, SOCK_STREAM, 0); + if (sock < 0) + return; + + /* + * If the tcp_rcv_buf option is set and passed in, attempt to set the + * buffer size to its value. + */ + if (rcvbuf) + setsockopt(sock, SOL_SOCKET, SO_RCVBUF, (void *)&rcvbuf, + sizeof(rcvbuf)); + + if (getsockopt(sock, SOL_SOCKET, SO_RCVBUF, + &socksize, &socksizelen) == 0) + if (size != NULL) + *size = socksize; + close(sock); +} Modified: user/brooks/openssh-hpn/misc.h ============================================================================== --- user/brooks/openssh-hpn/misc.h Fri Jun 17 16:23:50 2011 (r223191) +++ user/brooks/openssh-hpn/misc.h Fri Jun 17 17:43:35 2011 (r223192) @@ -36,6 +36,7 @@ void sanitise_stdfd(void); void ms_subtract_diff(struct timeval *, int *); void ms_to_timeval(struct timeval *, int); void sock_set_v6only(int); +void sock_get_rcvbuf(int *, int); struct passwd *pwcopy(struct passwd *); const char *ssh_gai_strerror(int); Modified: user/brooks/openssh-hpn/packet.c ============================================================================== --- user/brooks/openssh-hpn/packet.c Fri Jun 17 16:23:50 2011 (r223191) +++ user/brooks/openssh-hpn/packet.c Fri Jun 17 17:43:35 2011 (r223192) @@ -195,6 +195,7 @@ struct session_state { }; static struct session_state *active_state, *backup_state; +static int rekey_requested = 0; static struct session_state * alloc_session_state(void) @@ -1012,6 +1013,7 @@ packet_send2(void) void packet_send(void) { + if (compat20) packet_send2(); else @@ -1861,7 +1863,6 @@ packet_send_ignore(int nbytes) } } -int rekey_requested = 0; void packet_request_rekeying(void) { @@ -1971,7 +1972,7 @@ packet_restore_state(void) } int -packet_authentication_state(void) +packet_get_authentication_state(void) { - return(active_state->after_authentication); + return (active_state->after_authentication); } Modified: user/brooks/openssh-hpn/packet.h ============================================================================== --- user/brooks/openssh-hpn/packet.h Fri Jun 17 16:23:50 2011 (r223191) +++ user/brooks/openssh-hpn/packet.h Fri Jun 17 17:43:35 2011 (r223192) @@ -23,9 +23,6 @@ #include #endif -void -packet_request_rekeying(void); - void packet_set_connection(int, int); void packet_set_timeout(int, int); void packet_set_nonblocking(void); @@ -41,7 +38,7 @@ void packet_set_interactive(int, int int packet_is_interactive(void); void packet_set_server(void); void packet_set_authenticated(void); -int packet_authentication_state(void); +int packet_get_authentication_state(void); void packet_start(u_char); void packet_put_char(int ch); @@ -55,7 +52,7 @@ void packet_put_ecpoint(const EC_GRO void packet_put_string(const void *buf, u_int len); void packet_put_cstring(const char *str); void packet_put_raw(const void *buf, u_int len); -void packet_send(void); +void packet_send(void); int packet_read(void); void packet_read_expect(int type); @@ -121,6 +118,7 @@ do { \ } while (0) int packet_need_rekeying(void); +void packet_request_rekeying(void); void packet_set_rekey_limit(u_int32_t); void packet_backup_state(void); Modified: user/brooks/openssh-hpn/progressmeter.c ============================================================================== --- user/brooks/openssh-hpn/progressmeter.c Fri Jun 17 16:23:50 2011 (r223191) +++ user/brooks/openssh-hpn/progressmeter.c Fri Jun 17 17:43:35 2011 (r223192) @@ -175,7 +175,7 @@ refresh_progress_meter(void) percent = ((float)cur_pos / end_pos) * 100; else percent = 100; - snprintf(buf + strlen(buf), win_size - strlen(buf-8), + snprintf(buf + strlen(buf), win_size - strlen(buf), " %3d%% ", percent); /* amount transferred */ Modified: user/brooks/openssh-hpn/readconf.c ============================================================================== --- user/brooks/openssh-hpn/readconf.c Fri Jun 17 16:23:50 2011 (r223191) +++ user/brooks/openssh-hpn/readconf.c Fri Jun 17 17:43:35 2011 (r223192) @@ -135,8 +135,8 @@ typedef enum { oTunnel, oTunnelDevice, oLocalCommand, oPermitLocalCommand, oVisualHostKey, oUseRoaming, oZeroKnowledgePasswordAuthentication, oKexAlgorithms, oIPQoS, + oHPNDisabled, oHPNBufferSize, oTcpRcvBufPoll, oTcpRcvBuf, oNoneEnabled, oNoneSwitch, - oTcpRcvBufPoll, oTcpRcvBuf, oHPNDisabled, oHPNBufferSize, oDeprecated, oUnsupported } OpCodes; @@ -247,12 +247,12 @@ static struct { #endif { "kexalgorithms", oKexAlgorithms }, { "ipqos", oIPQoS }, - { "noneenabled", oNoneEnabled }, - { "noneswitch", oNoneSwitch }, - { "tcprcvbufpoll", oTcpRcvBufPoll }, - { "tcprcvbuf", oTcpRcvBuf }, { "hpndisabled", oHPNDisabled }, { "hpnbuffersize", oHPNBufferSize }, + { "tcprcvbufpoll", oTcpRcvBufPoll }, + { "tcprcvbuf", oTcpRcvBuf }, + { "noneenabled", oNoneEnabled }, + { "noneswitch", oNoneSwitch }, { NULL, oBadOption } }; @@ -499,46 +499,6 @@ parse_flag: intptr = &options->check_host_ip; goto parse_flag; - case oNoneEnabled: - intptr = &options->none_enabled; - goto parse_flag; - - /* - * We check to see if the command comes from the command line or - * not. If it does then enable it otherwise fail. NONE should - * never be a default configuration. - */ - case oNoneSwitch: - if(strcmp(filename,"command-line")==0) - { - intptr = &options->none_switch; - goto parse_flag; - } else { - error("NoneSwitch is found in %.200s.\n" - "You may only use this configuration option " - "from the command line", filename); - error("Continuing..."); - debug("NoneSwitch directive found in %.200s.", - filename); - return 0; - } - - case oHPNDisabled: - intptr = &options->hpn_disabled; - goto parse_flag; - - case oHPNBufferSize: - intptr = &options->hpn_buffer_size; - goto parse_int; - - case oTcpRcvBufPoll: - intptr = &options->tcp_rcv_buf_poll; - goto parse_flag; - - case oTcpRcvBuf: - intptr = &options->tcp_rcv_buf; - goto parse_int; - case oVerifyHostKeyDNS: intptr = &options->verify_host_key_dns; goto parse_yesnoask; @@ -1045,6 +1005,45 @@ parse_int: intptr = &options->use_roaming; goto parse_flag; + case oHPNDisabled: + intptr = &options->hpn_disabled; + goto parse_flag; + + case oHPNBufferSize: + intptr = &options->hpn_buffer_size; + goto parse_int; + + case oTcpRcvBufPoll: + intptr = &options->tcp_rcv_buf_poll; + goto parse_flag; + + case oTcpRcvBuf: + intptr = &options->tcp_rcv_buf; + goto parse_int; + + case oNoneEnabled: + intptr = &options->none_enabled; + goto parse_flag; + + /* + * We check to see if the command comes from the command line or not. + * If it does then enable it otherwise fail. NONE must never be a + * default configuration. + */ + case oNoneSwitch: + if (strcmp(filename,"command-line") == 0) { + intptr = &options->none_switch; + goto parse_flag; + } else { + debug("NoneSwitch directive found in %.200s.", + filename); + error("NoneSwitch is found in %.200s.\n" + "You may only use this configuration option " + "from the command line", filename); + error("Continuing..."); + return 0; + } + case oDeprecated: debug("%s line %d: Deprecated option \"%s\"", filename, linenum, keyword); @@ -1205,12 +1204,12 @@ initialize_options(Options * options) options->zero_knowledge_password_authentication = -1; options->ip_qos_interactive = -1; options->ip_qos_bulk = -1; - options->none_switch = -1; - options->none_enabled = -1; options->hpn_disabled = -1; options->hpn_buffer_size = -1; options->tcp_rcv_buf_poll = -1; options->tcp_rcv_buf = -1; + options->none_enabled = -1; + options->none_switch = -1; } /* @@ -1343,24 +1342,6 @@ fill_default_options(Options * options) options->server_alive_interval = 0; if (options->server_alive_count_max == -1) options->server_alive_count_max = 3; - if (options->none_switch == -1) - options->none_switch = 0; - if (options->hpn_disabled == -1) - options->hpn_disabled = 0; - if (options->hpn_buffer_size > -1) { - /* if a user tries to set the size to 0 set it to 1KB */ - if (options->hpn_buffer_size == 0) - options->hpn_buffer_size = 1024; - if (options->hpn_buffer_size > BUFFER_MAX_LEN/1024) - options->hpn_buffer_size = BUFFER_MAX_LEN; - debug("hpn_buffer_size set to %d", options->hpn_buffer_size); - } - if (options->tcp_rcv_buf == 0) - options->tcp_rcv_buf = 1; - if (options->tcp_rcv_buf > -1) - options->tcp_rcv_buf *=1024; - if (options->tcp_rcv_buf_poll == -1) - options->tcp_rcv_buf_poll = 1; if (options->control_master == -1) options->control_master = 0; if (options->control_persist == -1) { @@ -1393,6 +1374,34 @@ fill_default_options(Options * options) /* options->hostname will be set in the main program if appropriate */ /* options->host_key_alias should not be set by default */ /* options->preferred_authentications will be set in ssh */ + if (options->hpn_disabled == -1) + options->hpn_disabled = 0; + if (options->hpn_buffer_size > -1) + { + u_int maxlen; + + /* If a user tries to set the size to 0 set it to 1KB. */ + if (options->hpn_buffer_size == 0) + options->hpn_buffer_size = 1024; + /* Limit the buffer to BUFFER_MAX_LEN. */ + maxlen = buffer_get_max_len(); + if (options->hpn_buffer_size > (maxlen / 1024)) { + debug("User requested buffer larger than %ub: %ub. " + "Request reverted to %ub", maxlen, + options->hpn_buffer_size * 1024, maxlen); + options->hpn_buffer_size = maxlen; + } + debug("hpn_buffer_size set to %d", options->hpn_buffer_size); + } + if (options->tcp_rcv_buf == 0) + options->tcp_rcv_buf = 1; + if (options->tcp_rcv_buf > -1) + options->tcp_rcv_buf *= 1024; + if (options->tcp_rcv_buf_poll == -1) + options->tcp_rcv_buf_poll = 1; + /* options->none_enabled must not be set by default */ + if (options->none_switch == -1) + options->none_switch = 0; } /* Modified: user/brooks/openssh-hpn/readconf.h ============================================================================== --- user/brooks/openssh-hpn/readconf.h Fri Jun 17 16:23:50 2011 (r223191) +++ user/brooks/openssh-hpn/readconf.h Fri Jun 17 17:43:35 2011 (r223192) @@ -59,11 +59,6 @@ typedef struct { int compression_level; /* Compression level 1 (fast) to 9 * (best). */ int tcp_keep_alive; /* Set SO_KEEPALIVE. */ - int tcp_rcv_buf; /* user switch to set tcp recv buffer */ - int tcp_rcv_buf_poll; /* Option to poll recv buf every - * window transfer. */ - int hpn_disabled; /* Switch to disable HPN buffer management */ - int hpn_buffer_size; /* User definable size for HPN buffer window */ int ip_qos_interactive; /* IP ToS/DSCP/class for interactive */ int ip_qos_bulk; /* IP ToS/DSCP/class for bulk traffic */ LogLevel log_level; /* Level for logging. */ @@ -112,8 +107,6 @@ typedef struct { int enable_ssh_keysign; int64_t rekey_limit; - int none_switch; /* Use none cipher */ - int none_enabled; /* Allow none to be used */ int no_host_authentication_for_localhost; int identities_only; int server_alive_interval; @@ -139,6 +132,16 @@ typedef struct { int use_roaming; + int hpn_disabled; /* Switch to disable HPN buffer management. */ + int hpn_buffer_size; /* User definable size for HPN buffer + * window. */ + int tcp_rcv_buf_poll; /* Option to poll recv buf every window + * transfer. */ + int tcp_rcv_buf; /* User switch to set tcp recv buffer. */ + + int none_enabled; /* Allow none to be used */ + int none_switch; /* Use none cipher */ + } Options; #define SSHCTL_MASTER_NO 0 Modified: user/brooks/openssh-hpn/scp.c ============================================================================== --- user/brooks/openssh-hpn/scp.c Fri Jun 17 16:23:50 2011 (r223191) +++ user/brooks/openssh-hpn/scp.c Fri Jun 17 17:43:35 2011 (r223192) @@ -727,7 +727,7 @@ source(int argc, char **argv) off_t i, statbytes; size_t amt; int fd = -1, haderr, indx; - char *last, *name, buf[16384], encname[MAXPATHLEN]; + char *last, *name, buf[2048], encname[MAXPATHLEN]; int len; for (indx = 0; indx < argc; ++indx) { @@ -909,7 +909,7 @@ sink(int argc, char **argv) mode_t mode, omode, mask; off_t size, statbytes; int setimes, targisdir, wrerrno = 0; - char ch, *cp, *np, *targ, *why, *vect[1], buf[16384]; + char ch, *cp, *np, *targ, *why, *vect[1], buf[2048]; struct timeval tv[2]; #define atime tv[0] Modified: user/brooks/openssh-hpn/servconf.c ============================================================================== --- user/brooks/openssh-hpn/servconf.c Fri Jun 17 16:23:50 2011 (r223191) +++ user/brooks/openssh-hpn/servconf.c Fri Jun 17 17:43:35 2011 (r223192) @@ -137,21 +137,17 @@ initialize_server_options(ServerOptions options->revoked_keys_file = NULL; options->trusted_user_ca_keys = NULL; options->authorized_principals_file = NULL; - options->none_enabled = -1; - options->tcp_rcv_buf_poll = -1; - options->hpn_disabled = -1; - options->hpn_buffer_size = -1; options->ip_qos_interactive = -1; options->ip_qos_bulk = -1; + options->hpn_disabled = -1; + options->hpn_buffer_size = -1; + options->tcp_rcv_buf_poll = -1; + options->none_enabled = -1; } void fill_default_server_options(ServerOptions *options) { - int sock; - int socksize; - int socksizelen = sizeof(int); - /* Portable-specific options */ if (options->use_pam == -1) options->use_pam = 0; @@ -289,38 +285,32 @@ fill_default_server_options(ServerOption options->ip_qos_interactive = IPTOS_LOWDELAY; if (options->ip_qos_bulk == -1) options->ip_qos_bulk = IPTOS_THROUGHPUT; - if (options->hpn_disabled == -1) options->hpn_disabled = 0; - if (options->hpn_buffer_size == -1) { - /* - * Option not explicitly set. Now we have to figure out - * what value to use. + /* + * HPN buffer size option not explicitly set. Try to figure + * out what value to use or resort to default. */ - if (options->hpn_disabled == 1) { - options->hpn_buffer_size = CHAN_SES_WINDOW_DEFAULT; - } else { - /* Get the current RCV size and set it to that. */ - sock = socket(AF_INET, SOCK_STREAM, 0); - getsockopt(sock, SOL_SOCKET, SO_RCVBUF, - &socksize, &socksizelen); - close(sock); - options->hpn_buffer_size = socksize; + options->hpn_buffer_size = CHAN_SES_WINDOW_DEFAULT; + if (!options->hpn_disabled) { + sock_get_rcvbuf(&options->hpn_buffer_size, 0); debug ("HPN Buffer Size: %d", options->hpn_buffer_size); - } + } } else { /* - * In the case that the user sets both values in - * a contradictory manner hpn_disabled overrrides - * hpn_buffer_size. + * In the case that the user sets both values in a + * contradictory manner hpn_disabled overrrides hpn_buffer_size. */ if (options->hpn_disabled <= 0) { + u_int maxlen; + + maxlen = buffer_get_max_len(); if (options->hpn_buffer_size == 0) options->hpn_buffer_size = 1; - /* limit the maximum buffer to 64MB */ - if (options->hpn_buffer_size > BUFFER_MAX_LEN/1024) - options->hpn_buffer_size = BUFFER_MAX_LEN; + /* Limit the maximum buffer to BUFFER_MAX_LEN. */ + if (options->hpn_buffer_size > maxlen / 1024) + options->hpn_buffer_size = maxlen; else options->hpn_buffer_size *= 1024; } else @@ -372,9 +362,9 @@ typedef enum { sUsePrivilegeSeparation, sAllowAgentForwarding, sZeroKnowledgePasswordAuthentication, sHostCertificate, sRevokedKeys, sTrustedUserCAKeys, sAuthorizedPrincipalsFile, - sNoneEnabled, - sTcpRcvBufPoll, sHPNDisabled, sHPNBufferSize, sKexAlgorithms, sIPQoS, + sHPNDisabled, sHPNBufferSize, sTcpRcvBufPoll, + sNoneEnabled, sDeprecated, sUnsupported } ServerOpCodes; @@ -497,12 +487,12 @@ static struct { { "revokedkeys", sRevokedKeys, SSHCFG_ALL }, { "trustedusercakeys", sTrustedUserCAKeys, SSHCFG_ALL }, { "authorizedprincipalsfile", sAuthorizedPrincipalsFile, SSHCFG_ALL }, - { "noneenabled", sNoneEnabled, SSHCFG_ALL }, + { "kexalgorithms", sKexAlgorithms, SSHCFG_GLOBAL }, + { "ipqos", sIPQoS, SSHCFG_ALL }, { "hpndisabled", sHPNDisabled, SSHCFG_ALL }, { "hpnbuffersize", sHPNBufferSize, SSHCFG_ALL }, { "tcprcvbufpoll", sTcpRcvBufPoll, SSHCFG_ALL }, - { "kexalgorithms", sKexAlgorithms, SSHCFG_GLOBAL }, - { "ipqos", sIPQoS, SSHCFG_ALL }, + { "noneenabled", sNoneEnabled, SSHCFG_ALL }, { NULL, sBadOption, 0 } }; @@ -951,22 +941,6 @@ process_server_config_line(ServerOptions *intptr = value; break; - case sNoneEnabled: - intptr = &options->none_enabled; - goto parse_flag; - - case sTcpRcvBufPoll: - intptr = &options->tcp_rcv_buf_poll; - goto parse_flag; - - case sHPNDisabled: - intptr = &options->hpn_disabled; - goto parse_flag; - - case sHPNBufferSize: - intptr = &options->hpn_buffer_size; - goto parse_int; - case sIgnoreUserKnownHosts: intptr = &options->ignore_user_known_hosts; goto parse_flag; @@ -1465,6 +1439,22 @@ process_server_config_line(ServerOptions } break; + case sHPNDisabled: + intptr = &options->hpn_disabled; + goto parse_flag; + + case sHPNBufferSize: + intptr = &options->hpn_buffer_size; + goto parse_int; + + case sTcpRcvBufPoll: + intptr = &options->tcp_rcv_buf_poll; + goto parse_flag; + + case sNoneEnabled: + intptr = &options->none_enabled; + goto parse_flag; + case sDeprecated: logit("%s line %d: Deprecated option %s", filename, linenum, arg); Modified: user/brooks/openssh-hpn/servconf.h ============================================================================== --- user/brooks/openssh-hpn/servconf.h Fri Jun 17 16:23:50 2011 (r223191) +++ user/brooks/openssh-hpn/servconf.h Fri Jun 17 17:43:35 2011 (r223192) @@ -151,13 +151,6 @@ typedef struct { char *adm_forced_command; int use_pam; /* Enable auth via PAM */ - int none_enabled; /* enable NONE cipher switch */ - int tcp_rcv_buf_poll; /* - * Poll tcp rcv window in - * autotuning kernels - */ - int hpn_disabled; /* Disable hpn functionality */ - int hpn_buffer_size; /* Set the hpn buffer size */ int permit_tun; @@ -167,6 +160,13 @@ typedef struct { *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-user@FreeBSD.ORG Fri Jun 17 17:55:37 2011 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id D3A21106566C; Fri, 17 Jun 2011 17:55:37 +0000 (UTC) (envelope-from brooks@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id C464F8FC0C; Fri, 17 Jun 2011 17:55:37 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p5HHtbCf000965; Fri, 17 Jun 2011 17:55:37 GMT (envelope-from brooks@svn.freebsd.org) Received: (from brooks@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id p5HHtbjj000963; Fri, 17 Jun 2011 17:55:37 GMT (envelope-from brooks@svn.freebsd.org) Message-Id: <201106171755.p5HHtbjj000963@svn.freebsd.org> From: Brooks Davis Date: Fri, 17 Jun 2011 17:55:37 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r223193 - user/brooks/openssh-hpn X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 17 Jun 2011 17:55:37 -0000 Author: brooks Date: Fri Jun 17 17:55:37 2011 New Revision: 223193 URL: http://svn.freebsd.org/changeset/base/223193 Log: Fix a couple mismerges Modified: user/brooks/openssh-hpn/channels.c Modified: user/brooks/openssh-hpn/channels.c ============================================================================== --- user/brooks/openssh-hpn/channels.c Fri Jun 17 17:43:35 2011 (r223192) +++ user/brooks/openssh-hpn/channels.c Fri Jun 17 17:55:37 2011 (r223193) @@ -2856,7 +2856,7 @@ channel_setup_fwd_listener(int type, con 0, "port listener", 1); else c = channel_new("port listener", type, sock, sock, -1, - hpn_buffer_size, CHAN_TCP_PACKET_DEFAULT, + buffer_size, CHAN_TCP_PACKET_DEFAULT, 0, "port listener", 1); c->path = xstrdup(host); c->host_port = port_to_connect; @@ -3410,7 +3410,7 @@ x11_create_display_inet(int x11_display_ else nc = channel_new("x11 listener", SSH_CHANNEL_X11_LISTENER, sock, sock, -1, - hpn_buffer_size, CHAN_X11_PACKET_DEFAULT, + buffer_size, CHAN_X11_PACKET_DEFAULT, 0, "X11 inet listener", 1); nc->single_connection = single_connection; (*chanids)[n] = nc->self; From owner-svn-src-user@FreeBSD.ORG Fri Jun 17 18:48:53 2011 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 00080106566C; Fri, 17 Jun 2011 18:48:52 +0000 (UTC) (envelope-from brooks@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id CA37B8FC17; Fri, 17 Jun 2011 18:48:52 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p5HImqXG002616; Fri, 17 Jun 2011 18:48:52 GMT (envelope-from brooks@svn.freebsd.org) Received: (from brooks@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id p5HImqRD002615; Fri, 17 Jun 2011 18:48:52 GMT (envelope-from brooks@svn.freebsd.org) Message-Id: <201106171848.p5HImqRD002615@svn.freebsd.org> From: Brooks Davis Date: Fri, 17 Jun 2011 18:48:52 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r223195 - in user/brooks/openssh-hpn: scp sftp sftp-server ssh ssh-add ssh-agent ssh-keygen ssh-keyscan ssh-keysign X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 17 Jun 2011 18:48:53 -0000 Author: brooks Date: Fri Jun 17 18:48:52 2011 New Revision: 223195 URL: http://svn.freebsd.org/changeset/base/223195 Log: Remove some bogus directories. Not sure how these got there, but they make it impossible to build. Deleted: user/brooks/openssh-hpn/scp/ user/brooks/openssh-hpn/sftp/ user/brooks/openssh-hpn/sftp-server/ user/brooks/openssh-hpn/ssh/ user/brooks/openssh-hpn/ssh-add/ user/brooks/openssh-hpn/ssh-agent/ user/brooks/openssh-hpn/ssh-keygen/ user/brooks/openssh-hpn/ssh-keyscan/ user/brooks/openssh-hpn/ssh-keysign/ From owner-svn-src-user@FreeBSD.ORG Fri Jun 17 18:50:00 2011 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 32FC11065675; Fri, 17 Jun 2011 18:50:00 +0000 (UTC) (envelope-from brooks@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 0A1FE8FC23; Fri, 17 Jun 2011 18:50:00 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p5HInxav002687; Fri, 17 Jun 2011 18:49:59 GMT (envelope-from brooks@svn.freebsd.org) Received: (from brooks@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id p5HInxZ6002686; Fri, 17 Jun 2011 18:49:59 GMT (envelope-from brooks@svn.freebsd.org) Message-Id: <201106171849.p5HInxZ6002686@svn.freebsd.org> From: Brooks Davis Date: Fri, 17 Jun 2011 18:49:59 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r223196 - user/brooks/openssh-hpn/sshd X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 17 Jun 2011 18:50:00 -0000 Author: brooks Date: Fri Jun 17 18:49:59 2011 New Revision: 223196 URL: http://svn.freebsd.org/changeset/base/223196 Log: One more bogus directory Deleted: user/brooks/openssh-hpn/sshd/ From owner-svn-src-user@FreeBSD.ORG Fri Jun 17 20:18:43 2011 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 96926106564A; Fri, 17 Jun 2011 20:18:43 +0000 (UTC) (envelope-from brooks@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 8708F8FC08; Fri, 17 Jun 2011 20:18:43 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p5HKIhYV005428; Fri, 17 Jun 2011 20:18:43 GMT (envelope-from brooks@svn.freebsd.org) Received: (from brooks@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id p5HKIhFO005426; Fri, 17 Jun 2011 20:18:43 GMT (envelope-from brooks@svn.freebsd.org) Message-Id: <201106172018.p5HKIhFO005426@svn.freebsd.org> From: Brooks Davis Date: Fri, 17 Jun 2011 20:18:43 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r223199 - user/brooks/openssh-hpn X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 17 Jun 2011 20:18:43 -0000 Author: brooks Date: Fri Jun 17 20:18:43 2011 New Revision: 223199 URL: http://svn.freebsd.org/changeset/base/223199 Log: Fix a comment typo. Modified: user/brooks/openssh-hpn/session.c Modified: user/brooks/openssh-hpn/session.c ============================================================================== --- user/brooks/openssh-hpn/session.c Fri Jun 17 20:06:52 2011 (r223198) +++ user/brooks/openssh-hpn/session.c Fri Jun 17 20:18:43 2011 (r223199) @@ -233,7 +233,7 @@ auth_input_request_forwarding(struct pas /* * Allocate a channel for the authentication agent socket. - * Ignore HPN on that one given no improvement expeccted. + * Ignore HPN on that one given no improvement expected. */ nc = channel_new("auth socket", SSH_CHANNEL_AUTH_SOCKET, sock, sock, -1, From owner-svn-src-user@FreeBSD.ORG Fri Jun 17 20:19:12 2011 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 0E573106567B; Fri, 17 Jun 2011 20:19:12 +0000 (UTC) (envelope-from brooks@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id E81628FC17; Fri, 17 Jun 2011 20:19:11 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p5HKJB0I005484; Fri, 17 Jun 2011 20:19:11 GMT (envelope-from brooks@svn.freebsd.org) Received: (from brooks@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id p5HKJBSD005478; Fri, 17 Jun 2011 20:19:11 GMT (envelope-from brooks@svn.freebsd.org) Message-Id: <201106172019.p5HKJBSD005478@svn.freebsd.org> From: Brooks Davis Date: Fri, 17 Jun 2011 20:19:11 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r223200 - user/brooks/openssh-hpn X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 17 Jun 2011 20:19:12 -0000 Author: brooks Date: Fri Jun 17 20:19:11 2011 New Revision: 223200 URL: http://svn.freebsd.org/changeset/base/223200 Log: Reduce diffs to openssh-portable. Modified: user/brooks/openssh-hpn/buffer.c user/brooks/openssh-hpn/channels.c user/brooks/openssh-hpn/channels.h user/brooks/openssh-hpn/packet.c user/brooks/openssh-hpn/serverloop.c Modified: user/brooks/openssh-hpn/buffer.c ============================================================================== --- user/brooks/openssh-hpn/buffer.c Fri Jun 17 20:18:43 2011 (r223199) +++ user/brooks/openssh-hpn/buffer.c Fri Jun 17 20:19:11 2011 (r223200) @@ -24,9 +24,9 @@ #include "buffer.h" #include "log.h" -#define BUFFER_ALLOCSZ 0x008000 #define BUFFER_MAX_CHUNK 0x100000 #define BUFFER_MAX_LEN 0x4000000 /* 64MB */ +#define BUFFER_ALLOCSZ 0x008000 /* Initializes the buffer structure. */ Modified: user/brooks/openssh-hpn/channels.c ============================================================================== --- user/brooks/openssh-hpn/channels.c Fri Jun 17 20:18:43 2011 (r223199) +++ user/brooks/openssh-hpn/channels.c Fri Jun 17 20:19:11 2011 (r223200) @@ -2857,7 +2857,7 @@ channel_setup_fwd_listener(int type, con else c = channel_new("port listener", type, sock, sock, -1, buffer_size, CHAN_TCP_PACKET_DEFAULT, - 0, "port listener", 1); + 0, "port listener", 1); c->path = xstrdup(host); c->host_port = port_to_connect; c->listening_port = listen_port; Modified: user/brooks/openssh-hpn/channels.h ============================================================================== --- user/brooks/openssh-hpn/channels.h Fri Jun 17 20:18:43 2011 (r223199) +++ user/brooks/openssh-hpn/channels.h Fri Jun 17 20:19:11 2011 (r223200) @@ -243,7 +243,7 @@ void channel_input_status_confirm(int, void channel_prepare_select(fd_set **, fd_set **, int *, u_int*, int); void channel_after_select(fd_set *, fd_set *); -void channel_output_poll(void); +void channel_output_poll(void); int channel_not_very_much_buffered_data(void); void channel_close_all(void); Modified: user/brooks/openssh-hpn/packet.c ============================================================================== --- user/brooks/openssh-hpn/packet.c Fri Jun 17 20:18:43 2011 (r223199) +++ user/brooks/openssh-hpn/packet.c Fri Jun 17 20:19:11 2011 (r223200) @@ -1013,7 +1013,6 @@ packet_send2(void) void packet_send(void) { - if (compat20) packet_send2(); else Modified: user/brooks/openssh-hpn/serverloop.c ============================================================================== --- user/brooks/openssh-hpn/serverloop.c Fri Jun 17 20:18:43 2011 (r223199) +++ user/brooks/openssh-hpn/serverloop.c Fri Jun 17 20:19:11 2011 (r223200) @@ -94,10 +94,10 @@ static int fdin; /* Descriptor for stdi static int fdout; /* Descriptor for stdout (for reading); May be same number as fdin. */ static int fderr; /* Descriptor for stderr. May be -1. */ -static int stdin_bytes = 0; /* Number of bytes written to stdin. */ -static int stdout_bytes = 0; /* Number of stdout bytes sent to client. */ -static int stderr_bytes = 0; /* Number of stderr bytes sent to client. */ -static int fdout_bytes = 0; /* Number of stdout bytes read from program. */ +static long stdin_bytes = 0; /* Number of bytes written to stdin. */ +static long stdout_bytes = 0; /* Number of stdout bytes sent to client. */ +static long stderr_bytes = 0; /* Number of stderr bytes sent to client. */ +static long fdout_bytes = 0; /* Number of stdout bytes read from program. */ static int stdin_eof = 0; /* EOF message received from client. */ static int fdout_eof = 0; /* EOF encountered reading from fdout. */ static int fderr_eof = 0; /* EOF encountered readung from fderr. */ @@ -726,8 +726,7 @@ server_loop(pid_t pid, int fdin_arg, int /* Wait until all output has been sent to the client. */ drain_output(); - debug("End of interactive session; stdin %lu, stdout (read %lu, " - "sent %lu), stderr %ld bytes.", + debug("End of interactive session; stdin %ld, stdout (read %ld, " "sent %ld), stderr %ld bytes.", stdin_bytes, fdout_bytes, stdout_bytes, stderr_bytes); /* Free and clear the buffers. */ From owner-svn-src-user@FreeBSD.ORG Fri Jun 17 20:54:33 2011 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id F400C106566B; Fri, 17 Jun 2011 20:54:32 +0000 (UTC) (envelope-from brooks@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id E4AB78FC08; Fri, 17 Jun 2011 20:54:32 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p5HKsW0A006613; Fri, 17 Jun 2011 20:54:32 GMT (envelope-from brooks@svn.freebsd.org) Received: (from brooks@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id p5HKsWYs006611; Fri, 17 Jun 2011 20:54:32 GMT (envelope-from brooks@svn.freebsd.org) Message-Id: <201106172054.p5HKsWYs006611@svn.freebsd.org> From: Brooks Davis Date: Fri, 17 Jun 2011 20:54:32 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r223203 - user/brooks/openssh-hpn X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 17 Jun 2011 20:54:33 -0000 Author: brooks Date: Fri Jun 17 20:54:32 2011 New Revision: 223203 URL: http://svn.freebsd.org/changeset/base/223203 Log: Keep a debug message function call to 80 columns. Modified: user/brooks/openssh-hpn/channels.c Modified: user/brooks/openssh-hpn/channels.c ============================================================================== --- user/brooks/openssh-hpn/channels.c Fri Jun 17 20:49:30 2011 (r223202) +++ user/brooks/openssh-hpn/channels.c Fri Jun 17 20:54:32 2011 (r223203) @@ -2691,7 +2691,8 @@ channel_set_hpn(int disabled, u_int buf_ { hpn_disabled = disabled; buffer_size = buf_size; - debug("HPN Disabled: %d, HPN Buffer Size: %d", hpn_disabled, buffer_size); + debug("HPN Disabled: %d, HPN Buffer Size: %d", + hpn_disabled, buffer_size); } static int From owner-svn-src-user@FreeBSD.ORG Fri Jun 17 20:55:35 2011 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 7FCF7106564A; Fri, 17 Jun 2011 20:55:35 +0000 (UTC) (envelope-from brooks@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 6624F8FC08; Fri, 17 Jun 2011 20:55:35 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p5HKtZDK006702; Fri, 17 Jun 2011 20:55:35 GMT (envelope-from brooks@svn.freebsd.org) Received: (from brooks@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id p5HKtZMT006688; Fri, 17 Jun 2011 20:55:35 GMT (envelope-from brooks@svn.freebsd.org) Message-Id: <201106172055.p5HKtZMT006688@svn.freebsd.org> From: Brooks Davis Date: Fri, 17 Jun 2011 20:55:35 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r223204 - user/brooks/openssh-hpn X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 17 Jun 2011 20:55:35 -0000 Author: brooks Date: Fri Jun 17 20:55:35 2011 New Revision: 223204 URL: http://svn.freebsd.org/changeset/base/223204 Log: Wrap all the NONE cipher support from HPN in #ifdef NONE_CIPHER_ENABLED. Note that this does not include all references to it in the source. Modified: user/brooks/openssh-hpn/cipher.c user/brooks/openssh-hpn/kex.c user/brooks/openssh-hpn/kex.h user/brooks/openssh-hpn/myproposal.h user/brooks/openssh-hpn/packet.c user/brooks/openssh-hpn/packet.h user/brooks/openssh-hpn/readconf.c user/brooks/openssh-hpn/readconf.h user/brooks/openssh-hpn/servconf.c user/brooks/openssh-hpn/servconf.h user/brooks/openssh-hpn/ssh.c user/brooks/openssh-hpn/sshconnect2.c user/brooks/openssh-hpn/sshd.c Modified: user/brooks/openssh-hpn/cipher.c ============================================================================== --- user/brooks/openssh-hpn/cipher.c Fri Jun 17 20:54:32 2011 (r223203) +++ user/brooks/openssh-hpn/cipher.c Fri Jun 17 20:55:35 2011 (r223204) @@ -163,8 +163,12 @@ ciphers_valid(const char *names) for ((p = strsep(&cp, CIPHER_SEP)); p && *p != '\0'; (p = strsep(&cp, CIPHER_SEP))) { c = cipher_by_name(p); +#ifdef NONE_CIPHER_ENABLED if (c == NULL || (c->number != SSH_CIPHER_SSH2 && c->number != SSH_CIPHER_NONE)) { +#else + if (c == NULL || (c->number != SSH_CIPHER_SSH2)) { +#endif debug("bad cipher %s [%s]", p, names); xfree(cipher_list); return 0; @@ -338,7 +342,9 @@ cipher_get_keyiv(CipherContext *cc, u_ch int evplen; switch (c->number) { +#ifdef NONE_CIPHER_ENABLED case SSH_CIPHER_NONE: +#endif case SSH_CIPHER_SSH2: case SSH_CIPHER_DES: case SSH_CIPHER_BLOWFISH: @@ -373,7 +379,9 @@ cipher_set_keyiv(CipherContext *cc, u_ch int evplen = 0; switch (c->number) { +#ifdef NONE_CIPHER_ENABLED case SSH_CIPHER_NONE: +#endif case SSH_CIPHER_SSH2: case SSH_CIPHER_DES: case SSH_CIPHER_BLOWFISH: Modified: user/brooks/openssh-hpn/kex.c ============================================================================== --- user/brooks/openssh-hpn/kex.c Fri Jun 17 20:54:32 2011 (r223203) +++ user/brooks/openssh-hpn/kex.c Fri Jun 17 20:55:35 2011 (r223204) @@ -90,8 +90,13 @@ kex_names_valid(const char *names) return 1; } -/* Put algorithm proposal into buffer. Also used in sshconnect2.c. */ +/* Put algorithm proposal into buffer. */ +#ifndef NONE_CIPHER_ENABLED +static void +#else +/* Also used in sshconnect2.c. */ void +#endif kex_prop2buf(Buffer *b, char *proposal[PROPOSAL_MAX]) { u_int i; @@ -407,7 +412,9 @@ kex_choose_conf(Kex *kex) int nenc, nmac, ncomp; u_int mode, ctos, need; int first_kex_follows, type; +#ifdef NONE_CIPHER_ENABLED int auth_flag; +#endif my = kex_buf2prop(&kex->my, NULL); peer = kex_buf2prop(&kex->peer, &first_kex_follows); @@ -431,8 +438,10 @@ kex_choose_conf(Kex *kex) } /* Algorithm Negotiation */ +#ifdef NONE_CIPHER_ENABLED auth_flag = packet_get_authentication_state(); debug ("AUTH STATE is %d", auth_flag); +#endif for (mode = 0; mode < MODE_MAX; mode++) { newkeys = xcalloc(1, sizeof(*newkeys)); kex->newkeys[mode] = newkeys; @@ -444,6 +453,7 @@ kex_choose_conf(Kex *kex) choose_enc (&newkeys->enc, cprop[nenc], sprop[nenc]); choose_mac (&newkeys->mac, cprop[nmac], sprop[nmac]); choose_comp(&newkeys->comp, cprop[ncomp], sprop[ncomp]); +#ifdef NONE_CIPHER_ENABLED debug("REQUESTED ENC.NAME is '%s'", newkeys->enc.name); if (strcmp(newkeys->enc.name, "none") == 0) { debug("Requesting NONE. Authflag is %d", auth_flag); @@ -453,6 +463,7 @@ kex_choose_conf(Kex *kex) fatal("Pre-authentication none cipher requests " "are not allowed."); } +#endif debug("kex: %s %s %s %s", ctos ? "client->server" : "server->client", newkeys->enc.name, Modified: user/brooks/openssh-hpn/kex.h ============================================================================== --- user/brooks/openssh-hpn/kex.h Fri Jun 17 20:54:32 2011 (r223203) +++ user/brooks/openssh-hpn/kex.h Fri Jun 17 20:55:35 2011 (r223204) @@ -140,7 +140,9 @@ struct Kex { int kex_names_valid(const char *); +#ifdef NONE_CIPHER_ENABLED void kex_prop2buf(Buffer *, char *[PROPOSAL_MAX]); +#endif Kex *kex_setup(char *[PROPOSAL_MAX]); void kex_finish(Kex *); Modified: user/brooks/openssh-hpn/myproposal.h ============================================================================== --- user/brooks/openssh-hpn/myproposal.h Fri Jun 17 20:54:32 2011 (r223203) +++ user/brooks/openssh-hpn/myproposal.h Fri Jun 17 20:55:35 2011 (r223204) @@ -75,8 +75,10 @@ "arcfour256,arcfour128," \ "aes128-cbc,3des-cbc,blowfish-cbc,cast128-cbc," \ "aes192-cbc,aes256-cbc,arcfour,rijndael-cbc@lysator.liu.se" +#ifdef NONE_CIPHER_ENABLED #define KEX_ENCRYPT_INCLUDE_NONE KEX_DEFAULT_ENCRYPT \ ",none" +#endif #define KEX_DEFAULT_MAC \ "hmac-md5,hmac-sha1,umac-64@openssh.com,hmac-ripemd160," \ "hmac-ripemd160@openssh.com," \ Modified: user/brooks/openssh-hpn/packet.c ============================================================================== --- user/brooks/openssh-hpn/packet.c Fri Jun 17 20:54:32 2011 (r223203) +++ user/brooks/openssh-hpn/packet.c Fri Jun 17 20:55:35 2011 (r223204) @@ -195,7 +195,9 @@ struct session_state { }; static struct session_state *active_state, *backup_state; +#ifdef NONE_CIPHER_ENABLED static int rekey_requested = 0; +#endif static struct session_state * alloc_session_state(void) @@ -1862,11 +1864,13 @@ packet_send_ignore(int nbytes) } } +#ifdef NONE_CIPHER_ENABLED void packet_request_rekeying(void) { rekey_requested = 1; } +#endif #define MAX_PACKETS (1U<<31) int @@ -1874,10 +1878,12 @@ packet_need_rekeying(void) { if (datafellows & SSH_BUG_NOREKEY) return 0; +#ifdef NONE_CIPHER_ENABLED if (rekey_requested == 1) { rekey_requested = 0; return 1; } +#endif return (active_state->p_send.packets > MAX_PACKETS) || (active_state->p_read.packets > MAX_PACKETS) || @@ -1970,8 +1976,10 @@ packet_restore_state(void) } } +#ifdef NONE_CIPHER_ENABLED int packet_get_authentication_state(void) { return (active_state->after_authentication); } +#endif Modified: user/brooks/openssh-hpn/packet.h ============================================================================== --- user/brooks/openssh-hpn/packet.h Fri Jun 17 20:54:32 2011 (r223203) +++ user/brooks/openssh-hpn/packet.h Fri Jun 17 20:55:35 2011 (r223204) @@ -38,7 +38,9 @@ void packet_set_interactive(int, int int packet_is_interactive(void); void packet_set_server(void); void packet_set_authenticated(void); +#ifdef NONE_CIPHER_ENABLED int packet_get_authentication_state(void); +#endif void packet_start(u_char); void packet_put_char(int ch); @@ -118,7 +120,9 @@ do { \ } while (0) int packet_need_rekeying(void); +#ifdef NONE_CIPHER_ENABLED void packet_request_rekeying(void); +#endif void packet_set_rekey_limit(u_int32_t); void packet_backup_state(void); Modified: user/brooks/openssh-hpn/readconf.c ============================================================================== --- user/brooks/openssh-hpn/readconf.c Fri Jun 17 20:54:32 2011 (r223203) +++ user/brooks/openssh-hpn/readconf.c Fri Jun 17 20:55:35 2011 (r223204) @@ -136,7 +136,9 @@ typedef enum { oVisualHostKey, oUseRoaming, oZeroKnowledgePasswordAuthentication, oKexAlgorithms, oIPQoS, oHPNDisabled, oHPNBufferSize, oTcpRcvBufPoll, oTcpRcvBuf, +#ifdef NONE_CIPHER_ENABLED oNoneEnabled, oNoneSwitch, +#endif oDeprecated, oUnsupported } OpCodes; @@ -251,8 +253,10 @@ static struct { { "hpnbuffersize", oHPNBufferSize }, { "tcprcvbufpoll", oTcpRcvBufPoll }, { "tcprcvbuf", oTcpRcvBuf }, +#ifdef NONE_CIPHER_ENABLED { "noneenabled", oNoneEnabled }, { "noneswitch", oNoneSwitch }, +#endif { NULL, oBadOption } }; @@ -1021,6 +1025,7 @@ parse_int: intptr = &options->tcp_rcv_buf; goto parse_int; +#ifdef NONE_CIPHER_ENABLED case oNoneEnabled: intptr = &options->none_enabled; goto parse_flag; @@ -1043,6 +1048,7 @@ parse_int: error("Continuing..."); return 0; } +#endif case oDeprecated: debug("%s line %d: Deprecated option \"%s\"", @@ -1208,8 +1214,10 @@ initialize_options(Options * options) options->hpn_buffer_size = -1; options->tcp_rcv_buf_poll = -1; options->tcp_rcv_buf = -1; +#ifdef NONE_CIPHER_ENABLED options->none_enabled = -1; options->none_switch = -1; +#endif } /* @@ -1399,9 +1407,11 @@ fill_default_options(Options * options) options->tcp_rcv_buf *= 1024; if (options->tcp_rcv_buf_poll == -1) options->tcp_rcv_buf_poll = 1; +#ifdef NONE_CIPHER_ENABLED /* options->none_enabled must not be set by default */ if (options->none_switch == -1) options->none_switch = 0; +#endif } /* Modified: user/brooks/openssh-hpn/readconf.h ============================================================================== --- user/brooks/openssh-hpn/readconf.h Fri Jun 17 20:54:32 2011 (r223203) +++ user/brooks/openssh-hpn/readconf.h Fri Jun 17 20:55:35 2011 (r223204) @@ -139,9 +139,10 @@ typedef struct { * transfer. */ int tcp_rcv_buf; /* User switch to set tcp recv buffer. */ +#ifdef NONE_CIPHER_ENABLED int none_enabled; /* Allow none to be used */ int none_switch; /* Use none cipher */ - +#endif } Options; #define SSHCTL_MASTER_NO 0 Modified: user/brooks/openssh-hpn/servconf.c ============================================================================== --- user/brooks/openssh-hpn/servconf.c Fri Jun 17 20:54:32 2011 (r223203) +++ user/brooks/openssh-hpn/servconf.c Fri Jun 17 20:55:35 2011 (r223204) @@ -142,7 +142,9 @@ initialize_server_options(ServerOptions options->hpn_disabled = -1; options->hpn_buffer_size = -1; options->tcp_rcv_buf_poll = -1; +#ifdef NONE_CIPHER_ENABLED options->none_enabled = -1; +#endif } void @@ -492,7 +494,9 @@ static struct { { "hpndisabled", sHPNDisabled, SSHCFG_ALL }, { "hpnbuffersize", sHPNBufferSize, SSHCFG_ALL }, { "tcprcvbufpoll", sTcpRcvBufPoll, SSHCFG_ALL }, +#ifdef NONE_CIPHER_ENABLED { "noneenabled", sNoneEnabled, SSHCFG_ALL }, +#endif { NULL, sBadOption, 0 } }; @@ -1451,9 +1455,11 @@ process_server_config_line(ServerOptions intptr = &options->tcp_rcv_buf_poll; goto parse_flag; +#ifdef NONE_CIPHER_ENABLED case sNoneEnabled: intptr = &options->none_enabled; goto parse_flag; +#endif case sDeprecated: logit("%s line %d: Deprecated option %s", Modified: user/brooks/openssh-hpn/servconf.h ============================================================================== --- user/brooks/openssh-hpn/servconf.h Fri Jun 17 20:54:32 2011 (r223203) +++ user/brooks/openssh-hpn/servconf.h Fri Jun 17 20:55:35 2011 (r223204) @@ -166,7 +166,9 @@ typedef struct { int tcp_rcv_buf_poll; /* Poll TCP rcv window in autotuning * kernels. */ +#ifdef NONE_CIPHER_ENABLED int none_enabled; /* Enable NONE cipher switch. */ +#endif } ServerOptions; void initialize_server_options(ServerOptions *); Modified: user/brooks/openssh-hpn/ssh.c ============================================================================== --- user/brooks/openssh-hpn/ssh.c Fri Jun 17 20:54:32 2011 (r223203) +++ user/brooks/openssh-hpn/ssh.c Fri Jun 17 20:55:35 2011 (r223204) @@ -545,6 +545,7 @@ main(int ac, char **av) break; case 'T': no_tty_flag = 1; +#ifdef NONE_CIPHER_ENABLED /* * Ensure that the user does not try to backdoor a * NONE cipher switch on an interactive session by @@ -552,6 +553,7 @@ main(int ac, char **av) * session without a tty. */ options.none_switch = 0; +#endif break; case 'o': dummy = 1; Modified: user/brooks/openssh-hpn/sshconnect2.c ============================================================================== --- user/brooks/openssh-hpn/sshconnect2.c Fri Jun 17 20:54:32 2011 (r223203) +++ user/brooks/openssh-hpn/sshconnect2.c Fri Jun 17 20:55:35 2011 (r223204) @@ -81,6 +81,7 @@ extern char *client_version_string; extern char *server_version_string; extern Options options; +#ifdef NONE_CIPHER_ENABLED extern Kex *xxx_kex; /* @@ -89,6 +90,7 @@ extern Kex *xxx_kex; */ extern int tty_flag; +#endif /* * SSH2 key exchange @@ -427,6 +429,7 @@ ssh_userauth2(const char *local_user, co pubkey_cleanup(&authctxt); dispatch_range(SSH2_MSG_USERAUTH_MIN, SSH2_MSG_USERAUTH_MAX, NULL); +#ifdef NONE_CIPHER_ENABLED /* * If the user explicitly requests to use the none cipher enable it * post authentication and only if the right conditions are met: both @@ -448,6 +451,7 @@ ssh_userauth2(const char *local_user, co "a TTY is allocated\n"); } } +#endif debug("Authentication succeeded (%s).", authctxt.method->name); } Modified: user/brooks/openssh-hpn/sshd.c ============================================================================== --- user/brooks/openssh-hpn/sshd.c Fri Jun 17 20:54:32 2011 (r223203) +++ user/brooks/openssh-hpn/sshd.c Fri Jun 17 20:55:35 2011 (r223204) @@ -2291,10 +2291,12 @@ do_ssh2_kex(void) if (options.ciphers != NULL) { myproposal[PROPOSAL_ENC_ALGS_CTOS] = myproposal[PROPOSAL_ENC_ALGS_STOC] = options.ciphers; +#ifdef NONE_CIPHER_ENABLED } else if (options.none_enabled == 1) { debug ("WARNING: None cipher enabled"); myproposal[PROPOSAL_ENC_ALGS_CTOS] = myproposal[PROPOSAL_ENC_ALGS_STOC] = KEX_ENCRYPT_INCLUDE_NONE; +#endif } myproposal[PROPOSAL_ENC_ALGS_CTOS] = compat_cipher_proposal(myproposal[PROPOSAL_ENC_ALGS_CTOS]); From owner-svn-src-user@FreeBSD.ORG Fri Jun 17 21:03:22 2011 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 34D8E106566B; Fri, 17 Jun 2011 21:03:22 +0000 (UTC) (envelope-from brooks@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 1A9288FC16; Fri, 17 Jun 2011 21:03:22 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p5HL3LkY006983; Fri, 17 Jun 2011 21:03:21 GMT (envelope-from brooks@svn.freebsd.org) Received: (from brooks@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id p5HL3LBr006981; Fri, 17 Jun 2011 21:03:21 GMT (envelope-from brooks@svn.freebsd.org) Message-Id: <201106172103.p5HL3LBr006981@svn.freebsd.org> From: Brooks Davis Date: Fri, 17 Jun 2011 21:03:21 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r223205 - user/brooks/openssh-hpn X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 17 Jun 2011 21:03:22 -0000 Author: brooks Date: Fri Jun 17 21:03:21 2011 New Revision: 223205 URL: http://svn.freebsd.org/changeset/base/223205 Log: Rename HPN-README to the openssh normal README.hpn form and bring in bz's rework of the document. Added: user/brooks/openssh-hpn/README.hpn - copied, changed from r223200, user/brooks/openssh-hpn/HPN-README Deleted: user/brooks/openssh-hpn/HPN-README Copied and modified: user/brooks/openssh-hpn/README.hpn (from r223200, user/brooks/openssh-hpn/HPN-README) ============================================================================== --- user/brooks/openssh-hpn/HPN-README Fri Jun 17 20:19:11 2011 (r223200, copy source) +++ user/brooks/openssh-hpn/README.hpn Fri Jun 17 21:03:21 2011 (r223205) @@ -1,128 +1,120 @@ Notes: -MULTI-THREADED CIPHER: -The AES cipher in CTR mode has been multithreaded (MTR-AES-CTR). This will allow ssh installations -on hosts with multiple cores to use more than one processing core during encryption. -Tests have show significant throughput performance increases when using MTR-AES-CTR up -to and including a full gigabit per second on quad core systems. It should be possible to -achieve full line rate on dual core systems but OS and data management overhead makes this -more difficult to achieve. The cipher stream from MTR-AES-CTR is entirely compatible with single -thread AES-CTR (ST-AES-CTR) implementations and should be 100% backward compatible. Optimal -performance requires the MTR-AES-CTR mode be enabled on both ends of the connection. -The MTR-AES-CTR replaces ST-AES-CTR and is used in exactly the same way with the same -nomenclature. -Use examples: ssh -caes128-ctr you@host.com - scp -oCipher=aes256-ctr file you@host.com:~/file - NONE CIPHER: -To use the NONE option you must have the NoneEnabled switch set on the server and -you *must* have *both* NoneEnabled and NoneSwitch set to yes on the client. The NONE -feature works with ALL ssh subsystems (as far as we can tell) *AS LONG AS* a tty is not -spawned. If a user uses the -T switch to prevent a tty being created the NONE cipher will -be disabled. - -The performance increase will only be as good as the network and TCP stack tuning -on the reciever side of the connection allows. As a rule of thumb a user will need -at least 10Mb/s connection with a 100ms RTT to see a doubling of performance. The -HPN-SSH home page describes this in greater detail. + To use the NONE option you must have the NoneEnabled switch set on the server + and you MUST have *both* NoneEnabled and NoneSwitch set to yes on the client. + The NONE feature works with ALL ssh subsystems (as far as we can tell) + as long as there is no tty allocated. + If a user uses the -T switch to prevent a tty being created the NONE cipher + will be disabled. -http://www.psc.edu/networking/projects/hpn-ssh -BUFFER SIZES: +PERFORMANCE: + The performance increase will only be as good as the network and TCP stack + tuning on the reciever side of the connection allows. As a rule of thumb a + user will need at least 10Mb/s connection with a 100ms RTT to see a doubling + of performance. + The HPN-SSH home page http://www.psc.edu/networking/projects/hpn-ssh + describes this in greater detail. -If HPN is disabled the receive buffer size will be set to the -OpenSSH default of 64K. -If an HPN system connects to a nonHPN system the receive buffer will -be set to the HPNBufferSize value. The default is 2MB but user adjustable. +BUFFER SIZES: +- if HPN is disabled the receive buffer size will be set to the OpenSSH default + of 64K. + +- if a HPN system connects to a non-HPN system the receive buffer will + be set to the HPNBufferSize value. The default is 2MB but user adjustable. -If an HPN to HPN connection is established a number of different things might -happen based on the user options and conditions. +- If a HPN to HPN connection is established a number of different things might + happen based on the user options and conditions. -Conditions: HPNBufferSize NOT Set, TCPRcvBufPoll enabled, TCPRcvBuf NOT Set -HPN Buffer Size = up to 64MB -This is the default state. The HPN buffer size will grow to a maximum of 64MB -as the TCP receive buffer grows. The maximum HPN Buffer size of 64MB is -geared towards 10GigE transcontinental connections. - -Conditions: HPNBufferSize NOT Set, TCPRcvBufPoll disabled, TCPRcvBuf NOT Set -HPN Buffer Size = TCP receive buffer value. -Users on non-autotuning systesm should disable TCPRcvBufPoll in the -ssh_cofig and sshd_config - -Conditions: HPNBufferSize SET, TCPRcvBufPoll disabled, TCPRcvBuf NOT Set -HPN Buffer Size = minmum of TCP receive buffer and HPNBufferSize. -This would be the system defined TCP receive buffer (RWIN). - -Conditions: HPNBufferSize SET, TCPRcvBufPoll disabled, TCPRcvBuf SET -HPN Buffer Size = minmum of TCPRcvBuf and HPNBufferSize. -Generally there is no need to set both. - -Conditions: HPNBufferSize SET, TCPRcvBufPoll enabled, TCPRcvBuf NOT Set -HPN Buffer Size = grows to HPNBufferSize -The buffer will grow up to the maximum size specified here. - -Conditions: HPNBufferSize SET, TCPRcvBufPoll enabled, TCPRcvBuf SET -HPN Buffer Size = minmum of TCPRcvBuf and HPNBufferSize. -Generally there is no need to set both of these, especially on autotuning -systems. However, if the users wishes to override the autotuning this would be -one way to do it. - -Conditions: HPNBufferSize NOT Set, TCPRcvBufPoll enabled, TCPRcvBuf SET -HPN Buffer Size = TCPRcvBuf. -This will override autotuning and set the TCP recieve buffer to the user defined -value. - - -HPN Specific Configuration options - -TcpRcvBuf=[int]KB client - set the TCP socket receive buffer to n Kilobytes. It can be set up to the -maximum socket size allowed by the system. This is useful in situations where -the tcp receive window is set low but the maximum buffer size is set -higher (as is typical). This works on a per TCP connection basis. You can also -use this to artifically limit the transfer rate of the connection. In these -cases the throughput will be no more than n/RTT. The minimum buffer size is 1KB. -Default is the current system wide tcp receive buffer size. - -TcpRcvBufPoll=[yes/no] client/server - enable of disable the polling of the tcp receive buffer through the life -of the connection. You would want to make sure that this option is enabled -for systems making use of autotuning kernels (linux 2.4.24+, 2.6, MS Vista) -default is yes. - -NoneEnabled=[yes/no] client/server - enable or disable the use of the None cipher. Care must always be used -when enabling this as it will allow users to send data in the clear. However, -it is important to note that authentication information remains encrypted -even if this option is enabled. Set to no by default. - -NoneSwitch=[yes/no] client - Switch the encryption cipher being used to the None cipher after -authentication takes place. NoneEnabled must be enabled on both the client -and server side of the connection. When the connection switches to the NONE -cipher a warning is sent to STDERR. The connection attempt will fail with an -error if a client requests a NoneSwitch from the server that does not explicitly -have NoneEnabled set to yes. Note: The NONE cipher cannot be used in -interactive (shell) sessions and it will fail silently. Set to no by default. - -HPNDisabled=[yes/no] client/server - In some situations, such as transfers on a local area network, the impact -of the HPN code produces a net decrease in performance. In these cases it is -helpful to disable the HPN functionality. By default HPNDisabled is set to no. - -HPNBufferSize=[int]KB client/server - This is the default buffer size the HPN functionality uses when interacting -with nonHPN SSH installations. Conceptually this is similar to the TcpRcvBuf -option as applied to the internal SSH flow control. This value can range from -1KB to 64MB (1-65536). Use of oversized or undersized buffers can cause performance -problems depending on the length of the network path. The default size of this buffer -is 2MB. - - -Credits: This patch was conceived, designed, and led by Chris Rapier (rapier@psc.edu) - The majority of the actual coding for versions up to HPN12v1 was performed - by Michael Stevens (mstevens@andrew.cmu.edu). The MT-AES-CTR cipher was - implemented by Ben Bennet (ben@psc.edu). This work was financed, in part, - by Cisco System, Inc., the National Library of Medicine, - and the National Science Foundation. + Conditions: HPNBufferSize NOT Set, TCPRcvBufPoll enabled, TCPRcvBuf NOT Set + Result: HPN Buffer Size = up to 64MB + This is the default state. The HPN buffer size will grow to a maximum of + 64MB as the TCP receive buffer grows. The maximum HPN Buffer size of 64MB + is geared towards 10GigE transcontinental connections. + + Conditions: HPNBufferSize NOT Set, TCPRcvBufPoll disabled, TCPRcvBuf NOT Set + Result: HPN Buffer Size = TCP receive buffer value. + Users on non-autotuning systesm should disable TCPRcvBufPoll in the + ssh_cofig and sshd_config + + Conditions: HPNBufferSize SET, TCPRcvBufPoll disabled, TCPRcvBuf NOT Set + Result: HPN Buffer Size = minmum of TCP receive buffer and HPNBufferSize. + This would be the system defined TCP receive buffer (RWIN). + + Conditions: HPNBufferSize SET, TCPRcvBufPoll disabled, TCPRcvBuf SET + Result: HPN Buffer Size = minmum of TCPRcvBuf and HPNBufferSize. + Generally there is no need to set both. + + Conditions: HPNBufferSize SET, TCPRcvBufPoll enabled, TCPRcvBuf NOT Set + Result: HPN Buffer Size = grows to HPNBufferSize + The buffer will grow up to the maximum size specified here. + + Conditions: HPNBufferSize SET, TCPRcvBufPoll enabled, TCPRcvBuf SET + Result: HPN Buffer Size = minmum of TCPRcvBuf and HPNBufferSize. + Generally there is no need to set both of these, especially on autotuning + systems. However, if the users wishes to override the autotuning this would + be one way to do it. + + Conditions: HPNBufferSize NOT Set, TCPRcvBufPoll enabled, TCPRcvBuf SET + Result: HPN Buffer Size = TCPRcvBuf. + This will override autotuning and set the TCP recieve buffer to the user + defined value. + + +HPN SPECIFIC CONFIGURATION OPTIONS: + +- HPNEnabled=[yes/no] client/server + In some situations, such as transfers on a local area network, the impact + of the HPN code produces a net decrease in performance. In these cases it is + helpful to disable the HPN functionality. By default HPNEnabled is set to yes. + +- HPNBufferSize=[int]KB client/server + This is the default buffer size the HPN functionality uses when interacting + with non-HPN SSH installations. Conceptually this is similar to the TcpRcvBuf + option as applied to the internal SSH flow control. This value can range from + 1KB to 64MB (1-65536). Use of oversized or undersized buffers can cause + performance problems depending on the roud trip time of the network path. + The default size of this buffer is 2MB. + +- TcpRcvBufPoll=[yes/no] client/server + Enable or disable the polling of the TCP receive buffer through the life + of the connection. You would want to make sure that this option is enabled + for systems making use of autotuning kernels (linux 2.4.24+, 2.6, MS Vista, + FreeBSD 7.x and later). Default is yes. + +- TcpRcvBuf=[int]KB client + Set the TCP socket receive buffer to n Kilobytes. It can be set up to the + maximum socket size allowed by the system. This is useful in situations where + the TCP receive window is set low but the maximum buffer size is set higher + (as is typical). This works on a per TCP connection basis. You can also use + this to artifically limit the transfer rate of the connection. In these cases + the throughput will be no more than n/RTT. The minimum buffer size is 1KB. + Default is the current system wide TCP receive buffer size. + +- NoneEnabled=[yes/no] client/server + Enable or disable the use of the None cipher. Care must always be used when + enabling this as it will allow users to send data in the clear. However, it + is important to note that authentication information remains encrypted even + if this option is enabled. Set to no by default. + +- NoneSwitch=[yes/no] client + Switch the encryption cipher being used to the None cipher after + authentication takes place. NoneEnabled must be enabled on both the client + and server side of the connection. When the connection switches to the NONE + cipher a warning is sent to STDERR. The connection attempt will fail with an + error if a client requests a NoneSwitch from the server that does not + explicitly have NoneEnabled set to yes. + Note: The NONE cipher cannot be used in interactive (shell) sessions and it + will fail silently. Set to no by default. + + +CREDITS: + + This patch was conceived, designed, and led by Chris Rapier (rapier@psc.edu) + The majority of the actual coding for versions up to HPN12v1 was performed + by Michael Stevens (mstevens@andrew.cmu.edu). + The MT-AES-CTR cipher was implemented by Ben Bennet (ben@psc.edu). + This work was financed, in part, by Cisco System, Inc., the National Library + of Medicine, and the National Science Foundation. From owner-svn-src-user@FreeBSD.ORG Fri Jun 17 22:01:10 2011 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id B8615106566C; Fri, 17 Jun 2011 22:01:10 +0000 (UTC) (envelope-from brooks@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id A8DA38FC14; Fri, 17 Jun 2011 22:01:10 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p5HM1A2Y009963; Fri, 17 Jun 2011 22:01:10 GMT (envelope-from brooks@svn.freebsd.org) Received: (from brooks@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id p5HM1AAW009961; Fri, 17 Jun 2011 22:01:10 GMT (envelope-from brooks@svn.freebsd.org) Message-Id: <201106172201.p5HM1AAW009961@svn.freebsd.org> From: Brooks Davis Date: Fri, 17 Jun 2011 22:01:10 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r223213 - user/brooks/openssh-hpn X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 17 Jun 2011 22:01:10 -0000 Author: brooks Date: Fri Jun 17 22:01:10 2011 New Revision: 223213 URL: http://svn.freebsd.org/changeset/base/223213 Log: It looks like the HPN patch didn't track the window size bump in OpenBSD rev 1.89 back in 2007. Chase the updates to reduce diffs to head Modified: user/brooks/openssh-hpn/channels.h Modified: user/brooks/openssh-hpn/channels.h ============================================================================== --- user/brooks/openssh-hpn/channels.h Fri Jun 17 21:44:13 2011 (r223212) +++ user/brooks/openssh-hpn/channels.h Fri Jun 17 22:01:10 2011 (r223213) @@ -163,10 +163,10 @@ struct Channel { /* default window/packet sizes for tcp/x11-fwd-channel */ #define CHAN_SES_PACKET_DEFAULT (32*1024) -#define CHAN_SES_WINDOW_DEFAULT (4*CHAN_SES_PACKET_DEFAULT) +#define CHAN_SES_WINDOW_DEFAULT (64*CHAN_SES_PACKET_DEFAULT) #define CHAN_TCP_PACKET_DEFAULT (32*1024) -#define CHAN_TCP_WINDOW_DEFAULT (4*CHAN_TCP_PACKET_DEFAULT) +#define CHAN_TCP_WINDOW_DEFAULT (64*CHAN_TCP_PACKET_DEFAULT) #define CHAN_X11_PACKET_DEFAULT (16*1024) #define CHAN_X11_WINDOW_DEFAULT (4*CHAN_X11_PACKET_DEFAULT) From owner-svn-src-user@FreeBSD.ORG Sat Jun 18 19:43:09 2011 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id EB434106566B; Sat, 18 Jun 2011 19:43:08 +0000 (UTC) (envelope-from gabor@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id DA5088FC13; Sat, 18 Jun 2011 19:43:08 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p5IJh8m6054442; Sat, 18 Jun 2011 19:43:08 GMT (envelope-from gabor@svn.freebsd.org) Received: (from gabor@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id p5IJh8Gl054429; Sat, 18 Jun 2011 19:43:08 GMT (envelope-from gabor@svn.freebsd.org) Message-Id: <201106181943.p5IJh8Gl054429@svn.freebsd.org> From: Gabor Kovesdan Date: Sat, 18 Jun 2011 19:43:08 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r223265 - in user/gabor/tre-integration: contrib/tre/lib include lib/libc/regex X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 18 Jun 2011 19:43:09 -0000 Author: gabor Date: Sat Jun 18 19:43:08 2011 New Revision: 223265 URL: http://svn.freebsd.org/changeset/base/223265 Log: - Use weak references to allow userland tools to replace libc regex Replaced: user/gabor/tre-integration/include/regex.h - copied, changed from r223109, user/gabor/tre-integration/include/tre.h Deleted: user/gabor/tre-integration/include/tre.h Modified: user/gabor/tre-integration/contrib/tre/lib/regcomp.c user/gabor/tre-integration/contrib/tre/lib/regerror.c user/gabor/tre-integration/contrib/tre/lib/regexec.c user/gabor/tre-integration/contrib/tre/lib/tre-compile.c user/gabor/tre-integration/contrib/tre/lib/tre-internal.h user/gabor/tre-integration/contrib/tre/lib/tre-match-approx.c user/gabor/tre-integration/contrib/tre/lib/tre-match-backtrack.c user/gabor/tre-integration/contrib/tre/lib/tre-match-parallel.c user/gabor/tre-integration/contrib/tre/lib/tre-stack.h user/gabor/tre-integration/include/Makefile user/gabor/tre-integration/lib/libc/regex/Symbol.map Modified: user/gabor/tre-integration/contrib/tre/lib/regcomp.c ============================================================================== --- user/gabor/tre-integration/contrib/tre/lib/regcomp.c Sat Jun 18 19:41:05 2011 (r223264) +++ user/gabor/tre-integration/contrib/tre/lib/regcomp.c Sat Jun 18 19:43:08 2011 (r223265) @@ -13,11 +13,17 @@ #include #include #include -#include #include "tre-internal.h" +#include "tre.h" #include "xmalloc.h" +__weak_reference(tre_regcomp, regcomp); +__weak_reference(tre_regncomp, regncomp); +__weak_reference(tre_regwcomp, regwcomp); +__weak_reference(tre_regwncomp, regwncomp); +__weak_reference(tre_regfree, regfree); + int tre_regncomp(regex_t *preg, const char *regex, size_t n, int cflags) { Modified: user/gabor/tre-integration/contrib/tre/lib/regerror.c ============================================================================== --- user/gabor/tre-integration/contrib/tre/lib/regerror.c Sat Jun 18 19:41:05 2011 (r223264) +++ user/gabor/tre-integration/contrib/tre/lib/regerror.c Sat Jun 18 19:43:08 2011 (r223265) @@ -11,7 +11,6 @@ #endif /* HAVE_CONFIG_H */ #include -#include #ifdef HAVE_WCHAR_H #include #endif /* HAVE_WCHAR_H */ @@ -20,6 +19,7 @@ #endif /* HAVE_WCTYPE_H */ #include "tre-internal.h" +#include "tre.h" #ifdef HAVE_GETTEXT #include @@ -28,6 +28,8 @@ #define gettext(s) s #endif +__weak_reference(tre_regerror, regerror); + #define _(String) dgettext(PACKAGE, String) #define gettext_noop(String) String Modified: user/gabor/tre-integration/contrib/tre/lib/regexec.c ============================================================================== --- user/gabor/tre-integration/contrib/tre/lib/regexec.c Sat Jun 18 19:41:05 2011 (r223264) +++ user/gabor/tre-integration/contrib/tre/lib/regexec.c Sat Jun 18 19:43:08 2011 (r223265) @@ -27,11 +27,9 @@ char *alloca (); #endif #endif /* TRE_USE_ALLOCA */ -#include #include #include #include -#include #ifdef HAVE_WCHAR_H #include #endif /* HAVE_WCHAR_H */ @@ -47,8 +45,18 @@ char *alloca (); #include #include "tre-internal.h" +#include "tre.h" #include "xmalloc.h" +__weak_reference(tre_regexec, regexec); +__weak_reference(tre_regnexec, regnexec); +__weak_reference(tre_regwexec, regwexec); +__weak_reference(tre_regwnexec, regwnexec); +__weak_reference(tre_reguexec, reguexec); +__weak_reference(tre_regaexec, regaexec); +__weak_reference(tre_reganexec, reganexec); +__weak_reference(tre_regawexec, regawexec); +__weak_reference(tre_regawnexec, regawnexec); /* Fills the POSIX.2 regmatch_t array according to the TNFA tag and match endpoint values. */ Modified: user/gabor/tre-integration/contrib/tre/lib/tre-compile.c ============================================================================== --- user/gabor/tre-integration/contrib/tre/lib/tre-compile.c Sat Jun 18 19:41:05 2011 (r223264) +++ user/gabor/tre-integration/contrib/tre/lib/tre-compile.c Sat Jun 18 19:43:08 2011 (r223265) @@ -19,7 +19,6 @@ #include #include #include -#include #include "tre-internal.h" #include "tre-mem.h" @@ -27,6 +26,7 @@ #include "tre-ast.h" #include "tre-parse.h" #include "tre-compile.h" +#include "tre.h" #include "xmalloc.h" /* Modified: user/gabor/tre-integration/contrib/tre/lib/tre-internal.h ============================================================================== --- user/gabor/tre-integration/contrib/tre/lib/tre-internal.h Sat Jun 18 19:41:05 2011 (r223264) +++ user/gabor/tre-integration/contrib/tre/lib/tre-internal.h Sat Jun 18 19:43:08 2011 (r223265) @@ -18,7 +18,7 @@ #endif /* !HAVE_WCTYPE_H */ #include -#include +#include "tre.h" #ifdef TRE_DEBUG #include Modified: user/gabor/tre-integration/contrib/tre/lib/tre-match-approx.c ============================================================================== --- user/gabor/tre-integration/contrib/tre/lib/tre-match-approx.c Sat Jun 18 19:41:05 2011 (r223264) +++ user/gabor/tre-integration/contrib/tre/lib/tre-match-approx.c Sat Jun 18 19:43:08 2011 (r223265) @@ -33,7 +33,6 @@ char *alloca (); #include #include #include -#include #include #ifdef HAVE_WCHAR_H #include @@ -50,6 +49,7 @@ char *alloca (); #include "tre-internal.h" #include "tre-match-utils.h" +#include "tre.h" #include "xmalloc.h" #define TRE_M_COST 0 Modified: user/gabor/tre-integration/contrib/tre/lib/tre-match-backtrack.c ============================================================================== --- user/gabor/tre-integration/contrib/tre/lib/tre-match-backtrack.c Sat Jun 18 19:41:05 2011 (r223264) +++ user/gabor/tre-integration/contrib/tre/lib/tre-match-backtrack.c Sat Jun 18 19:43:08 2011 (r223265) @@ -54,7 +54,6 @@ char *alloca (); #include #include #include -#include #ifdef HAVE_WCHAR_H #include #endif /* HAVE_WCHAR_H */ @@ -71,6 +70,7 @@ char *alloca (); #include "tre-internal.h" #include "tre-mem.h" #include "tre-match-utils.h" +#include "tre.h" #include "xmalloc.h" typedef struct { Modified: user/gabor/tre-integration/contrib/tre/lib/tre-match-parallel.c ============================================================================== --- user/gabor/tre-integration/contrib/tre/lib/tre-match-parallel.c Sat Jun 18 19:41:05 2011 (r223264) +++ user/gabor/tre-integration/contrib/tre/lib/tre-match-parallel.c Sat Jun 18 19:43:08 2011 (r223265) @@ -47,7 +47,6 @@ char *alloca (); #include #include #include -#include #ifdef HAVE_WCHAR_H #include #endif /* HAVE_WCHAR_H */ @@ -63,6 +62,7 @@ char *alloca (); #include "tre-internal.h" #include "tre-match-utils.h" +#include "tre.h" #include "xmalloc.h" Modified: user/gabor/tre-integration/contrib/tre/lib/tre-stack.h ============================================================================== --- user/gabor/tre-integration/contrib/tre/lib/tre-stack.h Sat Jun 18 19:41:05 2011 (r223264) +++ user/gabor/tre-integration/contrib/tre/lib/tre-stack.h Sat Jun 18 19:43:08 2011 (r223265) @@ -10,7 +10,7 @@ #ifndef TRE_STACK_H #define TRE_STACK_H 1 -#include +#include "tre.h" typedef struct tre_stack_rec tre_stack_t; Modified: user/gabor/tre-integration/include/Makefile ============================================================================== --- user/gabor/tre-integration/include/Makefile Sat Jun 18 19:41:05 2011 (r223264) +++ user/gabor/tre-integration/include/Makefile Sat Jun 18 19:43:08 2011 (r223265) @@ -22,7 +22,7 @@ INCS= a.out.h ar.h assert.h bitstring.h signal.h spawn.h stab.h \ stdbool.h stddef.h stdio.h stdlib.h string.h stringlist.h \ strings.h sysexits.h tar.h termios.h tgmath.h \ - time.h timeconv.h timers.h tre.h ttyent.h \ + time.h timeconv.h timers.h ttyent.h \ ulimit.h unistd.h utime.h utmpx.h uuid.h varargs.h vis.h \ wchar.h wctype.h wordexp.h Copied and modified: user/gabor/tre-integration/include/regex.h (from r223109, user/gabor/tre-integration/include/tre.h) ============================================================================== --- user/gabor/tre-integration/include/tre.h Wed Jun 15 14:07:16 2011 (r223109, copy source) +++ user/gabor/tre-integration/include/regex.h Sat Jun 18 19:43:08 2011 (r223265) @@ -6,8 +6,8 @@ */ -#ifndef TRE_H -#define TRE_H 1 +#ifndef REGEX_H +#define REGEX_H 1 #include @@ -18,6 +18,24 @@ extern "C" { #endif +#define tre_regcomp regcomp +#define tre_regerror regerror +#define tre_regexec regexec +#define tre_regfree regfree + +#define tre_regacomp regacomp +#define tre_regaexec regaexec +#define tre_regancomp regancomp +#define tre_reganexec reganexec +#define tre_regawncomp regawncomp +#define tre_regawnexec regawnexec +#define tre_regncomp regncomp +#define tre_regnexec regnexec +#define tre_regwcomp regwcomp +#define tre_regwexec regwexec +#define tre_regwncomp regwncomp +#define tre_regwnexec regwnexec + typedef int regoff_t; typedef struct { size_t re_nsub; /* Number of parenthesized subexpressions. */ @@ -85,46 +103,46 @@ typedef enum { /* The POSIX.2 regexp functions */ extern int -tre_regcomp(regex_t *preg, const char *regex, int cflags); +regcomp(regex_t *preg, const char *regex, int cflags); extern int -tre_regexec(const regex_t *preg, const char *string, size_t nmatch, +regexec(const regex_t *preg, const char *string, size_t nmatch, regmatch_t pmatch[], int eflags); extern size_t -tre_regerror(int errcode, const regex_t *preg, char *errbuf, +regerror(int errcode, const regex_t *preg, char *errbuf, size_t errbuf_size); extern void -tre_regfree(regex_t *preg); +regfree(regex_t *preg); #ifdef TRE_WCHAR #include /* Wide character versions (not in POSIX.2). */ extern int -tre_regwcomp(regex_t *preg, const wchar_t *regex, int cflags); +regwcomp(regex_t *preg, const wchar_t *regex, int cflags); extern int -tre_regwexec(const regex_t *preg, const wchar_t *string, +regwexec(const regex_t *preg, const wchar_t *string, size_t nmatch, regmatch_t pmatch[], int eflags); #endif /* TRE_WCHAR */ /* Versions with a maximum length argument and therefore the capability to handle null characters in the middle of the strings (not in POSIX.2). */ extern int -tre_regncomp(regex_t *preg, const char *regex, size_t len, int cflags); +regncomp(regex_t *preg, const char *regex, size_t len, int cflags); extern int -tre_regnexec(const regex_t *preg, const char *string, size_t len, +regnexec(const regex_t *preg, const char *string, size_t len, size_t nmatch, regmatch_t pmatch[], int eflags); #ifdef TRE_WCHAR extern int -tre_regwncomp(regex_t *preg, const wchar_t *regex, size_t len, int cflags); +regwncomp(regex_t *preg, const wchar_t *regex, size_t len, int cflags); extern int -tre_regwnexec(const regex_t *preg, const wchar_t *string, size_t len, +regwnexec(const regex_t *preg, const wchar_t *string, size_t len, size_t nmatch, regmatch_t pmatch[], int eflags); #endif /* TRE_WCHAR */ @@ -156,20 +174,20 @@ typedef struct { /* Approximate matching functions. */ extern int -tre_regaexec(const regex_t *preg, const char *string, +regaexec(const regex_t *preg, const char *string, regamatch_t *match, regaparams_t params, int eflags); extern int -tre_reganexec(const regex_t *preg, const char *string, size_t len, +reganexec(const regex_t *preg, const char *string, size_t len, regamatch_t *match, regaparams_t params, int eflags); #ifdef TRE_WCHAR /* Wide character approximate matching. */ extern int -tre_regawexec(const regex_t *preg, const wchar_t *string, +regawexec(const regex_t *preg, const wchar_t *string, regamatch_t *match, regaparams_t params, int eflags); extern int -tre_regawnexec(const regex_t *preg, const wchar_t *string, size_t len, +regawnexec(const regex_t *preg, const wchar_t *string, size_t len, regamatch_t *match, regaparams_t params, int eflags); #endif /* TRE_WCHAR */ @@ -192,7 +210,7 @@ typedef struct { } tre_str_source; extern int -tre_reguexec(const regex_t *preg, const tre_str_source *string, +reguexec(const regex_t *preg, const tre_str_source *string, size_t nmatch, regmatch_t pmatch[], int eflags); /* Returns the version string. The returned string is static. */ @@ -225,6 +243,6 @@ tre_have_approx(const regex_t *preg); #ifdef __cplusplus } #endif -#endif /* TRE_H */ +#endif /* REGEX_H */ /* EOF */ Modified: user/gabor/tre-integration/lib/libc/regex/Symbol.map ============================================================================== --- user/gabor/tre-integration/lib/libc/regex/Symbol.map Sat Jun 18 19:41:05 2011 (r223264) +++ user/gabor/tre-integration/lib/libc/regex/Symbol.map Sat Jun 18 19:43:08 2011 (r223265) @@ -3,12 +3,28 @@ */ FBSD_1.2 { + regacomp; + regaexec; + regancomp; + reganexec; + regawncomp; + regawnexec; + regcomp; + regerror; + regexec; + regfree; + regncomp; + regnexec; + regwcomp; + regwexec; + regwncomp; + regwnexec; tre_config; tre_regacomp; tre_regaexec; + tre_regaparams_default; tre_regancomp; tre_reganexec; - tre_regaparams_default; tre_regawncomp; tre_regawnexec; tre_regcomp; From owner-svn-src-user@FreeBSD.ORG Sat Jun 18 19:58:10 2011 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 72A111065670; Sat, 18 Jun 2011 19:58:10 +0000 (UTC) (envelope-from gabor@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 5F7898FC17; Sat, 18 Jun 2011 19:58:10 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p5IJwAXb055011; Sat, 18 Jun 2011 19:58:10 GMT (envelope-from gabor@svn.freebsd.org) Received: (from gabor@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id p5IJw9cZ054971; Sat, 18 Jun 2011 19:58:09 GMT (envelope-from gabor@svn.freebsd.org) Message-Id: <201106181958.p5IJw9cZ054971@svn.freebsd.org> From: Gabor Kovesdan Date: Sat, 18 Jun 2011 19:58:09 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r223266 - in user/gabor/tre-integration: . bin/sh cddl/contrib/opensolaris/lib/libdtrace/common contrib/binutils/bfd contrib/binutils/gas contrib/binutils/gas/config contrib/binutils/ld... X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 18 Jun 2011 19:58:10 -0000 Author: gabor Date: Sat Jun 18 19:58:09 2011 New Revision: 223266 URL: http://svn.freebsd.org/changeset/base/223266 Log: - Merge from HEAD Added: user/gabor/tre-integration/etc/rc.d/kld - copied unchanged from r223265, head/etc/rc.d/kld user/gabor/tre-integration/lib/libthr/arch/sparc64/sparc64/_umtx_op_err.S - copied unchanged from r223265, head/lib/libthr/arch/sparc64/sparc64/_umtx_op_err.S user/gabor/tre-integration/tools/build/options/WITHOUT_UTMPX - copied unchanged from r223265, head/tools/build/options/WITHOUT_UTMPX user/gabor/tre-integration/tools/regression/bin/sh/builtins/case8.0 - copied unchanged from r223265, head/tools/regression/bin/sh/builtins/case8.0 user/gabor/tre-integration/tools/regression/bin/sh/builtins/case9.0 - copied unchanged from r223265, head/tools/regression/bin/sh/builtins/case9.0 user/gabor/tre-integration/tools/regression/bin/sh/builtins/export1.0 - copied unchanged from r223265, head/tools/regression/bin/sh/builtins/export1.0 user/gabor/tre-integration/tools/regression/bin/sh/builtins/set2.0 - copied unchanged from r223265, head/tools/regression/bin/sh/builtins/set2.0 user/gabor/tre-integration/tools/regression/bin/sh/expansion/cmdsubst11.0 - copied unchanged from r223265, head/tools/regression/bin/sh/expansion/cmdsubst11.0 Modified: user/gabor/tre-integration/Makefile user/gabor/tre-integration/Makefile.inc1 user/gabor/tre-integration/UPDATING user/gabor/tre-integration/bin/sh/eval.c user/gabor/tre-integration/bin/sh/expand.c user/gabor/tre-integration/bin/sh/mktokens user/gabor/tre-integration/bin/sh/nodetypes user/gabor/tre-integration/bin/sh/parser.c user/gabor/tre-integration/bin/sh/sh.1 user/gabor/tre-integration/bin/sh/var.c user/gabor/tre-integration/cddl/contrib/opensolaris/lib/libdtrace/common/dt_subr.c user/gabor/tre-integration/contrib/binutils/bfd/coffcode.h user/gabor/tre-integration/contrib/binutils/bfd/opncls.c user/gabor/tre-integration/contrib/binutils/bfd/peicode.h user/gabor/tre-integration/contrib/binutils/gas/config/obj-elf.c user/gabor/tre-integration/contrib/binutils/gas/frags.c user/gabor/tre-integration/contrib/binutils/gas/subsegs.c user/gabor/tre-integration/contrib/binutils/ld/ldexp.c user/gabor/tre-integration/contrib/binutils/ld/sysdep.h user/gabor/tre-integration/contrib/binutils/opcodes/i386-dis.c user/gabor/tre-integration/contrib/gcc/cfg.c user/gabor/tre-integration/contrib/gcc/output.h user/gabor/tre-integration/contrib/gcc/rtl.h user/gabor/tre-integration/contrib/gcc/tree.h user/gabor/tre-integration/contrib/gperf/src/gen-perf.cc user/gabor/tre-integration/contrib/gperf/src/key-list.cc user/gabor/tre-integration/etc/defaults/rc.conf user/gabor/tre-integration/etc/periodic/daily/800.scrub-zfs user/gabor/tre-integration/etc/periodic/monthly/Makefile user/gabor/tre-integration/etc/rc.d/Makefile user/gabor/tre-integration/etc/rc.d/var user/gabor/tre-integration/etc/rc.subr user/gabor/tre-integration/lib/libc/db/btree/bt_split.c user/gabor/tre-integration/lib/libc/db/man/mpool.3 user/gabor/tre-integration/lib/libc/gen/basename.3 user/gabor/tre-integration/lib/libc/gen/basename.c user/gabor/tre-integration/lib/libc/gen/ftw.c user/gabor/tre-integration/lib/libc/gen/posix_spawn.3 user/gabor/tre-integration/lib/libc/gen/sysconf.c user/gabor/tre-integration/lib/libc/net/sctp_opt_info.3 user/gabor/tre-integration/lib/libc/net/sctp_sys_calls.c user/gabor/tre-integration/lib/libc/sys/wait.2 user/gabor/tre-integration/lib/libstand/net.c user/gabor/tre-integration/lib/libstand/tftp.c user/gabor/tre-integration/lib/libstand/zalloc.c user/gabor/tre-integration/lib/libstand/zalloc_malloc.c user/gabor/tre-integration/lib/libthr/arch/sparc64/Makefile.inc user/gabor/tre-integration/lib/libthr/arch/sparc64/include/pthread_md.h user/gabor/tre-integration/lib/libthr/arch/sparc64/sparc64/pthread_md.c user/gabor/tre-integration/lib/msun/ld80/e_rem_pio2l.h user/gabor/tre-integration/libexec/rtld-elf/rtld.c user/gabor/tre-integration/libexec/tftpd/tftpd.8 user/gabor/tre-integration/release/Makefile user/gabor/tre-integration/sbin/geom/class/part/geom_part.c user/gabor/tre-integration/sbin/hastd/primary.c user/gabor/tre-integration/sbin/hastd/proto_common.c user/gabor/tre-integration/sbin/hastd/secondary.c user/gabor/tre-integration/sbin/ipfw/ipfw2.c user/gabor/tre-integration/sbin/ipfw/nat.c user/gabor/tre-integration/share/examples/etc/make.conf user/gabor/tre-integration/share/man/man4/snd_hda.4 user/gabor/tre-integration/share/man/man5/make.conf.5 user/gabor/tre-integration/share/man/man5/rc.conf.5 user/gabor/tre-integration/share/man/man5/src.conf.5 user/gabor/tre-integration/share/man/man7/build.7 user/gabor/tre-integration/share/man/man9/Makefile user/gabor/tre-integration/share/man/man9/device_get_sysctl.9 user/gabor/tre-integration/share/misc/usb_hid_usages user/gabor/tre-integration/share/mk/bsd.own.mk user/gabor/tre-integration/sys/amd64/ia32/ia32_sigtramp.S user/gabor/tre-integration/sys/boot/i386/libi386/biosacpi.c user/gabor/tre-integration/sys/cddl/contrib/opensolaris/uts/common/sys/ctf_api.h user/gabor/tre-integration/sys/compat/freebsd32/freebsd32_misc.c user/gabor/tre-integration/sys/compat/freebsd32/freebsd32_proto.h user/gabor/tre-integration/sys/compat/freebsd32/freebsd32_syscall.h user/gabor/tre-integration/sys/compat/freebsd32/freebsd32_syscalls.c user/gabor/tre-integration/sys/compat/freebsd32/freebsd32_sysent.c user/gabor/tre-integration/sys/compat/freebsd32/syscalls.master user/gabor/tre-integration/sys/compat/linprocfs/linprocfs.c user/gabor/tre-integration/sys/conf/Makefile.arm user/gabor/tre-integration/sys/dev/acpica/acpi.c user/gabor/tre-integration/sys/dev/acpica/acpi_pci.c user/gabor/tre-integration/sys/dev/e1000/if_igb.c user/gabor/tre-integration/sys/dev/e1000/if_igb.h user/gabor/tre-integration/sys/dev/pccbb/pccbb.c user/gabor/tre-integration/sys/dev/sound/pci/hda/hdac.c user/gabor/tre-integration/sys/ia64/ia64/busdma_machdep.c user/gabor/tre-integration/sys/ia64/ia64/pmap.c user/gabor/tre-integration/sys/ia64/include/ia64_cpu.h user/gabor/tre-integration/sys/kern/imgact_aout.c user/gabor/tre-integration/sys/kern/link_elf.c user/gabor/tre-integration/sys/kern/sys_process.c user/gabor/tre-integration/sys/net/if_gre.c user/gabor/tre-integration/sys/net/if_gre.h user/gabor/tre-integration/sys/net80211/ieee80211_acl.c user/gabor/tre-integration/sys/net80211/ieee80211_ioctl.c user/gabor/tre-integration/sys/net80211/ieee80211_ioctl.h user/gabor/tre-integration/sys/netinet/if_ether.c user/gabor/tre-integration/sys/netinet/sctp.h user/gabor/tre-integration/sys/netinet/sctp_auth.c user/gabor/tre-integration/sys/netinet/sctp_indata.c user/gabor/tre-integration/sys/netinet/sctp_output.c user/gabor/tre-integration/sys/netinet/sctp_pcb.c user/gabor/tre-integration/sys/netinet/sctp_structs.h user/gabor/tre-integration/sys/netinet/sctp_uio.h user/gabor/tre-integration/sys/netinet/sctp_usrreq.c user/gabor/tre-integration/sys/netinet/sctp_var.h user/gabor/tre-integration/sys/netinet/sctputil.c user/gabor/tre-integration/sys/sparc64/include/smp.h user/gabor/tre-integration/sys/sparc64/sparc64/intr_machdep.c user/gabor/tre-integration/sys/sys/diskpc98.h user/gabor/tre-integration/sys/sys/param.h user/gabor/tre-integration/sys/ufs/ffs/ffs_alloc.c user/gabor/tre-integration/sys/ufs/ffs/ffs_balloc.c user/gabor/tre-integration/sys/ufs/ffs/ffs_extern.h user/gabor/tre-integration/sys/ufs/ffs/ffs_inode.c user/gabor/tre-integration/sys/ufs/ffs/ffs_snapshot.c user/gabor/tre-integration/sys/ufs/ffs/ffs_softdep.c user/gabor/tre-integration/sys/ufs/ffs/softdep.h user/gabor/tre-integration/sys/x86/x86/tsc.c user/gabor/tre-integration/tools/build/mk/OptionalObsoleteFiles.inc user/gabor/tre-integration/tools/build/options/WITHOUT_ACCT user/gabor/tre-integration/usr.bin/Makefile user/gabor/tre-integration/usr.bin/kdump/mksubr user/gabor/tre-integration/usr.bin/ldd/sods.c user/gabor/tre-integration/usr.bin/tftp/main.c user/gabor/tre-integration/usr.bin/tftp/tftp.1 user/gabor/tre-integration/usr.bin/users/users.c user/gabor/tre-integration/usr.bin/xlint/lint1/decl.c user/gabor/tre-integration/usr.bin/xlint/lint1/scan.l user/gabor/tre-integration/usr.bin/xlint/lint2/msg.c user/gabor/tre-integration/usr.bin/xlint/lint2/read.c user/gabor/tre-integration/usr.sbin/Makefile user/gabor/tre-integration/usr.sbin/fdread/fdread.c user/gabor/tre-integration/usr.sbin/jls/jls.c user/gabor/tre-integration/usr.sbin/makefs/ffs/ffs_bswap.c user/gabor/tre-integration/usr.sbin/makefs/ffs/ffs_subr.c user/gabor/tre-integration/usr.sbin/pw/pw_user.c Directory Properties: user/gabor/tre-integration/ (props changed) user/gabor/tre-integration/cddl/contrib/opensolaris/ (props changed) user/gabor/tre-integration/contrib/bind9/ (props changed) user/gabor/tre-integration/contrib/binutils/ (props changed) user/gabor/tre-integration/contrib/bzip2/ (props changed) user/gabor/tre-integration/contrib/compiler-rt/ (props changed) user/gabor/tre-integration/contrib/dialog/ (props changed) user/gabor/tre-integration/contrib/ee/ (props changed) user/gabor/tre-integration/contrib/expat/ (props changed) user/gabor/tre-integration/contrib/file/ (props changed) user/gabor/tre-integration/contrib/gcc/ (props changed) user/gabor/tre-integration/contrib/gdb/ (props changed) user/gabor/tre-integration/contrib/gdtoa/ (props changed) user/gabor/tre-integration/contrib/gnu-sort/ (props changed) user/gabor/tre-integration/contrib/groff/ (props changed) user/gabor/tre-integration/contrib/less/ (props changed) user/gabor/tre-integration/contrib/libpcap/ (props changed) user/gabor/tre-integration/contrib/libstdc++/ (props changed) user/gabor/tre-integration/contrib/llvm/ (props changed) user/gabor/tre-integration/contrib/llvm/tools/clang/ (props changed) user/gabor/tre-integration/contrib/ncurses/ (props changed) user/gabor/tre-integration/contrib/netcat/ (props changed) user/gabor/tre-integration/contrib/ntp/ (props changed) user/gabor/tre-integration/contrib/one-true-awk/ (props changed) user/gabor/tre-integration/contrib/openbsm/ (props changed) user/gabor/tre-integration/contrib/openpam/ (props changed) user/gabor/tre-integration/contrib/pf/ (props changed) user/gabor/tre-integration/contrib/sendmail/ (props changed) user/gabor/tre-integration/contrib/tcpdump/ (props changed) user/gabor/tre-integration/contrib/tcsh/ (props changed) user/gabor/tre-integration/contrib/top/ (props changed) user/gabor/tre-integration/contrib/top/install-sh (props changed) user/gabor/tre-integration/contrib/tzcode/stdtime/ (props changed) user/gabor/tre-integration/contrib/tzcode/zic/ (props changed) user/gabor/tre-integration/contrib/tzdata/ (props changed) user/gabor/tre-integration/contrib/wpa/ (props changed) user/gabor/tre-integration/contrib/xz/ (props changed) user/gabor/tre-integration/crypto/openssh/ (props changed) user/gabor/tre-integration/crypto/openssl/ (props changed) user/gabor/tre-integration/gnu/lib/ (props changed) user/gabor/tre-integration/gnu/usr.bin/binutils/ (props changed) user/gabor/tre-integration/gnu/usr.bin/cc/cc_tools/ (props changed) user/gabor/tre-integration/gnu/usr.bin/gdb/ (props changed) user/gabor/tre-integration/lib/libc/ (props changed) user/gabor/tre-integration/lib/libc/stdtime/ (props changed) user/gabor/tre-integration/lib/libutil/ (props changed) user/gabor/tre-integration/lib/libz/ (props changed) user/gabor/tre-integration/sbin/ (props changed) user/gabor/tre-integration/sbin/ipfw/ (props changed) user/gabor/tre-integration/share/mk/bsd.arch.inc.mk (props changed) user/gabor/tre-integration/share/zoneinfo/ (props changed) user/gabor/tre-integration/sys/ (props changed) user/gabor/tre-integration/sys/amd64/include/xen/ (props changed) user/gabor/tre-integration/sys/boot/ (props changed) user/gabor/tre-integration/sys/boot/i386/efi/ (props changed) user/gabor/tre-integration/sys/boot/ia64/efi/ (props changed) user/gabor/tre-integration/sys/boot/ia64/ski/ (props changed) user/gabor/tre-integration/sys/boot/powerpc/boot1.chrp/ (props changed) user/gabor/tre-integration/sys/boot/powerpc/ofw/ (props changed) user/gabor/tre-integration/sys/cddl/contrib/opensolaris/ (props changed) user/gabor/tre-integration/sys/conf/ (props changed) user/gabor/tre-integration/sys/contrib/dev/acpica/ (props changed) user/gabor/tre-integration/sys/contrib/octeon-sdk/ (props changed) user/gabor/tre-integration/sys/contrib/pf/ (props changed) user/gabor/tre-integration/sys/contrib/x86emu/ (props changed) user/gabor/tre-integration/usr.bin/calendar/ (props changed) user/gabor/tre-integration/usr.bin/csup/ (props changed) user/gabor/tre-integration/usr.bin/procstat/ (props changed) user/gabor/tre-integration/usr.sbin/ndiscvt/ (props changed) user/gabor/tre-integration/usr.sbin/zic/ (props changed) Modified: user/gabor/tre-integration/Makefile ============================================================================== --- user/gabor/tre-integration/Makefile Sat Jun 18 19:43:08 2011 (r223265) +++ user/gabor/tre-integration/Makefile Sat Jun 18 19:58:09 2011 (r223266) @@ -19,7 +19,7 @@ # kernel - buildkernel + installkernel. # kernel-toolchain - Builds the subset of world necessary to build a kernel # doxygen - Build API documentation of the kernel, needs doxygen. -# update - Convenient way to update your source tree (cvs). +# update - Convenient way to update your source tree(s). # check-old - List obsolete directories/files/libraries. # check-old-dirs - List obsolete directories. # check-old-files - List obsolete files. Modified: user/gabor/tre-integration/Makefile.inc1 ============================================================================== --- user/gabor/tre-integration/Makefile.inc1 Sat Jun 18 19:43:08 2011 (r223265) +++ user/gabor/tre-integration/Makefile.inc1 Sat Jun 18 19:58:09 2011 (r223266) @@ -12,6 +12,7 @@ # -DNO_KERNELOBJ do not run ${MAKE} obj in ${MAKE} buildkernel # -DNO_PORTSUPDATE do not update ports in ${MAKE} update # -DNO_DOCUPDATE do not update doc in ${MAKE} update +# -DNO_WWWUPDATE do not update www in ${MAKE} update # -DNO_CTF do not run the DTrace CTF conversion tools on built objects # LOCAL_DIRS="list of dirs" to add additional dirs to the SUBDIR list # TARGET="machine" to crossbuild world for a different machine type @@ -904,7 +905,7 @@ doxygen: # # update # -# Update the source tree, by running cvsup and/or running cvs to update to the +# Update the source tree(s), by running cvsup/cvs/svn to update to the # latest copy. # update: @@ -927,6 +928,9 @@ update: .if defined(DOCSUPFILE) && !defined(NO_DOCUPDATE) @${SUP} ${SUPFLAGS} ${DOCSUPFILE} .endif +.if defined(WWWSUPFILE) && !defined(NO_WWWUPDATE) + @${SUP} ${SUPFLAGS} ${WWWSUPFILE} +.endif .endif .if defined(CVS_UPDATE) @cd ${.CURDIR} ; \ Modified: user/gabor/tre-integration/UPDATING ============================================================================== --- user/gabor/tre-integration/UPDATING Sat Jun 18 19:43:08 2011 (r223265) +++ user/gabor/tre-integration/UPDATING Sat Jun 18 19:58:09 2011 (r223266) @@ -52,6 +52,18 @@ NOTE TO PEOPLE WHO THINK THAT FreeBSD 9. 20110513: Support for sun4v architecture is officially dropped +20110503: + Several KPI breaking changes have been committed to the mii(4) layer, + the PHY drivers and consequently some Ethernet drivers using mii(4). + This means that miibus.ko and the modules of the affected Ethernet + drivers need to be recompiled. + + Note to kernel developers: Given that the OUI bit reversion problem + was fixed as part of these changes all mii(4) commits related to OUIs, + i.e. to sys/dev/mii/miidevs, PHY driver probing and vendor specific + handling, no longer can be merged verbatim to stable/8 and previous + branches. + 20110430: Users of the Atheros AR71xx SoC code now need to add 'device ar71xx_pci' into their kernel configurations along with 'device pci'. Modified: user/gabor/tre-integration/bin/sh/eval.c ============================================================================== --- user/gabor/tre-integration/bin/sh/eval.c Sat Jun 18 19:43:08 2011 (r223265) +++ user/gabor/tre-integration/bin/sh/eval.c Sat Jun 18 19:58:09 2011 (r223266) @@ -140,7 +140,7 @@ evalcmd(int argc, char **argv) STPUTC('\0', concat); p = grabstackstr(concat); } - evalstring(p, builtin_flags & EV_TESTED); + evalstring(p, builtin_flags); } else exitstatus = 0; return exitstatus; @@ -386,6 +386,14 @@ evalcase(union node *n, int flags) for (cp = n->ncase.cases ; cp && evalskip == 0 ; cp = cp->nclist.next) { for (patp = cp->nclist.pattern ; patp ; patp = patp->narg.next) { if (casematch(patp, arglist.list->text)) { + while (cp->nclist.next && + cp->type == NCLISTFALLTHRU) { + if (evalskip != 0) + break; + evaltree(cp->nclist.body, + flags & ~EV_EXIT); + cp = cp->nclist.next; + } if (evalskip == 0) { evaltree(cp->nclist.body, flags); } @@ -908,6 +916,7 @@ evalcommand(union node *cmd, int flags, dup2(pip[1], 1); close(pip[1]); } + flags &= ~EV_BACKCMD; } flags |= EV_EXIT; } Modified: user/gabor/tre-integration/bin/sh/expand.c ============================================================================== --- user/gabor/tre-integration/bin/sh/expand.c Sat Jun 18 19:43:08 2011 (r223265) +++ user/gabor/tre-integration/bin/sh/expand.c Sat Jun 18 19:58:09 2011 (r223266) @@ -53,6 +53,7 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include /* * Routines to expand arguments to commands. We have to deal with @@ -1401,13 +1402,43 @@ get_wc(const char **p) /* + * See if a character matches a character class, starting at the first colon + * of "[:class:]". + * If a valid character class is recognized, a pointer to the next character + * after the final closing bracket is stored into *end, otherwise a null + * pointer is stored into *end. + */ +static int +match_charclass(const char *p, wchar_t chr, const char **end) +{ + char name[20]; + const char *nameend; + wctype_t cclass; + + *end = NULL; + p++; + nameend = strstr(p, ":]"); + if (nameend == NULL || nameend - p >= sizeof(name) || nameend == p) + return 0; + memcpy(name, p, nameend - p); + name[nameend - p] = '\0'; + *end = nameend + 2; + cclass = wctype(name); + /* An unknown class matches nothing but is valid nevertheless. */ + if (cclass == 0) + return 0; + return iswctype(chr, cclass); +} + + +/* * Returns true if the pattern matches the string. */ int patmatch(const char *pattern, const char *string, int squoted) { - const char *p, *q; + const char *p, *q, *end; char c; wchar_t wc, wc2; @@ -1495,6 +1526,11 @@ patmatch(const char *pattern, const char do { if (c == CTLQUOTEMARK) continue; + if (c == '[' && *p == ':') { + found |= match_charclass(p, chr, &end); + if (end != NULL) + p = end; + } if (c == CTLESC) c = *p++; if (localeisutf8 && c & 0x80) { Modified: user/gabor/tre-integration/bin/sh/mktokens ============================================================================== --- user/gabor/tre-integration/bin/sh/mktokens Sat Jun 18 19:43:08 2011 (r223265) +++ user/gabor/tre-integration/bin/sh/mktokens Sat Jun 18 19:58:09 2011 (r223266) @@ -50,6 +50,7 @@ TPIPE 0 "|" TLP 0 "(" TRP 1 ")" TENDCASE 1 ";;" +TFALLTHRU 1 ";&" TREDIR 0 redirection TWORD 0 word TIF 0 "if" Modified: user/gabor/tre-integration/bin/sh/nodetypes ============================================================================== --- user/gabor/tre-integration/bin/sh/nodetypes Sat Jun 18 19:43:08 2011 (r223265) +++ user/gabor/tre-integration/bin/sh/nodetypes Sat Jun 18 19:58:09 2011 (r223266) @@ -96,12 +96,13 @@ NCASE ncase # a case statement expr nodeptr # the word to switch on cases nodeptr # the list of cases (NCLIST nodes) -NCLIST nclist # a case +NCLIST nclist # a case ending with ;; type int next nodeptr # the next case in list pattern nodeptr # list of patterns for this case body nodeptr # code to execute for this case +NCLISTFALLTHRU nclist # a case ending with ;& NDEFUN narg # define a function. The "next" field contains # the body of the function. Modified: user/gabor/tre-integration/bin/sh/parser.c ============================================================================== --- user/gabor/tre-integration/bin/sh/parser.c Sat Jun 18 19:43:08 2011 (r223265) +++ user/gabor/tre-integration/bin/sh/parser.c Sat Jun 18 19:58:09 2011 (r223266) @@ -542,10 +542,13 @@ TRACE(("expecting DO got %s %s\n", tokna checkkwd = CHKNL | CHKKWD | CHKALIAS; if ((t = readtoken()) != TESAC) { - if (t != TENDCASE) - synexpect(TENDCASE); + if (t == TENDCASE) + ; + else if (t == TFALLTHRU) + cp->type = NCLISTFALLTHRU; else - checkkwd = CHKNL | CHKKWD, readtoken(); + synexpect(TENDCASE); + checkkwd = CHKNL | CHKKWD, readtoken(); } cpp = &cp->nclist.next; } @@ -931,8 +934,11 @@ xxreadtoken(void) pungetc(); RETURN(TPIPE); case ';': - if (pgetc() == ';') + c = pgetc(); + if (c == ';') RETURN(TENDCASE); + else if (c == '&') + RETURN(TFALLTHRU); pungetc(); RETURN(TSEMI); case '(': Modified: user/gabor/tre-integration/bin/sh/sh.1 ============================================================================== --- user/gabor/tre-integration/bin/sh/sh.1 Sat Jun 18 19:43:08 2011 (r223265) +++ user/gabor/tre-integration/bin/sh/sh.1 Sat Jun 18 19:58:09 2011 (r223266) @@ -32,7 +32,7 @@ .\" from: @(#)sh.1 8.6 (Berkeley) 5/4/95 .\" $FreeBSD$ .\" -.Dd June 12, 2011 +.Dd June 17, 2011 .Dt SH 1 .Os .Sh NAME @@ -372,7 +372,7 @@ The following is a list of valid operato .It Control operators: .Bl -column "XXX" "XXX" "XXX" "XXX" "XXX" -offset center -compact .It Li & Ta Li && Ta Li ( Ta Li ) Ta Li \en -.It Li ;; Ta Li ; Ta Li | Ta Li || +.It Li ;; Ta Li ;& Ta Li ; Ta Li | Ta Li || .El .It Redirection operators: .Bl -column "XXX" "XXX" "XXX" "XXX" "XXX" -offset center -compact @@ -990,6 +990,11 @@ described later), separated by .Ql \&| characters. +If the selected list is terminated by the control operator +.Ql ;& +instead of +.Ql ;; , +execution continues with the next list. The exit code of the .Ic case command is the exit code of the last command executed in the list or @@ -1648,6 +1653,15 @@ matches a rather than introducing a character class. A character class matches any of the characters between the square brackets. A range of characters may be specified using a minus sign. +A named class of characters (see +.Xr wctype 3 ) +may be specified by surrounding the name with +.Ql \&[: +and +.Ql :\&] . +For example, +.Ql \&[\&[:alpha:\&]\&] +is a shell pattern that matches a single letter. The character class may be complemented by making an exclamation point .Pq Ql !\& the first character of the character class. @@ -2572,6 +2586,7 @@ will return the argument. .Xr execve 2 , .Xr getrlimit 2 , .Xr umask 2 , +.Xr wctype 3 , .Xr editrc 5 .Sh HISTORY A Modified: user/gabor/tre-integration/bin/sh/var.c ============================================================================== --- user/gabor/tre-integration/bin/sh/var.c Sat Jun 18 19:43:08 2011 (r223265) +++ user/gabor/tre-integration/bin/sh/var.c Sat Jun 18 19:58:09 2011 (r223266) @@ -612,6 +612,12 @@ showvarscmd(int argc __unused, char **ar qsort(vars, n, sizeof(*vars), var_compare); for (i = 0; i < n; i++) { + /* + * Skip improper variable names so the output remains usable as + * shell input. + */ + if (!isassignment(vars[i])) + continue; s = strchr(vars[i], '='); s++; outbin(vars[i], s - vars[i], out1); @@ -683,6 +689,13 @@ exportcmd(int argc, char **argv) for (vp = *vpp ; vp ; vp = vp->next) { if (vp->flags & flag) { if (values) { + /* + * Skip improper variable names + * so the output remains usable + * as shell input. + */ + if (!isassignment(vp->text)) + continue; out1str(cmdname); out1c(' '); } Modified: user/gabor/tre-integration/cddl/contrib/opensolaris/lib/libdtrace/common/dt_subr.c ============================================================================== --- user/gabor/tre-integration/cddl/contrib/opensolaris/lib/libdtrace/common/dt_subr.c Sat Jun 18 19:43:08 2011 (r223265) +++ user/gabor/tre-integration/cddl/contrib/opensolaris/lib/libdtrace/common/dt_subr.c Sat Jun 18 19:58:09 2011 (r223266) @@ -45,6 +45,7 @@ #include #include #include +#include #include @@ -811,15 +812,14 @@ dt_basename(char *str) ulong_t dt_popc(ulong_t x) { -#ifdef _ILP32 +#if defined(_ILP32) x = x - ((x >> 1) & 0x55555555UL); x = (x & 0x33333333UL) + ((x >> 2) & 0x33333333UL); x = (x + (x >> 4)) & 0x0F0F0F0FUL; x = x + (x >> 8); x = x + (x >> 16); return (x & 0x3F); -#endif -#ifdef _LP64 +#elif defined(_LP64) x = x - ((x >> 1) & 0x5555555555555555ULL); x = (x & 0x3333333333333333ULL) + ((x >> 2) & 0x3333333333333333ULL); x = (x + (x >> 4)) & 0x0F0F0F0F0F0F0F0FULL; @@ -827,6 +827,8 @@ dt_popc(ulong_t x) x = x + (x >> 16); x = x + (x >> 32); return (x & 0x7F); +#else +# warning need td_popc() implementation #endif } @@ -958,7 +960,7 @@ dtrace_uaddr2str(dtrace_hdl_t *dtp, pid_ P = dt_proc_grab(dtp, pid, PGRAB_RDONLY | PGRAB_FORCE, 0); if (P == NULL) { - (void) snprintf(c, sizeof (c), "0x%llx", addr); + (void) snprintf(c, sizeof (c), "0x%jx", (uintmax_t)addr); return (dt_string2str(c, str, nbytes)); } @@ -976,10 +978,10 @@ dtrace_uaddr2str(dtrace_hdl_t *dtp, pid_ (void) snprintf(c, sizeof (c), "%s`%s", obj, name); } } else if (Pobjname(P, addr, objname, sizeof (objname)) != 0) { - (void) snprintf(c, sizeof (c), "%s`0x%llx", - dt_basename(objname), addr); + (void) snprintf(c, sizeof (c), "%s`0x%jx", + dt_basename(objname), (uintmax_t)addr); } else { - (void) snprintf(c, sizeof (c), "0x%llx", addr); + (void) snprintf(c, sizeof (c), "0x%jx", (uintmax_t)addr); } dt_proc_unlock(dtp, P); Modified: user/gabor/tre-integration/contrib/binutils/bfd/coffcode.h ============================================================================== --- user/gabor/tre-integration/contrib/binutils/bfd/coffcode.h Sat Jun 18 19:43:08 2011 (r223265) +++ user/gabor/tre-integration/contrib/binutils/bfd/coffcode.h Sat Jun 18 19:58:09 2011 (r223266) @@ -3240,7 +3240,7 @@ coff_compute_section_file_positions (bfd incremented in coff_set_section_contents. This is right for SVR3.2. */ if (strcmp (current->name, _LIB) == 0) - bfd_set_section_vma (abfd, current, 0); + (void) bfd_set_section_vma (abfd, current, 0); #endif previous = current; Modified: user/gabor/tre-integration/contrib/binutils/bfd/opncls.c ============================================================================== --- user/gabor/tre-integration/contrib/binutils/bfd/opncls.c Sat Jun 18 19:43:08 2011 (r223265) +++ user/gabor/tre-integration/contrib/binutils/bfd/opncls.c Sat Jun 18 19:58:09 2011 (r223266) @@ -231,7 +231,7 @@ bfd_fopen (const char *filename, const c then it may have been opened with special flags that make it unsafe to close and reopen the file. */ if (fd == -1) - bfd_set_cacheable (nbfd, TRUE); + (void) bfd_set_cacheable (nbfd, TRUE); return nbfd; } Modified: user/gabor/tre-integration/contrib/binutils/bfd/peicode.h ============================================================================== --- user/gabor/tre-integration/contrib/binutils/bfd/peicode.h Sat Jun 18 19:43:08 2011 (r223265) +++ user/gabor/tre-integration/contrib/binutils/bfd/peicode.h Sat Jun 18 19:58:09 2011 (r223266) @@ -607,7 +607,7 @@ pe_ILF_make_a_section (pe_ILF_vars * var bfd_set_section_flags (vars->abfd, sec, flags | extra_flags); - bfd_set_section_alignment (vars->abfd, sec, 2); + (void) bfd_set_section_alignment (vars->abfd, sec, 2); /* Check that we will not run out of space. */ BFD_ASSERT (vars->data + size < vars->bim->buffer + vars->bim->size); Modified: user/gabor/tre-integration/contrib/binutils/gas/config/obj-elf.c ============================================================================== --- user/gabor/tre-integration/contrib/binutils/gas/config/obj-elf.c Sat Jun 18 19:43:08 2011 (r223265) +++ user/gabor/tre-integration/contrib/binutils/gas/config/obj-elf.c Sat Jun 18 19:58:09 2011 (r223266) @@ -1636,7 +1636,7 @@ obj_elf_init_stab_section (segT seg) /* Force the section to align to a longword boundary. Without this, UnixWare ar crashes. */ - bfd_set_section_alignment (stdoutput, seg, 2); + (void) bfd_set_section_alignment (stdoutput, seg, 2); /* Make space for this first symbol. */ p = frag_more (12); Modified: user/gabor/tre-integration/contrib/binutils/gas/frags.c ============================================================================== --- user/gabor/tre-integration/contrib/binutils/gas/frags.c Sat Jun 18 19:43:08 2011 (r223265) +++ user/gabor/tre-integration/contrib/binutils/gas/frags.c Sat Jun 18 19:58:09 2011 (r223266) @@ -146,7 +146,7 @@ frag_new (int old_frags_var_max_size /* This will align the obstack so the next struct we allocate on it will begin at a correct boundary. */ - obstack_finish (&frchain_now->frch_obstack); + (void) obstack_finish (&frchain_now->frch_obstack); frchP = frchain_now; know (frchP); former_last_fragP = frchP->frch_last; Modified: user/gabor/tre-integration/contrib/binutils/gas/subsegs.c ============================================================================== --- user/gabor/tre-integration/contrib/binutils/gas/subsegs.c Sat Jun 18 19:43:08 2011 (r223265) +++ user/gabor/tre-integration/contrib/binutils/gas/subsegs.c Sat Jun 18 19:58:09 2011 (r223266) @@ -67,7 +67,7 @@ subseg_change (register segT seg, regist { seginfo = xcalloc (1, sizeof (*seginfo)); seginfo->bfd_section = seg; - bfd_set_section_userdata (stdoutput, seg, seginfo); + (void) bfd_set_section_userdata (stdoutput, seg, seginfo); } } @@ -169,7 +169,7 @@ subseg_get (const char *segname, int for secptr->output_section = secptr; seginfo = xcalloc (1, sizeof (*seginfo)); seginfo->bfd_section = secptr; - bfd_set_section_userdata (stdoutput, secptr, seginfo); + (void) bfd_set_section_userdata (stdoutput, secptr, seginfo); } return secptr; } Modified: user/gabor/tre-integration/contrib/binutils/ld/ldexp.c ============================================================================== --- user/gabor/tre-integration/contrib/binutils/ld/ldexp.c Sat Jun 18 19:43:08 2011 (r223265) +++ user/gabor/tre-integration/contrib/binutils/ld/ldexp.c Sat Jun 18 19:58:09 2011 (r223266) @@ -1112,9 +1112,9 @@ exp_get_fill (etree_type *tree, fill_typ fill = xmalloc (4 + sizeof (*fill) - 1); val = expld.result.value; fill->data[0] = (val >> 24) & 0xff; - fill->data[1] = (val >> 16) & 0xff; - fill->data[2] = (val >> 8) & 0xff; - fill->data[3] = (val >> 0) & 0xff; + __PAST_END(fill->data, 1) = (val >> 16) & 0xff; + __PAST_END(fill->data, 2) = (val >> 8) & 0xff; + __PAST_END(fill->data, 3) = (val >> 0) & 0xff; fill->size = 4; } return fill; Modified: user/gabor/tre-integration/contrib/binutils/ld/sysdep.h ============================================================================== --- user/gabor/tre-integration/contrib/binutils/ld/sysdep.h Sat Jun 18 19:43:08 2011 (r223265) +++ user/gabor/tre-integration/contrib/binutils/ld/sysdep.h Sat Jun 18 19:58:09 2011 (r223266) @@ -54,6 +54,9 @@ extern char *strrchr (); /* for MAXPATHLEN */ #ifdef HAVE_SYS_PARAM_H #include +#ifndef __PAST_END +# define __PAST_END(array, offset) (((typeof(*(array)) *)(array))[offset]) +#endif #endif #ifdef PATH_MAX # define LD_PATHMAX PATH_MAX Modified: user/gabor/tre-integration/contrib/binutils/opcodes/i386-dis.c ============================================================================== --- user/gabor/tre-integration/contrib/binutils/opcodes/i386-dis.c Sat Jun 18 19:43:08 2011 (r223265) +++ user/gabor/tre-integration/contrib/binutils/opcodes/i386-dis.c Sat Jun 18 19:58:09 2011 (r223266) @@ -3203,7 +3203,7 @@ ckprefix (void) rex_used = 0; while (1) { - FETCH_DATA (the_info, codep + 1); + (void) FETCH_DATA (the_info, codep + 1); newrex = 0; switch (*codep) { @@ -3606,7 +3606,7 @@ print_insn (bfd_vma pc, disassemble_info insn_codep = codep; sizeflag = priv.orig_sizeflag; - FETCH_DATA (info, codep + 1); + (void) FETCH_DATA (info, codep + 1); two_source_ops = (*codep == 0x62) || (*codep == 0xc8); if (((prefixes & PREFIX_FWAIT) @@ -3628,7 +3628,7 @@ print_insn (bfd_vma pc, disassemble_info if (*codep == 0x0f) { unsigned char threebyte; - FETCH_DATA (info, codep + 2); + (void) FETCH_DATA (info, codep + 2); threebyte = *++codep; dp = &dis386_twobyte[threebyte]; need_modrm = twobyte_has_modrm[*codep]; @@ -3639,7 +3639,7 @@ print_insn (bfd_vma pc, disassemble_info codep++; if (dp->name == NULL && dp->op[0].bytemode == IS_3BYTE_OPCODE) { - FETCH_DATA (info, codep + 2); + (void) FETCH_DATA (info, codep + 2); op = *codep++; switch (threebyte) { @@ -3724,7 +3724,7 @@ print_insn (bfd_vma pc, disassemble_info } else if (need_modrm) { - FETCH_DATA (info, codep + 1); + (void) FETCH_DATA (info, codep + 1); modrm.mod = (*codep >> 6) & 3; modrm.reg = (*codep >> 3) & 7; modrm.rm = *codep & 7; @@ -4890,7 +4890,7 @@ OP_E (int bytemode, int sizeflag) if (base == 4) { havesib = 1; - FETCH_DATA (the_info, codep + 1); + (void) FETCH_DATA (the_info, codep + 1); index = (*codep >> 3) & 7; if (address_mode == mode_64bit || index != 0x4) /* When INDEX == 0x4 in 32 bit mode, SCALE is ignored. */ @@ -5147,7 +5147,7 @@ get64 (void) unsigned int a; unsigned int b; - FETCH_DATA (the_info, codep + 8); + (void) FETCH_DATA (the_info, codep + 8); a = *codep++ & 0xff; a |= (*codep++ & 0xff) << 8; a |= (*codep++ & 0xff) << 16; @@ -5169,7 +5169,7 @@ get32 (void) { bfd_signed_vma x = 0; - FETCH_DATA (the_info, codep + 4); + (void) FETCH_DATA (the_info, codep + 4); x = *codep++ & (bfd_signed_vma) 0xff; x |= (*codep++ & (bfd_signed_vma) 0xff) << 8; x |= (*codep++ & (bfd_signed_vma) 0xff) << 16; @@ -5182,7 +5182,7 @@ get32s (void) { bfd_signed_vma x = 0; - FETCH_DATA (the_info, codep + 4); + (void) FETCH_DATA (the_info, codep + 4); x = *codep++ & (bfd_signed_vma) 0xff; x |= (*codep++ & (bfd_signed_vma) 0xff) << 8; x |= (*codep++ & (bfd_signed_vma) 0xff) << 16; @@ -5198,7 +5198,7 @@ get16 (void) { int x = 0; - FETCH_DATA (the_info, codep + 2); + (void) FETCH_DATA (the_info, codep + 2); x = *codep++ & 0xff; x |= (*codep++ & 0xff) << 8; return x; @@ -6018,7 +6018,7 @@ OP_3DNowSuffix (int bytemode ATTRIBUTE_U { const char *mnemonic; - FETCH_DATA (the_info, codep + 1); + (void) FETCH_DATA (the_info, codep + 1); /* AMD 3DNow! instructions are specified by an opcode suffix in the place where an 8-bit immediate would normally go. ie. the last byte of the instruction. */ @@ -6054,7 +6054,7 @@ OP_SIMD_Suffix (int bytemode ATTRIBUTE_U { unsigned int cmp_type; - FETCH_DATA (the_info, codep + 1); + (void) FETCH_DATA (the_info, codep + 1); obufp = obuf + strlen (obuf); cmp_type = *codep++ & 0xff; if (cmp_type < 8) Modified: user/gabor/tre-integration/contrib/gcc/cfg.c ============================================================================== --- user/gabor/tre-integration/contrib/gcc/cfg.c Sat Jun 18 19:43:08 2011 (r223265) +++ user/gabor/tre-integration/contrib/gcc/cfg.c Sat Jun 18 19:58:09 2011 (r223266) @@ -830,7 +830,7 @@ dump_cfg_bb_info (FILE *file, basic_bloc else fprintf (file, ", "); first = false; - fprintf (file, bb_bitnames[i]); + fputs (bb_bitnames[i], file); } if (!first) fprintf (file, ")"); Modified: user/gabor/tre-integration/contrib/gcc/output.h ============================================================================== --- user/gabor/tre-integration/contrib/gcc/output.h Sat Jun 18 19:43:08 2011 (r223265) +++ user/gabor/tre-integration/contrib/gcc/output.h Sat Jun 18 19:58:09 2011 (r223266) @@ -109,13 +109,14 @@ extern void output_addr_const (FILE *, r /* Output a string of assembler code, substituting numbers, strings and fixed syntactic prefixes. */ -#if GCC_VERSION >= 3004 +#if GCC_VERSION >= 3004 && !defined(__clang__) #define ATTRIBUTE_ASM_FPRINTF(m, n) __attribute__ ((__format__ (__asm_fprintf__, m, n))) ATTRIBUTE_NONNULL(m) /* This is a magic identifier which allows GCC to figure out the type of HOST_WIDE_INT for %wd specifier checks. You must issue this typedef before using the __asm_fprintf__ format attribute. */ typedef HOST_WIDE_INT __gcc_host_wide_int__; #else +/* FIXME(benl): what about %wd? */ #define ATTRIBUTE_ASM_FPRINTF(m, n) ATTRIBUTE_NONNULL(m) #endif Modified: user/gabor/tre-integration/contrib/gcc/rtl.h ============================================================================== --- user/gabor/tre-integration/contrib/gcc/rtl.h Sat Jun 18 19:43:08 2011 (r223265) +++ user/gabor/tre-integration/contrib/gcc/rtl.h Sat Jun 18 19:58:09 2011 (r223266) @@ -22,6 +22,11 @@ Software Foundation, 51 Franklin Street, #ifndef GCC_RTL_H #define GCC_RTL_H +#include +#ifndef __PAST_END +# define __PAST_END(array, offset) (((typeof(*(array)) *)(array))[offset]) +#endif + #include "statistics.h" #include "machmode.h" #include "input.h" @@ -565,12 +570,12 @@ extern void rtvec_check_failed_bounds (r #define RTL_CHECK1(RTX, N, C1) ((RTX)->u.fld[N]) #define RTL_CHECK2(RTX, N, C1, C2) ((RTX)->u.fld[N]) -#define RTL_CHECKC1(RTX, N, C) ((RTX)->u.fld[N]) +#define RTL_CHECKC1(RTX, N, C) __PAST_END((RTX)->u.fld, N) #define RTL_CHECKC2(RTX, N, C1, C2) ((RTX)->u.fld[N]) -#define RTVEC_ELT(RTVEC, I) ((RTVEC)->elem[I]) +#define RTVEC_ELT(RTVEC, I) __PAST_END((RTVEC)->elem, I) #define XWINT(RTX, N) ((RTX)->u.hwint[N]) #define XCWINT(RTX, N, C) ((RTX)->u.hwint[N]) -#define XCMWINT(RTX, N, C, M) ((RTX)->u.hwint[N]) +#define XCMWINT(RTX, N, C, M) __PAST_END((RTX)->u.hwint, N) #define XCNMWINT(RTX, N, C, M) ((RTX)->u.hwint[N]) #define XCNMPRV(RTX, C, M) (&(RTX)->u.rv) #define BLOCK_SYMBOL_CHECK(RTX) (&(RTX)->u.block_sym) Modified: user/gabor/tre-integration/contrib/gcc/tree.h ============================================================================== --- user/gabor/tre-integration/contrib/gcc/tree.h Sat Jun 18 19:43:08 2011 (r223265) +++ user/gabor/tre-integration/contrib/gcc/tree.h Sat Jun 18 19:58:09 2011 (r223266) @@ -22,6 +22,11 @@ Software Foundation, 51 Franklin Street, #ifndef GCC_TREE_H #define GCC_TREE_H +#include +#ifndef __PAST_END +# define __PAST_END(array, offset) (((typeof(*(array)) *)(array))[offset]) +#endif + #include "hashtab.h" #include "machmode.h" #include "input.h" @@ -830,12 +835,12 @@ extern void omp_clause_range_check_faile #define TREE_RANGE_CHECK(T, CODE1, CODE2) (T) #define EXPR_CHECK(T) (T) #define NON_TYPE_CHECK(T) (T) -#define TREE_VEC_ELT_CHECK(T, I) ((T)->vec.a[I]) -#define TREE_OPERAND_CHECK(T, I) ((T)->exp.operands[I]) -#define TREE_OPERAND_CHECK_CODE(T, CODE, I) ((T)->exp.operands[I]) +#define TREE_VEC_ELT_CHECK(T, I) __PAST_END((T)->vec.a, I) +#define TREE_OPERAND_CHECK(T, I) __PAST_END((T)->exp.operands, I) +#define TREE_OPERAND_CHECK_CODE(T, CODE, I) __PAST_END((T)->exp.operands, I) #define TREE_RTL_OPERAND_CHECK(T, CODE, I) (*(rtx *) &((T)->exp.operands[I])) #define PHI_NODE_ELT_CHECK(T, i) ((T)->phi.a[i]) -#define OMP_CLAUSE_ELT_CHECK(T, i) ((T)->omp_clause.ops[i]) +#define OMP_CLAUSE_ELT_CHECK(T, i) __PAST_END((T)->omp_clause.ops, i) #define OMP_CLAUSE_RANGE_CHECK(T, CODE1, CODE2) (T) #define OMP_CLAUSE_SUBCODE_CHECK(T, CODE) (T) Modified: user/gabor/tre-integration/contrib/gperf/src/gen-perf.cc ============================================================================== --- user/gabor/tre-integration/contrib/gperf/src/gen-perf.cc Sat Jun 18 19:43:08 2011 (r223265) +++ user/gabor/tre-integration/contrib/gperf/src/gen-perf.cc Sat Jun 18 19:58:09 2011 (r223266) @@ -246,7 +246,7 @@ Gen_Perf::change (List_Node *prior, List { if (option[DEBUG]) { - fprintf (stderr, " by changing asso_value['%c'] (char #%zd) to %d\n", + fprintf (stderr, " by changing asso_value['%c'] (char #%td) to %d\n", *p, p - union_set + 1, asso_values[(unsigned char)(*p)]); fflush (stderr); } Modified: user/gabor/tre-integration/contrib/gperf/src/key-list.cc ============================================================================== --- user/gabor/tre-integration/contrib/gperf/src/key-list.cc Sat Jun 18 19:43:08 2011 (r223265) +++ user/gabor/tre-integration/contrib/gperf/src/key-list.cc Sat Jun 18 19:58:09 2011 (r223266) @@ -1441,7 +1441,7 @@ Key_List::output_lookup_array (void) if (option[DEBUG]) fprintf (stderr, - "dup_ptr[%zd]: hash_value = %d, index = %d, count = %d\n", + "dup_ptr[%td]: hash_value = %d, index = %d, count = %d\n", dup_ptr - duplicates, dup_ptr->hash_value, dup_ptr->index, dup_ptr->count); Modified: user/gabor/tre-integration/etc/defaults/rc.conf ============================================================================== --- user/gabor/tre-integration/etc/defaults/rc.conf Sat Jun 18 19:43:08 2011 (r223265) +++ user/gabor/tre-integration/etc/defaults/rc.conf Sat Jun 18 19:58:09 2011 (r223266) @@ -38,6 +38,7 @@ ddb_enable="NO" # Set to YES to load dd ddb_config="/etc/ddb.conf" # ddb(8) config file. devd_enable="YES" # Run devd, to trigger programs on device tree changes. devd_flags="" # Additional flags for devd(8). +#kld_list="" # Kernel modules to load after local disks are mounted kldxref_enable="NO" # Build linker.hints files with kldxref(8). kldxref_clobber="NO" # Overwrite old linker.hints at boot. kldxref_module_path="" # Override kern.module_path. A ';'-delimited list. Modified: user/gabor/tre-integration/etc/periodic/daily/800.scrub-zfs ============================================================================== --- user/gabor/tre-integration/etc/periodic/daily/800.scrub-zfs Sat Jun 18 19:43:08 2011 (r223265) +++ user/gabor/tre-integration/etc/periodic/daily/800.scrub-zfs Sat Jun 18 19:58:09 2011 (r223266) @@ -46,7 +46,7 @@ case "$daily_scrub_zfs_enable" in esac # determine how many days shall be between scrubs - eval _pool_threshold=\${daily_scrub_zfs_$(echo "${pool}"|tr -s "-" "_"|tr -s "." "_"|tr -s ":" "_")_threshold} + eval _pool_threshold=\${daily_scrub_zfs_$(echo "${pool}"|tr ".:-" "_")_threshold} if [ -z "${_pool_threshold}" ];then _pool_threshold=${daily_scrub_zfs_default_threshold} fi Modified: user/gabor/tre-integration/etc/periodic/monthly/Makefile ============================================================================== --- user/gabor/tre-integration/etc/periodic/monthly/Makefile Sat Jun 18 19:43:08 2011 (r223265) +++ user/gabor/tre-integration/etc/periodic/monthly/Makefile Sat Jun 18 19:58:09 2011 (r223266) @@ -6,7 +6,7 @@ FILES= 999.local # NB: keep these sorted by MK_* knobs -.if ${MK_ACCT} != "no" +.if ${MK_UTMPX} != "no" FILES+= 200.accounting .endif Modified: user/gabor/tre-integration/etc/rc.d/Makefile ============================================================================== --- user/gabor/tre-integration/etc/rc.d/Makefile Sat Jun 18 19:43:08 2011 (r223265) +++ user/gabor/tre-integration/etc/rc.d/Makefile Sat Jun 18 19:58:09 2011 (r223266) @@ -18,7 +18,7 @@ FILES= DAEMON FILESYSTEMS LOGIN NETWORKI ip6addrctl ipfilter ipfs ipfw ipmon \ ipnat ipsec ipxrouted \ jail \ - kadmind kerberos keyserv kldxref kpasswdd \ + kadmind kerberos keyserv kld kldxref kpasswdd \ ldconfig local localpkg lockd lpd \ mixer motd mountcritlocal mountcritremote mountlate \ mdconfig mdconfig2 mountd moused mroute6d mrouted msgs \ Copied: user/gabor/tre-integration/etc/rc.d/kld (from r223265, head/etc/rc.d/kld) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/gabor/tre-integration/etc/rc.d/kld Sat Jun 18 19:58:09 2011 (r223266, copy of r223265, head/etc/rc.d/kld) @@ -0,0 +1,53 @@ +#!/bin/sh + +# Copyright (c) 2011 Douglas Barton +# 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$ +# +# PROVIDE: kld +# REQUIRE: FILESYSTEMS +# KEYWORD: nojail + +. /etc/rc.subr + +name="kld" + +start_cmd="${name}_start" +stop_cmd=':' + +kld_start() +{ + [ -n "$kld_list" ] || return + + local _kld + + echo 'Loading kernel modules:' + for _kld in $kld_list ; do + load_kld -e ${_kld}.ko $_kld + done +} + +load_rc_config $name +run_rc_command "$1" Modified: user/gabor/tre-integration/etc/rc.d/var ============================================================================== --- user/gabor/tre-integration/etc/rc.d/var Sat Jun 18 19:43:08 2011 (r223265) +++ user/gabor/tre-integration/etc/rc.d/var Sat Jun 18 19:58:09 2011 (r223266) @@ -28,7 +28,7 @@ # # PROVIDE: var -# REQUIRE: FILESYSTEMS +# REQUIRE: FILESYSTEMS kld . /etc/rc.subr Modified: user/gabor/tre-integration/etc/rc.subr ============================================================================== --- user/gabor/tre-integration/etc/rc.subr Sat Jun 18 19:43:08 2011 (r223265) +++ user/gabor/tre-integration/etc/rc.subr Sat Jun 18 19:58:09 2011 (r223266) @@ -1062,7 +1062,7 @@ load_rc_config() # Set defaults if defined. for _var in $rcvar $rcvars; do - _defval=`eval echo "\\\$${_var}_defval"` + eval _defval=\$${_var}_defval if [ -n "$_defval" ]; then eval : \${$_var:=\$${_var}_defval} fi @@ -1070,9 +1070,9 @@ load_rc_config() # check obsolete rc.conf variables for _var in $rcvars_obsolete; do - _v=`eval echo \\$$_var` - _msg=`eval echo \\$${_var}_obsolete_msg` - _new=`eval echo \\$${_var}_newvar` + eval _v=\$$_var + eval _msg=\$${_var}_obsolete_msg + eval _new=\$${_var}_newvar case $_v in "") ;; @@ -1765,7 +1765,7 @@ check_kern_features() _echoonce() { local _var _msg _mode - _var=`eval echo \\$$1` + eval _var=\$$1 _msg=$2 _mode=$3 Modified: user/gabor/tre-integration/lib/libc/db/btree/bt_split.c ============================================================================== --- user/gabor/tre-integration/lib/libc/db/btree/bt_split.c Sat Jun 18 19:43:08 2011 (r223265) +++ user/gabor/tre-integration/lib/libc/db/btree/bt_split.c Sat Jun 18 19:58:09 2011 (r223266) @@ -37,6 +37,7 @@ static char sccsid[] = "@(#)bt_split.c 8 __FBSDID("$FreeBSD$"); #include +#include #include #include @@ -482,7 +483,7 @@ bt_rroot(BTREE *t, PAGE *h, PAGE *l, PAG WR_RINTERNAL(dest, l->flags & P_RLEAF ? NEXTINDEX(l) : rec_total(l), l->pgno); - h->linp[1] = h->upper -= NRINTERNAL; + __PAST_END(h->linp, 1) = h->upper -= NRINTERNAL; dest = (char *)h + h->upper; WR_RINTERNAL(dest, r->flags & P_RLEAF ? NEXTINDEX(r) : rec_total(r), r->pgno); @@ -534,7 +535,7 @@ bt_broot(BTREE *t, PAGE *h, PAGE *l, PAG case P_BLEAF: bl = GETBLEAF(r, 0); nbytes = NBINTERNAL(bl->ksize); - h->linp[1] = h->upper -= nbytes; + __PAST_END(h->linp, 1) = h->upper -= nbytes; dest = (char *)h + h->upper; WR_BINTERNAL(dest, bl->ksize, r->pgno, 0); memmove(dest, bl->bytes, bl->ksize); @@ -550,7 +551,7 @@ bt_broot(BTREE *t, PAGE *h, PAGE *l, PAG case P_BINTERNAL: bi = GETBINTERNAL(r, 0); nbytes = NBINTERNAL(bi->ksize); - h->linp[1] = h->upper -= nbytes; + __PAST_END(h->linp, 1) = h->upper -= nbytes; dest = (char *)h + h->upper; memmove(dest, bi, nbytes); ((BINTERNAL *)dest)->pgno = r->pgno; Modified: user/gabor/tre-integration/lib/libc/db/man/mpool.3 ============================================================================== --- user/gabor/tre-integration/lib/libc/db/man/mpool.3 Sat Jun 18 19:43:08 2011 (r223265) +++ user/gabor/tre-integration/lib/libc/db/man/mpool.3 Sat Jun 18 19:58:09 2011 (r223266) @@ -28,7 +28,7 @@ .\" @(#)mpool.3 8.1 (Berkeley) 6/4/93 .\" $FreeBSD$ .\" -.Dd February 25, 1999 +.Dd June 17, 2011 .Dt MPOOL 3 .Os .Sh NAME @@ -147,7 +147,14 @@ is returned and is set. The .Fa flags -argument is not currently used. +argument is specified by +.Em or Ns 'ing +any of the following values: +.Bl -tag -width indent +.It Dv MPOOL_IGNOREPIN +The page returned is not pinned; +page will otherwise be pinned on return. +.El .Pp The .Fn mpool_put Modified: user/gabor/tre-integration/lib/libc/gen/basename.3 ============================================================================== --- user/gabor/tre-integration/lib/libc/gen/basename.3 Sat Jun 18 19:43:08 2011 (r223265) +++ user/gabor/tre-integration/lib/libc/gen/basename.3 Sat Jun 18 19:58:09 2011 (r223266) @@ -1,33 +1,22 @@ +.\" $OpenBSD: basename.3,v 1.20 2007/05/31 19:19:28 jmc Exp $ .\" .\" Copyright (c) 1997 Todd C. Miller -.\" 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. -.\" 3. The name of the author may not be used to endorse or promote products -.\" derived from this software without specific prior written permission. +.\" Permission to use, copy, modify, and distribute this software for any +.\" purpose with or without fee is hereby granted, provided that the above +.\" copyright notice and this permission notice appear in all copies. .\" -.\" THIS SOFTWARE IS PROVIDED ``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 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. +.\" THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +.\" WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +.\" MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR +.\" ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +.\" WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +.\" ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF +.\" OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. .\" -.\" $OpenBSD: basename.3,v 1.12 2000/04/18 03:01:25 aaron Exp $ .\" $FreeBSD$ .\" -.Dd October 6, 2009 +.Dd March 31, 2010 .Dt BASENAME 3 .Os .Sh NAME @@ -42,8 +31,7 @@ .Sh DESCRIPTION The .Fn basename -function -returns the last component from the pathname pointed to by +function returns the last component from the pathname pointed to by .Fa path , deleting any trailing .Sq \&/ @@ -111,4 +99,15 @@ function first appeared in and .Fx 4.2 . .Sh AUTHORS -.An "Todd C. Miller" Aq Todd.Miller@courtesan.com +.An Todd C. Miller +.Sh CAVEATS +.Fn basename +returns a pointer to internal static storage space that will be overwritten +by subsequent calls. +.Pp +Other vendor implementations of +.Fn basename +may modify the contents of the string passed to +.Fn basename ; +this should be taken into account when writing code which calls this function +if portability is desired. Modified: user/gabor/tre-integration/lib/libc/gen/basename.c ============================================================================== --- user/gabor/tre-integration/lib/libc/gen/basename.c Sat Jun 18 19:43:08 2011 (r223265) +++ user/gabor/tre-integration/lib/libc/gen/basename.c Sat Jun 18 19:58:09 2011 (r223266) @@ -1,35 +1,21 @@ +/* $OpenBSD: basename.c,v 1.14 2005/08/08 08:05:33 espie Exp $ */ + /* - * Copyright (c) 1997 Todd C. Miller - * All rights reserved. + * Copyright (c) 1997, 2004 Todd C. Miller * - * 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. - * 3. The name of the author may not be used to endorse or promote products - * derived from this software without specific prior written permission. + * Permission to use, copy, modify, and distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. * - * THIS SOFTWARE IS PROVIDED ``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 BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, *** DIFF OUTPUT TRUNCATED AT 1000 LINES ***