From owner-svn-soc-all@FreeBSD.ORG Tue Aug 26 14:43:04 2014 Return-Path: Delivered-To: svn-soc-all@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 26900CC9 for ; Tue, 26 Aug 2014 14:43:04 +0000 (UTC) Received: from socsvn.freebsd.org (socsvn.freebsd.org [IPv6:2001:1900:2254:206a::50:2]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 124733F62 for ; Tue, 26 Aug 2014 14:43:04 +0000 (UTC) Received: from socsvn.freebsd.org ([127.0.1.124]) by socsvn.freebsd.org (8.14.9/8.14.9) with ESMTP id s7QEh3SD079268 for ; Tue, 26 Aug 2014 14:43:03 GMT (envelope-from dpl@FreeBSD.org) Received: (from www@localhost) by socsvn.freebsd.org (8.14.9/8.14.9/Submit) id s7QEh3fv079251 for svn-soc-all@FreeBSD.org; Tue, 26 Aug 2014 14:43:03 GMT (envelope-from dpl@FreeBSD.org) Date: Tue, 26 Aug 2014 14:43:03 GMT Message-Id: <201408261443.s7QEh3fv079251@socsvn.freebsd.org> X-Authentication-Warning: socsvn.freebsd.org: www set sender to dpl@FreeBSD.org using -f From: dpl@FreeBSD.org To: svn-soc-all@FreeBSD.org Subject: socsvn commit: r273167 - soc2014/dpl/netmap-ipfwjit/sys/netpfil/ipfw MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-soc-all@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: SVN commit messages for the entire Summer of Code repository List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 26 Aug 2014 14:43:04 -0000 Author: dpl Date: Tue Aug 26 14:43:02 2014 New Revision: 273167 URL: http://svnweb.FreeBSD.org/socsvn/?view=rev&rev=273167 Log: Added needed variables. Modified: soc2014/dpl/netmap-ipfwjit/sys/netpfil/ipfw/ip_fw_rules.c soc2014/dpl/netmap-ipfwjit/sys/netpfil/ipfw/ip_fw_rules.h Modified: soc2014/dpl/netmap-ipfwjit/sys/netpfil/ipfw/ip_fw_rules.c ============================================================================== --- soc2014/dpl/netmap-ipfwjit/sys/netpfil/ipfw/ip_fw_rules.c Tue Aug 26 13:53:01 2014 (r273166) +++ soc2014/dpl/netmap-ipfwjit/sys/netpfil/ipfw/ip_fw_rules.c Tue Aug 26 14:43:02 2014 (r273167) @@ -31,6 +31,8 @@ int ipfw_find_rule(struct ip_fw_chain *chain, uint32_t key, uint32_t id); void crfree(struct ucred *); +// As done at netmap-ipfw +time_t time_uptime = 0; // This functions only forces the compiler to store the stubs of the functions // so that they can be used by the JIT-compiled code instead. Modified: soc2014/dpl/netmap-ipfwjit/sys/netpfil/ipfw/ip_fw_rules.h ============================================================================== --- soc2014/dpl/netmap-ipfwjit/sys/netpfil/ipfw/ip_fw_rules.h Tue Aug 26 13:53:01 2014 (r273166) +++ soc2014/dpl/netmap-ipfwjit/sys/netpfil/ipfw/ip_fw_rules.h Tue Aug 26 14:43:02 2014 (r273167) @@ -62,12 +62,18 @@ int ipfw_find_rule(struct ip_fw_chain *chain, uint32_t key, uint32_t id); void crfree(struct ucred *); +VNET_DEFINE(int, fw_verbose); + +VNET_DEFINE(u_int32_t, set_disable); +#define V_set_disable VNET(set_disable) + static VNET_DEFINE(int, fw_deny_unknown_exthdrs); #define V_fw_deny_unknown_exthdrs VNET(fw_deny_unknown_exthdrs) static VNET_DEFINE(int, fw_permit_single_frag6) = 1; #define V_fw_permit_single_frag6 VNET(fw_permit_single_frag6) + /* * Some macros used in the various matching options. * L3HDR maps an ipv4 pointer into a layer3 header pointer of type T From owner-svn-soc-all@FreeBSD.ORG Tue Aug 26 14:43:47 2014 Return-Path: Delivered-To: svn-soc-all@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 9F385CE6 for ; Tue, 26 Aug 2014 14:43:47 +0000 (UTC) Received: from socsvn.freebsd.org (socsvn.freebsd.org [IPv6:2001:1900:2254:206a::50:2]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 8B4283F6C for ; Tue, 26 Aug 2014 14:43:47 +0000 (UTC) Received: from socsvn.freebsd.org ([127.0.1.124]) by socsvn.freebsd.org (8.14.9/8.14.9) with ESMTP id s7QEhltn079666 for ; Tue, 26 Aug 2014 14:43:47 GMT (envelope-from dpl@FreeBSD.org) Received: (from www@localhost) by socsvn.freebsd.org (8.14.9/8.14.9/Submit) id s7QEhlZL079653 for svn-soc-all@FreeBSD.org; Tue, 26 Aug 2014 14:43:47 GMT (envelope-from dpl@FreeBSD.org) Date: Tue, 26 Aug 2014 14:43:47 GMT Message-Id: <201408261443.s7QEhlZL079653@socsvn.freebsd.org> X-Authentication-Warning: socsvn.freebsd.org: www set sender to dpl@FreeBSD.org using -f From: dpl@FreeBSD.org To: svn-soc-all@FreeBSD.org Subject: socsvn commit: r273168 - soc2014/dpl/netmap-ipfwjit/sys/netpfil/ipfw MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-soc-all@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: SVN commit messages for the entire Summer of Code repository List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 26 Aug 2014 14:43:47 -0000 Author: dpl Date: Tue Aug 26 14:43:46 2014 New Revision: 273168 URL: http://svnweb.FreeBSD.org/socsvn/?view=rev&rev=273168 Log: Take out printing code Modified: soc2014/dpl/netmap-ipfwjit/sys/netpfil/ipfw/ip_fw2.c Modified: soc2014/dpl/netmap-ipfwjit/sys/netpfil/ipfw/ip_fw2.c ============================================================================== --- soc2014/dpl/netmap-ipfwjit/sys/netpfil/ipfw/ip_fw2.c Tue Aug 26 14:43:02 2014 (r273167) +++ soc2014/dpl/netmap-ipfwjit/sys/netpfil/ipfw/ip_fw2.c Tue Aug 26 14:43:46 2014 (r273168) @@ -279,7 +279,6 @@ IPFW_PF_RUNLOCK(chain); return (IP_FW_PASS); /* accept */ } - printf("\nAbout to compile!\n"); compiledfuncptr = compile_code(args, chain); IPFW_PF_RUNLOCK(chain); } else From owner-svn-soc-all@FreeBSD.ORG Tue Aug 26 14:44:45 2014 Return-Path: Delivered-To: svn-soc-all@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 25BA5EC2 for ; Tue, 26 Aug 2014 14:44:45 +0000 (UTC) Received: from socsvn.freebsd.org (socsvn.freebsd.org [IPv6:2001:1900:2254:206a::50:2]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 0ED1B3F7E for ; Tue, 26 Aug 2014 14:44:45 +0000 (UTC) Received: from socsvn.freebsd.org ([127.0.1.124]) by socsvn.freebsd.org (8.14.9/8.14.9) with ESMTP id s7QEijls080259 for ; Tue, 26 Aug 2014 14:44:45 GMT (envelope-from dpl@FreeBSD.org) Received: (from www@localhost) by socsvn.freebsd.org (8.14.9/8.14.9/Submit) id s7QEiiXe080257 for svn-soc-all@FreeBSD.org; Tue, 26 Aug 2014 14:44:44 GMT (envelope-from dpl@FreeBSD.org) Date: Tue, 26 Aug 2014 14:44:44 GMT Message-Id: <201408261444.s7QEiiXe080257@socsvn.freebsd.org> X-Authentication-Warning: socsvn.freebsd.org: www set sender to dpl@FreeBSD.org using -f From: dpl@FreeBSD.org To: svn-soc-all@FreeBSD.org Subject: socsvn commit: r273169 - soc2014/dpl/netmap-ipfwjit/sys/netpfil/ipfw MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-soc-all@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: SVN commit messages for the entire Summer of Code repository List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 26 Aug 2014 14:44:45 -0000 Author: dpl Date: Tue Aug 26 14:44:44 2014 New Revision: 273169 URL: http://svnweb.FreeBSD.org/socsvn/?view=rev&rev=273169 Log: Corrected most wrong code, added warnings. Modified: soc2014/dpl/netmap-ipfwjit/sys/netpfil/ipfw/jit.cc Modified: soc2014/dpl/netmap-ipfwjit/sys/netpfil/ipfw/jit.cc ============================================================================== --- soc2014/dpl/netmap-ipfwjit/sys/netpfil/ipfw/jit.cc Tue Aug 26 14:43:46 2014 (r273168) +++ soc2014/dpl/netmap-ipfwjit/sys/netpfil/ipfw/jit.cc Tue Aug 26 14:44:44 2014 (r273169) @@ -16,6 +16,7 @@ #include #include #include +#include #include #include #include @@ -49,8 +50,8 @@ IRBuilder<> irb; // We'll store the BasicBlock objects for each rule here. - int rule_number; - std::vector blocks; + int rulenumber = 1; + std::vector rules; // Vars Types Type *int8Ty; @@ -62,7 +63,7 @@ // Basic blocks used BasicBlock *entry, *end; BasicBlock *pullup_failed; - BasicBlock *startrules; + BasicBlock *check_tag; BasicBlock *outer_for_prologue; BasicBlock *inner_for_prologue; BasicBlock *outer_for_epilogue; @@ -277,6 +278,8 @@ } // Allocate and initialize LLVM vars. + // Note: The type of the object returned by CreateStore + // is already a pointer to a given type. void allocaAndInit() { @@ -284,37 +287,37 @@ // Control flow variables. match = irb.CreateAlloca(int32Ty); l = irb.CreateAlloca(int32Ty); + done = irb.CreateAlloca(int32Ty); irb.CreateStore(ConstantInt::get(int32Ty, 0), done); + f_pos = irb.CreateAlloca(int32Ty); irb.CreateStore(ConstantInt::get(int32Ty, 0), f_pos); + retval = irb.CreateAlloca(int32Ty); irb.CreateStore(ConstantInt::get(int32Ty, 0), retval); - cmd = irb.CreateAlloca(ipfw_insnPtrTy); + + cmd = irb.CreateAlloca(ipfw_insnTy); tablearg = irb.CreateAlloca(int32Ty); cmdlen = irb.CreateAlloca(int32Ty); skip_or = irb.CreateAlloca(int32Ty); - f = irb.CreateAlloca(ip_fwPtrTy); + f = irb.CreateAlloca(ip_fwTy); // m = args->m (idx: 0) m = irb.CreateAlloca(mbufPtrTy); - irb.CreateStore(irb.CreateInBoundsGEP(irb.CreateLoad(args), ConstantInt::get(int32Ty, 0)), m); + irb.CreateStore(irb.CreateStructGEP(args, 0), m); // ip = (struct ip *)((m)->m_data) (idx: 2) ip = irb.CreateAlloca(ipPtrTy); - irb.CreateStore(irb.CreateBitCast(irb.CreateInBoundsGEP(irb.CreateLoad(args), ConstantInt::get(int32Ty, 2)), ipPtrTy), ip); + irb.CreateStore(irb.CreateBitCast(irb.CreateStructGEP(irb.CreateLoad(m), 2), ipPtrTy), ip); -#ifdef __FreeBSD__ - ucred_cache = irb.CreateAlloca(ucredPtrTy); // Init: NULL if type ucred. - irb.CreateStore(ConstantPointerNull::get(ucredPtrTy), ucred_cache); -#else - ucred_cache = irb.CreateAlloca(ucredTy); -#endif + ucred_cache = irb.CreateAlloca(ucredTy); // Init: NULL if type ucred. ucred_lookup = irb.CreateAlloca(int32Ty); irb.CreateStore(ConstantInt::get(int32Ty, 0), ucred_lookup); - oif = irb.CreateAlloca(ifnetPtrTy); // Init: args->oif + oif = irb.CreateAlloca(ifnetTy); // Init: args->oif + irb.CreateLoad(irb.CreateStructGEP(args, 1), oif); hlen = irb.CreateAlloca(int32Ty); irb.CreateStore(ConstantInt::get(int32Ty, 0), hlen); @@ -330,7 +333,7 @@ proto = irb.CreateAlloca(int8Ty); irb.CreateStore(ConstantInt::get(int8Ty, 0), proto); // args->f_id.proto = 0 (idx: 6, 5) - irb.CreateStore(ConstantInt::get(int8Ty, 0), irb.CreateInBoundsGEP(irb.CreateLoad(args), {ConstantInt::get(int32Ty, 6), ConstantInt::get(int32Ty, 5)} )); + irb.CreateStore(ConstantInt::get(int8Ty, 0), irb.CreateStructGEP(irb.CreateStructGEP(args, 6), 5)); src_port = irb.CreateAlloca(int16Ty); irb.CreateStore(ConstantInt::get(int16Ty, 0), src_port); @@ -339,11 +342,12 @@ //src_ip.s_addr = 0; src_ip = irb.CreateAlloca(in_addrTy); - irb.CreateStore(ConstantInt::get(int32Ty, 0), irb.CreateInBoundsGEP(src_ip, ConstantInt::get(int32Ty, 0))); + irb.CreateStore(ConstantInt::get(int32Ty, 0), irb.CreateStructGEP(src_ip, 0)); //dst_ip.s_addr = 0; dst_ip = irb.CreateAlloca(in_addrTy); - irb.CreateStore(ConstantInt::get(int32Ty, 0), irb.CreateInBoundsGEP(dst_ip, ConstantInt::get(int32Ty, 0))); + irb.CreateStore(ConstantInt::get(int32Ty, 0), irb.CreateStructGEP(dst_ip, 0)); + //iplen = 0; iplen = irb.CreateAlloca(int16Ty); irb.CreateStore(ConstantInt::get(int16Ty, 0), iplen); @@ -351,7 +355,7 @@ // m_pkthdr is the 6th element (idx: 5) // len is the 2nd element (idx: 1) pktlen = irb.CreateAlloca(int32Ty); - irb.CreateStore(ConstantInt::get(int32Ty, 0), irb.CreateInBoundsGEP(irb.CreateLoad(m), {ConstantInt::get(int32Ty, 5), ConstantInt::get(int32Ty, 1)} )); + irb.CreateStore(irb.CreateStructGEP(irb.CreateStructGEP(irb.CreateLoad(m), 5), 1), pktlen); etype = irb.CreateAlloca(int16Ty); irb.CreateStore(ConstantInt::get(int32Ty, 0), etype); @@ -374,6 +378,10 @@ irb.CreateStore(ConstantInt::get(int8Ty, 0), icmp6_type); ext_hd = irb.CreateAlloca(int16Ty); irb.CreateStore(ConstantInt::get(int16Ty, 0), ext_hd); + + // If it returns one, goto pullup_failed. + // Else, goto first rule. + irb.CreateCondBr(irb.CreateICmpEQ(irb.CreateCall(inspect_pkt, {args, ip, m, src_ip, dst_ip, src_port, dst_port, etype, ext_hd, iplen, pktlen, is_ipv4, is_ipv6, hlen, proto, icmp6_type, ip6f_mf, offset, ulp}), ConstantInt::get(int32Ty, 1)), pullup_failed, check_tag); } void @@ -418,6 +426,8 @@ BasicBlock *jt = BasicBlock::Create(con, "jt", func); BasicBlock *jf = BasicBlock::Create(con, "jf", func); + irb.SetInsertPoint(check_tag); + // if (args->rule.slot) { // /* // * Packet has already been tagged as a result of a previous @@ -435,19 +445,19 @@ // } // if (args->rule.slot) - irb.CreateCondBr(irb.CreateICmpEQ(irb.CreateInBoundsGEP(args, {ConstantInt::get(int32Ty, 4),ConstantInt::get(int32Ty, 0)}), ConstantInt::get(int32Ty, 0)), nottagged, tagged); + irb.CreateCondBr(irb.CreateICmpEQ(irb.CreateInBoundsGEP(args, {ConstantInt::get(int32Ty, 0), ConstantInt::get(int32Ty, 4),ConstantInt::get(int32Ty, 0)}), ConstantInt::get(int32Ty, 0)), nottagged, tagged); // if (args->rule.chain_id == chain->id) irb.SetInsertPoint(tagged); - irb.CreateCondBr(irb.CreateICmpEQ(irb.CreateInBoundsGEP(args, {ConstantInt::get(int32Ty, 4), ConstantInt::get(int32Ty, 3)}), irb.CreateInBoundsGEP(chain, ConstantInt::get(int32Ty, 12))), jt, jf); + irb.CreateCondBr(irb.CreateICmpEQ(irb.CreateInBoundsGEP(args, {ConstantInt::get(int32Ty, 0), ConstantInt::get(int32Ty, 4), ConstantInt::get(int32Ty, 3)}), irb.CreateInBoundsGEP(chain, ConstantInt::get(int32Ty, 12))), jt, jf); // f_pos = args->rule.slot; irb.SetInsertPoint(jt); - irb.CreateStore(irb.CreateInBoundsGEP(args, {ConstantInt::get(int32Ty, 4),ConstantInt::get(int32Ty, 0)}), f_pos); + irb.CreateStore(irb.CreateInBoundsGEP(args, {ConstantInt::get(int32Ty, 0), ConstantInt::get(int32Ty, 4),ConstantInt::get(int32Ty, 0)}), f_pos); irb.CreateBr(nottagged); // else fpos = ipfw_find_rule(chain, args->rule.rulenum, args->rule.rule_id) irb.SetInsertPoint(jf); - irb.CreateStore(irb.CreateCall3(ipfw_find_rule, chain, irb.CreateInBoundsGEP(args, {ConstantInt::get(int32Ty, 4), ConstantInt::get(int32Ty, 1)}), irb.CreateInBoundsGEP(args, {ConstantInt::get(int32Ty, 4), ConstantInt::get(int32Ty, 2)})), f_pos); + irb.CreateStore(irb.CreateCall3(ipfw_find_rule, chain, irb.CreateInBoundsGEP(args, {ConstantInt::get(int32Ty, 0), ConstantInt::get(int32Ty, 4), ConstantInt::get(int32Ty, 1)}), irb.CreateInBoundsGEP(args, {ConstantInt::get(int32Ty, 0), ConstantInt::get(int32Ty, 4), ConstantInt::get(int32Ty, 2)})), f_pos); // Branch to nottagged because it // only finishes the entry BasicBlock. @@ -456,7 +466,7 @@ // else f_pos = 0; // Since f_pos is initialized by default as 0, we only br. irb.SetInsertPoint(nottagged); - irb.CreateBr(startrules); + irb.CreateBr(rules[rulenumber]); } void @@ -480,11 +490,12 @@ // uint32_t tablearg = 0; irb.CreateStore(ConstantInt::get(int32Ty, 0), tablearg); - // f = chain->map[f_pos]; - irb.CreateStore(irb.CreateInBoundsGEP(irb.CreateLoad(chain), {ConstantInt::get(int32Ty, 5), f_pos}), f); + // f = chain->map[f_pos]; idxs: 5, f_pos + irb.CreateStore(irb.CreateInBoundsGEP(irb.CreateLoad(irb.CreateStructGEP(chain, 5)), f_pos), f); // if (V_set_disable & (1 << f->set) ) - irb.CreateCondBr(irb.CreateICmpNE(irb.CreateAnd(set_disable, irb.CreateShl(ConstantInt::get(int32Ty, 1), irb.CreateInBoundsGEP(f, ConstantInt::get(int32Ty, 5)))), ConstantInt::get(int32Ty, 0)), jt, jf); + irb.CreateCondBr(irb.CreateICmpNE(irb.CreateAnd(set_disable, irb.CreateShl(ConstantInt::get(int32Ty, 1), irb.CreateStructGEP(f, 5))), ConstantInt::get(int32Ty, 0)), jt, jf); + irb.SetInsertPoint(jt); // continue; @@ -521,21 +532,21 @@ // l = f->cmd_len; // XXX - ask David about types. int l; uint16_t cmd_len; - irb.CreateStore(irb.CreateInBoundsGEP(f, ConstantInt::get(int32Ty, 3)), l); + irb.CreateStore(irb.CreateInBoundsGEP(f, {ConstantInt::get(int32Ty, 0), ConstantInt::get(int32Ty, 3)}), l); // cmd = f->cmd; - irb.CreateStore(irb.CreateInBoundsGEP(f, ConstantInt::get(int32Ty, 11)), cmd); + irb.CreateStore(irb.CreateInBoundsGEP(f, {ConstantInt::get(int32Ty, 0), ConstantInt::get(int32Ty, 11)}), cmd); // int match; // match is already allocated. // cmdlen = ((cmd)->len & F_LEN_MASK); - irb.CreateStore(irb.CreateAnd(irb.CreateInBoundsGEP(cmd, ConstantInt::get(int32Ty, 1)), ConstantInt::get(int8Ty, F_LEN_MASK)), cmdlen); + irb.CreateStore(irb.CreateAnd(irb.CreateInBoundsGEP(cmd, {ConstantInt::get(int32Ty, 0), ConstantInt::get(int32Ty, 1)}), ConstantInt::get(int8Ty, F_LEN_MASK)), cmdlen); // if (skip_or) irb.CreateCondBr(irb.CreateICmpNE(skip_or, ConstantInt::get(int32Ty, 0)), firstt, firstf); irb.SetInsertPoint(firstt); // if ((cmd->len & F_OR) == 0) - irb.CreateCondBr(irb.CreateICmpEQ(irb.CreateAnd(irb.CreateInBoundsGEP(cmd, ConstantInt::get(int32Ty, 1)), ConstantInt::get(int8Ty, F_OR)), ConstantInt::get(int8Ty, 0)), secondt, secondf); + irb.CreateCondBr(irb.CreateICmpEQ(irb.CreateAnd(irb.CreateInBoundsGEP(cmd, {ConstantInt::get(int32Ty, 0), ConstantInt::get(int32Ty, 1)}), ConstantInt::get(int8Ty, F_OR)), ConstantInt::get(int8Ty, 0)), secondt, secondf); irb.SetInsertPoint(secondt); // skip_or = 0; @@ -557,6 +568,8 @@ void emit_inner_for_epilogue() { + BasicBlock *matchnz = BasicBlock::Create(con, "jt", func); + BasicBlock *matchz = BasicBlock::Create(con, "jt", func); BasicBlock *jt = BasicBlock::Create(con, "jt", func); BasicBlock *jf = BasicBlock::Create(con, "jf", func); BasicBlock *sec_cond = BasicBlock::Create(con, "sec_cond", func); @@ -584,11 +597,19 @@ irb.SetInsertPoint(inner_for_epilogue); // if (cmd->len & F_NOT) - irb.CreateCondBr(irb.CreateICmpNE(irb.CreateAnd(irb.CreateInBoundsGEP(cmd, ConstantInt::get(int32Ty, 1)), ConstantInt::get(int8Ty, F_NOT)), ConstantInt::get(int32Ty, 0)), jt, sec_cond); + irb.CreateCondBr(irb.CreateICmpNE(irb.CreateAnd(irb.CreateInBoundsGEP(cmd, {ConstantInt::get(int32Ty, 0), ConstantInt::get(int32Ty, 1)}), ConstantInt::get(int8Ty, F_NOT)), ConstantInt::get(int32Ty, 0)), jt, sec_cond); irb.SetInsertPoint(jt); // match = !match; - irb.CreateStore(irb.CreateNot(match), match); + // match = ((match)?0:1); + irb.CreateCondBr(irb.CreateICmpNE(match, ConstantInt::get(int32Ty, 0)),matchnz, matchz); + + irb.SetInsertPoint(matchnz); + irb.CreateStore(ConstantInt::get(int32Ty, 0), match); + irb.CreateBr(sec_cond); + + irb.SetInsertPoint(matchz); + irb.CreateStore(ConstantInt::get(int32Ty, 1), match); irb.CreateBr(sec_cond); irb.SetInsertPoint(sec_cond); @@ -597,7 +618,7 @@ irb.SetInsertPoint(matchnotzero); // if (cmd->len & F_OR) - irb.CreateCondBr(irb.CreateICmpNE(irb.CreateAnd(irb.CreateInBoundsGEP(cmd, ConstantInt::get(int32Ty, 1)), ConstantInt::get(int8Ty, F_OR)), ConstantInt::get(int32Ty, 0)), is_or, outer_for_epilogue); + irb.CreateCondBr(irb.CreateICmpNE(irb.CreateAnd(irb.CreateInBoundsGEP(cmd, {ConstantInt::get(int32Ty, 0), ConstantInt::get(int32Ty, 1)}), ConstantInt::get(int8Ty, F_OR)), ConstantInt::get(int32Ty, 0)), is_or, outer_for_epilogue); irb.SetInsertPoint(is_or); // skip_or = 1; @@ -607,7 +628,7 @@ irb.SetInsertPoint(matchzero); // if (!(cmd->len & F_OR)) /* not an OR block, */ // break; - irb.CreateCondBr(irb.CreateICmpNE(irb.CreateNot(irb.CreateAnd(irb.CreateInBoundsGEP(cmd, ConstantInt::get(int32Ty, 1)), ConstantInt::get(int8Ty, F_OR))), ConstantInt::get(int32Ty, 0)), next /* break */, outer_for_epilogue); + irb.CreateCondBr(irb.CreateICmpEQ(irb.CreateAnd(irb.CreateInBoundsGEP(cmd, {ConstantInt::get(int32Ty, 0), ConstantInt::get(int32Ty, 1)}), ConstantInt::get(int8Ty, F_OR)), ConstantInt::get(int32Ty, 0)), next /* break */, outer_for_epilogue); } // This code gets executed at the end of inner loop. @@ -615,19 +636,20 @@ void emit_outer_for_epilogue() { + irb.SetInsertPoint(outer_for_epilogue); + // f_pos++, increment of the for loop. irb.CreateStore(irb.CreateAdd(f_pos, ConstantInt::get(int32Ty, 1)), f_pos); // if (done) // break; irb.CreateCondBr(irb.CreateICmpNE(done, ConstantInt::get(int32Ty, 0)), end, next); - } void emit_end() { - Value *rule, *timestamp, *str; + Value *rule, *time_uptime, *str; BasicBlock *jt = BasicBlock::Create(con, "jt", func); BasicBlock *jf = BasicBlock::Create(con, "jf", func); @@ -653,7 +675,7 @@ irb.SetInsertPoint(end); // We need to get the timestamp variable. - timestamp = mod->getGlobalVariable("timestamp"); + time_uptime = mod->getGlobalVariable("time_uptime"); str = irb.CreateGlobalString("ipfw: ouch!, skip past end of rules, denying packet\n"); // if (done) @@ -662,18 +684,24 @@ irb.SetInsertPoint(jt); // struct ip_fw *rule = chain->map[f_pos]; rule = irb.CreateAlloca(ip_fwPtrTy); - irb.CreateStore(irb.CreateInBoundsGEP(chain, {ConstantInt::get(int32Ty, 5), f_pos}), rule); + irb.CreateStore(irb.CreateInBoundsGEP(irb.CreateLoad(irb.CreateStructGEP(chain, 5)), f_pos), rule); // uint64_t pcnt; // (rule)->pcnt++; - irb.CreateStore(irb.CreateInBoundsGEP(rule, ConstantInt::get(int32Ty,8)), irb.CreateAdd(irb.CreateInBoundsGEP(rule, ConstantInt::get(int32Ty, 8)), ConstantInt::get(int64Ty, 1))); + Value *pcnt = irb.CreateStructGEP(irb.CreateLoad(rule), 8); + irb.CreateStore(irb.CreateAdd(pcnt, ConstantInt::get(pcnt->getType(), 1)), pcnt); // uint64_t bnct; // (rule)->bcnt += pktlen; - irb.CreateStore(irb.CreateInBoundsGEP(rule, ConstantInt::get(int32Ty, 9)), irb.CreateAdd(irb.CreateInBoundsGEP(rule, ConstantInt::get(int32Ty, 9)), pktlen)); + // XXX pktlen->getType(): int32Ty + Value *bcnt = irb.CreateStructGEP(irb.CreateLoad(rule), 9); + irb.CreateStore(irb.CreateAdd(bcnt, pktlen), bcnt); // (rule)->timestamp = time_uptime; // uint32_t timestamp; - irb.CreateStore(irb.CreateInBoundsGEP(rule, ConstantInt::get(int32Ty, 10)), timestamp); + // XXX timestamp->getType(): int32Ty + // XXX time_uptime: int64Ty + Value *timestamp = irb.CreateStructGEP(irb.CreateLoad(rule), 10); + irb.CreateStore(time_uptime, timestamp); irb.SetInsertPoint(jf); // retval = IP_FW_DENY; @@ -703,7 +731,7 @@ } public: - ipfwJIT(): irb(con) + ipfwJIT(int rulesnumber): irb(con) { // Create the module and load the code. mod = loadbc("ip_fw_rules.bc"); @@ -711,17 +739,21 @@ func = mod->getFunction("ipfw_chk_jit"); func->setLinkage(GlobalValue::ExternalLinkage); - // Create statics BasicBlocks. + // Create static BasicBlocks. // The entry basic block contains all the initialization // and allocation of resources, and a basic check done // before start emmiting the rules code. entry = BasicBlock::Create(con, "entry", func); + check_tag = BasicBlock::Create(con, "check_tag", func); + end = BasicBlock::Create(con, "end", func); + + // Initialize the vector. + rules = std::vector(rulesnumber + 1); + rules[rulenumber] = BasicBlock::Create(con, "rule", func); + start_rule(); + // This is equivalent to the pullup_failed tag. pullup_failed = BasicBlock::Create(con, "pullup_failed", func); - // This will be the first BasicBlock to store our emmited code. - startrules = BasicBlock::Create(con, "startrules", func); - // This will be executed at the end of ipfw_chk_jit(). - end = BasicBlock::Create(con, "end", func); //Snippets of code to be executed when iterating through the rules. outer_for_prologue = BasicBlock::Create(con, "outer_for_prologue", func); @@ -731,8 +763,9 @@ // Get struct types, and store vars setEnv(); - allocaAndInit(); + // Start compilation + allocaAndInit(); emit_check_tag(); emit_pullup_failed(); @@ -743,6 +776,11 @@ emit_outer_for_epilogue(); emit_end(); + verifyFunction(*func); + + + verifyModule(*mod); + mod->dump(); } ~ipfwJIT() { @@ -753,6 +791,7 @@ void optimize() { + // We don't need it anymore. Function *vf = mod->getFunction("voidfunction"); vf->eraseFromParent(); } @@ -764,18 +803,26 @@ return ((funcptr)NULL); } - // Call the function that fills in some vars. void - emit_lookpkt_call() + start_rule() { - // If it returns one, goto pullup_failed. - // Else, goto starrules. - irb.CreateCondBr(irb.CreateICmpEQ(irb.CreateCall(inspect_pkt, {args, ip, m, src_ip, dst_ip, src_port, dst_port, etype, ext_hd, iplen, pktlen, is_ipv4, is_ipv6, hlen, proto, icmp6_type, ip6f_mf, offset, ulp}), ConstantInt::get(int32Ty, 1)), pullup_failed, startrules); + // This will be the first BasicBlock to store our emmited code. + rules[rulenumber] = BasicBlock::Create(con, "rule", func); + next = rules[rulenumber+1] = BasicBlock::Create(con, "rule", func); } void + end_rule() + { + // We're on the next rule now. + rulenumber++; + } + + // Also initialized the rules vector. + void emit_outer_for_prologue_call() { + irb.SetInsertPoint(rules[rulenumber]); irb.CreateBr(outer_for_prologue); } @@ -843,10 +890,7 @@ InitializeNativeTarget(); LLVMLinkInJIT(); - ipfwJIT compiler; - - // Fill up needed local variables. - compiler.emit_lookpkt_call(); + ipfwJIT compiler(chain->n_rules); // Iterate through the rules. int pktlen = args->m->m_pkthdr.len; @@ -860,6 +904,8 @@ f = chain->map[f_pos]; + // Rule start. + compiler.start_rule(); compiler.emit_outer_for_prologue_call(); // For each different command. @@ -1251,7 +1297,9 @@ } /* end of switch() on opcodes */ compiler.emit_inner_for_prologue_call(); } /* end of inner loop, scan opcodes */ - compiler.emit_outer_for_prologue_call(); + // Rule ends. + compiler.emit_outer_for_epilogue_call(); + compiler.end_rule(); } /* end of outer for, scan rules */ compiler.emit_end_call(); From owner-svn-soc-all@FreeBSD.ORG Tue Aug 26 20:38:44 2014 Return-Path: Delivered-To: svn-soc-all@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 1A5C256D for ; Tue, 26 Aug 2014 20:38:44 +0000 (UTC) Received: from socsvn.freebsd.org (socsvn.freebsd.org [IPv6:2001:1900:2254:206a::50:2]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 038AE3A9C for ; Tue, 26 Aug 2014 20:38:44 +0000 (UTC) Received: from socsvn.freebsd.org ([127.0.1.124]) by socsvn.freebsd.org (8.14.9/8.14.9) with ESMTP id s7QKchB9084370 for ; Tue, 26 Aug 2014 20:38:43 GMT (envelope-from ghostmansd@FreeBSD.org) Received: (from www@localhost) by socsvn.freebsd.org (8.14.9/8.14.9/Submit) id s7QKcfUB084347 for svn-soc-all@FreeBSD.org; Tue, 26 Aug 2014 20:38:41 GMT (envelope-from ghostmansd@FreeBSD.org) Date: Tue, 26 Aug 2014 20:38:41 GMT Message-Id: <201408262038.s7QKcfUB084347@socsvn.freebsd.org> X-Authentication-Warning: socsvn.freebsd.org: www set sender to ghostmansd@FreeBSD.org using -f From: ghostmansd@FreeBSD.org To: svn-soc-all@FreeBSD.org Subject: socsvn commit: r273177 - in soc2014/ghostmansd/head: bin/colldb lib/libc/locale lib/libc/string lib/libc/unicode lib/libcolldb share/examples/colldb MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-soc-all@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: SVN commit messages for the entire Summer of Code repository List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 26 Aug 2014 20:38:44 -0000 Author: ghostmansd Date: Tue Aug 26 20:38:40 2014 New Revision: 273177 URL: http://svnweb.FreeBSD.org/socsvn/?view=rev&rev=273177 Log: significant fixes; source code reorganization; full support for root collation Added: soc2014/ghostmansd/head/bin/colldb/ soc2014/ghostmansd/head/bin/colldb/colldb.1 soc2014/ghostmansd/head/lib/libc/locale/unicode.h soc2014/ghostmansd/head/share/examples/colldb/ soc2014/ghostmansd/head/share/examples/colldb/colldb.py - copied unchanged from r273130, soc2014/ghostmansd/head/lib/libcolldb/colldb.py Deleted: soc2014/ghostmansd/head/lib/libcolldb/colldb.py Modified: soc2014/ghostmansd/head/lib/libc/locale/collate.c soc2014/ghostmansd/head/lib/libc/locale/collate.h soc2014/ghostmansd/head/lib/libc/locale/xlocale.c soc2014/ghostmansd/head/lib/libc/locale/xlocale_private.h soc2014/ghostmansd/head/lib/libc/string/strcoll.c soc2014/ghostmansd/head/lib/libc/string/strxfrm.c soc2014/ghostmansd/head/lib/libc/string/wcscoll.c soc2014/ghostmansd/head/lib/libc/string/wcsxfrm.c soc2014/ghostmansd/head/lib/libc/unicode/coll.h soc2014/ghostmansd/head/lib/libc/unicode/ucscoll.c soc2014/ghostmansd/head/lib/libc/unicode/ucsxfrm.c soc2014/ghostmansd/head/lib/libcolldb/colldb.3 Added: soc2014/ghostmansd/head/bin/colldb/colldb.1 ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ soc2014/ghostmansd/head/bin/colldb/colldb.1 Tue Aug 26 20:38:40 2014 (r273177) @@ -0,0 +1,49 @@ +.\"- +.\" Copyright (c) 2014 Dmitry Selyutin +.\" 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. +.\" + +.Dd August 26, 2014 +.Dt COLLDB 1 +.Os +.Sh NAME +.Nm colldb +.Nd convert Unicode collation file to *BSD collation database +.Sh SYNOPSIS +.Nm +.Ar source_file target_file +.Sh DESCRIPTION +The +.Nm +utility converts Unicode collation file to *BSD collation database. +Such collation database are stored in network byte order, so they can be +reused on every system which supports Berkley Database format. +For example, root collation which is used as a fallback one, is expected +to be converted this way: +.Pp +.Dl # src="/usr/src/share/colldb/root.src" +.Dl # dst="/usr/share/locale/UTF-8/LC_COLLATE" +.Dl # colldb $src $dst +.Sh SEE ALSO +.Xr colldb 3 Modified: soc2014/ghostmansd/head/lib/libc/locale/collate.c ============================================================================== --- soc2014/ghostmansd/head/lib/libc/locale/collate.c Tue Aug 26 19:58:48 2014 (r273176) +++ soc2014/ghostmansd/head/lib/libc/locale/collate.c Tue Aug 26 20:38:40 2014 (r273177) @@ -51,290 +51,6 @@ #include "libc_private.h" -#define ROOT_COLLDB "/usr/share/locale/UTF-8/LC_COLLATE" - - -/* Collation Database. */ -struct __colldb { - uint32_t version; - void *handle; -}; - -void * -__colldb_create(const char *path, int mode) -{ - DBT key; - DBT value; - DB *db = NULL; - int error = 0; - void *colldb = NULL; - uint32_t version = 0; - int flags = (O_RDWR | O_CREAT | O_TRUNC); - - colldb = calloc(1, sizeof(struct __colldb)); - if (colldb == NULL) { - errno = ENOMEM; - return (NULL); - } - db = dbopen(path, flags, mode, DB_HASH, NULL); - if (db == NULL) { - error = errno; - free(colldb); - errno = error; - return (NULL); - } - ((struct __colldb*)colldb)->version = __COLLDB_VERSION; - - key.data = "TYPE"; - value.data = "COLLATION"; - key.size = (strlen("TYPE") + 1); - value.size = (strlen("COLLATION") + 1); - if (db->put(db, &key, &value, 0) == -1) { - error = errno; - goto failure; - } - - key.data = "VERSION"; - version = htonl(((struct __colldb*)colldb)->version); - value.data = &version; - key.size = (strlen("VERSION") + 1); - value.size = sizeof(((struct __colldb*)colldb)->version); - if (db->put(db, &key, &value, 0) == -1) { - error = errno; - goto failure; - } - - ((struct __colldb*)colldb)->handle = db; - return (colldb); - -failure: - (void) db->close(db); - free(colldb); - errno = error; - return (NULL); -} - -void * -__colldb_open(const char *path) -{ - DBT key; - DBT value; - DB *db = NULL; - int error = 0; - int state = 0; - void *colldb = NULL; - int flags = O_RDONLY; - - colldb = calloc(1, sizeof(struct __colldb)); - if (colldb == NULL) { - errno = ENOMEM; - return (NULL); - } - db = dbopen(path, flags, 0, DB_HASH, NULL); - if (db == NULL) { - error = errno; - free(colldb); - errno = error; - return (NULL); - } - - key.data = "TYPE"; - key.size = (strlen("TYPE") + 1); - state = db->get(db, &key, &value, 0); - if (state != 0) { - if (state < 0) - error = errno; - else - error = EFTYPE; - goto failure; - } - if (strcmp(value.data, "COLLATION") != 0) { - error = EFTYPE; - goto failure; - } - - key.data = "VERSION"; - key.size = (strlen("VERSION") + 1); - state = db->get(db, &key, &value, 0); - if (state != 0) { - if (state < 0) - error = errno; - else - error = EFTYPE; - goto failure; - } - ((struct __colldb*)colldb)->version = - ntohl(*(const uint32_t*)value.data); - - ((struct __colldb*)colldb)->handle = db; - return (colldb); - -failure: - (void) db->close(db); - free(colldb); - errno = error; - return (NULL); -} - -int -__colldb_close(void *colldb) -{ - DB *db = NULL; - int error = 0; - - if (colldb == NULL) { - errno = EINVAL; - return (-1); - } - db = ((struct __colldb*)colldb)->handle; - if (db == NULL) { - errno = EINVAL; - return (-1); - } - if (db->close(db) == -1) { - error = errno; - free(colldb); - errno = error; - return (-1); - } - free(colldb); - return (0); -} - -int -__colldb_sync(void *colldb) -{ - DB *db = NULL; - - if (colldb == NULL) { - errno = EINVAL; - return (-1); - } - db = ((struct __colldb*)colldb)->handle; - if (db == NULL) { - errno = EINVAL; - return (-1); - } - return db->sync(db, 0); -} - -int -__colldb_get(void *colldb, - struct __colldb_key *key, - struct __colldb_value *value) -{ - DBT dbkey; - DBT dbvalue; - DB *db = NULL; - size_t i = 0; - int error = 0; - int state = 0; - uint32_t *keybuf = NULL; - struct __colldb_weight *weights = NULL; - - if ((colldb == NULL) || (key == NULL) || (value == NULL)) { - errno = EINVAL; - return (-1); - } - db = ((struct __colldb*)colldb)->handle; - if ((db == NULL) || (key->chars == NULL) || (key->count == 0)) { - errno = EINVAL; - return (-1); - } - - keybuf = malloc(key->count * sizeof(*key->chars)); - if (keybuf == NULL) { - errno = ENOMEM; - return (-1); - } - for (i = 0; i < key->count; ++i) - keybuf[i] = htonl(key->chars[i]); - - dbkey.data = keybuf; - dbkey.size = (key->count * sizeof(*key->chars)); - state = db->get(db, &dbkey, &dbvalue, 0); - if (state != 0) { - error = errno; - free(keybuf); - errno = error; - return (state); - } - - weights = dbvalue.data; - if ((dbvalue.size / sizeof(*weights)) > value->count) { - free(keybuf); - errno = ERANGE; - return (-1); - } - value->count = (dbvalue.size / sizeof(*weights)); - for (i = 0; i < value->count; ++i) { - value->weights[i].alternate = weights[i].alternate; - value->weights[i].level1 = ntohl(weights[i].level1); - value->weights[i].level2 = ntohl(weights[i].level2); - value->weights[i].level3 = ntohl(weights[i].level3); - value->weights[i].level4 = ntohl(weights[i].level4); - } - free(dbvalue.data); - free(keybuf); - return (0); -} - -int -__colldb_put(void *colldb, - struct __colldb_key *key, - struct __colldb_value *value) -{ - DBT dbkey; - DBT dbvalue; - DB *db = NULL; - size_t i = 0; - int state = 0; - int error = 0; - uint32_t *keybuf = NULL; - struct __colldb_weight *valuebuf = NULL; - - if ((colldb == NULL) || (key == NULL) || (value == NULL)) { - errno = EINVAL; - return (-1); - } - db = ((struct __colldb*)colldb)->handle; - if ((db == NULL) || (key->chars == NULL) || (key->count == 0)) { - errno = EINVAL; - return (-1); - } - - valuebuf = value->weights; - keybuf = malloc(key->count * sizeof(*key->chars)); - valuebuf = malloc(value->count * sizeof(*value->weights)); - if ((keybuf == NULL) || (valuebuf == NULL)) { - errno = ENOMEM; - return (-1); - } - for (i = 0; i < key->count; ++i) - keybuf[i] = htonl(key->chars[i]); - for (i = 0; i < value->count; ++i) { - valuebuf[i].alternate = value->weights[i].alternate; - valuebuf[i].level1 = htonl(value->weights[i].level1); - valuebuf[i].level2 = htonl(value->weights[i].level2); - valuebuf[i].level3 = htonl(value->weights[i].level3); - valuebuf[i].level4 = htonl(value->weights[i].level4); - } - - dbkey.data = keybuf; - dbvalue.data = valuebuf; - dbkey.size = (key->count * sizeof(*key->chars)); - dbvalue.size = (value->count * sizeof(*value->weights)); - state = db->put(db, &dbkey, &dbvalue, 0); - if (state != 0) { - error = errno; - free(keybuf); - free(valuebuf); - errno = error; - } - return state; -} - - /* * To avoid modifying the original (single-threaded) code too much, we'll just * define the old globals as fields inside the table. @@ -349,6 +65,26 @@ int __collate_load_error; +void *__colldb_root = NULL; + +__attribute__((constructor)) +static void root_construct(void) +{ + const int error_init = errno; + + __colldb_root = __colldb_open(__COLLDB_ROOT); + if (__colldb_root == NULL) + errno = error_init; +} + +__attribute__((destructor)) +static void root_destructor(void) +{ + __colldb_close(__colldb_root); +} + + + struct xlocale_collate __xlocale_global_collate = { {{0}, "C"}, NULL, 1, 0 }; @@ -370,7 +106,7 @@ free(__collate_chain_pri_table); __collate_chain_pri_table = NULL; } - if (table->__colldb != NULL) { + if ((table->__colldb != NULL) && (table->__colldb != __colldb_root)) { __colldb_close(table->__colldb); table->__colldb = NULL; } @@ -411,7 +147,6 @@ FILE *fp; int i, saverr, chains; uint32_t u32; - void *colldb = NULL; char strbuf[STR_LEN], buf[PATH_MAX]; void *TMP_substitute_table, *TMP_char_pri_table, *TMP_chain_pri_table; @@ -429,15 +164,19 @@ (void)strcat(buf, "/LC_COLLATE"); /* - * Try to use collation database for the given locale. - * If collation database does not exist for the given locale, - * try to use root collation database. - * If it fails too, use original collation algorithm. + * Collation functions are going to use both root and custom collation + * databases, so both must be opened for each locale. The first one is + * used as a fallback one in case if match is not found inside custom + * database. If root collation database is not found, use previous + * collation algorithms as fallback. */ saverr = errno; - if ((table->__colldb = __colldb_open(buf)) == NULL) - table->__colldb = __colldb_open(ROOT_COLLDB); - if (colldb != NULL) + table->__colldb = __colldb_open(buf); + if (table->__colldb == NULL) { + table->__colldb = __colldb_root; + errno = saverr; + } + if (table->__colldb != NULL) return (_LDP_LOADED); errno = saverr; Modified: soc2014/ghostmansd/head/lib/libc/locale/collate.h ============================================================================== --- soc2014/ghostmansd/head/lib/libc/locale/collate.h Tue Aug 26 19:58:48 2014 (r273176) +++ soc2014/ghostmansd/head/lib/libc/locale/collate.h Tue Aug 26 20:38:40 2014 (r273177) @@ -46,38 +46,6 @@ #define COLLATE_VERSION1_2 "1.2\n" -#define __COLLDB_VERSION 0x00000001 -#define __COLLDB_WEIGHTS_MAX 16 -struct __colldb_weight { - uint8_t alternate; - uint32_t level1; - uint32_t level2; - uint32_t level3; - uint32_t level4; -}; -struct __colldb_key { - size_t count; - const uint32_t *chars; -}; -struct __colldb_value { - size_t count; - struct __colldb_weight *weights; -}; -void* __colldb_create(const char*, int mode); -void* __colldb_open(const char*); -int __colldb_close(void*); -int __colldb_sync(void*); -int __colldb_get(void*, - struct __colldb_key*, - struct __colldb_value*); -int __colldb_put(void*, - struct __colldb_key*, - struct __colldb_value*); - -size_t __ucsxfrm(uint32_t*, const uint32_t*, size_t, void*); -int __ucscoll(const uint32_t*, const uint32_t*, void*); - - struct __collate_st_char_pri { int prim, sec; }; Added: soc2014/ghostmansd/head/lib/libc/locale/unicode.h ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ soc2014/ghostmansd/head/lib/libc/locale/unicode.h Tue Aug 26 20:38:40 2014 (r273177) @@ -0,0 +1,79 @@ +/*- + * Copyright (c) 2014 Dmitry Selyutin. + * 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. + */ + +#ifndef _UNICODE_H_ +#define _UNICODE_H_ + + +/* Unicode collation. */ +#define __COLLDB_ROOT "/usr/share/locale/UTF-8/LC_COLLATE" +#define __COLLDB_VERSION 0x00000001 +#define __COLLDB_WEIGHTS_MAX 16 +extern void *__colldb_root; +struct __colldb_weight { + uint8_t alternate; + uint32_t level1; + uint32_t level2; + uint32_t level3; + uint32_t level4; +}; +struct __colldb_key { + size_t count; + const uint32_t *chars; +}; +struct __colldb_value { + size_t count; + struct __colldb_weight *weights; +}; +void* __colldb_create(const char*, int mode); +void* __colldb_open(const char*); +int __colldb_close(void*); +int __colldb_sync(void*); +int __colldb_get(void*, + struct __colldb_key*, + struct __colldb_value*); +int __colldb_put(void*, + struct __colldb_key*, + struct __colldb_value*); + +size_t __ucsxfrm(uint32_t*, const uint32_t*, size_t, void*); +int __ucscoll(const uint32_t*, const uint32_t*, void*); + + +/* Unicode canonicalization. */ +int __uccclass(uint32_t); +int __ucscanon(uint32_t*); + + +/* Unicode normalization. */ +#define __UC_NFD 1 +#define __UC_NFKD 2 +#define __UC_NFC 3 +#define __UC_NFKC 4 +size_t __ucsnorm(uint32_t*, const uint32_t*, size_t, int); + + +#endif /* _UNICODE_H_ */ Modified: soc2014/ghostmansd/head/lib/libc/locale/xlocale.c ============================================================================== --- soc2014/ghostmansd/head/lib/libc/locale/xlocale.c Tue Aug 26 19:58:48 2014 (r273176) +++ soc2014/ghostmansd/head/lib/libc/locale/xlocale.c Tue Aug 26 20:38:40 2014 (r273177) @@ -39,10 +39,293 @@ #include #include #include +#include +#include +#include +#include #include "libc_private.h" #include "xlocale_private.h" +/* Collation Database. */ +struct __colldb { + uint32_t version; + void *handle; +}; + +void * +__colldb_create(const char *path, int mode) +{ + DBT key; + DBT value; + DB *db = NULL; + int error = 0; + void *colldb = NULL; + uint32_t version = 0; + int flags = (O_RDWR | O_CREAT | O_TRUNC); + + colldb = calloc(1, sizeof(struct __colldb)); + if (colldb == NULL) { + errno = ENOMEM; + return (NULL); + } + db = dbopen(path, flags, mode, DB_HASH, NULL); + if (db == NULL) { + error = errno; + free(colldb); + errno = error; + return (NULL); + } + ((struct __colldb*)colldb)->version = __COLLDB_VERSION; + + key.data = "TYPE"; + value.data = "COLLATION"; + key.size = (strlen("TYPE") + 1); + value.size = (strlen("COLLATION") + 1); + if (db->put(db, &key, &value, 0) == -1) { + error = errno; + goto failure; + } + + key.data = "VERSION"; + version = htonl(((struct __colldb*)colldb)->version); + value.data = &version; + key.size = (strlen("VERSION") + 1); + value.size = sizeof(((struct __colldb*)colldb)->version); + if (db->put(db, &key, &value, 0) == -1) { + error = errno; + goto failure; + } + + ((struct __colldb*)colldb)->handle = db; + return (colldb); + +failure: + (void) db->close(db); + free(colldb); + errno = error; + return (NULL); +} + +void * +__colldb_open(const char *path) +{ + DBT key; + DBT value; + DB *db = NULL; + int error = 0; + int state = 0; + void *colldb = NULL; + int flags = O_RDONLY; + + colldb = calloc(1, sizeof(struct __colldb)); + if (colldb == NULL) { + errno = ENOMEM; + return (NULL); + } + db = dbopen(path, flags, 0, DB_HASH, NULL); + if (db == NULL) { + error = errno; + free(colldb); + errno = error; + return (NULL); + } + + key.data = "TYPE"; + key.size = (strlen("TYPE") + 1); + state = db->get(db, &key, &value, 0); + if (state != 0) { + if (state < 0) + error = errno; + else + error = EFTYPE; + goto failure; + } + if (strcmp(value.data, "COLLATION") != 0) { + error = EFTYPE; + goto failure; + } + + key.data = "VERSION"; + key.size = (strlen("VERSION") + 1); + state = db->get(db, &key, &value, 0); + if (state != 0) { + if (state < 0) + error = errno; + else + error = EFTYPE; + goto failure; + } + ((struct __colldb*)colldb)->version = + ntohl(*(const uint32_t*)value.data); + + ((struct __colldb*)colldb)->handle = db; + return (colldb); + +failure: + (void) db->close(db); + free(colldb); + errno = error; + return (NULL); +} + +int +__colldb_close(void *colldb) +{ + DB *db = NULL; + int error = 0; + + if (colldb == NULL) + return (0); + db = ((struct __colldb*)colldb)->handle; + if (db == NULL) { + errno = EINVAL; + return (-1); + } + if (db->close(db) == -1) { + error = errno; + free(colldb); + errno = error; + return (-1); + } + free(colldb); + return (0); +} + +int +__colldb_sync(void *colldb) +{ + DB *db = NULL; + + if (colldb == NULL) { + errno = EINVAL; + return (-1); + } + db = ((struct __colldb*)colldb)->handle; + if (db == NULL) { + errno = EINVAL; + return (-1); + } + return db->sync(db, 0); +} + +int +__colldb_get(void *colldb, + struct __colldb_key *key, + struct __colldb_value *value) +{ + DBT dbkey; + DBT dbvalue; + DB *db = NULL; + size_t i = 0; + int error = 0; + int state = 0; + uint32_t *keybuf = NULL; + struct __colldb_weight *weights = NULL; + + if ((colldb == NULL) || (key == NULL) || (value == NULL)) { + errno = EINVAL; + return (-1); + } + db = ((struct __colldb*)colldb)->handle; + if ((db == NULL) || (key->chars == NULL) || (key->count == 0)) { + errno = EINVAL; + return (-1); + } + + keybuf = malloc(key->count * sizeof(*key->chars)); + if (keybuf == NULL) { + errno = ENOMEM; + return (-1); + } + for (i = 0; i < key->count; ++i) + keybuf[i] = htonl(key->chars[i]); + + dbkey.data = keybuf; + dbkey.size = (key->count * sizeof(*key->chars)); + state = db->get(db, &dbkey, &dbvalue, 0); + if (state != 0) { + error = errno; + free(keybuf); + errno = error; + return (state); + } + + weights = dbvalue.data; + if ((dbvalue.size / sizeof(*weights)) > value->count) { + free(keybuf); + errno = ERANGE; + return (-1); + } + value->count = (dbvalue.size / sizeof(*weights)); + for (i = 0; i < value->count; ++i) { + value->weights[i].alternate = weights[i].alternate; + value->weights[i].level1 = ntohl(weights[i].level1); + value->weights[i].level2 = ntohl(weights[i].level2); + value->weights[i].level3 = ntohl(weights[i].level3); + value->weights[i].level4 = ntohl(weights[i].level4); + } + free(dbvalue.data); + free(keybuf); + return (0); +} + +int +__colldb_put(void *colldb, + struct __colldb_key *key, + struct __colldb_value *value) +{ + DBT dbkey; + DBT dbvalue; + DB *db = NULL; + size_t i = 0; + int state = 0; + int error = 0; + uint32_t *keybuf = NULL; + struct __colldb_weight *valuebuf = NULL; + + if ((colldb == NULL) || (key == NULL) || (value == NULL)) { + errno = EINVAL; + return (-1); + } + db = ((struct __colldb*)colldb)->handle; + if ((db == NULL) || (key->chars == NULL) || (key->count == 0)) { + errno = EINVAL; + return (-1); + } + + valuebuf = value->weights; + keybuf = malloc(key->count * sizeof(*key->chars)); + valuebuf = malloc(value->count * sizeof(*value->weights)); + if ((keybuf == NULL) || (valuebuf == NULL)) { + errno = ENOMEM; + return (-1); + } + for (i = 0; i < key->count; ++i) + keybuf[i] = htonl(key->chars[i]); + for (i = 0; i < value->count; ++i) { + valuebuf[i].alternate = value->weights[i].alternate; + valuebuf[i].level1 = htonl(value->weights[i].level1); + valuebuf[i].level2 = htonl(value->weights[i].level2); + valuebuf[i].level3 = htonl(value->weights[i].level3); + valuebuf[i].level4 = htonl(value->weights[i].level4); + } + + dbkey.data = keybuf; + dbvalue.data = valuebuf; + dbkey.size = (key->count * sizeof(*key->chars)); + dbvalue.size = (value->count * sizeof(*value->weights)); + state = db->put(db, &dbkey, &dbvalue, 0); + if (state != 0) { + error = errno; + free(keybuf); + free(valuebuf); + errno = error; + } + return (state); +} + + /** * Each locale loader declares a global component. This is used by setlocale() * and also by xlocale with LC_GLOBAL_LOCALE.. @@ -88,7 +371,6 @@ &__xlocale_global_time, &__xlocale_global_messages }, - NULL, 1, 0, 1, @@ -102,7 +384,6 @@ &__xlocale_C_ctype, 0, 0, 0, 0 }, - NULL, 1, 0, 1, Modified: soc2014/ghostmansd/head/lib/libc/locale/xlocale_private.h ============================================================================== --- soc2014/ghostmansd/head/lib/libc/locale/xlocale_private.h Tue Aug 26 19:58:48 2014 (r273176) +++ soc2014/ghostmansd/head/lib/libc/locale/xlocale_private.h Tue Aug 26 20:38:40 2014 (r273177) @@ -40,17 +40,7 @@ #include #include #include "setlocale.h" - -/* Unicode canonicalization. */ -int __uccclass(uint32_t); -int __ucscanon(uint32_t*); - -/* Unicode normalization. */ -#define __UC_NFD 1 -#define __UC_NFKD 2 -#define __UC_NFC 3 -#define __UC_NFKC 4 -size_t __ucsnorm(uint32_t*, const uint32_t*, size_t, int); +#include "unicode.h" enum { Modified: soc2014/ghostmansd/head/lib/libc/string/strcoll.c ============================================================================== --- soc2014/ghostmansd/head/lib/libc/string/strcoll.c Tue Aug 26 19:58:48 2014 (r273176) +++ soc2014/ghostmansd/head/lib/libc/string/strcoll.c Tue Aug 26 20:38:40 2014 (r273177) @@ -35,12 +35,13 @@ #include #include +#include #include #include "collate.h" static wchar_t * -__wcsdup(const char *s) +__wcsdup(const char *s, locale_t locale) { static const mbstate_t initial; mbstate_t st = initial; @@ -50,12 +51,12 @@ cp = s; st = initial; - if ((len = mbsrtowcs(NULL, &cp, 0, &st)) == (size_t)-1) + if ((len = mbsrtowcs_l(NULL, &cp, 0, &st, locale)) == (size_t)-1) return (NULL); if ((wcs = malloc((len + 1) * sizeof(wchar_t))) == NULL) return (NULL); st = initial; - mbsrtowcs(wcs, &s, len + 1, &st); + mbsrtowcs_l(wcs, &s, len + 1, &st, locale); return (wcs); } @@ -64,18 +65,53 @@ int strcoll_l(const char *s, const char *s2, locale_t locale) { + const int error_init = errno; + int len = 0; + int len2 = 0; + int prim = 0; + int prim2 = 0; + int sec = 0; + int sec2 = 0; + int ret = 0; + int ret2 = 0; + int error = 0; + char *tt = NULL; + char *tt2 = NULL; wchar_t *ws = NULL; wchar_t *ws2 = NULL; - int len, len2, prim, prim2, sec, sec2, ret, ret2; - const char *t, *t2; - char *tt, *tt2; - FIX_LOCALE(locale); - struct xlocale_collate *table = - (struct xlocale_collate*)locale->components[XLC_COLLATE]; + const char *t = NULL; + const char *t2 = NULL; + struct xlocale_collate *table = NULL; + FIX_LOCALE(locale); + table = (struct xlocale_collate*)locale->components[XLC_COLLATE]; if (table->__collate_load_error) return strcmp(s, s2); + do { + if (table->__colldb != NULL) { + ws = __wcsdup(s, locale); + ws2 = __wcsdup(s2, locale); + if ((ws == NULL) || (ws2 == NULL)) { + errno = error_init; + free(ws); + break; + } + error = errno; + errno = 0; + ret = wcscoll_l(ws, ws2, locale); + if (errno != 0) { + errno = error_init; + free(ws); + free(ws2); + break; + } + free(ws); + free(ws2); + return (ret); + } + } while (0); + len = len2 = 1; ret = ret2 = 0; if (table->__collate_substitute_nontrivial) { @@ -118,6 +154,7 @@ return ret; } + int strcoll(const char *s, const char *s2) { Modified: soc2014/ghostmansd/head/lib/libc/string/strxfrm.c ============================================================================== --- soc2014/ghostmansd/head/lib/libc/string/strxfrm.c Tue Aug 26 19:58:48 2014 (r273176) +++ soc2014/ghostmansd/head/lib/libc/string/strxfrm.c Tue Aug 26 20:38:40 2014 (r273177) @@ -34,28 +34,49 @@ __FBSDID("$FreeBSD$"); #include +#include #include +#include #include "collate.h" -size_t -strxfrm_l(char * __restrict dest, const char * __restrict src, size_t len, locale_t loc); -size_t -strxfrm(char * __restrict dest, const char * __restrict src, size_t len) +static wchar_t * +__wcsdup(const char *s, locale_t locale) { - return strxfrm_l(dest, src, len, __get_locale()); + static const mbstate_t initial; + mbstate_t st = initial; + size_t len = 0; + wchar_t *wcs = NULL; + const char *cp = s; + + cp = s; + st = initial; + if ((len = mbsrtowcs_l(NULL, &cp, 0, &st, locale)) == (size_t)-1) *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-soc-all@FreeBSD.ORG Tue Aug 26 21:27:03 2014 Return-Path: Delivered-To: svn-soc-all@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 1853F2EC for ; Tue, 26 Aug 2014 21:27:03 +0000 (UTC) Received: from socsvn.freebsd.org (socsvn.freebsd.org [IPv6:2001:1900:2254:206a::50:2]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 00572300F for ; Tue, 26 Aug 2014 21:27:03 +0000 (UTC) Received: from socsvn.freebsd.org ([127.0.1.124]) by socsvn.freebsd.org (8.14.9/8.14.9) with ESMTP id s7QLR2Sw029733 for ; Tue, 26 Aug 2014 21:27:02 GMT (envelope-from pedrosouza@FreeBSD.org) Received: (from www@localhost) by socsvn.freebsd.org (8.14.9/8.14.9/Submit) id s7QLQvi0029198 for svn-soc-all@FreeBSD.org; Tue, 26 Aug 2014 21:26:57 GMT (envelope-from pedrosouza@FreeBSD.org) Date: Tue, 26 Aug 2014 21:26:57 GMT Message-Id: <201408262126.s7QLQvi0029198@socsvn.freebsd.org> X-Authentication-Warning: socsvn.freebsd.org: www set sender to pedrosouza@FreeBSD.org using -f From: pedrosouza@FreeBSD.org To: svn-soc-all@FreeBSD.org Subject: socsvn commit: r273180 - in soc2014/pedrosouza/lua_loader/head/sys/boot: amd64/boot1.efi amd64/efi arm/at91/boot0 arm/at91/boot0iic arm/at91/boot0spi arm/at91/boot2 arm/at91/bootiic arm/at91/bootsp... MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-soc-all@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: SVN commit messages for the entire Summer of Code repository List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 26 Aug 2014 21:27:03 -0000 Author: pedrosouza Date: Tue Aug 26 21:26:56 2014 New Revision: 273180 URL: http://svnweb.FreeBSD.org/socsvn/?view=rev&rev=273180 Log: merge head into lua_loader Added: soc2014/pedrosouza/lua_loader/head/sys/boot/common/install.c - copied unchanged from r273173, mirror/FreeBSD/head/sys/boot/common/install.c soc2014/pedrosouza/lua_loader/head/sys/boot/fdt/dts/arm/apalis-imx6.dts - copied unchanged from r273173, mirror/FreeBSD/head/sys/boot/fdt/dts/arm/apalis-imx6.dts soc2014/pedrosouza/lua_loader/head/sys/boot/fdt/dts/arm/exynos5250-snow.dts - copied unchanged from r273173, mirror/FreeBSD/head/sys/boot/fdt/dts/arm/exynos5250-snow.dts soc2014/pedrosouza/lua_loader/head/sys/boot/fdt/dts/arm/exynos5250-spring.dts - copied unchanged from r273173, mirror/FreeBSD/head/sys/boot/fdt/dts/arm/exynos5250-spring.dts soc2014/pedrosouza/lua_loader/head/sys/boot/fdt/dts/arm/exynos5420-peach-pit.dts - copied unchanged from r273173, mirror/FreeBSD/head/sys/boot/fdt/dts/arm/exynos5420-peach-pit.dts soc2014/pedrosouza/lua_loader/head/sys/boot/fdt/dts/arm/sam9260ek.dts - copied unchanged from r273173, mirror/FreeBSD/head/sys/boot/fdt/dts/arm/sam9260ek.dts soc2014/pedrosouza/lua_loader/head/sys/boot/kshim/ - copied from r273173, mirror/FreeBSD/head/sys/boot/kshim/ soc2014/pedrosouza/lua_loader/head/sys/boot/usb/tools/Makefile - copied unchanged from r273173, mirror/FreeBSD/head/sys/boot/usb/tools/Makefile soc2014/pedrosouza/lua_loader/head/sys/boot/usb/usbcore.mk - copied unchanged from r273173, mirror/FreeBSD/head/sys/boot/usb/usbcore.mk Deleted: soc2014/pedrosouza/lua_loader/head/sys/boot/fdt/dts/arm/exynos5250-chromebook-snow.dts soc2014/pedrosouza/lua_loader/head/sys/boot/fdt/dts/arm/exynos5250-chromebook-spring.dts soc2014/pedrosouza/lua_loader/head/sys/boot/usb/bsd_busspace.c soc2014/pedrosouza/lua_loader/head/sys/boot/usb/bsd_global.h soc2014/pedrosouza/lua_loader/head/sys/boot/usb/bsd_kernel.c soc2014/pedrosouza/lua_loader/head/sys/boot/usb/bsd_kernel.h soc2014/pedrosouza/lua_loader/head/sys/boot/usb/tools/sysinit.h Modified: soc2014/pedrosouza/lua_loader/head/sys/boot/amd64/boot1.efi/Makefile soc2014/pedrosouza/lua_loader/head/sys/boot/amd64/efi/Makefile soc2014/pedrosouza/lua_loader/head/sys/boot/amd64/efi/main.c soc2014/pedrosouza/lua_loader/head/sys/boot/arm/at91/boot0/main.c soc2014/pedrosouza/lua_loader/head/sys/boot/arm/at91/boot0iic/main.c soc2014/pedrosouza/lua_loader/head/sys/boot/arm/at91/boot0spi/main.c soc2014/pedrosouza/lua_loader/head/sys/boot/arm/at91/boot2/boot2.c soc2014/pedrosouza/lua_loader/head/sys/boot/arm/at91/bootiic/main.c soc2014/pedrosouza/lua_loader/head/sys/boot/arm/at91/bootspi/main.c soc2014/pedrosouza/lua_loader/head/sys/boot/arm/at91/libat91/emac.c soc2014/pedrosouza/lua_loader/head/sys/boot/arm/at91/libat91/mci_device.h soc2014/pedrosouza/lua_loader/head/sys/boot/arm/at91/libat91/sd-card.c soc2014/pedrosouza/lua_loader/head/sys/boot/arm/at91/libat91/sd-card.h soc2014/pedrosouza/lua_loader/head/sys/boot/arm/uboot/Makefile soc2014/pedrosouza/lua_loader/head/sys/boot/common/Makefile.inc soc2014/pedrosouza/lua_loader/head/sys/boot/common/bootstrap.h soc2014/pedrosouza/lua_loader/head/sys/boot/common/interp.c soc2014/pedrosouza/lua_loader/head/sys/boot/common/module.c soc2014/pedrosouza/lua_loader/head/sys/boot/common/part.c soc2014/pedrosouza/lua_loader/head/sys/boot/efi/libefi/Makefile soc2014/pedrosouza/lua_loader/head/sys/boot/fdt/dts/arm/exynos5.dtsi soc2014/pedrosouza/lua_loader/head/sys/boot/fdt/dts/arm/exynos5250.dtsi soc2014/pedrosouza/lua_loader/head/sys/boot/fdt/dts/arm/exynos5420-arndale-octa.dts soc2014/pedrosouza/lua_loader/head/sys/boot/fdt/dts/arm/exynos5420.dtsi soc2014/pedrosouza/lua_loader/head/sys/boot/fdt/dts/arm/imx6.dtsi soc2014/pedrosouza/lua_loader/head/sys/boot/fdt/dts/arm/wandboard-dual.dts soc2014/pedrosouza/lua_loader/head/sys/boot/fdt/dts/arm/wandboard-quad.dts soc2014/pedrosouza/lua_loader/head/sys/boot/fdt/dts/arm/wandboard-solo.dts soc2014/pedrosouza/lua_loader/head/sys/boot/i386/boot2/Makefile soc2014/pedrosouza/lua_loader/head/sys/boot/i386/btx/btx/Makefile soc2014/pedrosouza/lua_loader/head/sys/boot/i386/btx/btxldr/Makefile soc2014/pedrosouza/lua_loader/head/sys/boot/i386/btx/lib/Makefile soc2014/pedrosouza/lua_loader/head/sys/boot/i386/libi386/Makefile soc2014/pedrosouza/lua_loader/head/sys/boot/i386/libi386/amd64_tramp.S soc2014/pedrosouza/lua_loader/head/sys/boot/i386/libi386/libi386.h soc2014/pedrosouza/lua_loader/head/sys/boot/i386/libi386/pxe.c soc2014/pedrosouza/lua_loader/head/sys/boot/i386/loader/Makefile soc2014/pedrosouza/lua_loader/head/sys/boot/i386/loader/main.c soc2014/pedrosouza/lua_loader/head/sys/boot/ia64/efi/Makefile soc2014/pedrosouza/lua_loader/head/sys/boot/ia64/ski/Makefile soc2014/pedrosouza/lua_loader/head/sys/boot/libstand32/Makefile soc2014/pedrosouza/lua_loader/head/sys/boot/mips/beri/boot2/Makefile soc2014/pedrosouza/lua_loader/head/sys/boot/mips/beri/loader/Makefile soc2014/pedrosouza/lua_loader/head/sys/boot/mips/beri/loader/main.c soc2014/pedrosouza/lua_loader/head/sys/boot/ofw/common/main.c soc2014/pedrosouza/lua_loader/head/sys/boot/pc98/boot2/Makefile soc2014/pedrosouza/lua_loader/head/sys/boot/pc98/btx/lib/Makefile soc2014/pedrosouza/lua_loader/head/sys/boot/pc98/loader/Makefile soc2014/pedrosouza/lua_loader/head/sys/boot/pc98/loader/main.c soc2014/pedrosouza/lua_loader/head/sys/boot/powerpc/ofw/Makefile soc2014/pedrosouza/lua_loader/head/sys/boot/powerpc/ps3/Makefile soc2014/pedrosouza/lua_loader/head/sys/boot/powerpc/ps3/main.c soc2014/pedrosouza/lua_loader/head/sys/boot/powerpc/uboot/Makefile soc2014/pedrosouza/lua_loader/head/sys/boot/sparc64/boot1/Makefile soc2014/pedrosouza/lua_loader/head/sys/boot/sparc64/loader/Makefile soc2014/pedrosouza/lua_loader/head/sys/boot/sparc64/loader/main.c soc2014/pedrosouza/lua_loader/head/sys/boot/uboot/common/main.c soc2014/pedrosouza/lua_loader/head/sys/boot/usb/Makefile soc2014/pedrosouza/lua_loader/head/sys/boot/userboot/test/test.c soc2014/pedrosouza/lua_loader/head/sys/boot/userboot/userboot/devicename.c soc2014/pedrosouza/lua_loader/head/sys/boot/userboot/userboot/main.c Modified: soc2014/pedrosouza/lua_loader/head/sys/boot/amd64/boot1.efi/Makefile ============================================================================== --- soc2014/pedrosouza/lua_loader/head/sys/boot/amd64/boot1.efi/Makefile Tue Aug 26 20:40:12 2014 (r273179) +++ soc2014/pedrosouza/lua_loader/head/sys/boot/amd64/boot1.efi/Makefile Tue Aug 26 21:26:56 2014 (r273180) @@ -77,7 +77,7 @@ beforedepend ${OBJS}: machine x86 -CLEANFILES+= machine x86 +CLEANFILES+= machine x86 boot1.efi machine: ln -sf ${.CURDIR}/../../../amd64/include machine Modified: soc2014/pedrosouza/lua_loader/head/sys/boot/amd64/efi/Makefile ============================================================================== --- soc2014/pedrosouza/lua_loader/head/sys/boot/amd64/efi/Makefile Tue Aug 26 20:40:12 2014 (r273179) +++ soc2014/pedrosouza/lua_loader/head/sys/boot/amd64/efi/Makefile Tue Aug 26 21:26:56 2014 (r273180) @@ -43,6 +43,7 @@ #Lua .if ${MK_LUA} != "no" +BOOT_LUA= yes CFLAGS+= -DBOOT_LUA -I${.CURDIR}/../../../lua/src LIBLUA= ${.OBJDIR}/../../lua/liblua.a .endif Modified: soc2014/pedrosouza/lua_loader/head/sys/boot/amd64/efi/main.c ============================================================================== --- soc2014/pedrosouza/lua_loader/head/sys/boot/amd64/efi/main.c Tue Aug 26 20:40:12 2014 (r273179) +++ soc2014/pedrosouza/lua_loader/head/sys/boot/amd64/efi/main.c Tue Aug 26 21:26:56 2014 (r273180) @@ -124,7 +124,7 @@ archsw.arch_copyout = x86_efi_copyout; archsw.arch_readin = x86_efi_readin; - interact(); /* doesn't return */ + interact(NULL); /* doesn't return */ return (EFI_SUCCESS); /* keep compiler happy */ } Modified: soc2014/pedrosouza/lua_loader/head/sys/boot/arm/at91/boot0/main.c ============================================================================== --- soc2014/pedrosouza/lua_loader/head/sys/boot/arm/at91/boot0/main.c Tue Aug 26 20:40:12 2014 (r273179) +++ soc2014/pedrosouza/lua_loader/head/sys/boot/arm/at91/boot0/main.c Tue Aug 26 21:26:56 2014 (r273180) @@ -30,6 +30,8 @@ typedef void fn_t(void); +int main(void); + int main(void) { Modified: soc2014/pedrosouza/lua_loader/head/sys/boot/arm/at91/boot0iic/main.c ============================================================================== --- soc2014/pedrosouza/lua_loader/head/sys/boot/arm/at91/boot0iic/main.c Tue Aug 26 20:40:12 2014 (r273179) +++ soc2014/pedrosouza/lua_loader/head/sys/boot/arm/at91/boot0iic/main.c Tue Aug 26 21:26:56 2014 (r273180) @@ -28,6 +28,8 @@ #include "lib.h" #include "at91rm9200_lowlevel.h" +int main(void); + int main(void) { Modified: soc2014/pedrosouza/lua_loader/head/sys/boot/arm/at91/boot0spi/main.c ============================================================================== --- soc2014/pedrosouza/lua_loader/head/sys/boot/arm/at91/boot0spi/main.c Tue Aug 26 20:40:12 2014 (r273179) +++ soc2014/pedrosouza/lua_loader/head/sys/boot/arm/at91/boot0spi/main.c Tue Aug 26 21:26:56 2014 (r273180) @@ -31,7 +31,9 @@ #define OFFSET 0 -void +int main(void); + +int main(void) { int len, i, j, off, sec; @@ -59,4 +61,5 @@ continue; printf("Done\n"); reset(); + return (1); } Modified: soc2014/pedrosouza/lua_loader/head/sys/boot/arm/at91/boot2/boot2.c ============================================================================== --- soc2014/pedrosouza/lua_loader/head/sys/boot/arm/at91/boot2/boot2.c Tue Aug 26 20:40:12 2014 (r273179) +++ soc2014/pedrosouza/lua_loader/head/sys/boot/arm/at91/boot2/boot2.c Tue Aug 26 21:26:56 2014 (r273180) @@ -77,7 +77,7 @@ #define OPT_CHECK(opt) ((opts) & OPT_SET(opt)) static const char optstr[NOPT] = "agnrsv"; -static const unsigned char flags[NOPT] = { +static const unsigned char bootflags[NOPT] = { RBX_ASKNAME, RBX_GDB, RBX_NOINTR, @@ -93,6 +93,7 @@ static uint32_t opts; static uint8_t dsk_meta; +int main(void); static void load(void); static int parse(void); static int dskread(void *, unsigned, unsigned); @@ -190,6 +191,7 @@ else load(); } + return (1); } static void @@ -263,7 +265,7 @@ for (i = 0; c != optstr[i]; i++) if (i == NOPT - 1) return -1; - opts ^= OPT_SET(flags[i]); + opts ^= OPT_SET(bootflags[i]); } } else { arg--; Modified: soc2014/pedrosouza/lua_loader/head/sys/boot/arm/at91/bootiic/main.c ============================================================================== --- soc2014/pedrosouza/lua_loader/head/sys/boot/arm/at91/bootiic/main.c Tue Aug 26 20:40:12 2014 (r273179) +++ soc2014/pedrosouza/lua_loader/head/sys/boot/arm/at91/bootiic/main.c Tue Aug 26 21:26:56 2014 (r273180) @@ -28,6 +28,8 @@ #include "emac.h" #include "lib.h" +int main(void); + /* * .KB_C_FN_DEFINITION_START * int main(void) Modified: soc2014/pedrosouza/lua_loader/head/sys/boot/arm/at91/bootspi/main.c ============================================================================== --- soc2014/pedrosouza/lua_loader/head/sys/boot/arm/at91/bootspi/main.c Tue Aug 26 20:40:12 2014 (r273179) +++ soc2014/pedrosouza/lua_loader/head/sys/boot/arm/at91/bootspi/main.c Tue Aug 26 21:26:56 2014 (r273180) @@ -43,6 +43,8 @@ #include "spi_flash.h" #include "ee.h" +int main(void); + int main(void) { Modified: soc2014/pedrosouza/lua_loader/head/sys/boot/arm/at91/libat91/emac.c ============================================================================== --- soc2014/pedrosouza/lua_loader/head/sys/boot/arm/at91/libat91/emac.c Tue Aug 26 20:40:12 2014 (r273179) +++ soc2014/pedrosouza/lua_loader/head/sys/boot/arm/at91/libat91/emac.c Tue Aug 26 21:26:56 2014 (r273180) @@ -96,7 +96,8 @@ memcpy(p_ARP->target_ip, serverIPAddr, 4); // wait until transmit is available - while (!(*AT91C_EMAC_TSR & AT91C_EMAC_BNQ)) ; + while (!(*AT91C_EMAC_TSR & AT91C_EMAC_BNQ)) + continue; *AT91C_EMAC_TSR |= AT91C_EMAC_COMP; *AT91C_EMAC_TAR = (unsigned)transmitBuffer; @@ -157,7 +158,8 @@ udpHdr->udp_cksum = SWAP16(t_checksum); - while (!(*AT91C_EMAC_TSR & AT91C_EMAC_BNQ)) ; + while (!(*AT91C_EMAC_TSR & AT91C_EMAC_BNQ)) + continue; *AT91C_EMAC_TSR |= AT91C_EMAC_COMP; *AT91C_EMAC_TAR = (unsigned)tftpSendPacket; Modified: soc2014/pedrosouza/lua_loader/head/sys/boot/arm/at91/libat91/mci_device.h ============================================================================== --- soc2014/pedrosouza/lua_loader/head/sys/boot/arm/at91/libat91/mci_device.h Tue Aug 26 20:40:12 2014 (r273179) +++ soc2014/pedrosouza/lua_loader/head/sys/boot/arm/at91/libat91/mci_device.h Tue Aug 26 21:26:56 2014 (r273180) @@ -90,6 +90,8 @@ { volatile unsigned char state; unsigned char SDCard_bus_width; + unsigned char IsSDv2; + unsigned char IsSDHC; unsigned int RCA; // RCA unsigned int READ_BL_LEN; #ifdef REPORT_SIZE @@ -202,7 +204,9 @@ MMC_MAXLAT) #define GO_INACTIVE_STATE_CMD \ (15 | MMC_RSPTYP_NO) - +#define SD_SEND_IF_COND_CMD \ + (8 | MMC_TRCMD_NO | MMC_SPCMD_NONE | MMC_RSPTYP_48 | \ + MMC_MAXLAT) //*------------------------------------------------ //* Class 2 commands: Block oriented Read commands //*------------------------------------------------ @@ -264,7 +268,7 @@ #define SDCARD_STATUS_CMD (13 | MMC_SPCMD_NONE | MMC_RSPTYP_48 | MMC_TRCMD_NO | MMC_MAXLAT) #define SDCARD_SEND_NUM_WR_BLOCKS_CMD (22 | MMC_SPCMD_NONE | MMC_RSPTYP_48 | MMC_TRCMD_NO | MMC_MAXLAT) #define SDCARD_SET_WR_BLK_ERASE_COUNT_CMD (23 | MMC_SPCMD_NONE | MMC_RSPTYP_48 | MMC_TRCMD_NO | MMC_MAXLAT) -#define SDCARD_APP_OP_COND_CMD (41 | MMC_SPCMD_NONE | MMC_RSPTYP_48 | MMC_TRCMD_NO ) +#define SDCARD_APP_OP_COND_CMD (41 | MMC_SPCMD_NONE | MMC_RSPTYP_48 | MMC_TRCMD_NO | MMC_MAXLAT) #define SDCARD_SET_CLR_CARD_DETECT_CMD (42 | MMC_SPCMD_NONE | MMC_RSPTYP_48 | MMC_TRCMD_NO | MMC_MAXLAT) #define SDCARD_SEND_SCR_CMD (51 | MMC_SPCMD_NONE | MMC_RSPTYP_48 | MMC_TRCMD_NO | MMC_MAXLAT) @@ -306,7 +310,8 @@ #define AT91C_VDD_33_34 (1 << 21) #define AT91C_VDD_34_35 (1 << 22) #define AT91C_VDD_35_36 (1 << 23) -#define AT91C_CARD_POWER_UP_BUSY (1U << 31) +#define AT91C_CCS (1 << 30) +#define AT91C_CARD_POWER_UP_DONE (1U << 31) #define AT91C_MMC_HOST_VOLTAGE_RANGE (AT91C_VDD_27_28 | AT91C_VDD_28_29 | \ AT91C_VDD_29_30 | AT91C_VDD_30_31 | AT91C_VDD_31_32 | AT91C_VDD_32_33) Modified: soc2014/pedrosouza/lua_loader/head/sys/boot/arm/at91/libat91/sd-card.c ============================================================================== --- soc2014/pedrosouza/lua_loader/head/sys/boot/arm/at91/libat91/sd-card.c Tue Aug 26 20:40:12 2014 (r273179) +++ soc2014/pedrosouza/lua_loader/head/sys/boot/arm/at91/libat91/sd-card.c Tue Aug 26 21:26:56 2014 (r273180) @@ -47,35 +47,38 @@ #include "lib.h" #include "sd-card.h" -#define AT91C_MCI_TIMEOUT 1000000 /* For AT91F_MCIDeviceWaitReady */ -#define BUFFER_SIZE_MCI_DEVICE 512 -#define MASTER_CLOCK 60000000 +#define AT91C_MCI_TIMEOUT 1000000 /* For AT91F_MCIDeviceWaitReady */ +#define SD_BLOCK_SIZE 512 //* Global Variables -AT91S_MciDevice MCI_Device; -char Buffer[BUFFER_SIZE_MCI_DEVICE]; +static AT91S_MciDevice MCI_Device; /****************************************************************************** **Error return codes ******************************************************************************/ -#define MCI_UNSUPP_SIZE_ERROR 5 +#define MCI_UNSUPP_SIZE_ERROR 5 #define MCI_UNSUPP_OFFSET_ERROR 6 //*---------------------------------------------------------------------------- //* \fn MCIDeviceWaitReady //* \brief Wait for MCI Device ready //*---------------------------------------------------------------------------- -static void +static unsigned int MCIDeviceWaitReady(unsigned int timeout) { - volatile int status; - + volatile unsigned int status; + int waitfor; + + if (MCI_Device.state == AT91C_MCI_RX_SINGLE_BLOCK) + waitfor = AT91C_MCI_RXBUFF; + else + waitfor = AT91C_MCI_NOTBUSY; do { status = AT91C_BASE_MCI->MCI_SR; timeout--; } - while( !(status & AT91C_MCI_NOTBUSY) && (timeout>0) ); + while( !(status & waitfor) && (timeout>0) ); status = AT91C_BASE_MCI->MCI_SR; @@ -92,25 +95,39 @@ AT91C_BASE_PDC_MCI->PDC_PTCR = AT91C_PDC_RXTDIS; MCI_Device.state = AT91C_MCI_IDLE; } // End of if AT91C_MCI_RXBUFF + + //printf("WaitReady returning status %x\n", status); + + return status; } static inline unsigned int -swap(unsigned int a) +swap(unsigned int v) { - return (((a & 0xff) << 24) | ((a & 0xff00) << 8) | ((a & 0xff0000) >> 8) - | ((a & 0xff000000) >> 24)); + unsigned int t1; + + __asm __volatile("eor %1, %0, %0, ror #16\n" + "bic %1, %1, #0x00ff0000\n" + "mov %0, %0, ror #8\n" + "eor %0, %0, %1, lsr #8\n" + : "+r" (v), "=r" (t1)); + + return (v); } -static inline void +inline static unsigned int wait_ready() { int status; + int timeout = AT91C_MCI_TIMEOUT; // wait for CMDRDY Status flag to read the response do { status = AT91C_BASE_MCI->MCI_SR; - } while( !(status & AT91C_MCI_CMDRDY) ); + } while( !(status & AT91C_MCI_CMDRDY) && (--timeout > 0) ); + + return status; } //*---------------------------------------------------------------------------- @@ -122,18 +139,24 @@ unsigned int Cmd, unsigned int Arg) { - unsigned int error; + unsigned int error; + unsigned int errorMask = AT91C_MCI_SR_ERROR; + unsigned int opcode = Cmd & 0x3F; + + //printf("SendCmd %d (%x) arg %x\n", opcode, Cmd, Arg); + + // Don't check response CRC on ACMD41 (R3 response type). + + if (opcode == 41) + errorMask &= ~AT91C_MCI_RCRCE; AT91C_BASE_MCI->MCI_ARGR = Arg; AT91C_BASE_MCI->MCI_CMDR = Cmd; -// printf("CMDR %x ARG %x\n", Cmd, Arg); - wait_ready(); - // Test error ==> if crc error and response R3 ==> don't check error - error = (AT91C_BASE_MCI->MCI_SR) & AT91C_MCI_SR_ERROR; - if (error != 0) { - if (error != AT91C_MCI_RCRCE) - return (1); + error = wait_ready(); + + if ((error & errorMask) != 0) { + return (1); } return 0; } @@ -146,94 +169,98 @@ MCI_GetStatus() { if (MCI_SendCommand(SEND_STATUS_CMD, MCI_Device.RCA << 16)) - return AT91C_CMD_SEND_ERROR; + return 0; return (AT91C_BASE_MCI->MCI_RSPR[0]); + } //*---------------------------------------------------------------------------- //* \fn MCI_ReadBlock -//* \brief Read an ENTIRE block or PARTIAL block +//* \brief Start the read for a single 512-byte block //*---------------------------------------------------------------------------- static int -MCI_ReadBlock(int src, unsigned int *dataBuffer, int sizeToRead) +MCI_StartReadBlock(unsigned blknum, void *dataBuffer) { -// unsigned log2sl = MCI_Device.READ_BL_LEN; -// unsigned sectorLength = 1 << log2sl; - unsigned sectorLength = 512; - - /////////////////////////////////////////////////////////////////////// - if (MCI_Device.state != AT91C_MCI_IDLE) - return 1; - - if ((MCI_GetStatus() & AT91C_SR_READY_FOR_DATA) == 0) - return 1; - - /////////////////////////////////////////////////////////////////////// - // Init Mode Register - AT91C_BASE_MCI->MCI_MR |= ((sectorLength << 16) | AT91C_MCI_PDCMODE); + AT91C_BASE_MCI->MCI_MR |= ((SD_BLOCK_SIZE << 16) | AT91C_MCI_PDCMODE); - sizeToRead = sizeToRead / 4; - + // (PDC) Receiver Transfer Enable AT91C_BASE_PDC_MCI->PDC_PTCR = (AT91C_PDC_TXTDIS | AT91C_PDC_RXTDIS); AT91C_BASE_PDC_MCI->PDC_RPR = (unsigned int)dataBuffer; - AT91C_BASE_PDC_MCI->PDC_RCR = sizeToRead; + AT91C_BASE_PDC_MCI->PDC_RCR = SD_BLOCK_SIZE / 4;; + AT91C_BASE_PDC_MCI->PDC_PTCR = AT91C_PDC_RXTEN; + + // SDHC wants block offset, non-HC wants byte offset. + if (!MCI_Device.IsSDHC) + blknum *= SD_BLOCK_SIZE; // Send the Read single block command - if (MCI_SendCommand(READ_SINGLE_BLOCK_CMD, src)) + if (MCI_SendCommand(READ_SINGLE_BLOCK_CMD, blknum)) { return AT91C_READ_ERROR; + } MCI_Device.state = AT91C_MCI_RX_SINGLE_BLOCK; - // Enable AT91C_MCI_RXBUFF Interrupt - AT91C_BASE_MCI->MCI_IER = AT91C_MCI_RXBUFF; - - // (PDC) Receiver Transfer Enable - AT91C_BASE_PDC_MCI->PDC_PTCR = AT91C_PDC_RXTEN; - return 0; } +//*---------------------------------------------------------------------------- +//* \fn MCI_readblocks +//* \brief Read one or more blocks +//*---------------------------------------------------------------------------- int -MCI_read(char* dest, unsigned source, unsigned length) +MCI_readblocks(char* dest, unsigned blknum, unsigned blkcount) { -// unsigned log2sl = MCI_Device.READ_BL_LEN; -// unsigned sectorLength = 1 << log2sl; - unsigned sectorLength = 512; - int sizeToRead; + unsigned int status; unsigned int *walker; - //As long as there is data to read - while (length) - { - if (length > sectorLength) - sizeToRead = sectorLength; - else - sizeToRead = length; + if (MCI_Device.state != AT91C_MCI_IDLE) { + return 1; + } + + if ((MCI_GetStatus() & AT91C_SR_READY_FOR_DATA) == 0) { + return 1; + } - MCIDeviceWaitReady(AT91C_MCI_TIMEOUT); + // As long as there is data to read + while (blkcount) + { //Do the reading - if (MCI_ReadBlock(source, - (unsigned int*)dest, sizeToRead)) + if (MCI_StartReadBlock(blknum, dest)) return -1; - //* Wait MCI Device Ready - MCIDeviceWaitReady(AT91C_MCI_TIMEOUT); + // Wait MCI Device Ready + status = MCIDeviceWaitReady(AT91C_MCI_TIMEOUT); + if (status & AT91C_MCI_SR_ERROR) + return 1; - // Fix erratum in MCI part + // Fix erratum in MCI part - endian-swap all data. for (walker = (unsigned int *)dest; - walker < (unsigned int *)(dest + sizeToRead); walker++) + walker < (unsigned int *)(dest + SD_BLOCK_SIZE); walker++) *walker = swap(*walker); - //Update counters & pointers - length -= sizeToRead; - dest += sizeToRead; - source += sizeToRead; + // Update counters & pointers + ++blknum; + --blkcount; + dest += SD_BLOCK_SIZE; } + return 0; } //*---------------------------------------------------------------------------- +//* \fn MCI_read +//* \brief Legacy read function, takes byte offset and length but was always +//* used to read full blocks; interface preserved for existing boot code. +//*---------------------------------------------------------------------------- +int +MCI_read(char* dest, unsigned byteoffset, unsigned length) +{ + return MCI_readblocks(dest, + byteoffset/SD_BLOCK_SIZE, length/SD_BLOCK_SIZE); +} + +//*---------------------------------------------------------------------------- //* \fn MCI_SDCard_SendAppCommand //* \brief Specific function to send a specific command to the SDCard //*---------------------------------------------------------------------------- @@ -242,15 +269,11 @@ unsigned int Cmd_App, unsigned int Arg) { - // Send the CMD55 for application specific command - AT91C_BASE_MCI->MCI_ARGR = (MCI_Device.RCA << 16 ); - AT91C_BASE_MCI->MCI_CMDR = APP_CMD; - - wait_ready(); - // if an error occurs - if (AT91C_BASE_MCI->MCI_SR & AT91C_MCI_SR_ERROR) - return (1); - return (MCI_SendCommand(Cmd_App,Arg)); + int status; + + if ((status = MCI_SendCommand(APP_CMD, (MCI_Device.RCA << 16))) == 0) + status = MCI_SendCommand(Cmd_App,Arg); + return status; } //*---------------------------------------------------------------------------- @@ -260,12 +283,11 @@ static int MCI_GetCSD(unsigned int rca, unsigned int *response) { - - if (MCI_SendCommand(SEND_CSD_CMD, (rca << 16))) + if (MCI_SendCommand(SEND_CSD_CMD, (rca << 16))) return 1; response[0] = AT91C_BASE_MCI->MCI_RSPR[0]; - response[1] = AT91C_BASE_MCI->MCI_RSPR[1]; + response[1] = AT91C_BASE_MCI->MCI_RSPR[1]; response[2] = AT91C_BASE_MCI->MCI_RSPR[2]; response[3] = AT91C_BASE_MCI->MCI_RSPR[3]; @@ -274,22 +296,64 @@ //*---------------------------------------------------------------------------- //* \fn MCI_SDCard_GetOCR -//* \brief Asks to all cards to send their operations conditions +//* \brief Wait for card to power up and determine whether it's SDHC or not. //*---------------------------------------------------------------------------- static int MCI_SDCard_GetOCR() { - unsigned int response=0x0; + unsigned int response; + unsigned int arg = AT91C_MMC_HOST_VOLTAGE_RANGE; + int timeout = AT91C_MCI_TIMEOUT; + + // Force card to idle state. + + MCI_SendCommand(GO_IDLE_STATE_CMD, AT91C_NO_ARGUMENT); + + // Begin probe for SDHC by sending CMD8; only v2.0 cards respond to it. + // + // Arg is vvpp where vv is voltage range and pp is an arbitrary bit + // pattern that gets echoed back in the response. The only voltage + // ranges defined are: + // 0x01 = 2.7 - 3.6 + // 0x02 = "reserved for low voltage" whatever that means. + // + // If the card fails to respond then it's not v2.0. If it responds by + // echoing back exactly the arg we sent, then it's a v2.0 card and can + // run at our voltage. That means that when we send the ACMD41 (in + // MCI_SDCard_GetOCR) we can include the HCS bit to inquire about SDHC. + + if (MCI_SendCommand(SD_SEND_IF_COND_CMD, 0x01AA) == 0) { + MCI_Device.IsSDv2 = (AT91C_BASE_MCI->MCI_RSPR[0] == 0x01AA); + } + + // If we've determined the card supports v2.0 functionality, set the + // HCS/CCS bit to indicate that we support SDHC. This will cause a + // v2.0 card to report whether it is SDHC in the ACMD41 response. + + if (MCI_Device.IsSDv2) { + arg |= AT91C_CCS; + } + + // The RCA to be used for CMD55 in Idle state shall be the card's + // default RCA=0x0000. - // The RCA to be used for CMD55 in Idle state shall be the card's default RCA=0x0000. MCI_Device.RCA = 0x0; - - while( (response & AT91C_CARD_POWER_UP_BUSY) != AT91C_CARD_POWER_UP_BUSY ) { - if (MCI_SDCard_SendAppCommand(SDCARD_APP_OP_COND_CMD, - AT91C_MMC_HOST_VOLTAGE_RANGE)) + + // Repeat ACMD41 until the card comes out of power-up-busy state. + + do { + if (MCI_SDCard_SendAppCommand(SDCARD_APP_OP_COND_CMD, arg)) { return 1; + } response = AT91C_BASE_MCI->MCI_RSPR[0]; + } while (!(response & AT91C_CARD_POWER_UP_DONE) && (--timeout > 0)); + + // A v2.0 card sets CCS (card capacity status) in the response if it's SDHC. + + if (MCI_Device.IsSDv2) { + MCI_Device.IsSDHC = ((response & AT91C_CCS) == AT91C_CCS); } + return (0); } @@ -304,7 +368,7 @@ return 1; response[0] = AT91C_BASE_MCI->MCI_RSPR[0]; - response[1] = AT91C_BASE_MCI->MCI_RSPR[1]; + response[1] = AT91C_BASE_MCI->MCI_RSPR[1]; response[2] = AT91C_BASE_MCI->MCI_RSPR[2]; response[3] = AT91C_BASE_MCI->MCI_RSPR[3]; @@ -312,47 +376,62 @@ } //*---------------------------------------------------------------------------- -//* \fn MCI_SDCard_SetBusWidth -//* \brief Set bus width for SDCard +//* \fn sdcard_4wire +//* \brief Set bus width to 1-bit or 4-bit according to the parm. +//* +//* Unlike most functions in this file, the return value from this one is +//* bool-ish; returns 0 on failure, 1 on success. //*---------------------------------------------------------------------------- -static int -MCI_SDCard_SetBusWidth() +int +sdcard_use4wire(int use4wire) { volatile int ret_value; - char bus_width; do { ret_value=MCI_GetStatus(); } while((ret_value > 0) && ((ret_value & AT91C_SR_READY_FOR_DATA) == 0)); - // Select Card - MCI_SendCommand(SEL_DESEL_CARD_CMD, (MCI_Device.RCA)<<16); + // If going to 4-wire mode, ask the card to turn off the DAT3 card detect + // pullup resistor, if going to 1-wire ask it to turn it back on. - // Set bus width for Sdcard - if (MCI_Device.SDCard_bus_width == AT91C_MCI_SCDBUS) - bus_width = AT91C_BUS_WIDTH_4BITS; - else - bus_width = AT91C_BUS_WIDTH_1BIT; + ret_value = MCI_SDCard_SendAppCommand(SDCARD_SET_CLR_CARD_DETECT_CMD, + use4wire ? 0 : 1); + if (ret_value != AT91C_CMD_SEND_OK) + return 0; - if (MCI_SDCard_SendAppCommand( - SDCARD_SET_BUS_WIDTH_CMD,bus_width) != AT91C_CMD_SEND_OK) - return 1; + // Ask the card to go into the requested mode. - return 0; + ret_value = MCI_SDCard_SendAppCommand(SDCARD_SET_BUS_WIDTH_CMD, + use4wire ? AT91C_BUS_WIDTH_4BITS : + AT91C_BUS_WIDTH_1BIT); + if (ret_value != AT91C_CMD_SEND_OK) + return 0; + + // Set the MCI device to match the mode we set in the card. + + if (use4wire) { + MCI_Device.SDCard_bus_width = AT91C_BUS_WIDTH_4BITS; + AT91C_BASE_MCI->MCI_SDCR |= AT91C_MCI_SCDBUS; + } else { + MCI_Device.SDCard_bus_width = AT91C_BUS_WIDTH_1BIT; + AT91C_BASE_MCI->MCI_SDCR &= ~AT91C_MCI_SCDBUS; + } + + return 1; } //*---------------------------------------------------------------------------- -//* \fn main -//* \brief main function +//* \fn sdcard_init +//* \brief get the mci device ready to read from an SD or SDHC card. +//* +//* Unlike most functions in this file, the return value from this one is +//* bool-ish; returns 0 on failure, 1 on success. //*---------------------------------------------------------------------------- int sdcard_init(void) { unsigned int tab_response[4]; -#ifdef REPORT_SIZE - unsigned int mult,blocknr; -#endif int i; // Init MCI for MMC and SDCard interface @@ -362,51 +441,77 @@ // Init Device Structure MCI_Device.state = AT91C_MCI_IDLE; - MCI_Device.SDCard_bus_width = AT91C_MCI_SCDBUS; + MCI_Device.SDCard_bus_width = 0; + MCI_Device.IsSDv2 = 0; + MCI_Device.IsSDHC = 0; + + // Reset the MCI and set the bus speed. + // Using MCK/230 gives a legal (under 400khz) bus speed for the card id + // sequence for all reasonable master clock speeds. - //* Reset the MCI - AT91C_BASE_MCI->MCI_CR = AT91C_MCI_MCIEN | AT91C_MCI_PWSEN; + AT91C_BASE_MCI->MCI_CR = AT91C_MCI_MCIDIS | 0x80; AT91C_BASE_MCI->MCI_IDR = 0xFFFFFFFF; AT91C_BASE_MCI->MCI_DTOR = AT91C_MCI_DTOR_1MEGA_CYCLES; - AT91C_BASE_MCI->MCI_MR = AT91C_MCI_PDCMODE; - AT91C_BASE_MCI->MCI_SDCR = AT91C_MCI_SDCARD_4BITS_SLOTA; - MCI_SendCommand(GO_IDLE_STATE_CMD, AT91C_NO_ARGUMENT); + AT91C_BASE_MCI->MCI_MR = AT91C_MCI_PDCMODE | 114; /* clkdiv 114 = MCK/230 */ + AT91C_BASE_MCI->MCI_SDCR = AT91C_MCI_MMC_SLOTA; + AT91C_BASE_MCI->MCI_CR = AT91C_MCI_MCIEN|AT91C_MCI_PWSEN; + + // Wait for the card to come out of power-up-busy state by repeatedly + // sending ACMD41. This also probes for SDHC versus standard cards. for (i = 0; i < 100; i++) { - if (!MCI_SDCard_GetOCR(&MCI_Device)) + if (MCI_SDCard_GetOCR() == 0) break; - printf("."); + if ((i & 0x01) == 0) { + printf("."); + } } if (i >= 100) return 0; + if (MCI_SDCard_GetCID(tab_response)) return 0; + + // Tell the card to set its address, and remember the result. + if (MCI_SendCommand(SET_RELATIVE_ADDR_CMD, 0)) return 0; - MCI_Device.RCA = (AT91C_BASE_MCI->MCI_RSPR[0] >> 16); + + // After sending CMD3 (set addr) we can increase the clock to full speed. + // Using MCK/4 gives a legal (under 25mhz) bus speed for all reasonable + // master clock speeds. + + AT91C_BASE_MCI->MCI_MR = AT91C_MCI_PDCMODE | 1; /* clkdiv 1 = MCK/4 */ + if (MCI_GetCSD(MCI_Device.RCA,tab_response)) return 0; MCI_Device.READ_BL_LEN = (tab_response[1] >> CSD_1_RD_B_LEN_S) & CSD_1_RD_B_LEN_M; + #ifdef REPORT_SIZE - // compute MULT - mult = 1 << ( ((tab_response[2] >> CSD_2_C_SIZE_M_S) & - CSD_2_C_SIZE_M_M) + 2 ); - // compute MSB of C_SIZE - blocknr = ((tab_response[1] >> CSD_1_CSIZE_H_S) & - CSD_1_CSIZE_H_M) << 2; - // compute MULT * (LSB of C-SIZE + MSB already computed + 1) = BLOCKNR - blocknr = mult * ((blocknr + ((tab_response[2] >> CSD_2_CSIZE_L_S) & - CSD_2_CSIZE_L_M)) + 1); - MCI_Device.Memory_Capacity = (1 << MCI_Device.READ_BL_LEN) * blocknr; + { + unsigned int mult,blocknr; + // compute MULT + mult = 1 << ( ((tab_response[2] >> CSD_2_C_SIZE_M_S) & + CSD_2_C_SIZE_M_M) + 2 ); + // compute MSB of C_SIZE + blocknr = ((tab_response[1] >> CSD_1_CSIZE_H_S) & + CSD_1_CSIZE_H_M) << 2; + // compute MULT * (LSB of C-SIZE + MSB already computed + 1) = BLOCKNR + blocknr = mult * ((blocknr + ((tab_response[2] >> CSD_2_CSIZE_L_S) & + CSD_2_CSIZE_L_M)) + 1); + MCI_Device.Memory_Capacity = (1 << MCI_Device.READ_BL_LEN) * blocknr; + printf("Found SD card %u bytes\n", MCI_Device.Memory_Capacity); + } #endif - if (MCI_SDCard_SetBusWidth()) + + // Select card and set block length for following transfers. + + if (MCI_SendCommand(SEL_DESEL_CARD_CMD, (MCI_Device.RCA)<<16)) return 0; - if (MCI_SendCommand(SET_BLOCKLEN_CMD, 1 << MCI_Device.READ_BL_LEN)) + if (MCI_SendCommand(SET_BLOCKLEN_CMD, SD_BLOCK_SIZE)) return 0; -#ifdef REPORT_SIZE - printf("Found SD card %u bytes\n", MCI_Device.Memory_Capacity); -#endif + return 1; } Modified: soc2014/pedrosouza/lua_loader/head/sys/boot/arm/at91/libat91/sd-card.h ============================================================================== --- soc2014/pedrosouza/lua_loader/head/sys/boot/arm/at91/libat91/sd-card.h Tue Aug 26 20:40:12 2014 (r273179) +++ soc2014/pedrosouza/lua_loader/head/sys/boot/arm/at91/libat91/sd-card.h Tue Aug 26 21:26:56 2014 (r273180) @@ -30,9 +30,35 @@ #ifndef __SD_CARD_H #define __SD_CARD_H -int MCI_write (unsigned dest, char* source, unsigned length); -int MCI_read (char* dest, unsigned source, unsigned length); +/* MCI_read() is the original read function, taking a byte offset and byte + * count. It is preserved to support existing customized boot code that still + * refers to it; it will work fine even on SDHC cards as long as the kernel and + * the metadata for locating it all exist within the first 4GB of the card. + * + * MCI_readblocks() is the new read function, taking offset and length in terms + * of block counts (where the SD spec defines a block as 512 bytes), allowing + * the kernel and filesystem metadata to be located anywhere on an SDHC card. + * + * Returns 0 on success, non-zero on failure. + */ + +int MCI_read (char* dest, unsigned bytenum, unsigned length); +int MCI_readblocks (char* dest, unsigned blknum, unsigned blkcount); + +/* sdcard_init() - get things set up to read from an SD or SDHC card. + * + * Returns 0 on failure, non-zero on success. + */ + int sdcard_init(void); +/* By default sdcard_init() sets things up for a 1-wire interface to the + * SD card. Calling sdcard_4wire(true) after sdcard_init() allows customized + * boot code to change to 4-bit transfers when the hardware supports it. + * + * Returns 0 on failure, non-zero on success. + */ +int sdcard_use4wire(int use4wire); + #endif Modified: soc2014/pedrosouza/lua_loader/head/sys/boot/arm/uboot/Makefile ============================================================================== --- soc2014/pedrosouza/lua_loader/head/sys/boot/arm/uboot/Makefile Tue Aug 26 20:40:12 2014 (r273179) +++ soc2014/pedrosouza/lua_loader/head/sys/boot/arm/uboot/Makefile Tue Aug 26 21:26:56 2014 (r273180) @@ -84,6 +84,7 @@ #Lua .if ${MK_LUA} != "no" +BOOT_LUA= yes CFLAGS+= -DBOOT_LUA -I${.CURDIR}/../../../lua/src LIBLUA= ${.OBJDIR}/../../lua/liblua.a .endif Modified: soc2014/pedrosouza/lua_loader/head/sys/boot/common/Makefile.inc ============================================================================== --- soc2014/pedrosouza/lua_loader/head/sys/boot/common/Makefile.inc Tue Aug 26 20:40:12 2014 (r273179) +++ soc2014/pedrosouza/lua_loader/head/sys/boot/common/Makefile.inc Tue Aug 26 21:26:56 2014 (r273180) @@ -79,4 +79,9 @@ CFLAGS+= -DBOOT_PROMPT_123 .endif +.if defined(LOADER_INSTALL_SUPPORT) +SRCS+= install.c +CFLAGS+=-I${.CURDIR}/../../../../lib/libstand +.endif + MAN+= loader.8 Modified: soc2014/pedrosouza/lua_loader/head/sys/boot/common/bootstrap.h ============================================================================== --- soc2014/pedrosouza/lua_loader/head/sys/boot/common/bootstrap.h Tue Aug 26 20:40:12 2014 (r273179) +++ soc2014/pedrosouza/lua_loader/head/sys/boot/common/bootstrap.h Tue Aug 26 21:26:56 2014 (r273180) @@ -59,7 +59,7 @@ #define CMD_ERROR 1 /* interp.c */ -void interact(void); +void interact(const char *rc); int include(const char *filename); /* interp_backslash.c */ @@ -69,7 +69,7 @@ int parse(int *argc, char ***argv, char *str); /* interp_forth.c */ -void bf_init(void); +void bf_init(const char *rc); int bf_run(char *line); /* boot.c */ @@ -229,6 +229,7 @@ int mod_load(char *name, struct mod_depend *verinfo, int argc, char *argv[]); int mod_loadkld(const char *name, int argc, char *argv[]); +void unload(void); struct preloaded_file *file_alloc(void); struct preloaded_file *file_findfile(char *name, char *type); Copied: soc2014/pedrosouza/lua_loader/head/sys/boot/common/install.c (from r273173, mirror/FreeBSD/head/sys/boot/common/install.c) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ soc2014/pedrosouza/lua_loader/head/sys/boot/common/install.c Tue Aug 26 21:26:56 2014 (r273180, copy of r273173, mirror/FreeBSD/head/sys/boot/common/install.c) @@ -0,0 +1,339 @@ +/*- + * Copyright (c) 2008-2014, Juniper Networks, Inc. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 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 ``AS IS'' AND ANY EXPRESS OR + * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES + * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. + * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, + * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED + * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, + * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +#include +__FBSDID("$FreeBSD$"); + +#include +#include +#include +#include +#include + +#include +#include +#include + +#include "bootstrap.h" + +extern struct in_addr rootip; +extern struct in_addr servip; + +extern int pkgfs_init(const char *, struct fs_ops *); +extern void pkgfs_cleanup(void); + +COMMAND_SET(install, "install", "install software package", command_install); + +static char *inst_kernel; +static char **inst_modules; +static char *inst_rootfs; + +static int +setpath(char **what, char *val) +{ + char *path; + size_t len; + int rel; + + len = strlen(val) + 1; + rel = (val[0] != '/') ? 1 : 0; + path = malloc(len + rel); + if (path == NULL) + return (ENOMEM); + path[0] = '/'; + strcpy(path + rel, val); + + *what = path; + return (0); +} + +static int +setmultipath(char ***what, char *val) +{ + char *s, *v; + int count, error, idx; + + count = 0; + v = val; + do { + count++; + s = strchr(v, ','); + v = (s == NULL) ? NULL : s + 1; + } while (v != NULL); + + *what = calloc(count + 1, sizeof(char *)); + if (*what == NULL) + return (ENOMEM); + + for (idx = 0; idx < count; idx++) { + s = strchr(val, ','); + if (s != NULL) + *s++ = '\0'; + error = setpath(*what + idx, val); + if (error) + return (error); + val = s; + } + + return (0); +} + +static int +read_metatags(int fd) +{ + char buf[1024]; + char *p, *tag, *val; + ssize_t fsize; + int error; + + fsize = read(fd, buf, sizeof(buf)); + if (fsize == -1) + return (errno); + + /* + * Assume that if we read a whole buffer worth of data, we + * haven't read the entire file. In other words, the buffer + * size must always be larger than the file size. That way + * we can append a '\0' and use standard string operations. + * Return an error if this is not possible. + */ + if (fsize == sizeof(buf)) + return (ENOMEM); + + buf[fsize] = '\0'; + error = 0; + tag = buf; + while (!error && *tag != '\0') { + val = strchr(tag, '='); + if (val == NULL) { + error = EINVAL; *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-soc-all@FreeBSD.ORG Tue Aug 26 21:44:21 2014 Return-Path: Delivered-To: svn-soc-all@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 45EC3D31 for ; Tue, 26 Aug 2014 21:44:21 +0000 (UTC) Received: from socsvn.freebsd.org (socsvn.freebsd.org [IPv6:2001:1900:2254:206a::50:2]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 12371325B for ; Tue, 26 Aug 2014 21:44:21 +0000 (UTC) Received: from socsvn.freebsd.org ([127.0.1.124]) by socsvn.freebsd.org (8.14.9/8.14.9) with ESMTP id s7QLiLeP072094 for ; Tue, 26 Aug 2014 21:44:21 GMT (envelope-from pedrosouza@FreeBSD.org) Received: (from www@localhost) by socsvn.freebsd.org (8.14.9/8.14.9/Submit) id s7QLiDKP071993 for svn-soc-all@FreeBSD.org; Tue, 26 Aug 2014 21:44:13 GMT (envelope-from pedrosouza@FreeBSD.org) Date: Tue, 26 Aug 2014 21:44:13 GMT Message-Id: <201408262144.s7QLiDKP071993@socsvn.freebsd.org> X-Authentication-Warning: socsvn.freebsd.org: www set sender to pedrosouza@FreeBSD.org using -f From: pedrosouza@FreeBSD.org To: svn-soc-all@FreeBSD.org Subject: socsvn commit: r273181 - in soc2014/pedrosouza/lua_loader/head: . bin/csh bin/date/tests bin/ed bin/ls bin/pkill/tests bin/ps bin/rmail bin/sh bin/sh/tests bin/sh/tests/builtins bin/sh/tests/errors... MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-soc-all@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: SVN commit messages for the entire Summer of Code repository List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 26 Aug 2014 21:44:21 -0000 Author: pedrosouza Date: Tue Aug 26 21:44:11 2014 New Revision: 273181 URL: http://svnweb.FreeBSD.org/socsvn/?view=rev&rev=273181 Log: merge head into lua_loader Added: soc2014/pedrosouza/lua_loader/head/bin/date/tests/format_string_test.sh - copied unchanged from r273173, mirror/FreeBSD/head/bin/date/tests/format_string_test.sh soc2014/pedrosouza/lua_loader/head/bin/sh/tests/builtins/break6.0 - copied unchanged from r273173, mirror/FreeBSD/head/bin/sh/tests/builtins/break6.0 soc2014/pedrosouza/lua_loader/head/bin/sh/tests/expansion/arith14.0 - copied unchanged from r273173, mirror/FreeBSD/head/bin/sh/tests/expansion/arith14.0 soc2014/pedrosouza/lua_loader/head/bin/sh/tests/functional_test.sh - copied unchanged from r273173, mirror/FreeBSD/head/bin/sh/tests/functional_test.sh soc2014/pedrosouza/lua_loader/head/contrib/libucl/ChangeLog.md - copied unchanged from r273173, mirror/FreeBSD/head/contrib/libucl/ChangeLog.md soc2014/pedrosouza/lua_loader/head/contrib/libucl/src/ucl_emitter_streamline.c - copied unchanged from r273173, mirror/FreeBSD/head/contrib/libucl/src/ucl_emitter_streamline.c soc2014/pedrosouza/lua_loader/head/contrib/libucl/src/ucl_emitter_utils.c - copied unchanged from r273173, mirror/FreeBSD/head/contrib/libucl/src/ucl_emitter_utils.c soc2014/pedrosouza/lua_loader/head/contrib/libucl/tests/basic/11.in - copied unchanged from r273173, mirror/FreeBSD/head/contrib/libucl/tests/basic/11.in soc2014/pedrosouza/lua_loader/head/contrib/libucl/tests/basic/11.res - copied unchanged from r273173, mirror/FreeBSD/head/contrib/libucl/tests/basic/11.res soc2014/pedrosouza/lua_loader/head/contrib/libucl/tests/streamline.res - copied unchanged from r273173, mirror/FreeBSD/head/contrib/libucl/tests/streamline.res soc2014/pedrosouza/lua_loader/head/contrib/libucl/tests/streamline.test - copied unchanged from r273173, mirror/FreeBSD/head/contrib/libucl/tests/streamline.test soc2014/pedrosouza/lua_loader/head/contrib/libucl/tests/test_streamline.c - copied unchanged from r273173, mirror/FreeBSD/head/contrib/libucl/tests/test_streamline.c soc2014/pedrosouza/lua_loader/head/contrib/llvm/patches/patch-r270147-llvm-r197824-r213427-r213960.diff - copied unchanged from r273173, mirror/FreeBSD/head/contrib/llvm/patches/patch-r270147-llvm-r197824-r213427-r213960.diff soc2014/pedrosouza/lua_loader/head/contrib/subversion/subversion/include/private/svn_cert.h - copied unchanged from r273173, mirror/FreeBSD/head/contrib/subversion/subversion/include/private/svn_cert.h soc2014/pedrosouza/lua_loader/head/crypto/openssl/doc/ssl/SSL_CTX_set_tlsext_ticket_key_cb.pod - copied unchanged from r273173, mirror/FreeBSD/head/crypto/openssl/doc/ssl/SSL_CTX_set_tlsext_ticket_key_cb.pod soc2014/pedrosouza/lua_loader/head/crypto/openssl/ssl/ssl_utst.c - copied unchanged from r273173, mirror/FreeBSD/head/crypto/openssl/ssl/ssl_utst.c soc2014/pedrosouza/lua_loader/head/etc/auto_master - copied unchanged from r273173, mirror/FreeBSD/head/etc/auto_master soc2014/pedrosouza/lua_loader/head/etc/autofs/ - copied from r273173, mirror/FreeBSD/head/etc/autofs/ soc2014/pedrosouza/lua_loader/head/etc/rc.d/automount - copied unchanged from r273173, mirror/FreeBSD/head/etc/rc.d/automount soc2014/pedrosouza/lua_loader/head/etc/rc.d/automountd - copied unchanged from r273173, mirror/FreeBSD/head/etc/rc.d/automountd soc2014/pedrosouza/lua_loader/head/etc/rc.d/autounmountd - copied unchanged from r273173, mirror/FreeBSD/head/etc/rc.d/autounmountd soc2014/pedrosouza/lua_loader/head/lib/libc/arm/aeabi/aeabi_unwind_exidx.c - copied unchanged from r273173, mirror/FreeBSD/head/lib/libc/arm/aeabi/aeabi_unwind_exidx.c soc2014/pedrosouza/lua_loader/head/lib/libc/md/ - copied from r273173, mirror/FreeBSD/head/lib/libc/md/ soc2014/pedrosouza/lua_loader/head/lib/libmp/tests/ - copied from r273173, mirror/FreeBSD/head/lib/libmp/tests/ soc2014/pedrosouza/lua_loader/head/lib/libnv/tests/ - copied from r273173, mirror/FreeBSD/head/lib/libnv/tests/ soc2014/pedrosouza/lua_loader/head/lib/libohash/ - copied from r273173, mirror/FreeBSD/head/lib/libohash/ soc2014/pedrosouza/lua_loader/head/lib/libstand/pkgfs.c - copied unchanged from r273173, mirror/FreeBSD/head/lib/libstand/pkgfs.c soc2014/pedrosouza/lua_loader/head/lib/libutil/tests/ - copied from r273173, mirror/FreeBSD/head/lib/libutil/tests/ soc2014/pedrosouza/lua_loader/head/sbin/devd/tests/ - copied from r273173, mirror/FreeBSD/head/sbin/devd/tests/ soc2014/pedrosouza/lua_loader/head/sbin/ifconfig/sfp.c - copied unchanged from r273173, mirror/FreeBSD/head/sbin/ifconfig/sfp.c soc2014/pedrosouza/lua_loader/head/secure/lib/libssl/man/SSL_CTX_set_tlsext_ticket_key_cb.3 - copied unchanged from r273173, mirror/FreeBSD/head/secure/lib/libssl/man/SSL_CTX_set_tlsext_ticket_key_cb.3 soc2014/pedrosouza/lua_loader/head/share/dtrace/disklatency - copied unchanged from r273173, mirror/FreeBSD/head/share/dtrace/disklatency soc2014/pedrosouza/lua_loader/head/share/dtrace/disklatencycmd - copied unchanged from r273173, mirror/FreeBSD/head/share/dtrace/disklatencycmd soc2014/pedrosouza/lua_loader/head/share/examples/hwpmc/Makefile - copied unchanged from r273173, mirror/FreeBSD/head/share/examples/hwpmc/Makefile soc2014/pedrosouza/lua_loader/head/share/examples/hwpmc/overhead.c - copied unchanged from r273173, mirror/FreeBSD/head/share/examples/hwpmc/overhead.c soc2014/pedrosouza/lua_loader/head/share/man/man5/autofs.5 - copied unchanged from r273173, mirror/FreeBSD/head/share/man/man5/autofs.5 soc2014/pedrosouza/lua_loader/head/share/man/man9/PCBGROUP.9 - copied unchanged from r273173, mirror/FreeBSD/head/share/man/man9/PCBGROUP.9 soc2014/pedrosouza/lua_loader/head/share/man/man9/pmap_protect.9 - copied unchanged from r273173, mirror/FreeBSD/head/share/man/man9/pmap_protect.9 soc2014/pedrosouza/lua_loader/head/share/man/man9/pmap_unwire.9 - copied unchanged from r273173, mirror/FreeBSD/head/share/man/man9/pmap_unwire.9 soc2014/pedrosouza/lua_loader/head/share/mk/src.libnames.mk - copied unchanged from r273173, mirror/FreeBSD/head/share/mk/src.libnames.mk soc2014/pedrosouza/lua_loader/head/share/vt/keymaps/INDEX.keymaps - copied unchanged from r273173, mirror/FreeBSD/head/share/vt/keymaps/INDEX.keymaps soc2014/pedrosouza/lua_loader/head/share/vt/keymaps/am.kbd - copied unchanged from r273173, mirror/FreeBSD/head/share/vt/keymaps/am.kbd soc2014/pedrosouza/lua_loader/head/share/vt/keymaps/be.acc.kbd - copied unchanged from r273173, mirror/FreeBSD/head/share/vt/keymaps/be.acc.kbd soc2014/pedrosouza/lua_loader/head/share/vt/keymaps/be.kbd - copied unchanged from r273173, mirror/FreeBSD/head/share/vt/keymaps/be.kbd soc2014/pedrosouza/lua_loader/head/share/vt/keymaps/bg.bds.kbd - copied unchanged from r273173, mirror/FreeBSD/head/share/vt/keymaps/bg.bds.kbd soc2014/pedrosouza/lua_loader/head/share/vt/keymaps/bg.phonetic.kbd - copied unchanged from r273173, mirror/FreeBSD/head/share/vt/keymaps/bg.phonetic.kbd soc2014/pedrosouza/lua_loader/head/share/vt/keymaps/br.kbd - copied unchanged from r273173, mirror/FreeBSD/head/share/vt/keymaps/br.kbd soc2014/pedrosouza/lua_loader/head/share/vt/keymaps/br.noacc.kbd - copied unchanged from r273173, mirror/FreeBSD/head/share/vt/keymaps/br.noacc.kbd soc2014/pedrosouza/lua_loader/head/share/vt/keymaps/by.kbd - copied unchanged from r273173, mirror/FreeBSD/head/share/vt/keymaps/by.kbd soc2014/pedrosouza/lua_loader/head/share/vt/keymaps/ca-fr.kbd - copied unchanged from r273173, mirror/FreeBSD/head/share/vt/keymaps/ca-fr.kbd soc2014/pedrosouza/lua_loader/head/share/vt/keymaps/ca.kbd - copied unchanged from r273173, mirror/FreeBSD/head/share/vt/keymaps/ca.kbd soc2014/pedrosouza/lua_loader/head/share/vt/keymaps/centraleuropean.kbd - copied unchanged from r273173, mirror/FreeBSD/head/share/vt/keymaps/centraleuropean.kbd soc2014/pedrosouza/lua_loader/head/share/vt/keymaps/centraleuropean.qwerty.kbd - copied unchanged from r273173, mirror/FreeBSD/head/share/vt/keymaps/centraleuropean.qwerty.kbd soc2014/pedrosouza/lua_loader/head/share/vt/keymaps/ch-fr.acc.kbd - copied unchanged from r273173, mirror/FreeBSD/head/share/vt/keymaps/ch-fr.acc.kbd soc2014/pedrosouza/lua_loader/head/share/vt/keymaps/ch-fr.kbd - copied unchanged from r273173, mirror/FreeBSD/head/share/vt/keymaps/ch-fr.kbd soc2014/pedrosouza/lua_loader/head/share/vt/keymaps/ch.acc.kbd - copied unchanged from r273173, mirror/FreeBSD/head/share/vt/keymaps/ch.acc.kbd soc2014/pedrosouza/lua_loader/head/share/vt/keymaps/ch.kbd - copied unchanged from r273173, mirror/FreeBSD/head/share/vt/keymaps/ch.kbd soc2014/pedrosouza/lua_loader/head/share/vt/keymaps/ch.macbook.acc.kbd - copied unchanged from r273173, mirror/FreeBSD/head/share/vt/keymaps/ch.macbook.acc.kbd soc2014/pedrosouza/lua_loader/head/share/vt/keymaps/colemak.acc.kbd - copied unchanged from r273173, mirror/FreeBSD/head/share/vt/keymaps/colemak.acc.kbd soc2014/pedrosouza/lua_loader/head/share/vt/keymaps/cz.kbd - copied unchanged from r273173, mirror/FreeBSD/head/share/vt/keymaps/cz.kbd soc2014/pedrosouza/lua_loader/head/share/vt/keymaps/de.acc.kbd - copied unchanged from r273173, mirror/FreeBSD/head/share/vt/keymaps/de.acc.kbd soc2014/pedrosouza/lua_loader/head/share/vt/keymaps/de.kbd - copied unchanged from r273173, mirror/FreeBSD/head/share/vt/keymaps/de.kbd soc2014/pedrosouza/lua_loader/head/share/vt/keymaps/de.noacc.kbd - copied unchanged from r273173, mirror/FreeBSD/head/share/vt/keymaps/de.noacc.kbd soc2014/pedrosouza/lua_loader/head/share/vt/keymaps/dk.acc.kbd - copied unchanged from r273173, mirror/FreeBSD/head/share/vt/keymaps/dk.acc.kbd soc2014/pedrosouza/lua_loader/head/share/vt/keymaps/dk.kbd - copied unchanged from r273173, mirror/FreeBSD/head/share/vt/keymaps/dk.kbd soc2014/pedrosouza/lua_loader/head/share/vt/keymaps/dk.macbook.kbd - copied unchanged from r273173, mirror/FreeBSD/head/share/vt/keymaps/dk.macbook.kbd soc2014/pedrosouza/lua_loader/head/share/vt/keymaps/ee.kbd - copied unchanged from r273173, mirror/FreeBSD/head/share/vt/keymaps/ee.kbd soc2014/pedrosouza/lua_loader/head/share/vt/keymaps/es.acc.kbd - copied unchanged from r273173, mirror/FreeBSD/head/share/vt/keymaps/es.acc.kbd soc2014/pedrosouza/lua_loader/head/share/vt/keymaps/es.dvorak.kbd - copied unchanged from r273173, mirror/FreeBSD/head/share/vt/keymaps/es.dvorak.kbd soc2014/pedrosouza/lua_loader/head/share/vt/keymaps/es.kbd - copied unchanged from r273173, mirror/FreeBSD/head/share/vt/keymaps/es.kbd soc2014/pedrosouza/lua_loader/head/share/vt/keymaps/fi.kbd - copied unchanged from r273173, mirror/FreeBSD/head/share/vt/keymaps/fi.kbd soc2014/pedrosouza/lua_loader/head/share/vt/keymaps/fr.acc.kbd - copied unchanged from r273173, mirror/FreeBSD/head/share/vt/keymaps/fr.acc.kbd soc2014/pedrosouza/lua_loader/head/share/vt/keymaps/fr.dvorak.acc.kbd - copied unchanged from r273173, mirror/FreeBSD/head/share/vt/keymaps/fr.dvorak.acc.kbd soc2014/pedrosouza/lua_loader/head/share/vt/keymaps/fr.dvorak.kbd - copied unchanged from r273173, mirror/FreeBSD/head/share/vt/keymaps/fr.dvorak.kbd soc2014/pedrosouza/lua_loader/head/share/vt/keymaps/fr.kbd - copied unchanged from r273173, mirror/FreeBSD/head/share/vt/keymaps/fr.kbd soc2014/pedrosouza/lua_loader/head/share/vt/keymaps/fr.macbook.kbd - copied unchanged from r273173, mirror/FreeBSD/head/share/vt/keymaps/fr.macbook.kbd soc2014/pedrosouza/lua_loader/head/share/vt/keymaps/gr.101.acc.kbd - copied unchanged from r273173, mirror/FreeBSD/head/share/vt/keymaps/gr.101.acc.kbd soc2014/pedrosouza/lua_loader/head/share/vt/keymaps/gr.elot.acc.kbd - copied unchanged from r273173, mirror/FreeBSD/head/share/vt/keymaps/gr.elot.acc.kbd soc2014/pedrosouza/lua_loader/head/share/vt/keymaps/gr.kbd - copied unchanged from r273173, mirror/FreeBSD/head/share/vt/keymaps/gr.kbd soc2014/pedrosouza/lua_loader/head/share/vt/keymaps/hr.kbd - copied unchanged from r273173, mirror/FreeBSD/head/share/vt/keymaps/hr.kbd soc2014/pedrosouza/lua_loader/head/share/vt/keymaps/hu.101.kbd - copied unchanged from r273173, mirror/FreeBSD/head/share/vt/keymaps/hu.101.kbd soc2014/pedrosouza/lua_loader/head/share/vt/keymaps/hu.102.kbd - copied unchanged from r273173, mirror/FreeBSD/head/share/vt/keymaps/hu.102.kbd soc2014/pedrosouza/lua_loader/head/share/vt/keymaps/il.kbd - copied unchanged from r273173, mirror/FreeBSD/head/share/vt/keymaps/il.kbd soc2014/pedrosouza/lua_loader/head/share/vt/keymaps/is.acc.kbd - copied unchanged from r273173, mirror/FreeBSD/head/share/vt/keymaps/is.acc.kbd soc2014/pedrosouza/lua_loader/head/share/vt/keymaps/is.kbd - copied unchanged from r273173, mirror/FreeBSD/head/share/vt/keymaps/is.kbd soc2014/pedrosouza/lua_loader/head/share/vt/keymaps/it.kbd - copied unchanged from r273173, mirror/FreeBSD/head/share/vt/keymaps/it.kbd soc2014/pedrosouza/lua_loader/head/share/vt/keymaps/jp.capsctrl.kbd - copied unchanged from r273173, mirror/FreeBSD/head/share/vt/keymaps/jp.capsctrl.kbd soc2014/pedrosouza/lua_loader/head/share/vt/keymaps/jp.kbd - copied unchanged from r273173, mirror/FreeBSD/head/share/vt/keymaps/jp.kbd soc2014/pedrosouza/lua_loader/head/share/vt/keymaps/jp.pc98.iso.kbd - copied unchanged from r273173, mirror/FreeBSD/head/share/vt/keymaps/jp.pc98.iso.kbd soc2014/pedrosouza/lua_loader/head/share/vt/keymaps/jp.pc98.kbd - copied unchanged from r273173, mirror/FreeBSD/head/share/vt/keymaps/jp.pc98.kbd soc2014/pedrosouza/lua_loader/head/share/vt/keymaps/kz.io.kbd - copied unchanged from r273173, mirror/FreeBSD/head/share/vt/keymaps/kz.io.kbd soc2014/pedrosouza/lua_loader/head/share/vt/keymaps/kz.kst.kbd - copied unchanged from r273173, mirror/FreeBSD/head/share/vt/keymaps/kz.kst.kbd soc2014/pedrosouza/lua_loader/head/share/vt/keymaps/latinamerican.acc.kbd - copied unchanged from r273173, mirror/FreeBSD/head/share/vt/keymaps/latinamerican.acc.kbd soc2014/pedrosouza/lua_loader/head/share/vt/keymaps/latinamerican.kbd - copied unchanged from r273173, mirror/FreeBSD/head/share/vt/keymaps/latinamerican.kbd soc2014/pedrosouza/lua_loader/head/share/vt/keymaps/lt.kbd - copied unchanged from r273173, mirror/FreeBSD/head/share/vt/keymaps/lt.kbd soc2014/pedrosouza/lua_loader/head/share/vt/keymaps/nl.kbd - copied unchanged from r273173, mirror/FreeBSD/head/share/vt/keymaps/nl.kbd soc2014/pedrosouza/lua_loader/head/share/vt/keymaps/no.dvorak.kbd - copied unchanged from r273173, mirror/FreeBSD/head/share/vt/keymaps/no.dvorak.kbd soc2014/pedrosouza/lua_loader/head/share/vt/keymaps/no.kbd - copied unchanged from r273173, mirror/FreeBSD/head/share/vt/keymaps/no.kbd soc2014/pedrosouza/lua_loader/head/share/vt/keymaps/nordic.asus-eee.kbd - copied unchanged from r273173, mirror/FreeBSD/head/share/vt/keymaps/nordic.asus-eee.kbd soc2014/pedrosouza/lua_loader/head/share/vt/keymaps/pl.dvorak.kbd - copied unchanged from r273173, mirror/FreeBSD/head/share/vt/keymaps/pl.dvorak.kbd soc2014/pedrosouza/lua_loader/head/share/vt/keymaps/pt.acc.kbd - copied unchanged from r273173, mirror/FreeBSD/head/share/vt/keymaps/pt.acc.kbd soc2014/pedrosouza/lua_loader/head/share/vt/keymaps/pt.kbd - copied unchanged from r273173, mirror/FreeBSD/head/share/vt/keymaps/pt.kbd soc2014/pedrosouza/lua_loader/head/share/vt/keymaps/ru.kbd - copied unchanged from r273173, mirror/FreeBSD/head/share/vt/keymaps/ru.kbd soc2014/pedrosouza/lua_loader/head/share/vt/keymaps/ru.shift.kbd - copied unchanged from r273173, mirror/FreeBSD/head/share/vt/keymaps/ru.shift.kbd soc2014/pedrosouza/lua_loader/head/share/vt/keymaps/ru.win.kbd - copied unchanged from r273173, mirror/FreeBSD/head/share/vt/keymaps/ru.win.kbd soc2014/pedrosouza/lua_loader/head/share/vt/keymaps/se.kbd - copied unchanged from r273173, mirror/FreeBSD/head/share/vt/keymaps/se.kbd soc2014/pedrosouza/lua_loader/head/share/vt/keymaps/si.kbd - copied unchanged from r273173, mirror/FreeBSD/head/share/vt/keymaps/si.kbd soc2014/pedrosouza/lua_loader/head/share/vt/keymaps/sk.kbd - copied unchanged from r273173, mirror/FreeBSD/head/share/vt/keymaps/sk.kbd soc2014/pedrosouza/lua_loader/head/share/vt/keymaps/tr.kbd - copied unchanged from r273173, mirror/FreeBSD/head/share/vt/keymaps/tr.kbd soc2014/pedrosouza/lua_loader/head/share/vt/keymaps/uk.capsctrl.kbd - copied unchanged from r273173, mirror/FreeBSD/head/share/vt/keymaps/uk.capsctrl.kbd soc2014/pedrosouza/lua_loader/head/share/vt/keymaps/uk.dvorak.kbd - copied unchanged from r273173, mirror/FreeBSD/head/share/vt/keymaps/uk.dvorak.kbd soc2014/pedrosouza/lua_loader/head/share/vt/keymaps/uk.kbd - copied unchanged from r273173, mirror/FreeBSD/head/share/vt/keymaps/uk.kbd soc2014/pedrosouza/lua_loader/head/share/vt/keymaps/us.acc.kbd - copied unchanged from r273173, mirror/FreeBSD/head/share/vt/keymaps/us.acc.kbd soc2014/pedrosouza/lua_loader/head/share/vt/keymaps/us.ctrl.kbd - copied unchanged from r273173, mirror/FreeBSD/head/share/vt/keymaps/us.ctrl.kbd soc2014/pedrosouza/lua_loader/head/share/vt/keymaps/us.dvorak.kbd - copied unchanged from r273173, mirror/FreeBSD/head/share/vt/keymaps/us.dvorak.kbd soc2014/pedrosouza/lua_loader/head/share/vt/keymaps/us.dvorakl.kbd - copied unchanged from r273173, mirror/FreeBSD/head/share/vt/keymaps/us.dvorakl.kbd soc2014/pedrosouza/lua_loader/head/share/vt/keymaps/us.dvorakp.kbd - copied unchanged from r273173, mirror/FreeBSD/head/share/vt/keymaps/us.dvorakp.kbd soc2014/pedrosouza/lua_loader/head/share/vt/keymaps/us.dvorakr.kbd - copied unchanged from r273173, mirror/FreeBSD/head/share/vt/keymaps/us.dvorakr.kbd soc2014/pedrosouza/lua_loader/head/share/vt/keymaps/us.dvorakx.kbd - copied unchanged from r273173, mirror/FreeBSD/head/share/vt/keymaps/us.dvorakx.kbd soc2014/pedrosouza/lua_loader/head/share/vt/keymaps/us.emacs.kbd - copied unchanged from r273173, mirror/FreeBSD/head/share/vt/keymaps/us.emacs.kbd soc2014/pedrosouza/lua_loader/head/share/vt/keymaps/us.kbd - copied unchanged from r273173, mirror/FreeBSD/head/share/vt/keymaps/us.kbd soc2014/pedrosouza/lua_loader/head/share/vt/keymaps/us.unix.kbd - copied unchanged from r273173, mirror/FreeBSD/head/share/vt/keymaps/us.unix.kbd soc2014/pedrosouza/lua_loader/head/sys/dev/netmap/if_vtnet_netmap.h - copied unchanged from r273173, mirror/FreeBSD/head/sys/dev/netmap/if_vtnet_netmap.h soc2014/pedrosouza/lua_loader/head/sys/dev/netmap/netmap_monitor.c - copied unchanged from r273173, mirror/FreeBSD/head/sys/dev/netmap/netmap_monitor.c soc2014/pedrosouza/lua_loader/head/sys/dev/usb/template/usb_template_phone.c - copied unchanged from r273173, mirror/FreeBSD/head/sys/dev/usb/template/usb_template_phone.c soc2014/pedrosouza/lua_loader/head/sys/fs/autofs/ - copied from r273173, mirror/FreeBSD/head/sys/fs/autofs/ soc2014/pedrosouza/lua_loader/head/sys/modules/autofs/ - copied from r273173, mirror/FreeBSD/head/sys/modules/autofs/ soc2014/pedrosouza/lua_loader/head/sys/modules/ixl/ - copied from r273173, mirror/FreeBSD/head/sys/modules/ixl/ soc2014/pedrosouza/lua_loader/head/sys/modules/ixlv/ - copied from r273173, mirror/FreeBSD/head/sys/modules/ixlv/ soc2014/pedrosouza/lua_loader/head/sys/modules/si/ - copied from r273173, mirror/FreeBSD/head/sys/modules/si/ soc2014/pedrosouza/lua_loader/head/sys/modules/tsec/ - copied from r273173, mirror/FreeBSD/head/sys/modules/tsec/ soc2014/pedrosouza/lua_loader/head/sys/modules/wds/ - copied from r273173, mirror/FreeBSD/head/sys/modules/wds/ soc2014/pedrosouza/lua_loader/head/sys/modules/wl/ - copied from r273173, mirror/FreeBSD/head/sys/modules/wl/ soc2014/pedrosouza/lua_loader/head/tools/build/options/WITHOUT_CUSE - copied unchanged from r273173, mirror/FreeBSD/head/tools/build/options/WITHOUT_CUSE soc2014/pedrosouza/lua_loader/head/tools/build/options/WITHOUT_TESTS - copied unchanged from r273173, mirror/FreeBSD/head/tools/build/options/WITHOUT_TESTS soc2014/pedrosouza/lua_loader/head/tools/tools/vt/keymaps/ - copied from r273173, mirror/FreeBSD/head/tools/tools/vt/keymaps/ soc2014/pedrosouza/lua_loader/head/usr.bin/gcore/elf32core.c - copied unchanged from r273173, mirror/FreeBSD/head/usr.bin/gcore/elf32core.c soc2014/pedrosouza/lua_loader/head/usr.bin/units/tests/ - copied from r273173, mirror/FreeBSD/head/usr.bin/units/tests/ soc2014/pedrosouza/lua_loader/head/usr.bin/yacc/tests/yacc_tests.sh - copied unchanged from r273173, mirror/FreeBSD/head/usr.bin/yacc/tests/yacc_tests.sh soc2014/pedrosouza/lua_loader/head/usr.sbin/autofs/ - copied from r273173, mirror/FreeBSD/head/usr.sbin/autofs/ soc2014/pedrosouza/lua_loader/head/usr.sbin/bhyve/task_switch.c - copied unchanged from r273173, mirror/FreeBSD/head/usr.sbin/bhyve/task_switch.c soc2014/pedrosouza/lua_loader/head/usr.sbin/bsdconfig/examples/add_some_packages.sh - copied unchanged from r273173, mirror/FreeBSD/head/usr.sbin/bsdconfig/examples/add_some_packages.sh soc2014/pedrosouza/lua_loader/head/usr.sbin/bsdconfig/share/packages/musthavepkg.subr - copied unchanged from r273173, mirror/FreeBSD/head/usr.sbin/bsdconfig/share/packages/musthavepkg.subr Deleted: soc2014/pedrosouza/lua_loader/head/bin/date/tests/legacy_test.sh soc2014/pedrosouza/lua_loader/head/bin/sh/tests/legacy_test.sh soc2014/pedrosouza/lua_loader/head/contrib/byacc/NOTES-btyacc-Changes soc2014/pedrosouza/lua_loader/head/contrib/byacc/NOTES-btyacc-Disposition soc2014/pedrosouza/lua_loader/head/contrib/unbound/util/configlexer.c soc2014/pedrosouza/lua_loader/head/contrib/unbound/util/configparser.c soc2014/pedrosouza/lua_loader/head/contrib/unbound/util/configparser.h soc2014/pedrosouza/lua_loader/head/crypto/openssl/crypto/pkcs7/bio_ber.c soc2014/pedrosouza/lua_loader/head/crypto/openssl/crypto/pkcs7/dec.c soc2014/pedrosouza/lua_loader/head/crypto/openssl/crypto/pkcs7/des.pem soc2014/pedrosouza/lua_loader/head/crypto/openssl/crypto/pkcs7/doc soc2014/pedrosouza/lua_loader/head/crypto/openssl/crypto/pkcs7/enc.c soc2014/pedrosouza/lua_loader/head/crypto/openssl/crypto/pkcs7/es1.pem soc2014/pedrosouza/lua_loader/head/crypto/openssl/crypto/pkcs7/example.c soc2014/pedrosouza/lua_loader/head/crypto/openssl/crypto/pkcs7/example.h soc2014/pedrosouza/lua_loader/head/crypto/openssl/crypto/pkcs7/info.pem soc2014/pedrosouza/lua_loader/head/crypto/openssl/crypto/pkcs7/infokey.pem soc2014/pedrosouza/lua_loader/head/crypto/openssl/crypto/pkcs7/p7/ soc2014/pedrosouza/lua_loader/head/crypto/openssl/crypto/pkcs7/server.pem soc2014/pedrosouza/lua_loader/head/crypto/openssl/crypto/pkcs7/sign.c soc2014/pedrosouza/lua_loader/head/crypto/openssl/crypto/pkcs7/t/ soc2014/pedrosouza/lua_loader/head/crypto/openssl/crypto/pkcs7/verify.c soc2014/pedrosouza/lua_loader/head/share/examples/autofs/ soc2014/pedrosouza/lua_loader/head/share/man/man9/VOP_GETVOBJECT.9 soc2014/pedrosouza/lua_loader/head/share/man/man9/pmap_change_wiring.9 soc2014/pedrosouza/lua_loader/head/share/man/man9/pmap_page_protect.9 soc2014/pedrosouza/lua_loader/head/share/man/man9/zero_copy.9 soc2014/pedrosouza/lua_loader/head/sys/dev/i40e/ soc2014/pedrosouza/lua_loader/head/sys/modules/i40e/ soc2014/pedrosouza/lua_loader/head/tools/build/options/WITH_PIE soc2014/pedrosouza/lua_loader/head/tools/build/options/WITH_TESTS soc2014/pedrosouza/lua_loader/head/tools/regression/lib/libmp/ soc2014/pedrosouza/lua_loader/head/tools/regression/lib/libnv/ soc2014/pedrosouza/lua_loader/head/tools/regression/lib/libutil/ soc2014/pedrosouza/lua_loader/head/usr.bin/m4/lib/ soc2014/pedrosouza/lua_loader/head/usr.bin/yacc/tests/calc.y soc2014/pedrosouza/lua_loader/head/usr.bin/yacc/tests/calc1.y soc2014/pedrosouza/lua_loader/head/usr.bin/yacc/tests/calc2.y soc2014/pedrosouza/lua_loader/head/usr.bin/yacc/tests/calc3.y soc2014/pedrosouza/lua_loader/head/usr.bin/yacc/tests/code_calc.y soc2014/pedrosouza/lua_loader/head/usr.bin/yacc/tests/code_error.y soc2014/pedrosouza/lua_loader/head/usr.bin/yacc/tests/error.y soc2014/pedrosouza/lua_loader/head/usr.bin/yacc/tests/ftp.y soc2014/pedrosouza/lua_loader/head/usr.bin/yacc/tests/grammar.y soc2014/pedrosouza/lua_loader/head/usr.bin/yacc/tests/legacy_test.sh soc2014/pedrosouza/lua_loader/head/usr.bin/yacc/tests/pure_calc.y soc2014/pedrosouza/lua_loader/head/usr.bin/yacc/tests/pure_error.y soc2014/pedrosouza/lua_loader/head/usr.bin/yacc/tests/quote_calc.y soc2014/pedrosouza/lua_loader/head/usr.bin/yacc/tests/quote_calc2.y soc2014/pedrosouza/lua_loader/head/usr.bin/yacc/tests/quote_calc3.y soc2014/pedrosouza/lua_loader/head/usr.bin/yacc/tests/quote_calc4.y soc2014/pedrosouza/lua_loader/head/usr.bin/yacc/tests/regress.00.out soc2014/pedrosouza/lua_loader/head/usr.bin/yacc/tests/regress.01.out soc2014/pedrosouza/lua_loader/head/usr.bin/yacc/tests/regress.02.out soc2014/pedrosouza/lua_loader/head/usr.bin/yacc/tests/regress.03.out soc2014/pedrosouza/lua_loader/head/usr.bin/yacc/tests/regress.04.out soc2014/pedrosouza/lua_loader/head/usr.bin/yacc/tests/regress.05.out soc2014/pedrosouza/lua_loader/head/usr.bin/yacc/tests/regress.06.out soc2014/pedrosouza/lua_loader/head/usr.bin/yacc/tests/regress.07.out soc2014/pedrosouza/lua_loader/head/usr.bin/yacc/tests/regress.08.out soc2014/pedrosouza/lua_loader/head/usr.bin/yacc/tests/regress.09.out soc2014/pedrosouza/lua_loader/head/usr.bin/yacc/tests/regress.10.out soc2014/pedrosouza/lua_loader/head/usr.bin/yacc/tests/regress.11.out soc2014/pedrosouza/lua_loader/head/usr.bin/yacc/tests/regress.12.out soc2014/pedrosouza/lua_loader/head/usr.bin/yacc/tests/regress.13.out soc2014/pedrosouza/lua_loader/head/usr.bin/yacc/tests/regress.14.out soc2014/pedrosouza/lua_loader/head/usr.bin/yacc/tests/regress.sh soc2014/pedrosouza/lua_loader/head/usr.bin/yacc/tests/undefined.y soc2014/pedrosouza/lua_loader/head/usr.sbin/bsdconfig/examples/browse_packages_ftp.sh Modified: soc2014/pedrosouza/lua_loader/head/.arcconfig soc2014/pedrosouza/lua_loader/head/MAINTAINERS soc2014/pedrosouza/lua_loader/head/Makefile soc2014/pedrosouza/lua_loader/head/Makefile.inc1 soc2014/pedrosouza/lua_loader/head/ObsoleteFiles.inc soc2014/pedrosouza/lua_loader/head/UPDATING soc2014/pedrosouza/lua_loader/head/bin/csh/Makefile soc2014/pedrosouza/lua_loader/head/bin/date/tests/Makefile soc2014/pedrosouza/lua_loader/head/bin/ed/cbc.c soc2014/pedrosouza/lua_loader/head/bin/ls/Makefile soc2014/pedrosouza/lua_loader/head/bin/pkill/tests/Makefile soc2014/pedrosouza/lua_loader/head/bin/ps/ps.1 soc2014/pedrosouza/lua_loader/head/bin/rmail/Makefile soc2014/pedrosouza/lua_loader/head/bin/sh/Makefile soc2014/pedrosouza/lua_loader/head/bin/sh/arith_yacc.c soc2014/pedrosouza/lua_loader/head/bin/sh/eval.c soc2014/pedrosouza/lua_loader/head/bin/sh/exec.c soc2014/pedrosouza/lua_loader/head/bin/sh/histedit.c soc2014/pedrosouza/lua_loader/head/bin/sh/jobs.c soc2014/pedrosouza/lua_loader/head/bin/sh/miscbltin.c soc2014/pedrosouza/lua_loader/head/bin/sh/mystring.c soc2014/pedrosouza/lua_loader/head/bin/sh/mystring.h soc2014/pedrosouza/lua_loader/head/bin/sh/tests/Makefile soc2014/pedrosouza/lua_loader/head/bin/sh/tests/builtins/Makefile soc2014/pedrosouza/lua_loader/head/bin/sh/tests/errors/Makefile soc2014/pedrosouza/lua_loader/head/bin/sh/tests/errors/bad-parm-exp2.2 soc2014/pedrosouza/lua_loader/head/bin/sh/tests/errors/bad-parm-exp2.2.stderr soc2014/pedrosouza/lua_loader/head/bin/sh/tests/errors/bad-parm-exp3.2 soc2014/pedrosouza/lua_loader/head/bin/sh/tests/errors/bad-parm-exp3.2.stderr soc2014/pedrosouza/lua_loader/head/bin/sh/tests/errors/bad-parm-exp4.2 soc2014/pedrosouza/lua_loader/head/bin/sh/tests/errors/bad-parm-exp4.2.stderr soc2014/pedrosouza/lua_loader/head/bin/sh/tests/errors/bad-parm-exp5.2 soc2014/pedrosouza/lua_loader/head/bin/sh/tests/errors/bad-parm-exp5.2.stderr soc2014/pedrosouza/lua_loader/head/bin/sh/tests/errors/bad-parm-exp6.2 soc2014/pedrosouza/lua_loader/head/bin/sh/tests/errors/bad-parm-exp6.2.stderr soc2014/pedrosouza/lua_loader/head/bin/sh/tests/execution/Makefile soc2014/pedrosouza/lua_loader/head/bin/sh/tests/expansion/Makefile soc2014/pedrosouza/lua_loader/head/bin/sh/tests/parameters/Makefile soc2014/pedrosouza/lua_loader/head/bin/sh/tests/parser/Makefile soc2014/pedrosouza/lua_loader/head/bin/sh/tests/set-e/Makefile soc2014/pedrosouza/lua_loader/head/cddl/Makefile.inc soc2014/pedrosouza/lua_loader/head/cddl/contrib/dtracetoolkit/Apps/shellsnoop soc2014/pedrosouza/lua_loader/head/cddl/contrib/dtracetoolkit/rwsnoop soc2014/pedrosouza/lua_loader/head/cddl/contrib/opensolaris/ (props changed) soc2014/pedrosouza/lua_loader/head/cddl/contrib/opensolaris/cmd/lockstat/sym.c soc2014/pedrosouza/lua_loader/head/cddl/contrib/opensolaris/cmd/zdb/zdb.8 soc2014/pedrosouza/lua_loader/head/cddl/contrib/opensolaris/cmd/zdb/zdb.c soc2014/pedrosouza/lua_loader/head/cddl/contrib/opensolaris/cmd/zpool/zpool.8 soc2014/pedrosouza/lua_loader/head/cddl/contrib/opensolaris/cmd/zpool/zpool_main.c soc2014/pedrosouza/lua_loader/head/cddl/contrib/opensolaris/cmd/ztest/ztest.c soc2014/pedrosouza/lua_loader/head/cddl/contrib/opensolaris/common/avl/avl.c soc2014/pedrosouza/lua_loader/head/cddl/contrib/opensolaris/head/libintl.h soc2014/pedrosouza/lua_loader/head/cddl/contrib/opensolaris/head/nlist.h soc2014/pedrosouza/lua_loader/head/cddl/contrib/opensolaris/head/synch.h soc2014/pedrosouza/lua_loader/head/cddl/contrib/opensolaris/head/thread.h soc2014/pedrosouza/lua_loader/head/cddl/contrib/opensolaris/lib/libdtrace/common/dt_consume.c soc2014/pedrosouza/lua_loader/head/cddl/contrib/opensolaris/lib/libdtrace/common/dt_impl.h soc2014/pedrosouza/lua_loader/head/cddl/contrib/opensolaris/lib/libdtrace/common/dt_link.c soc2014/pedrosouza/lua_loader/head/cddl/contrib/opensolaris/lib/libdtrace/common/dt_map.c soc2014/pedrosouza/lua_loader/head/cddl/contrib/opensolaris/lib/libdtrace/common/dt_open.c soc2014/pedrosouza/lua_loader/head/cddl/contrib/opensolaris/lib/libdtrace/common/dt_pragma.c soc2014/pedrosouza/lua_loader/head/cddl/contrib/opensolaris/lib/libdtrace/common/dt_work.c soc2014/pedrosouza/lua_loader/head/cddl/contrib/opensolaris/lib/libgen/common/gmatch.c soc2014/pedrosouza/lua_loader/head/cddl/contrib/opensolaris/lib/libzfs/ (props changed) soc2014/pedrosouza/lua_loader/head/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_pool.c soc2014/pedrosouza/lua_loader/head/cddl/contrib/opensolaris/lib/libzpool/common/kernel.c soc2014/pedrosouza/lua_loader/head/cddl/lib/libdtrace/libproc_compat.h soc2014/pedrosouza/lua_loader/head/contrib/binutils/gas/config/tc-arm.c soc2014/pedrosouza/lua_loader/head/contrib/byacc/ (props changed) soc2014/pedrosouza/lua_loader/head/contrib/byacc/CHANGES soc2014/pedrosouza/lua_loader/head/contrib/byacc/MANIFEST soc2014/pedrosouza/lua_loader/head/contrib/byacc/VERSION soc2014/pedrosouza/lua_loader/head/contrib/byacc/aclocal.m4 soc2014/pedrosouza/lua_loader/head/contrib/byacc/main.c soc2014/pedrosouza/lua_loader/head/contrib/byacc/package/byacc.spec soc2014/pedrosouza/lua_loader/head/contrib/byacc/package/debian/changelog soc2014/pedrosouza/lua_loader/head/contrib/byacc/package/mingw-byacc.spec soc2014/pedrosouza/lua_loader/head/contrib/byacc/package/pkgsrc/Makefile soc2014/pedrosouza/lua_loader/head/contrib/byacc/test/btyacc/big_b.output soc2014/pedrosouza/lua_loader/head/contrib/byacc/test/btyacc/big_l.output soc2014/pedrosouza/lua_loader/head/contrib/byacc/test/btyacc/err_inherit1.error soc2014/pedrosouza/lua_loader/head/contrib/byacc/test/btyacc/err_inherit2.error soc2014/pedrosouza/lua_loader/head/contrib/byacc/test/btyacc/err_inherit3.error soc2014/pedrosouza/lua_loader/head/contrib/byacc/test/btyacc/err_inherit4.error soc2014/pedrosouza/lua_loader/head/contrib/byacc/test/btyacc/err_inherit5.error soc2014/pedrosouza/lua_loader/head/contrib/byacc/test/btyacc/err_syntax1.error soc2014/pedrosouza/lua_loader/head/contrib/byacc/test/btyacc/err_syntax10.error soc2014/pedrosouza/lua_loader/head/contrib/byacc/test/btyacc/err_syntax11.error soc2014/pedrosouza/lua_loader/head/contrib/byacc/test/btyacc/err_syntax12.error soc2014/pedrosouza/lua_loader/head/contrib/byacc/test/btyacc/err_syntax13.error soc2014/pedrosouza/lua_loader/head/contrib/byacc/test/btyacc/err_syntax14.error soc2014/pedrosouza/lua_loader/head/contrib/byacc/test/btyacc/err_syntax15.error soc2014/pedrosouza/lua_loader/head/contrib/byacc/test/btyacc/err_syntax16.error soc2014/pedrosouza/lua_loader/head/contrib/byacc/test/btyacc/err_syntax17.error soc2014/pedrosouza/lua_loader/head/contrib/byacc/test/btyacc/err_syntax18.error soc2014/pedrosouza/lua_loader/head/contrib/byacc/test/btyacc/err_syntax19.error soc2014/pedrosouza/lua_loader/head/contrib/byacc/test/btyacc/err_syntax2.error soc2014/pedrosouza/lua_loader/head/contrib/byacc/test/btyacc/err_syntax21.error soc2014/pedrosouza/lua_loader/head/contrib/byacc/test/btyacc/err_syntax22.error soc2014/pedrosouza/lua_loader/head/contrib/byacc/test/btyacc/err_syntax23.error soc2014/pedrosouza/lua_loader/head/contrib/byacc/test/btyacc/err_syntax24.error soc2014/pedrosouza/lua_loader/head/contrib/byacc/test/btyacc/err_syntax25.error soc2014/pedrosouza/lua_loader/head/contrib/byacc/test/btyacc/err_syntax26.error soc2014/pedrosouza/lua_loader/head/contrib/byacc/test/btyacc/err_syntax27.error soc2014/pedrosouza/lua_loader/head/contrib/byacc/test/btyacc/err_syntax3.error soc2014/pedrosouza/lua_loader/head/contrib/byacc/test/btyacc/err_syntax4.error soc2014/pedrosouza/lua_loader/head/contrib/byacc/test/btyacc/err_syntax5.error soc2014/pedrosouza/lua_loader/head/contrib/byacc/test/btyacc/err_syntax6.error soc2014/pedrosouza/lua_loader/head/contrib/byacc/test/btyacc/err_syntax7.error soc2014/pedrosouza/lua_loader/head/contrib/byacc/test/btyacc/err_syntax7a.error soc2014/pedrosouza/lua_loader/head/contrib/byacc/test/btyacc/err_syntax7b.error soc2014/pedrosouza/lua_loader/head/contrib/byacc/test/btyacc/err_syntax8.error soc2014/pedrosouza/lua_loader/head/contrib/byacc/test/btyacc/err_syntax8a.error soc2014/pedrosouza/lua_loader/head/contrib/byacc/test/btyacc/err_syntax9.error soc2014/pedrosouza/lua_loader/head/contrib/byacc/test/btyacc/help.output soc2014/pedrosouza/lua_loader/head/contrib/byacc/test/btyacc/no_b_opt.output soc2014/pedrosouza/lua_loader/head/contrib/byacc/test/btyacc/no_output2.output soc2014/pedrosouza/lua_loader/head/contrib/byacc/test/btyacc/no_p_opt.output soc2014/pedrosouza/lua_loader/head/contrib/byacc/test/btyacc/nostdin.output soc2014/pedrosouza/lua_loader/head/contrib/byacc/test/run_test.sh soc2014/pedrosouza/lua_loader/head/contrib/byacc/test/yacc/big_b.output soc2014/pedrosouza/lua_loader/head/contrib/byacc/test/yacc/big_l.output soc2014/pedrosouza/lua_loader/head/contrib/byacc/test/yacc/err_syntax1.error soc2014/pedrosouza/lua_loader/head/contrib/byacc/test/yacc/err_syntax10.error soc2014/pedrosouza/lua_loader/head/contrib/byacc/test/yacc/err_syntax11.error soc2014/pedrosouza/lua_loader/head/contrib/byacc/test/yacc/err_syntax12.error soc2014/pedrosouza/lua_loader/head/contrib/byacc/test/yacc/err_syntax13.error soc2014/pedrosouza/lua_loader/head/contrib/byacc/test/yacc/err_syntax14.error soc2014/pedrosouza/lua_loader/head/contrib/byacc/test/yacc/err_syntax15.error soc2014/pedrosouza/lua_loader/head/contrib/byacc/test/yacc/err_syntax16.error soc2014/pedrosouza/lua_loader/head/contrib/byacc/test/yacc/err_syntax17.error soc2014/pedrosouza/lua_loader/head/contrib/byacc/test/yacc/err_syntax18.error soc2014/pedrosouza/lua_loader/head/contrib/byacc/test/yacc/err_syntax19.error soc2014/pedrosouza/lua_loader/head/contrib/byacc/test/yacc/err_syntax2.error soc2014/pedrosouza/lua_loader/head/contrib/byacc/test/yacc/err_syntax21.error soc2014/pedrosouza/lua_loader/head/contrib/byacc/test/yacc/err_syntax22.error soc2014/pedrosouza/lua_loader/head/contrib/byacc/test/yacc/err_syntax23.error soc2014/pedrosouza/lua_loader/head/contrib/byacc/test/yacc/err_syntax24.error soc2014/pedrosouza/lua_loader/head/contrib/byacc/test/yacc/err_syntax25.error soc2014/pedrosouza/lua_loader/head/contrib/byacc/test/yacc/err_syntax26.error soc2014/pedrosouza/lua_loader/head/contrib/byacc/test/yacc/err_syntax27.error soc2014/pedrosouza/lua_loader/head/contrib/byacc/test/yacc/err_syntax3.error soc2014/pedrosouza/lua_loader/head/contrib/byacc/test/yacc/err_syntax4.error soc2014/pedrosouza/lua_loader/head/contrib/byacc/test/yacc/err_syntax5.error soc2014/pedrosouza/lua_loader/head/contrib/byacc/test/yacc/err_syntax6.error soc2014/pedrosouza/lua_loader/head/contrib/byacc/test/yacc/err_syntax7.error soc2014/pedrosouza/lua_loader/head/contrib/byacc/test/yacc/err_syntax7a.error soc2014/pedrosouza/lua_loader/head/contrib/byacc/test/yacc/err_syntax7b.error soc2014/pedrosouza/lua_loader/head/contrib/byacc/test/yacc/err_syntax8.error soc2014/pedrosouza/lua_loader/head/contrib/byacc/test/yacc/err_syntax8a.error soc2014/pedrosouza/lua_loader/head/contrib/byacc/test/yacc/err_syntax9.error soc2014/pedrosouza/lua_loader/head/contrib/byacc/test/yacc/help.output soc2014/pedrosouza/lua_loader/head/contrib/byacc/test/yacc/no_b_opt.output soc2014/pedrosouza/lua_loader/head/contrib/byacc/test/yacc/no_output2.output soc2014/pedrosouza/lua_loader/head/contrib/byacc/test/yacc/no_p_opt.output soc2014/pedrosouza/lua_loader/head/contrib/byacc/test/yacc/nostdin.output soc2014/pedrosouza/lua_loader/head/contrib/gcc/config/arm/unwind-arm.h soc2014/pedrosouza/lua_loader/head/contrib/gcc/config/i386/emmintrin.h soc2014/pedrosouza/lua_loader/head/contrib/libarchive/tar/util.c soc2014/pedrosouza/lua_loader/head/contrib/libc++/include/list soc2014/pedrosouza/lua_loader/head/contrib/libc++/include/type_traits soc2014/pedrosouza/lua_loader/head/contrib/libstdc++/libsupc++/unwind-cxx.h soc2014/pedrosouza/lua_loader/head/contrib/libucl/ (props changed) soc2014/pedrosouza/lua_loader/head/contrib/libucl/configure.ac soc2014/pedrosouza/lua_loader/head/contrib/libucl/doc/api.md soc2014/pedrosouza/lua_loader/head/contrib/libucl/doc/libucl.3 soc2014/pedrosouza/lua_loader/head/contrib/libucl/doc/pandoc.template soc2014/pedrosouza/lua_loader/head/contrib/libucl/include/ucl.h soc2014/pedrosouza/lua_loader/head/contrib/libucl/src/Makefile.am soc2014/pedrosouza/lua_loader/head/contrib/libucl/src/ucl_emitter.c soc2014/pedrosouza/lua_loader/head/contrib/libucl/src/ucl_internal.h soc2014/pedrosouza/lua_loader/head/contrib/libucl/src/ucl_parser.c soc2014/pedrosouza/lua_loader/head/contrib/libucl/tests/Makefile.am soc2014/pedrosouza/lua_loader/head/contrib/libucl/tests/test_basic.c soc2014/pedrosouza/lua_loader/head/contrib/libucl/uthash/utstring.h soc2014/pedrosouza/lua_loader/head/contrib/llvm/include/llvm/Support/ELF.h soc2014/pedrosouza/lua_loader/head/contrib/llvm/lib/Object/ELF.cpp soc2014/pedrosouza/lua_loader/head/contrib/llvm/lib/Target/PowerPC/InstPrinter/PPCInstPrinter.cpp soc2014/pedrosouza/lua_loader/head/contrib/llvm/lib/Target/PowerPC/MCTargetDesc/PPCELFObjectWriter.cpp soc2014/pedrosouza/lua_loader/head/contrib/llvm/lib/Target/PowerPC/PPC.h soc2014/pedrosouza/lua_loader/head/contrib/llvm/lib/Target/PowerPC/PPCAsmPrinter.cpp soc2014/pedrosouza/lua_loader/head/contrib/llvm/lib/Target/PowerPC/PPCFrameLowering.cpp soc2014/pedrosouza/lua_loader/head/contrib/llvm/lib/Target/PowerPC/PPCFrameLowering.h soc2014/pedrosouza/lua_loader/head/contrib/llvm/lib/Target/PowerPC/PPCISelDAGToDAG.cpp soc2014/pedrosouza/lua_loader/head/contrib/llvm/lib/Target/PowerPC/PPCISelLowering.cpp soc2014/pedrosouza/lua_loader/head/contrib/llvm/lib/Target/PowerPC/PPCISelLowering.h soc2014/pedrosouza/lua_loader/head/contrib/llvm/lib/Target/PowerPC/PPCInstr64Bit.td soc2014/pedrosouza/lua_loader/head/contrib/llvm/lib/Target/PowerPC/PPCInstrInfo.td soc2014/pedrosouza/lua_loader/head/contrib/llvm/lib/Target/PowerPC/PPCMCInstLower.cpp soc2014/pedrosouza/lua_loader/head/contrib/llvm/lib/Target/PowerPC/PPCMachineFunctionInfo.cpp soc2014/pedrosouza/lua_loader/head/contrib/llvm/lib/Target/PowerPC/PPCMachineFunctionInfo.h soc2014/pedrosouza/lua_loader/head/contrib/llvm/lib/Target/PowerPC/PPCRegisterInfo.cpp soc2014/pedrosouza/lua_loader/head/contrib/llvm/lib/Target/PowerPC/PPCSubtarget.h soc2014/pedrosouza/lua_loader/head/contrib/llvm/tools/clang/lib/Driver/ToolChain.cpp soc2014/pedrosouza/lua_loader/head/contrib/llvm/tools/clang/lib/Driver/Tools.cpp soc2014/pedrosouza/lua_loader/head/contrib/opie/libopie/challenge.c soc2014/pedrosouza/lua_loader/head/contrib/opie/opie.h soc2014/pedrosouza/lua_loader/head/contrib/opie/opiekey.c soc2014/pedrosouza/lua_loader/head/contrib/serf/ (props changed) soc2014/pedrosouza/lua_loader/head/contrib/serf/CHANGES soc2014/pedrosouza/lua_loader/head/contrib/serf/auth/auth.c soc2014/pedrosouza/lua_loader/head/contrib/serf/buckets/ssl_buckets.c soc2014/pedrosouza/lua_loader/head/contrib/serf/outgoing.c soc2014/pedrosouza/lua_loader/head/contrib/serf/serf.h soc2014/pedrosouza/lua_loader/head/contrib/sqlite3/ (props changed) soc2014/pedrosouza/lua_loader/head/contrib/sqlite3/INSTALL soc2014/pedrosouza/lua_loader/head/contrib/sqlite3/Makefile.in soc2014/pedrosouza/lua_loader/head/contrib/sqlite3/aclocal.m4 soc2014/pedrosouza/lua_loader/head/contrib/sqlite3/config.guess soc2014/pedrosouza/lua_loader/head/contrib/sqlite3/config.sub soc2014/pedrosouza/lua_loader/head/contrib/sqlite3/configure soc2014/pedrosouza/lua_loader/head/contrib/sqlite3/configure.ac soc2014/pedrosouza/lua_loader/head/contrib/sqlite3/depcomp soc2014/pedrosouza/lua_loader/head/contrib/sqlite3/install-sh soc2014/pedrosouza/lua_loader/head/contrib/sqlite3/ltmain.sh soc2014/pedrosouza/lua_loader/head/contrib/sqlite3/missing soc2014/pedrosouza/lua_loader/head/contrib/sqlite3/shell.c soc2014/pedrosouza/lua_loader/head/contrib/sqlite3/sqlite3.1 soc2014/pedrosouza/lua_loader/head/contrib/sqlite3/sqlite3.c soc2014/pedrosouza/lua_loader/head/contrib/sqlite3/sqlite3.h soc2014/pedrosouza/lua_loader/head/contrib/sqlite3/sqlite3ext.h soc2014/pedrosouza/lua_loader/head/contrib/subversion/ (props changed) soc2014/pedrosouza/lua_loader/head/contrib/subversion/CHANGES soc2014/pedrosouza/lua_loader/head/contrib/subversion/build-outputs.mk soc2014/pedrosouza/lua_loader/head/contrib/subversion/build.conf soc2014/pedrosouza/lua_loader/head/contrib/subversion/configure soc2014/pedrosouza/lua_loader/head/contrib/subversion/configure.ac soc2014/pedrosouza/lua_loader/head/contrib/subversion/get-deps.sh soc2014/pedrosouza/lua_loader/head/contrib/subversion/subversion/include/svn_version.h soc2014/pedrosouza/lua_loader/head/contrib/subversion/subversion/libsvn_client/delete.c soc2014/pedrosouza/lua_loader/head/contrib/subversion/subversion/libsvn_client/externals.c soc2014/pedrosouza/lua_loader/head/contrib/subversion/subversion/libsvn_fs_fs/fs_fs.c soc2014/pedrosouza/lua_loader/head/contrib/subversion/subversion/libsvn_fs_fs/rep-cache-db.h soc2014/pedrosouza/lua_loader/head/contrib/subversion/subversion/libsvn_ra_serf/commit.c soc2014/pedrosouza/lua_loader/head/contrib/subversion/subversion/libsvn_ra_serf/options.c soc2014/pedrosouza/lua_loader/head/contrib/subversion/subversion/libsvn_ra_serf/util.c soc2014/pedrosouza/lua_loader/head/contrib/subversion/subversion/libsvn_subr/config_auth.c soc2014/pedrosouza/lua_loader/head/contrib/subversion/subversion/libsvn_subr/dirent_uri.c soc2014/pedrosouza/lua_loader/head/contrib/subversion/subversion/libsvn_subr/internal_statements.h soc2014/pedrosouza/lua_loader/head/contrib/subversion/subversion/libsvn_subr/opt.c soc2014/pedrosouza/lua_loader/head/contrib/subversion/subversion/libsvn_wc/wc-checks.h soc2014/pedrosouza/lua_loader/head/contrib/subversion/subversion/libsvn_wc/wc-metadata.h soc2014/pedrosouza/lua_loader/head/contrib/subversion/subversion/libsvn_wc/wc-queries.h soc2014/pedrosouza/lua_loader/head/contrib/subversion/subversion/libsvn_wc/wc_db.c soc2014/pedrosouza/lua_loader/head/contrib/subversion/subversion/svn/util.c soc2014/pedrosouza/lua_loader/head/contrib/unbound/doc/example.conf.in soc2014/pedrosouza/lua_loader/head/contrib/unbound/doc/unbound.conf.5 soc2014/pedrosouza/lua_loader/head/contrib/unbound/doc/unbound.conf.5.in soc2014/pedrosouza/lua_loader/head/contrib/unbound/freebsd-configure.sh soc2014/pedrosouza/lua_loader/head/contrib/unbound/services/localzone.c soc2014/pedrosouza/lua_loader/head/contrib/unbound/util/config_file.c soc2014/pedrosouza/lua_loader/head/contrib/unbound/util/config_file.h soc2014/pedrosouza/lua_loader/head/contrib/unbound/util/configlexer.lex soc2014/pedrosouza/lua_loader/head/contrib/unbound/util/configparser.y soc2014/pedrosouza/lua_loader/head/crypto/openssl/ (props changed) soc2014/pedrosouza/lua_loader/head/crypto/openssl/CHANGES soc2014/pedrosouza/lua_loader/head/crypto/openssl/Configure soc2014/pedrosouza/lua_loader/head/crypto/openssl/FAQ soc2014/pedrosouza/lua_loader/head/crypto/openssl/Makefile soc2014/pedrosouza/lua_loader/head/crypto/openssl/NEWS soc2014/pedrosouza/lua_loader/head/crypto/openssl/README soc2014/pedrosouza/lua_loader/head/crypto/openssl/apps/apps.c soc2014/pedrosouza/lua_loader/head/crypto/openssl/apps/ca.c soc2014/pedrosouza/lua_loader/head/crypto/openssl/apps/ciphers.c soc2014/pedrosouza/lua_loader/head/crypto/openssl/apps/crl2p7.c soc2014/pedrosouza/lua_loader/head/crypto/openssl/apps/enc.c soc2014/pedrosouza/lua_loader/head/crypto/openssl/apps/ocsp.c soc2014/pedrosouza/lua_loader/head/crypto/openssl/apps/progs.h soc2014/pedrosouza/lua_loader/head/crypto/openssl/apps/progs.pl soc2014/pedrosouza/lua_loader/head/crypto/openssl/apps/s_client.c soc2014/pedrosouza/lua_loader/head/crypto/openssl/apps/s_server.c soc2014/pedrosouza/lua_loader/head/crypto/openssl/crypto/asn1/a_object.c soc2014/pedrosouza/lua_loader/head/crypto/openssl/crypto/asn1/a_utctm.c soc2014/pedrosouza/lua_loader/head/crypto/openssl/crypto/asn1/ameth_lib.c soc2014/pedrosouza/lua_loader/head/crypto/openssl/crypto/asn1/asn1_lib.c soc2014/pedrosouza/lua_loader/head/crypto/openssl/crypto/asn1/asn_mime.c soc2014/pedrosouza/lua_loader/head/crypto/openssl/crypto/asn1/asn_pack.c soc2014/pedrosouza/lua_loader/head/crypto/openssl/crypto/asn1/bio_asn1.c soc2014/pedrosouza/lua_loader/head/crypto/openssl/crypto/asn1/charmap.pl soc2014/pedrosouza/lua_loader/head/crypto/openssl/crypto/asn1/evp_asn1.c soc2014/pedrosouza/lua_loader/head/crypto/openssl/crypto/asn1/t_x509.c soc2014/pedrosouza/lua_loader/head/crypto/openssl/crypto/asn1/tasn_enc.c soc2014/pedrosouza/lua_loader/head/crypto/openssl/crypto/asn1/x_crl.c soc2014/pedrosouza/lua_loader/head/crypto/openssl/crypto/bio/bio_lib.c soc2014/pedrosouza/lua_loader/head/crypto/openssl/crypto/bn/bn_exp.c soc2014/pedrosouza/lua_loader/head/crypto/openssl/crypto/bn/bn_lib.c soc2014/pedrosouza/lua_loader/head/crypto/openssl/crypto/bn/bn_sqr.c soc2014/pedrosouza/lua_loader/head/crypto/openssl/crypto/cms/cms_pwri.c soc2014/pedrosouza/lua_loader/head/crypto/openssl/crypto/conf/conf_def.c soc2014/pedrosouza/lua_loader/head/crypto/openssl/crypto/ec/ec_lib.c soc2014/pedrosouza/lua_loader/head/crypto/openssl/crypto/ec/ecp_smpl.c soc2014/pedrosouza/lua_loader/head/crypto/openssl/crypto/ec/ectest.c soc2014/pedrosouza/lua_loader/head/crypto/openssl/crypto/evp/e_aes.c soc2014/pedrosouza/lua_loader/head/crypto/openssl/crypto/evp/evp_pbe.c soc2014/pedrosouza/lua_loader/head/crypto/openssl/crypto/idea/ideatest.c soc2014/pedrosouza/lua_loader/head/crypto/openssl/crypto/objects/obj_dat.c soc2014/pedrosouza/lua_loader/head/crypto/openssl/crypto/objects/obj_dat.h soc2014/pedrosouza/lua_loader/head/crypto/openssl/crypto/objects/obj_dat.pl soc2014/pedrosouza/lua_loader/head/crypto/openssl/crypto/ocsp/ocsp_ht.c soc2014/pedrosouza/lua_loader/head/crypto/openssl/crypto/ocsp/ocsp_lib.c soc2014/pedrosouza/lua_loader/head/crypto/openssl/crypto/opensslconf.h soc2014/pedrosouza/lua_loader/head/crypto/openssl/crypto/opensslv.h soc2014/pedrosouza/lua_loader/head/crypto/openssl/crypto/pem/pvkfmt.c soc2014/pedrosouza/lua_loader/head/crypto/openssl/crypto/pkcs7/Makefile soc2014/pedrosouza/lua_loader/head/crypto/openssl/crypto/rand/md_rand.c soc2014/pedrosouza/lua_loader/head/crypto/openssl/crypto/rand/rand_lcl.h soc2014/pedrosouza/lua_loader/head/crypto/openssl/crypto/rand/rand_lib.c soc2014/pedrosouza/lua_loader/head/crypto/openssl/crypto/rand/randfile.c soc2014/pedrosouza/lua_loader/head/crypto/openssl/crypto/rsa/rsa_eay.c soc2014/pedrosouza/lua_loader/head/crypto/openssl/crypto/srp/srp_lib.c soc2014/pedrosouza/lua_loader/head/crypto/openssl/crypto/ui/ui_lib.c soc2014/pedrosouza/lua_loader/head/crypto/openssl/doc/apps/asn1parse.pod soc2014/pedrosouza/lua_loader/head/crypto/openssl/doc/apps/ca.pod soc2014/pedrosouza/lua_loader/head/crypto/openssl/doc/apps/ciphers.pod soc2014/pedrosouza/lua_loader/head/crypto/openssl/doc/apps/cms.pod soc2014/pedrosouza/lua_loader/head/crypto/openssl/doc/apps/crl.pod soc2014/pedrosouza/lua_loader/head/crypto/openssl/doc/apps/dhparam.pod soc2014/pedrosouza/lua_loader/head/crypto/openssl/doc/apps/dsa.pod soc2014/pedrosouza/lua_loader/head/crypto/openssl/doc/apps/ecparam.pod soc2014/pedrosouza/lua_loader/head/crypto/openssl/doc/apps/gendsa.pod soc2014/pedrosouza/lua_loader/head/crypto/openssl/doc/apps/genrsa.pod soc2014/pedrosouza/lua_loader/head/crypto/openssl/doc/apps/rsa.pod soc2014/pedrosouza/lua_loader/head/crypto/openssl/doc/apps/s_client.pod soc2014/pedrosouza/lua_loader/head/crypto/openssl/doc/apps/s_server.pod soc2014/pedrosouza/lua_loader/head/crypto/openssl/doc/apps/verify.pod soc2014/pedrosouza/lua_loader/head/crypto/openssl/doc/apps/x509.pod soc2014/pedrosouza/lua_loader/head/crypto/openssl/doc/apps/x509v3_config.pod soc2014/pedrosouza/lua_loader/head/crypto/openssl/doc/crypto/ASN1_generate_nconf.pod soc2014/pedrosouza/lua_loader/head/crypto/openssl/doc/crypto/BIO_f_base64.pod soc2014/pedrosouza/lua_loader/head/crypto/openssl/doc/crypto/BIO_push.pod soc2014/pedrosouza/lua_loader/head/crypto/openssl/doc/crypto/ERR_get_error.pod soc2014/pedrosouza/lua_loader/head/crypto/openssl/doc/crypto/EVP_DigestInit.pod soc2014/pedrosouza/lua_loader/head/crypto/openssl/doc/crypto/EVP_EncryptInit.pod soc2014/pedrosouza/lua_loader/head/crypto/openssl/doc/crypto/EVP_SignInit.pod soc2014/pedrosouza/lua_loader/head/crypto/openssl/doc/crypto/RSA_set_method.pod soc2014/pedrosouza/lua_loader/head/crypto/openssl/doc/crypto/RSA_sign.pod soc2014/pedrosouza/lua_loader/head/crypto/openssl/doc/crypto/des.pod soc2014/pedrosouza/lua_loader/head/crypto/openssl/doc/crypto/err.pod soc2014/pedrosouza/lua_loader/head/crypto/openssl/doc/crypto/pem.pod soc2014/pedrosouza/lua_loader/head/crypto/openssl/doc/crypto/ui.pod soc2014/pedrosouza/lua_loader/head/crypto/openssl/doc/fingerprints.txt soc2014/pedrosouza/lua_loader/head/crypto/openssl/doc/ssl/SSL_CIPHER_get_name.pod soc2014/pedrosouza/lua_loader/head/crypto/openssl/doc/ssl/SSL_CTX_add_extra_chain_cert.pod soc2014/pedrosouza/lua_loader/head/crypto/openssl/doc/ssl/SSL_CTX_add_session.pod soc2014/pedrosouza/lua_loader/head/crypto/openssl/doc/ssl/SSL_CTX_new.pod soc2014/pedrosouza/lua_loader/head/crypto/openssl/doc/ssl/SSL_CTX_set_cipher_list.pod soc2014/pedrosouza/lua_loader/head/crypto/openssl/doc/ssl/SSL_CTX_set_client_CA_list.pod soc2014/pedrosouza/lua_loader/head/crypto/openssl/doc/ssl/SSL_CTX_set_client_cert_cb.pod soc2014/pedrosouza/lua_loader/head/crypto/openssl/doc/ssl/SSL_CTX_set_options.pod soc2014/pedrosouza/lua_loader/head/crypto/openssl/doc/ssl/SSL_CTX_set_tmp_dh_callback.pod soc2014/pedrosouza/lua_loader/head/crypto/openssl/doc/ssl/SSL_CTX_set_verify.pod soc2014/pedrosouza/lua_loader/head/crypto/openssl/doc/ssl/SSL_get_version.pod soc2014/pedrosouza/lua_loader/head/crypto/openssl/doc/ssl/d2i_SSL_SESSION.pod soc2014/pedrosouza/lua_loader/head/crypto/openssl/ssl/Makefile soc2014/pedrosouza/lua_loader/head/crypto/openssl/ssl/d1_both.c soc2014/pedrosouza/lua_loader/head/crypto/openssl/ssl/d1_clnt.c soc2014/pedrosouza/lua_loader/head/crypto/openssl/ssl/d1_srvr.c soc2014/pedrosouza/lua_loader/head/crypto/openssl/ssl/heartbeat_test.c soc2014/pedrosouza/lua_loader/head/crypto/openssl/ssl/s23_lib.c soc2014/pedrosouza/lua_loader/head/crypto/openssl/ssl/s23_srvr.c soc2014/pedrosouza/lua_loader/head/crypto/openssl/ssl/s2_lib.c soc2014/pedrosouza/lua_loader/head/crypto/openssl/ssl/s3_clnt.c soc2014/pedrosouza/lua_loader/head/crypto/openssl/ssl/s3_enc.c soc2014/pedrosouza/lua_loader/head/crypto/openssl/ssl/s3_lib.c soc2014/pedrosouza/lua_loader/head/crypto/openssl/ssl/s3_pkt.c soc2014/pedrosouza/lua_loader/head/crypto/openssl/ssl/s3_srvr.c soc2014/pedrosouza/lua_loader/head/crypto/openssl/ssl/ssl.h soc2014/pedrosouza/lua_loader/head/crypto/openssl/ssl/ssl_ciph.c soc2014/pedrosouza/lua_loader/head/crypto/openssl/ssl/ssl_err.c soc2014/pedrosouza/lua_loader/head/crypto/openssl/ssl/ssl_lib.c soc2014/pedrosouza/lua_loader/head/crypto/openssl/ssl/ssl_locl.h soc2014/pedrosouza/lua_loader/head/crypto/openssl/ssl/ssl_stat.c soc2014/pedrosouza/lua_loader/head/crypto/openssl/ssl/t1_enc.c soc2014/pedrosouza/lua_loader/head/crypto/openssl/ssl/t1_lib.c soc2014/pedrosouza/lua_loader/head/crypto/openssl/ssl/tls_srp.c soc2014/pedrosouza/lua_loader/head/crypto/openssl/util/mk1mf.pl soc2014/pedrosouza/lua_loader/head/crypto/openssl/util/mkdef.pl soc2014/pedrosouza/lua_loader/head/crypto/openssl/util/mkerr.pl soc2014/pedrosouza/lua_loader/head/crypto/openssl/util/ssleay.num soc2014/pedrosouza/lua_loader/head/etc/Makefile soc2014/pedrosouza/lua_loader/head/etc/defaults/rc.conf soc2014/pedrosouza/lua_loader/head/etc/devd/Makefile soc2014/pedrosouza/lua_loader/head/etc/mtree/BSD.root.dist soc2014/pedrosouza/lua_loader/head/etc/mtree/BSD.tests.dist soc2014/pedrosouza/lua_loader/head/etc/rc.d/Makefile soc2014/pedrosouza/lua_loader/head/etc/rc.subr soc2014/pedrosouza/lua_loader/head/games/fortune/datfiles/freebsd-tips soc2014/pedrosouza/lua_loader/head/games/grdc/Makefile soc2014/pedrosouza/lua_loader/head/gnu/lib/libgcc/Makefile soc2014/pedrosouza/lua_loader/head/gnu/lib/libreadline/readline/Makefile soc2014/pedrosouza/lua_loader/head/gnu/usr.bin/binutils/addr2line/Makefile soc2014/pedrosouza/lua_loader/head/gnu/usr.bin/binutils/nm/Makefile soc2014/pedrosouza/lua_loader/head/gnu/usr.bin/binutils/objcopy/Makefile soc2014/pedrosouza/lua_loader/head/gnu/usr.bin/binutils/objdump/Makefile soc2014/pedrosouza/lua_loader/head/gnu/usr.bin/binutils/readelf/Makefile soc2014/pedrosouza/lua_loader/head/gnu/usr.bin/binutils/size/Makefile soc2014/pedrosouza/lua_loader/head/gnu/usr.bin/binutils/strings/Makefile soc2014/pedrosouza/lua_loader/head/gnu/usr.bin/binutils/strip/Makefile soc2014/pedrosouza/lua_loader/head/gnu/usr.bin/gdb/Makefile.inc soc2014/pedrosouza/lua_loader/head/gnu/usr.bin/gdb/gdb/Makefile soc2014/pedrosouza/lua_loader/head/gnu/usr.bin/gdb/gdbtui/Makefile soc2014/pedrosouza/lua_loader/head/gnu/usr.bin/gdb/kgdb/Makefile soc2014/pedrosouza/lua_loader/head/gnu/usr.bin/groff/src/devices/grodvi/Makefile soc2014/pedrosouza/lua_loader/head/gnu/usr.bin/groff/src/devices/grohtml/Makefile soc2014/pedrosouza/lua_loader/head/gnu/usr.bin/groff/src/devices/grolbp/Makefile soc2014/pedrosouza/lua_loader/head/gnu/usr.bin/groff/src/devices/grolj4/Makefile soc2014/pedrosouza/lua_loader/head/gnu/usr.bin/groff/src/devices/grops/Makefile soc2014/pedrosouza/lua_loader/head/gnu/usr.bin/groff/src/devices/grotty/Makefile soc2014/pedrosouza/lua_loader/head/gnu/usr.bin/groff/src/preproc/eqn/Makefile soc2014/pedrosouza/lua_loader/head/gnu/usr.bin/groff/src/preproc/grn/Makefile soc2014/pedrosouza/lua_loader/head/gnu/usr.bin/groff/src/preproc/html/Makefile soc2014/pedrosouza/lua_loader/head/gnu/usr.bin/groff/src/preproc/pic/Makefile soc2014/pedrosouza/lua_loader/head/gnu/usr.bin/groff/src/preproc/refer/Makefile soc2014/pedrosouza/lua_loader/head/gnu/usr.bin/groff/src/preproc/soelim/Makefile soc2014/pedrosouza/lua_loader/head/gnu/usr.bin/groff/src/preproc/tbl/Makefile soc2014/pedrosouza/lua_loader/head/gnu/usr.bin/groff/src/roff/groff/Makefile soc2014/pedrosouza/lua_loader/head/gnu/usr.bin/groff/src/roff/troff/Makefile soc2014/pedrosouza/lua_loader/head/gnu/usr.bin/groff/src/utils/addftinfo/Makefile soc2014/pedrosouza/lua_loader/head/gnu/usr.bin/groff/src/utils/hpftodit/Makefile soc2014/pedrosouza/lua_loader/head/gnu/usr.bin/groff/src/utils/indxbib/Makefile soc2014/pedrosouza/lua_loader/head/gnu/usr.bin/groff/src/utils/lkbib/Makefile soc2014/pedrosouza/lua_loader/head/gnu/usr.bin/groff/src/utils/lookbib/Makefile soc2014/pedrosouza/lua_loader/head/gnu/usr.bin/groff/src/utils/tfmtodit/Makefile soc2014/pedrosouza/lua_loader/head/gnu/usr.bin/rcs/Makefile.inc soc2014/pedrosouza/lua_loader/head/gnu/usr.bin/texinfo/info/Makefile soc2014/pedrosouza/lua_loader/head/gnu/usr.bin/texinfo/infokey/Makefile soc2014/pedrosouza/lua_loader/head/gnu/usr.bin/texinfo/install-info/Makefile soc2014/pedrosouza/lua_loader/head/gnu/usr.bin/texinfo/makeinfo/Makefile soc2014/pedrosouza/lua_loader/head/gnu/usr.bin/texinfo/texindex/Makefile soc2014/pedrosouza/lua_loader/head/include/ (props changed) soc2014/pedrosouza/lua_loader/head/include/arpa/inet.h soc2014/pedrosouza/lua_loader/head/include/arpa/nameser.h soc2014/pedrosouza/lua_loader/head/include/arpa/nameser_compat.h soc2014/pedrosouza/lua_loader/head/include/res_update.h soc2014/pedrosouza/lua_loader/head/include/resolv.h soc2014/pedrosouza/lua_loader/head/include/search.h soc2014/pedrosouza/lua_loader/head/include/stddef.h soc2014/pedrosouza/lua_loader/head/kerberos5/lib/libkrb5/Makefile soc2014/pedrosouza/lua_loader/head/kerberos5/libexec/digest-service/Makefile soc2014/pedrosouza/lua_loader/head/kerberos5/libexec/hprop/Makefile soc2014/pedrosouza/lua_loader/head/kerberos5/libexec/hpropd/Makefile soc2014/pedrosouza/lua_loader/head/kerberos5/libexec/ipropd-master/Makefile soc2014/pedrosouza/lua_loader/head/kerberos5/libexec/ipropd-slave/Makefile soc2014/pedrosouza/lua_loader/head/kerberos5/libexec/kadmind/Makefile soc2014/pedrosouza/lua_loader/head/kerberos5/libexec/kcm/Makefile soc2014/pedrosouza/lua_loader/head/kerberos5/libexec/kdc/Makefile soc2014/pedrosouza/lua_loader/head/kerberos5/libexec/kdigest/Makefile soc2014/pedrosouza/lua_loader/head/kerberos5/libexec/kfd/Makefile soc2014/pedrosouza/lua_loader/head/kerberos5/libexec/kimpersonate/Makefile soc2014/pedrosouza/lua_loader/head/kerberos5/libexec/kpasswdd/Makefile soc2014/pedrosouza/lua_loader/head/kerberos5/tools/asn1_compile/Makefile soc2014/pedrosouza/lua_loader/head/kerberos5/tools/slc/Makefile soc2014/pedrosouza/lua_loader/head/kerberos5/usr.bin/hxtool/Makefile soc2014/pedrosouza/lua_loader/head/kerberos5/usr.bin/kadmin/Makefile soc2014/pedrosouza/lua_loader/head/kerberos5/usr.bin/kcc/Makefile soc2014/pedrosouza/lua_loader/head/kerberos5/usr.bin/kdestroy/Makefile soc2014/pedrosouza/lua_loader/head/kerberos5/usr.bin/kf/Makefile soc2014/pedrosouza/lua_loader/head/kerberos5/usr.bin/kgetcred/Makefile soc2014/pedrosouza/lua_loader/head/kerberos5/usr.bin/kinit/Makefile soc2014/pedrosouza/lua_loader/head/kerberos5/usr.bin/kpasswd/Makefile soc2014/pedrosouza/lua_loader/head/kerberos5/usr.bin/ksu/Makefile soc2014/pedrosouza/lua_loader/head/kerberos5/usr.bin/string2key/Makefile soc2014/pedrosouza/lua_loader/head/kerberos5/usr.bin/verify_krb5_conf/Makefile soc2014/pedrosouza/lua_loader/head/kerberos5/usr.sbin/iprop-log/Makefile soc2014/pedrosouza/lua_loader/head/kerberos5/usr.sbin/kstash/Makefile soc2014/pedrosouza/lua_loader/head/kerberos5/usr.sbin/ktutil/Makefile soc2014/pedrosouza/lua_loader/head/lib/Makefile soc2014/pedrosouza/lua_loader/head/lib/atf/libatf-c++/Makefile soc2014/pedrosouza/lua_loader/head/lib/clang/clang.build.mk soc2014/pedrosouza/lua_loader/head/lib/clang/include/clang/Config/config.h soc2014/pedrosouza/lua_loader/head/lib/clang/include/llvm/Config/config.h soc2014/pedrosouza/lua_loader/head/lib/csu/amd64/Makefile soc2014/pedrosouza/lua_loader/head/lib/csu/i386-elf/Makefile soc2014/pedrosouza/lua_loader/head/lib/libarchive/config_freebsd.h soc2014/pedrosouza/lua_loader/head/lib/libc/ (props changed) soc2014/pedrosouza/lua_loader/head/lib/libc++/Makefile soc2014/pedrosouza/lua_loader/head/lib/libc/Makefile soc2014/pedrosouza/lua_loader/head/lib/libc/arm/Symbol.map soc2014/pedrosouza/lua_loader/head/lib/libc/arm/aeabi/Makefile.inc soc2014/pedrosouza/lua_loader/head/lib/libc/arm/aeabi/aeabi_vfp.h soc2014/pedrosouza/lua_loader/head/lib/libc/gen/directory.3 soc2014/pedrosouza/lua_loader/head/lib/libc/gen/posix_spawnattr_init.3 soc2014/pedrosouza/lua_loader/head/lib/libc/gen/rewinddir.c soc2014/pedrosouza/lua_loader/head/lib/libc/gen/telldir.c soc2014/pedrosouza/lua_loader/head/lib/libc/gen/ttyname.3 soc2014/pedrosouza/lua_loader/head/lib/libc/iconv/iconv.3 soc2014/pedrosouza/lua_loader/head/lib/libc/include/isc/eventlib.h soc2014/pedrosouza/lua_loader/head/lib/libc/include/isc/list.h soc2014/pedrosouza/lua_loader/head/lib/libc/include/port_before.h soc2014/pedrosouza/lua_loader/head/lib/libc/inet/inet_addr.c soc2014/pedrosouza/lua_loader/head/lib/libc/inet/inet_cidr_ntop.c soc2014/pedrosouza/lua_loader/head/lib/libc/inet/inet_cidr_pton.c soc2014/pedrosouza/lua_loader/head/lib/libc/inet/inet_net_ntop.c soc2014/pedrosouza/lua_loader/head/lib/libc/inet/inet_net_pton.c soc2014/pedrosouza/lua_loader/head/lib/libc/inet/inet_neta.c soc2014/pedrosouza/lua_loader/head/lib/libc/inet/inet_ntoa.c soc2014/pedrosouza/lua_loader/head/lib/libc/inet/inet_ntop.c soc2014/pedrosouza/lua_loader/head/lib/libc/inet/inet_pton.c soc2014/pedrosouza/lua_loader/head/lib/libc/inet/nsap_addr.c soc2014/pedrosouza/lua_loader/head/lib/libc/isc/ev_streams.c soc2014/pedrosouza/lua_loader/head/lib/libc/isc/ev_timers.c soc2014/pedrosouza/lua_loader/head/lib/libc/isc/eventlib_p.h soc2014/pedrosouza/lua_loader/head/lib/libc/nameser/Symbol.map soc2014/pedrosouza/lua_loader/head/lib/libc/nameser/ns_name.c soc2014/pedrosouza/lua_loader/head/lib/libc/nameser/ns_netint.c soc2014/pedrosouza/lua_loader/head/lib/libc/nameser/ns_parse.c soc2014/pedrosouza/lua_loader/head/lib/libc/nameser/ns_print.c soc2014/pedrosouza/lua_loader/head/lib/libc/nameser/ns_samedomain.c soc2014/pedrosouza/lua_loader/head/lib/libc/nameser/ns_ttl.c soc2014/pedrosouza/lua_loader/head/lib/libc/net/linkaddr.c soc2014/pedrosouza/lua_loader/head/lib/libc/net/sctp_sys_calls.c soc2014/pedrosouza/lua_loader/head/lib/libc/net/sourcefilter.c soc2014/pedrosouza/lua_loader/head/lib/libc/resolv/Makefile.inc soc2014/pedrosouza/lua_loader/head/lib/libc/resolv/Symbol.map soc2014/pedrosouza/lua_loader/head/lib/libc/resolv/herror.c soc2014/pedrosouza/lua_loader/head/lib/libc/resolv/res_comp.c soc2014/pedrosouza/lua_loader/head/lib/libc/resolv/res_data.c soc2014/pedrosouza/lua_loader/head/lib/libc/resolv/res_debug.c soc2014/pedrosouza/lua_loader/head/lib/libc/resolv/res_findzonecut.c soc2014/pedrosouza/lua_loader/head/lib/libc/resolv/res_init.c soc2014/pedrosouza/lua_loader/head/lib/libc/resolv/res_mkquery.c soc2014/pedrosouza/lua_loader/head/lib/libc/resolv/res_mkupdate.c soc2014/pedrosouza/lua_loader/head/lib/libc/resolv/res_query.c soc2014/pedrosouza/lua_loader/head/lib/libc/resolv/res_send.c soc2014/pedrosouza/lua_loader/head/lib/libc/resolv/res_update.c soc2014/pedrosouza/lua_loader/head/lib/libc/stdio/fflush.c soc2014/pedrosouza/lua_loader/head/lib/libc/stdio/fputs.c soc2014/pedrosouza/lua_loader/head/lib/libc/stdio/fputws.c soc2014/pedrosouza/lua_loader/head/lib/libc/stdio/freopen.c soc2014/pedrosouza/lua_loader/head/lib/libc/stdio/ftell.c soc2014/pedrosouza/lua_loader/head/lib/libc/stdio/getline.3 soc2014/pedrosouza/lua_loader/head/lib/libc/stdio/gets.c soc2014/pedrosouza/lua_loader/head/lib/libc/stdio/puts.c soc2014/pedrosouza/lua_loader/head/lib/libc/stdio/putw.c soc2014/pedrosouza/lua_loader/head/lib/libc/stdio/rewind.c soc2014/pedrosouza/lua_loader/head/lib/libc/stdio/vfprintf.c soc2014/pedrosouza/lua_loader/head/lib/libc/stdio/vfwprintf.c soc2014/pedrosouza/lua_loader/head/lib/libc/stdio/wbuf.c soc2014/pedrosouza/lua_loader/head/lib/libc/stdlib/Makefile.inc soc2014/pedrosouza/lua_loader/head/lib/libc/stdlib/Symbol.map soc2014/pedrosouza/lua_loader/head/lib/libc/stdlib/hcreate.3 soc2014/pedrosouza/lua_loader/head/lib/libc/stdlib/hcreate.c soc2014/pedrosouza/lua_loader/head/lib/libc/stdlib/strtonum.c soc2014/pedrosouza/lua_loader/head/lib/libc/stdtime/strftime.c soc2014/pedrosouza/lua_loader/head/lib/libc/sys/kqueue.2 soc2014/pedrosouza/lua_loader/head/lib/libcrypt/tests/Makefile soc2014/pedrosouza/lua_loader/head/lib/libcuse/Makefile soc2014/pedrosouza/lua_loader/head/lib/libedit/Makefile soc2014/pedrosouza/lua_loader/head/lib/libedit/TEST/tc1.c soc2014/pedrosouza/lua_loader/head/lib/libmp/Makefile soc2014/pedrosouza/lua_loader/head/lib/libnv/Makefile soc2014/pedrosouza/lua_loader/head/lib/libopie/Makefile soc2014/pedrosouza/lua_loader/head/lib/libpam/modules/pam_group/pam_group.8 soc2014/pedrosouza/lua_loader/head/lib/libpam/modules/pam_group/pam_group.c soc2014/pedrosouza/lua_loader/head/lib/libpam/modules/pam_lastlog/pam_lastlog.c soc2014/pedrosouza/lua_loader/head/lib/libpam/modules/pam_opie/pam_opie.c soc2014/pedrosouza/lua_loader/head/lib/libpam/modules/pam_ssh/Makefile soc2014/pedrosouza/lua_loader/head/lib/libpmc/pmc.3 soc2014/pedrosouza/lua_loader/head/lib/libproc/proc_sym.c soc2014/pedrosouza/lua_loader/head/lib/libsbuf/Makefile soc2014/pedrosouza/lua_loader/head/lib/libstand/Makefile soc2014/pedrosouza/lua_loader/head/lib/libstand/open.c soc2014/pedrosouza/lua_loader/head/lib/libstand/qdivrem.c soc2014/pedrosouza/lua_loader/head/lib/libstand/quad.h soc2014/pedrosouza/lua_loader/head/lib/libstand/stand.h soc2014/pedrosouza/lua_loader/head/lib/libthr/thread/thr_init.c soc2014/pedrosouza/lua_loader/head/lib/libthr/thread/thr_stack.c soc2014/pedrosouza/lua_loader/head/lib/libucl/Makefile soc2014/pedrosouza/lua_loader/head/lib/libunbound/Makefile soc2014/pedrosouza/lua_loader/head/lib/libusb/libusb.h soc2014/pedrosouza/lua_loader/head/lib/libutil/Makefile soc2014/pedrosouza/lua_loader/head/lib/libutil/fparseln.c soc2014/pedrosouza/lua_loader/head/lib/libvmmapi/vmmapi.c soc2014/pedrosouza/lua_loader/head/lib/libvmmapi/vmmapi.h soc2014/pedrosouza/lua_loader/head/lib/msun/arm/fenv.c soc2014/pedrosouza/lua_loader/head/lib/msun/src/math.h soc2014/pedrosouza/lua_loader/head/libexec/atf/atf-check/Makefile soc2014/pedrosouza/lua_loader/head/libexec/atf/atf-sh/Makefile soc2014/pedrosouza/lua_loader/head/libexec/getty/main.c soc2014/pedrosouza/lua_loader/head/libexec/mail.local/Makefile soc2014/pedrosouza/lua_loader/head/libexec/rshd/rshd.c soc2014/pedrosouza/lua_loader/head/libexec/rtld-elf/Makefile soc2014/pedrosouza/lua_loader/head/libexec/rtld-elf/libmap.c soc2014/pedrosouza/lua_loader/head/libexec/rtld-elf/tests/Makefile soc2014/pedrosouza/lua_loader/head/libexec/rtld-elf/tests/ld_library_pathfds.c soc2014/pedrosouza/lua_loader/head/libexec/rtld-elf/tests/libpythagoras/Makefile soc2014/pedrosouza/lua_loader/head/libexec/rtld-elf/tests/target/Makefile soc2014/pedrosouza/lua_loader/head/libexec/save-entropy/save-entropy.sh soc2014/pedrosouza/lua_loader/head/libexec/smrsh/Makefile soc2014/pedrosouza/lua_loader/head/libexec/telnetd/Makefile soc2014/pedrosouza/lua_loader/head/release/arm/BEAGLEBONE.conf soc2014/pedrosouza/lua_loader/head/release/arm/PANDABOARD.conf soc2014/pedrosouza/lua_loader/head/release/arm/RPI-B.conf soc2014/pedrosouza/lua_loader/head/release/arm/WANDBOARD-QUAD.conf soc2014/pedrosouza/lua_loader/head/release/arm/ZEDBOARD.conf soc2014/pedrosouza/lua_loader/head/release/arm/release.sh soc2014/pedrosouza/lua_loader/head/release/release.conf.sample soc2014/pedrosouza/lua_loader/head/release/release.sh soc2014/pedrosouza/lua_loader/head/rescue/rescue/Makefile soc2014/pedrosouza/lua_loader/head/sbin/ (props changed) soc2014/pedrosouza/lua_loader/head/sbin/atm/atmconfig/Makefile soc2014/pedrosouza/lua_loader/head/sbin/atm/atmconfig/main.c soc2014/pedrosouza/lua_loader/head/sbin/devd/Makefile soc2014/pedrosouza/lua_loader/head/sbin/devd/devd.8 soc2014/pedrosouza/lua_loader/head/sbin/devd/devd.cc soc2014/pedrosouza/lua_loader/head/sbin/dhclient/tests/Makefile soc2014/pedrosouza/lua_loader/head/sbin/fsck/Makefile soc2014/pedrosouza/lua_loader/head/sbin/fsdb/Makefile soc2014/pedrosouza/lua_loader/head/sbin/geom/class/part/gpart.8 soc2014/pedrosouza/lua_loader/head/sbin/geom/class/virstor/gvirstor.8 soc2014/pedrosouza/lua_loader/head/sbin/gvinum/Makefile soc2014/pedrosouza/lua_loader/head/sbin/hastd/Makefile soc2014/pedrosouza/lua_loader/head/sbin/ifconfig/Makefile soc2014/pedrosouza/lua_loader/head/sbin/ifconfig/ifconfig.c soc2014/pedrosouza/lua_loader/head/sbin/ifconfig/ifconfig.h soc2014/pedrosouza/lua_loader/head/sbin/init/init.c soc2014/pedrosouza/lua_loader/head/sbin/ipf/Makefile.inc soc2014/pedrosouza/lua_loader/head/sbin/ipf/ipf/Makefile soc2014/pedrosouza/lua_loader/head/sbin/ipf/ipfstat/Makefile soc2014/pedrosouza/lua_loader/head/sbin/ipf/ipftest/Makefile soc2014/pedrosouza/lua_loader/head/sbin/ipf/ipmon/Makefile soc2014/pedrosouza/lua_loader/head/sbin/ipf/ipnat/Makefile soc2014/pedrosouza/lua_loader/head/sbin/ipf/ippool/Makefile soc2014/pedrosouza/lua_loader/head/sbin/ipf/ipresend/Makefile soc2014/pedrosouza/lua_loader/head/sbin/ipfw/altq.c soc2014/pedrosouza/lua_loader/head/sbin/ipfw/dummynet.c soc2014/pedrosouza/lua_loader/head/sbin/ipfw/ipfw2.c soc2014/pedrosouza/lua_loader/head/sbin/ipfw/ipfw2.h soc2014/pedrosouza/lua_loader/head/sbin/ipfw/ipv6.c soc2014/pedrosouza/lua_loader/head/sbin/mksnap_ffs/Makefile soc2014/pedrosouza/lua_loader/head/sbin/mount/mntopts.h soc2014/pedrosouza/lua_loader/head/sbin/mount/mount.8 soc2014/pedrosouza/lua_loader/head/sbin/mount/mount.c soc2014/pedrosouza/lua_loader/head/sbin/mount_nfs/mount_nfs.8 soc2014/pedrosouza/lua_loader/head/sbin/mount_nfs/mount_nfs.c soc2014/pedrosouza/lua_loader/head/sbin/newfs_msdos/newfs_msdos.c soc2014/pedrosouza/lua_loader/head/sbin/ping6/ping6.c soc2014/pedrosouza/lua_loader/head/sbin/rcorder/Makefile soc2014/pedrosouza/lua_loader/head/sbin/restore/tape.c soc2014/pedrosouza/lua_loader/head/sbin/setkey/setkey.8 soc2014/pedrosouza/lua_loader/head/sbin/shutdown/Makefile soc2014/pedrosouza/lua_loader/head/sbin/umount/umount.c soc2014/pedrosouza/lua_loader/head/secure/lib/libcrypto/Makefile.inc soc2014/pedrosouza/lua_loader/head/secure/lib/libcrypto/man/ASN1_OBJECT_new.3 soc2014/pedrosouza/lua_loader/head/secure/lib/libcrypto/man/ASN1_STRING_length.3 soc2014/pedrosouza/lua_loader/head/secure/lib/libcrypto/man/ASN1_STRING_new.3 soc2014/pedrosouza/lua_loader/head/secure/lib/libcrypto/man/ASN1_STRING_print_ex.3 soc2014/pedrosouza/lua_loader/head/secure/lib/libcrypto/man/ASN1_generate_nconf.3 soc2014/pedrosouza/lua_loader/head/secure/lib/libcrypto/man/BIO_ctrl.3 soc2014/pedrosouza/lua_loader/head/secure/lib/libcrypto/man/BIO_f_base64.3 soc2014/pedrosouza/lua_loader/head/secure/lib/libcrypto/man/BIO_f_buffer.3 soc2014/pedrosouza/lua_loader/head/secure/lib/libcrypto/man/BIO_f_cipher.3 soc2014/pedrosouza/lua_loader/head/secure/lib/libcrypto/man/BIO_f_md.3 soc2014/pedrosouza/lua_loader/head/secure/lib/libcrypto/man/BIO_f_null.3 soc2014/pedrosouza/lua_loader/head/secure/lib/libcrypto/man/BIO_f_ssl.3 soc2014/pedrosouza/lua_loader/head/secure/lib/libcrypto/man/BIO_find_type.3 soc2014/pedrosouza/lua_loader/head/secure/lib/libcrypto/man/BIO_new.3 soc2014/pedrosouza/lua_loader/head/secure/lib/libcrypto/man/BIO_new_CMS.3 soc2014/pedrosouza/lua_loader/head/secure/lib/libcrypto/man/BIO_push.3 soc2014/pedrosouza/lua_loader/head/secure/lib/libcrypto/man/BIO_read.3 soc2014/pedrosouza/lua_loader/head/secure/lib/libcrypto/man/BIO_s_accept.3 soc2014/pedrosouza/lua_loader/head/secure/lib/libcrypto/man/BIO_s_bio.3 soc2014/pedrosouza/lua_loader/head/secure/lib/libcrypto/man/BIO_s_connect.3 soc2014/pedrosouza/lua_loader/head/secure/lib/libcrypto/man/BIO_s_fd.3 soc2014/pedrosouza/lua_loader/head/secure/lib/libcrypto/man/BIO_s_file.3 soc2014/pedrosouza/lua_loader/head/secure/lib/libcrypto/man/BIO_s_mem.3 soc2014/pedrosouza/lua_loader/head/secure/lib/libcrypto/man/BIO_s_null.3 soc2014/pedrosouza/lua_loader/head/secure/lib/libcrypto/man/BIO_s_socket.3 soc2014/pedrosouza/lua_loader/head/secure/lib/libcrypto/man/BIO_set_callback.3 soc2014/pedrosouza/lua_loader/head/secure/lib/libcrypto/man/BIO_should_retry.3 soc2014/pedrosouza/lua_loader/head/secure/lib/libcrypto/man/BN_BLINDING_new.3 soc2014/pedrosouza/lua_loader/head/secure/lib/libcrypto/man/BN_CTX_new.3 soc2014/pedrosouza/lua_loader/head/secure/lib/libcrypto/man/BN_CTX_start.3 soc2014/pedrosouza/lua_loader/head/secure/lib/libcrypto/man/BN_add.3 soc2014/pedrosouza/lua_loader/head/secure/lib/libcrypto/man/BN_add_word.3 soc2014/pedrosouza/lua_loader/head/secure/lib/libcrypto/man/BN_bn2bin.3 soc2014/pedrosouza/lua_loader/head/secure/lib/libcrypto/man/BN_cmp.3 soc2014/pedrosouza/lua_loader/head/secure/lib/libcrypto/man/BN_copy.3 soc2014/pedrosouza/lua_loader/head/secure/lib/libcrypto/man/BN_generate_prime.3 soc2014/pedrosouza/lua_loader/head/secure/lib/libcrypto/man/BN_mod_inverse.3 soc2014/pedrosouza/lua_loader/head/secure/lib/libcrypto/man/BN_mod_mul_montgomery.3 soc2014/pedrosouza/lua_loader/head/secure/lib/libcrypto/man/BN_mod_mul_reciprocal.3 soc2014/pedrosouza/lua_loader/head/secure/lib/libcrypto/man/BN_new.3 soc2014/pedrosouza/lua_loader/head/secure/lib/libcrypto/man/BN_num_bytes.3 soc2014/pedrosouza/lua_loader/head/secure/lib/libcrypto/man/BN_rand.3 soc2014/pedrosouza/lua_loader/head/secure/lib/libcrypto/man/BN_set_bit.3 soc2014/pedrosouza/lua_loader/head/secure/lib/libcrypto/man/BN_swap.3 soc2014/pedrosouza/lua_loader/head/secure/lib/libcrypto/man/BN_zero.3 soc2014/pedrosouza/lua_loader/head/secure/lib/libcrypto/man/CMS_add0_cert.3 soc2014/pedrosouza/lua_loader/head/secure/lib/libcrypto/man/CMS_add1_recipient_cert.3 soc2014/pedrosouza/lua_loader/head/secure/lib/libcrypto/man/CMS_compress.3 soc2014/pedrosouza/lua_loader/head/secure/lib/libcrypto/man/CMS_decrypt.3 soc2014/pedrosouza/lua_loader/head/secure/lib/libcrypto/man/CMS_encrypt.3 soc2014/pedrosouza/lua_loader/head/secure/lib/libcrypto/man/CMS_final.3 soc2014/pedrosouza/lua_loader/head/secure/lib/libcrypto/man/CMS_get0_RecipientInfos.3 soc2014/pedrosouza/lua_loader/head/secure/lib/libcrypto/man/CMS_get0_SignerInfos.3 soc2014/pedrosouza/lua_loader/head/secure/lib/libcrypto/man/CMS_get0_type.3 soc2014/pedrosouza/lua_loader/head/secure/lib/libcrypto/man/CMS_get1_ReceiptRequest.3 soc2014/pedrosouza/lua_loader/head/secure/lib/libcrypto/man/CMS_sign.3 soc2014/pedrosouza/lua_loader/head/secure/lib/libcrypto/man/CMS_sign_add1_signer.3 soc2014/pedrosouza/lua_loader/head/secure/lib/libcrypto/man/CMS_sign_receipt.3 soc2014/pedrosouza/lua_loader/head/secure/lib/libcrypto/man/CMS_uncompress.3 soc2014/pedrosouza/lua_loader/head/secure/lib/libcrypto/man/CMS_verify.3 soc2014/pedrosouza/lua_loader/head/secure/lib/libcrypto/man/CMS_verify_receipt.3 soc2014/pedrosouza/lua_loader/head/secure/lib/libcrypto/man/CONF_modules_free.3 soc2014/pedrosouza/lua_loader/head/secure/lib/libcrypto/man/CONF_modules_load_file.3 soc2014/pedrosouza/lua_loader/head/secure/lib/libcrypto/man/CRYPTO_set_ex_data.3 soc2014/pedrosouza/lua_loader/head/secure/lib/libcrypto/man/DH_generate_key.3 soc2014/pedrosouza/lua_loader/head/secure/lib/libcrypto/man/DH_generate_parameters.3 soc2014/pedrosouza/lua_loader/head/secure/lib/libcrypto/man/DH_get_ex_new_index.3 soc2014/pedrosouza/lua_loader/head/secure/lib/libcrypto/man/DH_new.3 soc2014/pedrosouza/lua_loader/head/secure/lib/libcrypto/man/DH_set_method.3 soc2014/pedrosouza/lua_loader/head/secure/lib/libcrypto/man/DH_size.3 soc2014/pedrosouza/lua_loader/head/secure/lib/libcrypto/man/DSA_SIG_new.3 soc2014/pedrosouza/lua_loader/head/secure/lib/libcrypto/man/DSA_do_sign.3 soc2014/pedrosouza/lua_loader/head/secure/lib/libcrypto/man/DSA_dup_DH.3 soc2014/pedrosouza/lua_loader/head/secure/lib/libcrypto/man/DSA_generate_key.3 soc2014/pedrosouza/lua_loader/head/secure/lib/libcrypto/man/DSA_generate_parameters.3 soc2014/pedrosouza/lua_loader/head/secure/lib/libcrypto/man/DSA_get_ex_new_index.3 soc2014/pedrosouza/lua_loader/head/secure/lib/libcrypto/man/DSA_new.3 soc2014/pedrosouza/lua_loader/head/secure/lib/libcrypto/man/DSA_set_method.3 soc2014/pedrosouza/lua_loader/head/secure/lib/libcrypto/man/DSA_sign.3 soc2014/pedrosouza/lua_loader/head/secure/lib/libcrypto/man/DSA_size.3 soc2014/pedrosouza/lua_loader/head/secure/lib/libcrypto/man/ERR_GET_LIB.3 soc2014/pedrosouza/lua_loader/head/secure/lib/libcrypto/man/ERR_clear_error.3 soc2014/pedrosouza/lua_loader/head/secure/lib/libcrypto/man/ERR_error_string.3 soc2014/pedrosouza/lua_loader/head/secure/lib/libcrypto/man/ERR_get_error.3 soc2014/pedrosouza/lua_loader/head/secure/lib/libcrypto/man/ERR_load_crypto_strings.3 soc2014/pedrosouza/lua_loader/head/secure/lib/libcrypto/man/ERR_load_strings.3 soc2014/pedrosouza/lua_loader/head/secure/lib/libcrypto/man/ERR_print_errors.3 soc2014/pedrosouza/lua_loader/head/secure/lib/libcrypto/man/ERR_put_error.3 soc2014/pedrosouza/lua_loader/head/secure/lib/libcrypto/man/ERR_remove_state.3 soc2014/pedrosouza/lua_loader/head/secure/lib/libcrypto/man/ERR_set_mark.3 soc2014/pedrosouza/lua_loader/head/secure/lib/libcrypto/man/EVP_BytesToKey.3 soc2014/pedrosouza/lua_loader/head/secure/lib/libcrypto/man/EVP_DigestInit.3 soc2014/pedrosouza/lua_loader/head/secure/lib/libcrypto/man/EVP_DigestSignInit.3 soc2014/pedrosouza/lua_loader/head/secure/lib/libcrypto/man/EVP_DigestVerifyInit.3 soc2014/pedrosouza/lua_loader/head/secure/lib/libcrypto/man/EVP_EncryptInit.3 soc2014/pedrosouza/lua_loader/head/secure/lib/libcrypto/man/EVP_OpenInit.3 soc2014/pedrosouza/lua_loader/head/secure/lib/libcrypto/man/EVP_PKEY_CTX_ctrl.3 soc2014/pedrosouza/lua_loader/head/secure/lib/libcrypto/man/EVP_PKEY_CTX_new.3 soc2014/pedrosouza/lua_loader/head/secure/lib/libcrypto/man/EVP_PKEY_cmp.3 soc2014/pedrosouza/lua_loader/head/secure/lib/libcrypto/man/EVP_PKEY_decrypt.3 soc2014/pedrosouza/lua_loader/head/secure/lib/libcrypto/man/EVP_PKEY_derive.3 soc2014/pedrosouza/lua_loader/head/secure/lib/libcrypto/man/EVP_PKEY_encrypt.3 soc2014/pedrosouza/lua_loader/head/secure/lib/libcrypto/man/EVP_PKEY_get_default_digest.3 soc2014/pedrosouza/lua_loader/head/secure/lib/libcrypto/man/EVP_PKEY_keygen.3 soc2014/pedrosouza/lua_loader/head/secure/lib/libcrypto/man/EVP_PKEY_new.3 soc2014/pedrosouza/lua_loader/head/secure/lib/libcrypto/man/EVP_PKEY_print_private.3 soc2014/pedrosouza/lua_loader/head/secure/lib/libcrypto/man/EVP_PKEY_set1_RSA.3 soc2014/pedrosouza/lua_loader/head/secure/lib/libcrypto/man/EVP_PKEY_sign.3 soc2014/pedrosouza/lua_loader/head/secure/lib/libcrypto/man/EVP_PKEY_verify.3 soc2014/pedrosouza/lua_loader/head/secure/lib/libcrypto/man/EVP_PKEY_verify_recover.3 soc2014/pedrosouza/lua_loader/head/secure/lib/libcrypto/man/EVP_SealInit.3 soc2014/pedrosouza/lua_loader/head/secure/lib/libcrypto/man/EVP_SignInit.3 soc2014/pedrosouza/lua_loader/head/secure/lib/libcrypto/man/EVP_VerifyInit.3 soc2014/pedrosouza/lua_loader/head/secure/lib/libcrypto/man/OBJ_nid2obj.3 soc2014/pedrosouza/lua_loader/head/secure/lib/libcrypto/man/OPENSSL_Applink.3 soc2014/pedrosouza/lua_loader/head/secure/lib/libcrypto/man/OPENSSL_VERSION_NUMBER.3 soc2014/pedrosouza/lua_loader/head/secure/lib/libcrypto/man/OPENSSL_config.3 soc2014/pedrosouza/lua_loader/head/secure/lib/libcrypto/man/OPENSSL_ia32cap.3 soc2014/pedrosouza/lua_loader/head/secure/lib/libcrypto/man/OPENSSL_load_builtin_modules.3 soc2014/pedrosouza/lua_loader/head/secure/lib/libcrypto/man/OpenSSL_add_all_algorithms.3 soc2014/pedrosouza/lua_loader/head/secure/lib/libcrypto/man/PEM_write_bio_CMS_stream.3 soc2014/pedrosouza/lua_loader/head/secure/lib/libcrypto/man/PEM_write_bio_PKCS7_stream.3 soc2014/pedrosouza/lua_loader/head/secure/lib/libcrypto/man/PKCS12_create.3 soc2014/pedrosouza/lua_loader/head/secure/lib/libcrypto/man/PKCS12_parse.3 soc2014/pedrosouza/lua_loader/head/secure/lib/libcrypto/man/PKCS7_decrypt.3 soc2014/pedrosouza/lua_loader/head/secure/lib/libcrypto/man/PKCS7_encrypt.3 soc2014/pedrosouza/lua_loader/head/secure/lib/libcrypto/man/PKCS7_sign.3 soc2014/pedrosouza/lua_loader/head/secure/lib/libcrypto/man/PKCS7_sign_add_signer.3 soc2014/pedrosouza/lua_loader/head/secure/lib/libcrypto/man/PKCS7_verify.3 soc2014/pedrosouza/lua_loader/head/secure/lib/libcrypto/man/RAND_add.3 soc2014/pedrosouza/lua_loader/head/secure/lib/libcrypto/man/RAND_bytes.3 soc2014/pedrosouza/lua_loader/head/secure/lib/libcrypto/man/RAND_cleanup.3 soc2014/pedrosouza/lua_loader/head/secure/lib/libcrypto/man/RAND_egd.3 soc2014/pedrosouza/lua_loader/head/secure/lib/libcrypto/man/RAND_load_file.3 soc2014/pedrosouza/lua_loader/head/secure/lib/libcrypto/man/RAND_set_rand_method.3 soc2014/pedrosouza/lua_loader/head/secure/lib/libcrypto/man/RSA_blinding_on.3 soc2014/pedrosouza/lua_loader/head/secure/lib/libcrypto/man/RSA_check_key.3 soc2014/pedrosouza/lua_loader/head/secure/lib/libcrypto/man/RSA_generate_key.3 soc2014/pedrosouza/lua_loader/head/secure/lib/libcrypto/man/RSA_get_ex_new_index.3 soc2014/pedrosouza/lua_loader/head/secure/lib/libcrypto/man/RSA_new.3 soc2014/pedrosouza/lua_loader/head/secure/lib/libcrypto/man/RSA_padding_add_PKCS1_type_1.3 soc2014/pedrosouza/lua_loader/head/secure/lib/libcrypto/man/RSA_print.3 soc2014/pedrosouza/lua_loader/head/secure/lib/libcrypto/man/RSA_private_encrypt.3 soc2014/pedrosouza/lua_loader/head/secure/lib/libcrypto/man/RSA_public_encrypt.3 soc2014/pedrosouza/lua_loader/head/secure/lib/libcrypto/man/RSA_set_method.3 soc2014/pedrosouza/lua_loader/head/secure/lib/libcrypto/man/RSA_sign.3 soc2014/pedrosouza/lua_loader/head/secure/lib/libcrypto/man/RSA_sign_ASN1_OCTET_STRING.3 soc2014/pedrosouza/lua_loader/head/secure/lib/libcrypto/man/RSA_size.3 soc2014/pedrosouza/lua_loader/head/secure/lib/libcrypto/man/SMIME_read_CMS.3 soc2014/pedrosouza/lua_loader/head/secure/lib/libcrypto/man/SMIME_read_PKCS7.3 soc2014/pedrosouza/lua_loader/head/secure/lib/libcrypto/man/SMIME_write_CMS.3 soc2014/pedrosouza/lua_loader/head/secure/lib/libcrypto/man/SMIME_write_PKCS7.3 soc2014/pedrosouza/lua_loader/head/secure/lib/libcrypto/man/X509_NAME_ENTRY_get_object.3 soc2014/pedrosouza/lua_loader/head/secure/lib/libcrypto/man/X509_NAME_add_entry_by_txt.3 soc2014/pedrosouza/lua_loader/head/secure/lib/libcrypto/man/X509_NAME_get_index_by_NID.3 soc2014/pedrosouza/lua_loader/head/secure/lib/libcrypto/man/X509_NAME_print_ex.3 soc2014/pedrosouza/lua_loader/head/secure/lib/libcrypto/man/X509_STORE_CTX_get_error.3 soc2014/pedrosouza/lua_loader/head/secure/lib/libcrypto/man/X509_STORE_CTX_get_ex_new_index.3 soc2014/pedrosouza/lua_loader/head/secure/lib/libcrypto/man/X509_STORE_CTX_new.3 soc2014/pedrosouza/lua_loader/head/secure/lib/libcrypto/man/X509_STORE_CTX_set_verify_cb.3 soc2014/pedrosouza/lua_loader/head/secure/lib/libcrypto/man/X509_STORE_set_verify_cb_func.3 soc2014/pedrosouza/lua_loader/head/secure/lib/libcrypto/man/X509_VERIFY_PARAM_set_flags.3 soc2014/pedrosouza/lua_loader/head/secure/lib/libcrypto/man/X509_new.3 soc2014/pedrosouza/lua_loader/head/secure/lib/libcrypto/man/X509_verify_cert.3 soc2014/pedrosouza/lua_loader/head/secure/lib/libcrypto/man/bio.3 soc2014/pedrosouza/lua_loader/head/secure/lib/libcrypto/man/blowfish.3 soc2014/pedrosouza/lua_loader/head/secure/lib/libcrypto/man/bn.3 soc2014/pedrosouza/lua_loader/head/secure/lib/libcrypto/man/bn_internal.3 soc2014/pedrosouza/lua_loader/head/secure/lib/libcrypto/man/buffer.3 soc2014/pedrosouza/lua_loader/head/secure/lib/libcrypto/man/crypto.3 soc2014/pedrosouza/lua_loader/head/secure/lib/libcrypto/man/d2i_ASN1_OBJECT.3 soc2014/pedrosouza/lua_loader/head/secure/lib/libcrypto/man/d2i_DHparams.3 soc2014/pedrosouza/lua_loader/head/secure/lib/libcrypto/man/d2i_DSAPublicKey.3 soc2014/pedrosouza/lua_loader/head/secure/lib/libcrypto/man/d2i_PKCS8PrivateKey.3 soc2014/pedrosouza/lua_loader/head/secure/lib/libcrypto/man/d2i_RSAPublicKey.3 soc2014/pedrosouza/lua_loader/head/secure/lib/libcrypto/man/d2i_X509.3 soc2014/pedrosouza/lua_loader/head/secure/lib/libcrypto/man/d2i_X509_ALGOR.3 soc2014/pedrosouza/lua_loader/head/secure/lib/libcrypto/man/d2i_X509_CRL.3 soc2014/pedrosouza/lua_loader/head/secure/lib/libcrypto/man/d2i_X509_NAME.3 soc2014/pedrosouza/lua_loader/head/secure/lib/libcrypto/man/d2i_X509_REQ.3 soc2014/pedrosouza/lua_loader/head/secure/lib/libcrypto/man/d2i_X509_SIG.3 soc2014/pedrosouza/lua_loader/head/secure/lib/libcrypto/man/des.3 soc2014/pedrosouza/lua_loader/head/secure/lib/libcrypto/man/dh.3 soc2014/pedrosouza/lua_loader/head/secure/lib/libcrypto/man/dsa.3 soc2014/pedrosouza/lua_loader/head/secure/lib/libcrypto/man/ecdsa.3 soc2014/pedrosouza/lua_loader/head/secure/lib/libcrypto/man/engine.3 soc2014/pedrosouza/lua_loader/head/secure/lib/libcrypto/man/err.3 soc2014/pedrosouza/lua_loader/head/secure/lib/libcrypto/man/evp.3 soc2014/pedrosouza/lua_loader/head/secure/lib/libcrypto/man/hmac.3 soc2014/pedrosouza/lua_loader/head/secure/lib/libcrypto/man/i2d_CMS_bio_stream.3 soc2014/pedrosouza/lua_loader/head/secure/lib/libcrypto/man/i2d_PKCS7_bio_stream.3 soc2014/pedrosouza/lua_loader/head/secure/lib/libcrypto/man/lh_stats.3 soc2014/pedrosouza/lua_loader/head/secure/lib/libcrypto/man/lhash.3 soc2014/pedrosouza/lua_loader/head/secure/lib/libcrypto/man/md5.3 soc2014/pedrosouza/lua_loader/head/secure/lib/libcrypto/man/mdc2.3 soc2014/pedrosouza/lua_loader/head/secure/lib/libcrypto/man/pem.3 soc2014/pedrosouza/lua_loader/head/secure/lib/libcrypto/man/rand.3 soc2014/pedrosouza/lua_loader/head/secure/lib/libcrypto/man/rc4.3 soc2014/pedrosouza/lua_loader/head/secure/lib/libcrypto/man/ripemd.3 soc2014/pedrosouza/lua_loader/head/secure/lib/libcrypto/man/rsa.3 soc2014/pedrosouza/lua_loader/head/secure/lib/libcrypto/man/sha.3 soc2014/pedrosouza/lua_loader/head/secure/lib/libcrypto/man/threads.3 soc2014/pedrosouza/lua_loader/head/secure/lib/libcrypto/man/ui.3 soc2014/pedrosouza/lua_loader/head/secure/lib/libcrypto/man/ui_compat.3 soc2014/pedrosouza/lua_loader/head/secure/lib/libcrypto/man/x509.3 soc2014/pedrosouza/lua_loader/head/secure/lib/libssh/Makefile soc2014/pedrosouza/lua_loader/head/secure/lib/libssl/Makefile.man soc2014/pedrosouza/lua_loader/head/secure/lib/libssl/man/SSL_CIPHER_get_name.3 soc2014/pedrosouza/lua_loader/head/secure/lib/libssl/man/SSL_COMP_add_compression_method.3 soc2014/pedrosouza/lua_loader/head/secure/lib/libssl/man/SSL_CTX_add_extra_chain_cert.3 soc2014/pedrosouza/lua_loader/head/secure/lib/libssl/man/SSL_CTX_add_session.3 soc2014/pedrosouza/lua_loader/head/secure/lib/libssl/man/SSL_CTX_ctrl.3 soc2014/pedrosouza/lua_loader/head/secure/lib/libssl/man/SSL_CTX_flush_sessions.3 soc2014/pedrosouza/lua_loader/head/secure/lib/libssl/man/SSL_CTX_free.3 soc2014/pedrosouza/lua_loader/head/secure/lib/libssl/man/SSL_CTX_get_ex_new_index.3 soc2014/pedrosouza/lua_loader/head/secure/lib/libssl/man/SSL_CTX_get_verify_mode.3 soc2014/pedrosouza/lua_loader/head/secure/lib/libssl/man/SSL_CTX_load_verify_locations.3 soc2014/pedrosouza/lua_loader/head/secure/lib/libssl/man/SSL_CTX_new.3 soc2014/pedrosouza/lua_loader/head/secure/lib/libssl/man/SSL_CTX_sess_number.3 soc2014/pedrosouza/lua_loader/head/secure/lib/libssl/man/SSL_CTX_sess_set_cache_size.3 soc2014/pedrosouza/lua_loader/head/secure/lib/libssl/man/SSL_CTX_sess_set_get_cb.3 soc2014/pedrosouza/lua_loader/head/secure/lib/libssl/man/SSL_CTX_sessions.3 soc2014/pedrosouza/lua_loader/head/secure/lib/libssl/man/SSL_CTX_set_cert_store.3 soc2014/pedrosouza/lua_loader/head/secure/lib/libssl/man/SSL_CTX_set_cert_verify_callback.3 soc2014/pedrosouza/lua_loader/head/secure/lib/libssl/man/SSL_CTX_set_cipher_list.3 soc2014/pedrosouza/lua_loader/head/secure/lib/libssl/man/SSL_CTX_set_client_CA_list.3 soc2014/pedrosouza/lua_loader/head/secure/lib/libssl/man/SSL_CTX_set_client_cert_cb.3 soc2014/pedrosouza/lua_loader/head/secure/lib/libssl/man/SSL_CTX_set_default_passwd_cb.3 soc2014/pedrosouza/lua_loader/head/secure/lib/libssl/man/SSL_CTX_set_generate_session_id.3 soc2014/pedrosouza/lua_loader/head/secure/lib/libssl/man/SSL_CTX_set_info_callback.3 soc2014/pedrosouza/lua_loader/head/secure/lib/libssl/man/SSL_CTX_set_max_cert_list.3 soc2014/pedrosouza/lua_loader/head/secure/lib/libssl/man/SSL_CTX_set_mode.3 soc2014/pedrosouza/lua_loader/head/secure/lib/libssl/man/SSL_CTX_set_msg_callback.3 soc2014/pedrosouza/lua_loader/head/secure/lib/libssl/man/SSL_CTX_set_options.3 soc2014/pedrosouza/lua_loader/head/secure/lib/libssl/man/SSL_CTX_set_psk_client_callback.3 soc2014/pedrosouza/lua_loader/head/secure/lib/libssl/man/SSL_CTX_set_quiet_shutdown.3 soc2014/pedrosouza/lua_loader/head/secure/lib/libssl/man/SSL_CTX_set_session_cache_mode.3 soc2014/pedrosouza/lua_loader/head/secure/lib/libssl/man/SSL_CTX_set_session_id_context.3 soc2014/pedrosouza/lua_loader/head/secure/lib/libssl/man/SSL_CTX_set_ssl_version.3 soc2014/pedrosouza/lua_loader/head/secure/lib/libssl/man/SSL_CTX_set_timeout.3 soc2014/pedrosouza/lua_loader/head/secure/lib/libssl/man/SSL_CTX_set_tmp_dh_callback.3 soc2014/pedrosouza/lua_loader/head/secure/lib/libssl/man/SSL_CTX_set_tmp_rsa_callback.3 soc2014/pedrosouza/lua_loader/head/secure/lib/libssl/man/SSL_CTX_set_verify.3 soc2014/pedrosouza/lua_loader/head/secure/lib/libssl/man/SSL_CTX_use_certificate.3 soc2014/pedrosouza/lua_loader/head/secure/lib/libssl/man/SSL_CTX_use_psk_identity_hint.3 soc2014/pedrosouza/lua_loader/head/secure/lib/libssl/man/SSL_SESSION_free.3 soc2014/pedrosouza/lua_loader/head/secure/lib/libssl/man/SSL_SESSION_get_ex_new_index.3 soc2014/pedrosouza/lua_loader/head/secure/lib/libssl/man/SSL_SESSION_get_time.3 soc2014/pedrosouza/lua_loader/head/secure/lib/libssl/man/SSL_accept.3 soc2014/pedrosouza/lua_loader/head/secure/lib/libssl/man/SSL_alert_type_string.3 soc2014/pedrosouza/lua_loader/head/secure/lib/libssl/man/SSL_clear.3 soc2014/pedrosouza/lua_loader/head/secure/lib/libssl/man/SSL_connect.3 soc2014/pedrosouza/lua_loader/head/secure/lib/libssl/man/SSL_do_handshake.3 soc2014/pedrosouza/lua_loader/head/secure/lib/libssl/man/SSL_free.3 soc2014/pedrosouza/lua_loader/head/secure/lib/libssl/man/SSL_get_SSL_CTX.3 soc2014/pedrosouza/lua_loader/head/secure/lib/libssl/man/SSL_get_ciphers.3 soc2014/pedrosouza/lua_loader/head/secure/lib/libssl/man/SSL_get_client_CA_list.3 soc2014/pedrosouza/lua_loader/head/secure/lib/libssl/man/SSL_get_current_cipher.3 soc2014/pedrosouza/lua_loader/head/secure/lib/libssl/man/SSL_get_default_timeout.3 soc2014/pedrosouza/lua_loader/head/secure/lib/libssl/man/SSL_get_error.3 soc2014/pedrosouza/lua_loader/head/secure/lib/libssl/man/SSL_get_ex_data_X509_STORE_CTX_idx.3 soc2014/pedrosouza/lua_loader/head/secure/lib/libssl/man/SSL_get_ex_new_index.3 soc2014/pedrosouza/lua_loader/head/secure/lib/libssl/man/SSL_get_fd.3 soc2014/pedrosouza/lua_loader/head/secure/lib/libssl/man/SSL_get_peer_cert_chain.3 soc2014/pedrosouza/lua_loader/head/secure/lib/libssl/man/SSL_get_peer_certificate.3 soc2014/pedrosouza/lua_loader/head/secure/lib/libssl/man/SSL_get_psk_identity.3 soc2014/pedrosouza/lua_loader/head/secure/lib/libssl/man/SSL_get_rbio.3 soc2014/pedrosouza/lua_loader/head/secure/lib/libssl/man/SSL_get_session.3 soc2014/pedrosouza/lua_loader/head/secure/lib/libssl/man/SSL_get_verify_result.3 soc2014/pedrosouza/lua_loader/head/secure/lib/libssl/man/SSL_get_version.3 soc2014/pedrosouza/lua_loader/head/secure/lib/libssl/man/SSL_library_init.3 soc2014/pedrosouza/lua_loader/head/secure/lib/libssl/man/SSL_load_client_CA_file.3 soc2014/pedrosouza/lua_loader/head/secure/lib/libssl/man/SSL_new.3 soc2014/pedrosouza/lua_loader/head/secure/lib/libssl/man/SSL_pending.3 soc2014/pedrosouza/lua_loader/head/secure/lib/libssl/man/SSL_read.3 soc2014/pedrosouza/lua_loader/head/secure/lib/libssl/man/SSL_rstate_string.3 soc2014/pedrosouza/lua_loader/head/secure/lib/libssl/man/SSL_session_reused.3 soc2014/pedrosouza/lua_loader/head/secure/lib/libssl/man/SSL_set_bio.3 soc2014/pedrosouza/lua_loader/head/secure/lib/libssl/man/SSL_set_connect_state.3 soc2014/pedrosouza/lua_loader/head/secure/lib/libssl/man/SSL_set_fd.3 soc2014/pedrosouza/lua_loader/head/secure/lib/libssl/man/SSL_set_session.3 soc2014/pedrosouza/lua_loader/head/secure/lib/libssl/man/SSL_set_shutdown.3 soc2014/pedrosouza/lua_loader/head/secure/lib/libssl/man/SSL_set_verify_result.3 soc2014/pedrosouza/lua_loader/head/secure/lib/libssl/man/SSL_shutdown.3 soc2014/pedrosouza/lua_loader/head/secure/lib/libssl/man/SSL_state_string.3 soc2014/pedrosouza/lua_loader/head/secure/lib/libssl/man/SSL_want.3 soc2014/pedrosouza/lua_loader/head/secure/lib/libssl/man/SSL_write.3 soc2014/pedrosouza/lua_loader/head/secure/lib/libssl/man/d2i_SSL_SESSION.3 soc2014/pedrosouza/lua_loader/head/secure/lib/libssl/man/ssl.3 soc2014/pedrosouza/lua_loader/head/secure/libexec/sftp-server/Makefile soc2014/pedrosouza/lua_loader/head/secure/libexec/ssh-keysign/Makefile soc2014/pedrosouza/lua_loader/head/secure/libexec/ssh-pkcs11-helper/Makefile soc2014/pedrosouza/lua_loader/head/secure/usr.bin/openssl/man/CA.pl.1 soc2014/pedrosouza/lua_loader/head/secure/usr.bin/openssl/man/asn1parse.1 soc2014/pedrosouza/lua_loader/head/secure/usr.bin/openssl/man/ca.1 soc2014/pedrosouza/lua_loader/head/secure/usr.bin/openssl/man/ciphers.1 soc2014/pedrosouza/lua_loader/head/secure/usr.bin/openssl/man/cms.1 soc2014/pedrosouza/lua_loader/head/secure/usr.bin/openssl/man/crl.1 soc2014/pedrosouza/lua_loader/head/secure/usr.bin/openssl/man/crl2pkcs7.1 soc2014/pedrosouza/lua_loader/head/secure/usr.bin/openssl/man/dgst.1 soc2014/pedrosouza/lua_loader/head/secure/usr.bin/openssl/man/dhparam.1 soc2014/pedrosouza/lua_loader/head/secure/usr.bin/openssl/man/dsa.1 soc2014/pedrosouza/lua_loader/head/secure/usr.bin/openssl/man/dsaparam.1 soc2014/pedrosouza/lua_loader/head/secure/usr.bin/openssl/man/ec.1 soc2014/pedrosouza/lua_loader/head/secure/usr.bin/openssl/man/ecparam.1 soc2014/pedrosouza/lua_loader/head/secure/usr.bin/openssl/man/enc.1 soc2014/pedrosouza/lua_loader/head/secure/usr.bin/openssl/man/errstr.1 soc2014/pedrosouza/lua_loader/head/secure/usr.bin/openssl/man/gendsa.1 soc2014/pedrosouza/lua_loader/head/secure/usr.bin/openssl/man/genpkey.1 soc2014/pedrosouza/lua_loader/head/secure/usr.bin/openssl/man/genrsa.1 soc2014/pedrosouza/lua_loader/head/secure/usr.bin/openssl/man/nseq.1 soc2014/pedrosouza/lua_loader/head/secure/usr.bin/openssl/man/ocsp.1 soc2014/pedrosouza/lua_loader/head/secure/usr.bin/openssl/man/openssl.1 soc2014/pedrosouza/lua_loader/head/secure/usr.bin/openssl/man/passwd.1 soc2014/pedrosouza/lua_loader/head/secure/usr.bin/openssl/man/pkcs12.1 soc2014/pedrosouza/lua_loader/head/secure/usr.bin/openssl/man/pkcs7.1 soc2014/pedrosouza/lua_loader/head/secure/usr.bin/openssl/man/pkcs8.1 soc2014/pedrosouza/lua_loader/head/secure/usr.bin/openssl/man/pkey.1 soc2014/pedrosouza/lua_loader/head/secure/usr.bin/openssl/man/pkeyparam.1 soc2014/pedrosouza/lua_loader/head/secure/usr.bin/openssl/man/pkeyutl.1 soc2014/pedrosouza/lua_loader/head/secure/usr.bin/openssl/man/rand.1 soc2014/pedrosouza/lua_loader/head/secure/usr.bin/openssl/man/req.1 soc2014/pedrosouza/lua_loader/head/secure/usr.bin/openssl/man/rsa.1 soc2014/pedrosouza/lua_loader/head/secure/usr.bin/openssl/man/rsautl.1 soc2014/pedrosouza/lua_loader/head/secure/usr.bin/openssl/man/s_client.1 soc2014/pedrosouza/lua_loader/head/secure/usr.bin/openssl/man/s_server.1 soc2014/pedrosouza/lua_loader/head/secure/usr.bin/openssl/man/s_time.1 soc2014/pedrosouza/lua_loader/head/secure/usr.bin/openssl/man/sess_id.1 soc2014/pedrosouza/lua_loader/head/secure/usr.bin/openssl/man/smime.1 soc2014/pedrosouza/lua_loader/head/secure/usr.bin/openssl/man/speed.1 soc2014/pedrosouza/lua_loader/head/secure/usr.bin/openssl/man/spkac.1 soc2014/pedrosouza/lua_loader/head/secure/usr.bin/openssl/man/ts.1 soc2014/pedrosouza/lua_loader/head/secure/usr.bin/openssl/man/tsget.1 soc2014/pedrosouza/lua_loader/head/secure/usr.bin/openssl/man/verify.1 soc2014/pedrosouza/lua_loader/head/secure/usr.bin/openssl/man/version.1 soc2014/pedrosouza/lua_loader/head/secure/usr.bin/openssl/man/x509.1 soc2014/pedrosouza/lua_loader/head/secure/usr.bin/openssl/man/x509v3_config.1 soc2014/pedrosouza/lua_loader/head/secure/usr.bin/scp/Makefile soc2014/pedrosouza/lua_loader/head/secure/usr.bin/sftp/Makefile soc2014/pedrosouza/lua_loader/head/secure/usr.bin/ssh-add/Makefile soc2014/pedrosouza/lua_loader/head/secure/usr.bin/ssh-agent/Makefile soc2014/pedrosouza/lua_loader/head/secure/usr.bin/ssh-keygen/Makefile soc2014/pedrosouza/lua_loader/head/secure/usr.bin/ssh-keyscan/Makefile soc2014/pedrosouza/lua_loader/head/secure/usr.bin/ssh/Makefile soc2014/pedrosouza/lua_loader/head/secure/usr.sbin/sshd/Makefile soc2014/pedrosouza/lua_loader/head/share/dtrace/Makefile soc2014/pedrosouza/lua_loader/head/share/dtrace/README soc2014/pedrosouza/lua_loader/head/share/dtrace/toolkit/Makefile soc2014/pedrosouza/lua_loader/head/share/examples/bhyve/vmrun.sh soc2014/pedrosouza/lua_loader/head/share/examples/hwpmc/README soc2014/pedrosouza/lua_loader/head/share/man/man3/offsetof.3 soc2014/pedrosouza/lua_loader/head/share/man/man3/pthread.3 soc2014/pedrosouza/lua_loader/head/share/man/man4/acpi_wmi.4 soc2014/pedrosouza/lua_loader/head/share/man/man4/altera_atse.4 soc2014/pedrosouza/lua_loader/head/share/man/man4/atkbd.4 soc2014/pedrosouza/lua_loader/head/share/man/man4/ddb.4 soc2014/pedrosouza/lua_loader/head/share/man/man4/hptiop.4 soc2014/pedrosouza/lua_loader/head/share/man/man4/iwn.4 soc2014/pedrosouza/lua_loader/head/share/man/man4/iwnfw.4 soc2014/pedrosouza/lua_loader/head/share/man/man4/kbdmux.4 soc2014/pedrosouza/lua_loader/head/share/man/man4/ukbd.4 soc2014/pedrosouza/lua_loader/head/share/man/man4/urtwn.4 soc2014/pedrosouza/lua_loader/head/share/man/man4/vkbd.4 soc2014/pedrosouza/lua_loader/head/share/man/man4/vt.4 soc2014/pedrosouza/lua_loader/head/share/man/man5/Makefile soc2014/pedrosouza/lua_loader/head/share/man/man5/pf.conf.5 soc2014/pedrosouza/lua_loader/head/share/man/man5/rc.conf.5 soc2014/pedrosouza/lua_loader/head/share/man/man5/src.conf.5 soc2014/pedrosouza/lua_loader/head/share/man/man7/hier.7 soc2014/pedrosouza/lua_loader/head/share/man/man8/nanobsd.8 soc2014/pedrosouza/lua_loader/head/share/man/man9/Makefile soc2014/pedrosouza/lua_loader/head/share/man/man9/VOP_INACTIVE.9 soc2014/pedrosouza/lua_loader/head/share/man/man9/ifnet.9 soc2014/pedrosouza/lua_loader/head/share/man/man9/kernel_mount.9 soc2014/pedrosouza/lua_loader/head/share/man/man9/pmap.9 soc2014/pedrosouza/lua_loader/head/share/man/man9/pmap_clear_modify.9 soc2014/pedrosouza/lua_loader/head/share/man/man9/pmap_is_modified.9 soc2014/pedrosouza/lua_loader/head/share/man/man9/rman.9 soc2014/pedrosouza/lua_loader/head/share/man/man9/socket.9 soc2014/pedrosouza/lua_loader/head/share/man/man9/sysctl.9 soc2014/pedrosouza/lua_loader/head/share/man/man9/sysctl_add_oid.9 soc2014/pedrosouza/lua_loader/head/share/man/man9/sysctl_ctx_init.9 soc2014/pedrosouza/lua_loader/head/share/man/man9/timeout.9 soc2014/pedrosouza/lua_loader/head/share/man/man9/usbdi.9 soc2014/pedrosouza/lua_loader/head/share/man/man9/vm_page_busy.9 soc2014/pedrosouza/lua_loader/head/share/man/man9/vnode.9 soc2014/pedrosouza/lua_loader/head/share/misc/bsd-family-tree soc2014/pedrosouza/lua_loader/head/share/misc/committers-ports.dot soc2014/pedrosouza/lua_loader/head/share/misc/committers-src.dot soc2014/pedrosouza/lua_loader/head/share/mk/atf.test.mk soc2014/pedrosouza/lua_loader/head/share/mk/bsd.README soc2014/pedrosouza/lua_loader/head/share/mk/bsd.dep.mk soc2014/pedrosouza/lua_loader/head/share/mk/bsd.lib.mk soc2014/pedrosouza/lua_loader/head/share/mk/bsd.libnames.mk soc2014/pedrosouza/lua_loader/head/share/mk/bsd.obj.mk soc2014/pedrosouza/lua_loader/head/share/mk/bsd.opts.mk soc2014/pedrosouza/lua_loader/head/share/mk/bsd.prog.mk soc2014/pedrosouza/lua_loader/head/share/mk/src.opts.mk soc2014/pedrosouza/lua_loader/head/share/mk/src.sys.mk soc2014/pedrosouza/lua_loader/head/share/mk/sys.mk soc2014/pedrosouza/lua_loader/head/share/syscons/keymaps/INDEX.keymaps soc2014/pedrosouza/lua_loader/head/share/syscons/keymaps/be.iso.acc.kbd soc2014/pedrosouza/lua_loader/head/share/syscons/keymaps/cs.latin2.qwertz.kbd soc2014/pedrosouza/lua_loader/head/share/syscons/keymaps/uk.iso-ctrl.kbd soc2014/pedrosouza/lua_loader/head/share/syscons/keymaps/uk.iso.kbd soc2014/pedrosouza/lua_loader/head/share/vt/keymaps/Makefile soc2014/pedrosouza/lua_loader/head/share/vt/keymaps/pl.kbd (contents, props changed) soc2014/pedrosouza/lua_loader/head/share/vt/keymaps/ua.kbd (contents, props changed) soc2014/pedrosouza/lua_loader/head/share/vt/keymaps/ua.shift.alt.kbd (contents, props changed) soc2014/pedrosouza/lua_loader/head/sys/dev/acpica/acpi_cpu.c soc2014/pedrosouza/lua_loader/head/sys/dev/acpica/acpi_hpet.c soc2014/pedrosouza/lua_loader/head/sys/dev/acpica/acpi_timer.c soc2014/pedrosouza/lua_loader/head/sys/dev/amr/amr.c soc2014/pedrosouza/lua_loader/head/sys/dev/an/if_an.c soc2014/pedrosouza/lua_loader/head/sys/dev/cxgbe/adapter.h soc2014/pedrosouza/lua_loader/head/sys/dev/cxgbe/t4_netmap.c soc2014/pedrosouza/lua_loader/head/sys/dev/cxgbe/t4_sge.c soc2014/pedrosouza/lua_loader/head/sys/dev/cxgbe/tom/t4_cpl_io.c soc2014/pedrosouza/lua_loader/head/sys/dev/cxgbe/tom/t4_tom.h soc2014/pedrosouza/lua_loader/head/sys/dev/e1000/if_em.c soc2014/pedrosouza/lua_loader/head/sys/dev/e1000/if_igb.c soc2014/pedrosouza/lua_loader/head/sys/dev/e1000/if_lem.c soc2014/pedrosouza/lua_loader/head/sys/dev/esp/ncr53c9x.c soc2014/pedrosouza/lua_loader/head/sys/dev/fdt/simplebus.c soc2014/pedrosouza/lua_loader/head/sys/dev/hptiop/hptiop.c soc2014/pedrosouza/lua_loader/head/sys/dev/hptiop/hptiop.h soc2014/pedrosouza/lua_loader/head/sys/dev/hptmv/mv.c soc2014/pedrosouza/lua_loader/head/sys/dev/hptmv/osbsd.h soc2014/pedrosouza/lua_loader/head/sys/dev/md/md.c soc2014/pedrosouza/lua_loader/head/sys/dev/netmap/if_em_netmap.h soc2014/pedrosouza/lua_loader/head/sys/dev/netmap/if_igb_netmap.h soc2014/pedrosouza/lua_loader/head/sys/dev/netmap/if_lem_netmap.h soc2014/pedrosouza/lua_loader/head/sys/dev/netmap/if_re_netmap.h soc2014/pedrosouza/lua_loader/head/sys/dev/netmap/ixgbe_netmap.h soc2014/pedrosouza/lua_loader/head/sys/dev/netmap/netmap.c soc2014/pedrosouza/lua_loader/head/sys/dev/netmap/netmap_freebsd.c soc2014/pedrosouza/lua_loader/head/sys/dev/netmap/netmap_generic.c soc2014/pedrosouza/lua_loader/head/sys/dev/netmap/netmap_kern.h soc2014/pedrosouza/lua_loader/head/sys/dev/netmap/netmap_mbq.h soc2014/pedrosouza/lua_loader/head/sys/dev/netmap/netmap_mem2.c soc2014/pedrosouza/lua_loader/head/sys/dev/netmap/netmap_mem2.h soc2014/pedrosouza/lua_loader/head/sys/dev/netmap/netmap_offloadings.c soc2014/pedrosouza/lua_loader/head/sys/dev/netmap/netmap_pipe.c soc2014/pedrosouza/lua_loader/head/sys/dev/netmap/netmap_vale.c soc2014/pedrosouza/lua_loader/head/sys/dev/pccbb/pccbb_pci.c soc2014/pedrosouza/lua_loader/head/sys/dev/sound/pci/hda/hdaa_patches.c soc2014/pedrosouza/lua_loader/head/sys/dev/sound/pci/hda/hdac.h soc2014/pedrosouza/lua_loader/head/sys/dev/sound/pcm/mixer.c soc2014/pedrosouza/lua_loader/head/sys/dev/sound/usb/uaudio.c soc2014/pedrosouza/lua_loader/head/sys/dev/uart/uart_cpu_powerpc.c soc2014/pedrosouza/lua_loader/head/sys/dev/usb/controller/at91dci.c soc2014/pedrosouza/lua_loader/head/sys/dev/usb/controller/at91dci.h soc2014/pedrosouza/lua_loader/head/sys/dev/usb/controller/at91dci_atmelarm.c soc2014/pedrosouza/lua_loader/head/sys/dev/usb/controller/at91dci_fdt.c soc2014/pedrosouza/lua_loader/head/sys/dev/usb/controller/ehci.c soc2014/pedrosouza/lua_loader/head/sys/dev/usb/controller/saf1761_otg.c soc2014/pedrosouza/lua_loader/head/sys/dev/usb/controller/usb_controller.c soc2014/pedrosouza/lua_loader/head/sys/dev/usb/controller/uss820dci.c soc2014/pedrosouza/lua_loader/head/sys/dev/usb/controller/uss820dci.h soc2014/pedrosouza/lua_loader/head/sys/dev/usb/controller/uss820dci_atmelarm.c soc2014/pedrosouza/lua_loader/head/sys/dev/usb/controller/xhci.c soc2014/pedrosouza/lua_loader/head/sys/dev/usb/controller/xhci.h soc2014/pedrosouza/lua_loader/head/sys/dev/usb/gadget/g_audio.c soc2014/pedrosouza/lua_loader/head/sys/dev/usb/net/if_axgereg.h soc2014/pedrosouza/lua_loader/head/sys/dev/usb/net/if_cdce.c soc2014/pedrosouza/lua_loader/head/sys/dev/usb/quirk/usb_quirk.c soc2014/pedrosouza/lua_loader/head/sys/dev/usb/quirk/usb_quirk.h soc2014/pedrosouza/lua_loader/head/sys/dev/usb/serial/u3g.c soc2014/pedrosouza/lua_loader/head/sys/dev/usb/serial/uftdi.c soc2014/pedrosouza/lua_loader/head/sys/dev/usb/serial/umcs.c soc2014/pedrosouza/lua_loader/head/sys/dev/usb/template/usb_template.c soc2014/pedrosouza/lua_loader/head/sys/dev/usb/template/usb_template.h soc2014/pedrosouza/lua_loader/head/sys/dev/usb/usb_device.c soc2014/pedrosouza/lua_loader/head/sys/dev/usb/usb_ioctl.h soc2014/pedrosouza/lua_loader/head/sys/dev/usb/usb_msctest.c soc2014/pedrosouza/lua_loader/head/sys/dev/usb/usb_msctest.h soc2014/pedrosouza/lua_loader/head/sys/dev/usb/usbdevs soc2014/pedrosouza/lua_loader/head/sys/dev/usb/wlan/if_rum.c soc2014/pedrosouza/lua_loader/head/sys/dev/usb/wlan/if_run.c soc2014/pedrosouza/lua_loader/head/sys/dev/usb/wlan/if_upgt.c soc2014/pedrosouza/lua_loader/head/sys/dev/usb/wlan/if_ural.c soc2014/pedrosouza/lua_loader/head/sys/dev/usb/wlan/if_urtwn.c soc2014/pedrosouza/lua_loader/head/sys/dev/usb/wlan/if_zyd.c soc2014/pedrosouza/lua_loader/head/sys/dev/usb/wlan/if_zydreg.h soc2014/pedrosouza/lua_loader/head/sys/fs/nandfs/nandfs_subr.c soc2014/pedrosouza/lua_loader/head/sys/fs/nandfs/nandfs_vfsops.c soc2014/pedrosouza/lua_loader/head/sys/fs/nandfs/nandfs_vnops.c soc2014/pedrosouza/lua_loader/head/sys/fs/nfs/nfsrvcache.h soc2014/pedrosouza/lua_loader/head/sys/fs/nfsserver/nfs_nfsdport.c soc2014/pedrosouza/lua_loader/head/sys/fs/nfsserver/nfs_nfsdsocket.c soc2014/pedrosouza/lua_loader/head/sys/fs/nullfs/null_vnops.c soc2014/pedrosouza/lua_loader/head/sys/mips/atheros/uart_dev_ar933x.c soc2014/pedrosouza/lua_loader/head/sys/mips/include/elf.h soc2014/pedrosouza/lua_loader/head/sys/mips/include/sf_buf.h soc2014/pedrosouza/lua_loader/head/sys/mips/include/vmparam.h soc2014/pedrosouza/lua_loader/head/sys/mips/mips/dump_machdep.c soc2014/pedrosouza/lua_loader/head/sys/mips/mips/pmap.c soc2014/pedrosouza/lua_loader/head/sys/mips/mips/vm_machdep.c soc2014/pedrosouza/lua_loader/head/sys/modules/Makefile soc2014/pedrosouza/lua_loader/head/sys/modules/acl_nfs4/Makefile soc2014/pedrosouza/lua_loader/head/sys/modules/acl_posix1e/Makefile soc2014/pedrosouza/lua_loader/head/sys/modules/aic7xxx/ahc/Makefile soc2014/pedrosouza/lua_loader/head/sys/modules/aic7xxx/ahc/ahc_eisa/Makefile soc2014/pedrosouza/lua_loader/head/sys/modules/alq/Makefile soc2014/pedrosouza/lua_loader/head/sys/modules/an/Makefile soc2014/pedrosouza/lua_loader/head/sys/modules/arcnet/Makefile soc2014/pedrosouza/lua_loader/head/sys/modules/bxe/Makefile soc2014/pedrosouza/lua_loader/head/sys/modules/cam/Makefile soc2014/pedrosouza/lua_loader/head/sys/modules/carp/Makefile soc2014/pedrosouza/lua_loader/head/sys/modules/cc/cc_cdg/Makefile soc2014/pedrosouza/lua_loader/head/sys/modules/cc/cc_chd/Makefile soc2014/pedrosouza/lua_loader/head/sys/modules/cc/cc_cubic/Makefile soc2014/pedrosouza/lua_loader/head/sys/modules/cc/cc_hd/Makefile soc2014/pedrosouza/lua_loader/head/sys/modules/cc/cc_htcp/Makefile soc2014/pedrosouza/lua_loader/head/sys/modules/cc/cc_vegas/Makefile soc2014/pedrosouza/lua_loader/head/sys/modules/cxgb/Makefile soc2014/pedrosouza/lua_loader/head/sys/modules/cxgb/cxgb/Makefile soc2014/pedrosouza/lua_loader/head/sys/modules/cxgb/iw_cxgb/Makefile soc2014/pedrosouza/lua_loader/head/sys/modules/cxgb/tom/Makefile soc2014/pedrosouza/lua_loader/head/sys/modules/cxgbe/Makefile soc2014/pedrosouza/lua_loader/head/sys/modules/cxgbe/if_cxgbe/Makefile soc2014/pedrosouza/lua_loader/head/sys/modules/cxgbe/iw_cxgbe/Makefile soc2014/pedrosouza/lua_loader/head/sys/modules/cxgbe/t4_firmware/Makefile soc2014/pedrosouza/lua_loader/head/sys/modules/cxgbe/t5_firmware/Makefile soc2014/pedrosouza/lua_loader/head/sys/modules/cxgbe/tom/Makefile soc2014/pedrosouza/lua_loader/head/sys/modules/dpt/Makefile soc2014/pedrosouza/lua_loader/head/sys/modules/drm/Makefile soc2014/pedrosouza/lua_loader/head/sys/modules/drm2/Makefile soc2014/pedrosouza/lua_loader/head/sys/modules/drm2/i915kms/Makefile soc2014/pedrosouza/lua_loader/head/sys/modules/drm2/radeonkms/Makefile soc2014/pedrosouza/lua_loader/head/sys/modules/dtrace/Makefile soc2014/pedrosouza/lua_loader/head/sys/modules/dtrace/dtrace/Makefile soc2014/pedrosouza/lua_loader/head/sys/modules/dtrace/fasttrap/Makefile soc2014/pedrosouza/lua_loader/head/sys/modules/dtrace/fbt/Makefile soc2014/pedrosouza/lua_loader/head/sys/modules/dummynet/Makefile soc2014/pedrosouza/lua_loader/head/sys/modules/em/Makefile soc2014/pedrosouza/lua_loader/head/sys/modules/en/Makefile soc2014/pedrosouza/lua_loader/head/sys/modules/ep/Makefile soc2014/pedrosouza/lua_loader/head/sys/modules/fatm/Makefile soc2014/pedrosouza/lua_loader/head/sys/modules/firewire/fwip/Makefile soc2014/pedrosouza/lua_loader/head/sys/modules/hatm/Makefile soc2014/pedrosouza/lua_loader/head/sys/modules/ibcore/Makefile soc2014/pedrosouza/lua_loader/head/sys/modules/if_bridge/Makefile soc2014/pedrosouza/lua_loader/head/sys/modules/if_disc/Makefile soc2014/pedrosouza/lua_loader/head/sys/modules/if_faith/Makefile soc2014/pedrosouza/lua_loader/head/sys/modules/if_gif/Makefile soc2014/pedrosouza/lua_loader/head/sys/modules/if_gre/Makefile soc2014/pedrosouza/lua_loader/head/sys/modules/if_lagg/Makefile soc2014/pedrosouza/lua_loader/head/sys/modules/if_stf/Makefile soc2014/pedrosouza/lua_loader/head/sys/modules/if_tap/Makefile soc2014/pedrosouza/lua_loader/head/sys/modules/if_tun/Makefile soc2014/pedrosouza/lua_loader/head/sys/modules/igb/Makefile soc2014/pedrosouza/lua_loader/head/sys/modules/ip6_mroute_mod/Makefile soc2014/pedrosouza/lua_loader/head/sys/modules/ip_mroute_mod/Makefile soc2014/pedrosouza/lua_loader/head/sys/modules/ipdivert/Makefile soc2014/pedrosouza/lua_loader/head/sys/modules/ipfilter/Makefile soc2014/pedrosouza/lua_loader/head/sys/modules/ipfw/Makefile soc2014/pedrosouza/lua_loader/head/sys/modules/ipoib/Makefile soc2014/pedrosouza/lua_loader/head/sys/modules/ixgbe/Makefile soc2014/pedrosouza/lua_loader/head/sys/modules/khelp/h_ertt/Makefile soc2014/pedrosouza/lua_loader/head/sys/modules/krpc/Makefile soc2014/pedrosouza/lua_loader/head/sys/modules/linux/Makefile soc2014/pedrosouza/lua_loader/head/sys/modules/lmc/Makefile soc2014/pedrosouza/lua_loader/head/sys/modules/mlx4/Makefile soc2014/pedrosouza/lua_loader/head/sys/modules/mlx4ib/Makefile soc2014/pedrosouza/lua_loader/head/sys/modules/mlxen/Makefile soc2014/pedrosouza/lua_loader/head/sys/modules/mthca/Makefile soc2014/pedrosouza/lua_loader/head/sys/modules/netgraph/Makefile soc2014/pedrosouza/lua_loader/head/sys/modules/netgraph/gif/Makefile soc2014/pedrosouza/lua_loader/head/sys/modules/netgraph/iface/Makefile soc2014/pedrosouza/lua_loader/head/sys/modules/netgraph/ipfw/Makefile soc2014/pedrosouza/lua_loader/head/sys/modules/netgraph/netflow/Makefile soc2014/pedrosouza/lua_loader/head/sys/modules/nfscl/Makefile soc2014/pedrosouza/lua_loader/head/sys/modules/nfsclient/Makefile soc2014/pedrosouza/lua_loader/head/sys/modules/nfslockd/Makefile soc2014/pedrosouza/lua_loader/head/sys/modules/nfsserver/Makefile soc2014/pedrosouza/lua_loader/head/sys/modules/patm/Makefile soc2014/pedrosouza/lua_loader/head/sys/modules/pf/Makefile soc2014/pedrosouza/lua_loader/head/sys/modules/pflog/Makefile soc2014/pedrosouza/lua_loader/head/sys/modules/pfsync/Makefile soc2014/pedrosouza/lua_loader/head/sys/modules/siftr/Makefile soc2014/pedrosouza/lua_loader/head/sys/modules/smbfs/Makefile soc2014/pedrosouza/lua_loader/head/sys/modules/snc/Makefile soc2014/pedrosouza/lua_loader/head/sys/modules/sound/driver/Makefile soc2014/pedrosouza/lua_loader/head/sys/modules/sppp/Makefile soc2014/pedrosouza/lua_loader/head/sys/modules/trm/Makefile soc2014/pedrosouza/lua_loader/head/sys/modules/usb/Makefile soc2014/pedrosouza/lua_loader/head/sys/modules/usb/template/Makefile soc2014/pedrosouza/lua_loader/head/sys/modules/virtio/network/Makefile soc2014/pedrosouza/lua_loader/head/sys/modules/vmware/vmxnet3/Makefile soc2014/pedrosouza/lua_loader/head/sys/modules/vx/Makefile soc2014/pedrosouza/lua_loader/head/sys/modules/wlan/Makefile soc2014/pedrosouza/lua_loader/head/sys/modules/wlan_acl/Makefile soc2014/pedrosouza/lua_loader/head/sys/modules/wlan_amrr/Makefile soc2014/pedrosouza/lua_loader/head/sys/modules/wlan_ccmp/Makefile soc2014/pedrosouza/lua_loader/head/sys/modules/wlan_rssadapt/Makefile soc2014/pedrosouza/lua_loader/head/sys/modules/wlan_tkip/Makefile soc2014/pedrosouza/lua_loader/head/sys/modules/wlan_wep/Makefile soc2014/pedrosouza/lua_loader/head/sys/modules/wlan_xauth/Makefile soc2014/pedrosouza/lua_loader/head/sys/modules/zfs/Makefile soc2014/pedrosouza/lua_loader/head/sys/netinet/cc/cc.c soc2014/pedrosouza/lua_loader/head/sys/netinet/cc/cc_cdg.c soc2014/pedrosouza/lua_loader/head/sys/netinet/igmp.c soc2014/pedrosouza/lua_loader/head/sys/netinet/igmp_var.h soc2014/pedrosouza/lua_loader/head/sys/netinet/in.c soc2014/pedrosouza/lua_loader/head/sys/netinet/in.h soc2014/pedrosouza/lua_loader/head/sys/netinet/in_gif.c soc2014/pedrosouza/lua_loader/head/sys/netinet/in_gif.h soc2014/pedrosouza/lua_loader/head/sys/netinet/in_pcb.c soc2014/pedrosouza/lua_loader/head/sys/netinet/in_pcbgroup.c soc2014/pedrosouza/lua_loader/head/sys/netinet/in_proto.c soc2014/pedrosouza/lua_loader/head/sys/netinet/in_rss.c soc2014/pedrosouza/lua_loader/head/sys/netinet/in_rss.h soc2014/pedrosouza/lua_loader/head/sys/netinet/ip_carp.c soc2014/pedrosouza/lua_loader/head/sys/netinet/ip_carp.h soc2014/pedrosouza/lua_loader/head/sys/netinet/ip_divert.c soc2014/pedrosouza/lua_loader/head/sys/netinet/ip_encap.c soc2014/pedrosouza/lua_loader/head/sys/netinet/ip_encap.h soc2014/pedrosouza/lua_loader/head/sys/netinet/ip_gre.c soc2014/pedrosouza/lua_loader/head/sys/netinet/ip_gre.h soc2014/pedrosouza/lua_loader/head/sys/netinet/ip_icmp.c soc2014/pedrosouza/lua_loader/head/sys/netinet/ip_icmp.h soc2014/pedrosouza/lua_loader/head/sys/netinet/ip_input.c soc2014/pedrosouza/lua_loader/head/sys/netinet/ip_mroute.c soc2014/pedrosouza/lua_loader/head/sys/netinet/ip_var.h soc2014/pedrosouza/lua_loader/head/sys/netinet/pim_var.h soc2014/pedrosouza/lua_loader/head/sys/netinet/raw_ip.c soc2014/pedrosouza/lua_loader/head/sys/netinet/sctp.h soc2014/pedrosouza/lua_loader/head/sys/netinet/sctp_asconf.c soc2014/pedrosouza/lua_loader/head/sys/netinet/sctp_auth.c soc2014/pedrosouza/lua_loader/head/sys/netinet/sctp_auth.h soc2014/pedrosouza/lua_loader/head/sys/netinet/sctp_header.h soc2014/pedrosouza/lua_loader/head/sys/netinet/sctp_indata.c soc2014/pedrosouza/lua_loader/head/sys/netinet/sctp_input.c soc2014/pedrosouza/lua_loader/head/sys/netinet/sctp_output.c soc2014/pedrosouza/lua_loader/head/sys/netinet/sctp_pcb.c soc2014/pedrosouza/lua_loader/head/sys/netinet/sctp_pcb.h soc2014/pedrosouza/lua_loader/head/sys/netinet/sctp_peeloff.c soc2014/pedrosouza/lua_loader/head/sys/netinet/sctp_structs.h soc2014/pedrosouza/lua_loader/head/sys/netinet/sctp_sysctl.c soc2014/pedrosouza/lua_loader/head/sys/netinet/sctp_sysctl.h soc2014/pedrosouza/lua_loader/head/sys/netinet/sctp_timer.c soc2014/pedrosouza/lua_loader/head/sys/netinet/sctp_uio.h soc2014/pedrosouza/lua_loader/head/sys/netinet/sctp_usrreq.c soc2014/pedrosouza/lua_loader/head/sys/netinet/sctp_var.h soc2014/pedrosouza/lua_loader/head/sys/netinet/sctputil.c soc2014/pedrosouza/lua_loader/head/sys/netinet/sctputil.h soc2014/pedrosouza/lua_loader/head/sys/netinet/tcp_input.c soc2014/pedrosouza/lua_loader/head/sys/netinet/tcp_timewait.c soc2014/pedrosouza/lua_loader/head/sys/netinet/tcp_var.h soc2014/pedrosouza/lua_loader/head/sys/netinet/udp_usrreq.c soc2014/pedrosouza/lua_loader/head/sys/netinet/udp_var.h soc2014/pedrosouza/lua_loader/head/sys/ofed/include/linux/linux_radix.c soc2014/pedrosouza/lua_loader/head/sys/ofed/include/linux/pci.h soc2014/pedrosouza/lua_loader/head/tests/sys/kern/unix_seqpacket_test.c soc2014/pedrosouza/lua_loader/head/tools/bsdbox/Makefile soc2014/pedrosouza/lua_loader/head/tools/build/make_check/Makefile soc2014/pedrosouza/lua_loader/head/tools/build/mk/OptionalObsoleteFiles.inc soc2014/pedrosouza/lua_loader/head/tools/regression/net80211/ccmp/test_ccmp.c soc2014/pedrosouza/lua_loader/head/tools/regression/net80211/wep/test_wep.c soc2014/pedrosouza/lua_loader/head/tools/test/netfibs/reflect.c soc2014/pedrosouza/lua_loader/head/tools/tools/ath/Makefile soc2014/pedrosouza/lua_loader/head/tools/tools/ath/athaggrstats/Makefile soc2014/pedrosouza/lua_loader/head/tools/tools/ath/athalq/ar9300_ds.c soc2014/pedrosouza/lua_loader/head/tools/tools/ath/athdecode/main.c soc2014/pedrosouza/lua_loader/head/tools/tools/ath/athpoke/athpoke.c soc2014/pedrosouza/lua_loader/head/tools/tools/ath/athregs/dumpregs.c soc2014/pedrosouza/lua_loader/head/tools/tools/ath/athstats/Makefile soc2014/pedrosouza/lua_loader/head/tools/tools/cxgbetool/cxgbetool.c soc2014/pedrosouza/lua_loader/head/tools/tools/nanobsd/dhcpd/README soc2014/pedrosouza/lua_loader/head/tools/tools/nanobsd/dhcpd/common soc2014/pedrosouza/lua_loader/head/tools/tools/nanobsd/nanobsd.sh soc2014/pedrosouza/lua_loader/head/tools/tools/nanobsd/rescue/common soc2014/pedrosouza/lua_loader/head/tools/tools/net80211/stumbler/Makefile soc2014/pedrosouza/lua_loader/head/tools/tools/net80211/wlanstats/Makefile soc2014/pedrosouza/lua_loader/head/tools/tools/netmap/pkt-gen.c soc2014/pedrosouza/lua_loader/head/tools/tools/netmap/vale-ctl.c soc2014/pedrosouza/lua_loader/head/usr.bin/bc/Makefile soc2014/pedrosouza/lua_loader/head/usr.bin/calendar/calendars/calendar.freebsd soc2014/pedrosouza/lua_loader/head/usr.bin/clang/clang-tblgen/Makefile soc2014/pedrosouza/lua_loader/head/usr.bin/clang/clang.prog.mk soc2014/pedrosouza/lua_loader/head/usr.bin/clang/lldb/Makefile soc2014/pedrosouza/lua_loader/head/usr.bin/clang/tblgen/Makefile soc2014/pedrosouza/lua_loader/head/usr.bin/compile_et/Makefile soc2014/pedrosouza/lua_loader/head/usr.bin/drill/Makefile soc2014/pedrosouza/lua_loader/head/usr.bin/ee/Makefile soc2014/pedrosouza/lua_loader/head/usr.bin/elfdump/elfdump.c soc2014/pedrosouza/lua_loader/head/usr.bin/ftp/Makefile soc2014/pedrosouza/lua_loader/head/usr.bin/gcore/Makefile soc2014/pedrosouza/lua_loader/head/usr.bin/gcore/elfcore.c soc2014/pedrosouza/lua_loader/head/usr.bin/grep/grep.c soc2014/pedrosouza/lua_loader/head/usr.bin/grep/queue.c soc2014/pedrosouza/lua_loader/head/usr.bin/grep/util.c soc2014/pedrosouza/lua_loader/head/usr.bin/host/Makefile soc2014/pedrosouza/lua_loader/head/usr.bin/iscsictl/Makefile soc2014/pedrosouza/lua_loader/head/usr.bin/iscsictl/iscsictl.8 soc2014/pedrosouza/lua_loader/head/usr.bin/iscsictl/iscsictl.c soc2014/pedrosouza/lua_loader/head/usr.bin/iscsictl/token.l soc2014/pedrosouza/lua_loader/head/usr.bin/kdump/kdump.c soc2014/pedrosouza/lua_loader/head/usr.bin/less/Makefile soc2014/pedrosouza/lua_loader/head/usr.bin/lock/lock.1 soc2014/pedrosouza/lua_loader/head/usr.bin/lock/lock.c soc2014/pedrosouza/lua_loader/head/usr.bin/login/login.c soc2014/pedrosouza/lua_loader/head/usr.bin/m4/Makefile soc2014/pedrosouza/lua_loader/head/usr.bin/m4/eval.c soc2014/pedrosouza/lua_loader/head/usr.bin/m4/extern.h soc2014/pedrosouza/lua_loader/head/usr.bin/m4/gnum4.c soc2014/pedrosouza/lua_loader/head/usr.bin/m4/look.c soc2014/pedrosouza/lua_loader/head/usr.bin/m4/m4.1 soc2014/pedrosouza/lua_loader/head/usr.bin/m4/main.c soc2014/pedrosouza/lua_loader/head/usr.bin/m4/misc.c soc2014/pedrosouza/lua_loader/head/usr.bin/mail/edit.c soc2014/pedrosouza/lua_loader/head/usr.bin/make/Makefile soc2014/pedrosouza/lua_loader/head/usr.bin/mandoc/Makefile soc2014/pedrosouza/lua_loader/head/usr.bin/mkimg/vhd.c soc2014/pedrosouza/lua_loader/head/usr.bin/mkimg/vmdk.c soc2014/pedrosouza/lua_loader/head/usr.bin/msgs/Makefile soc2014/pedrosouza/lua_loader/head/usr.bin/ncal/Makefile soc2014/pedrosouza/lua_loader/head/usr.bin/netstat/inet6.c soc2014/pedrosouza/lua_loader/head/usr.bin/opiekey/Makefile soc2014/pedrosouza/lua_loader/head/usr.bin/procstat/procstat.1 soc2014/pedrosouza/lua_loader/head/usr.bin/procstat/procstat_files.c soc2014/pedrosouza/lua_loader/head/usr.bin/procstat/procstat_vm.c soc2014/pedrosouza/lua_loader/head/usr.bin/sed/defs.h soc2014/pedrosouza/lua_loader/head/usr.bin/sed/main.c soc2014/pedrosouza/lua_loader/head/usr.bin/sed/process.c soc2014/pedrosouza/lua_loader/head/usr.bin/sed/tests/regress.y.out soc2014/pedrosouza/lua_loader/head/usr.bin/showmount/showmount.8 soc2014/pedrosouza/lua_loader/head/usr.bin/showmount/showmount.c soc2014/pedrosouza/lua_loader/head/usr.bin/sort/sort.1.in soc2014/pedrosouza/lua_loader/head/usr.bin/svn/svn/Makefile soc2014/pedrosouza/lua_loader/head/usr.bin/svn/svn_private_config.h soc2014/pedrosouza/lua_loader/head/usr.bin/svn/svnadmin/Makefile soc2014/pedrosouza/lua_loader/head/usr.bin/svn/svndumpfilter/Makefile soc2014/pedrosouza/lua_loader/head/usr.bin/svn/svnlook/Makefile soc2014/pedrosouza/lua_loader/head/usr.bin/svn/svnmucc/Makefile soc2014/pedrosouza/lua_loader/head/usr.bin/svn/svnrdump/Makefile soc2014/pedrosouza/lua_loader/head/usr.bin/svn/svnserve/Makefile soc2014/pedrosouza/lua_loader/head/usr.bin/svn/svnsync/Makefile soc2014/pedrosouza/lua_loader/head/usr.bin/svn/svnversion/Makefile soc2014/pedrosouza/lua_loader/head/usr.bin/systat/systat.1 soc2014/pedrosouza/lua_loader/head/usr.bin/tabs/Makefile soc2014/pedrosouza/lua_loader/head/usr.bin/talk/Makefile soc2014/pedrosouza/lua_loader/head/usr.bin/telnet/Makefile soc2014/pedrosouza/lua_loader/head/usr.bin/tftp/Makefile soc2014/pedrosouza/lua_loader/head/usr.bin/timeout/timeout.1 soc2014/pedrosouza/lua_loader/head/usr.bin/tput/Makefile soc2014/pedrosouza/lua_loader/head/usr.bin/tset/Makefile soc2014/pedrosouza/lua_loader/head/usr.bin/ul/Makefile soc2014/pedrosouza/lua_loader/head/usr.bin/units/Makefile soc2014/pedrosouza/lua_loader/head/usr.bin/units/units.1 soc2014/pedrosouza/lua_loader/head/usr.bin/units/units.c soc2014/pedrosouza/lua_loader/head/usr.bin/vacation/Makefile soc2014/pedrosouza/lua_loader/head/usr.bin/vi/Makefile soc2014/pedrosouza/lua_loader/head/usr.bin/vmstat/vmstat.8 soc2014/pedrosouza/lua_loader/head/usr.bin/vmstat/vmstat.c soc2014/pedrosouza/lua_loader/head/usr.bin/vtfontcvt/vtfontcvt.8 soc2014/pedrosouza/lua_loader/head/usr.bin/vtfontcvt/vtfontcvt.c soc2014/pedrosouza/lua_loader/head/usr.bin/yacc/tests/Makefile soc2014/pedrosouza/lua_loader/head/usr.sbin/Makefile soc2014/pedrosouza/lua_loader/head/usr.sbin/amd/amd/Makefile soc2014/pedrosouza/lua_loader/head/usr.sbin/amd/amq/Makefile soc2014/pedrosouza/lua_loader/head/usr.sbin/amd/fixmount/Makefile soc2014/pedrosouza/lua_loader/head/usr.sbin/amd/fsinfo/Makefile soc2014/pedrosouza/lua_loader/head/usr.sbin/amd/hlfsd/Makefile soc2014/pedrosouza/lua_loader/head/usr.sbin/amd/mk-amd-map/Makefile soc2014/pedrosouza/lua_loader/head/usr.sbin/amd/pawd/Makefile soc2014/pedrosouza/lua_loader/head/usr.sbin/amd/wire-test/Makefile soc2014/pedrosouza/lua_loader/head/usr.sbin/bhyve/Makefile soc2014/pedrosouza/lua_loader/head/usr.sbin/bhyve/acpi.c soc2014/pedrosouza/lua_loader/head/usr.sbin/bhyve/atkbdc.c soc2014/pedrosouza/lua_loader/head/usr.sbin/bhyve/bhyverun.c soc2014/pedrosouza/lua_loader/head/usr.sbin/bhyve/bhyverun.h soc2014/pedrosouza/lua_loader/head/usr.sbin/bhyve/inout.c soc2014/pedrosouza/lua_loader/head/usr.sbin/bhyve/inout.h soc2014/pedrosouza/lua_loader/head/usr.sbin/bhyve/mem.c soc2014/pedrosouza/lua_loader/head/usr.sbin/bhyve/mem.h soc2014/pedrosouza/lua_loader/head/usr.sbin/bhyve/pci_ahci.c soc2014/pedrosouza/lua_loader/head/usr.sbin/bhyve/pci_emul.c soc2014/pedrosouza/lua_loader/head/usr.sbin/bhyve/pci_emul.h soc2014/pedrosouza/lua_loader/head/usr.sbin/bhyve/pci_irq.c soc2014/pedrosouza/lua_loader/head/usr.sbin/bhyve/pm.c soc2014/pedrosouza/lua_loader/head/usr.sbin/bhyve/virtio.c soc2014/pedrosouza/lua_loader/head/usr.sbin/bhyvectl/bhyvectl.c soc2014/pedrosouza/lua_loader/head/usr.sbin/binmiscctl/binmiscctl.8 soc2014/pedrosouza/lua_loader/head/usr.sbin/bsdconfig/bsdconfig.8 soc2014/pedrosouza/lua_loader/head/usr.sbin/bsdconfig/dot/dot soc2014/pedrosouza/lua_loader/head/usr.sbin/bsdconfig/dot/include/messages.subr soc2014/pedrosouza/lua_loader/head/usr.sbin/bsdconfig/examples/Makefile soc2014/pedrosouza/lua_loader/head/usr.sbin/bsdconfig/examples/browse_packages_http.sh soc2014/pedrosouza/lua_loader/head/usr.sbin/bsdconfig/include/messages.subr soc2014/pedrosouza/lua_loader/head/usr.sbin/bsdconfig/share/common.subr soc2014/pedrosouza/lua_loader/head/usr.sbin/bsdconfig/share/dialog.subr soc2014/pedrosouza/lua_loader/head/usr.sbin/bsdconfig/share/media/http.subr soc2014/pedrosouza/lua_loader/head/usr.sbin/bsdconfig/share/media/httpproxy.subr soc2014/pedrosouza/lua_loader/head/usr.sbin/bsdconfig/share/packages/Makefile soc2014/pedrosouza/lua_loader/head/usr.sbin/bsdconfig/share/packages/categories.subr (props changed) soc2014/pedrosouza/lua_loader/head/usr.sbin/bsdconfig/share/packages/index.subr (contents, props changed) soc2014/pedrosouza/lua_loader/head/usr.sbin/bsdconfig/share/packages/packages.subr (contents, props changed) soc2014/pedrosouza/lua_loader/head/usr.sbin/bsdinstall/bsdinstall.8 soc2014/pedrosouza/lua_loader/head/usr.sbin/bsdinstall/scripts/auto soc2014/pedrosouza/lua_loader/head/usr.sbin/bsdinstall/scripts/jail soc2014/pedrosouza/lua_loader/head/usr.sbin/bsdinstall/scripts/mirrorselect soc2014/pedrosouza/lua_loader/head/usr.sbin/btxld/Makefile soc2014/pedrosouza/lua_loader/head/usr.sbin/cdcontrol/Makefile soc2014/pedrosouza/lua_loader/head/usr.sbin/chown/tests/chown-f_test.sh soc2014/pedrosouza/lua_loader/head/usr.sbin/config/config.8 soc2014/pedrosouza/lua_loader/head/usr.sbin/cron/cron/Makefile soc2014/pedrosouza/lua_loader/head/usr.sbin/cron/cron/do_command.c soc2014/pedrosouza/lua_loader/head/usr.sbin/cron/crontab/Makefile soc2014/pedrosouza/lua_loader/head/usr.sbin/crunch/crunchgen/Makefile soc2014/pedrosouza/lua_loader/head/usr.sbin/crunch/crunchide/Makefile soc2014/pedrosouza/lua_loader/head/usr.sbin/ctld/Makefile soc2014/pedrosouza/lua_loader/head/usr.sbin/ctld/ctl.conf.5 soc2014/pedrosouza/lua_loader/head/usr.sbin/ctld/ctld.8 soc2014/pedrosouza/lua_loader/head/usr.sbin/ctld/ctld.c soc2014/pedrosouza/lua_loader/head/usr.sbin/ctld/ctld.h soc2014/pedrosouza/lua_loader/head/usr.sbin/ctld/discovery.c soc2014/pedrosouza/lua_loader/head/usr.sbin/ctld/kernel.c soc2014/pedrosouza/lua_loader/head/usr.sbin/ctld/keys.c soc2014/pedrosouza/lua_loader/head/usr.sbin/ctld/log.c soc2014/pedrosouza/lua_loader/head/usr.sbin/ctld/login.c soc2014/pedrosouza/lua_loader/head/usr.sbin/ctld/pdu.c soc2014/pedrosouza/lua_loader/head/usr.sbin/editmap/Makefile soc2014/pedrosouza/lua_loader/head/usr.sbin/fifolog/fifolog_create/Makefile soc2014/pedrosouza/lua_loader/head/usr.sbin/fifolog/fifolog_reader/Makefile soc2014/pedrosouza/lua_loader/head/usr.sbin/fifolog/fifolog_writer/Makefile soc2014/pedrosouza/lua_loader/head/usr.sbin/ftp-proxy/ftp-proxy/Makefile soc2014/pedrosouza/lua_loader/head/usr.sbin/gstat/Makefile soc2014/pedrosouza/lua_loader/head/usr.sbin/iscsid/Makefile soc2014/pedrosouza/lua_loader/head/usr.sbin/iscsid/discovery.c soc2014/pedrosouza/lua_loader/head/usr.sbin/iscsid/iscsid.c soc2014/pedrosouza/lua_loader/head/usr.sbin/iscsid/keys.c soc2014/pedrosouza/lua_loader/head/usr.sbin/iscsid/log.c soc2014/pedrosouza/lua_loader/head/usr.sbin/iscsid/login.c soc2014/pedrosouza/lua_loader/head/usr.sbin/iscsid/pdu.c soc2014/pedrosouza/lua_loader/head/usr.sbin/jail/command.c soc2014/pedrosouza/lua_loader/head/usr.sbin/jail/config.c soc2014/pedrosouza/lua_loader/head/usr.sbin/jail/jail.8 soc2014/pedrosouza/lua_loader/head/usr.sbin/kbdcontrol/kbdcontrol.1 soc2014/pedrosouza/lua_loader/head/usr.sbin/kbdcontrol/kbdmap.5 soc2014/pedrosouza/lua_loader/head/usr.sbin/kbdmap/kbdmap.1 soc2014/pedrosouza/lua_loader/head/usr.sbin/kbdmap/kbdmap.c soc2014/pedrosouza/lua_loader/head/usr.sbin/kbdmap/kbdmap.h soc2014/pedrosouza/lua_loader/head/usr.sbin/lpr/chkprintcap/Makefile soc2014/pedrosouza/lua_loader/head/usr.sbin/lpr/lpc/Makefile soc2014/pedrosouza/lua_loader/head/usr.sbin/lpr/lpd/Makefile soc2014/pedrosouza/lua_loader/head/usr.sbin/lpr/lpq/Makefile soc2014/pedrosouza/lua_loader/head/usr.sbin/lpr/lpr/Makefile soc2014/pedrosouza/lua_loader/head/usr.sbin/lpr/lprm/Makefile soc2014/pedrosouza/lua_loader/head/usr.sbin/lpr/pac/Makefile soc2014/pedrosouza/lua_loader/head/usr.sbin/mailstats/Makefile soc2014/pedrosouza/lua_loader/head/usr.sbin/makefs/Makefile soc2014/pedrosouza/lua_loader/head/usr.sbin/makemap/Makefile soc2014/pedrosouza/lua_loader/head/usr.sbin/mountd/exports.5 soc2014/pedrosouza/lua_loader/head/usr.sbin/mountd/mountd.c soc2014/pedrosouza/lua_loader/head/usr.sbin/ndp/ndp.c soc2014/pedrosouza/lua_loader/head/usr.sbin/nfsd/nfsd.8 soc2014/pedrosouza/lua_loader/head/usr.sbin/ngctl/Makefile soc2014/pedrosouza/lua_loader/head/usr.sbin/nmtree/Makefile soc2014/pedrosouza/lua_loader/head/usr.sbin/ntp/ntp-keygen/Makefile soc2014/pedrosouza/lua_loader/head/usr.sbin/ntp/ntpd/Makefile soc2014/pedrosouza/lua_loader/head/usr.sbin/ntp/ntpdate/Makefile soc2014/pedrosouza/lua_loader/head/usr.sbin/ntp/ntpdc/Makefile soc2014/pedrosouza/lua_loader/head/usr.sbin/ntp/ntpq/Makefile soc2014/pedrosouza/lua_loader/head/usr.sbin/ntp/ntptime/Makefile soc2014/pedrosouza/lua_loader/head/usr.sbin/pkg/Makefile soc2014/pedrosouza/lua_loader/head/usr.sbin/pmcstat/Makefile soc2014/pedrosouza/lua_loader/head/usr.sbin/pmcstat/pmcstat.8 soc2014/pedrosouza/lua_loader/head/usr.sbin/ppp/Makefile soc2014/pedrosouza/lua_loader/head/usr.sbin/pppctl/Makefile soc2014/pedrosouza/lua_loader/head/usr.sbin/praliases/Makefile soc2014/pedrosouza/lua_loader/head/usr.sbin/route6d/route6d.c soc2014/pedrosouza/lua_loader/head/usr.sbin/sendmail/Makefile soc2014/pedrosouza/lua_loader/head/usr.sbin/service/service.sh soc2014/pedrosouza/lua_loader/head/usr.sbin/sysrc/sysrc soc2014/pedrosouza/lua_loader/head/usr.sbin/sysrc/sysrc.8 soc2014/pedrosouza/lua_loader/head/usr.sbin/timed/timedc/timedc.c soc2014/pedrosouza/lua_loader/head/usr.sbin/unbound/anchor/Makefile soc2014/pedrosouza/lua_loader/head/usr.sbin/unbound/checkconf/Makefile soc2014/pedrosouza/lua_loader/head/usr.sbin/unbound/control/Makefile soc2014/pedrosouza/lua_loader/head/usr.sbin/unbound/daemon/Makefile soc2014/pedrosouza/lua_loader/head/usr.sbin/unbound/local-setup/local-unbound-setup.sh soc2014/pedrosouza/lua_loader/head/usr.sbin/watch/Makefile soc2014/pedrosouza/lua_loader/head/usr.sbin/wlandebug/wlandebug.c soc2014/pedrosouza/lua_loader/head/usr.sbin/wpa/wpa_cli/Makefile Modified: soc2014/pedrosouza/lua_loader/head/.arcconfig ============================================================================== --- soc2014/pedrosouza/lua_loader/head/.arcconfig Tue Aug 26 21:26:56 2014 (r273180) +++ soc2014/pedrosouza/lua_loader/head/.arcconfig Tue Aug 26 21:44:11 2014 (r273181) @@ -1,5 +1,5 @@ { "project.name": "S", - "phabricator.uri" : "https://phabric.freebsd.org/", + "phabricator.uri" : "https://reviews.freebsd.org/", "history.immutable" : true } Modified: soc2014/pedrosouza/lua_loader/head/MAINTAINERS ============================================================================== --- soc2014/pedrosouza/lua_loader/head/MAINTAINERS Tue Aug 26 21:26:56 2014 (r273180) +++ soc2014/pedrosouza/lua_loader/head/MAINTAINERS Tue Aug 26 21:44:11 2014 (r273181) @@ -20,7 +20,7 @@ subsystem login notes ----------------------------- -kqueue jmg Pre-commit review requested. +kqueue jmg Pre-commit review requested. Documentation Required. libc/posix1e rwatson Pre-commit review requested. POSIX.1e ACLs rwatson Pre-commit review requested. UFS EAs rwatson Pre-commit review requested. @@ -132,3 +132,4 @@ requested. nanobsd imp Pre-commit review requested for coordination. vmm(4) neel,grehan Pre-commit review requested. +opencrypto jmg Pre-commit review requested. Documentation Required. Modified: soc2014/pedrosouza/lua_loader/head/Makefile ============================================================================== --- soc2014/pedrosouza/lua_loader/head/Makefile Tue Aug 26 21:26:56 2014 (r273180) +++ soc2014/pedrosouza/lua_loader/head/Makefile Tue Aug 26 21:44:11 2014 (r273181) @@ -37,6 +37,8 @@ # xdev-build - Build cross-development tools. # xdev-install - Install cross-development tools. # xdev-links - Create traditional links in /usr/bin for cc, etc +# native-xtools - Create host binaries that produce target objects +# for use in qemu user-mode jails. # # "quick" way to test all kernel builds: # _jflag=`sysctl -n hw.ncpu` @@ -111,7 +113,7 @@ _worldtmp _legacy _bootstrap-tools _cleanobj _obj \ _build-tools _cross-tools _includes _libraries _depend \ build32 builddtb distribute32 install32 xdev xdev-build xdev-install \ - xdev-links \ + xdev-links native-xtools \ TGTS+= ${SUBDIR_TARGETS} @@ -174,6 +176,13 @@ .if defined(TARGET_ARCH) && !defined(_TARGET_ARCH) _TARGET_ARCH=${TARGET_ARCH} .endif +# for historical compatibility for xdev targets +.if defined(XDEV) +_TARGET= ${XDEV} +.endif +.if defined(XDEV_ARCH) +_TARGET_ARCH= ${XDEV_ARCH} +.endif # Otherwise, default to current machine type and architecture. _TARGET?= ${MACHINE} _TARGET_ARCH?= ${MACHINE_ARCH} Modified: soc2014/pedrosouza/lua_loader/head/Makefile.inc1 ============================================================================== --- soc2014/pedrosouza/lua_loader/head/Makefile.inc1 Tue Aug 26 21:26:56 2014 (r273180) +++ soc2014/pedrosouza/lua_loader/head/Makefile.inc1 Tue Aug 26 21:44:11 2014 (r273181) @@ -246,7 +246,7 @@ ${BMAKEENV} ${MAKE} ${WORLD_FLAGS} -f Makefile.inc1 \ DESTDIR= \ BOOTSTRAPPING=${OSRELDATE} \ - SSP_CFLAGS= MK_PIE=no \ + SSP_CFLAGS= \ MK_HTML=no MK_INFO=no NO_LINT=yes MK_MAN=no \ -DNO_PIC MK_PROFILE=no -DNO_SHARED \ -DNO_CPU_CFLAGS MK_WARNS=no MK_CTF=no \ @@ -258,7 +258,7 @@ TARGET=${TARGET} TARGET_ARCH=${TARGET_ARCH} \ DESTDIR= \ BOOTSTRAPPING=${OSRELDATE} \ - SSP_CFLAGS= MK_PIE=no \ + SSP_CFLAGS= \ -DNO_LINT \ -DNO_CPU_CFLAGS MK_WARNS=no MK_CTF=no MK_CLANG_FULL=no MK_LLDB=no MK_TESTS=no @@ -276,7 +276,7 @@ ${KTMAKEENV} ${MAKE} ${WORLD_FLAGS} -f Makefile.inc1 \ DESTDIR= \ BOOTSTRAPPING=${OSRELDATE} \ - SSP_CFLAGS= MK_PIE=no \ + SSP_CFLAGS= \ MK_HTML=no MK_INFO=no -DNO_LINT MK_MAN=no \ -DNO_PIC MK_PROFILE=no -DNO_SHARED \ -DNO_CPU_CFLAGS MK_WARNS=no MK_CTF=no @@ -395,7 +395,8 @@ PATH=${TMPPATH} \ LIBDIR=/usr/lib32 \ SHLIBDIR=/usr/lib32 \ - LIBPRIVATEDIR=/usr/lib32/private + LIBPRIVATEDIR=/usr/lib32/private \ + DTRACE="${DTRACE} -32" LIB32WMAKEFLAGS+= CC="${XCC} ${LIB32FLAGS}" \ CXX="${XCXX} ${LIB32FLAGS}" \ DESTDIR=${LIB32TMP} \ @@ -1207,12 +1208,9 @@ _sed= usr.bin/sed .endif -.if ${BOOTSTRAPPING} < 900006 -_lex= usr.bin/lex -.endif - .if ${BOOTSTRAPPING} < 1000002 -_m4= usr.bin/m4 +_m4= lib/libohash \ + usr.bin/m4 .endif .if ${BOOTSTRAPPING} < 1000013 @@ -1233,15 +1231,19 @@ _cat= bin/cat .endif +.if ${BOOTSTRAPPING} < 1000033 +_lex= usr.bin/lex +.endif + .if ${BOOTSTRAPPING} >= 900040 && ${BOOTSTRAPPING} < 900041 _awk= usr.bin/awk .endif -.if ${MK_BSNMP} != "no" && !exists(/usr/sbin/gensnmptree) +.if ${MK_BSNMP} != "no" _gensnmptree= usr.sbin/bsnmpd/gensnmptree .endif -# We need to build tlbgen when we're building clang either as +# We need to build tblgen when we're building clang either as # the bootstrap compiler, or as the part of the normal build. .if ${MK_CLANG_BOOTSTRAP} != "no" || ${MK_CLANG} != "no" _clang_tblgen= \ @@ -1366,9 +1368,6 @@ # # cross-tools: Build cross-building tools # -.if !defined(TARGET_ARCH) && defined(XDEV_ARCH) -TARGET_ARCH= ${XDEV_ARCH} -.endif .if ${TARGET_ARCH} != ${MACHINE_ARCH} .if ${TARGET_ARCH} == "amd64" || ${TARGET_ARCH} == "i386" _btxld= usr.sbin/btxld @@ -1409,7 +1408,8 @@ usr.bin/xlint/lint1 usr.bin/xlint/lint2 usr.bin/xlint/xlint \ ${_btxld} \ ${_crunchide} \ - ${_kgzip} + ${_kgzip} \ + sys/boot/usb/tools ${_+_}@${ECHODIR} "===> ${_tool} (obj,depend,all,install)"; \ cd ${.CURDIR}/${_tool} && \ ${MAKE} DIRPRFX=${_tool}/ obj && \ @@ -1418,6 +1418,48 @@ ${MAKE} DIRPRFX=${_tool}/ DESTDIR=${MAKEOBJDIRPREFIX} install .endfor +NXBENV= MAKEOBJDIRPREFIX=${OBJTREE}/nxb \ + INSTALL="sh ${.CURDIR}/tools/install.sh" \ + VERSION="${VERSION}" +NXBMAKE= ${NXBENV} ${MAKE} \ + TBLGEN=${OBJTREE}/nxb-bin/usr/bin/tblgen \ + CLANG_TBLGEN=${OBJTREE}/nxb-bin/usr/bin/clang-tblgen \ + MACHINE=${TARGET} MACHINE_ARCH=${TARGET_ARCH} \ + MK_GDB=no MK_TESTS=no \ + SSP_CFLAGS= \ + MK_HTML=no MK_INFO=no NO_LINT=yes MK_MAN=no \ + -DNO_PIC MK_PROFILE=no -DNO_SHARED \ + -DNO_CPU_CFLAGS MK_WARNS=no MK_CTF=no \ + MK_CLANG_FULL=no MK_LLDB=no + +native-xtools: .MAKE + mkdir -p ${OBJTREE}/nxb-bin/usr + mtree -deU -f ${.CURDIR}/etc/mtree/BSD.usr.dist \ + -p ${OBJTREE}/nxb-bin/usr >/dev/null + mtree -deU -f ${.CURDIR}/etc/mtree/BSD.include.dist \ + -p ${OBJTREE}/nxb-bin/usr/include >/dev/null +.for _tool in \ + ${_clang_tblgen} \ + usr.bin/ar \ + ${_binutils} \ + ${_cc} \ + ${_gcc_tools} \ + ${_clang_libs} \ + ${_clang} \ + usr.bin/awk \ + usr.bin/bmake \ + usr.bin/lex \ + usr.bin/lorder \ + usr.bin/sed \ + usr.bin/yacc + ${_+_}@${ECHODIR} "===> ${_tool} (obj,depend,all,install)"; \ + cd ${.CURDIR}/${_tool} && \ + ${NXBMAKE} DIRPRFX=${_tool}/ obj && \ + ${NXBMAKE} DIRPRFX=${_tool}/ depend && \ + ${NXBMAKE} DIRPRFX=${_tool}/ all && \ + ${NXBMAKE} DIRPRFX=${_tool}/ DESTDIR=${OBJTREE}/nxb-bin install +.endfor + # # hierarchy - ensure that all the needed directories are present # @@ -1497,6 +1539,7 @@ .if ${MK_GNUCXX} != "no" _prebuild_libs+= gnu/lib/libstdc++ gnu/lib/libsupc++ gnu/lib/libstdc++__L: lib/msun__L +gnu/lib/libsupc++__L: gnu/lib/libstdc++__L .endif .if defined(WITH_ATF) || ${MK_TESTS} != "no" @@ -1853,9 +1896,9 @@ ############### -.if defined(XDEV) && defined(XDEV_ARCH) +.if defined(TARGET) && defined(TARGET_ARCH) -.if ${XDEV} == ${MACHINE} && ${XDEV_ARCH} == ${MACHINE_ARCH} +.if ${TARGET} == ${MACHINE} && ${TARGET_ARCH} == ${MACHINE_ARCH} XDEV_CPUTYPE?=${CPUTYPE} .else XDEV_CPUTYPE?=${TARGET_CPUTYPE} @@ -1864,10 +1907,10 @@ NOFUN=-DNO_FSCHG MK_HTML=no MK_INFO=no -DNO_LINT \ MK_MAN=no MK_NLS=no MK_PROFILE=no \ MK_KERBEROS=no MK_RESCUE=no MK_TESTS=no MK_WARNS=no \ - TARGET=${XDEV} TARGET_ARCH=${XDEV_ARCH} \ + TARGET=${TARGET} TARGET_ARCH=${TARGET_ARCH} \ CPUTYPE=${XDEV_CPUTYPE} -XDDIR=${XDEV_ARCH}-freebsd +XDDIR=${TARGET_ARCH}-freebsd XDTP?=/usr/${XDDIR} .if ${XDTP:N/*} .error XDTP variable should be an absolute path @@ -1883,7 +1926,7 @@ -B${XDDESTDIR}/usr/bin -B${XDDESTDIR}/usr/lib CD2ENV=${CDENV} CC="${CC} ${CD2CFLAGS}" CXX="${CXX} ${CD2CFLAGS}" \ CPP="${CPP} ${CD2CFLAGS}" \ - MACHINE=${XDEV} MACHINE_ARCH=${XDEV_ARCH} + MACHINE=${TARGET} MACHINE_ARCH=${TARGET_ARCH} CDTMP= ${MAKEOBJDIRPREFIX}/${XDDIR}/${.CURDIR}/tmp CDMAKE=${CDENV} PATH=${CDTMP}/usr/bin:${PATH} ${MAKE} ${NOFUN} @@ -1942,6 +1985,10 @@ -p ${XDDESTDIR}/usr >/dev/null mtree -deU -f ${.CURDIR}/etc/mtree/BSD.include.dist \ -p ${XDDESTDIR}/usr/include >/dev/null +.if ${MK_TESTS} != "no" + mtree -deU -f ${.CURDIR}/etc/mtree/BSD.tests.dist \ + -p ${XDDESTDIR}/usr >/dev/null +.endif .ORDER: xdev-build _xi-mtree _xi-cross-tools _xi-includes _xi-libraries xdev-install: xdev-build _xi-mtree _xi-cross-tools _xi-includes _xi-libraries @@ -1978,5 +2025,5 @@ done .else xdev xdev-build xdev-install xdev-links: - @echo "*** Error: Both XDEV and XDEV_ARCH must be defined for \"${.TARGET}\" target" + @echo "*** Error: Both TARGET and TARGET_ARCH must be defined for \"${.TARGET}\" target" .endif Modified: soc2014/pedrosouza/lua_loader/head/ObsoleteFiles.inc ============================================================================== --- soc2014/pedrosouza/lua_loader/head/ObsoleteFiles.inc Tue Aug 26 21:26:56 2014 (r273180) +++ soc2014/pedrosouza/lua_loader/head/ObsoleteFiles.inc Tue Aug 26 21:44:11 2014 (r273181) @@ -38,6 +38,59 @@ # xargs -n1 | sort | uniq -d; # done +# 20140814: libopie version bump +OLD_LIBS+=usr/lib/libopie.so.7 +OLD_LIBS+=usr/lib32/libopie.so.7 +# 20140811: otp-sha renamed to otp-sha1 +OLD_FILES+=usr/bin/otp-sha +OLD_FILES+=usr/share/man/man1/otp-sha.1.gz +# 20140807: Remove private lib files that should not be installed. +OLD_FILES+=usr/lib/private/libatf-c.a +OLD_FILES+=usr/lib/private/libatf-c.so +OLD_FILES+=usr/lib/private/libatf-c_p.a +OLD_FILES+=usr/lib/private/libatf-c++.a +OLD_FILES+=usr/lib/private/libatf-c++.so +OLD_FILES+=usr/lib/private/libatf-c++_p.a +OLD_FILES+=usr/lib/private/libbsdstat.a +OLD_FILES+=usr/lib/private/libbsdstat.so +OLD_FILES+=usr/lib/private/libbsdstat_p.a +OLD_FILES+=usr/lib/private/libheimipcc.a +OLD_FILES+=usr/lib/private/libheimipcc.so +OLD_FILES+=usr/lib/private/libheimipcc_p.a +OLD_FILES+=usr/lib/private/libheimipcs.a +OLD_FILES+=usr/lib/private/libheimipcs.so +OLD_FILES+=usr/lib/private/libheimipcs_p.a +OLD_FILES+=usr/lib/private/libldns.a +OLD_FILES+=usr/lib/private/libldns.so +OLD_FILES+=usr/lib/private/libldns_p.a +OLD_FILES+=usr/lib/private/libssh.a +OLD_FILES+=usr/lib/private/libssh.so +OLD_FILES+=usr/lib/private/libssh.p.a +OLD_FILES+=usr/lib/private/libunbound.a +OLD_FILES+=usr/lib/private/libunbound.so +OLD_FILES+=usr/lib/private/libunbound_p.a +OLD_FILES+=usr/lib/private/libucl.a +OLD_FILES+=usr/lib/private/libucl.so +OLD_FILES+=usr/lib/private/libucl_p.a +# 20140803: Remove an obsolete man page +OLD_FILES+=usr/share/man/man9/pmap_change_wiring.9.gz +# 20140728: libsbuf restored to old version. +OLD_LIBS+=lib/libsbuf.so.7 +# 20140728: Remove an obsolete man page +OLD_FILES+=usr/share/man/man9/VOP_GETVOBJECT.9.gz +OLD_FILES+=usr/share/man/man9/VOP_CREATEVOBJECT.9.gz +OLD_FILES+=usr/share/man/man9/VOP_DESTROYVOBJECT.9.gz +# 20140723: renamed to PCBGROUP.9 +OLD_FILES+=usr/share/man/man9/PCBGROUPS.9.gz +# 20140718: Remove obsolete man pages +OLD_FILES+=usr/share/man/man9/zero_copy.9.gz +OLD_FILES+=usr/share/man/man9/zero_copy_sockets.9.gz +# 20140718: Remove an obsolete man page +OLD_FILES+=usr/share/man/man9/pmap_page_protect.9.gz +# 20140717: Remove an obsolete man page +OLD_FILES+=usr/share/man/man9/pmap_clear_reference.9.gz +# 20140716: Remove an incorrectly named man page +OLD_FILES+=usr/share/man/man9/pmap_ts_modified.9.gz # 20140712: Removal of bsd.dtrace.mk OLD_FILES+=usr/share/mk/bsd.dtrace.mk # 20140705: turn libreadline into an internal lib @@ -70,8 +123,10 @@ OLD_FILES+=usr/share/examples/cvsup/standard-supfile OLD_DIRS+=usr/share/examples/cvsup # 20140614: send-pr removal +OLD_FILES+=usr/bin/sendbug OLD_FILES+=usr/share/info/send-pr.info.gz OLD_FILES+=usr/share/man/man1/send-pr.1.gz +OLD_FILES+=usr/share/man/man1/sendbug.1.gz OLD_FILES+=etc/gnats/freefall OLD_DIRS+=etc/gnats # 20140512: new clang import which bumps version from 3.4 to 3.4.1. @@ -3150,6 +3205,202 @@ OLD_FILES+=lib/geom/geom_label.so.1 OLD_FILES+=lib/geom/geom_nop.so.1 OLD_FILES+=lib/geom/geom_stripe.so.1 +# 20040728: GCC 3.4.2 +OLD_DIRS+=usr/include/c++/3.3 +OLD_FILES+=usr/include/c++/3.3/FlexLexer.h +OLD_FILES+=usr/include/c++/3.3/algorithm +OLD_FILES+=usr/include/c++/3.3/backward/algo.h +OLD_FILES+=usr/include/c++/3.3/backward/algobase.h +OLD_FILES+=usr/include/c++/3.3/backward/alloc.h +OLD_FILES+=usr/include/c++/3.3/backward/backward_warning.h +OLD_FILES+=usr/include/c++/3.3/backward/bvector.h +OLD_FILES+=usr/include/c++/3.3/backward/complex.h +OLD_FILES+=usr/include/c++/3.3/backward/defalloc.h +OLD_FILES+=usr/include/c++/3.3/backward/deque.h +OLD_FILES+=usr/include/c++/3.3/backward/fstream.h +OLD_FILES+=usr/include/c++/3.3/backward/function.h +OLD_FILES+=usr/include/c++/3.3/backward/hash_map.h +OLD_FILES+=usr/include/c++/3.3/backward/hash_set.h +OLD_FILES+=usr/include/c++/3.3/backward/hashtable.h +OLD_FILES+=usr/include/c++/3.3/backward/heap.h +OLD_FILES+=usr/include/c++/3.3/backward/iomanip.h +OLD_FILES+=usr/include/c++/3.3/backward/iostream.h +OLD_FILES+=usr/include/c++/3.3/backward/istream.h +OLD_FILES+=usr/include/c++/3.3/backward/iterator.h +OLD_FILES+=usr/include/c++/3.3/backward/list.h +OLD_FILES+=usr/include/c++/3.3/backward/map.h +OLD_FILES+=usr/include/c++/3.3/backward/multimap.h +OLD_FILES+=usr/include/c++/3.3/backward/multiset.h +OLD_FILES+=usr/include/c++/3.3/backward/new.h +OLD_FILES+=usr/include/c++/3.3/backward/ostream.h +OLD_FILES+=usr/include/c++/3.3/backward/pair.h +OLD_FILES+=usr/include/c++/3.3/backward/queue.h +OLD_FILES+=usr/include/c++/3.3/backward/rope.h +OLD_FILES+=usr/include/c++/3.3/backward/set.h +OLD_FILES+=usr/include/c++/3.3/backward/slist.h +OLD_FILES+=usr/include/c++/3.3/backward/stack.h +OLD_FILES+=usr/include/c++/3.3/backward/stream.h +OLD_FILES+=usr/include/c++/3.3/backward/streambuf.h +OLD_FILES+=usr/include/c++/3.3/backward/strstream +OLD_FILES+=usr/include/c++/3.3/backward/strstream.h +OLD_FILES+=usr/include/c++/3.3/backward/tempbuf.h +OLD_FILES+=usr/include/c++/3.3/backward/tree.h +OLD_FILES+=usr/include/c++/3.3/backward/vector.h +OLD_DIRS+=usr/include/c++/3.3/backward +OLD_FILES+=usr/include/c++/3.3/bits/atomicity.h +OLD_FILES+=usr/include/c++/3.3/bits/basic_file.h +OLD_FILES+=usr/include/c++/3.3/bits/basic_ios.h +OLD_FILES+=usr/include/c++/3.3/bits/basic_ios.tcc +OLD_FILES+=usr/include/c++/3.3/bits/basic_string.h +OLD_FILES+=usr/include/c++/3.3/bits/basic_string.tcc +OLD_FILES+=usr/include/c++/3.3/bits/boost_concept_check.h +OLD_FILES+=usr/include/c++/3.3/bits/c++config.h +OLD_FILES+=usr/include/c++/3.3/bits/c++io.h +OLD_FILES+=usr/include/c++/3.3/bits/c++locale.h +OLD_FILES+=usr/include/c++/3.3/bits/c++locale_internal.h +OLD_FILES+=usr/include/c++/3.3/bits/char_traits.h +OLD_FILES+=usr/include/c++/3.3/bits/cmath.tcc +OLD_FILES+=usr/include/c++/3.3/bits/codecvt.h +OLD_FILES+=usr/include/c++/3.3/bits/codecvt_specializations.h +OLD_FILES+=usr/include/c++/3.3/bits/concept_check.h +OLD_FILES+=usr/include/c++/3.3/bits/cpp_type_traits.h +OLD_FILES+=usr/include/c++/3.3/bits/ctype_base.h +OLD_FILES+=usr/include/c++/3.3/bits/ctype_inline.h +OLD_FILES+=usr/include/c++/3.3/bits/ctype_noninline.h +OLD_FILES+=usr/include/c++/3.3/bits/deque.tcc +OLD_FILES+=usr/include/c++/3.3/bits/fpos.h +OLD_FILES+=usr/include/c++/3.3/bits/fstream.tcc +OLD_FILES+=usr/include/c++/3.3/bits/functexcept.h +OLD_FILES+=usr/include/c++/3.3/bits/generic_shadow.h +OLD_FILES+=usr/include/c++/3.3/bits/gslice.h +OLD_FILES+=usr/include/c++/3.3/bits/gslice_array.h +OLD_FILES+=usr/include/c++/3.3/bits/gthr-default.h +OLD_FILES+=usr/include/c++/3.3/bits/gthr-posix.h +OLD_FILES+=usr/include/c++/3.3/bits/gthr-single.h +OLD_FILES+=usr/include/c++/3.3/bits/gthr.h +OLD_FILES+=usr/include/c++/3.3/bits/indirect_array.h +OLD_FILES+=usr/include/c++/3.3/bits/ios_base.h +OLD_FILES+=usr/include/c++/3.3/bits/istream.tcc +OLD_FILES+=usr/include/c++/3.3/bits/list.tcc +OLD_FILES+=usr/include/c++/3.3/bits/locale_classes.h +OLD_FILES+=usr/include/c++/3.3/bits/locale_facets.h +OLD_FILES+=usr/include/c++/3.3/bits/locale_facets.tcc +OLD_FILES+=usr/include/c++/3.3/bits/localefwd.h +OLD_FILES+=usr/include/c++/3.3/bits/mask_array.h +OLD_FILES+=usr/include/c++/3.3/bits/messages_members.h +OLD_FILES+=usr/include/c++/3.3/bits/os_defines.h +OLD_FILES+=usr/include/c++/3.3/bits/ostream.tcc +OLD_FILES+=usr/include/c++/3.3/bits/pthread_allocimpl.h +OLD_FILES+=usr/include/c++/3.3/bits/slice.h +OLD_FILES+=usr/include/c++/3.3/bits/slice_array.h +OLD_FILES+=usr/include/c++/3.3/bits/sstream.tcc +OLD_FILES+=usr/include/c++/3.3/bits/stl_algo.h +OLD_FILES+=usr/include/c++/3.3/bits/stl_algobase.h +OLD_FILES+=usr/include/c++/3.3/bits/stl_alloc.h +OLD_FILES+=usr/include/c++/3.3/bits/stl_bvector.h +OLD_FILES+=usr/include/c++/3.3/bits/stl_construct.h +OLD_FILES+=usr/include/c++/3.3/bits/stl_deque.h +OLD_FILES+=usr/include/c++/3.3/bits/stl_function.h +OLD_FILES+=usr/include/c++/3.3/bits/stl_heap.h +OLD_FILES+=usr/include/c++/3.3/bits/stl_iterator.h +OLD_FILES+=usr/include/c++/3.3/bits/stl_iterator_base_funcs.h +OLD_FILES+=usr/include/c++/3.3/bits/stl_iterator_base_types.h +OLD_FILES+=usr/include/c++/3.3/bits/stl_list.h +OLD_FILES+=usr/include/c++/3.3/bits/stl_map.h +OLD_FILES+=usr/include/c++/3.3/bits/stl_multimap.h +OLD_FILES+=usr/include/c++/3.3/bits/stl_multiset.h +OLD_FILES+=usr/include/c++/3.3/bits/stl_numeric.h +OLD_FILES+=usr/include/c++/3.3/bits/stl_pair.h +OLD_FILES+=usr/include/c++/3.3/bits/stl_pthread_alloc.h +OLD_FILES+=usr/include/c++/3.3/bits/stl_queue.h +OLD_FILES+=usr/include/c++/3.3/bits/stl_raw_storage_iter.h +OLD_FILES+=usr/include/c++/3.3/bits/stl_relops.h +OLD_FILES+=usr/include/c++/3.3/bits/stl_set.h +OLD_FILES+=usr/include/c++/3.3/bits/stl_stack.h +OLD_FILES+=usr/include/c++/3.3/bits/stl_tempbuf.h +OLD_FILES+=usr/include/c++/3.3/bits/stl_threads.h +OLD_FILES+=usr/include/c++/3.3/bits/stl_tree.h +OLD_FILES+=usr/include/c++/3.3/bits/stl_uninitialized.h +OLD_FILES+=usr/include/c++/3.3/bits/stl_vector.h +OLD_FILES+=usr/include/c++/3.3/bits/stream_iterator.h +OLD_FILES+=usr/include/c++/3.3/bits/streambuf.tcc +OLD_FILES+=usr/include/c++/3.3/bits/streambuf_iterator.h +OLD_FILES+=usr/include/c++/3.3/bits/stringfwd.h +OLD_FILES+=usr/include/c++/3.3/bits/time_members.h +OLD_FILES+=usr/include/c++/3.3/bits/type_traits.h +OLD_FILES+=usr/include/c++/3.3/bits/valarray_array.h +OLD_FILES+=usr/include/c++/3.3/bits/valarray_array.tcc +OLD_FILES+=usr/include/c++/3.3/bits/valarray_meta.h +OLD_FILES+=usr/include/c++/3.3/bits/vector.tcc +OLD_DIRS+=usr/include/c++/3.3/bits +OLD_FILES+=usr/include/c++/3.3/bitset +OLD_FILES+=usr/include/c++/3.3/cassert +OLD_FILES+=usr/include/c++/3.3/cctype +OLD_FILES+=usr/include/c++/3.3/cerrno +OLD_FILES+=usr/include/c++/3.3/cfloat +OLD_FILES+=usr/include/c++/3.3/ciso646 +OLD_FILES+=usr/include/c++/3.3/climits +OLD_FILES+=usr/include/c++/3.3/clocale +OLD_FILES+=usr/include/c++/3.3/cmath +OLD_FILES+=usr/include/c++/3.3/complex +OLD_FILES+=usr/include/c++/3.3/csetjmp +OLD_FILES+=usr/include/c++/3.3/csignal +OLD_FILES+=usr/include/c++/3.3/cstdarg +OLD_FILES+=usr/include/c++/3.3/cstddef +OLD_FILES+=usr/include/c++/3.3/cstdio +OLD_FILES+=usr/include/c++/3.3/cstdlib +OLD_FILES+=usr/include/c++/3.3/cstring +OLD_FILES+=usr/include/c++/3.3/ctime +OLD_FILES+=usr/include/c++/3.3/cwchar +OLD_FILES+=usr/include/c++/3.3/cwctype +OLD_FILES+=usr/include/c++/3.3/cxxabi.h +OLD_FILES+=usr/include/c++/3.3/deque +OLD_FILES+=usr/include/c++/3.3/exception +OLD_FILES+=usr/include/c++/3.3/exception_defines.h +OLD_FILES+=usr/include/c++/3.3/ext/algorithm +OLD_FILES+=usr/include/c++/3.3/ext/enc_filebuf.h +OLD_FILES+=usr/include/c++/3.3/ext/functional +OLD_FILES+=usr/include/c++/3.3/ext/hash_map +OLD_FILES+=usr/include/c++/3.3/ext/hash_set +OLD_FILES+=usr/include/c++/3.3/ext/iterator +OLD_FILES+=usr/include/c++/3.3/ext/memory +OLD_FILES+=usr/include/c++/3.3/ext/numeric +OLD_FILES+=usr/include/c++/3.3/ext/rb_tree +OLD_FILES+=usr/include/c++/3.3/ext/rope +OLD_FILES+=usr/include/c++/3.3/ext/ropeimpl.h +OLD_FILES+=usr/include/c++/3.3/ext/slist +OLD_FILES+=usr/include/c++/3.3/ext/stdio_filebuf.h +OLD_FILES+=usr/include/c++/3.3/ext/stl_hash_fun.h +OLD_FILES+=usr/include/c++/3.3/ext/stl_hashtable.h +OLD_FILES+=usr/include/c++/3.3/ext/stl_rope.h +OLD_DIRS+=usr/include/c++/3.3/ext +OLD_FILES+=usr/include/c++/3.3/fstream +OLD_FILES+=usr/include/c++/3.3/functional +OLD_FILES+=usr/include/c++/3.3/iomanip +OLD_FILES+=usr/include/c++/3.3/ios +OLD_FILES+=usr/include/c++/3.3/iosfwd +OLD_FILES+=usr/include/c++/3.3/iostream +OLD_FILES+=usr/include/c++/3.3/istream +OLD_FILES+=usr/include/c++/3.3/iterator +OLD_FILES+=usr/include/c++/3.3/limits +OLD_FILES+=usr/include/c++/3.3/list +OLD_FILES+=usr/include/c++/3.3/locale +OLD_FILES+=usr/include/c++/3.3/map +OLD_FILES+=usr/include/c++/3.3/memory +OLD_FILES+=usr/include/c++/3.3/new +OLD_FILES+=usr/include/c++/3.3/numeric +OLD_FILES+=usr/include/c++/3.3/ostream +OLD_FILES+=usr/include/c++/3.3/queue +OLD_FILES+=usr/include/c++/3.3/set +OLD_FILES+=usr/include/c++/3.3/sstream +OLD_FILES+=usr/include/c++/3.3/stack +OLD_FILES+=usr/include/c++/3.3/stdexcept +OLD_FILES+=usr/include/c++/3.3/streambuf +OLD_FILES+=usr/include/c++/3.3/string +OLD_FILES+=usr/include/c++/3.3/typeinfo +OLD_FILES+=usr/include/c++/3.3/utility +OLD_FILES+=usr/include/c++/3.3/valarray +OLD_FILES+=usr/include/c++/3.3/vector # 20040713: fla(4) removed. OLD_FILES+=usr/share/man/man4/fla.4.gz # 200407XX Modified: soc2014/pedrosouza/lua_loader/head/UPDATING ============================================================================== --- soc2014/pedrosouza/lua_loader/head/UPDATING Tue Aug 26 21:26:56 2014 (r273180) +++ soc2014/pedrosouza/lua_loader/head/UPDATING Tue Aug 26 21:44:11 2014 (r273181) @@ -1,4 +1,4 @@ -Updating Information for FreeBSD current users +Updating Information for FreeBSD current users. This file is maintained and copyrighted by M. Warner Losh . See end of file for further details. For commonly done items, please see the @@ -31,6 +31,25 @@ disable the most expensive debugging functionality run "ln -s 'abort:false,junk:false' /etc/malloc.conf".) +20140729: + The ofwfb driver, used to provide a graphics console on PowerPC when + using vt(4), no longer allows mmap() of all of physical memory. This + will prevent Xorg on PowerPC with some ATI graphics cards from + initializing properly unless x11-servers/xorg-server is updated to + 1.12.4_8 or newer. + +20140723: + The xdev targets have been converted to using TARGET and + TARGET_ARCH instead of XDEV and XDEV_ARCH. + +20140719: + The default unbound configuration has been modified to address + issues with reverse lookups on networks that use private + address ranges. If you use the local_unbound service, run + "service local_unbound setup" as root to regenerate your + configuration, then "service local_unbound reload" to load the + new configuration. + 20140709: The GNU texinfo and GNU info pages are not built and installed anymore, WITH_INFO knob has been added to allow to built and install Modified: soc2014/pedrosouza/lua_loader/head/bin/csh/Makefile ============================================================================== --- soc2014/pedrosouza/lua_loader/head/bin/csh/Makefile Tue Aug 26 21:26:56 2014 (r273180) +++ soc2014/pedrosouza/lua_loader/head/bin/csh/Makefile Tue Aug 26 21:44:11 2014 (r273181) @@ -40,8 +40,8 @@ # utilities of the same name are handled with the associated manpage, # builtin.1 in share/man/man1/. -DPADD= ${LIBTERMCAP} ${LIBCRYPT} -LDADD= -ltermcap -lcrypt +DPADD= ${LIBTERMCAPW} ${LIBCRYPT} +LDADD= -ltermcapw -lcrypt LINKS= ${BINDIR}/csh ${BINDIR}/tcsh Modified: soc2014/pedrosouza/lua_loader/head/bin/date/tests/Makefile ============================================================================== --- soc2014/pedrosouza/lua_loader/head/bin/date/tests/Makefile Tue Aug 26 21:26:56 2014 (r273180) +++ soc2014/pedrosouza/lua_loader/head/bin/date/tests/Makefile Tue Aug 26 21:44:11 2014 (r273181) @@ -4,6 +4,6 @@ TESTSDIR= ${TESTSBASE}/bin/date -TAP_TESTS_SH= legacy_test +ATF_TESTS_SH= format_string_test .include Copied: soc2014/pedrosouza/lua_loader/head/bin/date/tests/format_string_test.sh (from r273173, mirror/FreeBSD/head/bin/date/tests/format_string_test.sh) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ soc2014/pedrosouza/lua_loader/head/bin/date/tests/format_string_test.sh Tue Aug 26 21:44:11 2014 (r273181, copy of r273173, mirror/FreeBSD/head/bin/date/tests/format_string_test.sh) @@ -0,0 +1,92 @@ +# +# Regression tests for date(1) +# +# Submitted by Edwin Groothuis +# +# $FreeBSD$ +# + +# +# These two date/times have been chosen carefully -- they +# create both the single digit and double/multidigit version of +# the values. +# +# To create a new one, make sure you are using the UTC timezone! +# + +TEST1=3222243 # 1970-02-07 07:04:03 +TEST2=1005600000 # 2001-11-12 21:11:12 + +check() +{ + local format_string exp_output_1 exp_output_2 + + format_string=${1} + exp_output_1=${2} + exp_output_2=${3} + + atf_check -o "inline:${exp_output_1}\n" \ + date -r ${TEST1} +%${format_string} + atf_check -o "inline:${exp_output_2}\n" \ + date -r ${TEST2} +%${format_string} +} + +format_string_test() +{ + local desc exp_output_1 exp_output_2 flag + + desc=${1} + flag=${2} + exp_output_1=${3} + exp_output_2=${4} + + atf_test_case ${desc}_test + eval " +${desc}_test_body() { + check ${flag} '${exp_output_1}' '${exp_output_2}'; +}" + atf_add_test_case ${desc}_test +} + +atf_init_test_cases() +{ + format_string_test A A Saturday Monday + format_string_test a a Sat Mon + format_string_test B B February November + format_string_test b b Feb Nov + format_string_test C C 19 20 + format_string_test c c "Sat Feb 7 07:04:03 1970" "Mon Nov 12 21:20:00 2001" + format_string_test D D 02/07/70 11/12/01 + format_string_test d d 07 12 + format_string_test e e " 7" 12 + format_string_test F F "1970-02-07" "2001-11-12" + format_string_test G G 1970 2001 + format_string_test g g 70 01 + format_string_test H H 07 21 + format_string_test h h Feb Nov + format_string_test I I 07 09 + format_string_test j j 038 316 + format_string_test k k " 7" 21 + format_string_test l l " 7" " 9" + format_string_test M M 04 20 + format_string_test m m 02 11 + format_string_test p p AM PM + format_string_test R R 07:04 21:20 + format_string_test r r "07:04:03 AM" "09:20:00 PM" + format_string_test S S 03 00 + format_string_test s s ${TEST1} ${TEST2} + format_string_test U U 05 45 + format_string_test u u 6 1 + format_string_test V V 06 46 + format_string_test v v " 7-Feb-1970" "12-Nov-2001" + format_string_test W W 05 46 + format_string_test w w 6 1 + format_string_test X X "07:04:03" "21:20:00" + format_string_test x x "02/07/70" "11/12/01" + format_string_test Y Y 1970 2001 + format_string_test y y 70 01 + format_string_test Z Z UTC UTC + format_string_test z z +0000 +0000 + format_string_test percent % % % + format_string_test plus + "Sat Feb 7 07:04:03 UTC 1970" "Mon Nov 12 21:20:00 UTC 2001" +} Modified: soc2014/pedrosouza/lua_loader/head/bin/ed/cbc.c ============================================================================== --- soc2014/pedrosouza/lua_loader/head/bin/ed/cbc.c Tue Aug 26 21:26:56 2014 (r273180) +++ soc2014/pedrosouza/lua_loader/head/bin/ed/cbc.c Tue Aug 26 21:44:11 2014 (r273181) @@ -237,7 +237,7 @@ /* * now translate it, bombing on any illegal hex digit */ - for (i = 0; kbuf[i] && i < 16; i++) + for (i = 0; i < 16 && kbuf[i]; i++) if ((nbuf[i] = hex_to_binary((int) kbuf[i], 16)) == -1) des_error("bad hex digit in key"); while (i < 16) Modified: soc2014/pedrosouza/lua_loader/head/bin/ls/Makefile ============================================================================== --- soc2014/pedrosouza/lua_loader/head/bin/ls/Makefile Tue Aug 26 21:26:56 2014 (r273180) +++ soc2014/pedrosouza/lua_loader/head/bin/ls/Makefile Tue Aug 26 21:44:11 2014 (r273181) @@ -11,8 +11,8 @@ .if !defined(RELEASE_CRUNCH) && \ ${MK_LS_COLORS} != no CFLAGS+= -DCOLORLS -DPADD+= ${LIBTERMCAP} -LDADD+= -ltermcap +DPADD+= ${LIBTERMCAPW} +LDADD+= -ltermcapw .endif .include Modified: soc2014/pedrosouza/lua_loader/head/bin/pkill/tests/Makefile ============================================================================== --- soc2014/pedrosouza/lua_loader/head/bin/pkill/tests/Makefile Tue Aug 26 21:26:56 2014 (r273180) +++ soc2014/pedrosouza/lua_loader/head/bin/pkill/tests/Makefile Tue Aug 26 21:44:11 2014 (r273181) @@ -14,6 +14,7 @@ TAP_TESTS_SH+= pgrep-i_test TAP_TESTS_SH+= pgrep-j_test TEST_METADATA.pgrep-j_test+= required_user="root" +TEST_METADATA.pgrep-j_test+= required_programs="jail jls" TAP_TESTS_SH+= pgrep-l_test TAP_TESTS_SH+= pgrep-n_test TAP_TESTS_SH+= pgrep-o_test @@ -31,6 +32,7 @@ TAP_TESTS_SH+= pkill-i_test TAP_TESTS_SH+= pkill-j_test TEST_METADATA.pkill-j_test+= required_user="root" +TEST_METADATA.pkill-j_test+= required_programs="jail jls" TAP_TESTS_SH+= pkill-s_test TAP_TESTS_SH+= pkill-t_test TAP_TESTS_SH+= pkill-x_test Modified: soc2014/pedrosouza/lua_loader/head/bin/ps/ps.1 ============================================================================== --- soc2014/pedrosouza/lua_loader/head/bin/ps/ps.1 Tue Aug 26 21:26:56 2014 (r273180) +++ soc2014/pedrosouza/lua_loader/head/bin/ps/ps.1 Tue Aug 26 21:44:11 2014 (r273181) @@ -29,7 +29,7 @@ .\" @(#)ps.1 8.3 (Berkeley) 4/18/94 .\" $FreeBSD$ .\" -.Dd June 6, 2014 +.Dd August 7, 2014 .Dt PS 1 .Os .Sh NAME @@ -332,7 +332,6 @@ .It Dv "P_SINGLE_BOUNDARY" Ta No "0x400000" Ta "Threads should suspend at user boundary" .It Dv "P_HWPMC" Ta No "0x800000" Ta "Process is using HWPMCs" .It Dv "P_JAILED" Ta No "0x1000000" Ta "Process is in jail" -.It Dv "P_ORPHAN" Ta No "0x2000000" Ta "Orphaned by original parent, reparented to debugger" .It Dv "P_INEXEC" Ta No "0x4000000" Ta "Process is in execve()" .It Dv "P_STATCHILD" Ta No "0x8000000" Ta "Child process stopped or exited" .It Dv "P_INMEM" Ta No "0x10000000" Ta "Loaded into memory" Modified: soc2014/pedrosouza/lua_loader/head/bin/rmail/Makefile ============================================================================== --- soc2014/pedrosouza/lua_loader/head/bin/rmail/Makefile Tue Aug 26 21:26:56 2014 (r273180) +++ soc2014/pedrosouza/lua_loader/head/bin/rmail/Makefile Tue Aug 26 21:44:11 2014 (r273181) @@ -14,8 +14,6 @@ WARNS?= 2 CFLAGS+=-I${SENDMAIL_DIR}/include -I. -NO_PIE= yes - LIBSMDIR= ${.OBJDIR}/../../lib/libsm LIBSM= ${LIBSMDIR}/libsm.a Modified: soc2014/pedrosouza/lua_loader/head/bin/sh/Makefile ============================================================================== --- soc2014/pedrosouza/lua_loader/head/bin/sh/Makefile Tue Aug 26 21:26:56 2014 (r273180) +++ soc2014/pedrosouza/lua_loader/head/bin/sh/Makefile Tue Aug 26 21:44:11 2014 (r273181) @@ -18,8 +18,8 @@ # utilities of the same name are handled with the associated manpage, # builtin.1 in share/man/man1/. -DPADD= ${LIBEDIT} ${LIBTERMCAP} -LDADD= -ledit -ltermcap +DPADD= ${LIBEDIT} ${LIBTERMCAPW} +LDADD= -ledit -ltermcapw CFLAGS+=-DSHELL -I. -I${.CURDIR} # for debug: Modified: soc2014/pedrosouza/lua_loader/head/bin/sh/arith_yacc.c ============================================================================== --- soc2014/pedrosouza/lua_loader/head/bin/sh/arith_yacc.c Tue Aug 26 21:26:56 2014 (r273180) +++ soc2014/pedrosouza/lua_loader/head/bin/sh/arith_yacc.c Tue Aug 26 21:44:11 2014 (r273181) @@ -139,9 +139,9 @@ case ARITH_SUB: return (uintmax_t)a - (uintmax_t)b; case ARITH_LSHIFT: - return (uintmax_t)a << b; + return (uintmax_t)a << (b & (sizeof(uintmax_t) * CHAR_BIT - 1)); case ARITH_RSHIFT: - return a >> b; + return a >> (b & (sizeof(uintmax_t) * CHAR_BIT - 1)); case ARITH_LT: return a < b; case ARITH_LE: Modified: soc2014/pedrosouza/lua_loader/head/bin/sh/eval.c ============================================================================== --- soc2014/pedrosouza/lua_loader/head/bin/sh/eval.c Tue Aug 26 21:26:56 2014 (r273180) +++ soc2014/pedrosouza/lua_loader/head/bin/sh/eval.c Tue Aug 26 21:44:11 2014 (r273181) @@ -1250,8 +1250,16 @@ int breakcmd(int argc, char **argv) { - int n = argc > 1 ? number(argv[1]) : 1; + long n; + char *end; + if (argc > 1) { + /* Allow arbitrarily large numbers. */ + n = strtol(argv[1], &end, 10); + if (!is_digit(argv[1][0]) || *end != '\0') + error("Illegal number: %s", argv[1]); + } else + n = 1; if (n > loopnest) n = loopnest; if (n > 0) { Modified: soc2014/pedrosouza/lua_loader/head/bin/sh/exec.c ============================================================================== --- soc2014/pedrosouza/lua_loader/head/bin/sh/exec.c Tue Aug 26 21:26:56 2014 (r273180) +++ soc2014/pedrosouza/lua_loader/head/bin/sh/exec.c Tue Aug 26 21:44:11 2014 (r273181) @@ -365,7 +365,7 @@ for (;(fullname = padvance(&path, name)) != NULL; stunalloc(fullname)) { idx++; if (pathopt) { - if (prefix("func", pathopt)) { + if (strncmp(pathopt, "func", 4) == 0) { /* handled below */ } else { continue; /* ignore unimplemented options */ Modified: soc2014/pedrosouza/lua_loader/head/bin/sh/histedit.c ============================================================================== --- soc2014/pedrosouza/lua_loader/head/bin/sh/histedit.c Tue Aug 26 21:26:56 2014 (r273180) +++ soc2014/pedrosouza/lua_loader/head/bin/sh/histedit.c Tue Aug 26 21:44:11 2014 (r273181) @@ -166,9 +166,10 @@ HistEvent he; if (hist != NULL) { - if (hs == NULL || *hs == '\0' || - (histsize = atoi(hs)) < 0) + if (hs == NULL || !is_number(hs)) histsize = 100; + else + histsize = atoi(hs); history(hist, &he, H_SETSIZE, histsize); history(hist, &he, H_SETUNIQUE, 1); } Modified: soc2014/pedrosouza/lua_loader/head/bin/sh/jobs.c ============================================================================== --- soc2014/pedrosouza/lua_loader/head/bin/sh/jobs.c Tue Aug 26 21:26:56 2014 (r273180) +++ soc2014/pedrosouza/lua_loader/head/bin/sh/jobs.c Tue Aug 26 21:44:11 2014 (r273181) @@ -562,6 +562,7 @@ { int jobno; struct job *found, *jp; + size_t namelen; pid_t pid; int i; @@ -603,10 +604,12 @@ if (found != NULL) return (found); } else { + namelen = strlen(name); found = NULL; for (jp = jobtab, i = njobs ; --i >= 0 ; jp++) { if (jp->used && jp->nprocs > 0 - && prefix(name + 1, jp->ps[0].cmd)) { + && strncmp(jp->ps[0].cmd, name + 1, + namelen - 1) == 0) { if (found) error("%s: ambiguous", name); found = jp; Modified: soc2014/pedrosouza/lua_loader/head/bin/sh/miscbltin.c ============================================================================== --- soc2014/pedrosouza/lua_loader/head/bin/sh/miscbltin.c Tue Aug 26 21:26:56 2014 (r273180) +++ soc2014/pedrosouza/lua_loader/head/bin/sh/miscbltin.c Tue Aug 26 21:44:11 2014 (r273181) @@ -411,12 +411,32 @@ { (char *) 0, (char *)0, 0, 0, '\0' } }; +enum limithow { SOFT = 0x1, HARD = 0x2 }; + +static void +printlimit(enum limithow how, const struct rlimit *limit, + const struct limits *l) +{ + rlim_t val = 0; + + if (how & SOFT) + val = limit->rlim_cur; + else if (how & HARD) + val = limit->rlim_max; + if (val == RLIM_INFINITY) + out1str("unlimited\n"); + else + { + val /= l->factor; + out1fmt("%jd\n", (intmax_t)val); + } +} + int ulimitcmd(int argc __unused, char **argv __unused) { rlim_t val = 0; - enum { SOFT = 0x1, HARD = 0x2 } - how = SOFT | HARD; + enum limithow how = SOFT | HARD; const struct limits *l; int set, all = 0; int optc, what; @@ -475,10 +495,6 @@ char optbuf[40]; if (getrlimit(l->cmd, &limit) < 0) error("can't get limit: %s", strerror(errno)); - if (how & SOFT) - val = limit.rlim_cur; - else if (how & HARD) - val = limit.rlim_max; if (l->units) snprintf(optbuf, sizeof(optbuf), @@ -487,13 +503,7 @@ snprintf(optbuf, sizeof(optbuf), "(-%c) ", l->option); out1fmt("%-18s %18s ", l->name, optbuf); - if (val == RLIM_INFINITY) - out1str("unlimited\n"); - else - { - val /= l->factor; - out1fmt("%jd\n", (intmax_t)val); - } + printlimit(how, &limit, l); } return 0; } @@ -507,19 +517,7 @@ limit.rlim_max = val; if (setrlimit(l->cmd, &limit) < 0) error("bad limit: %s", strerror(errno)); - } else { - if (how & SOFT) - val = limit.rlim_cur; - else if (how & HARD) - val = limit.rlim_max; - - if (val == RLIM_INFINITY) - out1str("unlimited\n"); - else - { - val /= l->factor; - out1fmt("%jd\n", (intmax_t)val); - } - } + } else + printlimit(how, &limit, l); return 0; } Modified: soc2014/pedrosouza/lua_loader/head/bin/sh/mystring.c ============================================================================== --- soc2014/pedrosouza/lua_loader/head/bin/sh/mystring.c Tue Aug 26 21:26:56 2014 (r273180) +++ soc2014/pedrosouza/lua_loader/head/bin/sh/mystring.c Tue Aug 26 21:44:11 2014 (r273181) @@ -61,21 +61,6 @@ /* - * prefix -- see if pfx is a prefix of string. - */ - -int -prefix(const char *pfx, const char *string) -{ - while (*pfx) { - if (*pfx++ != *string++) - return 0; - } - return 1; -} - - -/* * Convert a string of digits to an integer, printing an error message on * failure. */ @@ -97,9 +82,17 @@ int is_number(const char *p) { - do { - if (! is_digit(*p)) + const char *q; + + if (*p == '\0') + return 0; + while (*p == '0') + p++; + for (q = p; *q != '\0'; q++) + if (! is_digit(*q)) return 0; - } while (*++p != '\0'); + if (q - p > 10 || + (q - p == 10 && memcmp(p, "2147483647", 10) > 0)) + return 0; return 1; } Modified: soc2014/pedrosouza/lua_loader/head/bin/sh/mystring.h ============================================================================== --- soc2014/pedrosouza/lua_loader/head/bin/sh/mystring.h Tue Aug 26 21:26:56 2014 (r273180) +++ soc2014/pedrosouza/lua_loader/head/bin/sh/mystring.h Tue Aug 26 21:44:11 2014 (r273181) @@ -35,7 +35,6 @@ #include -int prefix(const char *, const char *); int number(const char *); int is_number(const char *); *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-soc-all@FreeBSD.ORG Thu Aug 28 11:37:55 2014 Return-Path: Delivered-To: svn-soc-all@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id E944E6AC for ; Thu, 28 Aug 2014 11:37:55 +0000 (UTC) Received: from socsvn.freebsd.org (socsvn.freebsd.org [IPv6:2001:1900:2254:206a::50:2]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id D5A8D1844 for ; Thu, 28 Aug 2014 11:37:55 +0000 (UTC) Received: from socsvn.freebsd.org ([127.0.1.124]) by socsvn.freebsd.org (8.14.9/8.14.9) with ESMTP id s7SBbtt3090300 for ; Thu, 28 Aug 2014 11:37:55 GMT (envelope-from dpl@FreeBSD.org) Received: (from www@localhost) by socsvn.freebsd.org (8.14.9/8.14.9/Submit) id s7SBbtPh090298 for svn-soc-all@FreeBSD.org; Thu, 28 Aug 2014 11:37:55 GMT (envelope-from dpl@FreeBSD.org) Date: Thu, 28 Aug 2014 11:37:55 GMT Message-Id: <201408281137.s7SBbtPh090298@socsvn.freebsd.org> X-Authentication-Warning: socsvn.freebsd.org: www set sender to dpl@FreeBSD.org using -f From: dpl@FreeBSD.org To: svn-soc-all@FreeBSD.org Subject: socsvn commit: r273258 - soc2014/dpl/netmap-ipfwjit MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-soc-all@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: SVN commit messages for the entire Summer of Code repository List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 28 Aug 2014 11:37:56 -0000 Author: dpl Date: Thu Aug 28 11:37:54 2014 New Revision: 273258 URL: http://svnweb.FreeBSD.org/socsvn/?view=rev&rev=273258 Log: Clarity Modified: soc2014/dpl/netmap-ipfwjit/Makefile.kipfw Modified: soc2014/dpl/netmap-ipfwjit/Makefile.kipfw ============================================================================== --- soc2014/dpl/netmap-ipfwjit/Makefile.kipfw Thu Aug 28 09:40:44 2014 (r273257) +++ soc2014/dpl/netmap-ipfwjit/Makefile.kipfw Thu Aug 28 11:37:54 2014 (r273258) @@ -72,11 +72,6 @@ E_CFLAGS += -D_KERNEL E_CFLAGS += $(CFLAGS2) -#Flags needed for jit.cc -J_CFLAGS += $(INCDIRS) $(NETMAP_FLAGS) -J_CFLAGS += -DINET -D_KERNEL -D_BSD_SOURCE -DKERNEL_SIDE -DUSERSPACE -J_CFLAGS += -I ../extra/ -Wno-extern-c-compat -Wno-comment #-O2 -Wall -Werror - #ipfw + dummynet section, other parts are not compiled in SRCS_IPFW = ip_fw2.c ip_fw_pfil.c ip_fw_sockopt.c SRCS_IPFW += ip_fw_dynamic.c ip_fw_table.c @@ -140,6 +135,11 @@ # and the ": = " substitution packs spaces into one. EFILES = $(foreach i,$(EDIRS),$(subst $(empty) , $(i)/, $(EFILES_$(i): = ))) +#Flags needed for jit.cc +J_CFLAGS += $(INCDIRS) $(NETMAP_FLAGS) +J_CFLAGS += -DINET -D_KERNEL -D_BSD_SOURCE -DKERNEL_SIDE -DUSERSPACE +J_CFLAGS += -I ../extra/ -Wno-extern-c-compat -Wno-comment #-O2 -Wall -Werror + include_e: -@echo "Building $(OBJPATH)/include_e ..." -$(HIDE) rm -rf $(OBJPATH)/include_e opt_* From owner-svn-soc-all@FreeBSD.ORG Thu Aug 28 16:19:05 2014 Return-Path: Delivered-To: svn-soc-all@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 64387BEC for ; Thu, 28 Aug 2014 16:19:05 +0000 (UTC) Received: from socsvn.freebsd.org (socsvn.freebsd.org [IPv6:2001:1900:2254:206a::50:2]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 442581C97 for ; Thu, 28 Aug 2014 16:19:05 +0000 (UTC) Received: from socsvn.freebsd.org ([127.0.1.124]) by socsvn.freebsd.org (8.14.9/8.14.9) with ESMTP id s7SGJ5jL085648 for ; Thu, 28 Aug 2014 16:19:05 GMT (envelope-from dpl@FreeBSD.org) Received: (from www@localhost) by socsvn.freebsd.org (8.14.9/8.14.9/Submit) id s7SGJ47P085645 for svn-soc-all@FreeBSD.org; Thu, 28 Aug 2014 16:19:04 GMT (envelope-from dpl@FreeBSD.org) Date: Thu, 28 Aug 2014 16:19:04 GMT Message-Id: <201408281619.s7SGJ47P085645@socsvn.freebsd.org> X-Authentication-Warning: socsvn.freebsd.org: www set sender to dpl@FreeBSD.org using -f From: dpl@FreeBSD.org To: svn-soc-all@FreeBSD.org Subject: socsvn commit: r273264 - soc2014/dpl/netmap-ipfwjit/sys/netpfil/ipfw MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-soc-all@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: SVN commit messages for the entire Summer of Code repository List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 28 Aug 2014 16:19:05 -0000 Author: dpl Date: Thu Aug 28 16:19:04 2014 New Revision: 273264 URL: http://svnweb.FreeBSD.org/socsvn/?view=rev&rev=273264 Log: Updated the code to LLVM 3.6, added the compilation boilerplate, and storage of rules in a nice vector, so that we can jump from one place to another. Modified: soc2014/dpl/netmap-ipfwjit/sys/netpfil/ipfw/jit.cc Modified: soc2014/dpl/netmap-ipfwjit/sys/netpfil/ipfw/jit.cc ============================================================================== --- soc2014/dpl/netmap-ipfwjit/sys/netpfil/ipfw/jit.cc Thu Aug 28 15:05:42 2014 (r273263) +++ soc2014/dpl/netmap-ipfwjit/sys/netpfil/ipfw/jit.cc Thu Aug 28 16:19:04 2014 (r273264) @@ -3,8 +3,7 @@ #include #include -#include -#include +#include #include #include #include @@ -17,9 +16,12 @@ #include #include #include +#include #include #include #include +#include +#include #define _KERNEL extern "C" { @@ -46,11 +48,10 @@ Module *mod; Function *func; LLVMContext con; - OwningPtr buffer; IRBuilder<> irb; // We'll store the BasicBlock objects for each rule here. - int rulenumber = 1; + int rulenumber = 0; std::vector rules; // Vars Types @@ -69,9 +70,6 @@ BasicBlock *outer_for_epilogue; BasicBlock *inner_for_epilogue; - // This BB is the next emitted rule, always. - BasicBlock *next; - // JIT Compiled Vars // These are the function arguments. Value *args; @@ -174,22 +172,29 @@ // Load the bc for JIT compilation. Module * - loadbc(std::string name) + loadBitcode(std::string name) { - error_code ec = MemoryBuffer::getFile(name, buffer); - if (ec) { - std::cerr << "Failed to open bitcode: " << ec.message() << "\n"; + auto buffer = MemoryBuffer::getFile(name); + if (buffer.getError()){ + std::cerr << "Failed to open bitcode: " << buffer.getError() << "\n"; return (NULL); } - ErrorOr ptr = parseBitcodeFile(buffer.get(), con); - if ((ec = ptr.getError())) - { - std::cerr << "Failed to parse bitcode: " << ec.message() << "\n"; + auto modptr = parseBitcodeFile(buffer.get().get(), con); + if ((modptr.getError())){ + std::cerr << "Failed to parse bitcode: " << buffer.getError() << "\n"; return (NULL); } - mod = ptr.get(); - return (mod); + return (modptr.get()); + } + + BasicBlock* + nextRule(int num) + { + if (num >= rules.size()) + return (end); + else + return (rules[num]); } // Create the needed variables to perform pkt filtering. @@ -408,6 +413,7 @@ // if (V_fw_verbose) irb.CreateCondBr(irb.CreateICmpEQ(is_verbose, ConstantInt::get(int32Ty, 0)), ret, print); + // printf("ipfw: pullup failed\n"); irb.SetInsertPoint(print); irb.CreateCall(printfFunc, str); @@ -466,7 +472,8 @@ // else f_pos = 0; // Since f_pos is initialized by default as 0, we only br. irb.SetInsertPoint(nottagged); - irb.CreateBr(rules[rulenumber]); + // Jump to first rule. + irb.CreateBr(rules.front()); } void @@ -499,7 +506,7 @@ irb.SetInsertPoint(jt); // continue; - irb.CreateBr(next); + irb.CreateBr(nextRule(rulenumber+1)); // skip_or = 0; irb.SetInsertPoint(jf); @@ -555,7 +562,7 @@ irb.SetInsertPoint(secondf); // continue; - irb.CreateBr(next); + irb.CreateBr(nextRule(rulenumber+1)); irb.SetInsertPoint(firstf); // match = 0; @@ -568,15 +575,13 @@ void emit_inner_for_epilogue() { - BasicBlock *matchnz = BasicBlock::Create(con, "jt", func); - BasicBlock *matchz = BasicBlock::Create(con, "jt", func); + BasicBlock *matchnz = BasicBlock::Create(con, "matchnz", func); + BasicBlock *matchz = BasicBlock::Create(con, "matchz", func); BasicBlock *jt = BasicBlock::Create(con, "jt", func); - BasicBlock *jf = BasicBlock::Create(con, "jf", func); BasicBlock *sec_cond = BasicBlock::Create(con, "sec_cond", func); BasicBlock *matchzero = BasicBlock::Create(con, "matchzero", func); BasicBlock *matchnotzero = BasicBlock::Create(con, "matchnotzero", func); BasicBlock *is_or = BasicBlock::Create(con, "is_or", func); - BasicBlock *is_not_or = BasicBlock::Create(con, "is_not_or", func); // This are the increments of the for loop. // l -= cmdlen, cmd += cmdlen; @@ -628,7 +633,7 @@ irb.SetInsertPoint(matchzero); // if (!(cmd->len & F_OR)) /* not an OR block, */ // break; - irb.CreateCondBr(irb.CreateICmpEQ(irb.CreateAnd(irb.CreateInBoundsGEP(cmd, {ConstantInt::get(int32Ty, 0), ConstantInt::get(int32Ty, 1)}), ConstantInt::get(int8Ty, F_OR)), ConstantInt::get(int32Ty, 0)), next /* break */, outer_for_epilogue); + irb.CreateCondBr(irb.CreateICmpEQ(irb.CreateAnd(irb.CreateInBoundsGEP(cmd, {ConstantInt::get(int32Ty, 0), ConstantInt::get(int32Ty, 1)}), ConstantInt::get(int8Ty, F_OR)), ConstantInt::get(int32Ty, 0)), nextRule(rulenumber+1) /* break */, outer_for_epilogue); } // This code gets executed at the end of inner loop. @@ -643,7 +648,7 @@ // if (done) // break; - irb.CreateCondBr(irb.CreateICmpNE(done, ConstantInt::get(int32Ty, 0)), end, next); + irb.CreateCondBr(irb.CreateICmpNE(done, ConstantInt::get(int32Ty, 0)), end, nextRule(rulenumber+1)); } void @@ -734,11 +739,18 @@ ipfwJIT(int rulesnumber): irb(con) { // Create the module and load the code. - mod = loadbc("ip_fw_rules.bc"); + mod = loadBitcode("ip_fw_rules.bc"); func = mod->getFunction("ipfw_chk_jit"); func->setLinkage(GlobalValue::ExternalLinkage); + // Initialize the vector. + rules = std::vector(rulesnumber); + for (auto &i: rules){ + i = BasicBlock::Create(con, "rule", func); + } + + // Create static BasicBlocks. // The entry basic block contains all the initialization // and allocation of resources, and a basic check done @@ -746,15 +758,8 @@ entry = BasicBlock::Create(con, "entry", func); check_tag = BasicBlock::Create(con, "check_tag", func); end = BasicBlock::Create(con, "end", func); - - // Initialize the vector. - rules = std::vector(rulesnumber + 1); - rules[rulenumber] = BasicBlock::Create(con, "rule", func); - start_rule(); - // This is equivalent to the pullup_failed tag. pullup_failed = BasicBlock::Create(con, "pullup_failed", func); - //Snippets of code to be executed when iterating through the rules. outer_for_prologue = BasicBlock::Create(con, "outer_for_prologue", func); inner_for_prologue = BasicBlock::Create(con, "inner_for_prologue", func); @@ -775,12 +780,6 @@ emit_inner_for_epilogue(); emit_outer_for_epilogue(); emit_end(); - - verifyFunction(*func); - - - verifyModule(*mod); - mod->dump(); } ~ipfwJIT() { @@ -788,33 +787,60 @@ delete mod; } - void - optimize() + funcptr + compile() { + // Check correctness. + verifyFunction(*func); + verifyModule(*mod); + + //Optimise + PassManagerBuilder PMBuilder; + PMBuilder.OptLevel = 0; + PMBuilder.Inliner = createFunctionInliningPass(275); + + // Function passes + FunctionPassManager *PerFunctionPasses = new FunctionPassManager(mod); + PMBuilder.populateFunctionPassManager(*PerFunctionPasses); + PerFunctionPasses->run(*func); + PerFunctionPasses->doFinalization(); + delete PerFunctionPasses; + + //printf("\n\n\n\n"); + //mod->getFunction("ipfw_chk_jit")->dump(); + + // Module passes + PassManager *PerModulePasses = new PassManager(); + PMBuilder.populateModulePassManager(*PerModulePasses); + PerModulePasses->run(*mod); + delete PerModulePasses; + // We don't need it anymore. Function *vf = mod->getFunction("voidfunction"); vf->eraseFromParent(); - } - // Returns the pointer to the compiled function. - funcptr - getFuncPtr() - { - return ((funcptr)NULL); - } + //Compile + std::string errstr; + std::string comperr = "Compilation error\n"; + + EngineBuilder EB = EngineBuilder(std::unique_ptr(mod)); + EB.setEngineKind(EngineKind::Kind::JIT); + EB.setErrorStr(&comperr); + + ExecutionEngine *EE = EB.create(); + if (!EE) { + fprintf(stderr, "Error: %s\n", errstr.c_str()); + exit(1); + } - void - start_rule() - { - // This will be the first BasicBlock to store our emmited code. - rules[rulenumber] = BasicBlock::Create(con, "rule", func); - next = rules[rulenumber+1] = BasicBlock::Create(con, "rule", func); + printf("Function ptr: %p\n", (void *)EE->getFunctionAddress("ipfw_chk_jit")); + err(1,"null"); + return (funcptr)EE->getFunctionAddress("ipfw_chk_jit"); } void end_rule() { - // We're on the next rule now. rulenumber++; } @@ -851,32 +877,59 @@ } // Rules - int + void emit_nop() { irb.CreateStore(ConstantInt::get(int32Ty, 1), match); - return (0); } - int + void emit_forward_mac(u_int8_t opcode) { printf("Compilation error:\n"); printf("ipfwjitter: opcode %d unimplemented\n", opcode); printf("Compilation continues.\n"); - return (0); } - int + void emit_jail() { - return (0); + // /* + // * We only check offset == 0 && proto != 0, + // * as this ensures that we have a + // * packet with the ports info. + // */ + // if (offset != 0) + // return; + // if (proto == IPPROTO_TCP || + // proto == IPPROTO_UDP) + // *match = check_uidgid( + // (ipfw_insn_u32 *)cmd, + // args, &ucred_lookup, + // #ifdef __FreeBSD__ + // //(struct bsd_ucred **)&ucred_cache); + // (struct ucred **)&ucred_cache); + // #else + // (void *)&ucred_cache); + // #endif + } - int + void emit_recv() { - return (0); + // XXX Check correctness. + //*match = iface_match(m->m_pkthdr.rcvif, (ipfw_insn_if *)cmd, chain, tablearg); + Value *rcvif = irb.CreateStructGEP(irb.CreateStructGEP(irb.CreateLoad(m), 5), 0); + Value *cmdc = irb.CreateBitCast(cmd, ipfw_insn_ifPtrTy); + irb.CreateStore(irb.CreateCall4(iface_match, rcvif, cmdc, chain, tablearg), match); + } + + void + emit_xmit() + { + // XXX Check correctness. + //*match = iface_match(oif, (ipfw_insn_if *)cmd, chain, tablearg); } }; @@ -890,6 +943,9 @@ InitializeNativeTarget(); LLVMLinkInJIT(); + if (chain->n_rules == 0) + return (NULL); + ipfwJIT compiler(chain->n_rules); // Iterate through the rules. @@ -905,7 +961,6 @@ f = chain->map[f_pos]; // Rule start. - compiler.start_rule(); compiler.emit_outer_for_prologue_call(); // For each different command. @@ -933,11 +988,11 @@ compiler.emit_recv(); break; -/* XXX case O_XMIT: compiler.emit_xmit(); break; +/* XXX case O_VIA: compiler.emit_via(); break; @@ -1295,7 +1350,7 @@ default: panic("-- unknown opcode %d\n", cmd->opcode); } /* end of switch() on opcodes */ - compiler.emit_inner_for_prologue_call(); + compiler.emit_inner_for_epilogue_call(); } /* end of inner loop, scan opcodes */ // Rule ends. compiler.emit_outer_for_epilogue_call(); @@ -1305,6 +1360,5 @@ compiler.emit_end_call(); // Once we're done iterating through the rules, return the pointer. - compiler.optimize(); - return (compiler.getFuncPtr()); + return (compiler.compile()); } From owner-svn-soc-all@FreeBSD.ORG Thu Aug 28 23:24:59 2014 Return-Path: Delivered-To: svn-soc-all@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 10508BFD for ; Thu, 28 Aug 2014 23:24:59 +0000 (UTC) Received: from socsvn.freebsd.org (socsvn.freebsd.org [IPv6:2001:1900:2254:206a::50:2]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id EEF401032 for ; Thu, 28 Aug 2014 23:24:58 +0000 (UTC) Received: from socsvn.freebsd.org ([127.0.1.124]) by socsvn.freebsd.org (8.14.9/8.14.9) with ESMTP id s7SNOw3v034539 for ; Thu, 28 Aug 2014 23:24:58 GMT (envelope-from ghostmansd@FreeBSD.org) Received: (from www@localhost) by socsvn.freebsd.org (8.14.9/8.14.9/Submit) id s7SNOu7c034479 for svn-soc-all@FreeBSD.org; Thu, 28 Aug 2014 23:24:56 GMT (envelope-from ghostmansd@FreeBSD.org) Date: Thu, 28 Aug 2014 23:24:56 GMT Message-Id: <201408282324.s7SNOu7c034479@socsvn.freebsd.org> X-Authentication-Warning: socsvn.freebsd.org: www set sender to ghostmansd@FreeBSD.org using -f From: ghostmansd@FreeBSD.org To: svn-soc-all@FreeBSD.org Subject: socsvn commit: r273285 - in soc2014/ghostmansd/head: bin/colldb lib lib/libcolldb share/examples/colldb usr.bin usr.bin/colldb MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-soc-all@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: SVN commit messages for the entire Summer of Code repository List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 28 Aug 2014 23:24:59 -0000 Author: ghostmansd Date: Thu Aug 28 23:24:56 2014 New Revision: 273285 URL: http://svnweb.FreeBSD.org/socsvn/?view=rev&rev=273285 Log: colldb, its manual page and some small fixes Added: soc2014/ghostmansd/head/usr.bin/colldb/ - copied from r273177, soc2014/ghostmansd/head/bin/colldb/ soc2014/ghostmansd/head/usr.bin/colldb/Makefile (contents, props changed) soc2014/ghostmansd/head/usr.bin/colldb/colldb.c Deleted: soc2014/ghostmansd/head/bin/colldb/ Modified: soc2014/ghostmansd/head/lib/Makefile soc2014/ghostmansd/head/lib/libcolldb/Makefile soc2014/ghostmansd/head/lib/libcolldb/colldb.h soc2014/ghostmansd/head/share/examples/colldb/colldb.py soc2014/ghostmansd/head/usr.bin/Makefile Modified: soc2014/ghostmansd/head/lib/Makefile ============================================================================== --- soc2014/ghostmansd/head/lib/Makefile Thu Aug 28 22:52:20 2014 (r273284) +++ soc2014/ghostmansd/head/lib/Makefile Thu Aug 28 23:24:56 2014 (r273285) @@ -37,6 +37,7 @@ libcam \ ${_libcapsicum} \ ${_libcasper} \ + libcolldb \ ${_libcom_err} \ libcompat \ libcrypt \ @@ -114,10 +115,6 @@ ${_cuse} \ ${_tests} -.ifdef UNICODE -SUBDIR+= libcolldb -.endif - # Inter-library dependencies. When the makefile for a library contains LDADD # libraries, those libraries should be listed as build order dependencies here. Modified: soc2014/ghostmansd/head/lib/libcolldb/Makefile ============================================================================== --- soc2014/ghostmansd/head/lib/libcolldb/Makefile Thu Aug 28 22:52:20 2014 (r273284) +++ soc2014/ghostmansd/head/lib/libcolldb/Makefile Thu Aug 28 23:24:56 2014 (r273285) @@ -3,12 +3,7 @@ SRCS= colldb.c INCS= colldb.h MAN+= colldb.3 - CFLAGS+= -I${COLLDB} - -.colldb.py - install -m644 /usr/share/examples/collation - WARNS?= 3 .include Modified: soc2014/ghostmansd/head/lib/libcolldb/colldb.h ============================================================================== --- soc2014/ghostmansd/head/lib/libcolldb/colldb.h Thu Aug 28 22:52:20 2014 (r273284) +++ soc2014/ghostmansd/head/lib/libcolldb/colldb.h Thu Aug 28 23:24:56 2014 (r273285) @@ -58,7 +58,12 @@ #define COLLDB_VERSION 0x00000001 -#define COLLDB_WEIGHTS_MAX 10 +#ifndef COLLDB_CHARS_MAX +#define COLLDB_CHARS_MAX 8 +#endif +#ifndef COLLDB_WEIGHTS_MAX +#define COLLDB_WEIGHTS_MAX 32 +#endif struct colldb_weight { uint8_t alternate; @@ -67,16 +72,19 @@ uint32_t level3; uint32_t level4; }; +#define COLLDB_WEIGHT_INIT {0, 0, 0, 0, 0} struct colldb_key { size_t count; uint32_t *chars; }; +#define COLLDB_KEY_INIT {0, NULL} struct colldb_value { size_t count; struct colldb_weight *weights; }; +#define COLLDB_VALUE_INIT {0, NULL} void* colldb_create(const char*, int mode); Modified: soc2014/ghostmansd/head/share/examples/colldb/colldb.py ============================================================================== --- soc2014/ghostmansd/head/share/examples/colldb/colldb.py Thu Aug 28 22:52:20 2014 (r273284) +++ soc2014/ghostmansd/head/share/examples/colldb/colldb.py Thu Aug 28 23:24:56 2014 (r273285) @@ -1,4 +1,4 @@ -#!/usr/bin/env python +#!/usr/bin/env python3 # *-* coding: utf-8 *-* """Python bindings for libcolldb""" Modified: soc2014/ghostmansd/head/usr.bin/Makefile ============================================================================== --- soc2014/ghostmansd/head/usr.bin/Makefile Thu Aug 28 22:52:20 2014 (r273284) +++ soc2014/ghostmansd/head/usr.bin/Makefile Thu Aug 28 23:24:56 2014 (r273285) @@ -26,6 +26,7 @@ ${_clang} \ cmp \ col \ + colldb \ colldef \ colrm \ column \ Added: soc2014/ghostmansd/head/usr.bin/colldb/Makefile ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ soc2014/ghostmansd/head/usr.bin/colldb/Makefile Thu Aug 28 23:24:56 2014 (r273285) @@ -0,0 +1,10 @@ +# @(#)Makefile 8.1 (Berkeley) 5/31/93 + +PROG= colldb +MAN= colldb.1 +DPADD= ${LIBCOLLDB} +LDADD= -lcolldb +MLINKS+= colldb.1 +LINKS+= ${BINDIR}/colldb + +.include Added: soc2014/ghostmansd/head/usr.bin/colldb/colldb.c ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ soc2014/ghostmansd/head/usr.bin/colldb/colldb.c Thu Aug 28 23:24:56 2014 (r273285) @@ -0,0 +1,172 @@ +/*- + * Copyright (c) 2014 Dmitry Selyutin. + * 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, DECOMPOSITION, 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. + */ + +#define _WITH_GETLINE +#include +#include +#include +#include +#include +#include +#include +#include + + +int +main(int argc, const char **argv) +{ + size_t i = 0; + int lineno = 0; + size_t cap = 0; + ssize_t len = 0; + FILE *src = NULL; + void *dst = NULL; + char *line = NULL; + char *iter = NULL; + char *repr = NULL; + char *check = NULL; + char *cdata = NULL; + char *wdata = NULL; + size_t ccount = 0; + size_t wcount = 0; + unsigned long code = 0; + uint32_t *levels[4] = {NULL}; + uint32_t chars[COLLDB_CHARS_MAX] = {0}; + struct colldb_key key = COLLDB_KEY_INIT; + struct colldb_value value = COLLDB_VALUE_INIT; + struct colldb_weight weights[COLLDB_WEIGHTS_MAX] = {COLLDB_WEIGHT_INIT}; + + if (argc != 3) { + fprintf(stderr, "usage: colldb source_file target_file\n"); + return (EXIT_FAILURE); + } + src = fopen(argv[1], "rb"); + if (src == NULL ) { + fprintf(stderr, "colldb: %s: %s\n", strerror(errno), argv[1]); + return (EXIT_FAILURE); + } + dst = colldb_create(argv[2], 0777); + if (dst == NULL) { + fprintf(stderr, "colldb: %s: %s\n", strerror(errno), argv[2]); + return (EXIT_FAILURE); + } + + for (lineno = 1; ((len = getline(&line, &cap, src)) != -1); ++lineno) { + if ((line[0] == '#') || (line[0] == '@') || (line[0] == '\n')) + continue; + cdata = line; + for (iter = cdata; *iter != '\n'; ++iter) { + if (*iter == ';') + break; + } + if (*iter != ';') + goto failure; + wdata = (iter + 1); + + /* Process characters. */ + ccount = 0; + for (--iter; iter != cdata; --iter) { + if (!isspace(*iter)) + break; + *iter = '\0'; + } + for (repr = cdata; *repr != '\0'; ++ccount) { + if (ccount > COLLDB_CHARS_MAX) { + fprintf(stderr, "colldb: %s[%d]: %s\n", + argv[1], lineno, "overlong chars sequence\n"); + free(line); + return (EXIT_FAILURE); + } + code = strtoul(repr, &check, 16); + if (repr == check) + goto failure; + chars[ccount] = (uint32_t)code; + repr = check; + } + + /* Process weights. */ + wcount = 0; + for (; isspace(*wdata); ++wdata); + for (iter = (line + len); iter != wdata; --iter) { + if (*iter == ']') + break; + *iter = '\0'; + } + for (repr = wdata; *repr != '\0'; ++wcount) { + if (ccount > COLLDB_CHARS_MAX) { + fprintf(stderr, "colldb: %s[%d]: %s\n", + argv[1], lineno, "overlong weights sequence\n"); + free(line); + return (EXIT_FAILURE); + } + if (*repr != '[') + goto failure; + ++repr; + levels[0] = &weights[wcount].level1; + levels[1] = &weights[wcount].level2; + levels[2] = &weights[wcount].level3; + levels[3] = &weights[wcount].level4; + if ((*repr != '.') && (*repr != '*')) + goto failure; + weights[wcount].alternate = (*repr++ == '*'); + for (i = 0; i < 4; ++i) { + code = strtoul(repr, &check, 16); + if (repr == check) + goto failure; + *(levels[i]) = (uint32_t)code; + if (isspace(*check) || + (*check == '.') || (*check == ']')) { + repr = (check + 1); + continue; + } + if ((*check == ']') && (i == 3)) + break; + goto failure; + } + } + + /* Store key and value pair. */ + key.count = ccount; + key.chars = chars; + value.count = wcount; + value.weights = weights; + fprintf(stderr, "%d\n", lineno); + if (colldb_put(dst, &key, &value) != 0) { + fprintf(stderr, "colldb: %s: %s\n", argv[2], strerror(errno)); + free(line); + return (EXIT_FAILURE); + } + } + colldb_close(dst); + fclose(src); + free(line); + return (EXIT_SUCCESS); + +failure: + fprintf(stderr, "colldb: %s[%d]: illegal format\n", argv[1], lineno); + free(line); + return (EXIT_FAILURE); +} From owner-svn-soc-all@FreeBSD.ORG Fri Aug 29 12:11:41 2014 Return-Path: Delivered-To: svn-soc-all@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 98AE23EA for ; Fri, 29 Aug 2014 12:11:41 +0000 (UTC) Received: from socsvn.freebsd.org (socsvn.freebsd.org [IPv6:2001:1900:2254:206a::50:2]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 848A51348 for ; Fri, 29 Aug 2014 12:11:41 +0000 (UTC) Received: from socsvn.freebsd.org ([127.0.1.124]) by socsvn.freebsd.org (8.14.9/8.14.9) with ESMTP id s7TCBf5V095385 for ; Fri, 29 Aug 2014 12:11:41 GMT (envelope-from dpl@FreeBSD.org) Received: (from www@localhost) by socsvn.freebsd.org (8.14.9/8.14.9/Submit) id s7TCBe6O095020 for svn-soc-all@FreeBSD.org; Fri, 29 Aug 2014 12:11:40 GMT (envelope-from dpl@FreeBSD.org) Date: Fri, 29 Aug 2014 12:11:40 GMT Message-Id: <201408291211.s7TCBe6O095020@socsvn.freebsd.org> X-Authentication-Warning: socsvn.freebsd.org: www set sender to dpl@FreeBSD.org using -f From: dpl@FreeBSD.org To: svn-soc-all@FreeBSD.org Subject: socsvn commit: r273318 - soc2014/dpl/netmap-ipfwjit MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-soc-all@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: SVN commit messages for the entire Summer of Code repository List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 29 Aug 2014 12:11:41 -0000 Author: dpl Date: Fri Aug 29 12:11:40 2014 New Revision: 273318 URL: http://svnweb.FreeBSD.org/socsvn/?view=rev&rev=273318 Log: Stopped optimizing, added debugging symbols. Modified: soc2014/dpl/netmap-ipfwjit/Makefile.inc soc2014/dpl/netmap-ipfwjit/Makefile.kipfw Modified: soc2014/dpl/netmap-ipfwjit/Makefile.inc ============================================================================== --- soc2014/dpl/netmap-ipfwjit/Makefile.inc Fri Aug 29 11:18:54 2014 (r273317) +++ soc2014/dpl/netmap-ipfwjit/Makefile.inc Fri Aug 29 12:11:40 2014 (r273318) @@ -25,4 +25,4 @@ INCDIRS += -I ../sys -I ../extra/sys -I ../extra/sys/contrib/pf .c.o: $(MSG) " CC $<" - $(HIDE) $(CC) $(CFLAGS) -c $< -o $@ + $(HIDE) $(CC) $(CFLAGS) -O0 -g -c $< -o $@ Modified: soc2014/dpl/netmap-ipfwjit/Makefile.kipfw ============================================================================== --- soc2014/dpl/netmap-ipfwjit/Makefile.kipfw Fri Aug 29 11:18:54 2014 (r273317) +++ soc2014/dpl/netmap-ipfwjit/Makefile.kipfw Fri Aug 29 12:11:40 2014 (r273318) @@ -167,7 +167,7 @@ jit.o: jit.cc ../ip_fw_rules.bc $(MSG) " CC $<" - $(HIDE)@clang++ -g -c $(J_CFLAGS) `llvm-config-devel --cxxflags` -o ./jit.o ../sys/netpfil/ipfw/jit.cc + $(HIDE)@clang++ -c $(J_CFLAGS) `llvm-config-devel --cxxflags` -g -O0 -o ./jit.o ../sys/netpfil/ipfw/jit.cc clean: -rm -f *.o $(DN) $(MOD) -rm -rf include_e From owner-svn-soc-all@FreeBSD.ORG Fri Aug 29 12:12:58 2014 Return-Path: Delivered-To: svn-soc-all@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 8461C432 for ; Fri, 29 Aug 2014 12:12:58 +0000 (UTC) Received: from socsvn.freebsd.org (socsvn.freebsd.org [IPv6:2001:1900:2254:206a::50:2]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 704591363 for ; Fri, 29 Aug 2014 12:12:58 +0000 (UTC) Received: from socsvn.freebsd.org ([127.0.1.124]) by socsvn.freebsd.org (8.14.9/8.14.9) with ESMTP id s7TCCwMJ026478 for ; Fri, 29 Aug 2014 12:12:58 GMT (envelope-from dpl@FreeBSD.org) Received: (from www@localhost) by socsvn.freebsd.org (8.14.9/8.14.9/Submit) id s7TCCw6Z026234 for svn-soc-all@FreeBSD.org; Fri, 29 Aug 2014 12:12:58 GMT (envelope-from dpl@FreeBSD.org) Date: Fri, 29 Aug 2014 12:12:58 GMT Message-Id: <201408291212.s7TCCw6Z026234@socsvn.freebsd.org> X-Authentication-Warning: socsvn.freebsd.org: www set sender to dpl@FreeBSD.org using -f From: dpl@FreeBSD.org To: svn-soc-all@FreeBSD.org Subject: socsvn commit: r273319 - soc2014/dpl/netmap-ipfwjit/sys/netpfil/ipfw MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-soc-all@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: SVN commit messages for the entire Summer of Code repository List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 29 Aug 2014 12:12:58 -0000 Author: dpl Date: Fri Aug 29 12:12:57 2014 New Revision: 273319 URL: http://svnweb.FreeBSD.org/socsvn/?view=rev&rev=273319 Log: Call crfree() only if not in userspace. Modified: soc2014/dpl/netmap-ipfwjit/sys/netpfil/ipfw/ip_fw2.c Modified: soc2014/dpl/netmap-ipfwjit/sys/netpfil/ipfw/ip_fw2.c ============================================================================== --- soc2014/dpl/netmap-ipfwjit/sys/netpfil/ipfw/ip_fw2.c Fri Aug 29 12:11:40 2014 (r273318) +++ soc2014/dpl/netmap-ipfwjit/sys/netpfil/ipfw/ip_fw2.c Fri Aug 29 12:12:57 2014 (r273319) @@ -898,7 +898,7 @@ printf("ipfw: ouch!, skip past end of rules, denying packet\n"); } IPFW_PF_RUNLOCK(chain); -#ifdef __FreeBSD__ +#if defined(__FreeBSD__) && !defined(USERSPACE) if (ucred_cache != NULL) crfree(ucred_cache); #endif From owner-svn-soc-all@FreeBSD.ORG Fri Aug 29 12:13:50 2014 Return-Path: Delivered-To: svn-soc-all@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 71C3645C for ; Fri, 29 Aug 2014 12:13:50 +0000 (UTC) Received: from socsvn.freebsd.org (socsvn.freebsd.org [IPv6:2001:1900:2254:206a::50:2]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 5DDFE1375 for ; Fri, 29 Aug 2014 12:13:50 +0000 (UTC) Received: from socsvn.freebsd.org ([127.0.1.124]) by socsvn.freebsd.org (8.14.9/8.14.9) with ESMTP id s7TCDotX042985 for ; Fri, 29 Aug 2014 12:13:50 GMT (envelope-from dpl@FreeBSD.org) Received: (from www@localhost) by socsvn.freebsd.org (8.14.9/8.14.9/Submit) id s7TCDn9x042829 for svn-soc-all@FreeBSD.org; Fri, 29 Aug 2014 12:13:49 GMT (envelope-from dpl@FreeBSD.org) Date: Fri, 29 Aug 2014 12:13:49 GMT Message-Id: <201408291213.s7TCDn9x042829@socsvn.freebsd.org> X-Authentication-Warning: socsvn.freebsd.org: www set sender to dpl@FreeBSD.org using -f From: dpl@FreeBSD.org To: svn-soc-all@FreeBSD.org Subject: socsvn commit: r273320 - soc2014/dpl/netmap-ipfwjit/sys/netpfil/ipfw MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-soc-all@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: SVN commit messages for the entire Summer of Code repository List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 29 Aug 2014 12:13:50 -0000 Author: dpl Date: Fri Aug 29 12:13:49 2014 New Revision: 273320 URL: http://svnweb.FreeBSD.org/socsvn/?view=rev&rev=273320 Log: Call crfree() only if not in userspace. Modified: soc2014/dpl/netmap-ipfwjit/sys/netpfil/ipfw/ip_fw_rules.h Modified: soc2014/dpl/netmap-ipfwjit/sys/netpfil/ipfw/ip_fw_rules.h ============================================================================== --- soc2014/dpl/netmap-ipfwjit/sys/netpfil/ipfw/ip_fw_rules.h Fri Aug 29 12:12:57 2014 (r273319) +++ soc2014/dpl/netmap-ipfwjit/sys/netpfil/ipfw/ip_fw_rules.h Fri Aug 29 12:13:49 2014 (r273320) @@ -60,7 +60,6 @@ // Functions used by JIT, external. int printf(const char * restrict format, ...); int ipfw_find_rule(struct ip_fw_chain *chain, uint32_t key, uint32_t id); -void crfree(struct ucred *); VNET_DEFINE(int, fw_verbose); From owner-svn-soc-all@FreeBSD.ORG Fri Aug 29 12:16:15 2014 Return-Path: Delivered-To: svn-soc-all@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 4FA70577 for ; Fri, 29 Aug 2014 12:16:15 +0000 (UTC) Received: from socsvn.freebsd.org (socsvn.freebsd.org [IPv6:2001:1900:2254:206a::50:2]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 2FE4C1391 for ; Fri, 29 Aug 2014 12:16:15 +0000 (UTC) Received: from socsvn.freebsd.org ([127.0.1.124]) by socsvn.freebsd.org (8.14.9/8.14.9) with ESMTP id s7TCGF99075125 for ; Fri, 29 Aug 2014 12:16:15 GMT (envelope-from dpl@FreeBSD.org) Received: (from www@localhost) by socsvn.freebsd.org (8.14.9/8.14.9/Submit) id s7TCGEio074982 for svn-soc-all@FreeBSD.org; Fri, 29 Aug 2014 12:16:14 GMT (envelope-from dpl@FreeBSD.org) Date: Fri, 29 Aug 2014 12:16:14 GMT Message-Id: <201408291216.s7TCGEio074982@socsvn.freebsd.org> X-Authentication-Warning: socsvn.freebsd.org: www set sender to dpl@FreeBSD.org using -f From: dpl@FreeBSD.org To: svn-soc-all@FreeBSD.org Subject: socsvn commit: r273321 - soc2014/dpl/netmap-ipfwjit/sys/netpfil/ipfw MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-soc-all@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: SVN commit messages for the entire Summer of Code repository List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 29 Aug 2014 12:16:15 -0000 Author: dpl Date: Fri Aug 29 12:16:14 2014 New Revision: 273321 URL: http://svnweb.FreeBSD.org/socsvn/?view=rev&rev=273321 Log: Delete unneeded calls in userspace, and codegen rule_xmit. Modified: soc2014/dpl/netmap-ipfwjit/sys/netpfil/ipfw/jit.cc Modified: soc2014/dpl/netmap-ipfwjit/sys/netpfil/ipfw/jit.cc ============================================================================== --- soc2014/dpl/netmap-ipfwjit/sys/netpfil/ipfw/jit.cc Fri Aug 29 12:13:49 2014 (r273320) +++ soc2014/dpl/netmap-ipfwjit/sys/netpfil/ipfw/jit.cc Fri Aug 29 12:16:14 2014 (r273321) @@ -135,14 +135,12 @@ Function *send_reject6; #endif /* INET6 */ Function *send_reject; - Function *check_uidgid; Function *set_match; Function *jump_fast; // Not pkg-filtering related funcs. Function *printfFunc; Function *ipfw_find_rule; - Function *crfree; // Used structs. StructType *ifnetTy; @@ -270,16 +268,12 @@ #endif /* INET6 */ send_reject = mod->getFunction("send_reject"); - check_uidgid = mod->getFunction("check_uidgid"); set_match = mod->getFunction("set_match"); jump_fast = mod->getFunction("jump_fast"); // Functions declared at bitcode. printfFunc = mod->getFunction("printf"); ipfw_find_rule = mod->getFunction("ipfw_find_rule"); -#ifdef __FreeBSD__ - crfree = mod->getFunction("crfree"); -#endif } // Allocate and initialize LLVM vars. @@ -310,7 +304,7 @@ // m = args->m (idx: 0) m = irb.CreateAlloca(mbufPtrTy); - irb.CreateStore(irb.CreateStructGEP(args, 0), m); + irb.CreateStore(irb.CreateLoad(irb.CreateStructGEP(args, 0)), m); // ip = (struct ip *)((m)->m_data) (idx: 2) ip = irb.CreateAlloca(ipPtrTy); @@ -725,8 +719,6 @@ irb.CreateCondBr(irb.CreateICmpNE(ucred_cache, ConstantPointerNull::get(ucredPtrTy)), cache_nnull, ret); irb.SetInsertPoint(cache_nnull); - // crfree(ucred_cache); - irb.CreateCall(crfree, ucred_cache); irb.CreateBr(ret); } #endif @@ -750,7 +742,6 @@ i = BasicBlock::Create(con, "rule", func); } - // Create static BasicBlocks. // The entry basic block contains all the initialization // and allocation of resources, and a basic check done @@ -891,6 +882,7 @@ printf("Compilation continues.\n"); } + // check_uidgid() returns 0 on userspace. void emit_jail() { @@ -900,18 +892,10 @@ // * packet with the ports info. // */ // if (offset != 0) - // return; + // return; // if (proto == IPPROTO_TCP || // proto == IPPROTO_UDP) - // *match = check_uidgid( - // (ipfw_insn_u32 *)cmd, - // args, &ucred_lookup, - // #ifdef __FreeBSD__ - // //(struct bsd_ucred **)&ucred_cache); - // (struct ucred **)&ucred_cache); - // #else - // (void *)&ucred_cache); - // #endif + // *match = 0; } @@ -928,8 +912,10 @@ void emit_xmit() { - // XXX Check correctness. //*match = iface_match(oif, (ipfw_insn_if *)cmd, chain, tablearg); + + Value *cmdc = irb.CreateBitCast(cmd, ipfw_insn_ifPtrTy); + irb.CreateStore(irb.CreateCall4(iface_match, oif, cmdc, chain, tablearg), match); } }; From owner-svn-soc-all@FreeBSD.ORG Fri Aug 29 17:33:09 2014 Return-Path: Delivered-To: svn-soc-all@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id A01721C2 for ; Fri, 29 Aug 2014 17:33:09 +0000 (UTC) Received: from socsvn.freebsd.org (socsvn.freebsd.org [IPv6:2001:1900:2254:206a::50:2]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 8AF661C43 for ; Fri, 29 Aug 2014 17:33:09 +0000 (UTC) Received: from socsvn.freebsd.org ([127.0.1.124]) by socsvn.freebsd.org (8.14.9/8.14.9) with ESMTP id s7THX9LU091721 for ; Fri, 29 Aug 2014 17:33:09 GMT (envelope-from dpl@FreeBSD.org) Received: (from www@localhost) by socsvn.freebsd.org (8.14.9/8.14.9/Submit) id s7THX9F6091610 for svn-soc-all@FreeBSD.org; Fri, 29 Aug 2014 17:33:09 GMT (envelope-from dpl@FreeBSD.org) Date: Fri, 29 Aug 2014 17:33:09 GMT Message-Id: <201408291733.s7THX9F6091610@socsvn.freebsd.org> X-Authentication-Warning: socsvn.freebsd.org: www set sender to dpl@FreeBSD.org using -f From: dpl@FreeBSD.org To: svn-soc-all@FreeBSD.org Subject: socsvn commit: r273338 - soc2014/dpl/netmap-ipfwjit/sys/netpfil/ipfw MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-soc-all@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: SVN commit messages for the entire Summer of Code repository List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 29 Aug 2014 17:33:09 -0000 Author: dpl Date: Fri Aug 29 17:33:08 2014 New Revision: 273338 URL: http://svnweb.FreeBSD.org/socsvn/?view=rev&rev=273338 Log: Style Modified: soc2014/dpl/netmap-ipfwjit/sys/netpfil/ipfw/jit.cc Modified: soc2014/dpl/netmap-ipfwjit/sys/netpfil/ipfw/jit.cc ============================================================================== --- soc2014/dpl/netmap-ipfwjit/sys/netpfil/ipfw/jit.cc Fri Aug 29 14:47:05 2014 (r273337) +++ soc2014/dpl/netmap-ipfwjit/sys/netpfil/ipfw/jit.cc Fri Aug 29 17:33:08 2014 (r273338) @@ -46,127 +46,127 @@ class ipfwJIT { Module *mod; - Function *func; - LLVMContext con; - IRBuilder<> irb; + Function *Func; + LLVMContext Con; + IRBuilder<> Irb; // We'll store the BasicBlock objects for each rule here. int rulenumber = 0; std::vector rules; // Vars Types - Type *int8Ty; - Type *int16Ty; - Type *int32Ty; - Type *int64Ty; - PointerType *int8PtrTy; + Type *Int8Ty; + Type *Int16Ty; + Type *Int32Ty; + Type *Int64Ty; + PointerType *Int8PtrTy; // Basic blocks used - BasicBlock *entry, *end; - BasicBlock *pullup_failed; - BasicBlock *check_tag; - BasicBlock *outer_for_prologue; - BasicBlock *inner_for_prologue; - BasicBlock *outer_for_epilogue; - BasicBlock *inner_for_epilogue; + BasicBlock *Entry, *End; + BasicBlock *Pullup_failed; + BasicBlock *Check_tag; + BasicBlock *Outer_for_prologue; + BasicBlock *Inner_for_prologue; + BasicBlock *Outer_for_epilogue; + BasicBlock *Inner_for_epilogue; // JIT Compiled Vars // These are the function arguments. - Value *args; - Value *chain; + Value *Args; + Value *Chain; // Loop control. - Value *match; - Value *l; - Value *done; - Value *f_pos; - Value *retval; - Value *cmd; - Value *cmdlen; - Value *tablearg; - Value *skip_or; - Value *f; + Value *Match; + Value *L; + Value *Done; + Value *F_pos; + Value *Retval; + Value *Cmd; + Value *Cmdlen; + Value *Tablearg; + Value *Skip_or; + Value *F; // Packet matching variables. - Value *m; - Value *ip; - Value *ucred_cache; - Value *ucred_lookup; - Value *oif; - Value *hlen; //unsigned - Value *offset; //unsigned - Value *ip6f_mf; //unsigned + Value *MPtr; + Value *IpPtr; + Value *Ucred_cache; + Value *Ucred_lookup; + Value *Oif; + Value *Hlen; //unsigned + Value *Offset; //unsigned + Value *Ip6f_mf; //unsigned // Local copies of vars. // On optimization, unused ones will not be included. - Value *proto; //unsigned - Value *src_port; //unsigned - Value *dst_port; //unsigned - Value *src_ip; - Value *dst_ip; - Value *iplen; //unsigned - Value *pktlen; - Value *etype; //unsigned - Value *dyn_dir; - Value *q; - Value *ulp; - - Value *is_ipv4; - Value *is_ipv6; - Value *icmp6_type; //unsigned - Value *ext_hd; //unsigned + Value *Proto; //unsigned + Value *Src_port; //unsigned + Value *Dst_port; //unsigned + Value *Src_ip; + Value *Dst_ip; + Value *Iplen; //unsigned + Value *Pktlen; + Value *Etype; //unsigned + Value *Dyn_dir; + Value *Q; + Value *Ulp; + + Value *Is_ipv4; + Value *Is_ipv6; + Value *Icmp6_type; //unsigned + Value *Ext_hd; //unsigned // This sets up some vars, at star time. - Function *inspect_pkt; + Function *InspectPkt; // Auxiliary functions used by our JITed code. // All this are used from our bitcode. - Function *is_icmp_query; - Function *flags_match; - Function *ipopts_match; - Function *tcpopts_match; - Function *iface_match; - Function *verify_path; + Function *Is_icmp_query; + Function *Flags_match; + Function *Ipopts_match; + Function *Tcpopts_match; + Function *Iface_match; + Function *Verify_path; #ifdef INET6 - Function *icmp6type_match; - Function *search_ip6_addr_net; - Function *flow6id_match; - Function *verify_path6; - Function *is_icmp6_query; - Function *send_reject6; + Function *Icmp6type_match; + Function *Search_ip6_addr_net; + Function *Flow6id_match; + Function *Verify_path6; + Function *Is_icmp6_query; + Function *Send_reject6; #endif /* INET6 */ - Function *send_reject; - Function *set_match; - Function *jump_fast; + Function *Send_reject; + Function *Set_match; + Function *Jump_fast; // Not pkg-filtering related funcs. - Function *printfFunc; - Function *ipfw_find_rule; + Function *PrintfFunc; + Function *Ipfw_find_rule; // Used structs. - StructType *ifnetTy; - StructType *in_addrTy; - StructType *ipTy; - StructType *ip_fw_argsTy; - StructType *ip_fw_chainTy; - StructType *ip_fwTy; - StructType *ipfw_insnTy; - StructType *ipfw_dyn_ruleTy; - StructType *ipfw_insn_ifTy; - StructType *mbufTy; - StructType *ucredTy; + StructType *IfnetTy; + StructType *In_addrTy; + StructType *IpTy; + StructType *Ip_fw_argsTy; + StructType *Ip_fw_chainTy; + StructType *Ip_fwTy; + StructType *Ipfw_insnTy; + StructType *Ipfw_dyn_ruleTy; + StructType *Ipfw_insn_ifTy; + StructType *MbufTy; + StructType *UcredTy; // Pointer to structs type. - PointerType *ifnetPtrTy; - PointerType *in_addrPtrTy; - PointerType *ipPtrTy; - PointerType *ip_fw_argsPtrTy; - PointerType *ip_fw_chainPtrTy; - PointerType *ip_fwPtrTy; - PointerType *ipfw_insnPtrTy; - PointerType *ipfw_dyn_rulePtrTy; - PointerType *ipfw_insn_ifPtrTy; - PointerType *mbufPtrTy; - PointerType *ucredPtrTy; + PointerType *IfnetPtrTy; + PointerType *In_addrPtrTy; + PointerType *IpPtrTy; + PointerType *Ip_fw_argsPtrTy; + PointerType *Ip_fw_chainPtrTy; + PointerType *Ip_fwPtrTy; + PointerType *Ipfw_insnPtrTy; + PointerType *Ipfw_dyn_rulePtrTy; + PointerType *Ipfw_insn_ifPtrTy; + PointerType *MbufPtrTy; + PointerType *UcredPtrTy; // Load the bc for JIT compilation. Module * @@ -178,7 +178,7 @@ return (NULL); } - auto modptr = parseBitcodeFile(buffer.get().get(), con); + auto modptr = parseBitcodeFile(buffer.get().get(), Con); if ((modptr.getError())){ std::cerr << "Failed to parse bitcode: " << buffer.getError() << "\n"; return (NULL); @@ -190,7 +190,7 @@ nextRule(int num) { if (num >= rules.size()) - return (end); + return (End); else return (rules[num]); } @@ -201,79 +201,79 @@ { // Get function arguments. // (struct ip_fw_args *, struct ip_fw_chain *) - auto& arglist = func->getArgumentList(); + auto& arglist = Func->getArgumentList(); // Error if (arglist.size() != 2) err(1, "Compilation error: no correct parameters\n"); - args = &arglist.front(); - chain = &arglist.back(); + Args = &arglist.front(); + Chain = &arglist.back(); // Get Type objects - int8Ty = Type::getInt8Ty(con); - int16Ty = Type::getInt16Ty(con); - int32Ty = Type::getInt32Ty(con); - int64Ty = Type::getInt64Ty(con); - int8PtrTy = PointerType::getUnqual(int8Ty); + Int8Ty = Type::getInt8Ty(Con); + Int16Ty = Type::getInt16Ty(Con); + Int32Ty = Type::getInt32Ty(Con); + Int64Ty = Type::getInt64Ty(Con); + Int8PtrTy = PointerType::getUnqual(Int8Ty); // Get StrucType from bitcode. - mbufTy = mod->getTypeByName("struct.mbuf"); - ifnetTy = mod->getTypeByName("struct.ifnet"); - in_addrTy = mod->getTypeByName("struct.in_addr"); - ipTy = mod->getTypeByName("struct.ip"); - ip_fw_argsTy = mod->getTypeByName("struct.ip_fw_args"); - ip_fw_chainTy = mod->getTypeByName("struct.ip_fw_chain"); - ip_fwTy = mod->getTypeByName("struct.ip_fw"); - ipfw_insnTy = mod->getTypeByName("struct._ipfw_insn"); - ipfw_insn_ifTy = mod->getTypeByName("struct._ipfw_insn_if"); - ipfw_dyn_ruleTy = mod->getTypeByName("struct._ipfw_dyn_rule"); + MbufTy = mod->getTypeByName("struct.mbuf"); + IfnetTy = mod->getTypeByName("struct.ifnet"); + In_addrTy = mod->getTypeByName("struct.in_addr"); + IpTy = mod->getTypeByName("struct.ip"); + Ip_fw_argsTy = mod->getTypeByName("struct.ip_fw_args"); + Ip_fw_chainTy = mod->getTypeByName("struct.ip_fw_chain"); + Ip_fwTy = mod->getTypeByName("struct.ip_fw"); + Ipfw_insnTy = mod->getTypeByName("struct._ipfw_insn"); + Ipfw_insn_ifTy = mod->getTypeByName("struct._ipfw_insn_if"); + Ipfw_dyn_ruleTy = mod->getTypeByName("struct._ipfw_dyn_rule"); #ifdef __FreeBSD__ - ucredTy = mod->getTypeByName("struct.ucred"); + UcredTy = mod->getTypeByName("struct.ucred"); #else - ucredTy = mod->getTypeByName("struct.bsd_ucred"); + UcredTy = mod->getTypeByName("struct.bsd_ucred"); #endif /* __FreeBSD__ */ // Create Pointer to StructType types. - mbufPtrTy = PointerType::getUnqual(mbufTy); - ifnetPtrTy = PointerType::getUnqual(ifnetTy); - in_addrPtrTy = PointerType::getUnqual(in_addrTy); - ipPtrTy = PointerType::getUnqual(ipTy); - ip_fw_argsPtrTy = PointerType::getUnqual(ip_fw_argsTy); - ip_fw_chainPtrTy = PointerType::getUnqual(ip_fw_chainTy); - ip_fwPtrTy = PointerType::getUnqual(ip_fwTy); - ipfw_insnPtrTy = PointerType::getUnqual(ipfw_insnTy); - ipfw_insn_ifPtrTy = PointerType::getUnqual(ipfw_insn_ifTy); - ipfw_dyn_rulePtrTy = PointerType::getUnqual(ipfw_dyn_ruleTy); + MbufPtrTy = PointerType::getUnqual(MbufTy); + IfnetPtrTy = PointerType::getUnqual(IfnetTy); + In_addrPtrTy = PointerType::getUnqual(In_addrTy); + IpPtrTy = PointerType::getUnqual(IpTy); + Ip_fw_argsPtrTy = PointerType::getUnqual(Ip_fw_argsTy); + Ip_fw_chainPtrTy = PointerType::getUnqual(Ip_fw_chainTy); + Ip_fwPtrTy = PointerType::getUnqual(Ip_fwTy); + Ipfw_insnPtrTy = PointerType::getUnqual(Ipfw_insnTy); + Ipfw_insn_ifPtrTy = PointerType::getUnqual(Ipfw_insn_ifTy); + Ipfw_dyn_rulePtrTy = PointerType::getUnqual(Ipfw_dyn_ruleTy); #ifdef __FreeBSD__ - ucredPtrTy = PointerType::getUnqual(ucredTy); + UcredPtrTy = PointerType::getUnqual(UcredTy); #endif // Get Function defs from bitcode. // All of them are auxiliary functions. - inspect_pkt = mod->getFunction("inspect_pkt"); - is_icmp_query = mod->getFunction("is_icmp_query"); - flags_match = mod->getFunction("flags_match"); - ipopts_match = mod->getFunction("ipopts_match"); - tcpopts_match = mod->getFunction("tcpopts_match"); - iface_match = mod->getFunction("iface_match"); - verify_path = mod->getFunction("verify_path"); + InspectPkt = mod->getFunction("inspect_pkt"); + Is_icmp_query = mod->getFunction("is_icmp_query"); + Flags_match = mod->getFunction("flags_match"); + Ipopts_match = mod->getFunction("ipopts_match"); + Tcpopts_match = mod->getFunction("tcpopts_match"); + Iface_match = mod->getFunction("iface_match"); + Verify_path = mod->getFunction("verify_path"); #ifdef INET6 - icmp6type_match = mod->getFunction("icmp6type_match"); - search_ip6_addr_net = mod->getFunction("search_ip6_addr_net"); - flow6id_match = mod->getFunction("flow6id_match"); - verify_path6 = mod->getFunction("verify_path6"); - is_icmp6_query = mod->getFunction("is_icmp6_query"); - send_reject6 = mod->getFunction("send_reject6"); + Icmp6type_match = mod->getFunction("icmp6type_match"); + Search_ip6_addr_net = mod->getFunction("search_ip6_addr_net"); + Flow6id_match = mod->getFunction("flow6id_match"); + Verify_path6 = mod->getFunction("verify_path6"); + Is_icmp6_query = mod->getFunction("is_icmp6_query"); + Send_reject6 = mod->getFunction("send_reject6"); #endif /* INET6 */ - send_reject = mod->getFunction("send_reject"); - set_match = mod->getFunction("set_match"); - jump_fast = mod->getFunction("jump_fast"); + Send_reject = mod->getFunction("send_reject"); + Set_match = mod->getFunction("set_match"); + Jump_fast = mod->getFunction("jump_fast"); // Functions declared at bitcode. - printfFunc = mod->getFunction("printf"); - ipfw_find_rule = mod->getFunction("ipfw_find_rule"); + PrintfFunc = mod->getFunction("printf"); + Ipfw_find_rule = mod->getFunction("ipfw_find_rule"); } // Allocate and initialize LLVM vars. @@ -282,114 +282,153 @@ void allocaAndInit() { - irb.SetInsertPoint(entry); + Irb.SetInsertPoint(Entry); // Control flow variables. - match = irb.CreateAlloca(int32Ty); - l = irb.CreateAlloca(int32Ty); + L = Irb.CreateAlloca(Int32Ty); - done = irb.CreateAlloca(int32Ty); - irb.CreateStore(ConstantInt::get(int32Ty, 0), done); + Done = Irb.CreateAlloca(Int32Ty); + Irb.CreateStore(ConstantInt::get(Int32Ty, 0), Done); - f_pos = irb.CreateAlloca(int32Ty); - irb.CreateStore(ConstantInt::get(int32Ty, 0), f_pos); + F_pos = Irb.CreateAlloca(Int32Ty); + Irb.CreateStore(ConstantInt::get(Int32Ty, 0), F_pos); - retval = irb.CreateAlloca(int32Ty); - irb.CreateStore(ConstantInt::get(int32Ty, 0), retval); - - cmd = irb.CreateAlloca(ipfw_insnTy); - tablearg = irb.CreateAlloca(int32Ty); - cmdlen = irb.CreateAlloca(int32Ty); - skip_or = irb.CreateAlloca(int32Ty); - f = irb.CreateAlloca(ip_fwTy); + Retval = Irb.CreateAlloca(Int32Ty); + Irb.CreateStore(ConstantInt::get(Int32Ty, 0), Retval); + + Cmd = Irb.CreateAlloca(Ipfw_insnTy); + Tablearg = Irb.CreateAlloca(Int32Ty); + Cmdlen = Irb.CreateAlloca(Int32Ty); + Skip_or = Irb.CreateAlloca(Int32Ty); + F = Irb.CreateAlloca(Ip_fwTy); // m = args->m (idx: 0) - m = irb.CreateAlloca(mbufPtrTy); - irb.CreateStore(irb.CreateLoad(irb.CreateStructGEP(args, 0)), m); + MPtr = Irb.CreateAlloca(MbufPtrTy); + Irb.CreateStore(Irb.CreateLoad(Irb.CreateStructGEP(Args, 0)), MPtr); + Value *M = Irb.CreateLoad(MPtr); // ip = (struct ip *)((m)->m_data) (idx: 2) - ip = irb.CreateAlloca(ipPtrTy); - irb.CreateStore(irb.CreateBitCast(irb.CreateStructGEP(irb.CreateLoad(m), 2), ipPtrTy), ip); + IpPtr = Irb.CreateAlloca(IpPtrTy); + Value *M_data = Irb.CreateStructGEP(M, 2); + Value *M_casted = Irb.CreateBitCast(M_data, IpPtrTy); + Irb.CreateStore(M_casted, IpPtr); - ucred_cache = irb.CreateAlloca(ucredTy); // Init: NULL if type ucred. + Ucred_cache = Irb.CreateAlloca(UcredTy); // Init: NULL if type ucred. - ucred_lookup = irb.CreateAlloca(int32Ty); - irb.CreateStore(ConstantInt::get(int32Ty, 0), ucred_lookup); + Ucred_lookup = Irb.CreateAlloca(Int32Ty); + Irb.CreateStore(ConstantInt::get(Int32Ty, 0), Ucred_lookup); - oif = irb.CreateAlloca(ifnetTy); // Init: args->oif - irb.CreateLoad(irb.CreateStructGEP(args, 1), oif); + Oif = Irb.CreateAlloca(IfnetTy); // Init: args->oif + Irb.CreateLoad(Irb.CreateStructGEP(Args, 1), Oif); - hlen = irb.CreateAlloca(int32Ty); - irb.CreateStore(ConstantInt::get(int32Ty, 0), hlen); + Hlen = Irb.CreateAlloca(Int32Ty); + Irb.CreateStore(ConstantInt::get(Int32Ty, 0), Hlen); - offset = irb.CreateAlloca(int16Ty); - irb.CreateStore(ConstantInt::get(int16Ty, 0), offset); + Offset = Irb.CreateAlloca(Int16Ty); + Irb.CreateStore(ConstantInt::get(Int16Ty, 0), Offset); - ip6f_mf = irb.CreateAlloca(int16Ty); - irb.CreateStore(ConstantInt::get(int16Ty, 0), ip6f_mf); + Ip6f_mf = Irb.CreateAlloca(Int16Ty); + Irb.CreateStore(ConstantInt::get(Int16Ty, 0), Ip6f_mf); // proto = args->f_id.proto = 0 // proto = 0; - proto = irb.CreateAlloca(int8Ty); - irb.CreateStore(ConstantInt::get(int8Ty, 0), proto); + Proto = Irb.CreateAlloca(Int8Ty); + Irb.CreateStore(ConstantInt::get(Int8Ty, 0), Proto); // args->f_id.proto = 0 (idx: 6, 5) - irb.CreateStore(ConstantInt::get(int8Ty, 0), irb.CreateStructGEP(irb.CreateStructGEP(args, 6), 5)); - - src_port = irb.CreateAlloca(int16Ty); - irb.CreateStore(ConstantInt::get(int16Ty, 0), src_port); - dst_port = irb.CreateAlloca(int16Ty); - irb.CreateStore(ConstantInt::get(int16Ty, 0), dst_port); + Value *F_id = Irb.CreateStructGEP(Args, 6); + Value *Proto = Irb.CreateStructGEP(F_id, 5); + Irb.CreateStore(ConstantInt::get(Int8Ty, 0), Proto); + + Src_port = Irb.CreateAlloca(Int16Ty); + Irb.CreateStore(ConstantInt::get(Int16Ty, 0), Src_port); + Dst_port = Irb.CreateAlloca(Int16Ty); + Irb.CreateStore(ConstantInt::get(Int16Ty, 0), Dst_port); //src_ip.s_addr = 0; - src_ip = irb.CreateAlloca(in_addrTy); - irb.CreateStore(ConstantInt::get(int32Ty, 0), irb.CreateStructGEP(src_ip, 0)); + Src_ip = Irb.CreateAlloca(In_addrTy); + Value *Src_s_addr = Irb.CreateStructGEP(Src_ip, 0); + Irb.CreateStore(ConstantInt::get(Int32Ty, 0), Src_s_addr); //dst_ip.s_addr = 0; - dst_ip = irb.CreateAlloca(in_addrTy); - irb.CreateStore(ConstantInt::get(int32Ty, 0), irb.CreateStructGEP(dst_ip, 0)); + Dst_ip = Irb.CreateAlloca(In_addrTy); + Value *Dst_s_addr = Irb.CreateStructGEP(Dst_ip, 0); + Irb.CreateStore(ConstantInt::get(Int32Ty, 0), Dst_s_addr); //iplen = 0; - iplen = irb.CreateAlloca(int16Ty); - irb.CreateStore(ConstantInt::get(int16Ty, 0), iplen); + Iplen = Irb.CreateAlloca(Int16Ty); + Irb.CreateStore(ConstantInt::get(Int16Ty, 0), Iplen); // pktlen = m->m_pkthdr.len; // m_pkthdr is the 6th element (idx: 5) // len is the 2nd element (idx: 1) - pktlen = irb.CreateAlloca(int32Ty); - irb.CreateStore(irb.CreateStructGEP(irb.CreateStructGEP(irb.CreateLoad(m), 5), 1), pktlen); + Pktlen = Irb.CreateAlloca(Int32Ty); + Value *Header = Irb.CreateStructGEP(M, 5); + Value *LengthPtr = Irb.CreateStructGEP(Header, 1); + Value *Length = Irb.CreateLoad(LengthPtr); + Irb.CreateStore(Length, Pktlen); - etype = irb.CreateAlloca(int16Ty); - irb.CreateStore(ConstantInt::get(int32Ty, 0), etype); + Etype = Irb.CreateAlloca(Int16Ty); + Irb.CreateStore(ConstantInt::get(Int16Ty, 0), Etype); - dyn_dir = irb.CreateAlloca(int32Ty); - irb.CreateStore(ConstantInt::get(int32Ty, MATCH_UNKNOWN), dyn_dir); + Dyn_dir = Irb.CreateAlloca(Int32Ty); + Irb.CreateStore(ConstantInt::get(Int32Ty, MATCH_UNKNOWN), Dyn_dir); - q = irb.CreateAlloca(ipfw_dyn_rulePtrTy); - irb.CreateStore(ConstantPointerNull::get(ipfw_dyn_rulePtrTy), q); + Q = Irb.CreateAlloca(Ipfw_dyn_rulePtrTy); + Irb.CreateStore(ConstantPointerNull::get(Ipfw_dyn_rulePtrTy), Q); // There are no (void *), we use i8* - ulp = irb.CreateAlloca(int8PtrTy); - irb.CreateStore(ConstantPointerNull::get(int8PtrTy), ulp); + Ulp = Irb.CreateAlloca(Int8PtrTy); + Irb.CreateStore(ConstantPointerNull::get(Int8PtrTy), Ulp); - is_ipv4 = irb.CreateAlloca(int32Ty); - irb.CreateStore(ConstantInt::get(int32Ty, 0), is_ipv4); - is_ipv6 = irb.CreateAlloca(int32Ty); - irb.CreateStore(ConstantInt::get(int32Ty, 0), is_ipv6); - icmp6_type = irb.CreateAlloca(int8Ty); - irb.CreateStore(ConstantInt::get(int8Ty, 0), icmp6_type); - ext_hd = irb.CreateAlloca(int16Ty); - irb.CreateStore(ConstantInt::get(int16Ty, 0), ext_hd); + Is_ipv4 = Irb.CreateAlloca(Int32Ty); + Irb.CreateStore(ConstantInt::get(Int32Ty, 0), Is_ipv4); + Is_ipv6 = Irb.CreateAlloca(Int32Ty); + Irb.CreateStore(ConstantInt::get(Int32Ty, 0), Is_ipv6); + Icmp6_type = Irb.CreateAlloca(Int8Ty); + Irb.CreateStore(ConstantInt::get(Int8Ty, 0), Icmp6_type); + Ext_hd = Irb.CreateAlloca(Int16Ty); + Irb.CreateStore(ConstantInt::get(Int16Ty, 0), Ext_hd); // If it returns one, goto pullup_failed. // Else, goto first rule. - irb.CreateCondBr(irb.CreateICmpEQ(irb.CreateCall(inspect_pkt, {args, ip, m, src_ip, dst_ip, src_port, dst_port, etype, ext_hd, iplen, pktlen, is_ipv4, is_ipv6, hlen, proto, icmp6_type, ip6f_mf, offset, ulp}), ConstantInt::get(int32Ty, 1)), pullup_failed, check_tag); + Value *Ip = Irb.CreateLoad(IpPtr); + + Args->getType()->dump(); + Ip->getType()->dump(); + M->getType()->dump(); + Src_ip->getType()->dump(); + Dst_ip->getType()->dump(); + Src_port->getType()->dump(); + Dst_port->getType()->dump(); + Etype->getType()->dump(); + Ext_hd->getType()->dump(); + Iplen->getType()->dump(); + Pktlen->getType()->dump(); + Is_ipv4->getType()->dump(); + Is_ipv6->getType()->dump(); + Hlen->getType()->dump(); + Proto->getType()->dump(); + Icmp6_type->getType()->dump(); + Ip6f_mf->getType()->dump(); + Offset->getType()->dump(); + Ulp->getType()->dump(); + + InspectPkt->dump(); + + Value *InspectPktCall = Irb.CreateCall(InspectPkt, {Args, Ip, M, Src_ip, + Dst_ip, Src_port, Dst_port, Etype, Ext_hd, Iplen, Pktlen, Is_ipv4, + Is_ipv6, Hlen, Proto, Icmp6_type, Ip6f_mf, Offset, Ulp}); + InspectPktCall->dump(); + + Value *Cond = Irb.CreateICmpEQ(InspectPktCall, ConstantInt::get(Int32Ty, 1)); + Irb.CreateCondBr(Cond, Pullup_failed, Check_tag); } void emit_pullup_failed() { - Value *is_verbose, *str; + Value *is_verbose, *str, *Conp; - BasicBlock *print = BasicBlock::Create(con, "print", func); - BasicBlock *ret = BasicBlock::Create(con, "ret", func); + BasicBlock *print = BasicBlock::Create(Con, "print", Func); + BasicBlock *ret = BasicBlock::Create(Con, "ret", Func); // VNET_DECLARE(int, fw_verbose); // #define V_fw_verbose VNET(fw_verbose) @@ -401,32 +440,35 @@ // return (IP_FW_DENY); is_verbose = mod->getGlobalVariable("fw_verbose"); - str = irb.CreateGlobalString("ipfw: pullup failed\n"); + str = Irb.CreateGlobalString("ipfw: pullup failed\n"); - irb.SetInsertPoint(pullup_failed); + Irb.SetInsertPoint(Pullup_failed); // if (V_fw_verbose) - irb.CreateCondBr(irb.CreateICmpEQ(is_verbose, ConstantInt::get(int32Ty, 0)), ret, print); + Comp = Irb.CreateICmpEQ(is_verbose, ConstantInt::get(Int32Ty, 0)); + Irb.CreateCondBr(Comp, ret, print); // printf("ipfw: pullup failed\n"); - irb.SetInsertPoint(print); - irb.CreateCall(printfFunc, str); - irb.CreateBr(ret); + Irb.SetInsertPoint(print); + Irb.CreateCall(PrintfFunc, str); + Irb.CreateBr(ret); // return (IP_FW_DENY); - irb.SetInsertPoint(ret); - irb.CreateRet(ConstantInt::get(int32Ty, IP_FW_DENY)); + Irb.SetInsertPoint(ret); + Irb.CreateRet(ConstantInt::get(Int32Ty, IP_FW_DENY)); } void emit_check_tag() { - BasicBlock *tagged = BasicBlock::Create(con, "tagged", func); - BasicBlock *nottagged = BasicBlock::Create(con, "nottagged", func); - BasicBlock *jt = BasicBlock::Create(con, "jt", func); - BasicBlock *jf = BasicBlock::Create(con, "jf", func); + BasicBlock *Tagged = BasicBlock::Create(Con, "tagged", Func); + BasicBlock *Nottagged = BasicBlock::Create(Con, "nottagged", Func); + BasicBlock *Jt = BasicBlock::Create(Con, "jt", Func); + BasicBlock *Jf = BasicBlock::Create(Con, "jf", Func); - irb.SetInsertPoint(check_tag); + Value *Comp; + + Irb.SetInsertPoint(Check_tag); // if (args->rule.slot) { // /* @@ -445,41 +487,52 @@ // } // if (args->rule.slot) - irb.CreateCondBr(irb.CreateICmpEQ(irb.CreateInBoundsGEP(args, {ConstantInt::get(int32Ty, 0), ConstantInt::get(int32Ty, 4),ConstantInt::get(int32Ty, 0)}), ConstantInt::get(int32Ty, 0)), nottagged, tagged); + Value *Rule = Irb.CreateStructGEP(Args, 4); + Value *Slot = Irb.CreateStructGEP(Rule, 0); + Comp = Irb.CreateICmpEQ(Slot, ConstantInt::get(Int32Ty, 0)); + Irb.CreateCondBr(Comp, Nottagged, Tagged); + + Irb.SetInsertPoint(Tagged); // if (args->rule.chain_id == chain->id) - irb.SetInsertPoint(tagged); - irb.CreateCondBr(irb.CreateICmpEQ(irb.CreateInBoundsGEP(args, {ConstantInt::get(int32Ty, 0), ConstantInt::get(int32Ty, 4), ConstantInt::get(int32Ty, 3)}), irb.CreateInBoundsGEP(chain, ConstantInt::get(int32Ty, 12))), jt, jf); + Value *Chain_id = Irb.CreateStructGEP(Rule, 3); + Value *Id = Irb.CreateInBoundsGEP(Chain, ConstantInt::get(Int32Ty, 12)); + Comp = Irb.CreateICmpEQ(Chain_id, Id); + Irb.CreateCondBr(Comp, Jt, Jf); // f_pos = args->rule.slot; - irb.SetInsertPoint(jt); - irb.CreateStore(irb.CreateInBoundsGEP(args, {ConstantInt::get(int32Ty, 0), ConstantInt::get(int32Ty, 4),ConstantInt::get(int32Ty, 0)}), f_pos); - irb.CreateBr(nottagged); + Irb.SetInsertPoint(Jt); + Irb.CreateStore(Slot, F_pos); + Irb.CreateBr(Nottagged); // else fpos = ipfw_find_rule(chain, args->rule.rulenum, args->rule.rule_id) - irb.SetInsertPoint(jf); - irb.CreateStore(irb.CreateCall3(ipfw_find_rule, chain, irb.CreateInBoundsGEP(args, {ConstantInt::get(int32Ty, 0), ConstantInt::get(int32Ty, 4), ConstantInt::get(int32Ty, 1)}), irb.CreateInBoundsGEP(args, {ConstantInt::get(int32Ty, 0), ConstantInt::get(int32Ty, 4), ConstantInt::get(int32Ty, 2)})), f_pos); + Irb.SetInsertPoint(Jf); + Value *Rulenum = Irb.CreateStructGEP(Rule, 1); + Value *RuleId = Irb.CreateStructGEP(Rule, 2); + Value *FindRuleCall = Irb.CreateCall3(Ipfw_find_rule, Chain, Rulenum, RuleId); + Irb.CreateStore(FindRuleCall, F_pos); - // Branch to nottagged because it + // Branch to Nottagged because it // only finishes the entry BasicBlock. - irb.CreateBr(nottagged); + Irb.CreateBr(Nottagged); // else f_pos = 0; // Since f_pos is initialized by default as 0, we only br. - irb.SetInsertPoint(nottagged); + Irb.SetInsertPoint(Nottagged); // Jump to first rule. - irb.CreateBr(rules.front()); + Irb.CreateBr(rules.front()); } void emit_outer_for_prologue() { - BasicBlock *jt = BasicBlock::Create(con, "jt", func); - BasicBlock *jf = BasicBlock::Create(con, "jf", func); + BasicBlock *jt = BasicBlock::Create(Con, "jt", Func); + BasicBlock *jf = BasicBlock::Create(Con, "jf", Func); + Value *set_disable = mod->getGlobalVariable("set_disable"); // All this variables are already allocated. // ipfw_insn *cmd; - // uint32_t tablearg = 0; + // uInt32_t tablearg = 0; // int l, cmdlen, skip_or; /* skip rest of OR block */ // struct ip_fw *f; // f = chain->map[f_pos]; @@ -487,35 +540,44 @@ // continue; // skip_or = 0; - irb.SetInsertPoint(outer_for_prologue); - // uint32_t tablearg = 0; - irb.CreateStore(ConstantInt::get(int32Ty, 0), tablearg); + Irb.SetInsertPoint(Outer_for_prologue); + // uInt32_t tablearg = 0; + Irb.CreateStore(ConstantInt::get(Int32Ty, 0), Tablearg); // f = chain->map[f_pos]; idxs: 5, f_pos - irb.CreateStore(irb.CreateInBoundsGEP(irb.CreateLoad(irb.CreateStructGEP(chain, 5)), f_pos), f); + Value *MapPtr = Irb.CreateStructGEP(Chain, 5); + Value *Map = Irb.CreateLoad(MapPtr); + Value *MapFPos = Irb.CreateInBoundsGEP(Mal,F_pos); + Irb.CreateStore(MapFPos, F); // if (V_set_disable & (1 << f->set) ) - irb.CreateCondBr(irb.CreateICmpNE(irb.CreateAnd(set_disable, irb.CreateShl(ConstantInt::get(int32Ty, 1), irb.CreateStructGEP(f, 5))), ConstantInt::get(int32Ty, 0)), jt, jf); + Value *Set = Irb.CreateStructGEP(F, 5); + Value *ShiftedSet = Irb.CreateShl(ConstantInt::get(Int32Ty, 1), Set); + Value *AndOp = Irb.CreateAnd(set_disable, ShiftedSet); + Value *Comp = Irb.CreateICmpNE(AndOp, ConstantInt::get(Int32Ty, 0)); + Irb.CreateCondBr(Comp, jt, jf); - irb.SetInsertPoint(jt); + Irb.SetInsertPoint(jt); // continue; - irb.CreateBr(nextRule(rulenumber+1)); + Irb.CreateBr(nextRule(rulenumber+1)); // skip_or = 0; - irb.SetInsertPoint(jf); - irb.CreateStore(ConstantInt::get(int32Ty, 0), skip_or); + Irb.SetInsertPoint(jf); + Irb.CreateStore(ConstantInt::get(Int32Ty, 0), Skip_or); - irb.CreateBr(inner_for_prologue); + Irb.CreateBr(Inner_for_prologue); } void emit_inner_for_prologue() { - BasicBlock *firstt = BasicBlock::Create(con, "firstt", func); - BasicBlock *firstf = BasicBlock::Create(con, "firstf", func); - BasicBlock *secondt = BasicBlock::Create(con, "secondt", func); - BasicBlock *secondf = BasicBlock::Create(con, "secondf", func); + BasicBlock *firstt = BasicBlock::Create(Con, "firstt", Func); + BasicBlock *firstf = BasicBlock::Create(Con, "firstf", Func); + BasicBlock *secondt = BasicBlock::Create(Con, "secondt", Func); + BasicBlock *secondf = BasicBlock::Create(Con, "secondf", Func); + + Value *Comp, *AndOp; // The first to are the intializers of the for loop. // l = f->cmd_len; @@ -529,58 +591,68 @@ // continue; // } // match = 0; /* set to 1 if we succeed */ - irb.SetInsertPoint(inner_for_prologue); + Irb.SetInsertPoint(Inner_for_prologue); // l = f->cmd_len; // XXX - ask David about types. int l; uint16_t cmd_len; - irb.CreateStore(irb.CreateInBoundsGEP(f, {ConstantInt::get(int32Ty, 0), ConstantInt::get(int32Ty, 3)}), l); + Value *CmdLen = Irb.CreateStructGEP(F, 3); + Irb.CreateStore(CmdLen, L); + // cmd = f->cmd; - irb.CreateStore(irb.CreateInBoundsGEP(f, {ConstantInt::get(int32Ty, 0), ConstantInt::get(int32Ty, 11)}), cmd); + Value *FCmd = Irb.CreateStructGEP(F, 11); + Irb.CreateStore(FCmd, Cmd); // int match; - // match is already allocated. + Match = Irb.CreateAlloca(Int32Ty); // cmdlen = ((cmd)->len & F_LEN_MASK); - irb.CreateStore(irb.CreateAnd(irb.CreateInBoundsGEP(cmd, {ConstantInt::get(int32Ty, 0), ConstantInt::get(int32Ty, 1)}), ConstantInt::get(int8Ty, F_LEN_MASK)), cmdlen); + Value *Len = Irb.CreateStructGEP(Cmd, 1); + AndOp = Irb.CreateAnd(Len, ConstantInt::get(Int8Ty, F_LEN_MASK)); + Irb.CreateStore(AndOp, Cmdlen); // if (skip_or) - irb.CreateCondBr(irb.CreateICmpNE(skip_or, ConstantInt::get(int32Ty, 0)), firstt, firstf); + Comp = Irb.CreateICmpNE(Skip_or, ConstantInt::get(Int32Ty, 0)); + Irb.CreateCondBr(Comp, firstt, firstf); - irb.SetInsertPoint(firstt); + Irb.SetInsertPoint(firstt); // if ((cmd->len & F_OR) == 0) - irb.CreateCondBr(irb.CreateICmpEQ(irb.CreateAnd(irb.CreateInBoundsGEP(cmd, {ConstantInt::get(int32Ty, 0), ConstantInt::get(int32Ty, 1)}), ConstantInt::get(int8Ty, F_OR)), ConstantInt::get(int8Ty, 0)), secondt, secondf); + AndOp = Irb.CreateAnd(Len, ConstantInt::get(Int8Ty, F_OR)); + Comp = Irb.CreateICmpEQ(AndOp, ConstantInt::get(Int8Ty, 0)); + Irb.CreateCondBr(Comp, secondt, secondf); - irb.SetInsertPoint(secondt); + Irb.SetInsertPoint(secondt); // skip_or = 0; - irb.CreateStore(ConstantInt::get(int32Ty, 0), skip_or); - irb.CreateBr(secondf); + Irb.CreateStore(ConstantInt::get(Int32Ty, 0), Skip_or); + Irb.CreateBr(secondf); - irb.SetInsertPoint(secondf); + Irb.SetInsertPoint(secondf); // continue; - irb.CreateBr(nextRule(rulenumber+1)); + Irb.CreateBr(nextRule(rulenumber+1)); - irb.SetInsertPoint(firstf); + Irb.SetInsertPoint(firstf); // match = 0; - irb.CreateStore(ConstantInt::get(int32Ty, 0), match); + Irb.CreateStore(ConstantInt::get(Int32Ty, 0), Match); - irb.CreateBr(inner_for_epilogue); + Irb.CreateBr(Inner_for_epilogue); } // We get here ar the end of switch() on opcodes. void emit_inner_for_epilogue() { - BasicBlock *matchnz = BasicBlock::Create(con, "matchnz", func); - BasicBlock *matchz = BasicBlock::Create(con, "matchz", func); - BasicBlock *jt = BasicBlock::Create(con, "jt", func); - BasicBlock *sec_cond = BasicBlock::Create(con, "sec_cond", func); - BasicBlock *matchzero = BasicBlock::Create(con, "matchzero", func); - BasicBlock *matchnotzero = BasicBlock::Create(con, "matchnotzero", func); - BasicBlock *is_or = BasicBlock::Create(con, "is_or", func); + BasicBlock *matchnz = BasicBlock::Create(Con, "matchnz", Func); + BasicBlock *matchz = BasicBlock::Create(Con, "matchz", Func); + BasicBlock *jt = BasicBlock::Create(Con, "jt", Func); + BasicBlock *sec_cond = BasicBlock::Create(Con, "sec_cond", Func); + BasicBlock *matchzero = BasicBlock::Create(Con, "matchzero", Func); + BasicBlock *matchnotzero = BasicBlock::Create(Con, "matchnotzero", Func); + BasicBlock *is_or = BasicBlock::Create(Con, "is_or", Func); + + Value *Comp, *AndOp; // This are the increments of the for loop. // l -= cmdlen, cmd += cmdlen; - irb.CreateStore(irb.CreateNSWSub(l, cmdlen), l); - irb.CreateStore(irb.CreateAdd(cmd, cmdlen), cmd); + Irb.CreateStore(Irb.CreateNSWSub(L, Cmdlen), L); + Irb.CreateStore(Irb.CreateAdd(Cmd, Cmdlen), Cmd); // if (cmd->len & F_NOT) // match = !match; @@ -593,41 +665,50 @@ // break; /* try next rule */ // } - irb.SetInsertPoint(inner_for_epilogue); + Irb.SetInsertPoint(Inner_for_epilogue); // if (cmd->len & F_NOT) - irb.CreateCondBr(irb.CreateICmpNE(irb.CreateAnd(irb.CreateInBoundsGEP(cmd, {ConstantInt::get(int32Ty, 0), ConstantInt::get(int32Ty, 1)}), ConstantInt::get(int8Ty, F_NOT)), ConstantInt::get(int32Ty, 0)), jt, sec_cond); + Value *Len = Irb.CreateStructGEP(Cmd, 1); + AndOp = Irb.CreateAnd(Len, ConstantInt::get(Int8Ty, F_NOT)); + Comp = Irb.CreateICmpNE(AndOp, ConstantInt::get(Int32Ty, 0)); + Irb.CreateCondBr(Comp, jt, sec_cond); - irb.SetInsertPoint(jt); + Irb.SetInsertPoint(jt); // match = !match; // match = ((match)?0:1); - irb.CreateCondBr(irb.CreateICmpNE(match, ConstantInt::get(int32Ty, 0)),matchnz, matchz); + Comp = Irb.CreateICmpNE(Match, ConstantInt::get(Int32Ty, 0)); + Irb.CreateCondBr(Comp, matchnz, matchz); - irb.SetInsertPoint(matchnz); - irb.CreateStore(ConstantInt::get(int32Ty, 0), match); - irb.CreateBr(sec_cond); + Irb.SetInsertPoint(matchnz); + Irb.CreateStore(ConstantInt::get(Int32Ty, 0), Match); + Irb.CreateBr(sec_cond); + + Irb.SetInsertPoint(matchz); + Irb.CreateStore(ConstantInt::get(Int32Ty, 1), Match); + Irb.CreateBr(sec_cond); - irb.SetInsertPoint(matchz); - irb.CreateStore(ConstantInt::get(int32Ty, 1), match); - irb.CreateBr(sec_cond); - - irb.SetInsertPoint(sec_cond); + Irb.SetInsertPoint(sec_cond); // if (match) - irb.CreateCondBr(irb.CreateICmpNE(match, ConstantInt::get(int32Ty, 0)), matchnotzero, matchzero); + Comp = Irb.CreateICmpNE(Match, ConstantInt::get(Int32Ty, 0)); + Irb.CreateCondBr(Comp, matchnotzero, matchzero); - irb.SetInsertPoint(matchnotzero); + Irb.SetInsertPoint(matchnotzero); // if (cmd->len & F_OR) - irb.CreateCondBr(irb.CreateICmpNE(irb.CreateAnd(irb.CreateInBoundsGEP(cmd, {ConstantInt::get(int32Ty, 0), ConstantInt::get(int32Ty, 1)}), ConstantInt::get(int8Ty, F_OR)), ConstantInt::get(int32Ty, 0)), is_or, outer_for_epilogue); + AndOp = Irb.CreateAnd(Len, ConstantInt::get(Int8Ty, F_OR)) + Comp = Irb.CreateICmpNE(AndOp, ConstantInt::get(Int32Ty, 0)); + Irb.CreateCondBr(Comp, is_or, Outer_for_epilogue); - irb.SetInsertPoint(is_or); + Irb.SetInsertPoint(is_or); // skip_or = 1; - irb.CreateStore(ConstantInt::get(int32Ty, 1), skip_or); - irb.CreateBr(outer_for_epilogue); + Irb.CreateStore(ConstantInt::get(Int32Ty, 1), Skip_or); + Irb.CreateBr(Outer_for_epilogue); - irb.SetInsertPoint(matchzero); + Irb.SetInsertPoint(matchzero); // if (!(cmd->len & F_OR)) /* not an OR block, */ // break; - irb.CreateCondBr(irb.CreateICmpEQ(irb.CreateAnd(irb.CreateInBoundsGEP(cmd, {ConstantInt::get(int32Ty, 0), ConstantInt::get(int32Ty, 1)}), ConstantInt::get(int8Ty, F_OR)), ConstantInt::get(int32Ty, 0)), nextRule(rulenumber+1) /* break */, outer_for_epilogue); + AndOp = Irb.CreateAnd(Len, ConstantInt::get(Int8Ty, F_OR)); + Comp = Irb.CreateICmpEQ(AndOp, ConstantInt::get(Int32Ty, 0)); + Irb.CreateCondBr(Comp, nextRule(rulenumber+1) /* break */, Outer_for_epilogue); } // This code gets executed at the end of inner loop. @@ -635,14 +716,16 @@ void emit_outer_for_epilogue() { - irb.SetInsertPoint(outer_for_epilogue); + Irb.SetInsertPoint(Outer_for_epilogue); // f_pos++, increment of the for loop. - irb.CreateStore(irb.CreateAdd(f_pos, ConstantInt::get(int32Ty, 1)), f_pos); + Value AddOp = Irb.CreateAdd(F_pos, ConstantInt::get(Int32Ty, 1)); + Irb.CreateStore(AddOp, F_pos); // if (done) // break; - irb.CreateCondBr(irb.CreateICmpNE(done, ConstantInt::get(int32Ty, 0)), end, nextRule(rulenumber+1)); + Value *Comp = Irb.CreateICmpNE(Done, ConstantInt::get(Int32Ty, 0)); + Irb.CreateCondBr(Comp, End, nextRule(rulenumber+1)); } void @@ -650,9 +733,10 @@ { Value *rule, *time_uptime, *str; - BasicBlock *jt = BasicBlock::Create(con, "jt", func); - BasicBlock *jf = BasicBlock::Create(con, "jf", func); - BasicBlock *ret = BasicBlock::Create(con, "ret", func); + BasicBlock *jt = BasicBlock::Create(Con, "jt", Func); + BasicBlock *jf = BasicBlock::Create(Con, "jf", Func); + BasicBlock *ret = BasicBlock::Create(Con, "ret", Func); + Value *Comp, AddOp; // if (done) { // struct ip_fw *rule = chain->map[f_pos]; @@ -672,90 +756,99 @@ // // return (retval); - irb.SetInsertPoint(end); + Irb.SetInsertPoint(End); // We need to get the timestamp variable. time_uptime = mod->getGlobalVariable("time_uptime"); - str = irb.CreateGlobalString("ipfw: ouch!, skip past end of rules, denying packet\n"); + str = Irb.CreateGlobalString("ipfw: ouch!, skip past end of rules, denying packet\n"); // if (done) - irb.CreateCondBr(irb.CreateICmpNE(done, ConstantInt::get(int32Ty, 0)), jt, jf); + Comp = Irb.CreateICmpNE(Done, ConstantInt::get(Int32Ty, 0)); + Irb.CreateCondBr(Comp, jt, jf); - irb.SetInsertPoint(jt); + Irb.SetInsertPoint(jt); // struct ip_fw *rule = chain->map[f_pos]; - rule = irb.CreateAlloca(ip_fwPtrTy); - irb.CreateStore(irb.CreateInBoundsGEP(irb.CreateLoad(irb.CreateStructGEP(chain, 5)), f_pos), rule); + rule = Irb.CreateAlloca(Ip_fwPtrTy); + Value *MapPtr = Irb.CreateStructGEP(Chain, 5); + Value *Map = Irb.CreateLoad(MapPtr); + Value *MapFPos = Irb.CreateInBoundsGEP(Mal,F_pos); + Irb.CreateStore(MapFPos, rule); // uint64_t pcnt; // (rule)->pcnt++; - Value *pcnt = irb.CreateStructGEP(irb.CreateLoad(rule), 8); - irb.CreateStore(irb.CreateAdd(pcnt, ConstantInt::get(pcnt->getType(), 1)), pcnt); + Value RuleL = Irb.CreateLoad(rule); + Value *Pcnt = Irb.CreateStructGEP(RuleL, 8); + AddOp = Irb.CreateAdd(Pcnt, ConstantInt::get(pcnt->getType(), 1)); + Irb.CreateStore(AddOp, Pcnt); + // uint64_t bnct; *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-soc-all@FreeBSD.ORG Fri Aug 29 17:53:51 2014 Return-Path: Delivered-To: svn-soc-all@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 4870D80C for ; Fri, 29 Aug 2014 17:53:51 +0000 (UTC) Received: from socsvn.freebsd.org (socsvn.freebsd.org [IPv6:2001:1900:2254:206a::50:2]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 28B061E74 for ; Fri, 29 Aug 2014 17:53:51 +0000 (UTC) Received: from socsvn.freebsd.org ([127.0.1.124]) by socsvn.freebsd.org (8.14.9/8.14.9) with ESMTP id s7THrpo7039825 for ; Fri, 29 Aug 2014 17:53:51 GMT (envelope-from dpl@FreeBSD.org) Received: (from www@localhost) by socsvn.freebsd.org (8.14.9/8.14.9/Submit) id s7THroNu039808 for svn-soc-all@FreeBSD.org; Fri, 29 Aug 2014 17:53:50 GMT (envelope-from dpl@FreeBSD.org) Date: Fri, 29 Aug 2014 17:53:50 GMT Message-Id: <201408291753.s7THroNu039808@socsvn.freebsd.org> X-Authentication-Warning: socsvn.freebsd.org: www set sender to dpl@FreeBSD.org using -f From: dpl@FreeBSD.org To: svn-soc-all@FreeBSD.org Subject: socsvn commit: r273339 - soc2014/dpl/netmap-ipfwjit/sys/netpfil/ipfw MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-soc-all@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: SVN commit messages for the entire Summer of Code repository List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 29 Aug 2014 17:53:51 -0000 Author: dpl Date: Fri Aug 29 17:53:50 2014 New Revision: 273339 URL: http://svnweb.FreeBSD.org/socsvn/?view=rev&rev=273339 Log: Corrected small mistakes. Modified: soc2014/dpl/netmap-ipfwjit/sys/netpfil/ipfw/jit.cc Modified: soc2014/dpl/netmap-ipfwjit/sys/netpfil/ipfw/jit.cc ============================================================================== --- soc2014/dpl/netmap-ipfwjit/sys/netpfil/ipfw/jit.cc Fri Aug 29 17:33:08 2014 (r273338) +++ soc2014/dpl/netmap-ipfwjit/sys/netpfil/ipfw/jit.cc Fri Aug 29 17:53:50 2014 (r273339) @@ -425,11 +425,12 @@ void emit_pullup_failed() { - Value *is_verbose, *str, *Conp; - BasicBlock *print = BasicBlock::Create(Con, "print", Func); BasicBlock *ret = BasicBlock::Create(Con, "ret", Func); + Value *is_verbose, *str, *Comp; + + // VNET_DECLARE(int, fw_verbose); // #define V_fw_verbose VNET(fw_verbose) // We should be fine getting that from the Module. @@ -547,7 +548,7 @@ // f = chain->map[f_pos]; idxs: 5, f_pos Value *MapPtr = Irb.CreateStructGEP(Chain, 5); Value *Map = Irb.CreateLoad(MapPtr); - Value *MapFPos = Irb.CreateInBoundsGEP(Mal,F_pos); + Value *MapFPos = Irb.CreateInBoundsGEP(Map, F_pos); Irb.CreateStore(MapFPos, F); // if (V_set_disable & (1 << f->set) ) @@ -694,7 +695,7 @@ Irb.SetInsertPoint(matchnotzero); // if (cmd->len & F_OR) - AndOp = Irb.CreateAnd(Len, ConstantInt::get(Int8Ty, F_OR)) + AndOp = Irb.CreateAnd(Len, ConstantInt::get(Int8Ty, F_OR)); Comp = Irb.CreateICmpNE(AndOp, ConstantInt::get(Int32Ty, 0)); Irb.CreateCondBr(Comp, is_or, Outer_for_epilogue); @@ -719,7 +720,7 @@ Irb.SetInsertPoint(Outer_for_epilogue); // f_pos++, increment of the for loop. - Value AddOp = Irb.CreateAdd(F_pos, ConstantInt::get(Int32Ty, 1)); + Value *AddOp = Irb.CreateAdd(F_pos, ConstantInt::get(Int32Ty, 1)); Irb.CreateStore(AddOp, F_pos); // if (done) @@ -736,7 +737,7 @@ BasicBlock *jt = BasicBlock::Create(Con, "jt", Func); BasicBlock *jf = BasicBlock::Create(Con, "jf", Func); BasicBlock *ret = BasicBlock::Create(Con, "ret", Func); - Value *Comp, AddOp; + Value *Comp, *AddOp; // if (done) { // struct ip_fw *rule = chain->map[f_pos]; @@ -770,14 +771,14 @@ rule = Irb.CreateAlloca(Ip_fwPtrTy); Value *MapPtr = Irb.CreateStructGEP(Chain, 5); Value *Map = Irb.CreateLoad(MapPtr); - Value *MapFPos = Irb.CreateInBoundsGEP(Mal,F_pos); + Value *MapFPos = Irb.CreateInBoundsGEP(Map, F_pos); Irb.CreateStore(MapFPos, rule); // uint64_t pcnt; // (rule)->pcnt++; - Value RuleL = Irb.CreateLoad(rule); + Value *RuleL = Irb.CreateLoad(rule); Value *Pcnt = Irb.CreateStructGEP(RuleL, 8); - AddOp = Irb.CreateAdd(Pcnt, ConstantInt::get(pcnt->getType(), 1)); + AddOp = Irb.CreateAdd(Pcnt, ConstantInt::get(Pcnt->getType(), 1)); Irb.CreateStore(AddOp, Pcnt); // uint64_t bnct;