From owner-svn-src-projects@FreeBSD.ORG Sun Oct 18 12:48:24 2009 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 17A1B1065676; Sun, 18 Oct 2009 12:48:23 +0000 (UTC) (envelope-from rdivacky@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id C5E1B8FC1B; Sun, 18 Oct 2009 12:48:23 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n9ICmNke069120; Sun, 18 Oct 2009 12:48:23 GMT (envelope-from rdivacky@svn.freebsd.org) Received: (from rdivacky@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n9ICmNLV069114; Sun, 18 Oct 2009 12:48:23 GMT (envelope-from rdivacky@svn.freebsd.org) Message-Id: <200910181248.n9ICmNLV069114@svn.freebsd.org> From: Roman Divacky Date: Sun, 18 Oct 2009 12:48:23 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r198200 - projects/clangbsd/contrib/gcc X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 18 Oct 2009 12:48:24 -0000 Author: rdivacky Date: Sun Oct 18 12:48:23 2009 New Revision: 198200 URL: http://svn.freebsd.org/changeset/base/198200 Log: Revert most of the adjustments previously needed for clang to build gcc. Modified: projects/clangbsd/contrib/gcc/bitmap.c projects/clangbsd/contrib/gcc/cfg.c projects/clangbsd/contrib/gcc/dominance.c projects/clangbsd/contrib/gcc/haifa-sched.c projects/clangbsd/contrib/gcc/longlong.h Modified: projects/clangbsd/contrib/gcc/bitmap.c ============================================================================== --- projects/clangbsd/contrib/gcc/bitmap.c Sun Oct 18 11:28:31 2009 (r198199) +++ projects/clangbsd/contrib/gcc/bitmap.c Sun Oct 18 12:48:23 2009 (r198200) @@ -186,7 +186,7 @@ bitmap_elt_clear_from (bitmap head, bitm /* Clear a bitmap by freeing the linked list. */ -void +inline void bitmap_clear (bitmap head) { if (head->first) Modified: projects/clangbsd/contrib/gcc/cfg.c ============================================================================== --- projects/clangbsd/contrib/gcc/cfg.c Sun Oct 18 11:28:31 2009 (r198199) +++ projects/clangbsd/contrib/gcc/cfg.c Sun Oct 18 12:48:23 2009 (r198200) @@ -658,7 +658,7 @@ static void *first_edge_aux_obj = 0; /* Allocate a memory block of SIZE as BB->aux. The obstack must be first initialized by alloc_aux_for_blocks. */ -void +inline void alloc_aux_for_block (basic_block bb, int size) { /* Verify that aux field is clear. */ @@ -721,7 +721,7 @@ free_aux_for_blocks (void) /* Allocate a memory edge of SIZE as BB->aux. The obstack must be first initialized by alloc_aux_for_edges. */ -void +inline void alloc_aux_for_edge (edge e, int size) { /* Verify that aux field is clear. */ Modified: projects/clangbsd/contrib/gcc/dominance.c ============================================================================== --- projects/clangbsd/contrib/gcc/dominance.c Sun Oct 18 11:28:31 2009 (r198199) +++ projects/clangbsd/contrib/gcc/dominance.c Sun Oct 18 12:48:23 2009 (r198200) @@ -686,7 +686,7 @@ get_immediate_dominator (enum cdi_direct /* Set the immediate dominator of the block possibly removing existing edge. NULL can be used to remove any edge. */ -void +inline void set_immediate_dominator (enum cdi_direction dir, basic_block bb, basic_block dominated_by) { Modified: projects/clangbsd/contrib/gcc/haifa-sched.c ============================================================================== --- projects/clangbsd/contrib/gcc/haifa-sched.c Sun Oct 18 11:28:31 2009 (r198199) +++ projects/clangbsd/contrib/gcc/haifa-sched.c Sun Oct 18 12:48:23 2009 (r198200) @@ -625,7 +625,7 @@ static rtx last_scheduled_insn; This is the number of cycles between instruction issue and instruction results. */ -int +HAIFA_INLINE int insn_cost (rtx insn, rtx link, rtx used) { return insn_cost1 (insn, used ? REG_NOTE_KIND (link) : REG_NOTE_MAX, Modified: projects/clangbsd/contrib/gcc/longlong.h ============================================================================== --- projects/clangbsd/contrib/gcc/longlong.h Sun Oct 18 11:28:31 2009 (r198199) +++ projects/clangbsd/contrib/gcc/longlong.h Sun Oct 18 12:48:23 2009 (r198200) @@ -322,22 +322,22 @@ UDItype __umulsidi3 (USItype, USItype); "g" ((USItype) (bl))) #define sub_ddmmss(sh, sl, ah, al, bh, bl) \ __asm__ ("subl %5,%1\n\tsbbl %3,%0" \ - : "=r" ((sh)), \ - "=&r" ((sl)) \ + : "=r" ((USItype) (sh)), \ + "=&r" ((USItype) (sl)) \ : "0" ((USItype) (ah)), \ "g" ((USItype) (bh)), \ "1" ((USItype) (al)), \ "g" ((USItype) (bl))) #define umul_ppmm(w1, w0, u, v) \ __asm__ ("mull %3" \ - : "=a" ((w0)), \ - "=d" ((w1)) \ + : "=a" ((USItype) (w0)), \ + "=d" ((USItype) (w1)) \ : "%0" ((USItype) (u)), \ "rm" ((USItype) (v))) #define udiv_qrnnd(q, r, n1, n0, dv) \ __asm__ ("divl %4" \ - : "=a" ((q)), \ - "=d" ((r)) \ + : "=a" ((USItype) (q)), \ + "=d" ((USItype) (r)) \ : "0" ((USItype) (n0)), \ "1" ((USItype) (n1)), \ "rm" ((USItype) (dv))) @@ -387,10 +387,10 @@ UDItype __umulsidi3 (USItype, USItype); #define sub_ddmmss(sh, sl, ah, al, bh, bl) \ /* The cmp clears the condition bit. */ \ __asm__ ("cmp %0,%0\n\tsubx %1,%5\n\tsubx %0,%3" \ - : "=r" ((USItype)(sh)), \ - "=&r" ((USItype)(sl)) \ - : "0" ((USItype)(ah)), \ - "r" ((USItype)(bh)), \ + : "=r" ((USItype) (sh)), \ + "=&r" ((USItype) (sl)) \ + : "0" ((USItype) (ah)), \ + "r" ((USItype) (bh)), \ "1" ((USItype) (al)), \ "r" ((USItype) (bl)) \ : "cbit") From owner-svn-src-projects@FreeBSD.ORG Sun Oct 18 14:55:55 2009 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id B6AA7106568F; Sun, 18 Oct 2009 14:55:55 +0000 (UTC) (envelope-from imp@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id A75DF8FC0A; Sun, 18 Oct 2009 14:55:55 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n9IEttBA071840; Sun, 18 Oct 2009 14:55:55 GMT (envelope-from imp@svn.freebsd.org) Received: (from imp@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n9IEttKi071838; Sun, 18 Oct 2009 14:55:55 GMT (envelope-from imp@svn.freebsd.org) Message-Id: <200910181455.n9IEttKi071838@svn.freebsd.org> From: Warner Losh Date: Sun, 18 Oct 2009 14:55:55 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r198205 - projects/mips/sys/mips/mips X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 18 Oct 2009 14:55:55 -0000 Author: imp Date: Sun Oct 18 14:55:55 2009 New Revision: 198205 URL: http://svn.freebsd.org/changeset/base/198205 Log: Use correct signature for MipsEmulateBranch. The other one doesn't work for 64-bit compiles. Modified: projects/mips/sys/mips/mips/trap.c Modified: projects/mips/sys/mips/mips/trap.c ============================================================================== --- projects/mips/sys/mips/mips/trap.c Sun Oct 18 13:51:49 2009 (r198204) +++ projects/mips/sys/mips/mips/trap.c Sun Oct 18 14:55:55 2009 (r198205) @@ -1057,7 +1057,7 @@ trapDump(char *msg) /* * Return the resulting PC as if the branch was executed. */ -u_int +uintptr_t MipsEmulateBranch(struct trapframe *framePtr, uintptr_t instPC, int fpcCSR, uintptr_t instptr) { From owner-svn-src-projects@FreeBSD.ORG Sun Oct 18 14:56:33 2009 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id B99EA1065693; Sun, 18 Oct 2009 14:56:33 +0000 (UTC) (envelope-from imp@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id AA5F88FC1E; Sun, 18 Oct 2009 14:56:33 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n9IEuXg0071888; Sun, 18 Oct 2009 14:56:33 GMT (envelope-from imp@svn.freebsd.org) Received: (from imp@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n9IEuXkY071886; Sun, 18 Oct 2009 14:56:33 GMT (envelope-from imp@svn.freebsd.org) Message-Id: <200910181456.n9IEuXkY071886@svn.freebsd.org> From: Warner Losh Date: Sun, 18 Oct 2009 14:56:33 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r198206 - projects/mips/sys/mips/include X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 18 Oct 2009 14:56:33 -0000 Author: imp Date: Sun Oct 18 14:56:33 2009 New Revision: 198206 URL: http://svn.freebsd.org/changeset/base/198206 Log: _ALIGN has to return u_long, since pointers don't fit into u_int in 64-bit mips. Modified: projects/mips/sys/mips/include/_align.h Modified: projects/mips/sys/mips/include/_align.h ============================================================================== --- projects/mips/sys/mips/include/_align.h Sun Oct 18 14:55:55 2009 (r198205) +++ projects/mips/sys/mips/include/_align.h Sun Oct 18 14:56:33 2009 (r198206) @@ -44,10 +44,10 @@ /* * Round p (pointer or byte index) up to a correctly-aligned value for all - * data types (int, long, ...). The result is u_int and must be cast to + * data types (int, long, ...). The result is u_long and must be cast to * any desired pointer type. */ #define _ALIGNBYTES 7 -#define _ALIGN(p) (((u_int)(p) + _ALIGNBYTES) &~ _ALIGNBYTES) +#define _ALIGN(p) (((u_long)(p) + _ALIGNBYTES) &~ _ALIGNBYTES) #endif /* !_MIPS_INCLUDE__ALIGN_H_ */ From owner-svn-src-projects@FreeBSD.ORG Sun Oct 18 14:57:05 2009 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 15972106568B; Sun, 18 Oct 2009 14:57:05 +0000 (UTC) (envelope-from imp@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 0657D8FC17; Sun, 18 Oct 2009 14:57:05 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n9IEv4in071933; Sun, 18 Oct 2009 14:57:04 GMT (envelope-from imp@svn.freebsd.org) Received: (from imp@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n9IEv4Fs071931; Sun, 18 Oct 2009 14:57:04 GMT (envelope-from imp@svn.freebsd.org) Message-Id: <200910181457.n9IEv4Fs071931@svn.freebsd.org> From: Warner Losh Date: Sun, 18 Oct 2009 14:57:04 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r198207 - projects/mips/sys/mips/include X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 18 Oct 2009 14:57:05 -0000 Author: imp Date: Sun Oct 18 14:57:04 2009 New Revision: 198207 URL: http://svn.freebsd.org/changeset/base/198207 Log: Undo spamage of last MFC. Modified: projects/mips/sys/mips/include/param.h Modified: projects/mips/sys/mips/include/param.h ============================================================================== --- projects/mips/sys/mips/include/param.h Sun Oct 18 14:56:33 2009 (r198206) +++ projects/mips/sys/mips/include/param.h Sun Oct 18 14:57:04 2009 (r198207) @@ -93,7 +93,7 @@ * This does not reflect the optimal alignment, just the possibility * (within reasonable limits). */ -#define ALIGNED_POINTER(p, t) ((((unsigned)(p)) & (sizeof (t) - 1)) == 0) +#define ALIGNED_POINTER(p, t) ((((unsigned long)(p)) & (sizeof (t) - 1)) == 0) /* * CACHE_LINE_SIZE is the compile-time maximum cache line size for an @@ -154,10 +154,10 @@ /* * Conversion macros */ -#define mips_round_page(x) ((((unsigned)(x)) + NBPG - 1) & ~(NBPG-1)) -#define mips_trunc_page(x) ((unsigned)(x) & ~(NBPG-1)) -#define mips_btop(x) ((unsigned)(x) >> PGSHIFT) -#define mips_ptob(x) ((unsigned)(x) << PGSHIFT) +#define mips_round_page(x) ((((unsigned long)(x)) + NBPG - 1) & ~(NBPG-1)) +#define mips_trunc_page(x) ((unsigned long)(x) & ~(NBPG-1)) +#define mips_btop(x) ((unsigned long)(x) >> PGSHIFT) +#define mips_ptob(x) ((unsigned long)(x) << PGSHIFT) #define round_page mips_round_page #define trunc_page mips_trunc_page #define atop(x) ((unsigned long)(x) >> PAGE_SHIFT) From owner-svn-src-projects@FreeBSD.ORG Sun Oct 18 15:21:48 2009 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id ABEEE106566B; Sun, 18 Oct 2009 15:21:48 +0000 (UTC) (envelope-from imp@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 9CD818FC16; Sun, 18 Oct 2009 15:21:48 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n9IFLmim072461; Sun, 18 Oct 2009 15:21:48 GMT (envelope-from imp@svn.freebsd.org) Received: (from imp@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n9IFLm9b072459; Sun, 18 Oct 2009 15:21:48 GMT (envelope-from imp@svn.freebsd.org) Message-Id: <200910181521.n9IFLm9b072459@svn.freebsd.org> From: Warner Losh Date: Sun, 18 Oct 2009 15:21:48 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r198208 - projects/mips/sys/mips/mips X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 18 Oct 2009 15:21:48 -0000 Author: imp Date: Sun Oct 18 15:21:48 2009 New Revision: 198208 URL: http://svn.freebsd.org/changeset/base/198208 Log: Get the PC from the trap frame, since it isn't saved as part of the pcb regs. Modified: projects/mips/sys/mips/mips/db_trace.c Modified: projects/mips/sys/mips/mips/db_trace.c ============================================================================== --- projects/mips/sys/mips/mips/db_trace.c Sun Oct 18 14:57:04 2009 (r198207) +++ projects/mips/sys/mips/mips/db_trace.c Sun Oct 18 15:21:48 2009 (r198208) @@ -420,7 +420,7 @@ db_trace_thread(struct thread *thr, int else { ctx = thr->td_pcb; sp = (register_t)ctx->pcb_context[PREG_SP]; - pc = (register_t)ctx->pcb_context[PREG_PC]; + pc = (register_t)ctx->pcb_regs.pc; ra = (register_t)ctx->pcb_context[PREG_RA]; } From owner-svn-src-projects@FreeBSD.ORG Mon Oct 19 08:26:41 2009 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 0A0491065781; Mon, 19 Oct 2009 08:26:31 +0000 (UTC) (envelope-from rdivacky@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id E5ABE8FC1D; Mon, 19 Oct 2009 08:26:30 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n9J8QUi6095855; Mon, 19 Oct 2009 08:26:30 GMT (envelope-from rdivacky@svn.freebsd.org) Received: (from rdivacky@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n9J8QUan095853; Mon, 19 Oct 2009 08:26:30 GMT (envelope-from rdivacky@svn.freebsd.org) Message-Id: <200910190826.n9J8QUan095853@svn.freebsd.org> From: Roman Divacky Date: Mon, 19 Oct 2009 08:26:30 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r198226 - projects/clangbsd/share/mk X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 19 Oct 2009 08:26:41 -0000 Author: rdivacky Date: Mon Oct 19 08:26:30 2009 New Revision: 198226 URL: http://svn.freebsd.org/changeset/base/198226 Log: Respect CSTD even when NO_WARNS is specified. Modified: projects/clangbsd/share/mk/bsd.sys.mk Modified: projects/clangbsd/share/mk/bsd.sys.mk ============================================================================== --- projects/clangbsd/share/mk/bsd.sys.mk Mon Oct 19 07:56:03 2009 (r198225) +++ projects/clangbsd/share/mk/bsd.sys.mk Mon Oct 19 08:26:30 2009 (r198226) @@ -11,7 +11,7 @@ # the default is gnu99 for now CSTD ?= gnu99 -.if !defined(NO_WARNS) && ${CC} != "icc" +.if ${CC} != "icc" . if ${CSTD} == "k&r" CFLAGS += -traditional . elif ${CSTD} == "c89" || ${CSTD} == "c90" From owner-svn-src-projects@FreeBSD.ORG Mon Oct 19 15:25:53 2009 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id EED931065670; Mon, 19 Oct 2009 15:25:53 +0000 (UTC) (envelope-from rwatson@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id DE1F08FC12; Mon, 19 Oct 2009 15:25:53 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n9JFPrAG005254; Mon, 19 Oct 2009 15:25:53 GMT (envelope-from rwatson@svn.freebsd.org) Received: (from rwatson@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n9JFPr7R005252; Mon, 19 Oct 2009 15:25:53 GMT (envelope-from rwatson@svn.freebsd.org) Message-Id: <200910191525.n9JFPr7R005252@svn.freebsd.org> From: Robert Watson Date: Mon, 19 Oct 2009 15:25:53 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r198234 - projects/capabilities8/sys/amd64/amd64 X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 19 Oct 2009 15:25:54 -0000 Author: rwatson Date: Mon Oct 19 15:25:53 2009 New Revision: 198234 URL: http://svn.freebsd.org/changeset/base/198234 Log: Merge Perforce c169596 into capabilities8 branch: amd64 also requires capability mode checks. Spotted by: jonathan.anderson at cl.cam.ac.uk Sponsored by: Google Modified: projects/capabilities8/sys/amd64/amd64/trap.c Modified: projects/capabilities8/sys/amd64/amd64/trap.c ============================================================================== --- projects/capabilities8/sys/amd64/amd64/trap.c Mon Oct 19 15:19:14 2009 (r198233) +++ projects/capabilities8/sys/amd64/amd64/trap.c Mon Oct 19 15:25:53 2009 (r198234) @@ -44,6 +44,7 @@ __FBSDID("$FreeBSD$"); * AMD64 Trap and System call handling */ +#include "opt_capabilities.h" #include "opt_clock.h" #include "opt_cpu.h" #include "opt_hwpmc_hooks.h" @@ -68,6 +69,7 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include #include #ifdef KTRACE @@ -961,6 +963,18 @@ syscall(struct trapframe *frame) td->td_syscalls++; +#ifdef CAPABILITIES + /* + * In capabilities mode, we only allow access to system calls flagged + * SYF_CAPENABLED. + */ + if (error == 0) { + if (!(callp->sy_flags & SYF_CAPENABLED) && + (td->td_ucred->cr_flags & CRED_FLAG_CAPMODE)) + error = ENOSYS; + } +#endif + if (error == 0) { td->td_retval[0] = 0; td->td_retval[1] = frame->tf_rdx; From owner-svn-src-projects@FreeBSD.ORG Mon Oct 19 17:41:32 2009 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 64DA01065670; Mon, 19 Oct 2009 17:41:32 +0000 (UTC) (envelope-from rdivacky@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 541858FC19; Mon, 19 Oct 2009 17:41:32 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n9JHfW07008159; Mon, 19 Oct 2009 17:41:32 GMT (envelope-from rdivacky@svn.freebsd.org) Received: (from rdivacky@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n9JHfWVb008157; Mon, 19 Oct 2009 17:41:32 GMT (envelope-from rdivacky@svn.freebsd.org) Message-Id: <200910191741.n9JHfWVb008157@svn.freebsd.org> From: Roman Divacky Date: Mon, 19 Oct 2009 17:41:32 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r198238 - projects/clangbsd/contrib/llvm/tools/clang/lib/Frontend X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 19 Oct 2009 17:41:32 -0000 Author: rdivacky Date: Mon Oct 19 17:41:32 2009 New Revision: 198238 URL: http://svn.freebsd.org/changeset/base/198238 Log: Remove the useless adding of /usr/include to the include search path. It is done a few lines below for all targets. Modified: projects/clangbsd/contrib/llvm/tools/clang/lib/Frontend/InitHeaderSearch.cpp Modified: projects/clangbsd/contrib/llvm/tools/clang/lib/Frontend/InitHeaderSearch.cpp ============================================================================== --- projects/clangbsd/contrib/llvm/tools/clang/lib/Frontend/InitHeaderSearch.cpp Mon Oct 19 16:12:58 2009 (r198237) +++ projects/clangbsd/contrib/llvm/tools/clang/lib/Frontend/InitHeaderSearch.cpp Mon Oct 19 17:41:32 2009 (r198238) @@ -399,7 +399,6 @@ void InitHeaderSearch::AddDefaultSystemI // FreeBSD if (Lang.CPlusPlus) AddPath("/usr/include/c++/4.2", System, true, false, false); - AddPath("/usr/include", System, false, false, false); break; case llvm::Triple::Solaris: // AuroraUX From owner-svn-src-projects@FreeBSD.ORG Mon Oct 19 17:47:19 2009 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 3B26A1065672; Mon, 19 Oct 2009 17:47:19 +0000 (UTC) (envelope-from rdivacky@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 240988FC0C; Mon, 19 Oct 2009 17:47:19 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n9JHlJmU008315; Mon, 19 Oct 2009 17:47:19 GMT (envelope-from rdivacky@svn.freebsd.org) Received: (from rdivacky@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n9JHlJ9a008313; Mon, 19 Oct 2009 17:47:19 GMT (envelope-from rdivacky@svn.freebsd.org) Message-Id: <200910191747.n9JHlJ9a008313@svn.freebsd.org> From: Roman Divacky Date: Mon, 19 Oct 2009 17:47:19 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r198239 - projects/clangbsd/share/mk X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 19 Oct 2009 17:47:19 -0000 Author: rdivacky Date: Mon Oct 19 17:47:18 2009 New Revision: 198239 URL: http://svn.freebsd.org/changeset/base/198239 Log: Revert the previous commit and make it so that the CSTD is ignored if CC=icc and NO_WARNS is defined. Use CSTD for all other cases. Modified: projects/clangbsd/share/mk/bsd.sys.mk Modified: projects/clangbsd/share/mk/bsd.sys.mk ============================================================================== --- projects/clangbsd/share/mk/bsd.sys.mk Mon Oct 19 17:41:32 2009 (r198238) +++ projects/clangbsd/share/mk/bsd.sys.mk Mon Oct 19 17:47:18 2009 (r198239) @@ -11,7 +11,7 @@ # the default is gnu99 for now CSTD ?= gnu99 -.if ${CC} != "icc" +.if !defined(NO_WARNS) || ${CC} != "icc" . if ${CSTD} == "k&r" CFLAGS += -traditional . elif ${CSTD} == "c89" || ${CSTD} == "c90" From owner-svn-src-projects@FreeBSD.ORG Mon Oct 19 20:11:05 2009 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 80B66106566B; Mon, 19 Oct 2009 20:11:05 +0000 (UTC) (envelope-from rdivacky@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 710168FC08; Mon, 19 Oct 2009 20:11:05 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n9JKB5hD011399; Mon, 19 Oct 2009 20:11:05 GMT (envelope-from rdivacky@svn.freebsd.org) Received: (from rdivacky@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n9JKB5ud011397; Mon, 19 Oct 2009 20:11:05 GMT (envelope-from rdivacky@svn.freebsd.org) Message-Id: <200910192011.n9JKB5ud011397@svn.freebsd.org> From: Roman Divacky Date: Mon, 19 Oct 2009 20:11:05 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r198248 - projects/clangbsd X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 19 Oct 2009 20:11:05 -0000 Author: rdivacky Date: Mon Oct 19 20:11:05 2009 New Revision: 198248 URL: http://svn.freebsd.org/changeset/base/198248 Log: Define CC/CXX for world stage as $CC/$CXX -isystem. This way we dont have to alter hardcoded paths in the compiler (like in gcc) yet it still picks up the right includes. This should work for in-tree (ie. modified with altered paths) gcc. Clue provided by: kan Modified: projects/clangbsd/Makefile.inc1 Modified: projects/clangbsd/Makefile.inc1 ============================================================================== --- projects/clangbsd/Makefile.inc1 Mon Oct 19 19:45:57 2009 (r198247) +++ projects/clangbsd/Makefile.inc1 Mon Oct 19 20:11:05 2009 (r198248) @@ -256,7 +256,9 @@ WMAKEENV= ${CROSSENV} \ _SHLIBDIRPREFIX=${WORLDTMP} \ VERSION="${VERSION}" \ INSTALL="sh ${.CURDIR}/tools/install.sh" \ - PATH=${TMPPATH} + PATH=${TMPPATH} \ + CC="${CC} -isystem ${WORLDTMP}/usr/include" \ + CXX="${CXX} -isystem ${WORLDTMP}/include/c++/4.2 -isystem ${WORLDTMP}/include/c++/4.2/backward" .if ${MK_CDDL} == "no" || defined(NO_CTF) WMAKEENV+= NO_CTF=1 .endif From owner-svn-src-projects@FreeBSD.ORG Mon Oct 19 20:16:56 2009 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id BB14D106566B; Mon, 19 Oct 2009 20:16:56 +0000 (UTC) (envelope-from rdivacky@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id AB2138FC19; Mon, 19 Oct 2009 20:16:56 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n9JKGuVV011546; Mon, 19 Oct 2009 20:16:56 GMT (envelope-from rdivacky@svn.freebsd.org) Received: (from rdivacky@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n9JKGuoR011544; Mon, 19 Oct 2009 20:16:56 GMT (envelope-from rdivacky@svn.freebsd.org) Message-Id: <200910192016.n9JKGuoR011544@svn.freebsd.org> From: Roman Divacky Date: Mon, 19 Oct 2009 20:16:56 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r198249 - projects/clangbsd/gnu/lib/libgcc X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 19 Oct 2009 20:16:56 -0000 Author: rdivacky Date: Mon Oct 19 20:16:56 2009 New Revision: 198249 URL: http://svn.freebsd.org/changeset/base/198249 Log: Clarify the comment and note the bug report about this. Set CC=gcc unconditionally. Modified: projects/clangbsd/gnu/lib/libgcc/Makefile Modified: projects/clangbsd/gnu/lib/libgcc/Makefile ============================================================================== --- projects/clangbsd/gnu/lib/libgcc/Makefile Mon Oct 19 20:11:05 2009 (r198248) +++ projects/clangbsd/gnu/lib/libgcc/Makefile Mon Oct 19 20:16:56 2009 (r198249) @@ -15,10 +15,9 @@ MK_SSP= no .include "${.CURDIR}/../../usr.bin/cc/Makefile.tgt" -# XXX: a lot of missing GCC builtins -.if ${MK_CLANG_IS_CC} != "no" && ${CC} == "cc" +# XXX: a few C++ related GCC builtins are missing +# http://llvm.org/bugs/show_bug.cgi?id=5255 CC= gcc -.endif .PATH: ${GCCDIR}/config/${GCC_CPU} ${GCCDIR}/config ${GCCDIR} From owner-svn-src-projects@FreeBSD.ORG Mon Oct 19 21:01:26 2009 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 0076A106568F; Mon, 19 Oct 2009 21:01:26 +0000 (UTC) (envelope-from ed@hoeg.nl) Received: from palm.hoeg.nl (mx0.hoeg.nl [IPv6:2001:7b8:613:100::211]) by mx1.freebsd.org (Postfix) with ESMTP id 999128FC13; Mon, 19 Oct 2009 21:01:25 +0000 (UTC) Received: by palm.hoeg.nl (Postfix, from userid 1000) id B93AE1CD0A; Mon, 19 Oct 2009 23:03:03 +0200 (CEST) Date: Mon, 19 Oct 2009 23:03:03 +0200 From: Ed Schouten To: Roman Divacky Message-ID: <20091019210303.GH1293@hoeg.nl> References: <200910192011.n9JKB5ud011397@svn.freebsd.org> MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="81JctsDUVPekGcy+" Content-Disposition: inline In-Reply-To: <200910192011.n9JKB5ud011397@svn.freebsd.org> User-Agent: Mutt/1.5.20 (2009-06-14) Cc: svn-src-projects@freebsd.org, src-committers@freebsd.org Subject: Re: svn commit: r198248 - projects/clangbsd X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 19 Oct 2009 21:01:26 -0000 --81JctsDUVPekGcy+ Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable * Roman Divacky wrote: > Define CC/CXX for world stage as $CC/$CXX -isystem. This way we dont ha= ve to > alter hardcoded paths in the compiler (like in gcc) yet it still picks = up > the right includes. This should work for in-tree (ie. modified with alt= ered > paths) gcc. Like I mentioned on IRC; at least `my version' of Clang used `dirname $0`/../include as its include path (as well as /usr/include), which makes everything work automatically... --=20 Ed Schouten WWW: http://80386.nl/ --81JctsDUVPekGcy+ Content-Type: application/pgp-signature Content-Disposition: inline -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.10 (FreeBSD) iEYEARECAAYFAkrc1AcACgkQ52SDGA2eCwWdTgCfbawtYq7tSH9HHIP8lK+aA01T b90An2ujE876sPrKBLZOmbbVY/uc0V3E =fHrx -----END PGP SIGNATURE----- --81JctsDUVPekGcy+-- From owner-svn-src-projects@FreeBSD.ORG Mon Oct 19 21:10:57 2009 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 90A681065670; Mon, 19 Oct 2009 21:10:57 +0000 (UTC) (envelope-from rdivacky@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 30A728FC0C; Mon, 19 Oct 2009 21:10:57 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n9JLAuMC015378; Mon, 19 Oct 2009 21:10:57 GMT (envelope-from rdivacky@svn.freebsd.org) Received: (from rdivacky@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n9JLAuOS015377; Mon, 19 Oct 2009 21:10:56 GMT (envelope-from rdivacky@svn.freebsd.org) Message-Id: <200910192110.n9JLAuOS015377@svn.freebsd.org> From: Roman Divacky Date: Mon, 19 Oct 2009 21:10:56 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r198253 - in projects/clangbsd/gnu/lib: libobjc libstdc++ libsupc++ X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 19 Oct 2009 21:10:57 -0000 Author: rdivacky Date: Mon Oct 19 21:10:56 2009 New Revision: 198253 URL: http://svn.freebsd.org/changeset/base/198253 Log: Build these with gcc/g++. I am not sure about the use of gcc in libstdc++ it needs to be revisited later. Modified: projects/clangbsd/gnu/lib/libobjc/Makefile projects/clangbsd/gnu/lib/libstdc++/Makefile projects/clangbsd/gnu/lib/libsupc++/Makefile Modified: projects/clangbsd/gnu/lib/libobjc/Makefile ============================================================================== --- projects/clangbsd/gnu/lib/libobjc/Makefile Mon Oct 19 21:01:42 2009 (r198252) +++ projects/clangbsd/gnu/lib/libobjc/Makefile Mon Oct 19 21:10:56 2009 (r198253) @@ -13,6 +13,8 @@ SRCS= archive.c class.c encoding.c gc.c nil_method.c NXConstStr.m Object.m objects.c Protocol.m sarray.c \ selector.c sendmsg.c thr.c thr-objc.c exception.c +CC=gcc + INCS= encoding.h hash.h objc-api.h objc-decls.h objc-list.h objc.h runtime.h \ sarray.h thr.h typedstream.h NXConstStr.h Object.h Protocol.h INCSDIR=${INCLUDEDIR}/objc Modified: projects/clangbsd/gnu/lib/libstdc++/Makefile ============================================================================== --- projects/clangbsd/gnu/lib/libstdc++/Makefile Mon Oct 19 21:01:42 2009 (r198252) +++ projects/clangbsd/gnu/lib/libstdc++/Makefile Mon Oct 19 21:10:56 2009 (r198253) @@ -21,6 +21,8 @@ CFLAGS+= -I${GCCLIB}/include -I${SRCDIR} CFLAGS+= -frandom-seed=RepeatabilityConsideredGood CXXFLAGS+= -fno-implicit-templates -ffunction-sections -fdata-sections \ -Wno-deprecated +CC=gcc +CXX=g++ DPADD= ${LIBM} LDADD= -lm Modified: projects/clangbsd/gnu/lib/libsupc++/Makefile ============================================================================== --- projects/clangbsd/gnu/lib/libsupc++/Makefile Mon Oct 19 21:01:42 2009 (r198252) +++ projects/clangbsd/gnu/lib/libsupc++/Makefile Mon Oct 19 21:10:56 2009 (r198253) @@ -15,6 +15,8 @@ SRCS+= del_op.cc del_opnt.cc del_opv.cc new_opnt.cc new_opv.cc new_opvnt.cc pure.cc tinfo.cc tinfo2.cc \ vec.cc vterminate.cc +CXX=g++ + # from libiberty: SRCS+= cp-demangle.c From owner-svn-src-projects@FreeBSD.ORG Tue Oct 20 04:31:20 2009 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 892E21065670; Tue, 20 Oct 2009 04:31:20 +0000 (UTC) (envelope-from neel@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 798F88FC1F; Tue, 20 Oct 2009 04:31:20 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n9K4VKJ5052758; Tue, 20 Oct 2009 04:31:20 GMT (envelope-from neel@svn.freebsd.org) Received: (from neel@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n9K4VKj4052756; Tue, 20 Oct 2009 04:31:20 GMT (envelope-from neel@svn.freebsd.org) Message-Id: <200910200431.n9K4VKj4052756@svn.freebsd.org> From: Neel Natu Date: Tue, 20 Oct 2009 04:31:20 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r198263 - projects/mips/sys/mips/conf X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 20 Oct 2009 04:31:20 -0000 Author: neel Date: Tue Oct 20 04:31:20 2009 New Revision: 198263 URL: http://svn.freebsd.org/changeset/base/198263 Log: The default KERNLOADADDR does not work on MALTA hardware. On my platform the "First free SDRAM address" reported by YAMON is 0x800b6e61. So use a conservative KERNLOADADDR of 0x80100000. Approved by: imp (mentor) Modified: projects/mips/sys/mips/conf/MALTA Modified: projects/mips/sys/mips/conf/MALTA ============================================================================== --- projects/mips/sys/mips/conf/MALTA Tue Oct 20 02:35:12 2009 (r198262) +++ projects/mips/sys/mips/conf/MALTA Tue Oct 20 04:31:20 2009 (r198263) @@ -21,6 +21,7 @@ ident MALTA #makeoptions ARCH_FLAGS=-march=mips32 makeoptions MIPS_LITTLE_ENDIAN=defined +makeoptions KERNLOADADDR=0x80100000 options YAMON From owner-svn-src-projects@FreeBSD.ORG Tue Oct 20 04:36:09 2009 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 26C47106566B; Tue, 20 Oct 2009 04:36:09 +0000 (UTC) (envelope-from neel@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 16FB18FC16; Tue, 20 Oct 2009 04:36:09 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n9K4a8dq053251; Tue, 20 Oct 2009 04:36:08 GMT (envelope-from neel@svn.freebsd.org) Received: (from neel@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n9K4a8CA053249; Tue, 20 Oct 2009 04:36:08 GMT (envelope-from neel@svn.freebsd.org) Message-Id: <200910200436.n9K4a8CA053249@svn.freebsd.org> From: Neel Natu Date: Tue, 20 Oct 2009 04:36:08 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r198264 - projects/mips/sys/mips/mips X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 20 Oct 2009 04:36:09 -0000 Author: neel Date: Tue Oct 20 04:36:08 2009 New Revision: 198264 URL: http://svn.freebsd.org/changeset/base/198264 Log: Fix a bug where we would think that the L1 instruction and data cache are present even though the line size field in the CP0 Config1 register is 0. Approved by: imp (mentor) Modified: projects/mips/sys/mips/mips/cpu.c Modified: projects/mips/sys/mips/mips/cpu.c ============================================================================== --- projects/mips/sys/mips/mips/cpu.c Tue Oct 20 04:31:20 2009 (r198263) +++ projects/mips/sys/mips/mips/cpu.c Tue Oct 20 04:36:08 2009 (r198264) @@ -94,9 +94,9 @@ mips_get_identity(struct mips_cpuinfo *c ((cfg1 & MIPS_CONFIG1_TLBSZ_MASK) >> MIPS_CONFIG1_TLBSZ_SHIFT) + 1; /* L1 instruction cache. */ - tmp = 1 << (((cfg1 & MIPS_CONFIG1_IL_MASK) >> MIPS_CONFIG1_IL_SHIFT) + 1); + tmp = (cfg1 & MIPS_CONFIG1_IL_MASK) >> MIPS_CONFIG1_IL_SHIFT; if (tmp != 0) { - cpuinfo->l1.ic_linesize = tmp; + cpuinfo->l1.ic_linesize = 1 << (tmp + 1); cpuinfo->l1.ic_nways = (((cfg1 & MIPS_CONFIG1_IA_MASK) >> MIPS_CONFIG1_IA_SHIFT)) + 1; cpuinfo->l1.ic_nsets = 1 << (((cfg1 & MIPS_CONFIG1_IS_MASK) >> MIPS_CONFIG1_IS_SHIFT) + 6); @@ -105,9 +105,9 @@ mips_get_identity(struct mips_cpuinfo *c } /* L1 data cache. */ - tmp = 1 << (((cfg1 & MIPS_CONFIG1_DL_MASK) >> MIPS_CONFIG1_DL_SHIFT) + 1); + tmp = (cfg1 & MIPS_CONFIG1_DL_MASK) >> MIPS_CONFIG1_DL_SHIFT; if (tmp != 0) { - cpuinfo->l1.dc_linesize = tmp; + cpuinfo->l1.dc_linesize = 1 << (tmp + 1); cpuinfo->l1.dc_nways = (((cfg1 & MIPS_CONFIG1_DA_MASK) >> MIPS_CONFIG1_DA_SHIFT)) + 1; cpuinfo->l1.dc_nsets = From owner-svn-src-projects@FreeBSD.ORG Tue Oct 20 05:37:54 2009 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id CF4BC1065672; Tue, 20 Oct 2009 05:37:54 +0000 (UTC) (envelope-from mckusick@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id BF09B8FC16; Tue, 20 Oct 2009 05:37:54 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n9K5bsQA057231; Tue, 20 Oct 2009 05:37:54 GMT (envelope-from mckusick@svn.freebsd.org) Received: (from mckusick@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n9K5bsaJ057227; Tue, 20 Oct 2009 05:37:54 GMT (envelope-from mckusick@svn.freebsd.org) Message-Id: <200910200537.n9K5bsaJ057227@svn.freebsd.org> From: Kirk McKusick Date: Tue, 20 Oct 2009 05:37:54 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r198265 - projects/quota64/lib/libutil X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 20 Oct 2009 05:37:55 -0000 Author: mckusick Date: Tue Oct 20 05:37:54 2009 New Revision: 198265 URL: http://svn.freebsd.org/changeset/base/198265 Log: Add quota_maxid which returns the maximum user (or group) identifier in an associated quotafile. Needed by repquota. Bug fix in quota_read. Modified: projects/quota64/lib/libutil/libutil.h projects/quota64/lib/libutil/quotafile.3 projects/quota64/lib/libutil/quotafile.c Modified: projects/quota64/lib/libutil/libutil.h ============================================================================== --- projects/quota64/lib/libutil/libutil.h Tue Oct 20 04:36:08 2009 (r198264) +++ projects/quota64/lib/libutil/libutil.h Tue Oct 20 05:37:54 2009 (r198265) @@ -146,6 +146,7 @@ struct fstab; struct quotafile *quota_open(struct fstab *, int, int); const char *quota_fsname(const struct quotafile *); const char *quota_qfname(const struct quotafile *); +int quota_maxid(struct quotafile *); int quota_check_path(const struct quotafile *, const char *path); int quota_read(struct quotafile *, struct dqblk *, int); int quota_write_limits(struct quotafile *, struct dqblk *, int); Modified: projects/quota64/lib/libutil/quotafile.3 ============================================================================== --- projects/quota64/lib/libutil/quotafile.3 Tue Oct 20 04:36:08 2009 (r198264) +++ projects/quota64/lib/libutil/quotafile.3 Tue Oct 20 05:37:54 2009 (r198265) @@ -32,6 +32,7 @@ .Nm quota_open .Nm quota_fsname .Nm quota_qfname +.Nm quota_maxid .Nm quota_check_path .Nm quota_read .Nm quota_write_limits @@ -44,8 +45,9 @@ .In sys/param.h .In sys/mount.h .In ufs/ufs/quota.h -.In libutil.h +.In fcntl.h .In fstab.h +.In libutil.h .Ft "struct quotafile *" .Fn quota_open "struct fstab *fs" "int quotatype" "int openflags" .Ft "const char *" @@ -53,6 +55,8 @@ .Ft "const char *" .Fn quota_qfname "const struct quotafile *qf" .Ft int +.Fn quota_maxid "const struct quotafile *qf" +.Ft int .Fn quota_check_path "const struct quotafile *qf" "const char *path" .Ft int .Fn quota_read "struct quotafile *qf" "struct dqblk *dqb" "int id" @@ -116,6 +120,14 @@ argument. Note that this may be a symbolic link to the actual file. .Pp The +.Fn quota_maxid +function returns the maximum user (or group) +.Va id +contained in the quota file associated with its +.Va qf +argument. +.Pp +The .Fn quota_check_path function checks if the specified path is within the filesystem that corresponds to its Modified: projects/quota64/lib/libutil/quotafile.c ============================================================================== --- projects/quota64/lib/libutil/quotafile.c Tue Oct 20 04:36:08 2009 (r198264) +++ projects/quota64/lib/libutil/quotafile.c Tue Oct 20 05:37:54 2009 (r198265) @@ -128,13 +128,13 @@ quota_open(struct fstab *fs, int quotaty if (stat(qf->fsname, &st) != 0) goto error; qf->dev = st.st_dev; + serrno = hasquota(fs, quotatype, qf->qfname, sizeof(qf->qfname)); qcmd = QCMD(Q_GETQUOTA, quotatype); if (quotactl(fs->fs_file, qcmd, 0, &dqh) == 0) { qf->wordsize = 64; - qf->fd = -1; return (qf); } - if (!hasquota(fs, quotatype, qf->qfname, sizeof(qf->qfname))) { + if (serrno == 0) { errno = EOPNOTSUPP; goto error; } @@ -231,6 +231,24 @@ quota_check_path(const struct quotafile return (st.st_dev == qf->dev); } +int +quota_maxid(struct quotafile *qf) +{ + struct stat st; + + if (stat(qf->qfname, &st) < 0) + return (0); + switch (qf->wordsize) { + case 32: + return (st.st_size / sizeof(struct dqblk32)); + case 64: + return (st.st_size / sizeof(struct dqblk64) - 1); + default: + return (0); + } + /* not reached */ +} + static int quota_read32(struct quotafile *qf, struct dqblk *dqb, int id) { @@ -242,7 +260,7 @@ quota_read32(struct quotafile *qf, struc return (-1); switch (read(qf->fd, &dqb32, sizeof(dqb32))) { case 0: - memset(&dqb, 0, sizeof(*dqb)); + memset(dqb, 0, sizeof(*dqb)); return (0); case sizeof(dqb32): dqb->dqb_bhardlimit = dqb32.dqb_bhardlimit; @@ -270,7 +288,7 @@ quota_read64(struct quotafile *qf, struc return (-1); switch (read(qf->fd, &dqb64, sizeof(dqb64))) { case 0: - memset(&dqb, 0, sizeof(*dqb)); + memset(dqb, 0, sizeof(*dqb)); return (0); case sizeof(dqb64): dqb->dqb_bhardlimit = be64toh(dqb64.dqb_bhardlimit); From owner-svn-src-projects@FreeBSD.ORG Tue Oct 20 05:40:51 2009 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id ECFAA106566B; Tue, 20 Oct 2009 05:40:51 +0000 (UTC) (envelope-from mckusick@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id DB9EB8FC1A; Tue, 20 Oct 2009 05:40:51 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n9K5epT5057325; Tue, 20 Oct 2009 05:40:51 GMT (envelope-from mckusick@svn.freebsd.org) Received: (from mckusick@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n9K5epJe057322; Tue, 20 Oct 2009 05:40:51 GMT (envelope-from mckusick@svn.freebsd.org) Message-Id: <200910200540.n9K5epJe057322@svn.freebsd.org> From: Kirk McKusick Date: Tue, 20 Oct 2009 05:40:51 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r198266 - projects/quota64/usr.sbin/repquota X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 20 Oct 2009 05:40:52 -0000 Author: mckusick Date: Tue Oct 20 05:40:51 2009 New Revision: 198266 URL: http://svn.freebsd.org/changeset/base/198266 Log: Update to work with quotafile functions in -libutil. Add -h flag to provide humanized output. Modified: projects/quota64/usr.sbin/repquota/repquota.8 projects/quota64/usr.sbin/repquota/repquota.c Modified: projects/quota64/usr.sbin/repquota/repquota.8 ============================================================================== --- projects/quota64/usr.sbin/repquota/repquota.8 Tue Oct 20 05:37:54 2009 (r198265) +++ projects/quota64/usr.sbin/repquota/repquota.8 Tue Oct 20 05:40:51 2009 (r198266) @@ -39,12 +39,14 @@ .Nd summarize quotas for a file system .Sh SYNOPSIS .Nm +.Op Fl h .Op Fl g .Op Fl n .Op Fl u .Op Fl v .Ar filesystem Ar ... .Nm +.Op Fl h .Op Fl g .Op Fl n .Op Fl u @@ -64,6 +66,9 @@ Print the quotas of all the file systems .It Fl g Print only group quotas (the default is to print both group and user quotas if they exist). +.It Fl h +Display information in a more human readable format +rather than in historic kilobyte format. .It Fl n Display user and group IDs numerically rather than converting to a user or group name. @@ -75,7 +80,7 @@ Print a header line before printing each .El .Pp For each user or group, the current -number files and amount of space (in kilobytes) is +number files and amount of space is printed, along with any quotas created with .Xr edquota 8 . .Pp Modified: projects/quota64/usr.sbin/repquota/repquota.c ============================================================================== --- projects/quota64/usr.sbin/repquota/repquota.c Tue Oct 20 05:37:54 2009 (r198265) +++ projects/quota64/usr.sbin/repquota/repquota.c Tue Oct 20 05:40:51 2009 (r198266) @@ -52,8 +52,10 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include #include +#include #include #include #include @@ -80,7 +82,6 @@ const char *qfextension[] = INITQFNAMES; struct fileusage { struct fileusage *fu_next; - struct dqblk fu_dqblk; u_long fu_id; char fu_name[1]; /* actually bigger */ @@ -94,11 +95,12 @@ u_long highid[MAXQUOTAS]; /* highest add int vflag; /* verbose */ int aflag; /* all filesystems */ int nflag; /* display user/group by id */ +int hflag; /* display in human readable format */ -int hasquota(struct fstab *, int, char **); int oneof(char *, char *[], int); -int repquota(struct fstab *, int, char *); +int repquota(struct fstab *, int); char *timeprt(time_t); +static void prthumanval(int64_t bytes); static void usage(void); int @@ -109,9 +111,8 @@ main(int argc, char *argv[]) struct group *gr; int ch, gflag = 0, uflag = 0, errs = 0; long i, argnum, done = 0; - char *qfnp; - while ((ch = getopt(argc, argv, "agnuv")) != -1) { + while ((ch = getopt(argc, argv, "aghnuv")) != -1) { switch(ch) { case 'a': aflag++; @@ -119,6 +120,9 @@ main(int argc, char *argv[]) case 'g': gflag++; break; + case 'h': + hflag++; + break; case 'n': nflag++; break; @@ -158,19 +162,19 @@ main(int argc, char *argv[]) if (strcmp(fs->fs_vfstype, "ufs")) continue; if (aflag) { - if (gflag && hasquota(fs, GRPQUOTA, &qfnp)) - errs += repquota(fs, GRPQUOTA, qfnp); - if (uflag && hasquota(fs, USRQUOTA, &qfnp)) - errs += repquota(fs, USRQUOTA, qfnp); + if (gflag) + errs += repquota(fs, GRPQUOTA); + if (uflag) + errs += repquota(fs, USRQUOTA); continue; } if ((argnum = oneof(fs->fs_file, argv, argc)) >= 0 || (argnum = oneof(fs->fs_spec, argv, argc)) >= 0) { done |= 1 << argnum; - if (gflag && hasquota(fs, GRPQUOTA, &qfnp)) - errs += repquota(fs, GRPQUOTA, qfnp); - if (uflag && hasquota(fs, USRQUOTA, &qfnp)) - errs += repquota(fs, USRQUOTA, qfnp); + if (gflag) + errs += repquota(fs, GRPQUOTA); + if (uflag) + errs += repquota(fs, USRQUOTA); } } endfsent(); @@ -184,87 +188,92 @@ static void usage(void) { fprintf(stderr, "%s\n%s\n", - "usage: repquota [-v] [-g] [-n] [-u] -a", - " repquota [-v] [-g] [-n] [-u] filesystem ..."); + "usage: repquota [-h] [-v] [-g] [-n] [-u] -a", + " repquota [-h] [-v] [-g] [-n] [-u] filesystem ..."); exit(1); } int -repquota(struct fstab *fs, int type, char *qfpathname) +repquota(struct fstab *fs, int type) { struct fileusage *fup; - FILE *qf; - u_long id; + struct quotafile *qf; + u_long id, maxid; struct dqblk dqbuf; - static struct dqblk zerodqblk; - static int warned = 0; static int multiple = 0; - if (quotactl(fs->fs_file, QCMD(Q_SYNC, type), 0, 0) < 0 && - errno == EOPNOTSUPP && !warned && vflag) { - warned++; - fprintf(stdout, - "*** Warning: Quotas are not compiled into this kernel\n"); + if ((qf = quota_open(fs, type, O_RDONLY)) == NULL) { + if (vflag && !aflag) { + if (multiple++) + printf("\n"); + fprintf(stdout, "*** No %s quotas on %s (%s)\n", + qfextension[type], fs->fs_file, fs->fs_spec); + } + return(0); } if (multiple++) printf("\n"); if (vflag) fprintf(stdout, "*** Report for %s quotas on %s (%s)\n", qfextension[type], fs->fs_file, fs->fs_spec); - if ((qf = fopen(qfpathname, "r")) == NULL) { - warn("%s", qfpathname); - return (1); - } - for (id = 0; ; id++) { - fread(&dqbuf, sizeof(struct dqblk), 1, qf); - if (feof(qf)) + printf("%*s Block limits File limits\n", + max(UT_NAMESIZE,10), " "); + printf("User%*s used soft hard grace used soft hard grace\n", + max(UT_NAMESIZE,10), " "); + maxid = quota_maxid(qf); + for (id = 0; id <= maxid; id++) { + if (quota_read(qf, &dqbuf, id) != 0) break; if (dqbuf.dqb_curinodes == 0 && dqbuf.dqb_curblocks == 0) continue; if ((fup = lookup(id, type)) == 0) fup = addid(id, type, (char *)0); - fup->fu_dqblk = dqbuf; - } - fclose(qf); - printf("%*s Block limits File limits\n", - max(UT_NAMESIZE,10), " "); - printf("%s%*s used soft hard grace used soft hard grace\n", - type == USRQUOTA ? "User " : "Group", max(UT_NAMESIZE,10), " "); - for (id = 0; id <= highid[type]; id++) { - fup = lookup(id, type); - if (fup == 0) - continue; - if (fup->fu_dqblk.dqb_curinodes == 0 && - fup->fu_dqblk.dqb_curblocks == 0) - continue; printf("%-*s ", max(UT_NAMESIZE,10), fup->fu_name); - printf("%c%c %8lu %8lu %8lu %6s", - fup->fu_dqblk.dqb_bsoftlimit && - fup->fu_dqblk.dqb_curblocks >= - fup->fu_dqblk.dqb_bsoftlimit ? '+' : '-', - fup->fu_dqblk.dqb_isoftlimit && - fup->fu_dqblk.dqb_curinodes >= - fup->fu_dqblk.dqb_isoftlimit ? '+' : '-', - (u_long)(dbtokb(fup->fu_dqblk.dqb_curblocks)), - (u_long)(dbtokb(fup->fu_dqblk.dqb_bsoftlimit)), - (u_long)(dbtokb(fup->fu_dqblk.dqb_bhardlimit)), - fup->fu_dqblk.dqb_bsoftlimit && - fup->fu_dqblk.dqb_curblocks >= - fup->fu_dqblk.dqb_bsoftlimit ? - timeprt(fup->fu_dqblk.dqb_btime) : "-"); - printf(" %7lu %7lu %7lu %6s\n", - (u_long)fup->fu_dqblk.dqb_curinodes, - (u_long)fup->fu_dqblk.dqb_isoftlimit, - (u_long)fup->fu_dqblk.dqb_ihardlimit, - fup->fu_dqblk.dqb_isoftlimit && - fup->fu_dqblk.dqb_curinodes >= - fup->fu_dqblk.dqb_isoftlimit ? - timeprt(fup->fu_dqblk.dqb_itime) : "-"); - fup->fu_dqblk = zerodqblk; + printf("%c%c", + dqbuf.dqb_bsoftlimit && + dqbuf.dqb_curblocks >= + dqbuf.dqb_bsoftlimit ? '+' : '-', + dqbuf.dqb_isoftlimit && + dqbuf.dqb_curinodes >= + dqbuf.dqb_isoftlimit ? '+' : '-'); + prthumanval(dqbuf.dqb_curblocks); + prthumanval(dqbuf.dqb_bsoftlimit); + prthumanval(dqbuf.dqb_bhardlimit); + printf(" %6s", + dqbuf.dqb_bsoftlimit && + dqbuf.dqb_curblocks >= + dqbuf.dqb_bsoftlimit ? + timeprt(dqbuf.dqb_btime) : "-"); + printf(" %7llu %7llu %7llu %6s\n", + dqbuf.dqb_curinodes, + dqbuf.dqb_isoftlimit, + dqbuf.dqb_ihardlimit, + dqbuf.dqb_isoftlimit && + dqbuf.dqb_curinodes >= + dqbuf.dqb_isoftlimit ? + timeprt(dqbuf.dqb_itime) : "-"); } return (0); } +static void +prthumanval(int64_t blocks) +{ + char buf[7]; + int flags; + + if (!hflag) { + printf("%7llu", dbtokb(blocks)); + return; + } + flags = HN_NOSPACE | HN_DECIMAL; + if (blocks != 0) + flags |= HN_B; + humanize_number(buf, sizeof(buf) - (blocks < 0 ? 0 : 1), + dbtob(blocks), "", HN_AUTOSCALE, flags); + (void)printf("%7s", buf); +} + /* * Check to see if target appears in list of size cnt. */ @@ -280,55 +289,6 @@ oneof(char *target, char *list[], int cn } /* - * Check to see if a particular quota is to be enabled. - */ -int -hasquota(struct fstab *fs, int type, char **qfnamep) -{ - char *opt; - char *cp; - struct statfs sfb; - static char initname, usrname[100], grpname[100]; - static char buf[BUFSIZ]; - - if (!initname) { - (void)snprintf(usrname, sizeof(usrname), "%s%s", - qfextension[USRQUOTA], qfname); - (void)snprintf(grpname, sizeof(grpname), "%s%s", - qfextension[GRPQUOTA], qfname); - initname = 1; - } - strcpy(buf, fs->fs_mntops); - for (opt = strtok(buf, ","); opt; opt = strtok(NULL, ",")) { - if ((cp = index(opt, '='))) - *cp++ = '\0'; - if (type == USRQUOTA && strcmp(opt, usrname) == 0) - break; - if (type == GRPQUOTA && strcmp(opt, grpname) == 0) - break; - } - if (!opt) - return (0); - if (cp) - *qfnamep = cp; - else { - (void)snprintf(buf, sizeof(buf), "%s/%s.%s", fs->fs_file, - qfname, qfextension[type]); - *qfnamep = buf; - } - if (statfs(fs->fs_file, &sfb) != 0) { - warn("cannot statfs mount point %s", fs->fs_file); - return (0); - } - if (strcmp(fs->fs_file, sfb.f_mntonname)) { - warnx("%s not mounted for %s quotas", fs->fs_file, - type == USRQUOTA ? "user" : "group"); - return (0); - } - return (1); -} - -/* * Routines to manage the file usage table. * * Lookup an id of a specific type. From owner-svn-src-projects@FreeBSD.ORG Tue Oct 20 10:15:19 2009 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id F3067106568D; Tue, 20 Oct 2009 10:15:19 +0000 (UTC) (envelope-from rdivacky@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id E321A8FC1D; Tue, 20 Oct 2009 10:15:19 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n9KAFJCJ062851; Tue, 20 Oct 2009 10:15:19 GMT (envelope-from rdivacky@svn.freebsd.org) Received: (from rdivacky@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n9KAFJk2062849; Tue, 20 Oct 2009 10:15:19 GMT (envelope-from rdivacky@svn.freebsd.org) Message-Id: <200910201015.n9KAFJk2062849@svn.freebsd.org> From: Roman Divacky Date: Tue, 20 Oct 2009 10:15:19 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r198273 - projects/clangbsd/sys/boot/i386/boot2 X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 20 Oct 2009 10:15:20 -0000 Author: rdivacky Date: Tue Oct 20 10:15:19 2009 New Revision: 198273 URL: http://svn.freebsd.org/changeset/base/198273 Log: The memcpy implementation cant be static as the C compiler requires it to be available. Modified: projects/clangbsd/sys/boot/i386/boot2/boot2.c Modified: projects/clangbsd/sys/boot/i386/boot2/boot2.c ============================================================================== --- projects/clangbsd/sys/boot/i386/boot2/boot2.c Tue Oct 20 09:32:22 2009 (r198272) +++ projects/clangbsd/sys/boot/i386/boot2/boot2.c Tue Oct 20 10:15:19 2009 (r198273) @@ -151,8 +151,8 @@ static int xputc(int); static int xgetc(int); static int getc(int); -static void memcpy(void *, const void *, int); -static void +void memcpy(void *, const void *, int); +void memcpy(void *dst, const void *src, int len) { const char *s = src; From owner-svn-src-projects@FreeBSD.ORG Tue Oct 20 10:38:12 2009 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id B549C1065676; Tue, 20 Oct 2009 10:38:12 +0000 (UTC) (envelope-from rdivacky@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 8B9138FC16; Tue, 20 Oct 2009 10:38:12 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n9KAcC6t064636; Tue, 20 Oct 2009 10:38:12 GMT (envelope-from rdivacky@svn.freebsd.org) Received: (from rdivacky@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n9KAcCZn064631; Tue, 20 Oct 2009 10:38:12 GMT (envelope-from rdivacky@svn.freebsd.org) Message-Id: <200910201038.n9KAcCZn064631@svn.freebsd.org> From: Roman Divacky Date: Tue, 20 Oct 2009 10:38:12 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r198274 - in projects/clangbsd/sys/boot/i386: boot2 gptboot loader X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 20 Oct 2009 10:38:12 -0000 Author: rdivacky Date: Tue Oct 20 10:38:12 2009 New Revision: 198274 URL: http://svn.freebsd.org/changeset/base/198274 Log: Set CC=gcc unconditionally for boot2/loader/gptboot. Unstaticize memcy in gptboot. Modified: projects/clangbsd/sys/boot/i386/boot2/Makefile projects/clangbsd/sys/boot/i386/gptboot/Makefile projects/clangbsd/sys/boot/i386/gptboot/gptboot.c projects/clangbsd/sys/boot/i386/loader/Makefile Modified: projects/clangbsd/sys/boot/i386/boot2/Makefile ============================================================================== --- projects/clangbsd/sys/boot/i386/boot2/Makefile Tue Oct 20 10:15:19 2009 (r198273) +++ projects/clangbsd/sys/boot/i386/boot2/Makefile Tue Oct 20 10:38:12 2009 (r198274) @@ -2,9 +2,7 @@ .include -.if ${MK_CLANG_IS_CC} != "no" && ${CC} == "cc" CC= gcc -.endif FILES= boot boot1 boot2 Modified: projects/clangbsd/sys/boot/i386/gptboot/Makefile ============================================================================== --- projects/clangbsd/sys/boot/i386/gptboot/Makefile Tue Oct 20 10:15:19 2009 (r198273) +++ projects/clangbsd/sys/boot/i386/gptboot/Makefile Tue Oct 20 10:38:12 2009 (r198274) @@ -2,10 +2,6 @@ .include -.if ${MK_CLANG_IS_CC} != "no" && ${CC} == "cc" -CC= gcc -.endif - .PATH: ${.CURDIR}/../boot2 FILES= gptboot Modified: projects/clangbsd/sys/boot/i386/gptboot/gptboot.c ============================================================================== --- projects/clangbsd/sys/boot/i386/gptboot/gptboot.c Tue Oct 20 10:15:19 2009 (r198273) +++ projects/clangbsd/sys/boot/i386/gptboot/gptboot.c Tue Oct 20 10:38:12 2009 (r198274) @@ -143,7 +143,7 @@ static int xfsread(ino_t, void *, size_t static int dskread(void *, daddr_t, unsigned); static void printf(const char *,...); static void putchar(int); -static void memcpy(void *, const void *, int); +void memcpy(void *, const void *, int); static uint32_t memsize(void); static int drvread(void *, daddr_t, unsigned); static int keyhit(unsigned); @@ -151,7 +151,7 @@ static int xputc(int); static int xgetc(int); static int getc(int); -static void +void memcpy(void *dst, const void *src, int len) { const char *s = src; Modified: projects/clangbsd/sys/boot/i386/loader/Makefile ============================================================================== --- projects/clangbsd/sys/boot/i386/loader/Makefile Tue Oct 20 10:15:19 2009 (r198273) +++ projects/clangbsd/sys/boot/i386/loader/Makefile Tue Oct 20 10:38:12 2009 (r198274) @@ -4,9 +4,7 @@ MK_SSP= no # XXX: broken compiler include paths -.if ${MK_CLANG_IS_CC} != "no" && ${CC} == "cc" CC= gcc -.endif PROG= loader.sym INTERNALPROG= From owner-svn-src-projects@FreeBSD.ORG Tue Oct 20 10:40:02 2009 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 2C07B106568F; Tue, 20 Oct 2009 10:40:02 +0000 (UTC) (envelope-from rdivacky@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 00DA18FC21; Tue, 20 Oct 2009 10:40:02 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n9KAe1lK064715; Tue, 20 Oct 2009 10:40:01 GMT (envelope-from rdivacky@svn.freebsd.org) Received: (from rdivacky@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n9KAe1UF064710; Tue, 20 Oct 2009 10:40:01 GMT (envelope-from rdivacky@svn.freebsd.org) Message-Id: <200910201040.n9KAe1UF064710@svn.freebsd.org> From: Roman Divacky Date: Tue, 20 Oct 2009 10:40:01 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r198275 - in projects/clangbsd: gnu/usr.bin/gperf gnu/usr.bin/groff gnu/usr.bin/groff/src/libs sbin/devd X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 20 Oct 2009 10:40:02 -0000 Author: rdivacky Date: Tue Oct 20 10:40:01 2009 New Revision: 198275 URL: http://svn.freebsd.org/changeset/base/198275 Log: Build bin+lib of groff, gperf and devd with g++. Modified: projects/clangbsd/gnu/usr.bin/gperf/Makefile projects/clangbsd/gnu/usr.bin/groff/Makefile.inc projects/clangbsd/gnu/usr.bin/groff/src/libs/Makefile.inc projects/clangbsd/sbin/devd/Makefile Modified: projects/clangbsd/gnu/usr.bin/gperf/Makefile ============================================================================== --- projects/clangbsd/gnu/usr.bin/gperf/Makefile Tue Oct 20 10:38:12 2009 (r198274) +++ projects/clangbsd/gnu/usr.bin/gperf/Makefile Tue Oct 20 10:40:01 2009 (r198275) @@ -12,6 +12,8 @@ SRCS= bool-array.cc gen-perf.cc hash-tab vectors.cc version.cc SRCS+= hash.cc +CXX=g++ + CXXFLAGS+= -I${GPROFDIR}/lib -I${.CURDIR} .include Modified: projects/clangbsd/gnu/usr.bin/groff/Makefile.inc ============================================================================== --- projects/clangbsd/gnu/usr.bin/groff/Makefile.inc Tue Oct 20 10:38:12 2009 (r198274) +++ projects/clangbsd/gnu/usr.bin/groff/Makefile.inc Tue Oct 20 10:40:01 2009 (r198275) @@ -3,6 +3,8 @@ BINDIR?= /usr/bin SHELL= /bin/sh +CXX=g++ + # Define `page' to be letter if your PostScript printer uses 8.5x11 # paper (USA) and define it to be A4, if it uses A4 paper (rest of the # world). Modified: projects/clangbsd/gnu/usr.bin/groff/src/libs/Makefile.inc ============================================================================== --- projects/clangbsd/gnu/usr.bin/groff/src/libs/Makefile.inc Tue Oct 20 10:38:12 2009 (r198274) +++ projects/clangbsd/gnu/usr.bin/groff/src/libs/Makefile.inc Tue Oct 20 10:40:01 2009 (r198275) @@ -3,4 +3,6 @@ TOPREL= ../../.. DIST_SUBDIR= src/libs/${.CURDIR:T} +CXX=g++ + .include "../../Makefile.inc" Modified: projects/clangbsd/sbin/devd/Makefile ============================================================================== --- projects/clangbsd/sbin/devd/Makefile Tue Oct 20 10:38:12 2009 (r198274) +++ projects/clangbsd/sbin/devd/Makefile Tue Oct 20 10:40:01 2009 (r198275) @@ -4,6 +4,8 @@ PROG_CXX=devd SRCS= devd.cc token.l parse.y y.tab.h MAN= devd.8 devd.conf.5 +CXX=g++ + WARNS= 0 #WARNS?= 4 From owner-svn-src-projects@FreeBSD.ORG Tue Oct 20 12:21:37 2009 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 2125210656A3; Tue, 20 Oct 2009 12:21:37 +0000 (UTC) (envelope-from rdivacky@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 1090C8FC08; Tue, 20 Oct 2009 12:21:37 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n9KCLaOc066685; Tue, 20 Oct 2009 12:21:36 GMT (envelope-from rdivacky@svn.freebsd.org) Received: (from rdivacky@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n9KCLat2066683; Tue, 20 Oct 2009 12:21:36 GMT (envelope-from rdivacky@svn.freebsd.org) Message-Id: <200910201221.n9KCLat2066683@svn.freebsd.org> From: Roman Divacky Date: Tue, 20 Oct 2009 12:21:36 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r198278 - projects/clangbsd/usr.bin/clang/bin/clang X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 20 Oct 2009 12:21:37 -0000 Author: rdivacky Date: Tue Oct 20 12:21:36 2009 New Revision: 198278 URL: http://svn.freebsd.org/changeset/base/198278 Log: dont install clang as c++ for now. Modified: projects/clangbsd/usr.bin/clang/bin/clang/Makefile Modified: projects/clangbsd/usr.bin/clang/bin/clang/Makefile ============================================================================== --- projects/clangbsd/usr.bin/clang/bin/clang/Makefile Tue Oct 20 11:54:06 2009 (r198277) +++ projects/clangbsd/usr.bin/clang/bin/clang/Makefile Tue Oct 20 12:21:36 2009 (r198278) @@ -10,7 +10,6 @@ MAN= .if ${MK_CLANG_IS_CC} != "no" LINKS= ${BINDIR}/clang ${BINDIR}/cc \ - ${BINDIR}/clang ${BINDIR}/c++ \ ${BINDIR}/clang ${BINDIR}/CC .endif From owner-svn-src-projects@FreeBSD.ORG Tue Oct 20 15:49:32 2009 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id DC5C1106568F; Tue, 20 Oct 2009 15:49:32 +0000 (UTC) (envelope-from rdivacky@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id CBE218FC13; Tue, 20 Oct 2009 15:49:32 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n9KFnWOU071188; Tue, 20 Oct 2009 15:49:32 GMT (envelope-from rdivacky@svn.freebsd.org) Received: (from rdivacky@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n9KFnWo7071186; Tue, 20 Oct 2009 15:49:32 GMT (envelope-from rdivacky@svn.freebsd.org) Message-Id: <200910201549.n9KFnWo7071186@svn.freebsd.org> From: Roman Divacky Date: Tue, 20 Oct 2009 15:49:32 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r198292 - projects/clangbsd X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 20 Oct 2009 15:49:32 -0000 Author: rdivacky Date: Tue Oct 20 15:49:32 2009 New Revision: 198292 URL: http://svn.freebsd.org/changeset/base/198292 Log: do not hardcode gcc/g++ here Modified: projects/clangbsd/Makefile.inc1 Modified: projects/clangbsd/Makefile.inc1 ============================================================================== --- projects/clangbsd/Makefile.inc1 Tue Oct 20 15:06:18 2009 (r198291) +++ projects/clangbsd/Makefile.inc1 Tue Oct 20 15:49:32 2009 (r198292) @@ -286,9 +286,9 @@ LIB32WMAKEENV= MAKEOBJDIRPREFIX=${OBJTRE MACHINE_ARCH=i386 \ INSTALL="sh ${.CURDIR}/tools/install.sh" \ PATH=${TMPPATH} \ - CC="gcc ${LIB32FLAGS}" \ - CXX="g++ ${LIB32FLAGS}" \ - OBJC="gcc ${LIB32FLAGS}" \ + CC="${CC} ${LIB32FLAGS}" \ + CXX="${CXX} ${LIB32FLAGS}" \ + OBJC="${OBJC} ${LIB32FLAGS}" \ LD="${LD} -m elf_i386_fbsd -Y P,${LIB32TMP}/usr/lib32" \ AS="${AS} --32" \ LIBDIR=/usr/lib32 \ From owner-svn-src-projects@FreeBSD.ORG Tue Oct 20 16:32:38 2009 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 828FA106566C; Tue, 20 Oct 2009 16:32:38 +0000 (UTC) (envelope-from rdivacky@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 725AC8FC13; Tue, 20 Oct 2009 16:32:38 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n9KGWc7d072015; Tue, 20 Oct 2009 16:32:38 GMT (envelope-from rdivacky@svn.freebsd.org) Received: (from rdivacky@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n9KGWcad072013; Tue, 20 Oct 2009 16:32:38 GMT (envelope-from rdivacky@svn.freebsd.org) Message-Id: <200910201632.n9KGWcad072013@svn.freebsd.org> From: Roman Divacky Date: Tue, 20 Oct 2009 16:32:38 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r198294 - projects/clangbsd X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 20 Oct 2009 16:32:38 -0000 Author: rdivacky Date: Tue Oct 20 16:32:38 2009 New Revision: 198294 URL: http://svn.freebsd.org/changeset/base/198294 Log: Add temporarily /usr/local/bin to PATH so clang from ports/svn can be found. Modified: projects/clangbsd/Makefile Modified: projects/clangbsd/Makefile ============================================================================== --- projects/clangbsd/Makefile Tue Oct 20 16:22:31 2009 (r198293) +++ projects/clangbsd/Makefile Tue Oct 20 16:32:38 2009 (r198294) @@ -103,7 +103,7 @@ TGTS+= ${BITGTS} .ORDER: buildkernel reinstallkernel .ORDER: buildkernel reinstallkernel.debug -PATH= /sbin:/bin:/usr/sbin:/usr/bin +PATH= /sbin:/bin:/usr/sbin:/usr/bin:/usr/local/bin MAKEOBJDIRPREFIX?= /usr/obj _MAKEOBJDIRPREFIX!= /usr/bin/env -i PATH=${PATH} ${MAKE} \ ${.MAKEFLAGS:MMAKEOBJDIRPREFIX=*} __MAKE_CONF=${__MAKE_CONF} \ From owner-svn-src-projects@FreeBSD.ORG Tue Oct 20 16:46:40 2009 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 19A04106566B; Tue, 20 Oct 2009 16:46:40 +0000 (UTC) (envelope-from mckusick@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 0919A8FC0A; Tue, 20 Oct 2009 16:46:40 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n9KGkdld072398; Tue, 20 Oct 2009 16:46:39 GMT (envelope-from mckusick@svn.freebsd.org) Received: (from mckusick@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n9KGkdEL072396; Tue, 20 Oct 2009 16:46:39 GMT (envelope-from mckusick@svn.freebsd.org) Message-Id: <200910201646.n9KGkdEL072396@svn.freebsd.org> From: Kirk McKusick Date: Tue, 20 Oct 2009 16:46:39 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r198297 - projects/quota64/usr.sbin/repquota X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 20 Oct 2009 16:46:40 -0000 Author: mckusick Date: Tue Oct 20 16:46:39 2009 New Revision: 198297 URL: http://svn.freebsd.org/changeset/base/198297 Log: Update to work with quotafile functions in -libutil. Modified: projects/quota64/usr.sbin/repquota/Makefile Modified: projects/quota64/usr.sbin/repquota/Makefile ============================================================================== --- projects/quota64/usr.sbin/repquota/Makefile Tue Oct 20 16:41:23 2009 (r198296) +++ projects/quota64/usr.sbin/repquota/Makefile Tue Oct 20 16:46:39 2009 (r198297) @@ -3,6 +3,8 @@ PROG= repquota MAN= repquota.8 +DPADD= ${LIBUTIL} +LDADD= -lutil WARNS?= 4 From owner-svn-src-projects@FreeBSD.ORG Tue Oct 20 17:50:28 2009 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 47BFF1065672; Tue, 20 Oct 2009 17:50:28 +0000 (UTC) (envelope-from mckusick@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 372478FC08; Tue, 20 Oct 2009 17:50:28 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n9KHoSgg073775; Tue, 20 Oct 2009 17:50:28 GMT (envelope-from mckusick@svn.freebsd.org) Received: (from mckusick@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n9KHoSYi073773; Tue, 20 Oct 2009 17:50:28 GMT (envelope-from mckusick@svn.freebsd.org) Message-Id: <200910201750.n9KHoSYi073773@svn.freebsd.org> From: Kirk McKusick Date: Tue, 20 Oct 2009 17:50:28 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r198299 - projects/quota64/usr.sbin/repquota X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 20 Oct 2009 17:50:28 -0000 Author: mckusick Date: Tue Oct 20 17:50:27 2009 New Revision: 198299 URL: http://svn.freebsd.org/changeset/base/198299 Log: Claen up format when doing non-humanized output. Modified: projects/quota64/usr.sbin/repquota/repquota.c Modified: projects/quota64/usr.sbin/repquota/repquota.c ============================================================================== --- projects/quota64/usr.sbin/repquota/repquota.c Tue Oct 20 17:44:50 2009 (r198298) +++ projects/quota64/usr.sbin/repquota/repquota.c Tue Oct 20 17:50:27 2009 (r198299) @@ -208,6 +208,7 @@ repquota(struct fstab *fs, int type) printf("\n"); fprintf(stdout, "*** No %s quotas on %s (%s)\n", qfextension[type], fs->fs_file, fs->fs_spec); + return(1); } return(0); } @@ -221,7 +222,7 @@ repquota(struct fstab *fs, int type) printf("User%*s used soft hard grace used soft hard grace\n", max(UT_NAMESIZE,10), " "); maxid = quota_maxid(qf); - for (id = 0; id <= maxid; id++) { + for (id = 0; id < maxid; id++) { if (quota_read(qf, &dqbuf, id) != 0) break; if (dqbuf.dqb_curinodes == 0 && dqbuf.dqb_curblocks == 0) @@ -253,6 +254,7 @@ repquota(struct fstab *fs, int type) dqbuf.dqb_isoftlimit ? timeprt(dqbuf.dqb_itime) : "-"); } + quota_close(qf); return (0); } @@ -263,7 +265,7 @@ prthumanval(int64_t blocks) int flags; if (!hflag) { - printf("%7llu", dbtokb(blocks)); + printf(" %6llu", dbtokb(blocks)); return; } flags = HN_NOSPACE | HN_DECIMAL; From owner-svn-src-projects@FreeBSD.ORG Tue Oct 20 23:13:08 2009 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id B30D21065670; Tue, 20 Oct 2009 23:13:08 +0000 (UTC) (envelope-from gonzo@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 889038FC13; Tue, 20 Oct 2009 23:13:08 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n9KND8AB081116; Tue, 20 Oct 2009 23:13:08 GMT (envelope-from gonzo@svn.freebsd.org) Received: (from gonzo@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n9KND8G0081111; Tue, 20 Oct 2009 23:13:08 GMT (envelope-from gonzo@svn.freebsd.org) Message-Id: <200910202313.n9KND8G0081111@svn.freebsd.org> From: Oleksandr Tymoshenko Date: Tue, 20 Oct 2009 23:13:08 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r198310 - in projects/mips/sys/mips: include mips X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 20 Oct 2009 23:13:08 -0000 Author: gonzo Date: Tue Oct 20 23:13:08 2009 New Revision: 198310 URL: http://svn.freebsd.org/changeset/base/198310 Log: - Commit missing part of "bt" fix: store PC register in pcb_context struct in cpu_switch and use it in stack_trace function later. pcb_regs contains state of the process stored by exception handler and therefor is not valid for sleeping processes. Modified: projects/mips/sys/mips/include/pcb.h projects/mips/sys/mips/include/regnum.h projects/mips/sys/mips/mips/db_trace.c projects/mips/sys/mips/mips/swtch.S Modified: projects/mips/sys/mips/include/pcb.h ============================================================================== --- projects/mips/sys/mips/include/pcb.h Tue Oct 20 22:11:17 2009 (r198309) +++ projects/mips/sys/mips/include/pcb.h Tue Oct 20 23:13:08 2009 (r198310) @@ -50,7 +50,7 @@ struct pcb { struct trapframe pcb_regs; /* saved CPU and registers */ - __register_t pcb_context[13]; /* kernel context for resume */ + __register_t pcb_context[14]; /* kernel context for resume */ int pcb_onfault; /* for copyin/copyout faults */ }; @@ -70,6 +70,7 @@ struct pcb #define PCB_REG_RA 10 #define PCB_REG_SR 11 #define PCB_REG_GP 12 +#define PCB_REG_PC 13 #ifdef _KERNEL Modified: projects/mips/sys/mips/include/regnum.h ============================================================================== --- projects/mips/sys/mips/include/regnum.h Tue Oct 20 22:11:17 2009 (r198309) +++ projects/mips/sys/mips/include/regnum.h Tue Oct 20 23:13:08 2009 (r198310) @@ -63,8 +63,7 @@ #define PREG_RA 10 #define PREG_SR 11 #define PREG_GP 12 - - +#define PREG_PC 13 /* * Location of the saved registers relative to ZERO. Modified: projects/mips/sys/mips/mips/db_trace.c ============================================================================== --- projects/mips/sys/mips/mips/db_trace.c Tue Oct 20 22:11:17 2009 (r198309) +++ projects/mips/sys/mips/mips/db_trace.c Tue Oct 20 23:13:08 2009 (r198310) @@ -420,7 +420,7 @@ db_trace_thread(struct thread *thr, int else { ctx = thr->td_pcb; sp = (register_t)ctx->pcb_context[PREG_SP]; - pc = (register_t)ctx->pcb_regs.pc; + pc = (register_t)ctx->pcb_context[PREG_PC]; ra = (register_t)ctx->pcb_context[PREG_RA]; } Modified: projects/mips/sys/mips/mips/swtch.S ============================================================================== --- projects/mips/sys/mips/mips/swtch.S Tue Oct 20 22:11:17 2009 (r198309) +++ projects/mips/sys/mips/mips/swtch.S Tue Oct 20 23:13:08 2009 (r198310) @@ -313,6 +313,10 @@ NON_LEAF(cpu_switch, STAND_FRAME_SIZE, r SAVE_U_PCB_CONTEXT(ra, PREG_RA, a0) # save return address SAVE_U_PCB_CONTEXT(t0, PREG_SR, a0) # save status register SAVE_U_PCB_CONTEXT(gp, PREG_GP, a0) + jal getpc + nop +getpc: + SAVE_U_PCB_CONTEXT(ra, PREG_PC, a0) # save return address /* * FREEBSD_DEVELOPERS_FIXME: * In case there are CPU-specific registers that need From owner-svn-src-projects@FreeBSD.ORG Wed Oct 21 00:56:13 2009 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id D19A7106566C; Wed, 21 Oct 2009 00:56:13 +0000 (UTC) (envelope-from neel@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id A730D8FC0A; Wed, 21 Oct 2009 00:56:13 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n9L0uDH9083822; Wed, 21 Oct 2009 00:56:13 GMT (envelope-from neel@svn.freebsd.org) Received: (from neel@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n9L0uDfe083821; Wed, 21 Oct 2009 00:56:13 GMT (envelope-from neel@svn.freebsd.org) Message-Id: <200910210056.n9L0uDfe083821@svn.freebsd.org> From: Neel Natu Date: Wed, 21 Oct 2009 00:56:13 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r198311 - in projects/mips/sys: conf mips/conf X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 21 Oct 2009 00:56:13 -0000 Author: neel Date: Wed Oct 21 00:56:13 2009 New Revision: 198311 URL: http://svn.freebsd.org/changeset/base/198311 Log: Update options.mips to support config options required to build the SWARM kernel. The SWARM kernel does not build yet but at least it gets past the kernel config stage. Approved by: imp (mentor) Modified: projects/mips/sys/conf/options.mips projects/mips/sys/mips/conf/SWARM Modified: projects/mips/sys/conf/options.mips ============================================================================== --- projects/mips/sys/conf/options.mips Tue Oct 20 23:13:08 2009 (r198310) +++ projects/mips/sys/conf/options.mips Wed Oct 21 00:56:13 2009 (r198311) @@ -33,6 +33,7 @@ CPU_MIPS32 opt_global.h CPU_MIPS64 opt_global.h CPU_SENTRY5 opt_global.h CPU_HAVEFPU opt_global.h +CPU_SB1 opt_global.h ISA_MIPS1 opt_cputype.h ISA_MIPS3 opt_cputype.h @@ -56,3 +57,16 @@ TARGET_EMULATOR opt_ddb.h TICK_USE_YAMON_FREQ opt_global.h TICK_USE_MALTA_RTC opt_global.h + +# +# The MIPS architecture does not have separate memory and i/o address space +# like x86. However some MIPS processors provide a memory-mapped window that +# maps onto the PCI I/O space. +# +PCI_IOSPACE_SIZE opt_global.h +PCI_IOSPACE_ADDR opt_global.h + +# +# The highest memory address that can be used by the kernel in units of KB. +# +MAXMEM opt_global.h Modified: projects/mips/sys/mips/conf/SWARM ============================================================================== --- projects/mips/sys/mips/conf/SWARM Tue Oct 20 23:13:08 2009 (r198310) +++ projects/mips/sys/mips/conf/SWARM Wed Oct 21 00:56:13 2009 (r198311) @@ -3,7 +3,6 @@ # ident SWARM -options CPU_NOFPU options CPU_SB1 files "../sibyte/files.sibyte" @@ -14,8 +13,9 @@ options PCI_IOSPACE_SIZE=0x02000000 # # 32-bit kernel cannot deal with physical memory beyond 4GB +# XXX pmap assumes that all the memory can be mapped using KSEG0 # -options MAXMEM=4096*1024 +options MAXMEM=512*1024 options CFE options CFE_CONSOLE @@ -54,8 +54,6 @@ options INVARIANTS options INVARIANT_SUPPORT options WITNESS -options MD_ROOT -options MD_ROOT_SIZE=4096 options FFS #Fast filesystem device pci @@ -64,6 +62,7 @@ device bge device loop device ether device md +device random options USB_DEBUG device usb From owner-svn-src-projects@FreeBSD.ORG Wed Oct 21 04:35:10 2009 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 012491065672; Wed, 21 Oct 2009 04:35:10 +0000 (UTC) (envelope-from mckusick@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id E2D7F8FC14; Wed, 21 Oct 2009 04:35:09 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n9L4Z9Cb088208; Wed, 21 Oct 2009 04:35:09 GMT (envelope-from mckusick@svn.freebsd.org) Received: (from mckusick@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n9L4Z9co088206; Wed, 21 Oct 2009 04:35:09 GMT (envelope-from mckusick@svn.freebsd.org) Message-Id: <200910210435.n9L4Z9co088206@svn.freebsd.org> From: Kirk McKusick Date: Wed, 21 Oct 2009 04:35:09 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r198312 - projects/quota64/usr.bin/quota X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 21 Oct 2009 04:35:10 -0000 Author: mckusick Date: Wed Oct 21 04:35:09 2009 New Revision: 198312 URL: http://svn.freebsd.org/changeset/base/198312 Log: Update to work with quotafile functions in -libutil. Modified: projects/quota64/usr.bin/quota/quota.c Modified: projects/quota64/usr.bin/quota/quota.c ============================================================================== --- projects/quota64/usr.bin/quota/quota.c Wed Oct 21 00:56:13 2009 (r198311) +++ projects/quota64/usr.bin/quota/quota.c Wed Oct 21 04:35:09 2009 (r198312) @@ -87,7 +87,7 @@ struct quotause { char fsname[MAXPATHLEN + 1]; }; -static char *timeprt(time_t seconds); +static char *timeprt(int64_t seconds, int *needfree); static struct quotause *getprivs(long id, int quotatype); static void usage(void); static int showuid(u_long uid); @@ -97,7 +97,6 @@ static int showgrpname(char *name); static int showquotas(int type, u_long id, const char *name); static void showrawquotas(int type, u_long id, struct quotause *qup); static void heading(int type, u_long id, const char *name, const char *tag); -static int ufshasquota(struct fstab *fs, int type, char **qfnamep); static int getufsquota(struct fstab *fs, struct quotause *qup, long id, int quotatype); static int getnfsquota(struct statfs *fst, struct quotause *qup, long id, @@ -117,8 +116,7 @@ int main(int argc, char *argv[]) { int ngroups; - long ngroups_max; - gid_t mygid, *gidset; + gid_t mygid, gidset[NGROUPS]; int i, ch, gflag = 0, uflag = 0, errflag = 0; while ((ch = getopt(argc, argv, "f:ghlrquv")) != -1) { @@ -160,18 +158,13 @@ main(int argc, char *argv[]) errflag += showuid(getuid()); if (gflag) { mygid = getgid(); - ngroups_max = sysconf(_SC_NGROUPS_MAX) + 1; - if ((gidset = malloc(sizeof(gid_t) * ngroups_max)) - == NULL) - err(1, "malloc"); - ngroups = getgroups(ngroups_max, gidset); + ngroups = getgroups(NGROUPS, gidset); if (ngroups < 0) err(1, "getgroups"); errflag += showgid(mygid); for (i = 0; i < ngroups; i++) if (gidset[i] != mygid) errflag += showgid(gidset[i]); - free(gidset); } return(errflag); } @@ -271,7 +264,7 @@ showgrpname(char *name) } static void -prthumanval(int len, int64_t bytes) +prthumanval(int len, u_int64_t bytes) { char buf[len + 1]; @@ -288,7 +281,8 @@ showquotas(int type, u_long id, const ch struct quotause *quplist; const char *msgi, *msgb; const char *nam; - char *bgrace = NULL, *igrace = NULL; + char *bgrace, *igrace; + int bfree, ifree; int lines = 0, overquota = 0; static time_t now; @@ -344,52 +338,46 @@ showquotas(int type, u_long id, const ch printf("\t%s %s\n", msgb, qup->fsname); continue; } - if (vflag || - qup->dqblk.dqb_curblocks || - qup->dqblk.dqb_curinodes) { - if (lines++ == 0) - heading(type, id, name, ""); - nam = qup->fsname; - if (strlen(qup->fsname) > 15) { - printf("%s\n", qup->fsname); - nam = ""; - } - printf("%15s", nam); - if (hflag) { - printf(" "); - prthumanval(4, dbtob(qup->dqblk.dqb_curblocks)); - printf("%c ", (msgb == (char *)0) ? ' ' : '*'); - prthumanval(4, dbtob(qup->dqblk.dqb_bsoftlimit)); - printf(" "); - prthumanval(4, dbtob(qup->dqblk.dqb_bhardlimit)); - } else { - printf(" %7ju%c %6ju %7ju", - (uintmax_t)(dbtob(qup->dqblk.dqb_curblocks) - / 1024), - (msgb == NULL) ? ' ' : '*', - (uintmax_t)(dbtob(qup->dqblk.dqb_bsoftlimit) - / 1024), - (uintmax_t)(dbtob(qup->dqblk.dqb_bhardlimit) - / 1024)); - } - if (msgb != NULL) - bgrace = timeprt(qup->dqblk.dqb_btime); - if (msgi != NULL) - igrace = timeprt(qup->dqblk.dqb_itime); - printf(" %7s %7ju%c %6ju %7ju %7s\n", - (msgb == NULL) ? "" : bgrace, - (uintmax_t)qup->dqblk.dqb_curinodes, - (msgi == NULL) ? ' ' : '*', - (uintmax_t)qup->dqblk.dqb_isoftlimit, - (uintmax_t)qup->dqblk.dqb_ihardlimit, - (msgi == NULL) ? "" : igrace - ); - if (msgb != NULL) - free(bgrace); - if (msgi != NULL) - free(igrace); + if (!vflag && + qup->dqblk.dqb_curblocks == 0 && + qup->dqblk.dqb_curinodes == 0) continue; - } + if (lines++ == 0) + heading(type, id, name, ""); + nam = qup->fsname; + if (strlen(qup->fsname) > 15) { + printf("%s\n", qup->fsname); + nam = ""; + } + printf("%-15s", nam); + if (hflag) { + prthumanval(7, dbtob(qup->dqblk.dqb_curblocks)); + printf("%c", (msgb == (char *)0) ? ' ' : '*'); + prthumanval(7, dbtob(qup->dqblk.dqb_bsoftlimit)); + prthumanval(7, dbtob(qup->dqblk.dqb_bhardlimit)); + } else { + printf(" %7ju%c %7ju %7ju", + dbtob(1024) * (uintmax_t)qup->dqblk.dqb_curblocks, + (msgb == (char *)0) ? ' ' : '*', + dbtob(1024) * (uintmax_t)qup->dqblk.dqb_bsoftlimit, + dbtob(1024) * (uintmax_t)qup->dqblk.dqb_bhardlimit); + } + if (msgb != NULL) + bgrace = timeprt(qup->dqblk.dqb_btime, &bfree); + if (msgi != NULL) + igrace = timeprt(qup->dqblk.dqb_itime, &ifree); + printf("%8s %6ju%c %6ju %6ju%8s\n" + , (msgb == (char *)0) ? "" : bgrace + , (uintmax_t)qup->dqblk.dqb_curinodes + , (msgi == (char *)0) ? ' ' : '*' + , (uintmax_t)qup->dqblk.dqb_isoftlimit + , (uintmax_t)qup->dqblk.dqb_ihardlimit + , (msgi == (char *)0) ? "" : igrace + ); + if (msgb != NULL && bfree) + free(bgrace); + if (msgi != NULL && ifree) + free(igrace); } if (!qflag && !rflag && lines == 0) heading(type, id, name, "none"); @@ -399,27 +387,37 @@ showquotas(int type, u_long id, const ch static void showrawquotas(int type, u_long id, struct quotause *qup) { - time_t tt; + time_t time; + printf("Raw %s quota information for id %lu on %s\n", type == USRQUOTA ? "user" : "group", id, qup->fsname); - printf("block hard limit: %ju\n", (uintmax_t)qup->dqblk.dqb_bhardlimit); - printf("block soft limit: %ju\n", (uintmax_t)qup->dqblk.dqb_bsoftlimit); - printf("current block count: %ju\n", (uintmax_t)qup->dqblk.dqb_curblocks); - printf("i-node hard limit: %ju\n", (uintmax_t)qup->dqblk.dqb_ihardlimit); - printf("i-node soft limit: %ju\n", (uintmax_t)qup->dqblk.dqb_isoftlimit); - printf("current i-node count: %ju\n", (uintmax_t)qup->dqblk.dqb_curinodes); - printf("block grace time: %jd", (intmax_t)qup->dqblk.dqb_btime); + printf("block hard limit: %ju\n", + (uintmax_t)qup->dqblk.dqb_bhardlimit); + printf("block soft limit: %ju\n", + (uintmax_t)qup->dqblk.dqb_bsoftlimit); + printf("current block count: %ju\n", + (uintmax_t)qup->dqblk.dqb_curblocks); + printf("i-node hard limit: %ju\n", + (uintmax_t)qup->dqblk.dqb_ihardlimit); + printf("i-node soft limit: %ju\n", + (uintmax_t)qup->dqblk.dqb_isoftlimit); + printf("current i-node count: %ju\n", + (uintmax_t)qup->dqblk.dqb_curinodes); + printf("block grace time: %jd", + (intmax_t)qup->dqblk.dqb_btime); if (qup->dqblk.dqb_btime != 0) { - tt = qup->dqblk.dqb_btime; - printf(" %s", ctime(&tt)); - } else + time = qup->dqblk.dqb_btime; + printf(" %s", ctime(&time)); + } else { printf("\n"); + } printf("i-node grace time: %jd", (intmax_t)qup->dqblk.dqb_itime); if (qup->dqblk.dqb_itime != 0) { - tt = qup->dqblk.dqb_itime; - printf(" %s", ctime(&tt)); - } else + time = qup->dqblk.dqb_itime; + printf(" %s", ctime(&time)); + } else { printf("\n"); + } } @@ -430,7 +428,7 @@ heading(int type, u_long id, const char printf("Disk quotas for %s %s (%cid %lu): %s\n", qfextension[type], name, *qfextension[type], id, tag); if (!qflag && tag[0] == '\0') { - printf("%15s %7s %6s %7s %7s %7s %6s %7s %7s\n" + printf("%-15s %7s %8s %7s %7s %6s %7s %6s%8s\n" , "Filesystem" , "usage" , "quota" @@ -448,7 +446,7 @@ heading(int type, u_long id, const char * Calculate the grace period and return a printable string for it. */ static char * -timeprt(time_t seconds) +timeprt(int64_t seconds, int *needfree) { time_t hours, minutes; char *buf; @@ -457,7 +455,8 @@ timeprt(time_t seconds) if (now == 0) time(&now); if (now > seconds) { - return strdup("none"); + *needfree = 0; + return ("none"); } seconds -= now; minutes = (seconds + 30) / 60; @@ -465,16 +464,19 @@ timeprt(time_t seconds) if (hours >= 36) { if (asprintf(&buf, "%lddays", ((long)hours + 12) / 24) < 0) errx(1, "asprintf failed in timeprt(1)"); + *needfree = 1; return (buf); } if (minutes >= 60) { if (asprintf(&buf, "%2ld:%ld", (long)minutes / 60, (long)minutes % 60) < 0) errx(1, "asprintf failed in timeprt(2)"); + *needfree = 1; return (buf); } if (asprintf(&buf, "%2ld", (long)minutes) < 0) errx(1, "asprintf failed in timeprt(3)"); + *needfree = 1; return (buf); } @@ -499,7 +501,7 @@ getprivs(long id, int quotatype) if (nfst == 0) errx(2, "no filesystems mounted!"); setfsent(); - for (i=0; ifs_mntops); - for (opt = strtok(buf, ","); opt; opt = strtok(NULL, ",")) { - if ((cp = index(opt, '='))) - *cp++ = '\0'; - if (type == USRQUOTA && strcmp(opt, usrname) == 0) - break; - if (type == GRPQUOTA && strcmp(opt, grpname) == 0) - break; - } - if (!opt) - return (0); - if (cp) - *qfnamep = cp; - else { - (void)snprintf(buf, sizeof(buf), "%s/%s.%s", fs->fs_file, - qfname, qfextension[type]); - *qfnamep = buf; - } - if (statfs(fs->fs_file, &sfb) != 0) { - warn("cannot statfs mount point %s", fs->fs_file); - return (0); - } - if (strcmp(fs->fs_file, sfb.f_mntonname)) { - warnx("%s not mounted for %s quotas", fs->fs_file, - type == USRQUOTA ? "user" : "group"); - return (0); - } - return (1); -} - -static int getufsquota(struct fstab *fs, struct quotause *qup, long id, int quotatype) { - char *qfpathname; - int fd, qcmd; + struct quotafile *qf; - qcmd = QCMD(Q_GETQUOTA, quotatype); - if (!ufshasquota(fs, quotatype, &qfpathname)) + if ((qf = quota_open(fs, quotatype, O_RDONLY)) == NULL) return (0); - - if (quotactl(fs->fs_file, qcmd, id, (char *)&qup->dqblk) != 0) { - if ((fd = open(qfpathname, O_RDONLY)) < 0) { - warn("%s", qfpathname); - return (0); - } - (void) lseek(fd, (off_t)(id * sizeof(struct dqblk)), L_SET); - switch (read(fd, &qup->dqblk, sizeof(struct dqblk))) { - case 0: /* EOF */ - /* - * Convert implicit 0 quota (EOF) - * into an explicit one (zero'ed dqblk) - */ - bzero((caddr_t)&qup->dqblk, sizeof(struct dqblk)); - break; - case sizeof(struct dqblk): /* OK */ - break; - default: /* ERROR */ - warn("read error: %s", qfpathname); - close(fd); - return (0); - } - close(fd); - } + if (quota_read(qf, &qup->dqblk, id) != 0) + return (0); + quota_close(qf); return (1); } From owner-svn-src-projects@FreeBSD.ORG Wed Oct 21 06:32:06 2009 Return-Path: Delivered-To: svn-src-projects@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 5BFF51065676; Wed, 21 Oct 2009 06:32:06 +0000 (UTC) (envelope-from wkoszek@freebsd.czest.pl) Received: from freebsd.czest.pl (l95h.icis.pcz.pl [212.87.224.105]) by mx1.freebsd.org (Postfix) with ESMTP id C081B8FC26; Wed, 21 Oct 2009 06:32:04 +0000 (UTC) Received: from freebsd.czest.pl (l95h.icis.pcz.pl [212.87.224.105]) by freebsd.czest.pl (8.14.2/8.14.2) with ESMTP id n9L6CEHP053508; Wed, 21 Oct 2009 08:12:14 +0200 (CEST) (envelope-from wkoszek@freebsd.czest.pl) Received: (from wkoszek@localhost) by freebsd.czest.pl (8.14.2/8.14.2/Submit) id n9L6CDLx053507; Wed, 21 Oct 2009 08:12:13 +0200 (CEST) (envelope-from wkoszek) Date: Wed, 21 Oct 2009 08:12:13 +0200 From: "Wojciech A. Koszek" To: Ed Schouten Message-ID: <20091021061213.GJ1841@FreeBSD.org> Mail-Followup-To: Ed Schouten , Roman Divacky , src-committers@FreeBSD.org, svn-src-projects@FreeBSD.org References: <200910151735.n9FHZYwt080221@svn.freebsd.org> <20091016080926.GC89475@hoeg.nl> MIME-Version: 1.0 Content-Type: text/plain; charset=iso-8859-2 Content-Disposition: inline In-Reply-To: <20091016080926.GC89475@hoeg.nl> User-Agent: Mutt/1.5.17 (2007-11-01) X-Greylist: Sender DNS name whitelisted, not delayed by milter-greylist-3.0 (freebsd.czest.pl [212.87.224.105]); Wed, 21 Oct 2009 08:12:14 +0200 (CEST) Cc: svn-src-projects@FreeBSD.org, Roman Divacky , src-committers@FreeBSD.org Subject: Re: svn commit: r198145 - in projects/clangbsd/usr.bin/clang/include/llvm: Config Support X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 21 Oct 2009 06:32:06 -0000 On Fri, Oct 16, 2009 at 10:09:26AM +0200, Ed Schouten wrote: > * Roman Divacky wrote: > > -LLVM_ASM_PRINTER(ARM) > > -LLVM_ASM_PRINTER(IA64) > > -LLVM_ASM_PRINTER(Mips) > > -LLVM_ASM_PRINTER(PowerPC) > > -LLVM_ASM_PRINTER(X86) > > +#ifndef LLVM_ASM_PRINTER > > +# error Please define the macro LLVM_ASM_PRINTER(TargetName) > > +#endif > > + > > +LLVM_ASM_PRINTER(Blackfin) LLVM_ASM_PRINTER(SystemZ) LLVM_ASM_PRINTER(MSP430) LLVM_ASM_PRINTER(XCore) LLVM_ASM_PRINTER(PIC16) LLVM_ASM_PRINTER(CellSPU) LLVM_ASM_PRINTER(Mips) LLVM_ASM_PRINTER(ARM) LLVM_ASM_PRINTER(Alpha) LLVM_ASM_PRINTER(PowerPC) LLVM_ASM_PRINTER(Sparc) LLVM_ASM_PRINTER(X86) > > > -LLVM_TARGET(ARM) > > -LLVM_TARGET(IA64) > > -LLVM_TARGET(Mips) > > -LLVM_TARGET(PowerPC) > > -LLVM_TARGET(X86) > > +#ifndef LLVM_TARGET > > +# error Please define the macro LLVM_TARGET(TargetName) > > +#endif > > + > > +LLVM_TARGET(CppBackend) LLVM_TARGET(MSIL) LLVM_TARGET(CBackend) LLVM_TARGET(Blackfin) LLVM_TARGET(SystemZ) LLVM_TARGET(MSP430) LLVM_TARGET(XCore) LLVM_TARGET(PIC16) LLVM_TARGET(CellSPU) LLVM_TARGET(Mips) LLVM_TARGET(ARM) LLVM_TARGET(Alpha) LLVM_TARGET(PowerPC) LLVM_TARGET(Sparc) LLVM_TARGET(X86) > > Please don't add the backends that we're not interested in. I don't see > a point in adding PIC16 and Blackfin support. It would be good to have a way to enable "Get me all supported backends" option in the future. It would be nice to be able to actually compile PIC16 code in FreeBSD without any other software but LLVM. -- Wojciech A. Koszek wkoszek@FreeBSD.org http://FreeBSD.czest.pl/~wkoszek/ From owner-svn-src-projects@FreeBSD.ORG Wed Oct 21 17:08:36 2009 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id C6F17106566B; Wed, 21 Oct 2009 17:08:36 +0000 (UTC) (envelope-from rwatson@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id B29B48FC1D; Wed, 21 Oct 2009 17:08:36 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n9LH8aWj005308; Wed, 21 Oct 2009 17:08:36 GMT (envelope-from rwatson@svn.freebsd.org) Received: (from rwatson@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n9LH8ZlS005261; Wed, 21 Oct 2009 17:08:35 GMT (envelope-from rwatson@svn.freebsd.org) Message-Id: <200910211708.n9LH8ZlS005261@svn.freebsd.org> From: Robert Watson Date: Wed, 21 Oct 2009 17:08:35 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r198336 - in projects/capabilities8: . bin/csh bin/sh cddl/compat/opensolaris cddl/contrib/opensolaris cddl/lib/libnvpair contrib/bind9 contrib/bzip2 contrib/cpio contrib/csup contrib/e... X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 21 Oct 2009 17:08:36 -0000 Author: rwatson Date: Wed Oct 21 17:08:35 2009 New Revision: 198336 URL: http://svn.freebsd.org/changeset/base/198336 Log: Merge through r198334 from stable/8 to capabilities8. Added: projects/capabilities8/tools/regression/bin/sh/execution/func1.0 - copied unchanged from r198334, stable/8/tools/regression/bin/sh/execution/func1.0 projects/capabilities8/tools/regression/bin/sh/execution/func2.0 - copied unchanged from r198334, stable/8/tools/regression/bin/sh/execution/func2.0 Modified: projects/capabilities8/ (props changed) projects/capabilities8/Makefile.inc1 projects/capabilities8/ObsoleteFiles.inc (props changed) projects/capabilities8/UPDATING (props changed) projects/capabilities8/bin/csh/ (props changed) projects/capabilities8/bin/csh/iconv_stub.c projects/capabilities8/bin/sh/ (props changed) projects/capabilities8/bin/sh/eval.c projects/capabilities8/bin/sh/exec.c projects/capabilities8/bin/sh/exec.h projects/capabilities8/bin/sh/mknodes.c projects/capabilities8/bin/sh/nodes.c.pat projects/capabilities8/cddl/compat/opensolaris/ (props changed) projects/capabilities8/cddl/contrib/opensolaris/ (props changed) projects/capabilities8/cddl/lib/libnvpair/ (props changed) projects/capabilities8/contrib/bind9/ (props changed) projects/capabilities8/contrib/bzip2/ (props changed) projects/capabilities8/contrib/cpio/ (props changed) projects/capabilities8/contrib/csup/ (props changed) projects/capabilities8/contrib/ee/ (props changed) projects/capabilities8/contrib/file/ (props changed) projects/capabilities8/contrib/gdb/ (props changed) projects/capabilities8/contrib/gdtoa/ (props changed) projects/capabilities8/contrib/less/ (props changed) projects/capabilities8/contrib/libpcap/ (props changed) projects/capabilities8/contrib/ncurses/ (props changed) projects/capabilities8/contrib/netcat/ (props changed) projects/capabilities8/contrib/ntp/ (props changed) projects/capabilities8/contrib/openbsm/ (props changed) projects/capabilities8/contrib/openpam/ (props changed) projects/capabilities8/contrib/pf/ (props changed) projects/capabilities8/contrib/sendmail/ (props changed) projects/capabilities8/contrib/tcpdump/ (props changed) projects/capabilities8/contrib/tcsh/ (props changed) projects/capabilities8/contrib/tcsh/sh.c projects/capabilities8/contrib/top/ (props changed) projects/capabilities8/contrib/top/install-sh (props changed) projects/capabilities8/contrib/traceroute/ (props changed) projects/capabilities8/contrib/wpa/ (props changed) projects/capabilities8/crypto/openssh/ (props changed) projects/capabilities8/crypto/openssl/ (props changed) projects/capabilities8/etc/ (props changed) projects/capabilities8/etc/rc.d/bgfsck projects/capabilities8/etc/rc.d/cleartmp projects/capabilities8/etc/rc.d/fsck projects/capabilities8/etc/rc.d/hostid projects/capabilities8/etc/rc.d/hostname projects/capabilities8/etc/rc.d/ipsec projects/capabilities8/etc/rc.d/ldconfig projects/capabilities8/etc/rc.d/motd projects/capabilities8/etc/rc.d/mountcritlocal projects/capabilities8/etc/rc.d/moused projects/capabilities8/etc/rc.d/netif projects/capabilities8/etc/rc.d/newsyslog projects/capabilities8/etc/rc.d/nfsclient projects/capabilities8/etc/rc.d/pf projects/capabilities8/etc/rc.d/savecore projects/capabilities8/etc/rc.subr projects/capabilities8/gnu/usr.bin/patch/ (props changed) projects/capabilities8/include/ (props changed) projects/capabilities8/kerberos5/lib/libgssapi_krb5/ (props changed) projects/capabilities8/kerberos5/lib/libgssapi_krb5/Makefile projects/capabilities8/kerberos5/lib/libgssapi_spnego/ (props changed) projects/capabilities8/kerberos5/lib/libgssapi_spnego/Makefile projects/capabilities8/lib/libarchive/ (props changed) projects/capabilities8/lib/libc/ (props changed) projects/capabilities8/lib/libc/gen/ (props changed) projects/capabilities8/lib/libc/stdio/asprintf.c (props changed) projects/capabilities8/lib/libc/stdtime/ (props changed) projects/capabilities8/lib/libc/string/ffsll.c (props changed) projects/capabilities8/lib/libc/string/flsll.c (props changed) projects/capabilities8/lib/libc/string/wcpcpy.c (props changed) projects/capabilities8/lib/libc/string/wcpncpy.c (props changed) projects/capabilities8/lib/libc/sys/nanosleep.2 projects/capabilities8/lib/libc/sys/setfib.2 projects/capabilities8/lib/libc/sys/stack_protector.c projects/capabilities8/lib/libdevinfo/ (props changed) projects/capabilities8/lib/libdisk/ (props changed) projects/capabilities8/lib/libkvm/ (props changed) projects/capabilities8/lib/libthr/ (props changed) projects/capabilities8/lib/libusb/ (props changed) projects/capabilities8/lib/libusb/libusb20.3 (props changed) projects/capabilities8/lib/libusb/usb.h (props changed) projects/capabilities8/lib/libutil/ (props changed) projects/capabilities8/libexec/rtld-elf/ (props changed) projects/capabilities8/libexec/rtld-elf/rtld.c projects/capabilities8/release/ (props changed) projects/capabilities8/release/Makefile projects/capabilities8/release/doc/ (props changed) projects/capabilities8/release/doc/en_US.ISO8859-1/hardware/ (props changed) projects/capabilities8/sbin/ (props changed) projects/capabilities8/sbin/bsdlabel/ (props changed) projects/capabilities8/sbin/camcontrol/ (props changed) projects/capabilities8/sbin/geom/ (props changed) projects/capabilities8/sbin/geom/class/nop/gnop.8 projects/capabilities8/sbin/ifconfig/ (props changed) projects/capabilities8/sbin/ifconfig/ifconfig.8 projects/capabilities8/sbin/ifconfig/ifieee80211.c projects/capabilities8/sbin/ipfw/ (props changed) projects/capabilities8/sbin/ipfw/ipfw.8 projects/capabilities8/sbin/mksnap_ffs/ (props changed) projects/capabilities8/sbin/mksnap_ffs/mksnap_ffs.8 projects/capabilities8/sbin/mount/ (props changed) projects/capabilities8/sbin/mount_nfs/ (props changed) projects/capabilities8/sbin/mount_nfs/mount_nfs.c projects/capabilities8/sbin/umount/ (props changed) projects/capabilities8/share/man/man4/ (props changed) projects/capabilities8/share/man/man4/acpi_panasonic.4 projects/capabilities8/share/man/man4/bce.4 projects/capabilities8/share/man/man4/bge.4 projects/capabilities8/share/man/man4/mfi.4 projects/capabilities8/share/man/man4/sbp_targ.4 projects/capabilities8/share/man/man4/targ.4 projects/capabilities8/share/man/man5/ (props changed) projects/capabilities8/share/man/man7/ (props changed) projects/capabilities8/share/man/man9/ (props changed) projects/capabilities8/share/man/man9/fail.9 projects/capabilities8/share/man/man9/ieee80211.9 projects/capabilities8/share/man/man9/ieee80211_amrr.9 projects/capabilities8/share/man/man9/ieee80211_beacon.9 projects/capabilities8/share/man/man9/ieee80211_bmiss.9 projects/capabilities8/share/man/man9/ieee80211_crypto.9 projects/capabilities8/share/man/man9/ieee80211_ddb.9 projects/capabilities8/share/man/man9/ieee80211_input.9 projects/capabilities8/share/man/man9/ieee80211_node.9 projects/capabilities8/share/man/man9/ieee80211_output.9 projects/capabilities8/share/man/man9/ieee80211_proto.9 projects/capabilities8/share/man/man9/ieee80211_radiotap.9 projects/capabilities8/share/man/man9/ieee80211_regdomain.9 projects/capabilities8/share/man/man9/ieee80211_scan.9 projects/capabilities8/share/man/man9/ieee80211_vap.9 projects/capabilities8/share/timedef/ (props changed) projects/capabilities8/share/zoneinfo/ (props changed) projects/capabilities8/sys/ (props changed) projects/capabilities8/sys/amd64/include/atomic.h projects/capabilities8/sys/amd64/include/elf.h projects/capabilities8/sys/amd64/include/xen/ (props changed) projects/capabilities8/sys/arm/include/elf.h projects/capabilities8/sys/boot/i386/zfsboot/zfsboot.c projects/capabilities8/sys/cam/ata/ata_da.c projects/capabilities8/sys/cddl/compat/opensolaris/kern/opensolaris_policy.c projects/capabilities8/sys/cddl/compat/opensolaris/sys/policy.h projects/capabilities8/sys/cddl/contrib/opensolaris/ (props changed) projects/capabilities8/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_geom.c projects/capabilities8/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vnops.c projects/capabilities8/sys/contrib/dev/acpica/ (props changed) projects/capabilities8/sys/contrib/pf/ (props changed) projects/capabilities8/sys/dev/bge/if_bge.c projects/capabilities8/sys/dev/uart/uart_bus.h projects/capabilities8/sys/dev/uart/uart_core.c projects/capabilities8/sys/dev/uart/uart_tty.c projects/capabilities8/sys/dev/usb/wlan/if_rum.c projects/capabilities8/sys/dev/usb/wlan/if_uath.c projects/capabilities8/sys/dev/usb/wlan/if_upgt.c projects/capabilities8/sys/dev/usb/wlan/if_ural.c projects/capabilities8/sys/dev/usb/wlan/if_urtw.c projects/capabilities8/sys/dev/usb/wlan/if_zyd.c projects/capabilities8/sys/dev/xen/xenpci/ (props changed) projects/capabilities8/sys/geom/concat/g_concat.c projects/capabilities8/sys/geom/label/g_label.c projects/capabilities8/sys/geom/part/g_part.c projects/capabilities8/sys/geom/shsec/g_shsec.c projects/capabilities8/sys/geom/stripe/g_stripe.c projects/capabilities8/sys/geom/uzip/g_uzip.c projects/capabilities8/sys/i386/include/atomic.h projects/capabilities8/sys/i386/include/elf.h projects/capabilities8/sys/ia64/include/elf.h projects/capabilities8/sys/kern/imgact_elf.c projects/capabilities8/sys/kern/kern_exit.c projects/capabilities8/sys/kern/kern_lock.c projects/capabilities8/sys/kern/kern_rwlock.c projects/capabilities8/sys/kern/kern_sx.c projects/capabilities8/sys/kern/kern_umtx.c projects/capabilities8/sys/kern/sched_ule.c projects/capabilities8/sys/kern/uipc_syscalls.c projects/capabilities8/sys/mips/include/elf.h projects/capabilities8/sys/modules/pf/Makefile projects/capabilities8/sys/net/pfil.c projects/capabilities8/sys/net/pfil.h projects/capabilities8/sys/net/route.c projects/capabilities8/sys/net80211/ieee80211_hwmp.c projects/capabilities8/sys/net80211/ieee80211_mesh.c projects/capabilities8/sys/net80211/ieee80211_mesh.h projects/capabilities8/sys/netinet/if_ether.c projects/capabilities8/sys/netinet/in.c projects/capabilities8/sys/netinet/ip_input.c projects/capabilities8/sys/netinet/sctp_output.c projects/capabilities8/sys/netinet/tcp_input.c projects/capabilities8/sys/nfsclient/nfs_kdtrace.c projects/capabilities8/sys/powerpc/include/elf.h projects/capabilities8/sys/sparc64/include/elf.h projects/capabilities8/sys/sun4v/include/elf.h projects/capabilities8/sys/sys/rwlock.h projects/capabilities8/sys/sys/sx.h projects/capabilities8/sys/vm/swap_pager.c projects/capabilities8/tools/regression/bin/sh/ (props changed) projects/capabilities8/tools/regression/lib/msun/test-conj.t (props changed) projects/capabilities8/tools/regression/poll/ (props changed) projects/capabilities8/tools/regression/priv/ (props changed) projects/capabilities8/tools/regression/usr.bin/pkill/pgrep-_g.t (props changed) projects/capabilities8/tools/regression/usr.bin/pkill/pgrep-_s.t (props changed) projects/capabilities8/tools/regression/usr.bin/pkill/pkill-_g.t (props changed) projects/capabilities8/tools/tools/ath/common/dumpregs.h (props changed) projects/capabilities8/tools/tools/ath/common/dumpregs_5210.c (props changed) projects/capabilities8/tools/tools/ath/common/dumpregs_5211.c (props changed) projects/capabilities8/tools/tools/ath/common/dumpregs_5212.c (props changed) projects/capabilities8/tools/tools/ath/common/dumpregs_5416.c (props changed) projects/capabilities8/tools/tools/termcap/termcap.pl (props changed) projects/capabilities8/tools/tools/vimage/ (props changed) projects/capabilities8/usr.bin/calendar/calendars/calendar.freebsd (props changed) projects/capabilities8/usr.bin/csup/ (props changed) projects/capabilities8/usr.bin/fstat/ (props changed) projects/capabilities8/usr.bin/look/ (props changed) projects/capabilities8/usr.bin/netstat/ (props changed) projects/capabilities8/usr.bin/netstat/route.c projects/capabilities8/usr.bin/procstat/ (props changed) projects/capabilities8/usr.bin/w/ (props changed) projects/capabilities8/usr.bin/whois/ (props changed) projects/capabilities8/usr.sbin/ (props changed) projects/capabilities8/usr.sbin/arp/ (props changed) projects/capabilities8/usr.sbin/dumpcis/cardinfo.h (props changed) projects/capabilities8/usr.sbin/dumpcis/cis.h (props changed) projects/capabilities8/usr.sbin/freebsd-update/ (props changed) projects/capabilities8/usr.sbin/iostat/ (props changed) projects/capabilities8/usr.sbin/jls/ (props changed) projects/capabilities8/usr.sbin/lpr/ (props changed) projects/capabilities8/usr.sbin/makefs/ffs/ffs_bswap.c (props changed) projects/capabilities8/usr.sbin/makefs/ffs/ffs_subr.c (props changed) projects/capabilities8/usr.sbin/makefs/ffs/ufs_bswap.h (props changed) projects/capabilities8/usr.sbin/makefs/getid.c (props changed) projects/capabilities8/usr.sbin/mfiutil/README (props changed) projects/capabilities8/usr.sbin/mfiutil/mfiutil.1 (props changed) projects/capabilities8/usr.sbin/mfiutil/mfiutil.8 (props changed) projects/capabilities8/usr.sbin/ndp/ (props changed) projects/capabilities8/usr.sbin/ntp/ (props changed) projects/capabilities8/usr.sbin/ppp/ (props changed) projects/capabilities8/usr.sbin/pstat/ (props changed) projects/capabilities8/usr.sbin/sysinstall/ (props changed) projects/capabilities8/usr.sbin/traceroute6/ (props changed) projects/capabilities8/usr.sbin/wpa/ (props changed) projects/capabilities8/usr.sbin/zic/ (props changed) Modified: projects/capabilities8/Makefile.inc1 ============================================================================== --- projects/capabilities8/Makefile.inc1 Wed Oct 21 17:07:46 2009 (r198335) +++ projects/capabilities8/Makefile.inc1 Wed Oct 21 17:08:35 2009 (r198336) @@ -1122,7 +1122,7 @@ lib/libradius__L secure/lib/libssl__L: s _secure_lib_libssh= secure/lib/libssh secure/lib/libssh__L: lib/libz__L secure/lib/libcrypto__L lib/libcrypt__L .if ${MK_KERBEROS} != "no" -kerberos5/lib/libgssapi_krb5__L: kerberos5/lib/libkrb5__L \ +kerberos5/lib/libgssapi_krb5__L: lib/libgssapi__L kerberos5/lib/libkrb5__L \ kerberos5/lib/libhx509__L kerberos5/lib/libasn1__L lib/libcom_err__L \ lib/libmd__L kerberos5/lib/libroken__L secure/lib/libcrypto__L \ lib/libcrypt__L Modified: projects/capabilities8/bin/csh/iconv_stub.c ============================================================================== --- projects/capabilities8/bin/csh/iconv_stub.c Wed Oct 21 17:07:46 2009 (r198335) +++ projects/capabilities8/bin/csh/iconv_stub.c Wed Oct 21 17:08:35 2009 (r198336) @@ -61,9 +61,20 @@ dl_iconv_open(const char *tocode, const if (iconvlib == NULL) return (iconv_t)-1; iconv_open = (iconv_open_t *)dlfunc(iconvlib, ICONV_OPEN); + if (iconv_open == NULL) + goto dlfunc_err; dl_iconv = (dl_iconv_t *)dlfunc(iconvlib, ICONV_ENGINE); + if (dl_iconv == NULL) + goto dlfunc_err; dl_iconv_close = (dl_iconv_close_t *)dlfunc(iconvlib, ICONV_CLOSE); + if (dl_iconv_close == NULL) + goto dlfunc_err; } return iconv_open(tocode, fromcode); + +dlfunc_err: + dlclose(iconvlib); + iconvlib = NULL; + return (iconv_t)-1; } Modified: projects/capabilities8/bin/sh/eval.c ============================================================================== --- projects/capabilities8/bin/sh/eval.c Wed Oct 21 17:07:46 2009 (r198335) +++ projects/capabilities8/bin/sh/eval.c Wed Oct 21 17:08:35 2009 (r198336) @@ -785,6 +785,7 @@ evalcommand(union node *cmd, int flags, INTOFF; savelocalvars = localvars; localvars = NULL; + reffunc(cmdentry.u.func); INTON; savehandler = handler; if (setjmp(jmploc.loc)) { @@ -794,6 +795,7 @@ evalcommand(union node *cmd, int flags, freeparam(&shellparam); shellparam = saveparam; } + unreffunc(cmdentry.u.func); poplocalvars(); localvars = savelocalvars; handler = savehandler; @@ -805,11 +807,12 @@ evalcommand(union node *cmd, int flags, funcnest++; exitstatus = oexitstatus; if (flags & EV_TESTED) - evaltree(cmdentry.u.func, EV_TESTED); + evaltree(getfuncnode(cmdentry.u.func), EV_TESTED); else - evaltree(cmdentry.u.func, 0); + evaltree(getfuncnode(cmdentry.u.func), 0); funcnest--; INTOFF; + unreffunc(cmdentry.u.func); poplocalvars(); localvars = savelocalvars; freeparam(&shellparam); Modified: projects/capabilities8/bin/sh/exec.c ============================================================================== --- projects/capabilities8/bin/sh/exec.c Wed Oct 21 17:07:46 2009 (r198335) +++ projects/capabilities8/bin/sh/exec.c Wed Oct 21 17:08:35 2009 (r198336) @@ -286,7 +286,7 @@ printentry(struct tblentry *cmdp, int ve out1fmt("function %s", cmdp->cmdname); if (verbose) { INTOFF; - name = commandtext(cmdp->param.func); + name = commandtext(getfuncnode(cmdp->param.func)); out1c(' '); out1str(name); ckfree(name); @@ -583,7 +583,7 @@ deletefuncs(void) while ((cmdp = *pp) != NULL) { if (cmdp->cmdtype == CMDFUNCTION) { *pp = cmdp->next; - freefunc(cmdp->param.func); + unreffunc(cmdp->param.func); ckfree(cmdp); } else { pp = &cmdp->next; @@ -670,7 +670,7 @@ addcmdentry(char *name, struct cmdentry INTOFF; cmdp = cmdlookup(name, 1); if (cmdp->cmdtype == CMDFUNCTION) { - freefunc(cmdp->param.func); + unreffunc(cmdp->param.func); } cmdp->cmdtype = entry->cmdtype; cmdp->param = entry->u; @@ -705,7 +705,7 @@ unsetfunc(char *name) struct tblentry *cmdp; if ((cmdp = cmdlookup(name, 0)) != NULL && cmdp->cmdtype == CMDFUNCTION) { - freefunc(cmdp->param.func); + unreffunc(cmdp->param.func); delete_cmd_entry(); return (0); } Modified: projects/capabilities8/bin/sh/exec.h ============================================================================== --- projects/capabilities8/bin/sh/exec.h Wed Oct 21 17:07:46 2009 (r198335) +++ projects/capabilities8/bin/sh/exec.h Wed Oct 21 17:08:35 2009 (r198336) @@ -46,11 +46,12 @@ enum { TYPECMD_TYPE /* type */ }; +union node; struct cmdentry { int cmdtype; union param { int index; - union node *func; + struct funcdef *func; } u; int special; }; Modified: projects/capabilities8/bin/sh/mknodes.c ============================================================================== --- projects/capabilities8/bin/sh/mknodes.c Wed Oct 21 17:07:46 2009 (r198335) +++ projects/capabilities8/bin/sh/mknodes.c Wed Oct 21 17:08:35 2009 (r198336) @@ -248,8 +248,11 @@ output(char *file) fputs("\tstruct nodelist *next;\n", hfile); fputs("\tunion node *n;\n", hfile); fputs("};\n\n\n", hfile); - fputs("union node *copyfunc(union node *);\n", hfile); - fputs("void freefunc(union node *);\n", hfile); + fputs("struct funcdef;\n", hfile); + fputs("struct funcdef *copyfunc(union node *);\n", hfile); + fputs("union node *getfuncnode(struct funcdef *);\n", hfile); + fputs("void reffunc(struct funcdef *);\n", hfile); + fputs("void unreffunc(struct funcdef *);\n", hfile); fputs(writer, cfile); while (fgets(line, sizeof line, patfile) != NULL) { Modified: projects/capabilities8/bin/sh/nodes.c.pat ============================================================================== --- projects/capabilities8/bin/sh/nodes.c.pat Wed Oct 21 17:07:46 2009 (r198335) +++ projects/capabilities8/bin/sh/nodes.c.pat Wed Oct 21 17:08:35 2009 (r198336) @@ -35,6 +35,7 @@ #include #include +#include /* * Routine for dealing with parsed shell commands. */ @@ -60,25 +61,40 @@ STATIC struct nodelist *copynodelist(str STATIC char *nodesavestr(char *); +struct funcdef { + unsigned int refcount; + union node n; +}; /* * Make a copy of a parse tree. */ -union node * +struct funcdef * copyfunc(union node *n) { + struct funcdef *fn; + if (n == NULL) return NULL; - funcblocksize = 0; + funcblocksize = offsetof(struct funcdef, n); funcstringsize = 0; calcsize(n); - funcblock = ckmalloc(funcblocksize + funcstringsize); - funcstring = (char *)funcblock + funcblocksize; - return copynode(n); + fn = ckmalloc(funcblocksize + funcstringsize); + fn->refcount = 1; + funcblock = (char *)fn + offsetof(struct funcdef, n); + funcstring = (char *)fn + funcblocksize; + copynode(n); + return fn; } +union node * +getfuncnode(struct funcdef *fn) +{ + return fn == NULL ? NULL : &fn->n; +} + STATIC void calcsize(union node *n) @@ -144,14 +160,26 @@ nodesavestr(char *s) } +void +reffunc(struct funcdef *fn) +{ + if (fn) + fn->refcount++; +} + /* - * Free a parse tree. + * Decrement the reference count of a function definition, freeing it + * if it falls to 0. */ void -freefunc(union node *n) +unreffunc(struct funcdef *fn) { - if (n) - ckfree(n); + if (fn) { + fn->refcount--; + if (fn->refcount > 0) + return; + ckfree(fn); + } } Modified: projects/capabilities8/contrib/tcsh/sh.c ============================================================================== --- projects/capabilities8/contrib/tcsh/sh.c Wed Oct 21 17:07:46 2009 (r198335) +++ projects/capabilities8/contrib/tcsh/sh.c Wed Oct 21 17:08:35 2009 (r198336) @@ -1291,6 +1291,8 @@ main(int argc, char **argv) /* * Mop-up. */ + /* Take care of these (especially HUP) here instead of inside flush. */ + handle_pending_signals(); if (intty) { if (loginsh) { xprintf("logout\n"); Modified: projects/capabilities8/etc/rc.d/bgfsck ============================================================================== --- projects/capabilities8/etc/rc.d/bgfsck Wed Oct 21 17:07:46 2009 (r198335) +++ projects/capabilities8/etc/rc.d/bgfsck Wed Oct 21 17:08:35 2009 (r198336) @@ -31,7 +31,7 @@ bgfsck_start () bgfsck_msg="${bgfsck_msg} in ${background_fsck_delay} seconds" fi if [ -z "${rc_force}" ]; then - [ -z "${rc_quiet}" ] && echo "${bgfsck_msg}." + check_startmsgs && echo "${bgfsck_msg}." fi (sleep ${background_fsck_delay}; nice -4 fsck -B -p) 2>&1 | \ Modified: projects/capabilities8/etc/rc.d/cleartmp ============================================================================== --- projects/capabilities8/etc/rc.d/cleartmp Wed Oct 21 17:07:46 2009 (r198335) +++ projects/capabilities8/etc/rc.d/cleartmp Wed Oct 21 17:08:35 2009 (r198336) @@ -25,7 +25,7 @@ cleartmp_start() ${tmp}/.ICE-unix ${tmp}/.font-unix" if checkyesno ${rcvar1}; then - [ -z "${rc_quiet}" ] && echo "Clearing ${tmp}." + check_startmsgs && echo "Clearing ${tmp}." # This is not needed for mfs, but doesn't hurt anything. # Things to note: @@ -44,7 +44,7 @@ cleartmp_start() elif checkyesno clear_tmp_X; then # Remove X lock files, since they will prevent you from # restarting X. Remove other X related directories. - [ -z "${rc_quiet}" ] && echo "Clearing ${tmp} (X related)." + check_startmsgs && echo "Clearing ${tmp} (X related)." rm -rf ${tmp}/.X[0-9]-lock ${x11_socket_dirs} fi if checkyesno clear_tmp_X; then Modified: projects/capabilities8/etc/rc.d/fsck ============================================================================== --- projects/capabilities8/etc/rc.d/fsck Wed Oct 21 17:07:46 2009 (r198335) +++ projects/capabilities8/etc/rc.d/fsck Wed Oct 21 17:08:35 2009 (r198336) @@ -23,7 +23,7 @@ fsck_start() # During fsck ignore SIGQUIT trap : 3 - [ -z "${rc_quiet}" ] && echo "Starting file system checks:" + check_startmsgs && echo "Starting file system checks:" if checkyesno background_fsck; then fsck -F -p else Modified: projects/capabilities8/etc/rc.d/hostid ============================================================================== --- projects/capabilities8/etc/rc.d/hostid Wed Oct 21 17:07:46 2009 (r198335) +++ projects/capabilities8/etc/rc.d/hostid Wed Oct 21 17:08:35 2009 (r198336) @@ -49,9 +49,9 @@ hostid_set() # Set both kern.hostuuid and kern.hostid. # - [ -z "${rc_quiet}" ] && echo "Setting hostuuid: ${uuid}." + check_startmsgs && echo "Setting hostuuid: ${uuid}." ${SYSCTL_W} kern.hostuuid="${uuid}" >/dev/null - [ -z "${rc_quiet}" ] && echo "Setting hostid: ${id}." + check_startmsgs && echo "Setting hostid: ${id}." ${SYSCTL_W} kern.hostid=${id} >/dev/null } Modified: projects/capabilities8/etc/rc.d/hostname ============================================================================== --- projects/capabilities8/etc/rc.d/hostname Wed Oct 21 17:07:46 2009 (r198335) +++ projects/capabilities8/etc/rc.d/hostname Wed Oct 21 17:08:35 2009 (r198336) @@ -72,8 +72,9 @@ hostname_start() # All right, it is safe to invoke hostname(1) now. # - [ -z "${rc_quiet}" ] && echo "Setting hostname: ${hostname}." + check_startmsgs && echo -n "Setting hostname: ${hostname}" /bin/hostname "${hostname}" + check_startmsgs && echo '.' } load_rc_config $name Modified: projects/capabilities8/etc/rc.d/ipsec ============================================================================== --- projects/capabilities8/etc/rc.d/ipsec Wed Oct 21 17:07:46 2009 (r198335) +++ projects/capabilities8/etc/rc.d/ipsec Wed Oct 21 17:08:35 2009 (r198336) @@ -41,9 +41,9 @@ ipsec_stop() { echo "Clearing ipsec manual keys/policies." - # still not 100% sure if we would like to do this. - # it is very questionable to do this during shutdown session, since - # it can hang any of remaining IPv4/v6 session. + # Still not 100% sure if we would like to do this. + # It is very questionable to do this during shutdown session + # since it can hang any of the remaining IPv4/v6 sessions. # ${ipsec_program} -F ${ipsec_program} -FP Modified: projects/capabilities8/etc/rc.d/ldconfig ============================================================================== --- projects/capabilities8/etc/rc.d/ldconfig Wed Oct 21 17:07:46 2009 (r198335) +++ projects/capabilities8/etc/rc.d/ldconfig Wed Oct 21 17:08:35 2009 (r198336) @@ -36,7 +36,7 @@ ldconfig_start() _LDC="${_LDC} ${i}" fi done - [ -z "${rc_quiet}" ] && echo 'ELF ldconfig path:' ${_LDC} + check_startmsgs && echo 'ELF ldconfig path:' ${_LDC} ${ldconfig} -elf ${_ins} ${_LDC} case `sysctl -n hw.machine_arch` in @@ -55,7 +55,7 @@ ldconfig_start() _LDC="${_LDC} ${i}" fi done - [ -z "${rc_quiet}" ] && + check_startmsgs && echo '32-bit compatibility ldconfig path:' ${_LDC} ${ldconfig} -32 -m ${_ins} ${_LDC} ;; @@ -72,8 +72,7 @@ ldconfig_start() _LDC="${_LDC} ${i}" fi done - [ -z "${rc_quiet}" ] && - echo 'a.out ldconfig path:' ${_LDC} + check_startmsgs && echo 'a.out ldconfig path:' ${_LDC} ${ldconfig} -aout ${_ins} ${_LDC} ;; esac Modified: projects/capabilities8/etc/rc.d/motd ============================================================================== --- projects/capabilities8/etc/rc.d/motd Wed Oct 21 17:07:46 2009 (r198335) +++ projects/capabilities8/etc/rc.d/motd Wed Oct 21 17:08:35 2009 (r198336) @@ -22,7 +22,7 @@ motd_start() # Must be done *before* interactive logins are possible # to prevent possible race conditions. # - [ -z "${rc_quiet}" ] && echo -n 'Updating motd:' + check_startmsgs && echo -n 'Updating motd:' if [ ! -f /etc/motd ]; then install -c -o root -g wheel -m ${PERMS} /dev/null /etc/motd fi @@ -42,7 +42,7 @@ motd_start() } rm -f $T - [ -z "${rc_quiet}" ] && echo . + check_startmsgs && echo '.' } load_rc_config $name Modified: projects/capabilities8/etc/rc.d/mountcritlocal ============================================================================== --- projects/capabilities8/etc/rc.d/mountcritlocal Wed Oct 21 17:07:46 2009 (r198335) +++ projects/capabilities8/etc/rc.d/mountcritlocal Wed Oct 21 17:08:35 2009 (r198336) @@ -28,7 +28,7 @@ mountcritlocal_start() esac # Mount everything except nfs filesystems. - [ -z "${rc_quiet}" ] && echo -n 'Mounting local file systems:' + check_startmsgs && echo -n 'Mounting local file systems:' mount_excludes='no' for i in ${netfs_types}; do fstype=${i%:*} @@ -37,7 +37,7 @@ mountcritlocal_start() mount_excludes=${mount_excludes%,} mount -a -t ${mount_excludes} err=$? - [ -z "${rc_quiet}" ] && echo '.' + check_startmsgs && echo '.' case ${err} in 0) Modified: projects/capabilities8/etc/rc.d/moused ============================================================================== --- projects/capabilities8/etc/rc.d/moused Wed Oct 21 17:07:46 2009 (r198335) +++ projects/capabilities8/etc/rc.d/moused Wed Oct 21 17:08:35 2009 (r198336) @@ -51,8 +51,9 @@ moused_start() mytype="$moused_type" fi - [ -z "${rc_quiet}" ] && echo -n "Starting ${ms} moused." + check_startmsgs && echo -n "Starting ${ms} moused" /usr/sbin/moused ${myflags} -p ${myport} -t ${mytype} ${pidarg} + check_startmsgs && echo '.' mousechar_arg= case ${mousechar_start} in Modified: projects/capabilities8/etc/rc.d/netif ============================================================================== --- projects/capabilities8/etc/rc.d/netif Wed Oct 21 17:07:46 2009 (r198335) +++ projects/capabilities8/etc/rc.d/netif Wed Oct 21 17:08:35 2009 (r198336) @@ -141,7 +141,7 @@ network_common() ;; esac echo "${_str} Network:${_ok}." - if [ -z "${rc_quiet}" ]; then + if check_startmsgs; then for ifn in ${_ok}; do /sbin/ifconfig ${ifn} done Modified: projects/capabilities8/etc/rc.d/newsyslog ============================================================================== --- projects/capabilities8/etc/rc.d/newsyslog Wed Oct 21 17:07:46 2009 (r198335) +++ projects/capabilities8/etc/rc.d/newsyslog Wed Oct 21 17:08:35 2009 (r198336) @@ -17,9 +17,9 @@ stop_cmd=":" newsyslog_start() { - [ -z "${rc_quiet}" ] && echo -n "Creating and/or trimming log files:" + check_startmsgs && echo -n 'Creating and/or trimming log files' ${command} ${rc_flags} - [ -z "${rc_quiet}" ] && echo "." + check_startmsgs && echo '.' } load_rc_config $name Modified: projects/capabilities8/etc/rc.d/nfsclient ============================================================================== --- projects/capabilities8/etc/rc.d/nfsclient Wed Oct 21 17:07:46 2009 (r198335) +++ projects/capabilities8/etc/rc.d/nfsclient Wed Oct 21 17:08:35 2009 (r198336) @@ -22,7 +22,8 @@ nfsclient_start() # if [ -n "${nfs_access_cache}" ]; then - [ -z "${rc_quiet}" ] && echo "NFS access cache time=${nfs_access_cache}" + check_startmsgs && + echo "NFS access cache time=${nfs_access_cache}" if ! sysctl vfs.nfs.access_cache_timeout=${nfs_access_cache} >/dev/null; then warn "failed to set access cache timeout" fi Modified: projects/capabilities8/etc/rc.d/pf ============================================================================== --- projects/capabilities8/etc/rc.d/pf Wed Oct 21 17:07:46 2009 (r198335) +++ projects/capabilities8/etc/rc.d/pf Wed Oct 21 17:08:35 2009 (r198336) @@ -25,19 +25,21 @@ required_modules="pf" pf_start() { - [ -z "${rc_quiet}" ] && echo "Enabling pf." + check_startmsgs && echo -n 'Enabling pf' $pf_program -F all > /dev/null 2>&1 $pf_program -f "$pf_rules" $pf_flags if ! $pf_program -s info | grep -q "Enabled" ; then $pf_program -e fi + check_startmsgs && echo '.' } pf_stop() { if $pf_program -s info | grep -q "Enabled" ; then - [ -z "${rc_quiet}" ] && echo "Disabling pf." + echo -n 'Disabling pf' $pf_program -d + echo '.' fi } Modified: projects/capabilities8/etc/rc.d/savecore ============================================================================== --- projects/capabilities8/etc/rc.d/savecore Wed Oct 21 17:07:46 2009 (r198335) +++ projects/capabilities8/etc/rc.d/savecore Wed Oct 21 17:08:35 2009 (r198336) @@ -69,7 +69,7 @@ savecore_start() ${crashinfo_program} -d ${dumpdir} fi else - [ -z "${rc_quiet}" ] && echo "No core dumps found" + check_startmsgs && echo 'No core dumps found.' fi } Modified: projects/capabilities8/etc/rc.subr ============================================================================== --- projects/capabilities8/etc/rc.subr Wed Oct 21 17:07:46 2009 (r198335) +++ projects/capabilities8/etc/rc.subr Wed Oct 21 17:08:35 2009 (r198336) @@ -372,6 +372,20 @@ wait_for_pids() } # +# check_startmsgs +# If rc_quiet is set (usually as a result of using faststart at +# boot time) check if rc_startmsgs is enabled. +# +check_startmsgs() +{ + if [ -n "$rc_quiet" ]; then + checkyesno rc_startmsgs + else + return 0 + fi +} + +# # run_rc_command argument # Search for argument in the list of supported commands, which is: # "start stop restart rcvar status poll ${extra_commands}" @@ -680,13 +694,7 @@ run_rc_command() # setup the full command to run # - _show_startmsgs=1 - if [ -n "${rc_quiet}" ]; then - if ! checkyesno rc_startmsgs; then - unset _show_startmsgs - fi - fi - [ -n "$_show_startmsgs" ] && echo "Starting ${name}." + check_startmsgs && echo "Starting ${name}." if [ -n "$_chroot" ]; then _doit="\ ${_nice:+nice -n $_nice }\ Modified: projects/capabilities8/kerberos5/lib/libgssapi_krb5/Makefile ============================================================================== --- projects/capabilities8/kerberos5/lib/libgssapi_krb5/Makefile Wed Oct 21 17:07:46 2009 (r198335) +++ projects/capabilities8/kerberos5/lib/libgssapi_krb5/Makefile Wed Oct 21 17:08:35 2009 (r198336) @@ -2,8 +2,8 @@ LIB= gssapi_krb5 LDFLAGS= -Wl,-Bsymbolic -LDADD= -lkrb5 -lhx509 -lcrypto -lroken -lasn1 -lcom_err -lcrypt -DPADD= ${LIBKRB5} ${LIBHX509} ${LIBCRYPTO} ${LIBROKEN} ${LIBASN1} \ +LDADD= -lgssapi -lkrb5 -lhx509 -lcrypto -lroken -lasn1 -lcom_err -lcrypt +DPADD= ${LIBGSSAPI} ${LIBKRB5} ${LIBHX509} ${LIBCRYPTO} ${LIBROKEN} ${LIBASN1} \ ${LIBCOM_ERR} ${LIBCRYPT} INCS= ${KRB5DIR}/lib/gssapi/gssapi/gssapi_krb5.h Modified: projects/capabilities8/kerberos5/lib/libgssapi_spnego/Makefile ============================================================================== --- projects/capabilities8/kerberos5/lib/libgssapi_spnego/Makefile Wed Oct 21 17:07:46 2009 (r198335) +++ projects/capabilities8/kerberos5/lib/libgssapi_spnego/Makefile Wed Oct 21 17:08:35 2009 (r198336) @@ -2,8 +2,8 @@ LIB= gssapi_spnego LDFLAGS= -Wl,-Bsymbolic -LDADD= -lasn1 -DPADD= ${LIBASN1} +LDADD= -lgssapi -lasn1 +DPADD= ${LIBGSSAPI} ${LIBASN1} SRCS= accept_sec_context.c \ compat.c \ Modified: projects/capabilities8/lib/libc/sys/nanosleep.2 ============================================================================== --- projects/capabilities8/lib/libc/sys/nanosleep.2 Wed Oct 21 17:07:46 2009 (r198335) +++ projects/capabilities8/lib/libc/sys/nanosleep.2 Wed Oct 21 17:08:35 2009 (r198336) @@ -47,7 +47,9 @@ The .Fn nanosleep system call -causes the process to sleep for the specified time. +causes the calling thread to sleep until the time interval specified by +.Fa rqtp +has elapsed. An unmasked signal will cause it to terminate the sleep early, regardless of the .Dv SA_RESTART Modified: projects/capabilities8/lib/libc/sys/setfib.2 ============================================================================== --- projects/capabilities8/lib/libc/sys/setfib.2 Wed Oct 21 17:07:46 2009 (r198335) +++ projects/capabilities8/lib/libc/sys/setfib.2 Wed Oct 21 17:08:35 2009 (r198336) @@ -67,8 +67,8 @@ if the .Fa fib argument is greater than the current system maximum. .Sh SEE ALSO -.Xr setsockopt 2 , -.Xr setfib 8 +.Xr setfib 1 , +.Xr setsockopt 2 .Sh STANDARDS The .Fn setfib Modified: projects/capabilities8/lib/libc/sys/stack_protector.c ============================================================================== --- projects/capabilities8/lib/libc/sys/stack_protector.c Wed Oct 21 17:07:46 2009 (r198335) +++ projects/capabilities8/lib/libc/sys/stack_protector.c Wed Oct 21 17:08:35 2009 (r198336) @@ -108,4 +108,8 @@ __chk_fail(void) __fail("buffer overflow detected; terminated"); } +#ifdef PIC __sym_compat(__stack_chk_fail_local, __stack_chk_fail, FBSD_1.0); +#else +__weak_reference(__stack_chk_fail, __stack_chk_fail_local); +#endif Modified: projects/capabilities8/libexec/rtld-elf/rtld.c ============================================================================== --- projects/capabilities8/libexec/rtld-elf/rtld.c Wed Oct 21 17:07:46 2009 (r198335) +++ projects/capabilities8/libexec/rtld-elf/rtld.c Wed Oct 21 17:08:35 2009 (r198336) @@ -555,6 +555,7 @@ _rtld(Elf_Addr *sp, func_ptr_type *exit_ /* Initialize a fake symbol for resolving undefined weak references. */ sym_zero.st_info = ELF_ST_INFO(STB_GLOBAL, STT_NOTYPE); sym_zero.st_shndx = SHN_UNDEF; + sym_zero.st_value = -(uintptr_t)obj_main->relocbase; #ifdef IN_RTLD_CAP if (ld_caplibindex != NULL) @@ -1114,26 +1115,26 @@ digest_phdr(const Elf_Phdr *phdr, int ph obj = obj_new(); for (ph = phdr; ph < phlimit; ph++) { - switch (ph->p_type) { + if (ph->p_type != PT_PHDR) + continue; - case PT_PHDR: - if ((const Elf_Phdr *)ph->p_vaddr != phdr) { - _rtld_error("%s: invalid PT_PHDR", path); - return NULL; - } - obj->phdr = (const Elf_Phdr *) ph->p_vaddr; - obj->phsize = ph->p_memsz; - break; + obj->phdr = phdr; + obj->phsize = ph->p_memsz; + obj->relocbase = (caddr_t)phdr - ph->p_vaddr; + break; + } + + for (ph = phdr; ph < phlimit; ph++) { + switch (ph->p_type) { case PT_INTERP: - obj->interp = (const char *) ph->p_vaddr; + obj->interp = (const char *)(ph->p_vaddr + obj->relocbase); break; case PT_LOAD: if (nsegs == 0) { /* First load segment */ obj->vaddrbase = trunc_page(ph->p_vaddr); - obj->mapbase = (caddr_t) obj->vaddrbase; - obj->relocbase = obj->mapbase - obj->vaddrbase; + obj->mapbase = obj->vaddrbase + obj->relocbase; obj->textsize = round_page(ph->p_vaddr + ph->p_memsz) - obj->vaddrbase; } else { /* Last load segment */ @@ -1144,7 +1145,7 @@ digest_phdr(const Elf_Phdr *phdr, int ph break; case PT_DYNAMIC: - obj->dynamic = (const Elf_Dyn *) ph->p_vaddr; + obj->dynamic = (const Elf_Dyn *)(ph->p_vaddr + obj->relocbase); break; case PT_TLS: @@ -1152,7 +1153,7 @@ digest_phdr(const Elf_Phdr *phdr, int ph obj->tlssize = ph->p_memsz; obj->tlsalign = ph->p_align; obj->tlsinitsize = ph->p_filesz; - obj->tlsinit = (void*) ph->p_vaddr; + obj->tlsinit = (void*)(ph->p_vaddr + obj->relocbase); break; } } Modified: projects/capabilities8/release/Makefile ============================================================================== --- projects/capabilities8/release/Makefile Wed Oct 21 17:07:46 2009 (r198335) +++ projects/capabilities8/release/Makefile Wed Oct 21 17:08:35 2009 (r198336) @@ -242,6 +242,7 @@ MFSSIZE= 4096 MFSINODE= 8192 MFSLABEL= auto MINIROOT= +SEPARATE_LIVEFS= .elif ${TARGET_ARCH} == "ia64" DISKLABEL= "" MAKE_DVD= Modified: projects/capabilities8/sbin/geom/class/nop/gnop.8 ============================================================================== --- projects/capabilities8/sbin/geom/class/nop/gnop.8 Wed Oct 21 17:07:46 2009 (r198335) +++ projects/capabilities8/sbin/geom/class/nop/gnop.8 Wed Oct 21 17:08:35 2009 (r198336) @@ -24,7 +24,7 @@ .\" .\" $FreeBSD$ .\" -.Dd September 8, 2006 +.Dd September 17, 2009 .Dt GNOP 8 .Os .Sh NAME @@ -147,9 +147,9 @@ Exit status is 0 on success, and 1 if th .Sh EXAMPLES The following example shows how to create a transparent provider for disk .Pa /dev/da0 -with 50% failure probability, and how to destroy it. +with 50% write failure probability, and how to destroy it. .Bd -literal -offset indent -gnop create -v -f 50 da0 +gnop create -v -w 50 da0 gnop destroy -v da0.nop .Ed .Pp Modified: projects/capabilities8/sbin/ifconfig/ifconfig.8 ============================================================================== --- projects/capabilities8/sbin/ifconfig/ifconfig.8 Wed Oct 21 17:07:46 2009 (r198335) +++ projects/capabilities8/sbin/ifconfig/ifconfig.8 Wed Oct 21 17:08:35 2009 (r198336) @@ -2197,6 +2197,24 @@ interfaces previously configured with Another name for the .Fl tunnel parameter. +.It Cm accept_rev_ethip_ver +Set a flag to acccept both correct EtherIP packets and ones +with reversed version field. Enabled by default. +This is for backward compatibility with +.Fx 6.1 , +6.2, 6.3, 7.0, and 7.1. +.It Cm -accept_rev_ethip_ver +Clear a flag +.Cm accept_rev_ethip_ver . +.It Cm send_rev_ethip_ver +Set a flag to send EtherIP packets with reversed version +field intentionally. Disabled by default. +This is for backward compatibility with +.Fx 6.1 , +6.2, 6.3, 7.0, and 7.1. +.It Cm -send_rev_ethip_ver +Clear a flag +.Cm send_rev_ethip_ver . .El .Pp The following parameters are specific to GRE tunnel interfaces, @@ -2457,6 +2475,7 @@ tried to alter an interface's configurat .Sh SEE ALSO .Xr netstat 1 , .Xr carp 4 , +.Xr gif 4 , .Xr netintro 4 , .Xr pfsync 4 , .Xr polling 4 , Modified: projects/capabilities8/sbin/ifconfig/ifieee80211.c ============================================================================== --- projects/capabilities8/sbin/ifconfig/ifieee80211.c Wed Oct 21 17:07:46 2009 (r198335) +++ projects/capabilities8/sbin/ifconfig/ifieee80211.c Wed Oct 21 17:08:35 2009 (r198336) @@ -2624,25 +2624,31 @@ do { \ if (verbose) { const struct ieee80211_meshconf_ie *mconf = (const struct ieee80211_meshconf_ie *)ie; - const uint8_t null[4] = IEEE80211_MESHCONF_NULL; - const uint8_t hwmp[4] = IEEE80211_MESHCONF_HWMP; - const uint8_t airtime[4] = IEEE80211_MESHCONF_AIRTIME; - const uint8_t ccsig[4] = IEEE80211_MESHCONF_CCSIG; - const uint8_t sae[4] = IEEE80211_MESHCONF_SAE; - const uint8_t neighoff[4] = IEEE80211_MESHCONF_SAE; - printf("conf_ver); - MATCHOUI(mconf->conf_pselid, hwmp, "HWMP"); + printf("conf_pselid == IEEE80211_MESHCONF_PATH_HWMP) + printf("HWMP"); + else + printf("UNKNOWN"); printf(" LINK:"); - MATCHOUI(mconf->conf_pmetid, airtime, "AIRTIME"); + if (mconf->conf_pmetid == IEEE80211_MESHCONF_METRIC_AIRTIME) + printf("AIRTIME"); + else + printf("UNKNOWN"); printf(" CONGESTION:"); - MATCHOUI(mconf->conf_ccid, ccsig, "SIG"); - MATCHOUI(mconf->conf_ccid, null, "NULL"); + if (mconf->conf_ccid == IEEE80211_MESHCONF_CC_DISABLED) + printf("DISABLED"); + else + printf("UNKNOWN"); printf(" SYNC:"); - MATCHOUI(mconf->conf_syncid, neighoff, "NEIGHOFF"); - MATCHOUI(mconf->conf_syncid, null, "NULL"); + if (mconf->conf_syncid == IEEE80211_MESHCONF_SYNC_NEIGHOFF) + printf("NEIGHOFF"); + else + printf("UNKNOWN"); printf(" AUTH:"); - MATCHOUI(mconf->conf_authid, sae, "SAE"); - MATCHOUI(mconf->conf_authid, null, "NULL"); + if (mconf->conf_authid == IEEE80211_MESHCONF_AUTH_DISABLED) + printf("DISABLED"); + else + printf("UNKNOWN"); printf(" FORM:0x%x CAPS:0x%x>", mconf->conf_form, mconf->conf_cap); } Modified: projects/capabilities8/sbin/ipfw/ipfw.8 ============================================================================== --- projects/capabilities8/sbin/ipfw/ipfw.8 Wed Oct 21 17:07:46 2009 (r198335) +++ projects/capabilities8/sbin/ipfw/ipfw.8 Wed Oct 21 17:08:35 2009 (r198336) @@ -869,7 +869,7 @@ The packet is tagged so as to use the FI .Ar fibnum in any subsequent forwarding decisions. Initially this is limited to the values 0 through 15, see -.Xr setfib 8 . +.Xr setfib 1 . Processing continues at the next rule. .It Cm reass Queue and reassemble ip fragments. Modified: projects/capabilities8/sbin/mksnap_ffs/mksnap_ffs.8 ============================================================================== --- projects/capabilities8/sbin/mksnap_ffs/mksnap_ffs.8 Wed Oct 21 17:07:46 2009 (r198335) +++ projects/capabilities8/sbin/mksnap_ffs/mksnap_ffs.8 Wed Oct 21 17:08:35 2009 (r198336) @@ -69,7 +69,7 @@ mount -o ro /dev/md0 /mnt/ .Sh SEE ALSO .Xr chmod 2 , .Xr chown 8 , -.Xr mdconfig 8, +.Xr mdconfig 8 , .Xr mount 8 .Sh CAVEATS The disk full situation is not handled gracefully and may Modified: projects/capabilities8/sbin/mount_nfs/mount_nfs.c ============================================================================== --- projects/capabilities8/sbin/mount_nfs/mount_nfs.c Wed Oct 21 17:07:46 2009 (r198335) +++ projects/capabilities8/sbin/mount_nfs/mount_nfs.c Wed Oct 21 17:08:35 2009 (r198336) @@ -104,7 +104,7 @@ struct nfhret { #define OF_NOINET6 8 int retrycnt = -1; int opflags = 0; -int nfsproto = IPPROTO_UDP; +int nfsproto = IPPROTO_TCP; int mnttcp_ok = 1; int noconn = 0; char *portspec = NULL; /* Server nfs port; NULL means look up via rpcbind. */ Modified: projects/capabilities8/share/man/man4/acpi_panasonic.4 ============================================================================== --- projects/capabilities8/share/man/man4/acpi_panasonic.4 Wed Oct 21 17:07:46 2009 (r198335) +++ projects/capabilities8/share/man/man4/acpi_panasonic.4 Wed Oct 21 17:08:35 2009 (r198336) @@ -25,7 +25,7 @@ .\" .\" $FreeBSD$ .\" -.Dd July 11, 2004 +.Dd September 17, 2009 .Dt ACPI_PANASONIC 4 i386 .Os .Sh NAME @@ -144,7 +144,7 @@ The following MIBs are available: The maximum level of brightness. The value is read only and automatically set according to hardware model. -.It Va hw.acpi.panasonic.lcd_brightness_max +.It Va hw.acpi.panasonic.lcd_brightness_min The minimum level of brightness. The value is read only and automatically set according to hardware model. Modified: projects/capabilities8/share/man/man4/bce.4 ============================================================================== --- projects/capabilities8/share/man/man4/bce.4 Wed Oct 21 17:07:46 2009 (r198335) +++ projects/capabilities8/share/man/man4/bce.4 Wed Oct 21 17:08:35 2009 (r198336) @@ -28,7 +28,7 @@ .\" .\" $FreeBSD$ .\" -.Dd April 7, 2009 +.Dd October 7, 2009 .Dt BCE 4 .Os .Sh NAME @@ -165,6 +165,8 @@ Dell PowerEdge 1950 integrated BCM5708 N .It Dell PowerEdge 2950 integrated BCM5708 NIC .It +Dell PowerEdge R710 integrated BCM5709 NIC +.It HP NC370F Multifunction Gigabit Server Adapter .It HP NC370T Multifunction Gigabit Server Adapter Modified: projects/capabilities8/share/man/man4/bge.4 ============================================================================== --- projects/capabilities8/share/man/man4/bge.4 Wed Oct 21 17:07:46 2009 (r198335) +++ projects/capabilities8/share/man/man4/bge.4 Wed Oct 21 17:08:35 2009 (r198336) @@ -31,7 +31,7 @@ .\" .\" $FreeBSD$ .\" -.Dd May 19, 2009 +.Dd Oct 21, 2009 .Dt BGE 4 .Os .Sh NAME @@ -217,7 +217,7 @@ prompt before booting the kernel, or sto .It Va hw.bge.allow_asf Allow the ASF feature for cooperating with IPMI. Can cause system lockup problems on a small number of systems. -Enabled by default. +Disabled by default. .El .Sh DIAGNOSTICS .Bl -diag Modified: projects/capabilities8/share/man/man4/mfi.4 ============================================================================== --- projects/capabilities8/share/man/man4/mfi.4 Wed Oct 21 17:07:46 2009 (r198335) +++ projects/capabilities8/share/man/man4/mfi.4 Wed Oct 21 17:08:35 2009 (r198336) @@ -102,9 +102,9 @@ management interface An attempt was made to remove a mounted volume. .El .Sh SEE ALSO -.Xr mfiutil 1 , .Xr amr 4 , -.Xr pci 4 +.Xr pci 4 , +.Xr mfiutil 8 .Sh HISTORY The .Nm Modified: projects/capabilities8/share/man/man4/sbp_targ.4 ============================================================================== --- projects/capabilities8/share/man/man4/sbp_targ.4 Wed Oct 21 17:07:46 2009 (r198335) +++ projects/capabilities8/share/man/man4/sbp_targ.4 Wed Oct 21 17:08:35 2009 (r198336) @@ -38,16 +38,24 @@ .Nm sbp_targ .Nd Serial Bus Protocol 2 (SBP-2) Target Mode devices driver .Sh SYNOPSIS -.Cd "kldload firewire" -.Cd "kldload cam" -.Cd "kldload sbp_targ" -.Pp -or -.Pp +To compile this driver into the kernel, +place the following lines in your +kernel configuration file: +.Bd -ragged -offset indent .Cd "device sbp_targ" .Cd "device firewire" .Cd "device scbus" .Cd "device targ" +.Ed +.Pp +Alternatively, to load the driver as a +module at boot time, place the following lines in +.Xr loader.conf 5 : +.Bd -literal -offset indent +firewire_load="YES" +cam_load="YES" +sbp_targ_load"YES" +.Ed .Sh DESCRIPTION The .Nm Modified: projects/capabilities8/share/man/man4/targ.4 ============================================================================== --- projects/capabilities8/share/man/man4/targ.4 Wed Oct 21 17:07:46 2009 (r198335) +++ projects/capabilities8/share/man/man4/targ.4 Wed Oct 21 17:08:35 2009 (r198336) @@ -31,7 +31,12 @@ .Nm targ .Nd SCSI target emulator driver .Sh SYNOPSIS -.Cd device targ +To compile this driver into the kernel, +place the following line in your +kernel configuration file: +.Bd -ragged -offset indent +.Cd "device targ" +.Ed .Sh DESCRIPTION The .Nm Modified: projects/capabilities8/share/man/man9/fail.9 ============================================================================== --- projects/capabilities8/share/man/man9/fail.9 Wed Oct 21 17:07:46 2009 (r198335) +++ projects/capabilities8/share/man/man9/fail.9 Wed Oct 21 17:08:35 2009 (r198336) @@ -37,7 +37,6 @@ .Nm KFAIL_POINT_GOTO , .Nm fail_point , .Nm DEBUG_FP -. .Nd fail points .Sh SYNOPSIS .In sys/fail.h @@ -79,7 +78,7 @@ is derived from the .Fn return value set in the sysctl MIB. See -.Sx SYSCTL SETTINGS +.Sx SYSCTL VARIABLES below. .Pp The remaining @@ -100,7 +99,6 @@ is the equivalent of .Sy KFAIL_POINT_CODE(..., { error_var = RETURN_VALUE; goto label;}) .El -.Pp .Sh SYSCTL VARIABLES The .Fn KFAIL_POINT_* @@ -108,28 +106,28 @@ macros add sysctl MIBs where specified. Many base kernel MIBs can be found in the .Sy debug.fail_point tree (referenced in code by -.Sy DEBUG_FP -). +.Sy DEBUG_FP ) . .Pp The sysctl variable may be set using the following grammar: .Pp +.Bd -literal :: ( "->" )* -.Pp + :: ( ( "%") | ( "*" ) )* [ "(" ")" ] -.Pp + :: [ "." ] | "." -.Pp + :: "off" | "return" | "sleep" | "panic" | "break" | "print" +.Ed .Pp -The -argument specifies which action to take: +The argument specifies which action to take: .Bl -tag -width ".Dv return" .It Sy off Take no action (does not trigger fail point code) @@ -158,13 +156,13 @@ is evaluated before the count, i.e. "2%5 but only 5 times total". .Pp The operator -> can be used to express cascading terms. -If you specify ->, it means that if doesn't -'execute', is evaluated. +If you specify ->, it means that if does not +.Ql execute , + is evaluated. For the purpose of this operator, the return() and print() operators are the only types that cascade. A return() term only cascades if the code executes, and a print() term only cascades when passed a non-zero argument. -.Pp .Sh EXAMPLES .Bl -tag .It Sy sysctl debug.fail_point.foobar="2.1%return(5)" @@ -175,7 +173,7 @@ with RETURN_VALUE set to 5. 2/100ths of the time, execute .Fa code *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-projects@FreeBSD.ORG Wed Oct 21 19:29:05 2009 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id F0640106566C; Wed, 21 Oct 2009 19:29:05 +0000 (UTC) (envelope-from rdivacky@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id E01A68FC14; Wed, 21 Oct 2009 19:29:05 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n9LJT5mp008452; Wed, 21 Oct 2009 19:29:05 GMT (envelope-from rdivacky@svn.freebsd.org) Received: (from rdivacky@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n9LJT5UP008450; Wed, 21 Oct 2009 19:29:05 GMT (envelope-from rdivacky@svn.freebsd.org) Message-Id: <200910211929.n9LJT5UP008450@svn.freebsd.org> From: Roman Divacky Date: Wed, 21 Oct 2009 19:29:05 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r198345 - projects/clangbsd/contrib/llvm/tools/clang/lib/Driver X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 21 Oct 2009 19:29:06 -0000 Author: rdivacky Date: Wed Oct 21 19:29:05 2009 New Revision: 198345 URL: http://svn.freebsd.org/changeset/base/198345 Log: Change the default CPU to be 486 instead of pentium4 to be in sync with gcc. Modified: projects/clangbsd/contrib/llvm/tools/clang/lib/Driver/Tools.cpp Modified: projects/clangbsd/contrib/llvm/tools/clang/lib/Driver/Tools.cpp ============================================================================== --- projects/clangbsd/contrib/llvm/tools/clang/lib/Driver/Tools.cpp Wed Oct 21 19:26:12 2009 (r198344) +++ projects/clangbsd/contrib/llvm/tools/clang/lib/Driver/Tools.cpp Wed Oct 21 19:29:05 2009 (r198345) @@ -446,7 +446,7 @@ void Clang::AddX86TargetArgs(const ArgLi if (getToolChain().getArchName() == "x86_64") CmdArgs.push_back("--mcpu=x86-64"); else if (getToolChain().getArchName() == "i386") - CmdArgs.push_back("--mcpu=pentium4"); + CmdArgs.push_back("--mcpu=486"); } } From owner-svn-src-projects@FreeBSD.ORG Wed Oct 21 20:33:50 2009 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 56C361065676; Wed, 21 Oct 2009 20:33:50 +0000 (UTC) (envelope-from gonzo@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 452BB8FC0A; Wed, 21 Oct 2009 20:33:50 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n9LKXorq009920; Wed, 21 Oct 2009 20:33:50 GMT (envelope-from gonzo@svn.freebsd.org) Received: (from gonzo@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n9LKXoMa009912; Wed, 21 Oct 2009 20:33:50 GMT (envelope-from gonzo@svn.freebsd.org) Message-Id: <200910212033.n9LKXoMa009912@svn.freebsd.org> From: Oleksandr Tymoshenko Date: Wed, 21 Oct 2009 20:33:50 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r198349 - projects/mips/share/man/man9 X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 21 Oct 2009 20:33:50 -0000 Author: gonzo Date: Wed Oct 21 20:33:50 2009 New Revision: 198349 URL: http://svn.freebsd.org/changeset/base/198349 Log: - Keep recovering from "MFC went wrong". Add missing ieee80211_* parts, mergeinfo is already in place Added: projects/mips/share/man/man9/ieee80211_amrr.9 projects/mips/share/man/man9/ieee80211_beacon.9 projects/mips/share/man/man9/ieee80211_bmiss.9 projects/mips/share/man/man9/ieee80211_ddb.9 projects/mips/share/man/man9/ieee80211_regdomain.9 projects/mips/share/man/man9/ieee80211_scan.9 projects/mips/share/man/man9/ieee80211_vap.9 Added: projects/mips/share/man/man9/ieee80211_amrr.9 ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ projects/mips/share/man/man9/ieee80211_amrr.9 Wed Oct 21 20:33:50 2009 (r198349) @@ -0,0 +1,194 @@ +.\" +.\" Copyright (c) 2009 Sam Leffler, Errno Consulting +.\" All rights reserved. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND +.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE +.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +.\" SUCH DAMAGE. +.\" +.\" $FreeBSD$ +.\" +.Dd August 4, 2009 +.Dt IEEE8021_AMRR 9 +.Os +.Sh NAME +.Nm ieee80211_amrr +.Nd 802.11 network driver transmit rate control support +.Sh SYNOPSIS +.In net80211/ieee80211_amrr.h +.Ft void +.Fo ieee80211_amrr_init +.Fa "struct ieee80211_amrr *" +.Fa "struct ieee80211vap *" +.Fa "int amin" +.Fa "int amax" +.Fa "int interval" +.Fc +.\" +.Ft void +.Fn ieee80211_amrr_cleanup "struct ieee80211_amrr *" +.\" +.Ft void +.Fn ieee80211_amrr_setinterval "struct ieee80211_amrr *" "int interval" +.\" +.Ft void +.Fo ieee80211_amrr_node_init +.Fa "struct ieee80211_amrr *" +.Fa "struct ieee80211_amrr_node *" +.Fa "struct ieee80211_node *" +.Fc +.\" +.Ft int +.Fo ieee80211_amrr_choose +.Fa "struct ieee80211_node *" +.Fa "struct ieee80211_amrr_node *" +.Fc +.\" +.Ft void +.Fo ieee80211_amrr_tx_complete +.Fa "struct ieee80211_amrr_node *" +.Fa "int ok" +.Fa "int retries" +.Fc +.\" +.Ft void +.Fo ieee80211_amrr_tx_update +.Fa "struct ieee80211_amrr_node *" +.Fa "int txnct" +.Fa "int success" +.Fa "int retrycnt" +.Fc +.Sh DESCRIPTION +.Nm +is an implementation of the AMRR transmit rate control algorithm +for drivers that use the +.Nm net80211 +software layer. +A rate control algorithm is responsible for choosing the transmit +rate for each frame. +To maximize throughput algorithms try to use the highest rate that +is appropriate for the operating conditions. +The rate will vary as conditions change; the distance between two stations +may change, transient noise may be present that affects signal quality, +etc. +.Nm +uses very simple information from a driver to do it's job: +whether a frame was successfully delivered and how many transmit +attempts were made. +While this enables its use with virtually any wireless device it +limits it's effectiveness--do not expect it to function well in +difficult environments and/or respond quickly to changing conditions. +.Pp +.Nm +requires per-vap state and per-node state for each station it is to +select rates for. +The API's are designed for drivers to pre-allocate state in the +driver-private extension areas of each vap and node. +For example the +.Xr ral 4 +driver defines a vap as: +.Bd -literal -offset indent +struct rt2560_vap { + struct ieee80211vap ral_vap; + struct ieee80211_beacon_offsets ral_bo; + struct ieee80211_amrr amrr; + + int (*ral_newstate)(struct ieee80211vap *, + enum ieee80211_state, int); +}; +.Ed +.Pp +The +.Vt amrr +structure member holds the per-vap state for +.Nm +and +.Xr ral 4 +initializes it in the vap create method with: +.Bd -literal -offset indent +ieee80211_amrr_init(&rvp->amrr, vap, + IEEE80211_AMRR_MIN_SUCCESS_THRESHOLD, + IEEE80211_AMRR_MAX_SUCCESS_THRESHOLD, + 500 /* ms */); +.Ed +.Pp +The node is defined as: +.Bd -literal -offset indent +struct rt2560_node { + struct ieee80211_node ni; + struct ieee80211_amrr_node amrr; +}; +.Ed +.Pp +with initialization done in the driver's +.Vt iv_newassoc +method: +.Bd -literal -offset indent +static void +rt2560_newassoc(struct ieee80211_node *ni, int isnew) +{ + struct ieee80211vap *vap = ni->ni_vap; + + ieee80211_amrr_node_init(&RT2560_VAP(vap)->amrr, + &RT2560_NODE(ni)->amrr, ni); +} +.Ed +.Pp +Once +.Nm +state is setup, transmit rates are requested by calling +.Fn ieee80211_amrr_choose +in the transmit path; e.g.: +.Bd -literal -offset indent +tp = &vap->iv_txparms[ieee80211_chan2mode(ni->ni_chan)]; +if (IEEE80211_IS_MULTICAST(wh->i_addr1)) { + rate = tp->mcastrate; +} else if (m0->m_flags & M_EAPOL) { + rate = tp->mgmtrate; +} else if (tp->ucastrate != IEEE80211_FIXED_RATE_NONE) { + rate = tp->ucastrate; +} else { + (void) ieee80211_amrr_choose(ni, &RT2560_NODE(ni)->amrr); + rate = ni->ni_txrate; +} +.Ed +.Pp +Note a rate is chosen only for unicast data frames when a fixed +transmit rate is not configured; the other cases are handled with +the +.Nm net80211 +transmit parameters. +Note also that +.Fn ieee80211_amrr_choose +writes the chosen rate in +.Vt ni_txrate ; +this eliminates copying the value as it is exported to user applications so +they can display the current transmit rate in status. +.Pp +The remaining work a driver must do is feed status back to +.Nm +when a frame transmit completes using +.Fn ieee80211_amrr_tx_complete . +Drivers that poll a device to retrieve statistics can use +.Fn ieee80211_amrr_tx_update +(instead or in addition). +.Sh SEE ALSO +.Xr ieee80211 9 , +.Xr ieee80211_output 9 Added: projects/mips/share/man/man9/ieee80211_beacon.9 ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ projects/mips/share/man/man9/ieee80211_beacon.9 Wed Oct 21 20:33:50 2009 (r198349) @@ -0,0 +1,115 @@ +.\" +.\" Copyright (c) 2009 Sam Leffler, Errno Consulting +.\" All rights reserved. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND +.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE +.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +.\" SUCH DAMAGE. +.\" +.\" $FreeBSD$ +.\" +.Dd August 4, 2009 +.Dt IEEE80211_BEACON 9 +.Os +.Sh NAME +.Nm ieee80211_beacon +.Nd 802.11 beacon support +.Sh SYNOPSIS +.In net80211/ieee80211_var.h +.Pp +.Ft "struct mbuf *" +.Fo ieee80211_beacon_alloc +.Fa "struct ieee80211_node *" +.Fa "struct ieee80211_beacon_offsets *" +.Fc +.\" +.Ft int +.Fo ieee80211_beacon_update +.Fa "struct ieee80211_node *" +.Fa "struct ieee80211_beacon_offsets *" +.Fa "struct mbuf *" +.Fa "int mcast" +.Fc +.\" +.Ft void +.Fn ieee80211_beacon_notify "struct ieee80211vap *" "int what" +.Sh DESCRIPTION +The +.Nm net80211 +software layer provides a support framework for drivers that includes +a template-based mechanism for dynamic update of beacon frames transmit +in hostap, adhoc, and mesh operating modes. +Drivers should use +.Fn ieee80211_beacon_alloc +to create an initial beacon frame. +The +.Vt ieee80211_beacon_offsets +structure holds information about the beacon contents that is used +to optimize updates done with +.Fn ieee80211_beacon_update . +.Pp +Update calls should only be done when something changes that +affects the contents of the beacon frame. +When this happens the +.Dv iv_update_beacon +method is invoked and a driver-supplied routine must do the right thing. +For devices that involve the host to transmit each +beacon frame this work may be as simple as marking a bit in the +.Vt ieee80211_beacon_offsets +structure: +.Bd -literal +static void +ath_beacon_update(struct ieee80211vap *vap, int item) +{ + struct ieee80211_beacon_offsets *bo = &ATH_VAP(vap)->av_boff; + setbit(bo->bo_flags, item); +} +.Ed +.Pp +with the +.Fn ieee80211_beacon_update +call done before the next beacon is to be sent. +.Pp +Devices that off-load beacon generation may instead choose to use +this callback to push updates immediately to the device. +Exactly how that is accomplished is unspecified. +One possibility is to update the beacon frame contents and extract +the appropriate information element, but other scenarios are possible. +.Sh MULTI-VAP BEACON SCHEDULING +Drivers that support multiple vaps that can each beacon need to consider +how to schedule beacon frames. +There are two possibilities at the moment: +.Em burst +all beacons at TBTT or +.Em stagger beacons +over the beacon interval. +Bursting beacon frames may result in aperiodic delivery that can affect +power save operation of associated stations. +Applying some jitter (e.g. by randomly ordering burst frames) may be +sufficient to combat this and typically this is not an issue unless +stations are using aggressive power save techniques +such as U-APSD (sometimes employed by VoIP phones). +Staggering frames requires more interrupts and device support that +may not be available. +Staggering beacon frames is usually superior to bursting frames, up to +about eight vaps, at which point the overhead becomes significant and +the channel becomes noticeably busy anyway. +.Sh SEE ALSO +.Xr ieee80211 9 Added: projects/mips/share/man/man9/ieee80211_bmiss.9 ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ projects/mips/share/man/man9/ieee80211_bmiss.9 Wed Oct 21 20:33:50 2009 (r198349) @@ -0,0 +1,91 @@ +.\" +.\" Copyright (c) 2009 Sam Leffler, Errno Consulting +.\" All rights reserved. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND +.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE +.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +.\" SUCH DAMAGE. +.\" +.\" $FreeBSD$ +.\" +.Dd August 4, 2009 +.Dt IEEE80211_BMISS 9 +.Os +.Sh NAME +.Nm ieee80211_bmiss +.Nd 802.11 beacon miss support +.Sh SYNOPSIS +.In net80211/ieee80211_var.h +.Pp +.Ft void +.Fn ieee80211_beacon_miss "struct ieee80211com *" +.Sh DESCRIPTION +The +.Nm net80211 +software layer provides a support framework for drivers that includes +handling beacon miss events in station mode. +Drivers can dispatch beacon miss events that are recognized in hardware or +.Nm net80211 +can detect beacon miss if the driver dispatches received beacon frames +through the normal receive path. +Software beacon miss support is especially useful when multiple vaps +are operating and any hardware beacon miss support is not available +(e.g. operating as an access point together with one or more station +mode vaps). +.Pp +Drivers should dispatch beacon miss events recognized in the driver with +.Fn ieee80211_beacon_miss . +This causes some number of ProbeRequest frames to be sent to the +access point to check if the association is still alive. +If no response is received and roaming mode is set to +.Dv IEEE80211_ROAMING_AUTO +then +.Nm net80211 +will try to re-associate and if that fails +trigger a scan to look for the access point or another suitable AP. +When the +.Nm net80211 +state machine is being operated manually, e.g. by +.Xr wpa_supplicant 8 , +then applications are notified of the state change and are responsible +for handling the work of scanning for a new access point. +The number of beacon miss events (without a ProbeResponse) is user +settable with the +.Dv IEEE80211_IOC_BMISSTHRESHOLD +request. +.Pp +Software beacon miss detection is enabled per-vap by setting the +.Dv IEEE80211_FEXT_SWBMISS +flag. +Typically this is done when a vap is setup +when the +.Dv IEEE80211_CLONE_NOBEACONS +option is supplied to the clone operation. +But drivers may also force this when they know they need help detecting +beacon miss. +When beacon miss is detected in software the event is dispatched without +driver involvement. +Note that software beacon miss handling is not limited to station mode; +it can be used in any operating mode where beacons from a peer station +are received. +.Sh SEE ALSO +.Xr wpa_supplicant 8 , +.Xr ieee80211 9 , +.Xr ieee80211_vap 9 Added: projects/mips/share/man/man9/ieee80211_ddb.9 ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ projects/mips/share/man/man9/ieee80211_ddb.9 Wed Oct 21 20:33:50 2009 (r198349) @@ -0,0 +1,72 @@ +.\" +.\" Copyright (c) 2009 Sam Leffler, Errno Consulting +.\" All rights reserved. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND +.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE +.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +.\" SUCH DAMAGE. +.\" +.\" $FreeBSD$ +.\" +.Dd August 4, 2009 +.Dt IEEE80211_DDB 9 +.Os +.Sh NAME +.Nm ieee80211_ddb +.Nd 802.11 ddb support +.Sh SYNOPSIS +.Bd -ragged +.Cd options DDB +.Ed +.Pp +.Bd -ragged +.Cd show vap [addr] +.Cd show all vaps +.Cd show com [addr] +.Cd show sta [addr] +.Cd show statab [addr] +.Cd show mesh [addr] +.Ed +.Sh DESCRIPTION +The +.Nm net80211 +layer includes +.Xr ddb 4 +support for displaying important data structures. +This is especially important because wireless applications are often +built for embedded environments where cross-machine or post-mortem +debugging facilities like +.Xr kgdb 1 +are infeasible. +.Pp +The most commonly used command is +.Bd -literal -offset indent +show all vaps/a +.Ed +.Pp +which dumps the contents of all +.Vt ieee80211vap , +.Vt ieee80211com , +and +.Vt ieee80211_node +data structures in the system. +.Sh SEE ALSO +.Xr ddb 4 , +.Xr ieee80211 9 Added: projects/mips/share/man/man9/ieee80211_regdomain.9 ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ projects/mips/share/man/man9/ieee80211_regdomain.9 Wed Oct 21 20:33:50 2009 (r198349) @@ -0,0 +1,143 @@ +.\" +.\" Copyright (c) 2009 Sam Leffler, Errno Consulting +.\" All rights reserved. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND +.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE +.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +.\" SUCH DAMAGE. +.\" +.\" $FreeBSD$ +.\" +.Dd August 4, 2009 +.Dt IEEE80211_REGDOMAIN 9 +.Os +.Sh NAME +.Nm ieee80211_regdomain +.Nd 802.11 regulatory support +.Sh SYNOPSIS +.In net80211/ieee80211_var.h +.In net80211/ieee80211_regdomain.h +.Pp +.Ft int +.Fo ieee80211_init_channels +.Fa "struct ieee80211com *" +.Fa "const struct ieee80211_regdomain *" +.Fa "const uint8_t bands[]" +.Fc +.\" +.Ft void +.Fo ieee80211_sort_channels +.Fa "struct ieee80211_channel *" +.Fa "int nchans" +.Fc +.\" +.Ft "struct ieee80211_appie *" +.Fn ieee80211_alloc_countryie "struct ieee80211com *" +.Sh DESCRIPTION +The +.Nm net80211 +software layer provides a support framework for drivers that includes +comprehensive regulatory support. +.Nm net80211 +provides mechanisms that enforce +.Em "regulatory policy" +by privileged user applications. +.Pp +Drivers define a device's capabilities and can +intercept and control regulatory changes requested through +.Nm net80211 . +The initial regulatory state, including the channel list, must be +filled in by the driver before calling +.Fn ieee80211_ifattach . +The channel list should reflect the set of channels the device is +.Em calibrated +for use on. +This list may also be requested later through the +.Vt ic_getradiocaps +method in the +.Vt ieee80211com +structure. +The +.Fn ieee80211_init_channels +function is provided as a rudimentary fallback for drivers that do not +(or cannot) fill in a proper channel list. +Default regulatory state is supplied such as the regulatory SKU, +ISO country code, location (e.g. indoor, outdoor), and a set of +frequency bands the device is capable of operating on. +.Nm net80211 +populates the channel table in +.Vt ic_channels +with a default set of channels and capabilities. +Note this mechanism should be used with care as any mismatch between +the channel list created and the device's capabilities can result +in runtime errors (e.g. a request to operate on a channel the device +does not support). +The SKU and country information are used for generating 802.11h protocol +elements and related operation such as for 802.11d; mis-setup by a +driver is not fatal, only potentially confusing. +.Pp +Devices that do not have a fixed/default regulatory state can set +the regulatory SKU to +.Dv SKU_DEBUG +and country code to +.Dv CTRY_DEFAULT +and leave proper setup to user applications. +If default settings are known they can be installed and/or an event +can be dispatched to user space using +.Fn ieee80211_notify_country +so that +.Xr devd 8 +will do the appropriate setup work at system boot (or device insertion). +.Pp +The channel table is sorted to optimize lookups using the +.Fn ieee80211_sort_channels +routine. +This should be done whenever the channel table contents are modified. +.Pp +The +.Fn ieee80211_alloc_countryie +function allocates an information element as specified by 802.11h. +Because this is expensive to generate it is cached in +.Vt ic_countryie +and generated only when regulatory state changes. +Drivers that call +.Fn ieee80211_alloc_countryie +directly should not help with this caching; doing so may confuse the +.Nm net80211 +layer. +.Sh DRIVER REGULATORY CONTROL +Drivers can control regulatory change requests by overriding the +.Vt ic_setregdomain +method that checks change requests. +While drivers can reject any request that does not meet its requirements +it is recommended that one be lenient in what is accepted and, whenever +possible, instead of rejecting a request, alter it to be correct. +For example, if the transmit power cap for a channel is too high the +driver can either reject the request or (better) reduce the cap to be +compliant. +Requests that include unacceptable channels should cause the request +to be rejected as otherwise a mismatch may be created between application +state and the state managed by +.Nm net80211 . +The exact rules by which to operate are still being codified. +.Sh SEE ALSO +.Xr regdomain 5 , +.Xr ifconfig 8 , +.Xr ieee80211 9 Added: projects/mips/share/man/man9/ieee80211_scan.9 ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ projects/mips/share/man/man9/ieee80211_scan.9 Wed Oct 21 20:33:50 2009 (r198349) @@ -0,0 +1,350 @@ +.\" +.\" Copyright (c) 2009 Sam Leffler, Errno Consulting +.\" All rights reserved. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND +.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE +.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +.\" SUCH DAMAGE. +.\" +.\" $FreeBSD$ +.\" +.Dd August 4, 2009 +.Dt IEEE80211_SCAN 9 +.Os +.Sh NAME +.Nm ieee80211_scan +.Nd 802.11 scanning support +.Sh SYNOPSIS +.In net80211/ieee80211_var.h +.Pp +.Ft int +.Fo ieee80211_start_scan +.Fa "struct ieee80211vap *" +.Fa "int flags" +.Fa "u_int duration" +.Fa "u_int mindwell" +.Fa "u_int maxdwell" +.Fa "u_int nssid" +.Fa "const struct ieee80211_scan_ssid ssids[]" +.Fc +.\" +.Ft int +.Fo ieee80211_check_scan +.Fa "struct ieee80211vap *" +.Fa "int flags" +.Fa "u_int duration" +.Fa "u_int mindwell" +.Fa "u_int maxdwell" +.Fa "u_int nssid" +.Fa "const struct ieee80211_scan_ssid ssids[]" +.Fc +.\" +.Ft int +.Fn ieee80211_check_scan_current "struct ieee80211vap *" +.\" +.Ft int +.Fn ieee80211_bg_scan "struct ieee80211vap *" "int" +.\" +.Ft int +.Fn ieee80211_cancel_scan "struct ieee80211vap *" +.\" +.Ft int +.Fn ieee80211_cancel_scan_any "struct ieee80211vap *" +.\" +.Ft int +.Fn ieee80211_scan_next "struct ieee80211vap *" +.\" +.Ft int +.Fn ieee80211_scan_done "struct ieee80211vap *" +.\" +.Ft int +.Fn ieee80211_probe_curchan "struct ieee80211vap *" "int" +.\" +.Ft void +.Fo ieee80211_add_scan +.Fa "struct ieee80211vap *" +.Fa "const struct ieee80211_scanparams *" +.Fa "const struct ieee80211_frame *" +.Fa "int subtype" +.Fa "int rssi" +.Fa "int noise" +.Fc +.\" +.Ft void +.Fn ieee80211_scan_timeout "struct ieee80211com *" +.\" +.Ft void +.Fo ieee80211_scan_assoc_fail +.Fa "struct ieee80211vap *" +.Fa "const uint8_t mac[IEEE80211_ADDR_LEN]" +.Fa "int reason" +.Fc +.\" +.Ft void +.Fn ieee80211_scan_flush "struct ieee80211vap *" +.\" +.Ft void +.Fo ieee80211_scan_iterate +.Fa "struct ieee80211vap *" +.Fa "ieee80211_scan_iter_func" +.Fa "void *" +.Fc +.\" +.Ft void +.Fn ieee80211_scan_dump_channels "const struct ieee80211_scan_state *" +.\" +.Ft void +.Fo ieee80211_scanner_register +.Fa "enum ieee80211_opmode" +.Fa "const struct ieee80211_scanner *" +.Fc +.\" +.Ft void +.Fo ieee80211_scanner_unregister +.Fa "enum ieee80211_opmode" +.Fa "const struct ieee80211_scanner *" +.Fc +.\" +.Ft void +.Fn ieee80211_scanner_unregister_all "const struct ieee80211_scanner *" +.\" +.Ft const struct ieee80211_scanner * +.Fn ieee80211_scanner_get "enum ieee80211_opmode" +.Sh DESCRIPTION +The +.Nm net80211 +software layer provides an extensible framework for scanning. +Scanning is the procedure by which a station locates a BSS to join +(in infrastructure and IBSS mode), or a channel to use (when operating +as an AP or an IBSS master). +Scans are either +.Dq active +or +.Dq passive . +An active scan causes one or more ProbeRequest frames to be sent on +visiting each channel. +A passive request causes each channel in the scan set to be visited but +no frames to be transmitted; the station only listens for traffic. +Note that active scanning may still need to listen for traffic before +sending ProbeRequest frames depending on regulatory constraints. +.Pp +A scan operation involves constructing a set of channels to inspect +(the scan set), +visiting each channel and collecting information +(e.g. what BSS are present), +and then analyzing the results to make decisions such as which BSS to join. +This process needs to be as fast as possible so +.Nm net80211 +does things like intelligently construct scan sets and dwell on a channel +only as long as necessary. +Scan results are cached and the scan cache is used to avoid scanning when +possible and to enable roaming between access points when operating +in infrastructure mode. +.Pp +Scanning is handled by pluggable modules that implement +.Em policy +per-operating mode. +The core scanning support provides an infrastructure to support these +modules and exports a common API to the rest of the +.Nm net80211 +layer. +Policy modules decide what channels to visit, what state to record to +make decisions, and selects the final station/channel to return as the +result of a scan. +.Pp +Scanning is done synchronously when initially bringing a vap to +an operational state and optionally in the background to maintain +the scan cache for doing roaming and rogue AP monitoring. +Scanning is not tied to the +.Nm net80211 +state machine that governs vaps except for linkage to the +.Dv IEEE80211_S_SCAN +state. +One one vap at a time may be scanning; this scheduling policy +is handle in +.Fn ieee80211_new_state +and is transparent to scanning code. +.Pp +Scanning is controlled by a set of parameters that (potentially) +constrains the channel set and any desired SSID's and BSSID's. +.Nm net80211 +comes with a standard scanner module that works with all available +operating modes and supports +.Dq background scanning +and +.Dq roaming +operation. +.Sh SCANNER MODULES +Scanning modules use a registration mechanism to hook into the +.Nm net80211 +layer. +Use +.Fn ieee80211_scanner_register +to register a scan module for a particular operating mode and +.Fn ieee80211_scanner_unregister +or +.Fn ieee80211_scanner_unregister_all +to clear entries (typically on module unload). +Only one scanner module can be registered at any time for an operating mode. +.Sh DRIVER SUPPORT +Scanning operations are usually managed by the +.Nm net80211 +layer. +Drivers must provide +.Vt ic_scan_start +and +.Vt ic_scan_stop +methods that are called at the start of a scan and when the +work is done; these should handle work such as enabling receive +of Beacon and ProbeResponse frames and disable any BSSID matching. +The +.Vt ic_set_channel +method is used to change channels while scanning. +.Nm net80211 +will generate ProbeRequest frames and transmit them using the +.Nm ic_raw_xmit +method. +Frames received while scanning are dispatched to +.Nm net80211 +using the normal receive path. +Devices that off-load scan work to firmware most easily mesh with +.Nm net80211 +by operating on a channel-at-a-time basis as this defers control to +.Nm net80211's +scan machine scheduler. +But multi-channel scanning +is supported if the driver manually dispatches results using +.Fn ieee80211_add_scan +routine to enter results into the scan cache. +.Sh SCAN REQUESTS +Scan requests occur by way of the +.Dv IEEE80211_SCAN_REQUEST +ioctl or through a change in a vap's state machine that requires +scanning. +In both cases the scan cache can be checked first and, if it is deemed +suitably +.Dq warm +then it's contents are used without leaving the current channel. +To start a scan without checking the cache +.Fn ieee80211_start_scan +can be called; otherwise +.Fn ieee80211_check_scan +can be used to first check the scan cache, kicking off a scan if +the cache contents are out of date. +There is also +.Fn ieee80211_check_scan_current +which is a shorthand for using previously set scan parameters for +checking the scan cache and then scanning. +.Pp +Background scanning is done using +.Fn ieee80211_bg_scan +in a co-routine fashion. +The first call to this routine will start a background scan that +runs for a limited period of time before returning to the BSS channel. +Subsequent calls advance through the scan set until all channels are +visited. +Typically these later calls are timed to allow receipt of +frames buffered by an access point for the station. +.Pp +A scan operation can be canceled using +.Fn ieee80211_cancel_scan +if it was initiated by the specified vap, or +.Fn ieee80211_cancel_scan_any +to force termination regardless which vap started it. +These requests are mostly used by +.Nm net80211 +in the transmit path to cancel background scans when frames are to be sent. +Drivers should not need to use these calls (or most of the calls described +on this page). +.Pp +The +.Fn ieee80211_scan_next +and +.Fn ieee80211_scan_done +routines do explicit iteration through the scan set and should +not normally be used by drivers. +.Fn ieee80211_probe_curchan +handles the work of transmitting ProbeRequest frames when visiting +a channel during an active scan. +When the channel attributes are marked with +.Dv IEEE80211_CHAN_PASSIVE +this function will arrange that before any frame is transmitted 802.11 +traffic is first received (in order to comply with regulatory constraints). +.Pp +Min/max dwell time parameters are used to constrain time spent visiting +a channel. +The maximum dwell time constrains the time spent listening for traffic. +The minimum dwell time is used to reduce this time--when it is reached +and one or more frames have been received then an immediate channel +change will be done. +Drivers can override this behaviour through the +.Vt iv_scan_mindwell +method. +.Sh SCAN CACHE MANAGEMENT +The scan cache contents are managed by the scan policy module and +are opaque outside this module. +The +.Nm net80211 +scan framework defines API's for interacting. +The validity of the scan cache contents are controlled by +.Vt iv_scanvalid +which is exported to user space through the +.Dv IEEE80211_SCAN_VALID +request. +.Pp +The cache contents can be explicitly flushed with +.Fn ieee80211_scan_flush +or by setting the +.Dv IEEE80211_SCAN_FLUSH +flag when starting a scan operation. +.Pp +Scan cache entries are created with the +.Fn ieee80211_add_scan +routine; usually on receipt of Beacon or ProbeResponse frames. +Existing entries are typically updated based on the latest information +though some information such as RSSI and noise floor readings may be +combined to present an average. +.Pp +The cache contents is aged through +.Fn ieee80211_scan_timeout +calls. +Typically these happen together with other station table activity; every +.Dv IEEE80211_INACT_WAIT +seconds (default 15). +.Pp +Individual cache entries are marked usable with +.Fn ieee80211_scan_assoc_success +and faulty with +.Fn ieee80211_scan_assoc_fail +with the latter taking an argument to identify if there was no response +to Authentication/Association requests or if a negative response was +received (which might hasten cache eviction or blacklist the entry). +.Pp +The cache contents can be viewed using the +.Fn ieee80211_scan_iterate +call. +Cache entries are exported in a public format that is exported to user +applications through the +.Dv IEEE80211_SCAN_RESULTS +request. +.Sh SEE ALSO +.Xr ioctl 2 , +.Xr ieee80211 9 . +.Xr ieee80211_proto 9 Added: projects/mips/share/man/man9/ieee80211_vap.9 ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ projects/mips/share/man/man9/ieee80211_vap.9 Wed Oct 21 20:33:50 2009 (r198349) @@ -0,0 +1,154 @@ +.\" +.\" Copyright (c) 2009 Sam Leffler, Errno Consulting +.\" 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 *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-projects@FreeBSD.ORG Thu Oct 22 02:51:32 2009 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 6B17B106566C; Thu, 22 Oct 2009 02:51:32 +0000 (UTC) (envelope-from neel@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 5995F8FC0C; Thu, 22 Oct 2009 02:51:32 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n9M2pWSj017162; Thu, 22 Oct 2009 02:51:32 GMT (envelope-from neel@svn.freebsd.org) Received: (from neel@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n9M2pVin017155; Thu, 22 Oct 2009 02:51:31 GMT (envelope-from neel@svn.freebsd.org) Message-Id: <200910220251.n9M2pVin017155@svn.freebsd.org> From: Neel Natu Date: Thu, 22 Oct 2009 02:51:31 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r198354 - in projects/mips/sys/mips: include mips X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 22 Oct 2009 02:51:32 -0000 Author: neel Date: Thu Oct 22 02:51:31 2009 New Revision: 198354 URL: http://svn.freebsd.org/changeset/base/198354 Log: Get rid of the hardcoded constants to define cacheable memory: SDRAM_ADDR_START, SDRAM_ADDR_END and SDRAM_MEM_SIZE Instead we now keep a copy of the memory regions enumerated by platform-specific code and use that to determine whether an address is cacheable or not. Approved by: imp (mentor) Deleted: projects/mips/sys/mips/include/pltfm.h Modified: projects/mips/sys/mips/include/md_var.h projects/mips/sys/mips/include/pmap.h projects/mips/sys/mips/mips/machdep.c projects/mips/sys/mips/mips/mem.c projects/mips/sys/mips/mips/pmap.c projects/mips/sys/mips/mips/vm_machdep.c Modified: projects/mips/sys/mips/include/md_var.h ============================================================================== --- projects/mips/sys/mips/include/md_var.h Thu Oct 22 00:32:01 2009 (r198353) +++ projects/mips/sys/mips/include/md_var.h Thu Oct 22 02:51:31 2009 (r198354) @@ -52,8 +52,8 @@ uintptr_t MipsEmulateBranch(struct trapf void MipsSwitchFPState(struct thread *, struct trapframe *); u_long kvtop(void *addr); int is_physical_memory(vm_offset_t addr); -int is_cacheable_mem(vm_offset_t pa); -int is_coherent_mem(vm_offset_t pa); + +#define is_cacheable_mem(pa) is_physical_memory((pa)) #define MIPS_DEBUG 0 Modified: projects/mips/sys/mips/include/pmap.h ============================================================================== --- projects/mips/sys/mips/include/pmap.h Thu Oct 22 00:32:01 2009 (r198353) +++ projects/mips/sys/mips/include/pmap.h Thu Oct 22 02:51:31 2009 (r198354) @@ -145,7 +145,21 @@ typedef struct pv_entry { #define PMAP_DIAGNOSTIC #endif -extern vm_offset_t phys_avail[]; +/* + * physmem_desc[] is a superset of phys_avail[] and describes all the + * memory present in the system. + * + * phys_avail[] is similar but does not include the memory stolen by + * pmap_steal_memory(). + * + * Each memory region is described by a pair of elements in the array + * so we can describe up to (PHYS_AVAIL_ENTRIES / 2) distinct memory + * regions. + */ +#define PHYS_AVAIL_ENTRIES 10 +extern vm_offset_t phys_avail[PHYS_AVAIL_ENTRIES + 2]; +extern vm_offset_t physmem_desc[PHYS_AVAIL_ENTRIES + 2]; + extern char *ptvmmap; /* poor name! */ extern vm_offset_t virtual_avail; extern vm_offset_t virtual_end; Modified: projects/mips/sys/mips/mips/machdep.c ============================================================================== --- projects/mips/sys/mips/mips/machdep.c Thu Oct 22 00:32:01 2009 (r198353) +++ projects/mips/sys/mips/mips/machdep.c Thu Oct 22 02:51:31 2009 (r198354) @@ -79,7 +79,6 @@ __FBSDID("$FreeBSD$"); #include #include #include -#include #include #include #include @@ -120,7 +119,9 @@ struct pcpu pcpu; struct pcpu *pcpup = &pcpu; #endif -vm_offset_t phys_avail[10]; +vm_offset_t phys_avail[PHYS_AVAIL_ENTRIES + 2]; +vm_offset_t physmem_desc[PHYS_AVAIL_ENTRIES + 2]; + #ifdef UNIMPLEMENTED struct platform platform; #endif @@ -426,3 +427,16 @@ cpu_idle_wakeup(int cpu) return (0); } + +int +is_physical_memory(vm_offset_t addr) +{ + int i; + + for (i = 0; physmem_desc[i + 1] != 0; i += 2) { + if (addr >= physmem_desc[i] && addr < physmem_desc[i + 1]) + return (1); + } + + return (0); +} Modified: projects/mips/sys/mips/mips/mem.c ============================================================================== --- projects/mips/sys/mips/mips/mem.c Thu Oct 22 00:32:01 2009 (r198353) +++ projects/mips/sys/mips/mips/mem.c Thu Oct 22 02:51:31 2009 (r198354) @@ -65,7 +65,6 @@ __FBSDID("$FreeBSD$"); #include #include #include -#include #include @@ -101,17 +100,8 @@ memrw(dev, uio, flags) vm_paddr_t pa; register int o; -#ifdef CPU_SB1 - if (!is_physical_memory(v) || - !is_physical_memory(roundup2(v, PAGE_SIZE) - 1)) { - return (EFAULT); - } -#else - if (v + c > (SDRAM_ADDR_START + ctob(physmem))) - return (EFAULT); -#endif - - if (is_cacheable_mem(v) && is_cacheable_mem(v + c)) { + if (is_cacheable_mem(v) && + is_cacheable_mem(v + c - 1)) { struct fpage *fp; struct sysmaps *sysmaps; Modified: projects/mips/sys/mips/mips/pmap.c ============================================================================== --- projects/mips/sys/mips/mips/pmap.c Thu Oct 22 00:32:01 2009 (r198353) +++ projects/mips/sys/mips/mips/pmap.c Thu Oct 22 02:51:31 2009 (r198354) @@ -96,7 +96,6 @@ __FBSDID("$FreeBSD$"); #endif #include -#include #include #if defined(DIAGNOSTIC) @@ -313,6 +312,14 @@ again: } } + /* + * Copy the phys_avail[] array before we start stealing memory from it. + */ + for (i = 0; phys_avail[i + 1] != 0; i += 2) { + physmem_desc[i] = phys_avail[i]; + physmem_desc[i + 1] = phys_avail[i + 1]; + } + Maxmem = atop(phys_avail[i - 1]); if (bootverbose) { Modified: projects/mips/sys/mips/mips/vm_machdep.c ============================================================================== --- projects/mips/sys/mips/mips/vm_machdep.c Thu Oct 22 00:32:01 2009 (r198353) +++ projects/mips/sys/mips/mips/vm_machdep.c Thu Oct 22 02:51:31 2009 (r198354) @@ -57,7 +57,6 @@ __FBSDID("$FreeBSD$"); #include #include #include -#include #include #include @@ -400,34 +399,6 @@ kvtop(void *addr) #define ZIDLE_HI(v) ((v) * 4 / 5) /* - * Tell whether this address is in some physical memory region. - * Currently used by the kernel coredump code in order to avoid - * dumping non-memory physical address space. - */ -int -is_physical_memory(vm_offset_t addr) -{ - if (addr >= SDRAM_ADDR_START && addr <= SDRAM_ADDR_END) - return 1; - else - return 0; -} - -int -is_cacheable_mem(vm_offset_t pa) -{ - if ((pa >= SDRAM_ADDR_START && pa <= SDRAM_ADDR_END) || -#ifdef FLASH_ADDR_START - (pa >= FLASH_ADDR_START && pa <= FLASH_ADDR_END)) -#else - 0) -#endif - return 1; - else - return 0; -} - -/* * Allocate a pool of sf_bufs (sendfile(2) or "super-fast" if you prefer. :-)) */ static void From owner-svn-src-projects@FreeBSD.ORG Thu Oct 22 04:35:33 2009 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 1921A106566C; Thu, 22 Oct 2009 04:35:33 +0000 (UTC) (envelope-from neel@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 0860E8FC0A; Thu, 22 Oct 2009 04:35:33 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n9M4ZW87019154; Thu, 22 Oct 2009 04:35:32 GMT (envelope-from neel@svn.freebsd.org) Received: (from neel@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n9M4ZWKf019152; Thu, 22 Oct 2009 04:35:32 GMT (envelope-from neel@svn.freebsd.org) Message-Id: <200910220435.n9M4ZWKf019152@svn.freebsd.org> From: Neel Natu Date: Thu, 22 Oct 2009 04:35:32 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r198355 - projects/mips/sys/mips/mips X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 22 Oct 2009 04:35:33 -0000 Author: neel Date: Thu Oct 22 04:35:32 2009 New Revision: 198355 URL: http://svn.freebsd.org/changeset/base/198355 Log: Remove redundant instructions from tlb.S The "_MTC0 v0, COP_0_TLB_HI" is actually incorrect because v0 has not been initialized at that point. It worked correctly because we subsequently did the right thing and initialized TLB_HI correctly. The "li v0, MIPS_KSEG0_START" is redundant because we do exactly the same thing 2 instructions down. Approved by: imp (mentor) Modified: projects/mips/sys/mips/mips/tlb.S Modified: projects/mips/sys/mips/mips/tlb.S ============================================================================== --- projects/mips/sys/mips/mips/tlb.S Thu Oct 22 02:51:31 2009 (r198354) +++ projects/mips/sys/mips/mips/tlb.S Thu Oct 22 04:35:32 2009 (r198355) @@ -231,7 +231,6 @@ LEAF(Mips_TLBFlush) ITLBNOPFIX mfc0 t1, COP_0_TLB_WIRED _MFC0 t0, COP_0_TLB_HI # Save the PID - _MTC0 v0, COP_0_TLB_HI # Mark entry high as invalid _MTC0 zero, COP_0_TLB_LO0 # Zero out low entry0. _MTC0 zero, COP_0_TLB_LO1 # Zero out low entry1. mtc0 zero, COP_0_TLB_PG_MASK # Zero out mask entry. @@ -250,12 +249,8 @@ LEAF(Mips_TLBFlush) 1: mtc0 t1, COP_0_TLB_INDEX # Set the index register. ITLBNOPFIX -#xxx imp -# _MTC0 t0, COP_0_TLB_HI # Restore the PID _MTC0 v0, COP_0_TLB_HI # Mark entry high as invalid addu t1, t1, 1 # Increment index. -#xxx imp -# addu t0, t0, 8 * 1024 addu v0, v0, 8 * 1024 MIPS_CPU_NOP_DELAY tlbwi # Write the TLB entry. @@ -481,7 +476,6 @@ LEAF(mips_TBIAP) _MFC0 ta0, COP_0_TLB_HI # Get current PID move t2, a0 mfc0 t1, COP_0_TLB_WIRED - li v0, MIPS_KSEG0_START # invalid address # # Load invalid entry, each TLB entry should have it's own bogus # address calculated by following expression: From owner-svn-src-projects@FreeBSD.ORG Thu Oct 22 11:38:19 2009 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 971EC1065676; Thu, 22 Oct 2009 11:38:19 +0000 (UTC) (envelope-from rwatson@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 864618FC1A; Thu, 22 Oct 2009 11:38:19 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n9MBcJn0028989; Thu, 22 Oct 2009 11:38:19 GMT (envelope-from rwatson@svn.freebsd.org) Received: (from rwatson@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n9MBcJv2028987; Thu, 22 Oct 2009 11:38:19 GMT (envelope-from rwatson@svn.freebsd.org) Message-Id: <200910221138.n9MBcJv2028987@svn.freebsd.org> From: Robert Watson Date: Thu, 22 Oct 2009 11:38:19 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r198364 - projects/capabilities8/libexec/rtld-elf-cap X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 22 Oct 2009 11:38:19 -0000 Author: rwatson Date: Thu Oct 22 11:38:19 2009 New Revision: 198364 URL: http://svn.freebsd.org/changeset/base/198364 Log: Merge Perforce c169677 into capabilities8: Custom linker script is no longer required for rtld-elf-cap as the kernel now auto-places position-independent code properly. Deleted: projects/capabilities8/libexec/rtld-elf-cap/rtld-elf-cap.xs Modified: projects/capabilities8/libexec/rtld-elf-cap/Makefile Modified: projects/capabilities8/libexec/rtld-elf-cap/Makefile ============================================================================== --- projects/capabilities8/libexec/rtld-elf-cap/Makefile Thu Oct 22 11:35:12 2009 (r198363) +++ projects/capabilities8/libexec/rtld-elf-cap/Makefile Thu Oct 22 11:38:19 2009 (r198364) @@ -14,7 +14,7 @@ MAN= rtld-elf-cap.1 CSTD?= gnu99 CFLAGS+= -Wall -DFREEBSD_ELF -DIN_RTLD -DIN_RTLD_CAP -g CFLAGS+= -I${.CURDIR} -I${.CURDIR}/../rtld-elf/${MACHINE_ARCH} -I${.CURDIR}/../rtld-elf -LDFLAGS+= -nostdlib -Wl,-e,.rtld_start -Wl,-T,${.CURDIR}/rtld-elf-cap.xs +LDFLAGS+= -nostdlib -Wl,-e,.rtld_start INSTALLFLAGS= -C -b PRECIOUSPROG= BINDIR= /libexec From owner-svn-src-projects@FreeBSD.ORG Thu Oct 22 17:36:41 2009 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id A494A106566B; Thu, 22 Oct 2009 17:36:41 +0000 (UTC) (envelope-from rdivacky@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 943A18FC21; Thu, 22 Oct 2009 17:36:41 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n9MHafx3036013; Thu, 22 Oct 2009 17:36:41 GMT (envelope-from rdivacky@svn.freebsd.org) Received: (from rdivacky@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n9MHafFR036011; Thu, 22 Oct 2009 17:36:41 GMT (envelope-from rdivacky@svn.freebsd.org) Message-Id: <200910221736.n9MHafFR036011@svn.freebsd.org> From: Roman Divacky Date: Thu, 22 Oct 2009 17:36:41 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r198370 - projects/clangbsd/lib/csu/amd64 X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 22 Oct 2009 17:36:41 -0000 Author: rdivacky Date: Thu Oct 22 17:36:41 2009 New Revision: 198370 URL: http://svn.freebsd.org/changeset/base/198370 Log: Csu works fine with clang. Modified: projects/clangbsd/lib/csu/amd64/Makefile Modified: projects/clangbsd/lib/csu/amd64/Makefile ============================================================================== --- projects/clangbsd/lib/csu/amd64/Makefile Thu Oct 22 17:30:22 2009 (r198369) +++ projects/clangbsd/lib/csu/amd64/Makefile Thu Oct 22 17:36:41 2009 (r198370) @@ -4,11 +4,6 @@ .PATH: ${.CURDIR}/../common -# XXX: prevents infinite loop on startup -.if ${MK_CLANG_IS_CC} != "no" -CC= gcc -.endif - SRCS= crt1.c crti.S crtn.S OBJS= ${SRCS:N*.h:R:S/$/.o/g} OBJS+= gcrt1.o From owner-svn-src-projects@FreeBSD.ORG Fri Oct 23 07:34:04 2009 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 43488106566B; Fri, 23 Oct 2009 07:34:04 +0000 (UTC) (envelope-from rdivacky@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 19EF88FC16; Fri, 23 Oct 2009 07:34:04 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n9N7Y3cm052616; Fri, 23 Oct 2009 07:34:03 GMT (envelope-from rdivacky@svn.freebsd.org) Received: (from rdivacky@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n9N7Y3Ps052615; Fri, 23 Oct 2009 07:34:03 GMT (envelope-from rdivacky@svn.freebsd.org) Message-Id: <200910230734.n9N7Y3Ps052615@svn.freebsd.org> From: Roman Divacky Date: Fri, 23 Oct 2009 07:34:03 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r198379 - projects/clangbsd/contrib/bzip2 X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 23 Oct 2009 07:34:04 -0000 Author: rdivacky Date: Fri Oct 23 07:34:03 2009 New Revision: 198379 URL: http://svn.freebsd.org/changeset/base/198379 Log: Dont set CC=cc unconditionally. Modified: projects/clangbsd/contrib/bzip2/Makefile Modified: projects/clangbsd/contrib/bzip2/Makefile ============================================================================== --- projects/clangbsd/contrib/bzip2/Makefile Fri Oct 23 03:17:02 2009 (r198378) +++ projects/clangbsd/contrib/bzip2/Makefile Fri Oct 23 07:34:03 2009 (r198379) @@ -15,7 +15,6 @@ SHELL=/bin/sh # To assist in cross-compiling -CC=gcc AR=ar RANLIB=ranlib LDFLAGS= From owner-svn-src-projects@FreeBSD.ORG Fri Oct 23 07:36:13 2009 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 4360E1065670; Fri, 23 Oct 2009 07:36:13 +0000 (UTC) (envelope-from rdivacky@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 30C798FC0A; Fri, 23 Oct 2009 07:36:13 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n9N7aDXE052714; Fri, 23 Oct 2009 07:36:13 GMT (envelope-from rdivacky@svn.freebsd.org) Received: (from rdivacky@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n9N7aC2X052699; Fri, 23 Oct 2009 07:36:12 GMT (envelope-from rdivacky@svn.freebsd.org) Message-Id: <200910230736.n9N7aC2X052699@svn.freebsd.org> From: Roman Divacky Date: Fri, 23 Oct 2009 07:36:12 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r198380 - in projects/clangbsd: gnu/lib/libgcc gnu/lib/libobjc gnu/lib/libstdc++ gnu/lib/libsupc++ gnu/usr.bin/gperf gnu/usr.bin/groff gnu/usr.bin/groff/src/libs lib/msun sbin/devd shar... X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 23 Oct 2009 07:36:13 -0000 Author: rdivacky Date: Fri Oct 23 07:36:12 2009 New Revision: 198380 URL: http://svn.freebsd.org/changeset/base/198380 Log: Dont set CC=gcc and CXX=g++ unconditionally but substitute cc/clang with gcc and c++ with g++ in the CC variable. This way Modified: projects/clangbsd/gnu/lib/libgcc/Makefile projects/clangbsd/gnu/lib/libobjc/Makefile projects/clangbsd/gnu/lib/libstdc++/Makefile projects/clangbsd/gnu/lib/libsupc++/Makefile projects/clangbsd/gnu/usr.bin/gperf/Makefile projects/clangbsd/gnu/usr.bin/groff/Makefile.inc projects/clangbsd/gnu/usr.bin/groff/src/libs/Makefile.inc projects/clangbsd/lib/msun/Makefile projects/clangbsd/sbin/devd/Makefile projects/clangbsd/share/mk/sys.mk projects/clangbsd/sys/boot/i386/boot2/Makefile projects/clangbsd/sys/boot/i386/gptzfsboot/Makefile projects/clangbsd/sys/boot/i386/loader/Makefile projects/clangbsd/sys/boot/i386/zfsboot/Makefile Modified: projects/clangbsd/gnu/lib/libgcc/Makefile ============================================================================== --- projects/clangbsd/gnu/lib/libgcc/Makefile Fri Oct 23 07:34:03 2009 (r198379) +++ projects/clangbsd/gnu/lib/libgcc/Makefile Fri Oct 23 07:36:12 2009 (r198380) @@ -17,7 +17,7 @@ MK_SSP= no # XXX: a few C++ related GCC builtins are missing # http://llvm.org/bugs/show_bug.cgi?id=5255 -CC= gcc +CC:=${CC:C/cc|clang/gcc/} .PATH: ${GCCDIR}/config/${GCC_CPU} ${GCCDIR}/config ${GCCDIR} Modified: projects/clangbsd/gnu/lib/libobjc/Makefile ============================================================================== --- projects/clangbsd/gnu/lib/libobjc/Makefile Fri Oct 23 07:34:03 2009 (r198379) +++ projects/clangbsd/gnu/lib/libobjc/Makefile Fri Oct 23 07:36:12 2009 (r198380) @@ -13,7 +13,7 @@ SRCS= archive.c class.c encoding.c gc.c nil_method.c NXConstStr.m Object.m objects.c Protocol.m sarray.c \ selector.c sendmsg.c thr.c thr-objc.c exception.c -CC=gcc +CC:=${CC:C/cc|clang/gcc/} INCS= encoding.h hash.h objc-api.h objc-decls.h objc-list.h objc.h runtime.h \ sarray.h thr.h typedstream.h NXConstStr.h Object.h Protocol.h Modified: projects/clangbsd/gnu/lib/libstdc++/Makefile ============================================================================== --- projects/clangbsd/gnu/lib/libstdc++/Makefile Fri Oct 23 07:34:03 2009 (r198379) +++ projects/clangbsd/gnu/lib/libstdc++/Makefile Fri Oct 23 07:36:12 2009 (r198380) @@ -21,8 +21,8 @@ CFLAGS+= -I${GCCLIB}/include -I${SRCDIR} CFLAGS+= -frandom-seed=RepeatabilityConsideredGood CXXFLAGS+= -fno-implicit-templates -ffunction-sections -fdata-sections \ -Wno-deprecated -CC=gcc -CXX=g++ +CC:=${CC:C/cc|clang/gcc/} +CXX:=${CXX:C/c\+\+|clang/g++/} DPADD= ${LIBM} LDADD= -lm Modified: projects/clangbsd/gnu/lib/libsupc++/Makefile ============================================================================== --- projects/clangbsd/gnu/lib/libsupc++/Makefile Fri Oct 23 07:34:03 2009 (r198379) +++ projects/clangbsd/gnu/lib/libsupc++/Makefile Fri Oct 23 07:36:12 2009 (r198380) @@ -15,7 +15,7 @@ SRCS+= del_op.cc del_opnt.cc del_opv.cc new_opnt.cc new_opv.cc new_opvnt.cc pure.cc tinfo.cc tinfo2.cc \ vec.cc vterminate.cc -CXX=g++ +CXX:=${CXX:C/c\+\+|clang/g++/} # from libiberty: SRCS+= cp-demangle.c Modified: projects/clangbsd/gnu/usr.bin/gperf/Makefile ============================================================================== --- projects/clangbsd/gnu/usr.bin/gperf/Makefile Fri Oct 23 07:34:03 2009 (r198379) +++ projects/clangbsd/gnu/usr.bin/gperf/Makefile Fri Oct 23 07:36:12 2009 (r198380) @@ -12,7 +12,7 @@ SRCS= bool-array.cc gen-perf.cc hash-tab vectors.cc version.cc SRCS+= hash.cc -CXX=g++ +CXX:=${CXX:C/c\+\+|clang/g++/} CXXFLAGS+= -I${GPROFDIR}/lib -I${.CURDIR} Modified: projects/clangbsd/gnu/usr.bin/groff/Makefile.inc ============================================================================== --- projects/clangbsd/gnu/usr.bin/groff/Makefile.inc Fri Oct 23 07:34:03 2009 (r198379) +++ projects/clangbsd/gnu/usr.bin/groff/Makefile.inc Fri Oct 23 07:36:12 2009 (r198380) @@ -3,7 +3,7 @@ BINDIR?= /usr/bin SHELL= /bin/sh -CXX=g++ +CXX:=${CXX:C/c\+\+|clang/g++/} # Define `page' to be letter if your PostScript printer uses 8.5x11 # paper (USA) and define it to be A4, if it uses A4 paper (rest of the Modified: projects/clangbsd/gnu/usr.bin/groff/src/libs/Makefile.inc ============================================================================== --- projects/clangbsd/gnu/usr.bin/groff/src/libs/Makefile.inc Fri Oct 23 07:34:03 2009 (r198379) +++ projects/clangbsd/gnu/usr.bin/groff/src/libs/Makefile.inc Fri Oct 23 07:36:12 2009 (r198380) @@ -3,6 +3,6 @@ TOPREL= ../../.. DIST_SUBDIR= src/libs/${.CURDIR:T} -CXX=g++ +CXX:=${CXX:C/c\+\+|clang/g++/} .include "../../Makefile.inc" Modified: projects/clangbsd/lib/msun/Makefile ============================================================================== --- projects/clangbsd/lib/msun/Makefile Fri Oct 23 07:34:03 2009 (r198379) +++ projects/clangbsd/lib/msun/Makefile Fri Oct 23 07:36:12 2009 (r198380) @@ -15,9 +15,7 @@ .include # XXX: LLVM PR879 in e_rem_pio2.c -.if ${MK_CLANG_IS_CC} != "no" && ${CC} == "cc" && ${MACHINE_ARCH} == "i386" -CC= gcc -.endif +CC:=${CC:C/cc|clang/gcc/} .if ${MACHINE_ARCH} == "i386" ARCH_SUBDIR= i387 Modified: projects/clangbsd/sbin/devd/Makefile ============================================================================== --- projects/clangbsd/sbin/devd/Makefile Fri Oct 23 07:34:03 2009 (r198379) +++ projects/clangbsd/sbin/devd/Makefile Fri Oct 23 07:36:12 2009 (r198380) @@ -4,7 +4,7 @@ PROG_CXX=devd SRCS= devd.cc token.l parse.y y.tab.h MAN= devd.8 devd.conf.5 -CXX=g++ +CXX:=${CXX:C/c\+\+|clang/g++/} WARNS= 0 #WARNS?= 4 Modified: projects/clangbsd/share/mk/sys.mk ============================================================================== --- projects/clangbsd/share/mk/sys.mk Fri Oct 23 07:34:03 2009 (r198379) +++ projects/clangbsd/share/mk/sys.mk Fri Oct 23 07:36:12 2009 (r198380) @@ -34,7 +34,7 @@ AFLAGS ?= CC ?= c89 CFLAGS ?= -O .else -CC ?= clang +CC ?= cc .if ${MACHINE_ARCH} == "arm" || ${MACHINE_ARCH} == "mips" CFLAGS ?= -O -pipe .else Modified: projects/clangbsd/sys/boot/i386/boot2/Makefile ============================================================================== --- projects/clangbsd/sys/boot/i386/boot2/Makefile Fri Oct 23 07:34:03 2009 (r198379) +++ projects/clangbsd/sys/boot/i386/boot2/Makefile Fri Oct 23 07:36:12 2009 (r198380) @@ -2,7 +2,7 @@ .include -CC= gcc +CC:=${CC:C/cc|clang/gcc/} FILES= boot boot1 boot2 Modified: projects/clangbsd/sys/boot/i386/gptzfsboot/Makefile ============================================================================== --- projects/clangbsd/sys/boot/i386/gptzfsboot/Makefile Fri Oct 23 07:34:03 2009 (r198379) +++ projects/clangbsd/sys/boot/i386/gptzfsboot/Makefile Fri Oct 23 07:36:12 2009 (r198380) @@ -2,9 +2,7 @@ .include -.if ${MK_CLANG_IS_CC} != "no" && ${CC} == "cc" -CC= gcc -.endif +CC:=${CC:C/cc|clang/gcc/} .PATH: ${.CURDIR}/../boot2 ${.CURDIR}/../gptboot ${.CURDIR}/../zfsboot Modified: projects/clangbsd/sys/boot/i386/loader/Makefile ============================================================================== --- projects/clangbsd/sys/boot/i386/loader/Makefile Fri Oct 23 07:34:03 2009 (r198379) +++ projects/clangbsd/sys/boot/i386/loader/Makefile Fri Oct 23 07:36:12 2009 (r198380) @@ -4,7 +4,7 @@ MK_SSP= no # XXX: broken compiler include paths -CC= gcc +CC:=${CC:C/cc|clang/gcc/} PROG= loader.sym INTERNALPROG= Modified: projects/clangbsd/sys/boot/i386/zfsboot/Makefile ============================================================================== --- projects/clangbsd/sys/boot/i386/zfsboot/Makefile Fri Oct 23 07:34:03 2009 (r198379) +++ projects/clangbsd/sys/boot/i386/zfsboot/Makefile Fri Oct 23 07:36:12 2009 (r198380) @@ -2,9 +2,7 @@ .include -.if ${MK_CLANG_IS_CC} != "no" && ${CC} == "cc" -CC= gcc -.endif +CC:=${CC:C/cc|clang/gcc/} .PATH: ${.CURDIR}/../boot2 From owner-svn-src-projects@FreeBSD.ORG Fri Oct 23 12:19:27 2009 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id EFE5D106568B; Fri, 23 Oct 2009 12:19:26 +0000 (UTC) (envelope-from rdivacky@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id DC2868FC15; Fri, 23 Oct 2009 12:19:26 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n9NCJQ0i060294; Fri, 23 Oct 2009 12:19:26 GMT (envelope-from rdivacky@svn.freebsd.org) Received: (from rdivacky@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n9NCJQLG060280; Fri, 23 Oct 2009 12:19:26 GMT (envelope-from rdivacky@svn.freebsd.org) Message-Id: <200910231219.n9NCJQLG060280@svn.freebsd.org> From: Roman Divacky Date: Fri, 23 Oct 2009 12:19:26 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r198387 - in projects/clangbsd: gnu/lib/libgcc gnu/lib/libobjc gnu/lib/libstdc++ gnu/lib/libsupc++ gnu/usr.bin/gperf gnu/usr.bin/groff gnu/usr.bin/groff/src/libs lib/msun sbin/devd sys/... X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 23 Oct 2009 12:19:27 -0000 Author: rdivacky Date: Fri Oct 23 12:19:26 2009 New Revision: 198387 URL: http://svn.freebsd.org/changeset/base/198387 Log: When replacing cc/clang with gcc only replace the ^cc/^clang to avoid replacing the string in further params. Modified: projects/clangbsd/gnu/lib/libgcc/Makefile projects/clangbsd/gnu/lib/libobjc/Makefile projects/clangbsd/gnu/lib/libstdc++/Makefile projects/clangbsd/gnu/lib/libsupc++/Makefile projects/clangbsd/gnu/usr.bin/gperf/Makefile projects/clangbsd/gnu/usr.bin/groff/Makefile.inc projects/clangbsd/gnu/usr.bin/groff/src/libs/Makefile.inc projects/clangbsd/lib/msun/Makefile projects/clangbsd/sbin/devd/Makefile projects/clangbsd/sys/boot/i386/boot2/Makefile projects/clangbsd/sys/boot/i386/gptzfsboot/Makefile projects/clangbsd/sys/boot/i386/loader/Makefile projects/clangbsd/sys/boot/i386/zfsboot/Makefile Modified: projects/clangbsd/gnu/lib/libgcc/Makefile ============================================================================== --- projects/clangbsd/gnu/lib/libgcc/Makefile Fri Oct 23 12:02:01 2009 (r198386) +++ projects/clangbsd/gnu/lib/libgcc/Makefile Fri Oct 23 12:19:26 2009 (r198387) @@ -17,7 +17,7 @@ MK_SSP= no # XXX: a few C++ related GCC builtins are missing # http://llvm.org/bugs/show_bug.cgi?id=5255 -CC:=${CC:C/cc|clang/gcc/} +CC:=${CC:C/^cc|^clang/gcc/} .PATH: ${GCCDIR}/config/${GCC_CPU} ${GCCDIR}/config ${GCCDIR} Modified: projects/clangbsd/gnu/lib/libobjc/Makefile ============================================================================== --- projects/clangbsd/gnu/lib/libobjc/Makefile Fri Oct 23 12:02:01 2009 (r198386) +++ projects/clangbsd/gnu/lib/libobjc/Makefile Fri Oct 23 12:19:26 2009 (r198387) @@ -13,7 +13,7 @@ SRCS= archive.c class.c encoding.c gc.c nil_method.c NXConstStr.m Object.m objects.c Protocol.m sarray.c \ selector.c sendmsg.c thr.c thr-objc.c exception.c -CC:=${CC:C/cc|clang/gcc/} +CC:=${CC:C/^cc|^clang/gcc/} INCS= encoding.h hash.h objc-api.h objc-decls.h objc-list.h objc.h runtime.h \ sarray.h thr.h typedstream.h NXConstStr.h Object.h Protocol.h Modified: projects/clangbsd/gnu/lib/libstdc++/Makefile ============================================================================== --- projects/clangbsd/gnu/lib/libstdc++/Makefile Fri Oct 23 12:02:01 2009 (r198386) +++ projects/clangbsd/gnu/lib/libstdc++/Makefile Fri Oct 23 12:19:26 2009 (r198387) @@ -22,7 +22,7 @@ CFLAGS+= -frandom-seed=RepeatabilityCons CXXFLAGS+= -fno-implicit-templates -ffunction-sections -fdata-sections \ -Wno-deprecated CC:=${CC:C/cc|clang/gcc/} -CXX:=${CXX:C/c\+\+|clang/g++/} +CXX:=${CXX:C/^c\+\+|^clang/g++/} DPADD= ${LIBM} LDADD= -lm Modified: projects/clangbsd/gnu/lib/libsupc++/Makefile ============================================================================== --- projects/clangbsd/gnu/lib/libsupc++/Makefile Fri Oct 23 12:02:01 2009 (r198386) +++ projects/clangbsd/gnu/lib/libsupc++/Makefile Fri Oct 23 12:19:26 2009 (r198387) @@ -15,7 +15,7 @@ SRCS+= del_op.cc del_opnt.cc del_opv.cc new_opnt.cc new_opv.cc new_opvnt.cc pure.cc tinfo.cc tinfo2.cc \ vec.cc vterminate.cc -CXX:=${CXX:C/c\+\+|clang/g++/} +CXX:=${CXX:C/^c\+\+|^clang/g++/} # from libiberty: SRCS+= cp-demangle.c Modified: projects/clangbsd/gnu/usr.bin/gperf/Makefile ============================================================================== --- projects/clangbsd/gnu/usr.bin/gperf/Makefile Fri Oct 23 12:02:01 2009 (r198386) +++ projects/clangbsd/gnu/usr.bin/gperf/Makefile Fri Oct 23 12:19:26 2009 (r198387) @@ -12,7 +12,7 @@ SRCS= bool-array.cc gen-perf.cc hash-tab vectors.cc version.cc SRCS+= hash.cc -CXX:=${CXX:C/c\+\+|clang/g++/} +CXX:=${CXX:C/^c\+\+|^clang/g++/} CXXFLAGS+= -I${GPROFDIR}/lib -I${.CURDIR} Modified: projects/clangbsd/gnu/usr.bin/groff/Makefile.inc ============================================================================== --- projects/clangbsd/gnu/usr.bin/groff/Makefile.inc Fri Oct 23 12:02:01 2009 (r198386) +++ projects/clangbsd/gnu/usr.bin/groff/Makefile.inc Fri Oct 23 12:19:26 2009 (r198387) @@ -3,7 +3,7 @@ BINDIR?= /usr/bin SHELL= /bin/sh -CXX:=${CXX:C/c\+\+|clang/g++/} +CXX:=${CXX:C/^c\+\+|^clang/g++/} # Define `page' to be letter if your PostScript printer uses 8.5x11 # paper (USA) and define it to be A4, if it uses A4 paper (rest of the Modified: projects/clangbsd/gnu/usr.bin/groff/src/libs/Makefile.inc ============================================================================== --- projects/clangbsd/gnu/usr.bin/groff/src/libs/Makefile.inc Fri Oct 23 12:02:01 2009 (r198386) +++ projects/clangbsd/gnu/usr.bin/groff/src/libs/Makefile.inc Fri Oct 23 12:19:26 2009 (r198387) @@ -3,6 +3,6 @@ TOPREL= ../../.. DIST_SUBDIR= src/libs/${.CURDIR:T} -CXX:=${CXX:C/c\+\+|clang/g++/} +CXX:=${CXX:C/^c\+\+|^clang/g++/} .include "../../Makefile.inc" Modified: projects/clangbsd/lib/msun/Makefile ============================================================================== --- projects/clangbsd/lib/msun/Makefile Fri Oct 23 12:02:01 2009 (r198386) +++ projects/clangbsd/lib/msun/Makefile Fri Oct 23 12:19:26 2009 (r198387) @@ -15,7 +15,7 @@ .include # XXX: LLVM PR879 in e_rem_pio2.c -CC:=${CC:C/cc|clang/gcc/} +CC:=${CC:C/^cc|^clang/gcc/} .if ${MACHINE_ARCH} == "i386" ARCH_SUBDIR= i387 Modified: projects/clangbsd/sbin/devd/Makefile ============================================================================== --- projects/clangbsd/sbin/devd/Makefile Fri Oct 23 12:02:01 2009 (r198386) +++ projects/clangbsd/sbin/devd/Makefile Fri Oct 23 12:19:26 2009 (r198387) @@ -4,7 +4,7 @@ PROG_CXX=devd SRCS= devd.cc token.l parse.y y.tab.h MAN= devd.8 devd.conf.5 -CXX:=${CXX:C/c\+\+|clang/g++/} +CXX:=${CXX:C/^c\+\+|^clang/g++/} WARNS= 0 #WARNS?= 4 Modified: projects/clangbsd/sys/boot/i386/boot2/Makefile ============================================================================== --- projects/clangbsd/sys/boot/i386/boot2/Makefile Fri Oct 23 12:02:01 2009 (r198386) +++ projects/clangbsd/sys/boot/i386/boot2/Makefile Fri Oct 23 12:19:26 2009 (r198387) @@ -2,7 +2,7 @@ .include -CC:=${CC:C/cc|clang/gcc/} +CC:=${CC:C/^cc|^clang/gcc/} FILES= boot boot1 boot2 Modified: projects/clangbsd/sys/boot/i386/gptzfsboot/Makefile ============================================================================== --- projects/clangbsd/sys/boot/i386/gptzfsboot/Makefile Fri Oct 23 12:02:01 2009 (r198386) +++ projects/clangbsd/sys/boot/i386/gptzfsboot/Makefile Fri Oct 23 12:19:26 2009 (r198387) @@ -2,7 +2,7 @@ .include -CC:=${CC:C/cc|clang/gcc/} +CC:=${CC:C/^cc|^clang/gcc/} .PATH: ${.CURDIR}/../boot2 ${.CURDIR}/../gptboot ${.CURDIR}/../zfsboot Modified: projects/clangbsd/sys/boot/i386/loader/Makefile ============================================================================== --- projects/clangbsd/sys/boot/i386/loader/Makefile Fri Oct 23 12:02:01 2009 (r198386) +++ projects/clangbsd/sys/boot/i386/loader/Makefile Fri Oct 23 12:19:26 2009 (r198387) @@ -4,7 +4,7 @@ MK_SSP= no # XXX: broken compiler include paths -CC:=${CC:C/cc|clang/gcc/} +CC:=${CC:C/^cc|^clang/gcc/} PROG= loader.sym INTERNALPROG= Modified: projects/clangbsd/sys/boot/i386/zfsboot/Makefile ============================================================================== --- projects/clangbsd/sys/boot/i386/zfsboot/Makefile Fri Oct 23 12:02:01 2009 (r198386) +++ projects/clangbsd/sys/boot/i386/zfsboot/Makefile Fri Oct 23 12:19:26 2009 (r198387) @@ -2,7 +2,7 @@ .include -CC:=${CC:C/cc|clang/gcc/} +CC:=${CC:C/^cc|^clang/gcc/} .PATH: ${.CURDIR}/../boot2 From owner-svn-src-projects@FreeBSD.ORG Fri Oct 23 12:29:46 2009 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 15F69106566B; Fri, 23 Oct 2009 12:29:46 +0000 (UTC) (envelope-from rdivacky@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 053328FC0A; Fri, 23 Oct 2009 12:29:46 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n9NCTjEE060512; Fri, 23 Oct 2009 12:29:45 GMT (envelope-from rdivacky@svn.freebsd.org) Received: (from rdivacky@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n9NCTjH7060510; Fri, 23 Oct 2009 12:29:45 GMT (envelope-from rdivacky@svn.freebsd.org) Message-Id: <200910231229.n9NCTjH7060510@svn.freebsd.org> From: Roman Divacky Date: Fri, 23 Oct 2009 12:29:45 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r198388 - projects/clangbsd/gnu/lib/libstdc++ X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 23 Oct 2009 12:29:46 -0000 Author: rdivacky Date: Fri Oct 23 12:29:45 2009 New Revision: 198388 URL: http://svn.freebsd.org/changeset/base/198388 Log: When replacing cc/clang with gcc only replace the ^cc/^clang to avoid replacing the string in further params. Modified: projects/clangbsd/gnu/lib/libstdc++/Makefile Modified: projects/clangbsd/gnu/lib/libstdc++/Makefile ============================================================================== --- projects/clangbsd/gnu/lib/libstdc++/Makefile Fri Oct 23 12:19:26 2009 (r198387) +++ projects/clangbsd/gnu/lib/libstdc++/Makefile Fri Oct 23 12:29:45 2009 (r198388) @@ -21,7 +21,7 @@ CFLAGS+= -I${GCCLIB}/include -I${SRCDIR} CFLAGS+= -frandom-seed=RepeatabilityConsideredGood CXXFLAGS+= -fno-implicit-templates -ffunction-sections -fdata-sections \ -Wno-deprecated -CC:=${CC:C/cc|clang/gcc/} +CC:=${CC:C/^cc|^clang/gcc/} CXX:=${CXX:C/^c\+\+|^clang/g++/} DPADD= ${LIBM} From owner-svn-src-projects@FreeBSD.ORG Fri Oct 23 13:32:26 2009 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 638061065676; Fri, 23 Oct 2009 13:32:26 +0000 (UTC) (envelope-from rdivacky@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 52CDF8FC0A; Fri, 23 Oct 2009 13:32:26 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n9NDWQ5F061869; Fri, 23 Oct 2009 13:32:26 GMT (envelope-from rdivacky@svn.freebsd.org) Received: (from rdivacky@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n9NDWQWS061867; Fri, 23 Oct 2009 13:32:26 GMT (envelope-from rdivacky@svn.freebsd.org) Message-Id: <200910231332.n9NDWQWS061867@svn.freebsd.org> From: Roman Divacky Date: Fri, 23 Oct 2009 13:32:26 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r198392 - projects/clangbsd/contrib/bzip2 X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 23 Oct 2009 13:32:26 -0000 Author: rdivacky Date: Fri Oct 23 13:32:26 2009 New Revision: 198392 URL: http://svn.freebsd.org/changeset/base/198392 Log: Revert the previous commit. This Makefile is not used at all. Modified: projects/clangbsd/contrib/bzip2/Makefile Modified: projects/clangbsd/contrib/bzip2/Makefile ============================================================================== --- projects/clangbsd/contrib/bzip2/Makefile Fri Oct 23 13:28:33 2009 (r198391) +++ projects/clangbsd/contrib/bzip2/Makefile Fri Oct 23 13:32:26 2009 (r198392) @@ -15,6 +15,7 @@ SHELL=/bin/sh # To assist in cross-compiling +CC=gcc AR=ar RANLIB=ranlib LDFLAGS= From owner-svn-src-projects@FreeBSD.ORG Fri Oct 23 14:06:27 2009 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 30D79106566B; Fri, 23 Oct 2009 14:06:27 +0000 (UTC) (envelope-from rdivacky@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 1B6B28FC08; Fri, 23 Oct 2009 14:06:27 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n9NE6QFs062702; Fri, 23 Oct 2009 14:06:26 GMT (envelope-from rdivacky@svn.freebsd.org) Received: (from rdivacky@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n9NE6QYu062657; Fri, 23 Oct 2009 14:06:26 GMT (envelope-from rdivacky@svn.freebsd.org) Message-Id: <200910231406.n9NE6QYu062657@svn.freebsd.org> From: Roman Divacky Date: Fri, 23 Oct 2009 14:06:26 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r198395 - in projects/clangbsd: . bin/cat bin/csh bin/sh bin/uuidgen cddl/contrib/opensolaris contrib/gcc/config/i386 contrib/llvm contrib/llvm/tools/clang contrib/tcsh etc etc/defaults... X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 23 Oct 2009 14:06:27 -0000 Author: rdivacky Date: Fri Oct 23 14:06:25 2009 New Revision: 198395 URL: http://svn.freebsd.org/changeset/base/198395 Log: Update FreeBSD sources to r198394. Added: projects/clangbsd/share/man/man9/BUS_DESCRIBE_INTR.9 - copied unchanged from r198394, head/share/man/man9/BUS_DESCRIBE_INTR.9 projects/clangbsd/sys/cam/ata/ata_pmp.c - copied unchanged from r198394, head/sys/cam/ata/ata_pmp.c projects/clangbsd/sys/contrib/dev/acpica/common/dmextern.c - copied unchanged from r198394, head/sys/contrib/dev/acpica/common/dmextern.c projects/clangbsd/sys/dev/usb/controller/ehcireg.h - copied unchanged from r198394, head/sys/dev/usb/controller/ehcireg.h projects/clangbsd/sys/dev/usb/controller/ohcireg.h - copied unchanged from r198394, head/sys/dev/usb/controller/ohcireg.h projects/clangbsd/sys/dev/usb/controller/uhcireg.h - copied unchanged from r198394, head/sys/dev/usb/controller/uhcireg.h Deleted: projects/clangbsd/sys/compat/x86bios/x86bios_alloc.c projects/clangbsd/sys/contrib/x86emu/x86emu_util.c projects/clangbsd/sys/dev/usb/serial/uch341.c projects/clangbsd/sys/modules/usb/uch341/ Modified: projects/clangbsd/ (props changed) projects/clangbsd/Makefile.inc1 projects/clangbsd/bin/cat/Makefile projects/clangbsd/bin/csh/iconv_stub.c projects/clangbsd/bin/sh/parser.c projects/clangbsd/bin/uuidgen/Makefile projects/clangbsd/cddl/contrib/opensolaris/ (props changed) projects/clangbsd/contrib/gcc/config/i386/i386.c projects/clangbsd/contrib/llvm/ (props changed) projects/clangbsd/contrib/llvm/tools/clang/ (props changed) projects/clangbsd/contrib/tcsh/ (props changed) projects/clangbsd/etc/defaults/rc.conf projects/clangbsd/etc/gettytab projects/clangbsd/etc/rc.d/faith projects/clangbsd/etc/rc.d/netoptions projects/clangbsd/etc/rc.d/stf projects/clangbsd/etc/rc.subr projects/clangbsd/lib/libfetch/common.c projects/clangbsd/lib/libusb/libusb20_ugen20.c projects/clangbsd/release/doc/README projects/clangbsd/release/doc/en_US.ISO8859-1/errata/article.sgml projects/clangbsd/release/doc/share/mk/doc.relnotes.mk projects/clangbsd/release/doc/share/sgml/release.dsl projects/clangbsd/release/doc/share/sgml/release.ent projects/clangbsd/release/scripts/package-split.py projects/clangbsd/sbin/Makefile.inc projects/clangbsd/sbin/adjkerntz/Makefile projects/clangbsd/sbin/atacontrol/Makefile projects/clangbsd/sbin/atm/atmconfig/Makefile projects/clangbsd/sbin/badsect/Makefile projects/clangbsd/sbin/bsdlabel/Makefile projects/clangbsd/sbin/camcontrol/Makefile projects/clangbsd/sbin/ccdconfig/Makefile projects/clangbsd/sbin/clri/Makefile projects/clangbsd/sbin/comcontrol/Makefile projects/clangbsd/sbin/conscontrol/Makefile projects/clangbsd/sbin/dhclient/Makefile projects/clangbsd/sbin/dhclient/bpf.c projects/clangbsd/sbin/dhclient/dhcpd.h projects/clangbsd/sbin/dhclient/packet.c projects/clangbsd/sbin/dmesg/Makefile projects/clangbsd/sbin/dump/Makefile projects/clangbsd/sbin/dumpfs/Makefile projects/clangbsd/sbin/dumpfs/dumpfs.c projects/clangbsd/sbin/dumpon/Makefile projects/clangbsd/sbin/geom/Makefile projects/clangbsd/sbin/geom/Makefile.inc projects/clangbsd/sbin/geom/class/part/gpart.8 projects/clangbsd/sbin/ggate/Makefile.inc projects/clangbsd/sbin/growfs/Makefile projects/clangbsd/sbin/gvinum/Makefile projects/clangbsd/sbin/init/Makefile projects/clangbsd/sbin/ipf/Makefile.inc projects/clangbsd/sbin/iscontrol/Makefile projects/clangbsd/sbin/kldunload/Makefile projects/clangbsd/sbin/ldconfig/Makefile projects/clangbsd/sbin/md5/Makefile projects/clangbsd/sbin/mdconfig/Makefile projects/clangbsd/sbin/mdmfs/Makefile projects/clangbsd/sbin/mksnap_ffs/Makefile projects/clangbsd/sbin/mount/Makefile projects/clangbsd/sbin/mount_autofs/Makefile projects/clangbsd/sbin/mount_cd9660/Makefile projects/clangbsd/sbin/mount_ext2fs/Makefile projects/clangbsd/sbin/mount_msdosfs/Makefile projects/clangbsd/sbin/mount_nullfs/Makefile projects/clangbsd/sbin/mount_reiserfs/Makefile projects/clangbsd/sbin/mount_unionfs/Makefile projects/clangbsd/sbin/newfs_msdos/Makefile projects/clangbsd/sbin/nfsiod/Makefile projects/clangbsd/sbin/pfctl/Makefile projects/clangbsd/sbin/rcorder/Makefile projects/clangbsd/sbin/reboot/Makefile projects/clangbsd/sbin/recoverdisk/Makefile projects/clangbsd/sbin/routed/Makefile projects/clangbsd/sbin/savecore/Makefile projects/clangbsd/sbin/sconfig/Makefile projects/clangbsd/sbin/shutdown/Makefile projects/clangbsd/sbin/spppcontrol/Makefile projects/clangbsd/sbin/swapon/Makefile projects/clangbsd/sbin/sysctl/sysctl.c projects/clangbsd/sbin/tunefs/Makefile projects/clangbsd/sbin/tunefs/tunefs.8 projects/clangbsd/share/man/man4/Makefile projects/clangbsd/share/man/man4/atapicam.4 projects/clangbsd/share/man/man4/hifn.4 projects/clangbsd/share/man/man4/ichwd.4 projects/clangbsd/share/man/man4/mac_mls.4 projects/clangbsd/share/man/man4/malo.4 projects/clangbsd/share/man/man4/sbp_targ.4 projects/clangbsd/share/man/man4/targ.4 projects/clangbsd/share/man/man4/umass.4 projects/clangbsd/share/man/man4/urtw.4 projects/clangbsd/share/man/man9/Makefile projects/clangbsd/share/misc/bsd-family-tree projects/clangbsd/share/misc/committers-src.dot projects/clangbsd/share/mk/bsd.sys.mk projects/clangbsd/share/mk/sys.mk projects/clangbsd/share/zoneinfo/ (props changed) projects/clangbsd/share/zoneinfo/Makefile projects/clangbsd/share/zoneinfo/asia projects/clangbsd/share/zoneinfo/australasia projects/clangbsd/sys/amd64/amd64/intr_machdep.c projects/clangbsd/sys/amd64/amd64/nexus.c projects/clangbsd/sys/amd64/amd64/pmap.c projects/clangbsd/sys/amd64/include/intr_machdep.h projects/clangbsd/sys/arm/arm/pmap.c projects/clangbsd/sys/cam/ata/ata_da.c projects/clangbsd/sys/cam/ata/ata_xpt.c projects/clangbsd/sys/cam/cam.h projects/clangbsd/sys/cam/cam_periph.c projects/clangbsd/sys/cam/cam_queue.c projects/clangbsd/sys/cam/cam_xpt.c projects/clangbsd/sys/cam/cam_xpt_internal.h projects/clangbsd/sys/cam/scsi/scsi_all.c projects/clangbsd/sys/cam/scsi/scsi_cd.c projects/clangbsd/sys/cam/scsi/scsi_ch.c projects/clangbsd/sys/cam/scsi/scsi_da.c projects/clangbsd/sys/cam/scsi/scsi_low.c projects/clangbsd/sys/cam/scsi/scsi_pt.c projects/clangbsd/sys/cam/scsi/scsi_sa.c projects/clangbsd/sys/cam/scsi/scsi_targ_bh.c projects/clangbsd/sys/cam/scsi/scsi_target.c projects/clangbsd/sys/cam/scsi/scsi_xpt.c projects/clangbsd/sys/cddl/contrib/opensolaris/ (props changed) projects/clangbsd/sys/compat/x86bios/x86bios.c projects/clangbsd/sys/compat/x86bios/x86bios.h projects/clangbsd/sys/conf/NOTES projects/clangbsd/sys/conf/files projects/clangbsd/sys/conf/files.amd64 projects/clangbsd/sys/conf/files.i386 projects/clangbsd/sys/conf/options projects/clangbsd/sys/contrib/dev/acpica/ (props changed) projects/clangbsd/sys/contrib/dev/acpica/changes.txt projects/clangbsd/sys/contrib/dev/acpica/common/adfile.c projects/clangbsd/sys/contrib/dev/acpica/common/adisasm.c projects/clangbsd/sys/contrib/dev/acpica/common/adwalk.c projects/clangbsd/sys/contrib/dev/acpica/common/dmtable.c projects/clangbsd/sys/contrib/dev/acpica/common/getopt.c projects/clangbsd/sys/contrib/dev/acpica/compiler/aslload.c projects/clangbsd/sys/contrib/dev/acpica/debugger/dbcmds.c projects/clangbsd/sys/contrib/dev/acpica/debugger/dbinput.c projects/clangbsd/sys/contrib/dev/acpica/disassembler/dmutils.c projects/clangbsd/sys/contrib/dev/acpica/disassembler/dmwalk.c projects/clangbsd/sys/contrib/dev/acpica/dispatcher/dswload.c projects/clangbsd/sys/contrib/dev/acpica/events/evregion.c projects/clangbsd/sys/contrib/dev/acpica/include/acapps.h projects/clangbsd/sys/contrib/dev/acpica/include/acdebug.h projects/clangbsd/sys/contrib/dev/acpica/include/acdisasm.h projects/clangbsd/sys/contrib/dev/acpica/include/acglobal.h projects/clangbsd/sys/contrib/dev/acpica/include/aclocal.h projects/clangbsd/sys/contrib/dev/acpica/include/acpixf.h projects/clangbsd/sys/contrib/dev/acpica/namespace/nsrepair.c projects/clangbsd/sys/contrib/dev/acpica/utilities/utglobal.c projects/clangbsd/sys/dev/ahci/ahci.c projects/clangbsd/sys/dev/ahci/ahci.h projects/clangbsd/sys/dev/aic7xxx/aicasm/aicasm.c projects/clangbsd/sys/dev/atkbdc/atkbd.c projects/clangbsd/sys/dev/bce/if_bce.c projects/clangbsd/sys/dev/bce/if_bcereg.h projects/clangbsd/sys/dev/bge/if_bge.c projects/clangbsd/sys/dev/dpms/dpms.c projects/clangbsd/sys/dev/drm/mach64_state.c projects/clangbsd/sys/dev/fb/vesa.c projects/clangbsd/sys/dev/gem/if_gem_pci.c projects/clangbsd/sys/dev/hwpmc/hwpmc_mod.c projects/clangbsd/sys/dev/ips/ips_disk.c projects/clangbsd/sys/dev/mpt/mpt.c projects/clangbsd/sys/dev/mpt/mpt.h projects/clangbsd/sys/dev/mpt/mpt_cam.c projects/clangbsd/sys/dev/mpt/mpt_raid.c projects/clangbsd/sys/dev/mwl/if_mwl_pci.c projects/clangbsd/sys/dev/mxge/if_mxge.c projects/clangbsd/sys/dev/mxge/if_mxge_var.h projects/clangbsd/sys/dev/pci/pci.c projects/clangbsd/sys/dev/pci/vga_pci.c projects/clangbsd/sys/dev/ppbus/lpt.c projects/clangbsd/sys/dev/ppbus/pcfclock.c projects/clangbsd/sys/dev/siis/siis.c projects/clangbsd/sys/dev/usb/controller/ehci.c projects/clangbsd/sys/dev/usb/controller/ehci.h projects/clangbsd/sys/dev/usb/controller/ehci_ixp4xx.c projects/clangbsd/sys/dev/usb/controller/ehci_mbus.c projects/clangbsd/sys/dev/usb/controller/ehci_pci.c projects/clangbsd/sys/dev/usb/controller/ohci.c projects/clangbsd/sys/dev/usb/controller/ohci.h projects/clangbsd/sys/dev/usb/controller/ohci_atmelarm.c projects/clangbsd/sys/dev/usb/controller/ohci_pci.c projects/clangbsd/sys/dev/usb/controller/uhci.c projects/clangbsd/sys/dev/usb/controller/uhci.h projects/clangbsd/sys/dev/usb/controller/uhci_pci.c projects/clangbsd/sys/dev/usb/input/ukbd.c projects/clangbsd/sys/dev/usb/input/ums.c projects/clangbsd/sys/dev/usb/net/if_cdce.c projects/clangbsd/sys/dev/usb/serial/uchcom.c projects/clangbsd/sys/dev/usb/storage/umass.c projects/clangbsd/sys/dev/usb/usbdevs projects/clangbsd/sys/dev/usb/wlan/if_rum.c projects/clangbsd/sys/dev/usb/wlan/if_uath.c projects/clangbsd/sys/dev/usb/wlan/if_upgt.c projects/clangbsd/sys/dev/usb/wlan/if_ural.c projects/clangbsd/sys/dev/usb/wlan/if_urtw.c projects/clangbsd/sys/dev/usb/wlan/if_urtwreg.h projects/clangbsd/sys/dev/usb/wlan/if_urtwvar.h projects/clangbsd/sys/dev/usb/wlan/if_zyd.c projects/clangbsd/sys/dev/xen/xenpci/ (props changed) projects/clangbsd/sys/fs/nfsclient/nfs_clport.c projects/clangbsd/sys/fs/nfsclient/nfs_clstate.c projects/clangbsd/sys/fs/nfsclient/nfs_clsubs.c projects/clangbsd/sys/geom/part/g_part_gpt.c projects/clangbsd/sys/i386/conf/NOTES projects/clangbsd/sys/i386/i386/intr_machdep.c projects/clangbsd/sys/i386/i386/nexus.c projects/clangbsd/sys/i386/i386/pmap.c projects/clangbsd/sys/i386/include/intr_machdep.h projects/clangbsd/sys/i386/xen/pmap.c projects/clangbsd/sys/ia64/ia64/pmap.c projects/clangbsd/sys/ia64/include/asm.h projects/clangbsd/sys/kern/bus_if.m projects/clangbsd/sys/kern/imgact_elf.c projects/clangbsd/sys/kern/init_main.c projects/clangbsd/sys/kern/kern_intr.c projects/clangbsd/sys/kern/sched_ule.c projects/clangbsd/sys/kern/stack_protector.c projects/clangbsd/sys/kern/subr_bus.c projects/clangbsd/sys/kern/sys_process.c projects/clangbsd/sys/kern/tty.c projects/clangbsd/sys/kern/tty_ttydisc.c projects/clangbsd/sys/mips/mips/pmap.c projects/clangbsd/sys/modules/Makefile projects/clangbsd/sys/modules/cam/Makefile projects/clangbsd/sys/modules/dpms/Makefile projects/clangbsd/sys/modules/usb/Makefile projects/clangbsd/sys/modules/usb/ucom/Makefile projects/clangbsd/sys/modules/vesa/Makefile projects/clangbsd/sys/modules/x86bios/Makefile projects/clangbsd/sys/net/flowtable.c projects/clangbsd/sys/net/if_gif.c projects/clangbsd/sys/net/pfil.c projects/clangbsd/sys/net/pfil.h projects/clangbsd/sys/net80211/ieee80211_hwmp.c projects/clangbsd/sys/net80211/ieee80211_mesh.c projects/clangbsd/sys/net80211/ieee80211_mesh.h projects/clangbsd/sys/net80211/ieee80211_output.c projects/clangbsd/sys/net80211/ieee80211_proto.h projects/clangbsd/sys/netinet/if_ether.c projects/clangbsd/sys/netinet/in.c projects/clangbsd/sys/netinet/ip_input.c projects/clangbsd/sys/nfsclient/nfs_vnops.c projects/clangbsd/sys/powerpc/aim/mmu_oea.c projects/clangbsd/sys/powerpc/aim/mmu_oea64.c projects/clangbsd/sys/powerpc/aim/mp_cpudep.c projects/clangbsd/sys/powerpc/aim/platform_chrp.c projects/clangbsd/sys/powerpc/booke/mp_cpudep.c projects/clangbsd/sys/powerpc/booke/pmap.c projects/clangbsd/sys/powerpc/include/pcpu.h projects/clangbsd/sys/powerpc/include/pmap.h projects/clangbsd/sys/powerpc/include/smp.h projects/clangbsd/sys/powerpc/include/spr.h projects/clangbsd/sys/powerpc/powerpc/cpu.c projects/clangbsd/sys/powerpc/powerpc/mmu_if.m projects/clangbsd/sys/powerpc/powerpc/mp_machdep.c projects/clangbsd/sys/powerpc/powerpc/pmap_dispatch.c projects/clangbsd/sys/powerpc/powerpc/uio_machdep.c projects/clangbsd/sys/sparc64/include/elf.h projects/clangbsd/sys/sparc64/sparc64/pmap.c projects/clangbsd/sys/sun4v/include/elf.h projects/clangbsd/sys/sun4v/sun4v/pmap.c projects/clangbsd/sys/sys/bus.h projects/clangbsd/sys/sys/interrupt.h projects/clangbsd/sys/sys/kernel.h projects/clangbsd/sys/sys/ttyqueue.h projects/clangbsd/sys/tools/fw_stub.awk projects/clangbsd/sys/tools/makeobjops.awk projects/clangbsd/sys/vm/pmap.h projects/clangbsd/sys/vm/swap_pager.c projects/clangbsd/sys/vm/vm_extern.h projects/clangbsd/sys/vm/vm_glue.c projects/clangbsd/tools/regression/fstest/tests/rename/21.t projects/clangbsd/tools/regression/lib/libutil/test-flopen.c projects/clangbsd/tools/tools/netrate/netsend/netsend.c projects/clangbsd/usr.bin/make/job.c projects/clangbsd/usr.bin/make/main.c projects/clangbsd/usr.bin/netstat/route.c projects/clangbsd/usr.bin/touch/touch.c projects/clangbsd/usr.sbin/acpi/iasl/Makefile projects/clangbsd/usr.sbin/jail/jail.8 projects/clangbsd/usr.sbin/mfiutil/mfiutil.8 (props changed) projects/clangbsd/usr.sbin/sysinstall/tcpip.c projects/clangbsd/usr.sbin/tzsetup/tzsetup.8 projects/clangbsd/usr.sbin/tzsetup/tzsetup.c Modified: projects/clangbsd/Makefile.inc1 ============================================================================== --- projects/clangbsd/Makefile.inc1 Fri Oct 23 13:39:30 2009 (r198394) +++ projects/clangbsd/Makefile.inc1 Fri Oct 23 14:06:25 2009 (r198395) @@ -931,6 +931,10 @@ _ar= usr.bin/ar _mklocale= usr.bin/mklocale .endif +.if ${BOOTSTRAPPING} < 900002 +_sed= usr.bin/sed +.endif + .if ${BOOTSTRAPPING} < 700018 _gensnmptree= usr.sbin/bsnmpd/gensnmptree .endif @@ -964,6 +968,7 @@ bootstrap-tools: usr.bin/makewhatis \ ${_mklocale} \ usr.bin/rpcgen \ + ${_sed} \ usr.bin/xinstall \ ${_gensnmptree} \ usr.sbin/config \ @@ -1048,7 +1053,6 @@ cross-tools: ${_clang} \ gnu/usr.bin/binutils \ gnu/usr.bin/cc \ - usr.bin/sed \ usr.bin/xlint/lint1 usr.bin/xlint/lint2 usr.bin/xlint/xlint \ ${_btxld} \ ${_crunchide} \ Modified: projects/clangbsd/bin/cat/Makefile ============================================================================== --- projects/clangbsd/bin/cat/Makefile Fri Oct 23 13:39:30 2009 (r198394) +++ projects/clangbsd/bin/cat/Makefile Fri Oct 23 14:06:25 2009 (r198395) @@ -2,6 +2,5 @@ # $FreeBSD$ PROG= cat -WARNS?= 6 .include Modified: projects/clangbsd/bin/csh/iconv_stub.c ============================================================================== --- projects/clangbsd/bin/csh/iconv_stub.c Fri Oct 23 13:39:30 2009 (r198394) +++ projects/clangbsd/bin/csh/iconv_stub.c Fri Oct 23 14:06:25 2009 (r198395) @@ -61,9 +61,20 @@ dl_iconv_open(const char *tocode, const if (iconvlib == NULL) return (iconv_t)-1; iconv_open = (iconv_open_t *)dlfunc(iconvlib, ICONV_OPEN); + if (iconv_open == NULL) + goto dlfunc_err; dl_iconv = (dl_iconv_t *)dlfunc(iconvlib, ICONV_ENGINE); + if (dl_iconv == NULL) + goto dlfunc_err; dl_iconv_close = (dl_iconv_close_t *)dlfunc(iconvlib, ICONV_CLOSE); + if (dl_iconv_close == NULL) + goto dlfunc_err; } return iconv_open(tocode, fromcode); + +dlfunc_err: + dlclose(iconvlib); + iconvlib = NULL; + return (iconv_t)-1; } Modified: projects/clangbsd/bin/sh/parser.c ============================================================================== --- projects/clangbsd/bin/sh/parser.c Fri Oct 23 13:39:30 2009 (r198394) +++ projects/clangbsd/bin/sh/parser.c Fri Oct 23 14:06:25 2009 (r198395) @@ -1308,11 +1308,16 @@ parsebackq: { struct jmploc *const savehandler = handler; int savelen; int saveprompt; + const int bq_startlinno = plinno; if (setjmp(jmploc.loc)) { if (str) ckfree(str); handler = savehandler; + if (exception == EXERROR) { + startlinno = bq_startlinno; + synerror("Error in command substitution"); + } longjmp(handler->loc, 1); } INTOFF; Modified: projects/clangbsd/bin/uuidgen/Makefile ============================================================================== --- projects/clangbsd/bin/uuidgen/Makefile Fri Oct 23 13:39:30 2009 (r198394) +++ projects/clangbsd/bin/uuidgen/Makefile Fri Oct 23 14:06:25 2009 (r198395) @@ -1,6 +1,5 @@ # $FreeBSD$ PROG= uuidgen -WARNS?= 6 .include Modified: projects/clangbsd/contrib/gcc/config/i386/i386.c ============================================================================== --- projects/clangbsd/contrib/gcc/config/i386/i386.c Fri Oct 23 13:39:30 2009 (r198394) +++ projects/clangbsd/contrib/gcc/config/i386/i386.c Fri Oct 23 14:06:25 2009 (r198395) @@ -1614,7 +1614,7 @@ override_options (void) "-mtune=generic instead as appropriate."); if (!ix86_arch_string) - ix86_arch_string = TARGET_64BIT ? "x86-64" : "i386"; + ix86_arch_string = TARGET_64BIT ? "x86-64" : "i486"; if (!strcmp (ix86_arch_string, "generic")) error ("generic CPU can be used only for -mtune= switch"); if (!strncmp (ix86_arch_string, "generic", 7)) Modified: projects/clangbsd/etc/defaults/rc.conf ============================================================================== --- projects/clangbsd/etc/defaults/rc.conf Fri Oct 23 13:39:30 2009 (r198394) +++ projects/clangbsd/etc/defaults/rc.conf Fri Oct 23 14:06:25 2009 (r198395) @@ -600,6 +600,7 @@ harvest_ethernet="YES" # Entropy device harvest_p_to_p="YES" # Entropy device harvests point-to-point randomness dmesg_enable="YES" # Save dmesg(8) to /var/run/dmesg.boot watchdogd_enable="NO" # Start the software watchdog daemon +watchdogd_flags="" # Flags to watchdogd (if enabled) devfs_rulesets="/etc/defaults/devfs.rules /etc/devfs.rules" # Files containing # devfs(8) rules. devfs_system_ruleset="" # The name (NOT number) of a ruleset to apply to /dev Modified: projects/clangbsd/etc/gettytab ============================================================================== --- projects/clangbsd/etc/gettytab Fri Oct 23 13:39:30 2009 (r198394) +++ projects/clangbsd/etc/gettytab Fri Oct 23 14:06:25 2009 (r198395) @@ -162,7 +162,7 @@ X|Xwindow|X window system:\ :fd@:nd@:cd@:rw:sp#9600: P|Pc|Pc console:\ - :ht:np:sp#115200: + :ht:np:sp#9600: # # Wierdo special case for fast crt's with hardcopy devices Modified: projects/clangbsd/etc/rc.d/faith ============================================================================== --- projects/clangbsd/etc/rc.d/faith Fri Oct 23 13:39:30 2009 (r198394) +++ projects/clangbsd/etc/rc.d/faith Fri Oct 23 14:06:25 2009 (r198395) @@ -3,7 +3,7 @@ # # PROVIDE: faith -# REQUIRE: netif routing +# REQUIRE: netif # KEYWORD: nojail . /etc/rc.subr Modified: projects/clangbsd/etc/rc.d/netoptions ============================================================================== --- projects/clangbsd/etc/rc.d/netoptions Fri Oct 23 13:39:30 2009 (r198394) +++ projects/clangbsd/etc/rc.d/netoptions Fri Oct 23 14:06:25 2009 (r198395) @@ -53,7 +53,7 @@ netoptions_inet() ${SYSCTL_W} net.inet.tcp.rfc1323=1 >/dev/null else netoptions_init - echo -n ' rfc1323 extensions=${tcp_extensions}' + echo -n " rfc1323 extensions=${tcp_extensions}" ${SYSCTL_W} net.inet.tcp.rfc1323=0 >/dev/null fi @@ -61,13 +61,13 @@ netoptions_inet() ${SYSCTL_W} net.inet.tcp.always_keepalive=1 >/dev/null else netoptions_init - echo -n ' TCP keepalive=${tcp_keepalive}' + echo -n " TCP keepalive=${tcp_keepalive}" ${SYSCTL_W} net.inet.tcp.always_keepalive=0 >/dev/null fi if checkyesno tcp_drop_synfin; then netoptions_init - echo -n ' drop SYN+FIN packets=${tcp_drop_synfin}' + echo -n " drop SYN+FIN packets=${tcp_drop_synfin}" ${SYSCTL_W} net.inet.tcp.drop_synfin=1 >/dev/null else ${SYSCTL_W} net.inet.tcp.drop_synfin=0 >/dev/null Modified: projects/clangbsd/etc/rc.d/stf ============================================================================== --- projects/clangbsd/etc/rc.d/stf Fri Oct 23 13:39:30 2009 (r198394) +++ projects/clangbsd/etc/rc.d/stf Fri Oct 23 14:06:25 2009 (r198395) @@ -3,7 +3,7 @@ # # PROVIDE: stf -# REQUIRE: netif routing +# REQUIRE: netif # KEYWORD: nojail . /etc/rc.subr Modified: projects/clangbsd/etc/rc.subr ============================================================================== --- projects/clangbsd/etc/rc.subr Fri Oct 23 13:39:30 2009 (r198394) +++ projects/clangbsd/etc/rc.subr Fri Oct 23 14:06:25 2009 (r198395) @@ -593,7 +593,7 @@ run_rc_command() rc_fast=yes rc_quiet=yes ;; - force*) # "force prefix; always run + force*) # "force" prefix; always run rc_force=yes _rc_prefix=force rc_arg=${rc_arg#${_rc_prefix}} @@ -616,7 +616,7 @@ run_rc_command() esac eval _override_command=\$${name}_program - command=${command:+${_override_command:-$command}} + command=${_override_command:-$command} _keywords="start stop restart rcvar $extra_commands" rc_pid= Modified: projects/clangbsd/lib/libfetch/common.c ============================================================================== --- projects/clangbsd/lib/libfetch/common.c Fri Oct 23 13:39:30 2009 (r198394) +++ projects/clangbsd/lib/libfetch/common.c Fri Oct 23 14:06:25 2009 (r198395) @@ -772,7 +772,7 @@ fetch_no_proxy_match(const char *host) break; d_len = q - p; - if (d_len > 0 && h_len > d_len && + if (d_len > 0 && h_len >= d_len && strncasecmp(host + h_len - d_len, p, d_len) == 0) { /* domain name matches */ Modified: projects/clangbsd/lib/libusb/libusb20_ugen20.c ============================================================================== --- projects/clangbsd/lib/libusb/libusb20_ugen20.c Fri Oct 23 13:39:30 2009 (r198394) +++ projects/clangbsd/lib/libusb/libusb20_ugen20.c Fri Oct 23 14:06:25 2009 (r198395) @@ -800,7 +800,11 @@ ugen20_tr_submit(struct libusb20_transfe if (xfer->flags & LIBUSB20_TRANSFER_DO_CLEAR_STALL) { fsep->flags |= USB_FS_FLAG_CLEAR_STALL; } - fsep->timeout = xfer->timeout; + /* NOTE: The "fsep->timeout" variable is 16-bit. */ + if (xfer->timeout > 65535) + fsep->timeout = 65535; + else + fsep->timeout = xfer->timeout; temp.ep_index = xfer->trIndex; Modified: projects/clangbsd/release/doc/README ============================================================================== --- projects/clangbsd/release/doc/README Fri Oct 23 13:39:30 2009 (r198394) +++ projects/clangbsd/release/doc/README Fri Oct 23 14:06:25 2009 (r198395) @@ -99,9 +99,10 @@ element will be included. For example: SPARC64-specific text -The currently-supported architectures are i386, sparc64, and -ia64. An element may appear for multiple architectures by specifying -a comma-separated list of architectures (i.e. arch="sparc64,ia64"). +The currently-supported architectures are amd64, arm, i386, ia64, +pc98, powerpc, and sparc64. An element may appear for multiple +architectures by specifying a comma-separated list of architectures +(i.e. arch="sparc64,ia64"). When creating a translation, make a new directory under this directory with a language code (paralleling the DocProj directory Modified: projects/clangbsd/release/doc/en_US.ISO8859-1/errata/article.sgml ============================================================================== --- projects/clangbsd/release/doc/en_US.ISO8859-1/errata/article.sgml Fri Oct 23 13:39:30 2009 (r198394) +++ projects/clangbsd/release/doc/en_US.ISO8859-1/errata/article.sgml Fri Oct 23 14:06:25 2009 (r198395) @@ -16,7 +16,6 @@ %release; - ]>
Modified: projects/clangbsd/release/doc/share/mk/doc.relnotes.mk ============================================================================== --- projects/clangbsd/release/doc/share/mk/doc.relnotes.mk Fri Oct 23 13:39:30 2009 (r198394) +++ projects/clangbsd/release/doc/share/mk/doc.relnotes.mk Fri Oct 23 14:06:25 2009 (r198395) @@ -11,23 +11,6 @@ DSLHTML?= ${RELN_ROOT}/share/sgml/defaul DSLPRINT?= ${RELN_ROOT}/share/sgml/default.dsl # -# Tweakable Makefile variables -# -# INCLUDE_HISTORIC Used by relnotes document only. When set, -# causes all release notes entries to be printed, -# even those marked as "historic". If not set -# (the default), only print "non-historic" -# release note entries. To designate a release -# note entry as "historic", add a role="historic" -# attribute to the applicable element(s). -# -.if defined(INCLUDE_HISTORIC) -JADEFLAGS+= -iinclude.historic -.else -JADEFLAGS+= -ino.include.historic -.endif - -# # Automatic device list generation: # .if exists(${RELN_ROOT}/../man4) Modified: projects/clangbsd/release/doc/share/sgml/release.dsl ============================================================================== --- projects/clangbsd/release/doc/share/sgml/release.dsl Fri Oct 23 13:39:30 2009 (r198394) +++ projects/clangbsd/release/doc/share/sgml/release.dsl Fri Oct 23 14:06:25 2009 (r198395) @@ -3,8 +3,6 @@ - - %release.ent; @@ -14,14 +12,6 @@ -; Configure behavior of this stylesheet - - - ; String manipulation functions (define (split-string-to-list STR) ;; return list of STR separated with char #\ or #\, @@ -54,36 +44,6 @@ ((equal? STR (car s)) #t) (else (loop (cdr s)))))) -; Deal with conditional inclusion of text via entities. -(default - (let* ((role (attribute-string (normalize "role"))) - (for-arch (entity-text "arch"))) - (cond - - ;; If role=historic, and we're not printing historic things, then - ;; don't output this element. - ((and (equal? role "historic") - (not %include-historic%)) - (empty-sosofo)) - - ;; None of the above - (else (next-match))))) - -(mode qandatoc - (default - (let* ((role (attribute-string (normalize "role"))) - (for-arch (entity-text "arch"))) - (cond - - ;; If role=historic, and we're not printing historic things, then - ;; don't output this element. - ((and (equal? role "historic") - (not %include-historic%)) - (empty-sosofo)) - - ;; None of the above - (else (next-match)))))) - ; We might have some sect1 level elements where the modification times ; are significant. An example of this is the "What's New" section in ; the release notes. We enable the printing of pubdate entry in @@ -198,7 +158,6 @@ (u (string-append "&release.man.url;?query=" (data r) "&" "sektion=" (data m)))) (case v - (("xfree86") (string-append u "&" "manpath=XFree86+&release.manpath.xfree86;" )) (("xorg") (string-append u "&" "manpath=Xorg+&release.manpath.xorg;" )) (("netbsd") (string-append u "&" "manpath=NetBSD+&release.manpath.netbsd;")) (("ports") (string-append u "&" "manpath=FreeBSD+&release.manpath.freebsd-ports;")) Modified: projects/clangbsd/release/doc/share/sgml/release.ent ============================================================================== --- projects/clangbsd/release/doc/share/sgml/release.ent Fri Oct 23 13:39:30 2009 (r198394) +++ projects/clangbsd/release/doc/share/sgml/release.ent Fri Oct 23 14:06:25 2009 (r198395) @@ -6,23 +6,23 @@ - + - + - + - + - + @@ -36,11 +36,10 @@ - - - + + - + Modified: projects/clangbsd/release/scripts/package-split.py ============================================================================== --- projects/clangbsd/release/scripts/package-split.py Fri Oct 23 13:39:30 2009 (r198394) +++ projects/clangbsd/release/scripts/package-split.py Fri Oct 23 14:06:25 2009 (r198395) @@ -51,50 +51,53 @@ def disc1_packages(): 'misc/freebsd-doc-zh_tw'] if doing_dvd: - pkgs.extend(['lang/perl5.8', - 'x11/xorg', - 'devel/imake', - 'emulators/linux_base-fc4', - 'x11/gnome2', - 'x11/kde4', - 'x11-wm/afterstep', - 'x11-wm/windowmaker', - 'x11-wm/fvwm2', - 'archivers/unzip', + pkgs.extend(['archivers/unzip', 'astro/xearth', 'devel/gmake', + 'devel/imake', 'editors/emacs', 'editors/vim-lite', + 'emulators/linux_base-f10', 'emulators/mtools', 'graphics/png', 'graphics/xv', 'irc/xchat', + 'lang/perl5.8', + 'mail/alpine', 'mail/exim', 'mail/fetchmail', 'mail/mutt', - 'mail/alpine', 'mail/popd', - 'mail/xfmail', 'mail/postfix', + 'mail/xfmail', 'net/cvsup-without-gui', 'net/rsync', 'net/samba3', 'news/slrn', 'news/tin', + 'ports-mgmt/p5-FreeBSD-Portindex', + 'ports-mgmt/portaudit', + 'ports-mgmt/portmaster', 'ports-mgmt/portupgrade', 'print/a2ps-letter', 'print/apsfilter', 'print/ghostscript7-nox11', - 'print/gv', 'print/psutils-letter', + 'print/gv', 'shells/bash', 'shells/pdksh', 'shells/zsh', 'security/sudo', + 'sysutils/screen', 'www/links', 'www/lynx', + 'x11/gnome2', + 'x11/kde4', 'x11/rxvt', - 'ports-mgmt/portaudit']) + 'x11/xorg', + 'x11-wm/afterstep', + 'x11-wm/fvwm2', + 'x11-wm/windowmaker']) return pkgs # The list of desired packages Modified: projects/clangbsd/sbin/Makefile.inc ============================================================================== --- projects/clangbsd/sbin/Makefile.inc Fri Oct 23 13:39:30 2009 (r198394) +++ projects/clangbsd/sbin/Makefile.inc Fri Oct 23 14:06:25 2009 (r198395) @@ -4,7 +4,7 @@ .include BINDIR?= /sbin -WARNS?= 2 +WARNS?= 6 .if ${MK_DYNAMICROOT} == "no" NO_SHARED?= YES Modified: projects/clangbsd/sbin/adjkerntz/Makefile ============================================================================== --- projects/clangbsd/sbin/adjkerntz/Makefile Fri Oct 23 13:39:30 2009 (r198394) +++ projects/clangbsd/sbin/adjkerntz/Makefile Fri Oct 23 14:06:25 2009 (r198395) @@ -2,5 +2,6 @@ PROG= adjkerntz MAN= adjkerntz.8 +WARNS?= 2 .include Modified: projects/clangbsd/sbin/atacontrol/Makefile ============================================================================== --- projects/clangbsd/sbin/atacontrol/Makefile Fri Oct 23 13:39:30 2009 (r198394) +++ projects/clangbsd/sbin/atacontrol/Makefile Fri Oct 23 14:06:25 2009 (r198395) @@ -2,6 +2,5 @@ PROG= atacontrol MAN= atacontrol.8 -WARNS?= 6 .include Modified: projects/clangbsd/sbin/atm/atmconfig/Makefile ============================================================================== --- projects/clangbsd/sbin/atm/atmconfig/Makefile Fri Oct 23 13:39:30 2009 (r198394) +++ projects/clangbsd/sbin/atm/atmconfig/Makefile Fri Oct 23 14:06:25 2009 (r198395) @@ -29,8 +29,6 @@ CLEANFILES+= oid.h .if ${MACHINE_ARCH} == "arm" WARNS?= 3 -.else -WARNS?= 6 .endif FILES= atmconfig.help atmconfig_device.help Modified: projects/clangbsd/sbin/badsect/Makefile ============================================================================== --- projects/clangbsd/sbin/badsect/Makefile Fri Oct 23 13:39:30 2009 (r198394) +++ projects/clangbsd/sbin/badsect/Makefile Fri Oct 23 14:06:25 2009 (r198395) @@ -5,5 +5,6 @@ PROG= badsect DPADD= ${LIBUFS} LDADD= -lufs MAN= badsect.8 +WARNS?= 2 .include Modified: projects/clangbsd/sbin/bsdlabel/Makefile ============================================================================== --- projects/clangbsd/sbin/bsdlabel/Makefile Fri Oct 23 13:39:30 2009 (r198394) +++ projects/clangbsd/sbin/bsdlabel/Makefile Fri Oct 23 14:06:25 2009 (r198395) @@ -13,6 +13,7 @@ LINKS= ${BINDIR}/bsdlabel ${BINDIR}/disk MLINKS= bsdlabel.8 disklabel.8 .endif +WARNS?= 2 DPADD= ${LIBGEOM} ${LIBBSDXML} ${LIBSBUF} LDADD= -lgeom -lbsdxml -lsbuf Modified: projects/clangbsd/sbin/camcontrol/Makefile ============================================================================== --- projects/clangbsd/sbin/camcontrol/Makefile Fri Oct 23 13:39:30 2009 (r198394) +++ projects/clangbsd/sbin/camcontrol/Makefile Fri Oct 23 14:06:25 2009 (r198395) @@ -9,8 +9,6 @@ CFLAGS+= -DMINIMALISTIC .endif .if ${MACHINE_ARCH} == "arm" WARNS?= 3 -.else -WARNS?= 6 .endif DPADD= ${LIBCAM} ${LIBSBUF} ${LIBUTIL} LDADD= -lcam -lsbuf -lutil Modified: projects/clangbsd/sbin/ccdconfig/Makefile ============================================================================== --- projects/clangbsd/sbin/ccdconfig/Makefile Fri Oct 23 13:39:30 2009 (r198394) +++ projects/clangbsd/sbin/ccdconfig/Makefile Fri Oct 23 14:06:25 2009 (r198395) @@ -1,7 +1,6 @@ # $FreeBSD$ PROG= ccdconfig -WARNS?= 6 MAN= ccdconfig.8 DPADD= ${LIBGEOM} Modified: projects/clangbsd/sbin/clri/Makefile ============================================================================== --- projects/clangbsd/sbin/clri/Makefile Fri Oct 23 13:39:30 2009 (r198394) +++ projects/clangbsd/sbin/clri/Makefile Fri Oct 23 14:06:25 2009 (r198395) @@ -3,5 +3,6 @@ PROG= clri MAN= clri.8 +WARNS?= 2 .include Modified: projects/clangbsd/sbin/comcontrol/Makefile ============================================================================== --- projects/clangbsd/sbin/comcontrol/Makefile Fri Oct 23 13:39:30 2009 (r198394) +++ projects/clangbsd/sbin/comcontrol/Makefile Fri Oct 23 14:06:25 2009 (r198395) @@ -3,6 +3,5 @@ PROG= comcontrol MAN= comcontrol.8 -WARNS?= 6 .include Modified: projects/clangbsd/sbin/conscontrol/Makefile ============================================================================== --- projects/clangbsd/sbin/conscontrol/Makefile Fri Oct 23 13:39:30 2009 (r198394) +++ projects/clangbsd/sbin/conscontrol/Makefile Fri Oct 23 14:06:25 2009 (r198395) @@ -2,5 +2,6 @@ PROG= conscontrol MAN= conscontrol.8 +WARNS?= 2 .include Modified: projects/clangbsd/sbin/dhclient/Makefile ============================================================================== --- projects/clangbsd/sbin/dhclient/Makefile Fri Oct 23 13:39:30 2009 (r198394) +++ projects/clangbsd/sbin/dhclient/Makefile Fri Oct 23 14:06:25 2009 (r198395) @@ -40,4 +40,6 @@ SCRIPTS=dhclient-script MAN= dhclient.8 dhclient.conf.5 dhclient.leases.5 dhcp-options.5 \ dhclient-script.8 +WARNS?= 2 + .include Modified: projects/clangbsd/sbin/dhclient/bpf.c ============================================================================== --- projects/clangbsd/sbin/dhclient/bpf.c Fri Oct 23 13:39:30 2009 (r198394) +++ projects/clangbsd/sbin/dhclient/bpf.c Fri Oct 23 14:06:25 2009 (r198395) @@ -90,11 +90,23 @@ if_register_bpf(struct interface_info *i void if_register_send(struct interface_info *info) { + int sock, on = 1; + /* * If we're using the bpf API for sending and receiving, we * don't need to register this interface twice. */ info->wfdesc = info->rfdesc; + + /* + * Use raw socket for unicast send. + */ + if ((sock = socket(AF_INET, SOCK_RAW, IPPROTO_UDP)) == -1) + error("socket(SOCK_RAW): %m"); + if (setsockopt(sock, IPPROTO_IP, IP_HDRINCL, &on, + sizeof(on)) == -1) + error("setsockopt(IP_HDRINCL): %m"); + info->ufdesc = sock; } /* @@ -244,35 +256,32 @@ send_packet(struct interface_info *inter { unsigned char buf[256]; struct iovec iov[2]; + struct msghdr msg; int result, bufp = 0; - int sock; - - if (to->sin_addr.s_addr != INADDR_BROADCAST) { - note("SENDING DIRECT"); - /* We know who the server is, send the packet via - normal socket interface */ - - if ((sock = socket(PF_INET, SOCK_DGRAM, IPPROTO_UDP)) >= 0) { - result = sendto (sock, (char *)raw, len, 0, - (struct sockaddr *)to, sizeof *to); - close(sock); - if (result > 0) - return result; - } - } /* Assemble the headers... */ - assemble_hw_header(interface, buf, &bufp, hto); + if (to->sin_addr.s_addr == INADDR_BROADCAST) + assemble_hw_header(interface, buf, &bufp, hto); assemble_udp_ip_header(buf, &bufp, from.s_addr, to->sin_addr.s_addr, to->sin_port, (unsigned char *)raw, len); - /* Fire it off */ iov[0].iov_base = (char *)buf; iov[0].iov_len = bufp; iov[1].iov_base = (char *)raw; iov[1].iov_len = len; - result = writev(interface->wfdesc, iov, 2); + /* Fire it off */ + if (to->sin_addr.s_addr == INADDR_BROADCAST) + result = writev(interface->wfdesc, iov, 2); + else { + memset(&msg, 0, sizeof(msg)); + msg.msg_name = (struct sockaddr *)to; + msg.msg_namelen = sizeof(*to); + msg.msg_iov = iov; + msg.msg_iovlen = 2; + result = sendmsg(interface->ufdesc, &msg, 0); + } + if (result < 0) warning("send_packet: %m"); return (result); Modified: projects/clangbsd/sbin/dhclient/dhcpd.h ============================================================================== --- projects/clangbsd/sbin/dhclient/dhcpd.h Fri Oct 23 13:39:30 2009 (r198394) +++ projects/clangbsd/sbin/dhclient/dhcpd.h Fri Oct 23 14:06:25 2009 (r198395) @@ -37,6 +37,8 @@ * Enterprises. To learn more about the Internet Software Consortium, * see ``http://www.vix.com/isc''. To learn more about Vixie * Enterprises, see ``http://www.vix.com''. + * + * $FreeBSD$ */ #include @@ -194,6 +196,7 @@ struct interface_info { char name[IFNAMSIZ]; int rfdesc; int wfdesc; + int ufdesc; unsigned char *rbuf; size_t rbuf_max; size_t rbuf_offset; Modified: projects/clangbsd/sbin/dhclient/packet.c ============================================================================== --- projects/clangbsd/sbin/dhclient/packet.c Fri Oct 23 13:39:30 2009 (r198394) +++ projects/clangbsd/sbin/dhclient/packet.c Fri Oct 23 14:06:25 2009 (r198395) @@ -135,6 +135,17 @@ assemble_udp_ip_header(unsigned char *bu ip.ip_dst.s_addr = to; ip.ip_sum = wrapsum(checksum((unsigned char *)&ip, sizeof(ip), 0)); + + /* + * While the BPF -- used for broadcasts -- expects a "true" IP header + * with all the bytes in network byte order, the raw socket interface + * which is used for unicasts expects the ip_len field to be in host + * byte order. In both cases, the checksum has to be correct, so this + * is as good a place as any to turn the bytes around again. + */ + if (to != INADDR_BROADCAST) + ip.ip_len = ntohs(ip.ip_len); + memcpy(&buf[*bufix], &ip, sizeof(ip)); *bufix += sizeof(ip); Modified: projects/clangbsd/sbin/dmesg/Makefile ============================================================================== --- projects/clangbsd/sbin/dmesg/Makefile Fri Oct 23 13:39:30 2009 (r198394) +++ projects/clangbsd/sbin/dmesg/Makefile Fri Oct 23 14:06:25 2009 (r198395) @@ -4,8 +4,6 @@ PROG= dmesg MAN= dmesg.8 -WARNS?= 6 - LDADD= -lkvm DPADD= ${LIBKVM} Modified: projects/clangbsd/sbin/dump/Makefile ============================================================================== --- projects/clangbsd/sbin/dump/Makefile Fri Oct 23 13:39:30 2009 (r198394) +++ projects/clangbsd/sbin/dump/Makefile Fri Oct 23 14:06:25 2009 (r198395) @@ -19,5 +19,6 @@ CFLAGS+=-DRDUMP SRCS= itime.c main.c optr.c dumprmt.c tape.c traverse.c unctime.c cache.c MAN= dump.8 MLINKS= dump.8 rdump.8 +WARNS?= 2 .include Modified: projects/clangbsd/sbin/dumpfs/Makefile ============================================================================== --- projects/clangbsd/sbin/dumpfs/Makefile Fri Oct 23 13:39:30 2009 (r198394) +++ projects/clangbsd/sbin/dumpfs/Makefile Fri Oct 23 14:06:25 2009 (r198395) @@ -2,6 +2,7 @@ # $FreeBSD$ PROG= dumpfs +WARNS?= 2 DPADD= ${LIBUFS} LDADD= -lufs MAN= dumpfs.8 Modified: projects/clangbsd/sbin/dumpfs/dumpfs.c ============================================================================== --- projects/clangbsd/sbin/dumpfs/dumpfs.c Fri Oct 23 13:39:30 2009 (r198394) +++ projects/clangbsd/sbin/dumpfs/dumpfs.c Fri Oct 23 14:06:25 2009 (r198395) @@ -413,7 +413,7 @@ marshal(const char *name) break; } /* -p..r unimplemented */ - printf("-s %jd ", (intmax_t)fs->fs_size); + printf("-s %jd ", (intmax_t)fsbtodb(fs, fs->fs_size)); printf("%s ", disk.d_name); printf("\n"); Modified: projects/clangbsd/sbin/dumpon/Makefile ============================================================================== --- projects/clangbsd/sbin/dumpon/Makefile Fri Oct 23 13:39:30 2009 (r198394) +++ projects/clangbsd/sbin/dumpon/Makefile Fri Oct 23 14:06:25 2009 (r198395) @@ -1,7 +1,6 @@ # $FreeBSD$ PROG= dumpon -WARNS?= 6 MAN= dumpon.8 .include Modified: projects/clangbsd/sbin/geom/Makefile ============================================================================== --- projects/clangbsd/sbin/geom/Makefile Fri Oct 23 13:39:30 2009 (r198394) +++ projects/clangbsd/sbin/geom/Makefile Fri Oct 23 14:06:25 2009 (r198395) @@ -11,6 +11,7 @@ PROG= geom SRCS= geom.c geom_label.c geom_part.c subr.c NO_MAN= +WARNS?= 2 CFLAGS+=-I${.CURDIR} -I${.CURDIR}/core -DSTATIC_GEOM_CLASSES DPADD= ${LIBGEOM} ${LIBSBUF} ${LIBBSDXML} ${LIBUTIL} Modified: projects/clangbsd/sbin/geom/Makefile.inc ============================================================================== --- projects/clangbsd/sbin/geom/Makefile.inc Fri Oct 23 13:39:30 2009 (r198394) +++ projects/clangbsd/sbin/geom/Makefile.inc Fri Oct 23 14:06:25 2009 (r198395) @@ -1,6 +1,5 @@ # $FreeBSD$ -WARNS?= 6 CLASS_DIR?=/lib/geom .include "../Makefile.inc" Modified: projects/clangbsd/sbin/geom/class/part/gpart.8 ============================================================================== --- projects/clangbsd/sbin/geom/class/part/gpart.8 Fri Oct 23 13:39:30 2009 (r198394) +++ projects/clangbsd/sbin/geom/class/part/gpart.8 Fri Oct 23 14:06:25 2009 (r198395) @@ -24,7 +24,7 @@ .\" .\" $FreeBSD$ .\" -.Dd Nov 18, 2008 +.Dd November 18, 2008 .Dt GPART 8 .Os .Sh NAME @@ -43,20 +43,34 @@ lines in your kernel configuration file: .Cd "options GEOM_PART_VTOC8" .Ed .Pp -The GEOM_PART_APM option adds support for the Apple Partition Map (APM) +The +.Dv GEOM_PART_APM +option adds support for the Apple Partition Map (APM) found on Apple Macintosh computers. -The GEOM_PART_BSD option adds support for the traditional BSD disklabel. -The GEOM_PART_GPT option adds support for the GUID Partition Table (GPT) +The +.Dv GEOM_PART_BSD +option adds support for the traditional +.Bx +disklabel. +The +.Dv GEOM_PART_GPT +option adds support for the GUID Partition Table (GPT) found on Intel Itanium computers and Intel-based Macintosh computers. -The GEOM_PART_MBR option adds support for the Master Boot Record (MBR) +The +.Dv GEOM_PART_MBR +option adds support for the Master Boot Record (MBR) found on PCs and used on many removable media. -The GEOM_PART_PC98 option adds support for the MBR variant as used on +The +.Dv GEOM_PART_PC98 +option adds support for the MBR variant as used on NEC PC-98 computers. -The GEOM_PART_VTOC8 option adds support for Sun's SMI VTOC8 label as +The +.Dv GEOM_PART_VTOC8 +option adds support for Sun's SMI VTOC8 label as found on UltraSPARC-based computers. .Pp Usage of the -.Xr gpart 8 +.Ns Nm utility: .Pp .\" ==== ADD ==== @@ -123,7 +137,7 @@ utility: .Ar geom .\" ==== UNSET ==== .Nm -.Cm unset +.Cm unset .Fl a Ar attrib .Fl i Ar index .Op Fl f Ar flags @@ -134,7 +148,7 @@ The .Nm utility is used to partition GEOM providers, normally disks. The first argument of which is the action to be taken: -.Bl -tag -width ".Cm wwwwwww" +.Bl -tag -width ".Cm bootcode" .\" ==== ADD ==== .It Cm add Add a new partition to the partitioning scheme given by @@ -148,13 +162,15 @@ option. The type of the partition is given by the .Fl t Ar type option. -Partition types are discussed in the section entitled "Partition Types". +Partition types are discussed below in the section entitled +.Sx "PARTITION TYPES" . .Pp -Addition options include: -.Bl -tag -width ".Fl w Ar wwwwwwww" +Additional options include: +.Bl -tag -width 10n .It Fl i Ar index The index in the partition table at which the new partition is to be -placed. The index determines the name of the device special file used +placed. +The index determines the name of the device special file used to represent the partition. .It Fl l Ar label The label attached to the partition. @@ -162,7 +178,9 @@ This option is only valid when used on p partition labels. .It Fl f Ar flags Additional operational flags. -See the section entitled "Operational flags" below for a discussion +See the section entitled +.Sx "OPERATIONAL FLAGS" +below for a discussion about its use. .El .\" ==== BOOTCODE ==== @@ -185,7 +203,7 @@ The option specifies a file that contains the bootstrap code. The contents and size of the file are determined by the partitioning scheme. -For the MBR scheme, it's a 512 byte file of which the first 446 bytes +For the MBR scheme, it is a 512 byte file of which the first 446 bytes are installed as bootstrap code. The .Fl p Ar partcode @@ -196,11 +214,13 @@ The partition is specified by the option. The size of the file must be smaller than the size of the partition. .Pp -Addition options include: -.Bl -tag -width ".Fl w Ar wwwwwww" +Additional options include: +.Bl -tag -width 10n .It Fl f Ar flags Additional operational flags. -See the section entitled "Operational flags" below for a discussion +See the section entitled +.Sx "OPERATIONAL FLAGS" +below for a discussion about its use. .El .\" ==== COMMIT ==== @@ -229,8 +249,8 @@ option determines the scheme to use. The kernel needs to have support for a particular scheme before that scheme can be used to partition a disk. .Pp -Addition options include: -.Bl -tag -width ".Fl w Ar wwwwwww" +Additional options include: +.Bl -tag -width 10n .It Fl n Ar entries The number of entries in the partition table. Every partitioning scheme has a minimum and a maximum number of entries @@ -242,7 +262,9 @@ By default, partition tables are created entries. .It Fl f Ar flags Additional operational flags. -See the section entitled "Operational flags" below for a discussion +See the section entitled +.Sx "OPERATIONAL FLAGS" +below for a discussion about its use. .El .\" ==== DELETE ==== @@ -254,11 +276,13 @@ and further identified by the option. The partition cannot be actively used by the kernel. .Pp -Addition options include: -.Bl -tag -width ".Fl w Ar wwwwwww" +Additional options include: +.Bl -tag -width 10n .It Fl f Ar flags Additional operational flags. -See the section entitled "Operational flags" below for a discussion +See the section entitled +.Sx "OPERATIONAL FLAGS" +below for a discussion about its use. .El .\" ==== DESTROY ==== @@ -266,11 +290,13 @@ about its use. Destroy the partitioning scheme as implemented by geom .Ar geom . .Pp -Addition options include: -.Bl -tag -width ".Fl w Ar wwwwwww" +Additional options include: +.Bl -tag -width 10n .It Fl f Ar flags Additional operational flags. -See the section entitled "Operational flags" below for a discussion +See the section entitled +.Sx "OPERATIONAL FLAGS" +below for a discussion about its use. .El .\" ==== MODIFY ==== @@ -290,22 +316,26 @@ option. Not all partitioning schemes support labels and it is invalid to try to change a partition label in such cases. .Pp -Addition options include: -.Bl -tag -width ".Fl w Ar wwwwwww" +Additional options include: +.Bl -tag -width 10n .It Fl f Ar flags Additional operational flags. -See the section entitled "Operational flags" below for a discussion +See the section entitled +.Sx "OPERATIONAL FLAGS" +below for a discussion about its use. .El .\" ==== SET ==== .It Cm set Set the named attribute on the partition entry. .Pp -Addition options include: -.Bl -tag -width ".Fl w Ar wwwwwww" +Additional options include: +.Bl -tag -width 10n .It Fl f Ar flags Additional operational flags. -See the section entitled "Operational flags" below for a discussion +See the section entitled +.Sx "OPERATIONAL FLAGS" +below for a discussion about its use. .El .\" ==== SHOW ==== @@ -314,7 +344,8 @@ Show the current partition information o or all geoms if none are specified. .\" ==== UNDO ==== .It Cm undo -Revert any pending changes. +Revert any pending changes for geom +.Ar geom . This action is the opposite of the .Cm commit action and can be used to undo any changes that have not been committed. @@ -322,11 +353,13 @@ action and can be used to undo any chang .It Cm unset Clear the named attribute on the partition entry. .Pp -Addition options include: -.Bl -tag -width ".Fl w Ar wwwwwww" +Additional options include: +.Bl -tag -width 10n .It Fl f Ar flags Additional operational flags. -See the section entitled "Operational flags" below for a discussion +See the section entitled +.Sx "OPERATIONAL FLAGS" +below for a discussion about its use. .El *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-projects@FreeBSD.ORG Fri Oct 23 14:28:07 2009 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id B41861065741; Fri, 23 Oct 2009 14:28:07 +0000 (UTC) (envelope-from rdivacky@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 9DABC8FC1F; Fri, 23 Oct 2009 14:28:07 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n9NES7Ya063450; Fri, 23 Oct 2009 14:28:07 GMT (envelope-from rdivacky@svn.freebsd.org) Received: (from rdivacky@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n9NES7lc063429; Fri, 23 Oct 2009 14:28:07 GMT (envelope-from rdivacky@svn.freebsd.org) Message-Id: <200910231428.n9NES7lc063429@svn.freebsd.org> From: Roman Divacky Date: Fri, 23 Oct 2009 14:28:07 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r198401 - in projects/clangbsd/contrib/llvm: . cmake/modules docs docs/CommandGuide examples/BrainF include/llvm include/llvm-c include/llvm/ADT include/llvm/Analysis include/llvm/CodeG... X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 23 Oct 2009 14:28:07 -0000 Author: rdivacky Date: Fri Oct 23 14:28:06 2009 New Revision: 198401 URL: http://svn.freebsd.org/changeset/base/198401 Log: Merge LLVM from vendor. Added: projects/clangbsd/contrib/llvm/include/llvm/ADT/ValueMap.h - copied unchanged from r198399, vendor/llvm/dist/include/llvm/ADT/ValueMap.h projects/clangbsd/contrib/llvm/include/llvm/Analysis/DomPrinter.h - copied unchanged from r198399, vendor/llvm/dist/include/llvm/Analysis/DomPrinter.h projects/clangbsd/contrib/llvm/include/llvm/Config/AsmParsers.def - copied unchanged from r198399, vendor/llvm/dist/include/llvm/Config/AsmParsers.def projects/clangbsd/contrib/llvm/include/llvm/Config/AsmPrinters.def - copied unchanged from r198399, vendor/llvm/dist/include/llvm/Config/AsmPrinters.def projects/clangbsd/contrib/llvm/include/llvm/Config/Targets.def - copied unchanged from r198399, vendor/llvm/dist/include/llvm/Config/Targets.def projects/clangbsd/contrib/llvm/include/llvm/Config/config.h - copied unchanged from r198399, vendor/llvm/dist/include/llvm/Config/config.h projects/clangbsd/contrib/llvm/include/llvm/Support/DataTypes.h - copied unchanged from r198399, vendor/llvm/dist/include/llvm/Support/DataTypes.h projects/clangbsd/contrib/llvm/lib/Analysis/DomPrinter.cpp - copied unchanged from r198399, vendor/llvm/dist/lib/Analysis/DomPrinter.cpp projects/clangbsd/contrib/llvm/lib/Target/ARM/AsmPrinter/ARMInstPrinter.cpp - copied unchanged from r198399, vendor/llvm/dist/lib/Target/ARM/AsmPrinter/ARMInstPrinter.cpp projects/clangbsd/contrib/llvm/lib/Target/ARM/AsmPrinter/ARMInstPrinter.h - copied unchanged from r198399, vendor/llvm/dist/lib/Target/ARM/AsmPrinter/ARMInstPrinter.h projects/clangbsd/contrib/llvm/lib/Target/ARM/AsmPrinter/ARMMCInstLower.cpp - copied unchanged from r198399, vendor/llvm/dist/lib/Target/ARM/AsmPrinter/ARMMCInstLower.cpp projects/clangbsd/contrib/llvm/lib/Target/ARM/AsmPrinter/ARMMCInstLower.h - copied unchanged from r198399, vendor/llvm/dist/lib/Target/ARM/AsmPrinter/ARMMCInstLower.h projects/clangbsd/contrib/llvm/lib/Target/Blackfin/BlackfinIntrinsicInfo.cpp - copied unchanged from r198399, vendor/llvm/dist/lib/Target/Blackfin/BlackfinIntrinsicInfo.cpp projects/clangbsd/contrib/llvm/lib/Target/Blackfin/BlackfinIntrinsicInfo.h - copied unchanged from r198399, vendor/llvm/dist/lib/Target/Blackfin/BlackfinIntrinsicInfo.h projects/clangbsd/contrib/llvm/lib/Target/Blackfin/BlackfinIntrinsics.td - copied unchanged from r198399, vendor/llvm/dist/lib/Target/Blackfin/BlackfinIntrinsics.td projects/clangbsd/contrib/llvm/lib/Target/MSP430/AsmPrinter/MSP430InstPrinter.cpp - copied unchanged from r198399, vendor/llvm/dist/lib/Target/MSP430/AsmPrinter/MSP430InstPrinter.cpp projects/clangbsd/contrib/llvm/lib/Target/MSP430/AsmPrinter/MSP430InstPrinter.h - copied unchanged from r198399, vendor/llvm/dist/lib/Target/MSP430/AsmPrinter/MSP430InstPrinter.h projects/clangbsd/contrib/llvm/lib/Target/MSP430/AsmPrinter/MSP430MCInstLower.cpp - copied unchanged from r198399, vendor/llvm/dist/lib/Target/MSP430/AsmPrinter/MSP430MCInstLower.cpp projects/clangbsd/contrib/llvm/lib/Target/MSP430/AsmPrinter/MSP430MCInstLower.h - copied unchanged from r198399, vendor/llvm/dist/lib/Target/MSP430/AsmPrinter/MSP430MCInstLower.h projects/clangbsd/contrib/llvm/lib/Target/PIC16/PIC16ABINames.h - copied unchanged from r198399, vendor/llvm/dist/lib/Target/PIC16/PIC16ABINames.h projects/clangbsd/contrib/llvm/lib/Target/PIC16/PIC16Passes/ - copied from r198399, vendor/llvm/dist/lib/Target/PIC16/PIC16Passes/ projects/clangbsd/contrib/llvm/lib/Target/PIC16/PIC16Section.cpp - copied unchanged from r198399, vendor/llvm/dist/lib/Target/PIC16/PIC16Section.cpp projects/clangbsd/contrib/llvm/lib/Target/PIC16/PIC16Section.h - copied unchanged from r198399, vendor/llvm/dist/lib/Target/PIC16/PIC16Section.h projects/clangbsd/contrib/llvm/mklib - copied unchanged from r198399, vendor/llvm/dist/mklib projects/clangbsd/contrib/llvm/test/Assembler/alignstack.ll - copied unchanged from r198399, vendor/llvm/dist/test/Assembler/alignstack.ll projects/clangbsd/contrib/llvm/test/CodeGen/ARM/2009-10-21-InvalidFNeg.ll - copied unchanged from r198399, vendor/llvm/dist/test/CodeGen/ARM/2009-10-21-InvalidFNeg.ll projects/clangbsd/contrib/llvm/test/CodeGen/ARM/globals.ll - copied unchanged from r198399, vendor/llvm/dist/test/CodeGen/ARM/globals.ll projects/clangbsd/contrib/llvm/test/CodeGen/ARM/movt.ll - copied unchanged from r198399, vendor/llvm/dist/test/CodeGen/ARM/movt.ll projects/clangbsd/contrib/llvm/test/CodeGen/CellSPU/useful-harnesses/lit.local.cfg - copied unchanged from r198399, vendor/llvm/dist/test/CodeGen/CellSPU/useful-harnesses/lit.local.cfg projects/clangbsd/contrib/llvm/test/CodeGen/MSP430/Inst16ri.ll - copied unchanged from r198399, vendor/llvm/dist/test/CodeGen/MSP430/Inst16ri.ll projects/clangbsd/contrib/llvm/test/CodeGen/MSP430/Inst8ri.ll - copied unchanged from r198399, vendor/llvm/dist/test/CodeGen/MSP430/Inst8ri.ll projects/clangbsd/contrib/llvm/test/CodeGen/Thumb2/2009-10-15-ITBlockBranch.ll - copied unchanged from r198399, vendor/llvm/dist/test/CodeGen/Thumb2/2009-10-15-ITBlockBranch.ll projects/clangbsd/contrib/llvm/test/CodeGen/X86/2009-10-14-LiveVariablesBug.ll - copied unchanged from r198399, vendor/llvm/dist/test/CodeGen/X86/2009-10-14-LiveVariablesBug.ll projects/clangbsd/contrib/llvm/test/CodeGen/X86/2009-10-19-EmergencySpill.ll - copied unchanged from r198399, vendor/llvm/dist/test/CodeGen/X86/2009-10-19-EmergencySpill.ll projects/clangbsd/contrib/llvm/test/CodeGen/X86/2009-10-19-atomic-cmp-eflags.ll - copied unchanged from r198399, vendor/llvm/dist/test/CodeGen/X86/2009-10-19-atomic-cmp-eflags.ll projects/clangbsd/contrib/llvm/test/CodeGen/X86/codegen-prepare-extload.ll - copied unchanged from r198399, vendor/llvm/dist/test/CodeGen/X86/codegen-prepare-extload.ll projects/clangbsd/contrib/llvm/test/CodeGen/X86/discontiguous-loops.ll - copied unchanged from r198399, vendor/llvm/dist/test/CodeGen/X86/discontiguous-loops.ll projects/clangbsd/contrib/llvm/test/CodeGen/X86/legalize-fmp-oeq-vector-select.ll - copied unchanged from r198399, vendor/llvm/dist/test/CodeGen/X86/legalize-fmp-oeq-vector-select.ll projects/clangbsd/contrib/llvm/test/CodeGen/X86/loop-blocks.ll - copied unchanged from r198399, vendor/llvm/dist/test/CodeGen/X86/loop-blocks.ll projects/clangbsd/contrib/llvm/test/CodeGen/X86/palignr.ll - copied unchanged from r198399, vendor/llvm/dist/test/CodeGen/X86/palignr.ll projects/clangbsd/contrib/llvm/test/CodeGen/X86/widen_extract-1.ll - copied unchanged from r198399, vendor/llvm/dist/test/CodeGen/X86/widen_extract-1.ll projects/clangbsd/contrib/llvm/test/DebugInfo/2009-10-16-Phi.ll - copied unchanged from r198399, vendor/llvm/dist/test/DebugInfo/2009-10-16-Phi.ll projects/clangbsd/contrib/llvm/test/DebugInfo/2009-10-16-Scope.ll - copied unchanged from r198399, vendor/llvm/dist/test/DebugInfo/2009-10-16-Scope.ll projects/clangbsd/contrib/llvm/test/FrontendAda/negative_field_offset.adb - copied unchanged from r198399, vendor/llvm/dist/test/FrontendAda/negative_field_offset.adb projects/clangbsd/contrib/llvm/test/FrontendC++/alignstack.cpp - copied unchanged from r198399, vendor/llvm/dist/test/FrontendC++/alignstack.cpp projects/clangbsd/contrib/llvm/test/FrontendC++/varargs.cpp - copied unchanged from r198399, vendor/llvm/dist/test/FrontendC++/varargs.cpp projects/clangbsd/contrib/llvm/test/FrontendC/alignstack.c - copied unchanged from r198399, vendor/llvm/dist/test/FrontendC/alignstack.c projects/clangbsd/contrib/llvm/test/LLVMC/MultiplePluginPriorities.td - copied unchanged from r198399, vendor/llvm/dist/test/LLVMC/MultiplePluginPriorities.td projects/clangbsd/contrib/llvm/test/MC/AsmParser/variables-invalid.s - copied unchanged from r198399, vendor/llvm/dist/test/MC/AsmParser/variables-invalid.s projects/clangbsd/contrib/llvm/test/MC/AsmParser/variables.s - copied unchanged from r198399, vendor/llvm/dist/test/MC/AsmParser/variables.s projects/clangbsd/contrib/llvm/test/Transforms/ConstProp/constant-expr.ll - copied unchanged from r198399, vendor/llvm/dist/test/Transforms/ConstProp/constant-expr.ll projects/clangbsd/contrib/llvm/test/Transforms/ConstProp/loads.ll - copied unchanged from r198399, vendor/llvm/dist/test/Transforms/ConstProp/loads.ll projects/clangbsd/contrib/llvm/test/Transforms/GlobalOpt/2009-11-16-BrokenPerformHeapAllocSRoA.ll - copied unchanged from r198399, vendor/llvm/dist/test/Transforms/GlobalOpt/2009-11-16-BrokenPerformHeapAllocSRoA.ll projects/clangbsd/contrib/llvm/test/Transforms/GlobalOpt/2009-11-16-MallocSingleStoreToGlobalVar.ll - copied unchanged from r198399, vendor/llvm/dist/test/Transforms/GlobalOpt/2009-11-16-MallocSingleStoreToGlobalVar.ll projects/clangbsd/contrib/llvm/test/Transforms/LoopSimplify/unreachable-loop-pred.ll - copied unchanged from r198399, vendor/llvm/dist/test/Transforms/LoopSimplify/unreachable-loop-pred.ll projects/clangbsd/contrib/llvm/unittests/ADT/ValueMapTest.cpp - copied unchanged from r198399, vendor/llvm/dist/unittests/ADT/ValueMapTest.cpp Modified: projects/clangbsd/contrib/llvm/ (props changed) projects/clangbsd/contrib/llvm/Makefile projects/clangbsd/contrib/llvm/Makefile.rules projects/clangbsd/contrib/llvm/cmake/modules/LLVMLibDeps.cmake projects/clangbsd/contrib/llvm/docs/CMake.html projects/clangbsd/contrib/llvm/docs/CommandGuide/FileCheck.pod projects/clangbsd/contrib/llvm/docs/CommandGuide/index.html projects/clangbsd/contrib/llvm/docs/GettingStarted.html projects/clangbsd/contrib/llvm/docs/LangRef.html projects/clangbsd/contrib/llvm/docs/ProgrammersManual.html projects/clangbsd/contrib/llvm/docs/ReleaseNotes.html projects/clangbsd/contrib/llvm/examples/BrainF/BrainF.cpp projects/clangbsd/contrib/llvm/include/llvm-c/Core.h projects/clangbsd/contrib/llvm/include/llvm/ADT/APFloat.h projects/clangbsd/contrib/llvm/include/llvm/ADT/DenseMapInfo.h projects/clangbsd/contrib/llvm/include/llvm/ADT/FoldingSet.h projects/clangbsd/contrib/llvm/include/llvm/ADT/StringExtras.h projects/clangbsd/contrib/llvm/include/llvm/ADT/StringRef.h projects/clangbsd/contrib/llvm/include/llvm/ADT/Triple.h projects/clangbsd/contrib/llvm/include/llvm/Analysis/CFGPrinter.h projects/clangbsd/contrib/llvm/include/llvm/Analysis/CallGraph.h projects/clangbsd/contrib/llvm/include/llvm/Analysis/ConstantFolding.h projects/clangbsd/contrib/llvm/include/llvm/Analysis/Dominators.h projects/clangbsd/contrib/llvm/include/llvm/Analysis/MallocHelper.h projects/clangbsd/contrib/llvm/include/llvm/Analysis/PostDominators.h projects/clangbsd/contrib/llvm/include/llvm/CodeGen/MachineFrameInfo.h projects/clangbsd/contrib/llvm/include/llvm/CodeGen/MachineFunction.h projects/clangbsd/contrib/llvm/include/llvm/CodeGen/MachineLoopInfo.h projects/clangbsd/contrib/llvm/include/llvm/CodeGen/MachineModuleInfo.h projects/clangbsd/contrib/llvm/include/llvm/CodeGen/Passes.h projects/clangbsd/contrib/llvm/include/llvm/CodeGen/PseudoSourceValue.h projects/clangbsd/contrib/llvm/include/llvm/CompilerDriver/Common.td projects/clangbsd/contrib/llvm/include/llvm/CompilerDriver/Plugin.h projects/clangbsd/contrib/llvm/include/llvm/Constants.h projects/clangbsd/contrib/llvm/include/llvm/ExecutionEngine/JITEventListener.h projects/clangbsd/contrib/llvm/include/llvm/ExecutionEngine/JITMemoryManager.h projects/clangbsd/contrib/llvm/include/llvm/InlineAsm.h projects/clangbsd/contrib/llvm/include/llvm/InstrTypes.h projects/clangbsd/contrib/llvm/include/llvm/Instruction.def projects/clangbsd/contrib/llvm/include/llvm/Instructions.h projects/clangbsd/contrib/llvm/include/llvm/Intrinsics.td projects/clangbsd/contrib/llvm/include/llvm/LLVMContext.h projects/clangbsd/contrib/llvm/include/llvm/LinkAllPasses.h projects/clangbsd/contrib/llvm/include/llvm/MC/MCAssembler.h projects/clangbsd/contrib/llvm/include/llvm/MC/MCContext.h projects/clangbsd/contrib/llvm/include/llvm/MC/MCExpr.h projects/clangbsd/contrib/llvm/include/llvm/MC/MCSymbol.h projects/clangbsd/contrib/llvm/include/llvm/Metadata.h projects/clangbsd/contrib/llvm/include/llvm/PassAnalysisSupport.h projects/clangbsd/contrib/llvm/include/llvm/PassSupport.h projects/clangbsd/contrib/llvm/include/llvm/Support/IRBuilder.h projects/clangbsd/contrib/llvm/include/llvm/Support/InstVisitor.h projects/clangbsd/contrib/llvm/include/llvm/Support/ValueHandle.h projects/clangbsd/contrib/llvm/include/llvm/Support/raw_ostream.h projects/clangbsd/contrib/llvm/include/llvm/Support/type_traits.h projects/clangbsd/contrib/llvm/include/llvm/Target/TargetIntrinsicInfo.h projects/clangbsd/contrib/llvm/include/llvm/Target/TargetMachine.h projects/clangbsd/contrib/llvm/include/llvm/Target/TargetRegisterInfo.h projects/clangbsd/contrib/llvm/include/llvm/Target/TargetRegistry.h projects/clangbsd/contrib/llvm/include/llvm/Target/TargetSubtarget.h projects/clangbsd/contrib/llvm/include/llvm/Transforms/IPO.h projects/clangbsd/contrib/llvm/include/llvm/Transforms/Scalar.h projects/clangbsd/contrib/llvm/include/llvm/Transforms/Utils/SSAUpdater.h projects/clangbsd/contrib/llvm/include/llvm/Value.h projects/clangbsd/contrib/llvm/lib/Analysis/BasicAliasAnalysis.cpp projects/clangbsd/contrib/llvm/lib/Analysis/CFGPrinter.cpp projects/clangbsd/contrib/llvm/lib/Analysis/CMakeLists.txt projects/clangbsd/contrib/llvm/lib/Analysis/ConstantFolding.cpp projects/clangbsd/contrib/llvm/lib/Analysis/IPA/GlobalsModRef.cpp projects/clangbsd/contrib/llvm/lib/Analysis/InlineCost.cpp projects/clangbsd/contrib/llvm/lib/Analysis/InstCount.cpp projects/clangbsd/contrib/llvm/lib/Analysis/LoopInfo.cpp projects/clangbsd/contrib/llvm/lib/Analysis/MallocHelper.cpp projects/clangbsd/contrib/llvm/lib/Analysis/PointerTracking.cpp projects/clangbsd/contrib/llvm/lib/Analysis/ValueTracking.cpp projects/clangbsd/contrib/llvm/lib/AsmParser/LLLexer.cpp projects/clangbsd/contrib/llvm/lib/AsmParser/LLParser.cpp projects/clangbsd/contrib/llvm/lib/AsmParser/LLParser.h projects/clangbsd/contrib/llvm/lib/AsmParser/LLToken.h projects/clangbsd/contrib/llvm/lib/Bitcode/Reader/BitcodeReader.cpp projects/clangbsd/contrib/llvm/lib/Bitcode/Writer/BitcodeWriter.cpp projects/clangbsd/contrib/llvm/lib/Bitcode/Writer/ValueEnumerator.cpp projects/clangbsd/contrib/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp projects/clangbsd/contrib/llvm/lib/CodeGen/AsmPrinter/DwarfException.cpp projects/clangbsd/contrib/llvm/lib/CodeGen/BranchFolding.cpp projects/clangbsd/contrib/llvm/lib/CodeGen/CodePlacementOpt.cpp projects/clangbsd/contrib/llvm/lib/CodeGen/ExactHazardRecognizer.cpp projects/clangbsd/contrib/llvm/lib/CodeGen/LLVMTargetMachine.cpp projects/clangbsd/contrib/llvm/lib/CodeGen/LiveIntervalAnalysis.cpp projects/clangbsd/contrib/llvm/lib/CodeGen/MachineInstr.cpp projects/clangbsd/contrib/llvm/lib/CodeGen/MachineLoopInfo.cpp projects/clangbsd/contrib/llvm/lib/CodeGen/MachineSink.cpp projects/clangbsd/contrib/llvm/lib/CodeGen/PostRASchedulerList.cpp projects/clangbsd/contrib/llvm/lib/CodeGen/PreAllocSplitting.cpp projects/clangbsd/contrib/llvm/lib/CodeGen/PrologEpilogInserter.cpp projects/clangbsd/contrib/llvm/lib/CodeGen/PseudoSourceValue.cpp projects/clangbsd/contrib/llvm/lib/CodeGen/RegAllocLocal.cpp projects/clangbsd/contrib/llvm/lib/CodeGen/RegisterScavenging.cpp projects/clangbsd/contrib/llvm/lib/CodeGen/ScheduleDAGInstrs.cpp projects/clangbsd/contrib/llvm/lib/CodeGen/ScheduleDAGInstrs.h projects/clangbsd/contrib/llvm/lib/CodeGen/ScheduleDAGPrinter.cpp projects/clangbsd/contrib/llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp projects/clangbsd/contrib/llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp projects/clangbsd/contrib/llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h projects/clangbsd/contrib/llvm/lib/CodeGen/SelectionDAG/LegalizeTypesGeneric.cpp projects/clangbsd/contrib/llvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp projects/clangbsd/contrib/llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp projects/clangbsd/contrib/llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuild.cpp projects/clangbsd/contrib/llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuild.h projects/clangbsd/contrib/llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp projects/clangbsd/contrib/llvm/lib/CodeGen/StackProtector.cpp projects/clangbsd/contrib/llvm/lib/CodeGen/VirtRegMap.cpp projects/clangbsd/contrib/llvm/lib/CompilerDriver/Main.cpp projects/clangbsd/contrib/llvm/lib/CompilerDriver/Plugin.cpp projects/clangbsd/contrib/llvm/lib/ExecutionEngine/JIT/CMakeLists.txt projects/clangbsd/contrib/llvm/lib/ExecutionEngine/JIT/JITDebugRegisterer.cpp projects/clangbsd/contrib/llvm/lib/ExecutionEngine/JIT/JITEmitter.cpp projects/clangbsd/contrib/llvm/lib/ExecutionEngine/JIT/JITMemoryManager.cpp projects/clangbsd/contrib/llvm/lib/ExecutionEngine/JIT/OProfileJITEventListener.cpp projects/clangbsd/contrib/llvm/lib/MC/MCAsmStreamer.cpp projects/clangbsd/contrib/llvm/lib/MC/MCAssembler.cpp projects/clangbsd/contrib/llvm/lib/MC/MCContext.cpp projects/clangbsd/contrib/llvm/lib/MC/MCExpr.cpp projects/clangbsd/contrib/llvm/lib/MC/MCMachOStreamer.cpp projects/clangbsd/contrib/llvm/lib/Support/APFloat.cpp projects/clangbsd/contrib/llvm/lib/Support/StringExtras.cpp projects/clangbsd/contrib/llvm/lib/Support/StringMap.cpp projects/clangbsd/contrib/llvm/lib/Support/Triple.cpp projects/clangbsd/contrib/llvm/lib/Support/raw_ostream.cpp projects/clangbsd/contrib/llvm/lib/System/Unix/Program.inc projects/clangbsd/contrib/llvm/lib/Target/ARM/ARMAddressingModes.h projects/clangbsd/contrib/llvm/lib/Target/ARM/ARMBaseRegisterInfo.cpp projects/clangbsd/contrib/llvm/lib/Target/ARM/ARMBaseRegisterInfo.h projects/clangbsd/contrib/llvm/lib/Target/ARM/ARMConstantIslandPass.cpp projects/clangbsd/contrib/llvm/lib/Target/ARM/ARMISelDAGToDAG.cpp projects/clangbsd/contrib/llvm/lib/Target/ARM/ARMISelLowering.cpp projects/clangbsd/contrib/llvm/lib/Target/ARM/ARMInstrFormats.td projects/clangbsd/contrib/llvm/lib/Target/ARM/ARMInstrInfo.cpp projects/clangbsd/contrib/llvm/lib/Target/ARM/ARMInstrInfo.td projects/clangbsd/contrib/llvm/lib/Target/ARM/ARMInstrNEON.td projects/clangbsd/contrib/llvm/lib/Target/ARM/ARMInstrThumb2.td projects/clangbsd/contrib/llvm/lib/Target/ARM/ARMLoadStoreOptimizer.cpp projects/clangbsd/contrib/llvm/lib/Target/ARM/ARMRegisterInfo.td projects/clangbsd/contrib/llvm/lib/Target/ARM/ARMSubtarget.cpp projects/clangbsd/contrib/llvm/lib/Target/ARM/ARMSubtarget.h projects/clangbsd/contrib/llvm/lib/Target/ARM/ARMTargetMachine.cpp projects/clangbsd/contrib/llvm/lib/Target/ARM/AsmParser/ARMAsmParser.cpp projects/clangbsd/contrib/llvm/lib/Target/ARM/AsmPrinter/ARMAsmPrinter.cpp projects/clangbsd/contrib/llvm/lib/Target/ARM/AsmPrinter/CMakeLists.txt projects/clangbsd/contrib/llvm/lib/Target/ARM/README-Thumb.txt projects/clangbsd/contrib/llvm/lib/Target/ARM/Thumb1RegisterInfo.cpp projects/clangbsd/contrib/llvm/lib/Target/ARM/Thumb1RegisterInfo.h projects/clangbsd/contrib/llvm/lib/Target/ARM/Thumb2ITBlockPass.cpp projects/clangbsd/contrib/llvm/lib/Target/ARM/Thumb2RegisterInfo.cpp projects/clangbsd/contrib/llvm/lib/Target/Blackfin/Blackfin.td projects/clangbsd/contrib/llvm/lib/Target/Blackfin/BlackfinTargetMachine.h projects/clangbsd/contrib/llvm/lib/Target/Blackfin/CMakeLists.txt projects/clangbsd/contrib/llvm/lib/Target/Blackfin/Makefile projects/clangbsd/contrib/llvm/lib/Target/CBackend/CBackend.cpp projects/clangbsd/contrib/llvm/lib/Target/CppBackend/CPPBackend.cpp projects/clangbsd/contrib/llvm/lib/Target/MSIL/MSILWriter.cpp projects/clangbsd/contrib/llvm/lib/Target/MSP430/AsmPrinter/CMakeLists.txt projects/clangbsd/contrib/llvm/lib/Target/MSP430/AsmPrinter/MSP430AsmPrinter.cpp projects/clangbsd/contrib/llvm/lib/Target/MSP430/MSP430.h projects/clangbsd/contrib/llvm/lib/Target/MSP430/MSP430ISelDAGToDAG.cpp projects/clangbsd/contrib/llvm/lib/Target/MSP430/MSP430ISelLowering.cpp projects/clangbsd/contrib/llvm/lib/Target/MSP430/MSP430InstrInfo.cpp projects/clangbsd/contrib/llvm/lib/Target/MSP430/MSP430InstrInfo.h projects/clangbsd/contrib/llvm/lib/Target/MSP430/MSP430InstrInfo.td projects/clangbsd/contrib/llvm/lib/Target/MSP430/MSP430TargetMachine.cpp projects/clangbsd/contrib/llvm/lib/Target/PIC16/AsmPrinter/PIC16AsmPrinter.cpp projects/clangbsd/contrib/llvm/lib/Target/PIC16/AsmPrinter/PIC16AsmPrinter.h projects/clangbsd/contrib/llvm/lib/Target/PIC16/CMakeLists.txt projects/clangbsd/contrib/llvm/lib/Target/PIC16/Makefile projects/clangbsd/contrib/llvm/lib/Target/PIC16/PIC16.h projects/clangbsd/contrib/llvm/lib/Target/PIC16/PIC16DebugInfo.cpp projects/clangbsd/contrib/llvm/lib/Target/PIC16/PIC16ISelLowering.cpp projects/clangbsd/contrib/llvm/lib/Target/PIC16/PIC16InstrInfo.cpp projects/clangbsd/contrib/llvm/lib/Target/PIC16/PIC16MCAsmInfo.cpp projects/clangbsd/contrib/llvm/lib/Target/PIC16/PIC16MemSelOpt.cpp projects/clangbsd/contrib/llvm/lib/Target/PIC16/PIC16TargetObjectFile.cpp projects/clangbsd/contrib/llvm/lib/Target/PIC16/PIC16TargetObjectFile.h projects/clangbsd/contrib/llvm/lib/Target/PowerPC/AsmPrinter/PPCAsmPrinter.cpp projects/clangbsd/contrib/llvm/lib/Target/README.txt projects/clangbsd/contrib/llvm/lib/Target/TargetIntrinsicInfo.cpp projects/clangbsd/contrib/llvm/lib/Target/X86/AsmPrinter/X86ATTInstPrinter.cpp projects/clangbsd/contrib/llvm/lib/Target/X86/AsmPrinter/X86ATTInstPrinter.h projects/clangbsd/contrib/llvm/lib/Target/X86/AsmPrinter/X86AsmPrinter.cpp projects/clangbsd/contrib/llvm/lib/Target/X86/AsmPrinter/X86MCInstLower.cpp projects/clangbsd/contrib/llvm/lib/Target/X86/X86ISelLowering.cpp projects/clangbsd/contrib/llvm/lib/Target/X86/X86ISelLowering.h projects/clangbsd/contrib/llvm/lib/Target/X86/X86Instr64bit.td projects/clangbsd/contrib/llvm/lib/Target/X86/X86InstrFormats.td projects/clangbsd/contrib/llvm/lib/Target/X86/X86InstrInfo.td projects/clangbsd/contrib/llvm/lib/Target/X86/X86InstrSSE.td projects/clangbsd/contrib/llvm/lib/Target/X86/X86Subtarget.cpp projects/clangbsd/contrib/llvm/lib/Target/X86/X86Subtarget.h projects/clangbsd/contrib/llvm/lib/Transforms/Hello/Hello.cpp projects/clangbsd/contrib/llvm/lib/Transforms/IPO/CMakeLists.txt projects/clangbsd/contrib/llvm/lib/Transforms/IPO/FunctionAttrs.cpp projects/clangbsd/contrib/llvm/lib/Transforms/IPO/GlobalDCE.cpp projects/clangbsd/contrib/llvm/lib/Transforms/IPO/GlobalOpt.cpp projects/clangbsd/contrib/llvm/lib/Transforms/IPO/RaiseAllocations.cpp projects/clangbsd/contrib/llvm/lib/Transforms/IPO/StripSymbols.cpp projects/clangbsd/contrib/llvm/lib/Transforms/Scalar/CodeGenPrepare.cpp projects/clangbsd/contrib/llvm/lib/Transforms/Scalar/GVN.cpp projects/clangbsd/contrib/llvm/lib/Transforms/Scalar/InstructionCombining.cpp projects/clangbsd/contrib/llvm/lib/Transforms/Scalar/LoopUnswitch.cpp projects/clangbsd/contrib/llvm/lib/Transforms/Scalar/Reassociate.cpp projects/clangbsd/contrib/llvm/lib/Transforms/Scalar/SCCP.cpp projects/clangbsd/contrib/llvm/lib/Transforms/Utils/BasicBlockUtils.cpp projects/clangbsd/contrib/llvm/lib/Transforms/Utils/InlineFunction.cpp projects/clangbsd/contrib/llvm/lib/Transforms/Utils/InstructionNamer.cpp projects/clangbsd/contrib/llvm/lib/Transforms/Utils/LowerAllocations.cpp projects/clangbsd/contrib/llvm/lib/Transforms/Utils/SSAUpdater.cpp projects/clangbsd/contrib/llvm/lib/VMCore/AsmWriter.cpp projects/clangbsd/contrib/llvm/lib/VMCore/ConstantFold.cpp projects/clangbsd/contrib/llvm/lib/VMCore/Constants.cpp projects/clangbsd/contrib/llvm/lib/VMCore/Core.cpp projects/clangbsd/contrib/llvm/lib/VMCore/InlineAsm.cpp projects/clangbsd/contrib/llvm/lib/VMCore/Instruction.cpp projects/clangbsd/contrib/llvm/lib/VMCore/Instructions.cpp projects/clangbsd/contrib/llvm/lib/VMCore/LLVMContext.cpp projects/clangbsd/contrib/llvm/lib/VMCore/LLVMContextImpl.h projects/clangbsd/contrib/llvm/lib/VMCore/Metadata.cpp projects/clangbsd/contrib/llvm/lib/VMCore/Pass.cpp projects/clangbsd/contrib/llvm/lib/VMCore/Value.cpp projects/clangbsd/contrib/llvm/lib/VMCore/Verifier.cpp projects/clangbsd/contrib/llvm/test/Analysis/BasicAA/modref.ll projects/clangbsd/contrib/llvm/test/Bindings/Ocaml/vmcore.ml projects/clangbsd/contrib/llvm/test/CodeGen/ARM/ldrd.ll projects/clangbsd/contrib/llvm/test/CodeGen/ARM/sbfx.ll projects/clangbsd/contrib/llvm/test/CodeGen/Blackfin/sync-intr.ll projects/clangbsd/contrib/llvm/test/CodeGen/CellSPU/2009-01-01-BrCond.ll projects/clangbsd/contrib/llvm/test/CodeGen/Generic/switch-lower-feature-2.ll projects/clangbsd/contrib/llvm/test/CodeGen/PIC16/globals.ll projects/clangbsd/contrib/llvm/test/CodeGen/Thumb/2009-08-20-ISelBug.ll projects/clangbsd/contrib/llvm/test/CodeGen/Thumb2/thumb2-mov.ll projects/clangbsd/contrib/llvm/test/CodeGen/Thumb2/thumb2-mov2.ll projects/clangbsd/contrib/llvm/test/CodeGen/X86/2007-01-08-InstrSched.ll projects/clangbsd/contrib/llvm/test/CodeGen/X86/2008-07-11-SpillerBug.ll projects/clangbsd/contrib/llvm/test/CodeGen/X86/2009-04-20-LinearScanOpt.ll projects/clangbsd/contrib/llvm/test/CodeGen/X86/2009-04-21-NoReloadImpDef.ll projects/clangbsd/contrib/llvm/test/CodeGen/X86/2009-09-19-SchedCustomLoweringBug.ll projects/clangbsd/contrib/llvm/test/CodeGen/X86/abi-isel.ll projects/clangbsd/contrib/llvm/test/CodeGen/X86/fastcc.ll projects/clangbsd/contrib/llvm/test/CodeGen/X86/peep-test-3.ll projects/clangbsd/contrib/llvm/test/CodeGen/X86/pic.ll projects/clangbsd/contrib/llvm/test/CodeGen/X86/sink-hoist.ll projects/clangbsd/contrib/llvm/test/CodeGen/X86/sse2.ll projects/clangbsd/contrib/llvm/test/CodeGen/X86/sse3.ll projects/clangbsd/contrib/llvm/test/CodeGen/X86/stack-color-with-reg.ll projects/clangbsd/contrib/llvm/test/CodeGen/X86/tailcallstack64.ll projects/clangbsd/contrib/llvm/test/CodeGen/X86/vec_shuffle-22.ll projects/clangbsd/contrib/llvm/test/CodeGen/X86/vec_shuffle-9.ll projects/clangbsd/contrib/llvm/test/CodeGen/X86/widen_arith-1.ll projects/clangbsd/contrib/llvm/test/CodeGen/X86/widen_arith-2.ll projects/clangbsd/contrib/llvm/test/CodeGen/X86/widen_arith-3.ll projects/clangbsd/contrib/llvm/test/CodeGen/X86/widen_arith-4.ll projects/clangbsd/contrib/llvm/test/CodeGen/X86/widen_arith-5.ll projects/clangbsd/contrib/llvm/test/CodeGen/X86/widen_arith-6.ll projects/clangbsd/contrib/llvm/test/CodeGen/X86/widen_cast-1.ll projects/clangbsd/contrib/llvm/test/CodeGen/X86/widen_cast-2.ll projects/clangbsd/contrib/llvm/test/CodeGen/X86/widen_cast-3.ll projects/clangbsd/contrib/llvm/test/CodeGen/X86/widen_cast-4.ll projects/clangbsd/contrib/llvm/test/CodeGen/X86/widen_cast-5.ll projects/clangbsd/contrib/llvm/test/CodeGen/X86/widen_cast-6.ll projects/clangbsd/contrib/llvm/test/CodeGen/X86/widen_conv-1.ll projects/clangbsd/contrib/llvm/test/CodeGen/X86/widen_conv-2.ll projects/clangbsd/contrib/llvm/test/CodeGen/X86/widen_conv-3.ll projects/clangbsd/contrib/llvm/test/CodeGen/X86/widen_conv-4.ll projects/clangbsd/contrib/llvm/test/CodeGen/X86/widen_select-1.ll projects/clangbsd/contrib/llvm/test/CodeGen/X86/widen_shuffle-1.ll projects/clangbsd/contrib/llvm/test/CodeGen/X86/widen_shuffle-2.ll projects/clangbsd/contrib/llvm/test/Feature/md_on_instruction.ll projects/clangbsd/contrib/llvm/test/FrontendC++/member-alignment.cpp projects/clangbsd/contrib/llvm/test/MC/AsmParser/labels.s projects/clangbsd/contrib/llvm/test/Transforms/GVN/calls-readonly.ll projects/clangbsd/contrib/llvm/test/Transforms/GlobalOpt/malloc-promote-2.ll projects/clangbsd/contrib/llvm/test/Transforms/GlobalOpt/malloc-promote-3.ll projects/clangbsd/contrib/llvm/test/Transforms/Inline/crash.ll projects/clangbsd/contrib/llvm/test/Transforms/InstCombine/cast.ll projects/clangbsd/contrib/llvm/test/Transforms/InstCombine/crash.ll projects/clangbsd/contrib/llvm/test/Transforms/InstCombine/getelementptr.ll projects/clangbsd/contrib/llvm/test/Transforms/InstCombine/malloc-free-delete.ll projects/clangbsd/contrib/llvm/test/Transforms/InstCombine/malloc2.ll projects/clangbsd/contrib/llvm/test/Transforms/InstCombine/malloc3.ll projects/clangbsd/contrib/llvm/test/Transforms/JumpThreading/crash.ll projects/clangbsd/contrib/llvm/test/Transforms/SCCP/ipsccp-basic.ll projects/clangbsd/contrib/llvm/test/Transforms/SCCP/sccptest.ll projects/clangbsd/contrib/llvm/tools/clang/ (props changed) projects/clangbsd/contrib/llvm/tools/gold/gold-plugin.cpp projects/clangbsd/contrib/llvm/tools/llc/llc.cpp projects/clangbsd/contrib/llvm/tools/lli/lli.cpp projects/clangbsd/contrib/llvm/tools/llvm-as/llvm-as.cpp projects/clangbsd/contrib/llvm/tools/llvm-ld/CMakeLists.txt projects/clangbsd/contrib/llvm/tools/llvm-ld/Makefile projects/clangbsd/contrib/llvm/tools/llvm-ld/llvm-ld.cpp projects/clangbsd/contrib/llvm/tools/llvm-mc/AsmParser.cpp projects/clangbsd/contrib/llvm/tools/llvm-prof/CMakeLists.txt projects/clangbsd/contrib/llvm/tools/llvm-prof/Makefile projects/clangbsd/contrib/llvm/tools/llvm-prof/llvm-prof.cpp projects/clangbsd/contrib/llvm/tools/llvmc/doc/LLVMC-Reference.rst projects/clangbsd/contrib/llvm/tools/llvmc/example/mcc16/driver/Main.cpp projects/clangbsd/contrib/llvm/tools/llvmc/example/mcc16/plugins/PIC16Base/PIC16Base.td projects/clangbsd/contrib/llvm/tools/llvmc/example/mcc16/plugins/PIC16Base/PluginMain.cpp projects/clangbsd/contrib/llvm/tools/llvmc/plugins/Base/Base.td.in projects/clangbsd/contrib/llvm/tools/opt/CMakeLists.txt projects/clangbsd/contrib/llvm/tools/opt/Makefile projects/clangbsd/contrib/llvm/tools/opt/opt.cpp projects/clangbsd/contrib/llvm/unittests/ExecutionEngine/JIT/JITMemoryManagerTest.cpp projects/clangbsd/contrib/llvm/unittests/ExecutionEngine/JIT/JITTest.cpp projects/clangbsd/contrib/llvm/unittests/Support/raw_ostream_test.cpp projects/clangbsd/contrib/llvm/utils/NewNightlyTest.pl projects/clangbsd/contrib/llvm/utils/TableGen/AsmWriterEmitter.cpp projects/clangbsd/contrib/llvm/utils/TableGen/ClangDiagnosticsEmitter.cpp projects/clangbsd/contrib/llvm/utils/TableGen/CodeGenDAGPatterns.h projects/clangbsd/contrib/llvm/utils/TableGen/DAGISelEmitter.cpp projects/clangbsd/contrib/llvm/utils/TableGen/LLVMCConfigurationEmitter.cpp projects/clangbsd/contrib/llvm/utils/TableGen/LLVMCConfigurationEmitter.h projects/clangbsd/contrib/llvm/utils/TableGen/StringToOffsetTable.h projects/clangbsd/contrib/llvm/utils/buildit/GNUmakefile projects/clangbsd/contrib/llvm/utils/buildit/build_llvm projects/clangbsd/contrib/llvm/utils/emacs/tablegen-mode.el projects/clangbsd/contrib/llvm/utils/lit/LitConfig.py projects/clangbsd/contrib/llvm/utils/lit/TestFormats.py projects/clangbsd/contrib/llvm/utils/lit/TestRunner.py Modified: projects/clangbsd/contrib/llvm/Makefile ============================================================================== --- projects/clangbsd/contrib/llvm/Makefile Fri Oct 23 14:27:40 2009 (r198400) +++ projects/clangbsd/contrib/llvm/Makefile Fri Oct 23 14:28:06 2009 (r198401) @@ -19,6 +19,12 @@ LEVEL := . # # When cross-compiling, there are some things (tablegen) that need to # be build for the build system first. + +# If "RC_ProjectName" exists in the environment, and its value is +# "llvmCore", then this is an "Apple-style" build; search for +# "Apple-style" in the comments for more info. Anything else is a +# normal build. +ifneq ($(RC_ProjectName),llvmCore) # Normal build (not "Apple-style"). ifeq ($(BUILD_DIRS_ONLY),1) DIRS := lib/System lib/Support utils OPTIONAL_DIRS := @@ -211,3 +217,9 @@ happiness: update all check unittests .NOTPARALLEL: +else # Building "Apple-style." +# In an Apple-style build, once configuration is done, lines marked +# "Apple-style" are removed with sed! Please don't remove these! +# Look for the string "Apple-style" in utils/buildit/build_llvm. +include $(shell find . -name GNUmakefile) # Building "Apple-style." +endif # Building "Apple-style." Modified: projects/clangbsd/contrib/llvm/Makefile.rules ============================================================================== --- projects/clangbsd/contrib/llvm/Makefile.rules Fri Oct 23 14:27:40 2009 (r198400) +++ projects/clangbsd/contrib/llvm/Makefile.rules Fri Oct 23 14:28:06 2009 (r198401) @@ -1540,8 +1540,8 @@ $(ObjDir)/%GenCallingConv.inc.tmp : %.td $(Verb) $(TableGen) -gen-callingconv -o $(call SYSPATH, $@) $< $(TARGET:%=$(ObjDir)/%GenIntrinsics.inc.tmp): \ -$(ObjDir)/%GenIntrinsics.inc.tmp : Intrinsics%.td $(ObjDir)/.dir - $(Echo) "Building $(CMAKE_BUILD_TYPE:STRING
Sets the build type for make based generators. Possible - values are Release, Debug, RelWithDebInfo and MiniSizeRel. On + values are Release, Debug, RelWithDebInfo and MinSizeRel. On systems like Visual Studio the user sets the build type with the IDE settings.
@@ -260,7 +260,7 @@
Build with threads support, if available. Defaults to ON.
LLVM_ENABLE_ASSERTIONS:BOOL
-
Enables code assertions. Defaults to ON if and only if +
Enables code assertions. Defaults to OFF if and only if CMAKE_BUILD_TYPE is Release.
LLVM_ENABLE_PIC:BOOL
Modified: projects/clangbsd/contrib/llvm/docs/CommandGuide/FileCheck.pod ============================================================================== --- projects/clangbsd/contrib/llvm/docs/CommandGuide/FileCheck.pod Fri Oct 23 14:27:40 2009 (r198400) +++ projects/clangbsd/contrib/llvm/docs/CommandGuide/FileCheck.pod Fri Oct 23 14:28:06 2009 (r198401) @@ -21,9 +21,6 @@ for matching multiple different inputs i The I file specifies the file that contains the patterns to match. The file to verify is always read from standard input. -The input and output of B is beyond the scope of this short -introduction. Please see the I page in the LLVM documentation. - =head1 OPTIONS =over @@ -58,6 +55,189 @@ If B verifies that the file m with 0. Otherwise, if not, or if an error occurs, it will exit with a non-zero value. +=head1 TUTORIAL + +FileCheck is typically used from LLVM regression tests, being invoked on the RUN +line of the test. A simple example of using FileCheck from a RUN line looks +like this: + + ; RUN: llvm-as < %s | llc -march=x86-64 | FileCheck %s + +This syntax says to pipe the current file ("%s") into llvm-as, pipe that into +llc, then pipe the output of llc into FileCheck. This means that FileCheck will +be verifying its standard input (the llc output) against the filename argument +specified (the original .ll file specified by "%s"). To see how this works, +lets look at the rest of the .ll file (after the RUN line): + + define void @sub1(i32* %p, i32 %v) { + entry: + ; CHECK: sub1: + ; CHECK: subl + %0 = tail call i32 @llvm.atomic.load.sub.i32.p0i32(i32* %p, i32 %v) + ret void + } + + define void @inc4(i64* %p) { + entry: + ; CHECK: inc4: + ; CHECK: incq + %0 = tail call i64 @llvm.atomic.load.add.i64.p0i64(i64* %p, i64 1) + ret void + } + +Here you can see some "CHECK:" lines specified in comments. Now you can see +how the file is piped into llvm-as, then llc, and the machine code output is +what we are verifying. FileCheck checks the machine code output to verify that +it matches what the "CHECK:" lines specify. + +The syntax of the CHECK: lines is very simple: they are fixed strings that +must occur in order. FileCheck defaults to ignoring horizontal whitespace +differences (e.g. a space is allowed to match a tab) but otherwise, the contents +of the CHECK: line is required to match some thing in the test file exactly. + +One nice thing about FileCheck (compared to grep) is that it allows merging +test cases together into logical groups. For example, because the test above +is checking for the "sub1:" and "inc4:" labels, it will not match unless there +is a "subl" in between those labels. If it existed somewhere else in the file, +that would not count: "grep subl" matches if subl exists anywhere in the +file. + + + +=head2 The FileCheck -check-prefix option + +The FileCheck -check-prefix option allows multiple test configurations to be +driven from one .ll file. This is useful in many circumstances, for example, +testing different architectural variants with llc. Here's a simple example: + + ; RUN: llvm-as < %s | llc -mtriple=i686-apple-darwin9 -mattr=sse41 \ + ; RUN: | FileCheck %s -check-prefix=X32 + ; RUN: llvm-as < %s | llc -mtriple=x86_64-apple-darwin9 -mattr=sse41 \ + ; RUN: | FileCheck %s -check-prefix=X64 + + define <4 x i32> @pinsrd_1(i32 %s, <4 x i32> %tmp) nounwind { + %tmp1 = insertelement <4 x i32>; %tmp, i32 %s, i32 1 + ret <4 x i32> %tmp1 + ; X32: pinsrd_1: + ; X32: pinsrd $1, 4(%esp), %xmm0 + + ; X64: pinsrd_1: + ; X64: pinsrd $1, %edi, %xmm0 + } + +In this case, we're testing that we get the expected code generation with +both 32-bit and 64-bit code generation. + + + +=head2 The "CHECK-NEXT:" directive + +Sometimes you want to match lines and would like to verify that matches +happen on exactly consequtive lines with no other lines in between them. In +this case, you can use CHECK: and CHECK-NEXT: directives to specify this. If +you specified a custom check prefix, just use "-NEXT:". For +example, something like this works as you'd expect: + + define void @t2(<2 x double>* %r, <2 x double>* %A, double %B) { + %tmp3 = load <2 x double>* %A, align 16 + %tmp7 = insertelement <2 x double> undef, double %B, i32 0 + %tmp9 = shufflevector <2 x double> %tmp3, + <2 x double> %tmp7, + <2 x i32> < i32 0, i32 2 > + store <2 x double> %tmp9, <2 x double>* %r, align 16 + ret void + + ; CHECK: t2: + ; CHECK: movl 8(%esp), %eax + ; CHECK-NEXT: movapd (%eax), %xmm0 + ; CHECK-NEXT: movhpd 12(%esp), %xmm0 + ; CHECK-NEXT: movl 4(%esp), %eax + ; CHECK-NEXT: movapd %xmm0, (%eax) + ; CHECK-NEXT: ret + } + +CHECK-NEXT: directives reject the input unless there is exactly one newline +between it an the previous directive. A CHECK-NEXT cannot be the first +directive in a file. + + + +=head2 The "CHECK-NOT:" directive + +The CHECK-NOT: directive is used to verify that a string doesn't occur +between two matches (or the first match and the beginning of the file). For +example, to verify that a load is removed by a transformation, a test like this +can be used: + + define i8 @coerce_offset0(i32 %V, i32* %P) { + store i32 %V, i32* %P + + %P2 = bitcast i32* %P to i8* + %P3 = getelementptr i8* %P2, i32 2 + + %A = load i8* %P3 + ret i8 %A + ; CHECK: @coerce_offset0 + ; CHECK-NOT: load + ; CHECK: ret i8 + } + + + +=head2 FileCheck Pattern Matching Syntax + +The CHECK: and CHECK-NOT: directives both take a pattern to match. For most +uses of FileCheck, fixed string matching is perfectly sufficient. For some +things, a more flexible form of matching is desired. To support this, FileCheck +allows you to specify regular expressions in matching strings, surrounded by +double braces: B<{{yourregex}}>. Because we want to use fixed string +matching for a majority of what we do, FileCheck has been designed to support +mixing and matching fixed string matching with regular expressions. This allows +you to write things like this: + + ; CHECK: movhpd {{[0-9]+}}(%esp), {{%xmm[0-7]}} + +In this case, any offset from the ESP register will be allowed, and any xmm +register will be allowed. + +Because regular expressions are enclosed with double braces, they are +visually distinct, and you don't need to use escape characters within the double +braces like you would in C. In the rare case that you want to match double +braces explicitly from the input, you can use something ugly like +B<{{[{][{]}}> as your pattern. + + + +=head2 FileCheck Variables + +It is often useful to match a pattern and then verify that it occurs again +later in the file. For codegen tests, this can be useful to allow any register, +but verify that that register is used consistently later. To do this, FileCheck +allows named variables to be defined and substituted into patterns. Here is a +simple example: + + ; CHECK: test5: + ; CHECK: notw [[REGISTER:%[a-z]+]] + ; CHECK: andw {{.*}}[[REGISTER]] + +The first check line matches a regex (%[a-z]+) and captures it into +the variables "REGISTER". The second line verifies that whatever is in REGISTER +occurs later in the file after an "andw". FileCheck variable references are +always contained in [[ ]] pairs, are named, and their names can be +formed with the regex "[a-zA-Z][a-zA-Z0-9]*". If a colon follows the +name, then it is a definition of the variable, if not, it is a use. + +FileCheck variables can be defined multiple times, and uses always get the +latest value. Note that variables are all read at the start of a "CHECK" line +and are all defined at the end. This means that if you have something like +"CHECK: [[XYZ:.*]]x[[XYZ]]" that the check line will read the previous +value of the XYZ variable and define a new one after the match is performed. If +you need to do something like this you can probably take advantage of the fact +that FileCheck is not actually line-oriented when it matches, this allows you to +define two separate CHECK lines that match on the same line. + + + =head1 AUTHORS Maintained by The LLVM Team (L). Modified: projects/clangbsd/contrib/llvm/docs/CommandGuide/index.html ============================================================================== --- projects/clangbsd/contrib/llvm/docs/CommandGuide/index.html Fri Oct 23 14:27:40 2009 (r198400) +++ projects/clangbsd/contrib/llvm/docs/CommandGuide/index.html Fri Oct 23 14:28:06 2009 (r198401) @@ -132,6 +132,8 @@ options) arguments to the tool you are i Flexible file verifier used extensively by the testing harness
  • tblgen - target description reader and generator
  • +
  • lit - + LLVM Integrated Tester, for running tests
  • @@ -146,7 +148,7 @@ options) arguments to the tool you are i src="http://www.w3.org/Icons/valid-html401-blue" alt="Valid HTML 4.01"> LLVM Compiler Infrastructure
    - Last modified: $Date: 2009-08-15 17:38:11 +0200 (Sat, 15 Aug 2009) $ + Last modified: $Date: 2009-10-19 05:54:13 +0200 (Mon, 19 Oct 2009) $ Modified: projects/clangbsd/contrib/llvm/docs/GettingStarted.html ============================================================================== --- projects/clangbsd/contrib/llvm/docs/GettingStarted.html Fri Oct 23 14:27:40 2009 (r198400) +++ projects/clangbsd/contrib/llvm/docs/GettingStarted.html Fri Oct 23 14:28:06 2009 (r198401) @@ -724,6 +724,7 @@ revision), you can checkout it from the subdirectories of the 'tags' directory:

      +
    • Release 2.6: RELEASE_26
    • Release 2.5: RELEASE_25
    • Release 2.4: RELEASE_24
    • Release 2.3: RELEASE_23
    • @@ -1635,7 +1636,7 @@ out:

      Chris Lattner
      Reid Spencer
      The LLVM Compiler Infrastructure
      - Last modified: $Date: 2009-09-27 06:56:27 +0200 (Sun, 27 Sep 2009) $ + Last modified: $Date: 2009-10-23 08:20:06 +0200 (Fri, 23 Oct 2009) $ Modified: projects/clangbsd/contrib/llvm/docs/LangRef.html ============================================================================== --- projects/clangbsd/contrib/llvm/docs/LangRef.html Fri Oct 23 14:27:40 2009 (r198400) +++ projects/clangbsd/contrib/llvm/docs/LangRef.html Fri Oct 23 14:28:06 2009 (r198401) @@ -2339,9 +2339,9 @@ has undefined behavior.

      a special value. This value represents the inline assembler as a string (containing the instructions to emit), a list of operand constraints (stored as a string), a flag that indicates whether or not the inline asm - expression has side effects, and a flag indicating whether the asm came - originally from an asm block. An example inline assembler - expression is:

      + expression has side effects, and a flag indicating whether the function + containing the asm needs to align its stack conservatively. An example + inline assembler expression is:

      @@ -2369,12 +2369,16 @@ call void asm sideeffect "eieio", ""()
       
      -

      Inline asms derived from asm blocks are similarly marked with the - 'msasm' keyword:

      +

      In some cases inline asms will contain code that will not work unless the + stack is aligned in some way, such as calls or SSE instructions on x86, + yet will not contain code that does that alignment within the asm. + The compiler should make conservative assumptions about what the asm might + contain and should generate its usual stack alignment code in the prologue + if the 'alignstack' keyword is present:

      -call void asm msasm "eieio", ""()
      +call void asm alignstack "eieio", ""()
       
      @@ -7274,7 +7278,7 @@ LLVM.

      Chris Lattner
      The LLVM Compiler Infrastructure
      - Last modified: $Date: 2009-10-13 23:56:55 +0200 (Tue, 13 Oct 2009) $ + Last modified: $Date: 2009-10-22 01:28:00 +0200 (Thu, 22 Oct 2009) $ Modified: projects/clangbsd/contrib/llvm/docs/ProgrammersManual.html ============================================================================== --- projects/clangbsd/contrib/llvm/docs/ProgrammersManual.html Fri Oct 23 14:27:40 2009 (r198400) +++ projects/clangbsd/contrib/llvm/docs/ProgrammersManual.html Fri Oct 23 14:28:06 2009 (r198401) @@ -83,6 +83,7 @@ option
    • "llvm/ADT/StringMap.h"
    • "llvm/ADT/IndexedMap.h"
    • "llvm/ADT/DenseMap.h"
    • +
    • "llvm/ADT/ValueMap.h"
    • <map>
    • Other Map-Like Container Options
    @@ -1492,6 +1493,23 @@ inserted into the map) that it needs int + +
    + +

    +ValueMap is a wrapper around a DenseMap mapping +Value*s (or subclasses) to another type. When a Value is deleted or RAUW'ed, +ValueMap will update itself so the new version of the key is mapped to the same +value, just as if the key were a WeakVH. You can configure exactly how this +happens, and what else happens on these two events, by passing +a Config parameter to the ValueMap template.

    + +
    + + + @@ -3854,7 +3872,7 @@ arguments. An argument has a pointer to Dinakar Dhurjati and Chris Lattner
    The LLVM Compiler Infrastructure
    - Last modified: $Date: 2009-10-12 16:46:08 +0200 (Mon, 12 Oct 2009) $ + Last modified: $Date: 2009-10-23 00:11:22 +0200 (Fri, 23 Oct 2009) $ Modified: projects/clangbsd/contrib/llvm/docs/ReleaseNotes.html ============================================================================== --- projects/clangbsd/contrib/llvm/docs/ReleaseNotes.html Fri Oct 23 14:27:40 2009 (r198400) +++ projects/clangbsd/contrib/llvm/docs/ReleaseNotes.html Fri Oct 23 14:28:06 2009 (r198401) @@ -246,7 +246,7 @@ KLEE.

    The goal of DragonEgg is to make gcc-4.5 act like llvm-gcc without requiring any gcc modifications whatsoever. -DragonEgg is a shared library (llvm.so) +DragonEgg is a shared library (dragonegg.so) that is loaded by gcc at runtime. It uses the new gcc plugin architecture to disable the GCC optimizers and code generators, and schedule the LLVM optimizers and code generators (or direct output of LLVM IR) instead. Currently only Linux @@ -1025,7 +1025,7 @@ guide. For clients, the notable API chan

  • Intel and AMD machines running on Win32 using MinGW libraries (native).
  • Intel and AMD machines running on Win32 with the Cygwin libraries (limited support is available for native builds with Visual C++).
  • -
  • Sun UltraSPARC workstations running Solaris 10.
  • +
  • Sun x86 and AMD64 machines running Solaris 10, OpenSolaris 0906.
  • Alpha-based machines running Debian GNU/Linux.
  • @@ -1348,7 +1348,7 @@ lists.

    src="http://www.w3.org/Icons/valid-html401-blue" alt="Valid HTML 4.01"> LLVM Compiler Infrastructure
    - Last modified: $Date: 2009-10-13 19:48:04 +0200 (Tue, 13 Oct 2009) $ + Last modified: $Date: 2009-10-16 18:30:58 +0200 (Fri, 16 Oct 2009) $ Modified: projects/clangbsd/contrib/llvm/examples/BrainF/BrainF.cpp ============================================================================== --- projects/clangbsd/contrib/llvm/examples/BrainF/BrainF.cpp Fri Oct 23 14:27:40 2009 (r198400) +++ projects/clangbsd/contrib/llvm/examples/BrainF/BrainF.cpp Fri Oct 23 14:28:06 2009 (r198401) @@ -25,6 +25,7 @@ #include "BrainF.h" #include "llvm/Constants.h" +#include "llvm/Instructions.h" #include "llvm/Intrinsics.h" #include "llvm/ADT/STLExtras.h" #include @@ -78,7 +79,11 @@ void BrainF::header(LLVMContext& C) { //%arr = malloc i8, i32 %d ConstantInt *val_mem = ConstantInt::get(C, APInt(32, memtotal)); - ptr_arr = builder->CreateMalloc(IntegerType::getInt8Ty(C), val_mem, "arr"); + BasicBlock* BB = builder->GetInsertBlock(); + const Type* IntPtrTy = IntegerType::getInt32Ty(C); + ptr_arr = CallInst::CreateMalloc(BB, IntPtrTy, IntegerType::getInt8Ty(C), + val_mem, NULL, "arr"); + BB->getInstList().push_back(cast(ptr_arr)); //call void @llvm.memset.i32(i8 *%arr, i8 0, i32 %d, i32 1) { Modified: projects/clangbsd/contrib/llvm/include/llvm-c/Core.h ============================================================================== --- projects/clangbsd/contrib/llvm/include/llvm-c/Core.h Fri Oct 23 14:27:40 2009 (r198400) +++ projects/clangbsd/contrib/llvm/include/llvm-c/Core.h Fri Oct 23 14:28:06 2009 (r198401) @@ -457,7 +457,6 @@ void LLVMDisposeTypeHandle(LLVMTypeHandl macro(UnaryInstruction) \ macro(AllocationInst) \ macro(AllocaInst) \ - macro(MallocInst) \ macro(CastInst) \ macro(BitCastInst) \ macro(FPExtInst) \ Modified: projects/clangbsd/contrib/llvm/include/llvm/ADT/APFloat.h ============================================================================== --- projects/clangbsd/contrib/llvm/include/llvm/ADT/APFloat.h Fri Oct 23 14:27:40 2009 (r198400) +++ projects/clangbsd/contrib/llvm/include/llvm/ADT/APFloat.h Fri Oct 23 14:28:06 2009 (r198401) @@ -125,6 +125,7 @@ namespace llvm { public: /* We support the following floating point semantics. */ + static const fltSemantics IEEEhalf; static const fltSemantics IEEEsingle; static const fltSemantics IEEEdouble; static const fltSemantics IEEEquad; @@ -321,12 +322,14 @@ namespace llvm { opStatus roundSignificandWithExponent(const integerPart *, unsigned int, int, roundingMode); + APInt convertHalfAPFloatToAPInt() const; APInt convertFloatAPFloatToAPInt() const; APInt convertDoubleAPFloatToAPInt() const; APInt convertQuadrupleAPFloatToAPInt() const; APInt convertF80LongDoubleAPFloatToAPInt() const; APInt convertPPCDoubleDoubleAPFloatToAPInt() const; void initFromAPInt(const APInt& api, bool isIEEE = false); + void initFromHalfAPInt(const APInt& api); void initFromFloatAPInt(const APInt& api); void initFromDoubleAPInt(const APInt& api); void initFromQuadrupleAPInt(const APInt &api); Modified: projects/clangbsd/contrib/llvm/include/llvm/ADT/DenseMapInfo.h ============================================================================== --- projects/clangbsd/contrib/llvm/include/llvm/ADT/DenseMapInfo.h Fri Oct 23 14:27:40 2009 (r198400) +++ projects/clangbsd/contrib/llvm/include/llvm/ADT/DenseMapInfo.h Fri Oct 23 14:28:06 2009 (r198401) @@ -76,7 +76,7 @@ template<> struct DenseMapInfo struct DenseMapInfo namespace llvm { class APFloat; Modified: projects/clangbsd/contrib/llvm/include/llvm/ADT/StringExtras.h ============================================================================== --- projects/clangbsd/contrib/llvm/include/llvm/ADT/StringExtras.h Fri Oct 23 14:27:40 2009 (r198400) +++ projects/clangbsd/contrib/llvm/include/llvm/ADT/StringExtras.h Fri Oct 23 14:28:06 2009 (r198401) @@ -16,6 +16,7 @@ #include "llvm/Support/DataTypes.h" #include "llvm/ADT/APFloat.h" +#include "llvm/ADT/StringRef.h" #include #include #include @@ -216,14 +217,18 @@ void SplitString(const std::string &Sour std::vector &OutFragments, const char *Delimiters = " \t\n\v\f\r"); -/// UnescapeString - Modify the argument string, turning two character sequences -/// like '\\' 'n' into '\n'. This handles: \e \a \b \f \n \r \t \v \' \\ and -/// \num (where num is a 1-3 byte octal value). -void UnescapeString(std::string &Str); - -/// EscapeString - Modify the argument string, turning '\\' and anything that -/// doesn't satisfy std::isprint into an escape sequence. -void EscapeString(std::string &Str); +/// HashString - Hash funtion for strings. +/// +/// This is the Bernstein hash function. +// +// FIXME: Investigate whether a modified bernstein hash function performs +// better: http://eternallyconfuzzled.com/tuts/algorithms/jsw_tut_hashing.aspx +// X*33+c -> X*33^c +static inline unsigned HashString(StringRef Str, unsigned Result = 0) { + for (unsigned i = 0, e = Str.size(); i != e; ++i) + Result = Result * 33 + Str[i]; + return Result; +} } // End llvm namespace Modified: projects/clangbsd/contrib/llvm/include/llvm/ADT/StringRef.h ============================================================================== --- projects/clangbsd/contrib/llvm/include/llvm/ADT/StringRef.h Fri Oct 23 14:27:40 2009 (r198400) +++ projects/clangbsd/contrib/llvm/include/llvm/ADT/StringRef.h Fri Oct 23 14:28:06 2009 (r198401) @@ -29,7 +29,7 @@ namespace llvm { typedef const char *iterator; static const size_t npos = ~size_t(0); typedef size_t size_type; - + private: /// The start of the string, in an external buffer. const char *Data; @@ -45,15 +45,15 @@ namespace llvm { /*implicit*/ StringRef() : Data(0), Length(0) {} /// Construct a string ref from a cstring. - /*implicit*/ StringRef(const char *Str) + /*implicit*/ StringRef(const char *Str) : Data(Str) { if (Str) Length = ::strlen(Str); else Length = 0; } - + /// Construct a string ref from a pointer and length. - /*implicit*/ StringRef(const char *data, unsigned length) + /*implicit*/ StringRef(const char *data, size_t length) : Data(data), Length(length) {} /// Construct a string ref from an std::string. - /*implicit*/ StringRef(const std::string &Str) + /*implicit*/ StringRef(const std::string &Str) : Data(Str.c_str()), Length(Str.length()) {} /// @} @@ -83,7 +83,7 @@ namespace llvm { assert(!empty()); return Data[0]; } - + /// back - Get the last character in the string. char back() const { assert(!empty()); @@ -93,7 +93,7 @@ namespace llvm { /// equals - Check for string equality, this is more efficient than /// compare() when the relative ordering of inequal strings isn't needed. bool equals(const StringRef &RHS) const { - return (Length == RHS.Length && + return (Length == RHS.Length && memcmp(Data, RHS.Data, RHS.Length) == 0); } @@ -117,9 +117,9 @@ namespace llvm { /// @name Operator Overloads /// @{ - char operator[](size_t Index) const { + char operator[](size_t Index) const { assert(Index < Length && "Invalid index!"); - return Data[Index]; + return Data[Index]; } /// @} @@ -135,7 +135,7 @@ namespace llvm { /// @{ /// startswith - Check if this string starts with the given \arg Prefix. - bool startswith(const StringRef &Prefix) const { + bool startswith(const StringRef &Prefix) const { return substr(0, Prefix.Length).equals(Prefix); } @@ -164,7 +164,7 @@ namespace llvm { /// \return - The index of the first occurence of \arg Str, or npos if not /// found. size_t find(const StringRef &Str) const; - + /// rfind - Search for the last character \arg C in the string. /// /// \return - The index of the last occurence of \arg C, or npos if not @@ -179,29 +179,29 @@ namespace llvm { } return npos; } - + /// rfind - Search for the last string \arg Str in the string. /// /// \return - The index of the last occurence of \arg Str, or npos if not /// found. size_t rfind(const StringRef &Str) const; - + /// find_first_of - Find the first instance of the specified character or /// return npos if not in string. Same as find. size_type find_first_of(char C) const { return find(C); } - + /// find_first_of - Find the first character from the string 'Chars' in the /// current string or return npos if not in string. size_type find_first_of(StringRef Chars) const; - + /// find_first_not_of - Find the first character in the string that is not /// in the string 'Chars' or return npos if all are in string. Same as find. size_type find_first_not_of(StringRef Chars) const; - + /// @} /// @name Helpful Algorithms /// @{ - + /// count - Return the number of occurrences of \arg C in the string. size_t count(char C) const { size_t Count = 0; @@ -210,11 +210,11 @@ namespace llvm { ++Count; return Count; } - + /// count - Return the number of non-overlapped occurrences of \arg Str in /// the string. size_t count(const StringRef &Str) const; - + /// getAsInteger - Parse the current string as an integer of the specified /// radix. If Radix is specified as zero, this does radix autosensing using /// extended C rules: 0 is octal, 0x is hex, 0b is binary. @@ -229,7 +229,7 @@ namespace llvm { bool getAsInteger(unsigned Radix, unsigned &Result) const; // TODO: Provide overloads for int/unsigned that check for overflow. - + /// @} /// @name Substring Operations /// @{ @@ -308,24 +308,24 @@ namespace llvm { return LHS.equals(RHS); } - inline bool operator!=(const StringRef &LHS, const StringRef &RHS) { + inline bool operator!=(const StringRef &LHS, const StringRef &RHS) { return !(LHS == RHS); } - + inline bool operator<(const StringRef &LHS, const StringRef &RHS) { - return LHS.compare(RHS) == -1; + return LHS.compare(RHS) == -1; } inline bool operator<=(const StringRef &LHS, const StringRef &RHS) { - return LHS.compare(RHS) != 1; + return LHS.compare(RHS) != 1; } inline bool operator>(const StringRef &LHS, const StringRef &RHS) { - return LHS.compare(RHS) == 1; + return LHS.compare(RHS) == 1; } inline bool operator>=(const StringRef &LHS, const StringRef &RHS) { - return LHS.compare(RHS) != -1; + return LHS.compare(RHS) != -1; } /// @} Modified: projects/clangbsd/contrib/llvm/include/llvm/ADT/Triple.h ============================================================================== --- projects/clangbsd/contrib/llvm/include/llvm/ADT/Triple.h Fri Oct 23 14:27:40 2009 (r198400) +++ projects/clangbsd/contrib/llvm/include/llvm/ADT/Triple.h Fri Oct 23 14:28:06 2009 (r198401) @@ -95,7 +95,8 @@ public: NetBSD, OpenBSD, Solaris, - Win32 + Win32, + Haiku }; private: Copied: projects/clangbsd/contrib/llvm/include/llvm/ADT/ValueMap.h (from r198399, vendor/llvm/dist/include/llvm/ADT/ValueMap.h) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ projects/clangbsd/contrib/llvm/include/llvm/ADT/ValueMap.h Fri Oct 23 14:28:06 2009 (r198401, copy of r198399, vendor/llvm/dist/include/llvm/ADT/ValueMap.h) @@ -0,0 +1,365 @@ +//===- llvm/ADT/ValueMap.h - Safe map from Values to data -------*- C++ -*-===// +// +// The LLVM Compiler Infrastructure +// +// This file is distributed under the University of Illinois Open Source +// License. See LICENSE.TXT for details. +// +//===----------------------------------------------------------------------===// +// +// This file defines the ValueMap class. +// +//===----------------------------------------------------------------------===// + +#ifndef LLVM_ADT_VALUEMAP_H +#define LLVM_ADT_VALUEMAP_H + +#include "llvm/ADT/DenseMap.h" +#include "llvm/Support/ValueHandle.h" +#include "llvm/Support/type_traits.h" +#include "llvm/System/Mutex.h" + +#include + +namespace llvm { + +template +class ValueMapCallbackVH; + +template +class ValueMapIterator; +template +class ValueMapConstIterator; + +template +struct ValueMapConfig { + /// If FollowRAUW is true, the ValueMap will update mappings on RAUW. If it's + /// false, the ValueMap will leave the original mapping in place. + enum { FollowRAUW = true }; + + // All methods will be called with a first argument of type ExtraData. The + // default implementations in this class take a templated first argument so + // that users' subclasses can use any type they want without having to + // override all the defaults. + struct ExtraData {}; + + template + static void onRAUW(const ExtraDataT &Data, KeyT Old, KeyT New) {} + template + static void onDeleted(const ExtraDataT &Data, KeyT Old) {} + + /// Returns a mutex that should be acquired around any changes to the map. + /// This is only acquired from the CallbackVH (and held around calls to onRAUW + /// and onDeleted) and not inside other ValueMap methods. NULL means that no + /// mutex is necessary. + template + static sys::Mutex *getMutex(const ExtraDataT &Data) { return NULL; } +}; + +/// ValueMap maps Value* or any subclass to an arbitrary other +/// type. It provides the DenseMap interface. When the key values are +/// deleted or RAUWed, ValueMap relies on the Config to decide what to +/// do. Config parameters should inherit from ValueMapConfig to +/// get default implementations of all the methods ValueMap uses. +/// +/// By default, when a key is RAUWed from V1 to V2, the old mapping +/// V1->target is removed, and a new mapping V2->target is added. If +/// V2 already existed, its old target is overwritten. When a key is +/// deleted, its mapping is removed. You can override Config to get +/// called back on each event. +template, + typename ValueInfoT = DenseMapInfo > +class ValueMap { + friend class ValueMapCallbackVH; + typedef ValueMapCallbackVH ValueMapCVH; + typedef DenseMap, + ValueInfoT> MapT; + typedef typename Config::ExtraData ExtraData; + MapT Map; + ExtraData Data; +public: + typedef KeyT key_type; + typedef ValueT mapped_type; + typedef std::pair value_type; + + ValueMap(const ValueMap& Other) : Map(Other.Map), Data(Other.Data) {} + + explicit ValueMap(unsigned NumInitBuckets = 64) + : Map(NumInitBuckets), Data() {} + explicit ValueMap(const ExtraData &Data, unsigned NumInitBuckets = 64) + : Map(NumInitBuckets), Data(Data) {} + + ~ValueMap() {} + + typedef ValueMapIterator iterator; + typedef ValueMapConstIterator const_iterator; + inline iterator begin() { return iterator(Map.begin()); } + inline iterator end() { return iterator(Map.end()); } + inline const_iterator begin() const { return const_iterator(Map.begin()); } + inline const_iterator end() const { return const_iterator(Map.end()); } + + bool empty() const { return Map.empty(); } + unsigned size() const { return Map.size(); } + + /// Grow the map so that it has at least Size buckets. Does not shrink + void resize(size_t Size) { Map.resize(Size); } + + void clear() { Map.clear(); } + + /// count - Return true if the specified key is in the map. + bool count(const KeyT &Val) const { + return Map.count(Wrap(Val)); + } + + iterator find(const KeyT &Val) { + return iterator(Map.find(Wrap(Val))); + } + const_iterator find(const KeyT &Val) const { + return const_iterator(Map.find(Wrap(Val))); + } + + /// lookup - Return the entry for the specified key, or a default + /// constructed value if no such entry exists. + ValueT lookup(const KeyT &Val) const { + return Map.lookup(Wrap(Val)); + } + + // Inserts key,value pair into the map if the key isn't already in the map. + // If the key is already in the map, it returns false and doesn't update the + // value. + std::pair insert(const std::pair &KV) { + std::pair map_result= + Map.insert(std::make_pair(Wrap(KV.first), KV.second)); + return std::make_pair(iterator(map_result.first), map_result.second); + } + + /// insert - Range insertion of pairs. + template + void insert(InputIt I, InputIt E) { + for (; I != E; ++I) + insert(*I); + } + + + bool erase(const KeyT &Val) { + return Map.erase(Wrap(Val)); + } + bool erase(iterator I) { + return Map.erase(I.base()); + } + + value_type& FindAndConstruct(const KeyT &Key) { + return Map.FindAndConstruct(Wrap(Key)); + } + + ValueT &operator[](const KeyT &Key) { + return Map[Wrap(Key)]; + } + + ValueMap& operator=(const ValueMap& Other) { + Map = Other.Map; + Data = Other.Data; + return *this; + } + + /// isPointerIntoBucketsArray - Return true if the specified pointer points + /// somewhere into the ValueMap's array of buckets (i.e. either to a key or + /// value in the ValueMap). + bool isPointerIntoBucketsArray(const void *Ptr) const { + return Map.isPointerIntoBucketsArray(Ptr); + } + + /// getPointerIntoBucketsArray() - Return an opaque pointer into the buckets + /// array. In conjunction with the previous method, this can be used to + /// determine whether an insertion caused the ValueMap to reallocate. + const void *getPointerIntoBucketsArray() const { + return Map.getPointerIntoBucketsArray(); + } + +private: + ValueMapCVH Wrap(KeyT key) const { + // The only way the resulting CallbackVH could try to modify *this (making + // the const_cast incorrect) is if it gets inserted into the map. But then + // this function must have been called from a non-const method, making the + // const_cast ok. + return ValueMapCVH(key, const_cast(this)); + } +}; + +template +class ValueMapCallbackVH : public CallbackVH { + friend class ValueMap; + friend class DenseMapInfo; + typedef ValueMap ValueMapT; + typedef typename llvm::remove_pointer::type KeySansPointerT; + + ValueMapT *Map; + + ValueMapCallbackVH(KeyT Key, ValueMapT *Map) + : CallbackVH(const_cast(static_cast(Key))), + Map(Map) {} + +public: + KeyT Unwrap() const { return cast_or_null(getValPtr()); } + + virtual void deleted() { + // Make a copy that won't get changed even when *this is destroyed. + ValueMapCallbackVH Copy(*this); + sys::Mutex *M = Config::getMutex(Copy.Map->Data); + if (M) + M->acquire(); + Config::onDeleted(Copy.Map->Data, Copy.Unwrap()); // May destroy *this. + Copy.Map->Map.erase(Copy); // Definitely destroys *this. + if (M) + M->release(); + } + virtual void allUsesReplacedWith(Value *new_key) { + assert(isa(new_key) && + "Invalid RAUW on key of ValueMap<>"); + // Make a copy that won't get changed even when *this is destroyed. + ValueMapCallbackVH Copy(*this); + sys::Mutex *M = Config::getMutex(Copy.Map->Data); + if (M) + M->acquire(); + + KeyT typed_new_key = cast(new_key); + // Can destroy *this: + Config::onRAUW(Copy.Map->Data, Copy.Unwrap(), typed_new_key); + if (Config::FollowRAUW) { + typename ValueMapT::MapT::iterator I = Copy.Map->Map.find(Copy); + // I could == Copy.Map->Map.end() if the onRAUW callback already + // removed the old mapping. + if (I != Copy.Map->Map.end()) { + ValueT Target(I->second); + Copy.Map->Map.erase(I); // Definitely destroys *this. + Copy.Map->insert(std::make_pair(typed_new_key, Target)); + } + } + if (M) + M->release(); + } +}; + +template +struct DenseMapInfo > { + typedef ValueMapCallbackVH VH; + typedef DenseMapInfo PointerInfo; + + static inline VH getEmptyKey() { + return VH(PointerInfo::getEmptyKey(), NULL); + } + static inline VH getTombstoneKey() { + return VH(PointerInfo::getTombstoneKey(), NULL); + } + static unsigned getHashValue(const VH &Val) { + return PointerInfo::getHashValue(Val.Unwrap()); + } + static bool isEqual(const VH &LHS, const VH &RHS) { + return LHS == RHS; + } + static bool isPod() { return false; } +}; + + +template +class ValueMapIterator : *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-projects@FreeBSD.ORG Fri Oct 23 14:31:48 2009 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 3DC941065670; Fri, 23 Oct 2009 14:31:48 +0000 (UTC) (envelope-from rdivacky@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 280E08FC08; Fri, 23 Oct 2009 14:31:48 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n9NEVmsw063596; Fri, 23 Oct 2009 14:31:48 GMT (envelope-from rdivacky@svn.freebsd.org) Received: (from rdivacky@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n9NEVmZq063583; Fri, 23 Oct 2009 14:31:48 GMT (envelope-from rdivacky@svn.freebsd.org) Message-Id: <200910231431.n9NEVmZq063583@svn.freebsd.org> From: Roman Divacky Date: Fri, 23 Oct 2009 14:31:47 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r198402 - in projects/clangbsd/contrib/llvm/tools/clang: . include/clang-c include/clang/AST include/clang/Analysis/PathSensitive include/clang/Analysis/Support include/clang/Basic incl... X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 23 Oct 2009 14:31:48 -0000 Author: rdivacky Date: Fri Oct 23 14:31:47 2009 New Revision: 198402 URL: http://svn.freebsd.org/changeset/base/198402 Log: Merge clang from vendor. Added: projects/clangbsd/contrib/llvm/tools/clang/include/clang/AST/TypeLocBuilder.h - copied unchanged from r198401, vendor/clang/dist/include/clang/AST/TypeLocBuilder.h projects/clangbsd/contrib/llvm/tools/clang/test/CXX/dcl.decl/dcl.init/dcl.init.aggr/p4.cpp - copied unchanged from r198401, vendor/clang/dist/test/CXX/dcl.decl/dcl.init/dcl.init.aggr/p4.cpp projects/clangbsd/contrib/llvm/tools/clang/test/CXX/temp/temp.spec/p5.cpp - copied unchanged from r198401, vendor/clang/dist/test/CXX/temp/temp.spec/p5.cpp projects/clangbsd/contrib/llvm/tools/clang/test/CXX/temp/temp.spec/temp.explicit/p1-0x.cpp - copied unchanged from r198401, vendor/clang/dist/test/CXX/temp/temp.spec/temp.explicit/p1-0x.cpp projects/clangbsd/contrib/llvm/tools/clang/test/CXX/temp/temp.spec/temp.explicit/p1-emit.cpp - copied unchanged from r198401, vendor/clang/dist/test/CXX/temp/temp.spec/temp.explicit/p1-emit.cpp projects/clangbsd/contrib/llvm/tools/clang/test/CXX/temp/temp.spec/temp.explicit/p1.cpp - copied unchanged from r198401, vendor/clang/dist/test/CXX/temp/temp.spec/temp.explicit/p1.cpp projects/clangbsd/contrib/llvm/tools/clang/test/CXX/temp/temp.spec/temp.explicit/p2.cpp - copied unchanged from r198401, vendor/clang/dist/test/CXX/temp/temp.spec/temp.explicit/p2.cpp projects/clangbsd/contrib/llvm/tools/clang/test/CXX/temp/temp.spec/temp.explicit/p3.cpp - copied unchanged from r198401, vendor/clang/dist/test/CXX/temp/temp.spec/temp.explicit/p3.cpp projects/clangbsd/contrib/llvm/tools/clang/test/CXX/temp/temp.spec/temp.explicit/p4.cpp - copied unchanged from r198401, vendor/clang/dist/test/CXX/temp/temp.spec/temp.explicit/p4.cpp projects/clangbsd/contrib/llvm/tools/clang/test/CodeGen/2009-10-20-GlobalDebug.c - copied unchanged from r198401, vendor/clang/dist/test/CodeGen/2009-10-20-GlobalDebug.c projects/clangbsd/contrib/llvm/tools/clang/test/CodeGenCXX/address-of-fntemplate.cpp - copied unchanged from r198401, vendor/clang/dist/test/CodeGenCXX/address-of-fntemplate.cpp projects/clangbsd/contrib/llvm/tools/clang/test/CodeGenCXX/call-arg-zero-temp.cpp - copied unchanged from r198401, vendor/clang/dist/test/CodeGenCXX/call-arg-zero-temp.cpp projects/clangbsd/contrib/llvm/tools/clang/test/CodeGenCXX/casts.cpp - copied unchanged from r198401, vendor/clang/dist/test/CodeGenCXX/casts.cpp projects/clangbsd/contrib/llvm/tools/clang/test/CodeGenCXX/derived-to-base-conv.cpp - copied unchanged from r198401, vendor/clang/dist/test/CodeGenCXX/derived-to-base-conv.cpp projects/clangbsd/contrib/llvm/tools/clang/test/CodeGenCXX/ptr-to-datamember.cpp - copied unchanged from r198401, vendor/clang/dist/test/CodeGenCXX/ptr-to-datamember.cpp projects/clangbsd/contrib/llvm/tools/clang/test/CodeGenCXX/temporaries.cpp - copied unchanged from r198401, vendor/clang/dist/test/CodeGenCXX/temporaries.cpp projects/clangbsd/contrib/llvm/tools/clang/test/Driver/cxx-pth.cpp - copied unchanged from r198401, vendor/clang/dist/test/Driver/cxx-pth.cpp projects/clangbsd/contrib/llvm/tools/clang/test/Index/c-index-pch.c - copied unchanged from r198401, vendor/clang/dist/test/Index/c-index-pch.c projects/clangbsd/contrib/llvm/tools/clang/test/Index/c-index-pch.h - copied unchanged from r198401, vendor/clang/dist/test/Index/c-index-pch.h projects/clangbsd/contrib/llvm/tools/clang/test/SemaCXX/ptrtomember-overload-resolution.cpp - copied unchanged from r198401, vendor/clang/dist/test/SemaCXX/ptrtomember-overload-resolution.cpp projects/clangbsd/contrib/llvm/tools/clang/test/SemaCXX/switch.cpp - copied unchanged from r198401, vendor/clang/dist/test/SemaCXX/switch.cpp projects/clangbsd/contrib/llvm/tools/clang/www/UniversalDriver.html - copied unchanged from r198401, vendor/clang/dist/www/UniversalDriver.html Modified: projects/clangbsd/contrib/llvm/tools/clang/ (props changed) projects/clangbsd/contrib/llvm/tools/clang/include/clang-c/Index.h projects/clangbsd/contrib/llvm/tools/clang/include/clang/AST/ASTContext.h projects/clangbsd/contrib/llvm/tools/clang/include/clang/AST/Attr.h projects/clangbsd/contrib/llvm/tools/clang/include/clang/AST/CXXInheritance.h projects/clangbsd/contrib/llvm/tools/clang/include/clang/AST/CanonicalType.h projects/clangbsd/contrib/llvm/tools/clang/include/clang/AST/Decl.h projects/clangbsd/contrib/llvm/tools/clang/include/clang/AST/DeclBase.h projects/clangbsd/contrib/llvm/tools/clang/include/clang/AST/DeclObjC.h projects/clangbsd/contrib/llvm/tools/clang/include/clang/AST/Expr.h projects/clangbsd/contrib/llvm/tools/clang/include/clang/AST/Type.h projects/clangbsd/contrib/llvm/tools/clang/include/clang/AST/TypeLoc.h projects/clangbsd/contrib/llvm/tools/clang/include/clang/AST/TypeLocNodes.def projects/clangbsd/contrib/llvm/tools/clang/include/clang/AST/TypeLocVisitor.h projects/clangbsd/contrib/llvm/tools/clang/include/clang/AST/TypeNodes.def projects/clangbsd/contrib/llvm/tools/clang/include/clang/Analysis/PathSensitive/AnalysisContext.h projects/clangbsd/contrib/llvm/tools/clang/include/clang/Analysis/PathSensitive/AnalysisManager.h projects/clangbsd/contrib/llvm/tools/clang/include/clang/Analysis/PathSensitive/Store.h projects/clangbsd/contrib/llvm/tools/clang/include/clang/Analysis/Support/BumpVector.h projects/clangbsd/contrib/llvm/tools/clang/include/clang/Basic/Diagnostic.h projects/clangbsd/contrib/llvm/tools/clang/include/clang/Basic/DiagnosticParseKinds.td projects/clangbsd/contrib/llvm/tools/clang/include/clang/Basic/DiagnosticSemaKinds.td projects/clangbsd/contrib/llvm/tools/clang/include/clang/Basic/FileManager.h projects/clangbsd/contrib/llvm/tools/clang/include/clang/Basic/IdentifierTable.h projects/clangbsd/contrib/llvm/tools/clang/include/clang/Basic/OnDiskHashTable.h projects/clangbsd/contrib/llvm/tools/clang/include/clang/Basic/SourceManager.h projects/clangbsd/contrib/llvm/tools/clang/include/clang/Basic/TargetInfo.h projects/clangbsd/contrib/llvm/tools/clang/include/clang/Frontend/ASTUnit.h projects/clangbsd/contrib/llvm/tools/clang/include/clang/Frontend/PCHBitCodes.h projects/clangbsd/contrib/llvm/tools/clang/include/clang/Frontend/PCHReader.h projects/clangbsd/contrib/llvm/tools/clang/include/clang/Frontend/PCHWriter.h projects/clangbsd/contrib/llvm/tools/clang/include/clang/Index/ASTLocation.h projects/clangbsd/contrib/llvm/tools/clang/include/clang/Index/Indexer.h projects/clangbsd/contrib/llvm/tools/clang/include/clang/Index/Utils.h projects/clangbsd/contrib/llvm/tools/clang/include/clang/Parse/Action.h projects/clangbsd/contrib/llvm/tools/clang/lib/AST/ASTContext.cpp projects/clangbsd/contrib/llvm/tools/clang/lib/AST/CXXInheritance.cpp projects/clangbsd/contrib/llvm/tools/clang/lib/AST/Decl.cpp projects/clangbsd/contrib/llvm/tools/clang/lib/AST/DeclTemplate.cpp projects/clangbsd/contrib/llvm/tools/clang/lib/AST/DeclarationName.cpp projects/clangbsd/contrib/llvm/tools/clang/lib/AST/Expr.cpp projects/clangbsd/contrib/llvm/tools/clang/lib/AST/Stmt.cpp projects/clangbsd/contrib/llvm/tools/clang/lib/AST/StmtDumper.cpp projects/clangbsd/contrib/llvm/tools/clang/lib/AST/StmtPrinter.cpp projects/clangbsd/contrib/llvm/tools/clang/lib/AST/Type.cpp projects/clangbsd/contrib/llvm/tools/clang/lib/AST/TypeLoc.cpp projects/clangbsd/contrib/llvm/tools/clang/lib/Analysis/AnalysisContext.cpp projects/clangbsd/contrib/llvm/tools/clang/lib/Analysis/BasicObjCFoundationChecks.cpp projects/clangbsd/contrib/llvm/tools/clang/lib/Analysis/BasicStore.cpp projects/clangbsd/contrib/llvm/tools/clang/lib/Analysis/CFG.cpp projects/clangbsd/contrib/llvm/tools/clang/lib/Analysis/CFRefCount.cpp projects/clangbsd/contrib/llvm/tools/clang/lib/Analysis/GRExprEngine.cpp projects/clangbsd/contrib/llvm/tools/clang/lib/Analysis/GRExprEngineInternalChecks.cpp projects/clangbsd/contrib/llvm/tools/clang/lib/Analysis/LiveVariables.cpp projects/clangbsd/contrib/llvm/tools/clang/lib/Analysis/RegionStore.cpp projects/clangbsd/contrib/llvm/tools/clang/lib/Analysis/SimpleSValuator.cpp projects/clangbsd/contrib/llvm/tools/clang/lib/Basic/Diagnostic.cpp projects/clangbsd/contrib/llvm/tools/clang/lib/Basic/FileManager.cpp projects/clangbsd/contrib/llvm/tools/clang/lib/Basic/IdentifierTable.cpp projects/clangbsd/contrib/llvm/tools/clang/lib/Basic/TargetInfo.cpp projects/clangbsd/contrib/llvm/tools/clang/lib/Basic/Targets.cpp projects/clangbsd/contrib/llvm/tools/clang/lib/CodeGen/CGBlocks.cpp projects/clangbsd/contrib/llvm/tools/clang/lib/CodeGen/CGBlocks.h projects/clangbsd/contrib/llvm/tools/clang/lib/CodeGen/CGCXX.cpp projects/clangbsd/contrib/llvm/tools/clang/lib/CodeGen/CGCall.cpp projects/clangbsd/contrib/llvm/tools/clang/lib/CodeGen/CGDebugInfo.cpp projects/clangbsd/contrib/llvm/tools/clang/lib/CodeGen/CGDebugInfo.h projects/clangbsd/contrib/llvm/tools/clang/lib/CodeGen/CGDecl.cpp projects/clangbsd/contrib/llvm/tools/clang/lib/CodeGen/CGExpr.cpp projects/clangbsd/contrib/llvm/tools/clang/lib/CodeGen/CGExprAgg.cpp projects/clangbsd/contrib/llvm/tools/clang/lib/CodeGen/CGExprConstant.cpp projects/clangbsd/contrib/llvm/tools/clang/lib/CodeGen/CGExprScalar.cpp projects/clangbsd/contrib/llvm/tools/clang/lib/CodeGen/CGObjCMac.cpp projects/clangbsd/contrib/llvm/tools/clang/lib/CodeGen/CGVtable.cpp projects/clangbsd/contrib/llvm/tools/clang/lib/CodeGen/CodeGenFunction.cpp projects/clangbsd/contrib/llvm/tools/clang/lib/CodeGen/CodeGenFunction.h projects/clangbsd/contrib/llvm/tools/clang/lib/CodeGen/CodeGenModule.cpp projects/clangbsd/contrib/llvm/tools/clang/lib/CodeGen/Mangle.cpp projects/clangbsd/contrib/llvm/tools/clang/lib/CodeGen/TargetABIInfo.cpp projects/clangbsd/contrib/llvm/tools/clang/lib/Driver/ToolChains.cpp projects/clangbsd/contrib/llvm/tools/clang/lib/Driver/Tools.cpp projects/clangbsd/contrib/llvm/tools/clang/lib/Frontend/ASTUnit.cpp projects/clangbsd/contrib/llvm/tools/clang/lib/Frontend/AnalysisConsumer.cpp projects/clangbsd/contrib/llvm/tools/clang/lib/Frontend/CacheTokens.cpp projects/clangbsd/contrib/llvm/tools/clang/lib/Frontend/GeneratePCH.cpp projects/clangbsd/contrib/llvm/tools/clang/lib/Frontend/InitHeaderSearch.cpp projects/clangbsd/contrib/llvm/tools/clang/lib/Frontend/InitPreprocessor.cpp projects/clangbsd/contrib/llvm/tools/clang/lib/Frontend/PCHReader.cpp projects/clangbsd/contrib/llvm/tools/clang/lib/Frontend/PCHReaderDecl.cpp projects/clangbsd/contrib/llvm/tools/clang/lib/Frontend/PCHWriter.cpp projects/clangbsd/contrib/llvm/tools/clang/lib/Frontend/PCHWriterDecl.cpp projects/clangbsd/contrib/llvm/tools/clang/lib/Frontend/PrintPreprocessedOutput.cpp projects/clangbsd/contrib/llvm/tools/clang/lib/Frontend/RewriteMacros.cpp projects/clangbsd/contrib/llvm/tools/clang/lib/Frontend/RewriteObjC.cpp projects/clangbsd/contrib/llvm/tools/clang/lib/Frontend/TextDiagnosticPrinter.cpp projects/clangbsd/contrib/llvm/tools/clang/lib/Index/ASTLocation.cpp projects/clangbsd/contrib/llvm/tools/clang/lib/Index/ASTVisitor.h projects/clangbsd/contrib/llvm/tools/clang/lib/Index/DeclReferenceMap.cpp projects/clangbsd/contrib/llvm/tools/clang/lib/Index/Entity.cpp projects/clangbsd/contrib/llvm/tools/clang/lib/Index/GlobalSelector.cpp projects/clangbsd/contrib/llvm/tools/clang/lib/Index/ResolveLocation.cpp projects/clangbsd/contrib/llvm/tools/clang/lib/Lex/PPDirectives.cpp projects/clangbsd/contrib/llvm/tools/clang/lib/Lex/PTHLexer.cpp projects/clangbsd/contrib/llvm/tools/clang/lib/Lex/Preprocessor.cpp projects/clangbsd/contrib/llvm/tools/clang/lib/Lex/TokenConcatenation.cpp projects/clangbsd/contrib/llvm/tools/clang/lib/Parse/AttributeList.cpp projects/clangbsd/contrib/llvm/tools/clang/lib/Parse/ParseExpr.cpp projects/clangbsd/contrib/llvm/tools/clang/lib/Parse/ParseExprCXX.cpp projects/clangbsd/contrib/llvm/tools/clang/lib/Parse/ParseInit.cpp projects/clangbsd/contrib/llvm/tools/clang/lib/Parse/ParseObjc.cpp projects/clangbsd/contrib/llvm/tools/clang/lib/Parse/ParseStmt.cpp projects/clangbsd/contrib/llvm/tools/clang/lib/Parse/Parser.cpp projects/clangbsd/contrib/llvm/tools/clang/lib/Rewrite/RewriteRope.cpp projects/clangbsd/contrib/llvm/tools/clang/lib/Sema/Sema.cpp projects/clangbsd/contrib/llvm/tools/clang/lib/Sema/Sema.h projects/clangbsd/contrib/llvm/tools/clang/lib/Sema/SemaCXXCast.cpp projects/clangbsd/contrib/llvm/tools/clang/lib/Sema/SemaChecking.cpp projects/clangbsd/contrib/llvm/tools/clang/lib/Sema/SemaCodeComplete.cpp projects/clangbsd/contrib/llvm/tools/clang/lib/Sema/SemaDecl.cpp projects/clangbsd/contrib/llvm/tools/clang/lib/Sema/SemaDeclAttr.cpp projects/clangbsd/contrib/llvm/tools/clang/lib/Sema/SemaDeclCXX.cpp projects/clangbsd/contrib/llvm/tools/clang/lib/Sema/SemaExpr.cpp projects/clangbsd/contrib/llvm/tools/clang/lib/Sema/SemaExprCXX.cpp projects/clangbsd/contrib/llvm/tools/clang/lib/Sema/SemaExprObjC.cpp projects/clangbsd/contrib/llvm/tools/clang/lib/Sema/SemaInit.cpp projects/clangbsd/contrib/llvm/tools/clang/lib/Sema/SemaOverload.cpp projects/clangbsd/contrib/llvm/tools/clang/lib/Sema/SemaStmt.cpp projects/clangbsd/contrib/llvm/tools/clang/lib/Sema/SemaTemplate.cpp projects/clangbsd/contrib/llvm/tools/clang/lib/Sema/SemaTemplateDeduction.cpp projects/clangbsd/contrib/llvm/tools/clang/lib/Sema/SemaTemplateInstantiate.cpp projects/clangbsd/contrib/llvm/tools/clang/lib/Sema/SemaTemplateInstantiateDecl.cpp projects/clangbsd/contrib/llvm/tools/clang/lib/Sema/SemaType.cpp projects/clangbsd/contrib/llvm/tools/clang/lib/Sema/TreeTransform.h projects/clangbsd/contrib/llvm/tools/clang/test/Analysis/misc-ps-region-store.m projects/clangbsd/contrib/llvm/tools/clang/test/Analysis/misc-ps.m projects/clangbsd/contrib/llvm/tools/clang/test/Analysis/refcnt_naming.m projects/clangbsd/contrib/llvm/tools/clang/test/Analysis/retain-release-region-store.m projects/clangbsd/contrib/llvm/tools/clang/test/Analysis/retain-release.m projects/clangbsd/contrib/llvm/tools/clang/test/CMakeLists.txt projects/clangbsd/contrib/llvm/tools/clang/test/CodeGen/builtins.c projects/clangbsd/contrib/llvm/tools/clang/test/CodeGen/debug-info.c projects/clangbsd/contrib/llvm/tools/clang/test/CodeGen/ext-vector-shuffle.c projects/clangbsd/contrib/llvm/tools/clang/test/CodeGen/vector.c projects/clangbsd/contrib/llvm/tools/clang/test/CodeGenCXX/default-arg-temps.cpp projects/clangbsd/contrib/llvm/tools/clang/test/CodeGenCXX/expr.cpp projects/clangbsd/contrib/llvm/tools/clang/test/CodeGenCXX/mangle-subst.cpp projects/clangbsd/contrib/llvm/tools/clang/test/CodeGenCXX/member-function-pointers.cpp projects/clangbsd/contrib/llvm/tools/clang/test/CodeGenCXX/references.cpp projects/clangbsd/contrib/llvm/tools/clang/test/Driver/darwin-ld.c projects/clangbsd/contrib/llvm/tools/clang/test/Misc/message-length.c projects/clangbsd/contrib/llvm/tools/clang/test/Preprocessor/macro_paste_bcpl_comment.c projects/clangbsd/contrib/llvm/tools/clang/test/Sema/attr-noreturn.c projects/clangbsd/contrib/llvm/tools/clang/test/Sema/exprs.c projects/clangbsd/contrib/llvm/tools/clang/test/Sema/switch.c projects/clangbsd/contrib/llvm/tools/clang/test/Sema/vector-assign.c projects/clangbsd/contrib/llvm/tools/clang/test/Sema/vector-init.c projects/clangbsd/contrib/llvm/tools/clang/test/SemaCXX/abstract.cpp projects/clangbsd/contrib/llvm/tools/clang/test/SemaCXX/ambiguous-builtin-unary-operator.cpp projects/clangbsd/contrib/llvm/tools/clang/test/SemaCXX/bool.cpp projects/clangbsd/contrib/llvm/tools/clang/test/SemaCXX/builtin-ptrtomember-ambig.cpp projects/clangbsd/contrib/llvm/tools/clang/test/SemaCXX/builtin-ptrtomember-overload.cpp projects/clangbsd/contrib/llvm/tools/clang/test/SemaCXX/exception-spec.cpp projects/clangbsd/contrib/llvm/tools/clang/test/SemaCXX/incomplete-call.cpp projects/clangbsd/contrib/llvm/tools/clang/test/SemaCXX/member-expr.cpp projects/clangbsd/contrib/llvm/tools/clang/test/SemaCXX/overloaded-builtin-operators.cpp projects/clangbsd/contrib/llvm/tools/clang/test/SemaCXX/overloaded-operator.cpp projects/clangbsd/contrib/llvm/tools/clang/test/SemaCXX/static-cast.cpp projects/clangbsd/contrib/llvm/tools/clang/test/SemaObjC/objc-string-constant.m projects/clangbsd/contrib/llvm/tools/clang/test/SemaObjC/try-catch.m projects/clangbsd/contrib/llvm/tools/clang/test/SemaTemplate/extern-templates.cpp projects/clangbsd/contrib/llvm/tools/clang/test/SemaTemplate/fun-template-def.cpp projects/clangbsd/contrib/llvm/tools/clang/test/SemaTemplate/instantiate-expr-2.cpp projects/clangbsd/contrib/llvm/tools/clang/test/SemaTemplate/member-access-expr.cpp projects/clangbsd/contrib/llvm/tools/clang/test/SemaTemplate/member-template-access-expr.cpp projects/clangbsd/contrib/llvm/tools/clang/test/SemaTemplate/variadic-class-template-2.cpp projects/clangbsd/contrib/llvm/tools/clang/tools/CIndex/CIndex.cpp projects/clangbsd/contrib/llvm/tools/clang/tools/CIndex/CIndex.exports projects/clangbsd/contrib/llvm/tools/clang/tools/CIndex/CMakeLists.txt projects/clangbsd/contrib/llvm/tools/clang/tools/c-index-test/c-index-test.c projects/clangbsd/contrib/llvm/tools/clang/tools/clang-cc/clang-cc.cpp projects/clangbsd/contrib/llvm/tools/clang/tools/index-test/index-test.cpp projects/clangbsd/contrib/llvm/tools/clang/www/OpenProjects.html projects/clangbsd/contrib/llvm/tools/clang/www/analyzer/latest_checker.html.incl projects/clangbsd/contrib/llvm/tools/clang/www/comparison.html projects/clangbsd/contrib/llvm/tools/clang/www/cxx_status.html Modified: projects/clangbsd/contrib/llvm/tools/clang/include/clang-c/Index.h ============================================================================== --- projects/clangbsd/contrib/llvm/tools/clang/include/clang-c/Index.h Fri Oct 23 14:28:06 2009 (r198401) +++ projects/clangbsd/contrib/llvm/tools/clang/include/clang-c/Index.h Fri Oct 23 14:31:47 2009 (r198402) @@ -99,18 +99,84 @@ typedef struct { } CXCursor; /* A unique token for looking up "visible" CXDecls from a CXTranslationUnit. */ -typedef void *CXEntity; +typedef void *CXEntity; -CXIndex clang_createIndex(); +/** + * \brief clang_createIndex() provides a shared context for creating + * translation units. It provides two options: + * + * - excludeDeclarationsFromPCH: When non-zero, allows enumeration of "local" + * declarations (when loading any new translation units). A "local" declaration + * is one that belongs in the translation unit itself and not in a precompiled + * header that was used by the translation unit. If zero, all declarations + * will be enumerated. + * + * - displayDiagnostics: when non-zero, diagnostics will be output. If zero, + * diagnostics will be ignored. + * + * Here is an example: + * + * // excludeDeclsFromPCH = 1, displayDiagnostics = 1 + * Idx = clang_createIndex(1, 1); + * + * // IndexTest.pch was produced with the following command: + * // "clang -x c IndexTest.h -emit-ast -o IndexTest.pch" + * TU = clang_createTranslationUnit(Idx, "IndexTest.pch"); + * + * // This will load all the symbols from 'IndexTest.pch' + * clang_loadTranslationUnit(TU, TranslationUnitVisitor, 0); + * clang_disposeTranslationUnit(TU); + * + * // This will load all the symbols from 'IndexTest.c', excluding symbols + * // from 'IndexTest.pch'. + * char *args[] = { "-Xclang", "-include-pch=IndexTest.pch", 0 }; + * TU = clang_createTranslationUnitFromSourceFile(Idx, "IndexTest.c", 2, args); + * clang_loadTranslationUnit(TU, TranslationUnitVisitor, 0); + * clang_disposeTranslationUnit(TU); + * + * This process of creating the 'pch', loading it separately, and using it (via + * -include-pch) allows 'excludeDeclsFromPCH' to remove redundant callbacks + * (which gives the indexer the same performance benefit as the compiler). + */ +CXIndex clang_createIndex(int excludeDeclarationsFromPCH, + int displayDiagnostics); void clang_disposeIndex(CXIndex); const char *clang_getTranslationUnitSpelling(CXTranslationUnit CTUnit); +/* + * \brief Create a translation unit from an AST file (-emit-ast). + */ CXTranslationUnit clang_createTranslationUnit( CXIndex, const char *ast_filename ); +/** + * \brief Destroy the specified CXTranslationUnit object. + */ void clang_disposeTranslationUnit(CXTranslationUnit); +/** + * \brief Return the CXTranslationUnit for a given source file and the provided + * command line arguments one would pass to the compiler. + * + * Note: The 'source_filename' argument is optional. If the caller provides a NULL pointer, + * the name of the source file is expected to reside in the specified command line arguments. + * + * Note: When encountered in 'clang_command_line_args', the following options are ignored: + * + * '-c' + * '-emit-ast' + * '-fsyntax-only' + * '-o ' (both '-o' and '' are ignored) + * + */ +CXTranslationUnit clang_createTranslationUnitFromSourceFile( + CXIndex CIdx, + const char *source_filename /* specify NULL if the source file is in clang_command_line_args */, + int num_clang_command_line_args, + const char **clang_command_line_args +); + /* Usage: clang_loadTranslationUnit(). Will load the toplevel declarations within a translation unit, issuing a 'callback' for each one. @@ -182,9 +248,28 @@ const char *clang_getDeclSource(CXDecl); /* * CXCursor Operations. */ +/** + Usage: clang_getCursor() will translate a source/line/column position + into an AST cursor (to derive semantic information from the source code). + */ CXCursor clang_getCursor(CXTranslationUnit, const char *source_name, unsigned line, unsigned column); +/** + Usage: clang_getCursorWithHint() provides the same functionality as + clang_getCursor() except that it takes an option 'hint' argument. + The 'hint' is a temporary CXLookupHint object (whose lifetime is managed by + the caller) that should be initialized with clang_initCXLookupHint(). + + FIXME: Add a better comment once getCursorWithHint() has more functionality. + */ +typedef CXCursor CXLookupHint; +CXCursor clang_getCursorWithHint(CXTranslationUnit, const char *source_name, + unsigned line, unsigned column, + CXLookupHint *hint); + +void clang_initCXLookupHint(CXLookupHint *hint); + enum CXCursorKind clang_getCursorKind(CXCursor); unsigned clang_isDeclaration(enum CXCursorKind); unsigned clang_isReference(enum CXCursorKind); Modified: projects/clangbsd/contrib/llvm/tools/clang/include/clang/AST/ASTContext.h ============================================================================== --- projects/clangbsd/contrib/llvm/tools/clang/include/clang/AST/ASTContext.h Fri Oct 23 14:28:06 2009 (r198401) +++ projects/clangbsd/contrib/llvm/tools/clang/include/clang/AST/ASTContext.h Fri Oct 23 14:31:47 2009 (r198402) @@ -81,12 +81,12 @@ class ASTContext { llvm::FoldingSet DependentTypeOfExprTypes; llvm::FoldingSet DependentDecltypeTypes; llvm::FoldingSet TemplateTypeParmTypes; + llvm::FoldingSet SubstTemplateTypeParmTypes; llvm::FoldingSet TemplateSpecializationTypes; llvm::FoldingSet QualifiedNameTypes; llvm::FoldingSet TypenameTypes; llvm::FoldingSet ObjCInterfaceTypes; llvm::FoldingSet ObjCObjectPointerTypes; - llvm::FoldingSet ObjCProtocolListTypes; llvm::FoldingSet ElaboratedTypes; llvm::FoldingSet QualifiedTemplateNames; @@ -143,6 +143,12 @@ class ASTContext { /// \brief The type for the C sigjmp_buf type. TypeDecl *sigjmp_bufDecl; + /// \brief Type for the Block descriptor for Blocks CodeGen. + RecordDecl *BlockDescriptorType; + + /// \brief Type for the Block descriptor for Blocks CodeGen. + RecordDecl *BlockDescriptorExtendedType; + /// \brief Keeps track of all declaration attributes. /// /// Since so few decls have attrs, we keep them in a hash map instead of @@ -390,9 +396,47 @@ public: /// of the specified type. QualType getBlockPointerType(QualType T); + /// This gets the struct used to keep track of the descriptor for pointer to + /// blocks. + QualType getBlockDescriptorType(); + + // Set the type for a Block descriptor type. + void setBlockDescriptorType(QualType T); + /// Get the BlockDescriptorType type, or NULL if it hasn't yet been built. + QualType getRawBlockdescriptorType() { + if (BlockDescriptorType) + return getTagDeclType(BlockDescriptorType); + return QualType(); + } + + /// This gets the struct used to keep track of the extended descriptor for + /// pointer to blocks. + QualType getBlockDescriptorExtendedType(); + + // Set the type for a Block descriptor extended type. + void setBlockDescriptorExtendedType(QualType T); + /// Get the BlockDescriptorExtendedType type, or NULL if it hasn't yet been + /// built. + QualType getRawBlockdescriptorExtendedType() { + if (BlockDescriptorExtendedType) + return getTagDeclType(BlockDescriptorExtendedType); + return QualType(); + } + + /// This gets the struct used to keep track of pointer to blocks, complete + /// with captured variables. + QualType getBlockParmType(bool BlockHasCopyDispose, + llvm::SmallVector &BDRDs); + + /// This builds the struct used for __block variables. + QualType BuildByRefType(const char *DeclName, QualType Ty); + + /// Returns true iff we need copy/dispose helpers for the given type. + bool BlockRequiresCopying(QualType Ty); + /// getLValueReferenceType - Return the uniqued reference to the type for an /// lvalue reference to the specified type. - QualType getLValueReferenceType(QualType T); + QualType getLValueReferenceType(QualType T, bool SpelledAsLValue = true); /// getRValueReferenceType - Return the uniqued reference to the type for an /// rvalue reference to the specified type. @@ -431,22 +475,6 @@ public: ArrayType::ArraySizeModifier ASM, unsigned EltTypeQuals); - /// getConstantArrayWithExprType - Return a reference to the type for a - /// constant array of the specified element type. - QualType getConstantArrayWithExprType(QualType EltTy, - const llvm::APInt &ArySize, - Expr *ArySizeExpr, - ArrayType::ArraySizeModifier ASM, - unsigned EltTypeQuals, - SourceRange Brackets); - - /// getConstantArrayWithoutExprType - Return a reference to the type - /// for a constant array of the specified element type. - QualType getConstantArrayWithoutExprType(QualType EltTy, - const llvm::APInt &ArySize, - ArrayType::ArraySizeModifier ASM, - unsigned EltTypeQuals); - /// getVectorType - Return the unique reference to a vector type of /// the specified element type and size. VectorType must be a built-in type. QualType getVectorType(QualType VectorType, unsigned NumElts); @@ -485,6 +513,9 @@ public: /// specified typename decl. QualType getTypedefType(TypedefDecl *Decl); + QualType getSubstTemplateTypeParmType(const TemplateTypeParmType *Replaced, + QualType Replacement); + QualType getTemplateTypeParmType(unsigned Depth, unsigned Index, bool ParameterPack, IdentifierInfo *Name = 0); @@ -515,10 +546,6 @@ public: ObjCProtocolDecl **ProtocolList = 0, unsigned NumProtocols = 0); - QualType getObjCProtocolListType(QualType T, - ObjCProtocolDecl **Protocols, - unsigned NumProtocols); - /// getTypeOfType - GCC extension. QualType getTypeOfExprType(Expr *e); QualType getTypeOfType(QualType t); @@ -815,6 +842,12 @@ public: return T->getCanonicalTypeInternal().getTypePtr(); } + /// getCanonicalParamType - Return the canonical parameter type + /// corresponding to the specific potentially non-canonical one. + /// Qualifiers are stripped off, functions are turned into function + /// pointers, and arrays decay one level into pointers. + CanQualType getCanonicalParamType(QualType T); + /// \brief Determine whether the given types are equivalent. bool hasSameType(QualType T1, QualType T2) { return getCanonicalType(T1) == getCanonicalType(T2); @@ -1047,7 +1080,10 @@ public: /// \param T the type that will be the basis for type source info. This type /// should refer to how the declarator was written in source code, not to /// what type semantic analysis resolved the declarator to. - DeclaratorInfo *CreateDeclaratorInfo(QualType T); + /// + /// \param Size the size of the type info to create, or 0 if the size + /// should be calculated based on the type. + DeclaratorInfo *CreateDeclaratorInfo(QualType T, unsigned Size = 0); private: ASTContext(const ASTContext&); // DO NOT IMPLEMENT Modified: projects/clangbsd/contrib/llvm/tools/clang/include/clang/AST/Attr.h ============================================================================== --- projects/clangbsd/contrib/llvm/tools/clang/include/clang/AST/Attr.h Fri Oct 23 14:28:06 2009 (r198401) +++ projects/clangbsd/contrib/llvm/tools/clang/include/clang/AST/Attr.h Fri Oct 23 14:31:47 2009 (r198402) @@ -185,7 +185,6 @@ class AlignedAttr : public Attr { public: AlignedAttr(unsigned alignment) : Attr(Aligned), Alignment(alignment) {} - // FIXME: Should use addressable units, not bits, to match llvm /// getAlignment - The specified alignment in bits. unsigned getAlignment() const { return Alignment; } Modified: projects/clangbsd/contrib/llvm/tools/clang/include/clang/AST/CXXInheritance.h ============================================================================== --- projects/clangbsd/contrib/llvm/tools/clang/include/clang/AST/CXXInheritance.h Fri Oct 23 14:28:06 2009 (r198401) +++ projects/clangbsd/contrib/llvm/tools/clang/include/clang/AST/CXXInheritance.h Fri Oct 23 14:31:47 2009 (r198402) @@ -63,7 +63,8 @@ struct CXXBasePathElement { /// structure, which captures both the link from a derived class to one of its /// direct bases and identification describing which base class /// subobject is being used. -struct CXXBasePath : public llvm::SmallVector { +class CXXBasePath : public llvm::SmallVector { +public: /// \brief The set of declarations found inside this base class /// subobject. DeclContext::lookup_result Decls; Modified: projects/clangbsd/contrib/llvm/tools/clang/include/clang/AST/CanonicalType.h ============================================================================== --- projects/clangbsd/contrib/llvm/tools/clang/include/clang/AST/CanonicalType.h Fri Oct 23 14:28:06 2009 (r198401) +++ projects/clangbsd/contrib/llvm/tools/clang/include/clang/AST/CanonicalType.h Fri Oct 23 14:31:47 2009 (r198402) @@ -487,30 +487,6 @@ struct CanProxyAdaptor -struct CanProxyAdaptor - : public CanProxyBase { - LLVM_CLANG_CANPROXY_TYPE_ACCESSOR(getElementType) - LLVM_CLANG_CANPROXY_SIMPLE_ACCESSOR(ArrayType::ArraySizeModifier, - getSizeModifier) - LLVM_CLANG_CANPROXY_SIMPLE_ACCESSOR(Qualifiers, getIndexTypeQualifiers) - LLVM_CLANG_CANPROXY_SIMPLE_ACCESSOR(const llvm::APInt &, getSize) - LLVM_CLANG_CANPROXY_SIMPLE_ACCESSOR(Expr *, getSizeExpr) - LLVM_CLANG_CANPROXY_SIMPLE_ACCESSOR(SourceRange, getBracketsRange) - LLVM_CLANG_CANPROXY_SIMPLE_ACCESSOR(SourceLocation, getLBracketLoc) - LLVM_CLANG_CANPROXY_SIMPLE_ACCESSOR(SourceLocation, getRBracketLoc) -}; - -template<> -struct CanProxyAdaptor - : public CanProxyBase { - LLVM_CLANG_CANPROXY_TYPE_ACCESSOR(getElementType) - LLVM_CLANG_CANPROXY_SIMPLE_ACCESSOR(ArrayType::ArraySizeModifier, - getSizeModifier) - LLVM_CLANG_CANPROXY_SIMPLE_ACCESSOR(Qualifiers, getIndexTypeQualifiers) - LLVM_CLANG_CANPROXY_SIMPLE_ACCESSOR(const llvm::APInt &, getSize) -}; - -template<> struct CanProxyAdaptor : public CanProxyBase { LLVM_CLANG_CANPROXY_TYPE_ACCESSOR(getElementType) @@ -684,7 +660,7 @@ CanQual CanQual::getFromOpaquePtr( template CanQual CanQual::CreateUnsafe(QualType Other) { - assert((Other.isNull() || Other->isCanonical()) && "Type is not canonical!"); + assert((Other.isNull() || Other.isCanonical()) && "Type is not canonical!"); assert((Other.isNull() || isa(Other.getTypePtr())) && "Dynamic type does not meet the static type's requires"); CanQual Result; Modified: projects/clangbsd/contrib/llvm/tools/clang/include/clang/AST/Decl.h ============================================================================== --- projects/clangbsd/contrib/llvm/tools/clang/include/clang/AST/Decl.h Fri Oct 23 14:28:06 2009 (r198401) +++ projects/clangbsd/contrib/llvm/tools/clang/include/clang/AST/Decl.h Fri Oct 23 14:31:47 2009 (r198402) @@ -47,6 +47,9 @@ class DeclaratorInfo { friend class ASTContext; DeclaratorInfo(QualType ty) : Ty(ty) { } public: + /// \brief Return the type wrapped by this type source info. + QualType getType() const { return Ty; } + /// \brief Return the TypeLoc wrapper for the type source info. TypeLoc getTypeLoc() const; }; @@ -93,28 +96,43 @@ public: /// name (C++ constructor, Objective-C selector, etc.). IdentifierInfo *getIdentifier() const { return Name.getAsIdentifierInfo(); } + /// getName - Get the name of identifier for this declaration as a StringRef. + /// This requires that the declaration have a name and that it be a simple + /// identifier. + llvm::StringRef getName() const { + assert(Name.isIdentifier() && "Name is not a simple identifier"); + return getIdentifier() ? getIdentifier()->getName() : ""; + } + /// getNameAsCString - Get the name of identifier for this declaration as a /// C string (const char*). This requires that the declaration have a name /// and that it be a simple identifier. + // + // FIXME: Deprecated, move clients to getName(). const char *getNameAsCString() const { - assert(getIdentifier() && "Name is not a simple identifier"); - return getIdentifier()->getName(); + assert(Name.isIdentifier() && "Name is not a simple identifier"); + return getIdentifier() ? getIdentifier()->getNameStart() : ""; } - /// getDeclName - Get the actual, stored name of the declaration, - /// which may be a special name. - DeclarationName getDeclName() const { return Name; } - - /// \brief Set the name of this declaration. - void setDeclName(DeclarationName N) { Name = N; } - /// getNameAsString - Get a human-readable name for the declaration, even if /// it is one of the special kinds of names (C++ constructor, Objective-C /// selector, etc). Creating this name requires expensive string /// manipulation, so it should be called only when performance doesn't matter. /// For simple declarations, getNameAsCString() should suffice. + // + // FIXME: This function should be renamed to indicate that it is not just an + // alternate form of getName(), and clients should move as appropriate. + // + // FIXME: Deprecated, move clients to getName(). std::string getNameAsString() const { return Name.getAsString(); } + /// getDeclName - Get the actual, stored name of the declaration, + /// which may be a special name. + DeclarationName getDeclName() const { return Name; } + + /// \brief Set the name of this declaration. + void setDeclName(DeclarationName N) { Name = N; } + /// getQualifiedNameAsString - Returns human-readable qualified name for /// declaration, like A::B::i, for i being member of namespace A::B. /// If declaration is not member of context which can be named (record, @@ -604,7 +622,8 @@ public: /// \brief For a static data member that was instantiated from a static /// data member of a class template, set the template specialiation kind. - void setTemplateSpecializationKind(TemplateSpecializationKind TSK); + void setTemplateSpecializationKind(TemplateSpecializationKind TSK, + SourceLocation PointOfInstantiation = SourceLocation()); /// isFileVarDecl - Returns true for file scoped variable declaration. bool isFileVarDecl() const { @@ -1170,7 +1189,16 @@ public: /// \brief Determine what kind of template instantiation this function /// represents. - void setTemplateSpecializationKind(TemplateSpecializationKind TSK); + void setTemplateSpecializationKind(TemplateSpecializationKind TSK, + SourceLocation PointOfInstantiation = SourceLocation()); + + /// \brief Retrieve the (first) point of instantiation of a function template + /// specialization or a member of a class template specialization. + /// + /// \returns the first point of instantiation, if this function was + /// instantiated from a template; otherwie, returns an invalid source + /// location. + SourceLocation getPointOfInstantiation() const; /// \brief Determine whether this is or was instantiated from an out-of-line /// definition of a member function. Modified: projects/clangbsd/contrib/llvm/tools/clang/include/clang/AST/DeclBase.h ============================================================================== --- projects/clangbsd/contrib/llvm/tools/clang/include/clang/AST/DeclBase.h Fri Oct 23 14:28:06 2009 (r198401) +++ projects/clangbsd/contrib/llvm/tools/clang/include/clang/AST/DeclBase.h Fri Oct 23 14:31:47 2009 (r198402) @@ -166,6 +166,15 @@ private: bool Used : 1; protected: + /// Access - Used by C++ decls for the access specifier. + // NOTE: VC++ treats enums as signed, avoid using the AccessSpecifier enum + unsigned Access : 2; + friend class CXXClassMemberWrapper; + + // PCHLevel - the "level" of precompiled header/AST file from which this + // declaration was built. + unsigned PCHLevel : 2; + /// IdentifierNamespace - This specifies what IDNS_* namespace this lives in. unsigned IdentifierNamespace : 16; @@ -177,16 +186,13 @@ private: #endif protected: - /// Access - Used by C++ decls for the access specifier. - // NOTE: VC++ treats enums as signed, avoid using the AccessSpecifier enum - unsigned Access : 2; - friend class CXXClassMemberWrapper; Decl(Kind DK, DeclContext *DC, SourceLocation L) : NextDeclInContext(0), DeclCtx(DC), Loc(L), DeclKind(DK), InvalidDecl(0), HasAttrs(false), Implicit(false), Used(false), - IdentifierNamespace(getIdentifierNamespaceForKind(DK)), Access(AS_none) { + Access(AS_none), PCHLevel(0), + IdentifierNamespace(getIdentifierNamespaceForKind(DK)) { if (Decl::CollectingStats()) addDeclKind(DK); } @@ -274,6 +280,26 @@ public: bool isUsed() const { return Used; } void setUsed(bool U = true) { Used = U; } + /// \brief Retrieve the level of precompiled header from which this + /// declaration was generated. + /// + /// The PCH level of a declaration describes where the declaration originated + /// from. A PCH level of 0 indicates that the declaration was not from a + /// precompiled header. A PCH level of 1 indicates that the declaration was + /// from a top-level precompiled header; 2 indicates that the declaration + /// comes from a precompiled header on which the top-level precompiled header + /// depends, and so on. + unsigned getPCHLevel() const { return PCHLevel; } + + /// \brief The maximum PCH level that any declaration may have. + static const unsigned MaxPCHLevel = 3; + + /// \brief Set the PCH level of this declaration. + void setPCHLevel(unsigned Level) { + assert(Level < MaxPCHLevel && "PCH level exceeds the maximum"); + PCHLevel = Level; + } + unsigned getIdentifierNamespace() const { return IdentifierNamespace; } Modified: projects/clangbsd/contrib/llvm/tools/clang/include/clang/AST/DeclObjC.h ============================================================================== --- projects/clangbsd/contrib/llvm/tools/clang/include/clang/AST/DeclObjC.h Fri Oct 23 14:28:06 2009 (r198401) +++ projects/clangbsd/contrib/llvm/tools/clang/include/clang/AST/DeclObjC.h Fri Oct 23 14:31:47 2009 (r198402) @@ -944,16 +944,29 @@ public: ObjCCategoryDecl *getCategoryClass() const; + /// getName - Get the name of identifier for the class interface associated + /// with this implementation as a StringRef. + // + // FIXME: This is a bad API, we are overriding the NamedDecl::getName, to mean + // something different. + llvm::StringRef getName() const { + return Id ? Id->getNameStart() : ""; + } + /// getNameAsCString - Get the name of identifier for the class /// interface associated with this implementation as a C string /// (const char*). + // + // FIXME: Deprecated, move clients to getName(). const char *getNameAsCString() const { - return Id ? Id->getName() : ""; + return Id ? Id->getNameStart() : ""; } /// @brief Get the name of the class associated with this interface. + // + // FIXME: Deprecated, move clients to getName(). std::string getNameAsString() const { - return Id ? Id->getName() : ""; + return getName(); } static bool classof(const Decl *D) { return D->getKind() == ObjCCategoryImpl;} @@ -995,17 +1008,30 @@ public: return getClassInterface()->getIdentifier(); } + /// getName - Get the name of identifier for the class interface associated + /// with this implementation as a StringRef. + // + // FIXME: This is a bad API, we are overriding the NamedDecl::getName, to mean + // something different. + llvm::StringRef getName() const { + assert(getIdentifier() && "Name is not a simple identifier"); + return getIdentifier()->getName(); + } + /// getNameAsCString - Get the name of identifier for the class /// interface associated with this implementation as a C string /// (const char*). + // + // FIXME: Move to StringRef API. const char *getNameAsCString() const { - assert(getIdentifier() && "Name is not a simple identifier"); - return getIdentifier()->getName(); + return getName().data(); } /// @brief Get the name of the class associated with this interface. + // + // FIXME: Move to StringRef API. std::string getNameAsString() const { - return getClassInterface()->getNameAsString(); + return getName(); } const ObjCInterfaceDecl *getSuperClass() const { return SuperClass; } Modified: projects/clangbsd/contrib/llvm/tools/clang/include/clang/AST/Expr.h ============================================================================== --- projects/clangbsd/contrib/llvm/tools/clang/include/clang/AST/Expr.h Fri Oct 23 14:28:06 2009 (r198401) +++ projects/clangbsd/contrib/llvm/tools/clang/include/clang/AST/Expr.h Fri Oct 23 14:31:47 2009 (r198402) @@ -1399,7 +1399,27 @@ public: CK_IntegralToPointer, /// CK_PointerToIntegral - Pointer to integral - CK_PointerToIntegral + CK_PointerToIntegral, + + /// CK_ToVoid - Cast to void. + CK_ToVoid, + + /// CK_VectorSplat - Casting from an integer/floating type to an extended + /// vector type with the same element type as the src type. Splats the + /// src expression into the destination expression. + CK_VectorSplat, + + /// CK_IntegralCast - Casting between integral types of different size. + CK_IntegralCast, + + /// CK_IntegralToFloating - Integral to floating point. + CK_IntegralToFloating, + + /// CK_FloatingToIntegral - Floating point to integral. + CK_FloatingToIntegral, + + /// CK_FloatingCast - Casting between floating types of different size. + CK_FloatingCast }; private: @@ -1665,7 +1685,8 @@ public: /// predicates to categorize the respective opcodes. bool isMultiplicativeOp() const { return Opc >= Mul && Opc <= Rem; } bool isAdditiveOp() const { return Opc == Add || Opc == Sub; } - bool isShiftOp() const { return Opc == Shl || Opc == Shr; } + static bool isShiftOp(Opcode Opc) { return Opc == Shl || Opc == Shr; } + bool isShiftOp() const { return isShiftOp(Opc); } bool isBitwiseOp() const { return Opc >= And && Opc <= Or; } static bool isRelationalOp(Opcode Opc) { return Opc >= LT && Opc <= GE; } Modified: projects/clangbsd/contrib/llvm/tools/clang/include/clang/AST/Type.h ============================================================================== --- projects/clangbsd/contrib/llvm/tools/clang/include/clang/AST/Type.h Fri Oct 23 14:28:06 2009 (r198401) +++ projects/clangbsd/contrib/llvm/tools/clang/include/clang/AST/Type.h Fri Oct 23 14:31:47 2009 (r198402) @@ -443,6 +443,9 @@ public: return getTypePtr(); } + bool isCanonical() const; + bool isCanonicalAsParam() const; + /// isNull - Return true if this QualType doesn't point to a type yet. bool isNull() const { return Value.getPointer().isNull(); @@ -702,7 +705,9 @@ protected: public: TypeClass getTypeClass() const { return static_cast(TC); } - bool isCanonical() const { return CanonicalType.getTypePtr() == this; } + bool isCanonicalUnqualified() const { + return CanonicalType.getTypePtr() == this; + } /// Types are partitioned into 3 broad categories (C99 6.2.5p1): /// object types, function types, and incomplete types. @@ -1089,19 +1094,50 @@ public: class ReferenceType : public Type, public llvm::FoldingSetNode { QualType PointeeType; + /// True if the type was originally spelled with an lvalue sigil. + /// This is never true of rvalue references but can also be false + /// on lvalue references because of C++0x [dcl.typedef]p9, + /// as follows: + /// + /// typedef int &ref; // lvalue, spelled lvalue + /// typedef int &&rvref; // rvalue + /// ref &a; // lvalue, inner ref, spelled lvalue + /// ref &&a; // lvalue, inner ref + /// rvref &a; // lvalue, inner ref, spelled lvalue + /// rvref &&a; // rvalue, inner ref + bool SpelledAsLValue; + + /// True if the inner type is a reference type. This only happens + /// in non-canonical forms. + bool InnerRef; + protected: - ReferenceType(TypeClass tc, QualType Referencee, QualType CanonicalRef) : + ReferenceType(TypeClass tc, QualType Referencee, QualType CanonicalRef, + bool SpelledAsLValue) : Type(tc, CanonicalRef, Referencee->isDependentType()), - PointeeType(Referencee) { + PointeeType(Referencee), SpelledAsLValue(SpelledAsLValue), + InnerRef(Referencee->isReferenceType()) { } public: - QualType getPointeeType() const { return PointeeType; } + bool isSpelledAsLValue() const { return SpelledAsLValue; } + + QualType getPointeeTypeAsWritten() const { return PointeeType; } + QualType getPointeeType() const { + // FIXME: this might strip inner qualifiers; okay? + const ReferenceType *T = this; + while (T->InnerRef) + T = T->PointeeType->getAs(); + return T->PointeeType; + } void Profile(llvm::FoldingSetNodeID &ID) { - Profile(ID, getPointeeType()); + Profile(ID, PointeeType, SpelledAsLValue); } - static void Profile(llvm::FoldingSetNodeID &ID, QualType Referencee) { + static void Profile(llvm::FoldingSetNodeID &ID, + QualType Referencee, + bool SpelledAsLValue) { ID.AddPointer(Referencee.getAsOpaquePtr()); + ID.AddBoolean(SpelledAsLValue); } static bool classof(const Type *T) { @@ -1114,9 +1150,10 @@ public: /// LValueReferenceType - C++ [dcl.ref] - Lvalue reference /// class LValueReferenceType : public ReferenceType { - LValueReferenceType(QualType Referencee, QualType CanonicalRef) : - ReferenceType(LValueReference, Referencee, CanonicalRef) { - } + LValueReferenceType(QualType Referencee, QualType CanonicalRef, + bool SpelledAsLValue) : + ReferenceType(LValueReference, Referencee, CanonicalRef, SpelledAsLValue) + {} friend class ASTContext; // ASTContext creates these public: virtual void getAsStringInternal(std::string &InnerString, @@ -1135,7 +1172,7 @@ public: /// class RValueReferenceType : public ReferenceType { RValueReferenceType(QualType Referencee, QualType CanonicalRef) : - ReferenceType(RValueReference, Referencee, CanonicalRef) { + ReferenceType(RValueReference, Referencee, CanonicalRef, false) { } friend class ASTContext; // ASTContext creates these public: @@ -1239,8 +1276,6 @@ public: static bool classof(const Type *T) { return T->getTypeClass() == ConstantArray || - T->getTypeClass() == ConstantArrayWithExpr || - T->getTypeClass() == ConstantArrayWithoutExpr || T->getTypeClass() == VariableArray || T->getTypeClass() == IncompleteArray || T->getTypeClass() == DependentSizedArray; @@ -1285,86 +1320,11 @@ public: ID.AddInteger(TypeQuals); } static bool classof(const Type *T) { - return T->getTypeClass() == ConstantArray || - T->getTypeClass() == ConstantArrayWithExpr || - T->getTypeClass() == ConstantArrayWithoutExpr; + return T->getTypeClass() == ConstantArray; } static bool classof(const ConstantArrayType *) { return true; } }; -/// ConstantArrayWithExprType - This class represents C arrays with a -/// constant size specified by means of an integer constant expression. -/// For example 'int A[sizeof(int)]' has ConstantArrayWithExprType where -/// the element type is 'int' and the size expression is 'sizeof(int)'. -/// These types are non-canonical. -class ConstantArrayWithExprType : public ConstantArrayType { - /// SizeExpr - The ICE occurring in the concrete syntax. - Expr *SizeExpr; - /// Brackets - The left and right array brackets. - SourceRange Brackets; - - ConstantArrayWithExprType(QualType et, QualType can, - const llvm::APInt &size, Expr *e, - ArraySizeModifier sm, unsigned tq, - SourceRange brackets) - : ConstantArrayType(ConstantArrayWithExpr, et, can, size, sm, tq), - SizeExpr(e), Brackets(brackets) {} - friend class ASTContext; // ASTContext creates these. - virtual void Destroy(ASTContext& C); - -public: - Expr *getSizeExpr() const { return SizeExpr; } - SourceRange getBracketsRange() const { return Brackets; } - SourceLocation getLBracketLoc() const { return Brackets.getBegin(); } - SourceLocation getRBracketLoc() const { return Brackets.getEnd(); } - - virtual void getAsStringInternal(std::string &InnerString, - const PrintingPolicy &Policy) const; - - bool isSugared() const { return false; } - QualType desugar() const { return QualType(this, 0); } - - static bool classof(const Type *T) { - return T->getTypeClass() == ConstantArrayWithExpr; - } - static bool classof(const ConstantArrayWithExprType *) { return true; } - - void Profile(llvm::FoldingSetNodeID &ID) { - assert(0 && "Cannot unique ConstantArrayWithExprTypes."); - } -}; - -/// ConstantArrayWithoutExprType - This class represents C arrays with a -/// constant size that was not specified by an integer constant expression, -/// but inferred by static semantics. -/// For example 'int A[] = { 0, 1, 2 }' has ConstantArrayWithoutExprType. -/// These types are non-canonical: the corresponding canonical type, -/// having the size specified in an APInt object, is a ConstantArrayType. -class ConstantArrayWithoutExprType : public ConstantArrayType { - - ConstantArrayWithoutExprType(QualType et, QualType can, - const llvm::APInt &size, - ArraySizeModifier sm, unsigned tq) - : ConstantArrayType(ConstantArrayWithoutExpr, et, can, size, sm, tq) {} - friend class ASTContext; // ASTContext creates these. - -public: - virtual void getAsStringInternal(std::string &InnerString, - const PrintingPolicy &Policy) const; - - bool isSugared() const { return false; } - QualType desugar() const { return QualType(this, 0); } - - static bool classof(const Type *T) { - return T->getTypeClass() == ConstantArrayWithoutExpr; - } - static bool classof(const ConstantArrayWithoutExprType *) { return true; } - - void Profile(llvm::FoldingSetNodeID &ID) { - assert(0 && "Cannot unique ConstantArrayWithoutExprTypes."); - } -}; - /// IncompleteArrayType - This class represents C arrays with an unspecified /// size. For example 'int A[]' has an IncompleteArrayType where the element /// type is 'int' and the size is unspecified. @@ -2219,6 +2179,59 @@ public: static bool classof(const TemplateTypeParmType *T) { return true; } }; +/// \brief Represents the result of substituting a type for a template +/// type parameter. +/// +/// Within an instantiated template, all template type parameters have +/// been replaced with these. They are used solely to record that a +/// type was originally written as a template type parameter; +/// therefore they are never canonical. +class SubstTemplateTypeParmType : public Type, public llvm::FoldingSetNode { + // The original type parameter. + const TemplateTypeParmType *Replaced; + + SubstTemplateTypeParmType(const TemplateTypeParmType *Param, QualType Canon) + : Type(SubstTemplateTypeParm, Canon, Canon->isDependentType()), + Replaced(Param) { } + + friend class ASTContext; + +public: + IdentifierInfo *getName() const { return Replaced->getName(); } + + /// Gets the template parameter that was substituted for. + const TemplateTypeParmType *getReplacedParameter() const { + return Replaced; + } + + /// Gets the type that was substituted for the template + /// parameter. + QualType getReplacementType() const { + return getCanonicalTypeInternal(); + } + + virtual void getAsStringInternal(std::string &InnerString, + const PrintingPolicy &Policy) const; + + bool isSugared() const { return true; } + QualType desugar() const { return getReplacementType(); } + + void Profile(llvm::FoldingSetNodeID &ID) { + Profile(ID, getReplacedParameter(), getReplacementType()); + } + static void Profile(llvm::FoldingSetNodeID &ID, + const TemplateTypeParmType *Replaced, + QualType Replacement) { + ID.AddPointer(Replaced); + ID.AddPointer(Replacement.getAsOpaquePtr()); + } + + static bool classof(const Type *T) { + return T->getTypeClass() == SubstTemplateTypeParm; + } + static bool classof(const SubstTemplateTypeParmType *T) { return true; } +}; + /// \brief Represents the type of a template specialization as written /// in the source code. /// @@ -2453,9 +2466,9 @@ class ObjCInterfaceType : public Type, p // List is sorted on protocol name. No protocol is enterred more than once. llvm::SmallVector Protocols; - ObjCInterfaceType(ObjCInterfaceDecl *D, + ObjCInterfaceType(QualType Canonical, ObjCInterfaceDecl *D, ObjCProtocolDecl **Protos, unsigned NumP) : - Type(ObjCInterface, QualType(), /*Dependent=*/false), + Type(ObjCInterface, Canonical, /*Dependent=*/false), Decl(D), Protocols(Protos, Protos+NumP) { } friend class ASTContext; // ASTContext creates these. public: @@ -2501,8 +2514,9 @@ class ObjCObjectPointerType : public Typ // List is sorted on protocol name. No protocol is entered more than once. llvm::SmallVector Protocols; - ObjCObjectPointerType(QualType T, ObjCProtocolDecl **Protos, unsigned NumP) : - Type(ObjCObjectPointer, QualType(), /*Dependent=*/false), + ObjCObjectPointerType(QualType Canonical, QualType T, + ObjCProtocolDecl **Protos, unsigned NumP) : + Type(ObjCObjectPointer, Canonical, /*Dependent=*/false), PointeeType(T), Protocols(Protos, Protos+NumP) { } friend class ASTContext; // ASTContext creates these. @@ -2567,49 +2581,6 @@ public: static bool classof(const ObjCObjectPointerType *) { return true; } }; -/// \brief An ObjC Protocol list that qualifies a type. -/// -/// This is used only for keeping detailed type source information, it should -/// not participate in the semantics of the type system. -/// The protocol list is not canonicalized. -class ObjCProtocolListType : public Type, public llvm::FoldingSetNode { - QualType BaseType; - - // List of protocols for this protocol conforming object type. - llvm::SmallVector Protocols; - - ObjCProtocolListType(QualType T, ObjCProtocolDecl **Protos, unsigned NumP) : - Type(ObjCProtocolList, QualType(), /*Dependent=*/false), - BaseType(T), Protocols(Protos, Protos+NumP) { } - friend class ASTContext; // ASTContext creates these. - -public: - QualType getBaseType() const { return BaseType; } - - /// \brief Provides access to the list of protocols qualifying the base type. - typedef llvm::SmallVector::const_iterator qual_iterator; - - qual_iterator qual_begin() const { return Protocols.begin(); } - qual_iterator qual_end() const { return Protocols.end(); } - bool qual_empty() const { return Protocols.size() == 0; } - - /// \brief Return the number of qualifying protocols. - unsigned getNumProtocols() const { return Protocols.size(); } - - bool isSugared() const { return false; } - QualType desugar() const { return QualType(this, 0); } - - void Profile(llvm::FoldingSetNodeID &ID); - static void Profile(llvm::FoldingSetNodeID &ID, QualType T, - ObjCProtocolDecl **protocols, unsigned NumProtocols); - virtual void getAsStringInternal(std::string &InnerString, - const PrintingPolicy &Policy) const; - static bool classof(const Type *T) { - return T->getTypeClass() == ObjCProtocolList; - } - static bool classof(const ObjCProtocolListType *) { return true; } -}; - /// A qualifier set is used to build a set of qualifiers. class QualifierCollector : public Qualifiers { ASTContext *Context; @@ -2646,6 +2617,20 @@ public: // Inline function definitions. +inline bool QualType::isCanonical() const { + const Type *T = getTypePtr(); + if (hasQualifiers()) + return T->isCanonicalUnqualified() && !isa(T); + return T->isCanonicalUnqualified(); +} + +inline bool QualType::isCanonicalAsParam() const { + if (hasQualifiers()) return false; + const Type *T = getTypePtr(); + return T->isCanonicalUnqualified() && + !isa(T) && !isa(T); +} + inline void QualType::removeConst() { removeFastQualifiers(Qualifiers::Const); } Modified: projects/clangbsd/contrib/llvm/tools/clang/include/clang/AST/TypeLoc.h ============================================================================== --- projects/clangbsd/contrib/llvm/tools/clang/include/clang/AST/TypeLoc.h Fri Oct 23 14:28:06 2009 (r198401) +++ projects/clangbsd/contrib/llvm/tools/clang/include/clang/AST/TypeLoc.h Fri Oct 23 14:31:47 2009 (r198402) @@ -18,10 +18,15 @@ namespace clang { class ParmVarDecl; - class TypeSpecLoc; class DeclaratorInfo; class UnqualTypeLoc; +// Predeclare all the type nodes. +#define ABSTRACT_TYPELOC(Class, Base) +#define TYPELOC(Class, Base) \ + class Class##TypeLoc; +#include "clang/AST/TypeLocNodes.def" + /// \brief Base wrapper for a particular "section" of type source info. /// /// A client should use the TypeLoc subclasses through cast/dyn_cast in order to @@ -34,12 +39,28 @@ protected: void *Data; public: + /// The kinds of TypeLocs. Equivalent to the Type::TypeClass enum, + /// except it also defines a Qualified enum that corresponds to the + /// QualifiedLoc class. + enum TypeLocClass { +#define ABSTRACT_TYPE(Class, Base) +#define TYPE(Class, Base) \ + Class = Type::Class, +#include "clang/AST/TypeNodes.def" + Qualified + }; + TypeLoc() : Ty(0), Data(0) { } TypeLoc(QualType ty, void *opaqueData) : Ty(ty.getAsOpaquePtr()), Data(opaqueData) { } TypeLoc(Type *ty, void *opaqueData) : Ty(ty), Data(opaqueData) { } + TypeLocClass getTypeLocClass() const { + if (getType().hasQualifiers()) return Qualified; + return (TypeLocClass) getType()->getTypeClass(); + } + bool isNull() const { return !Ty; } operator bool() const { return Ty; } @@ -48,35 +69,45 @@ public: /// \brief Get the type for which this source info wrapper provides *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-projects@FreeBSD.ORG Fri Oct 23 14:40:39 2009 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 0E560106566B; Fri, 23 Oct 2009 14:40:39 +0000 (UTC) (envelope-from rdivacky@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id EFEE28FC0A; Fri, 23 Oct 2009 14:40:38 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n9NEecCZ063896; Fri, 23 Oct 2009 14:40:38 GMT (envelope-from rdivacky@svn.freebsd.org) Received: (from rdivacky@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n9NEecGq063895; Fri, 23 Oct 2009 14:40:38 GMT (envelope-from rdivacky@svn.freebsd.org) Message-Id: <200910231440.n9NEecGq063895@svn.freebsd.org> From: Roman Divacky Date: Fri, 23 Oct 2009 14:40:38 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r198404 - in projects/clangbsd/contrib/llvm: . include/llvm/Config include/llvm/Support tools/clang X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 23 Oct 2009 14:40:39 -0000 Author: rdivacky Date: Fri Oct 23 14:40:38 2009 New Revision: 198404 URL: http://svn.freebsd.org/changeset/base/198404 Log: Merge file deletion from vendor. Deleted: projects/clangbsd/contrib/llvm/include/llvm/Config/AsmParsers.def projects/clangbsd/contrib/llvm/include/llvm/Config/AsmPrinters.def projects/clangbsd/contrib/llvm/include/llvm/Config/Targets.def projects/clangbsd/contrib/llvm/include/llvm/Config/config.h projects/clangbsd/contrib/llvm/include/llvm/Support/DataTypes.h Modified: projects/clangbsd/contrib/llvm/ (props changed) projects/clangbsd/contrib/llvm/tools/clang/ (props changed) From owner-svn-src-projects@FreeBSD.ORG Fri Oct 23 16:04:08 2009 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 47A3B1065694; Fri, 23 Oct 2009 16:04:08 +0000 (UTC) (envelope-from rdivacky@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 356928FC18; Fri, 23 Oct 2009 16:04:08 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n9NG48mS065950; Fri, 23 Oct 2009 16:04:08 GMT (envelope-from rdivacky@svn.freebsd.org) Received: (from rdivacky@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n9NG48da065947; Fri, 23 Oct 2009 16:04:08 GMT (envelope-from rdivacky@svn.freebsd.org) Message-Id: <200910231604.n9NG48da065947@svn.freebsd.org> From: Roman Divacky Date: Fri, 23 Oct 2009 16:04:08 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r198414 - in projects/clangbsd/usr.bin/clang/lib: libllvmarmasmprinter libllvmipo X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 23 Oct 2009 16:04:08 -0000 Author: rdivacky Date: Fri Oct 23 16:04:07 2009 New Revision: 198414 URL: http://svn.freebsd.org/changeset/base/198414 Log: Update makefiles for the new llvm. Modified: projects/clangbsd/usr.bin/clang/lib/libllvmarmasmprinter/Makefile projects/clangbsd/usr.bin/clang/lib/libllvmipo/Makefile Modified: projects/clangbsd/usr.bin/clang/lib/libllvmarmasmprinter/Makefile ============================================================================== --- projects/clangbsd/usr.bin/clang/lib/libllvmarmasmprinter/Makefile Fri Oct 23 15:58:05 2009 (r198413) +++ projects/clangbsd/usr.bin/clang/lib/libllvmarmasmprinter/Makefile Fri Oct 23 16:04:07 2009 (r198414) @@ -4,7 +4,7 @@ LIB= llvmarmasmprinter SRCDIR= lib/Target/ARM/AsmPrinter INCDIR= lib/Target/ARM -SRCS= ARMAsmPrinter.cpp +SRCS= ARMAsmPrinter.cpp ARMInstPrinter.cpp ARMMCInstLower.cpp TGHDRS= ARMGenAsmWriter ARMGenInstrNames ARMGenRegisterInfo.h \ ARMGenRegisterNames Modified: projects/clangbsd/usr.bin/clang/lib/libllvmipo/Makefile ============================================================================== --- projects/clangbsd/usr.bin/clang/lib/libllvmipo/Makefile Fri Oct 23 15:58:05 2009 (r198413) +++ projects/clangbsd/usr.bin/clang/lib/libllvmipo/Makefile Fri Oct 23 16:04:07 2009 (r198414) @@ -6,7 +6,7 @@ SRCDIR= lib/Transforms/IPO SRCS= ArgumentPromotion.cpp ConstantMerge.cpp \ DeadArgumentElimination.cpp DeadTypeElimination.cpp \ ExtractGV.cpp FunctionAttrs.cpp GlobalDCE.cpp GlobalOpt.cpp \ - IPConstantPropagation.cpp IPO.cpp IndMemRemoval.cpp \ + IPConstantPropagation.cpp IPO.cpp \ InlineAlways.cpp InlineSimple.cpp Inliner.cpp Internalize.cpp \ LoopExtractor.cpp LowerSetJmp.cpp MergeFunctions.cpp \ PartialSpecialization.cpp PruneEH.cpp RaiseAllocations.cpp \ From owner-svn-src-projects@FreeBSD.ORG Fri Oct 23 16:07:16 2009 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 7DAE8106566C; Fri, 23 Oct 2009 16:07:16 +0000 (UTC) (envelope-from rdivacky@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 4B1F88FC18; Fri, 23 Oct 2009 16:07:16 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n9NG7FFj066037; Fri, 23 Oct 2009 16:07:15 GMT (envelope-from rdivacky@svn.freebsd.org) Received: (from rdivacky@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n9NG7FFl066036; Fri, 23 Oct 2009 16:07:15 GMT (envelope-from rdivacky@svn.freebsd.org) Message-Id: <200910231607.n9NG7FFl066036@svn.freebsd.org> From: Roman Divacky Date: Fri, 23 Oct 2009 16:07:15 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r198415 - in projects/clangbsd/contrib/llvm: . lib/Transforms/IPO tools/clang X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 23 Oct 2009 16:07:16 -0000 Author: rdivacky Date: Fri Oct 23 16:07:15 2009 New Revision: 198415 URL: http://svn.freebsd.org/changeset/base/198415 Log: Merge the IndMemRemoval.cpp removal from vendor. Deleted: projects/clangbsd/contrib/llvm/lib/Transforms/IPO/IndMemRemoval.cpp Modified: projects/clangbsd/contrib/llvm/ (props changed) projects/clangbsd/contrib/llvm/tools/clang/ (props changed) From owner-svn-src-projects@FreeBSD.ORG Fri Oct 23 17:02:39 2009 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 711D81065696; Fri, 23 Oct 2009 17:02:39 +0000 (UTC) (envelope-from nwhitehorn@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 5B3C88FC28; Fri, 23 Oct 2009 17:02:39 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n9NH2dB1067105; Fri, 23 Oct 2009 17:02:39 GMT (envelope-from nwhitehorn@svn.freebsd.org) Received: (from nwhitehorn@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n9NH2ciX067053; Fri, 23 Oct 2009 17:02:38 GMT (envelope-from nwhitehorn@svn.freebsd.org) Message-Id: <200910231702.n9NH2ciX067053@svn.freebsd.org> From: Nathan Whitehorn Date: Fri, 23 Oct 2009 17:02:38 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r198416 - in projects/ppc64: . bin/cat bin/csh bin/ls bin/sh bin/uuidgen contrib/gcc/config/i386 crypto/openssh etc etc/defaults etc/rc.d games/number kerberos5/lib/libgssapi_krb5 kerbe... X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 23 Oct 2009 17:02:39 -0000 Author: nwhitehorn Date: Fri Oct 23 17:02:37 2009 New Revision: 198416 URL: http://svn.freebsd.org/changeset/base/198416 Log: IFC @ 198401, and associated changes. This brings up SMP on 64-bit PowerPC (tested on Xserve G5). Added: projects/ppc64/share/man/man9/BUS_BIND_INTR.9 - copied unchanged from r198401, head/share/man/man9/BUS_BIND_INTR.9 projects/ppc64/share/man/man9/BUS_DESCRIBE_INTR.9 - copied unchanged from r198401, head/share/man/man9/BUS_DESCRIBE_INTR.9 projects/ppc64/sys/cam/ata/ata_pmp.c - copied unchanged from r198401, head/sys/cam/ata/ata_pmp.c projects/ppc64/sys/contrib/dev/acpica/common/dmextern.c - copied unchanged from r198401, head/sys/contrib/dev/acpica/common/dmextern.c projects/ppc64/sys/dev/ath/ath_hal/ah_eeprom_v4k.c - copied unchanged from r198401, head/sys/dev/ath/ath_hal/ah_eeprom_v4k.c projects/ppc64/sys/dev/ath/ath_hal/ah_eeprom_v4k.h - copied unchanged from r198401, head/sys/dev/ath/ath_hal/ah_eeprom_v4k.h projects/ppc64/sys/dev/usb/controller/ehcireg.h - copied unchanged from r198401, head/sys/dev/usb/controller/ehcireg.h projects/ppc64/sys/dev/usb/controller/ohcireg.h - copied unchanged from r198401, head/sys/dev/usb/controller/ohcireg.h projects/ppc64/sys/dev/usb/controller/uhcireg.h - copied unchanged from r198401, head/sys/dev/usb/controller/uhcireg.h Deleted: projects/ppc64/sys/compat/x86bios/x86bios_alloc.c projects/ppc64/sys/contrib/x86emu/x86emu_util.c projects/ppc64/sys/dev/usb/serial/uch341.c projects/ppc64/sys/modules/usb/uch341/ Modified: projects/ppc64/ (props changed) projects/ppc64/Makefile.inc1 projects/ppc64/ObsoleteFiles.inc projects/ppc64/bin/cat/Makefile projects/ppc64/bin/csh/iconv_stub.c projects/ppc64/bin/ls/ls.c projects/ppc64/bin/sh/parser.c projects/ppc64/bin/uuidgen/Makefile projects/ppc64/contrib/gcc/config/i386/i386.c projects/ppc64/crypto/openssh/sshd_config projects/ppc64/etc/defaults/rc.conf projects/ppc64/etc/gettytab projects/ppc64/etc/rc.d/bgfsck projects/ppc64/etc/rc.d/cleartmp projects/ppc64/etc/rc.d/faith projects/ppc64/etc/rc.d/fsck projects/ppc64/etc/rc.d/hostid projects/ppc64/etc/rc.d/hostname projects/ppc64/etc/rc.d/ldconfig projects/ppc64/etc/rc.d/motd projects/ppc64/etc/rc.d/mountcritlocal projects/ppc64/etc/rc.d/moused projects/ppc64/etc/rc.d/netif projects/ppc64/etc/rc.d/netoptions projects/ppc64/etc/rc.d/newsyslog projects/ppc64/etc/rc.d/nfsclient projects/ppc64/etc/rc.d/pf projects/ppc64/etc/rc.d/savecore projects/ppc64/etc/rc.d/stf projects/ppc64/etc/rc.subr projects/ppc64/games/number/Makefile projects/ppc64/games/number/number.c projects/ppc64/kerberos5/lib/libgssapi_krb5/Makefile projects/ppc64/kerberos5/lib/libgssapi_spnego/Makefile projects/ppc64/lib/libc/gen/getcwd.c projects/ppc64/lib/libc/include/namespace.h projects/ppc64/lib/libc/include/un-namespace.h projects/ppc64/lib/libc/nls/C.msg projects/ppc64/lib/libc/sys/Symbol.map projects/ppc64/lib/libc/sys/intro.2 projects/ppc64/lib/libc/sys/nanosleep.2 projects/ppc64/lib/libfetch/common.c projects/ppc64/lib/libthr/pthread.map projects/ppc64/lib/libthr/thread/thr_private.h projects/ppc64/lib/libthr/thread/thr_syscalls.c projects/ppc64/lib/libusb/libusb20_ugen20.c projects/ppc64/libexec/rtld-elf/rtld.c projects/ppc64/release/doc/README projects/ppc64/release/doc/en_US.ISO8859-1/errata/article.sgml projects/ppc64/release/doc/share/mk/doc.relnotes.mk projects/ppc64/release/doc/share/sgml/release.dsl projects/ppc64/release/doc/share/sgml/release.ent projects/ppc64/release/scripts/package-split.py projects/ppc64/sbin/Makefile.inc projects/ppc64/sbin/adjkerntz/Makefile projects/ppc64/sbin/atacontrol/Makefile projects/ppc64/sbin/atm/atmconfig/Makefile projects/ppc64/sbin/badsect/Makefile projects/ppc64/sbin/bsdlabel/Makefile projects/ppc64/sbin/camcontrol/Makefile projects/ppc64/sbin/ccdconfig/Makefile projects/ppc64/sbin/clri/Makefile projects/ppc64/sbin/comcontrol/Makefile projects/ppc64/sbin/conscontrol/Makefile projects/ppc64/sbin/dhclient/Makefile projects/ppc64/sbin/dhclient/bpf.c projects/ppc64/sbin/dhclient/dhcpd.h projects/ppc64/sbin/dhclient/packet.c projects/ppc64/sbin/dmesg/Makefile projects/ppc64/sbin/dump/Makefile projects/ppc64/sbin/dumpfs/Makefile projects/ppc64/sbin/dumpfs/dumpfs.c projects/ppc64/sbin/dumpon/Makefile projects/ppc64/sbin/geom/Makefile projects/ppc64/sbin/geom/Makefile.inc projects/ppc64/sbin/geom/class/part/gpart.8 projects/ppc64/sbin/ggate/Makefile.inc projects/ppc64/sbin/growfs/Makefile projects/ppc64/sbin/gvinum/Makefile projects/ppc64/sbin/ifconfig/af_nd6.c projects/ppc64/sbin/ifconfig/ifieee80211.c projects/ppc64/sbin/init/Makefile projects/ppc64/sbin/ipf/Makefile.inc projects/ppc64/sbin/iscontrol/Makefile projects/ppc64/sbin/kldunload/Makefile projects/ppc64/sbin/ldconfig/Makefile projects/ppc64/sbin/md5/Makefile projects/ppc64/sbin/mdconfig/Makefile projects/ppc64/sbin/mdmfs/Makefile projects/ppc64/sbin/mksnap_ffs/Makefile projects/ppc64/sbin/mount/Makefile projects/ppc64/sbin/mount_autofs/Makefile projects/ppc64/sbin/mount_cd9660/Makefile projects/ppc64/sbin/mount_ext2fs/Makefile projects/ppc64/sbin/mount_msdosfs/Makefile projects/ppc64/sbin/mount_nullfs/Makefile projects/ppc64/sbin/mount_reiserfs/Makefile projects/ppc64/sbin/mount_unionfs/Makefile projects/ppc64/sbin/newfs_msdos/Makefile projects/ppc64/sbin/nfsiod/Makefile projects/ppc64/sbin/pfctl/Makefile projects/ppc64/sbin/rcorder/Makefile projects/ppc64/sbin/reboot/Makefile projects/ppc64/sbin/recoverdisk/Makefile projects/ppc64/sbin/routed/Makefile projects/ppc64/sbin/savecore/Makefile projects/ppc64/sbin/sconfig/Makefile projects/ppc64/sbin/shutdown/Makefile projects/ppc64/sbin/spppcontrol/Makefile projects/ppc64/sbin/swapon/Makefile projects/ppc64/sbin/sysctl/sysctl.c projects/ppc64/sbin/tunefs/Makefile projects/ppc64/sbin/tunefs/tunefs.8 projects/ppc64/share/man/man4/Makefile projects/ppc64/share/man/man4/atapicam.4 projects/ppc64/share/man/man4/hifn.4 projects/ppc64/share/man/man4/ichwd.4 projects/ppc64/share/man/man4/mac_mls.4 projects/ppc64/share/man/man4/malo.4 projects/ppc64/share/man/man4/sbp_targ.4 projects/ppc64/share/man/man4/targ.4 projects/ppc64/share/man/man4/umass.4 projects/ppc64/share/man/man4/urtw.4 projects/ppc64/share/man/man9/Makefile projects/ppc64/share/misc/bsd-family-tree projects/ppc64/share/misc/committers-src.dot projects/ppc64/share/mk/bsd.sys.mk projects/ppc64/share/zoneinfo/ (props changed) projects/ppc64/share/zoneinfo/Makefile projects/ppc64/share/zoneinfo/asia projects/ppc64/share/zoneinfo/australasia projects/ppc64/sys/ (props changed) projects/ppc64/sys/amd64/amd64/intr_machdep.c projects/ppc64/sys/amd64/amd64/nexus.c projects/ppc64/sys/amd64/amd64/pmap.c projects/ppc64/sys/amd64/conf/GENERIC projects/ppc64/sys/amd64/include/elf.h projects/ppc64/sys/amd64/include/intr_machdep.h projects/ppc64/sys/arm/arm/pmap.c projects/ppc64/sys/arm/conf/HL200 projects/ppc64/sys/arm/conf/KB920X projects/ppc64/sys/arm/include/elf.h projects/ppc64/sys/boot/i386/zfsboot/zfsboot.c projects/ppc64/sys/cam/ata/ata_da.c projects/ppc64/sys/cam/ata/ata_xpt.c projects/ppc64/sys/cam/cam.h projects/ppc64/sys/cam/cam_periph.c projects/ppc64/sys/cam/cam_queue.c projects/ppc64/sys/cam/cam_xpt.c projects/ppc64/sys/cam/cam_xpt_internal.h projects/ppc64/sys/cam/scsi/scsi_all.c projects/ppc64/sys/cam/scsi/scsi_cd.c projects/ppc64/sys/cam/scsi/scsi_ch.c projects/ppc64/sys/cam/scsi/scsi_da.c projects/ppc64/sys/cam/scsi/scsi_low.c projects/ppc64/sys/cam/scsi/scsi_pt.c projects/ppc64/sys/cam/scsi/scsi_sa.c projects/ppc64/sys/cam/scsi/scsi_targ_bh.c projects/ppc64/sys/cam/scsi/scsi_target.c projects/ppc64/sys/cam/scsi/scsi_xpt.c projects/ppc64/sys/compat/x86bios/x86bios.c projects/ppc64/sys/compat/x86bios/x86bios.h projects/ppc64/sys/conf/NOTES projects/ppc64/sys/conf/files projects/ppc64/sys/conf/files.amd64 projects/ppc64/sys/conf/files.i386 projects/ppc64/sys/conf/options projects/ppc64/sys/contrib/dev/acpica/ (props changed) projects/ppc64/sys/contrib/dev/acpica/changes.txt projects/ppc64/sys/contrib/dev/acpica/common/adfile.c projects/ppc64/sys/contrib/dev/acpica/common/adisasm.c projects/ppc64/sys/contrib/dev/acpica/common/adwalk.c projects/ppc64/sys/contrib/dev/acpica/common/dmtable.c projects/ppc64/sys/contrib/dev/acpica/common/getopt.c projects/ppc64/sys/contrib/dev/acpica/compiler/aslload.c projects/ppc64/sys/contrib/dev/acpica/debugger/dbcmds.c projects/ppc64/sys/contrib/dev/acpica/debugger/dbinput.c projects/ppc64/sys/contrib/dev/acpica/disassembler/dmutils.c projects/ppc64/sys/contrib/dev/acpica/disassembler/dmwalk.c projects/ppc64/sys/contrib/dev/acpica/dispatcher/dswload.c projects/ppc64/sys/contrib/dev/acpica/events/evregion.c projects/ppc64/sys/contrib/dev/acpica/include/acapps.h projects/ppc64/sys/contrib/dev/acpica/include/acdebug.h projects/ppc64/sys/contrib/dev/acpica/include/acdisasm.h projects/ppc64/sys/contrib/dev/acpica/include/acglobal.h projects/ppc64/sys/contrib/dev/acpica/include/aclocal.h projects/ppc64/sys/contrib/dev/acpica/include/acpixf.h projects/ppc64/sys/contrib/dev/acpica/namespace/nsrepair.c projects/ppc64/sys/contrib/dev/acpica/utilities/utglobal.c projects/ppc64/sys/dev/agp/agp_i810.c projects/ppc64/sys/dev/ahci/ahci.c projects/ppc64/sys/dev/ahci/ahci.h projects/ppc64/sys/dev/aic7xxx/aicasm/aicasm.c projects/ppc64/sys/dev/atkbdc/atkbd.c projects/ppc64/sys/dev/bce/if_bce.c projects/ppc64/sys/dev/bce/if_bcereg.h projects/ppc64/sys/dev/bge/if_bge.c projects/ppc64/sys/dev/dpms/dpms.c projects/ppc64/sys/dev/drm/drm_pciids.h projects/ppc64/sys/dev/drm/i915_drv.h projects/ppc64/sys/dev/drm/mach64_state.c projects/ppc64/sys/dev/fb/vesa.c projects/ppc64/sys/dev/fdc/fdc.c projects/ppc64/sys/dev/gem/if_gem_pci.c projects/ppc64/sys/dev/hwpmc/hwpmc_mod.c projects/ppc64/sys/dev/ips/ips_disk.c projects/ppc64/sys/dev/mpt/mpt.c projects/ppc64/sys/dev/mpt/mpt.h projects/ppc64/sys/dev/mpt/mpt_cam.c projects/ppc64/sys/dev/mpt/mpt_raid.c projects/ppc64/sys/dev/mwl/if_mwl_pci.c projects/ppc64/sys/dev/mxge/if_mxge.c projects/ppc64/sys/dev/mxge/if_mxge_var.h projects/ppc64/sys/dev/pci/pci.c projects/ppc64/sys/dev/pci/vga_pci.c projects/ppc64/sys/dev/ppbus/lpt.c projects/ppc64/sys/dev/ppbus/pcfclock.c projects/ppc64/sys/dev/siis/siis.c projects/ppc64/sys/dev/usb/controller/ehci.c projects/ppc64/sys/dev/usb/controller/ehci.h projects/ppc64/sys/dev/usb/controller/ehci_ixp4xx.c projects/ppc64/sys/dev/usb/controller/ehci_mbus.c projects/ppc64/sys/dev/usb/controller/ehci_pci.c projects/ppc64/sys/dev/usb/controller/ohci.c projects/ppc64/sys/dev/usb/controller/ohci.h projects/ppc64/sys/dev/usb/controller/ohci_atmelarm.c projects/ppc64/sys/dev/usb/controller/ohci_pci.c projects/ppc64/sys/dev/usb/controller/uhci.c projects/ppc64/sys/dev/usb/controller/uhci.h projects/ppc64/sys/dev/usb/controller/uhci_pci.c projects/ppc64/sys/dev/usb/input/ukbd.c projects/ppc64/sys/dev/usb/input/ums.c projects/ppc64/sys/dev/usb/net/if_cdce.c projects/ppc64/sys/dev/usb/serial/uchcom.c projects/ppc64/sys/dev/usb/storage/umass.c projects/ppc64/sys/dev/usb/usbdevs projects/ppc64/sys/dev/usb/wlan/if_rum.c projects/ppc64/sys/dev/usb/wlan/if_uath.c projects/ppc64/sys/dev/usb/wlan/if_upgt.c projects/ppc64/sys/dev/usb/wlan/if_ural.c projects/ppc64/sys/dev/usb/wlan/if_urtw.c projects/ppc64/sys/dev/usb/wlan/if_urtwreg.h projects/ppc64/sys/dev/usb/wlan/if_urtwvar.h projects/ppc64/sys/dev/usb/wlan/if_zyd.c projects/ppc64/sys/dev/xen/xenpci/ (props changed) projects/ppc64/sys/fs/nfsclient/nfs_clport.c projects/ppc64/sys/fs/nfsclient/nfs_clstate.c projects/ppc64/sys/fs/nfsclient/nfs_clsubs.c projects/ppc64/sys/fs/tmpfs/tmpfs.h projects/ppc64/sys/fs/tmpfs/tmpfs_subr.c projects/ppc64/sys/fs/tmpfs/tmpfs_vnops.c projects/ppc64/sys/geom/part/g_part_gpt.c projects/ppc64/sys/i386/conf/GENERIC projects/ppc64/sys/i386/conf/NOTES projects/ppc64/sys/i386/i386/intr_machdep.c projects/ppc64/sys/i386/i386/nexus.c projects/ppc64/sys/i386/i386/pmap.c projects/ppc64/sys/i386/include/elf.h projects/ppc64/sys/i386/include/intr_machdep.h projects/ppc64/sys/i386/xen/pmap.c projects/ppc64/sys/ia64/ia64/pmap.c projects/ppc64/sys/ia64/include/asm.h projects/ppc64/sys/ia64/include/elf.h projects/ppc64/sys/kern/bus_if.m projects/ppc64/sys/kern/imgact_elf.c projects/ppc64/sys/kern/init_main.c projects/ppc64/sys/kern/kern_event.c projects/ppc64/sys/kern/kern_exit.c projects/ppc64/sys/kern/kern_intr.c projects/ppc64/sys/kern/kern_sig.c projects/ppc64/sys/kern/kern_thr.c projects/ppc64/sys/kern/sched_ule.c projects/ppc64/sys/kern/stack_protector.c projects/ppc64/sys/kern/subr_bus.c projects/ppc64/sys/kern/subr_trap.c projects/ppc64/sys/kern/sys_process.c projects/ppc64/sys/kern/tty.c projects/ppc64/sys/kern/tty_ttydisc.c projects/ppc64/sys/mips/include/elf.h projects/ppc64/sys/mips/mips/pmap.c projects/ppc64/sys/modules/Makefile projects/ppc64/sys/modules/cam/Makefile projects/ppc64/sys/modules/dpms/Makefile projects/ppc64/sys/modules/pf/Makefile projects/ppc64/sys/modules/ubser/Makefile projects/ppc64/sys/modules/usb/Makefile projects/ppc64/sys/modules/usb/ucom/Makefile projects/ppc64/sys/modules/vesa/Makefile projects/ppc64/sys/modules/x86bios/Makefile projects/ppc64/sys/net/flowtable.c projects/ppc64/sys/net/if_bridge.c projects/ppc64/sys/net/if_enc.c projects/ppc64/sys/net/if_ethersubr.c projects/ppc64/sys/net/if_gif.c projects/ppc64/sys/net/pfil.c projects/ppc64/sys/net/pfil.h projects/ppc64/sys/net80211/ieee80211_hwmp.c projects/ppc64/sys/net80211/ieee80211_mesh.c projects/ppc64/sys/net80211/ieee80211_mesh.h projects/ppc64/sys/net80211/ieee80211_output.c projects/ppc64/sys/net80211/ieee80211_proto.h projects/ppc64/sys/netgraph/ng_bridge.c projects/ppc64/sys/netinet/if_ether.c projects/ppc64/sys/netinet/in.c projects/ppc64/sys/netinet/ip_fastfwd.c projects/ppc64/sys/netinet/ip_icmp.c projects/ppc64/sys/netinet/ip_input.c projects/ppc64/sys/netinet/ip_output.c projects/ppc64/sys/netinet/ip_var.h projects/ppc64/sys/netinet/ipfw/ip_fw2.c projects/ppc64/sys/netinet/ipfw/ip_fw_pfil.c projects/ppc64/sys/netinet/raw_ip.c projects/ppc64/sys/netinet/sctp_bsd_addr.c projects/ppc64/sys/netinet/sctp_os_bsd.h projects/ppc64/sys/netinet/sctp_pcb.c projects/ppc64/sys/netinet6/icmp6.c projects/ppc64/sys/netinet6/in6_ifattach.c projects/ppc64/sys/netinet6/ip6_forward.c projects/ppc64/sys/netinet6/ip6_input.c projects/ppc64/sys/netinet6/ip6_output.c projects/ppc64/sys/netinet6/ip6_var.h projects/ppc64/sys/nfsclient/nfs_kdtrace.c projects/ppc64/sys/nfsclient/nfs_vnops.c projects/ppc64/sys/pc98/conf/GENERIC projects/ppc64/sys/powerpc/aim/machdep.c projects/ppc64/sys/powerpc/aim/mmu_oea.c projects/ppc64/sys/powerpc/aim/mmu_oea64.c projects/ppc64/sys/powerpc/aim/mp_cpudep.c projects/ppc64/sys/powerpc/aim/platform_chrp.c projects/ppc64/sys/powerpc/aim/trap_subr.S projects/ppc64/sys/powerpc/aim/trap_subr64.S projects/ppc64/sys/powerpc/booke/mp_cpudep.c projects/ppc64/sys/powerpc/booke/pmap.c projects/ppc64/sys/powerpc/include/elf.h projects/ppc64/sys/powerpc/include/pcpu.h projects/ppc64/sys/powerpc/include/pmap.h projects/ppc64/sys/powerpc/include/smp.h projects/ppc64/sys/powerpc/include/spr.h projects/ppc64/sys/powerpc/ofw/ofw_real.c projects/ppc64/sys/powerpc/powerpc/cpu.c projects/ppc64/sys/powerpc/powerpc/mmu_if.m projects/ppc64/sys/powerpc/powerpc/mp_machdep.c projects/ppc64/sys/powerpc/powerpc/pmap_dispatch.c projects/ppc64/sys/powerpc/powerpc/uio_machdep.c projects/ppc64/sys/powerpc64/conf/GENERIC projects/ppc64/sys/sparc64/conf/GENERIC projects/ppc64/sys/sparc64/include/elf.h projects/ppc64/sys/sparc64/sparc64/pmap.c projects/ppc64/sys/sun4v/include/elf.h projects/ppc64/sys/sun4v/sun4v/pmap.c projects/ppc64/sys/sys/bus.h projects/ppc64/sys/sys/interrupt.h projects/ppc64/sys/sys/kernel.h projects/ppc64/sys/sys/signalvar.h projects/ppc64/sys/sys/ttyqueue.h projects/ppc64/sys/tools/fw_stub.awk projects/ppc64/sys/tools/makeobjops.awk projects/ppc64/sys/vm/pmap.h projects/ppc64/sys/vm/swap_pager.c projects/ppc64/sys/vm/vm_extern.h projects/ppc64/sys/vm/vm_glue.c projects/ppc64/tools/regression/fstest/tests/rename/21.t projects/ppc64/tools/regression/lib/libutil/test-flopen.c projects/ppc64/tools/regression/sigqueue/sigqtest1/sigqtest1.c projects/ppc64/tools/regression/sigqueue/sigqtest2/sigqtest2.c projects/ppc64/tools/tools/netrate/netsend/netsend.c projects/ppc64/usr.bin/make/job.c projects/ppc64/usr.bin/make/main.c projects/ppc64/usr.bin/netstat/route.c projects/ppc64/usr.bin/systat/keyboard.c projects/ppc64/usr.bin/systat/main.c projects/ppc64/usr.bin/touch/touch.c projects/ppc64/usr.sbin/acpi/iasl/Makefile projects/ppc64/usr.sbin/jail/jail.8 projects/ppc64/usr.sbin/mfiutil/mfiutil.8 (props changed) projects/ppc64/usr.sbin/ntp/doc/ntpd.8 projects/ppc64/usr.sbin/sysinstall/tcpip.c projects/ppc64/usr.sbin/tzsetup/tzsetup.8 projects/ppc64/usr.sbin/tzsetup/tzsetup.c Modified: projects/ppc64/Makefile.inc1 ============================================================================== --- projects/ppc64/Makefile.inc1 Fri Oct 23 16:07:15 2009 (r198415) +++ projects/ppc64/Makefile.inc1 Fri Oct 23 17:02:37 2009 (r198416) @@ -929,6 +929,10 @@ _ar= usr.bin/ar _mklocale= usr.bin/mklocale .endif +.if ${BOOTSTRAPPING} < 900002 +_sed= usr.bin/sed +.endif + .if ${BOOTSTRAPPING} < 700018 _gensnmptree= usr.sbin/bsnmpd/gensnmptree .endif @@ -954,6 +958,7 @@ bootstrap-tools: usr.bin/makewhatis \ ${_mklocale} \ usr.bin/rpcgen \ + ${_sed} \ usr.bin/xinstall \ ${_gensnmptree} \ usr.sbin/config \ @@ -1033,7 +1038,6 @@ cross-tools: .for _tool in \ gnu/usr.bin/binutils \ gnu/usr.bin/cc \ - usr.bin/sed \ usr.bin/xlint/lint1 usr.bin/xlint/lint2 usr.bin/xlint/xlint \ ${_btxld} \ ${_crunchide} \ @@ -1122,7 +1126,7 @@ lib/libradius__L secure/lib/libssl__L: s _secure_lib_libssh= secure/lib/libssh secure/lib/libssh__L: lib/libz__L secure/lib/libcrypto__L lib/libcrypt__L .if ${MK_KERBEROS} != "no" -kerberos5/lib/libgssapi_krb5__L: kerberos5/lib/libkrb5__L \ +kerberos5/lib/libgssapi_krb5__L: lib/libgssapi__L kerberos5/lib/libkrb5__L \ kerberos5/lib/libhx509__L kerberos5/lib/libasn1__L lib/libcom_err__L \ lib/libmd__L kerberos5/lib/libroken__L secure/lib/libcrypto__L \ lib/libcrypt__L Modified: projects/ppc64/ObsoleteFiles.inc ============================================================================== --- projects/ppc64/ObsoleteFiles.inc Fri Oct 23 16:07:15 2009 (r198415) +++ projects/ppc64/ObsoleteFiles.inc Fri Oct 23 17:02:37 2009 (r198416) @@ -503,6 +503,8 @@ OLD_FILES+=usr/include/dev/usb/usb_quirk OLD_FILES+=usr/include/dev/usb/usbcdc.h OLD_FILES+=usr/include/dev/usb/usbdivar.h OLD_FILES+=usr/include/dev/usb/uxb360gp_rdesc.h +OLD_FILES+=usr/sbin/usbdevs +OLD_FILES+=usr/share/man/man8/usbdevs.8.gz # 20090203: removal of pccard header files OLD_FILES+=usr/include/pccard/cardinfo.h OLD_FILES+=usr/include/pccard/cis.h Modified: projects/ppc64/bin/cat/Makefile ============================================================================== --- projects/ppc64/bin/cat/Makefile Fri Oct 23 16:07:15 2009 (r198415) +++ projects/ppc64/bin/cat/Makefile Fri Oct 23 17:02:37 2009 (r198416) @@ -2,6 +2,5 @@ # $FreeBSD$ PROG= cat -WARNS?= 6 .include Modified: projects/ppc64/bin/csh/iconv_stub.c ============================================================================== --- projects/ppc64/bin/csh/iconv_stub.c Fri Oct 23 16:07:15 2009 (r198415) +++ projects/ppc64/bin/csh/iconv_stub.c Fri Oct 23 17:02:37 2009 (r198416) @@ -61,9 +61,20 @@ dl_iconv_open(const char *tocode, const if (iconvlib == NULL) return (iconv_t)-1; iconv_open = (iconv_open_t *)dlfunc(iconvlib, ICONV_OPEN); + if (iconv_open == NULL) + goto dlfunc_err; dl_iconv = (dl_iconv_t *)dlfunc(iconvlib, ICONV_ENGINE); + if (dl_iconv == NULL) + goto dlfunc_err; dl_iconv_close = (dl_iconv_close_t *)dlfunc(iconvlib, ICONV_CLOSE); + if (dl_iconv_close == NULL) + goto dlfunc_err; } return iconv_open(tocode, fromcode); + +dlfunc_err: + dlclose(iconvlib); + iconvlib = NULL; + return (iconv_t)-1; } Modified: projects/ppc64/bin/ls/ls.c ============================================================================== --- projects/ppc64/bin/ls/ls.c Fri Oct 23 16:07:15 2009 (r198415) +++ projects/ppc64/bin/ls/ls.c Fri Oct 23 17:02:37 2009 (r198416) @@ -399,7 +399,7 @@ main(int argc, char *argv[]) * If not -F, -d or -l options, follow any symbolic links listed on * the command line. */ - if (!f_longform && !f_listdir && !f_type) + if (!f_longform && !f_listdir && (!f_type || f_slash)) fts_options |= FTS_COMFOLLOW; /* Modified: projects/ppc64/bin/sh/parser.c ============================================================================== --- projects/ppc64/bin/sh/parser.c Fri Oct 23 16:07:15 2009 (r198415) +++ projects/ppc64/bin/sh/parser.c Fri Oct 23 17:02:37 2009 (r198416) @@ -1308,11 +1308,16 @@ parsebackq: { struct jmploc *const savehandler = handler; int savelen; int saveprompt; + const int bq_startlinno = plinno; if (setjmp(jmploc.loc)) { if (str) ckfree(str); handler = savehandler; + if (exception == EXERROR) { + startlinno = bq_startlinno; + synerror("Error in command substitution"); + } longjmp(handler->loc, 1); } INTOFF; Modified: projects/ppc64/bin/uuidgen/Makefile ============================================================================== --- projects/ppc64/bin/uuidgen/Makefile Fri Oct 23 16:07:15 2009 (r198415) +++ projects/ppc64/bin/uuidgen/Makefile Fri Oct 23 17:02:37 2009 (r198416) @@ -1,6 +1,5 @@ # $FreeBSD$ PROG= uuidgen -WARNS?= 6 .include Modified: projects/ppc64/contrib/gcc/config/i386/i386.c ============================================================================== --- projects/ppc64/contrib/gcc/config/i386/i386.c Fri Oct 23 16:07:15 2009 (r198415) +++ projects/ppc64/contrib/gcc/config/i386/i386.c Fri Oct 23 17:02:37 2009 (r198416) @@ -1614,7 +1614,7 @@ override_options (void) "-mtune=generic instead as appropriate."); if (!ix86_arch_string) - ix86_arch_string = TARGET_64BIT ? "x86-64" : "i386"; + ix86_arch_string = TARGET_64BIT ? "x86-64" : "i486"; if (!strcmp (ix86_arch_string, "generic")) error ("generic CPU can be used only for -mtune= switch"); if (!strncmp (ix86_arch_string, "generic", 7)) Modified: projects/ppc64/crypto/openssh/sshd_config ============================================================================== --- projects/ppc64/crypto/openssh/sshd_config Fri Oct 23 16:07:15 2009 (r198415) +++ projects/ppc64/crypto/openssh/sshd_config Fri Oct 23 17:02:37 2009 (r198416) @@ -17,7 +17,6 @@ #VersionAddendum FreeBSD-20091001 #Port 22 -#Protocol 2 #AddressFamily any #ListenAddress 0.0.0.0 #ListenAddress :: Modified: projects/ppc64/etc/defaults/rc.conf ============================================================================== --- projects/ppc64/etc/defaults/rc.conf Fri Oct 23 16:07:15 2009 (r198415) +++ projects/ppc64/etc/defaults/rc.conf Fri Oct 23 17:02:37 2009 (r198416) @@ -600,6 +600,7 @@ harvest_ethernet="YES" # Entropy device harvest_p_to_p="YES" # Entropy device harvests point-to-point randomness dmesg_enable="YES" # Save dmesg(8) to /var/run/dmesg.boot watchdogd_enable="NO" # Start the software watchdog daemon +watchdogd_flags="" # Flags to watchdogd (if enabled) devfs_rulesets="/etc/defaults/devfs.rules /etc/devfs.rules" # Files containing # devfs(8) rules. devfs_system_ruleset="" # The name (NOT number) of a ruleset to apply to /dev Modified: projects/ppc64/etc/gettytab ============================================================================== --- projects/ppc64/etc/gettytab Fri Oct 23 16:07:15 2009 (r198415) +++ projects/ppc64/etc/gettytab Fri Oct 23 17:02:37 2009 (r198416) @@ -162,7 +162,7 @@ X|Xwindow|X window system:\ :fd@:nd@:cd@:rw:sp#9600: P|Pc|Pc console:\ - :ht:np:sp#115200: + :ht:np:sp#9600: # # Wierdo special case for fast crt's with hardcopy devices Modified: projects/ppc64/etc/rc.d/bgfsck ============================================================================== --- projects/ppc64/etc/rc.d/bgfsck Fri Oct 23 16:07:15 2009 (r198415) +++ projects/ppc64/etc/rc.d/bgfsck Fri Oct 23 17:02:37 2009 (r198416) @@ -31,7 +31,7 @@ bgfsck_start () bgfsck_msg="${bgfsck_msg} in ${background_fsck_delay} seconds" fi if [ -z "${rc_force}" ]; then - [ -z "${rc_quiet}" ] && echo "${bgfsck_msg}." + check_startmsgs && echo "${bgfsck_msg}." fi (sleep ${background_fsck_delay}; nice -4 fsck -B -p) 2>&1 | \ Modified: projects/ppc64/etc/rc.d/cleartmp ============================================================================== --- projects/ppc64/etc/rc.d/cleartmp Fri Oct 23 16:07:15 2009 (r198415) +++ projects/ppc64/etc/rc.d/cleartmp Fri Oct 23 17:02:37 2009 (r198416) @@ -25,7 +25,7 @@ cleartmp_start() ${tmp}/.ICE-unix ${tmp}/.font-unix" if checkyesno ${rcvar1}; then - [ -z "${rc_quiet}" ] && echo "Clearing ${tmp}." + check_startmsgs && echo "Clearing ${tmp}." # This is not needed for mfs, but doesn't hurt anything. # Things to note: @@ -44,7 +44,7 @@ cleartmp_start() elif checkyesno clear_tmp_X; then # Remove X lock files, since they will prevent you from # restarting X. Remove other X related directories. - [ -z "${rc_quiet}" ] && echo "Clearing ${tmp} (X related)." + check_startmsgs && echo "Clearing ${tmp} (X related)." rm -rf ${tmp}/.X[0-9]-lock ${x11_socket_dirs} fi if checkyesno clear_tmp_X; then Modified: projects/ppc64/etc/rc.d/faith ============================================================================== --- projects/ppc64/etc/rc.d/faith Fri Oct 23 16:07:15 2009 (r198415) +++ projects/ppc64/etc/rc.d/faith Fri Oct 23 17:02:37 2009 (r198416) @@ -3,7 +3,7 @@ # # PROVIDE: faith -# REQUIRE: netif routing +# REQUIRE: netif # KEYWORD: nojail . /etc/rc.subr @@ -39,9 +39,7 @@ faith_up() route change -inet6 ${prefix} -prefixlen ${prefixlen} \ -ifp faith0 done - if [ -z "${rc_quiet}" ]; then - ifconfig faith0 - fi + check_startmsgs && ifconfig faith0 ;; esac } Modified: projects/ppc64/etc/rc.d/fsck ============================================================================== --- projects/ppc64/etc/rc.d/fsck Fri Oct 23 16:07:15 2009 (r198415) +++ projects/ppc64/etc/rc.d/fsck Fri Oct 23 17:02:37 2009 (r198416) @@ -23,7 +23,7 @@ fsck_start() # During fsck ignore SIGQUIT trap : 3 - [ -z "${rc_quiet}" ] && echo "Starting file system checks:" + check_startmsgs && echo "Starting file system checks:" if checkyesno background_fsck; then fsck -F -p else Modified: projects/ppc64/etc/rc.d/hostid ============================================================================== --- projects/ppc64/etc/rc.d/hostid Fri Oct 23 16:07:15 2009 (r198415) +++ projects/ppc64/etc/rc.d/hostid Fri Oct 23 17:02:37 2009 (r198416) @@ -49,9 +49,9 @@ hostid_set() # Set both kern.hostuuid and kern.hostid. # - [ -z "${rc_quiet}" ] && echo "Setting hostuuid: ${uuid}." + check_startmsgs && echo "Setting hostuuid: ${uuid}." ${SYSCTL_W} kern.hostuuid="${uuid}" >/dev/null - [ -z "${rc_quiet}" ] && echo "Setting hostid: ${id}." + check_startmsgs && echo "Setting hostid: ${id}." ${SYSCTL_W} kern.hostid=${id} >/dev/null } Modified: projects/ppc64/etc/rc.d/hostname ============================================================================== --- projects/ppc64/etc/rc.d/hostname Fri Oct 23 16:07:15 2009 (r198415) +++ projects/ppc64/etc/rc.d/hostname Fri Oct 23 17:02:37 2009 (r198416) @@ -72,8 +72,9 @@ hostname_start() # All right, it is safe to invoke hostname(1) now. # - [ -z "${rc_quiet}" ] && echo "Setting hostname: ${hostname}." + check_startmsgs && echo -n "Setting hostname: ${hostname}" /bin/hostname "${hostname}" + check_startmsgs && echo '.' } load_rc_config $name Modified: projects/ppc64/etc/rc.d/ldconfig ============================================================================== --- projects/ppc64/etc/rc.d/ldconfig Fri Oct 23 16:07:15 2009 (r198415) +++ projects/ppc64/etc/rc.d/ldconfig Fri Oct 23 17:02:37 2009 (r198416) @@ -36,7 +36,7 @@ ldconfig_start() _LDC="${_LDC} ${i}" fi done - [ -z "${rc_quiet}" ] && echo 'ELF ldconfig path:' ${_LDC} + check_startmsgs && echo 'ELF ldconfig path:' ${_LDC} ${ldconfig} -elf ${_ins} ${_LDC} case `sysctl -n hw.machine_arch` in @@ -55,7 +55,7 @@ ldconfig_start() _LDC="${_LDC} ${i}" fi done - [ -z "${rc_quiet}" ] && + check_startmsgs && echo '32-bit compatibility ldconfig path:' ${_LDC} ${ldconfig} -32 -m ${_ins} ${_LDC} ;; @@ -72,8 +72,7 @@ ldconfig_start() _LDC="${_LDC} ${i}" fi done - [ -z "${rc_quiet}" ] && - echo 'a.out ldconfig path:' ${_LDC} + check_startmsgs && echo 'a.out ldconfig path:' ${_LDC} ${ldconfig} -aout ${_ins} ${_LDC} ;; esac Modified: projects/ppc64/etc/rc.d/motd ============================================================================== --- projects/ppc64/etc/rc.d/motd Fri Oct 23 16:07:15 2009 (r198415) +++ projects/ppc64/etc/rc.d/motd Fri Oct 23 17:02:37 2009 (r198416) @@ -22,7 +22,7 @@ motd_start() # Must be done *before* interactive logins are possible # to prevent possible race conditions. # - [ -z "${rc_quiet}" ] && echo -n 'Updating motd:' + check_startmsgs && echo -n 'Updating motd:' if [ ! -f /etc/motd ]; then install -c -o root -g wheel -m ${PERMS} /dev/null /etc/motd fi @@ -42,7 +42,7 @@ motd_start() } rm -f $T - [ -z "${rc_quiet}" ] && echo . + check_startmsgs && echo '.' } load_rc_config $name Modified: projects/ppc64/etc/rc.d/mountcritlocal ============================================================================== --- projects/ppc64/etc/rc.d/mountcritlocal Fri Oct 23 16:07:15 2009 (r198415) +++ projects/ppc64/etc/rc.d/mountcritlocal Fri Oct 23 17:02:37 2009 (r198416) @@ -28,7 +28,7 @@ mountcritlocal_start() esac # Mount everything except nfs filesystems. - [ -z "${rc_quiet}" ] && echo -n 'Mounting local file systems:' + check_startmsgs && echo -n 'Mounting local file systems:' mount_excludes='no' for i in ${netfs_types}; do fstype=${i%:*} @@ -37,7 +37,7 @@ mountcritlocal_start() mount_excludes=${mount_excludes%,} mount -a -t ${mount_excludes} err=$? - [ -z "${rc_quiet}" ] && echo '.' + check_startmsgs && echo '.' case ${err} in 0) Modified: projects/ppc64/etc/rc.d/moused ============================================================================== --- projects/ppc64/etc/rc.d/moused Fri Oct 23 16:07:15 2009 (r198415) +++ projects/ppc64/etc/rc.d/moused Fri Oct 23 17:02:37 2009 (r198416) @@ -51,8 +51,9 @@ moused_start() mytype="$moused_type" fi - [ -z "${rc_quiet}" ] && echo -n "Starting ${ms} moused." + check_startmsgs && echo -n "Starting ${ms} moused" /usr/sbin/moused ${myflags} -p ${myport} -t ${mytype} ${pidarg} + check_startmsgs && echo '.' mousechar_arg= case ${mousechar_start} in Modified: projects/ppc64/etc/rc.d/netif ============================================================================== --- projects/ppc64/etc/rc.d/netif Fri Oct 23 16:07:15 2009 (r198415) +++ projects/ppc64/etc/rc.d/netif Fri Oct 23 17:02:37 2009 (r198416) @@ -143,7 +143,7 @@ network_common() ;; esac echo "${_str} Network:${_ok}." - if [ -z "${rc_quiet}" ]; then + if check_startmsgs; then for ifn in ${_ok}; do /sbin/ifconfig ${ifn} done Modified: projects/ppc64/etc/rc.d/netoptions ============================================================================== --- projects/ppc64/etc/rc.d/netoptions Fri Oct 23 16:07:15 2009 (r198415) +++ projects/ppc64/etc/rc.d/netoptions Fri Oct 23 17:02:37 2009 (r198416) @@ -53,7 +53,7 @@ netoptions_inet() ${SYSCTL_W} net.inet.tcp.rfc1323=1 >/dev/null else netoptions_init - echo -n ' rfc1323 extensions=${tcp_extensions}' + echo -n " rfc1323 extensions=${tcp_extensions}" ${SYSCTL_W} net.inet.tcp.rfc1323=0 >/dev/null fi @@ -61,13 +61,13 @@ netoptions_inet() ${SYSCTL_W} net.inet.tcp.always_keepalive=1 >/dev/null else netoptions_init - echo -n ' TCP keepalive=${tcp_keepalive}' + echo -n " TCP keepalive=${tcp_keepalive}" ${SYSCTL_W} net.inet.tcp.always_keepalive=0 >/dev/null fi if checkyesno tcp_drop_synfin; then netoptions_init - echo -n ' drop SYN+FIN packets=${tcp_drop_synfin}' + echo -n " drop SYN+FIN packets=${tcp_drop_synfin}" ${SYSCTL_W} net.inet.tcp.drop_synfin=1 >/dev/null else ${SYSCTL_W} net.inet.tcp.drop_synfin=0 >/dev/null Modified: projects/ppc64/etc/rc.d/newsyslog ============================================================================== --- projects/ppc64/etc/rc.d/newsyslog Fri Oct 23 16:07:15 2009 (r198415) +++ projects/ppc64/etc/rc.d/newsyslog Fri Oct 23 17:02:37 2009 (r198416) @@ -17,9 +17,9 @@ stop_cmd=":" newsyslog_start() { - [ -z "${rc_quiet}" ] && echo -n "Creating and/or trimming log files:" + check_startmsgs && echo -n 'Creating and/or trimming log files' ${command} ${rc_flags} - [ -z "${rc_quiet}" ] && echo "." + check_startmsgs && echo '.' } load_rc_config $name Modified: projects/ppc64/etc/rc.d/nfsclient ============================================================================== --- projects/ppc64/etc/rc.d/nfsclient Fri Oct 23 16:07:15 2009 (r198415) +++ projects/ppc64/etc/rc.d/nfsclient Fri Oct 23 17:02:37 2009 (r198416) @@ -22,7 +22,8 @@ nfsclient_start() # if [ -n "${nfs_access_cache}" ]; then - [ -z "${rc_quiet}" ] && echo "NFS access cache time=${nfs_access_cache}" + check_startmsgs && + echo "NFS access cache time=${nfs_access_cache}" if ! sysctl vfs.nfs.access_cache_timeout=${nfs_access_cache} >/dev/null; then warn "failed to set access cache timeout" fi Modified: projects/ppc64/etc/rc.d/pf ============================================================================== --- projects/ppc64/etc/rc.d/pf Fri Oct 23 16:07:15 2009 (r198415) +++ projects/ppc64/etc/rc.d/pf Fri Oct 23 17:02:37 2009 (r198416) @@ -25,19 +25,21 @@ required_modules="pf" pf_start() { - [ -z "${rc_quiet}" ] && echo "Enabling pf." + check_startmsgs && echo -n 'Enabling pf' $pf_program -F all > /dev/null 2>&1 $pf_program -f "$pf_rules" $pf_flags if ! $pf_program -s info | grep -q "Enabled" ; then $pf_program -e fi + check_startmsgs && echo '.' } pf_stop() { if $pf_program -s info | grep -q "Enabled" ; then - [ -z "${rc_quiet}" ] && echo "Disabling pf." + echo -n 'Disabling pf' $pf_program -d + echo '.' fi } Modified: projects/ppc64/etc/rc.d/savecore ============================================================================== --- projects/ppc64/etc/rc.d/savecore Fri Oct 23 16:07:15 2009 (r198415) +++ projects/ppc64/etc/rc.d/savecore Fri Oct 23 17:02:37 2009 (r198416) @@ -69,7 +69,7 @@ savecore_start() ${crashinfo_program} -d ${dumpdir} fi else - [ -z "${rc_quiet}" ] && echo "No core dumps found" + check_startmsgs && echo 'No core dumps found.' fi } Modified: projects/ppc64/etc/rc.d/stf ============================================================================== --- projects/ppc64/etc/rc.d/stf Fri Oct 23 16:07:15 2009 (r198415) +++ projects/ppc64/etc/rc.d/stf Fri Oct 23 17:02:37 2009 (r198416) @@ -3,7 +3,7 @@ # # PROVIDE: stf -# REQUIRE: netif routing +# REQUIRE: netif # KEYWORD: nojail . /etc/rc.subr @@ -53,9 +53,8 @@ stf_up() ifconfig stf0 create >/dev/null 2>&1 ifconfig stf0 inet6 2002:${ipv4_in_hexformat}:${stf_interface_ipv6_slaid:-0}:${stf_interface_ipv6_ifid} \ prefixlen ${stf_prefixlen} - if [ -z "${rc_quiet}" ]; then - /sbin/ifconfig stf0 - fi + check_startmsgs && /sbin/ifconfig stf0 + # disallow packets to malicious 6to4 prefix route add -inet6 2002:e000:: -prefixlen 20 ::1 -reject route add -inet6 2002:7f00:: -prefixlen 24 ::1 -reject Modified: projects/ppc64/etc/rc.subr ============================================================================== --- projects/ppc64/etc/rc.subr Fri Oct 23 16:07:15 2009 (r198415) +++ projects/ppc64/etc/rc.subr Fri Oct 23 17:02:37 2009 (r198416) @@ -398,6 +398,20 @@ wait_for_pids() } # +# check_startmsgs +# If rc_quiet is set (usually as a result of using faststart at +# boot time) check if rc_startmsgs is enabled. +# +check_startmsgs() +{ + if [ -n "$rc_quiet" ]; then + checkyesno rc_startmsgs + else + return 0 + fi +} + +# # run_rc_command argument # Search for argument in the list of supported commands, which is: # "start stop restart rcvar status poll ${extra_commands}" @@ -579,7 +593,7 @@ run_rc_command() rc_fast=yes rc_quiet=yes ;; - force*) # "force prefix; always run + force*) # "force" prefix; always run rc_force=yes _rc_prefix=force rc_arg=${rc_arg#${_rc_prefix}} @@ -602,7 +616,7 @@ run_rc_command() esac eval _override_command=\$${name}_program - command=${command:+${_override_command:-$command}} + command=${_override_command:-$command} _keywords="start stop restart rcvar $extra_commands" rc_pid= @@ -708,13 +722,7 @@ run_rc_command() # setup the full command to run # - _show_startmsgs=1 - if [ -n "${rc_quiet}" ]; then - if ! checkyesno rc_startmsgs; then - unset _show_startmsgs - fi - fi - [ -n "$_show_startmsgs" ] && echo "Starting ${name}." + check_startmsgs && echo "Starting ${name}." if [ -n "$_chroot" ]; then _doit="\ ${_nice:+nice -n $_nice }\ Modified: projects/ppc64/games/number/Makefile ============================================================================== --- projects/ppc64/games/number/Makefile Fri Oct 23 16:07:15 2009 (r198415) +++ projects/ppc64/games/number/Makefile Fri Oct 23 17:02:37 2009 (r198416) @@ -4,4 +4,6 @@ PROG= number MAN= number.6 +WARNS?= 6 + .include Modified: projects/ppc64/games/number/number.c ============================================================================== --- projects/ppc64/games/number/number.c Fri Oct 23 16:07:15 2009 (r198415) +++ projects/ppc64/games/number/number.c Fri Oct 23 17:02:37 2009 (r198416) @@ -88,9 +88,7 @@ void usage(void); int lflag; int -main(argc, argv) - int argc; - char *argv[]; +main(int argc, char *argv[]) { int ch, first; char line[256]; @@ -275,7 +273,7 @@ void pfract(len) int len; { - static char *pref[] = { "", "ten-", "hundred-" }; + static char const * const pref[] = { "", "ten-", "hundred-" }; switch(len) { case 1: Modified: projects/ppc64/kerberos5/lib/libgssapi_krb5/Makefile ============================================================================== --- projects/ppc64/kerberos5/lib/libgssapi_krb5/Makefile Fri Oct 23 16:07:15 2009 (r198415) +++ projects/ppc64/kerberos5/lib/libgssapi_krb5/Makefile Fri Oct 23 17:02:37 2009 (r198416) @@ -2,8 +2,8 @@ LIB= gssapi_krb5 LDFLAGS= -Wl,-Bsymbolic -LDADD= -lkrb5 -lhx509 -lcrypto -lroken -lasn1 -lcom_err -lcrypt -DPADD= ${LIBKRB5} ${LIBHX509} ${LIBCRYPTO} ${LIBROKEN} ${LIBASN1} \ +LDADD= -lgssapi -lkrb5 -lhx509 -lcrypto -lroken -lasn1 -lcom_err -lcrypt +DPADD= ${LIBGSSAPI} ${LIBKRB5} ${LIBHX509} ${LIBCRYPTO} ${LIBROKEN} ${LIBASN1} \ ${LIBCOM_ERR} ${LIBCRYPT} INCS= ${KRB5DIR}/lib/gssapi/gssapi/gssapi_krb5.h Modified: projects/ppc64/kerberos5/lib/libgssapi_spnego/Makefile ============================================================================== --- projects/ppc64/kerberos5/lib/libgssapi_spnego/Makefile Fri Oct 23 16:07:15 2009 (r198415) +++ projects/ppc64/kerberos5/lib/libgssapi_spnego/Makefile Fri Oct 23 17:02:37 2009 (r198416) @@ -2,8 +2,8 @@ LIB= gssapi_spnego LDFLAGS= -Wl,-Bsymbolic -LDADD= -lasn1 -DPADD= ${LIBASN1} +LDADD= -lgssapi -lasn1 +DPADD= ${LIBGSSAPI} ${LIBASN1} SRCS= accept_sec_context.c \ compat.c \ Modified: projects/ppc64/lib/libc/gen/getcwd.c ============================================================================== --- projects/ppc64/lib/libc/gen/getcwd.c Fri Oct 23 16:07:15 2009 (r198415) +++ projects/ppc64/lib/libc/gen/getcwd.c Fri Oct 23 17:02:37 2009 (r198416) @@ -62,13 +62,14 @@ getcwd(pt, size) dev_t dev; ino_t ino; int first; - char *bpt, *bup; + char *bpt; struct stat s; dev_t root_dev; ino_t root_ino; - size_t ptsize, upsize; + size_t ptsize; int save_errno; - char *ept, *eup, *up, c; + char *ept, c; + int fd; /* * If no buffer specified by the user, allocate one as necessary. @@ -106,18 +107,6 @@ getcwd(pt, size) bpt = ept - 1; *bpt = '\0'; - /* - * Allocate 1024 bytes for the string of "../"'s. - * Should always be enough. If it's not, allocate - * as necessary. Special case the first stat, it's ".", not "..". - */ - if ((up = malloc(upsize = 1024)) == NULL) - goto err; - eup = up + upsize; - bup = up; - up[0] = '.'; - up[1] = '\0'; - /* Save root values, so know when to stop. */ if (stat("/", &s)) goto err; @@ -128,7 +117,7 @@ getcwd(pt, size) for (first = 1;; first = 0) { /* Stat the current level. */ - if (lstat(up, &s)) + if (dir != NULL ? _fstat(dirfd(dir), &s) : lstat(".", &s)) goto err; /* Save current node values. */ @@ -144,32 +133,22 @@ getcwd(pt, size) * been that way and stuff would probably break. */ bcopy(bpt, pt, ept - bpt); - free(up); + if (dir) + (void) closedir(dir); return (pt); } - /* - * Build pointer to the parent directory, allocating memory - * as necessary. Max length is 3 for "../", the largest - * possible component name, plus a trailing NUL. - */ - while (bup + 3 + MAXNAMLEN + 1 >= eup) { - if ((up = reallocf(up, upsize *= 2)) == NULL) - goto err; - bup = up; - eup = up + upsize; - } - *bup++ = '.'; - *bup++ = '.'; - *bup = '\0'; - /* Open and stat parent directory. */ - if (!(dir = opendir(up)) || _fstat(dirfd(dir), &s)) + fd = _openat(dir != NULL ? dirfd(dir) : AT_FDCWD, + "..", O_RDONLY); + if (fd == -1) goto err; - - /* Add trailing slash for next directory. */ - *bup++ = '/'; - *bup = '\0'; + if (dir) + (void) closedir(dir); + if (!(dir = fdopendir(fd)) || _fstat(dirfd(dir), &s)) { + _close(fd); + goto err; + } /* * If it's a mount point, have to stat each element because @@ -190,10 +169,10 @@ getcwd(pt, size) goto notfound; if (ISDOT(dp)) continue; - bcopy(dp->d_name, bup, dp->d_namlen + 1); /* Save the first error for later. */ - if (lstat(up, &s)) { + if (fstatat(dirfd(dir), dp->d_name, &s, + AT_SYMLINK_NOFOLLOW)) { if (!save_errno) save_errno = errno; errno = 0; @@ -227,11 +206,6 @@ getcwd(pt, size) *--bpt = '/'; bpt -= dp->d_namlen; bcopy(dp->d_name, bpt, dp->d_namlen); - (void) closedir(dir); - dir = NULL; - - /* Truncate any file name. */ - *bup = '\0'; } notfound: @@ -250,7 +224,6 @@ err: free(pt); if (dir) (void) closedir(dir); - free(up); errno = save_errno; return (NULL); Modified: projects/ppc64/lib/libc/include/namespace.h ============================================================================== --- projects/ppc64/lib/libc/include/namespace.h Fri Oct 23 16:07:15 2009 (r198415) +++ projects/ppc64/lib/libc/include/namespace.h Fri Oct 23 17:02:37 2009 (r198416) @@ -80,6 +80,7 @@ #define listen _listen #define nanosleep _nanosleep #define open _open +#define openat _openat #define poll _poll #define pthread_atfork _pthread_atfork #define pthread_attr_destroy _pthread_attr_destroy Modified: projects/ppc64/lib/libc/include/un-namespace.h ============================================================================== --- projects/ppc64/lib/libc/include/un-namespace.h Fri Oct 23 16:07:15 2009 (r198415) +++ projects/ppc64/lib/libc/include/un-namespace.h Fri Oct 23 17:02:37 2009 (r198416) @@ -61,6 +61,7 @@ #undef listen #undef nanosleep #undef open +#undef openat #undef poll #undef pthread_atfork #undef pthread_attr_destroy Modified: projects/ppc64/lib/libc/nls/C.msg ============================================================================== --- projects/ppc64/lib/libc/nls/C.msg Fri Oct 23 16:07:15 2009 (r198415) +++ projects/ppc64/lib/libc/nls/C.msg Fri Oct 23 17:02:37 2009 (r198416) @@ -181,6 +181,16 @@ $ ENOATTR 87 Attribute not found $ EDOOFUS 88 Programming error +$ EBADMSG +89 Bad message +$ EMULTIHOP +90 Multihop attempted +$ ENOLINK +91 Link has been severed +$ EPROTO +92 Protocol error +$ ENOTCAPABLE +93 Capabilities insufficient $ $ strsignal() support catalog $ Modified: projects/ppc64/lib/libc/sys/Symbol.map ============================================================================== --- projects/ppc64/lib/libc/sys/Symbol.map Fri Oct 23 16:07:15 2009 (r198415) +++ projects/ppc64/lib/libc/sys/Symbol.map Fri Oct 23 17:02:37 2009 (r198416) @@ -769,6 +769,8 @@ FBSDprivate_1.0 { __sys_olio_listio; _open; __sys_open; + _openat; + __sys_openat; _pathconf; __sys_pathconf; _pipe; Modified: projects/ppc64/lib/libc/sys/intro.2 ============================================================================== --- projects/ppc64/lib/libc/sys/intro.2 Fri Oct 23 16:07:15 2009 (r198415) +++ projects/ppc64/lib/libc/sys/intro.2 Fri Oct 23 17:02:37 2009 (r198416) @@ -456,6 +456,14 @@ The specified extended attribute does no .It Er 88 EDOOFUS Em "Programming error" . A function or API is being abused in a way which could only be detected at run-time. +.It Er 89 EBADMSG Em "Bad message" . +A corrupted message was detected. +.It Er 90 EMULTIHOP Em "Multihop attempted" . +This error code is unused, but present for compatibility with other systems. +.It Er 91 ENOLINK Em "Link has been severed" . +This error code is unused, but present for compatibility with other systems. +.It Er 92 EPROTO Em "Protocol error" . +A device or socket encountered an unrecoverable protocol error. .It Er 93 ENOTCAPABLE Em "Capabilities insufficient" . An operation on a capability file descriptor requires greater privilege than the capability allows. Modified: projects/ppc64/lib/libc/sys/nanosleep.2 ============================================================================== --- projects/ppc64/lib/libc/sys/nanosleep.2 Fri Oct 23 16:07:15 2009 (r198415) +++ projects/ppc64/lib/libc/sys/nanosleep.2 Fri Oct 23 17:02:37 2009 (r198416) @@ -47,7 +47,9 @@ The .Fn nanosleep system call -causes the process to sleep for the specified time. +causes the calling thread to sleep until the time interval specified by +.Fa rqtp +has elapsed. An unmasked signal will cause it to terminate the sleep early, regardless of the .Dv SA_RESTART Modified: projects/ppc64/lib/libfetch/common.c ============================================================================== --- projects/ppc64/lib/libfetch/common.c Fri Oct 23 16:07:15 2009 (r198415) +++ projects/ppc64/lib/libfetch/common.c Fri Oct 23 17:02:37 2009 (r198416) @@ -772,7 +772,7 @@ fetch_no_proxy_match(const char *host) break; d_len = q - p; - if (d_len > 0 && h_len > d_len && + if (d_len > 0 && h_len >= d_len && strncasecmp(host + h_len - d_len, p, d_len) == 0) { /* domain name matches */ Modified: projects/ppc64/lib/libthr/pthread.map ============================================================================== --- projects/ppc64/lib/libthr/pthread.map Fri Oct 23 16:07:15 2009 (r198415) +++ projects/ppc64/lib/libthr/pthread.map Fri Oct 23 17:02:37 2009 (r198416) @@ -195,6 +195,7 @@ FBSDprivate_1.0 { __msync; __nanosleep; __open; + __openat; __poll; __pthread_cond_timedwait; __pthread_cond_wait; @@ -406,3 +407,7 @@ FBSD_1.1 { pthread_mutex_setspinloops_np; pthread_mutex_setyieldloops_np; }; + +FBSD_1.2 { + openat; +}; Modified: projects/ppc64/lib/libthr/thread/thr_private.h ============================================================================== --- projects/ppc64/lib/libthr/thread/thr_private.h Fri Oct 23 16:07:15 2009 (r198415) +++ projects/ppc64/lib/libthr/thread/thr_private.h Fri Oct 23 17:02:37 2009 (r198416) @@ -668,6 +668,7 @@ void _pthread_cleanup_pop(int); #ifdef _SYS_FCNTL_H_ int __sys_fcntl(int, int, ...); int __sys_open(const char *, int, ...); +int __sys_openat(int, const char *, int, ...); #endif /* #include */ Modified: projects/ppc64/lib/libthr/thread/thr_syscalls.c ============================================================================== --- projects/ppc64/lib/libthr/thread/thr_syscalls.c Fri Oct 23 16:07:15 2009 (r198415) +++ projects/ppc64/lib/libthr/thread/thr_syscalls.c Fri Oct 23 17:02:37 2009 (r198416) @@ -139,6 +139,7 @@ int __fsync(int); int __msync(void *, size_t, int); int __nanosleep(const struct timespec *, struct timespec *); int __open(const char *, int,...); +int __openat(int, const char *, int,...); int __poll(struct pollfd *, unsigned int, int); ssize_t __read(int, void *buf, size_t); ssize_t __readv(int, const struct iovec *, int); @@ -341,6 +342,33 @@ __open(const char *path, int flags,...) return ret; } +__weak_reference(__openat, openat); + +int +__openat(int fd, const char *path, int flags, ...) +{ + struct pthread *curthread = _get_curthread(); + int ret; + int mode = 0; + va_list ap; + + _thr_cancel_enter(curthread); + + /* Check if the file is being created: */ + if (flags & O_CREAT) { + /* Get the creation mode: */ + va_start(ap, flags); + mode = va_arg(ap, int); + va_end(ap); + } + + ret = __sys_openat(fd, path, flags, mode); + + _thr_cancel_leave(curthread); + + return ret; +} + __weak_reference(__poll, poll); int Modified: projects/ppc64/lib/libusb/libusb20_ugen20.c ============================================================================== --- projects/ppc64/lib/libusb/libusb20_ugen20.c Fri Oct 23 16:07:15 2009 (r198415) +++ projects/ppc64/lib/libusb/libusb20_ugen20.c Fri Oct 23 17:02:37 2009 (r198416) @@ -800,7 +800,11 @@ ugen20_tr_submit(struct libusb20_transfe if (xfer->flags & LIBUSB20_TRANSFER_DO_CLEAR_STALL) { fsep->flags |= USB_FS_FLAG_CLEAR_STALL; } - fsep->timeout = xfer->timeout; + /* NOTE: The "fsep->timeout" variable is 16-bit. */ + if (xfer->timeout > 65535) + fsep->timeout = 65535; + else + fsep->timeout = xfer->timeout; temp.ep_index = xfer->trIndex; Modified: projects/ppc64/libexec/rtld-elf/rtld.c ============================================================================== --- projects/ppc64/libexec/rtld-elf/rtld.c Fri Oct 23 16:07:15 2009 (r198415) +++ projects/ppc64/libexec/rtld-elf/rtld.c Fri Oct 23 17:02:37 2009 (r198416) @@ -474,6 +474,7 @@ _rtld(Elf_Addr *sp, func_ptr_type *exit_ /* Initialize a fake symbol for resolving undefined weak references. */ sym_zero.st_info = ELF_ST_INFO(STB_GLOBAL, STT_NOTYPE); sym_zero.st_shndx = SHN_UNDEF; + sym_zero.st_value = -(uintptr_t)obj_main->relocbase; if (!libmap_disable) libmap_disable = (bool)lm_init(libmap_override); @@ -991,26 +992,26 @@ digest_phdr(const Elf_Phdr *phdr, int ph obj = obj_new(); for (ph = phdr; ph < phlimit; ph++) { - switch (ph->p_type) { + if (ph->p_type != PT_PHDR) + continue; - case PT_PHDR: - if ((const Elf_Phdr *)ph->p_vaddr != phdr) { - _rtld_error("%s: invalid PT_PHDR", path); - return NULL; - } - obj->phdr = (const Elf_Phdr *) ph->p_vaddr; - obj->phsize = ph->p_memsz; - break; + obj->phdr = phdr; + obj->phsize = ph->p_memsz; + obj->relocbase = (caddr_t)phdr - ph->p_vaddr; + break; + } + + for (ph = phdr; ph < phlimit; ph++) { + switch (ph->p_type) { case PT_INTERP: - obj->interp = (const char *) ph->p_vaddr; + obj->interp = (const char *)(ph->p_vaddr + obj->relocbase); break; case PT_LOAD: if (nsegs == 0) { /* First load segment */ obj->vaddrbase = trunc_page(ph->p_vaddr); - obj->mapbase = (caddr_t) obj->vaddrbase; - obj->relocbase = obj->mapbase - obj->vaddrbase; + obj->mapbase = obj->vaddrbase + obj->relocbase; obj->textsize = round_page(ph->p_vaddr + ph->p_memsz) - obj->vaddrbase; } else { /* Last load segment */ @@ -1021,7 +1022,7 @@ digest_phdr(const Elf_Phdr *phdr, int ph break; case PT_DYNAMIC: - obj->dynamic = (const Elf_Dyn *) ph->p_vaddr; + obj->dynamic = (const Elf_Dyn *)(ph->p_vaddr + obj->relocbase); break; case PT_TLS: @@ -1029,7 +1030,7 @@ digest_phdr(const Elf_Phdr *phdr, int ph obj->tlssize = ph->p_memsz; obj->tlsalign = ph->p_align; obj->tlsinitsize = ph->p_filesz; - obj->tlsinit = (void*) ph->p_vaddr; + obj->tlsinit = (void*)(ph->p_vaddr + obj->relocbase); break; } } Modified: projects/ppc64/release/doc/README ============================================================================== --- projects/ppc64/release/doc/README Fri Oct 23 16:07:15 2009 (r198415) +++ projects/ppc64/release/doc/README Fri Oct 23 17:02:37 2009 (r198416) @@ -99,9 +99,10 @@ element will be included. For example: SPARC64-specific text -The currently-supported architectures are i386, sparc64, and -ia64. An element may appear for multiple architectures by specifying -a comma-separated list of architectures (i.e. arch="sparc64,ia64"). +The currently-supported architectures are amd64, arm, i386, ia64, +pc98, powerpc, and sparc64. An element may appear for multiple +architectures by specifying a comma-separated list of architectures +(i.e. arch="sparc64,ia64"). When creating a translation, make a new directory under this directory with a language code (paralleling the DocProj directory Modified: projects/ppc64/release/doc/en_US.ISO8859-1/errata/article.sgml ============================================================================== --- projects/ppc64/release/doc/en_US.ISO8859-1/errata/article.sgml Fri Oct 23 16:07:15 2009 (r198415) +++ projects/ppc64/release/doc/en_US.ISO8859-1/errata/article.sgml Fri Oct 23 17:02:37 2009 (r198416) @@ -16,7 +16,6 @@ %release; - ]>
    Modified: projects/ppc64/release/doc/share/mk/doc.relnotes.mk ============================================================================== --- projects/ppc64/release/doc/share/mk/doc.relnotes.mk Fri Oct 23 16:07:15 2009 (r198415) +++ projects/ppc64/release/doc/share/mk/doc.relnotes.mk Fri Oct 23 17:02:37 2009 (r198416) @@ -11,23 +11,6 @@ DSLHTML?= ${RELN_ROOT}/share/sgml/defaul DSLPRINT?= ${RELN_ROOT}/share/sgml/default.dsl # -# Tweakable Makefile variables -# -# INCLUDE_HISTORIC Used by relnotes document only. When set, -# causes all release notes entries to be printed, -# even those marked as "historic". If not set -# (the default), only print "non-historic" -# release note entries. To designate a release -# note entry as "historic", add a role="historic" -# attribute to the applicable element(s). -# -.if defined(INCLUDE_HISTORIC) -JADEFLAGS+= -iinclude.historic -.else -JADEFLAGS+= -ino.include.historic -.endif - -# # Automatic device list generation: # .if exists(${RELN_ROOT}/../man4) Modified: projects/ppc64/release/doc/share/sgml/release.dsl ============================================================================== --- projects/ppc64/release/doc/share/sgml/release.dsl Fri Oct 23 16:07:15 2009 (r198415) +++ projects/ppc64/release/doc/share/sgml/release.dsl Fri Oct 23 17:02:37 2009 (r198416) @@ -3,8 +3,6 @@ *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-projects@FreeBSD.ORG Fri Oct 23 22:07:35 2009 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 2D24A1065670; Fri, 23 Oct 2009 22:07:35 +0000 (UTC) (envelope-from nwhitehorn@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 1942A8FC17; Fri, 23 Oct 2009 22:07:35 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n9NM7ZGf073701; Fri, 23 Oct 2009 22:07:35 GMT (envelope-from nwhitehorn@svn.freebsd.org) Received: (from nwhitehorn@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n9NM7YD1073679; Fri, 23 Oct 2009 22:07:34 GMT (envelope-from nwhitehorn@svn.freebsd.org) Message-Id: <200910232207.n9NM7YD1073679@svn.freebsd.org> From: Nathan Whitehorn Date: Fri, 23 Oct 2009 22:07:34 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r198430 - in projects/ppc64: . lib/libc/gen sys sys/amd64/acpica sys/boot/i386/zfsboot sys/boot/zfs sys/cddl/boot/zfs sys/dev/ata sys/dev/fb sys/dev/siis sys/dev/syscons sys/dev/xen/xen... X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 23 Oct 2009 22:07:35 -0000 Author: nwhitehorn Date: Fri Oct 23 22:07:34 2009 New Revision: 198430 URL: http://svn.freebsd.org/changeset/base/198430 Log: IFC @ 192428 to get actually working SMP Modified: projects/ppc64/ (props changed) projects/ppc64/lib/libc/gen/wordexp.c projects/ppc64/sys/ (props changed) projects/ppc64/sys/amd64/acpica/acpi_wakecode.S projects/ppc64/sys/boot/i386/zfsboot/zfsboot.c projects/ppc64/sys/boot/zfs/zfs.c projects/ppc64/sys/boot/zfs/zfsimpl.c projects/ppc64/sys/cddl/boot/zfs/zfsimpl.h projects/ppc64/sys/dev/ata/ata-queue.c projects/ppc64/sys/dev/ata/atapi-cd.c projects/ppc64/sys/dev/ata/atapi-fd.c projects/ppc64/sys/dev/ata/atapi-tape.c projects/ppc64/sys/dev/fb/vesa.c projects/ppc64/sys/dev/fb/vesa.h projects/ppc64/sys/dev/siis/siis.c projects/ppc64/sys/dev/syscons/syscons.c projects/ppc64/sys/dev/xen/xenpci/ (props changed) projects/ppc64/sys/kern/kern_exec.c projects/ppc64/sys/kern/kern_ktrace.c projects/ppc64/sys/kern/kern_shutdown.c projects/ppc64/sys/kern/subr_bus.c projects/ppc64/sys/kern/subr_taskqueue.c projects/ppc64/sys/net/bpf.c projects/ppc64/sys/netinet/if_ether.c projects/ppc64/sys/netinet/in.c projects/ppc64/sys/netinet6/in6.c projects/ppc64/sys/powerpc/aim/clock.c projects/ppc64/sys/powerpc/aim/machdep.c projects/ppc64/sys/powerpc/aim/mp_cpudep.c projects/ppc64/sys/sys/interrupt.h projects/ppc64/sys/sys/ktrace.h projects/ppc64/tools/regression/lib/libc/gen/test-wordexp.c projects/ppc64/usr.sbin/mfiutil/mfiutil.8 (props changed) Modified: projects/ppc64/lib/libc/gen/wordexp.c ============================================================================== --- projects/ppc64/lib/libc/gen/wordexp.c Fri Oct 23 22:04:18 2009 (r198429) +++ projects/ppc64/lib/libc/gen/wordexp.c Fri Oct 23 22:07:34 2009 (r198430) @@ -28,8 +28,10 @@ #include #include #include +#include #include #include +#include #include #include #include @@ -73,6 +75,24 @@ wordexp(const char * __restrict words, w return (0); } +static size_t +we_read_fully(int fd, char *buffer, size_t len) +{ + size_t done; + ssize_t nread; + + done = 0; + do { + nread = _read(fd, buffer + done, len - done); + if (nread == -1 && errno == EINTR) + continue; + if (nread <= 0) + break; + done += nread; + } while (done != len); + return done; +} + /* * we_askshell -- * Use the `wordexp' /bin/sh builtin function to do most of the work @@ -90,20 +110,31 @@ we_askshell(const char *words, wordexp_t size_t sofs; /* Offset into we->we_strings */ size_t vofs; /* Offset into we->we_wordv */ pid_t pid; /* Process ID of child */ + pid_t wpid; /* waitpid return value */ int status; /* Child exit status */ + int error; /* Our return value */ + int serrno; /* errno to return */ char *ifs; /* IFS env. var. */ char *np, *p; /* Handy pointers */ char *nstrings; /* Temporary for realloc() */ char **nwv; /* Temporary for realloc() */ + sigset_t newsigblock, oldsigblock; + serrno = errno; if ((ifs = getenv("IFS")) == NULL) ifs = " \t\n"; if (pipe(pdes) < 0) return (WRDE_NOSPACE); /* XXX */ + (void)sigemptyset(&newsigblock); + (void)sigaddset(&newsigblock, SIGCHLD); + (void)_sigprocmask(SIG_BLOCK, &newsigblock, &oldsigblock); if ((pid = fork()) < 0) { + serrno = errno; _close(pdes[0]); _close(pdes[1]); + (void)_sigprocmask(SIG_SETMASK, &oldsigblock, NULL); + errno = serrno; return (WRDE_NOSPACE); /* XXX */ } else if (pid == 0) { @@ -114,6 +145,7 @@ we_askshell(const char *words, wordexp_t int devnull; char *cmd; + (void)_sigprocmask(SIG_SETMASK, &oldsigblock, NULL); _close(pdes[0]); if (_dup2(pdes[1], STDOUT_FILENO) < 0) _exit(1); @@ -139,10 +171,11 @@ we_askshell(const char *words, wordexp_t * the expanded words separated by nulls. */ _close(pdes[1]); - if (_read(pdes[0], wbuf, 8) != 8 || _read(pdes[0], bbuf, 8) != 8) { - _close(pdes[0]); - _waitpid(pid, &status, 0); - return (flags & WRDE_UNDEF ? WRDE_BADVAL : WRDE_SYNTAX); + if (we_read_fully(pdes[0], wbuf, 8) != 8 || + we_read_fully(pdes[0], bbuf, 8) != 8) { + error = flags & WRDE_UNDEF ? WRDE_BADVAL : WRDE_SYNTAX; + serrno = errno; + goto cleanup; } wbuf[8] = bbuf[8] = '\0'; nwords = strtol(wbuf, NULL, 16); @@ -162,33 +195,38 @@ we_askshell(const char *words, wordexp_t if ((nwv = realloc(we->we_wordv, (we->we_wordc + 1 + (flags & WRDE_DOOFFS ? we->we_offs : 0)) * sizeof(char *))) == NULL) { - _close(pdes[0]); - _waitpid(pid, &status, 0); - return (WRDE_NOSPACE); + error = WRDE_NOSPACE; + goto cleanup; } we->we_wordv = nwv; if ((nstrings = realloc(we->we_strings, we->we_nbytes)) == NULL) { - _close(pdes[0]); - _waitpid(pid, &status, 0); - return (WRDE_NOSPACE); + error = WRDE_NOSPACE; + goto cleanup; } for (i = 0; i < vofs; i++) if (we->we_wordv[i] != NULL) we->we_wordv[i] += nstrings - we->we_strings; we->we_strings = nstrings; - if (_read(pdes[0], we->we_strings + sofs, nbytes) != nbytes) { - _close(pdes[0]); - _waitpid(pid, &status, 0); - return (flags & WRDE_UNDEF ? WRDE_BADVAL : WRDE_SYNTAX); + if (we_read_fully(pdes[0], we->we_strings + sofs, nbytes) != nbytes) { + error = flags & WRDE_UNDEF ? WRDE_BADVAL : WRDE_SYNTAX; + serrno = errno; + goto cleanup; } - if (_waitpid(pid, &status, 0) < 0 || !WIFEXITED(status) || - WEXITSTATUS(status) != 0) { - _close(pdes[0]); - return (flags & WRDE_UNDEF ? WRDE_BADVAL : WRDE_SYNTAX); - } + error = 0; +cleanup: _close(pdes[0]); + do + wpid = _waitpid(pid, &status, 0); + while (wpid < 0 && errno == EINTR); + (void)_sigprocmask(SIG_SETMASK, &oldsigblock, NULL); + if (error != 0) { + errno = serrno; + return (error); + } + if (wpid < 0 || !WIFEXITED(status) || WEXITSTATUS(status) != 0) + return (flags & WRDE_UNDEF ? WRDE_BADVAL : WRDE_SYNTAX); /* * Break the null-terminated expanded word strings out into Modified: projects/ppc64/sys/amd64/acpica/acpi_wakecode.S ============================================================================== --- projects/ppc64/sys/amd64/acpica/acpi_wakecode.S Fri Oct 23 22:04:18 2009 (r198429) +++ projects/ppc64/sys/amd64/acpica/acpi_wakecode.S Fri Oct 23 22:07:34 2009 (r198430) @@ -88,6 +88,11 @@ wakeup_start: movb $0, reset_video - wakeup_start lcall $0xc000, $3 + /* When we reach here, int 0x10 should be ready. Hide cursor. */ + movb $0x01, %ah + movb $0x20, %ch + int $0x10 + /* Re-start in case the previous BIOS call clobbers them. */ jmp wakeup_start 1: Modified: projects/ppc64/sys/boot/i386/zfsboot/zfsboot.c ============================================================================== --- projects/ppc64/sys/boot/i386/zfsboot/zfsboot.c Fri Oct 23 22:04:18 2009 (r198429) +++ projects/ppc64/sys/boot/i386/zfsboot/zfsboot.c Fri Oct 23 22:07:34 2009 (r198430) @@ -474,6 +474,7 @@ probe_drive(struct dsk *dsk, spa_t **spa slba = hdr.hdr_lba_table; elba = slba + hdr.hdr_entries / entries_per_sec; while (slba < elba) { + dsk->start = 0; if (drvread(dsk, sec, slba, 1)) return; for (part = 0; part < entries_per_sec; part++) { @@ -494,7 +495,6 @@ probe_drive(struct dsk *dsk, spa_t **spa */ dsk = copy_dsk(dsk); } - break; } } slba++; @@ -857,12 +857,13 @@ static void printf(const char *fmt,...) { va_list ap; - char buf[10]; + char buf[20]; char *s; - unsigned u; + unsigned long long u; int c; int minus; int prec; + int l; int len; int pad; @@ -871,6 +872,7 @@ printf(const char *fmt,...) if (c == '%') { minus = 0; prec = 0; + l = 0; nextfmt: c = *fmt++; switch (c) { @@ -892,6 +894,9 @@ printf(const char *fmt,...) case 'c': putchar(va_arg(ap, int)); continue; + case 'l': + l++; + goto nextfmt; case 's': s = va_arg(ap, char *); if (prec) { @@ -914,7 +919,17 @@ printf(const char *fmt,...) } continue; case 'u': - u = va_arg(ap, unsigned); + switch (l) { + case 2: + u = va_arg(ap, unsigned long long); + break; + case 1: + u = va_arg(ap, unsigned long); + break; + default: + u = va_arg(ap, unsigned); + break; + } s = buf; do *s++ = '0' + u % 10U; Modified: projects/ppc64/sys/boot/zfs/zfs.c ============================================================================== --- projects/ppc64/sys/boot/zfs/zfs.c Fri Oct 23 22:04:18 2009 (r198429) +++ projects/ppc64/sys/boot/zfs/zfs.c Fri Oct 23 22:07:34 2009 (r198430) @@ -100,7 +100,7 @@ zfs_open(const char *upath, struct open_ f->f_fsdata = (void *)fp; if (spa->spa_root_objset.os_type != DMU_OST_ZFS) { - printf("Unexpected object set type %lld\n", + printf("Unexpected object set type %llu\n", spa->spa_root_objset.os_type); rc = EIO; goto out; @@ -413,7 +413,7 @@ zfs_dev_init(void) if (vdev_probe(vdev_read, (void*) (uintptr_t) fd, 0)) close(fd); - for (slice = 1; slice <= 4; slice++) { + for (slice = 1; slice <= 128; slice++) { sprintf(devname, "disk%dp%d:", unit, slice); fd = open(devname, O_RDONLY); if (fd == -1) { Modified: projects/ppc64/sys/boot/zfs/zfsimpl.c ============================================================================== --- projects/ppc64/sys/boot/zfs/zfsimpl.c Fri Oct 23 22:04:18 2009 (r198429) +++ projects/ppc64/sys/boot/zfs/zfsimpl.c Fri Oct 23 22:07:34 2009 (r198430) @@ -53,6 +53,8 @@ static char *zfs_temp_buf, *zfs_temp_end #define TEMP_SIZE (1*SPA_MAXBLOCKSIZE) +static int zio_read(spa_t *spa, const blkptr_t *bp, void *buf); + static void zfs_init(void) { @@ -897,6 +899,33 @@ ilog2(int n) } static int +zio_read_gang(spa_t *spa, const blkptr_t *bp, const dva_t *dva, void *buf) +{ + zio_gbh_phys_t zio_gb; + vdev_t *vdev; + int vdevid; + off_t offset; + int i; + + vdevid = DVA_GET_VDEV(dva); + offset = DVA_GET_OFFSET(dva); + STAILQ_FOREACH(vdev, &spa->spa_vdevs, v_childlink) + if (vdev->v_id == vdevid) + break; + if (!vdev || !vdev->v_read) + return (EIO); + if (vdev->v_read(vdev, bp, &zio_gb, offset, SPA_GANGBLOCKSIZE)) + return (EIO); + + for (i = 0; i < SPA_GBH_NBLKPTRS; i++) { + if (zio_read(spa, &zio_gb.zg_blkptr[i], buf)) + return (EIO); + } + + return (0); +} + +static int zio_read(spa_t *spa, const blkptr_t *bp, void *buf) { int cpfunc = BP_GET_COMPRESS(bp); @@ -920,20 +949,27 @@ zio_read(spa_t *spa, const blkptr_t *bp, if (!dva->dva_word[0] && !dva->dva_word[1]) continue; - vdevid = DVA_GET_VDEV(dva); - offset = DVA_GET_OFFSET(dva); - STAILQ_FOREACH(vdev, &spa->spa_vdevs, v_childlink) - if (vdev->v_id == vdevid) - break; - if (!vdev || !vdev->v_read) - continue; - if (vdev->v_read(vdev, bp, pbuf, offset, psize)) - continue; + if (DVA_GET_GANG(dva)) { + printf("ZFS: gang block detected!\n"); + if (zio_read_gang(spa, bp, dva, buf)) + return (EIO); + } else { + vdevid = DVA_GET_VDEV(dva); + offset = DVA_GET_OFFSET(dva); + STAILQ_FOREACH(vdev, &spa->spa_vdevs, v_childlink) + if (vdev->v_id == vdevid) + break; + if (!vdev || !vdev->v_read) { + continue; + } + if (vdev->v_read(vdev, bp, pbuf, offset, psize)) + continue; - if (cpfunc != ZIO_COMPRESS_OFF) { - if (zio_decompress_data(cpfunc, pbuf, psize, - buf, lsize)) - return (EIO); + if (cpfunc != ZIO_COMPRESS_OFF) { + if (zio_decompress_data(cpfunc, pbuf, psize, + buf, lsize)) + return (EIO); + } } return (0); @@ -1331,13 +1367,13 @@ zfs_mount_dataset(spa_t *spa, uint64_t o dsl_dataset_phys_t *ds; if (objset_get_dnode(spa, &spa->spa_mos, objnum, &dataset)) { - printf("ZFS: can't find dataset %lld\n", objnum); + printf("ZFS: can't find dataset %llu\n", objnum); return (EIO); } ds = (dsl_dataset_phys_t *) &dataset.dn_bonus; if (zio_read(spa, &ds->ds_bp, objset)) { - printf("ZFS: can't read object set for dataset %lld\n", objnum); + printf("ZFS: can't read object set for dataset %llu\n", objnum); return (EIO); } @@ -1367,7 +1403,8 @@ zfs_mount_root(spa_t *spa, objset_phys_t */ if (zap_lookup(spa, &dir, DMU_POOL_PROPS, &props) == 0 && objset_get_dnode(spa, &spa->spa_mos, props, &propdir) == 0 - && zap_lookup(spa, &propdir, "bootfs", &bootfs) == 0) + && zap_lookup(spa, &propdir, "bootfs", &bootfs) == 0 + && bootfs != 0) return zfs_mount_dataset(spa, bootfs, objset); /* @@ -1425,7 +1462,7 @@ zfs_lookup(spa_t *spa, const char *upath int symlinks_followed = 0; if (spa->spa_root_objset.os_type != DMU_OST_ZFS) { - printf("ZFS: unexpected object set type %lld\n", + printf("ZFS: unexpected object set type %llu\n", spa->spa_root_objset.os_type); return (EIO); } Modified: projects/ppc64/sys/cddl/boot/zfs/zfsimpl.h ============================================================================== --- projects/ppc64/sys/cddl/boot/zfs/zfsimpl.h Fri Oct 23 22:04:18 2009 (r198429) +++ projects/ppc64/sys/cddl/boot/zfs/zfsimpl.h Fri Oct 23 22:07:34 2009 (r198430) @@ -374,6 +374,24 @@ typedef struct vdev_label { #define VDEV_LABEL_END_SIZE (2 * sizeof (vdev_label_t)) #define VDEV_LABELS 4 +/* + * Gang block headers are self-checksumming and contain an array + * of block pointers. + */ +#define SPA_GANGBLOCKSIZE SPA_MINBLOCKSIZE +#define SPA_GBH_NBLKPTRS ((SPA_GANGBLOCKSIZE - \ + sizeof (zio_block_tail_t)) / sizeof (blkptr_t)) +#define SPA_GBH_FILLER ((SPA_GANGBLOCKSIZE - \ + sizeof (zio_block_tail_t) - \ + (SPA_GBH_NBLKPTRS * sizeof (blkptr_t))) /\ + sizeof (uint64_t)) + +typedef struct zio_gbh { + blkptr_t zg_blkptr[SPA_GBH_NBLKPTRS]; + uint64_t zg_filler[SPA_GBH_FILLER]; + zio_block_tail_t zg_tail; +} zio_gbh_phys_t; + enum zio_checksum { ZIO_CHECKSUM_INHERIT = 0, ZIO_CHECKSUM_ON, Modified: projects/ppc64/sys/dev/ata/ata-queue.c ============================================================================== --- projects/ppc64/sys/dev/ata/ata-queue.c Fri Oct 23 22:04:18 2009 (r198429) +++ projects/ppc64/sys/dev/ata/ata-queue.c Fri Oct 23 22:07:34 2009 (r198430) @@ -150,15 +150,11 @@ ata_atapicmd(device_t dev, u_int8_t *ccb int count, int flags, int timeout) { struct ata_request *request = ata_alloc_request(); - struct ata_device *atadev = device_get_softc(dev); int error = ENOMEM; if (request) { request->dev = dev; - if ((atadev->param.config & ATA_PROTO_MASK) == ATA_PROTO_ATAPI_12) - bcopy(ccb, request->u.atapi.ccb, 12); - else - bcopy(ccb, request->u.atapi.ccb, 16); + bcopy(ccb, request->u.atapi.ccb, 16); request->data = data; request->bytecount = count; request->transfersize = min(request->bytecount, 65534); Modified: projects/ppc64/sys/dev/ata/atapi-cd.c ============================================================================== --- projects/ppc64/sys/dev/ata/atapi-cd.c Fri Oct 23 22:04:18 2009 (r198429) +++ projects/ppc64/sys/dev/ata/atapi-cd.c Fri Oct 23 22:07:34 2009 (r198430) @@ -863,9 +863,7 @@ acd_strategy(struct bio *bp) } request->dev = dev; request->bio = bp; - bcopy(ccb, request->u.atapi.ccb, - (atadev->param.config & ATA_PROTO_MASK) == - ATA_PROTO_ATAPI_12 ? 16 : 12); + bcopy(ccb, request->u.atapi.ccb, 16); request->data = bp->bio_data; request->bytecount = count * blocksize; request->transfersize = min(request->bytecount, 65534); Modified: projects/ppc64/sys/dev/ata/atapi-fd.c ============================================================================== --- projects/ppc64/sys/dev/ata/atapi-fd.c Fri Oct 23 22:04:18 2009 (r198429) +++ projects/ppc64/sys/dev/ata/atapi-fd.c Fri Oct 23 22:07:34 2009 (r198430) @@ -240,9 +240,7 @@ afd_strategy(struct bio *bp) } request->dev = dev; request->bio = bp; - bcopy(ccb, request->u.atapi.ccb, - (atadev->param.config & ATA_PROTO_MASK) == - ATA_PROTO_ATAPI_12 ? 16 : 12); + bcopy(ccb, request->u.atapi.ccb, 16); request->data = bp->bio_data; request->bytecount = count * fdp->sectorsize; request->transfersize = min(request->bytecount, 65534); Modified: projects/ppc64/sys/dev/ata/atapi-tape.c ============================================================================== --- projects/ppc64/sys/dev/ata/atapi-tape.c Fri Oct 23 22:04:18 2009 (r198429) +++ projects/ppc64/sys/dev/ata/atapi-tape.c Fri Oct 23 22:07:34 2009 (r198430) @@ -373,7 +373,6 @@ static void ast_strategy(struct bio *bp) { device_t dev = bp->bio_dev->si_drv1; - struct ata_device *atadev = device_get_softc(dev); struct ast_softc *stp = device_get_ivars(dev); struct ata_request *request; u_int32_t blkcount; @@ -426,9 +425,7 @@ ast_strategy(struct bio *bp) } request->dev = dev; request->driver = bp; - bcopy(ccb, request->u.atapi.ccb, - (atadev->param.config & ATA_PROTO_MASK) == - ATA_PROTO_ATAPI_12 ? 16 : 12); + bcopy(ccb, request->u.atapi.ccb, 16); request->data = bp->bio_data; request->bytecount = blkcount * stp->blksize; request->transfersize = min(request->bytecount, 65534); Modified: projects/ppc64/sys/dev/fb/vesa.c ============================================================================== --- projects/ppc64/sys/dev/fb/vesa.c Fri Oct 23 22:04:18 2009 (r198429) +++ projects/ppc64/sys/dev/fb/vesa.c Fri Oct 23 22:07:34 2009 (r198430) @@ -74,8 +74,7 @@ typedef struct adp_state adp_state_t; /* VESA video adapter */ static video_adapter_t *vesa_adp = NULL; -static int vesa_state_buf_size = 0; -#define VESA_BIOS_BUFSIZE (3 * PAGE_SIZE) +static ssize_t vesa_state_buf_size = -1; /* VESA functions */ #if 0 @@ -188,7 +187,7 @@ static int vesa_bios_load_palette2(int s #define STATE_REG (1<<3) #define STATE_MOST (STATE_HW | STATE_DATA | STATE_REG) #define STATE_ALL (STATE_HW | STATE_DATA | STATE_DAC | STATE_REG) -static int vesa_bios_state_buf_size(void); +static ssize_t vesa_bios_state_buf_size(void); static int vesa_bios_save_restore(int code, void *p, size_t size); static int vesa_bios_get_line_length(void); static int vesa_bios_set_line_length(int pixel, int *bytes, int *lines); @@ -282,6 +281,10 @@ vesa_bios_post(void) } regs.R_DL = 0x80; x86bios_call(®s, 0xc000, 0x0003); + + if (x86bios_get_intr(0x10) == 0) + return (1); + return (0); } @@ -532,7 +535,7 @@ vesa_bios_load_palette2(int start, int c } #endif -static int +static ssize_t vesa_bios_state_buf_size(void) { x86regs_t regs; @@ -557,9 +560,6 @@ vesa_bios_save_restore(int code, void *p uint32_t offs; void *buf; - if (size > VESA_BIOS_BUFSIZE) - return (1); - if (code != STATE_SAVE && code != STATE_LOAD) return (1); @@ -808,12 +808,11 @@ vesa_bios_init(void) if (x86bios_get_intr(0x10) == 0) { if (vesa_bios_post() != 0) return (1); - offs = x86bios_get_intr(0x10); - if (offs == 0) - return (1); - if (bootverbose) + if (bootverbose) { + offs = x86bios_get_intr(0x10); printf("VESA: interrupt vector installed (0x%x)\n", BIOS_SADDRTOLADDR(offs)); + } } x86bios_init_regs(®s); @@ -879,6 +878,21 @@ vesa_bios_init(void) if (vesa_bios_get_mode(vesa_vmodetab[i], &vmode)) continue; + vmode.v_modeattr = le16toh(vmode.v_modeattr); + vmode.v_wgran = le16toh(vmode.v_wgran); + vmode.v_wsize = le16toh(vmode.v_wsize); + vmode.v_waseg = le16toh(vmode.v_waseg); + vmode.v_wbseg = le16toh(vmode.v_wbseg); + vmode.v_posfunc = le32toh(vmode.v_posfunc); + vmode.v_bpscanline = le16toh(vmode.v_bpscanline); + vmode.v_width = le16toh(vmode.v_width); + vmode.v_height = le16toh(vmode.v_height); + vmode.v_lfb = le32toh(vmode.v_lfb); + vmode.v_offscreen = le32toh(vmode.v_offscreen); + vmode.v_offscreensize = le16toh(vmode.v_offscreensize); + vmode.v_linbpscanline = le16toh(vmode.v_linbpscanline); + vmode.v_maxpixelclock = le32toh(vmode.v_maxpixelclock); + /* reject unsupported modes */ #if 0 if ((vmode.v_modeattr & (V_MODESUPP | V_MODEOPTINFO @@ -1417,11 +1431,14 @@ vesa_save_state(video_adapter_t *adp, vo if (adp != vesa_adp) return ((*prevvidsw->save_state)(adp, p, size)); - if (vesa_state_buf_size == 0) + if (vesa_state_buf_size == -1) { vesa_state_buf_size = vesa_bios_state_buf_size(); + if (vesa_state_buf_size == 0) + return (1); + } if (size == 0) - return (sizeof(int) + vesa_state_buf_size); - else if (size < (sizeof(int) + vesa_state_buf_size)) + return (offsetof(adp_state_t, regs) + vesa_state_buf_size); + else if (size < (offsetof(adp_state_t, regs) + vesa_state_buf_size)) return (1); ((adp_state_t *)p)->sig = V_STATE_SIG; @@ -1438,22 +1455,36 @@ vesa_load_state(video_adapter_t *adp, vo if ((adp != vesa_adp) || (((adp_state_t *)p)->sig != V_STATE_SIG)) return ((*prevvidsw->load_state)(adp, p)); + if (vesa_state_buf_size <= 0) + return (1); + + /* + * If the current mode is not the same, probably it was powered down. + * Try BIOS POST to restore a sane state. + */ + mode = vesa_bios_get_current_mode(); + if (mode >= 0 && (mode & 0x1ff) != adp->va_mode && + VESA_MODE(adp->va_mode)) + (void)vesa_bios_post(); + ret = vesa_bios_save_restore(STATE_LOAD, ((adp_state_t *)p)->regs, vesa_state_buf_size); /* - * If the current mode is not restored properly, try BIOS POST and - * force setting the mode. + * If the desired mode is not restored, force setting the mode. */ - flags = adp->va_info.vi_flags; - if (!(flags & V_INFO_GRAPHICS)) - flags &= ~V_INFO_LINEAR; - mode = adp->va_mode | ((flags & V_INFO_LINEAR) ? 0x4000 : 0); - if (vesa_bios_get_current_mode() != mode && vesa_bios_post() == 0 && - x86bios_get_intr(0x10) != 0) { - int10_set_mode(adp->va_initial_bios_mode); - vesa_bios_set_mode(mode); + mode = vesa_bios_get_current_mode(); + if (mode >= 0 && (mode & 0x1ff) != adp->va_mode && + VESA_MODE(adp->va_mode)) { + mode = adp->va_mode; + flags = adp->va_info.vi_flags; + if ((flags & V_INFO_GRAPHICS) != 0 && + (flags & V_INFO_LINEAR) != 0) + mode |= 0x4000; + (void)vesa_bios_set_mode(mode); + (void)(*vidsw[adp->va_index]->set_hw_cursor)(adp, -1, -1); } + return (ret); } Modified: projects/ppc64/sys/dev/fb/vesa.h ============================================================================== --- projects/ppc64/sys/dev/fb/vesa.h Fri Oct 23 22:04:18 2009 (r198429) +++ projects/ppc64/sys/dev/fb/vesa.h Fri Oct 23 22:07:34 2009 (r198430) @@ -108,7 +108,21 @@ struct vesa_mode u_int32_t v_lfb; u_int32_t v_offscreen; u_int16_t v_offscreensize; -}; + /* 3.0 implementations */ + u_int16_t v_linbpscanline; + u_int8_t v_bankipages; + u_int8_t v_linipages; + u_int8_t v_linredmasksize; + u_int8_t v_linredfieldpos; + u_int8_t v_lingreenmasksize; + u_int8_t v_lingreenfieldpos; + u_int8_t v_linbluemasksize; + u_int8_t v_linbluefieldpos; + u_int8_t v_linresmasksize; + u_int8_t v_linresfieldpos; + u_int32_t v_maxpixelclock; + u_int8_t v_reserved1[190]; +} __packed; #ifdef _KERNEL Modified: projects/ppc64/sys/dev/siis/siis.c ============================================================================== --- projects/ppc64/sys/dev/siis/siis.c Fri Oct 23 22:04:18 2009 (r198429) +++ projects/ppc64/sys/dev/siis/siis.c Fri Oct 23 22:07:34 2009 (r198430) @@ -80,7 +80,6 @@ static void siis_portinit(device_t dev); static int siis_wait_ready(device_t dev, int t); static int siis_sata_connect(struct siis_channel *ch); -static int siis_sata_phy_reset(device_t dev); static void siis_issue_read_log(device_t dev); static void siis_process_read_log(device_t dev, union ccb *ccb); @@ -1250,16 +1249,27 @@ siis_portinit(device_t dev) siis_wait_ready(dev, 1000); } -#if 0 -static void +static int siis_devreset(device_t dev) { struct siis_channel *ch = device_get_softc(dev); + int timeout = 0; + uint32_t val; ATA_OUTL(ch->r_mem, SIIS_P_CTLSET, SIIS_P_CTL_DEV_RESET); - siis_wait_ready(dev, 1000); + while (((val = ATA_INL(ch->r_mem, SIIS_P_STS)) & + SIIS_P_CTL_DEV_RESET) != 0) { + DELAY(1000); + if (timeout++ > 100) { + device_printf(dev, "device reset stuck (timeout %dms) " + "status = %08x\n", timeout, val); + return (EBUSY); + } + } + if (bootverbose) + device_printf(dev, "device reset time=%dms\n", timeout); + return (0); } -#endif static int siis_wait_ready(device_t dev, int t) @@ -1287,6 +1297,7 @@ siis_reset(device_t dev) { struct siis_channel *ch = device_get_softc(dev); int i; + uint32_t val; if (bootverbose) device_printf(dev, "SIIS reset...\n"); @@ -1303,10 +1314,7 @@ siis_reset(device_t dev) } xpt_done(fccb); } - /* Disable port interrupts */ - ATA_OUTL(ch->r_mem, SIIS_P_IECLR, 0x0000FFFF); - /* Kill the engine and requeue all running commands. */ - siis_portinit(dev); + /* Requeue all running commands. */ for (i = 0; i < SIIS_MAX_SLOTS; i++) { /* Do we have a running request on slot? */ if (ch->slot[i].state < SIIS_SLOT_RUNNING) @@ -1314,8 +1322,23 @@ siis_reset(device_t dev) /* XXX; Commands in loading state. */ siis_end_transaction(&ch->slot[i], SIIS_ERR_INNOCENT); } + /* Disable port interrupts */ + ATA_OUTL(ch->r_mem, SIIS_P_IECLR, 0x0000FFFF); + /* Set speed limit. */ + if (ch->sata_rev == 1) + val = ATA_SC_SPD_SPEED_GEN1; + else if (ch->sata_rev == 2) + val = ATA_SC_SPD_SPEED_GEN2; + else if (ch->sata_rev == 3) + val = ATA_SC_SPD_SPEED_GEN3; + else + val = 0; + ATA_OUTL(ch->r_mem, SIIS_P_SCTL, + ATA_SC_DET_IDLE | val | ((ch->pm_level > 0) ? 0 : + (ATA_SC_IPM_DIS_PARTIAL | ATA_SC_IPM_DIS_SLUMBER))); + siis_devreset(dev); /* Reset and reconnect PHY, */ - if (!siis_sata_phy_reset(dev)) { + if (!siis_sata_connect(ch)) { ch->devices = 0; /* Enable port interrupts */ ATA_OUTL(ch->r_mem, SIIS_P_IESET, SIIS_P_IX_ENABLED); @@ -1327,9 +1350,8 @@ siis_reset(device_t dev) return; } /* Wait for clearing busy status. */ - if (siis_wait_ready(dev, 10000)) { + if (siis_wait_ready(dev, 10000)) device_printf(dev, "device ready timeout\n"); - } ch->devices = 1; /* Enable port interrupts */ ATA_OUTL(ch->r_mem, SIIS_P_IS, 0xFFFFFFFF); @@ -1420,32 +1442,6 @@ siis_sata_connect(struct siis_channel *c return (1); } -static int -siis_sata_phy_reset(device_t dev) -{ - struct siis_channel *ch = device_get_softc(dev); - uint32_t val; - - if (bootverbose) - device_printf(dev, "hardware reset ...\n"); - ATA_OUTL(ch->r_mem, SIIS_P_SCTL, ATA_SC_IPM_DIS_PARTIAL | - ATA_SC_IPM_DIS_SLUMBER | ATA_SC_DET_RESET); - DELAY(50000); - if (ch->sata_rev == 1) - val = ATA_SC_SPD_SPEED_GEN1; - else if (ch->sata_rev == 2) - val = ATA_SC_SPD_SPEED_GEN2; - else if (ch->sata_rev == 3) - val = ATA_SC_SPD_SPEED_GEN3; - else - val = 0; - ATA_OUTL(ch->r_mem, SIIS_P_SCTL, - ATA_SC_DET_IDLE | val | ((ch->pm_level > 0) ? 0 : - (ATA_SC_IPM_DIS_PARTIAL | ATA_SC_IPM_DIS_SLUMBER))); - DELAY(50000); - return (siis_sata_connect(ch)); -} - static void siisaction(struct cam_sim *sim, union ccb *ccb) { Modified: projects/ppc64/sys/dev/syscons/syscons.c ============================================================================== --- projects/ppc64/sys/dev/syscons/syscons.c Fri Oct 23 22:04:18 2009 (r198429) +++ projects/ppc64/sys/dev/syscons/syscons.c Fri Oct 23 22:07:34 2009 (r198430) @@ -343,17 +343,46 @@ sc_alloc_tty(int index, int devnum) return (tp); } +#ifdef SC_PIXEL_MODE +static int +sc_initial_mode(video_adapter_t *adp, int unit) +{ + video_info_t info; + int depth, vmode; + int i; + + vmode = 0; + (void)resource_int_value("sc", unit, "vesa_mode", &vmode); + if (vmode < M_VESA_BASE || vmode > M_VESA_MODE_MAX) + vmode = 0; + + /* + * If the default mode is not supported, search for an available + * 800x600 graphics mode with the highest color depth. + */ + if (vmode == 0 || vidd_get_info(adp, vmode, &info) != 0) { + depth = vmode = 0; + for (i = M_VESA_BASE; i <= M_VESA_MODE_MAX; i++) + if (vidd_get_info(adp, i, &info) == 0 && + (info.vi_flags & V_INFO_GRAPHICS) != 0 && + info.vi_width == 800 && info.vi_height == 600 && + info.vi_depth > depth) { + vmode = i; + depth = info.vi_depth; + } + } + + return (vmode); +} +#endif + int sc_attach_unit(int unit, int flags) { sc_softc_t *sc; scr_stat *scp; -#ifdef SC_PIXEL_MODE - video_info_t info; -#endif int vc; struct cdev *dev; - unsigned int vmode = 0; flags &= ~SC_KERNEL_CONSOLE; @@ -374,25 +403,24 @@ sc_attach_unit(int unit, int flags) if (sc_console == NULL) /* sc_console_unit < 0 */ sc_console = scp; - (void)resource_int_value("sc", unit, "vesa_mode", &vmode); - if (vmode < M_VESA_BASE || vmode > M_VESA_MODE_MAX) - vmode = M_VESA_FULL_800; - #ifdef SC_PIXEL_MODE - if ((sc->config & SC_VESAMODE) - && (vidd_get_info(sc->adp, vmode, &info) == 0)) { + if ((sc->config & SC_VESAMODE) != 0) { + int vmode; + vmode = sc_initial_mode(sc->adp, unit); + if (vmode >= M_VESA_BASE) { #ifdef DEV_SPLASH - if (sc->flags & SC_SPLASH_SCRN) - splash_term(sc->adp); + if (sc->flags & SC_SPLASH_SCRN) + splash_term(sc->adp); #endif - sc_set_graphics_mode(scp, NULL, vmode); - sc_set_pixel_mode(scp, NULL, 0, 0, 16, 8); - sc->initial_mode = vmode; + sc_set_graphics_mode(scp, NULL, vmode); + sc_set_pixel_mode(scp, NULL, 0, 0, 16, 8); + sc->initial_mode = vmode; #ifdef DEV_SPLASH - /* put up the splash again! */ - if (sc->flags & SC_SPLASH_SCRN) - splash_init(sc->adp, scsplash_callback, sc); + /* put up the splash again! */ + if (sc->flags & SC_SPLASH_SCRN) + splash_init(sc->adp, scsplash_callback, sc); #endif + } } #endif /* SC_PIXEL_MODE */ Modified: projects/ppc64/sys/kern/kern_exec.c ============================================================================== --- projects/ppc64/sys/kern/kern_exec.c Fri Oct 23 22:04:18 2009 (r198429) +++ projects/ppc64/sys/kern/kern_exec.c Fri Oct 23 22:07:34 2009 (r198430) @@ -326,7 +326,7 @@ do_execve(td, args, mac_p) struct ucred *newcred = NULL, *oldcred; struct uidinfo *euip; register_t *stack_base; - int error, len = 0, i; + int error, i; struct image_params image_params, *imgp; struct vattr attr; int (*img_first)(struct image_params *); @@ -602,18 +602,12 @@ interpret: execsigs(p); /* name this process - nameiexec(p, ndp) */ - if (args->fname) { - len = min(nd.ni_cnd.cn_namelen,MAXCOMLEN); - bcopy(nd.ni_cnd.cn_nameptr, p->p_comm, len); - } else { - if (vn_commname(binvp, p->p_comm, MAXCOMLEN + 1) == 0) - len = MAXCOMLEN; - else { - len = sizeof(fexecv_proc_title); - bcopy(fexecv_proc_title, p->p_comm, len); - } - } - p->p_comm[len] = 0; + bzero(p->p_comm, sizeof(p->p_comm)); + if (args->fname) + bcopy(nd.ni_cnd.cn_nameptr, p->p_comm, + min(nd.ni_cnd.cn_namelen, MAXCOMLEN)); + else if (vn_commname(binvp, p->p_comm, sizeof(p->p_comm)) != 0) + bcopy(fexecv_proc_title, p->p_comm, sizeof(fexecv_proc_title)); bcopy(p->p_comm, td->td_name, sizeof(td->td_name)); /* Modified: projects/ppc64/sys/kern/kern_ktrace.c ============================================================================== --- projects/ppc64/sys/kern/kern_ktrace.c Fri Oct 23 22:04:18 2009 (r198429) +++ projects/ppc64/sys/kern/kern_ktrace.c Fri Oct 23 22:07:34 2009 (r198430) @@ -256,6 +256,10 @@ ktrace_resize_pool(u_int newsize) return (ktr_requestpool); } +/* ktr_getrequest() assumes that ktr_comm[] is the same size as td_name[]. */ +CTASSERT(sizeof(((struct ktr_header *)NULL)->ktr_comm) == + (sizeof((struct thread *)NULL)->td_name)); + static struct ktr_request * ktr_getrequest(int type) { @@ -283,7 +287,8 @@ ktr_getrequest(int type) microtime(&req->ktr_header.ktr_time); req->ktr_header.ktr_pid = p->p_pid; req->ktr_header.ktr_tid = td->td_tid; - bcopy(td->td_name, req->ktr_header.ktr_comm, MAXCOMLEN + 1); + bcopy(td->td_name, req->ktr_header.ktr_comm, + sizeof(req->ktr_header.ktr_comm)); req->ktr_buffer = NULL; req->ktr_header.ktr_len = 0; } else { Modified: projects/ppc64/sys/kern/kern_shutdown.c ============================================================================== --- projects/ppc64/sys/kern/kern_shutdown.c Fri Oct 23 22:04:18 2009 (r198429) +++ projects/ppc64/sys/kern/kern_shutdown.c Fri Oct 23 22:07:34 2009 (r198430) @@ -618,16 +618,14 @@ void kproc_shutdown(void *arg, int howto) { struct proc *p; - char procname[MAXCOMLEN + 1]; int error; if (panicstr) return; p = (struct proc *)arg; - strlcpy(procname, p->p_comm, sizeof(procname)); printf("Waiting (max %d seconds) for system process `%s' to stop...", - kproc_shutdown_wait, procname); + kproc_shutdown_wait, p->p_comm); error = kproc_suspend(p, kproc_shutdown_wait * hz); if (error == EWOULDBLOCK) @@ -640,16 +638,14 @@ void kthread_shutdown(void *arg, int howto) { struct thread *td; - char procname[MAXCOMLEN + 1]; int error; if (panicstr) return; td = (struct thread *)arg; - strlcpy(procname, td->td_name, sizeof(procname)); printf("Waiting (max %d seconds) for system thread `%s' to stop...", - kproc_shutdown_wait, procname); + kproc_shutdown_wait, td->td_name); error = kthread_suspend(td, kproc_shutdown_wait * hz); if (error == EWOULDBLOCK) Modified: projects/ppc64/sys/kern/subr_bus.c ============================================================================== --- projects/ppc64/sys/kern/subr_bus.c Fri Oct 23 22:04:18 2009 (r198429) +++ projects/ppc64/sys/kern/subr_bus.c Fri Oct 23 22:07:34 2009 (r198430) @@ -3861,8 +3861,8 @@ int bus_describe_intr(device_t dev, struct resource *irq, void *cookie, const char *fmt, ...) { - char descr[MAXCOMLEN]; va_list ap; + char descr[MAXCOMLEN + 1]; if (dev->parent == NULL) return (EINVAL); Modified: projects/ppc64/sys/kern/subr_taskqueue.c ============================================================================== --- projects/ppc64/sys/kern/subr_taskqueue.c Fri Oct 23 22:04:18 2009 (r198429) +++ projects/ppc64/sys/kern/subr_taskqueue.c Fri Oct 23 22:07:34 2009 (r198430) @@ -301,7 +301,7 @@ taskqueue_start_threads(struct taskqueue struct thread *td; struct taskqueue *tq; int i, error; - char ktname[MAXCOMLEN]; + char ktname[MAXCOMLEN + 1]; if (count <= 0) return (EINVAL); @@ -309,7 +309,7 @@ taskqueue_start_threads(struct taskqueue tq = *tqp; va_start(ap, name); - vsnprintf(ktname, MAXCOMLEN, name, ap); + vsnprintf(ktname, sizeof(ktname), name, ap); va_end(ap); tq->tq_threads = malloc(sizeof(struct thread *) * count, M_TASKQUEUE, Modified: projects/ppc64/sys/net/bpf.c ============================================================================== --- projects/ppc64/sys/net/bpf.c Fri Oct 23 22:04:18 2009 (r198429) +++ projects/ppc64/sys/net/bpf.c Fri Oct 23 22:07:34 2009 (r198430) *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-projects@FreeBSD.ORG Sat Oct 24 07:38:27 2009 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 96411106566C; Sat, 24 Oct 2009 07:38:27 +0000 (UTC) (envelope-from rdivacky@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 6D0A38FC1C; Sat, 24 Oct 2009 07:38:27 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n9O7cQ2g084449; Sat, 24 Oct 2009 07:38:26 GMT (envelope-from rdivacky@svn.freebsd.org) Received: (from rdivacky@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n9O7cQdY084447; Sat, 24 Oct 2009 07:38:26 GMT (envelope-from rdivacky@svn.freebsd.org) Message-Id: <200910240738.n9O7cQdY084447@svn.freebsd.org> From: Roman Divacky Date: Sat, 24 Oct 2009 07:38:26 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r198435 - projects/clangbsd/lib/csu/amd64 X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 24 Oct 2009 07:38:27 -0000 Author: rdivacky Date: Sat Oct 24 07:38:25 2009 New Revision: 198435 URL: http://svn.freebsd.org/changeset/base/198435 Log: remove unused include of bsd.own.mk Modified: projects/clangbsd/lib/csu/amd64/Makefile Modified: projects/clangbsd/lib/csu/amd64/Makefile ============================================================================== --- projects/clangbsd/lib/csu/amd64/Makefile Sat Oct 24 04:55:14 2009 (r198434) +++ projects/clangbsd/lib/csu/amd64/Makefile Sat Oct 24 07:38:25 2009 (r198435) @@ -1,7 +1,5 @@ # $FreeBSD$ -.include - .PATH: ${.CURDIR}/../common SRCS= crt1.c crti.S crtn.S From owner-svn-src-projects@FreeBSD.ORG Sat Oct 24 07:43:17 2009 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 8FD9E106566C; Sat, 24 Oct 2009 07:43:17 +0000 (UTC) (envelope-from rdivacky@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 7FBCE8FC08; Sat, 24 Oct 2009 07:43:17 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n9O7hH0G084560; Sat, 24 Oct 2009 07:43:17 GMT (envelope-from rdivacky@svn.freebsd.org) Received: (from rdivacky@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n9O7hHHt084558; Sat, 24 Oct 2009 07:43:17 GMT (envelope-from rdivacky@svn.freebsd.org) Message-Id: <200910240743.n9O7hHHt084558@svn.freebsd.org> From: Roman Divacky Date: Sat, 24 Oct 2009 07:43:17 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r198436 - projects/clangbsd/gnu/lib/csu X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 24 Oct 2009 07:43:17 -0000 Author: rdivacky Date: Sat Oct 24 07:43:17 2009 New Revision: 198436 URL: http://svn.freebsd.org/changeset/base/198436 Log: gnu/lib/csu works ok with the llvm patch. rewrite is in progress but for now build this with the default CC Modified: projects/clangbsd/gnu/lib/csu/Makefile Modified: projects/clangbsd/gnu/lib/csu/Makefile ============================================================================== --- projects/clangbsd/gnu/lib/csu/Makefile Sat Oct 24 07:38:25 2009 (r198435) +++ projects/clangbsd/gnu/lib/csu/Makefile Sat Oct 24 07:43:17 2009 (r198436) @@ -3,11 +3,6 @@ .include MK_SSP= no -# XXX: prevents infinite loop on startup -.if ${MK_CLANG_IS_CC} != "no" && ${CC} == "cc" -CC= gcc -.endif - GCCDIR= ${.CURDIR}/../../../contrib/gcc GCCLIB= ${.CURDIR}/../../../contrib/gcclibs CCDIR= ${.CURDIR}/../../usr.bin/cc From owner-svn-src-projects@FreeBSD.ORG Sat Oct 24 08:25:44 2009 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 0BB051065676; Sat, 24 Oct 2009 08:25:44 +0000 (UTC) (envelope-from rdivacky@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id D5A168FC0A; Sat, 24 Oct 2009 08:25:43 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n9O8PhpH085303; Sat, 24 Oct 2009 08:25:43 GMT (envelope-from rdivacky@svn.freebsd.org) Received: (from rdivacky@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n9O8Ph50085301; Sat, 24 Oct 2009 08:25:43 GMT (envelope-from rdivacky@svn.freebsd.org) Message-Id: <200910240825.n9O8Ph50085301@svn.freebsd.org> From: Roman Divacky Date: Sat, 24 Oct 2009 08:25:43 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r198437 - projects/clangbsd/lib/libc/gen X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 24 Oct 2009 08:25:44 -0000 Author: rdivacky Date: Sat Oct 24 08:25:43 2009 New Revision: 198437 URL: http://svn.freebsd.org/changeset/base/198437 Log: revert the #pragma weak stuff to HEAD version. clang can handle it now Modified: projects/clangbsd/lib/libc/gen/dlfcn.c Modified: projects/clangbsd/lib/libc/gen/dlfcn.c ============================================================================== --- projects/clangbsd/lib/libc/gen/dlfcn.c Sat Oct 24 07:43:17 2009 (r198436) +++ projects/clangbsd/lib/libc/gen/dlfcn.c Sat Oct 24 08:25:43 2009 (r198437) @@ -46,35 +46,36 @@ static const char sorry[] = "Service una * be weak symbols so that the dynamic linker can override them. */ +#pragma weak _rtld_error void _rtld_error(const char *fmt, ...) { } -#pragma weak _rtld_error +#pragma weak dladdr int dladdr(const void *addr, Dl_info *dlip) { _rtld_error(sorry); return 0; } -#pragma weak dladdr +#pragma weak dlclose int dlclose(void *handle) { _rtld_error(sorry); return -1; } -#pragma weak dlclose +#pragma weak dlerror const char * dlerror(void) { return sorry; } -#pragma weak dlerror +#pragma weak dllockinit void dllockinit(void *context, void *(*lock_create)(void *context), @@ -87,32 +88,32 @@ dllockinit(void *context, if (context_destroy != NULL) context_destroy(context); } -#pragma weak dllockinit +#pragma weak dlopen void * dlopen(const char *name, int mode) { _rtld_error(sorry); return NULL; } -#pragma weak dlopen +#pragma weak dlsym void * dlsym(void * __restrict handle, const char * __restrict name) { _rtld_error(sorry); return NULL; } -#pragma weak dlsym +#pragma weak dlfunc dlfunc_t dlfunc(void * __restrict handle, const char * __restrict name) { _rtld_error(sorry); return NULL; } -#pragma weak dlfunc +#pragma weak dlvsym void * dlvsym(void * __restrict handle, const char * __restrict name, const char * __restrict version) @@ -120,23 +121,23 @@ dlvsym(void * __restrict handle, const c _rtld_error(sorry); return NULL; } -#pragma weak dlvsym +#pragma weak dlinfo int dlinfo(void * __restrict handle, int request, void * __restrict p) { _rtld_error(sorry); return 0; } -#pragma weak dlinfo +#pragma weak _rtld_thread_init void _rtld_thread_init(void * li) { _rtld_error(sorry); } -#pragma weak _rtld_thread_init +#pragma weak dl_iterate_phdr int dl_iterate_phdr(int (*callback)(struct dl_phdr_info *, size_t, void *), void *data) @@ -144,16 +145,15 @@ dl_iterate_phdr(int (*callback)(struct d _rtld_error(sorry); return 0; } -#pragma weak dl_iterate_phdr +#pragma weak _rtld_atfork_pre void _rtld_atfork_pre(int *locks) { } -#pragma weak _rtld_atfork_pre +#pragma weak _rtld_atfork_post void _rtld_atfork_post(int *locks) { } -#pragma weak _rtld_atfork_post From owner-svn-src-projects@FreeBSD.ORG Sat Oct 24 11:02:26 2009 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id EF36B106568B; Sat, 24 Oct 2009 11:02:26 +0000 (UTC) (envelope-from rdivacky@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id DF2DA8FC1A; Sat, 24 Oct 2009 11:02:26 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n9OB2QS7089296; Sat, 24 Oct 2009 11:02:26 GMT (envelope-from rdivacky@svn.freebsd.org) Received: (from rdivacky@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n9OB2Qdo089294; Sat, 24 Oct 2009 11:02:26 GMT (envelope-from rdivacky@svn.freebsd.org) Message-Id: <200910241102.n9OB2Qdo089294@svn.freebsd.org> From: Roman Divacky Date: Sat, 24 Oct 2009 11:02:26 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r198440 - projects/clangbsd X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 24 Oct 2009 11:02:27 -0000 Author: rdivacky Date: Sat Oct 24 11:02:26 2009 New Revision: 198440 URL: http://svn.freebsd.org/changeset/base/198440 Log: remove unused -iprefix Change -B${LIB32TMP}/usr/lib32 to -isystem ${LIB32TMP}/usr/include/ as this seem to be the only Modified: projects/clangbsd/Makefile.inc1 Modified: projects/clangbsd/Makefile.inc1 ============================================================================== --- projects/clangbsd/Makefile.inc1 Sat Oct 24 09:55:11 2009 (r198439) +++ projects/clangbsd/Makefile.inc1 Sat Oct 24 11:02:26 2009 (r198440) @@ -274,9 +274,8 @@ LIB32CPUFLAGS= -march=i686 -mmmx -msse - LIB32CPUFLAGS= -march=${TARGET_CPUTYPE} .endif LIB32FLAGS= -m32 ${LIB32CPUFLAGS} -mfancy-math-387 -DCOMPAT_32BIT \ - -iprefix ${LIB32TMP}/usr/ \ -L${LIB32TMP}/usr/lib32 \ - -B${LIB32TMP}/usr/lib32 + -isystem ${LIB32TMP}/usr/include/ # Yes, the flags are redundant. LIB32WMAKEENV= MAKEOBJDIRPREFIX=${OBJTREE}/lib32 \