From owner-svn-src-projects@FreeBSD.ORG Sun Dec 28 02:30:04 2014 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id D9270236; Sun, 28 Dec 2014 02:30:04 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id AD443667F7; Sun, 28 Dec 2014 02:30:04 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id sBS2U4EC051347; Sun, 28 Dec 2014 02:30:04 GMT (envelope-from dim@FreeBSD.org) Received: (from dim@localhost) by svn.freebsd.org (8.14.9/8.14.9/Submit) id sBS2U4M2051346; Sun, 28 Dec 2014 02:30:04 GMT (envelope-from dim@FreeBSD.org) Message-Id: <201412280230.sBS2U4M2051346@svn.freebsd.org> X-Authentication-Warning: svn.freebsd.org: dim set sender to dim@FreeBSD.org using -f From: Dimitry Andric Date: Sun, 28 Dec 2014 02:30:04 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r276324 - projects/clang350-import/contrib/llvm/lib/Target/PowerPC X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 28 Dec 2014 02:30:04 -0000 Author: dim Date: Sun Dec 28 02:30:03 2014 New Revision: 276324 URL: https://svnweb.freebsd.org/changeset/base/276324 Log: Pull in r224890 from upstream llvm trunk (by David Majnemer): PowerPC: CTR shouldn't fire if a TLS call is in the loop Determining the address of a TLS variable results in a function call in certain TLS models. This means that a simple ICmpInst might actually result in invalidating the CTR register. In such cases, do not attempt to rely on the CTR register for loop optimization purposes. This fixes PR22034. Differential Revision: http://reviews.llvm.org/D6786 This fixes a "Invalid PPC CTR loop" error when compiling parts of libc for PowerPC-32. Modified: projects/clang350-import/contrib/llvm/lib/Target/PowerPC/PPCCTRLoops.cpp Modified: projects/clang350-import/contrib/llvm/lib/Target/PowerPC/PPCCTRLoops.cpp ============================================================================== --- projects/clang350-import/contrib/llvm/lib/Target/PowerPC/PPCCTRLoops.cpp Sun Dec 28 00:53:52 2014 (r276323) +++ projects/clang350-import/contrib/llvm/lib/Target/PowerPC/PPCCTRLoops.cpp Sun Dec 28 02:30:03 2014 (r276324) @@ -194,6 +194,21 @@ static bool isLargeIntegerTy(bool Is32Bi return false; } +// Determining the address of a TLS variable results in a function call in +// certain TLS models. +static bool memAddrUsesCTR(const PPCTargetMachine *TM, + const llvm::Value *MemAddr) { + const auto *GV = dyn_cast(MemAddr); + if (!GV) + return false; + if (!GV->isThreadLocal()) + return false; + if (!TM) + return true; + TLSModel::Model Model = TM->getTLSModel(GV); + return Model == TLSModel::GeneralDynamic || Model == TLSModel::LocalDynamic; +} + bool PPCCTRLoops::mightUseCTR(const Triple &TT, BasicBlock *BB) { for (BasicBlock::iterator J = BB->begin(), JE = BB->end(); J != JE; ++J) { @@ -390,6 +405,9 @@ bool PPCCTRLoops::mightUseCTR(const Trip SI->getNumCases()+1 >= (unsigned) TLI->getMinimumJumpTableEntries()) return true; } + for (Value *Operand : J->operands()) + if (memAddrUsesCTR(TM, Operand)) + return true; } return false; From owner-svn-src-projects@FreeBSD.ORG Sun Dec 28 02:33:15 2014 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 3872A32D; Sun, 28 Dec 2014 02:33:15 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 23A6866AE4; Sun, 28 Dec 2014 02:33:15 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id sBS2XFvU055156; Sun, 28 Dec 2014 02:33:15 GMT (envelope-from dim@FreeBSD.org) Received: (from dim@localhost) by svn.freebsd.org (8.14.9/8.14.9/Submit) id sBS2XE28055150; Sun, 28 Dec 2014 02:33:14 GMT (envelope-from dim@FreeBSD.org) Message-Id: <201412280233.sBS2XE28055150@svn.freebsd.org> X-Authentication-Warning: svn.freebsd.org: dim set sender to dim@FreeBSD.org using -f From: Dimitry Andric Date: Sun, 28 Dec 2014 02:33:14 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r276325 - projects/clang350-import/contrib/llvm/patches X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 28 Dec 2014 02:33:15 -0000 Author: dim Date: Sun Dec 28 02:33:13 2014 New Revision: 276325 URL: https://svnweb.freebsd.org/changeset/base/276325 Log: Add llvm patches corresponding to r276300, r276301 and r276324. Added: projects/clang350-import/contrib/llvm/patches/patch-26-llvm-r213890-ppc-eh_frame.diff projects/clang350-import/contrib/llvm/patches/patch-27-llvm-r221703-ppc-tls_get_addr.diff projects/clang350-import/contrib/llvm/patches/patch-28-llvm-r224890-ppc-ctr-tls-loop.diff Added: projects/clang350-import/contrib/llvm/patches/patch-26-llvm-r213890-ppc-eh_frame.diff ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ projects/clang350-import/contrib/llvm/patches/patch-26-llvm-r213890-ppc-eh_frame.diff Sun Dec 28 02:33:13 2014 (r276325) @@ -0,0 +1,21 @@ +Pull in r213890 from upstream llvm trunk (by Jörg Sonnenberger): + + Use the same .eh_frame encoding for 32bit PPC as on i386. + +This fixes DT_TEXTREL errors when linking C++ objects using exceptions +on PowerPC. + +Introduced here: http://svnweb.freebsd.org/changeset/base/276300 + +Index: lib/MC/MCObjectFileInfo.cpp +=================================================================== +--- lib/MC/MCObjectFileInfo.cpp ++++ lib/MC/MCObjectFileInfo.cpp +@@ -287,6 +287,7 @@ void MCObjectFileInfo::InitELFMCObjectFileInfo(Tri + if (Ctx->getAsmInfo()->getExceptionHandlingType() == ExceptionHandling::ARM) + break; + // Fallthrough if not using EHABI ++ case Triple::ppc: + case Triple::x86: + PersonalityEncoding = (RelocM == Reloc::PIC_) + ? dwarf::DW_EH_PE_indirect | dwarf::DW_EH_PE_pcrel | dwarf::DW_EH_PE_sdata4 Added: projects/clang350-import/contrib/llvm/patches/patch-27-llvm-r221703-ppc-tls_get_addr.diff ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ projects/clang350-import/contrib/llvm/patches/patch-27-llvm-r221703-ppc-tls_get_addr.diff Sun Dec 28 02:33:13 2014 (r276325) @@ -0,0 +1,504 @@ +Pull in r221703 from upstream llvm trunk (by Bill Schmidt): + + [PowerPC] Replace foul hackery with real calls to __tls_get_addr + + My original support for the general dynamic and local dynamic TLS + models contained some fairly obtuse hacks to generate calls to + __tls_get_addr when lowering a TargetGlobalAddress. Rather than + generating real calls, special GET_TLS_ADDR nodes were used to wrap + the calls and only reveal them at assembly time. I attempted to + provide correct parameter and return values by chaining CopyToReg and + CopyFromReg nodes onto the GET_TLS_ADDR nodes, but this was also not + fully correct. Problems were seen with two back-to-back stores to TLS + variables, where the call sequences ended up overlapping with unhappy + results. Additionally, since these weren't real calls, the proper + register side effects of a call were not recorded, so clobbered values + were kept live across the calls. + + The proper thing to do is to lower these into calls in the first + place. This is relatively straightforward; see the changes to + PPCTargetLowering::LowerGlobalTLSAddress() in PPCISelLowering.cpp. + The changes here are standard call lowering, except that we need to + track the fact that these calls will require a relocation. This is + done by adding a machine operand flag of MO_TLSLD or MO_TLSGD to the + TargetGlobalAddress operand that appears earlier in the sequence. + + The calls to LowerCallTo() eventually find their way to + LowerCall_64SVR4() or LowerCall_32SVR4(), which call FinishCall(), + which calls PrepareCall(). In PrepareCall(), we detect the calls to + __tls_get_addr and immediately snag the TargetGlobalTLSAddress with + the annotated relocation information. This becomes an extra operand + on the call following the callee, which is expected for nodes of type + tlscall. We change the call opcode to CALL_TLS for this case. Back + in FinishCall(), we change it again to CALL_NOP_TLS for 64-bit only, + since we require a TOC-restore nop following the call for the 64-bit + ABIs. + + During selection, patterns in PPCInstrInfo.td and PPCInstr64Bit.td + convert the CALL_TLS nodes into BL_TLS nodes, and convert the + CALL_NOP_TLS nodes into BL8_NOP_TLS nodes. This replaces the code + removed from PPCAsmPrinter.cpp, as the BL_TLS or BL8_NOP_TLS + nodes can now be emitted normally using their patterns and the + associated printTLSCall print method. + + Finally, as a result of these changes, all references to get-tls-addr + in its various guises are no longer used, so they have been removed. + + There are existing TLS tests to verify the changes haven't messed + anything up). I've added one new test that verifies that the problem + with the original code has been fixed. + +This fixes a fatal "Bad machine code" error when compiling parts of +libgomp for 32-bit PowerPC. + +Introduced here: http://svnweb.freebsd.org/changeset/base/276301 + +Index: lib/Target/PowerPC/PPC.h +=================================================================== +--- lib/Target/PowerPC/PPC.h ++++ lib/Target/PowerPC/PPC.h +@@ -96,7 +96,12 @@ namespace llvm { + MO_TOC_LO = 7 << 4, + + // Symbol for VK_PPC_TLS fixup attached to an ADD instruction +- MO_TLS = 8 << 4 ++ MO_TLS = 8 << 4, ++ ++ // Symbols for VK_PPC_TLSGD and VK_PPC_TLSLD in __tls_get_addr ++ // call sequences. ++ MO_TLSLD = 9 << 4, ++ MO_TLSGD = 10 << 4 + }; + } // end namespace PPCII + +Index: lib/Target/PowerPC/PPCAsmPrinter.cpp +=================================================================== +--- lib/Target/PowerPC/PPCAsmPrinter.cpp ++++ lib/Target/PowerPC/PPCAsmPrinter.cpp +@@ -689,35 +689,6 @@ void PPCAsmPrinter::EmitInstruction(const MachineI + .addExpr(SymGotTlsGD)); + return; + } +- case PPC::GETtlsADDR: +- // Transform: %X3 = GETtlsADDR %X3, +- // Into: BL8_NOP_TLS __tls_get_addr(sym@tlsgd) +- case PPC::GETtlsADDR32: { +- // Transform: %R3 = GETtlsADDR32 %R3, +- // Into: BL_TLS __tls_get_addr(sym@tlsgd)@PLT +- +- StringRef Name = "__tls_get_addr"; +- MCSymbol *TlsGetAddr = OutContext.GetOrCreateSymbol(Name); +- MCSymbolRefExpr::VariantKind Kind = MCSymbolRefExpr::VK_None; +- +- if (!Subtarget.isPPC64() && !Subtarget.isDarwin() && +- TM.getRelocationModel() == Reloc::PIC_) +- Kind = MCSymbolRefExpr::VK_PLT; +- const MCSymbolRefExpr *TlsRef = +- MCSymbolRefExpr::Create(TlsGetAddr, Kind, OutContext); +- const MachineOperand &MO = MI->getOperand(2); +- const GlobalValue *GValue = MO.getGlobal(); +- MCSymbol *MOSymbol = getSymbol(GValue); +- const MCExpr *SymVar = +- MCSymbolRefExpr::Create(MOSymbol, MCSymbolRefExpr::VK_PPC_TLSGD, +- OutContext); +- EmitToStreamer(OutStreamer, +- MCInstBuilder(Subtarget.isPPC64() ? +- PPC::BL8_NOP_TLS : PPC::BL_TLS) +- .addExpr(TlsRef) +- .addExpr(SymVar)); +- return; +- } + case PPC::ADDIStlsldHA: { + // Transform: %Xd = ADDIStlsldHA %X2, + // Into: %Xd = ADDIS8 %X2, sym@got@tlsld@ha +@@ -755,36 +726,6 @@ void PPCAsmPrinter::EmitInstruction(const MachineI + .addExpr(SymGotTlsLD)); + return; + } +- case PPC::GETtlsldADDR: +- // Transform: %X3 = GETtlsldADDR %X3, +- // Into: BL8_NOP_TLS __tls_get_addr(sym@tlsld) +- case PPC::GETtlsldADDR32: { +- // Transform: %R3 = GETtlsldADDR32 %R3, +- // Into: BL_TLS __tls_get_addr(sym@tlsld)@PLT +- +- StringRef Name = "__tls_get_addr"; +- MCSymbol *TlsGetAddr = OutContext.GetOrCreateSymbol(Name); +- MCSymbolRefExpr::VariantKind Kind = MCSymbolRefExpr::VK_None; +- +- if (!Subtarget.isPPC64() && !Subtarget.isDarwin() && +- TM.getRelocationModel() == Reloc::PIC_) +- Kind = MCSymbolRefExpr::VK_PLT; +- +- const MCSymbolRefExpr *TlsRef = +- MCSymbolRefExpr::Create(TlsGetAddr, Kind, OutContext); +- const MachineOperand &MO = MI->getOperand(2); +- const GlobalValue *GValue = MO.getGlobal(); +- MCSymbol *MOSymbol = getSymbol(GValue); +- const MCExpr *SymVar = +- MCSymbolRefExpr::Create(MOSymbol, MCSymbolRefExpr::VK_PPC_TLSLD, +- OutContext); +- EmitToStreamer(OutStreamer, +- MCInstBuilder(Subtarget.isPPC64() ? +- PPC::BL8_NOP_TLS : PPC::BL_TLS) +- .addExpr(TlsRef) +- .addExpr(SymVar)); +- return; +- } + case PPC::ADDISdtprelHA: + // Transform: %Xd = ADDISdtprelHA %X3, + // Into: %Xd = ADDIS8 %X3, sym@dtprel@ha +Index: lib/Target/PowerPC/PPCISelLowering.cpp +=================================================================== +--- lib/Target/PowerPC/PPCISelLowering.cpp ++++ lib/Target/PowerPC/PPCISelLowering.cpp +@@ -781,6 +781,8 @@ const char *PPCTargetLowering::getTargetNodeName(u + case PPCISD::SHL: return "PPCISD::SHL"; + case PPCISD::CALL: return "PPCISD::CALL"; + case PPCISD::CALL_NOP: return "PPCISD::CALL_NOP"; ++ case PPCISD::CALL_TLS: return "PPCISD::CALL_TLS"; ++ case PPCISD::CALL_NOP_TLS: return "PPCISD::CALL_NOP_TLS"; + case PPCISD::MTCTR: return "PPCISD::MTCTR"; + case PPCISD::BCTRL: return "PPCISD::BCTRL"; + case PPCISD::RET_FLAG: return "PPCISD::RET_FLAG"; +@@ -810,10 +812,8 @@ const char *PPCTargetLowering::getTargetNodeName(u + case PPCISD::ADD_TLS: return "PPCISD::ADD_TLS"; + case PPCISD::ADDIS_TLSGD_HA: return "PPCISD::ADDIS_TLSGD_HA"; + case PPCISD::ADDI_TLSGD_L: return "PPCISD::ADDI_TLSGD_L"; +- case PPCISD::GET_TLS_ADDR: return "PPCISD::GET_TLS_ADDR"; + case PPCISD::ADDIS_TLSLD_HA: return "PPCISD::ADDIS_TLSLD_HA"; + case PPCISD::ADDI_TLSLD_L: return "PPCISD::ADDI_TLSLD_L"; +- case PPCISD::GET_TLSLD_ADDR: return "PPCISD::GET_TLSLD_ADDR"; + case PPCISD::ADDIS_DTPREL_HA: return "PPCISD::ADDIS_DTPREL_HA"; + case PPCISD::ADDI_DTPREL_L: return "PPCISD::ADDI_DTPREL_L"; + case PPCISD::VADD_SPLAT: return "PPCISD::VADD_SPLAT"; +@@ -1641,6 +1641,27 @@ SDValue PPCTargetLowering::LowerBlockAddress(SDVal + return LowerLabelRef(TgtBAHi, TgtBALo, isPIC, DAG); + } + ++// Generate a call to __tls_get_addr for the given GOT entry Op. ++std::pair ++PPCTargetLowering::lowerTLSCall(SDValue Op, SDLoc dl, ++ SelectionDAG &DAG) const { ++ ++ Type *IntPtrTy = getDataLayout()->getIntPtrType(*DAG.getContext()); ++ TargetLowering::ArgListTy Args; ++ TargetLowering::ArgListEntry Entry; ++ Entry.Node = Op; ++ Entry.Ty = IntPtrTy; ++ Args.push_back(Entry); ++ ++ TargetLowering::CallLoweringInfo CLI(DAG); ++ CLI.setDebugLoc(dl).setChain(DAG.getEntryNode()) ++ .setCallee(CallingConv::C, IntPtrTy, ++ DAG.getTargetExternalSymbol("__tls_get_addr", getPointerTy()), ++ std::move(Args), 0); ++ ++ return LowerCallTo(CLI); ++} ++ + SDValue PPCTargetLowering::LowerGlobalTLSAddress(SDValue Op, + SelectionDAG &DAG) const { + +@@ -1686,7 +1707,8 @@ SDValue PPCTargetLowering::LowerGlobalTLSAddress(S + } + + if (Model == TLSModel::GeneralDynamic) { +- SDValue TGA = DAG.getTargetGlobalAddress(GV, dl, PtrVT, 0, 0); ++ SDValue TGA = DAG.getTargetGlobalAddress(GV, dl, PtrVT, 0, ++ PPCII::MO_TLSGD); + SDValue GOTPtr; + if (is64bit) { + SDValue GOTReg = DAG.getRegister(PPC::X2, MVT::i64); +@@ -1700,26 +1722,13 @@ SDValue PPCTargetLowering::LowerGlobalTLSAddress(S + } + SDValue GOTEntry = DAG.getNode(PPCISD::ADDI_TLSGD_L, dl, PtrVT, + GOTPtr, TGA); +- +- // We need a chain node, and don't have one handy. The underlying +- // call has no side effects, so using the function entry node +- // suffices. +- SDValue Chain = DAG.getEntryNode(); +- Chain = DAG.getCopyToReg(Chain, dl, +- is64bit ? PPC::X3 : PPC::R3, GOTEntry); +- SDValue ParmReg = DAG.getRegister(is64bit ? PPC::X3 : PPC::R3, +- is64bit ? MVT::i64 : MVT::i32); +- SDValue TLSAddr = DAG.getNode(PPCISD::GET_TLS_ADDR, dl, +- PtrVT, ParmReg, TGA); +- // The return value from GET_TLS_ADDR really is in X3 already, but +- // some hacks are needed here to tie everything together. The extra +- // copies dissolve during subsequent transforms. +- Chain = DAG.getCopyToReg(Chain, dl, is64bit ? PPC::X3 : PPC::R3, TLSAddr); +- return DAG.getCopyFromReg(Chain, dl, is64bit ? PPC::X3 : PPC::R3, PtrVT); ++ std::pair CallResult = lowerTLSCall(GOTEntry, dl, DAG); ++ return CallResult.first; + } + + if (Model == TLSModel::LocalDynamic) { +- SDValue TGA = DAG.getTargetGlobalAddress(GV, dl, PtrVT, 0, 0); ++ SDValue TGA = DAG.getTargetGlobalAddress(GV, dl, PtrVT, 0, ++ PPCII::MO_TLSLD); + SDValue GOTPtr; + if (is64bit) { + SDValue GOTReg = DAG.getRegister(PPC::X2, MVT::i64); +@@ -1733,23 +1742,11 @@ SDValue PPCTargetLowering::LowerGlobalTLSAddress(S + } + SDValue GOTEntry = DAG.getNode(PPCISD::ADDI_TLSLD_L, dl, PtrVT, + GOTPtr, TGA); +- +- // We need a chain node, and don't have one handy. The underlying +- // call has no side effects, so using the function entry node +- // suffices. +- SDValue Chain = DAG.getEntryNode(); +- Chain = DAG.getCopyToReg(Chain, dl, +- is64bit ? PPC::X3 : PPC::R3, GOTEntry); +- SDValue ParmReg = DAG.getRegister(is64bit ? PPC::X3 : PPC::R3, +- is64bit ? MVT::i64 : MVT::i32); +- SDValue TLSAddr = DAG.getNode(PPCISD::GET_TLSLD_ADDR, dl, +- PtrVT, ParmReg, TGA); +- // The return value from GET_TLSLD_ADDR really is in X3 already, but +- // some hacks are needed here to tie everything together. The extra +- // copies dissolve during subsequent transforms. +- Chain = DAG.getCopyToReg(Chain, dl, is64bit ? PPC::X3 : PPC::R3, TLSAddr); ++ std::pair CallResult = lowerTLSCall(GOTEntry, dl, DAG); ++ SDValue TLSAddr = CallResult.first; ++ SDValue Chain = CallResult.second; + SDValue DtvOffsetHi = DAG.getNode(PPCISD::ADDIS_DTPREL_HA, dl, PtrVT, +- Chain, ParmReg, TGA); ++ Chain, TLSAddr, TGA); + return DAG.getNode(PPCISD::ADDI_DTPREL_L, dl, PtrVT, DtvOffsetHi, TGA); + } + +@@ -3712,6 +3709,23 @@ unsigned PrepareCall(SelectionDAG &DAG, SDValue &C + if (Callee.getNode()) { + Ops.push_back(Chain); + Ops.push_back(Callee); ++ ++ // If this is a call to __tls_get_addr, find the symbol whose address ++ // is to be taken and add it to the list. This will be used to ++ // generate __tls_get_addr(@tlsgd) or __tls_get_addr(@tlsld). ++ // We find the symbol by walking the chain to the CopyFromReg, walking ++ // back from the CopyFromReg to the ADDI_TLSGD_L or ADDI_TLSLD_L, and ++ // pulling the symbol from that node. ++ if (ExternalSymbolSDNode *S = dyn_cast(Callee)) ++ if (!strcmp(S->getSymbol(), "__tls_get_addr")) { ++ assert(!needIndirectCall && "Indirect call to __tls_get_addr???"); ++ SDNode *AddI = Chain.getNode()->getOperand(2).getNode(); ++ SDValue TGTAddr = AddI->getOperand(1); ++ assert(TGTAddr.getNode()->getOpcode() == ISD::TargetGlobalTLSAddress && ++ "Didn't find target global TLS address where we expected one"); ++ Ops.push_back(TGTAddr); ++ CallOpc = PPCISD::CALL_TLS; ++ } + } + // If this is a tail call add stack pointer delta. + if (isTailCall) +@@ -3863,7 +3877,9 @@ PPCTargetLowering::FinishCall(CallingConv::ID Call + DAG.getTarget().getRelocationModel() == Reloc::PIC_)) { + // Otherwise insert NOP for non-local calls. + CallOpc = PPCISD::CALL_NOP; +- } ++ } else if (CallOpc == PPCISD::CALL_TLS) ++ // For 64-bit SVR4, TLS calls are always non-local. ++ CallOpc = PPCISD::CALL_NOP_TLS; + } + + Chain = DAG.getNode(CallOpc, dl, NodeTys, Ops); +Index: lib/Target/PowerPC/PPCISelLowering.h +=================================================================== +--- lib/Target/PowerPC/PPCISelLowering.h ++++ lib/Target/PowerPC/PPCISelLowering.h +@@ -99,6 +99,10 @@ namespace llvm { + /// SVR4 calls. + CALL, CALL_NOP, + ++ /// CALL_TLS and CALL_NOP_TLS - Versions of CALL and CALL_NOP used ++ /// to access TLS variables. ++ CALL_TLS, CALL_NOP_TLS, ++ + /// CHAIN,FLAG = MTCTR(VAL, CHAIN[, INFLAG]) - Directly corresponds to a + /// MTCTR instruction. + MTCTR, +@@ -214,10 +218,6 @@ namespace llvm { + /// sym\@got\@tlsgd\@l. + ADDI_TLSGD_L, + +- /// G8RC = GET_TLS_ADDR %X3, Symbol - For the general-dynamic TLS +- /// model, produces a call to __tls_get_addr(sym\@tlsgd). +- GET_TLS_ADDR, +- + /// G8RC = ADDIS_TLSLD_HA %X2, Symbol - For the local-dynamic TLS + /// model, produces an ADDIS8 instruction that adds the GOT base + /// register to sym\@got\@tlsld\@ha. +@@ -228,10 +228,6 @@ namespace llvm { + /// sym\@got\@tlsld\@l. + ADDI_TLSLD_L, + +- /// G8RC = GET_TLSLD_ADDR %X3, Symbol - For the local-dynamic TLS +- /// model, produces a call to __tls_get_addr(sym\@tlsld). +- GET_TLSLD_ADDR, +- + /// G8RC = ADDIS_DTPREL_HA %X3, Symbol, Chain - For the + /// local-dynamic TLS model, produces an ADDIS8 instruction + /// that adds X3 to sym\@dtprel\@ha. The Chain operand is needed +@@ -552,6 +548,8 @@ namespace llvm { + SDValue LowerFRAMEADDR(SDValue Op, SelectionDAG &DAG) const; + SDValue LowerConstantPool(SDValue Op, SelectionDAG &DAG) const; + SDValue LowerBlockAddress(SDValue Op, SelectionDAG &DAG) const; ++ std::pair lowerTLSCall(SDValue Op, SDLoc dl, ++ SelectionDAG &DAG) const; + SDValue LowerGlobalTLSAddress(SDValue Op, SelectionDAG &DAG) const; + SDValue LowerGlobalAddress(SDValue Op, SelectionDAG &DAG) const; + SDValue LowerJumpTable(SDValue Op, SelectionDAG &DAG) const; +Index: lib/Target/PowerPC/PPCInstr64Bit.td +=================================================================== +--- lib/Target/PowerPC/PPCInstr64Bit.td ++++ lib/Target/PowerPC/PPCInstr64Bit.td +@@ -188,6 +188,9 @@ def : Pat<(PPCcall (i64 texternalsym:$dst)), + def : Pat<(PPCcall_nop (i64 texternalsym:$dst)), + (BL8_NOP texternalsym:$dst)>; + ++def : Pat<(PPCcall_nop_tls texternalsym:$func, tglobaltlsaddr:$sym), ++ (BL8_NOP_TLS texternalsym:$func, tglobaltlsaddr:$sym)>; ++ + // Atomic operations + let usesCustomInserter = 1 in { + let Defs = [CR0] in { +@@ -872,11 +875,6 @@ def ADDItlsgdL : Pseudo<(outs g8rc:$rD), (ins g8rc + [(set i64:$rD, + (PPCaddiTlsgdL i64:$reg, tglobaltlsaddr:$disp))]>, + isPPC64; +-def GETtlsADDR : Pseudo<(outs g8rc:$rD), (ins g8rc:$reg, tlsgd:$sym), +- "#GETtlsADDR", +- [(set i64:$rD, +- (PPCgetTlsAddr i64:$reg, tglobaltlsaddr:$sym))]>, +- isPPC64; + def ADDIStlsldHA: Pseudo<(outs g8rc:$rD), (ins g8rc_nox0:$reg, s16imm64:$disp), + "#ADDIStlsldHA", + [(set i64:$rD, +@@ -887,11 +885,6 @@ def ADDItlsldL : Pseudo<(outs g8rc:$rD), (ins g8rc + [(set i64:$rD, + (PPCaddiTlsldL i64:$reg, tglobaltlsaddr:$disp))]>, + isPPC64; +-def GETtlsldADDR : Pseudo<(outs g8rc:$rD), (ins g8rc:$reg, tlsgd:$sym), +- "#GETtlsldADDR", +- [(set i64:$rD, +- (PPCgetTlsldAddr i64:$reg, tglobaltlsaddr:$sym))]>, +- isPPC64; + def ADDISdtprelHA: Pseudo<(outs g8rc:$rD), (ins g8rc_nox0:$reg, s16imm64:$disp), + "#ADDISdtprelHA", + [(set i64:$rD, +Index: lib/Target/PowerPC/PPCInstrInfo.td +=================================================================== +--- lib/Target/PowerPC/PPCInstrInfo.td ++++ lib/Target/PowerPC/PPCInstrInfo.td +@@ -110,10 +110,8 @@ def PPCldGotTprelL : SDNode<"PPCISD::LD_GOT_TPREL_ + def PPCaddTls : SDNode<"PPCISD::ADD_TLS", SDTIntBinOp, []>; + def PPCaddisTlsgdHA : SDNode<"PPCISD::ADDIS_TLSGD_HA", SDTIntBinOp>; + def PPCaddiTlsgdL : SDNode<"PPCISD::ADDI_TLSGD_L", SDTIntBinOp>; +-def PPCgetTlsAddr : SDNode<"PPCISD::GET_TLS_ADDR", SDTIntBinOp>; + def PPCaddisTlsldHA : SDNode<"PPCISD::ADDIS_TLSLD_HA", SDTIntBinOp>; + def PPCaddiTlsldL : SDNode<"PPCISD::ADDI_TLSLD_L", SDTIntBinOp>; +-def PPCgetTlsldAddr : SDNode<"PPCISD::GET_TLSLD_ADDR", SDTIntBinOp>; + def PPCaddisDtprelHA : SDNode<"PPCISD::ADDIS_DTPREL_HA", SDTIntBinOp, + [SDNPHasChain]>; + def PPCaddiDtprelL : SDNode<"PPCISD::ADDI_DTPREL_L", SDTIntBinOp>; +@@ -136,9 +134,15 @@ def SDT_PPCCall : SDTypeProfile<0, -1, [SDTCisIn + def PPCcall : SDNode<"PPCISD::CALL", SDT_PPCCall, + [SDNPHasChain, SDNPOptInGlue, SDNPOutGlue, + SDNPVariadic]>; ++def PPCcall_tls : SDNode<"PPCISD::CALL_TLS", SDT_PPCCall, ++ [SDNPHasChain, SDNPOptInGlue, SDNPOutGlue, ++ SDNPVariadic]>; + def PPCcall_nop : SDNode<"PPCISD::CALL_NOP", SDT_PPCCall, + [SDNPHasChain, SDNPOptInGlue, SDNPOutGlue, + SDNPVariadic]>; ++def PPCcall_nop_tls : SDNode<"PPCISD::CALL_NOP_TLS", SDT_PPCCall, ++ [SDNPHasChain, SDNPOptInGlue, SDNPOutGlue, ++ SDNPVariadic]>; + def PPCload : SDNode<"PPCISD::LOAD", SDTypeProfile<1, 1, []>, + [SDNPHasChain, SDNPOptInGlue, SDNPOutGlue]>; + def PPCload_toc : SDNode<"PPCISD::LOAD_TOC", SDTypeProfile<0, 1, []>, +@@ -2369,6 +2373,8 @@ def : Pat<(PPCcall (i32 tglobaladdr:$dst)), + def : Pat<(PPCcall (i32 texternalsym:$dst)), + (BL texternalsym:$dst)>; + ++def : Pat<(PPCcall_tls texternalsym:$func, tglobaltlsaddr:$sym), ++ (BL_TLS texternalsym:$func, tglobaltlsaddr:$sym)>; + + def : Pat<(PPCtc_return (i32 tglobaladdr:$dst), imm:$imm), + (TCRETURNdi tglobaladdr:$dst, imm:$imm)>; +@@ -2424,18 +2430,10 @@ def ADDItlsgdL32 : Pseudo<(outs gprc:$rD), (ins gp + "#ADDItlsgdL32", + [(set i32:$rD, + (PPCaddiTlsgdL i32:$reg, tglobaltlsaddr:$disp))]>; +-def GETtlsADDR32 : Pseudo<(outs gprc:$rD), (ins gprc:$reg, tlsgd32:$sym), +- "#GETtlsADDR32", +- [(set i32:$rD, +- (PPCgetTlsAddr i32:$reg, tglobaltlsaddr:$sym))]>; + def ADDItlsldL32 : Pseudo<(outs gprc:$rD), (ins gprc_nor0:$reg, s16imm:$disp), + "#ADDItlsldL32", + [(set i32:$rD, + (PPCaddiTlsldL i32:$reg, tglobaltlsaddr:$disp))]>; +-def GETtlsldADDR32 : Pseudo<(outs gprc:$rD), (ins gprc:$reg, tlsgd32:$sym), +- "#GETtlsldADDR32", +- [(set i32:$rD, +- (PPCgetTlsldAddr i32:$reg, tglobaltlsaddr:$sym))]>; + def ADDIdtprelL32 : Pseudo<(outs gprc:$rD), (ins gprc_nor0:$reg, s16imm:$disp), + "#ADDIdtprelL32", + [(set i32:$rD, +Index: lib/Target/PowerPC/PPCMCInstLower.cpp +=================================================================== +--- lib/Target/PowerPC/PPCMCInstLower.cpp ++++ lib/Target/PowerPC/PPCMCInstLower.cpp +@@ -137,6 +137,12 @@ static MCOperand GetSymbolRef(const MachineOperand + case PPCII::MO_TLS: + RefKind = MCSymbolRefExpr::VK_PPC_TLS; + break; ++ case PPCII::MO_TLSGD: ++ RefKind = MCSymbolRefExpr::VK_PPC_TLSGD; ++ break; ++ case PPCII::MO_TLSLD: ++ RefKind = MCSymbolRefExpr::VK_PPC_TLSLD; ++ break; + } + + if (MO.getTargetFlags() == PPCII::MO_PLT_OR_STUB && !isDarwin) +Index: test/CodeGen/PowerPC/tls-store2.ll +=================================================================== +--- test/CodeGen/PowerPC/tls-store2.ll ++++ test/CodeGen/PowerPC/tls-store2.ll +@@ -0,0 +1,33 @@ ++; RUN: llc -march=ppc64 -mcpu=pwr7 -O2 -relocation-model=pic < %s | FileCheck %s ++ ++target datalayout = "e-m:e-i64:64-n32:64" ++target triple = "powerpc64le-unknown-linux-gnu" ++ ++; Test back-to-back stores of TLS variables to ensure call sequences no ++; longer overlap. ++ ++@__once_callable = external thread_local global i8** ++@__once_call = external thread_local global void ()* ++ ++define i64 @call_once(i64 %flag, i8* %ptr) { ++entry: ++ %var = alloca i8*, align 8 ++ store i8* %ptr, i8** %var, align 8 ++ store i8** %var, i8*** @__once_callable, align 8 ++ store void ()* @__once_call_impl, void ()** @__once_call, align 8 ++ ret i64 %flag ++} ++ ++; CHECK-LABEL: call_once: ++; CHECK: addis 3, 2, __once_callable@got@tlsgd@ha ++; CHECK: addi 3, 3, __once_callable@got@tlsgd@l ++; CHECK: bl __tls_get_addr(__once_callable@tlsgd) ++; CHECK-NEXT: nop ++; CHECK: std {{[0-9]+}}, 0(3) ++; CHECK: addis 3, 2, __once_call@got@tlsgd@ha ++; CHECK: addi 3, 3, __once_call@got@tlsgd@l ++; CHECK: bl __tls_get_addr(__once_call@tlsgd) ++; CHECK-NEXT: nop ++; CHECK: std {{[0-9]+}}, 0(3) ++ ++declare void @__once_call_impl() Added: projects/clang350-import/contrib/llvm/patches/patch-28-llvm-r224890-ppc-ctr-tls-loop.diff ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ projects/clang350-import/contrib/llvm/patches/patch-28-llvm-r224890-ppc-ctr-tls-loop.diff Sun Dec 28 02:33:13 2014 (r276325) @@ -0,0 +1,95 @@ +Pull in r224890 from upstream llvm trunk (by David Majnemer): + + PowerPC: CTR shouldn't fire if a TLS call is in the loop + + Determining the address of a TLS variable results in a function call in + certain TLS models. This means that a simple ICmpInst might actually + result in invalidating the CTR register. + + In such cases, do not attempt to rely on the CTR register for loop + optimization purposes. + + This fixes PR22034. + + Differential Revision: http://reviews.llvm.org/D6786 + +This fixes a "Invalid PPC CTR loop" error when compiling parts of libc +for PowerPC-32. + +Introduced here: http://svnweb.freebsd.org/changeset/base/276324 + +Index: lib/Target/PowerPC/PPCCTRLoops.cpp +=================================================================== +--- lib/Target/PowerPC/PPCCTRLoops.cpp ++++ lib/Target/PowerPC/PPCCTRLoops.cpp +@@ -194,6 +194,21 @@ static bool isLargeIntegerTy(bool Is32Bit, Type *T + return false; + } + ++// Determining the address of a TLS variable results in a function call in ++// certain TLS models. ++static bool memAddrUsesCTR(const PPCTargetMachine *TM, ++ const llvm::Value *MemAddr) { ++ const auto *GV = dyn_cast(MemAddr); ++ if (!GV) ++ return false; ++ if (!GV->isThreadLocal()) ++ return false; ++ if (!TM) ++ return true; ++ TLSModel::Model Model = TM->getTLSModel(GV); ++ return Model == TLSModel::GeneralDynamic || Model == TLSModel::LocalDynamic; ++} ++ + bool PPCCTRLoops::mightUseCTR(const Triple &TT, BasicBlock *BB) { + for (BasicBlock::iterator J = BB->begin(), JE = BB->end(); + J != JE; ++J) { +@@ -390,6 +405,9 @@ bool PPCCTRLoops::mightUseCTR(const Triple &TT, Ba + SI->getNumCases()+1 >= (unsigned) TLI->getMinimumJumpTableEntries()) + return true; + } ++ for (Value *Operand : J->operands()) ++ if (memAddrUsesCTR(TM, Operand)) ++ return true; + } + + return false; +Index: test/CodeGen/PowerPC/ctrloops.ll +=================================================================== +--- test/CodeGen/PowerPC/ctrloops.ll ++++ test/CodeGen/PowerPC/ctrloops.ll +@@ -1,6 +1,6 @@ + target datalayout = "E-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v128:128:128-n32:64" + target triple = "powerpc64-unknown-freebsd10.0" +-; RUN: llc < %s -march=ppc64 | FileCheck %s ++; RUN: llc < %s -march=ppc64 -relocation-model=pic | FileCheck %s + + @a = common global i32 0, align 4 + +@@ -73,3 +73,26 @@ for.end: + ; CHECK-NOT: cmplwi + ; CHECK: bdnz + } ++ ++@tls_var = external thread_local global i8 ++ ++define i32 @test4() { ++entry: ++ br label %for.body ++ ++for.body: ; preds = %for.body, %entry ++ %phi = phi i32 [ %dec, %for.body ], [ undef, %entry ] ++ %load = ptrtoint i8* @tls_var to i32 ++ %dec = add i32 %phi, -1 ++ %cmp = icmp sgt i32 %phi, 1 ++ br i1 %cmp, label %for.body, label %return ++ ++return: ; preds = %for.body ++ ret i32 %load ++; CHECK-LABEL: @test4 ++; CHECK-NOT: mtctr ++; CHECK: addi {{[0-9]+}} ++; CHECK: cmpwi ++; CHECK-NOT: bdnz ++; CHECK: bgt ++} From owner-svn-src-projects@FreeBSD.ORG Sun Dec 28 20:02:12 2014 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id EB070C92; Sun, 28 Dec 2014 20:02:11 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id D418A64BB5; Sun, 28 Dec 2014 20:02:11 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id sBSK2Bj7048150; Sun, 28 Dec 2014 20:02:11 GMT (envelope-from dim@FreeBSD.org) Received: (from dim@localhost) by svn.freebsd.org (8.14.9/8.14.9/Submit) id sBSK2627048119; Sun, 28 Dec 2014 20:02:06 GMT (envelope-from dim@FreeBSD.org) Message-Id: <201412282002.sBSK2627048119@svn.freebsd.org> X-Authentication-Warning: svn.freebsd.org: dim set sender to dim@FreeBSD.org using -f From: Dimitry Andric Date: Sun, 28 Dec 2014 20:02:06 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r276343 - in projects/clang350-import: cddl/contrib/opensolaris/lib/libdtrace/common contrib/bsnmp/lib lib/libc/tests/hash lib/ncurses libexec/rtld-elf/powerpc share/man/man7 share/mk s... X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 28 Dec 2014 20:02:12 -0000 Author: dim Date: Sun Dec 28 20:02:06 2014 New Revision: 276343 URL: https://svnweb.freebsd.org/changeset/base/276343 Log: Merge ^/head r274961 through r276342. Added: projects/clang350-import/sys/arm/arm/cpu_asm-v6.S - copied unchanged from r276342, head/sys/arm/arm/cpu_asm-v6.S projects/clang350-import/sys/arm/arm/cpuinfo.c - copied unchanged from r276342, head/sys/arm/arm/cpuinfo.c projects/clang350-import/sys/arm/include/cpu-v6.h - copied unchanged from r276342, head/sys/arm/include/cpu-v6.h projects/clang350-import/sys/arm/include/cpuinfo.h - copied unchanged from r276342, head/sys/arm/include/cpuinfo.h Deleted: projects/clang350-import/sys/contrib/dev/iwn/iwlwifi-6000g2a-17.168.5.2.fw.uu projects/clang350-import/sys/contrib/dev/iwn/iwlwifi-6000g2b-17.168.5.2.fw.uu Modified: projects/clang350-import/cddl/contrib/opensolaris/lib/libdtrace/common/dt_link.c projects/clang350-import/contrib/bsnmp/lib/snmpcrypto.c projects/clang350-import/lib/libc/tests/hash/Makefile projects/clang350-import/lib/ncurses/Makefile projects/clang350-import/libexec/rtld-elf/powerpc/reloc.c projects/clang350-import/share/man/man7/build.7 projects/clang350-import/share/mk/bsd.progs.mk projects/clang350-import/share/mk/src.libnames.mk projects/clang350-import/sys/amd64/ia32/ia32_sigtramp.S projects/clang350-import/sys/amd64/ia32/ia32_syscall.c projects/clang350-import/sys/amd64/vmm/io/vatpic.c projects/clang350-import/sys/arm/arm/machdep.c projects/clang350-import/sys/arm/broadcom/bcm2835/bcm2835_bsc.c projects/clang350-import/sys/arm/broadcom/bcm2835/bcm2835_bscvar.h projects/clang350-import/sys/arm/broadcom/bcm2835/bcm2835_mbox.c projects/clang350-import/sys/arm/include/cpufunc.h projects/clang350-import/sys/arm/ti/ti_gpio.c projects/clang350-import/sys/arm/ti/ti_i2c.c projects/clang350-import/sys/boot/common/loader.8 projects/clang350-import/sys/conf/files projects/clang350-import/sys/conf/files.arm projects/clang350-import/sys/dev/bce/if_bcefw.h projects/clang350-import/sys/dev/usb/controller/xhci.h projects/clang350-import/sys/dev/usb/controller/xhci_pci.c projects/clang350-import/sys/kern/kern_sysctl.c projects/clang350-import/sys/modules/dtrace/dtraceall/dtraceall.c Directory Properties: projects/clang350-import/ (props changed) projects/clang350-import/cddl/ (props changed) projects/clang350-import/cddl/contrib/opensolaris/ (props changed) projects/clang350-import/lib/libc/ (props changed) projects/clang350-import/share/ (props changed) projects/clang350-import/sys/ (props changed) projects/clang350-import/sys/amd64/vmm/ (props changed) projects/clang350-import/sys/boot/ (props changed) projects/clang350-import/sys/conf/ (props changed) Modified: projects/clang350-import/cddl/contrib/opensolaris/lib/libdtrace/common/dt_link.c ============================================================================== --- projects/clang350-import/cddl/contrib/opensolaris/lib/libdtrace/common/dt_link.c Sun Dec 28 19:55:44 2014 (r276342) +++ projects/clang350-import/cddl/contrib/opensolaris/lib/libdtrace/common/dt_link.c Sun Dec 28 20:02:06 2014 (r276343) @@ -685,8 +685,8 @@ dump_elf64(dtrace_hdl_t *dtp, const dof_ elf_file.ehdr.e_machine = EM_ARM; #elif defined(__mips__) elf_file.ehdr.e_machine = EM_MIPS; -#elif defined(__powerpc__) - elf_file.ehdr.e_machine = EM_PPC; +#elif defined(__powerpc64__) + elf_file.ehdr.e_machine = EM_PPC64; #elif defined(__sparc) elf_file.ehdr.e_machine = EM_SPARCV9; #elif defined(__i386) || defined(__amd64) @@ -784,21 +784,32 @@ dump_elf64(dtrace_hdl_t *dtp, const dof_ static int dt_symtab_lookup(Elf_Data *data_sym, int nsym, uintptr_t addr, uint_t shn, - GElf_Sym *sym) + GElf_Sym *sym, int uses_funcdesc, Elf *elf) { int i, ret = -1; + Elf64_Addr symval; + Elf_Scn *opd_scn; + Elf_Data *opd_desc; GElf_Sym s; for (i = 0; i < nsym && gelf_getsym(data_sym, i, sym) != NULL; i++) { - if (GELF_ST_TYPE(sym->st_info) == STT_FUNC && - shn == sym->st_shndx && - sym->st_value <= addr && - addr < sym->st_value + sym->st_size) { - if (GELF_ST_BIND(sym->st_info) == STB_GLOBAL) - return (0); + if (GELF_ST_TYPE(sym->st_info) == STT_FUNC) { + symval = sym->st_value; + if (uses_funcdesc) { + opd_scn = elf_getscn(elf, sym->st_shndx); + opd_desc = elf_rawdata(opd_scn, NULL); + symval = + *(uint64_t*)((char *)opd_desc->d_buf + symval); + } + if ((uses_funcdesc || shn == sym->st_shndx) && + symval <= addr && + addr < symval + sym->st_size) { + if (GELF_ST_BIND(sym->st_info) == STB_GLOBAL) + return (0); - ret = 0; - s = *sym; + ret = 0; + s = *sym; + } } } @@ -1375,7 +1386,8 @@ process_obj(dtrace_hdl_t *dtp, const cha continue; if (dt_symtab_lookup(data_sym, isym, rela.r_offset, - shdr_rel.sh_info, &fsym) != 0) { + shdr_rel.sh_info, &fsym, + (emachine1 == EM_PPC64), elf) != 0) { dt_strtab_destroy(strtab); goto err; } @@ -1536,7 +1548,8 @@ process_obj(dtrace_hdl_t *dtp, const cha p = strhyphenate(p + 3); /* strlen("___") */ if (dt_symtab_lookup(data_sym, isym, rela.r_offset, - shdr_rel.sh_info, &fsym) != 0) + shdr_rel.sh_info, &fsym, + (emachine1 == EM_PPC64), elf) != 0) goto err; if (fsym.st_name > data_str->d_size) Modified: projects/clang350-import/contrib/bsnmp/lib/snmpcrypto.c ============================================================================== --- projects/clang350-import/contrib/bsnmp/lib/snmpcrypto.c Sun Dec 28 19:55:44 2014 (r276342) +++ projects/clang350-import/contrib/bsnmp/lib/snmpcrypto.c Sun Dec 28 20:02:06 2014 (r276343) @@ -366,7 +366,7 @@ snmp_pdu_decrypt(const struct snmp_pdu * return (SNMP_CODE_OK); } -int +enum snmp_code snmp_passwd_to_keys(struct snmp_user *user, char *passwd __unused) { if (user->auth_proto == SNMP_AUTH_NOAUTH && @@ -378,7 +378,7 @@ snmp_passwd_to_keys(struct snmp_user *us return (SNMP_CODE_FAILED); } -int +enum snmp_code snmp_get_local_keys(struct snmp_user *user, uint8_t *eid __unused, uint32_t elen __unused) { Modified: projects/clang350-import/lib/libc/tests/hash/Makefile ============================================================================== --- projects/clang350-import/lib/libc/tests/hash/Makefile Sun Dec 28 19:55:44 2014 (r276342) +++ projects/clang350-import/lib/libc/tests/hash/Makefile Sun Dec 28 20:02:06 2014 (r276343) @@ -1,8 +1,14 @@ # $FreeBSD$ +.include + TESTSDIR= ${TESTSBASE}/lib/libc/hash -NETBSD_ATF_TESTS_C= sha2_test +NETBSD_ATF_TESTS_C= + +.if ${MK_OPENSSL} != "no" +NETBSD_ATF_TESTS_C+= sha2_test +.endif NETBSD_ATF_TESTS_SH= hash_test Modified: projects/clang350-import/lib/ncurses/Makefile ============================================================================== --- projects/clang350-import/lib/ncurses/Makefile Sun Dec 28 19:55:44 2014 (r276342) +++ projects/clang350-import/lib/ncurses/Makefile Sun Dec 28 20:02:06 2014 (r276343) @@ -3,4 +3,11 @@ SUBDIR= ncurses form menu panel \ ncursesw formw menuw panelw +SUBDIR_PARALLEL= + +.for subdir in ${SUBDIR:Nncurses*:N*w} +SUBDIR_DEPEND_${subdir}= ncurses +SUBDIR_DEPEND_${subdir}w= ncursesw +.endfor + .include Modified: projects/clang350-import/libexec/rtld-elf/powerpc/reloc.c ============================================================================== --- projects/clang350-import/libexec/rtld-elf/powerpc/reloc.c Sun Dec 28 19:55:44 2014 (r276342) +++ projects/clang350-import/libexec/rtld-elf/powerpc/reloc.c Sun Dec 28 20:02:06 2014 (r276343) @@ -483,7 +483,7 @@ reloc_jmpslot(Elf_Addr *wherep, Elf_Addr */ offset = target - (Elf_Addr)wherep; - if (abs(offset) < 32*1024*1024) { /* inside 32MB? */ + if (abs((int)offset) < 32*1024*1024) { /* inside 32MB? */ /* b value # branch directly */ *wherep = 0x48000000 | (offset & 0x03fffffc); __syncicache(wherep, 4); Modified: projects/clang350-import/share/man/man7/build.7 ============================================================================== --- projects/clang350-import/share/man/man7/build.7 Sun Dec 28 19:55:44 2014 (r276342) +++ projects/clang350-import/share/man/man7/build.7 Sun Dec 28 20:02:06 2014 (r276343) @@ -24,7 +24,7 @@ .\" .\" $FreeBSD$ .\" -.Dd June 25, 2014 +.Dd December 18, 2014 .Dt BUILD 7 .Os .Sh NAME Modified: projects/clang350-import/share/mk/bsd.progs.mk ============================================================================== --- projects/clang350-import/share/mk/bsd.progs.mk Sun Dec 28 19:55:44 2014 (r276342) +++ projects/clang350-import/share/mk/bsd.progs.mk Sun Dec 28 20:02:06 2014 (r276343) @@ -43,7 +43,7 @@ PROG ?= $t .if defined(PROG) # just one of many PROG_OVERRIDE_VARS += BINDIR DPSRCS MAN SRCS -PROG_VARS += CFLAGS CPPFLAGS CXXFLAGS DPADD DPLIBS LDADD LDFLAGS ${PROG_OVERRIDE_VARS} +PROG_VARS += CFLAGS CPPFLAGS CXXFLAGS DPADD DPLIBS LDADD LIBADD LDFLAGS ${PROG_OVERRIDE_VARS} .for v in ${PROG_VARS:O:u} .if empty(${PROG_OVERRIDE_VARS:M$v}) .if defined(${v}.${PROG}) Modified: projects/clang350-import/share/mk/src.libnames.mk ============================================================================== --- projects/clang350-import/share/mk/src.libnames.mk Sun Dec 28 19:55:44 2014 (r276342) +++ projects/clang350-import/share/mk/src.libnames.mk Sun Dec 28 20:02:06 2014 (r276343) @@ -110,6 +110,7 @@ _LIBRARIES= \ memstat \ mp \ nandfs \ + ncurses \ ncursesw \ netgraph \ ngatm \ Modified: projects/clang350-import/sys/amd64/ia32/ia32_sigtramp.S ============================================================================== --- projects/clang350-import/sys/amd64/ia32/ia32_sigtramp.S Sun Dec 28 19:55:44 2014 (r276342) +++ projects/clang350-import/sys/amd64/ia32/ia32_sigtramp.S Sun Dec 28 20:02:06 2014 (r276343) @@ -86,34 +86,14 @@ ia32_osigcode: * executed, we would have a window where the ring 0 code is * executed with the wrong gsbase. * - * Instead, reflect the lcall $7,$0 back to ring 3 trampoline - * which sets up the frame for int $0x80. + * Instead, set LDT descriptor 0 as code segment, which reflects + * the lcall $7,$0 back to ring 3 trampoline. The trampoline sets up + * the frame for int $0x80. */ ALIGN_TEXT lcall_tramp: - .code64 - /* - * There, we are in 64bit mode and need to return to 32bit. - * First, convert call frame from 64 to 32 bit format. - */ - pushq %rax - movl 16(%rsp),%eax - movl %eax,20(%rsp) /* ret %cs */ - movl 8(%rsp),%eax - movl %eax,16(%rsp) /* ret %rip -> %eip */ - popq %rax - addq $8,%rsp - /* Now return to 32bit */ - pushq $0x33 /* _ucode32sel UPL */ - callq 1f -1: - addq $2f-1b,(%rsp) - lretq -2: - /* Back in 32bit mode */ - .code32 cmpl $SYS_vfork,%eax - je 4f + je 1f pushl %ebp movl %esp,%ebp pushl 0x24(%ebp) /* arg 6 */ @@ -122,21 +102,20 @@ lcall_tramp: pushl 0x18(%ebp) pushl 0x14(%ebp) pushl 0x10(%ebp) /* arg 1 */ - pushl 0xc(%ebp) /* gap */ + subl $4,%esp /* gap */ int $0x80 leavel -3: lretl -4: +1: /* * vfork handling is special and relies on the libc stub saving - * the return ip in %ecx. If vfork failed, then there is no - * child which can corrupt the frame created by call gate. + * the return ip in %ecx. Also, we assume that the call was done + * with ucode32 selector in %cs. */ int $0x80 - jb 3b - addl $8,%esp - jmpl *%ecx + movl $0x33,4(%esp) /* GUCODE32_SEL | SEL_UPL */ + movl %ecx,(%esp) + lretl #endif ALIGN_TEXT Modified: projects/clang350-import/sys/amd64/ia32/ia32_syscall.c ============================================================================== --- projects/clang350-import/sys/amd64/ia32/ia32_syscall.c Sun Dec 28 19:55:44 2014 (r276342) +++ projects/clang350-import/sys/amd64/ia32/ia32_syscall.c Sun Dec 28 20:02:06 2014 (r276343) @@ -223,39 +223,28 @@ int setup_lcall_gate(void) { struct i386_ldt_args uap; - struct user_segment_descriptor descs[2]; - struct gate_descriptor *ssd; + struct user_segment_descriptor desc; uint32_t lcall_addr; int error; bzero(&uap, sizeof(uap)); uap.start = 0; - uap.num = 2; - - /* - * This is the easiest way to cut the space for system - * descriptor in ldt. Manually adjust the descriptor type to - * the call gate later. - */ - bzero(&descs[0], sizeof(descs)); - descs[0].sd_type = SDT_SYSNULL; - descs[1].sd_type = SDT_SYSNULL; - error = amd64_set_ldt(curthread, &uap, descs); + uap.num = 1; + lcall_addr = curproc->p_sysent->sv_psstrings - sz_lcall_tramp; + bzero(&desc, sizeof(desc)); + desc.sd_type = SDT_MEMERA; + desc.sd_dpl = SEL_UPL; + desc.sd_p = 1; + desc.sd_def32 = 1; + desc.sd_gran = 1; + desc.sd_lolimit = 0xffff; + desc.sd_hilimit = 0xf; + desc.sd_lobase = lcall_addr; + desc.sd_hibase = lcall_addr >> 24; + error = amd64_set_ldt(curthread, &uap, &desc); if (error != 0) return (error); - lcall_addr = curproc->p_sysent->sv_psstrings - sz_lcall_tramp; - mtx_lock(&dt_lock); - ssd = (struct gate_descriptor *)(curproc->p_md.md_ldt->ldt_base); - bzero(ssd, sizeof(*ssd)); - ssd->gd_looffset = lcall_addr; - ssd->gd_hioffset = lcall_addr >> 16; - ssd->gd_selector = _ucodesel; - ssd->gd_type = SDT_SYSCGT; - ssd->gd_dpl = SEL_UPL; - ssd->gd_p = 1; - mtx_unlock(&dt_lock); - return (0); } #endif Modified: projects/clang350-import/sys/amd64/vmm/io/vatpic.c ============================================================================== --- projects/clang350-import/sys/amd64/vmm/io/vatpic.c Sun Dec 28 19:55:44 2014 (r276342) +++ projects/clang350-import/sys/amd64/vmm/io/vatpic.c Sun Dec 28 20:02:06 2014 (r276343) @@ -73,6 +73,7 @@ struct atpic { uint8_t request; /* Interrupt Request Register (IIR) */ uint8_t service; /* Interrupt Service (ISR) */ uint8_t mask; /* Interrupt Mask Register (IMR) */ + uint8_t smm; /* special mask mode */ int acnt[8]; /* sum of pin asserts and deasserts */ int lowprio; /* lowest priority irq */ @@ -131,8 +132,16 @@ vatpic_get_highest_isrpin(struct atpic * ATPIC_PIN_FOREACH(pin, atpic, i) { bit = (1 << pin); - if (atpic->service & bit) - return (pin); + if (atpic->service & bit) { + /* + * An IS bit that is masked by an IMR bit will not be + * cleared by a non-specific EOI in Special Mask Mode. + */ + if (atpic->smm && (atpic->mask & bit) != 0) + continue; + else + return (pin); + } } return (-1); @@ -153,6 +162,15 @@ vatpic_get_highest_irrpin(struct atpic * if (atpic->sfn) serviced &= ~(1 << 2); + /* + * In 'Special Mask Mode', when a mask bit is set in OCW1 it inhibits + * further interrupts at that level and enables interrupts from all + * other levels that are not masked. In other words the ISR has no + * bearing on the levels that can generate interrupts. + */ + if (atpic->smm) + serviced = 0; + ATPIC_PIN_FOREACH(pin, atpic, tmp) { bit = 1 << pin; @@ -261,6 +279,7 @@ vatpic_icw1(struct vatpic *vatpic, struc atpic->lowprio = 7; atpic->rd_cmd_reg = 0; atpic->poll = 0; + atpic->smm = 0; if ((val & ICW1_SNGL) != 0) { VATPIC_CTR0(vatpic, "vatpic cascade mode required"); @@ -375,8 +394,10 @@ vatpic_ocw3(struct vatpic *vatpic, struc VATPIC_CTR1(vatpic, "atpic ocw3 0x%x", val); if (val & OCW3_ESMM) { - VATPIC_CTR0(vatpic, "atpic special mask mode not implemented"); - return (-1); + atpic->smm = val & OCW3_SMM ? 1 : 0; + VATPIC_CTR2(vatpic, "%s atpic special mask mode %s", + master_atpic(vatpic, atpic) ? "master" : "slave", + atpic->smm ? "enabled" : "disabled"); } if (val & OCW3_RR) { Copied: projects/clang350-import/sys/arm/arm/cpu_asm-v6.S (from r276342, head/sys/arm/arm/cpu_asm-v6.S) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ projects/clang350-import/sys/arm/arm/cpu_asm-v6.S Sun Dec 28 20:02:06 2014 (r276343, copy of r276342, head/sys/arm/arm/cpu_asm-v6.S) @@ -0,0 +1,200 @@ +/*- + * Copyright 2014 Svatopluk Kraus + * Copyright 2014 Michal Meloun + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + * $FreeBSD$ + */ + +#include +#include +#include +#include +#include + +#if __ARM_ARCH >= 7 + +/* + * Define cache functions used by startup code, which counts on the fact that + * only r0-r4,r12 (ip) are modified and no stack space is used. This set + * of function must be called with interrupts disabled and don't follow + * ARM ABI (cannot be called form C code. + * Moreover, it works only with caches integrated to CPU (accessible via CP15). + */ + +/* Invalidate D cache to PoC. (aka all cache levels)*/ +ASENTRY(dcache_inv_poc_all) + mrc CP15_CLIDR(r0) + ands r0, r0, #0x07000000 + mov r0, r0, lsr #23 /* Get LoC (naturally aligned) */ + beq 4f + +1: mcr CP15_CSSELR(r0) /* set cache level */ + isb + mrc CP15_CCSIDR(r0) /* read CCSIDR */ + + ubfx r2, r0, #13, #15 /* get num sets - 1 from CCSIDR */ + ubfx r3, r0, #3, #10 /* get num ways - 1 from CCSIDR */ + clz r1, r3 /* number of bits to MSB of way */ + lsl r3, r3, r1 /* shift into position */ + mov ip, #1 + lsl ip, ip, r1 /* ip now contains the way decr */ + + ubfx r0, r0, #0, #3 /* get linesize from CCSIDR */ + add r0, r0, #4 /* apply bias */ + lsl r2, r2, r0 /* shift sets by log2(linesize) */ + add r3, r3, r2 /* merge numsets - 1 with numways - 1 */ + sub ip, ip, r2 /* subtract numsets - 1 from way decr */ + mov r1, #1 + lsl r1, r1, r0 /* r1 now contains the set decr */ + mov r2, ip /* r2 now contains set way decr */ + + /* r3 = ways/sets, r2 = way decr, r1 = set decr, r0 and ip are free */ +2: mcr CP15_DCISW(r3) /* invalidate line */ + movs r0, r3 /* get current way/set */ + beq 3f /* at 0 means we are done */ + movs r0, r0, lsl #10 /* clear way bits leaving only set bits*/ + subne r3, r3, r1 /* non-zero?, decrement set */ + subeq r3, r3, r2 /* zero?, decrement way and restore set count */ + b 2b + +3: + mrc CP15_CSSELR(r0) /* get cache level */ + add r0, r0, #2 /* next level */ + mrc CP15_CLIDR(r1) + ands r1, r1, #0x07000000 + mov r1, r1, lsr #23 /* Get LoC (naturally aligned) */ + cmp r1, r0 + bgt 1b + +4: dsb /* wait for stores to finish */ + mov r0, #0 + mcr CP15_CSSELR(r0) + isb + bx lr +END(dcache_inv_poc_all) + +/* Invalidate D cache to PoU. (aka L1 cache only)*/ +ASENTRY(dcache_inv_pou_all) + mrc CP15_CLIDR(r0) + ands r0, r0, #0x07000000 + mov r0, r0, lsr #26 /* Get LoUU (naturally aligned) */ + beq 4f + +1: mcr CP15_CSSELR(r0) /* set cache level */ + isb + mrc CP15_CCSIDR(r0) /* read CCSIDR */ + + ubfx r2, r0, #13, #15 /* get num sets - 1 from CCSIDR */ + ubfx r3, r0, #3, #10 /* get num ways - 1 from CCSIDR */ + clz r1, r3 /* number of bits to MSB of way */ + lsl r3, r3, r1 /* shift into position */ + mov ip, #1 + lsl ip, ip, r1 /* ip now contains the way decr */ + + ubfx r0, r0, #0, #3 /* get linesize from CCSIDR */ + add r0, r0, #4 /* apply bias */ + lsl r2, r2, r0 /* shift sets by log2(linesize) */ + add r3, r3, r2 /* merge numsets - 1 with numways - 1 */ + sub ip, ip, r2 /* subtract numsets - 1 from way decr */ + mov r1, #1 + lsl r1, r1, r0 /* r1 now contains the set decr */ + mov r2, ip /* r2 now contains set way decr */ + + /* r3 = ways/sets, r2 = way decr, r1 = set decr, r0 and ip are free */ +2: mcr CP15_DCISW(r3) /* clean & invalidate line */ + movs r0, r3 /* get current way/set */ + beq 3f /* at 0 means we are done */ + movs r0, r0, lsl #10 /* clear way bits leaving only set bits*/ + subne r3, r3, r1 /* non-zero?, decrement set */ + subeq r3, r3, r2 /* zero?, decrement way and restore set count */ + b 2b + +3: + mrc CP15_CSSELR(r0) /* get cache level */ + add r0, r0, #2 /* next level */ + mrc CP15_CLIDR(r1) + ands r1, r1, #0x07000000 + mov r1, r1, lsr #26 /* Get LoUU (naturally aligned) */ + cmp r1, r0 + bgt 1b + +4: dsb /* wait for stores to finish */ + mov r0, #0 + mcr CP15_CSSELR(r0) + bx lr +END(dcache_inv_pou_all) + +/* Write back and Invalidate D cache to PoC. */ +ASENTRY(dcache_wbinv_poc_all) + mrc CP15_CLIDR(r0) + ands r0, r0, #0x07000000 + mov r0, r0, lsr #23 /* Get LoC (naturally aligned) */ + beq 4f + +1: mcr CP15_CSSELR(r0) /* set cache level */ + isb + mrc CP15_CCSIDR(r0) /* read CCSIDR */ + + ubfx r2, r0, #13, #15 /* get num sets - 1 from CCSIDR */ + ubfx r3, r0, #3, #10 /* get num ways - 1 from CCSIDR */ + clz r1, r3 /* number of bits to MSB of way */ + lsl r3, r3, r1 /* shift into position */ + mov ip, #1 + lsl ip, ip, r1 /* ip now contains the way decr */ + + ubfx r0, r0, #0, #3 /* get linesize from CCSIDR */ + add r0, r0, #4 /* apply bias */ + lsl r2, r2, r0 /* shift sets by log2(linesize) */ + add r3, r3, r2 /* merge numsets - 1 with numways - 1 */ + sub ip, ip, r2 /* subtract numsets - 1 from way decr */ + mov r1, #1 + lsl r1, r1, r0 /* r1 now contains the set decr */ + mov r2, ip /* r2 now contains set way decr */ + + /* r3 = ways/sets, r2 = way decr, r1 = set decr, r0 and ip are free */ +2: mcr CP15_DCCISW(r3) /* clean & invalidate line */ + movs r0, r3 /* get current way/set */ + beq 3f /* at 0 means we are done */ + movs r0, r0, lsl #10 /* clear way bits leaving only set bits*/ + subne r3, r3, r1 /* non-zero?, decrement set */ + subeq r3, r3, r2 /* zero?, decrement way and restore set count */ + b 2b + +3: + mrc CP15_CSSELR(r0) /* get cache level */ + add r0, r0, #2 /* next level */ + mrc CP15_CLIDR(r1) + ands r1, r1, #0x07000000 + mov r1, r1, lsr #23 /* Get LoC (naturally aligned) */ + cmp r1, r0 + bgt 1b + +4: dsb /* wait for stores to finish */ + mov r0, #0 + mcr CP15_CSSELR(r0) + bx lr +END(dcache_wbinv_poc_all) + +#endif /* __ARM_ARCH >= 7 */ Copied: projects/clang350-import/sys/arm/arm/cpuinfo.c (from r276342, head/sys/arm/arm/cpuinfo.c) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ projects/clang350-import/sys/arm/arm/cpuinfo.c Sun Dec 28 20:02:06 2014 (r276343, copy of r276342, head/sys/arm/arm/cpuinfo.c) @@ -0,0 +1,121 @@ +/*- + * Copyright 2014 Svatopluk Kraus + * Copyright 2014 Michal Meloun + * 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. + */ + +#include +__FBSDID("$FreeBSD$"); + +#include +#include + +#include +#include + +struct cpuinfo cpuinfo; + +/* Read and parse CPU id scheme */ +void +cpuinfo_init(void) +{ + + cpuinfo.midr = cp15_midr_get(); + /* Test old version id schemes first */ + if ((cpuinfo.midr & CPU_ID_IMPLEMENTOR_MASK) == CPU_ID_ARM_LTD) { + if (CPU_ID_ISOLD(cpuinfo.midr)) { + /* obsolete ARMv2 or ARMv3 CPU */ + cpuinfo.midr = 0; + return; + } + if (CPU_ID_IS7(cpuinfo.midr)) { + if ((cpuinfo.midr & (1 << 23)) == 0) { + /* obsolete ARMv3 CPU */ + cpuinfo.midr = 0; + return; + } + /* ARMv4T CPU */ + cpuinfo.architecture = 1; + cpuinfo.revision = (cpuinfo.midr >> 16) & 0x7F; + } + } else { + /* must be new id scheme */ + cpuinfo.architecture = (cpuinfo.midr >> 16) & 0x0F; + cpuinfo.revision = (cpuinfo.midr >> 20) & 0x0F; + } + /* Parse rest of MIDR */ + cpuinfo.implementer = (cpuinfo.midr >> 24) & 0xFF; + cpuinfo.part_number = (cpuinfo.midr >> 4) & 0xFFF; + cpuinfo.patch = cpuinfo.midr & 0x0F; + + /* CP15 c0,c0 regs 0-7 exist on all CPUs (although aliased with MIDR) */ + cpuinfo.ctr = cp15_ctr_get(); + cpuinfo.tcmtr = cp15_tcmtr_get(); + cpuinfo.tlbtr = cp15_tlbtr_get(); + cpuinfo.mpidr = cp15_mpidr_get(); + cpuinfo.revidr = cp15_revidr_get(); + + /* if CPU is not v7 cpu id scheme */ + if (cpuinfo.architecture != 0xF) + return; + + cpuinfo.id_pfr0 = cp15_id_pfr0_get(); + cpuinfo.id_pfr1 = cp15_id_pfr1_get(); + cpuinfo.id_dfr0 = cp15_id_dfr0_get(); + cpuinfo.id_afr0 = cp15_id_afr0_get(); + cpuinfo.id_mmfr0 = cp15_id_mmfr0_get(); + cpuinfo.id_mmfr1 = cp15_id_mmfr1_get(); + cpuinfo.id_mmfr2 = cp15_id_mmfr2_get(); + cpuinfo.id_mmfr3 = cp15_id_mmfr3_get(); + cpuinfo.id_isar0 = cp15_id_isar0_get(); + cpuinfo.id_isar1 = cp15_id_isar1_get(); + cpuinfo.id_isar2 = cp15_id_isar2_get(); + cpuinfo.id_isar3 = cp15_id_isar3_get(); + cpuinfo.id_isar4 = cp15_id_isar4_get(); + cpuinfo.id_isar5 = cp15_id_isar5_get(); + +/* Not yet - CBAR only exist on ARM SMP Cortex A CPUs + cpuinfo.cbar = cp15_cbar_get(); +*/ + + /* Test if revidr is implemented */ + if (cpuinfo.revidr == cpuinfo.midr) + cpuinfo.revidr = 0; + + /* parsed bits of above registers */ + /* id_mmfr0 */ + cpuinfo.outermost_shareability = (cpuinfo.id_mmfr0 >> 8) & 0xF; + cpuinfo.shareability_levels = (cpuinfo.id_mmfr0 >> 12) & 0xF; + cpuinfo.auxiliary_registers = (cpuinfo.id_mmfr0 >> 20) & 0xF; + cpuinfo.innermost_shareability = (cpuinfo.id_mmfr0 >> 28) & 0xF; + /* id_mmfr2 */ + cpuinfo.mem_barrier = (cpuinfo.id_mmfr2 >> 20) & 0xF; + /* id_mmfr3 */ + cpuinfo.coherent_walk = (cpuinfo.id_mmfr3 >> 20) & 0xF; + cpuinfo.maintenance_broadcast =(cpuinfo.id_mmfr3 >> 12) & 0xF; + /* id_pfr1 */ + cpuinfo.generic_timer_ext = (cpuinfo.id_pfr1 >> 16) & 0xF; + cpuinfo.virtualization_ext = (cpuinfo.id_pfr1 >> 12) & 0xF; + cpuinfo.security_ext = (cpuinfo.id_pfr1 >> 4) & 0xF; +} Modified: projects/clang350-import/sys/arm/arm/machdep.c ============================================================================== --- projects/clang350-import/sys/arm/arm/machdep.c Sun Dec 28 19:55:44 2014 (r276342) +++ projects/clang350-import/sys/arm/arm/machdep.c Sun Dec 28 20:02:06 2014 (r276343) @@ -90,6 +90,7 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include #include #include @@ -1064,6 +1065,8 @@ initarm(struct arm_boot_params *abp) arm_physmem_kernaddr = abp->abp_physaddr; memsize = 0; + + cpuinfo_init(); set_cpufuncs(); /* Modified: projects/clang350-import/sys/arm/broadcom/bcm2835/bcm2835_bsc.c ============================================================================== --- projects/clang350-import/sys/arm/broadcom/bcm2835/bcm2835_bsc.c Sun Dec 28 19:55:44 2014 (r276342) +++ projects/clang350-import/sys/arm/broadcom/bcm2835/bcm2835_bsc.c Sun Dec 28 20:02:06 2014 (r276343) @@ -53,6 +53,7 @@ __FBSDID("$FreeBSD$"); #include "iicbus_if.h" static void bcm_bsc_intr(void *); +static int bcm_bsc_detach(device_t); static void bcm_bsc_modifyreg(struct bcm_bsc_softc *sc, uint32_t off, uint32_t mask, @@ -72,10 +73,8 @@ bcm_bsc_clock_proc(SYSCTL_HANDLER_ARGS) { struct bcm_bsc_softc *sc; uint32_t clk; - int error; sc = (struct bcm_bsc_softc *)arg1; - BCM_BSC_LOCK(sc); clk = BCM_BSC_READ(sc, BCM_BSC_CLOCK); BCM_BSC_UNLOCK(sc); @@ -83,20 +82,8 @@ bcm_bsc_clock_proc(SYSCTL_HANDLER_ARGS) if (clk == 0) clk = 32768; clk = BCM_BSC_CORE_CLK / clk; - error = sysctl_handle_int(oidp, &clk, sizeof(clk), req); - if (error != 0 || req->newptr == NULL) - return (error); - clk = BCM_BSC_CORE_CLK / clk; - if (clk % 2) - clk--; - if (clk > 0xffff) - clk = 0xffff; - BCM_BSC_LOCK(sc); - BCM_BSC_WRITE(sc, BCM_BSC_CLOCK, clk); - BCM_BSC_UNLOCK(sc); - - return (0); + return (sysctl_handle_int(oidp, &clk, 0, req)); } static int @@ -192,7 +179,7 @@ bcm_bsc_sysctl_init(struct bcm_bsc_softc ctx = device_get_sysctl_ctx(sc->sc_dev); tree_node = device_get_sysctl_tree(sc->sc_dev); tree = SYSCTL_CHILDREN(tree_node); - SYSCTL_ADD_PROC(ctx, tree, OID_AUTO, "clock", + SYSCTL_ADD_PROC(ctx, tree, OID_AUTO, "frequency", CTLFLAG_RW | CTLTYPE_UINT, sc, sizeof(*sc), bcm_bsc_clock_proc, "IU", "I2C BUS clock frequency"); SYSCTL_ADD_PROC(ctx, tree, OID_AUTO, "clock_stretch", @@ -307,7 +294,11 @@ bcm_bsc_attach(device_t dev) bcm_bsc_reset(sc); BCM_BSC_UNLOCK(sc); - device_add_child(dev, "iicbus", -1); + sc->sc_iicbus = device_add_child(dev, "iicbus", -1); + if (sc->sc_iicbus == NULL) { + bcm_bsc_detach(dev); + return (ENXIO); + } return (bus_generic_attach(dev)); } @@ -462,29 +453,16 @@ static int bcm_bsc_iicbus_reset(device_t dev, u_char speed, u_char addr, u_char *oldaddr) { struct bcm_bsc_softc *sc; - uint32_t freq; - + uint32_t busfreq; + sc = device_get_softc(dev); BCM_BSC_LOCK(sc); bcm_bsc_reset(sc); - freq = 0; - switch (speed) { - case IIC_SLOW: - freq = BCM_BSC_SLOW; - break; - case IIC_FAST: - freq = BCM_BSC_FAST; - break; - case IIC_FASTEST: - freq = BCM_BSC_FASTEST; - break; - case IIC_UNKNOWN: - default: - /* Reuse last frequency. */ - break; - } - if (freq != 0) - BCM_BSC_WRITE(sc, BCM_BSC_CLOCK, BCM_BSC_CORE_CLK / freq); + if (sc->sc_iicbus == NULL) + busfreq = 100000; + else + busfreq = IICBUS_GET_FREQUENCY(sc->sc_iicbus, speed); + BCM_BSC_WRITE(sc, BCM_BSC_CLOCK, BCM_BSC_CORE_CLK / busfreq); BCM_BSC_UNLOCK(sc); return (IIC_ENOADDR); Modified: projects/clang350-import/sys/arm/broadcom/bcm2835/bcm2835_bscvar.h ============================================================================== --- projects/clang350-import/sys/arm/broadcom/bcm2835/bcm2835_bscvar.h Sun Dec 28 19:55:44 2014 (r276342) +++ projects/clang350-import/sys/arm/broadcom/bcm2835/bcm2835_bscvar.h Sun Dec 28 20:02:06 2014 (r276343) @@ -41,6 +41,7 @@ struct { struct bcm_bsc_softc { device_t sc_dev; + device_t sc_iicbus; struct mtx sc_mtx; struct resource * sc_mem_res; struct resource * sc_irq_res; @@ -56,10 +57,6 @@ struct bcm_bsc_softc { #define BCM_I2C_READ 0x02 #define BCM_I2C_ERROR 0x04 -#define BCM_BSC_SLOW 10000 /* 10 kHz. */ -#define BCM_BSC_FAST 50000 /* 50 kHz. */ -#define BCM_BSC_FASTEST 100000 /* 100 kHz. */ - #define BCM_BSC_WRITE(_sc, _off, _val) \ bus_space_write_4(_sc->sc_bst, _sc->sc_bsh, _off, _val) #define BCM_BSC_READ(_sc, _off) \ Modified: projects/clang350-import/sys/arm/broadcom/bcm2835/bcm2835_mbox.c ============================================================================== --- projects/clang350-import/sys/arm/broadcom/bcm2835/bcm2835_mbox.c Sun Dec 28 19:55:44 2014 (r276342) +++ projects/clang350-import/sys/arm/broadcom/bcm2835/bcm2835_mbox.c Sun Dec 28 20:02:06 2014 (r276343) @@ -31,25 +31,16 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include -#include +#include #include #include -#include -#include -#include #include -#include -#include -#include -#include #include #include -#include -#include - #include #include "mbox_if.h" @@ -188,25 +179,21 @@ bcm_mbox_attach(device_t dev) static int bcm_mbox_write(device_t dev, int chan, uint32_t data) { - int limit = 20000; + int limit = 1000; struct bcm_mbox_softc *sc = device_get_softc(dev); dprintf("bcm_mbox_write: chan %d, data %08x\n", chan, data); MBOX_LOCK(sc); - - while ((mbox_read_4(sc, REG_STATUS) & STATUS_FULL) && limit--) { - DELAY(2); - } - + while ((mbox_read_4(sc, REG_STATUS) & STATUS_FULL) && --limit) + DELAY(5); if (limit == 0) { printf("bcm_mbox_write: STATUS_FULL stuck"); MBOX_UNLOCK(sc); return (EAGAIN); } - mbox_write_4(sc, REG_WRITE, MBOX_MSG(chan, data)); - MBOX_UNLOCK(sc); + return (0); } @@ -254,4 +241,3 @@ static driver_t bcm_mbox_driver = { static devclass_t bcm_mbox_devclass; DRIVER_MODULE(mbox, simplebus, bcm_mbox_driver, bcm_mbox_devclass, 0, 0); - Copied: projects/clang350-import/sys/arm/include/cpu-v6.h (from r276342, head/sys/arm/include/cpu-v6.h) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ projects/clang350-import/sys/arm/include/cpu-v6.h Sun Dec 28 20:02:06 2014 (r276343, copy of r276342, head/sys/arm/include/cpu-v6.h) @@ -0,0 +1,396 @@ +/*- + * Copyright 2014 Svatopluk Kraus + * Copyright 2014 Michal Meloun + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + * $FreeBSD$ + */ +#ifndef MACHINE_CPU_V6_H +#define MACHINE_CPU_V6_H + +#include "machine/atomic.h" +#include "machine/cpufunc.h" +#include "machine/cpuinfo.h" +#include "machine/sysreg.h" + + +#define CPU_ASID_KERNEL 0 + +/* + * Macros to generate CP15 (system control processor) read/write functions. + */ +#define _FX(s...) #s + +#define _RF0(fname, aname...) \ +static __inline register_t \ +fname(void) \ +{ \ + register_t reg; \ + __asm __volatile("mrc\t" _FX(aname): "=r" (reg)); \ + return(reg); \ +} + +#define _WF0(fname, aname...) \ +static __inline void \ +fname(void) \ +{ \ + __asm __volatile("mcr\t" _FX(aname)); \ +} + +#define _WF1(fname, aname...) \ +static __inline void \ +fname(register_t reg) \ +{ \ + __asm __volatile("mcr\t" _FX(aname):: "r" (reg)); \ +} + +/* + * Raw CP15 maintenance operations + * !!! not for external use !!! + */ + +/* TLB */ + +_WF0(_CP15_TLBIALL, CP15_TLBIALL) /* Invalidate entire unified TLB */ +#if __ARM_ARCH >= 7 && defined SMP +_WF0(_CP15_TLBIALLIS, CP15_TLBIALLIS) /* Invalidate entire unified TLB IS */ +#endif +_WF1(_CP15_TLBIASID, CP15_TLBIASID(%0)) /* Invalidate unified TLB by ASID */ +#if __ARM_ARCH >= 7 && defined SMP +_WF1(_CP15_TLBIASIDIS, CP15_TLBIASIDIS(%0)) /* Invalidate unified TLB by ASID IS */ +#endif +_WF1(_CP15_TLBIMVAA, CP15_TLBIMVAA(%0)) /* Invalidate unified TLB by MVA, all ASID */ +#if __ARM_ARCH >= 7 && defined SMP +_WF1(_CP15_TLBIMVAAIS, CP15_TLBIMVAAIS(%0)) /* Invalidate unified TLB by MVA, all ASID IS */ +#endif +_WF1(_CP15_TLBIMVA, CP15_TLBIMVA(%0)) /* Invalidate unified TLB by MVA */ + +_WF1(_CP15_TTB_SET, CP15_TTBR0(%0)) + +/* Cache and Branch predictor */ + +_WF0(_CP15_BPIALL, CP15_BPIALL) /* Branch predictor invalidate all */ +#if __ARM_ARCH >= 7 && defined SMP +_WF0(_CP15_BPIALLIS, CP15_BPIALLIS) /* Branch predictor invalidate all IS */ +#endif +_WF1(_CP15_BPIMVA, CP15_BPIMVA(%0)) /* Branch predictor invalidate by MVA */ +_WF1(_CP15_DCCIMVAC, CP15_DCCIMVAC(%0)) /* Data cache clean and invalidate by MVA PoC */ +_WF1(_CP15_DCCISW, CP15_DCCISW(%0)) /* Data cache clean and invalidate by set/way */ +_WF1(_CP15_DCCMVAC, CP15_DCCMVAC(%0)) /* Data cache clean by MVA PoC */ +#if __ARM_ARCH >= 7 *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-projects@FreeBSD.ORG Sun Dec 28 21:13:58 2014 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 3CD528A0; Sun, 28 Dec 2014 21:13:58 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 284511698; Sun, 28 Dec 2014 21:13:58 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id sBSLDwgt082108; Sun, 28 Dec 2014 21:13:58 GMT (envelope-from dim@FreeBSD.org) Received: (from dim@localhost) by svn.freebsd.org (8.14.9/8.14.9/Submit) id sBSLDuG0082103; Sun, 28 Dec 2014 21:13:56 GMT (envelope-from dim@FreeBSD.org) Message-Id: <201412282113.sBSLDuG0082103@svn.freebsd.org> X-Authentication-Warning: svn.freebsd.org: dim set sender to dim@FreeBSD.org using -f From: Dimitry Andric Date: Sun, 28 Dec 2014 21:13:56 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r276348 - in projects/clang350-import: contrib/binutils/gas/config share/man/man4 sys/dev/ahci X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 28 Dec 2014 21:13:58 -0000 Author: dim Date: Sun Dec 28 21:13:55 2014 New Revision: 276348 URL: https://svnweb.freebsd.org/changeset/base/276348 Log: Merge ^/head r274961 through r276346. Modified: projects/clang350-import/contrib/binutils/gas/config/tc-ppc.c projects/clang350-import/share/man/man4/tcp.4 projects/clang350-import/sys/dev/ahci/ahci.c projects/clang350-import/sys/dev/ahci/ahci_pci.c projects/clang350-import/sys/dev/ahci/ahciem.c Directory Properties: projects/clang350-import/ (props changed) projects/clang350-import/contrib/binutils/ (props changed) projects/clang350-import/share/ (props changed) projects/clang350-import/share/man/man4/ (props changed) projects/clang350-import/sys/ (props changed) Modified: projects/clang350-import/contrib/binutils/gas/config/tc-ppc.c ============================================================================== --- projects/clang350-import/contrib/binutils/gas/config/tc-ppc.c Sun Dec 28 21:13:52 2014 (r276347) +++ projects/clang350-import/contrib/binutils/gas/config/tc-ppc.c Sun Dec 28 21:13:55 2014 (r276348) @@ -1548,7 +1548,7 @@ ppc_insert_operand (unsigned long insn, errmsg = NULL; insn = (*operand->insert) (insn, (long) val, ppc_cpu, &errmsg); if (errmsg != (const char *) NULL) - as_bad_where (file, line, errmsg); + as_bad_where (file, line, "%s", errmsg); } else insn |= ((long) val & operand->bitm) << operand->shift; @@ -2279,7 +2279,7 @@ md_assemble (char *str) { insn = (*operand->insert) (insn, 0L, ppc_cpu, &errmsg); if (errmsg != (const char *) NULL) - as_bad (errmsg); + as_bad ("%s", errmsg); continue; } @@ -2292,7 +2292,7 @@ md_assemble (char *str) { insn = (*operand->insert) (insn, 0L, ppc_cpu, &errmsg); if (errmsg != (const char *) NULL) - as_bad (errmsg); + as_bad ("%s", errmsg); } if ((operand->flags & PPC_OPERAND_NEXT) != 0) next_opindex = *opindex_ptr + 1; Modified: projects/clang350-import/share/man/man4/tcp.4 ============================================================================== --- projects/clang350-import/share/man/man4/tcp.4 Sun Dec 28 21:13:52 2014 (r276347) +++ projects/clang350-import/share/man/man4/tcp.4 Sun Dec 28 21:13:55 2014 (r276348) @@ -521,11 +521,11 @@ This is needed to help with connection e when a broken firewall is in the network path. .It Va pmtud_blackhole_detection Turn on automatic path MTU blackhole detection. -In case of retransmits we will +In case of retransmits OS will lower the MSS to check if it's MTU problem. If current MSS is greater than -configured value to try, it will be set to it, otherwise, MSS will be set to -default values +configured value to try, it will be set to configured value, otherwise, +MSS will be set to default values .Po Va net.inet.tcp.mssdflt and .Va net.inet.tcp.v6mssdflt @@ -535,11 +535,12 @@ MSS to try for IPv4 if PMTU blackhole de .It Va v6pmtud_blackhole_mss MSS to try for IPv6 if PMTU blackhole detection is turned on. .It Va pmtud_blackhole_activated -Number of times the code was activated to attempt a MSS downshift. -.It Va pmtud_blackhole_min_activated -Number of times the blackhole MSS was used in an attempt to downshift. +Number of times configured values were used in an attempt to downshift. +.It Va pmtud_blackhole_activated_min_mss +Number of times default MSS was used in an attempt to downshift. .It Va pmtud_blackhole_failed -Number of times that we failed to connect after we downshifted the MSS. +Number of connections for which retransmits continued even after MSS +downshift. .El .Sh ERRORS A socket operation may fail with one of the following errors returned: Modified: projects/clang350-import/sys/dev/ahci/ahci.c ============================================================================== --- projects/clang350-import/sys/dev/ahci/ahci.c Sun Dec 28 21:13:52 2014 (r276347) +++ projects/clang350-import/sys/dev/ahci/ahci.c Sun Dec 28 21:13:55 2014 (r276348) @@ -868,14 +868,14 @@ static device_method_t ahcich_methods[] DEVMETHOD(device_detach, ahci_ch_detach), DEVMETHOD(device_suspend, ahci_ch_suspend), DEVMETHOD(device_resume, ahci_ch_resume), - { 0, 0 } + DEVMETHOD_END }; static driver_t ahcich_driver = { "ahcich", ahcich_methods, sizeof(struct ahci_channel) }; -DRIVER_MODULE(ahcich, ahci, ahcich_driver, ahcich_devclass, 0, 0); +DRIVER_MODULE(ahcich, ahci, ahcich_driver, ahcich_devclass, NULL, NULL); struct ahci_dc_cb_args { bus_addr_t maddr; Modified: projects/clang350-import/sys/dev/ahci/ahci_pci.c ============================================================================== --- projects/clang350-import/sys/dev/ahci/ahci_pci.c Sun Dec 28 21:13:52 2014 (r276347) +++ projects/clang350-import/sys/dev/ahci/ahci_pci.c Sun Dec 28 21:13:55 2014 (r276348) @@ -48,7 +48,7 @@ __FBSDID("$FreeBSD$"); static int force_ahci = 1; TUNABLE_INT("hw.ahci.force", &force_ahci); -static struct { +static const struct { uint32_t id; uint8_t rev; const char *name; @@ -479,14 +479,14 @@ static device_method_t ahci_methods[] = DEVMETHOD(bus_teardown_intr,ahci_teardown_intr), DEVMETHOD(bus_child_location_str, ahci_child_location_str), DEVMETHOD(bus_get_dma_tag, ahci_get_dma_tag), - { 0, 0 } + DEVMETHOD_END }; static driver_t ahci_driver = { "ahci", ahci_methods, sizeof(struct ahci_controller) }; -DRIVER_MODULE(ahci, pci, ahci_driver, ahci_devclass, 0, 0); +DRIVER_MODULE(ahci, pci, ahci_driver, ahci_devclass, NULL, NULL); static device_method_t ahci_ata_methods[] = { DEVMETHOD(device_probe, ahci_ata_probe), DEVMETHOD(device_attach, ahci_pci_attach), @@ -499,11 +499,11 @@ static device_method_t ahci_ata_methods[ DEVMETHOD(bus_setup_intr, ahci_setup_intr), DEVMETHOD(bus_teardown_intr,ahci_teardown_intr), DEVMETHOD(bus_child_location_str, ahci_child_location_str), - { 0, 0 } + DEVMETHOD_END }; static driver_t ahci_ata_driver = { "ahci", ahci_ata_methods, sizeof(struct ahci_controller) }; -DRIVER_MODULE(ahci, atapci, ahci_ata_driver, ahci_devclass, 0, 0); +DRIVER_MODULE(ahci, atapci, ahci_ata_driver, ahci_devclass, NULL, NULL); Modified: projects/clang350-import/sys/dev/ahci/ahciem.c ============================================================================== --- projects/clang350-import/sys/dev/ahci/ahciem.c Sun Dec 28 21:13:52 2014 (r276347) +++ projects/clang350-import/sys/dev/ahci/ahciem.c Sun Dec 28 21:13:55 2014 (r276348) @@ -273,14 +273,14 @@ static device_method_t ahciem_methods[] DEVMETHOD(device_detach, ahci_em_detach), DEVMETHOD(device_suspend, ahci_em_suspend), DEVMETHOD(device_resume, ahci_em_resume), - { 0, 0 } + DEVMETHOD_END }; static driver_t ahciem_driver = { "ahciem", ahciem_methods, sizeof(struct ahci_enclosure) }; -DRIVER_MODULE(ahciem, ahci, ahciem_driver, ahciem_devclass, 0, 0); +DRIVER_MODULE(ahciem, ahci, ahciem_driver, ahciem_devclass, NULL, NULL); static void ahci_em_setleds(device_t dev, int c) From owner-svn-src-projects@FreeBSD.ORG Mon Dec 29 09:27:46 2014 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 21A813A5; Mon, 29 Dec 2014 09:27:46 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 0188A1889; Mon, 29 Dec 2014 09:27:46 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id sBT9RjhG025536; Mon, 29 Dec 2014 09:27:45 GMT (envelope-from dim@FreeBSD.org) Received: (from dim@localhost) by svn.freebsd.org (8.14.9/8.14.9/Submit) id sBT9RhWm025520; Mon, 29 Dec 2014 09:27:43 GMT (envelope-from dim@FreeBSD.org) Message-Id: <201412290927.sBT9RhWm025520@svn.freebsd.org> X-Authentication-Warning: svn.freebsd.org: dim set sender to dim@FreeBSD.org using -f From: Dimitry Andric Date: Mon, 29 Dec 2014 09:27:43 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r276357 - in projects/clang350-import: contrib/binutils/bfd sys/arm/arm sys/boot/powerpc/boot1.chrp sys/dev/beri/virtio sys/dev/beri/virtio/network sys/dev/uart sys/fs/nfsclient X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 29 Dec 2014 09:27:46 -0000 Author: dim Date: Mon Dec 29 09:27:42 2014 New Revision: 276357 URL: https://svnweb.freebsd.org/changeset/base/276357 Log: Merge ^/head r276347 through r276356. Modified: projects/clang350-import/contrib/binutils/bfd/elf32-ppc.c projects/clang350-import/sys/arm/arm/cpu_asm-v6.S projects/clang350-import/sys/boot/powerpc/boot1.chrp/Makefile projects/clang350-import/sys/dev/beri/virtio/network/if_vtbe.c projects/clang350-import/sys/dev/beri/virtio/virtio.c projects/clang350-import/sys/dev/beri/virtio/virtio_block.c projects/clang350-import/sys/dev/uart/uart_bus_pci.c projects/clang350-import/sys/fs/nfsclient/nfs_clport.c Directory Properties: projects/clang350-import/ (props changed) projects/clang350-import/contrib/binutils/ (props changed) projects/clang350-import/sys/ (props changed) projects/clang350-import/sys/boot/ (props changed) projects/clang350-import/sys/boot/powerpc/boot1.chrp/ (props changed) Modified: projects/clang350-import/contrib/binutils/bfd/elf32-ppc.c ============================================================================== --- projects/clang350-import/contrib/binutils/bfd/elf32-ppc.c Mon Dec 29 09:24:21 2014 (r276356) +++ projects/clang350-import/contrib/binutils/bfd/elf32-ppc.c Mon Dec 29 09:27:42 2014 (r276357) @@ -6185,7 +6185,7 @@ ppc_elf_relocate_section (bfd *output_bf howto = NULL; if (r_type < R_PPC_max) howto = ppc_elf_howto_table[r_type]; - switch (r_type) + switch ((int) r_type) { default: (*_bfd_error_handler) Modified: projects/clang350-import/sys/arm/arm/cpu_asm-v6.S ============================================================================== --- projects/clang350-import/sys/arm/arm/cpu_asm-v6.S Mon Dec 29 09:24:21 2014 (r276356) +++ projects/clang350-import/sys/arm/arm/cpu_asm-v6.S Mon Dec 29 09:27:42 2014 (r276357) @@ -37,14 +37,16 @@ /* * Define cache functions used by startup code, which counts on the fact that - * only r0-r4,r12 (ip) are modified and no stack space is used. This set - * of function must be called with interrupts disabled and don't follow - * ARM ABI (cannot be called form C code. - * Moreover, it works only with caches integrated to CPU (accessible via CP15). + * only r0-r3,r12 (ip) are modified and no stack space is used. These functions + * must be called with interrupts disabled. Moreover, these work only with + * caches integrated to CPU (accessible via CP15); systems with an external L2 + * cache controller such as a PL310 need separate calls to that device driver + * to affect L2 caches. This is not a factor during early kernel startup, as + * any external L2 cache controller has not been enabled yet. */ /* Invalidate D cache to PoC. (aka all cache levels)*/ -ASENTRY(dcache_inv_poc_all) +ASENTRY_NP(dcache_inv_poc_all) mrc CP15_CLIDR(r0) ands r0, r0, #0x07000000 mov r0, r0, lsr #23 /* Get LoC (naturally aligned) */ @@ -96,7 +98,7 @@ ASENTRY(dcache_inv_poc_all) END(dcache_inv_poc_all) /* Invalidate D cache to PoU. (aka L1 cache only)*/ -ASENTRY(dcache_inv_pou_all) +ASENTRY_NP(dcache_inv_pou_all) mrc CP15_CLIDR(r0) ands r0, r0, #0x07000000 mov r0, r0, lsr #26 /* Get LoUU (naturally aligned) */ @@ -147,7 +149,7 @@ ASENTRY(dcache_inv_pou_all) END(dcache_inv_pou_all) /* Write back and Invalidate D cache to PoC. */ -ASENTRY(dcache_wbinv_poc_all) +ASENTRY_NP(dcache_wbinv_poc_all) mrc CP15_CLIDR(r0) ands r0, r0, #0x07000000 mov r0, r0, lsr #23 /* Get LoC (naturally aligned) */ Modified: projects/clang350-import/sys/boot/powerpc/boot1.chrp/Makefile ============================================================================== --- projects/clang350-import/sys/boot/powerpc/boot1.chrp/Makefile Mon Dec 29 09:24:21 2014 (r276356) +++ projects/clang350-import/sys/boot/powerpc/boot1.chrp/Makefile Mon Dec 29 09:27:42 2014 (r276357) @@ -15,7 +15,7 @@ MAN= CFLAGS= -ffreestanding -msoft-float -Os \ -I${.CURDIR}/../../common -I${.CURDIR}/../../../ \ -D_STANDALONE -LDFLAGS=-nostdlib -static -N +LDFLAGS=-nostdlib -static -Wl,-N .include "${.CURDIR}/../Makefile.inc" .PATH: ${.CURDIR}/../../../libkern ${.CURDIR}/../../../../lib/libc/powerpc/gen ${.CURDIR} Modified: projects/clang350-import/sys/dev/beri/virtio/network/if_vtbe.c ============================================================================== --- projects/clang350-import/sys/dev/beri/virtio/network/if_vtbe.c Mon Dec 29 09:24:21 2014 (r276356) +++ projects/clang350-import/sys/dev/beri/virtio/network/if_vtbe.c Mon Dec 29 09:27:42 2014 (r276357) @@ -82,7 +82,8 @@ __FBSDID("$FreeBSD$"); #include #include -#include +#include +#include #include #include "pio_if.h" Modified: projects/clang350-import/sys/dev/beri/virtio/virtio.c ============================================================================== --- projects/clang350-import/sys/dev/beri/virtio/virtio.c Mon Dec 29 09:24:21 2014 (r276356) +++ projects/clang350-import/sys/dev/beri/virtio/virtio.c Mon Dec 29 09:27:42 2014 (r276357) @@ -65,7 +65,6 @@ __FBSDID("$FreeBSD$"); #include #include -#include #include #include #include Modified: projects/clang350-import/sys/dev/beri/virtio/virtio_block.c ============================================================================== --- projects/clang350-import/sys/dev/beri/virtio/virtio_block.c Mon Dec 29 09:24:21 2014 (r276356) +++ projects/clang350-import/sys/dev/beri/virtio/virtio_block.c Mon Dec 29 09:27:42 2014 (r276357) @@ -67,7 +67,8 @@ __FBSDID("$FreeBSD$"); #include #include #include -#include +#include +#include #include #include "pio_if.h" Modified: projects/clang350-import/sys/dev/uart/uart_bus_pci.c ============================================================================== --- projects/clang350-import/sys/dev/uart/uart_bus_pci.c Mon Dec 29 09:24:21 2014 (r276356) +++ projects/clang350-import/sys/dev/uart/uart_bus_pci.c Mon Dec 29 09:27:42 2014 (r276357) @@ -137,8 +137,8 @@ static const struct pci_id pci_ns8250_id "MosChip MCS9901 PCIe to Peripheral Controller", 0x10 }, { 0x9710, 0x9904, 0xa000, 0x1000, "MosChip MCS9904 PCIe to Peripheral Controller", 0x10 }, -{ 0x9710, 0x9922, 0xffff, 0, - "MosChip MCS9922 Multi I/O Controller", 0x10 }, +{ 0x9710, 0x9922, 0xa000, 0x1000, + "MosChip MCS9922 PCIe to Peripheral Controller", 0x10 }, { 0xdeaf, 0x9051, 0xffff, 0, "Middle Digital PC Weasel Serial Port", 0x10 }, { 0xffff, 0, 0xffff, 0, NULL, 0, 0} }; Modified: projects/clang350-import/sys/fs/nfsclient/nfs_clport.c ============================================================================== --- projects/clang350-import/sys/fs/nfsclient/nfs_clport.c Mon Dec 29 09:24:21 2014 (r276356) +++ projects/clang350-import/sys/fs/nfsclient/nfs_clport.c Mon Dec 29 09:27:42 2014 (r276357) @@ -1096,9 +1096,16 @@ nfscl_checksattr(struct vattr *vap, stru * us to do a SETATTR RPC. FreeBSD servers store the verifier * in atime, but we can't really assume that all servers will * so we ensure that our SETATTR sets both atime and mtime. + * Set the VA_UTIMES_NULL flag for this case, so that + * the server's time will be used. This is needed to + * work around a bug in some Solaris servers, where + * setting the time TOCLIENT causes the Setattr RPC + * to return NFS_OK, but not set va_mode. */ - if (vap->va_mtime.tv_sec == VNOVAL) + if (vap->va_mtime.tv_sec == VNOVAL) { vfs_timestamp(&vap->va_mtime); + vap->va_vaflags |= VA_UTIMES_NULL; + } if (vap->va_atime.tv_sec == VNOVAL) vap->va_atime = vap->va_mtime; return (1); From owner-svn-src-projects@FreeBSD.ORG Mon Dec 29 14:52:48 2014 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 9E6927F2; Mon, 29 Dec 2014 14:52:48 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 862463EE2; Mon, 29 Dec 2014 14:52:48 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id sBTEqmO8078599; Mon, 29 Dec 2014 14:52:48 GMT (envelope-from emaste@FreeBSD.org) Received: (from emaste@localhost) by svn.freebsd.org (8.14.9/8.14.9/Submit) id sBTEqXLH078513; Mon, 29 Dec 2014 14:52:33 GMT (envelope-from emaste@FreeBSD.org) Message-Id: <201412291452.sBTEqXLH078513@svn.freebsd.org> X-Authentication-Warning: svn.freebsd.org: emaste set sender to emaste@FreeBSD.org using -f From: Ed Maste Date: Mon, 29 Dec 2014 14:52:33 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r276362 - in projects/elftoolchain-update-r3130: bin/ln cddl/contrib/opensolaris/cmd/zpool cddl/contrib/opensolaris/lib/libdtrace/common cddl/usr.bin/ctfconvert contrib/binutils/bfd con... X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 29 Dec 2014 14:52:48 -0000 Author: emaste Date: Mon Dec 29 14:52:32 2014 New Revision: 276362 URL: https://svnweb.freebsd.org/changeset/base/276362 Log: MFH up to r276361 Added: projects/elftoolchain-update-r3130/sys/arm/arm/cpu_asm-v6.S - copied unchanged from r276361, head/sys/arm/arm/cpu_asm-v6.S projects/elftoolchain-update-r3130/sys/arm/arm/cpuinfo.c - copied unchanged from r276361, head/sys/arm/arm/cpuinfo.c projects/elftoolchain-update-r3130/sys/arm/include/cpu-v6.h - copied unchanged from r276361, head/sys/arm/include/cpu-v6.h projects/elftoolchain-update-r3130/sys/arm/include/cpuinfo.h - copied unchanged from r276361, head/sys/arm/include/cpuinfo.h Deleted: projects/elftoolchain-update-r3130/sys/contrib/dev/iwn/iwlwifi-6000g2a-17.168.5.2.fw.uu projects/elftoolchain-update-r3130/sys/contrib/dev/iwn/iwlwifi-6000g2b-17.168.5.2.fw.uu Modified: projects/elftoolchain-update-r3130/bin/ln/symlink.7 projects/elftoolchain-update-r3130/cddl/contrib/opensolaris/cmd/zpool/zpool-features.7 projects/elftoolchain-update-r3130/cddl/contrib/opensolaris/lib/libdtrace/common/dt_link.c projects/elftoolchain-update-r3130/cddl/usr.bin/ctfconvert/ctfconvert.1 projects/elftoolchain-update-r3130/contrib/binutils/bfd/elf32-ppc.c projects/elftoolchain-update-r3130/contrib/binutils/gas/config/tc-ppc.c projects/elftoolchain-update-r3130/contrib/bsnmp/lib/snmpcrypto.c projects/elftoolchain-update-r3130/lib/libc/iconv/iconvlist.3 projects/elftoolchain-update-r3130/lib/libc/locale/digittoint.3 projects/elftoolchain-update-r3130/lib/libc/locale/xlocale.3 projects/elftoolchain-update-r3130/lib/libc/regex/re_format.7 projects/elftoolchain-update-r3130/lib/libc/rpc/rpc.3 projects/elftoolchain-update-r3130/lib/libc/rpc/rpc_svc_reg.3 projects/elftoolchain-update-r3130/lib/libc/tests/hash/Makefile projects/elftoolchain-update-r3130/lib/libdpv/dpv.3 projects/elftoolchain-update-r3130/lib/libpam/modules/pam_guest/pam_guest.8 projects/elftoolchain-update-r3130/lib/librtld_db/librtld_db.3 projects/elftoolchain-update-r3130/lib/libusb/libusb20.3 projects/elftoolchain-update-r3130/lib/libutil/quotafile.3 projects/elftoolchain-update-r3130/lib/msun/man/cexp.3 projects/elftoolchain-update-r3130/lib/msun/man/complex.3 projects/elftoolchain-update-r3130/lib/msun/man/lgamma.3 projects/elftoolchain-update-r3130/lib/msun/man/sin.3 projects/elftoolchain-update-r3130/lib/ncurses/Makefile projects/elftoolchain-update-r3130/libexec/rtld-elf/powerpc/reloc.c projects/elftoolchain-update-r3130/sbin/bsdlabel/bsdlabel.8 projects/elftoolchain-update-r3130/sbin/camcontrol/camcontrol.8 projects/elftoolchain-update-r3130/sbin/dhclient/dhclient.conf.5 projects/elftoolchain-update-r3130/sbin/dhclient/dhclient.leases.5 projects/elftoolchain-update-r3130/sbin/geom/class/label/glabel.8 projects/elftoolchain-update-r3130/sbin/ifconfig/ifconfig.8 projects/elftoolchain-update-r3130/sbin/ipfw/ipfw.8 projects/elftoolchain-update-r3130/sbin/iscontrol/iscontrol.8 projects/elftoolchain-update-r3130/sbin/mount/mount.8 projects/elftoolchain-update-r3130/sbin/mount_fusefs/mount_fusefs.8 projects/elftoolchain-update-r3130/sbin/mount_nfs/mount_nfs.8 projects/elftoolchain-update-r3130/sbin/newfs/newfs.8 projects/elftoolchain-update-r3130/sbin/routed/routed.8 projects/elftoolchain-update-r3130/share/man/man4/ada.4 projects/elftoolchain-update-r3130/share/man/man4/man4.i386/glxsb.4 projects/elftoolchain-update-r3130/share/man/man4/man4.powerpc/snd_ai2s.4 projects/elftoolchain-update-r3130/share/man/man4/man4.powerpc/snd_davbus.4 projects/elftoolchain-update-r3130/share/man/man4/tcp.4 projects/elftoolchain-update-r3130/share/man/man5/src.conf.5 projects/elftoolchain-update-r3130/share/man/man7/build.7 projects/elftoolchain-update-r3130/share/man/man7/crypto.7 projects/elftoolchain-update-r3130/share/man/man7/hier.7 projects/elftoolchain-update-r3130/share/mk/bsd.progs.mk projects/elftoolchain-update-r3130/share/mk/src.libnames.mk projects/elftoolchain-update-r3130/sys/amd64/ia32/ia32_sigtramp.S projects/elftoolchain-update-r3130/sys/amd64/ia32/ia32_syscall.c projects/elftoolchain-update-r3130/sys/amd64/vmm/io/vatpic.c projects/elftoolchain-update-r3130/sys/arm/arm/machdep.c projects/elftoolchain-update-r3130/sys/arm/broadcom/bcm2835/bcm2835_bsc.c projects/elftoolchain-update-r3130/sys/arm/broadcom/bcm2835/bcm2835_bscvar.h projects/elftoolchain-update-r3130/sys/arm/broadcom/bcm2835/bcm2835_cpufreq.c projects/elftoolchain-update-r3130/sys/arm/broadcom/bcm2835/bcm2835_mbox.c projects/elftoolchain-update-r3130/sys/arm/include/cpufunc.h projects/elftoolchain-update-r3130/sys/arm/ti/ti_gpio.c projects/elftoolchain-update-r3130/sys/arm/ti/ti_i2c.c projects/elftoolchain-update-r3130/sys/boot/common/loader.8 projects/elftoolchain-update-r3130/sys/boot/forth/brand.4th.8 projects/elftoolchain-update-r3130/sys/boot/forth/delay.4th.8 projects/elftoolchain-update-r3130/sys/boot/forth/menu.4th.8 projects/elftoolchain-update-r3130/sys/boot/forth/menusets.4th.8 projects/elftoolchain-update-r3130/sys/boot/forth/version.4th.8 projects/elftoolchain-update-r3130/sys/boot/powerpc/boot1.chrp/Makefile projects/elftoolchain-update-r3130/sys/conf/files projects/elftoolchain-update-r3130/sys/conf/files.arm projects/elftoolchain-update-r3130/sys/dev/ahci/ahci.c projects/elftoolchain-update-r3130/sys/dev/ahci/ahci_pci.c projects/elftoolchain-update-r3130/sys/dev/ahci/ahciem.c projects/elftoolchain-update-r3130/sys/dev/bce/if_bcefw.h projects/elftoolchain-update-r3130/sys/dev/beri/virtio/network/if_vtbe.c projects/elftoolchain-update-r3130/sys/dev/beri/virtio/virtio.c projects/elftoolchain-update-r3130/sys/dev/beri/virtio/virtio_block.c projects/elftoolchain-update-r3130/sys/dev/bge/if_bge.c projects/elftoolchain-update-r3130/sys/dev/pci/pci.c projects/elftoolchain-update-r3130/sys/dev/uart/uart_bus_pci.c projects/elftoolchain-update-r3130/sys/dev/usb/controller/xhci.h projects/elftoolchain-update-r3130/sys/dev/usb/controller/xhci_pci.c projects/elftoolchain-update-r3130/sys/dev/virtio/mmio/virtio_mmio.c projects/elftoolchain-update-r3130/sys/dev/vt/vt.h projects/elftoolchain-update-r3130/sys/dev/vt/vt_core.c projects/elftoolchain-update-r3130/sys/fs/nfsclient/nfs_clport.c projects/elftoolchain-update-r3130/sys/kern/kern_sysctl.c projects/elftoolchain-update-r3130/sys/modules/dtrace/dtraceall/dtraceall.c projects/elftoolchain-update-r3130/sys/teken/libteken/teken.3 projects/elftoolchain-update-r3130/tools/tools/ether_reflect/ether_reflect.1 projects/elftoolchain-update-r3130/tools/tools/vimage/vimage.8 projects/elftoolchain-update-r3130/usr.bin/soeliminate/soeliminate.1 projects/elftoolchain-update-r3130/usr.sbin/bsdinstall/bsdinstall.8 projects/elftoolchain-update-r3130/usr.sbin/kbdcontrol/kbdcontrol.1 Directory Properties: projects/elftoolchain-update-r3130/ (props changed) projects/elftoolchain-update-r3130/cddl/ (props changed) projects/elftoolchain-update-r3130/cddl/contrib/opensolaris/ (props changed) projects/elftoolchain-update-r3130/contrib/binutils/ (props changed) projects/elftoolchain-update-r3130/lib/libc/ (props changed) projects/elftoolchain-update-r3130/lib/libutil/ (props changed) projects/elftoolchain-update-r3130/sbin/ (props changed) projects/elftoolchain-update-r3130/sbin/ipfw/ (props changed) projects/elftoolchain-update-r3130/share/ (props changed) projects/elftoolchain-update-r3130/share/man/man4/ (props changed) projects/elftoolchain-update-r3130/sys/ (props changed) projects/elftoolchain-update-r3130/sys/amd64/vmm/ (props changed) projects/elftoolchain-update-r3130/sys/boot/ (props changed) projects/elftoolchain-update-r3130/sys/boot/powerpc/boot1.chrp/ (props changed) projects/elftoolchain-update-r3130/sys/conf/ (props changed) Modified: projects/elftoolchain-update-r3130/bin/ln/symlink.7 ============================================================================== --- projects/elftoolchain-update-r3130/bin/ln/symlink.7 Mon Dec 29 14:14:40 2014 (r276361) +++ projects/elftoolchain-update-r3130/bin/ln/symlink.7 Mon Dec 29 14:52:32 2014 (r276362) @@ -29,7 +29,7 @@ .\" @(#)symlink.7 8.3 (Berkeley) 3/31/94 .\" $FreeBSD$ .\" -.Dd April 25, 2010 +.Dd December 29, 2014 .Dt SYMLINK 7 .Os .Sh NAME @@ -219,7 +219,7 @@ would change the ownership of .Dq Li slink itself. .Pp -There are four exceptions to this rule. +There are five exceptions to this rule. The .Xr mv 1 and @@ -262,13 +262,12 @@ a file tree.) .Pp The .Xr file 1 -command is also an exception to this rule. -The -.Xr file 1 -command does not follow symbolic links named as argument by default. -The -.Xr file 1 -command does follow symbolic links named as argument if +and +.Xr stat 1 +commands are also exceptions to this rule. +These +commands do not follow symbolic links named as argument by default, +but do follow symbolic links named as argument if the .Fl L option is specified. .Pp Modified: projects/elftoolchain-update-r3130/cddl/contrib/opensolaris/cmd/zpool/zpool-features.7 ============================================================================== --- projects/elftoolchain-update-r3130/cddl/contrib/opensolaris/cmd/zpool/zpool-features.7 Mon Dec 29 14:14:40 2014 (r276361) +++ projects/elftoolchain-update-r3130/cddl/contrib/opensolaris/cmd/zpool/zpool-features.7 Mon Dec 29 14:52:32 2014 (r276362) @@ -443,7 +443,7 @@ This feature becomes .Sy active once a .Sy recordsize -property has been set larger than 128KB, and will return to being +property has been set larger than 128KB, and will return to being .Sy enabled once all filesystems that have ever had their recordsize larger than 128KB are destroyed. Modified: projects/elftoolchain-update-r3130/cddl/contrib/opensolaris/lib/libdtrace/common/dt_link.c ============================================================================== --- projects/elftoolchain-update-r3130/cddl/contrib/opensolaris/lib/libdtrace/common/dt_link.c Mon Dec 29 14:14:40 2014 (r276361) +++ projects/elftoolchain-update-r3130/cddl/contrib/opensolaris/lib/libdtrace/common/dt_link.c Mon Dec 29 14:52:32 2014 (r276362) @@ -685,8 +685,8 @@ dump_elf64(dtrace_hdl_t *dtp, const dof_ elf_file.ehdr.e_machine = EM_ARM; #elif defined(__mips__) elf_file.ehdr.e_machine = EM_MIPS; -#elif defined(__powerpc__) - elf_file.ehdr.e_machine = EM_PPC; +#elif defined(__powerpc64__) + elf_file.ehdr.e_machine = EM_PPC64; #elif defined(__sparc) elf_file.ehdr.e_machine = EM_SPARCV9; #elif defined(__i386) || defined(__amd64) @@ -784,21 +784,32 @@ dump_elf64(dtrace_hdl_t *dtp, const dof_ static int dt_symtab_lookup(Elf_Data *data_sym, int nsym, uintptr_t addr, uint_t shn, - GElf_Sym *sym) + GElf_Sym *sym, int uses_funcdesc, Elf *elf) { int i, ret = -1; + Elf64_Addr symval; + Elf_Scn *opd_scn; + Elf_Data *opd_desc; GElf_Sym s; for (i = 0; i < nsym && gelf_getsym(data_sym, i, sym) != NULL; i++) { - if (GELF_ST_TYPE(sym->st_info) == STT_FUNC && - shn == sym->st_shndx && - sym->st_value <= addr && - addr < sym->st_value + sym->st_size) { - if (GELF_ST_BIND(sym->st_info) == STB_GLOBAL) - return (0); + if (GELF_ST_TYPE(sym->st_info) == STT_FUNC) { + symval = sym->st_value; + if (uses_funcdesc) { + opd_scn = elf_getscn(elf, sym->st_shndx); + opd_desc = elf_rawdata(opd_scn, NULL); + symval = + *(uint64_t*)((char *)opd_desc->d_buf + symval); + } + if ((uses_funcdesc || shn == sym->st_shndx) && + symval <= addr && + addr < symval + sym->st_size) { + if (GELF_ST_BIND(sym->st_info) == STB_GLOBAL) + return (0); - ret = 0; - s = *sym; + ret = 0; + s = *sym; + } } } @@ -1375,7 +1386,8 @@ process_obj(dtrace_hdl_t *dtp, const cha continue; if (dt_symtab_lookup(data_sym, isym, rela.r_offset, - shdr_rel.sh_info, &fsym) != 0) { + shdr_rel.sh_info, &fsym, + (emachine1 == EM_PPC64), elf) != 0) { dt_strtab_destroy(strtab); goto err; } @@ -1536,7 +1548,8 @@ process_obj(dtrace_hdl_t *dtp, const cha p = strhyphenate(p + 3); /* strlen("___") */ if (dt_symtab_lookup(data_sym, isym, rela.r_offset, - shdr_rel.sh_info, &fsym) != 0) + shdr_rel.sh_info, &fsym, + (emachine1 == EM_PPC64), elf) != 0) goto err; if (fsym.st_name > data_str->d_size) Modified: projects/elftoolchain-update-r3130/cddl/usr.bin/ctfconvert/ctfconvert.1 ============================================================================== --- projects/elftoolchain-update-r3130/cddl/usr.bin/ctfconvert/ctfconvert.1 Mon Dec 29 14:14:40 2014 (r276361) +++ projects/elftoolchain-update-r3130/cddl/usr.bin/ctfconvert/ctfconvert.1 Mon Dec 29 14:52:32 2014 (r276362) @@ -74,8 +74,8 @@ Write the output to file in .Sh EXIT STATUS .Ex -std .Sh SEE ALSO -.Xr ctfmerge 1 , -.Xr ctfdump 1 +.Xr ctfdump 1 , +.Xr ctfmerge 1 .Sh HISTORY The .Nm Modified: projects/elftoolchain-update-r3130/contrib/binutils/bfd/elf32-ppc.c ============================================================================== --- projects/elftoolchain-update-r3130/contrib/binutils/bfd/elf32-ppc.c Mon Dec 29 14:14:40 2014 (r276361) +++ projects/elftoolchain-update-r3130/contrib/binutils/bfd/elf32-ppc.c Mon Dec 29 14:52:32 2014 (r276362) @@ -6185,7 +6185,7 @@ ppc_elf_relocate_section (bfd *output_bf howto = NULL; if (r_type < R_PPC_max) howto = ppc_elf_howto_table[r_type]; - switch (r_type) + switch ((int) r_type) { default: (*_bfd_error_handler) Modified: projects/elftoolchain-update-r3130/contrib/binutils/gas/config/tc-ppc.c ============================================================================== --- projects/elftoolchain-update-r3130/contrib/binutils/gas/config/tc-ppc.c Mon Dec 29 14:14:40 2014 (r276361) +++ projects/elftoolchain-update-r3130/contrib/binutils/gas/config/tc-ppc.c Mon Dec 29 14:52:32 2014 (r276362) @@ -1548,7 +1548,7 @@ ppc_insert_operand (unsigned long insn, errmsg = NULL; insn = (*operand->insert) (insn, (long) val, ppc_cpu, &errmsg); if (errmsg != (const char *) NULL) - as_bad_where (file, line, errmsg); + as_bad_where (file, line, "%s", errmsg); } else insn |= ((long) val & operand->bitm) << operand->shift; @@ -2279,7 +2279,7 @@ md_assemble (char *str) { insn = (*operand->insert) (insn, 0L, ppc_cpu, &errmsg); if (errmsg != (const char *) NULL) - as_bad (errmsg); + as_bad ("%s", errmsg); continue; } @@ -2292,7 +2292,7 @@ md_assemble (char *str) { insn = (*operand->insert) (insn, 0L, ppc_cpu, &errmsg); if (errmsg != (const char *) NULL) - as_bad (errmsg); + as_bad ("%s", errmsg); } if ((operand->flags & PPC_OPERAND_NEXT) != 0) next_opindex = *opindex_ptr + 1; Modified: projects/elftoolchain-update-r3130/contrib/bsnmp/lib/snmpcrypto.c ============================================================================== --- projects/elftoolchain-update-r3130/contrib/bsnmp/lib/snmpcrypto.c Mon Dec 29 14:14:40 2014 (r276361) +++ projects/elftoolchain-update-r3130/contrib/bsnmp/lib/snmpcrypto.c Mon Dec 29 14:52:32 2014 (r276362) @@ -366,7 +366,7 @@ snmp_pdu_decrypt(const struct snmp_pdu * return (SNMP_CODE_OK); } -int +enum snmp_code snmp_passwd_to_keys(struct snmp_user *user, char *passwd __unused) { if (user->auth_proto == SNMP_AUTH_NOAUTH && @@ -378,7 +378,7 @@ snmp_passwd_to_keys(struct snmp_user *us return (SNMP_CODE_FAILED); } -int +enum snmp_code snmp_get_local_keys(struct snmp_user *user, uint8_t *eid __unused, uint32_t elen __unused) { Modified: projects/elftoolchain-update-r3130/lib/libc/iconv/iconvlist.3 ============================================================================== --- projects/elftoolchain-update-r3130/lib/libc/iconv/iconvlist.3 Mon Dec 29 14:14:40 2014 (r276361) +++ projects/elftoolchain-update-r3130/lib/libc/iconv/iconvlist.3 Mon Dec 29 14:52:32 2014 (r276362) @@ -78,9 +78,9 @@ If an error occurs, will be NULL when calling .Fn do_one . .Sh SEE ALSO -.Xr iconv 3 , +.Xr __iconv_free_list 3 , .Xr __iconv_get_list 3 , -.Xr __iconv_free_list 3 +.Xr iconv 3 .Sh STANDARDS The .Nm Modified: projects/elftoolchain-update-r3130/lib/libc/locale/digittoint.3 ============================================================================== --- projects/elftoolchain-update-r3130/lib/libc/locale/digittoint.3 Mon Dec 29 14:14:40 2014 (r276361) +++ projects/elftoolchain-update-r3130/lib/libc/locale/digittoint.3 Mon Dec 29 14:52:32 2014 (r276362) @@ -64,5 +64,5 @@ the function will return 0. .Sh SEE ALSO .Xr ctype 3 , .Xr isdigit 3 , -.Xr isxdigit 3, +.Xr isxdigit 3 , .Xr xlocale 3 Modified: projects/elftoolchain-update-r3130/lib/libc/locale/xlocale.3 ============================================================================== --- projects/elftoolchain-update-r3130/lib/libc/locale/xlocale.3 Mon Dec 29 14:14:40 2014 (r276361) +++ projects/elftoolchain-update-r3130/lib/libc/locale/xlocale.3 Mon Dec 29 14:52:32 2014 (r276362) @@ -71,7 +71,7 @@ function. .Xr localeconv 3 , .Xr newlocale 3 , .Xr querylocale 3 , -.Xr uselocale 3 , +.Xr uselocale 3 .Sh CONVENIENCE FUNCTIONS The xlocale API includes a number of .Fa _l Modified: projects/elftoolchain-update-r3130/lib/libc/regex/re_format.7 ============================================================================== --- projects/elftoolchain-update-r3130/lib/libc/regex/re_format.7 Mon Dec 29 14:14:40 2014 (r276361) +++ projects/elftoolchain-update-r3130/lib/libc/regex/re_format.7 Mon Dec 29 14:52:32 2014 (r276362) @@ -314,10 +314,10 @@ compatible with but not specified by .St -p1003.2 , and should be used with caution in software intended to be portable to other systems. -The additional word delimiters +The additional word delimiters .Ql \e< and -.Ql \e> +.Ql \e> are provided to ease compatibility with traditional .Xr svr4 4 systems but are not portable and should be avoided. Modified: projects/elftoolchain-update-r3130/lib/libc/rpc/rpc.3 ============================================================================== --- projects/elftoolchain-update-r3130/lib/libc/rpc/rpc.3 Mon Dec 29 14:14:40 2014 (r276361) +++ projects/elftoolchain-update-r3130/lib/libc/rpc/rpc.3 Mon Dec 29 14:52:32 2014 (r276362) @@ -504,7 +504,6 @@ pages on which they are described: .Sh SEE ALSO .Xr getnetconfig 3 , .Xr getnetpath 3 , -.Xr rpcbind 3 , .Xr rpc_clnt_auth 3 , .Xr rpc_clnt_calls 3 , .Xr rpc_clnt_create 3 , @@ -513,5 +512,6 @@ pages on which they are described: .Xr rpc_svc_err 3 , .Xr rpc_svc_reg 3 , .Xr rpc_xdr 3 , +.Xr rpcbind 3 , .Xr xdr 3 , .Xr netconfig 5 Modified: projects/elftoolchain-update-r3130/lib/libc/rpc/rpc_svc_reg.3 ============================================================================== --- projects/elftoolchain-update-r3130/lib/libc/rpc/rpc_svc_reg.3 Mon Dec 29 14:14:40 2014 (r276361) +++ projects/elftoolchain-update-r3130/lib/libc/rpc/rpc_svc_reg.3 Mon Dec 29 14:52:32 2014 (r276362) @@ -176,8 +176,8 @@ Service implementors usually do not need .Sh SEE ALSO .Xr select 2 , .Xr rpc 3 , -.Xr rpcbind 3 , .Xr rpc_svc_calls 3 , .Xr rpc_svc_create 3 , .Xr rpc_svc_err 3 , +.Xr rpcbind 3 , .Xr rpcbind 8 Modified: projects/elftoolchain-update-r3130/lib/libc/tests/hash/Makefile ============================================================================== --- projects/elftoolchain-update-r3130/lib/libc/tests/hash/Makefile Mon Dec 29 14:14:40 2014 (r276361) +++ projects/elftoolchain-update-r3130/lib/libc/tests/hash/Makefile Mon Dec 29 14:52:32 2014 (r276362) @@ -1,8 +1,14 @@ # $FreeBSD$ +.include + TESTSDIR= ${TESTSBASE}/lib/libc/hash -NETBSD_ATF_TESTS_C= sha2_test +NETBSD_ATF_TESTS_C= + +.if ${MK_OPENSSL} != "no" +NETBSD_ATF_TESTS_C+= sha2_test +.endif NETBSD_ATF_TESTS_SH= hash_test Modified: projects/elftoolchain-update-r3130/lib/libdpv/dpv.3 ============================================================================== --- projects/elftoolchain-update-r3130/lib/libdpv/dpv.3 Mon Dec 29 14:14:40 2014 (r276361) +++ projects/elftoolchain-update-r3130/lib/libdpv/dpv.3 Mon Dec 29 14:52:32 2014 (r276362) @@ -435,8 +435,8 @@ or desired values. .El .Sh SEE ALSO .Xr dialog 1 , -.Xr dialog 3 , -.Xr Xdialog 1 +.Xr Xdialog 1 , +.Xr dialog 3 .Sh HISTORY The .Nm Modified: projects/elftoolchain-update-r3130/lib/libpam/modules/pam_guest/pam_guest.8 ============================================================================== --- projects/elftoolchain-update-r3130/lib/libpam/modules/pam_guest/pam_guest.8 Mon Dec 29 14:14:40 2014 (r276361) +++ projects/elftoolchain-update-r3130/lib/libpam/modules/pam_guest/pam_guest.8 Mon Dec 29 14:52:32 2014 (r276362) @@ -82,8 +82,8 @@ password. Requires the guest user to type in the guest account name as password. .El .Sh SEE ALSO -.Xr pam_getenv 3 , .Xr pam_get_item 3 , +.Xr pam_getenv 3 , .Xr pam.conf 5 , .Xr pam 8 .Sh AUTHORS Modified: projects/elftoolchain-update-r3130/lib/librtld_db/librtld_db.3 ============================================================================== --- projects/elftoolchain-update-r3130/lib/librtld_db/librtld_db.3 Mon Dec 29 14:14:40 2014 (r276361) +++ projects/elftoolchain-update-r3130/lib/librtld_db/librtld_db.3 Mon Dec 29 14:52:32 2014 (r276362) @@ -167,8 +167,8 @@ You can get the error string using .Xr ld 1 , .Xr ld-elf.so.1 1 , .Xr ld.so 1 , -.Xr libproc 3 , -.Xr rtld 1 +.Xr rtld 1 , +.Xr libproc 3 .Sh HISTORY The .Nm librtld_db Modified: projects/elftoolchain-update-r3130/lib/libusb/libusb20.3 ============================================================================== --- projects/elftoolchain-update-r3130/lib/libusb/libusb20.3 Mon Dec 29 14:14:40 2014 (r276361) +++ projects/elftoolchain-update-r3130/lib/libusb/libusb20.3 Mon Dec 29 14:52:32 2014 (r276362) @@ -1053,8 +1053,8 @@ This function does not return NULL. .It Pa /dev/usb .El .Sh SEE ALSO -.Xr usb 4 , .Xr libusb 3 , +.Xr usb 4 , .Xr usbconfig 8 , .Xr usbdump 8 . Modified: projects/elftoolchain-update-r3130/lib/libutil/quotafile.3 ============================================================================== --- projects/elftoolchain-update-r3130/lib/libutil/quotafile.3 Mon Dec 29 14:14:40 2014 (r276361) +++ projects/elftoolchain-update-r3130/lib/libutil/quotafile.3 Mon Dec 29 14:52:32 2014 (r276362) @@ -273,8 +273,8 @@ and set to indicate the error. .Sh SEE ALSO .Xr quotactl 2 , -.Xr quota.user 5 , -.Xr quota.group 5 +.Xr quota.group 5 , +.Xr quota.user 5 .Sh HISTORY The .Nm quotafile Modified: projects/elftoolchain-update-r3130/lib/msun/man/cexp.3 ============================================================================== --- projects/elftoolchain-update-r3130/lib/msun/man/cexp.3 Mon Dec 29 14:14:40 2014 (r276361) +++ projects/elftoolchain-update-r3130/lib/msun/man/cexp.3 Mon Dec 29 14:52:32 2014 (r276362) @@ -103,7 +103,7 @@ is not finite, the sign of the result is .Sh SEE ALSO .Xr complex 3 , .Xr exp 3 , -.Xr math 3 , +.Xr math 3 .Sh STANDARDS The .Fn cexp Modified: projects/elftoolchain-update-r3130/lib/msun/man/complex.3 ============================================================================== --- projects/elftoolchain-update-r3130/lib/msun/man/complex.3 Mon Dec 29 14:14:40 2014 (r276361) +++ projects/elftoolchain-update-r3130/lib/msun/man/complex.3 Mon Dec 29 14:52:32 2014 (r276362) @@ -103,9 +103,9 @@ ctan tangent ctanh hyperbolic tangent .El .Sh SEE ALSO -.Xr math 3 , .Xr fenv 3 , .Xr ieee 3 , +.Xr math 3 , .Xr tgmath 3 .Rs .%T "ISO/IEC 9899:TC3" Modified: projects/elftoolchain-update-r3130/lib/msun/man/lgamma.3 ============================================================================== --- projects/elftoolchain-update-r3130/lib/msun/man/lgamma.3 Mon Dec 29 14:14:40 2014 (r276361) +++ projects/elftoolchain-update-r3130/lib/msun/man/lgamma.3 Mon Dec 29 14:52:32 2014 (r276362) @@ -99,7 +99,7 @@ returns the sign of \(*G(x). and .Fn lgammal_r x signgamp provide the same functionality as -.Fn lgamma x , +.Fn lgamma x , .Fn lgammaf x , and .Fn lgammal x , Modified: projects/elftoolchain-update-r3130/lib/msun/man/sin.3 ============================================================================== --- projects/elftoolchain-update-r3130/lib/msun/man/sin.3 Mon Dec 29 14:14:40 2014 (r276361) +++ projects/elftoolchain-update-r3130/lib/msun/man/sin.3 Mon Dec 29 14:52:32 2014 (r276362) @@ -70,9 +70,9 @@ functions return the sine value. .Xr asin 3 , .Xr atan 3 , .Xr atan2 3 , -.Xr csin 3 , .Xr cos 3 , .Xr cosh 3 , +.Xr csin 3 , .Xr math 3 , .Xr sinh 3 , .Xr tan 3 , Modified: projects/elftoolchain-update-r3130/lib/ncurses/Makefile ============================================================================== --- projects/elftoolchain-update-r3130/lib/ncurses/Makefile Mon Dec 29 14:14:40 2014 (r276361) +++ projects/elftoolchain-update-r3130/lib/ncurses/Makefile Mon Dec 29 14:52:32 2014 (r276362) @@ -3,4 +3,11 @@ SUBDIR= ncurses form menu panel \ ncursesw formw menuw panelw +SUBDIR_PARALLEL= + +.for subdir in ${SUBDIR:Nncurses*:N*w} +SUBDIR_DEPEND_${subdir}= ncurses +SUBDIR_DEPEND_${subdir}w= ncursesw +.endfor + .include Modified: projects/elftoolchain-update-r3130/libexec/rtld-elf/powerpc/reloc.c ============================================================================== --- projects/elftoolchain-update-r3130/libexec/rtld-elf/powerpc/reloc.c Mon Dec 29 14:14:40 2014 (r276361) +++ projects/elftoolchain-update-r3130/libexec/rtld-elf/powerpc/reloc.c Mon Dec 29 14:52:32 2014 (r276362) @@ -483,7 +483,7 @@ reloc_jmpslot(Elf_Addr *wherep, Elf_Addr */ offset = target - (Elf_Addr)wherep; - if (abs(offset) < 32*1024*1024) { /* inside 32MB? */ + if (abs((int)offset) < 32*1024*1024) { /* inside 32MB? */ /* b value # branch directly */ *wherep = 0x48000000 | (offset & 0x03fffffc); __syncicache(wherep, 4); Modified: projects/elftoolchain-update-r3130/sbin/bsdlabel/bsdlabel.8 ============================================================================== --- projects/elftoolchain-update-r3130/sbin/bsdlabel/bsdlabel.8 Mon Dec 29 14:14:40 2014 (r276361) +++ projects/elftoolchain-update-r3130/sbin/bsdlabel/bsdlabel.8 Mon Dec 29 14:52:32 2014 (r276362) @@ -109,7 +109,7 @@ argument forces .Nm to use a layout suitable for a different architecture. Current valid values are -.Cm i386 , amd64 , +.Cm i386 , amd64 , and .Cm pc98 . If this option is omitted, Modified: projects/elftoolchain-update-r3130/sbin/camcontrol/camcontrol.8 ============================================================================== --- projects/elftoolchain-update-r3130/sbin/camcontrol/camcontrol.8 Mon Dec 29 14:14:40 2014 (r276361) +++ projects/elftoolchain-update-r3130/sbin/camcontrol/camcontrol.8 Mon Dec 29 14:52:32 2014 (r276362) @@ -1613,7 +1613,7 @@ For example: .It FC A Fibre Channel Transport ID consists of .Dq fcp, -followed by a 64-bit Fibre Channel World Wide Name. +followed by a 64-bit Fibre Channel World Wide Name. For example: .Pp .Dl fcp,0x1234567812345678 @@ -1735,11 +1735,11 @@ May also be specified as .Dq exclusive_access . .It wr_ex_ro Write Exclusive Registrants Only mode. -May also be specified as +May also be specified as .Dq write_exclusive_reg_only . .It ex_ac_ro Exclusive Access Registrants Only mode. -May also be specified as +May also be specified as .Dq exclusive_access_reg_only . .It wr_ex_ar Write Exclusive All Registrants mode. @@ -1747,7 +1747,7 @@ May also be specified as .Dq write_exclusive_all_regs . .It ex_ac_ar Exclusive Access All Registrants mode. -May also be specified as +May also be specified as .Dq exclusive_access_all_regs . .El .It Fl U @@ -1931,7 +1931,7 @@ camcontrol persist da0 -v -i read_keys .Pp This will read any persistent reservation keys registered with da0, and display any errors encountered when sending the PERSISTENT RESERVE IN -.Tn SCSI +.Tn SCSI command. .Bd -literal -offset indent camcontrol persist da0 -v -o register -a -K 0x12345678 @@ -1976,9 +1976,9 @@ camcontrol persist da0 -v -o register_mo .Ed .Pp This will move the registration from the current initiator, whose -Registration Key is 0x87654321, to the Fibre Channel initiator with the +Registration Key is 0x87654321, to the Fibre Channel initiator with the Fiber Channel World Wide Node Name 0x1234567812345678. -A new registration key, 0x12345678, will be registered for the initiator +A new registration key, 0x12345678, will be registered for the initiator with the Fibre Channel World Wide Node Name 0x1234567812345678, and the current initiator will be unregistered from the target. The reservation will be moved to relative target port 2 on the target Modified: projects/elftoolchain-update-r3130/sbin/dhclient/dhclient.conf.5 ============================================================================== --- projects/elftoolchain-update-r3130/sbin/dhclient/dhclient.conf.5 Mon Dec 29 14:14:40 2014 (r276361) +++ projects/elftoolchain-update-r3130/sbin/dhclient/dhclient.conf.5 Mon Dec 29 14:52:32 2014 (r276362) @@ -524,8 +524,8 @@ In many cases, it is sufficient to just file - the defaults are usually fine. .Sh SEE ALSO .Xr dhclient.leases 5 , -.Xr dhcpd.conf 5 , .Xr dhcp-options 5 , +.Xr dhcpd.conf 5 , .Xr dhclient 8 , .Xr dhcpd 8 .Rs Modified: projects/elftoolchain-update-r3130/sbin/dhclient/dhclient.leases.5 ============================================================================== --- projects/elftoolchain-update-r3130/sbin/dhclient/dhclient.leases.5 Mon Dec 29 14:14:40 2014 (r276361) +++ projects/elftoolchain-update-r3130/sbin/dhclient/dhclient.leases.5 Mon Dec 29 14:52:32 2014 (r276362) @@ -75,8 +75,8 @@ Current lease file. .El .Sh SEE ALSO .Xr dhclient.conf 5 , -.Xr dhcpd.conf 5 , .Xr dhcp-options 5 , +.Xr dhcpd.conf 5 , .Xr dhclient 8 , .Xr dhcpd 8 .Rs Modified: projects/elftoolchain-update-r3130/sbin/geom/class/label/glabel.8 ============================================================================== --- projects/elftoolchain-update-r3130/sbin/geom/class/label/glabel.8 Mon Dec 29 14:14:40 2014 (r276361) +++ projects/elftoolchain-update-r3130/sbin/geom/class/label/glabel.8 Mon Dec 29 14:52:32 2014 (r276362) @@ -227,11 +227,11 @@ maximum amount of debug information is p .It Va kern.geom.label.*.enable : No 1 Most .Nm LABEL -providers implement a +providers implement a .Xr sysctl 8 flag and a tunable variable named in the above format. This flag controls if the label provider will be active, tasting devices -and creating label nodes in the +and creating label nodes in the .Xr devfs 5 tree. It is sometimes desirable to disable certain label types if they conflict with other classes in complex GEOM topologies. Modified: projects/elftoolchain-update-r3130/sbin/ifconfig/ifconfig.8 ============================================================================== --- projects/elftoolchain-update-r3130/sbin/ifconfig/ifconfig.8 Mon Dec 29 14:14:40 2014 (r276361) +++ projects/elftoolchain-update-r3130/sbin/ifconfig/ifconfig.8 Mon Dec 29 14:52:32 2014 (r276362) @@ -2819,9 +2819,9 @@ tried to alter an interface's configurat .Xr devd.conf 5 , .\" .Xr eon 5 , .Xr devd 8 , +.Xr jail 8 , .Xr rc 8 , .Xr routed 8 , -.Xr jail 8 , .Xr sysctl 8 .Sh HISTORY The Modified: projects/elftoolchain-update-r3130/sbin/ipfw/ipfw.8 ============================================================================== --- projects/elftoolchain-update-r3130/sbin/ipfw/ipfw.8 Mon Dec 29 14:14:40 2014 (r276361) +++ projects/elftoolchain-update-r3130/sbin/ipfw/ipfw.8 Mon Dec 29 14:52:32 2014 (r276362) @@ -76,7 +76,7 @@ in-kernel NAT. .Nm .Oo Cm set Ar N Oc Cm table .Brq Ar name | all -.Cm info +.Cm info .Nm .Oo Cm set Ar N Oc Cm table .Brq Ar name | all @@ -1872,7 +1872,7 @@ addresses or other search keys (e.g., po In the rest of this section we will use the term ``key''. Table name needs to match the following spec: .Ar table-name . -Tables with the same name can be created in different +Tables with the same name can be created in different .Ar sets . However, rule links to the tables in .Ar set 0 @@ -1972,7 +1972,7 @@ command. Addition of all items are performed atomically. By default, error in addition of one entry does not influence addition of other entries. However, non-zero error code is returned -in that case. +in that case. Special .Cm atomic keyword may be specified before @@ -1984,7 +1984,7 @@ One or more entries can be removed from command. By default, error in removal of one entry does not influence removing of other entries. However, non-zero error code is returned -in that case. +in that case. .Pp It may be possible to check what entry will be found on particular .Ar table-key Modified: projects/elftoolchain-update-r3130/sbin/iscontrol/iscontrol.8 ============================================================================== --- projects/elftoolchain-update-r3130/sbin/iscontrol/iscontrol.8 Mon Dec 29 14:14:40 2014 (r276361) +++ projects/elftoolchain-update-r3130/sbin/iscontrol/iscontrol.8 Mon Dec 29 14:52:32 2014 (r276362) @@ -43,7 +43,7 @@ .Sh DESCRIPTION .Bf -symbolic This command, along with its kernel counterpart -.Xr iscsi_initiator 4 , +.Xr iscsi_initiator 4 , is obsolete. Users are advised to use .Xr iscsictl 8 @@ -121,8 +121,8 @@ whatever options are specified, and star .Xr iscsi_initiator 4 , .Xr sa 4 , .Xr iscsi.conf 5 , -.Xr iscsictl 8 , -.Xr camcontrol 8 +.Xr camcontrol 8 , +.Xr iscsictl 8 .Sh STANDARDS RFC 3720 .\"Sh HISTORY Modified: projects/elftoolchain-update-r3130/sbin/mount/mount.8 ============================================================================== --- projects/elftoolchain-update-r3130/sbin/mount/mount.8 Mon Dec 29 14:14:40 2014 (r276361) +++ projects/elftoolchain-update-r3130/sbin/mount/mount.8 Mon Dec 29 14:52:32 2014 (r276362) @@ -548,6 +548,7 @@ support for a particular file system mig .Xr ext2fs 5 , .Xr fstab 5 , .Xr procfs 5 , +.Xr tmpfs 5 , .Xr automount 8 , .Xr fstyp 8 , .Xr kldload 8 , @@ -558,7 +559,6 @@ support for a particular file system mig .Xr mount_smbfs 8 , .Xr mount_udf 8 , .Xr mount_unionfs 8 , -.Xr tmpfs 5 , .Xr umount 8 , .Xr zfs 8 , .Xr zpool 8 Modified: projects/elftoolchain-update-r3130/sbin/mount_fusefs/mount_fusefs.8 ============================================================================== --- projects/elftoolchain-update-r3130/sbin/mount_fusefs/mount_fusefs.8 Mon Dec 29 14:14:40 2014 (r276361) +++ projects/elftoolchain-update-r3130/sbin/mount_fusefs/mount_fusefs.8 Mon Dec 29 14:52:32 2014 (r276362) @@ -326,8 +326,8 @@ does not call any external utility and a .Sh SEE ALSO .Xr fstat 1 , .Xr mount 8 , -.Xr umount 8 , -.Xr sudo 8 +.Xr sudo 8 , +.Xr umount 8 .Sh HISTORY .Nm appears as the part of the FreeBSD implementation of the Fuse userspace filesystem Modified: projects/elftoolchain-update-r3130/sbin/mount_nfs/mount_nfs.8 ============================================================================== --- projects/elftoolchain-update-r3130/sbin/mount_nfs/mount_nfs.8 Mon Dec 29 14:14:40 2014 (r276361) +++ projects/elftoolchain-update-r3130/sbin/mount_nfs/mount_nfs.8 Mon Dec 29 14:52:32 2014 (r276362) @@ -393,7 +393,7 @@ Use the specified version number for NFS See the .Cm nfsv2 , .Cm nfsv3 , -and +and .Cm nfsv4 options for details. .It Cm wcommitsize Ns = Ns Aq Ar value Modified: projects/elftoolchain-update-r3130/sbin/newfs/newfs.8 ============================================================================== --- projects/elftoolchain-update-r3130/sbin/newfs/newfs.8 Mon Dec 29 14:14:40 2014 (r276361) +++ projects/elftoolchain-update-r3130/sbin/newfs/newfs.8 Mon Dec 29 14:52:32 2014 (r276362) @@ -310,10 +310,10 @@ on file systems that contain many small .Xr fsck 8 , .Xr gjournal 8 , .Xr growfs 8 , +.Xr gvinum 8 , .Xr makefs 8 , .Xr mount 8 , -.Xr tunefs 8 , -.Xr gvinum 8 +.Xr tunefs 8 .Rs .%A M. McKusick .%A W. Joy Modified: projects/elftoolchain-update-r3130/sbin/routed/routed.8 ============================================================================== --- projects/elftoolchain-update-r3130/sbin/routed/routed.8 Mon Dec 29 14:14:40 2014 (r276361) +++ projects/elftoolchain-update-r3130/sbin/routed/routed.8 Mon Dec 29 14:52:32 2014 (r276362) @@ -254,7 +254,7 @@ The following options are available: allow .Nm to accept a RIP request from non-router node. -When specified once, +When specified once, .Nm replies to a route information query from neighbor nodes. When specified twice, Modified: projects/elftoolchain-update-r3130/share/man/man4/ada.4 ============================================================================== --- projects/elftoolchain-update-r3130/share/man/man4/ada.4 Mon Dec 29 14:14:40 2014 (r276361) +++ projects/elftoolchain-update-r3130/share/man/man4/ada.4 Mon Dec 29 14:52:32 2014 (r276362) @@ -138,7 +138,7 @@ The default is sorting enabled for HDDs These variables determine whether device read-ahead and write caches should be enabled globally or per-device or disabled. Set to 1 to enable write cache, 0 to disable, -1 to leave it as-is. -Values modified at runtime take effect only after device reset +Values modified at runtime take effect only after device reset .Pq using the reset subcommand of Xr camcontrol 8 . Because of that, this setting should be changed in .Pa /boot/loader.conf Modified: projects/elftoolchain-update-r3130/share/man/man4/man4.i386/glxsb.4 ============================================================================== --- projects/elftoolchain-update-r3130/share/man/man4/man4.i386/glxsb.4 Mon Dec 29 14:14:40 2014 (r276361) +++ projects/elftoolchain-update-r3130/share/man/man4/man4.i386/glxsb.4 Mon Dec 29 14:52:32 2014 (r276362) @@ -70,8 +70,8 @@ device driver with AES keys of length != .Sh SEE ALSO .Xr crypto 4 , .Xr intro 4 , -.Xr pci 4 , .Xr ipsec 4 , +.Xr pci 4 , .Xr random 4 , .Xr crypto 9 .Sh HISTORY Modified: projects/elftoolchain-update-r3130/share/man/man4/man4.powerpc/snd_ai2s.4 ============================================================================== --- projects/elftoolchain-update-r3130/share/man/man4/man4.powerpc/snd_ai2s.4 Mon Dec 29 14:14:40 2014 (r276361) +++ projects/elftoolchain-update-r3130/share/man/man4/man4.powerpc/snd_ai2s.4 Mon Dec 29 14:52:32 2014 (r276362) @@ -65,8 +65,8 @@ Apple Tumbler Audio Apple Snapper Audio .El .Sh SEE ALSO -.Xr sound 4 , -.Xr snd_davbus 4 +.Xr snd_davbus 4 , +.Xr sound 4 .Sh HISTORY The .Nm Modified: projects/elftoolchain-update-r3130/share/man/man4/man4.powerpc/snd_davbus.4 ============================================================================== --- projects/elftoolchain-update-r3130/share/man/man4/man4.powerpc/snd_davbus.4 Mon Dec 29 14:14:40 2014 (r276361) +++ projects/elftoolchain-update-r3130/share/man/man4/man4.powerpc/snd_davbus.4 Mon Dec 29 14:52:32 2014 (r276362) @@ -63,8 +63,8 @@ Apple Burgundy Audio Apple Screamer Audio .El .Sh SEE ALSO -.Xr sound 4 , -.Xr snd_ai2s 4 +.Xr snd_ai2s 4 , +.Xr sound 4 .Sh HISTORY The .Nm Modified: projects/elftoolchain-update-r3130/share/man/man4/tcp.4 ============================================================================== --- projects/elftoolchain-update-r3130/share/man/man4/tcp.4 Mon Dec 29 14:14:40 2014 (r276361) +++ projects/elftoolchain-update-r3130/share/man/man4/tcp.4 Mon Dec 29 14:52:32 2014 (r276362) @@ -521,11 +521,11 @@ This is needed to help with connection e when a broken firewall is in the network path. .It Va pmtud_blackhole_detection Turn on automatic path MTU blackhole detection. -In case of retransmits we will +In case of retransmits OS will lower the MSS to check if it's MTU problem. If current MSS is greater than -configured value to try, it will be set to it, otherwise, MSS will be set to -default values +configured value to try, it will be set to configured value, otherwise, +MSS will be set to default values .Po Va net.inet.tcp.mssdflt and .Va net.inet.tcp.v6mssdflt @@ -535,11 +535,12 @@ MSS to try for IPv4 if PMTU blackhole de .It Va v6pmtud_blackhole_mss MSS to try for IPv6 if PMTU blackhole detection is turned on. .It Va pmtud_blackhole_activated -Number of times the code was activated to attempt a MSS downshift. -.It Va pmtud_blackhole_min_activated -Number of times the blackhole MSS was used in an attempt to downshift. +Number of times configured values were used in an attempt to downshift. +.It Va pmtud_blackhole_activated_min_mss +Number of times default MSS was used in an attempt to downshift. .It Va pmtud_blackhole_failed -Number of times that we failed to connect after we downshifted the MSS. +Number of connections for which retransmits continued even after MSS +downshift. .El .Sh ERRORS A socket operation may fail with one of the following errors returned: Modified: projects/elftoolchain-update-r3130/share/man/man5/src.conf.5 ============================================================================== --- projects/elftoolchain-update-r3130/share/man/man5/src.conf.5 Mon Dec 29 14:14:40 2014 (r276361) +++ projects/elftoolchain-update-r3130/share/man/man5/src.conf.5 Mon Dec 29 14:52:32 2014 (r276362) @@ -1143,7 +1143,7 @@ support files (fonts and keymaps). Set this to not add warning flags to the compiler invocations. Useful as a temporary workaround when code enters the tree which triggers warnings in environments that differ from the -original develoepr. +original developer. .It Va WITHOUT_WIRELESS .\" from FreeBSD: head/tools/build/options/WITHOUT_WIRELESS 183242 2008-09-21 22:02:26Z sam Set to not build programs used for 802.11 wireless networks; especially Modified: projects/elftoolchain-update-r3130/share/man/man7/build.7 ============================================================================== --- projects/elftoolchain-update-r3130/share/man/man7/build.7 Mon Dec 29 14:14:40 2014 (r276361) +++ projects/elftoolchain-update-r3130/share/man/man7/build.7 Mon Dec 29 14:52:32 2014 (r276362) @@ -24,7 +24,7 @@ .\" .\" $FreeBSD$ .\" -.Dd June 25, 2014 +.Dd December 18, 2014 .Dt BUILD 7 .Os .Sh NAME Modified: projects/elftoolchain-update-r3130/share/man/man7/crypto.7 ============================================================================== --- projects/elftoolchain-update-r3130/share/man/man7/crypto.7 Mon Dec 29 14:14:40 2014 (r276361) +++ projects/elftoolchain-update-r3130/share/man/man7/crypto.7 Mon Dec 29 14:52:32 2014 (r276362) @@ -97,7 +97,7 @@ This algorithm implements Integer Counte This is similar to what most people call counter mode, but instead of the counter being split into a nonce and a counter part, then entire nonce is used as the initial counter. -This does mean that if a counter is required that rolls over at 32 bits, +This does mean that if a counter is required that rolls over at 32 bits, the transaction need to be split into two parts where the counter rolls over. The counter incremented as a 128-bit big endian number. .Pp Modified: projects/elftoolchain-update-r3130/share/man/man7/hier.7 ============================================================================== --- projects/elftoolchain-update-r3130/share/man/man7/hier.7 Mon Dec 29 14:14:40 2014 (r276361) +++ projects/elftoolchain-update-r3130/share/man/man7/hier.7 Mon Dec 29 14:52:32 2014 (r276362) @@ -50,7 +50,7 @@ default bootstrapping configuration file .Xr loader.conf 5 .It Pa dtb/ Compiled flattened device tree (FDT) files; see -.Xr fdt 4 +.Xr fdt 4 and .Xr dtc 1 .It Pa firmware/ @@ -64,8 +64,8 @@ third-party loadable kernel modules; see .Xr kldstat 8 .It Pa zfs/ -Contains -.Xr zfs 8 +Contains +.Xr zfs 8 zpool cache files. .El .It Pa /cdrom/ Modified: projects/elftoolchain-update-r3130/share/mk/bsd.progs.mk ============================================================================== --- projects/elftoolchain-update-r3130/share/mk/bsd.progs.mk Mon Dec 29 14:14:40 2014 (r276361) +++ projects/elftoolchain-update-r3130/share/mk/bsd.progs.mk Mon Dec 29 14:52:32 2014 (r276362) @@ -43,7 +43,7 @@ PROG ?= $t .if defined(PROG) # just one of many PROG_OVERRIDE_VARS += BINDIR DPSRCS MAN SRCS -PROG_VARS += CFLAGS CPPFLAGS CXXFLAGS DPADD DPLIBS LDADD LDFLAGS ${PROG_OVERRIDE_VARS} +PROG_VARS += CFLAGS CPPFLAGS CXXFLAGS DPADD DPLIBS LDADD LIBADD LDFLAGS ${PROG_OVERRIDE_VARS} .for v in ${PROG_VARS:O:u} .if empty(${PROG_OVERRIDE_VARS:M$v}) .if defined(${v}.${PROG}) Modified: projects/elftoolchain-update-r3130/share/mk/src.libnames.mk ============================================================================== --- projects/elftoolchain-update-r3130/share/mk/src.libnames.mk Mon Dec 29 14:14:40 2014 (r276361) +++ projects/elftoolchain-update-r3130/share/mk/src.libnames.mk Mon Dec 29 14:52:32 2014 (r276362) @@ -110,6 +110,7 @@ _LIBRARIES= \ memstat \ mp \ nandfs \ + ncurses \ ncursesw \ netgraph \ ngatm \ Modified: projects/elftoolchain-update-r3130/sys/amd64/ia32/ia32_sigtramp.S ============================================================================== --- projects/elftoolchain-update-r3130/sys/amd64/ia32/ia32_sigtramp.S Mon Dec 29 14:14:40 2014 (r276361) +++ projects/elftoolchain-update-r3130/sys/amd64/ia32/ia32_sigtramp.S Mon Dec 29 14:52:32 2014 (r276362) @@ -86,34 +86,14 @@ ia32_osigcode: * executed, we would have a window where the ring 0 code is * executed with the wrong gsbase. * - * Instead, reflect the lcall $7,$0 back to ring 3 trampoline - * which sets up the frame for int $0x80. + * Instead, set LDT descriptor 0 as code segment, which reflects + * the lcall $7,$0 back to ring 3 trampoline. The trampoline sets up + * the frame for int $0x80. */ ALIGN_TEXT lcall_tramp: - .code64 - /* - * There, we are in 64bit mode and need to return to 32bit. - * First, convert call frame from 64 to 32 bit format. - */ - pushq %rax - movl 16(%rsp),%eax - movl %eax,20(%rsp) /* ret %cs */ - movl 8(%rsp),%eax - movl %eax,16(%rsp) /* ret %rip -> %eip */ - popq %rax - addq $8,%rsp - /* Now return to 32bit */ - pushq $0x33 /* _ucode32sel UPL */ - callq 1f -1: - addq $2f-1b,(%rsp) - lretq -2: - /* Back in 32bit mode */ - .code32 cmpl $SYS_vfork,%eax - je 4f + je 1f pushl %ebp movl %esp,%ebp pushl 0x24(%ebp) /* arg 6 */ @@ -122,21 +102,20 @@ lcall_tramp: pushl 0x18(%ebp) pushl 0x14(%ebp) pushl 0x10(%ebp) /* arg 1 */ - pushl 0xc(%ebp) /* gap */ + subl $4,%esp /* gap */ int $0x80 leavel -3: lretl -4: +1: /* * vfork handling is special and relies on the libc stub saving - * the return ip in %ecx. If vfork failed, then there is no - * child which can corrupt the frame created by call gate. + * the return ip in %ecx. Also, we assume that the call was done + * with ucode32 selector in %cs. */ int $0x80 - jb 3b - addl $8,%esp - jmpl *%ecx + movl $0x33,4(%esp) /* GUCODE32_SEL | SEL_UPL */ + movl %ecx,(%esp) + lretl #endif ALIGN_TEXT Modified: projects/elftoolchain-update-r3130/sys/amd64/ia32/ia32_syscall.c ============================================================================== --- projects/elftoolchain-update-r3130/sys/amd64/ia32/ia32_syscall.c Mon Dec 29 14:14:40 2014 (r276361) +++ projects/elftoolchain-update-r3130/sys/amd64/ia32/ia32_syscall.c Mon Dec 29 14:52:32 2014 (r276362) @@ -223,39 +223,28 @@ int setup_lcall_gate(void) { struct i386_ldt_args uap; - struct user_segment_descriptor descs[2]; - struct gate_descriptor *ssd; + struct user_segment_descriptor desc; uint32_t lcall_addr; int error; bzero(&uap, sizeof(uap)); uap.start = 0; - uap.num = 2; - - /* - * This is the easiest way to cut the space for system - * descriptor in ldt. Manually adjust the descriptor type to - * the call gate later. - */ - bzero(&descs[0], sizeof(descs)); - descs[0].sd_type = SDT_SYSNULL; - descs[1].sd_type = SDT_SYSNULL; - error = amd64_set_ldt(curthread, &uap, descs); + uap.num = 1; + lcall_addr = curproc->p_sysent->sv_psstrings - sz_lcall_tramp; + bzero(&desc, sizeof(desc)); + desc.sd_type = SDT_MEMERA; + desc.sd_dpl = SEL_UPL; + desc.sd_p = 1; + desc.sd_def32 = 1; + desc.sd_gran = 1; + desc.sd_lolimit = 0xffff; + desc.sd_hilimit = 0xf; + desc.sd_lobase = lcall_addr; + desc.sd_hibase = lcall_addr >> 24; + error = amd64_set_ldt(curthread, &uap, &desc); if (error != 0) return (error); - lcall_addr = curproc->p_sysent->sv_psstrings - sz_lcall_tramp; - mtx_lock(&dt_lock); - ssd = (struct gate_descriptor *)(curproc->p_md.md_ldt->ldt_base); - bzero(ssd, sizeof(*ssd)); - ssd->gd_looffset = lcall_addr; - ssd->gd_hioffset = lcall_addr >> 16; - ssd->gd_selector = _ucodesel; - ssd->gd_type = SDT_SYSCGT; - ssd->gd_dpl = SEL_UPL; - ssd->gd_p = 1; - mtx_unlock(&dt_lock); - return (0); } #endif Modified: projects/elftoolchain-update-r3130/sys/amd64/vmm/io/vatpic.c ============================================================================== --- projects/elftoolchain-update-r3130/sys/amd64/vmm/io/vatpic.c Mon Dec 29 14:14:40 2014 (r276361) +++ projects/elftoolchain-update-r3130/sys/amd64/vmm/io/vatpic.c Mon Dec 29 14:52:32 2014 (r276362) @@ -73,6 +73,7 @@ struct atpic { uint8_t request; /* Interrupt Request Register (IIR) */ uint8_t service; /* Interrupt Service (ISR) */ uint8_t mask; /* Interrupt Mask Register (IMR) */ + uint8_t smm; /* special mask mode */ int acnt[8]; /* sum of pin asserts and deasserts */ int lowprio; /* lowest priority irq */ @@ -131,8 +132,16 @@ vatpic_get_highest_isrpin(struct atpic * ATPIC_PIN_FOREACH(pin, atpic, i) { bit = (1 << pin); - if (atpic->service & bit) - return (pin); + if (atpic->service & bit) { + /* + * An IS bit that is masked by an IMR bit will not be + * cleared by a non-specific EOI in Special Mask Mode. + */ + if (atpic->smm && (atpic->mask & bit) != 0) + continue; + else + return (pin); + } } return (-1); @@ -153,6 +162,15 @@ vatpic_get_highest_irrpin(struct atpic * if (atpic->sfn) serviced &= ~(1 << 2); + /* + * In 'Special Mask Mode', when a mask bit is set in OCW1 it inhibits + * further interrupts at that level and enables interrupts from all + * other levels that are not masked. In other words the ISR has no *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-projects@FreeBSD.ORG Mon Dec 29 16:32:25 2014 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 3B58B3EC; Mon, 29 Dec 2014 16:32:25 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 0DD232044; Mon, 29 Dec 2014 16:32:25 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id sBTGWOSS026413; Mon, 29 Dec 2014 16:32:24 GMT (envelope-from emaste@FreeBSD.org) Received: (from emaste@localhost) by svn.freebsd.org (8.14.9/8.14.9/Submit) id sBTGWO1s026412; Mon, 29 Dec 2014 16:32:24 GMT (envelope-from emaste@FreeBSD.org) Message-Id: <201412291632.sBTGWO1s026412@svn.freebsd.org> X-Authentication-Warning: svn.freebsd.org: emaste set sender to emaste@FreeBSD.org using -f From: Ed Maste Date: Mon, 29 Dec 2014 16:32:24 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r276366 - projects/elftoolchain-update-r3130 X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 29 Dec 2014 16:32:25 -0000 Author: emaste Date: Mon Dec 29 16:32:24 2014 New Revision: 276366 URL: https://svnweb.freebsd.org/changeset/base/276366 Log: Merge r276153-r276362 from HEAD This is a mergeinfo change only, prompted by Subversion's complaint that "revisions 276153 through 276362 were [not] previously merged from svn+ssh://svn.freebsd.org/base/head" Modified: Directory Properties: projects/elftoolchain-update-r3130/ (props changed) From owner-svn-src-projects@FreeBSD.ORG Mon Dec 29 17:36:38 2014 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 9D6A943A; Mon, 29 Dec 2014 17:36:38 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 8A5CD3A99; Mon, 29 Dec 2014 17:36:38 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id sBTHac2r054769; Mon, 29 Dec 2014 17:36:38 GMT (envelope-from dim@FreeBSD.org) Received: (from dim@localhost) by svn.freebsd.org (8.14.9/8.14.9/Submit) id sBTHacqa054767; Mon, 29 Dec 2014 17:36:38 GMT (envelope-from dim@FreeBSD.org) Message-Id: <201412291736.sBTHacqa054767@svn.freebsd.org> X-Authentication-Warning: svn.freebsd.org: dim set sender to dim@FreeBSD.org using -f From: Dimitry Andric Date: Mon, 29 Dec 2014 17:36:38 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r276368 - in projects/clang350-import/sys/boot/powerpc: ofw ps3 X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 29 Dec 2014 17:36:38 -0000 Author: dim Date: Mon Dec 29 17:36:37 2014 New Revision: 276368 URL: https://svnweb.freebsd.org/changeset/base/276368 Log: For building sys/boot/powerpc, get rid of the obsolete -mppc64bridge assembler flag. No change in the generated code. Reviewed by: nwhitehorn Differential Revision: https://reviews.freebsd.org/D1392 Modified: projects/clang350-import/sys/boot/powerpc/ofw/Makefile projects/clang350-import/sys/boot/powerpc/ps3/Makefile Modified: projects/clang350-import/sys/boot/powerpc/ofw/Makefile ============================================================================== --- projects/clang350-import/sys/boot/powerpc/ofw/Makefile Mon Dec 29 17:17:01 2014 (r276367) +++ projects/clang350-import/sys/boot/powerpc/ofw/Makefile Mon Dec 29 17:36:37 2014 (r276368) @@ -77,9 +77,6 @@ CFLAGS+= -DRELOC=${RELOC} LDFLAGS= -nostdlib -static -T ${.CURDIR}/ldscript.powerpc -# 64-bit bridge extensions -CFLAGS+= -Wa,-mppc64bridge - # Pull in common loader code .PATH: ${.CURDIR}/../../ofw/common .include "${.CURDIR}/../../ofw/common/Makefile.inc" Modified: projects/clang350-import/sys/boot/powerpc/ps3/Makefile ============================================================================== --- projects/clang350-import/sys/boot/powerpc/ps3/Makefile Mon Dec 29 17:17:01 2014 (r276367) +++ projects/clang350-import/sys/boot/powerpc/ps3/Makefile Mon Dec 29 17:36:37 2014 (r276368) @@ -87,9 +87,6 @@ CFLAGS+= -DRELOC=${RELOC} LDFLAGS= -nostdlib -static -T ${.CURDIR}/ldscript.powerpc -# 64-bit bridge extensions -CFLAGS+= -Wa,-mppc64bridge - # Pull in common loader code #.PATH: ${.CURDIR}/../../ofw/common #.include "${.CURDIR}/../../ofw/common/Makefile.inc" From owner-svn-src-projects@FreeBSD.ORG Mon Dec 29 19:04:18 2014 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 9CCA2A83; Mon, 29 Dec 2014 19:04:18 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 88DD31C02; Mon, 29 Dec 2014 19:04:18 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id sBTJ4ISn096060; Mon, 29 Dec 2014 19:04:18 GMT (envelope-from emaste@FreeBSD.org) Received: (from emaste@localhost) by svn.freebsd.org (8.14.9/8.14.9/Submit) id sBTJ4Ics096059; Mon, 29 Dec 2014 19:04:18 GMT (envelope-from emaste@FreeBSD.org) Message-Id: <201412291904.sBTJ4Ics096059@svn.freebsd.org> X-Authentication-Warning: svn.freebsd.org: emaste set sender to emaste@FreeBSD.org using -f From: Ed Maste Date: Mon, 29 Dec 2014 19:04:18 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r276370 - projects/elftoolchain-update-r3130/sys/dev/virtio/network X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 29 Dec 2014 19:04:18 -0000 Author: emaste Date: Mon Dec 29 19:04:17 2014 New Revision: 276370 URL: https://svnweb.freebsd.org/changeset/base/276370 Log: Merge from head at r276369 Modified: projects/elftoolchain-update-r3130/sys/dev/virtio/network/if_vtnet.c Directory Properties: projects/elftoolchain-update-r3130/ (props changed) projects/elftoolchain-update-r3130/sys/ (props changed) Modified: projects/elftoolchain-update-r3130/sys/dev/virtio/network/if_vtnet.c ============================================================================== --- projects/elftoolchain-update-r3130/sys/dev/virtio/network/if_vtnet.c Mon Dec 29 19:02:00 2014 (r276369) +++ projects/elftoolchain-update-r3130/sys/dev/virtio/network/if_vtnet.c Mon Dec 29 19:04:17 2014 (r276370) @@ -298,6 +298,8 @@ static driver_t vtnet_driver = { }; static devclass_t vtnet_devclass; +DRIVER_MODULE(vtnet, virtio_mmio, vtnet_driver, vtnet_devclass, + vtnet_modevent, 0); DRIVER_MODULE(vtnet, virtio_pci, vtnet_driver, vtnet_devclass, vtnet_modevent, 0); MODULE_VERSION(vtnet, 1); From owner-svn-src-projects@FreeBSD.ORG Mon Dec 29 20:59:36 2014 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 6A5E593; Mon, 29 Dec 2014 20:59:36 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 3D1D62099; Mon, 29 Dec 2014 20:59:36 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id sBTKxaKM048780; Mon, 29 Dec 2014 20:59:36 GMT (envelope-from emaste@FreeBSD.org) Received: (from emaste@localhost) by svn.freebsd.org (8.14.9/8.14.9/Submit) id sBTKxakb048779; Mon, 29 Dec 2014 20:59:36 GMT (envelope-from emaste@FreeBSD.org) Message-Id: <201412292059.sBTKxakb048779@svn.freebsd.org> X-Authentication-Warning: svn.freebsd.org: emaste set sender to emaste@FreeBSD.org using -f From: Ed Maste Date: Mon, 29 Dec 2014 20:59:36 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r276378 - projects/elftoolchain-update-r3130 X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 29 Dec 2014 20:59:36 -0000 Author: emaste Date: Mon Dec 29 20:59:35 2014 New Revision: 276378 URL: https://svnweb.freebsd.org/changeset/base/276378 Log: Remove elftoolchain update branch, merged to HEAD in r276371 Deleted: projects/elftoolchain-update-r3130/ From owner-svn-src-projects@FreeBSD.ORG Mon Dec 29 21:38:12 2014 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 1AF4289A; Mon, 29 Dec 2014 21:38:12 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 01257272F; Mon, 29 Dec 2014 21:38:12 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id sBTLcBXD067825; Mon, 29 Dec 2014 21:38:11 GMT (envelope-from glebius@FreeBSD.org) Received: (from glebius@localhost) by svn.freebsd.org (8.14.9/8.14.9/Submit) id sBTLc5mw067783; Mon, 29 Dec 2014 21:38:05 GMT (envelope-from glebius@FreeBSD.org) Message-Id: <201412292138.sBTLc5mw067783@svn.freebsd.org> X-Authentication-Warning: svn.freebsd.org: glebius set sender to glebius@FreeBSD.org using -f From: Gleb Smirnoff Date: Mon, 29 Dec 2014 21:38:05 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r276379 - in projects/ifnet: . bin/csh bin/df bin/ed bin/freebsd-version bin/ln bin/ls bin/pkill bin/ps bin/rmail bin/sh bin/sh/tests/execution cddl/compat/opensolaris/misc cddl/contrib... X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 29 Dec 2014 21:38:12 -0000 Author: glebius Date: Mon Dec 29 21:38:00 2014 New Revision: 276379 URL: https://svnweb.freebsd.org/changeset/base/276379 Log: Merge head. Added: projects/ifnet/bin/sh/tests/execution/set-x4.0 - copied unchanged from r276378, head/bin/sh/tests/execution/set-x4.0 projects/ifnet/cddl/contrib/opensolaris/lib/libctf/common/ctf.5 - copied unchanged from r276378, head/cddl/contrib/opensolaris/lib/libctf/common/ctf.5 projects/ifnet/cddl/contrib/opensolaris/lib/libnvpair/nvpair_json.c - copied unchanged from r276378, head/cddl/contrib/opensolaris/lib/libnvpair/nvpair_json.c projects/ifnet/contrib/elftoolchain/addr2line/ - copied from r276378, head/contrib/elftoolchain/addr2line/ projects/ifnet/contrib/elftoolchain/cxxfilt/ - copied from r276378, head/contrib/elftoolchain/cxxfilt/ projects/ifnet/contrib/elftoolchain/elfcopy/ - copied from r276378, head/contrib/elftoolchain/elfcopy/ projects/ifnet/contrib/elftoolchain/libdwarf/dwarf_attroffset.3 - copied unchanged from r276378, head/contrib/elftoolchain/libdwarf/dwarf_attroffset.3 projects/ifnet/contrib/elftoolchain/libdwarf/dwarf_get_die_infotypes_flag.3 - copied unchanged from r276378, head/contrib/elftoolchain/libdwarf/dwarf_get_die_infotypes_flag.3 projects/ifnet/contrib/elftoolchain/libdwarf/dwarf_get_section_max_offsets.3 - copied unchanged from r276378, head/contrib/elftoolchain/libdwarf/dwarf_get_section_max_offsets.3 projects/ifnet/contrib/elftoolchain/libdwarf/dwarf_next_types_section.3 - copied unchanged from r276378, head/contrib/elftoolchain/libdwarf/dwarf_next_types_section.3 projects/ifnet/contrib/elftoolchain/libdwarf/dwarf_sections.c - copied unchanged from r276378, head/contrib/elftoolchain/libdwarf/dwarf_sections.c projects/ifnet/contrib/elftoolchain/libelftc/ - copied from r276378, head/contrib/elftoolchain/libelftc/ projects/ifnet/contrib/elftoolchain/nm/ - copied from r276378, head/contrib/elftoolchain/nm/ projects/ifnet/contrib/elftoolchain/readelf/ - copied from r276378, head/contrib/elftoolchain/readelf/ projects/ifnet/contrib/elftoolchain/size/ - copied from r276378, head/contrib/elftoolchain/size/ projects/ifnet/contrib/elftoolchain/strings/ - copied from r276378, head/contrib/elftoolchain/strings/ projects/ifnet/contrib/file/magic/Magdir/kerberos - copied unchanged from r276378, head/contrib/file/magic/Magdir/kerberos projects/ifnet/contrib/file/magic/Magdir/meteorological - copied unchanged from r276378, head/contrib/file/magic/Magdir/meteorological projects/ifnet/contrib/libucl/COPYING - copied unchanged from r276378, head/contrib/libucl/COPYING projects/ifnet/contrib/libucl/doc/lua_api.md - copied unchanged from r276378, head/contrib/libucl/doc/lua_api.md projects/ifnet/contrib/libucl/include/lua_ucl.h - copied unchanged from r276378, head/contrib/libucl/include/lua_ucl.h projects/ifnet/contrib/libucl/lua/ - copied from r276378, head/contrib/libucl/lua/ projects/ifnet/contrib/libucl/m4/ - copied from r276378, head/contrib/libucl/m4/ projects/ifnet/contrib/libucl/tests/basic/12.in - copied unchanged from r276378, head/contrib/libucl/tests/basic/12.in projects/ifnet/contrib/libucl/tests/basic/12.res - copied unchanged from r276378, head/contrib/libucl/tests/basic/12.res projects/ifnet/contrib/libucl/tests/basic/13.in - copied unchanged from r276378, head/contrib/libucl/tests/basic/13.in projects/ifnet/contrib/libucl/tests/basic/13.res - copied unchanged from r276378, head/contrib/libucl/tests/basic/13.res projects/ifnet/contrib/libucl/tests/basic/comments.in - copied unchanged from r276378, head/contrib/libucl/tests/basic/comments.in projects/ifnet/contrib/libucl/tests/basic/comments.res - copied unchanged from r276378, head/contrib/libucl/tests/basic/comments.res projects/ifnet/contrib/libucl/tests/basic/include_dir/ - copied from r276378, head/contrib/libucl/tests/basic/include_dir/ projects/ifnet/contrib/llvm/patches/patch-r274442-llvm-r221709-debug-oom.diff - copied unchanged from r276378, head/contrib/llvm/patches/patch-r274442-llvm-r221709-debug-oom.diff projects/ifnet/contrib/llvm/patches/patch-r275633-llvm-r223171-fix-vectorizer.diff - copied unchanged from r276378, head/contrib/llvm/patches/patch-r275633-llvm-r223171-fix-vectorizer.diff projects/ifnet/contrib/llvm/patches/patch-r275759-clang-r221170-ppc-vaarg.diff - copied unchanged from r276378, head/contrib/llvm/patches/patch-r275759-clang-r221170-ppc-vaarg.diff projects/ifnet/contrib/mdocml/INSTALL - copied unchanged from r276378, head/contrib/mdocml/INSTALL projects/ifnet/contrib/mdocml/LICENSE - copied unchanged from r276378, head/contrib/mdocml/LICENSE projects/ifnet/contrib/mdocml/Makefile - copied unchanged from r276378, head/contrib/mdocml/Makefile projects/ifnet/contrib/mdocml/Makefile.depend - copied unchanged from r276378, head/contrib/mdocml/Makefile.depend projects/ifnet/contrib/mdocml/apropos.1 - copied unchanged from r276378, head/contrib/mdocml/apropos.1 projects/ifnet/contrib/mdocml/cgi.c - copied unchanged from r276378, head/contrib/mdocml/cgi.c projects/ifnet/contrib/mdocml/cgi.h.example - copied unchanged from r276378, head/contrib/mdocml/cgi.h.example projects/ifnet/contrib/mdocml/compat_fts.c - copied unchanged from r276378, head/contrib/mdocml/compat_fts.c projects/ifnet/contrib/mdocml/compat_fts.h - copied unchanged from r276378, head/contrib/mdocml/compat_fts.h projects/ifnet/contrib/mdocml/compat_ohash.c - copied unchanged from r276378, head/contrib/mdocml/compat_ohash.c projects/ifnet/contrib/mdocml/compat_ohash.h - copied unchanged from r276378, head/contrib/mdocml/compat_ohash.h projects/ifnet/contrib/mdocml/compat_reallocarray.c - copied unchanged from r276378, head/contrib/mdocml/compat_reallocarray.c projects/ifnet/contrib/mdocml/compat_sqlite3_errstr.c - copied unchanged from r276378, head/contrib/mdocml/compat_sqlite3_errstr.c projects/ifnet/contrib/mdocml/compat_strcasestr.c - copied unchanged from r276378, head/contrib/mdocml/compat_strcasestr.c projects/ifnet/contrib/mdocml/compat_strsep.c - copied unchanged from r276378, head/contrib/mdocml/compat_strsep.c projects/ifnet/contrib/mdocml/configure - copied unchanged from r276378, head/contrib/mdocml/configure projects/ifnet/contrib/mdocml/configure.local.example - copied unchanged from r276378, head/contrib/mdocml/configure.local.example projects/ifnet/contrib/mdocml/demandoc.1 - copied unchanged from r276378, head/contrib/mdocml/demandoc.1 projects/ifnet/contrib/mdocml/demandoc.c - copied unchanged from r276378, head/contrib/mdocml/demandoc.c projects/ifnet/contrib/mdocml/gmdiff - copied unchanged from r276378, head/contrib/mdocml/gmdiff projects/ifnet/contrib/mdocml/makewhatis.8 - copied unchanged from r276378, head/contrib/mdocml/makewhatis.8 projects/ifnet/contrib/mdocml/man-cgi.css - copied unchanged from r276378, head/contrib/mdocml/man-cgi.css projects/ifnet/contrib/mdocml/man.1 - copied unchanged from r276378, head/contrib/mdocml/man.1 projects/ifnet/contrib/mdocml/man.cgi.8 - copied unchanged from r276378, head/contrib/mdocml/man.cgi.8 projects/ifnet/contrib/mdocml/mandoc.db.5 - copied unchanged from r276378, head/contrib/mdocml/mandoc.db.5 projects/ifnet/contrib/mdocml/mandoc_aux.c - copied unchanged from r276378, head/contrib/mdocml/mandoc_aux.c projects/ifnet/contrib/mdocml/mandoc_aux.h - copied unchanged from r276378, head/contrib/mdocml/mandoc_aux.h projects/ifnet/contrib/mdocml/mandoc_escape.3 - copied unchanged from r276378, head/contrib/mdocml/mandoc_escape.3 projects/ifnet/contrib/mdocml/mandoc_headers.3 - copied unchanged from r276378, head/contrib/mdocml/mandoc_headers.3 projects/ifnet/contrib/mdocml/mandoc_html.3 - copied unchanged from r276378, head/contrib/mdocml/mandoc_html.3 projects/ifnet/contrib/mdocml/mandoc_malloc.3 - copied unchanged from r276378, head/contrib/mdocml/mandoc_malloc.3 projects/ifnet/contrib/mdocml/mandocdb.c - copied unchanged from r276378, head/contrib/mdocml/mandocdb.c projects/ifnet/contrib/mdocml/manpage.c - copied unchanged from r276378, head/contrib/mdocml/manpage.c projects/ifnet/contrib/mdocml/manpath.c - copied unchanged from r276378, head/contrib/mdocml/manpath.c projects/ifnet/contrib/mdocml/manpath.h - copied unchanged from r276378, head/contrib/mdocml/manpath.h projects/ifnet/contrib/mdocml/mansearch.3 - copied unchanged from r276378, head/contrib/mdocml/mansearch.3 projects/ifnet/contrib/mdocml/mansearch.c - copied unchanged from r276378, head/contrib/mdocml/mansearch.c projects/ifnet/contrib/mdocml/mansearch.h - copied unchanged from r276378, head/contrib/mdocml/mansearch.h projects/ifnet/contrib/mdocml/mansearch_const.c - copied unchanged from r276378, head/contrib/mdocml/mansearch_const.c projects/ifnet/contrib/mdocml/mchars_alloc.3 - copied unchanged from r276378, head/contrib/mdocml/mchars_alloc.3 projects/ifnet/contrib/mdocml/preconv.c - copied unchanged from r276378, head/contrib/mdocml/preconv.c projects/ifnet/contrib/mdocml/tbl.3 - copied unchanged from r276378, head/contrib/mdocml/tbl.3 projects/ifnet/contrib/mdocml/test-dirent-namlen.c - copied unchanged from r276378, head/contrib/mdocml/test-dirent-namlen.c projects/ifnet/contrib/mdocml/test-fgetln.c - copied unchanged from r276378, head/contrib/mdocml/test-fgetln.c projects/ifnet/contrib/mdocml/test-fts.c - copied unchanged from r276378, head/contrib/mdocml/test-fts.c projects/ifnet/contrib/mdocml/test-getsubopt.c - copied unchanged from r276378, head/contrib/mdocml/test-getsubopt.c projects/ifnet/contrib/mdocml/test-mmap.c - copied unchanged from r276378, head/contrib/mdocml/test-mmap.c projects/ifnet/contrib/mdocml/test-ohash.c - copied unchanged from r276378, head/contrib/mdocml/test-ohash.c projects/ifnet/contrib/mdocml/test-reallocarray.c - copied unchanged from r276378, head/contrib/mdocml/test-reallocarray.c projects/ifnet/contrib/mdocml/test-sqlite3.c - copied unchanged from r276378, head/contrib/mdocml/test-sqlite3.c projects/ifnet/contrib/mdocml/test-sqlite3_errstr.c - copied unchanged from r276378, head/contrib/mdocml/test-sqlite3_errstr.c projects/ifnet/contrib/mdocml/test-strcasestr.c - copied unchanged from r276378, head/contrib/mdocml/test-strcasestr.c projects/ifnet/contrib/mdocml/test-strlcat.c - copied unchanged from r276378, head/contrib/mdocml/test-strlcat.c projects/ifnet/contrib/mdocml/test-strlcpy.c - copied unchanged from r276378, head/contrib/mdocml/test-strlcpy.c projects/ifnet/contrib/mdocml/test-strptime.c - copied unchanged from r276378, head/contrib/mdocml/test-strptime.c projects/ifnet/contrib/mdocml/test-strsep.c - copied unchanged from r276378, head/contrib/mdocml/test-strsep.c projects/ifnet/contrib/mdocml/test-wchar.c - copied unchanged from r276378, head/contrib/mdocml/test-wchar.c projects/ifnet/contrib/ofed/libibverbs/examples/build/ - copied from r276378, head/contrib/ofed/libibverbs/examples/build/ projects/ifnet/contrib/telnet/telnet/baud.h - copied unchanged from r276378, head/contrib/telnet/telnet/baud.h projects/ifnet/etc/autofs/special_media - copied unchanged from r276378, head/etc/autofs/special_media projects/ifnet/lib/libc/tests/gen/arc4random_test.c - copied unchanged from r276378, head/lib/libc/tests/gen/arc4random_test.c projects/ifnet/lib/libc/tests/gen/fpclassify2_test.c - copied unchanged from r276378, head/lib/libc/tests/gen/fpclassify2_test.c projects/ifnet/lib/libc/tests/stdio/fmemopen2_test.c - copied unchanged from r276378, head/lib/libc/tests/stdio/fmemopen2_test.c projects/ifnet/lib/libelftc/ - copied from r276378, head/lib/libelftc/ projects/ifnet/lib/libgpio/ - copied from r276378, head/lib/libgpio/ projects/ifnet/lib/librt/Makefile.amd64 - copied unchanged from r276378, head/lib/librt/Makefile.amd64 projects/ifnet/lib/librt/Makefile.i386 - copied unchanged from r276378, head/lib/librt/Makefile.i386 projects/ifnet/lib/librt/tests/ - copied from r276378, head/lib/librt/tests/ projects/ifnet/lib/libsqlite3/ - copied from r276378, head/lib/libsqlite3/ projects/ifnet/lib/libthr/Makefile.amd64 - copied unchanged from r276378, head/lib/libthr/Makefile.amd64 projects/ifnet/lib/libthr/Makefile.i386 - copied unchanged from r276378, head/lib/libthr/Makefile.i386 projects/ifnet/lib/libthr/tests/ - copied from r276378, head/lib/libthr/tests/ projects/ifnet/lib/msun/Makefile.amd64 - copied unchanged from r276378, head/lib/msun/Makefile.amd64 projects/ifnet/lib/msun/Makefile.i386 - copied unchanged from r276378, head/lib/msun/Makefile.i386 projects/ifnet/lib/msun/tests/ - copied from r276378, head/lib/msun/tests/ projects/ifnet/sbin/mdconfig/tests/mdconfig_test.sh - copied unchanged from r276378, head/sbin/mdconfig/tests/mdconfig_test.sh projects/ifnet/share/man/man7/crypto.7 - copied unchanged from r276378, head/share/man/man7/crypto.7 projects/ifnet/share/man/man9/vnet.9 - copied unchanged from r276378, head/share/man/man9/vnet.9 projects/ifnet/share/termcap/termcap - copied unchanged from r276378, head/share/termcap/termcap projects/ifnet/sys/amd64/conf/GENERIC-NODEBUG - copied unchanged from r276378, head/sys/amd64/conf/GENERIC-NODEBUG projects/ifnet/sys/arm/arm/cpu_asm-v6.S - copied unchanged from r276378, head/sys/arm/arm/cpu_asm-v6.S projects/ifnet/sys/arm/arm/cpuinfo.c - copied unchanged from r276378, head/sys/arm/arm/cpuinfo.c projects/ifnet/sys/arm/broadcom/bcm2835/bcm2835_cpufreq.c - copied unchanged from r276378, head/sys/arm/broadcom/bcm2835/bcm2835_cpufreq.c projects/ifnet/sys/arm/broadcom/bcm2835/bcm2835_mbox_prop.h - copied unchanged from r276378, head/sys/arm/broadcom/bcm2835/bcm2835_mbox_prop.h projects/ifnet/sys/arm/include/cpu-v6.h - copied unchanged from r276378, head/sys/arm/include/cpu-v6.h projects/ifnet/sys/arm/include/cpuinfo.h - copied unchanged from r276378, head/sys/arm/include/cpuinfo.h projects/ifnet/sys/boot/fdt/dts/mips/beripad-sockit.dts - copied unchanged from r276378, head/sys/boot/fdt/dts/mips/beripad-sockit.dts projects/ifnet/sys/crypto/aesni/aesni_ghash.c - copied unchanged from r276378, head/sys/crypto/aesni/aesni_ghash.c projects/ifnet/sys/dev/altera/pio/ - copied from r276378, head/sys/dev/altera/pio/ projects/ifnet/sys/dev/beri/virtio/ - copied from r276378, head/sys/dev/beri/virtio/ projects/ifnet/sys/dev/ofw/ofw_cpu.c - copied unchanged from r276378, head/sys/dev/ofw/ofw_cpu.c projects/ifnet/sys/dev/terasic/mtl/terasic_mtl_vt.c - copied unchanged from r276378, head/sys/dev/terasic/mtl/terasic_mtl_vt.c projects/ifnet/sys/dev/virtio/mmio/ - copied from r276378, head/sys/dev/virtio/mmio/ projects/ifnet/sys/dev/xen/grant_table/ - copied from r276378, head/sys/dev/xen/grant_table/ projects/ifnet/sys/dev/xen/pci/ - copied from r276378, head/sys/dev/xen/pci/ projects/ifnet/sys/i386/conf/GENERIC-NODEBUG - copied unchanged from r276378, head/sys/i386/conf/GENERIC-NODEBUG projects/ifnet/sys/kern/kern_procctl.c - copied unchanged from r276378, head/sys/kern/kern_procctl.c projects/ifnet/sys/libkern/timingsafe_bcmp.c - copied unchanged from r276378, head/sys/libkern/timingsafe_bcmp.c projects/ifnet/sys/mips/conf/BERI_SOCKIT - copied unchanged from r276378, head/sys/mips/conf/BERI_SOCKIT projects/ifnet/sys/mips/conf/WZR-HPAG300H - copied unchanged from r276378, head/sys/mips/conf/WZR-HPAG300H projects/ifnet/sys/mips/conf/WZR-HPAG300H.hints - copied unchanged from r276378, head/sys/mips/conf/WZR-HPAG300H.hints projects/ifnet/sys/opencrypto/gfmult.c - copied unchanged from r276378, head/sys/opencrypto/gfmult.c projects/ifnet/sys/opencrypto/gfmult.h - copied unchanged from r276378, head/sys/opencrypto/gfmult.h projects/ifnet/sys/opencrypto/gmac.c - copied unchanged from r276378, head/sys/opencrypto/gmac.c projects/ifnet/sys/opencrypto/gmac.h - copied unchanged from r276378, head/sys/opencrypto/gmac.h projects/ifnet/sys/pc98/conf/GENERIC-NODEBUG - copied unchanged from r276378, head/sys/pc98/conf/GENERIC-NODEBUG projects/ifnet/sys/powerpc/conf/GENERIC-NODEBUG - copied unchanged from r276378, head/sys/powerpc/conf/GENERIC-NODEBUG projects/ifnet/sys/sparc64/conf/GENERIC-NODEBUG - copied unchanged from r276378, head/sys/sparc64/conf/GENERIC-NODEBUG projects/ifnet/sys/x86/xen/xen_pci_bus.c - copied unchanged from r276378, head/sys/x86/xen/xen_pci_bus.c projects/ifnet/sys/xen/xen_pci.h - copied unchanged from r276378, head/sys/xen/xen_pci.h projects/ifnet/tests/sys/opencrypto/ - copied from r276378, head/tests/sys/opencrypto/ projects/ifnet/tools/build/options/WITHOUT_INCLUDES - copied unchanged from r276378, head/tools/build/options/WITHOUT_INCLUDES projects/ifnet/tools/build/options/WITHOUT_TESTS_SUPPORT - copied unchanged from r276378, head/tools/build/options/WITHOUT_TESTS_SUPPORT projects/ifnet/tools/build/options/WITHOUT_USB_GADGET_EXAMPLES - copied unchanged from r276378, head/tools/build/options/WITHOUT_USB_GADGET_EXAMPLES projects/ifnet/tools/build/options/WITH_ELFTOOLCHAIN_TOOLS - copied unchanged from r276378, head/tools/build/options/WITH_ELFTOOLCHAIN_TOOLS projects/ifnet/tools/tools/nanobsd/defaults.sh - copied unchanged from r276378, head/tools/tools/nanobsd/defaults.sh projects/ifnet/usr.bin/addr2line/ - copied from r276378, head/usr.bin/addr2line/ projects/ifnet/usr.bin/demandoc/ - copied from r276378, head/usr.bin/demandoc/ projects/ifnet/usr.bin/elfcopy/ - copied from r276378, head/usr.bin/elfcopy/ projects/ifnet/usr.bin/iscsictl/iscsi.conf.5 - copied unchanged from r276378, head/usr.bin/iscsictl/iscsi.conf.5 projects/ifnet/usr.bin/nm/ - copied from r276378, head/usr.bin/nm/ projects/ifnet/usr.bin/size/ - copied from r276378, head/usr.bin/size/ projects/ifnet/usr.bin/soeliminate/ - copied from r276378, head/usr.bin/soeliminate/ projects/ifnet/usr.bin/strings/ - copied from r276378, head/usr.bin/strings/ projects/ifnet/usr.sbin/fstyp/ - copied from r276378, head/usr.sbin/fstyp/ projects/ifnet/usr.sbin/pw/tests/pw_etcdir.sh - copied unchanged from r276378, head/usr.sbin/pw/tests/pw_etcdir.sh projects/ifnet/usr.sbin/pw/tests/pw_groupdel.sh - copied unchanged from r276378, head/usr.sbin/pw/tests/pw_groupdel.sh projects/ifnet/usr.sbin/pw/tests/pw_groupmod.sh - copied unchanged from r276378, head/usr.sbin/pw/tests/pw_groupmod.sh projects/ifnet/usr.sbin/pw/tests/pw_lock.sh - copied unchanged from r276378, head/usr.sbin/pw/tests/pw_lock.sh projects/ifnet/usr.sbin/pw/tests/pw_useradd.sh - copied unchanged from r276378, head/usr.sbin/pw/tests/pw_useradd.sh projects/ifnet/usr.sbin/pw/tests/pw_userdel.sh - copied unchanged from r276378, head/usr.sbin/pw/tests/pw_userdel.sh projects/ifnet/usr.sbin/pw/tests/pw_usermod.sh - copied unchanged from r276378, head/usr.sbin/pw/tests/pw_usermod.sh projects/ifnet/usr.sbin/vigr/ - copied from r276378, head/usr.sbin/vigr/ Replaced: projects/ifnet/usr.sbin/cron/Makefile.inc - copied unchanged from r276378, head/usr.sbin/cron/Makefile.inc projects/ifnet/usr.sbin/fifolog/Makefile.inc - copied unchanged from r276378, head/usr.sbin/fifolog/Makefile.inc Deleted: projects/ifnet/contrib/file/magic/Magdir/rinex projects/ifnet/contrib/mdocml/arch.c projects/ifnet/contrib/mdocml/arch.in projects/ifnet/contrib/mdocml/att.in projects/ifnet/contrib/mdocml/external.png projects/ifnet/contrib/mdocml/vol.c projects/ifnet/contrib/mdocml/vol.in projects/ifnet/contrib/ofed/libibverbs/examples/Makefile projects/ifnet/etc/rc.d/mrouted projects/ifnet/lib/libc/posix1e/acl_size.c projects/ifnet/sbin/iscontrol/iscsi.conf.5 projects/ifnet/sbin/mdconfig/tests/legacy_test.sh projects/ifnet/sbin/mdconfig/tests/mdconfig.test projects/ifnet/sbin/mdconfig/tests/run.pl projects/ifnet/share/man/man4/gpib.4 projects/ifnet/share/man/man4/pcii.4 projects/ifnet/share/man/man4/tnt4882.4 projects/ifnet/share/termcap/reorder projects/ifnet/share/termcap/termcap.src projects/ifnet/sys/cddl/compat/opensolaris/sys/cyclic.h projects/ifnet/sys/cddl/compat/opensolaris/sys/cyclic_impl.h projects/ifnet/sys/cddl/dev/cyclic/ projects/ifnet/sys/contrib/dev/iwn/iwlwifi-6000g2a-17.168.5.2.fw.uu projects/ifnet/sys/contrib/dev/iwn/iwlwifi-6000g2b-17.168.5.2.fw.uu projects/ifnet/sys/dev/dpt/dpt_isa.c projects/ifnet/sys/dev/ieee488/ibfoo.c projects/ifnet/sys/dev/ieee488/ibfoo_int.h projects/ifnet/sys/dev/ieee488/pcii.c projects/ifnet/sys/dev/ieee488/tnt4882.c projects/ifnet/sys/dev/ieee488/tnt4882.h projects/ifnet/sys/dev/ieee488/ugpib.h projects/ifnet/sys/dev/ieee488/upd7210.c projects/ifnet/sys/dev/ieee488/upd7210.h projects/ifnet/sys/dev/joy/joy_pccard.c projects/ifnet/sys/geom/sched/subr_disk.c projects/ifnet/sys/modules/cyclic/ projects/ifnet/sys/modules/dtrace/dtnfsclient/ projects/ifnet/sys/modules/nfs_common/ projects/ifnet/sys/modules/nfsclient/ projects/ifnet/sys/modules/nfsserver/ projects/ifnet/sys/net/if_stf.h projects/ifnet/sys/netinet/in_gif.h projects/ifnet/sys/netinet6/in6_gif.h projects/ifnet/sys/netipsec/ipip_var.h projects/ifnet/sys/nfs/nfs_common.c projects/ifnet/sys/nfsclient/nfs_bio.c projects/ifnet/sys/nfsclient/nfs_kdtrace.c projects/ifnet/sys/nfsclient/nfs_krpc.c projects/ifnet/sys/nfsclient/nfs_nfsiod.c projects/ifnet/sys/nfsclient/nfs_node.c projects/ifnet/sys/nfsclient/nfs_subs.c projects/ifnet/sys/nfsclient/nfs_vfsops.c projects/ifnet/sys/nfsclient/nfs_vnops.c projects/ifnet/sys/nfsserver/nfs_fha_old.c projects/ifnet/sys/nfsserver/nfs_serv.c projects/ifnet/sys/nfsserver/nfs_srvkrpc.c projects/ifnet/sys/nfsserver/nfs_srvsubs.c projects/ifnet/sys/powerpc/ofw/ofw_cpu.c projects/ifnet/sys/sys/sf_base.h projects/ifnet/sys/sys/sf_sync.h projects/ifnet/sys/x86/xen/xen_pci.c projects/ifnet/sys/xen/gnttab.c projects/ifnet/tools/build/options/WITHOUT_GPIB projects/ifnet/tools/regression/lib/libc/gen/test-arc4random.c projects/ifnet/tools/regression/lib/libc/gen/test-fpclassify.c projects/ifnet/tools/regression/lib/libc/stdio/test-fmemopen.c projects/ifnet/usr.bin/svn/lib/libsqlite3/ projects/ifnet/usr.sbin/pw/tests/pw_delete.sh projects/ifnet/usr.sbin/pw/tests/pw_modify.sh Modified: projects/ifnet/MAINTAINERS (contents, props changed) projects/ifnet/Makefile.inc1 projects/ifnet/ObsoleteFiles.inc projects/ifnet/UPDATING projects/ifnet/bin/csh/Makefile projects/ifnet/bin/df/Makefile projects/ifnet/bin/ed/Makefile projects/ifnet/bin/freebsd-version/Makefile projects/ifnet/bin/ln/symlink.7 projects/ifnet/bin/ls/Makefile projects/ifnet/bin/pkill/Makefile projects/ifnet/bin/ps/Makefile projects/ifnet/bin/ps/ps.1 projects/ifnet/bin/rmail/Makefile projects/ifnet/bin/sh/Makefile projects/ifnet/bin/sh/error.c projects/ifnet/bin/sh/error.h projects/ifnet/bin/sh/eval.c projects/ifnet/bin/sh/expand.c projects/ifnet/bin/sh/expand.h projects/ifnet/bin/sh/output.c projects/ifnet/bin/sh/parser.c projects/ifnet/bin/sh/sh.1 projects/ifnet/bin/sh/tests/execution/Makefile projects/ifnet/bin/sh/trap.c projects/ifnet/bin/sh/trap.h projects/ifnet/cddl/compat/opensolaris/misc/thread_pool.c projects/ifnet/cddl/contrib/opensolaris/cmd/zdb/zdb.c projects/ifnet/cddl/contrib/opensolaris/cmd/zfs/zfs.8 projects/ifnet/cddl/contrib/opensolaris/cmd/zfs/zfs_main.c projects/ifnet/cddl/contrib/opensolaris/cmd/zpool/zpool-features.7 projects/ifnet/cddl/contrib/opensolaris/cmd/zpool/zpool_main.c projects/ifnet/cddl/contrib/opensolaris/lib/libdtrace/common/drti.c projects/ifnet/cddl/contrib/opensolaris/lib/libdtrace/common/dt_dof.c projects/ifnet/cddl/contrib/opensolaris/lib/libdtrace/common/dt_link.c projects/ifnet/cddl/contrib/opensolaris/lib/libdtrace/common/dt_module.c projects/ifnet/cddl/contrib/opensolaris/lib/libdtrace/common/dt_provider.c projects/ifnet/cddl/contrib/opensolaris/lib/libdtrace/common/dt_provider.h projects/ifnet/cddl/contrib/opensolaris/lib/libnvpair/libnvpair.h projects/ifnet/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_dataset.c projects/ifnet/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_iter.c projects/ifnet/cddl/contrib/opensolaris/tools/ctf/cvt/ctftools.h projects/ifnet/cddl/contrib/opensolaris/tools/ctf/cvt/dwarf.c projects/ifnet/cddl/contrib/opensolaris/tools/ctf/cvt/merge.c projects/ifnet/cddl/lib/libctf/Makefile projects/ifnet/cddl/lib/libnvpair/Makefile projects/ifnet/cddl/usr.bin/ctfconvert/ctfconvert.1 projects/ifnet/contrib/binutils/bfd/ChangeLog projects/ifnet/contrib/binutils/bfd/bfd-in2.h projects/ifnet/contrib/binutils/bfd/ecoff.c projects/ifnet/contrib/binutils/bfd/elf32-arm.c projects/ifnet/contrib/binutils/bfd/elf32-ppc.c projects/ifnet/contrib/binutils/bfd/elf64-ppc.c projects/ifnet/contrib/binutils/bfd/elflink.c projects/ifnet/contrib/binutils/bfd/libbfd.h projects/ifnet/contrib/binutils/bfd/po/bfd.pot projects/ifnet/contrib/binutils/bfd/reloc.c projects/ifnet/contrib/binutils/bfd/section.c projects/ifnet/contrib/binutils/binutils/readelf.c projects/ifnet/contrib/binutils/gas/config/tc-arm.c projects/ifnet/contrib/binutils/gas/config/tc-ppc.c projects/ifnet/contrib/binutils/gas/expr.c projects/ifnet/contrib/binutils/gas/input-scrub.c projects/ifnet/contrib/binutils/gas/read.c projects/ifnet/contrib/binutils/include/elf/ChangeLog projects/ifnet/contrib/binutils/include/elf/common.h projects/ifnet/contrib/binutils/include/elf/ppc.h projects/ifnet/contrib/binutils/include/elf/ppc64.h projects/ifnet/contrib/binutils/ld/lexsup.c projects/ifnet/contrib/bsnmp/lib/snmpcrypto.c projects/ifnet/contrib/byacc/test/yacc/calc.tab.c projects/ifnet/contrib/byacc/test/yacc/calc1.tab.c projects/ifnet/contrib/byacc/test/yacc/calc2.tab.c projects/ifnet/contrib/byacc/test/yacc/calc3.tab.c projects/ifnet/contrib/byacc/test/yacc/code_calc.code.c projects/ifnet/contrib/byacc/test/yacc/code_calc.tab.c projects/ifnet/contrib/byacc/test/yacc/code_error.code.c projects/ifnet/contrib/byacc/test/yacc/code_error.tab.c projects/ifnet/contrib/byacc/test/yacc/empty.tab.c projects/ifnet/contrib/byacc/test/yacc/err_syntax10.tab.c projects/ifnet/contrib/byacc/test/yacc/err_syntax11.tab.c projects/ifnet/contrib/byacc/test/yacc/err_syntax12.tab.c projects/ifnet/contrib/byacc/test/yacc/err_syntax18.tab.c projects/ifnet/contrib/byacc/test/yacc/err_syntax20.tab.c projects/ifnet/contrib/byacc/test/yacc/error.tab.c projects/ifnet/contrib/byacc/test/yacc/grammar.tab.c projects/ifnet/contrib/byacc/test/yacc/ok_syntax1.tab.c projects/ifnet/contrib/byacc/test/yacc/pure_calc.tab.c projects/ifnet/contrib/byacc/test/yacc/pure_error.tab.c projects/ifnet/contrib/byacc/test/yacc/quote_calc-s.tab.c projects/ifnet/contrib/byacc/test/yacc/quote_calc.tab.c projects/ifnet/contrib/byacc/test/yacc/quote_calc2-s.tab.c projects/ifnet/contrib/byacc/test/yacc/quote_calc2.tab.c projects/ifnet/contrib/byacc/test/yacc/quote_calc3-s.tab.c projects/ifnet/contrib/byacc/test/yacc/quote_calc3.tab.c projects/ifnet/contrib/byacc/test/yacc/quote_calc4-s.tab.c projects/ifnet/contrib/byacc/test/yacc/quote_calc4.tab.c projects/ifnet/contrib/byacc/test/yacc/rename_debug.c projects/ifnet/contrib/byacc/test/yacc/varsyntax_calc1.tab.c projects/ifnet/contrib/bzip2/bzip2.1 projects/ifnet/contrib/ee/ee.1 projects/ifnet/contrib/elftoolchain/common/Makefile projects/ifnet/contrib/elftoolchain/common/elfdefinitions.h projects/ifnet/contrib/elftoolchain/libdwarf/Makefile projects/ifnet/contrib/elftoolchain/libdwarf/Version.map projects/ifnet/contrib/elftoolchain/libdwarf/_libdwarf.h projects/ifnet/contrib/elftoolchain/libdwarf/dwarf.3 projects/ifnet/contrib/elftoolchain/libdwarf/dwarf.h projects/ifnet/contrib/elftoolchain/libdwarf/dwarf_attr.3 projects/ifnet/contrib/elftoolchain/libdwarf/dwarf_attr.c projects/ifnet/contrib/elftoolchain/libdwarf/dwarf_attrval.c projects/ifnet/contrib/elftoolchain/libdwarf/dwarf_attrval_signed.3 projects/ifnet/contrib/elftoolchain/libdwarf/dwarf_child.3 projects/ifnet/contrib/elftoolchain/libdwarf/dwarf_cu.c projects/ifnet/contrib/elftoolchain/libdwarf/dwarf_die.c projects/ifnet/contrib/elftoolchain/libdwarf/dwarf_dieoffset.3 projects/ifnet/contrib/elftoolchain/libdwarf/dwarf_dump.c projects/ifnet/contrib/elftoolchain/libdwarf/dwarf_errmsg.c projects/ifnet/contrib/elftoolchain/libdwarf/dwarf_frame.c projects/ifnet/contrib/elftoolchain/libdwarf/dwarf_get_AT_name.3 projects/ifnet/contrib/elftoolchain/libdwarf/dwarf_get_arange_info.3 projects/ifnet/contrib/elftoolchain/libdwarf/dwarf_hasattr.3 projects/ifnet/contrib/elftoolchain/libdwarf/dwarf_highpc.3 projects/ifnet/contrib/elftoolchain/libdwarf/dwarf_lineno.c projects/ifnet/contrib/elftoolchain/libdwarf/dwarf_loclist.c projects/ifnet/contrib/elftoolchain/libdwarf/dwarf_loclist_from_expr.3 projects/ifnet/contrib/elftoolchain/libdwarf/dwarf_next_cu_header.3 projects/ifnet/contrib/elftoolchain/libdwarf/dwarf_ranges.c projects/ifnet/contrib/elftoolchain/libdwarf/dwarf_whatattr.3 projects/ifnet/contrib/elftoolchain/libdwarf/libdwarf.h projects/ifnet/contrib/elftoolchain/libdwarf/libdwarf_arange.c projects/ifnet/contrib/elftoolchain/libdwarf/libdwarf_attr.c projects/ifnet/contrib/elftoolchain/libdwarf/libdwarf_die.c projects/ifnet/contrib/elftoolchain/libdwarf/libdwarf_frame.c projects/ifnet/contrib/elftoolchain/libdwarf/libdwarf_info.c projects/ifnet/contrib/elftoolchain/libdwarf/libdwarf_init.c projects/ifnet/contrib/elftoolchain/libdwarf/libdwarf_lineno.c projects/ifnet/contrib/elftoolchain/libdwarf/libdwarf_loc.c projects/ifnet/contrib/elftoolchain/libdwarf/libdwarf_loclist.c projects/ifnet/contrib/elftoolchain/libdwarf/libdwarf_nametbl.c projects/ifnet/contrib/elftoolchain/libdwarf/libdwarf_sections.c projects/ifnet/contrib/elftoolchain/libelf/_libelf.h projects/ifnet/contrib/elftoolchain/libelf/_libelf_ar.h projects/ifnet/contrib/elftoolchain/libelf/elf.3 projects/ifnet/contrib/elftoolchain/libelf/elf_data.c projects/ifnet/contrib/elftoolchain/libelf/elf_errmsg.c projects/ifnet/contrib/elftoolchain/libelf/elf_flag.c projects/ifnet/contrib/elftoolchain/libelf/elf_memory.c projects/ifnet/contrib/elftoolchain/libelf/elf_next.c projects/ifnet/contrib/elftoolchain/libelf/elf_open.c projects/ifnet/contrib/elftoolchain/libelf/elf_rand.c projects/ifnet/contrib/elftoolchain/libelf/elf_rawfile.c projects/ifnet/contrib/elftoolchain/libelf/elf_scn.c projects/ifnet/contrib/elftoolchain/libelf/elf_strptr.c projects/ifnet/contrib/elftoolchain/libelf/elf_update.c projects/ifnet/contrib/elftoolchain/libelf/gelf_cap.c projects/ifnet/contrib/elftoolchain/libelf/gelf_dyn.c projects/ifnet/contrib/elftoolchain/libelf/gelf_ehdr.c projects/ifnet/contrib/elftoolchain/libelf/gelf_move.c projects/ifnet/contrib/elftoolchain/libelf/gelf_phdr.c projects/ifnet/contrib/elftoolchain/libelf/gelf_rel.c projects/ifnet/contrib/elftoolchain/libelf/gelf_rela.c projects/ifnet/contrib/elftoolchain/libelf/gelf_shdr.c projects/ifnet/contrib/elftoolchain/libelf/gelf_sym.c projects/ifnet/contrib/elftoolchain/libelf/gelf_syminfo.c projects/ifnet/contrib/elftoolchain/libelf/gelf_symshndx.c projects/ifnet/contrib/elftoolchain/libelf/libelf.h projects/ifnet/contrib/elftoolchain/libelf/libelf_align.c projects/ifnet/contrib/elftoolchain/libelf/libelf_ar.c projects/ifnet/contrib/elftoolchain/libelf/libelf_ar_util.c projects/ifnet/contrib/elftoolchain/libelf/libelf_checksum.c projects/ifnet/contrib/elftoolchain/libelf/libelf_convert.m4 projects/ifnet/contrib/elftoolchain/libelf/libelf_data.c projects/ifnet/contrib/elftoolchain/libelf/libelf_ehdr.c projects/ifnet/contrib/elftoolchain/libelf/libelf_extended.c projects/ifnet/contrib/elftoolchain/libelf/libelf_memory.c projects/ifnet/contrib/elftoolchain/libelf/libelf_open.c projects/ifnet/contrib/elftoolchain/libelf/libelf_phdr.c projects/ifnet/contrib/elftoolchain/libelf/libelf_xlate.c projects/ifnet/contrib/file/ChangeLog projects/ifnet/contrib/file/Makefile.in projects/ifnet/contrib/file/TODO projects/ifnet/contrib/file/aclocal.m4 projects/ifnet/contrib/file/config.h.in projects/ifnet/contrib/file/configure projects/ifnet/contrib/file/configure.ac projects/ifnet/contrib/file/doc/Makefile.in projects/ifnet/contrib/file/doc/file.man projects/ifnet/contrib/file/doc/libmagic.man projects/ifnet/contrib/file/magic/Localstuff projects/ifnet/contrib/file/magic/Magdir/android projects/ifnet/contrib/file/magic/Magdir/animation projects/ifnet/contrib/file/magic/Magdir/archive projects/ifnet/contrib/file/magic/Magdir/blender projects/ifnet/contrib/file/magic/Magdir/commands projects/ifnet/contrib/file/magic/Magdir/compress projects/ifnet/contrib/file/magic/Magdir/database projects/ifnet/contrib/file/magic/Magdir/elf projects/ifnet/contrib/file/magic/Magdir/filesystems projects/ifnet/contrib/file/magic/Magdir/images projects/ifnet/contrib/file/magic/Magdir/jpeg projects/ifnet/contrib/file/magic/Magdir/linux projects/ifnet/contrib/file/magic/Magdir/macintosh projects/ifnet/contrib/file/magic/Magdir/msooxml projects/ifnet/contrib/file/magic/Magdir/netbsd projects/ifnet/contrib/file/magic/Magdir/pascal projects/ifnet/contrib/file/magic/Magdir/pgp projects/ifnet/contrib/file/magic/Magdir/python projects/ifnet/contrib/file/magic/Magdir/riff projects/ifnet/contrib/file/magic/Magdir/sequent projects/ifnet/contrib/file/magic/Magdir/sereal projects/ifnet/contrib/file/magic/Magdir/ssh projects/ifnet/contrib/file/magic/Magdir/vms projects/ifnet/contrib/file/magic/Magdir/vorbis projects/ifnet/contrib/file/magic/Magdir/windows projects/ifnet/contrib/file/magic/Makefile.am projects/ifnet/contrib/file/magic/Makefile.in projects/ifnet/contrib/file/missing projects/ifnet/contrib/file/python/Makefile.in projects/ifnet/contrib/file/src/Makefile.in projects/ifnet/contrib/file/src/apprentice.c projects/ifnet/contrib/file/src/ascmagic.c projects/ifnet/contrib/file/src/cdf.c projects/ifnet/contrib/file/src/cdf.h projects/ifnet/contrib/file/src/compress.c projects/ifnet/contrib/file/src/elfclass.h projects/ifnet/contrib/file/src/encoding.c projects/ifnet/contrib/file/src/file.c projects/ifnet/contrib/file/src/file.h projects/ifnet/contrib/file/src/file_opts.h projects/ifnet/contrib/file/src/fsmagic.c projects/ifnet/contrib/file/src/funcs.c projects/ifnet/contrib/file/src/getline.c projects/ifnet/contrib/file/src/magic.c projects/ifnet/contrib/file/src/magic.h projects/ifnet/contrib/file/src/magic.h.in projects/ifnet/contrib/file/src/pread.c projects/ifnet/contrib/file/src/readcdf.c projects/ifnet/contrib/file/src/readelf.c projects/ifnet/contrib/file/src/softmagic.c projects/ifnet/contrib/file/src/vasprintf.c projects/ifnet/contrib/file/tests/Makefile.in projects/ifnet/contrib/gcc/config/arm/arm.c projects/ifnet/contrib/gcc/config/arm/lib1funcs.asm projects/ifnet/contrib/gcc/config/arm/libunwind.S projects/ifnet/contrib/gcc/cp/name-lookup.c projects/ifnet/contrib/gcc/cp/name-lookup.h projects/ifnet/contrib/hyperv/tools/hv_kvp_daemon.c projects/ifnet/contrib/libarchive/cpio/cpio.c projects/ifnet/contrib/libc++/include/type_traits projects/ifnet/contrib/libucl/ChangeLog.md projects/ifnet/contrib/libucl/Makefile.am projects/ifnet/contrib/libucl/Makefile.w32 projects/ifnet/contrib/libucl/README.md projects/ifnet/contrib/libucl/cmake/CMakeLists.txt projects/ifnet/contrib/libucl/configure.ac projects/ifnet/contrib/libucl/include/ucl.h projects/ifnet/contrib/libucl/libucl.pc.in projects/ifnet/contrib/libucl/src/ucl_emitter.c projects/ifnet/contrib/libucl/src/ucl_emitter_streamline.c projects/ifnet/contrib/libucl/src/ucl_emitter_utils.c projects/ifnet/contrib/libucl/src/ucl_hash.c projects/ifnet/contrib/libucl/src/ucl_hash.h projects/ifnet/contrib/libucl/src/ucl_internal.h projects/ifnet/contrib/libucl/src/ucl_parser.c projects/ifnet/contrib/libucl/src/ucl_util.c projects/ifnet/contrib/libucl/tests/Makefile.am projects/ifnet/contrib/libucl/tests/basic/4.res projects/ifnet/contrib/libucl/tests/generate.res projects/ifnet/contrib/libucl/tests/test_basic.c projects/ifnet/contrib/libucl/tests/test_generate.c projects/ifnet/contrib/libucl/tests/test_schema.c projects/ifnet/contrib/libucl/utils/objdump.c projects/ifnet/contrib/libxo/README.md projects/ifnet/contrib/libxo/configure.ac projects/ifnet/contrib/libxo/libxo/libxo.c projects/ifnet/contrib/libxo/libxo/xo_create.3 projects/ifnet/contrib/libxo/libxo/xo_emit.3 projects/ifnet/contrib/libxo/libxo/xo_open_container.3 projects/ifnet/contrib/libxo/libxo/xoconfig.h projects/ifnet/contrib/libxo/libxo/xoversion.h projects/ifnet/contrib/libxo/tests/core/Makefile.am projects/ifnet/contrib/libxo/tests/core/saved/test_07.J.out projects/ifnet/contrib/libxo/tests/core/saved/test_07.JP.out projects/ifnet/contrib/libxo/tests/core/saved/test_07.X.out projects/ifnet/contrib/libxo/tests/core/saved/test_07.XP.out projects/ifnet/contrib/libxo/tests/core/test_07.c projects/ifnet/contrib/libxo/xolint/xolint.pl projects/ifnet/contrib/llvm/include/llvm/CodeGen/SelectionDAG.h projects/ifnet/contrib/llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp projects/ifnet/contrib/llvm/lib/Transforms/Vectorize/LoopVectorize.cpp projects/ifnet/contrib/llvm/patches/patch-r274286-llvm-r201784-asm-dollar.diff projects/ifnet/contrib/llvm/tools/clang/lib/CodeGen/TargetInfo.cpp projects/ifnet/contrib/llvm/tools/lldb/docs/lldb.1 projects/ifnet/contrib/mdocml/NEWS projects/ifnet/contrib/mdocml/TODO projects/ifnet/contrib/mdocml/att.c projects/ifnet/contrib/mdocml/chars.c projects/ifnet/contrib/mdocml/chars.in projects/ifnet/contrib/mdocml/compat_fgetln.c projects/ifnet/contrib/mdocml/compat_getsubopt.c projects/ifnet/contrib/mdocml/compat_strlcat.c projects/ifnet/contrib/mdocml/compat_strlcpy.c projects/ifnet/contrib/mdocml/config.h projects/ifnet/contrib/mdocml/eqn.7 projects/ifnet/contrib/mdocml/eqn.c projects/ifnet/contrib/mdocml/eqn_html.c projects/ifnet/contrib/mdocml/eqn_term.c projects/ifnet/contrib/mdocml/example.style.css projects/ifnet/contrib/mdocml/html.c projects/ifnet/contrib/mdocml/html.h projects/ifnet/contrib/mdocml/lib.c projects/ifnet/contrib/mdocml/lib.in projects/ifnet/contrib/mdocml/libman.h projects/ifnet/contrib/mdocml/libmandoc.h projects/ifnet/contrib/mdocml/libmdoc.h projects/ifnet/contrib/mdocml/libroff.h projects/ifnet/contrib/mdocml/main.c projects/ifnet/contrib/mdocml/main.h projects/ifnet/contrib/mdocml/man.7 projects/ifnet/contrib/mdocml/man.c projects/ifnet/contrib/mdocml/man.h projects/ifnet/contrib/mdocml/man_hash.c projects/ifnet/contrib/mdocml/man_html.c projects/ifnet/contrib/mdocml/man_macro.c projects/ifnet/contrib/mdocml/man_term.c projects/ifnet/contrib/mdocml/man_validate.c projects/ifnet/contrib/mdocml/mandoc.1 projects/ifnet/contrib/mdocml/mandoc.3 projects/ifnet/contrib/mdocml/mandoc.c projects/ifnet/contrib/mdocml/mandoc.h projects/ifnet/contrib/mdocml/mdoc.7 projects/ifnet/contrib/mdocml/mdoc.c projects/ifnet/contrib/mdocml/mdoc.h projects/ifnet/contrib/mdocml/mdoc_argv.c projects/ifnet/contrib/mdocml/mdoc_hash.c projects/ifnet/contrib/mdocml/mdoc_html.c projects/ifnet/contrib/mdocml/mdoc_macro.c projects/ifnet/contrib/mdocml/mdoc_man.c projects/ifnet/contrib/mdocml/mdoc_term.c projects/ifnet/contrib/mdocml/mdoc_validate.c projects/ifnet/contrib/mdocml/msec.c projects/ifnet/contrib/mdocml/out.c projects/ifnet/contrib/mdocml/out.h projects/ifnet/contrib/mdocml/read.c projects/ifnet/contrib/mdocml/roff.7 projects/ifnet/contrib/mdocml/roff.c projects/ifnet/contrib/mdocml/st.c projects/ifnet/contrib/mdocml/st.in projects/ifnet/contrib/mdocml/style.css projects/ifnet/contrib/mdocml/tbl.7 projects/ifnet/contrib/mdocml/tbl.c projects/ifnet/contrib/mdocml/tbl_data.c projects/ifnet/contrib/mdocml/tbl_html.c projects/ifnet/contrib/mdocml/tbl_layout.c projects/ifnet/contrib/mdocml/tbl_opts.c projects/ifnet/contrib/mdocml/tbl_term.c projects/ifnet/contrib/mdocml/term.c projects/ifnet/contrib/mdocml/term.h projects/ifnet/contrib/mdocml/term_ascii.c projects/ifnet/contrib/mdocml/term_ps.c projects/ifnet/contrib/mdocml/tree.c projects/ifnet/contrib/netbsd-tests/lib/libc/gen/posix_spawn/t_fileactions.c projects/ifnet/contrib/netbsd-tests/lib/libc/gen/t_getcwd.c projects/ifnet/contrib/netbsd-tests/lib/libc/gen/t_glob.c projects/ifnet/contrib/netbsd-tests/lib/libc/gen/t_humanize_number.c projects/ifnet/contrib/netbsd-tests/lib/libc/gen/t_nice.c projects/ifnet/contrib/netbsd-tests/lib/libc/gen/t_raise.c projects/ifnet/contrib/netbsd-tests/lib/libc/gen/t_setdomainname.c projects/ifnet/contrib/netbsd-tests/lib/libc/gen/t_siginfo.c projects/ifnet/contrib/netbsd-tests/lib/libc/gen/t_time.c projects/ifnet/contrib/netbsd-tests/lib/libc/gen/t_ttyname.c projects/ifnet/contrib/netbsd-tests/lib/libc/locale/t_mbrtowc.c projects/ifnet/contrib/netbsd-tests/lib/libc/locale/t_mbstowcs.c projects/ifnet/contrib/netbsd-tests/lib/libc/locale/t_mbtowc.c projects/ifnet/contrib/netbsd-tests/lib/libc/locale/t_wcstod.c projects/ifnet/contrib/netbsd-tests/lib/libc/locale/t_wctomb.c projects/ifnet/contrib/netbsd-tests/lib/libc/net/t_ether_aton.c projects/ifnet/contrib/netbsd-tests/lib/libc/regex/debug.c projects/ifnet/contrib/netbsd-tests/lib/libc/regex/t_exhaust.c projects/ifnet/contrib/netbsd-tests/lib/libc/regex/t_regex_att.c projects/ifnet/contrib/netbsd-tests/lib/libc/stdlib/h_atexit.c projects/ifnet/contrib/netbsd-tests/lib/libc/stdlib/h_getopt.c projects/ifnet/contrib/netbsd-tests/lib/libc/stdlib/h_getopt_long.c projects/ifnet/contrib/netbsd-tests/lib/libc/stdlib/t_getenv.c projects/ifnet/contrib/netbsd-tests/lib/libc/stdlib/t_hsearch.c projects/ifnet/contrib/netbsd-tests/lib/libc/string/t_memcpy.c projects/ifnet/contrib/netbsd-tests/lib/libc/string/t_strerror.c projects/ifnet/contrib/netbsd-tests/lib/libc/sys/t_access.c projects/ifnet/contrib/netbsd-tests/lib/libc/sys/t_clock_gettime.c projects/ifnet/contrib/netbsd-tests/lib/libc/sys/t_getcontext.c projects/ifnet/contrib/netbsd-tests/lib/libc/sys/t_getgroups.c projects/ifnet/contrib/netbsd-tests/lib/libc/sys/t_getrusage.c projects/ifnet/contrib/netbsd-tests/lib/libc/sys/t_kevent.c projects/ifnet/contrib/netbsd-tests/lib/libc/sys/t_listen.c projects/ifnet/contrib/netbsd-tests/lib/libc/sys/t_msgrcv.c projects/ifnet/contrib/netbsd-tests/lib/libc/sys/t_msgsnd.c projects/ifnet/contrib/netbsd-tests/lib/libc/sys/t_nanosleep.c projects/ifnet/contrib/netbsd-tests/lib/libc/sys/t_pipe2.c projects/ifnet/contrib/netbsd-tests/lib/libc/sys/t_poll.c projects/ifnet/contrib/netbsd-tests/lib/libc/sys/t_revoke.c projects/ifnet/contrib/netbsd-tests/lib/libc/sys/t_sigqueue.c projects/ifnet/contrib/netbsd-tests/lib/libc/sys/t_stat.c projects/ifnet/contrib/netbsd-tests/lib/libc/sys/t_timer_create.c projects/ifnet/contrib/netbsd-tests/lib/libc/sys/t_unlink.c projects/ifnet/contrib/netbsd-tests/lib/libc/sys/t_write.c projects/ifnet/contrib/netbsd-tests/lib/libc/time/t_strptime.c projects/ifnet/contrib/netbsd-tests/lib/libc/tls/dso/h_tls_dlopen.c projects/ifnet/contrib/netbsd-tests/lib/libc/tls/t_tls_dlopen.c projects/ifnet/contrib/netbsd-tests/lib/libc/tls/t_tls_dynamic.c projects/ifnet/contrib/netbsd-tests/lib/libc/tls/t_tls_static.c projects/ifnet/contrib/netbsd-tests/lib/libc/tls/t_tls_static_helper.c projects/ifnet/contrib/netbsd-tests/lib/libc/tls_dso/h_tls_dynamic.c projects/ifnet/contrib/netbsd-tests/lib/libm/t_cbrt.c projects/ifnet/contrib/netbsd-tests/lib/libm/t_exp.c projects/ifnet/contrib/netbsd-tests/lib/libm/t_pow.c projects/ifnet/contrib/netbsd-tests/lib/libm/t_precision.c projects/ifnet/contrib/netbsd-tests/lib/libm/t_scalbn.c projects/ifnet/contrib/netbsd-tests/lib/libpthread/h_atexit.c projects/ifnet/contrib/netbsd-tests/lib/libpthread/h_cancel.c projects/ifnet/contrib/netbsd-tests/lib/libpthread/t_condwait.c projects/ifnet/contrib/netbsd-tests/lib/libpthread/t_detach.c projects/ifnet/contrib/netbsd-tests/lib/libpthread/t_fork.c projects/ifnet/contrib/netbsd-tests/lib/libpthread/t_join.c projects/ifnet/contrib/netbsd-tests/lib/libpthread/t_mutex.c projects/ifnet/contrib/netbsd-tests/lib/libpthread/t_once.c projects/ifnet/contrib/netbsd-tests/lib/libpthread/t_sem.c projects/ifnet/contrib/netbsd-tests/lib/librt/t_sem.c projects/ifnet/contrib/ntp/ntpd/ntp_config.c projects/ifnet/contrib/ntp/ntpd/ntp_control.c projects/ifnet/contrib/ntp/ntpd/ntp_crypto.c projects/ifnet/contrib/ntp/ntpd/ntp_proto.c projects/ifnet/contrib/ntp/util/ntp-keygen.c projects/ifnet/contrib/ofed/libmlx4/src/cq.c projects/ifnet/contrib/ofed/libmlx4/src/mlx4-abi.h projects/ifnet/contrib/ofed/libmlx4/src/mlx4.c projects/ifnet/contrib/ofed/libmlx4/src/mlx4.h projects/ifnet/contrib/ofed/libmlx4/src/verbs.c projects/ifnet/contrib/ofed/librdmacm/examples/build/cmatose/Makefile projects/ifnet/contrib/ofed/librdmacm/examples/build/mckey/Makefile projects/ifnet/contrib/ofed/librdmacm/examples/build/rping/Makefile projects/ifnet/contrib/ofed/librdmacm/examples/build/udaddy/Makefile projects/ifnet/contrib/ofed/librdmacm/examples/rping.c projects/ifnet/contrib/ofed/management/infiniband-diags/src/ibnetdiscover.c projects/ifnet/contrib/ofed/management/infiniband-diags/src/ibroute.c projects/ifnet/contrib/ofed/management/infiniband-diags/src/ibsendtrap.c projects/ifnet/contrib/ofed/management/infiniband-diags/src/ibtracert.c projects/ifnet/contrib/ofed/management/infiniband-diags/src/saquery.c projects/ifnet/contrib/ofed/management/infiniband-diags/src/smpquery.c projects/ifnet/contrib/ofed/usr.bin/Makefile.inc projects/ifnet/contrib/sqlite3/configure projects/ifnet/contrib/sqlite3/configure.ac projects/ifnet/contrib/sqlite3/shell.c projects/ifnet/contrib/sqlite3/sqlite3.c projects/ifnet/contrib/sqlite3/sqlite3.h projects/ifnet/contrib/sqlite3/sqlite3ext.h projects/ifnet/contrib/subversion/subversion/svn/util.c projects/ifnet/contrib/telnet/arpa/telnet.h projects/ifnet/contrib/telnet/telnet/commands.c projects/ifnet/contrib/telnet/telnet/externs.h projects/ifnet/contrib/telnet/telnet/main.c projects/ifnet/contrib/telnet/telnet/sys_bsd.c projects/ifnet/contrib/telnet/telnet/telnet.1 projects/ifnet/contrib/telnet/telnet/telnet.c projects/ifnet/contrib/telnet/telnet/types.h projects/ifnet/contrib/telnet/telnetd/sys_term.c projects/ifnet/contrib/tzdata/africa projects/ifnet/contrib/tzdata/asia projects/ifnet/contrib/tzdata/australasia projects/ifnet/contrib/tzdata/europe projects/ifnet/contrib/tzdata/northamerica projects/ifnet/contrib/tzdata/southamerica projects/ifnet/contrib/unbound/iterator/iterator.c projects/ifnet/contrib/unbound/iterator/iterator.h projects/ifnet/etc/Makefile projects/ifnet/etc/auto_master projects/ifnet/etc/autofs/Makefile projects/ifnet/etc/defaults/rc.conf projects/ifnet/etc/devd.conf projects/ifnet/etc/devd/apple.conf projects/ifnet/etc/devd/usb.conf projects/ifnet/etc/hosts.allow projects/ifnet/etc/mtree/BSD.include.dist projects/ifnet/etc/mtree/BSD.tests.dist projects/ifnet/etc/mtree/BSD.usr.dist projects/ifnet/etc/rc projects/ifnet/etc/rc.d/Makefile projects/ifnet/etc/rc.d/NETWORKING projects/ifnet/etc/rc.d/automount projects/ifnet/etc/rc.d/ipmon projects/ifnet/etc/rc.d/pflog projects/ifnet/etc/rc.subr projects/ifnet/etc/services projects/ifnet/gnu/lib/libdialog/Makefile projects/ifnet/gnu/lib/libgcc/Makefile projects/ifnet/gnu/lib/libreadline/readline/Makefile projects/ifnet/gnu/lib/libssp/Makefile projects/ifnet/gnu/lib/libstdc++/Makefile projects/ifnet/gnu/usr.bin/binutils/Makefile projects/ifnet/gnu/usr.bin/binutils/as/as.1 projects/ifnet/gnu/usr.bin/binutils/ld/ld.1 projects/ifnet/gnu/usr.bin/binutils/libbfd/bfd.h projects/ifnet/gnu/usr.bin/cc/cc1plus/Makefile projects/ifnet/gnu/usr.bin/dialog/Makefile projects/ifnet/gnu/usr.bin/diff/Makefile projects/ifnet/gnu/usr.bin/gdb/gdb/Makefile projects/ifnet/gnu/usr.bin/gdb/gdbtui/Makefile projects/ifnet/gnu/usr.bin/gdb/kgdb/Makefile projects/ifnet/gnu/usr.bin/gdb/kgdb/kgdb.h projects/ifnet/gnu/usr.bin/gdb/kgdb/kthr.c projects/ifnet/gnu/usr.bin/gdb/kgdb/trgt_arm.c projects/ifnet/gnu/usr.bin/gdb/kgdb/trgt_i386.c projects/ifnet/gnu/usr.bin/grep/Makefile projects/ifnet/gnu/usr.bin/groff/Makefile projects/ifnet/gnu/usr.bin/groff/src/Makefile projects/ifnet/gnu/usr.bin/groff/src/devices/Makefile projects/ifnet/gnu/usr.bin/groff/src/libs/Makefile projects/ifnet/gnu/usr.bin/groff/src/preproc/Makefile projects/ifnet/gnu/usr.bin/groff/src/roff/Makefile projects/ifnet/gnu/usr.bin/groff/src/utils/Makefile projects/ifnet/gnu/usr.bin/groff/tmac/Makefile projects/ifnet/include/Makefile projects/ifnet/kerberos5/Makefile.inc projects/ifnet/kerberos5/lib/libasn1/Makefile projects/ifnet/kerberos5/lib/libgssapi_krb5/Makefile projects/ifnet/kerberos5/lib/libgssapi_ntlm/Makefile projects/ifnet/kerberos5/lib/libgssapi_spnego/Makefile projects/ifnet/kerberos5/lib/libhdb/Makefile projects/ifnet/kerberos5/lib/libheimbase/Makefile projects/ifnet/kerberos5/lib/libheimipcc/Makefile projects/ifnet/kerberos5/lib/libheimipcs/Makefile projects/ifnet/kerberos5/lib/libheimntlm/Makefile projects/ifnet/kerberos5/lib/libheimsqlite/Makefile projects/ifnet/kerberos5/lib/libhx509/Makefile projects/ifnet/kerberos5/lib/libkadm5clnt/Makefile projects/ifnet/kerberos5/lib/libkadm5srv/Makefile projects/ifnet/kerberos5/lib/libkafs5/Makefile projects/ifnet/kerberos5/lib/libkdc/Makefile projects/ifnet/kerberos5/lib/libkrb5/Makefile projects/ifnet/kerberos5/lib/libroken/Makefile projects/ifnet/kerberos5/lib/libwind/Makefile projects/ifnet/kerberos5/libexec/digest-service/Makefile projects/ifnet/kerberos5/libexec/hprop/Makefile projects/ifnet/kerberos5/libexec/hpropd/Makefile projects/ifnet/kerberos5/libexec/ipropd-master/Makefile projects/ifnet/kerberos5/libexec/ipropd-slave/Makefile projects/ifnet/kerberos5/libexec/kadmind/Makefile projects/ifnet/kerberos5/libexec/kcm/Makefile projects/ifnet/kerberos5/libexec/kdc/Makefile projects/ifnet/kerberos5/libexec/kdigest/Makefile projects/ifnet/kerberos5/libexec/kfd/Makefile projects/ifnet/kerberos5/libexec/kimpersonate/Makefile projects/ifnet/kerberos5/libexec/kpasswdd/Makefile projects/ifnet/kerberos5/tools/asn1_compile/Makefile projects/ifnet/kerberos5/tools/slc/Makefile projects/ifnet/kerberos5/usr.bin/hxtool/Makefile projects/ifnet/kerberos5/usr.bin/kadmin/Makefile projects/ifnet/kerberos5/usr.bin/kcc/Makefile projects/ifnet/kerberos5/usr.bin/kdestroy/Makefile projects/ifnet/kerberos5/usr.bin/kf/Makefile projects/ifnet/kerberos5/usr.bin/kgetcred/Makefile projects/ifnet/kerberos5/usr.bin/kinit/Makefile projects/ifnet/kerberos5/usr.bin/kpasswd/Makefile projects/ifnet/kerberos5/usr.bin/ksu/Makefile projects/ifnet/kerberos5/usr.bin/string2key/Makefile projects/ifnet/kerberos5/usr.bin/verify_krb5_conf/Makefile projects/ifnet/kerberos5/usr.sbin/iprop-log/Makefile projects/ifnet/kerberos5/usr.sbin/kstash/Makefile projects/ifnet/kerberos5/usr.sbin/ktutil/Makefile projects/ifnet/lib/Makefile projects/ifnet/lib/atf/libatf-c++/Makefile projects/ifnet/lib/libarchive/Makefile projects/ifnet/lib/libarchive/test/Makefile projects/ifnet/lib/libbsnmp/libbsnmp/Makefile projects/ifnet/lib/libc++/Makefile projects/ifnet/lib/libc/Makefile projects/ifnet/lib/libc/arm/string/ffs.S projects/ifnet/lib/libc/arm/string/memcmp.S projects/ifnet/lib/libc/arm/string/memcpy_arm.S projects/ifnet/lib/libc/arm/string/memcpy_xscale.S projects/ifnet/lib/libc/arm/string/memmove.S projects/ifnet/lib/libc/arm/string/memset.S projects/ifnet/lib/libc/arm/string/strlen.S projects/ifnet/lib/libc/gen/cap_rights_get.3 projects/ifnet/lib/libc/gen/ftok.3 projects/ifnet/lib/libc/gen/ftw.3 projects/ifnet/lib/libc/gen/getcap.3 projects/ifnet/lib/libc/gen/posix_spawn.3 projects/ifnet/lib/libc/gen/scandir.3 projects/ifnet/lib/libc/gen/syslog.c projects/ifnet/lib/libc/iconv/iconv.3 projects/ifnet/lib/libc/iconv/iconvlist.3 projects/ifnet/lib/libc/locale/digittoint.3 projects/ifnet/lib/libc/locale/xlocale.3 projects/ifnet/lib/libc/mips/gen/_setjmp.S projects/ifnet/lib/libc/mips/gen/setjmp.S projects/ifnet/lib/libc/net/base64.c projects/ifnet/lib/libc/net/getaddrinfo.3 projects/ifnet/lib/libc/net/getifaddrs.3 projects/ifnet/lib/libc/net/nsdispatch.c projects/ifnet/lib/libc/net/sctp_recvmsg.3 projects/ifnet/lib/libc/net/sctp_send.3 projects/ifnet/lib/libc/net/sctp_sys_calls.c projects/ifnet/lib/libc/posix1e/acl_set_flagset_np.3 projects/ifnet/lib/libc/regex/re_format.7 projects/ifnet/lib/libc/regex/regcomp.c projects/ifnet/lib/libc/rpc/rpc.3 projects/ifnet/lib/libc/rpc/rpc_svc_reg.3 projects/ifnet/lib/libc/stdio/fflush.c projects/ifnet/lib/libc/stdlib/atexit.3 projects/ifnet/lib/libc/stdlib/exit.3 projects/ifnet/lib/libc/stdlib/quick_exit.3 projects/ifnet/lib/libc/string/strspn.3 projects/ifnet/lib/libc/sys/Makefile.inc projects/ifnet/lib/libc/sys/Symbol.map projects/ifnet/lib/libc/sys/access.2 projects/ifnet/lib/libc/sys/getdirentries.2 projects/ifnet/lib/libc/sys/getrlimit.2 projects/ifnet/lib/libc/sys/kqueue.2 projects/ifnet/lib/libc/sys/mount.2 projects/ifnet/lib/libc/sys/poll.2 projects/ifnet/lib/libc/sys/posix_openpt.2 projects/ifnet/lib/libc/sys/procctl.2 projects/ifnet/lib/libc/sys/revoke.2 projects/ifnet/lib/libc/sys/sched_setscheduler.2 projects/ifnet/lib/libc/sys/sigwaitinfo.2 projects/ifnet/lib/libc/sys/vfork.2 projects/ifnet/lib/libc/tests/gen/Makefile projects/ifnet/lib/libc/tests/hash/Makefile projects/ifnet/lib/libc/tests/ssp/Makefile projects/ifnet/lib/libc/tests/stdio/Makefile projects/ifnet/lib/libcam/Makefile projects/ifnet/lib/libcapsicum/Makefile projects/ifnet/lib/libcasper/Makefile projects/ifnet/lib/libcrypt/tests/Makefile projects/ifnet/lib/libcuse/Makefile projects/ifnet/lib/libdevstat/Makefile projects/ifnet/lib/libdpv/Makefile projects/ifnet/lib/libdpv/dpv.3 projects/ifnet/lib/libdwarf/Makefile projects/ifnet/lib/libedit/Makefile projects/ifnet/lib/libexecinfo/Makefile projects/ifnet/lib/libexpat/Makefile projects/ifnet/lib/libfetch/Makefile projects/ifnet/lib/libgeom/Makefile projects/ifnet/lib/libjail/jail.c projects/ifnet/lib/libjail/jail_getid.c projects/ifnet/lib/libldns/Makefile projects/ifnet/lib/libmagic/Makefile projects/ifnet/lib/libmagic/config.h projects/ifnet/lib/libmandoc/Makefile projects/ifnet/lib/libmemstat/Makefile projects/ifnet/lib/libmp/Makefile projects/ifnet/lib/libmp/tests/Makefile projects/ifnet/lib/libnv/tests/Makefile projects/ifnet/lib/libopie/Makefile projects/ifnet/lib/libpam/libpam/tests/Makefile projects/ifnet/lib/libpam/modules/Makefile.inc projects/ifnet/lib/libpam/modules/pam_guest/pam_guest.8 projects/ifnet/lib/libpam/modules/pam_krb5/Makefile projects/ifnet/lib/libpam/modules/pam_ksu/Makefile projects/ifnet/lib/libpam/modules/pam_nologin/Makefile projects/ifnet/lib/libpam/modules/pam_opie/Makefile projects/ifnet/lib/libpam/modules/pam_opieaccess/Makefile projects/ifnet/lib/libpam/modules/pam_passwdqc/Makefile projects/ifnet/lib/libpam/modules/pam_radius/Makefile projects/ifnet/lib/libpam/modules/pam_ssh/Makefile projects/ifnet/lib/libpam/modules/pam_tacplus/Makefile projects/ifnet/lib/libpam/modules/pam_unix/Makefile projects/ifnet/lib/libpjdlog/Makefile projects/ifnet/lib/libproc/Makefile projects/ifnet/lib/libproc/proc_sym.c projects/ifnet/lib/libprocstat/Makefile projects/ifnet/lib/libprocstat/udf.c projects/ifnet/lib/libradius/Makefile projects/ifnet/lib/librpcsec_gss/Makefile projects/ifnet/lib/librt/Makefile projects/ifnet/lib/librtld_db/librtld_db.3 projects/ifnet/lib/libsmb/Makefile projects/ifnet/lib/libstand/cd9660.c projects/ifnet/lib/libstand/ext2fs.c projects/ifnet/lib/libstand/nandfs.c projects/ifnet/lib/libstand/nfs.c projects/ifnet/lib/libstand/read.c projects/ifnet/lib/libstand/stand.h projects/ifnet/lib/libstand/tftp.c projects/ifnet/lib/libstand/twiddle.c projects/ifnet/lib/libstand/ufs.c projects/ifnet/lib/libstand/write.c projects/ifnet/lib/libstdthreads/Makefile projects/ifnet/lib/libtacplus/Makefile projects/ifnet/lib/libthr/Makefile projects/ifnet/lib/libucl/Makefile projects/ifnet/lib/libulog/Makefile projects/ifnet/lib/libunbound/Makefile projects/ifnet/lib/libusb/Makefile projects/ifnet/lib/libusb/libusb20.3 projects/ifnet/lib/libutil/quotafile.3 projects/ifnet/lib/libutil/tests/Makefile projects/ifnet/lib/libxo/Makefile projects/ifnet/lib/msun/Makefile projects/ifnet/lib/msun/ld128/k_expl.h projects/ifnet/lib/msun/ld80/k_expl.h projects/ifnet/lib/msun/man/cexp.3 projects/ifnet/lib/msun/man/complex.3 projects/ifnet/lib/msun/man/csqrt.3 projects/ifnet/lib/msun/man/lgamma.3 projects/ifnet/lib/msun/man/sin.3 projects/ifnet/lib/msun/src/catrig.c projects/ifnet/lib/msun/src/catrigf.c projects/ifnet/lib/msun/src/e_j0.c projects/ifnet/lib/msun/src/e_j0f.c projects/ifnet/lib/msun/src/k_exp.c projects/ifnet/lib/msun/src/k_expf.c projects/ifnet/lib/msun/src/math_private.h projects/ifnet/lib/msun/src/s_ccosh.c projects/ifnet/lib/msun/src/s_ccoshf.c projects/ifnet/lib/msun/src/s_cexp.c projects/ifnet/lib/msun/src/s_cexpf.c projects/ifnet/lib/msun/src/s_conj.c projects/ifnet/lib/msun/src/s_conjf.c projects/ifnet/lib/msun/src/s_conjl.c projects/ifnet/lib/msun/src/s_cproj.c projects/ifnet/lib/msun/src/s_cprojf.c projects/ifnet/lib/msun/src/s_cprojl.c projects/ifnet/lib/msun/src/s_csinh.c projects/ifnet/lib/msun/src/s_csinhf.c projects/ifnet/lib/msun/src/s_csqrt.c projects/ifnet/lib/msun/src/s_csqrtf.c projects/ifnet/lib/msun/src/s_csqrtl.c projects/ifnet/lib/msun/src/s_ctanh.c projects/ifnet/lib/msun/src/s_ctanhf.c projects/ifnet/lib/ncurses/Makefile projects/ifnet/lib/ncurses/form/Makefile projects/ifnet/lib/ncurses/menu/Makefile projects/ifnet/lib/ncurses/panel/Makefile projects/ifnet/libexec/atf/atf-check/Makefile projects/ifnet/libexec/atf/atf-sh/Makefile projects/ifnet/libexec/atrun/Makefile projects/ifnet/libexec/casper/dns/Makefile projects/ifnet/libexec/casper/grp/Makefile projects/ifnet/libexec/casper/pwd/Makefile projects/ifnet/libexec/casper/random/Makefile projects/ifnet/libexec/casper/sysctl/Makefile projects/ifnet/libexec/dma/Makefile projects/ifnet/libexec/fingerd/Makefile projects/ifnet/libexec/fingerd/fingerd.8 projects/ifnet/libexec/ftpd/Makefile projects/ifnet/libexec/getty/Makefile projects/ifnet/libexec/mail.local/Makefile projects/ifnet/libexec/pppoed/Makefile projects/ifnet/libexec/rlogind/Makefile projects/ifnet/libexec/rpc.rquotad/Makefile projects/ifnet/libexec/rpc.rstatd/Makefile projects/ifnet/libexec/rpc.rusersd/Makefile projects/ifnet/libexec/rpc.rwalld/Makefile projects/ifnet/libexec/rpc.sprayd/Makefile projects/ifnet/libexec/rshd/Makefile projects/ifnet/libexec/rtld-elf/Makefile projects/ifnet/libexec/rtld-elf/powerpc/reloc.c projects/ifnet/libexec/rtld-elf/rtld.c projects/ifnet/libexec/smrsh/Makefile projects/ifnet/libexec/tcpd/Makefile projects/ifnet/libexec/telnetd/Makefile projects/ifnet/libexec/tftpd/Makefile projects/ifnet/libexec/ulog-helper/Makefile projects/ifnet/libexec/ypxfr/Makefile projects/ifnet/release/arm/release.sh projects/ifnet/release/picobsd/tinyware/login/Makefile projects/ifnet/release/picobsd/tinyware/oinit/Makefile projects/ifnet/release/picobsd/tinyware/passwd/Makefile projects/ifnet/release/scripts/relnotes-search.sh projects/ifnet/rescue/rescue/Makefile projects/ifnet/sbin/atm/atmconfig/Makefile projects/ifnet/sbin/badsect/Makefile projects/ifnet/sbin/bsdlabel/Makefile projects/ifnet/sbin/bsdlabel/bsdlabel.8 projects/ifnet/sbin/camcontrol/Makefile projects/ifnet/sbin/camcontrol/camcontrol.8 projects/ifnet/sbin/casperd/Makefile projects/ifnet/sbin/ccdconfig/Makefile projects/ifnet/sbin/ddb/Makefile projects/ifnet/sbin/devd/Makefile projects/ifnet/sbin/dhclient/Makefile projects/ifnet/sbin/dhclient/dhclient.conf.5 projects/ifnet/sbin/dhclient/dhclient.leases.5 projects/ifnet/sbin/dmesg/Makefile projects/ifnet/sbin/dumpfs/Makefile projects/ifnet/sbin/fdisk/Makefile projects/ifnet/sbin/fdisk_pc98/Makefile projects/ifnet/sbin/ffsinfo/Makefile projects/ifnet/sbin/ffsinfo/ffsinfo.c projects/ifnet/sbin/fsck/fsck.c projects/ifnet/sbin/fsck_ffs/Makefile projects/ifnet/sbin/fsck_ffs/dir.c projects/ifnet/sbin/fsdb/Makefile projects/ifnet/sbin/gbde/Makefile projects/ifnet/sbin/geom/Makefile projects/ifnet/sbin/geom/class/eli/Makefile projects/ifnet/sbin/geom/class/journal/Makefile projects/ifnet/sbin/geom/class/label/glabel.8 projects/ifnet/sbin/geom/class/mirror/Makefile projects/ifnet/sbin/geom/class/part/Makefile projects/ifnet/sbin/geom/class/raid/Makefile projects/ifnet/sbin/geom/class/raid3/Makefile projects/ifnet/sbin/geom/core/Makefile projects/ifnet/sbin/geom/core/geom.c projects/ifnet/sbin/ggate/ggatec/Makefile projects/ifnet/sbin/ggate/ggated/Makefile projects/ifnet/sbin/ggate/ggatel/Makefile projects/ifnet/sbin/growfs/Makefile projects/ifnet/sbin/growfs/growfs.8 projects/ifnet/sbin/gvinum/Makefile projects/ifnet/sbin/hastctl/Makefile projects/ifnet/sbin/hastd/Makefile projects/ifnet/sbin/ifconfig/Makefile projects/ifnet/sbin/ifconfig/ifconfig.8 projects/ifnet/sbin/ifconfig/ifgroup.c projects/ifnet/sbin/ifconfig/ifvxlan.c projects/ifnet/sbin/init/Makefile projects/ifnet/sbin/ipf/Makefile.inc projects/ifnet/sbin/ipf/ipf/Makefile projects/ifnet/sbin/ipf/ipfstat/Makefile projects/ifnet/sbin/ipf/ipsend/Makefile projects/ifnet/sbin/ipfw/Makefile projects/ifnet/sbin/ipfw/ipfw.8 projects/ifnet/sbin/iscontrol/Makefile projects/ifnet/sbin/iscontrol/iscontrol.8 projects/ifnet/sbin/md5/Makefile projects/ifnet/sbin/mdconfig/Makefile projects/ifnet/sbin/mdconfig/tests/Makefile projects/ifnet/sbin/mount/Makefile projects/ifnet/sbin/mount/mount.8 projects/ifnet/sbin/mount_cd9660/Makefile projects/ifnet/sbin/mount_fusefs/mount_fusefs.8 projects/ifnet/sbin/mount_msdosfs/Makefile projects/ifnet/sbin/mount_nfs/mount_nfs.8 projects/ifnet/sbin/mount_udf/Makefile projects/ifnet/sbin/nandfs/Makefile projects/ifnet/sbin/natd/Makefile projects/ifnet/sbin/newfs/Makefile projects/ifnet/sbin/newfs/newfs.8 projects/ifnet/sbin/newfs_nandfs/Makefile projects/ifnet/sbin/pfctl/Makefile projects/ifnet/sbin/pflogd/Makefile projects/ifnet/sbin/ping/Makefile projects/ifnet/sbin/ping6/Makefile projects/ifnet/sbin/ping6/ping6.c projects/ifnet/sbin/quotacheck/Makefile projects/ifnet/sbin/rcorder/Makefile projects/ifnet/sbin/reboot/boot_i386.8 projects/ifnet/sbin/route/keywords projects/ifnet/sbin/route/route.8 projects/ifnet/sbin/route/route.c projects/ifnet/sbin/routed/Makefile projects/ifnet/sbin/routed/routed.8 projects/ifnet/sbin/routed/rtquery/Makefile projects/ifnet/sbin/savecore/Makefile projects/ifnet/sbin/setkey/Makefile projects/ifnet/sbin/shutdown/shutdown.8 projects/ifnet/sbin/shutdown/shutdown.c projects/ifnet/sbin/sunlabel/Makefile projects/ifnet/sbin/swapon/Makefile projects/ifnet/sbin/sysctl/sysctl.c projects/ifnet/sbin/tunefs/Makefile projects/ifnet/sbin/umount/umount.8 projects/ifnet/secure/lib/libssh/Makefile projects/ifnet/secure/lib/libssl/Makefile projects/ifnet/secure/libexec/sftp-server/Makefile projects/ifnet/secure/libexec/ssh-keysign/Makefile projects/ifnet/secure/libexec/ssh-pkcs11-helper/Makefile projects/ifnet/secure/usr.bin/bdes/Makefile projects/ifnet/secure/usr.bin/openssl/Makefile projects/ifnet/secure/usr.bin/scp/Makefile projects/ifnet/secure/usr.bin/sftp/Makefile projects/ifnet/secure/usr.bin/ssh-add/Makefile projects/ifnet/secure/usr.bin/ssh-agent/Makefile projects/ifnet/secure/usr.bin/ssh-keygen/Makefile projects/ifnet/secure/usr.bin/ssh-keyscan/Makefile projects/ifnet/secure/usr.bin/ssh/Makefile projects/ifnet/secure/usr.sbin/sshd/Makefile projects/ifnet/share/man/man3/ATOMIC_VAR_INIT.3 projects/ifnet/share/man/man3/makedev.3 projects/ifnet/share/man/man3/pthread.3 projects/ifnet/share/man/man3/pthread_attr.3 projects/ifnet/share/man/man3/pthread_cond_init.3 projects/ifnet/share/man/man3/pthread_mutex_init.3 projects/ifnet/share/man/man3/pthread_mutexattr_getkind_np.3 projects/ifnet/share/man/man3/pthread_rwlock_init.3 projects/ifnet/share/man/man3/pthread_rwlockattr_getpshared.3 projects/ifnet/share/man/man3/pthread_rwlockattr_init.3 projects/ifnet/share/man/man3/pthread_rwlockattr_setpshared.3 projects/ifnet/share/man/man4/Makefile projects/ifnet/share/man/man4/acpi.4 projects/ifnet/share/man/man4/ada.4 projects/ifnet/share/man/man4/altera_atse.4 projects/ifnet/share/man/man4/aout.4 projects/ifnet/share/man/man4/ata.4 projects/ifnet/share/man/man4/ath_ahb.4 projects/ifnet/share/man/man4/ath_pci.4 projects/ifnet/share/man/man4/audit.4 projects/ifnet/share/man/man4/bhyve.4 (contents, props changed) projects/ifnet/share/man/man4/carp.4 projects/ifnet/share/man/man4/ch.4 projects/ifnet/share/man/man4/crypto.4 projects/ifnet/share/man/man4/dpt.4 projects/ifnet/share/man/man4/ehci.4 projects/ifnet/share/man/man4/geom.4 projects/ifnet/share/man/man4/gpioled.4 projects/ifnet/share/man/man4/gre.4 projects/ifnet/share/man/man4/hv_ata_pci_disengage.4 projects/ifnet/share/man/man4/hv_kvp.4 projects/ifnet/share/man/man4/hv_netvsc.4 projects/ifnet/share/man/man4/hv_storvsc.4 projects/ifnet/share/man/man4/hv_utils.4 projects/ifnet/share/man/man4/hv_vmbus.4 projects/ifnet/share/man/man4/igmp.4 projects/ifnet/share/man/man4/iicbus.4 projects/ifnet/share/man/man4/inet.4 projects/ifnet/share/man/man4/inet6.4 projects/ifnet/share/man/man4/ip.4 projects/ifnet/share/man/man4/ip6.4 projects/ifnet/share/man/man4/ipheth.4 projects/ifnet/share/man/man4/ips.4 projects/ifnet/share/man/man4/iscsi_initiator.4 projects/ifnet/share/man/man4/isp.4 projects/ifnet/share/man/man4/ispfw.4 projects/ifnet/share/man/man4/iwi.4 projects/ifnet/share/man/man4/lagg.4 projects/ifnet/share/man/man4/man4.arm/cgem.4 projects/ifnet/share/man/man4/man4.i386/glxsb.4 projects/ifnet/share/man/man4/man4.powerpc/smu.4 projects/ifnet/share/man/man4/man4.powerpc/snd_ai2s.4 projects/ifnet/share/man/man4/man4.powerpc/snd_davbus.4 projects/ifnet/share/man/man4/me.4 projects/ifnet/share/man/man4/mmc.4 projects/ifnet/share/man/man4/mmcsd.4 projects/ifnet/share/man/man4/mod_cc.4 projects/ifnet/share/man/man4/mpr.4 projects/ifnet/share/man/man4/mpt.4 projects/ifnet/share/man/man4/mrsas.4 projects/ifnet/share/man/man4/multicast.4 projects/ifnet/share/man/man4/net80211.4 projects/ifnet/share/man/man4/netmap.4 projects/ifnet/share/man/man4/nfe.4 projects/ifnet/share/man/man4/ng_ether_echo.4 projects/ifnet/share/man/man4/ng_netflow.4 projects/ifnet/share/man/man4/nvram2env.4 projects/ifnet/share/man/man4/ohci.4 projects/ifnet/share/man/man4/pass.4 projects/ifnet/share/man/man4/pccbb.4 projects/ifnet/share/man/man4/pflog.4 projects/ifnet/share/man/man4/pfsync.4 projects/ifnet/share/man/man4/pts.4 projects/ifnet/share/man/man4/ral.4 projects/ifnet/share/man/man4/rsu.4 projects/ifnet/share/man/man4/rum.4 projects/ifnet/share/man/man4/run.4 projects/ifnet/share/man/man4/sa.4 projects/ifnet/share/man/man4/send.4 projects/ifnet/share/man/man4/sfxge.4 projects/ifnet/share/man/man4/snd_hda.4 projects/ifnet/share/man/man4/snd_ich.4 projects/ifnet/share/man/man4/splash.4 projects/ifnet/share/man/man4/tap.4 projects/ifnet/share/man/man4/tcp.4 projects/ifnet/share/man/man4/tun.4 projects/ifnet/share/man/man4/uhci.4 projects/ifnet/share/man/man4/umass.4 projects/ifnet/share/man/man4/upgt.4 projects/ifnet/share/man/man4/ural.4 projects/ifnet/share/man/man4/usfs.4 projects/ifnet/share/man/man4/virtio_console.4 projects/ifnet/share/man/man4/virtio_random.4 projects/ifnet/share/man/man4/vxlan.4 projects/ifnet/share/man/man4/wpi.4 projects/ifnet/share/man/man4/wsp.4 projects/ifnet/share/man/man5/periodic.conf.5 projects/ifnet/share/man/man5/pf.conf.5 projects/ifnet/share/man/man5/pf.os.5 projects/ifnet/share/man/man5/rc.conf.5 projects/ifnet/share/man/man5/services.5 projects/ifnet/share/man/man5/src.conf.5 projects/ifnet/share/man/man7/Makefile projects/ifnet/share/man/man7/build.7 projects/ifnet/share/man/man7/c99.7 projects/ifnet/share/man/man7/environ.7 projects/ifnet/share/man/man7/hier.7 projects/ifnet/share/man/man7/security.7 projects/ifnet/share/man/man7/tuning.7 projects/ifnet/share/man/man8/rc.8 projects/ifnet/share/man/man9/BUF_ISLOCKED.9 projects/ifnet/share/man/man9/BUS_BIND_INTR.9 projects/ifnet/share/man/man9/BUS_DESCRIBE_INTR.9 projects/ifnet/share/man/man9/DB_COMMAND.9 projects/ifnet/share/man/man9/EVENTHANDLER.9 projects/ifnet/share/man/man9/Makefile projects/ifnet/share/man/man9/VFS.9 projects/ifnet/share/man/man9/VFS_CHECKEXP.9 projects/ifnet/share/man/man9/VFS_FHTOVP.9 projects/ifnet/share/man/man9/VFS_SET.9 projects/ifnet/share/man/man9/VOP_LOCK.9 projects/ifnet/share/man/man9/VOP_VPTOCNP.9 projects/ifnet/share/man/man9/accf_data.9 projects/ifnet/share/man/man9/accf_dns.9 projects/ifnet/share/man/man9/acl.9 projects/ifnet/share/man/man9/alq.9 projects/ifnet/share/man/man9/crypto.9 projects/ifnet/share/man/man9/devfs_set_cdevpriv.9 projects/ifnet/share/man/man9/eventtimers.9 projects/ifnet/share/man/man9/get_cyclecount.9 projects/ifnet/share/man/man9/ieee80211_crypto.9 projects/ifnet/share/man/man9/ifnet.9 projects/ifnet/share/man/man9/kqueue.9 projects/ifnet/share/man/man9/lock.9 projects/ifnet/share/man/man9/locking.9 projects/ifnet/share/man/man9/malloc.9 projects/ifnet/share/man/man9/mbuf.9 projects/ifnet/share/man/man9/mod_cc.9 projects/ifnet/share/man/man9/mutex.9 projects/ifnet/share/man/man9/refcount.9 projects/ifnet/share/man/man9/rmlock.9 projects/ifnet/share/man/man9/rwlock.9 projects/ifnet/share/man/man9/sleepqueue.9 projects/ifnet/share/man/man9/sx.9 projects/ifnet/share/man/man9/timeout.9 projects/ifnet/share/man/man9/usbdi.9 projects/ifnet/share/man/man9/vm_page_busy.9 projects/ifnet/share/man/man9/vnode.9 projects/ifnet/share/man/man9/zone.9 projects/ifnet/share/misc/bsd-family-tree projects/ifnet/share/misc/committers-ports.dot projects/ifnet/share/misc/organization.dot projects/ifnet/share/mk/bsd.README projects/ifnet/share/mk/bsd.compiler.mk projects/ifnet/share/mk/bsd.cpu.mk projects/ifnet/share/mk/bsd.incs.mk projects/ifnet/share/mk/bsd.lib.mk projects/ifnet/share/mk/bsd.libnames.mk projects/ifnet/share/mk/bsd.opts.mk projects/ifnet/share/mk/bsd.progs.mk projects/ifnet/share/mk/src.libnames.mk projects/ifnet/share/mk/src.opts.mk projects/ifnet/share/mk/sys.mk projects/ifnet/share/termcap/Makefile projects/ifnet/share/termcap/README projects/ifnet/sys/amd64/amd64/elf_machdep.c projects/ifnet/sys/amd64/amd64/exception.S projects/ifnet/sys/amd64/amd64/fpu.c projects/ifnet/sys/amd64/amd64/pmap.c projects/ifnet/sys/amd64/amd64/ptrace_machdep.c projects/ifnet/sys/amd64/amd64/support.S projects/ifnet/sys/amd64/amd64/trap.c projects/ifnet/sys/amd64/conf/NOTES projects/ifnet/sys/amd64/ia32/ia32_sigtramp.S projects/ifnet/sys/amd64/ia32/ia32_syscall.c projects/ifnet/sys/amd64/include/asmacros.h projects/ifnet/sys/amd64/include/vmm.h (contents, props changed) projects/ifnet/sys/amd64/include/vmparam.h projects/ifnet/sys/amd64/vmm/amd/svm.c (contents, props changed) projects/ifnet/sys/amd64/vmm/intel/vmcs.c projects/ifnet/sys/amd64/vmm/intel/vmcs.h projects/ifnet/sys/amd64/vmm/intel/vmx.c projects/ifnet/sys/amd64/vmm/intel/vmx_msr.c projects/ifnet/sys/amd64/vmm/io/vatpic.c projects/ifnet/sys/amd64/vmm/vmm.c projects/ifnet/sys/arm/allwinner/a10_gpio.c projects/ifnet/sys/arm/allwinner/a20/std.a20 projects/ifnet/sys/arm/allwinner/std.a10 projects/ifnet/sys/arm/altera/socfpga/files.socfpga projects/ifnet/sys/arm/altera/socfpga/socfpga_machdep.c projects/ifnet/sys/arm/altera/socfpga/std.socfpga projects/ifnet/sys/arm/arm/bcopyinout_xscale.S projects/ifnet/sys/arm/arm/blockio.S projects/ifnet/sys/arm/arm/busdma_machdep-v6.c projects/ifnet/sys/arm/arm/cpufunc_asm_arm11x6.S projects/ifnet/sys/arm/arm/cpufunc_asm_armv5.S projects/ifnet/sys/arm/arm/cpufunc_asm_armv5_ec.S projects/ifnet/sys/arm/arm/cpufunc_asm_sheeva.S projects/ifnet/sys/arm/arm/cpufunc_asm_xscale_c3.S projects/ifnet/sys/arm/arm/db_trace.c projects/ifnet/sys/arm/arm/dump_machdep.c projects/ifnet/sys/arm/arm/exception.S projects/ifnet/sys/arm/arm/fusu.S projects/ifnet/sys/arm/arm/gdb_machdep.c projects/ifnet/sys/arm/arm/genassym.c projects/ifnet/sys/arm/arm/generic_timer.c projects/ifnet/sys/arm/arm/gic.c projects/ifnet/sys/arm/arm/identcpu.c projects/ifnet/sys/arm/arm/in_cksum_arm.S projects/ifnet/sys/arm/arm/intr.c projects/ifnet/sys/arm/arm/locore.S projects/ifnet/sys/arm/arm/machdep.c projects/ifnet/sys/arm/arm/mp_machdep.c projects/ifnet/sys/arm/arm/nexus.c projects/ifnet/sys/arm/arm/stack_machdep.c projects/ifnet/sys/arm/arm/stdatomic.c projects/ifnet/sys/arm/arm/support.S projects/ifnet/sys/arm/arm/swtch.S projects/ifnet/sys/arm/arm/syscall.c projects/ifnet/sys/arm/arm/trap.c projects/ifnet/sys/arm/arm/vm_machdep.c projects/ifnet/sys/arm/at91/at91_machdep.c projects/ifnet/sys/arm/broadcom/bcm2835/bcm2835_bsc.c projects/ifnet/sys/arm/broadcom/bcm2835/bcm2835_bscvar.h projects/ifnet/sys/arm/broadcom/bcm2835/bcm2835_common.c projects/ifnet/sys/arm/broadcom/bcm2835/bcm2835_gpio.c projects/ifnet/sys/arm/broadcom/bcm2835/bcm2835_intr.c projects/ifnet/sys/arm/broadcom/bcm2835/bcm2835_machdep.c projects/ifnet/sys/arm/broadcom/bcm2835/bcm2835_mbox.c projects/ifnet/sys/arm/broadcom/bcm2835/bcm2835_mbox.h projects/ifnet/sys/arm/broadcom/bcm2835/bcm2835_sdhci.c projects/ifnet/sys/arm/broadcom/bcm2835/bcm2835_wdog.c projects/ifnet/sys/arm/broadcom/bcm2835/files.bcm2835 projects/ifnet/sys/arm/broadcom/bcm2835/std.bcm2835 projects/ifnet/sys/arm/conf/APALIS-IMX6 projects/ifnet/sys/arm/conf/ARMADAXP projects/ifnet/sys/arm/conf/BEAGLEBONE projects/ifnet/sys/arm/conf/CHROMEBOOK-PEACH-PIT projects/ifnet/sys/arm/conf/CNS11XXNAS projects/ifnet/sys/arm/conf/CUBIEBOARD projects/ifnet/sys/arm/conf/CUBIEBOARD2 projects/ifnet/sys/arm/conf/DIGI-CCWMX53 projects/ifnet/sys/arm/conf/DOCKSTAR projects/ifnet/sys/arm/conf/DREAMPLUG-1001 projects/ifnet/sys/arm/conf/EA3250 projects/ifnet/sys/arm/conf/EFIKA_MX projects/ifnet/sys/arm/conf/EXYNOS5.common projects/ifnet/sys/arm/conf/HL201 projects/ifnet/sys/arm/conf/IMX53 projects/ifnet/sys/arm/conf/IMX53-QSB projects/ifnet/sys/arm/conf/IMX6 projects/ifnet/sys/arm/conf/PANDABOARD projects/ifnet/sys/arm/conf/RK3188 projects/ifnet/sys/arm/conf/RPI-B projects/ifnet/sys/arm/conf/SAM9260EK projects/ifnet/sys/arm/conf/SOCKIT projects/ifnet/sys/arm/conf/SOCKIT-BERI projects/ifnet/sys/arm/conf/VERSATILEPB projects/ifnet/sys/arm/conf/VYBRID projects/ifnet/sys/arm/conf/WANDBOARD-DUAL projects/ifnet/sys/arm/conf/WANDBOARD-QUAD projects/ifnet/sys/arm/conf/WANDBOARD-SOLO projects/ifnet/sys/arm/conf/ZEDBOARD projects/ifnet/sys/arm/freescale/imx/imx51_machdep.c projects/ifnet/sys/arm/freescale/imx/imx53_machdep.c projects/ifnet/sys/arm/freescale/imx/imx6_machdep.c projects/ifnet/sys/arm/freescale/imx/imx_common.c projects/ifnet/sys/arm/freescale/imx/imx_gpio.c projects/ifnet/sys/arm/freescale/imx/imx_i2c.c projects/ifnet/sys/arm/freescale/imx/imx_iomux.c projects/ifnet/sys/arm/freescale/imx/std.imx51 projects/ifnet/sys/arm/freescale/imx/std.imx53 projects/ifnet/sys/arm/freescale/imx/std.imx6 projects/ifnet/sys/arm/freescale/vybrid/std.vybrid projects/ifnet/sys/arm/freescale/vybrid/vf_gpio.c projects/ifnet/sys/arm/include/asm.h projects/ifnet/sys/arm/include/asmacros.h projects/ifnet/sys/arm/include/cpuconf.h projects/ifnet/sys/arm/include/cpufunc.h projects/ifnet/sys/arm/include/db_machdep.h projects/ifnet/sys/arm/include/frame.h projects/ifnet/sys/arm/include/intr.h projects/ifnet/sys/arm/include/machdep.h projects/ifnet/sys/arm/include/pcb.h projects/ifnet/sys/arm/include/smp.h projects/ifnet/sys/arm/include/sysreg.h projects/ifnet/sys/arm/lpc/lpc_intc.c projects/ifnet/sys/arm/mv/mpic.c projects/ifnet/sys/arm/mv/mv_common.c projects/ifnet/sys/arm/mv/mv_pci.c projects/ifnet/sys/arm/mv/std-pj4b.mv projects/ifnet/sys/arm/rockchip/rk30xx_gpio.c projects/ifnet/sys/arm/rockchip/std.rk30xx projects/ifnet/sys/arm/samsung/exynos/exynos5_pad.c projects/ifnet/sys/arm/samsung/exynos/std.exynos5250 projects/ifnet/sys/arm/samsung/exynos/std.exynos5420 projects/ifnet/sys/arm/ti/aintc.c projects/ifnet/sys/arm/ti/am335x/am335x_usbss.c projects/ifnet/sys/arm/ti/std.ti projects/ifnet/sys/arm/ti/ti_common.c projects/ifnet/sys/arm/ti/ti_gpio.c projects/ifnet/sys/arm/ti/ti_gpio.h projects/ifnet/sys/arm/ti/ti_i2c.c projects/ifnet/sys/arm/ti/ti_pruss.c projects/ifnet/sys/arm/ti/ti_sdhci.c projects/ifnet/sys/arm/ti/ti_smc.S projects/ifnet/sys/arm/ti/ti_wdt.c projects/ifnet/sys/arm/versatile/versatile_common.c projects/ifnet/sys/arm/versatile/versatile_machdep.c projects/ifnet/sys/arm/xilinx/std.zynq7 projects/ifnet/sys/arm/xilinx/uart_dev_cdnc.c projects/ifnet/sys/arm/xilinx/zy7_machdep.c projects/ifnet/sys/arm/xscale/ixp425/avila_gpio.c projects/ifnet/sys/arm/xscale/ixp425/cambria_gpio.c projects/ifnet/sys/arm/xscale/ixp425/ixp425_a4x_io.S projects/ifnet/sys/arm/xscale/ixp425/ixp425_pci_asm.S projects/ifnet/sys/boot/amd64/boot1.efi/Makefile projects/ifnet/sys/boot/amd64/boot1.efi/generate-fat.sh projects/ifnet/sys/boot/amd64/efi/Makefile projects/ifnet/sys/boot/arm/uboot/Makefile projects/ifnet/sys/boot/common/console.c projects/ifnet/sys/boot/common/load_elf.c projects/ifnet/sys/boot/common/loader.8 projects/ifnet/sys/boot/common/module.c projects/ifnet/sys/boot/common/zfsloader.8 projects/ifnet/sys/boot/efi/include/efiapi.h projects/ifnet/sys/boot/fdt/dts/arm/am335x.dtsi projects/ifnet/sys/boot/fdt/dts/arm/rpi.dts projects/ifnet/sys/boot/fdt/dts/arm/socfpga-sockit-beri.dts projects/ifnet/sys/boot/fdt/dts/mips/beri-netfpga.dts projects/ifnet/sys/boot/fdt/dts/mips/beri-sim.dts projects/ifnet/sys/boot/fdt/dts/mips/beripad-de4.dts projects/ifnet/sys/boot/ficl/amd64/sysdep.c projects/ifnet/sys/boot/ficl/arm/sysdep.c projects/ifnet/sys/boot/ficl/i386/sysdep.c projects/ifnet/sys/boot/ficl/mips/sysdep.c projects/ifnet/sys/boot/ficl/mips64/sysdep.c projects/ifnet/sys/boot/ficl/powerpc/sysdep.c projects/ifnet/sys/boot/ficl/sparc64/sysdep.c projects/ifnet/sys/boot/forth/brand.4th.8 projects/ifnet/sys/boot/forth/delay.4th.8 projects/ifnet/sys/boot/forth/loader.conf projects/ifnet/sys/boot/forth/menu.4th.8 projects/ifnet/sys/boot/forth/menusets.4th.8 projects/ifnet/sys/boot/forth/version.4th.8 projects/ifnet/sys/boot/i386/boot2/boot2.c projects/ifnet/sys/boot/i386/gptzfsboot/gptzfsboot.8 projects/ifnet/sys/boot/i386/libi386/spinconsole.c projects/ifnet/sys/boot/i386/loader/conf.c projects/ifnet/sys/boot/kshim/bsd_kernel.h projects/ifnet/sys/boot/mips/beri/loader/loader.ldscript projects/ifnet/sys/boot/pc98/boot2/boot2.c projects/ifnet/sys/boot/pc98/loader/conf.c projects/ifnet/sys/boot/powerpc/boot1.chrp/Makefile projects/ifnet/sys/boot/powerpc/uboot/Makefile projects/ifnet/sys/boot/uboot/common/main.c projects/ifnet/sys/cam/cam_xpt.c projects/ifnet/sys/cam/ctl/ctl.c projects/ifnet/sys/cam/ctl/ctl.h projects/ifnet/sys/cam/ctl/ctl_backend.c projects/ifnet/sys/cam/ctl/ctl_backend.h projects/ifnet/sys/cam/ctl/ctl_backend_block.c projects/ifnet/sys/cam/ctl/ctl_backend_ramdisk.c projects/ifnet/sys/cam/ctl/ctl_cmd_table.c projects/ifnet/sys/cam/ctl/ctl_error.c projects/ifnet/sys/cam/ctl/ctl_error.h projects/ifnet/sys/cam/ctl/ctl_frontend.c projects/ifnet/sys/cam/ctl/ctl_frontend.h projects/ifnet/sys/cam/ctl/ctl_frontend_cam_sim.c projects/ifnet/sys/cam/ctl/ctl_frontend_internal.c projects/ifnet/sys/cam/ctl/ctl_frontend_iscsi.c projects/ifnet/sys/cam/ctl/ctl_frontend_iscsi.h projects/ifnet/sys/cam/ctl/ctl_ha.h projects/ifnet/sys/cam/ctl/ctl_io.h projects/ifnet/sys/cam/ctl/ctl_ioctl.h projects/ifnet/sys/cam/ctl/ctl_private.h projects/ifnet/sys/cam/ctl/ctl_ser_table.c projects/ifnet/sys/cam/ctl/ctl_tpc.c projects/ifnet/sys/cam/ctl/ctl_tpc.h projects/ifnet/sys/cam/ctl/ctl_tpc_local.c projects/ifnet/sys/cam/ctl/scsi_ctl.c projects/ifnet/sys/cam/scsi/scsi_all.c projects/ifnet/sys/cam/scsi/scsi_all.h projects/ifnet/sys/cam/scsi/scsi_low.c projects/ifnet/sys/cam/scsi/scsi_low.h projects/ifnet/sys/cam/scsi/scsi_xpt.c projects/ifnet/sys/cddl/compat/opensolaris/sys/cpuvar.h projects/ifnet/sys/cddl/compat/opensolaris/sys/vnode.h projects/ifnet/sys/cddl/contrib/opensolaris/uts/common/dtrace/dtrace.c projects/ifnet/sys/cddl/contrib/opensolaris/uts/common/dtrace/fasttrap.c projects/ifnet/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/arc.c projects/ifnet/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dbuf.c projects/ifnet/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu_diff.c projects/ifnet/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu_objset.c projects/ifnet/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu_send.c projects/ifnet/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu_traverse.c projects/ifnet/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu_tx.c projects/ifnet/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dnode.c projects/ifnet/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dnode_sync.c projects/ifnet/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_bookmark.c projects/ifnet/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_dataset.c projects/ifnet/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_deadlist.c projects/ifnet/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_deleg.c projects/ifnet/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_destroy.c projects/ifnet/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_dir.c projects/ifnet/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_pool.c projects/ifnet/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_prop.c projects/ifnet/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_scan.c projects/ifnet/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_synctask.c projects/ifnet/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_userhold.c projects/ifnet/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/metaslab.c projects/ifnet/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sa.c projects/ifnet/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/spa.c projects/ifnet/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/spa_config.c projects/ifnet/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/spa_history.c projects/ifnet/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/spa_misc.c projects/ifnet/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/arc.h projects/ifnet/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/dbuf.h projects/ifnet/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/dmu.h projects/ifnet/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/dsl_dataset.h projects/ifnet/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/dsl_dir.h projects/ifnet/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/metaslab.h projects/ifnet/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/spa.h projects/ifnet/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/uberblock.h projects/ifnet/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/zap_impl.h projects/ifnet/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/zap_leaf.h projects/ifnet/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/zvol.h projects/ifnet/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/trim_map.c projects/ifnet/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/uberblock.c projects/ifnet/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev.c projects/ifnet/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_disk.c projects/ifnet/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_file.c projects/ifnet/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_geom.c projects/ifnet/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_label.c projects/ifnet/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zap.c projects/ifnet/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zap_leaf.c projects/ifnet/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zap_micro.c projects/ifnet/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_ioctl.c projects/ifnet/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vnops.c projects/ifnet/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zil.c projects/ifnet/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zio.c projects/ifnet/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zvol.c projects/ifnet/sys/cddl/contrib/opensolaris/uts/common/sys/cpuvar.h projects/ifnet/sys/cddl/contrib/opensolaris/uts/common/sys/dtrace.h projects/ifnet/sys/cddl/contrib/opensolaris/uts/common/sys/isa_defs.h projects/ifnet/sys/cddl/dev/dtrace/amd64/dtrace_subr.c projects/ifnet/sys/cddl/dev/dtrace/i386/dtrace_subr.c projects/ifnet/sys/cddl/dev/dtrace/mips/dtrace_subr.c projects/ifnet/sys/cddl/dev/dtrace/powerpc/dtrace_subr.c projects/ifnet/sys/cddl/dev/fbt/fbt.c projects/ifnet/sys/cddl/dev/profile/profile.c projects/ifnet/sys/compat/freebsd32/freebsd32.h projects/ifnet/sys/compat/freebsd32/freebsd32_misc.c projects/ifnet/sys/compat/freebsd32/freebsd32_proto.h projects/ifnet/sys/compat/freebsd32/freebsd32_syscall.h projects/ifnet/sys/compat/freebsd32/freebsd32_syscalls.c projects/ifnet/sys/compat/freebsd32/freebsd32_sysent.c projects/ifnet/sys/compat/freebsd32/freebsd32_systrace_args.c projects/ifnet/sys/compat/freebsd32/syscalls.master projects/ifnet/sys/compat/ia32/ia32_sysvec.c projects/ifnet/sys/compat/linprocfs/linprocfs.c projects/ifnet/sys/compat/linux/linux_file.c projects/ifnet/sys/compat/linux/linux_misc.c projects/ifnet/sys/compat/linux/linux_socket.c projects/ifnet/sys/compat/linux/linux_stats.c projects/ifnet/sys/compat/linux/linux_uid16.c projects/ifnet/sys/compat/svr4/svr4_fcntl.c projects/ifnet/sys/compat/svr4/svr4_misc.c projects/ifnet/sys/compat/svr4/svr4_socket.c projects/ifnet/sys/compat/svr4/svr4_stat.c projects/ifnet/sys/compat/svr4/svr4_stream.c projects/ifnet/sys/conf/NOTES projects/ifnet/sys/conf/files projects/ifnet/sys/conf/files.amd64 projects/ifnet/sys/conf/files.arm projects/ifnet/sys/conf/files.i386 projects/ifnet/sys/conf/files.powerpc projects/ifnet/sys/conf/kern.mk projects/ifnet/sys/conf/kern.opts.mk projects/ifnet/sys/conf/newvers.sh projects/ifnet/sys/conf/options projects/ifnet/sys/conf/options.arm projects/ifnet/sys/contrib/dev/ral/Makefile projects/ifnet/sys/contrib/ipfilter/netinet/fil.c projects/ifnet/sys/contrib/ipfilter/netinet/ip_fil_freebsd.c (contents, props changed) projects/ifnet/sys/contrib/ipfilter/netinet/ip_frag.c projects/ifnet/sys/contrib/ngatm/netnatm/saal/saal_sscop.c projects/ifnet/sys/crypto/aesni/aesni.c projects/ifnet/sys/crypto/aesni/aesni.h projects/ifnet/sys/crypto/aesni/aesni_wrap.c projects/ifnet/sys/crypto/rijndael/rijndael-api-fst.c projects/ifnet/sys/crypto/via/padlock_hash.c projects/ifnet/sys/dev/acpica/acpi.c projects/ifnet/sys/dev/advansys/advansys.c projects/ifnet/sys/dev/advansys/adwcam.c projects/ifnet/sys/dev/agp/agp_i810.c projects/ifnet/sys/dev/aha/aha.c projects/ifnet/sys/dev/ahb/ahb.c projects/ifnet/sys/dev/ahci/ahci.c projects/ifnet/sys/dev/ahci/ahci.h projects/ifnet/sys/dev/ahci/ahci_pci.c projects/ifnet/sys/dev/ahci/ahciem.c projects/ifnet/sys/dev/aic/aic.c projects/ifnet/sys/dev/altera/avgen/altera_avgen.c projects/ifnet/sys/dev/altera/jtag_uart/altera_jtag_uart_cons.c projects/ifnet/sys/dev/altera/jtag_uart/altera_jtag_uart_tty.c projects/ifnet/sys/dev/arcmsr/arcmsr.c projects/ifnet/sys/dev/asr/asr.c projects/ifnet/sys/dev/ata/ata-pci.h projects/ifnet/sys/dev/ata/chipsets/ata-intel.c projects/ifnet/sys/dev/ath/ath_hal/ar5212/ar5212_reset.c projects/ifnet/sys/dev/ath/if_ath.c projects/ifnet/sys/dev/ath/if_ath_sysctl.c projects/ifnet/sys/dev/bce/if_bcefw.h projects/ifnet/sys/dev/bge/if_bge.c projects/ifnet/sys/dev/buslogic/bt.c projects/ifnet/sys/dev/bxe/bxe.c projects/ifnet/sys/dev/ciss/ciss.c projects/ifnet/sys/dev/cpuctl/cpuctl.c projects/ifnet/sys/dev/ct/bshw_machdep.c projects/ifnet/sys/dev/ct/ct.c projects/ifnet/sys/dev/ct/ct_isa.c projects/ifnet/sys/dev/ct/ct_machdep.h projects/ifnet/sys/dev/ct/ctvar.h projects/ifnet/sys/dev/cxgb/cxgb_sge.c projects/ifnet/sys/dev/cxgb/ulp/iw_cxgb/iw_cxgb_cm.c projects/ifnet/sys/dev/cxgb/ulp/tom/cxgb_cpl_io.c projects/ifnet/sys/dev/cxgbe/adapter.h projects/ifnet/sys/dev/cxgbe/common/common.h projects/ifnet/sys/dev/cxgbe/common/t4_hw.c projects/ifnet/sys/dev/cxgbe/firmware/t4fw_cfg.txt projects/ifnet/sys/dev/cxgbe/firmware/t4fw_cfg_uwire.txt projects/ifnet/sys/dev/cxgbe/firmware/t5fw_cfg.txt projects/ifnet/sys/dev/cxgbe/firmware/t5fw_cfg_fpga.txt projects/ifnet/sys/dev/cxgbe/firmware/t5fw_cfg_uwire.txt projects/ifnet/sys/dev/cxgbe/iw_cxgbe/cm.c projects/ifnet/sys/dev/cxgbe/t4_main.c projects/ifnet/sys/dev/cxgbe/t4_sge.c projects/ifnet/sys/dev/cxgbe/tom/t4_cpl_io.c projects/ifnet/sys/dev/cxgbe/tom/t4_ddp.c projects/ifnet/sys/dev/cxgbe/tom/t4_tom.h projects/ifnet/sys/dev/dpt/dpt_scsi.c projects/ifnet/sys/dev/drm/drm_sysctl.c projects/ifnet/sys/dev/drm2/drm_drv.c projects/ifnet/sys/dev/drm2/drm_sysctl.c projects/ifnet/sys/dev/drm2/radeon/radeon_connectors.c projects/ifnet/sys/dev/e1000/if_igb.c projects/ifnet/sys/dev/fdt/fdt_common.c projects/ifnet/sys/dev/fdt/fdt_common.h projects/ifnet/sys/dev/fdt/fdt_pinctrl.c projects/ifnet/sys/dev/ffec/if_ffec.c projects/ifnet/sys/dev/firewire/sbp.c projects/ifnet/sys/dev/fxp/if_fxp.c projects/ifnet/sys/dev/fxp/if_fxpreg.h projects/ifnet/sys/dev/fxp/if_fxpvar.h projects/ifnet/sys/dev/glxiic/glxiic.c projects/ifnet/sys/dev/gpio/gpio_if.m projects/ifnet/sys/dev/gpio/gpiobus.c projects/ifnet/sys/dev/gpio/gpiobusvar.h projects/ifnet/sys/dev/gpio/gpioc.c projects/ifnet/sys/dev/gpio/ofw_gpiobus.c projects/ifnet/sys/dev/hpt27xx/hpt27xx_os_bsd.c projects/ifnet/sys/dev/hptnr/hptnr_os_bsd.c projects/ifnet/sys/dev/hptrr/hptrr_os_bsd.c projects/ifnet/sys/dev/hwpmc/hwpmc_mod.c projects/ifnet/sys/dev/hwpmc/hwpmc_mpc7xxx.c projects/ifnet/sys/dev/hwpmc/hwpmc_ppc970.c projects/ifnet/sys/dev/hyperv/storvsc/hv_storvsc_drv_freebsd.c projects/ifnet/sys/dev/ichsmb/ichsmb_pci.c projects/ifnet/sys/dev/ichwd/ichwd.c projects/ifnet/sys/dev/ichwd/ichwd.h projects/ifnet/sys/dev/iicbus/iicbus.c projects/ifnet/sys/dev/iicbus/iicbus.h projects/ifnet/sys/dev/iicbus/iicbus_if.m projects/ifnet/sys/dev/iir/iir.c projects/ifnet/sys/dev/iir/iir.h projects/ifnet/sys/dev/iir/iir_ctrl.c projects/ifnet/sys/dev/iir/iir_pci.c projects/ifnet/sys/dev/ipmi/ipmi_kcs.c projects/ifnet/sys/dev/ips/ips.c projects/ifnet/sys/dev/ips/ips.h projects/ifnet/sys/dev/ips/ips_pci.c projects/ifnet/sys/dev/isci/isci_controller.c projects/ifnet/sys/dev/isci/isci_io_request.c projects/ifnet/sys/dev/isci/isci_sysctl.c projects/ifnet/sys/dev/isci/isci_timer.c projects/ifnet/sys/dev/iscsi/icl.c projects/ifnet/sys/dev/iscsi/iscsi.c projects/ifnet/sys/dev/iscsi/iscsi_proto.h projects/ifnet/sys/dev/isp/isp.c projects/ifnet/sys/dev/isp/isp_freebsd.c projects/ifnet/sys/dev/isp/isp_freebsd.h projects/ifnet/sys/dev/isp/isp_library.c projects/ifnet/sys/dev/iwn/if_iwn.c projects/ifnet/sys/dev/ixgbe/ixgbe.c projects/ifnet/sys/dev/ixgbe/ixv.c projects/ifnet/sys/dev/ixl/ixl_txrx.c projects/ifnet/sys/dev/malo/if_malo_pci.c projects/ifnet/sys/dev/mcd/mcd.c projects/ifnet/sys/dev/mcd/mcd_isa.c projects/ifnet/sys/dev/mcd/mcdvar.h projects/ifnet/sys/dev/mii/micphy.c projects/ifnet/sys/dev/mly/mly.c projects/ifnet/sys/dev/mly/mlyvar.h projects/ifnet/sys/dev/mmc/mmc.c projects/ifnet/sys/dev/mpr/mpr_sas.c projects/ifnet/sys/dev/mps/mps_sas.c projects/ifnet/sys/dev/mpt/mpt.c projects/ifnet/sys/dev/mpt/mpt.h projects/ifnet/sys/dev/mpt/mpt_cam.c projects/ifnet/sys/dev/mrsas/mrsas_cam.c projects/ifnet/sys/dev/mvs/mvs.c projects/ifnet/sys/dev/mwl/if_mwl_pci.c projects/ifnet/sys/dev/mxge/if_mxge.c projects/ifnet/sys/dev/ncv/ncr53c500.c projects/ifnet/sys/dev/ncv/ncr53c500_pccard.c projects/ifnet/sys/dev/ncv/ncr53c500var.h projects/ifnet/sys/dev/netmap/netmap.c projects/ifnet/sys/dev/netmap/netmap_freebsd.c projects/ifnet/sys/dev/netmap/netmap_generic.c projects/ifnet/sys/dev/netmap/netmap_kern.h projects/ifnet/sys/dev/netmap/netmap_monitor.c projects/ifnet/sys/dev/netmap/netmap_pipe.c projects/ifnet/sys/dev/nsp/nsp.c projects/ifnet/sys/dev/nsp/nsp_pccard.c projects/ifnet/sys/dev/nsp/nspvar.h projects/ifnet/sys/dev/null/null.c projects/ifnet/sys/dev/oce/oce_if.c projects/ifnet/sys/dev/ofw/ofw_iicbus.c projects/ifnet/sys/dev/pccard/pccardvar.h projects/ifnet/sys/dev/pccbb/pccbb.c projects/ifnet/sys/dev/pci/pci.c projects/ifnet/sys/dev/pst/pst-pci.c projects/ifnet/sys/dev/pst/pst-raid.c projects/ifnet/sys/dev/qlxgbe/ql_isr.c projects/ifnet/sys/dev/qlxgbe/ql_os.c projects/ifnet/sys/dev/qlxge/qls_isr.c projects/ifnet/sys/dev/qlxge/qls_os.c projects/ifnet/sys/dev/random/ivy.c projects/ifnet/sys/dev/rp/rp.c projects/ifnet/sys/dev/rp/rp_pci.c projects/ifnet/sys/dev/rp/rpreg.h projects/ifnet/sys/dev/rp/rpvar.h projects/ifnet/sys/dev/scd/scd.c projects/ifnet/sys/dev/scd/scd_isa.c projects/ifnet/sys/dev/scd/scdvar.h projects/ifnet/sys/dev/sdhci/sdhci.c projects/ifnet/sys/dev/sdhci/sdhci.h projects/ifnet/sys/dev/sfxge/sfxge_rx.c projects/ifnet/sys/dev/sfxge/sfxge_tx.c projects/ifnet/sys/dev/siis/siis.c projects/ifnet/sys/dev/sis/if_sis.c projects/ifnet/sys/dev/sound/pci/hda/hdac.c projects/ifnet/sys/dev/sound/pci/hda/hdac.h projects/ifnet/sys/dev/sound/usb/uaudio.c projects/ifnet/sys/dev/stg/tmc18c30.c projects/ifnet/sys/dev/stg/tmc18c30_isa.c projects/ifnet/sys/dev/stg/tmc18c30_pccard.c projects/ifnet/sys/dev/stg/tmc18c30_pci.c projects/ifnet/sys/dev/stg/tmc18c30_subr.c projects/ifnet/sys/dev/stg/tmc18c30var.h projects/ifnet/sys/dev/streams/streams.c projects/ifnet/sys/dev/sym/sym_hipd.c projects/ifnet/sys/dev/terasic/mtl/terasic_mtl.c projects/ifnet/sys/dev/terasic/mtl/terasic_mtl.h projects/ifnet/sys/dev/terasic/mtl/terasic_mtl_fdt.c projects/ifnet/sys/dev/terasic/mtl/terasic_mtl_nexus.c projects/ifnet/sys/dev/terasic/mtl/terasic_mtl_reg.c projects/ifnet/sys/dev/terasic/mtl/terasic_mtl_text.c projects/ifnet/sys/dev/trm/trm.c projects/ifnet/sys/dev/tws/tws_cam.c projects/ifnet/sys/dev/uart/uart_bus_fdt.c projects/ifnet/sys/dev/uart/uart_bus_pci.c projects/ifnet/sys/dev/uart/uart_dev_pl011.c projects/ifnet/sys/dev/usb/controller/ehci_pci.c projects/ifnet/sys/dev/usb/controller/ohci_pci.c projects/ifnet/sys/dev/usb/controller/saf1761_otg.c projects/ifnet/sys/dev/usb/controller/saf1761_otg.h projects/ifnet/sys/dev/usb/controller/saf1761_otg_reg.h projects/ifnet/sys/dev/usb/controller/xhci.h projects/ifnet/sys/dev/usb/controller/xhci_pci.c projects/ifnet/sys/dev/usb/net/if_urndis.c projects/ifnet/sys/dev/usb/quirk/usb_quirk.c projects/ifnet/sys/dev/usb/serial/u3g.c projects/ifnet/sys/dev/usb/serial/umodem.c projects/ifnet/sys/dev/usb/usbdevs projects/ifnet/sys/dev/usb/wlan/if_rsu.c projects/ifnet/sys/dev/usb/wlan/if_upgt.c projects/ifnet/sys/dev/virtio/block/virtio_blk.c projects/ifnet/sys/dev/virtio/network/if_vtnet.c projects/ifnet/sys/dev/virtio/scsi/virtio_scsi.c projects/ifnet/sys/dev/virtio/virtio_bus_if.m projects/ifnet/sys/dev/virtio/virtqueue.c projects/ifnet/sys/dev/vmware/vmxnet3/if_vmx.c projects/ifnet/sys/dev/vt/hw/efifb/efifb.c projects/ifnet/sys/dev/vt/hw/vga/vt_vga.c projects/ifnet/sys/dev/vt/vt.h projects/ifnet/sys/dev/vt/vt_core.c projects/ifnet/sys/dev/vxge/vxge.c projects/ifnet/sys/dev/wds/wd7000.c projects/ifnet/sys/dev/wi/if_wi_pccard.c projects/ifnet/sys/dev/wl/if_wl.c projects/ifnet/sys/dev/wl/if_wl.h projects/ifnet/sys/dev/wpi/if_wpi.c projects/ifnet/sys/dev/wpi/if_wpireg.h projects/ifnet/sys/dev/xen/netback/netback.c projects/ifnet/sys/fs/autofs/autofs.c projects/ifnet/sys/fs/autofs/autofs.h projects/ifnet/sys/fs/autofs/autofs_vfsops.c projects/ifnet/sys/fs/ext2fs/ext2_alloc.c projects/ifnet/sys/fs/ext2fs/ext2_extern.h projects/ifnet/sys/fs/ext2fs/ext2_inode.c projects/ifnet/sys/fs/ext2fs/ext2_inode_cnv.c projects/ifnet/sys/fs/ext2fs/ext2_lookup.c projects/ifnet/sys/fs/ext2fs/ext2_vfsops.c projects/ifnet/sys/fs/ext2fs/ext2_vnops.c projects/ifnet/sys/fs/fuse/fuse_vnops.c projects/ifnet/sys/fs/msdosfs/msdosfs_lookup.c projects/ifnet/sys/fs/msdosfs/msdosfs_vfsops.c projects/ifnet/sys/fs/msdosfs/msdosfs_vnops.c projects/ifnet/sys/fs/nandfs/nandfs_vnops.c projects/ifnet/sys/fs/nfs/nfs_commonkrpc.c projects/ifnet/sys/fs/nfs/nfs_commonsubs.c projects/ifnet/sys/fs/nfs/nfsport.h projects/ifnet/sys/fs/nfsclient/nfs.h projects/ifnet/sys/fs/nfsclient/nfs_clnode.c projects/ifnet/sys/fs/nfsclient/nfs_clport.c projects/ifnet/sys/fs/nfsclient/nfs_clvfsops.c projects/ifnet/sys/fs/nfsclient/nfs_clvnops.c projects/ifnet/sys/fs/nfsserver/nfs_nfsdport.c projects/ifnet/sys/fs/nfsserver/nfs_nfsdserv.c projects/ifnet/sys/fs/nfsserver/nfs_nfsdstate.c projects/ifnet/sys/fs/procfs/procfs_status.c projects/ifnet/sys/fs/smbfs/smbfs_vfsops.c projects/ifnet/sys/fs/tmpfs/tmpfs_vnops.c projects/ifnet/sys/fs/unionfs/union_subr.c projects/ifnet/sys/fs/unionfs/union_vnops.c projects/ifnet/sys/geom/eli/g_eli_crypto.c projects/ifnet/sys/geom/eli/g_eli_integrity.c projects/ifnet/sys/geom/eli/g_eli_privacy.c projects/ifnet/sys/geom/geom_dev.c projects/ifnet/sys/geom/part/g_part.c projects/ifnet/sys/geom/part/g_part_bsd.c projects/ifnet/sys/geom/part/g_part_if.m projects/ifnet/sys/geom/raid/md_intel.c projects/ifnet/sys/geom/raid/md_nvidia.c projects/ifnet/sys/geom/raid/md_sii.c projects/ifnet/sys/geom/sched/README projects/ifnet/sys/geom/sched/g_sched.c projects/ifnet/sys/geom/sched/g_sched.h projects/ifnet/sys/geom/sched/gs_rr.c projects/ifnet/sys/i386/conf/PAE projects/ifnet/sys/i386/conf/XEN projects/ifnet/sys/i386/i386/elf_machdep.c projects/ifnet/sys/i386/i386/machdep.c projects/ifnet/sys/i386/i386/pmap.c projects/ifnet/sys/i386/i386/ptrace_machdep.c projects/ifnet/sys/i386/i386/trap.c projects/ifnet/sys/i386/ibcs2/ibcs2_fcntl.c projects/ifnet/sys/i386/ibcs2/ibcs2_misc.c projects/ifnet/sys/i386/ibcs2/ibcs2_other.c projects/ifnet/sys/i386/ibcs2/ibcs2_stat.c projects/ifnet/sys/i386/ibcs2/ibcs2_xenix.c projects/ifnet/sys/i386/include/vmparam.h projects/ifnet/sys/i386/isa/npx.c projects/ifnet/sys/i386/isa/spic.c projects/ifnet/sys/i386/xen/clock.c projects/ifnet/sys/i386/xen/locore.s projects/ifnet/sys/kern/imgact_elf.c projects/ifnet/sys/kern/init_main.c projects/ifnet/sys/kern/init_sysent.c projects/ifnet/sys/kern/kern_clock.c projects/ifnet/sys/kern/kern_clocksource.c projects/ifnet/sys/kern/kern_conf.c projects/ifnet/sys/kern/kern_cons.c projects/ifnet/sys/kern/kern_descrip.c projects/ifnet/sys/kern/kern_event.c projects/ifnet/sys/kern/kern_exec.c projects/ifnet/sys/kern/kern_exit.c projects/ifnet/sys/kern/kern_fork.c projects/ifnet/sys/kern/kern_linker.c projects/ifnet/sys/kern/kern_lock.c projects/ifnet/sys/kern/kern_mutex.c projects/ifnet/sys/kern/kern_proc.c projects/ifnet/sys/kern/kern_racct.c projects/ifnet/sys/kern/kern_resource.c projects/ifnet/sys/kern/kern_rmlock.c projects/ifnet/sys/kern/kern_rwlock.c projects/ifnet/sys/kern/kern_shutdown.c projects/ifnet/sys/kern/kern_sig.c projects/ifnet/sys/kern/kern_sx.c projects/ifnet/sys/kern/kern_sysctl.c projects/ifnet/sys/kern/kern_thread.c projects/ifnet/sys/kern/kern_time.c projects/ifnet/sys/kern/kern_umtx.c projects/ifnet/sys/kern/subr_bus.c projects/ifnet/sys/kern/subr_clock.c projects/ifnet/sys/kern/subr_fattime.c projects/ifnet/sys/kern/subr_lock.c projects/ifnet/sys/kern/subr_prof.c projects/ifnet/sys/kern/subr_syscall.c projects/ifnet/sys/kern/subr_taskqueue.c projects/ifnet/sys/kern/sys_generic.c projects/ifnet/sys/kern/sys_pipe.c projects/ifnet/sys/kern/sys_process.c projects/ifnet/sys/kern/sys_socket.c projects/ifnet/sys/kern/syscalls.c projects/ifnet/sys/kern/syscalls.master projects/ifnet/sys/kern/systrace_args.c projects/ifnet/sys/kern/uipc_debug.c projects/ifnet/sys/kern/uipc_domain.c projects/ifnet/sys/kern/uipc_mbuf.c projects/ifnet/sys/kern/uipc_sockbuf.c projects/ifnet/sys/kern/uipc_socket.c projects/ifnet/sys/kern/uipc_syscalls.c projects/ifnet/sys/kern/uipc_usrreq.c projects/ifnet/sys/kern/vfs_bio.c projects/ifnet/sys/kern/vfs_default.c projects/ifnet/sys/kern/vfs_mount.c projects/ifnet/sys/kern/vfs_mountroot.c projects/ifnet/sys/kern/vfs_subr.c projects/ifnet/sys/kern/vfs_syscalls.c projects/ifnet/sys/kern/vfs_vnops.c projects/ifnet/sys/kern/vnode_if.src projects/ifnet/sys/libkern/arm/ffs.S projects/ifnet/sys/libkern/strncmp.c projects/ifnet/sys/mips/atheros/ar71xx_gpio.c projects/ifnet/sys/mips/beri/beri_machdep.c projects/ifnet/sys/mips/beri/files.beri projects/ifnet/sys/mips/cavium/octeon_gpio.c projects/ifnet/sys/mips/conf/BERI_DE4_BASE projects/ifnet/sys/mips/conf/MALTA projects/ifnet/sys/mips/conf/MALTA64 projects/ifnet/sys/mips/include/asm.h projects/ifnet/sys/mips/include/cache_mipsNN.h projects/ifnet/sys/mips/include/cpuinfo.h projects/ifnet/sys/mips/include/cpuregs.h projects/ifnet/sys/mips/mips/cache.c projects/ifnet/sys/mips/mips/cache_mipsNN.c projects/ifnet/sys/mips/mips/cpu.c projects/ifnet/sys/mips/mips/stdatomic.c projects/ifnet/sys/mips/mips/trap.c projects/ifnet/sys/mips/rmi/dev/sec/rmisec.c projects/ifnet/sys/mips/rt305x/rt305x_gpio.c projects/ifnet/sys/modules/Makefile projects/ifnet/sys/modules/aesni/Makefile projects/ifnet/sys/modules/crypto/Makefile projects/ifnet/sys/modules/cryptodev/Makefile projects/ifnet/sys/modules/cxgb/tom/Makefile projects/ifnet/sys/modules/dpt/Makefile projects/ifnet/sys/modules/dtrace/Makefile projects/ifnet/sys/modules/dtrace/Makefile.inc projects/ifnet/sys/modules/dtrace/dtraceall/dtraceall.c projects/ifnet/sys/modules/geom/geom_part/geom_part_bsd/Makefile projects/ifnet/sys/modules/geom/geom_sched/gs_sched/Makefile projects/ifnet/sys/modules/geom/geom_sched/gsched_rr/Makefile projects/ifnet/sys/modules/if_gif/Makefile projects/ifnet/sys/modules/if_gre/Makefile projects/ifnet/sys/modules/joy/Makefile projects/ifnet/sys/modules/lmc/Makefile projects/ifnet/sys/net/ethernet.h projects/ifnet/sys/net/flowtable.c projects/ifnet/sys/net/ieee8023ad_lacp.c projects/ifnet/sys/net/if.c projects/ifnet/sys/net/if_arcsubr.c projects/ifnet/sys/net/if_dead.c projects/ifnet/sys/net/if_ethersubr.c projects/ifnet/sys/net/if_fddisubr.c projects/ifnet/sys/net/if_fwsubr.c projects/ifnet/sys/net/if_gif.c projects/ifnet/sys/net/if_gif.h projects/ifnet/sys/net/if_gre.c projects/ifnet/sys/net/if_gre.h projects/ifnet/sys/net/if_iso88025subr.c projects/ifnet/sys/net/if_lagg.c projects/ifnet/sys/net/if_lagg.h projects/ifnet/sys/net/if_stf.c projects/ifnet/sys/net/if_tap.c projects/ifnet/sys/net/if_var.h projects/ifnet/sys/net/if_vlan_var.h projects/ifnet/sys/net/if_vxlan.c projects/ifnet/sys/net/netisr.c projects/ifnet/sys/net/route.c projects/ifnet/sys/net/route.h projects/ifnet/sys/net80211/ieee80211_output.c projects/ifnet/sys/net80211/ieee80211_power.c projects/ifnet/sys/net80211/ieee80211_proto.h projects/ifnet/sys/net80211/ieee80211_scan.c projects/ifnet/sys/net80211/ieee80211_scan_sta.c projects/ifnet/sys/net80211/ieee80211_sta.c projects/ifnet/sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c projects/ifnet/sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c projects/ifnet/sys/netgraph/bluetooth/socket/ng_btsocket_sco.c projects/ifnet/sys/netinet/accf_dns.c projects/ifnet/sys/netinet/accf_http.c projects/ifnet/sys/netinet/if_ether.c projects/ifnet/sys/netinet/if_ether.h projects/ifnet/sys/netinet/in.h projects/ifnet/sys/netinet/in_gif.c projects/ifnet/sys/netinet/in_pcb.h projects/ifnet/sys/netinet/in_rmx.c projects/ifnet/sys/netinet/in_rss.c projects/ifnet/sys/netinet/in_systm.h projects/ifnet/sys/netinet/in_var.h projects/ifnet/sys/netinet/ip_fastfwd.c projects/ifnet/sys/netinet/ip_gre.c projects/ifnet/sys/netinet/ip_icmp.c projects/ifnet/sys/netinet/ip_icmp.h projects/ifnet/sys/netinet/ip_input.c projects/ifnet/sys/netinet/ip_ipsec.c projects/ifnet/sys/netinet/ip_ipsec.h projects/ifnet/sys/netinet/ip_output.c projects/ifnet/sys/netinet/sctp_indata.c projects/ifnet/sys/netinet/sctp_input.c projects/ifnet/sys/netinet/sctp_os_bsd.h projects/ifnet/sys/netinet/sctp_output.c projects/ifnet/sys/netinet/sctp_pcb.c projects/ifnet/sys/netinet/sctp_structs.h projects/ifnet/sys/netinet/sctp_usrreq.c projects/ifnet/sys/netinet/sctputil.c projects/ifnet/sys/netinet/siftr.c projects/ifnet/sys/netinet/tcp_input.c projects/ifnet/sys/netinet/tcp_output.c projects/ifnet/sys/netinet/tcp_reass.c projects/ifnet/sys/netinet/tcp_subr.c projects/ifnet/sys/netinet/tcp_syncache.c projects/ifnet/sys/netinet/tcp_usrreq.c projects/ifnet/sys/netinet/tcp_var.h projects/ifnet/sys/netinet/toecore.c projects/ifnet/sys/netinet/udp_usrreq.c projects/ifnet/sys/netinet6/icmp6.c projects/ifnet/sys/netinet6/in6.h projects/ifnet/sys/netinet6/in6_gif.c projects/ifnet/sys/netinet6/in6_pcb.c projects/ifnet/sys/netinet6/in6_rmx.c projects/ifnet/sys/netinet6/ip6_forward.c projects/ifnet/sys/netinet6/ip6_gre.c projects/ifnet/sys/netinet6/ip6_ipsec.c projects/ifnet/sys/netinet6/ip6_ipsec.h projects/ifnet/sys/netinet6/ip6_output.c projects/ifnet/sys/netinet6/nd6.c projects/ifnet/sys/netinet6/nd6.h projects/ifnet/sys/netinet6/nd6_nbr.c projects/ifnet/sys/netinet6/raw_ip6.c projects/ifnet/sys/netinet6/sctp6_usrreq.c projects/ifnet/sys/netinet6/udp6_usrreq.c projects/ifnet/sys/netipsec/ipsec.c projects/ifnet/sys/netipsec/ipsec.h projects/ifnet/sys/netipsec/ipsec6.h projects/ifnet/sys/netipsec/ipsec_input.c projects/ifnet/sys/netipsec/ipsec_mbuf.c projects/ifnet/sys/netipsec/ipsec_output.c projects/ifnet/sys/netipsec/key.c projects/ifnet/sys/netipsec/key.h projects/ifnet/sys/netipsec/key_debug.c projects/ifnet/sys/netipsec/key_debug.h projects/ifnet/sys/netipsec/keydb.h projects/ifnet/sys/netipsec/keysock.c projects/ifnet/sys/netipsec/keysock.h projects/ifnet/sys/netipsec/xform.h projects/ifnet/sys/netipsec/xform_ah.c projects/ifnet/sys/netipsec/xform_esp.c projects/ifnet/sys/netipsec/xform_ipcomp.c projects/ifnet/sys/netipsec/xform_ipip.c projects/ifnet/sys/netipsec/xform_tcp.c projects/ifnet/sys/netpfil/pf/pf_ioctl.c projects/ifnet/sys/nfs/bootp_subr.c projects/ifnet/sys/ofed/drivers/infiniband/core/addr.c projects/ifnet/sys/ofed/drivers/infiniband/ulp/ipoib/ipoib_main.c projects/ifnet/sys/ofed/drivers/infiniband/ulp/sdp/sdp_main.c projects/ifnet/sys/ofed/drivers/infiniband/ulp/sdp/sdp_rx.c projects/ifnet/sys/ofed/drivers/net/mlx4/en_cq.c projects/ifnet/sys/ofed/drivers/net/mlx4/en_rx.c projects/ifnet/sys/ofed/drivers/net/mlx4/en_tx.c projects/ifnet/sys/ofed/include/linux/list.h projects/ifnet/sys/ofed/include/linux/module.h projects/ifnet/sys/ofed/include/net/ip.h projects/ifnet/sys/opencrypto/criov.c projects/ifnet/sys/opencrypto/crypto.c projects/ifnet/sys/opencrypto/cryptodev.c projects/ifnet/sys/opencrypto/cryptodev.h projects/ifnet/sys/opencrypto/cryptosoft.c projects/ifnet/sys/opencrypto/xform.c projects/ifnet/sys/opencrypto/xform.h projects/ifnet/sys/powerpc/aim/machdep.c projects/ifnet/sys/powerpc/aim/trap.c projects/ifnet/sys/powerpc/aim/trap_subr32.S projects/ifnet/sys/powerpc/aim/trap_subr64.S projects/ifnet/sys/powerpc/booke/trap.c projects/ifnet/sys/powerpc/include/trap.h projects/ifnet/sys/powerpc/powermac/pmu.c projects/ifnet/sys/powerpc/powermac/pmuvar.h projects/ifnet/sys/powerpc/powerpc/db_trace.c projects/ifnet/sys/powerpc/wii/wii_gpio.c projects/ifnet/sys/rpc/clnt_vc.c projects/ifnet/sys/rpc/svc.c projects/ifnet/sys/rpc/svc_vc.c projects/ifnet/sys/security/mac_lomac/mac_lomac.c projects/ifnet/sys/sys/buf.h projects/ifnet/sys/sys/bufobj.h projects/ifnet/sys/sys/bus.h projects/ifnet/sys/sys/callout.h projects/ifnet/sys/sys/conf.h projects/ifnet/sys/sys/dtrace_bsd.h projects/ifnet/sys/sys/elf_common.h projects/ifnet/sys/sys/event.h projects/ifnet/sys/sys/file.h projects/ifnet/sys/sys/filedesc.h projects/ifnet/sys/sys/imgact_elf.h projects/ifnet/sys/sys/libkern.h projects/ifnet/sys/sys/linker.h projects/ifnet/sys/sys/lock.h projects/ifnet/sys/sys/mbuf.h projects/ifnet/sys/sys/mount.h projects/ifnet/sys/sys/mutex.h projects/ifnet/sys/sys/param.h projects/ifnet/sys/sys/pmc.h projects/ifnet/sys/sys/poll.h projects/ifnet/sys/sys/proc.h projects/ifnet/sys/sys/procctl.h projects/ifnet/sys/sys/protosw.h projects/ifnet/sys/sys/racct.h projects/ifnet/sys/sys/resourcevar.h projects/ifnet/sys/sys/rmlock.h projects/ifnet/sys/sys/rwlock.h projects/ifnet/sys/sys/sem.h projects/ifnet/sys/sys/sockbuf.h projects/ifnet/sys/sys/socket.h projects/ifnet/sys/sys/socketvar.h projects/ifnet/sys/sys/sx.h projects/ifnet/sys/sys/syscall.h projects/ifnet/sys/sys/syscall.mk projects/ifnet/sys/sys/syscallsubr.h projects/ifnet/sys/sys/sysproto.h projects/ifnet/sys/sys/time.h projects/ifnet/sys/sys/vnode.h projects/ifnet/sys/teken/libteken/teken.3 projects/ifnet/sys/ufs/ffs/ffs_alloc.c projects/ifnet/sys/ufs/ffs/ffs_snapshot.c projects/ifnet/sys/ufs/ffs/ffs_suspend.c projects/ifnet/sys/ufs/ffs/ffs_vnops.c projects/ifnet/sys/ufs/ufs/ufs_acl.c projects/ifnet/sys/ufs/ufs/ufs_dirhash.c projects/ifnet/sys/ufs/ufs/ufs_gjournal.c projects/ifnet/sys/ufs/ufs/ufs_lookup.c projects/ifnet/sys/ufs/ufs/ufs_vnops.c projects/ifnet/sys/ufs/ufs/ufsmount.h projects/ifnet/sys/vm/swap_pager.c projects/ifnet/sys/vm/uma_core.c projects/ifnet/sys/vm/vm_mmap.c projects/ifnet/sys/vm/vm_object.c projects/ifnet/sys/vm/vm_page.c projects/ifnet/sys/vm/vm_page.h projects/ifnet/sys/vm/vm_pager.h projects/ifnet/sys/vm/vm_phys.c projects/ifnet/sys/vm/vm_phys.h projects/ifnet/sys/vm/vm_reserv.c projects/ifnet/sys/vm/vnode_pager.c projects/ifnet/sys/vm/vnode_pager.h projects/ifnet/sys/x86/include/fpu.h projects/ifnet/sys/x86/include/ptrace.h projects/ifnet/sys/x86/xen/pvcpu_enum.c projects/ifnet/sys/x86/xen/xen_intr.c projects/ifnet/sys/x86/xen/xenpv.c projects/ifnet/sys/xen/gnttab.h projects/ifnet/tests/sys/Makefile projects/ifnet/tools/bsdbox/Makefile projects/ifnet/tools/build/mk/OptionalObsoleteFiles.inc projects/ifnet/tools/build/options/WITHOUT_CROSS_COMPILER projects/ifnet/tools/build/options/WITHOUT_LIB32 projects/ifnet/tools/build/options/WITHOUT_RCS projects/ifnet/tools/build/options/WITH_FMAKE projects/ifnet/tools/regression/lib/libc/gen/Makefile projects/ifnet/tools/regression/lib/libc/stdio/Makefile projects/ifnet/tools/regression/zfs/zpool/add/files.t projects/ifnet/tools/tools/ath/athaggrstats/Makefile projects/ifnet/tools/tools/ath/athstats/Makefile projects/ifnet/tools/tools/ether_reflect/ether_reflect.1 projects/ifnet/tools/tools/mwl/mwlstats/Makefile projects/ifnet/tools/tools/nanobsd/fill_pkg.sh projects/ifnet/tools/tools/nanobsd/nanobsd.sh projects/ifnet/tools/tools/net80211/wlanstats/Makefile projects/ifnet/tools/tools/npe/npestats/Makefile projects/ifnet/tools/tools/shlib-compat/shlib-compat.py projects/ifnet/tools/tools/shlib-compat/test/Makefile.inc projects/ifnet/tools/tools/shlib-compat/test/regress.sh projects/ifnet/tools/tools/sysbuild/sysbuild.sh projects/ifnet/tools/tools/sysdoc/tunables.mdoc projects/ifnet/tools/tools/usbtest/Makefile projects/ifnet/tools/tools/vimage/vimage.8 projects/ifnet/usr.bin/Makefile projects/ifnet/usr.bin/apply/Makefile projects/ifnet/usr.bin/ar/Makefile projects/ifnet/usr.bin/atm/sscop/Makefile projects/ifnet/usr.bin/awk/Makefile projects/ifnet/usr.bin/bc/Makefile projects/ifnet/usr.bin/bluetooth/bthost/Makefile projects/ifnet/usr.bin/bluetooth/btsockstat/Makefile projects/ifnet/usr.bin/bluetooth/btsockstat/btsockstat.c projects/ifnet/usr.bin/bluetooth/rfcomm_sppd/Makefile projects/ifnet/usr.bin/bsdiff/bsdiff/Makefile projects/ifnet/usr.bin/bsdiff/bspatch/Makefile projects/ifnet/usr.bin/bzip2/Makefile projects/ifnet/usr.bin/calendar/Makefile projects/ifnet/usr.bin/chkey/Makefile projects/ifnet/usr.bin/chpass/Makefile projects/ifnet/usr.bin/clang/clang/clang.1 projects/ifnet/usr.bin/colldef/Makefile projects/ifnet/usr.bin/compile_et/Makefile projects/ifnet/usr.bin/cpio/Makefile projects/ifnet/usr.bin/cpio/test/Makefile projects/ifnet/usr.bin/dc/Makefile projects/ifnet/usr.bin/dc/stack.c projects/ifnet/usr.bin/dpv/Makefile projects/ifnet/usr.bin/dpv/dpv.1 projects/ifnet/usr.bin/drill/Makefile projects/ifnet/usr.bin/du/Makefile projects/ifnet/usr.bin/ee/Makefile projects/ifnet/usr.bin/elfdump/elfdump.c projects/ifnet/usr.bin/enigma/Makefile projects/ifnet/usr.bin/fetch/Makefile projects/ifnet/usr.bin/file/Makefile projects/ifnet/usr.bin/fstat/Makefile projects/ifnet/usr.bin/ftp/Makefile projects/ifnet/usr.bin/gcore/Makefile projects/ifnet/usr.bin/gcore/elfcore.c projects/ifnet/usr.bin/grep/Makefile projects/ifnet/usr.bin/gzip/Makefile projects/ifnet/usr.bin/host/Makefile projects/ifnet/usr.bin/id/id.c projects/ifnet/usr.bin/ipcrm/Makefile projects/ifnet/usr.bin/ipcs/Makefile projects/ifnet/usr.bin/iscsictl/Makefile projects/ifnet/usr.bin/iscsictl/iscsictl.c projects/ifnet/usr.bin/kdump/Makefile projects/ifnet/usr.bin/keylogin/Makefile projects/ifnet/usr.bin/killall/Makefile projects/ifnet/usr.bin/killall/killall.c projects/ifnet/usr.bin/ktrdump/Makefile projects/ifnet/usr.bin/last/last.1 projects/ifnet/usr.bin/less/Makefile projects/ifnet/usr.bin/lex/lex.1 projects/ifnet/usr.bin/limits/Makefile projects/ifnet/usr.bin/locate/locate/util.c projects/ifnet/usr.bin/lock/Makefile projects/ifnet/usr.bin/login/Makefile projects/ifnet/usr.bin/lzmainfo/Makefile projects/ifnet/usr.bin/m4/Makefile projects/ifnet/usr.bin/makewhatis/Makefile projects/ifnet/usr.bin/man/man.1 projects/ifnet/usr.bin/man/man.sh projects/ifnet/usr.bin/mandoc/Makefile projects/ifnet/usr.bin/minigzip/Makefile projects/ifnet/usr.bin/ministat/Makefile projects/ifnet/usr.bin/mkcsmapper/mkcsmapper.1 projects/ifnet/usr.bin/mkesdb/mkesdb.1 projects/ifnet/usr.bin/mkimg/Makefile projects/ifnet/usr.bin/mkimg/image.c projects/ifnet/usr.bin/mkimg/mkimg.1 projects/ifnet/usr.bin/mkimg/qcow.c projects/ifnet/usr.bin/mkulzma/Makefile projects/ifnet/usr.bin/mkuzip/Makefile projects/ifnet/usr.bin/msgs/Makefile projects/ifnet/usr.bin/nc/Makefile projects/ifnet/usr.bin/ncal/Makefile projects/ifnet/usr.bin/netstat/Makefile projects/ifnet/usr.bin/netstat/inet.c projects/ifnet/usr.bin/netstat/netgraph.c projects/ifnet/usr.bin/netstat/unix.c projects/ifnet/usr.bin/newgrp/Makefile projects/ifnet/usr.bin/newkey/Makefile projects/ifnet/usr.bin/nfsstat/Makefile projects/ifnet/usr.bin/opieinfo/Makefile projects/ifnet/usr.bin/opiekey/Makefile projects/ifnet/usr.bin/opiepasswd/Makefile projects/ifnet/usr.bin/pamtest/Makefile projects/ifnet/usr.bin/passwd/Makefile projects/ifnet/usr.bin/patch/common.h projects/ifnet/usr.bin/patch/patch.c projects/ifnet/usr.bin/patch/pch.c projects/ifnet/usr.bin/patch/util.c projects/ifnet/usr.bin/patch/util.h projects/ifnet/usr.bin/procstat/Makefile projects/ifnet/usr.bin/quota/Makefile projects/ifnet/usr.bin/rctl/Makefile projects/ifnet/usr.bin/rup/Makefile projects/ifnet/usr.bin/rup/rup.1 projects/ifnet/usr.bin/rusers/Makefile projects/ifnet/usr.bin/rusers/rusers.1 projects/ifnet/usr.bin/rwall/rwall.1 projects/ifnet/usr.bin/script/Makefile projects/ifnet/usr.bin/script/script.1 projects/ifnet/usr.bin/sed/compile.c projects/ifnet/usr.bin/seq/Makefile projects/ifnet/usr.bin/seq/seq.1 projects/ifnet/usr.bin/seq/seq.c projects/ifnet/usr.bin/setchannel/setchannel.1 projects/ifnet/usr.bin/showmount/showmount.8 projects/ifnet/usr.bin/smbutil/Makefile projects/ifnet/usr.bin/sort/Makefile projects/ifnet/usr.bin/split/Makefile projects/ifnet/usr.bin/su/Makefile projects/ifnet/usr.bin/svn/Makefile.inc projects/ifnet/usr.bin/svn/lib/Makefile projects/ifnet/usr.bin/svn/svn/Makefile projects/ifnet/usr.bin/svn/svnadmin/Makefile projects/ifnet/usr.bin/svn/svndumpfilter/Makefile projects/ifnet/usr.bin/svn/svnlook/Makefile projects/ifnet/usr.bin/svn/svnmucc/Makefile projects/ifnet/usr.bin/svn/svnrdump/Makefile projects/ifnet/usr.bin/svn/svnserve/Makefile projects/ifnet/usr.bin/svn/svnsync/Makefile projects/ifnet/usr.bin/svn/svnversion/Makefile projects/ifnet/usr.bin/systat/Makefile projects/ifnet/usr.bin/systat/netstat.c projects/ifnet/usr.bin/tabs/Makefile projects/ifnet/usr.bin/talk/Makefile projects/ifnet/usr.bin/tar/Makefile projects/ifnet/usr.bin/telnet/Makefile projects/ifnet/usr.bin/tftp/Makefile projects/ifnet/usr.bin/top/Makefile projects/ifnet/usr.bin/tput/Makefile projects/ifnet/usr.bin/truncate/Makefile projects/ifnet/usr.bin/tset/Makefile projects/ifnet/usr.bin/ul/Makefile projects/ifnet/usr.bin/units/Makefile projects/ifnet/usr.bin/unzip/Makefile projects/ifnet/usr.bin/usbhidaction/Makefile projects/ifnet/usr.bin/usbhidctl/Makefile projects/ifnet/usr.bin/vacation/Makefile projects/ifnet/usr.bin/vi/Makefile projects/ifnet/usr.bin/vi/catalog/Makefile projects/ifnet/usr.bin/vmstat/Makefile projects/ifnet/usr.bin/w/Makefile projects/ifnet/usr.bin/w/w.c projects/ifnet/usr.bin/wc/Makefile projects/ifnet/usr.bin/xinstall/Makefile projects/ifnet/usr.bin/xlint/lint1/Makefile projects/ifnet/usr.bin/xo/Makefile projects/ifnet/usr.bin/xz/Makefile projects/ifnet/usr.bin/xzdec/Makefile projects/ifnet/usr.bin/yacc/Makefile projects/ifnet/usr.sbin/Makefile projects/ifnet/usr.sbin/acpi/acpidb/Makefile projects/ifnet/usr.sbin/amd/Makefile.inc projects/ifnet/usr.sbin/amd/amd/Makefile projects/ifnet/usr.sbin/amd/amq/Makefile projects/ifnet/usr.sbin/amd/fixmount/Makefile projects/ifnet/usr.sbin/amd/fsinfo/Makefile projects/ifnet/usr.sbin/amd/hlfsd/Makefile projects/ifnet/usr.sbin/amd/mk-amd-map/Makefile projects/ifnet/usr.sbin/amd/pawd/Makefile projects/ifnet/usr.sbin/amd/wire-test/Makefile projects/ifnet/usr.sbin/ancontrol/Makefile projects/ifnet/usr.sbin/apmd/Makefile projects/ifnet/usr.sbin/asf/Makefile projects/ifnet/usr.sbin/audit/Makefile projects/ifnet/usr.sbin/auditd/Makefile projects/ifnet/usr.sbin/auditdistd/Makefile projects/ifnet/usr.sbin/auditreduce/Makefile projects/ifnet/usr.sbin/authpf/Makefile projects/ifnet/usr.sbin/autofs/Makefile projects/ifnet/usr.sbin/autofs/auto_master.5 projects/ifnet/usr.sbin/autofs/automount.8 projects/ifnet/usr.sbin/autofs/automount.c projects/ifnet/usr.sbin/autofs/automountd.c projects/ifnet/usr.sbin/autofs/autounmountd.8 projects/ifnet/usr.sbin/autofs/common.c projects/ifnet/usr.sbin/bhyve/Makefile projects/ifnet/usr.sbin/bhyve/bhyve.8 projects/ifnet/usr.sbin/bhyvectl/Makefile projects/ifnet/usr.sbin/bhyveload/Makefile projects/ifnet/usr.sbin/bluetooth/ath3kfw/Makefile projects/ifnet/usr.sbin/bluetooth/bt3cfw/Makefile projects/ifnet/usr.sbin/bluetooth/bthidcontrol/Makefile projects/ifnet/usr.sbin/bluetooth/bthidd/Makefile projects/ifnet/usr.sbin/bluetooth/bthidd/kbd.c projects/ifnet/usr.sbin/bluetooth/btpand/Makefile projects/ifnet/usr.sbin/bluetooth/btpand/btpand.8 projects/ifnet/usr.sbin/bluetooth/hccontrol/Makefile projects/ifnet/usr.sbin/bluetooth/hcsecd/Makefile projects/ifnet/usr.sbin/bluetooth/hcseriald/Makefile projects/ifnet/usr.sbin/bluetooth/l2control/Makefile projects/ifnet/usr.sbin/bluetooth/l2ping/Makefile projects/ifnet/usr.sbin/bluetooth/rfcomm_pppd/Makefile projects/ifnet/usr.sbin/bluetooth/sdpcontrol/Makefile projects/ifnet/usr.sbin/boot0cfg/Makefile projects/ifnet/usr.sbin/boot98cfg/Makefile projects/ifnet/usr.sbin/bsdconfig/timezone/timezone projects/ifnet/usr.sbin/bsdinstall/bsdinstall.8 projects/ifnet/usr.sbin/bsdinstall/distextract/Makefile projects/ifnet/usr.sbin/bsdinstall/distextract/distextract.c projects/ifnet/usr.sbin/bsdinstall/distfetch/Makefile projects/ifnet/usr.sbin/bsdinstall/partedit/Makefile projects/ifnet/usr.sbin/bsdinstall/scripts/zfsboot projects/ifnet/usr.sbin/bsnmpd/bsnmpd/Makefile projects/ifnet/usr.sbin/bsnmpd/modules/snmp_bridge/snmp_bridge.3 projects/ifnet/usr.sbin/bsnmpd/modules/snmp_hast/Makefile projects/ifnet/usr.sbin/bsnmpd/modules/snmp_hostres/Makefile projects/ifnet/usr.sbin/bsnmpd/modules/snmp_hostres/hostres_snmp.c projects/ifnet/usr.sbin/bsnmpd/modules/snmp_netgraph/Makefile projects/ifnet/usr.sbin/bsnmpd/modules/snmp_wlan/snmp_wlan.3 projects/ifnet/usr.sbin/bsnmpd/tools/bsnmptools/Makefile projects/ifnet/usr.sbin/cdcontrol/Makefile projects/ifnet/usr.sbin/chkgrp/chkgrp.c projects/ifnet/usr.sbin/ckdist/Makefile projects/ifnet/usr.sbin/clear_locks/Makefile projects/ifnet/usr.sbin/config/Makefile projects/ifnet/usr.sbin/config/main.c projects/ifnet/usr.sbin/config/mkmakefile.c projects/ifnet/usr.sbin/cron/cron/Makefile projects/ifnet/usr.sbin/cron/crontab/Makefile projects/ifnet/usr.sbin/ctladm/Makefile projects/ifnet/usr.sbin/ctladm/ctladm.8 projects/ifnet/usr.sbin/ctladm/ctladm.c projects/ifnet/usr.sbin/ctld/Makefile projects/ifnet/usr.sbin/ctld/ctl.conf.5 projects/ifnet/usr.sbin/ctld/ctld.c projects/ifnet/usr.sbin/ctld/ctld.h projects/ifnet/usr.sbin/ctld/discovery.c projects/ifnet/usr.sbin/ctld/isns.c projects/ifnet/usr.sbin/ctld/login.c projects/ifnet/usr.sbin/ctm/ctm/Makefile projects/ifnet/usr.sbin/ctm/mkCTM/Makefile projects/ifnet/usr.sbin/daemon/Makefile projects/ifnet/usr.sbin/dconschat/Makefile projects/ifnet/usr.sbin/devinfo/Makefile projects/ifnet/usr.sbin/diskinfo/Makefile projects/ifnet/usr.sbin/editmap/Makefile projects/ifnet/usr.sbin/edquota/Makefile projects/ifnet/usr.sbin/fifolog/fifolog_create/Makefile projects/ifnet/usr.sbin/fifolog/fifolog_reader/Makefile projects/ifnet/usr.sbin/fifolog/fifolog_writer/Makefile projects/ifnet/usr.sbin/flowctl/Makefile projects/ifnet/usr.sbin/freebsd-update/freebsd-update.sh projects/ifnet/usr.sbin/ftp-proxy/Makefile projects/ifnet/usr.sbin/gpioctl/Makefile projects/ifnet/usr.sbin/gpioctl/gpioctl.8 projects/ifnet/usr.sbin/gpioctl/gpioctl.c projects/ifnet/usr.sbin/gssd/Makefile projects/ifnet/usr.sbin/gssd/gssd.8 projects/ifnet/usr.sbin/gstat/Makefile projects/ifnet/usr.sbin/i2c/i2c.c projects/ifnet/usr.sbin/ifmcstat/Makefile projects/ifnet/usr.sbin/inetd/Makefile projects/ifnet/usr.sbin/iostat/Makefile projects/ifnet/usr.sbin/ipfwpcap/Makefile projects/ifnet/usr.sbin/iscsid/Makefile projects/ifnet/usr.sbin/iscsid/discovery.c projects/ifnet/usr.sbin/iscsid/iscsid.c projects/ifnet/usr.sbin/iscsid/iscsid.h projects/ifnet/usr.sbin/iscsid/login.c projects/ifnet/usr.sbin/jail/Makefile projects/ifnet/usr.sbin/jail/command.c projects/ifnet/usr.sbin/jail/jail.8 projects/ifnet/usr.sbin/jail/jail.c projects/ifnet/usr.sbin/jail/state.c projects/ifnet/usr.sbin/jexec/Makefile projects/ifnet/usr.sbin/jls/Makefile projects/ifnet/usr.sbin/kbdcontrol/Makefile projects/ifnet/usr.sbin/kbdcontrol/kbdcontrol.1 projects/ifnet/usr.sbin/keyserv/Makefile projects/ifnet/usr.sbin/kgmon/Makefile projects/ifnet/usr.sbin/kldxref/Makefile projects/ifnet/usr.sbin/kldxref/kldxref.c projects/ifnet/usr.sbin/lmcconfig/Makefile projects/ifnet/usr.sbin/lpr/Makefile.inc projects/ifnet/usr.sbin/lpr/chkprintcap/Makefile projects/ifnet/usr.sbin/lpr/lpc/Makefile projects/ifnet/usr.sbin/lpr/lpd/Makefile projects/ifnet/usr.sbin/lpr/lpq/Makefile projects/ifnet/usr.sbin/lpr/lpr/Makefile projects/ifnet/usr.sbin/lpr/lpr/lpr.c projects/ifnet/usr.sbin/lpr/lprm/Makefile projects/ifnet/usr.sbin/lpr/pac/Makefile projects/ifnet/usr.sbin/mailstats/Makefile projects/ifnet/usr.sbin/mailwrapper/Makefile projects/ifnet/usr.sbin/makefs/Makefile projects/ifnet/usr.sbin/makemap/Makefile projects/ifnet/usr.sbin/mfiutil/Makefile projects/ifnet/usr.sbin/mount_smbfs/Makefile projects/ifnet/usr.sbin/mountd/Makefile projects/ifnet/usr.sbin/moused/Makefile projects/ifnet/usr.sbin/mptutil/Makefile projects/ifnet/usr.sbin/mtree/Makefile projects/ifnet/usr.sbin/mtree/verify.c projects/ifnet/usr.sbin/nandsim/nandsim.8 projects/ifnet/usr.sbin/nandtool/Makefile projects/ifnet/usr.sbin/ndiscvt/Makefile projects/ifnet/usr.sbin/nfsuserd/nfsuserd.8 projects/ifnet/usr.sbin/ngctl/Makefile projects/ifnet/usr.sbin/nghook/Makefile projects/ifnet/usr.sbin/nmtree/Makefile projects/ifnet/usr.sbin/nscd/Makefile projects/ifnet/usr.sbin/ntp/Makefile.inc projects/ifnet/usr.sbin/ntp/ntp-keygen/Makefile projects/ifnet/usr.sbin/ntp/ntpd/Makefile projects/ifnet/usr.sbin/ntp/ntpdate/Makefile projects/ifnet/usr.sbin/ntp/ntpdc/Makefile projects/ifnet/usr.sbin/ntp/ntpq/Makefile projects/ifnet/usr.sbin/ntp/ntptime/Makefile projects/ifnet/usr.sbin/ntp/sntp/Makefile projects/ifnet/usr.sbin/pkg/Makefile projects/ifnet/usr.sbin/pmccontrol/Makefile projects/ifnet/usr.sbin/pmcstat/Makefile projects/ifnet/usr.sbin/powerd/Makefile projects/ifnet/usr.sbin/ppp/Makefile projects/ifnet/usr.sbin/pppctl/Makefile projects/ifnet/usr.sbin/praliases/Makefile projects/ifnet/usr.sbin/praudit/Makefile projects/ifnet/usr.sbin/pstat/Makefile projects/ifnet/usr.sbin/pw/Makefile projects/ifnet/usr.sbin/pw/pw.c projects/ifnet/usr.sbin/pw/tests/Makefile projects/ifnet/usr.sbin/pw/tests/helper_functions.shin projects/ifnet/usr.sbin/quotaon/Makefile projects/ifnet/usr.sbin/rarpd/Makefile projects/ifnet/usr.sbin/repquota/Makefile projects/ifnet/usr.sbin/rpc.lockd/Makefile projects/ifnet/usr.sbin/rpc.statd/Makefile projects/ifnet/usr.sbin/rpc.umntall/rpc.umntall.8 projects/ifnet/usr.sbin/rpc.yppasswdd/Makefile projects/ifnet/usr.sbin/rpc.ypupdated/Makefile projects/ifnet/usr.sbin/rpc.ypxfrd/Makefile projects/ifnet/usr.sbin/rpcbind/Makefile projects/ifnet/usr.sbin/rrenumd/Makefile projects/ifnet/usr.sbin/rtadvctl/rtadvctl.8 projects/ifnet/usr.sbin/rtadvd/Makefile projects/ifnet/usr.sbin/rtadvd/rtadvd.c projects/ifnet/usr.sbin/rtadvd/rtadvd.conf.5 projects/ifnet/usr.sbin/rtsold/Makefile projects/ifnet/usr.sbin/sendmail/Makefile projects/ifnet/usr.sbin/services_mkdb/Makefile projects/ifnet/usr.sbin/snapinfo/Makefile projects/ifnet/usr.sbin/spray/Makefile projects/ifnet/usr.sbin/syslogd/Makefile projects/ifnet/usr.sbin/syslogd/syslogd.c projects/ifnet/usr.sbin/tcpdchk/Makefile projects/ifnet/usr.sbin/tcpdmatch/Makefile projects/ifnet/usr.sbin/tcpdump/tcpdump/Makefile projects/ifnet/usr.sbin/timed/timed/Makefile projects/ifnet/usr.sbin/traceroute/Makefile projects/ifnet/usr.sbin/traceroute6/Makefile projects/ifnet/usr.sbin/tzsetup/Makefile projects/ifnet/usr.sbin/tzsetup/tzsetup.c projects/ifnet/usr.sbin/ugidfw/Makefile projects/ifnet/usr.sbin/uhsoctl/Makefile projects/ifnet/usr.sbin/unbound/anchor/Makefile projects/ifnet/usr.sbin/unbound/checkconf/Makefile projects/ifnet/usr.sbin/unbound/control/Makefile projects/ifnet/usr.sbin/unbound/daemon/Makefile projects/ifnet/usr.sbin/usbconfig/Makefile projects/ifnet/usr.sbin/usbconfig/dump.c projects/ifnet/usr.sbin/vipw/Makefile projects/ifnet/usr.sbin/watch/Makefile projects/ifnet/usr.sbin/watchdogd/Makefile projects/ifnet/usr.sbin/watchdogd/watchdogd.8 projects/ifnet/usr.sbin/watchdogd/watchdogd.c projects/ifnet/usr.sbin/wpa/Makefile.crypto projects/ifnet/usr.sbin/wpa/hostapd/Makefile projects/ifnet/usr.sbin/wpa/hostapd_cli/Makefile projects/ifnet/usr.sbin/wpa/wpa_cli/Makefile projects/ifnet/usr.sbin/wpa/wpa_passphrase/Makefile projects/ifnet/usr.sbin/wpa/wpa_priv/Makefile projects/ifnet/usr.sbin/wpa/wpa_supplicant/Makefile projects/ifnet/usr.sbin/ypserv/Makefile Directory Properties: projects/ifnet/ (props changed) projects/ifnet/cddl/ (props changed) projects/ifnet/cddl/contrib/opensolaris/ (props changed) projects/ifnet/cddl/contrib/opensolaris/cmd/zfs/ (props changed) projects/ifnet/cddl/contrib/opensolaris/lib/libzfs/ (props changed) projects/ifnet/contrib/binutils/ (props changed) projects/ifnet/contrib/byacc/ (props changed) projects/ifnet/contrib/bzip2/ (props changed) projects/ifnet/contrib/ee/ (props changed) projects/ifnet/contrib/elftoolchain/ (props changed) projects/ifnet/contrib/file/ (props changed) projects/ifnet/contrib/gcc/ (props changed) projects/ifnet/contrib/libarchive/ (props changed) projects/ifnet/contrib/libarchive/cpio/ (props changed) projects/ifnet/contrib/libc++/ (props changed) projects/ifnet/contrib/libucl/ (props changed) projects/ifnet/contrib/llvm/ (props changed) projects/ifnet/contrib/llvm/tools/clang/ (props changed) projects/ifnet/contrib/llvm/tools/lldb/ (props changed) projects/ifnet/contrib/mdocml/ (props changed) projects/ifnet/contrib/ntp/ (props changed) projects/ifnet/contrib/sqlite3/ (props changed) projects/ifnet/contrib/subversion/ (props changed) projects/ifnet/contrib/tzdata/ (props changed) projects/ifnet/contrib/unbound/ (props changed) projects/ifnet/etc/ (props changed) projects/ifnet/gnu/lib/ (props changed) projects/ifnet/gnu/usr.bin/binutils/ (props changed) projects/ifnet/gnu/usr.bin/gdb/ (props changed) projects/ifnet/include/ (props changed) projects/ifnet/lib/libc/ (props changed) projects/ifnet/lib/libutil/ (props changed) projects/ifnet/sbin/ (props changed) projects/ifnet/sbin/ipfw/ (props changed) projects/ifnet/share/ (props changed) projects/ifnet/share/man/man4/ (props changed) projects/ifnet/sys/ (props changed) projects/ifnet/sys/amd64/vmm/ (props changed) projects/ifnet/sys/boot/ (props changed) projects/ifnet/sys/boot/powerpc/boot1.chrp/ (props changed) projects/ifnet/sys/cddl/contrib/opensolaris/ (props changed) projects/ifnet/sys/conf/ (props changed) projects/ifnet/sys/contrib/ipfilter/ (props changed) projects/ifnet/sys/dev/hyperv/ (props changed) projects/ifnet/usr.bin/calendar/ (props changed) projects/ifnet/usr.bin/mkimg/ (props changed) projects/ifnet/usr.bin/procstat/ (props changed) projects/ifnet/usr.sbin/bhyve/ (props changed) projects/ifnet/usr.sbin/bhyvectl/ (props changed) projects/ifnet/usr.sbin/bhyveload/ (props changed) projects/ifnet/usr.sbin/jail/ (props changed) projects/ifnet/usr.sbin/ndiscvt/ (props changed) projects/ifnet/usr.sbin/rtadvctl/ (props changed) projects/ifnet/usr.sbin/rtadvd/ (props changed) projects/ifnet/usr.sbin/rtsold/ (props changed) Modified: projects/ifnet/MAINTAINERS ============================================================================== --- projects/ifnet/MAINTAINERS Mon Dec 29 20:59:35 2014 (r276378) +++ projects/ifnet/MAINTAINERS Mon Dec 29 21:38:00 2014 (r276379) @@ -48,8 +48,6 @@ cd(4) ken Pre-commit review requested. pass(4) ken Pre-commit review requested. ch(4) ken Pre-commit review requested. em(4) jfv Pre-commit review requested. -bxe(4) davidch Pre-commit review requested. -tdfx(4) cokane Just keep me informed of changes, try not to break it. sendmail gshapiro Pre-commit review requested. etc/mail gshapiro Pre-commit review requested. Keep in sync with -STABLE. @@ -81,6 +79,8 @@ contrib/pf glebius Pre-commit review rec file obrien Insists to keep file blocked from other's unapproved commits contrib/bzip2 obrien Pre-commit review required. +contrib/netbsd-tests freebsd-testing,ngie Pre-commit review requested. +contrib/pjdfstest freebsd-testing,ngie Pre-commit review requested. geom_concat pjd Pre-commit review preferred. geom_eli pjd Pre-commit review preferred. geom_gate pjd Pre-commit review preferred. @@ -117,7 +117,6 @@ lib/libc/stdtime edwin Heads-up apprec is maintained by a third party source. sbin/routed bms Pre-commit review; notify vendor at rhyolite.com isci(4) jimharris Pre-commit review requested. -3dfx cokane Pre-commit review preferred. cmx daniel@roe.ch Pre-commit review preferred. filemon obrien Pre-commit review preferred. sysdoc trhodes Pre-commit review preferred. Modified: projects/ifnet/Makefile.inc1 ============================================================================== --- projects/ifnet/Makefile.inc1 Mon Dec 29 20:59:35 2014 (r276378) +++ projects/ifnet/Makefile.inc1 Mon Dec 29 21:38:00 2014 (r276379) @@ -97,11 +97,24 @@ SUBDIR+=contrib/ofed # SUBDIR+=etc -# These are last, since it is nice to at least get the base system -# rebuilt before you do them. -.for _DIR in ${LOCAL_LIB_DIRS} ${LOCAL_DIRS} +# Local directories are last, since it is nice to at least get the base +# system rebuilt before you do them. +.for _DIR in ${LOCAL_DIRS} .if exists(${.CURDIR}/${_DIR}/Makefile) -SUBDIR+= ${_DIR} +SUBDIR+= ${_DIR} +.endif +.endfor +# Add LOCAL_LIB_DIRS, but only if they will not be picked up as a SUBDIR +# of a LOCAL_DIRS directory. This allows LOCAL_DIRS=foo and +# LOCAL_LIB_DIRS=foo/lib to behave as expected. +.for _DIR in ${LOCAL_DIRS:M*/} ${LOCAL_DIRS:N*/:S|$|/|} +_REDUNDENT_LIB_DIRS+= ${LOCAL_LIB_DIRS:M${_DIR}*} +.endfor +.for _DIR in ${LOCAL_LIB_DIRS} +.if empty(_REDUNDENT_LIB_DIRS:M${_DIR}) && exists(${.CURDIR}/${_DIR}/Makefile) +SUBDIR+= ${_DIR} +.else +.warning ${_DIR} not added to SUBDIR list. See UPDATING 20141121. .endif .endfor .endif @@ -250,7 +263,8 @@ BMAKE= MAKEOBJDIRPREFIX=${WORLDTMP} \ 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 MK_TESTS=no + MK_CLANG_EXTRAS=no MK_CLANG_FULL=no \ + MK_LLDB=no MK_TESTS=no # build-tools stage TMAKE= MAKEOBJDIRPREFIX=${OBJTREE} \ @@ -260,7 +274,9 @@ TMAKE= MAKEOBJDIRPREFIX=${OBJTREE} \ BOOTSTRAPPING=${OSRELDATE} \ SSP_CFLAGS= \ -DNO_LINT \ - -DNO_CPU_CFLAGS MK_WARNS=no MK_CTF=no MK_CLANG_FULL=no MK_LLDB=no MK_TESTS=no + -DNO_CPU_CFLAGS MK_WARNS=no MK_CTF=no \ + MK_CLANG_EXTRAS=no MK_CLANG_FULL=no \ + MK_LLDB=no MK_TESTS=no # cross-tools stage XMAKE= TOOLS_PREFIX=${WORLDTMP} ${BMAKE} \ @@ -513,8 +529,9 @@ _worldtmp: -p ${WORLDTMP}/usr/lib >/dev/null .endif .if ${MK_TESTS} != "no" + mkdir -p ${WORLDTMP}${TESTSBASE} mtree -deU -f ${.CURDIR}/etc/mtree/BSD.tests.dist \ - -p ${WORLDTMP}/usr >/dev/null + -p ${WORLDTMP}${TESTSBASE} >/dev/null .endif .for _mtree in ${LOCAL_MTREE} mtree -deU -f ${.CURDIR}/${_mtree} -p ${WORLDTMP} > /dev/null @@ -691,6 +708,11 @@ buildworld_epilogue: buildenvvars: @echo ${WMAKEENV:Q} +.if ${.TARGETS:Mbuildenv} +.if ${.MAKEFLAGS:M-j} +.error The buildenv target is incompatible with -j +.endif +.endif buildenv: @echo Entering world for ${TARGET_ARCH}:${TARGET} @cd ${.CURDIR} && env ${WMAKEENV} ${BUILDENV_SHELL} || true @@ -772,9 +794,14 @@ _zoneinfo= zic tzsetup ITOOLS= [ awk cap_mkdb cat chflags chmod chown \ date echo egrep find grep id install ${_install-info} \ ln lockf make mkdir mtree mv pwd_mkdb \ - rm sed services_mkdb sh sysctl test true uname wc ${_zoneinfo} \ + rm sed services_mkdb sh strip sysctl test true uname wc ${_zoneinfo} \ ${LOCAL_ITOOLS} +# Needed for share/man +.if ${MK_MAN} != "no" +ITOOLS+=makewhatis +.endif + # # distributeworld # @@ -843,8 +870,9 @@ distributeworld installworld: _installch -p ${DESTDIR}/${DISTDIR}/${dist}/usr/lib >/dev/null .endif .if ${MK_TESTS} != "no" && ${dist} == "tests" + -mkdir -p ${DESTDIR}/${DISTDIR}/${dist}${TESTSBASE} mtree -deU -f ${.CURDIR}/etc/mtree/BSD.tests.dist \ - -p ${DESTDIR}/${DISTDIR}/${dist}/usr >/dev/null + -p ${DESTDIR}/${DISTDIR}/${dist}${TESTSBASE} >/dev/null .endif .if defined(NO_ROOT) ${IMAKEENV} mtree -C -f ${.CURDIR}/etc/mtree/BSD.root.dist | \ @@ -1339,6 +1367,11 @@ _share= share/syscons/scrnmaps _gcc_tools= gnu/usr.bin/cc/cc_tools .endif +.if ${MK_INFO} != "no" +_texinfo= gnu/usr.bin/texinfo/libtxi \ + gnu/usr.bin/texinfo/makeinfo +.endif + .if ${MK_RESCUE} != "no" _rescue= rescue/rescue .endif @@ -1370,6 +1403,16 @@ build-tools: .MAKE ${MAKE} DIRPRFX=${_tool}/ depend && \ ${MAKE} DIRPRFX=${_tool}/ all .endfor +.for _tool in \ + ${_texinfo} + ${_+_}@${ECHODIR} "===> ${_tool} (obj,depend,all,install)"; \ + cd ${.CURDIR}/${_tool} && \ + ${MAKE} DIRPRFX=${_tool}/ obj && \ + ${MAKE} DIRPRFX=${_tool}/ depend && \ + ${MAKE} DIRPRFX=${_tool}/ all && \ + ${MAKE} DIRPRFX=${_tool}/ install DESTDIR=${WORLDTMP} +.endfor + # # kernel-tools: Build kernel-building tools @@ -1399,6 +1442,14 @@ _kgzip= usr.sbin/kgzip # If we're given an XAS, don't build binutils. .if ${XAS:M/*} == "" && ${MK_BINUTILS_BOOTSTRAP} != "no" _binutils= gnu/usr.bin/binutils +.if ${MK_ELFTOOLCHAIN_TOOLS} != "no" +_elftctools= lib/libelftc \ + usr.bin/addr2line \ + usr.bin/elfcopy \ + usr.bin/nm \ + usr.bin/size \ + usr.bin/strings +.endif .endif # If an full path to an external cross compiler is given, don't build @@ -1418,6 +1469,7 @@ cross-tools: .MAKE ${_clang_libs} \ ${_clang} \ ${_binutils} \ + ${_elftctools} \ ${_cc} \ usr.bin/xlint/lint1 usr.bin/xlint/lint2 usr.bin/xlint/xlint \ ${_btxld} \ @@ -1444,28 +1496,76 @@ NXBMAKE= ${NXBENV} ${MAKE} \ 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 + MK_CLANG_EXTRAS=no MK_CLANG_FULL=no \ + MK_LLDB=no native-xtools: .MAKE + mkdir -p ${OBJTREE}/nxb-bin/bin + mkdir -p ${OBJTREE}/nxb-bin/sbin 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 \ + bin/cat \ + bin/chmod \ + bin/cp \ + bin/csh \ + bin/echo \ + bin/expr \ + bin/hostname \ + bin/ln \ + bin/ls \ + bin/mkdir \ + bin/mv \ + bin/ps \ + bin/realpath \ + bin/rm \ + bin/rmdir \ + bin/sh \ + bin/sleep \ ${_clang_tblgen} \ usr.bin/ar \ ${_binutils} \ + ${_elftctools} \ ${_cc} \ ${_gcc_tools} \ ${_clang_libs} \ ${_clang} \ + sbin/md5 \ + sbin/sysctl \ + gnu/usr.bin/diff \ usr.bin/awk \ + usr.bin/basename \ usr.bin/bmake \ + usr.bin/bzip2 \ + usr.bin/cmp \ + usr.bin/dirname \ + usr.bin/env \ + usr.bin/fetch \ + usr.bin/find \ + usr.bin/grep \ + usr.bin/gzip \ + usr.bin/id \ usr.bin/lex \ usr.bin/lorder \ + usr.bin/mktemp \ + usr.bin/mt \ + usr.bin/patch \ usr.bin/sed \ - usr.bin/yacc + usr.bin/sort \ + usr.bin/tar \ + usr.bin/touch \ + usr.bin/tr \ + usr.bin/true \ + usr.bin/uniq \ + usr.bin/unzip \ + usr.bin/xargs \ + usr.bin/xinstall \ + usr.bin/xz \ + usr.bin/yacc \ + usr.sbin/chown ${_+_}@${ECHODIR} "===> ${_tool} (obj,depend,all,install)"; \ cd ${.CURDIR}/${_tool} && \ ${NXBMAKE} DIRPRFX=${_tool}/ obj && \ @@ -1967,7 +2067,8 @@ _xb-worldtmp: _xb-bootstrap-tools: .for _tool in \ - ${_clang_tblgen} + ${_clang_tblgen} \ + ${_gperf} ${_+_}@${ECHODIR} "===> ${_tool} (obj,depend,all,install)"; \ cd ${.CURDIR}/${_tool} && \ ${CDMAKE} DIRPRFX=${_tool}/ obj && \ @@ -1983,6 +2084,7 @@ _xb-build-tools: _xb-cross-tools: .for _tool in \ ${_binutils} \ + ${_elftctools} \ usr.bin/ar \ ${_clang_libs} \ ${_clang} \ @@ -2004,8 +2106,9 @@ _xi-mtree: mtree -deU -f ${.CURDIR}/etc/mtree/BSD.include.dist \ -p ${XDDESTDIR}/usr/include >/dev/null .if ${MK_TESTS} != "no" + mkdir -p ${XDDESTDIR}${TESTSBASE} mtree -deU -f ${.CURDIR}/etc/mtree/BSD.tests.dist \ - -p ${XDDESTDIR}/usr >/dev/null + -p ${XDDESTDIR}${TESTSBASE} >/dev/null .endif .ORDER: xdev-build _xi-mtree _xi-cross-tools _xi-includes _xi-libraries @@ -2015,6 +2118,7 @@ _xi-cross-tools: @echo "_xi-cross-tools" .for _tool in \ ${_binutils} \ + ${_elftctools} \ usr.bin/ar \ ${_clang_libs} \ ${_clang} \ Modified: projects/ifnet/ObsoleteFiles.inc ============================================================================== --- projects/ifnet/ObsoleteFiles.inc Mon Dec 29 20:59:35 2014 (r276378) +++ projects/ifnet/ObsoleteFiles.inc Mon Dec 29 21:38:00 2014 (r276379) @@ -38,12 +38,54 @@ # xargs -n1 | sort | uniq -d; # done +# 20141226: Remove gpib/ieee488 +OLD_FILES+=usr/include/dev/ieee488/ibfoo_int.h +OLD_FILES+=usr/include/dev/ieee488/tnt4882.h +OLD_FILES+=usr/include/dev/ieee488/ugpib.h +OLD_FILES+=usr/include/dev/ieee488/upd7210.h +OLD_DIRS+=usr/include/dev/ieee488 +OLD_FILES+=usr/include/gpib/gpib.h +OLD_DIRS+=usr/include/gpib +OLD_FILES+=usr/lib/libgpib.a +OLD_FILES+=usr/lib/libgpib_p.a +OLD_FILES+=usr/lib/libgpib.so +OLD_LIBS+=usr/lib/libgpib.so.3 +OLD_FILES+=usr/lib/libgpib_p.a +OLD_FILES+=share/man/man4/pcii.4.gz +OLD_FILES+=share/man/man4/gpib.4.gz +OLD_FILES+=share/man/man4/tnt4882.4.gz +.if ${TARGET_ARCH} == "amd64" || ${TARGET_ARCH} == "powerpc64" +OLD_FILES+=usr/lib32/libgpib.a +OLD_FILES+=usr/lib32/libgpib_p.a +OLD_FILES+=usr/lib32/libgpib.so +OLD_LIBS+=usr/lib32/libgpib.so.3 +.endif + +# 20141224: libxo moved to /lib +OLD_LIBS+=usr/lib/libxo.so.0 +# 20141223: remove in6_gif.h, in_gif.h and if_stf.h +OLD_FILES+=usr/include/net/if_stf.h +OLD_FILES+=usr/include/netinet/in_gif.h +OLD_FILES+=usr/include/netinet6/in6_gif.h +# 20141202: update to mandoc CVS 20141201 +OLD_FILES+=usr.bin/preconv +OLD_FILES+=share/man/man1/preconv.1.gz +# 20141129: mrouted rc.d scripts removed from base +OLD_FILES+=etc/rc.d/mrouted +# 20141126: convert sbin/mdconfig/tests to ATF format tests +OLD_FILES+=usr/tests/sbin/mdconfig/legacy_test +OLD_FILES+=usr/tests/sbin/mdconfig/mdconfig.test +OLD_FILES+=usr/tests/sbin/mdconfig/run.pl +# 20141126: remove xform_ipip decapsulation fallback +OLD_FILES+=usr/include/netipsec/ipip_var.h # 20141109: faith/faithd removal OLD_FILES+=etc/rc.d/faith OLD_FILES+=usr/share/man/man4/faith.4.gz OLD_FILES+=usr/share/man/man4/if_faith.4.gz OLD_FILES+=usr/sbin/faithd OLD_FILES+=usr/share/man/man8/faithd.8.gz +# 20141107: overhaul if_gre(4) +OLD_FILES+=usr/include/netinet/ip_gre.h # 20141102: postrandom obsoleted by new /dev/random code OLD_FILES+=etc/rc.d/postrandom # 20141031: initrandom obsoleted by new /dev/random code @@ -132,10 +174,12 @@ OLD_FILES+=usr/include/readline/chardefs OLD_FILES+=usr/include/readline/history.h OLD_FILES+=usr/include/readline/keymaps.h OLD_FILES+=usr/include/readline/readline.h +OLD_FILES+=usr/include/readline/tilde.h OLD_FILES+=usr/include/readline/rlconf.h OLD_FILES+=usr/include/readline/rlstdc.h OLD_FILES+=usr/include/readline/rltypedefs.h OLD_FILES+=usr/include/readline/rltypedefs.h +OLD_DIRS+=usr/include/readline OLD_FILES+=usr/share/info/readline.info.gz OLD_FILES+=usr/share/man/man3/readline.3.gz # 20140625: csup removal Modified: projects/ifnet/UPDATING ============================================================================== --- projects/ifnet/UPDATING Mon Dec 29 20:59:35 2014 (r276378) +++ projects/ifnet/UPDATING Mon Dec 29 21:38:00 2014 (r276379) @@ -31,6 +31,22 @@ NOTE TO PEOPLE WHO THINK THAT FreeBSD 11 disable the most expensive debugging functionality run "ln -s 'abort:false,junk:false' /etc/malloc.conf".) +20141222: + The old NFS client and server (kernel options NFSCLIENT, NFSSERVER) + kernel sources have been removed. The .h files remain, since some + utilities include them. This will need to be fixed later. + If "mount -t oldnfs ..." is attempted, it will fail. + If the "-o" option on mountd(8), nfsd(8) or nfsstat(1) is used, + the utilities will report errors. + +20141121: + The handling of LOCAL_LIB_DIRS has been altered to skip addition of + directories to top level SUBDIR variable when their parent + directory is included in LOCAL_DIRS. Users with build systems with + such hierarchies and without SUBDIR entries in the parent + directory Makefiles should add them or add the directories to + LOCAL_DIRS. + 20141109: faith(4) and faithd(8) has been removed from base system. It has been obsolete for a very long time. Modified: projects/ifnet/bin/csh/Makefile ============================================================================== --- projects/ifnet/bin/csh/Makefile Mon Dec 29 20:59:35 2014 (r276378) +++ projects/ifnet/bin/csh/Makefile Mon Dec 29 21:38:00 2014 (r276379) @@ -40,8 +40,7 @@ MLINKS= csh.1 tcsh.1 # utilities of the same name are handled with the associated manpage, # builtin.1 in share/man/man1/. -DPADD= ${LIBTERMCAPW} ${LIBCRYPT} -LDADD= -ltermcapw -lcrypt +LIBADD= termcapw crypt LINKS= ${BINDIR}/csh ${BINDIR}/tcsh Modified: projects/ifnet/bin/df/Makefile ============================================================================== --- projects/ifnet/bin/df/Makefile Mon Dec 29 20:59:35 2014 (r276378) +++ projects/ifnet/bin/df/Makefile Mon Dec 29 21:38:00 2014 (r276379) @@ -9,7 +9,6 @@ SRCS= df.c vfslist.c CFLAGS+= -I${MOUNT} -DPADD= ${LIBUTIL} ${LIBXO} -LDADD= -lutil -lxo +LIBADD= xo util .include Modified: projects/ifnet/bin/ed/Makefile ============================================================================== --- projects/ifnet/bin/ed/Makefile Mon Dec 29 20:59:35 2014 (r276378) +++ projects/ifnet/bin/ed/Makefile Mon Dec 29 21:38:00 2014 (r276379) @@ -9,8 +9,7 @@ MLINKS= ed.1 red.1 .if ${MK_OPENSSL} != "no" && ${MK_ED_CRYPTO} != "no" CFLAGS+=-DDES -DPADD= ${LIBCRYPTO} -LDADD= -lcrypto +LIBADD= crypto .endif .include Modified: projects/ifnet/bin/freebsd-version/Makefile ============================================================================== --- projects/ifnet/bin/freebsd-version/Makefile Mon Dec 29 20:59:35 2014 (r276378) +++ projects/ifnet/bin/freebsd-version/Makefile Mon Dec 29 21:38:00 2014 (r276379) @@ -5,8 +5,7 @@ MAN = freebsd-version.1 CLEANFILES = freebsd-version.sh NEWVERS = ${.CURDIR}/../../sys/conf/newvers.sh -freebsd-version.sh.in: ${NEWVERS} -freebsd-version.sh: ${.CURDIR}/freebsd-version.sh.in +freebsd-version.sh: ${.CURDIR}/freebsd-version.sh.in ${NEWVERS} eval $$(egrep '^(TYPE|REVISION|BRANCH)=' ${NEWVERS}) ; \ if ! sed -e "\ s/@@TYPE@@/$${TYPE}/g; \ Modified: projects/ifnet/bin/ln/symlink.7 ============================================================================== --- projects/ifnet/bin/ln/symlink.7 Mon Dec 29 20:59:35 2014 (r276378) +++ projects/ifnet/bin/ln/symlink.7 Mon Dec 29 21:38:00 2014 (r276379) @@ -29,7 +29,7 @@ .\" @(#)symlink.7 8.3 (Berkeley) 3/31/94 .\" $FreeBSD$ .\" -.Dd April 25, 2010 +.Dd December 29, 2014 .Dt SYMLINK 7 .Os .Sh NAME @@ -219,7 +219,7 @@ would change the ownership of .Dq Li slink itself. .Pp -There are four exceptions to this rule. +There are five exceptions to this rule. The .Xr mv 1 and @@ -262,13 +262,12 @@ a file tree.) .Pp The .Xr file 1 -command is also an exception to this rule. -The -.Xr file 1 -command does not follow symbolic links named as argument by default. -The -.Xr file 1 -command does follow symbolic links named as argument if +and +.Xr stat 1 +commands are also exceptions to this rule. +These +commands do not follow symbolic links named as argument by default, +but do follow symbolic links named as argument if the .Fl L option is specified. .Pp Modified: projects/ifnet/bin/ls/Makefile ============================================================================== --- projects/ifnet/bin/ls/Makefile Mon Dec 29 20:59:35 2014 (r276378) +++ projects/ifnet/bin/ls/Makefile Mon Dec 29 21:38:00 2014 (r276379) @@ -5,14 +5,12 @@ PROG= ls SRCS= cmp.c ls.c print.c util.c -DPADD= ${LIBUTIL} -LDADD= -lutil +LIBADD= util .if !defined(RELEASE_CRUNCH) && \ ${MK_LS_COLORS} != no CFLAGS+= -DCOLORLS -DPADD+= ${LIBTERMCAPW} -LDADD+= -ltermcapw +LIBADD+= termcapw .endif .include Modified: projects/ifnet/bin/pkill/Makefile ============================================================================== --- projects/ifnet/bin/pkill/Makefile Mon Dec 29 20:59:35 2014 (r276378) +++ projects/ifnet/bin/pkill/Makefile Mon Dec 29 21:38:00 2014 (r276379) @@ -5,8 +5,7 @@ PROG= pkill -DPADD= ${LIBKVM} -LDADD= -lkvm +LIBADD= kvm LINKS= ${BINDIR}/pkill ${BINDIR}/pgrep MLINKS= pkill.1 pgrep.1 Modified: projects/ifnet/bin/ps/Makefile ============================================================================== --- projects/ifnet/bin/ps/Makefile Mon Dec 29 20:59:35 2014 (r276378) +++ projects/ifnet/bin/ps/Makefile Mon Dec 29 21:38:00 2014 (r276379) @@ -11,7 +11,6 @@ SRCS= fmt.c keyword.c nlist.c print.c ps # on large systems. # CFLAGS+=-DLAZY_PS -DPADD= ${LIBM} ${LIBKVM} ${LIBJAIL} -LDADD= -lm -lkvm -ljail +LIBADD= m kvm jail .include Modified: projects/ifnet/bin/ps/ps.1 ============================================================================== --- projects/ifnet/bin/ps/ps.1 Mon Dec 29 20:59:35 2014 (r276378) +++ projects/ifnet/bin/ps/ps.1 Mon Dec 29 21:38:00 2014 (r276379) @@ -29,7 +29,7 @@ .\" @(#)ps.1 8.3 (Berkeley) 4/18/94 .\" $FreeBSD$ .\" -.Dd August 27, 2014 +.Dd December 9, 2014 .Dt PS 1 .Os .Sh NAME @@ -332,6 +332,7 @@ the include file .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_TOTAL_STOP" Ta No "0x2000000" Ta "Stopped for system suspend" .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: projects/ifnet/bin/rmail/Makefile ============================================================================== --- projects/ifnet/bin/rmail/Makefile Mon Dec 29 20:59:35 2014 (r276378) +++ projects/ifnet/bin/rmail/Makefile Mon Dec 29 21:38:00 2014 (r276379) @@ -14,11 +14,7 @@ MAN= rmail.8 WARNS?= 2 CFLAGS+=-I${SENDMAIL_DIR}/include -I. -LIBSMDIR= ${.OBJDIR}/../../lib/libsm -LIBSM= ${LIBSMDIR}/libsm.a - -DPADD= ${LIBSM} -LDADD= ${LIBSM} +LIBADD= sm SRCS+= sm_os.h CLEANFILES+=sm_os.h Modified: projects/ifnet/bin/sh/Makefile ============================================================================== --- projects/ifnet/bin/sh/Makefile Mon Dec 29 20:59:35 2014 (r276378) +++ projects/ifnet/bin/sh/Makefile Mon Dec 29 21:38:00 2014 (r276379) @@ -18,8 +18,7 @@ SRCS= ${SHSRCS} ${GENSRCS} ${GENHDRS} # utilities of the same name are handled with the associated manpage, # builtin.1 in share/man/man1/. -DPADD= ${LIBEDIT} ${LIBTERMCAPW} -LDADD= -ledit -ltermcapw +LIBADD= edit CFLAGS+=-DSHELL -I. -I${.CURDIR} # for debug: Modified: projects/ifnet/bin/sh/error.c ============================================================================== --- projects/ifnet/bin/sh/error.c Mon Dec 29 20:59:35 2014 (r276378) +++ projects/ifnet/bin/sh/error.c Mon Dec 29 21:38:00 2014 (r276379) @@ -90,13 +90,14 @@ exraise(int e) /* - * Called from trap.c when a SIGINT is received. (If the user specifies - * that SIGINT is to be trapped or ignored using the trap builtin, then - * this routine is not called.) Suppressint is nonzero when interrupts - * are held using the INTOFF macro. If SIGINTs are not suppressed and - * the shell is not a root shell, then we want to be terminated if we - * get here, as if we were terminated directly by a SIGINT. Arrange for - * this here. + * Called from trap.c when a SIGINT is received and not suppressed, or when + * an interrupt is pending and interrupts are re-enabled using INTON. + * (If the user specifies that SIGINT is to be trapped or ignored using the + * trap builtin, then this routine is not called.) Suppressint is nonzero + * when interrupts are held using the INTOFF macro. If SIGINTs are not + * suppressed and the shell is not a root shell, then we want to be + * terminated if we get here, as if we were terminated directly by a SIGINT. + * Arrange for this here. */ void @@ -104,16 +105,6 @@ onint(void) { sigset_t sigs; - /* - * The !in_dotrap here is safe. The only way we can arrive here - * with in_dotrap set is that a trap handler set SIGINT to SIG_DFL - * and killed itself. - */ - - if (suppressint && !in_dotrap) { - intpending++; - return; - } intpending = 0; sigemptyset(&sigs); sigprocmask(SIG_SETMASK, &sigs, NULL); @@ -130,6 +121,7 @@ onint(void) else { signal(SIGINT, SIG_DFL); kill(getpid(), SIGINT); + _exit(128 + SIGINT); } } @@ -139,6 +131,8 @@ vwarning(const char *msg, va_list ap) { if (commandname) outfmt(out2, "%s: ", commandname); + else if (arg0) + outfmt(out2, "%s: ", arg0); doformat(out2, msg, ap); out2fmt_flush("\n"); } Modified: projects/ifnet/bin/sh/error.h ============================================================================== --- projects/ifnet/bin/sh/error.h Mon Dec 29 20:59:35 2014 (r276378) +++ projects/ifnet/bin/sh/error.h Mon Dec 29 21:38:00 2014 (r276379) @@ -75,11 +75,12 @@ extern volatile sig_atomic_t intpending; #define is_int_on() suppressint #define SETINTON(s) suppressint = (s) #define FORCEINTON {suppressint = 0; if (intpending) onint();} +#define SET_PENDING_INT intpending = 1 #define CLEAR_PENDING_INT intpending = 0 #define int_pending() intpending void exraise(int) __dead2; -void onint(void); +void onint(void) __dead2; void warning(const char *, ...) __printflike(1, 2); void error(const char *, ...) __printf0like(1, 2) __dead2; void exerror(int, const char *, ...) __printf0like(2, 3) __dead2; Modified: projects/ifnet/bin/sh/eval.c ============================================================================== --- projects/ifnet/bin/sh/eval.c Mon Dec 29 20:59:35 2014 (r276378) +++ projects/ifnet/bin/sh/eval.c Mon Dec 29 21:38:00 2014 (r276379) @@ -539,13 +539,13 @@ expredir(union node *n) case NFROMTO: case NAPPEND: case NCLOBBER: - expandarg(redir->nfile.fname, &fn, EXP_TILDE | EXP_REDIR); + expandarg(redir->nfile.fname, &fn, EXP_TILDE); redir->nfile.expfname = fn.list->text; break; case NFROMFD: case NTOFD: if (redir->ndup.vname) { - expandarg(redir->ndup.vname, &fn, EXP_TILDE | EXP_REDIR); + expandarg(redir->ndup.vname, &fn, EXP_TILDE); fixredir(redir, fn.list->text, 1); } break; @@ -774,15 +774,7 @@ xtracecommand(struct arglist *varlist, s for (sp = arglist->list ; sp ; sp = sp->next) { if (sep != 0) out2c(' '); - /* Disambiguate command looking like assignment. */ - if (sp == arglist->list && - strchr(sp->text, '=') != NULL && - strchr(sp->text, '\'') == NULL) { - out2c('\''); - out2str(sp->text); - out2c('\''); - } else - out2qstr(sp->text); + out2qstr(sp->text); sep = ' '; } out2c('\n'); Modified: projects/ifnet/bin/sh/expand.c ============================================================================== --- projects/ifnet/bin/sh/expand.c Mon Dec 29 20:59:35 2014 (r276378) +++ projects/ifnet/bin/sh/expand.c Mon Dec 29 21:38:00 2014 (r276379) @@ -171,17 +171,12 @@ expandarg(union node *arg, struct arglis STPUTC('\0', expdest); p = grabstackstr(expdest); exparg.lastp = &exparg.list; - /* - * TODO - EXP_REDIR - */ if (flag & EXP_FULL) { ifsbreakup(p, &exparg); *exparg.lastp = NULL; exparg.lastp = &exparg.list; expandmeta(exparg.list, flag); } else { - if (flag & EXP_REDIR) /*XXX - for now, just remove escapes */ - rmescapes(p); sp = (struct strlist *)stalloc(sizeof (struct strlist)); sp->text = p; *exparg.lastp = sp; @@ -209,7 +204,7 @@ expandarg(union node *arg, struct arglis * expansion, and tilde expansion if requested via EXP_TILDE/EXP_VARTILDE. * Processing ends at a CTLENDVAR or CTLENDARI character as well as '\0'. * This is used to expand word in ${var+word} etc. - * If EXP_FULL, EXP_CASE or EXP_REDIR are set, keep and/or generate CTLESC + * If EXP_FULL or EXP_CASE are set, keep and/or generate CTLESC * characters to allow for further processing. * If EXP_FULL is set, also preserve CTLQUOTEMARK characters. */ @@ -217,7 +212,7 @@ static char * argstr(char *p, int flag) { char c; - int quotes = flag & (EXP_FULL | EXP_CASE | EXP_REDIR); /* do CTLESC */ + int quotes = flag & (EXP_FULL | EXP_CASE); /* do CTLESC */ int firsteq = 1; int split_lit; int lit_quoted; @@ -303,7 +298,7 @@ exptilde(char *p, int flag) char c, *startp = p; struct passwd *pw; char *home; - int quotes = flag & (EXP_FULL | EXP_CASE | EXP_REDIR); + int quotes = flag & (EXP_FULL | EXP_CASE); while ((c = *p) != '\0') { switch(c) { @@ -337,7 +332,7 @@ done: if (home == NULL || *home == '\0') return (startp); if (quotes) - STPUTS_QUOTES(home, SQSYNTAX, expdest); + STPUTS_QUOTES(home, DQSYNTAX, expdest); else STPUTS(home, expdest); return (p); @@ -437,7 +432,7 @@ expbackq(union node *cmd, int quoted, in char lastc; int startloc = dest - stackblock(); char const *syntax = quoted? DQSYNTAX : BASESYNTAX; - int quotes = flag & (EXP_FULL | EXP_CASE | EXP_REDIR); + int quotes = flag & (EXP_FULL | EXP_CASE); size_t nnl; INTOFF; @@ -637,7 +632,7 @@ evalvar(char *p, int flag) int varlen; int varlenb; int easy; - int quotes = flag & (EXP_FULL | EXP_CASE | EXP_REDIR); + int quotes = flag & (EXP_FULL | EXP_CASE); varflags = (unsigned char)*p++; subtype = varflags & VSTYPE; @@ -862,7 +857,7 @@ varisset(const char *name, int nulok) static void strtodest(const char *p, int flag, int subtype, int quoted) { - if (flag & (EXP_FULL | EXP_CASE | EXP_REDIR) && subtype != VSLENGTH) + if (flag & (EXP_FULL | EXP_CASE) && subtype != VSLENGTH) STPUTS_QUOTES(p, quoted ? DQSYNTAX : BASESYNTAX, expdest); else STPUTS(p, expdest); @@ -1104,7 +1099,6 @@ expandmeta(struct strlist *str, int flag struct strlist **savelastp; struct strlist *sp; char c; - /* TODO - EXP_REDIR */ while (str) { savelastp = exparg.lastp; Modified: projects/ifnet/bin/sh/expand.h ============================================================================== --- projects/ifnet/bin/sh/expand.h Mon Dec 29 20:59:35 2014 (r276378) +++ projects/ifnet/bin/sh/expand.h Mon Dec 29 21:38:00 2014 (r276379) @@ -50,7 +50,6 @@ struct arglist { #define EXP_FULL 0x1 /* perform word splitting & file globbing */ #define EXP_TILDE 0x2 /* do normal tilde expansion */ #define EXP_VARTILDE 0x4 /* expand tildes in an assignment */ -#define EXP_REDIR 0x8 /* file glob for a redirection (1 match only) */ #define EXP_CASE 0x10 /* keeps quotes around for CASE pattern */ #define EXP_SPLIT_LIT 0x20 /* IFS split literal text ${v+-a b c} */ #define EXP_LIT_QUOTED 0x40 /* for EXP_SPLIT_LIT, start off quoted */ Modified: projects/ifnet/bin/sh/output.c ============================================================================== --- projects/ifnet/bin/sh/output.c Mon Dec 29 20:59:35 2014 (r276378) +++ projects/ifnet/bin/sh/output.c Mon Dec 29 21:38:00 2014 (r276379) @@ -54,6 +54,8 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include +#include #include "shell.h" #include "syntax.h" @@ -111,43 +113,86 @@ outstr(const char *p, struct output *fil outbin(p, strlen(p), file); } +static void +byteseq(int ch, struct output *file) +{ + char seq[4]; + + seq[0] = '\\'; + seq[1] = (ch >> 6 & 0x3) + '0'; + seq[2] = (ch >> 3 & 0x7) + '0'; + seq[3] = (ch & 0x7) + '0'; + outbin(seq, 4, file); +} + +static void +outdqstr(const char *p, struct output *file) +{ + const char *end; + mbstate_t mbs; + size_t clen; + wchar_t wc; + + memset(&mbs, '\0', sizeof(mbs)); + end = p + strlen(p); + outstr("$'", file); + while ((clen = mbrtowc(&wc, p, end - p + 1, &mbs)) != 0) { + if (clen == (size_t)-2) { + while (p < end) + byteseq(*p++, file); + break; + } + if (clen == (size_t)-1) { + memset(&mbs, '\0', sizeof(mbs)); + byteseq(*p++, file); + continue; + } + if (wc == L'\n') + outcslow('\n', file), p++; + else if (wc == L'\r') + outstr("\\r", file), p++; + else if (wc == L'\t') + outstr("\\t", file), p++; + else if (!iswprint(wc)) { + for (; clen > 0; clen--) + byteseq(*p++, file); + } else { + if (wc == L'\'' || wc == L'\\') + outcslow('\\', file); + outbin(p, clen, file); + p += clen; + } + } + outcslow('\'', file); +} + /* Like outstr(), but quote for re-input into the shell. */ void outqstr(const char *p, struct output *file) { - char ch; - int inquotes; + int i; if (p[0] == '\0') { outstr("''", file); return; } - /* Caller will handle '=' if necessary */ - if (p[strcspn(p, "|&;<>()$`\\\"' \t\n*?[~#")] == '\0' || + for (i = 0; p[i] != '\0'; i++) { + if ((p[i] > '\0' && p[i] < ' ' && p[i] != '\n') || + (p[i] & 0x80) != 0 || p[i] == '\'') { + outdqstr(p, file); + return; + } + } + + if (p[strcspn(p, "|&;<>()$`\\\" \n*?[~#=")] == '\0' || strcmp(p, "[") == 0) { outstr(p, file); return; } - inquotes = 0; - while ((ch = *p++) != '\0') { - switch (ch) { - case '\'': - /* Can't quote single quotes inside single quotes. */ - if (inquotes) - outcslow('\'', file); - inquotes = 0; - outstr("\\'", file); - break; - default: - if (!inquotes) - outcslow('\'', file); - inquotes = 1; - outc(ch, file); - } - } - if (inquotes) - outcslow('\'', file); + outcslow('\'', file); + outstr(p, file); + outcslow('\'', file); } void Modified: projects/ifnet/bin/sh/parser.c ============================================================================== --- projects/ifnet/bin/sh/parser.c Mon Dec 29 20:59:35 2014 (r276378) +++ projects/ifnet/bin/sh/parser.c Mon Dec 29 21:38:00 2014 (r276379) @@ -1879,6 +1879,8 @@ synerror(const char *msg) { if (commandname) outfmt(out2, "%s: %d: ", commandname, startlinno); + else if (arg0) + outfmt(out2, "%s: ", arg0); outfmt(out2, "Syntax error: %s\n", msg); error((char *)NULL); } Modified: projects/ifnet/bin/sh/sh.1 ============================================================================== --- projects/ifnet/bin/sh/sh.1 Mon Dec 29 20:59:35 2014 (r276378) +++ projects/ifnet/bin/sh/sh.1 Mon Dec 29 21:38:00 2014 (r276379) @@ -32,7 +32,7 @@ .\" from: @(#)sh.1 8.6 (Berkeley) 5/4/95 .\" $FreeBSD$ .\" -.Dd November 7, 2014 +.Dd November 14, 2014 .Dt SH 1 .Os .Sh NAME @@ -795,10 +795,13 @@ should indicate the various exit codes a Additionally, the built-in commands return exit codes, as does an executed shell function. .Pp -If a command is terminated by a signal, its exit status is 128 plus -the signal number. -Signal numbers are defined in the header file -.In sys/signal.h . +If a command is terminated by a signal, its exit status is greater than 128. +The signal name can be found by passing the exit status to +.Li kill -l . +.Pp +If there is no command word, +the exit status is the exit status of the last command substitution executed, +or zero if the command does not contain any command substitutions. .Ss Complex Commands Complex commands are combinations of simple commands with control operators or keywords, together creating a larger complex @@ -818,7 +821,8 @@ function definition .El .Pp Unless otherwise stated, the exit status of a command is -that of the last simple command executed by the command. +that of the last simple command executed by the command, +or zero if no simple command was executed. .Ss Pipelines A pipeline is a sequence of one or more commands separated by the control operator @@ -902,6 +906,8 @@ The format for running a command in back If the shell is not interactive, the standard input of an asynchronous command is set to .Pa /dev/null . +.Pp +The exit status is zero. .Ss Lists (Generally Speaking) A list is a sequence of zero or more commands separated by newlines, semicolons, or ampersands, @@ -940,6 +946,13 @@ command is: .Ic fi .Ed .Pp +The exit status is that of selected +.Ic then +or +.Ic else +list, +or zero if no list was selected. +.Pp The syntax of the .Ic while command is: @@ -960,6 +973,9 @@ in place of which causes it to repeat until the exit status of the first list is zero. .Pp +The exit status is that of the last execution of the second list, +or zero if it was never executed. +.Pp The syntax of the .Ic for command is: @@ -1040,10 +1056,6 @@ continuing until a list terminated with or the end of the .Ic case command. -The exit code of the -.Ic case -command is the exit code of the last command executed in the list or -zero if no patterns were matched. .Ss Grouping Commands Together Commands may be grouped by writing either .Pp @@ -1131,6 +1143,8 @@ and the syntax is: The .Ic local command is implemented as a built-in command. +The exit status is zero +unless the command is not in a function or a variable name is invalid. .Pp *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-projects@FreeBSD.ORG Tue Dec 30 20:23:08 2014 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 83A1E3E2; Tue, 30 Dec 2014 20:23:08 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 6A2FB1EA4; Tue, 30 Dec 2014 20:23:08 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id sBUKN8w2038898; Tue, 30 Dec 2014 20:23:08 GMT (envelope-from dim@FreeBSD.org) Received: (from dim@localhost) by svn.freebsd.org (8.14.9/8.14.9/Submit) id sBUKN4p6038875; Tue, 30 Dec 2014 20:23:04 GMT (envelope-from dim@FreeBSD.org) Message-Id: <201412302023.sBUKN4p6038875@svn.freebsd.org> X-Authentication-Warning: svn.freebsd.org: dim set sender to dim@FreeBSD.org using -f From: Dimitry Andric Date: Tue, 30 Dec 2014 20:23:04 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r276421 - in projects/clang350-import: . bin/ln cddl/contrib/opensolaris/cmd/zpool contrib/elftoolchain/common contrib/elftoolchain/elfcopy contrib/elftoolchain/libdwarf contrib/elftool... X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 30 Dec 2014 20:23:08 -0000 Author: dim Date: Tue Dec 30 20:23:03 2014 New Revision: 276421 URL: https://svnweb.freebsd.org/changeset/base/276421 Log: Merge ^/head r274961 through r276418. Added: projects/clang350-import/contrib/elftoolchain/libdwarf/dwarf_attroffset.3 - copied unchanged from r276418, head/contrib/elftoolchain/libdwarf/dwarf_attroffset.3 projects/clang350-import/contrib/elftoolchain/libdwarf/dwarf_get_die_infotypes_flag.3 - copied unchanged from r276418, head/contrib/elftoolchain/libdwarf/dwarf_get_die_infotypes_flag.3 projects/clang350-import/contrib/elftoolchain/libdwarf/dwarf_get_section_max_offsets.3 - copied unchanged from r276418, head/contrib/elftoolchain/libdwarf/dwarf_get_section_max_offsets.3 projects/clang350-import/contrib/elftoolchain/libdwarf/dwarf_next_types_section.3 - copied unchanged from r276418, head/contrib/elftoolchain/libdwarf/dwarf_next_types_section.3 projects/clang350-import/contrib/elftoolchain/libdwarf/dwarf_sections.c - copied unchanged from r276418, head/contrib/elftoolchain/libdwarf/dwarf_sections.c projects/clang350-import/sys/arm/arm/locore-v4.S - copied unchanged from r276418, head/sys/arm/arm/locore-v4.S projects/clang350-import/sys/arm/arm/locore-v6.S - copied unchanged from r276418, head/sys/arm/arm/locore-v6.S Replaced: projects/clang350-import/sys/arm/arm/locore.S - copied unchanged from r276418, head/sys/arm/arm/locore.S Modified: projects/clang350-import/Makefile.inc1 projects/clang350-import/bin/ln/symlink.7 projects/clang350-import/cddl/contrib/opensolaris/cmd/zpool/zpool-features.7 projects/clang350-import/contrib/elftoolchain/common/Makefile projects/clang350-import/contrib/elftoolchain/common/elfdefinitions.h projects/clang350-import/contrib/elftoolchain/elfcopy/archive.c projects/clang350-import/contrib/elftoolchain/elfcopy/elfcopy.h projects/clang350-import/contrib/elftoolchain/elfcopy/main.c projects/clang350-import/contrib/elftoolchain/elfcopy/sections.c projects/clang350-import/contrib/elftoolchain/elfcopy/segments.c projects/clang350-import/contrib/elftoolchain/elfcopy/symbols.c projects/clang350-import/contrib/elftoolchain/libdwarf/Makefile projects/clang350-import/contrib/elftoolchain/libdwarf/Version.map projects/clang350-import/contrib/elftoolchain/libdwarf/_libdwarf.h projects/clang350-import/contrib/elftoolchain/libdwarf/dwarf.3 projects/clang350-import/contrib/elftoolchain/libdwarf/dwarf.h projects/clang350-import/contrib/elftoolchain/libdwarf/dwarf_attr.3 projects/clang350-import/contrib/elftoolchain/libdwarf/dwarf_attr.c projects/clang350-import/contrib/elftoolchain/libdwarf/dwarf_attrval.c projects/clang350-import/contrib/elftoolchain/libdwarf/dwarf_attrval_signed.3 projects/clang350-import/contrib/elftoolchain/libdwarf/dwarf_child.3 projects/clang350-import/contrib/elftoolchain/libdwarf/dwarf_cu.c projects/clang350-import/contrib/elftoolchain/libdwarf/dwarf_die.c projects/clang350-import/contrib/elftoolchain/libdwarf/dwarf_dieoffset.3 projects/clang350-import/contrib/elftoolchain/libdwarf/dwarf_dump.c projects/clang350-import/contrib/elftoolchain/libdwarf/dwarf_errmsg.c projects/clang350-import/contrib/elftoolchain/libdwarf/dwarf_frame.c projects/clang350-import/contrib/elftoolchain/libdwarf/dwarf_highpc.3 projects/clang350-import/contrib/elftoolchain/libdwarf/dwarf_lineno.c projects/clang350-import/contrib/elftoolchain/libdwarf/dwarf_loclist.c projects/clang350-import/contrib/elftoolchain/libdwarf/dwarf_loclist_from_expr.3 projects/clang350-import/contrib/elftoolchain/libdwarf/dwarf_next_cu_header.3 projects/clang350-import/contrib/elftoolchain/libdwarf/dwarf_ranges.c projects/clang350-import/contrib/elftoolchain/libdwarf/libdwarf.h projects/clang350-import/contrib/elftoolchain/libdwarf/libdwarf_abbrev.c projects/clang350-import/contrib/elftoolchain/libdwarf/libdwarf_arange.c projects/clang350-import/contrib/elftoolchain/libdwarf/libdwarf_attr.c projects/clang350-import/contrib/elftoolchain/libdwarf/libdwarf_die.c projects/clang350-import/contrib/elftoolchain/libdwarf/libdwarf_frame.c projects/clang350-import/contrib/elftoolchain/libdwarf/libdwarf_info.c projects/clang350-import/contrib/elftoolchain/libdwarf/libdwarf_init.c projects/clang350-import/contrib/elftoolchain/libdwarf/libdwarf_lineno.c projects/clang350-import/contrib/elftoolchain/libdwarf/libdwarf_loc.c projects/clang350-import/contrib/elftoolchain/libdwarf/libdwarf_loclist.c projects/clang350-import/contrib/elftoolchain/libdwarf/libdwarf_nametbl.c projects/clang350-import/contrib/elftoolchain/libdwarf/libdwarf_sections.c projects/clang350-import/contrib/elftoolchain/libelf/_libelf.h projects/clang350-import/contrib/elftoolchain/libelf/_libelf_ar.h projects/clang350-import/contrib/elftoolchain/libelf/elf.3 projects/clang350-import/contrib/elftoolchain/libelf/elf_data.c projects/clang350-import/contrib/elftoolchain/libelf/elf_errmsg.c projects/clang350-import/contrib/elftoolchain/libelf/elf_flag.c projects/clang350-import/contrib/elftoolchain/libelf/elf_memory.c projects/clang350-import/contrib/elftoolchain/libelf/elf_next.c projects/clang350-import/contrib/elftoolchain/libelf/elf_open.c projects/clang350-import/contrib/elftoolchain/libelf/elf_rand.c projects/clang350-import/contrib/elftoolchain/libelf/elf_rawfile.c projects/clang350-import/contrib/elftoolchain/libelf/elf_scn.c projects/clang350-import/contrib/elftoolchain/libelf/elf_strptr.c projects/clang350-import/contrib/elftoolchain/libelf/elf_update.c projects/clang350-import/contrib/elftoolchain/libelf/gelf_cap.c projects/clang350-import/contrib/elftoolchain/libelf/gelf_dyn.c projects/clang350-import/contrib/elftoolchain/libelf/gelf_ehdr.c projects/clang350-import/contrib/elftoolchain/libelf/gelf_move.c projects/clang350-import/contrib/elftoolchain/libelf/gelf_phdr.c projects/clang350-import/contrib/elftoolchain/libelf/gelf_rel.c projects/clang350-import/contrib/elftoolchain/libelf/gelf_rela.c projects/clang350-import/contrib/elftoolchain/libelf/gelf_shdr.c projects/clang350-import/contrib/elftoolchain/libelf/gelf_sym.c projects/clang350-import/contrib/elftoolchain/libelf/gelf_syminfo.c projects/clang350-import/contrib/elftoolchain/libelf/gelf_symshndx.c projects/clang350-import/contrib/elftoolchain/libelf/libelf.h projects/clang350-import/contrib/elftoolchain/libelf/libelf_align.c projects/clang350-import/contrib/elftoolchain/libelf/libelf_ar.c projects/clang350-import/contrib/elftoolchain/libelf/libelf_ar_util.c projects/clang350-import/contrib/elftoolchain/libelf/libelf_checksum.c projects/clang350-import/contrib/elftoolchain/libelf/libelf_convert.m4 projects/clang350-import/contrib/elftoolchain/libelf/libelf_data.c projects/clang350-import/contrib/elftoolchain/libelf/libelf_ehdr.c projects/clang350-import/contrib/elftoolchain/libelf/libelf_extended.c projects/clang350-import/contrib/elftoolchain/libelf/libelf_memory.c projects/clang350-import/contrib/elftoolchain/libelf/libelf_open.c projects/clang350-import/contrib/elftoolchain/libelf/libelf_phdr.c projects/clang350-import/contrib/elftoolchain/libelf/libelf_xlate.c projects/clang350-import/contrib/elftoolchain/libelftc/elftc_copyfile.c projects/clang350-import/contrib/elftoolchain/libelftc/elftc_demangle.c projects/clang350-import/contrib/elftoolchain/libelftc/libelftc.h projects/clang350-import/contrib/elftoolchain/libelftc/libelftc_dem_gnu3.c projects/clang350-import/contrib/elftoolchain/nm/nm.c projects/clang350-import/contrib/elftoolchain/readelf/readelf.1 projects/clang350-import/contrib/elftoolchain/readelf/readelf.c projects/clang350-import/contrib/elftoolchain/strings/strings.c projects/clang350-import/contrib/libcxxrt/atomic.h projects/clang350-import/contrib/libcxxrt/cxxabi.h projects/clang350-import/contrib/libcxxrt/dwarf_eh.h projects/clang350-import/contrib/libcxxrt/dynamic_cast.cc projects/clang350-import/contrib/libcxxrt/exception.cc projects/clang350-import/contrib/libcxxrt/guard.cc projects/clang350-import/contrib/libcxxrt/stdexcept.cc projects/clang350-import/contrib/libcxxrt/stdexcept.h projects/clang350-import/contrib/libcxxrt/typeinfo.cc projects/clang350-import/contrib/libcxxrt/unwind-arm.h projects/clang350-import/contrib/libcxxrt/unwind.h projects/clang350-import/lib/libc/regex/re_format.7 projects/clang350-import/lib/libdwarf/Makefile projects/clang350-import/lib/libelftc/elftc_version.c projects/clang350-import/lib/libgssapi/gss_acquire_cred.3 projects/clang350-import/lib/libgssapi/gss_add_cred.3 projects/clang350-import/lib/libgssapi/gss_add_oid_set_member.3 projects/clang350-import/lib/libgssapi/gss_create_empty_oid_set.3 projects/clang350-import/lib/libgssapi/gss_delete_sec_context.3 projects/clang350-import/lib/libgssapi/gss_get_mic.3 projects/clang350-import/lib/libgssapi/gss_import_sec_context.3 projects/clang350-import/lib/libgssapi/gss_inquire_context.3 projects/clang350-import/lib/libgssapi/gss_process_context_token.3 projects/clang350-import/lib/libgssapi/gss_test_oid_set_member.3 projects/clang350-import/lib/libgssapi/gss_unwrap.3 projects/clang350-import/lib/libgssapi/gss_wrap.3 projects/clang350-import/lib/librpcsec_gss/rpc_gss_get_error.3 projects/clang350-import/lib/librpcsec_gss/rpc_gss_get_mech_info.3 projects/clang350-import/lib/librpcsec_gss/rpc_gss_get_mechanisms.3 projects/clang350-import/lib/librpcsec_gss/rpc_gss_get_principal_name.3 projects/clang350-import/lib/librpcsec_gss/rpc_gss_get_versions.3 projects/clang350-import/lib/librpcsec_gss/rpc_gss_getcred.3 projects/clang350-import/lib/librpcsec_gss/rpc_gss_is_installed.3 projects/clang350-import/lib/librpcsec_gss/rpc_gss_max_data_length.3 projects/clang350-import/lib/librpcsec_gss/rpc_gss_mech_to_oid.3 projects/clang350-import/lib/librpcsec_gss/rpc_gss_oid_to_mech.3 projects/clang350-import/lib/librpcsec_gss/rpc_gss_qop_to_num.3 projects/clang350-import/lib/librpcsec_gss/rpc_gss_seccreate.3 projects/clang350-import/lib/librpcsec_gss/rpc_gss_set_callback.3 projects/clang350-import/lib/librpcsec_gss/rpc_gss_set_defaults.3 projects/clang350-import/lib/librpcsec_gss/rpc_gss_set_svc_name.3 projects/clang350-import/lib/librpcsec_gss/rpc_gss_svc_max_data_length.3 projects/clang350-import/lib/librpcsec_gss/rpcsec_gss.3 projects/clang350-import/lib/libstand/cd9660.c projects/clang350-import/lib/msun/man/lgamma.3 projects/clang350-import/release/Makefile projects/clang350-import/sbin/bsdlabel/bsdlabel.8 projects/clang350-import/sbin/camcontrol/camcontrol.8 projects/clang350-import/sbin/geom/class/label/glabel.8 projects/clang350-import/sbin/ipfw/ipfw.8 projects/clang350-import/sbin/iscontrol/iscontrol.8 projects/clang350-import/sbin/mount_nfs/mount_nfs.8 projects/clang350-import/sbin/routed/routed.8 projects/clang350-import/share/man/man4/ada.4 projects/clang350-import/share/man/man7/crypto.7 projects/clang350-import/share/man/man7/hier.7 projects/clang350-import/sys/amd64/vmm/amd/svm.c (contents, props changed) projects/clang350-import/sys/amd64/vmm/amd/vmcb.h (contents, props changed) projects/clang350-import/sys/arm/arm/cpu_asm-v6.S projects/clang350-import/sys/arm/arm/genassym.c projects/clang350-import/sys/arm/arm/mp_machdep.c projects/clang350-import/sys/boot/common/loader.8 projects/clang350-import/sys/conf/WITHOUT_SOURCELESS_UCODE projects/clang350-import/sys/conf/options.arm projects/clang350-import/sys/dev/usb/controller/xhci.c projects/clang350-import/sys/dev/usb/controller/xhci.h projects/clang350-import/sys/dev/virtio/mmio/virtio_mmio.c projects/clang350-import/sys/dev/virtio/network/if_vtnet.c projects/clang350-import/sys/dev/vt/hw/efifb/efifb.c projects/clang350-import/sys/dev/vt/hw/vga/vt_vga.c projects/clang350-import/sys/i386/conf/PAE projects/clang350-import/sys/i386/conf/XEN projects/clang350-import/sys/kern/subr_module.c projects/clang350-import/usr.bin/soeliminate/soeliminate.1 projects/clang350-import/usr.sbin/bsdinstall/bsdinstall.8 projects/clang350-import/usr.sbin/kbdcontrol/kbdcontrol.1 Directory Properties: projects/clang350-import/ (props changed) projects/clang350-import/cddl/ (props changed) projects/clang350-import/cddl/contrib/opensolaris/ (props changed) projects/clang350-import/contrib/elftoolchain/ (props changed) projects/clang350-import/contrib/libcxxrt/ (props changed) projects/clang350-import/lib/libc/ (props changed) projects/clang350-import/sbin/ (props changed) projects/clang350-import/sbin/ipfw/ (props changed) projects/clang350-import/share/ (props changed) projects/clang350-import/share/man/man4/ (props changed) projects/clang350-import/sys/ (props changed) projects/clang350-import/sys/amd64/vmm/ (props changed) projects/clang350-import/sys/amd64/vmm/amd/npt.c (props changed) projects/clang350-import/sys/amd64/vmm/amd/npt.h (props changed) projects/clang350-import/sys/amd64/vmm/amd/svm.h (props changed) projects/clang350-import/sys/amd64/vmm/amd/svm_genassym.c (props changed) projects/clang350-import/sys/amd64/vmm/amd/svm_msr.c (props changed) projects/clang350-import/sys/amd64/vmm/amd/svm_msr.h (props changed) projects/clang350-import/sys/amd64/vmm/amd/svm_softc.h (props changed) projects/clang350-import/sys/amd64/vmm/amd/svm_support.S (props changed) projects/clang350-import/sys/amd64/vmm/amd/vmcb.c (props changed) projects/clang350-import/sys/boot/ (props changed) projects/clang350-import/sys/conf/ (props changed) Modified: projects/clang350-import/Makefile.inc1 ============================================================================== --- projects/clang350-import/Makefile.inc1 Tue Dec 30 20:22:43 2014 (r276420) +++ projects/clang350-import/Makefile.inc1 Tue Dec 30 20:23:03 2014 (r276421) @@ -1440,8 +1440,10 @@ _kgzip= usr.sbin/kgzip .endif # If we're given an XAS, don't build binutils. -.if ${XAS:M/*} == "" && ${MK_BINUTILS_BOOTSTRAP} != "no" +.if ${XAS:M/*} == "" +.if ${MK_BINUTILS_BOOTSTRAP} != "no" _binutils= gnu/usr.bin/binutils +.endif .if ${MK_ELFTOOLCHAIN_TOOLS} != "no" _elftctools= lib/libelftc \ usr.bin/addr2line \ Modified: projects/clang350-import/bin/ln/symlink.7 ============================================================================== --- projects/clang350-import/bin/ln/symlink.7 Tue Dec 30 20:22:43 2014 (r276420) +++ projects/clang350-import/bin/ln/symlink.7 Tue Dec 30 20:23:03 2014 (r276421) @@ -29,7 +29,7 @@ .\" @(#)symlink.7 8.3 (Berkeley) 3/31/94 .\" $FreeBSD$ .\" -.Dd April 25, 2010 +.Dd December 29, 2014 .Dt SYMLINK 7 .Os .Sh NAME @@ -219,7 +219,7 @@ would change the ownership of .Dq Li slink itself. .Pp -There are four exceptions to this rule. +There are five exceptions to this rule. The .Xr mv 1 and @@ -262,13 +262,12 @@ a file tree.) .Pp The .Xr file 1 -command is also an exception to this rule. -The -.Xr file 1 -command does not follow symbolic links named as argument by default. -The -.Xr file 1 -command does follow symbolic links named as argument if +and +.Xr stat 1 +commands are also exceptions to this rule. +These +commands do not follow symbolic links named as argument by default, +but do follow symbolic links named as argument if the .Fl L option is specified. .Pp Modified: projects/clang350-import/cddl/contrib/opensolaris/cmd/zpool/zpool-features.7 ============================================================================== --- projects/clang350-import/cddl/contrib/opensolaris/cmd/zpool/zpool-features.7 Tue Dec 30 20:22:43 2014 (r276420) +++ projects/clang350-import/cddl/contrib/opensolaris/cmd/zpool/zpool-features.7 Tue Dec 30 20:23:03 2014 (r276421) @@ -443,7 +443,7 @@ This feature becomes .Sy active once a .Sy recordsize -property has been set larger than 128KB, and will return to being +property has been set larger than 128KB, and will return to being .Sy enabled once all filesystems that have ever had their recordsize larger than 128KB are destroyed. Modified: projects/clang350-import/contrib/elftoolchain/common/Makefile ============================================================================== --- projects/clang350-import/contrib/elftoolchain/common/Makefile Tue Dec 30 20:22:43 2014 (r276420) +++ projects/clang350-import/contrib/elftoolchain/common/Makefile Tue Dec 30 20:23:03 2014 (r276421) @@ -1,4 +1,4 @@ -# $Id: Makefile 2606 2012-10-02 17:52:57Z jkoshy $ +# $Id: Makefile 3022 2014-04-17 18:05:58Z jkoshy $ TOP= .. @@ -12,4 +12,7 @@ all depend obj: clean clobber: rm -f ${CLEANFILES} +cleandepend: + rm -f .depend + .include "${TOP}/mk/elftoolchain.inc.mk" Modified: projects/clang350-import/contrib/elftoolchain/common/elfdefinitions.h ============================================================================== --- projects/clang350-import/contrib/elftoolchain/common/elfdefinitions.h Tue Dec 30 20:22:43 2014 (r276420) +++ projects/clang350-import/contrib/elftoolchain/common/elfdefinitions.h Tue Dec 30 20:23:03 2014 (r276421) @@ -23,7 +23,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: elfdefinitions.h 2950 2013-06-15 13:36:02Z jkoshy $ + * $Id: elfdefinitions.h 3110 2014-12-20 08:32:46Z kaiwang27 $ */ /* @@ -821,7 +821,8 @@ enum { EM__LAST__ }; -/* Older synonyms. */ +/* Other synonyms. */ +#define EM_AMD64 EM_X86_64 #define EM_ARC_A5 EM_ARC_COMPACT /* @@ -2114,11 +2115,11 @@ typedef struct { /* 64-bit entry. */ typedef struct { - Elf64_Word l_name; - Elf64_Word l_time_stamp; - Elf64_Word l_checksum; - Elf64_Word l_version; - Elf64_Word l_flags; + Elf64_Word l_name; /* The name of a shared object. */ + Elf64_Word l_time_stamp; /* 32-bit timestamp. */ + Elf64_Word l_checksum; /* Checksum of visible symbols, sizes. */ + Elf64_Word l_version; /* Interface version string index. */ + Elf64_Word l_flags; /* Flags (LL_*). */ } Elf64_Lib; #define _ELF_DEFINE_LL_FLAGS() \ @@ -2366,12 +2367,12 @@ typedef struct { /* 64 bit PHDR entry. */ typedef struct { Elf64_Word p_type; /* Type of segment. */ - Elf64_Word p_flags; /* File offset to segment. */ - Elf64_Off p_offset; /* Virtual address in memory. */ - Elf64_Addr p_vaddr; /* Physical address (if relevant). */ - Elf64_Addr p_paddr; /* Size of segment in file. */ - Elf64_Xword p_filesz; /* Size of segment in memory. */ - Elf64_Xword p_memsz; /* Segment flags. */ + Elf64_Word p_flags; /* Segment flags. */ + Elf64_Off p_offset; /* File offset to segment. */ + Elf64_Addr p_vaddr; /* Virtual address in memory. */ + Elf64_Addr p_paddr; /* Physical address (if relevant). */ + Elf64_Xword p_filesz; /* Size of segment in file. */ + Elf64_Xword p_memsz; /* Size of segment in memory. */ Elf64_Xword p_align; /* Alignment constraints. */ } Elf64_Phdr; @@ -2455,11 +2456,11 @@ typedef struct { typedef struct { Elf64_Word st_name; /* index of symbol's name */ - unsigned char st_info; /* value for the symbol */ - unsigned char st_other; /* size of associated data */ - Elf64_Half st_shndx; /* type and binding attributes */ - Elf64_Addr st_value; /* visibility */ - Elf64_Xword st_size; /* index of related section */ + unsigned char st_info; /* type and binding attributes */ + unsigned char st_other; /* visibility */ + Elf64_Half st_shndx; /* index of related section */ + Elf64_Addr st_value; /* value for the symbol */ + Elf64_Xword st_size; /* size of associated data */ } Elf64_Sym; #define ELF32_ST_BIND(I) ((I) >> 4) Modified: projects/clang350-import/contrib/elftoolchain/elfcopy/archive.c ============================================================================== --- projects/clang350-import/contrib/elftoolchain/elfcopy/archive.c Tue Dec 30 20:22:43 2014 (r276420) +++ projects/clang350-import/contrib/elftoolchain/elfcopy/archive.c Tue Dec 30 20:23:03 2014 (r276421) @@ -40,7 +40,7 @@ #include "elfcopy.h" -ELFTC_VCSID("$Id: archive.c 2370 2011-12-29 12:48:12Z jkoshy $"); +ELFTC_VCSID("$Id: archive.c 3102 2014-10-29 21:09:01Z jkoshy $"); #define _ARMAG_LEN 8 /* length of ar magic string */ #define _ARHDR_LEN 60 /* length of ar header */ @@ -350,7 +350,6 @@ ac_detect_ar(int ifd) r = -1; if ((a = archive_read_new()) == NULL) return (0); - archive_read_support_filter_none(a); archive_read_support_format_ar(a); if (archive_read_open_fd(a, ifd, 10240) == ARCHIVE_OK) r = archive_read_next_header(a, &entry); @@ -386,7 +385,6 @@ ac_read_objs(struct elfcopy *ecp, int if err(EXIT_FAILURE, "lseek failed"); if ((a = archive_read_new()) == NULL) errx(EXIT_FAILURE, "%s", archive_error_string(a)); - archive_read_support_filter_none(a); archive_read_support_format_ar(a); AC(archive_read_open_fd(a, ifd, 10240)); for(;;) { @@ -449,7 +447,6 @@ ac_write_objs(struct elfcopy *ecp, int o if ((a = archive_write_new()) == NULL) errx(EXIT_FAILURE, "%s", archive_error_string(a)); archive_write_set_format_ar_svr4(a); - archive_write_add_filter_none(a); AC(archive_write_open_fd(a, ofd)); /* Write the archive symbol table, even if it's empty. */ Modified: projects/clang350-import/contrib/elftoolchain/elfcopy/elfcopy.h ============================================================================== --- projects/clang350-import/contrib/elftoolchain/elfcopy/elfcopy.h Tue Dec 30 20:22:43 2014 (r276420) +++ projects/clang350-import/contrib/elftoolchain/elfcopy/elfcopy.h Tue Dec 30 20:23:03 2014 (r276421) @@ -23,7 +23,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: elfcopy.h 2970 2013-12-01 15:22:12Z kaiwang27 $ + * $Id: elfcopy.h 3134 2014-12-23 10:43:59Z kaiwang27 $ */ #include @@ -115,6 +115,7 @@ struct segment; /* Internal data structure for sections. */ struct section { struct segment *seg; /* containing segment */ + struct segment *seg_tls; /* tls segment */ const char *name; /* section name */ char *newname; /* new section name */ Elf_Scn *is; /* input scn */ Modified: projects/clang350-import/contrib/elftoolchain/elfcopy/main.c ============================================================================== --- projects/clang350-import/contrib/elftoolchain/elfcopy/main.c Tue Dec 30 20:22:43 2014 (r276420) +++ projects/clang350-import/contrib/elftoolchain/elfcopy/main.c Tue Dec 30 20:23:03 2014 (r276421) @@ -40,7 +40,7 @@ #include "elfcopy.h" -ELFTC_VCSID("$Id: main.c 2970 2013-12-01 15:22:12Z kaiwang27 $"); +ELFTC_VCSID("$Id: main.c 3111 2014-12-20 08:33:01Z kaiwang27 $"); enum options { Modified: projects/clang350-import/contrib/elftoolchain/elfcopy/sections.c ============================================================================== --- projects/clang350-import/contrib/elftoolchain/elfcopy/sections.c Tue Dec 30 20:22:43 2014 (r276420) +++ projects/clang350-import/contrib/elftoolchain/elfcopy/sections.c Tue Dec 30 20:23:03 2014 (r276421) @@ -1,5 +1,5 @@ /*- - * Copyright (c) 2007-2011 Kai Wang + * Copyright (c) 2007-2011,2014 Kai Wang * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -35,7 +35,7 @@ #include "elfcopy.h" -ELFTC_VCSID("$Id: sections.c 2358 2011-12-19 18:22:32Z kaiwang27 $"); +ELFTC_VCSID("$Id: sections.c 3134 2014-12-23 10:43:59Z kaiwang27 $"); static void add_gnu_debuglink(struct elfcopy *ecp); static uint32_t calc_crc32(const char *p, size_t len, uint32_t crc); @@ -372,6 +372,14 @@ create_scn(struct elfcopy *ecp) is_remove_reloc_sec(ecp, ish.sh_info)) continue; + /* + * Section groups should be removed if symbol table will + * be removed. (section group's signature stored in symbol + * table) + */ + if (ish.sh_type == SHT_GROUP && ecp->strip == STRIP_ALL) + continue; + /* Get section flags set by user. */ sec_flags = get_section_flags(ecp, name); @@ -477,7 +485,10 @@ insert_shtab(struct elfcopy *ecp, int ta if ((shtab = calloc(1, sizeof(*shtab))) == NULL) errx(EXIT_FAILURE, "calloc failed"); if (!tail) { - /* shoff of input object is used as a hint. */ + /* + * "shoff" of input object is used as a hint for section + * resync later. + */ if (gelf_getehdr(ecp->ein, &ieh) == NULL) errx(EXIT_FAILURE, "gelf_getehdr() failed: %s", elf_errmsg(-1)); @@ -756,6 +767,15 @@ resync_sections(struct elfcopy *ecp) first = 0; } + /* + * Ignore TLS sections with load address 0 and without + * content. We don't need to adjust their file offset or + * VMA, only the size matters. + */ + if (s->seg_tls != NULL && s->type == SHT_NOBITS && + s->off == 0) + continue; + /* Align section offset. */ if (off <= s->off) { if (!s->loadable) @@ -1042,6 +1062,17 @@ copy_data(struct section *s) od->d_size = id->d_size; od->d_version = id->d_version; } + + /* + * Alignment Fixup. libelf does not allow the alignment for + * Elf_Data descriptor to be set to 0. In this case we workaround + * it by setting the alignment to 1. + * + * According to the ELF ABI, alignment 0 and 1 has the same + * meaning: the section has no alignment constraints. + */ + if (od->d_align == 0) + od->d_align = 1; } struct section * Modified: projects/clang350-import/contrib/elftoolchain/elfcopy/segments.c ============================================================================== --- projects/clang350-import/contrib/elftoolchain/elfcopy/segments.c Tue Dec 30 20:22:43 2014 (r276420) +++ projects/clang350-import/contrib/elftoolchain/elfcopy/segments.c Tue Dec 30 20:23:03 2014 (r276421) @@ -35,7 +35,7 @@ #include "elfcopy.h" -ELFTC_VCSID("$Id: segments.c 2542 2012-08-12 16:14:15Z kaiwang27 $"); +ELFTC_VCSID("$Id: segments.c 3134 2014-12-23 10:43:59Z kaiwang27 $"); static void insert_to_inseg_list(struct segment *seg, struct section *sec); @@ -73,17 +73,21 @@ add_to_inseg_list(struct elfcopy *ecp, s */ loadable = 0; STAILQ_FOREACH(seg, &ecp->v_seg, seg_list) { - if (s->off < seg->off) + if (s->off < seg->off || (s->vma < seg->addr && !s->pseudo)) continue; if (s->off + s->sz > seg->off + seg->fsz && s->type != SHT_NOBITS) continue; if (s->off + s->sz > seg->off + seg->msz) continue; + if (s->vma + s->sz > seg->addr + seg->msz) + continue; insert_to_inseg_list(seg, s); if (seg->type == PT_LOAD) s->seg = seg; + else if (seg->type == PT_TLS) + s->seg_tls = seg; s->lma = seg->addr + (s->off - seg->off); loadable = 1; } @@ -97,7 +101,7 @@ adjust_addr(struct elfcopy *ecp) struct section *s, *s0; struct segment *seg; struct sec_action *sac; - uint64_t dl, lma, old_vma, start, end; + uint64_t dl, lma, start, end; int found, i; /* @@ -114,8 +118,6 @@ adjust_addr(struct elfcopy *ecp) s->lma += ecp->change_addr; if (!s->pseudo) { - old_vma = s->vma; - /* Apply global VMA adjustment. */ if (ecp->change_addr != 0) s->vma += ecp->change_addr; Modified: projects/clang350-import/contrib/elftoolchain/elfcopy/symbols.c ============================================================================== --- projects/clang350-import/contrib/elftoolchain/elfcopy/symbols.c Tue Dec 30 20:22:43 2014 (r276420) +++ projects/clang350-import/contrib/elftoolchain/elfcopy/symbols.c Tue Dec 30 20:23:03 2014 (r276421) @@ -34,7 +34,7 @@ #include "elfcopy.h" -ELFTC_VCSID("$Id: symbols.c 2971 2013-12-01 15:22:21Z kaiwang27 $"); +ELFTC_VCSID("$Id: symbols.c 3135 2014-12-24 08:22:43Z kaiwang27 $"); /* Symbol table buffer structure. */ struct symbuf { @@ -46,12 +46,25 @@ struct symbuf { size_t gcap, lcap; /* buffer capacities. */ }; +struct sthash { + LIST_ENTRY(sthash) sh_next; + size_t sh_off; +}; +typedef LIST_HEAD(,sthash) hash_head; +#define STHASHSIZE 65536 + +struct strimpl { + char *buf; /* string table */ + size_t sz; /* entries */ + size_t cap; /* buffer capacity */ + hash_head hash[STHASHSIZE]; +}; + + /* String table buffer structure. */ struct strbuf { - char *l; /* local symbol string table */ - char *g; /* global symbol string table */ - size_t lsz, gsz; /* size of each kind */ - size_t gcap, lcap; /* buffer capacities. */ + struct strimpl l; /* local symbols */ + struct strimpl g; /* global symbols */ }; static int is_debug_symbol(unsigned char st_info); @@ -62,10 +75,12 @@ static int is_needed_symbol(struct elfco static int is_remove_symbol(struct elfcopy *ecp, size_t sc, int i, GElf_Sym *s, const char *name); static int is_weak_symbol(unsigned char st_info); -static int lookup_exact_string(const char *buf, size_t sz, const char *s); +static int lookup_exact_string(hash_head *hash, const char *buf, + const char *s); static int generate_symbols(struct elfcopy *ecp); static void mark_symbols(struct elfcopy *ecp, size_t sc); static int match_wildcard(const char *name, const char *pattern); +uint32_t str_hash(const char *s); /* Convenient bit vector operation macros. */ #define BIT_SET(v, n) (v[(n)>>3] |= 1U << ((n) & 7)) @@ -300,7 +315,7 @@ generate_symbols(struct elfcopy *ecp) GElf_Sym sym; Elf_Data* id; Elf_Scn *is; - size_t ishstrndx, namelen, ndx, nsyms, sc, symndx; + size_t ishstrndx, namelen, ndx, sc, symndx; int ec, elferr, i; if (elf_getshstrndx(ecp->ein, &ishstrndx) == 0) @@ -316,11 +331,10 @@ generate_symbols(struct elfcopy *ecp) if ((st_buf = calloc(1, sizeof(*st_buf))) == NULL) err(EXIT_FAILURE, "calloc failed"); sy_buf->gcap = sy_buf->lcap = 64; - st_buf->gcap = 256; - st_buf->lcap = 64; - st_buf->lsz = 1; /* '\0' at start. */ - st_buf->gsz = 0; - nsyms = 0; + st_buf->g.cap = 256; + st_buf->l.cap = 64; + st_buf->l.sz = 1; /* '\0' at start. */ + st_buf->g.sz = 0; ecp->symtab->sz = 0; ecp->strtab->sz = 0; @@ -542,10 +556,10 @@ generate_symbols(struct elfcopy *ecp) /* Update st_name. */ if (ec == ELFCLASS32) sy_buf->g32[ecp->symndx[i]].st_name += - st_buf->lsz; + st_buf->l.sz; else sy_buf->g64[ecp->symndx[i]].st_name += - st_buf->lsz; + st_buf->l.sz; /* Update index map. */ ecp->symndx[i] += sy_buf->nls; @@ -634,6 +648,8 @@ free_symtab(struct elfcopy *ecp) { struct symbuf *sy_buf; struct strbuf *st_buf; + struct sthash *sh, *shtmp; + int i; if (ecp->symtab != NULL && ecp->symtab->buf != NULL) { sy_buf = ecp->symtab->buf; @@ -649,10 +665,22 @@ free_symtab(struct elfcopy *ecp) if (ecp->strtab != NULL && ecp->strtab->buf != NULL) { st_buf = ecp->strtab->buf; - if (st_buf->l != NULL) - free(st_buf->l); - if (st_buf->g != NULL) - free(st_buf->g); + if (st_buf->l.buf != NULL) + free(st_buf->l.buf); + if (st_buf->g.buf != NULL) + free(st_buf->g.buf); + for (i = 0; i < STHASHSIZE; i++) { + LIST_FOREACH_SAFE(sh, &st_buf->l.hash[i], sh_next, + shtmp) { + LIST_REMOVE(sh, sh_next); + free(sh); + } + LIST_FOREACH_SAFE(sh, &st_buf->g.hash[i], sh_next, + shtmp) { + LIST_REMOVE(sh, sh_next); + free(sh); + } + } } } @@ -690,10 +718,10 @@ create_external_symtab(struct elfcopy *e if ((st_buf = calloc(1, sizeof(*st_buf))) == NULL) err(EXIT_FAILURE, "calloc failed"); sy_buf->gcap = sy_buf->lcap = 64; - st_buf->gcap = 256; - st_buf->lcap = 64; - st_buf->lsz = 1; /* '\0' at start. */ - st_buf->gsz = 0; + st_buf->g.cap = 256; + st_buf->l.cap = 64; + st_buf->l.sz = 1; /* '\0' at start. */ + st_buf->g.sz = 0; ecp->symtab->sz = 0; ecp->strtab->sz = 0; @@ -730,6 +758,8 @@ add_to_symtab(struct elfcopy *ecp, const { struct symbuf *sy_buf; struct strbuf *st_buf; + struct sthash *sh; + uint32_t hash; int pos; /* @@ -762,32 +792,39 @@ add_to_symtab(struct elfcopy *ecp, const else \ sy_buf->B##SZ[sy_buf->n##B##s].st_shndx = \ ecp->secndx[st_shndx]; \ - if (st_buf->B == NULL) { \ - st_buf->B = calloc(st_buf->B##cap, sizeof(*st_buf->B)); \ - if (st_buf->B == NULL) \ + if (st_buf->B.buf == NULL) { \ + st_buf->B.buf = calloc(st_buf->B.cap, \ + sizeof(*st_buf->B.buf)); \ + if (st_buf->B.buf == NULL) \ err(EXIT_FAILURE, "malloc failed"); \ } \ if (name != NULL && *name != '\0') { \ - pos = lookup_exact_string(st_buf->B, \ - st_buf->B##sz, name); \ + pos = lookup_exact_string(st_buf->B.hash, st_buf->B.buf,\ + name); \ if (pos != -1) \ sy_buf->B##SZ[sy_buf->n##B##s].st_name = pos; \ else { \ sy_buf->B##SZ[sy_buf->n##B##s].st_name = \ - st_buf->B##sz; \ - while (st_buf->B##sz + strlen(name) >= \ - st_buf->B##cap - 1) { \ - st_buf->B##cap *= 2; \ - st_buf->B = realloc(st_buf->B, \ - st_buf->B##cap); \ - if (st_buf->B == NULL) \ + st_buf->B.sz; \ + while (st_buf->B.sz + strlen(name) >= \ + st_buf->B.cap - 1) { \ + st_buf->B.cap *= 2; \ + st_buf->B.buf = realloc(st_buf->B.buf, \ + st_buf->B.cap); \ + if (st_buf->B.buf == NULL) \ err(EXIT_FAILURE, \ "realloc failed"); \ } \ - strncpy(&st_buf->B[st_buf->B##sz], name, \ + if ((sh = malloc(sizeof(*sh))) == NULL) \ + err(EXIT_FAILURE, "malloc failed"); \ + sh->sh_off = st_buf->B.sz; \ + hash = str_hash(name); \ + LIST_INSERT_HEAD(&st_buf->B.hash[hash], sh, \ + sh_next); \ + strncpy(&st_buf->B.buf[st_buf->B.sz], name, \ strlen(name)); \ - st_buf->B[st_buf->B##sz + strlen(name)] = '\0'; \ - st_buf->B##sz += strlen(name) + 1; \ + st_buf->B.buf[st_buf->B.sz + strlen(name)] = '\0'; \ + st_buf->B.sz += strlen(name) + 1; \ } \ } else \ sy_buf->B##SZ[sy_buf->n##B##s].st_name = 0; \ @@ -812,7 +849,7 @@ add_to_symtab(struct elfcopy *ecp, const /* Update section size. */ ecp->symtab->sz = (sy_buf->nls + sy_buf->ngs) * (ecp->oec == ELFCLASS32 ? sizeof(Elf32_Sym) : sizeof(Elf64_Sym)); - ecp->strtab->sz = st_buf->lsz + st_buf->gsz; + ecp->strtab->sz = st_buf->l.sz + st_buf->g.sz; #undef _ADDSYM } @@ -832,9 +869,9 @@ finalize_external_symtab(struct elfcopy st_buf = ecp->strtab->buf; for (i = 0; (size_t) i < sy_buf->ngs; i++) { if (ecp->oec == ELFCLASS32) - sy_buf->g32[i].st_name += st_buf->lsz; + sy_buf->g32[i].st_name += st_buf->l.sz; else - sy_buf->g64[i].st_name += st_buf->lsz; + sy_buf->g64[i].st_name += st_buf->l.sz; } } @@ -921,19 +958,19 @@ create_symtab_data(struct elfcopy *ecp) elf_errmsg(-1)); lstdata->d_align = 1; lstdata->d_off = 0; - lstdata->d_buf = st_buf->l; - lstdata->d_size = st_buf->lsz; + lstdata->d_buf = st_buf->l.buf; + lstdata->d_size = st_buf->l.sz; lstdata->d_type = ELF_T_BYTE; lstdata->d_version = EV_CURRENT; - if (st_buf->gsz > 0) { + if (st_buf->g.sz > 0) { if ((gstdata = elf_newdata(st->os)) == NULL) errx(EXIT_FAILURE, "elf_newdata() failed: %s.", elf_errmsg(-1)); gstdata->d_align = 1; gstdata->d_off = lstdata->d_size; - gstdata->d_buf = st_buf->g; - gstdata->d_size = st_buf->gsz; + gstdata->d_buf = st_buf->g.buf; + gstdata->d_size = st_buf->g.sz; gstdata->d_type = ELF_T_BYTE; gstdata->d_version = EV_CURRENT; } @@ -1023,18 +1060,25 @@ lookup_symop_list(struct elfcopy *ecp, c } static int -lookup_exact_string(const char *buf, size_t sz, const char *s) +lookup_exact_string(hash_head *buckets, const char *buf, const char *s) { - const char *b; - size_t slen; - - slen = strlen(s); - for (b = buf; b < buf + sz; b += strlen(b) + 1) { - if (strlen(b) != slen) - continue; - if (!strcmp(b, s)) - return (b - buf); - } + struct sthash *sh; + uint32_t hash; + hash = str_hash(s); + LIST_FOREACH(sh, &buckets[hash], sh_next) + if (strcmp(buf + sh->sh_off, s) == 0) + return sh->sh_off; return (-1); } + +uint32_t +str_hash(const char *s) +{ + uint32_t hash; + + for (hash = 2166136261; *s; s++) + hash = (hash ^ *s) * 16777619; + + return (hash & (STHASHSIZE - 1)); +} Modified: projects/clang350-import/contrib/elftoolchain/libdwarf/Makefile ============================================================================== --- projects/clang350-import/contrib/elftoolchain/libdwarf/Makefile Tue Dec 30 20:22:43 2014 (r276420) +++ projects/clang350-import/contrib/elftoolchain/libdwarf/Makefile Tue Dec 30 20:23:03 2014 (r276421) @@ -1,4 +1,4 @@ -# $Id: Makefile 2937 2013-04-27 04:48:23Z jkoshy $ +# $Id: Makefile 3097 2014-09-02 22:10:18Z kaiwang27 $ TOP= ${.CURDIR}/.. @@ -42,6 +42,7 @@ SRCS= \ dwarf_pubtypes.c \ dwarf_ranges.c \ dwarf_reloc.c \ + dwarf_sections.c \ dwarf_seterror.c \ dwarf_str.c \ dwarf_types.c \ @@ -115,6 +116,7 @@ MAN= dwarf.3 dwarf_add_weakname.3 \ dwarf_attr.3 \ dwarf_attrlist.3 \ + dwarf_attroffset.3 \ dwarf_attrval_signed.3 \ dwarf_child.3 \ dwarf_dealloc.3 \ @@ -154,6 +156,7 @@ MAN= dwarf.3 dwarf_get_cie_info.3 \ dwarf_get_cie_of_fde.3 \ dwarf_get_cu_die_offset.3 \ + dwarf_get_die_infotypes_flag.3 \ dwarf_get_elf.3 \ dwarf_get_fde_at_pc.3 \ dwarf_get_fde_info_for_all_regs.3 \ @@ -175,6 +178,7 @@ MAN= dwarf.3 dwarf_get_relocation_info.3 \ dwarf_get_relocation_info_count.3 \ dwarf_get_section_bytes.3 \ + dwarf_get_section_max_offsets.3 \ dwarf_get_str.3 \ dwarf_get_types.3 \ dwarf_get_vars.3 \ @@ -192,6 +196,7 @@ MAN= dwarf.3 dwarf_new_expr.3 \ dwarf_new_fde.3 \ dwarf_next_cu_header.3 \ + dwarf_next_types_section.3 \ dwarf_object_init.3 \ dwarf_producer_init.3 \ dwarf_producer_set_isa.3 \ @@ -220,7 +225,9 @@ MLINKS+= \ dwarf_attrval_signed.3 dwarf_attrval_string.3 \ dwarf_attrval_signed.3 dwarf_attrval_unsigned.3 \ dwarf_child.3 dwarf_offdie.3 \ + dwarf_child.3 dwarf_offdie_b.3 \ dwarf_child.3 dwarf_siblingof.3 \ + dwarf_child.3 dwarf_siblingof_b.3 \ dwarf_dealloc.3 dwarf_fde_cie_list_dealloc.3 \ dwarf_dealloc.3 dwarf_funcs_dealloc.3 \ dwarf_dealloc.3 dwarf_globals_dealloc.3 \ @@ -234,6 +241,7 @@ MLINKS+= \ dwarf_dieoffset.3 dwarf_die_CU_offset.3 \ dwarf_dieoffset.3 dwarf_die_CU_offset_range.3 \ dwarf_dieoffset.3 dwarf_get_cu_die_offset_given_cu_header_offset.3 \ + dwarf_dieoffset.3 dwarf_get_cu_die_offset_given_cu_header_offset_b.3 \ dwarf_finish.3 dwarf_object_finish.3 \ dwarf_formref.3 dwarf_global_formref.3 \ dwarf_formudata.3 dwarf_formsdata.3 \ @@ -273,6 +281,7 @@ MLINKS+= \ dwarf_get_pubtypes.3 dwarf_pubtype_name_offsets.3 \ dwarf_get_pubtypes.3 dwarf_pubtypename.3 \ dwarf_get_ranges.3 dwarf_get_ranges_a.3 \ + dwarf_get_section_max_offsets.3 dwarf_get_section_max_offsets_b.3 \ dwarf_get_types.3 dwarf_type_die_offset.3 \ dwarf_get_types.3 dwarf_type_cu_offset.3 \ dwarf_get_types.3 dwarf_type_name_offsets.3 \ @@ -291,6 +300,7 @@ MLINKS+= \ dwarf_highpc.3 dwarf_bitoffset.3 \ dwarf_highpc.3 dwarf_bitsize.3 \ dwarf_highpc.3 dwarf_bytesize.3 \ + dwarf_highpc.3 dwarf_highpc_b.3 \ dwarf_highpc.3 dwarf_lowpc.3 \ dwarf_highpc.3 dwarf_srclang.3 \ dwarf_lineno.3 dwarf_lineaddr.3 \ @@ -302,6 +312,9 @@ MLINKS+= \ dwarf_lineno.3 dwarf_line_srcfileno.3 \ dwarf_loclist.3 dwarf_loclist_n.3 \ dwarf_loclist_from_expr.3 dwarf_loclist_from_expr_a.3 \ + dwarf_loclist_from_expr.3 dwarf_loclist_from_expr_b.3 \ + dwarf_next_cu_header.3 dwarf_next_cu_header_b.3 \ + dwarf_next_cu_header.3 dwarf_next_cu_header_c.3 \ dwarf_producer_init.3 dwarf_producer_init_b.3 \ dwarf_seterrarg.3 dwarf_seterrhand.3 \ dwarf_set_frame_cfa_value.3 dwarf_set_frame_rule_initial_value.3 \ Modified: projects/clang350-import/contrib/elftoolchain/libdwarf/Version.map ============================================================================== --- projects/clang350-import/contrib/elftoolchain/libdwarf/Version.map Tue Dec 30 20:22:43 2014 (r276420) +++ projects/clang350-import/contrib/elftoolchain/libdwarf/Version.map Tue Dec 30 20:23:03 2014 (r276421) @@ -1,4 +1,4 @@ -/* $Id: Version.map 2576 2012-09-13 09:16:11Z jkoshy $ */ +/* $Id: Version.map 3085 2014-09-02 22:08:23Z kaiwang27 $ */ R1.0 { global: @@ -39,6 +39,7 @@ global: dwarf_arrayorder; dwarf_attr; dwarf_attrlist; + dwarf_attroffset; dwarf_attrval_flag; dwarf_attrval_signed; dwarf_attrval_string; @@ -116,6 +117,8 @@ global: dwarf_get_cie_of_fde; dwarf_get_cu_die_offset; dwarf_get_cu_die_offset_given_cu_header_offset; + dwarf_get_cu_die_offset_given_cu_header_offset_b; + dwarf_get_die_infotypes_flag; dwarf_get_elf; dwarf_get_fde_at_pc; dwarf_get_fde_info_for_all_regs3; @@ -139,6 +142,8 @@ global: dwarf_get_relocation_info; dwarf_get_relocation_info_count; dwarf_get_section_bytes; + dwarf_get_section_max_offsets; + dwarf_get_section_max_offsets_b; dwarf_get_str; dwarf_get_types; dwarf_get_vars; @@ -152,6 +157,7 @@ global: dwarf_hasattr; dwarf_hasform; dwarf_highpc; + dwarf_highpc_b; dwarf_init; dwarf_line_srcfileno; dwarf_lineaddr; @@ -166,6 +172,7 @@ global: dwarf_loclist; dwarf_loclist_from_expr; dwarf_loclist_from_expr_a; + dwarf_loclist_from_expr_b; dwarf_loclist_n; dwarf_lowpc; dwarf_new_die; @@ -173,9 +180,12 @@ global: dwarf_new_fde; dwarf_next_cu_header; dwarf_next_cu_header_b; + dwarf_next_cu_header_c; + dwarf_next_types_section; dwarf_object_finish; dwarf_object_init; dwarf_offdie; + dwarf_offdie_b; dwarf_producer_finish; dwarf_producer_init; dwarf_producer_init_b; @@ -196,6 +206,7 @@ global: dwarf_seterrarg; dwarf_seterrhand; dwarf_siblingof; + dwarf_siblingof_b; dwarf_srcfiles; dwarf_srclang; dwarf_srclines; Modified: projects/clang350-import/contrib/elftoolchain/libdwarf/_libdwarf.h ============================================================================== --- projects/clang350-import/contrib/elftoolchain/libdwarf/_libdwarf.h Tue Dec 30 20:22:43 2014 (r276420) +++ projects/clang350-import/contrib/elftoolchain/libdwarf/_libdwarf.h Tue Dec 30 20:23:03 2014 (r276421) @@ -1,6 +1,6 @@ /*- * Copyright (c) 2007 John Birrell (jb@freebsd.org) - * Copyright (c) 2009-2011 Kai Wang + * Copyright (c) 2009-2014 Kai Wang * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -24,7 +24,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: _libdwarf.h 2075 2011-10-27 03:47:28Z jkoshy $ + * $Id: _libdwarf.h 3106 2014-12-19 16:00:58Z kaiwang27 $ */ #ifndef __LIBDWARF_H_ @@ -89,6 +89,7 @@ extern struct _libdwarf_globals _libdwar goto gen_fail; \ } while(0) +typedef struct _Dwarf_CU *Dwarf_CU; struct _Dwarf_AttrDef { uint64_t ad_attrib; /* DW_AT_XXX */ @@ -147,14 +148,6 @@ struct _Dwarf_Die { STAILQ_ENTRY(_Dwarf_Die) die_pro_next; /* Next die in pro-die list. */ }; -struct _Dwarf_Loclist { - Dwarf_Locdesc **ll_ldlist; /* Array of Locdesc pointer. */ - int ll_ldlen; /* Number of Locdesc. */ - Dwarf_Unsigned ll_offset; /* Offset in .debug_loc section. */ - Dwarf_Unsigned ll_length; /* Length (in bytes) of the loclist. */ - TAILQ_ENTRY(_Dwarf_Loclist) ll_next; /* Next loclist in list. */ -}; - struct _Dwarf_P_Expr_Entry { Dwarf_Loc ee_loc; /* Location expression. */ Dwarf_Unsigned ee_sym; /* Optional related reloc sym index. */ @@ -265,6 +258,8 @@ struct _Dwarf_Cie { Dwarf_Half cie_version; /* CIE version. */ uint8_t *cie_augment; /* CIE augmentation (UTF-8). */ Dwarf_Unsigned cie_ehdata; /* Optional EH Data. */ + uint8_t cie_addrsize; /* Address size. (DWARF4) */ + uint8_t cie_segmentsize; /* Segment size. (DWARF4) */ Dwarf_Unsigned cie_caf; /* Code alignment factor. */ Dwarf_Signed cie_daf; /* Data alignment factor. */ Dwarf_Unsigned cie_ra; /* Return address register. */ @@ -333,11 +328,14 @@ struct _Dwarf_CU { uint64_t cu_lineno_offset; /* Offset into .debug_lineno. */ uint8_t cu_pointer_size;/* Number of bytes in pointer. */ uint8_t cu_dwarf_size; /* CU section dwarf size. */ + Dwarf_Sig8 cu_type_sig; /* Type unit's signature. */ + uint64_t cu_type_offset; /* Type unit's type offset. */ Dwarf_Off cu_next_offset; /* Offset to the next CU. */ uint64_t cu_1st_offset; /* First DIE offset. */ int cu_pass2; /* Two pass DIE traverse. */ Dwarf_LineInfo cu_lineinfo; /* Ptr to Dwarf_LineInfo. */ Dwarf_Abbrev cu_abbrev_hash; /* Abbrev hash table. */ + Dwarf_Bool cu_is_info; /* Compilation/type unit flag. */ STAILQ_ENTRY(_Dwarf_CU) cu_next; /* Next compilation unit. */ }; @@ -399,17 +397,21 @@ struct _Dwarf_Debug { Dwarf_Section *dbg_section; /* Dwarf section list. */ Dwarf_Section *dbg_info_sec; /* Pointer to info section. */ Dwarf_Off dbg_info_off; /* Current info section offset. */ + Dwarf_Section *dbg_types_sec; /* Pointer to type section. */ + Dwarf_Off dbg_types_off; /* Current types section offset. */ Dwarf_Unsigned dbg_seccnt; /* Total number of dwarf sections. */ int dbg_mode; /* Access mode. */ int dbg_pointer_size; /* Object address size. */ int dbg_offset_size; /* DWARF offset size. */ int dbg_info_loaded; /* Flag indicating all CU loaded. */ + int dbg_types_loaded; /* Flag indicating all TU loaded. */ Dwarf_Half dbg_machine; /* ELF machine architecture. */ Dwarf_Handler dbg_errhand; /* Error handler. */ Dwarf_Ptr dbg_errarg; /* Argument to the error handler. */ STAILQ_HEAD(, _Dwarf_CU) dbg_cu;/* List of compilation units. */ + STAILQ_HEAD(, _Dwarf_CU) dbg_tu;/* List of type units. */ Dwarf_CU dbg_cu_current; /* Ptr to the current CU. */ - TAILQ_HEAD(, _Dwarf_Loclist) dbg_loclist; /* List of location list. */ + Dwarf_CU dbg_tu_current; /* Ptr to the current TU. */ Dwarf_NameSec dbg_globals; /* Ptr to pubnames lookup section. */ Dwarf_NameSec dbg_pubtypes; /* Ptr to pubtypes lookup section. */ Dwarf_NameSec dbg_weaks; /* Ptr to weaknames lookup section. */ @@ -532,13 +534,15 @@ int _dwarf_elf_get_section_info(void *, Dwarf_Obj_Access_Section *, int *); void _dwarf_expr_cleanup(Dwarf_P_Debug); int _dwarf_expr_into_block(Dwarf_P_Expr, Dwarf_Error *); +Dwarf_Section *_dwarf_find_next_types_section(Dwarf_Debug, Dwarf_Section *); Dwarf_Section *_dwarf_find_section(Dwarf_Debug, const char *); void _dwarf_frame_cleanup(Dwarf_Debug); int _dwarf_frame_fde_add_inst(Dwarf_P_Fde, Dwarf_Small, Dwarf_Unsigned, Dwarf_Unsigned, Dwarf_Error *); int _dwarf_frame_gen(Dwarf_P_Debug, Dwarf_Error *); -int _dwarf_frame_get_fop(Dwarf_Debug, uint8_t *, Dwarf_Unsigned, - Dwarf_Frame_Op **, Dwarf_Signed *, Dwarf_Error *); +int _dwarf_frame_get_fop(Dwarf_Debug, uint8_t, uint8_t *, + Dwarf_Unsigned, Dwarf_Frame_Op **, Dwarf_Signed *, + Dwarf_Error *); int _dwarf_frame_get_internal_table(Dwarf_Fde, Dwarf_Addr, Dwarf_Regtable3 **, Dwarf_Addr *, Dwarf_Error *); int _dwarf_frame_interal_table_init(Dwarf_Debug, Dwarf_Error *); @@ -553,9 +557,12 @@ Dwarf_Unsigned _dwarf_get_reloc_type(Dwa int _dwarf_get_reloc_size(Dwarf_Debug, Dwarf_Unsigned); void _dwarf_info_cleanup(Dwarf_Debug); int _dwarf_info_first_cu(Dwarf_Debug, Dwarf_Error *); +int _dwarf_info_first_tu(Dwarf_Debug, Dwarf_Error *); int _dwarf_info_gen(Dwarf_P_Debug, Dwarf_Error *); -int _dwarf_info_load(Dwarf_Debug, int, Dwarf_Error *); +int _dwarf_info_load(Dwarf_Debug, Dwarf_Bool, Dwarf_Bool, + Dwarf_Error *); int _dwarf_info_next_cu(Dwarf_Debug, Dwarf_Error *); +int _dwarf_info_next_tu(Dwarf_Debug, Dwarf_Error *); void _dwarf_info_pro_cleanup(Dwarf_P_Debug); int _dwarf_init(Dwarf_Debug, Dwarf_Unsigned, Dwarf_Handler, Dwarf_Ptr, Dwarf_Error *); @@ -563,20 +570,19 @@ int _dwarf_lineno_gen(Dwarf_P_Debug, Dw int _dwarf_lineno_init(Dwarf_Die, uint64_t, Dwarf_Error *); void _dwarf_lineno_cleanup(Dwarf_LineInfo); void _dwarf_lineno_pro_cleanup(Dwarf_P_Debug); -int _dwarf_loc_fill_locdesc(Dwarf_Debug, Dwarf_Locdesc *, uint8_t *, - uint64_t, uint8_t, Dwarf_Error *); +int _dwarf_loc_fill_locdesc(Dwarf_Debug, Dwarf_Locdesc *, + uint8_t *, uint64_t, uint8_t, uint8_t, uint8_t, + Dwarf_Error *); int _dwarf_loc_fill_locexpr(Dwarf_Debug, Dwarf_Locdesc **, - uint8_t *, uint64_t, uint8_t, Dwarf_Error *); + uint8_t *, uint64_t, uint8_t, uint8_t, uint8_t, + Dwarf_Error *); int _dwarf_loc_add(Dwarf_Die, Dwarf_Attribute, Dwarf_Error *); int _dwarf_loc_expr_add_atom(Dwarf_Debug, uint8_t *, uint8_t *, Dwarf_Small, Dwarf_Unsigned, Dwarf_Unsigned, int *, Dwarf_Error *); int _dwarf_loclist_find(Dwarf_Debug, Dwarf_CU, uint64_t, - Dwarf_Loclist *, Dwarf_Error *); -void _dwarf_loclist_cleanup(Dwarf_Debug); -void _dwarf_loclist_free(Dwarf_Loclist); -int _dwarf_loclist_add(Dwarf_Debug, Dwarf_CU, uint64_t, - Dwarf_Loclist *, Dwarf_Error *); + Dwarf_Locdesc ***, Dwarf_Signed *, Dwarf_Unsigned *, + Dwarf_Error *); void _dwarf_macinfo_cleanup(Dwarf_Debug); int _dwarf_macinfo_gen(Dwarf_P_Debug, Dwarf_Error *); int _dwarf_macinfo_init(Dwarf_Debug, Dwarf_Error *); @@ -633,6 +639,7 @@ void _dwarf_strtab_cleanup(Dwarf_Debug) int _dwarf_strtab_gen(Dwarf_P_Debug, Dwarf_Error *); char *_dwarf_strtab_get_table(Dwarf_Debug); int _dwarf_strtab_init(Dwarf_Debug, Dwarf_Error *); +void _dwarf_type_unit_cleanup(Dwarf_Debug); void _dwarf_write_block(void *, uint64_t *, uint8_t *, uint64_t); int _dwarf_write_block_alloc(uint8_t **, uint64_t *, uint64_t *, uint8_t *, uint64_t, Dwarf_Error *); Modified: projects/clang350-import/contrib/elftoolchain/libdwarf/dwarf.3 ============================================================================== --- projects/clang350-import/contrib/elftoolchain/libdwarf/dwarf.3 Tue Dec 30 20:22:43 2014 (r276420) +++ projects/clang350-import/contrib/elftoolchain/libdwarf/dwarf.3 Tue Dec 30 20:23:03 2014 (r276421) @@ -21,9 +21,9 @@ .\" out of the use of this software, even if advised of the possibility of .\" such damage. .\" -.\" $Id: dwarf.3 2075 2011-10-27 03:47:28Z jkoshy $ +.\" $Id: dwarf.3 3130 2014-12-21 20:06:29Z jkoshy $ .\" -.Dd September 17, 2011 +.Dd December 21, 2014 .Os .Dt DWARF 3 .Sh NAME @@ -217,6 +217,8 @@ attribute. Retrieve an attribute descriptor. .It Fn dwarf_attrlist Retrieve attribute descriptors for a debugging information entry. +.It Fn dwarf_attroffset +Retrieve the section-relative offset of an attribute descriptor. .It Fn dwarf_attrval_flag Retrieve a .Dv DW_AT_FORM_flag @@ -309,10 +311,17 @@ Retrieve range information from an FDE d .El .It Compilation Units .Bl -tag -compact -.It Fn dwarf_get_cu_die_offset_given_cu_header_offset +.It Xo +.Fn dwarf_get_cu_die_offset_given_cu_header_offset , +.Fn dwarf_get_cu_die_offset_given_cu_header_offset_b +.Xc Retrieve the offset of the debugging information entry for a -compilation unit. -.It Fn dwarf_next_cu_header , Fn dwarf_next_cu_header_b +compilation or type unit. +.It Xo +.Fn dwarf_next_cu_header , *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-projects@FreeBSD.ORG Tue Dec 30 22:46:21 2014 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 344BEA34; Tue, 30 Dec 2014 22:46:21 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 206DC1571; Tue, 30 Dec 2014 22:46:21 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id sBUMkKwi008769; Tue, 30 Dec 2014 22:46:20 GMT (envelope-from dim@FreeBSD.org) Received: (from dim@localhost) by svn.freebsd.org (8.14.9/8.14.9/Submit) id sBUMkKBo008768; Tue, 30 Dec 2014 22:46:20 GMT (envelope-from dim@FreeBSD.org) Message-Id: <201412302246.sBUMkKBo008768@svn.freebsd.org> X-Authentication-Warning: svn.freebsd.org: dim set sender to dim@FreeBSD.org using -f From: Dimitry Andric Date: Tue, 30 Dec 2014 22:46:20 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r276431 - projects/clang350-import X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 30 Dec 2014 22:46:21 -0000 Author: dim Date: Tue Dec 30 22:46:20 2014 New Revision: 276431 URL: https://svnweb.freebsd.org/changeset/base/276431 Log: First stab at UPDATING notes for clang 3.5.0. Modified: projects/clang350-import/UPDATING Modified: projects/clang350-import/UPDATING ============================================================================== --- projects/clang350-import/UPDATING Tue Dec 30 22:32:29 2014 (r276430) +++ projects/clang350-import/UPDATING Tue Dec 30 22:46:20 2014 (r276431) @@ -31,6 +31,62 @@ NOTE TO PEOPLE WHO THINK THAT FreeBSD 11 disable the most expensive debugging functionality run "ln -s 'abort:false,junk:false' /etc/malloc.conf".) +20141231: + Clang, llvm and lldb have been upgraded to 3.5.0 release. + + As of this release, a prerequisite for building llvm and clang is a + C++11 capable compiler and C++11 standard library. This means that to + be able to successfully build the cross-tools stage of buildworld, with + clang as the bootstrap compiler, your system compiler or cross compiler + should either be clang 3.3 or later, or gcc 4.8 or later, and your + system C++ library should be libc++, or libdstdc++ from gcc 4.8 or + later. + + On any earlier standard FreeBSD 10.x or 11.x installation, where clang + and libc++ are on by default (that is, on x86 or arm), this should work + out of the box, unless you explicitly disabled clang or libc++. In that + case, you must re-enable, build and install both of those first. + + On 9.x installations where clang is enabled by default, e.g. on x86 and + powerpc, libc++ will not be enabled by default, so libc++ should be + built (with clang) and installed first. If both clang and libc++ are + missing, build clang first, then use it to build libc++. + + On 8.x and earlier installations, upgrade to 9.x first, and then follow + the instructions for 9.x above. + + This new version of clang introduces a number of new warnings, of which + the following are most likely to appear: + + -Wabsolute-value + + This warns in two cases, for both C and C++: + * When the code is trying to take the absolute value of an unsigned + quantity, which is effectively a no-op, and almost never what was + intended. The code should be fixed, if at all possible. If you are + sure that the unsigned quantity can be safely cast to signed, without + loss of information or undefined behavior, you can add an explicit + cast, or disable the warning. + + * When the code is trying to take an absolute value, but the called + abs() variant is for the wrong type, which can lead to truncation. + If you want to disable the warning instead of fixing the code, please + make sure that truncation will not occur, or it might lead to unwanted + side-effects. + + -Wtautological-undefined-compare and + -Wundefined-bool-conversion + + These warn when C++ code is trying to compare 'this' against NULL, while + 'this' should never be NULL in well-defined C++ code. However, there is + some legacy (pre C++11) code out there, which actively abuses this + feature, which was less strictly defined in previous C++ versions. + + Squid and openjdk do this, for example. The warning can be turned off + for C++98 and earlier, but compiling the code in C++11 mode might result + in unexpected behavior; for example, the parts of the program that are + unreachable could be optimized away. + 20141222: The old NFS client and server (kernel options NFSCLIENT, NFSSERVER) kernel sources have been removed. The .h files remain, since some From owner-svn-src-projects@FreeBSD.ORG Wed Dec 31 06:50:47 2014 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 149FBF50; Wed, 31 Dec 2014 06:50:47 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id F0FDB3668; Wed, 31 Dec 2014 06:50:46 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id sBV6okwV057207; Wed, 31 Dec 2014 06:50:46 GMT (envelope-from bryanv@FreeBSD.org) Received: (from bryanv@localhost) by svn.freebsd.org (8.14.9/8.14.9/Submit) id sBV6ojOB057198; Wed, 31 Dec 2014 06:50:45 GMT (envelope-from bryanv@FreeBSD.org) Message-Id: <201412310650.sBV6ojOB057198@svn.freebsd.org> X-Authentication-Warning: svn.freebsd.org: bryanv set sender to bryanv@FreeBSD.org using -f From: Bryan Venteicher Date: Wed, 31 Dec 2014 06:50:45 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r276451 - in projects/paravirt/sys: amd64/amd64 amd64/include i386/i386 i386/include X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 31 Dec 2014 06:50:47 -0000 Author: bryanv Date: Wed Dec 31 06:50:44 2014 New Revision: 276451 URL: https://svnweb.freebsd.org/changeset/base/276451 Log: Add CPU operation callback when the CPU is stopped The KVM clock needs this callback to clear its MSR when the CPU is stopped so the host does not continue to write into the shared area. Modified: projects/paravirt/sys/amd64/amd64/mp_machdep.c projects/paravirt/sys/amd64/amd64/vm_machdep.c projects/paravirt/sys/amd64/include/cpu.h projects/paravirt/sys/i386/i386/mp_machdep.c projects/paravirt/sys/i386/i386/vm_machdep.c projects/paravirt/sys/i386/include/cpu.h Modified: projects/paravirt/sys/amd64/amd64/mp_machdep.c ============================================================================== --- projects/paravirt/sys/amd64/amd64/mp_machdep.c Wed Dec 31 04:54:48 2014 (r276450) +++ projects/paravirt/sys/amd64/amd64/mp_machdep.c Wed Dec 31 06:50:44 2014 (r276451) @@ -1427,6 +1427,9 @@ cpustop_handler(void) cpu = PCPU_GET(cpuid); + if (cpu_ops.cpu_stop) + cpu_ops.cpu_stop(0); + savectx(&stoppcbs[cpu]); /* Indicate that we are stopped */ @@ -1439,6 +1442,9 @@ cpustop_handler(void) CPU_CLR_ATOMIC(cpu, &started_cpus); CPU_CLR_ATOMIC(cpu, &stopped_cpus); + if (cpu_ops.cpu_stop) + cpu_ops.cpu_stop(1); + #ifdef DDB amd64_db_resume_dbreg(); #endif Modified: projects/paravirt/sys/amd64/amd64/vm_machdep.c ============================================================================== --- projects/paravirt/sys/amd64/amd64/vm_machdep.c Wed Dec 31 04:54:48 2014 (r276450) +++ projects/paravirt/sys/amd64/amd64/vm_machdep.c Wed Dec 31 06:50:44 2014 (r276451) @@ -644,6 +644,9 @@ cpu_reset_real() struct region_descriptor null_idt; int b; + if (cpu_ops.cpu_stop) + cpu_ops.cpu_stop(0); + disable_intr(); /* Modified: projects/paravirt/sys/amd64/include/cpu.h ============================================================================== --- projects/paravirt/sys/amd64/include/cpu.h Wed Dec 31 04:54:48 2014 (r276450) +++ projects/paravirt/sys/amd64/include/cpu.h Wed Dec 31 06:50:44 2014 (r276451) @@ -63,6 +63,7 @@ struct cpu_ops { void (*cpu_init)(void); void (*cpu_resume)(void); + void (*cpu_stop)(int); }; extern struct cpu_ops cpu_ops; Modified: projects/paravirt/sys/i386/i386/mp_machdep.c ============================================================================== --- projects/paravirt/sys/i386/i386/mp_machdep.c Wed Dec 31 04:54:48 2014 (r276450) +++ projects/paravirt/sys/i386/i386/mp_machdep.c Wed Dec 31 06:50:44 2014 (r276451) @@ -1481,6 +1481,9 @@ cpustop_handler(void) cpu = PCPU_GET(cpuid); + if (cpu_ops.cpu_stop) + cpu_ops.cpu_stop(0); + savectx(&stoppcbs[cpu]); /* Indicate that we are stopped */ @@ -1493,6 +1496,9 @@ cpustop_handler(void) CPU_CLR_ATOMIC(cpu, &started_cpus); CPU_CLR_ATOMIC(cpu, &stopped_cpus); + if (cpu_ops.cpu_stop) + cpu_ops.cpu_stop(1); + if (cpu == 0 && cpustop_restartfunc != NULL) { cpustop_restartfunc(); cpustop_restartfunc = NULL; Modified: projects/paravirt/sys/i386/i386/vm_machdep.c ============================================================================== --- projects/paravirt/sys/i386/i386/vm_machdep.c Wed Dec 31 04:54:48 2014 (r276450) +++ projects/paravirt/sys/i386/i386/vm_machdep.c Wed Dec 31 06:50:44 2014 (r276451) @@ -697,6 +697,9 @@ cpu_reset_real() int b; #endif + if (cpu_ops.cpu_stop) + cpu_ops.cpu_stop(0); + disable_intr(); #ifdef XEN if (smp_processor_id() == 0) Modified: projects/paravirt/sys/i386/include/cpu.h ============================================================================== --- projects/paravirt/sys/i386/include/cpu.h Wed Dec 31 04:54:48 2014 (r276450) +++ projects/paravirt/sys/i386/include/cpu.h Wed Dec 31 06:50:44 2014 (r276451) @@ -63,6 +63,7 @@ struct cpu_ops { void (*cpu_init)(void); void (*cpu_resume)(void); + void (*cpu_stop)(int); }; extern struct cpu_ops cpu_ops; From owner-svn-src-projects@FreeBSD.ORG Wed Dec 31 06:53:48 2014 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 398C91B9; Wed, 31 Dec 2014 06:53:48 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 0B7CE36C4; Wed, 31 Dec 2014 06:53:48 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id sBV6rleQ060334; Wed, 31 Dec 2014 06:53:47 GMT (envelope-from bryanv@FreeBSD.org) Received: (from bryanv@localhost) by svn.freebsd.org (8.14.9/8.14.9/Submit) id sBV6rlwU060329; Wed, 31 Dec 2014 06:53:47 GMT (envelope-from bryanv@FreeBSD.org) Message-Id: <201412310653.sBV6rlwU060329@svn.freebsd.org> X-Authentication-Warning: svn.freebsd.org: bryanv set sender to bryanv@FreeBSD.org using -f From: Bryan Venteicher Date: Wed, 31 Dec 2014 06:53:47 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r276452 - in projects/paravirt/sys/x86: include x86 X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 31 Dec 2014 06:53:48 -0000 Author: bryanv Date: Wed Dec 31 06:53:46 2014 New Revision: 276452 URL: https://svnweb.freebsd.org/changeset/base/276452 Log: Include the signature in the hypervisor info structure Modified: projects/paravirt/sys/x86/include/hypervisor.h projects/paravirt/sys/x86/x86/kvm.c projects/paravirt/sys/x86/x86/vmware.c Modified: projects/paravirt/sys/x86/include/hypervisor.h ============================================================================== --- projects/paravirt/sys/x86/include/hypervisor.h Wed Dec 31 06:50:44 2014 (r276451) +++ projects/paravirt/sys/x86/include/hypervisor.h Wed Dec 31 06:53:46 2014 (r276452) @@ -33,6 +33,7 @@ typedef int hypervisor_info_identify_t(v struct hypervisor_info { const char *hvi_name; + const char *hvi_signature; enum VM_GUEST hvi_type; hypervisor_info_identify_t *hvi_identify; }; Modified: projects/paravirt/sys/x86/x86/kvm.c ============================================================================== --- projects/paravirt/sys/x86/x86/kvm.c Wed Dec 31 06:50:44 2014 (r276451) +++ projects/paravirt/sys/x86/x86/kvm.c Wed Dec 31 06:53:46 2014 (r276452) @@ -38,6 +38,7 @@ static uint32_t kvm_cpuid_identify(void const struct hypervisor_info kvm_hypervisor_info = { .hvi_name = "KVM", + .hvi_signature = "KVMKVMKVM\0\0", .hvi_type = VM_GUEST_KVM, .hvi_identify = kvm_identify, }; @@ -50,8 +51,8 @@ kvm_cpuid_identify(void) { if (kvm_cpuid_base == -1) { - hypervisor_cpuid_base("KVMKVMKVM\0\0", 0, &kvm_cpuid_base, - &kvm_cpuid_high); + hypervisor_cpuid_base(kvm_hypervisor_info.hvi_signature, + 0, &kvm_cpuid_base, &kvm_cpuid_high); } return (kvm_cpuid_base); Modified: projects/paravirt/sys/x86/x86/vmware.c ============================================================================== --- projects/paravirt/sys/x86/x86/vmware.c Wed Dec 31 06:50:44 2014 (r276451) +++ projects/paravirt/sys/x86/x86/vmware.c Wed Dec 31 06:53:46 2014 (r276452) @@ -39,6 +39,7 @@ static uint32_t vmware_cpuid_identify(v const struct hypervisor_info vmware_hypervisor_info = { .hvi_name = "VMware", + .hvi_signature = "VMwareVMware", .hvi_type = VM_GUEST_VMWARE, .hvi_identify = vmware_identify, }; @@ -51,8 +52,8 @@ vmware_cpuid_identify(void) { if (vmware_cpuid_base == -1) { - hypervisor_cpuid_base("VMwareVMware", 0, &vmware_cpuid_base, - &vmware_cpuid_high); + hypervisor_cpuid_base(vmware_hypervisor_info.hvi_signature, + 0, &vmware_cpuid_base, &vmware_cpuid_high); } return (vmware_cpuid_base); From owner-svn-src-projects@FreeBSD.ORG Wed Dec 31 06:54:30 2014 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 70ABE2AB; Wed, 31 Dec 2014 06:54:30 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 5D46F36C9; Wed, 31 Dec 2014 06:54:30 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id sBV6sU8V060466; Wed, 31 Dec 2014 06:54:30 GMT (envelope-from bryanv@FreeBSD.org) Received: (from bryanv@localhost) by svn.freebsd.org (8.14.9/8.14.9/Submit) id sBV6sTlj060464; Wed, 31 Dec 2014 06:54:29 GMT (envelope-from bryanv@FreeBSD.org) Message-Id: <201412310654.sBV6sTlj060464@svn.freebsd.org> X-Authentication-Warning: svn.freebsd.org: bryanv set sender to bryanv@FreeBSD.org using -f From: Bryan Venteicher Date: Wed, 31 Dec 2014 06:54:29 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r276453 - in projects/paravirt/sys/x86: include x86 X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 31 Dec 2014 06:54:30 -0000 Author: bryanv Date: Wed Dec 31 06:54:28 2014 New Revision: 276453 URL: https://svnweb.freebsd.org/changeset/base/276453 Log: Various cleanup Modified: projects/paravirt/sys/x86/include/hypervisor.h projects/paravirt/sys/x86/x86/hypervisor.c Modified: projects/paravirt/sys/x86/include/hypervisor.h ============================================================================== --- projects/paravirt/sys/x86/include/hypervisor.h Wed Dec 31 06:53:46 2014 (r276452) +++ projects/paravirt/sys/x86/include/hypervisor.h Wed Dec 31 06:54:28 2014 (r276453) @@ -44,4 +44,3 @@ int hypervisor_cpuid_base(const char *si void hypervisor_print_info(void); #endif /* !_X86_HYPERVISOR_H_ */ - Modified: projects/paravirt/sys/x86/x86/hypervisor.c ============================================================================== --- projects/paravirt/sys/x86/x86/hypervisor.c Wed Dec 31 06:53:46 2014 (r276452) +++ projects/paravirt/sys/x86/x86/hypervisor.c Wed Dec 31 06:54:28 2014 (r276453) @@ -28,8 +28,6 @@ __FBSDID("$FreeBSD$"); #include -#include -#include #include #include @@ -37,8 +35,6 @@ __FBSDID("$FreeBSD$"); #include #include -#include -#include char hv_vendor[16]; SYSCTL_STRING(_hw, OID_AUTO, hv_vendor, CTLFLAG_RD, hv_vendor, 0, @@ -88,13 +84,15 @@ hypervisor_cpuid_identify(void) if (hvi->hvi_identify() != 0) { hv_info = hvi; - vm_guest = hvi->hvi_type; - strncpy(hv_vendor, hvi->hvi_name, sizeof(hv_vendor)); - return; + break; } } - vm_guest = VM_GUEST_VM; + if (hv_info != NULL) { + vm_guest = hvi->hvi_type; + strlcpy(hv_vendor, hvi->hvi_name, sizeof(hv_vendor)); + } else + vm_guest = VM_GUEST_VM; } void From owner-svn-src-projects@FreeBSD.ORG Wed Dec 31 06:59:24 2014 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 22A7F3E8; Wed, 31 Dec 2014 06:59:24 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 04FD336F3; Wed, 31 Dec 2014 06:59:24 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id sBV6xN71061095; Wed, 31 Dec 2014 06:59:23 GMT (envelope-from bryanv@FreeBSD.org) Received: (from bryanv@localhost) by svn.freebsd.org (8.14.9/8.14.9/Submit) id sBV6xNPj061088; Wed, 31 Dec 2014 06:59:23 GMT (envelope-from bryanv@FreeBSD.org) Message-Id: <201412310659.sBV6xNPj061088@svn.freebsd.org> X-Authentication-Warning: svn.freebsd.org: bryanv set sender to bryanv@FreeBSD.org using -f From: Bryan Venteicher Date: Wed, 31 Dec 2014 06:59:23 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r276454 - in projects/paravirt/sys/x86: include x86 X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 31 Dec 2014 06:59:24 -0000 Author: bryanv Date: Wed Dec 31 06:59:22 2014 New Revision: 276454 URL: https://svnweb.freebsd.org/changeset/base/276454 Log: Add code to calculate the TSC frequency from the KVM/PV clock Not currently used. Could later be used similarly to the VMware code to avoid attempting to calibrate the TSC. Modified: projects/paravirt/sys/x86/include/kvm.h projects/paravirt/sys/x86/include/pvclock.h projects/paravirt/sys/x86/x86/kvm_clock.c projects/paravirt/sys/x86/x86/pvclock.c Modified: projects/paravirt/sys/x86/include/kvm.h ============================================================================== --- projects/paravirt/sys/x86/include/kvm.h Wed Dec 31 06:54:28 2014 (r276453) +++ projects/paravirt/sys/x86/include/kvm.h Wed Dec 31 06:59:22 2014 (r276454) @@ -43,5 +43,6 @@ int kvm_paravirt_supported(void); uint32_t kvm_get_features(void); +uint64_t kvm_clock_tsc_freq(void); #endif /* !_X86_KVM_H_ */ Modified: projects/paravirt/sys/x86/include/pvclock.h ============================================================================== --- projects/paravirt/sys/x86/include/pvclock.h Wed Dec 31 06:54:28 2014 (r276453) +++ projects/paravirt/sys/x86/include/pvclock.h Wed Dec 31 06:59:22 2014 (r276454) @@ -50,6 +50,7 @@ struct pvclock_wall_clock { } __packed; void pvclock_resume(void); +uint64_t pvclock_tsc_freq(struct pvclock_vcpu_time_info *ti); uint64_t pvclock_get_timecount(struct pvclock_vcpu_time_info *ti); void pvclock_get_wallclock(struct pvclock_wall_clock *wc, struct timespec *ts); Modified: projects/paravirt/sys/x86/x86/kvm_clock.c ============================================================================== --- projects/paravirt/sys/x86/x86/kvm_clock.c Wed Dec 31 06:54:28 2014 (r276453) +++ projects/paravirt/sys/x86/x86/kvm_clock.c Wed Dec 31 06:59:22 2014 (r276454) @@ -58,6 +58,20 @@ static struct timecounter kvm_clock_time static uint32_t kvm_clock_wall_clock_msr; static uint32_t kvm_clock_system_time_msr; +uint64_t +kvm_clock_tsc_freq(void) +{ + struct pvclock_vcpu_time_info *ti; + uint64_t freq; + + critical_enter(); + ti = DPCPU_PTR(kvm_clock_vcpu_time_info); + freq = pvclock_tsc_freq(ti); + critical_exit(); + + return (freq); +} + static u_int kvm_clock_get_timecounter(struct timecounter *tc) { Modified: projects/paravirt/sys/x86/x86/pvclock.c ============================================================================== --- projects/paravirt/sys/x86/x86/pvclock.c Wed Dec 31 06:54:28 2014 (r276453) +++ projects/paravirt/sys/x86/x86/pvclock.c Wed Dec 31 06:59:22 2014 (r276454) @@ -50,6 +50,21 @@ pvclock_resume(void) atomic_store_rel_64(&pvclock_last_cycles, 0); } +uint64_t +pvclock_tsc_freq(struct pvclock_vcpu_time_info *ti) +{ + uint64_t freq; + + freq = (1000000000ULL << 32) / ti->tsc_to_system_mul; + + if (ti->tsc_shift < 0) + freq <<= -ti->tsc_shift; + else + freq >>= ti->tsc_shift; + + return (freq); +} + /* * Scale a 64-bit delta by scaling and multiplying by a 32-bit fraction, * yielding a 64-bit result. From owner-svn-src-projects@FreeBSD.ORG Wed Dec 31 07:00:39 2014 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 403FB51F; Wed, 31 Dec 2014 07:00:39 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 20C483797; Wed, 31 Dec 2014 07:00:39 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id sBV70doM061476; Wed, 31 Dec 2014 07:00:39 GMT (envelope-from bryanv@FreeBSD.org) Received: (from bryanv@localhost) by svn.freebsd.org (8.14.9/8.14.9/Submit) id sBV70bWw061467; Wed, 31 Dec 2014 07:00:37 GMT (envelope-from bryanv@FreeBSD.org) Message-Id: <201412310700.sBV70bWw061467@svn.freebsd.org> X-Authentication-Warning: svn.freebsd.org: bryanv set sender to bryanv@FreeBSD.org using -f From: Bryan Venteicher Date: Wed, 31 Dec 2014 07:00:37 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r276455 - in projects/paravirt/sys: conf kern sys x86/x86 X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 31 Dec 2014 07:00:39 -0000 Author: bryanv Date: Wed Dec 31 07:00:36 2014 New Revision: 276455 URL: https://svnweb.freebsd.org/changeset/base/276455 Log: Add basic bhyve guest detection Added: projects/paravirt/sys/x86/x86/bhyve.c (contents, props changed) Modified: projects/paravirt/sys/conf/files.amd64 projects/paravirt/sys/conf/files.i386 projects/paravirt/sys/kern/subr_param.c projects/paravirt/sys/sys/systm.h projects/paravirt/sys/x86/x86/hypervisor.c Modified: projects/paravirt/sys/conf/files.amd64 ============================================================================== --- projects/paravirt/sys/conf/files.amd64 Wed Dec 31 06:59:22 2014 (r276454) +++ projects/paravirt/sys/conf/files.amd64 Wed Dec 31 07:00:36 2014 (r276455) @@ -555,6 +555,7 @@ x86/isa/nmi.c standard x86/isa/orm.c optional isa x86/pci/pci_bus.c optional pci x86/pci/qpi.c optional pci +x86/x86/bhyve.c standard x86/x86/busdma_bounce.c standard x86/x86/busdma_machdep.c standard x86/x86/dump_machdep.c standard Modified: projects/paravirt/sys/conf/files.i386 ============================================================================== --- projects/paravirt/sys/conf/files.i386 Wed Dec 31 06:59:22 2014 (r276454) +++ projects/paravirt/sys/conf/files.i386 Wed Dec 31 07:00:36 2014 (r276455) @@ -573,6 +573,7 @@ x86/isa/nmi.c standard x86/isa/orm.c optional isa x86/pci/pci_bus.c optional pci x86/pci/qpi.c optional pci +x86/x86/bhyve.c standard x86/x86/busdma_bounce.c standard x86/x86/busdma_machdep.c standard x86/x86/dump_machdep.c standard Modified: projects/paravirt/sys/kern/subr_param.c ============================================================================== --- projects/paravirt/sys/kern/subr_param.c Wed Dec 31 06:59:22 2014 (r276454) +++ projects/paravirt/sys/kern/subr_param.c Wed Dec 31 07:00:36 2014 (r276455) @@ -160,6 +160,7 @@ static const char *const vm_guest_sysctl "hv", "vmware", "kvm", + "bhyve", NULL }; CTASSERT(nitems(vm_guest_sysctl_names) - 1 == VM_LAST); Modified: projects/paravirt/sys/sys/systm.h ============================================================================== --- projects/paravirt/sys/sys/systm.h Wed Dec 31 06:59:22 2014 (r276454) +++ projects/paravirt/sys/sys/systm.h Wed Dec 31 07:00:36 2014 (r276455) @@ -73,7 +73,7 @@ extern int vm_guest; /* Running as virt * Keep in sync with vm_guest_sysctl_names[]. */ enum VM_GUEST { VM_GUEST_NO = 0, VM_GUEST_VM, VM_GUEST_XEN, VM_GUEST_HV, - VM_GUEST_VMWARE, VM_GUEST_KVM, VM_LAST }; + VM_GUEST_VMWARE, VM_GUEST_KVM, VM_GUEST_BHYVE, VM_LAST }; #if defined(WITNESS) || defined(INVARIANTS) void kassert_panic(const char *fmt, ...) __printflike(1, 2); Added: projects/paravirt/sys/x86/x86/bhyve.c ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ projects/paravirt/sys/x86/x86/bhyve.c Wed Dec 31 07:00:36 2014 (r276455) @@ -0,0 +1,64 @@ +/*- + * Copyright (c) 2014 Bryan Venteicher + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +#include +__FBSDID("$FreeBSD$"); + +#include +#include + +#include + +static int bhyve_identify(void); + +const struct hypervisor_info bhyve_hypervisor_info = { + .hvi_name = "bhyve", + .hvi_signature = "bhyve bhyve", + .hvi_type = VM_GUEST_BHYVE, + .hvi_identify = bhyve_identify, +}; + +static uint32_t bhyve_cpuid_base = -1; +static uint32_t bhyve_cpuid_high = -1; + +static uint32_t +bhyve_cpuid_identify(void) +{ + + if (bhyve_cpuid_base == -1) { + hypervisor_cpuid_base(bhyve_hypervisor_info.hvi_signature, + 0, &bhyve_cpuid_base, &bhyve_cpuid_high); + } + + return (bhyve_cpuid_base); +} + +static int +bhyve_identify(void) +{ + + return (bhyve_cpuid_identify() != 0); +} Modified: projects/paravirt/sys/x86/x86/hypervisor.c ============================================================================== --- projects/paravirt/sys/x86/x86/hypervisor.c Wed Dec 31 06:59:22 2014 (r276454) +++ projects/paravirt/sys/x86/x86/hypervisor.c Wed Dec 31 07:00:36 2014 (r276455) @@ -40,10 +40,12 @@ char hv_vendor[16]; SYSCTL_STRING(_hw, OID_AUTO, hv_vendor, CTLFLAG_RD, hv_vendor, 0, "Hypervisor vendor"); +extern const struct hypervisor_info bhyve_hypervisor_info; extern const struct hypervisor_info kvm_hypervisor_info; extern const struct hypervisor_info vmware_hypervisor_info; static const struct hypervisor_info *hypervisor_infos[] = { + &bhyve_hypervisor_info, &kvm_hypervisor_info, &vmware_hypervisor_info, }; From owner-svn-src-projects@FreeBSD.ORG Wed Dec 31 07:03:10 2014 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 45ADD621; Wed, 31 Dec 2014 07:03:10 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 30D9937B5; Wed, 31 Dec 2014 07:03:10 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id sBV73AfA065211; Wed, 31 Dec 2014 07:03:10 GMT (envelope-from bryanv@FreeBSD.org) Received: (from bryanv@localhost) by svn.freebsd.org (8.14.9/8.14.9/Submit) id sBV738tv065194; Wed, 31 Dec 2014 07:03:08 GMT (envelope-from bryanv@FreeBSD.org) Message-Id: <201412310703.sBV738tv065194@svn.freebsd.org> X-Authentication-Warning: svn.freebsd.org: bryanv set sender to bryanv@FreeBSD.org using -f From: Bryan Venteicher Date: Wed, 31 Dec 2014 07:03:08 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r276456 - in projects/paravirt/sys/x86: include x86 X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 31 Dec 2014 07:03:10 -0000 Author: bryanv Date: Wed Dec 31 07:03:07 2014 New Revision: 276456 URL: https://svnweb.freebsd.org/changeset/base/276456 Log: Rework hypervisor detection To be more like the existing Xen code, detect the supported hypervisors from the SI_SUB_HYPERVISOR sysinit instead from identcpu(). I do prefer the later method, but preserve the status quo for now. Hook in the KVM callback when a CPU is stopped and misc cleanup elsewhere. Modified: projects/paravirt/sys/x86/include/hypervisor.h projects/paravirt/sys/x86/include/kvm.h projects/paravirt/sys/x86/x86/bhyve.c projects/paravirt/sys/x86/x86/hypervisor.c projects/paravirt/sys/x86/x86/identcpu.c projects/paravirt/sys/x86/x86/kvm.c projects/paravirt/sys/x86/x86/kvm_clock.c projects/paravirt/sys/x86/x86/vmware.c Modified: projects/paravirt/sys/x86/include/hypervisor.h ============================================================================== --- projects/paravirt/sys/x86/include/hypervisor.h Wed Dec 31 07:00:36 2014 (r276455) +++ projects/paravirt/sys/x86/include/hypervisor.h Wed Dec 31 07:03:07 2014 (r276456) @@ -29,18 +29,30 @@ #ifndef _X86_HYPERVISOR_H_ #define _X86_HYPERVISOR_H_ -typedef int hypervisor_info_identify_t(void); +#include +#include -struct hypervisor_info { - const char *hvi_name; - const char *hvi_signature; - enum VM_GUEST hvi_type; - hypervisor_info_identify_t *hvi_identify; +typedef void hypervisor_init_func_t(void); +typedef void hypervisor_op_cpu_stop_t(int); + +/* + * The guest hypervisor support may provide paravirtualized or have special + * requirements for various operations. The callback functions are provided + * when a hypervisor is detected and registered. + */ +struct hypervisor_ops { + hypervisor_op_cpu_stop_t *hvo_cpu_stop; }; -void hypervisor_cpuid_identify(void); +void hypervisor_sysinit(void *func); +void hypervisor_register(const char *vendor, enum VM_GUEST guest, + struct hypervisor_ops *ops); int hypervisor_cpuid_base(const char *signature, int leaves, uint32_t *base, uint32_t *high); void hypervisor_print_info(void); +#define HYPERVISOR_SYSINIT(name, func) \ + SYSINIT(name ## _hypervisor_sysinit, SI_SUB_HYPERVISOR, \ + SI_ORDER_FIRST, hypervisor_sysinit, func) + #endif /* !_X86_HYPERVISOR_H_ */ Modified: projects/paravirt/sys/x86/include/kvm.h ============================================================================== --- projects/paravirt/sys/x86/include/kvm.h Wed Dec 31 07:00:36 2014 (r276455) +++ projects/paravirt/sys/x86/include/kvm.h Wed Dec 31 07:03:07 2014 (r276456) @@ -43,6 +43,8 @@ int kvm_paravirt_supported(void); uint32_t kvm_get_features(void); + +void kvm_clock_cpu_stop(int restart); uint64_t kvm_clock_tsc_freq(void); #endif /* !_X86_KVM_H_ */ Modified: projects/paravirt/sys/x86/x86/bhyve.c ============================================================================== --- projects/paravirt/sys/x86/x86/bhyve.c Wed Dec 31 07:00:36 2014 (r276455) +++ projects/paravirt/sys/x86/x86/bhyve.c Wed Dec 31 07:03:07 2014 (r276456) @@ -32,33 +32,27 @@ __FBSDID("$FreeBSD$"); #include -static int bhyve_identify(void); - -const struct hypervisor_info bhyve_hypervisor_info = { - .hvi_name = "bhyve", - .hvi_signature = "bhyve bhyve", - .hvi_type = VM_GUEST_BHYVE, - .hvi_identify = bhyve_identify, -}; - static uint32_t bhyve_cpuid_base = -1; static uint32_t bhyve_cpuid_high = -1; -static uint32_t +static int bhyve_cpuid_identify(void) { if (bhyve_cpuid_base == -1) { - hypervisor_cpuid_base(bhyve_hypervisor_info.hvi_signature, - 0, &bhyve_cpuid_base, &bhyve_cpuid_high); + hypervisor_cpuid_base("bhyve bhyve", 0, &bhyve_cpuid_base, + &bhyve_cpuid_high); } - return (bhyve_cpuid_base); + return (bhyve_cpuid_base > 0); } -static int -bhyve_identify(void) +static void +bhyve_init(void) { - return (bhyve_cpuid_identify() != 0); + if (bhyve_cpuid_identify() != 0) + hypervisor_register("bhyve", VM_GUEST_BHYVE, NULL); } + +HYPERVISOR_SYSINIT(bhyve, bhyve_init); Modified: projects/paravirt/sys/x86/x86/hypervisor.c ============================================================================== --- projects/paravirt/sys/x86/x86/hypervisor.c Wed Dec 31 07:00:36 2014 (r276455) +++ projects/paravirt/sys/x86/x86/hypervisor.c Wed Dec 31 07:03:07 2014 (r276456) @@ -33,6 +33,8 @@ __FBSDID("$FreeBSD$"); #include #include +#include +#include #include @@ -40,17 +42,41 @@ char hv_vendor[16]; SYSCTL_STRING(_hw, OID_AUTO, hv_vendor, CTLFLAG_RD, hv_vendor, 0, "Hypervisor vendor"); -extern const struct hypervisor_info bhyve_hypervisor_info; -extern const struct hypervisor_info kvm_hypervisor_info; -extern const struct hypervisor_info vmware_hypervisor_info; - -static const struct hypervisor_info *hypervisor_infos[] = { - &bhyve_hypervisor_info, - &kvm_hypervisor_info, - &vmware_hypervisor_info, -}; +void +hypervisor_sysinit(void *func) +{ + hypervisor_init_func_t *init; + + init = func; + + /* + * Call the init function if we have not already identified the + * hypervisor yet. We assume the hypervisor will announce its + * presence via the CPUID bit. + */ + if (vm_guest == VM_GUEST_VM && cpu_feature2 & CPUID2_HV) + (*init)(); +} + +static void +hypervisor_register_cpu_ops(struct hypervisor_ops *ops) +{ + + if (ops->hvo_cpu_stop != NULL) + cpu_ops.cpu_stop = ops->hvo_cpu_stop; +} + +void +hypervisor_register(const char *vendor, enum VM_GUEST guest, + struct hypervisor_ops *ops) +{ -static const struct hypervisor_info *hv_info; + strlcpy(hv_vendor, vendor, sizeof(hv_vendor)); + vm_guest = guest; + + if (ops != NULL) + hypervisor_register_cpu_ops(ops); +} /* * [RFC] CPUID usage for interaction between Hypervisors and Linux. @@ -76,28 +102,6 @@ hypervisor_cpuid_base(const char *signat } void -hypervisor_cpuid_identify(void) -{ - const struct hypervisor_info *hvi; - int i; - - for (i = 0; i < nitems(hypervisor_infos); i++) { - hvi = hypervisor_infos[i]; - - if (hvi->hvi_identify() != 0) { - hv_info = hvi; - break; - } - } - - if (hv_info != NULL) { - vm_guest = hvi->hvi_type; - strlcpy(hv_vendor, hvi->hvi_name, sizeof(hv_vendor)); - } else - vm_guest = VM_GUEST_VM; -} - -void hypervisor_print_info(void) { Modified: projects/paravirt/sys/x86/x86/identcpu.c ============================================================================== --- projects/paravirt/sys/x86/x86/identcpu.c Wed Dec 31 07:00:36 2014 (r276455) +++ projects/paravirt/sys/x86/x86/identcpu.c Wed Dec 31 07:03:07 2014 (r276456) @@ -1213,11 +1213,12 @@ identify_hypervisor(void) int i; /* - * Modern hypervisors set the HV present feature bit, and are then - * identifiable through a special CPUID leaf. + * Modern hypervisors set the HV present feature bit and are then + * identifiable through a special CPUID leaf. Hypervisors we know + * about are later detected via the SI_SUB_HYPERVISOR SYSINIT(). */ if (cpu_feature2 & CPUID2_HV) { - hypervisor_cpuid_identify(); + vm_guest = VM_GUEST_VM; return; } Modified: projects/paravirt/sys/x86/x86/kvm.c ============================================================================== --- projects/paravirt/sys/x86/x86/kvm.c Wed Dec 31 07:00:36 2014 (r276455) +++ projects/paravirt/sys/x86/x86/kvm.c Wed Dec 31 07:03:07 2014 (r276456) @@ -30,46 +30,45 @@ __FBSDID("$FreeBSD$"); #include #include +#include + #include #include -static int kvm_identify(void); -static uint32_t kvm_cpuid_identify(void); +static int kvm_cpuid_identify(void); +static void kvm_cpu_stop(int); -const struct hypervisor_info kvm_hypervisor_info = { - .hvi_name = "KVM", - .hvi_signature = "KVMKVMKVM\0\0", - .hvi_type = VM_GUEST_KVM, - .hvi_identify = kvm_identify, +static struct hypervisor_ops kvm_ops = { + .hvo_cpu_stop = kvm_cpu_stop, }; static uint32_t kvm_cpuid_base = -1; static uint32_t kvm_cpuid_high = -1; -static uint32_t +static int kvm_cpuid_identify(void) { if (kvm_cpuid_base == -1) { - hypervisor_cpuid_base(kvm_hypervisor_info.hvi_signature, - 0, &kvm_cpuid_base, &kvm_cpuid_high); + hypervisor_cpuid_base("KVMKVMKVM\0\0", 0, &kvm_cpuid_base, + &kvm_cpuid_high); } - return (kvm_cpuid_base); + return (kvm_cpuid_base > 0); } -static int -kvm_identify(void) +static void +kvm_cpu_stop(int restarted) { - return (kvm_cpuid_identify() != 0); + kvm_clock_cpu_stop(restarted); } int kvm_paravirt_supported(void) { - return (kvm_cpuid_base != -1); + return (kvm_cpuid_base > 0); } uint32_t @@ -77,7 +76,20 @@ kvm_get_features(void) { u_int regs[4]; - do_cpuid(kvm_cpuid_identify() | KVM_CPUID_FEATURES_LEAF, regs); + if (kvm_paravirt_supported()) + do_cpuid(kvm_cpuid_base | KVM_CPUID_FEATURES_LEAF, regs); + else + regs[0] = 0; return (regs[0]); } + +static void +kvm_init(void) +{ + + if (kvm_cpuid_identify() != 0) + hypervisor_register("KVM", VM_GUEST_KVM, &kvm_ops); +} + +HYPERVISOR_SYSINIT(kvm, kvm_init); Modified: projects/paravirt/sys/x86/x86/kvm_clock.c ============================================================================== --- projects/paravirt/sys/x86/x86/kvm_clock.c Wed Dec 31 07:00:36 2014 (r276455) +++ projects/paravirt/sys/x86/x86/kvm_clock.c Wed Dec 31 07:03:07 2014 (r276456) @@ -55,8 +55,9 @@ static struct timecounter kvm_clock_time 1000, }; -static uint32_t kvm_clock_wall_clock_msr; -static uint32_t kvm_clock_system_time_msr; +static int kvm_clock_registered; +static uint32_t kvm_clock_wall_clock_msr; +static uint32_t kvm_clock_system_time_msr; uint64_t kvm_clock_tsc_freq(void) @@ -102,11 +103,23 @@ kvm_clock_pcpu_system_time(void *arg) wrmsr(kvm_clock_system_time_msr, data); } +void +kvm_clock_cpu_stop(int restarted) +{ + + /* + * The per-CPU shared data area must be unregistered when the CPU + * is stopped. Otherwise if the guest is rebooted, the host can + * continue to write into the shared data area causing corruption. + */ + if (kvm_clock_registered != 0) + kvm_clock_pcpu_system_time(&restarted); +} + static void kvm_clock_init(void) { uint32_t features; - int enable; if (vm_guest != VM_GUEST_KVM || !kvm_paravirt_supported()) return; @@ -122,9 +135,9 @@ kvm_clock_init(void) } else return; - enable = 1; + kvm_clock_registered = 1; smp_rendezvous(smp_no_rendevous_barrier, kvm_clock_pcpu_system_time, - smp_no_rendevous_barrier, &enable); + smp_no_rendevous_barrier, &kvm_clock_registered); tc_init(&kvm_clock_timecounter); } Modified: projects/paravirt/sys/x86/x86/vmware.c ============================================================================== --- projects/paravirt/sys/x86/x86/vmware.c Wed Dec 31 07:00:36 2014 (r276455) +++ projects/paravirt/sys/x86/x86/vmware.c Wed Dec 31 07:03:07 2014 (r276456) @@ -34,40 +34,23 @@ __FBSDID("$FreeBSD$"); #include #include -static int vmware_identify(void); -static uint32_t vmware_cpuid_identify(void); - -const struct hypervisor_info vmware_hypervisor_info = { - .hvi_name = "VMware", - .hvi_signature = "VMwareVMware", - .hvi_type = VM_GUEST_VMWARE, - .hvi_identify = vmware_identify, -}; - static uint32_t vmware_cpuid_base = -1; static uint32_t vmware_cpuid_high = -1; -static uint32_t +static int vmware_cpuid_identify(void) { + /* + * KB1009458: Mechanisms to determine if software is running in a + * VMware virtual machine: http://kb.vmware.com/kb/1009458 + */ if (vmware_cpuid_base == -1) { - hypervisor_cpuid_base(vmware_hypervisor_info.hvi_signature, - 0, &vmware_cpuid_base, &vmware_cpuid_high); + hypervisor_cpuid_base("VMwareVMware", 0, &vmware_cpuid_base, + &vmware_cpuid_high); } - return (vmware_cpuid_base); -} - -/* - * KB1009458: Mechanisms to determine if software is running in a VMware - * virtual machine: http://kb.vmware.com/kb/1009458 - */ -static int -vmware_identify(void) -{ - - return (vmware_cpuid_identify() != 0); + return (vmware_cpuid_base > 0); } uint64_t @@ -89,3 +72,13 @@ vmware_tsc_freq(void) return (freq); } + +static void +vmware_init(void) +{ + + if (vmware_cpuid_identify() != 0) + hypervisor_register("VMware", VM_GUEST_VMWARE, NULL); +} + +HYPERVISOR_SYSINIT(vmware, vmware_init); From owner-svn-src-projects@FreeBSD.ORG Wed Dec 31 09:41:27 2014 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 2D5CEC7; Wed, 31 Dec 2014 09:41:27 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 1839066021; Wed, 31 Dec 2014 09:41:27 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id sBV9fRVq038674; Wed, 31 Dec 2014 09:41:27 GMT (envelope-from glebius@FreeBSD.org) Received: (from glebius@localhost) by svn.freebsd.org (8.14.9/8.14.9/Submit) id sBV9fQWF038671; Wed, 31 Dec 2014 09:41:26 GMT (envelope-from glebius@FreeBSD.org) Message-Id: <201412310941.sBV9fQWF038671@svn.freebsd.org> X-Authentication-Warning: svn.freebsd.org: glebius set sender to glebius@FreeBSD.org using -f From: Gleb Smirnoff Date: Wed, 31 Dec 2014 09:41:26 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r276457 - projects/ifnet/sys/net X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 31 Dec 2014 09:41:27 -0000 Author: glebius Date: Wed Dec 31 09:41:25 2014 New Revision: 276457 URL: https://svnweb.freebsd.org/changeset/base/276457 Log: A draft of the new API for interface drivers, a major milestone in the project "opaque ifnet". New API for drivers: - Drivers do not include if_var.h, they do include if.h only. Thus, drivers do not know "struct ifnet". They operate with a pointer to it, typedefed as "if_t". - Drivers declare static "struct ifdriver", that describes common properties of all interfaces handled by this driver. Common properties include: input/output/ioctl/etc methods, driver name, interface type, address length, etc. - In device_attach() method drivers prepare on stack a "struct if_attach_args", which describes zillion of parameters that if_attach() would handle. The if_attach() can't fail. The plan is "struct if_attach_args" to be versioned, so that in future we can keep ABI compat shims. - During runtime drivers have a handful of methods to work with ifnet: get softc, get/modify various flags. The kernel after this commit isn't compilable, even w/o any driver in place. It was intentionally separated to outline important part of changes from mechanical changes. More commits to follow this one. Sponsored by: Netflix Sponsored by: Nginx, Inc. Modified: projects/ifnet/sys/net/ethernet.h projects/ifnet/sys/net/if.c projects/ifnet/sys/net/if.h projects/ifnet/sys/net/if_ethersubr.c projects/ifnet/sys/net/if_var.h Modified: projects/ifnet/sys/net/ethernet.h ============================================================================== --- projects/ifnet/sys/net/ethernet.h Wed Dec 31 07:03:07 2014 (r276456) +++ projects/ifnet/sys/net/ethernet.h Wed Dec 31 09:41:25 2014 (r276457) @@ -391,11 +391,6 @@ struct bpf_if; extern uint32_t ether_crc32_le(const uint8_t *, size_t); extern uint32_t ether_crc32_be(const uint8_t *, size_t); extern void ether_demux(struct ifnet *, struct mbuf *); -extern void ether_ifattach(struct ifnet *, const u_int8_t *); -extern void ether_ifdetach(struct ifnet *); -extern int ether_ioctl(struct ifnet *, u_long, caddr_t); -extern int ether_output(struct ifnet *, struct mbuf *, - const struct sockaddr *, struct route *); extern int ether_output_frame(struct ifnet *, struct mbuf *); extern char *ether_sprintf(const u_int8_t *); void ether_vlan_mtap(struct bpf_if *, struct mbuf *, Modified: projects/ifnet/sys/net/if.c ============================================================================== --- projects/ifnet/sys/net/if.c Wed Dec 31 07:03:07 2014 (r276456) +++ projects/ifnet/sys/net/if.c Wed Dec 31 09:41:25 2014 (r276457) @@ -162,7 +162,7 @@ static void if_freemulti(struct ifmultia static void if_grow(void); static void if_route(struct ifnet *, int flag, int fam); static int if_setflag(struct ifnet *, int, int, int *, int); -static int if_transmit(struct ifnet *ifp, struct mbuf *m); +static int if_transmit_start(struct ifnet *ifp, struct mbuf *m); static void if_unroute(struct ifnet *, int flag, int fam); static void link_rtrequest(int, struct rtentry *, struct rt_addrinfo *); static int if_rtdel(struct radix_node *, void *); @@ -196,6 +196,18 @@ VNET_DEFINE(struct ifnet **, ifindex_tab #define V_if_indexlim VNET(if_indexlim) #define V_ifindex_table VNET(ifindex_table) +static struct iftsomax default_tsomax = { + /* + * The TSO defaults need to be such that an NFS mbuf list of 35 + * mbufs totalling just below 64K works and that a chain of mbufs + * can be defragged into at most 32 segments. + */ + .tsomax_bytes = MIN(IP_MAXPACKET, (32 * MCLBYTES) - (ETHER_HDR_LEN + + ETHER_VLAN_ENCAP_LEN)), + .tsomax_segcount = 35, + .tsomax_segsize = 2048, +}; + /* * The global network interface list (V_ifnet) and related state (such as * if_index, if_indexlim, and ifindex_table) are protected by an sxlock and @@ -217,13 +229,12 @@ SX_SYSINIT_FLAGS(ifnet_sx, &ifnet_sxlock */ #define IFNET_HOLD (void *)(uintptr_t)(-1) -static if_com_alloc_t *if_com_alloc[256]; -static if_com_free_t *if_com_free[256]; - static MALLOC_DEFINE(M_IFNET, "ifnet", "interface internals"); MALLOC_DEFINE(M_IFADDR, "ifaddr", "interface address"); MALLOC_DEFINE(M_IFMADDR, "ether_multi", "link-level multicast address"); +static struct ifops ifdead_ops; + struct ifnet * ifnet_byindex_locked(u_short idx) { @@ -263,15 +274,14 @@ ifnet_byindex_ref(u_short idx) } /* - * Allocate an ifindex array entry; return 0 on success or an error on - * failure. + * Allocate an ifindex array entry. */ -static u_short -ifindex_alloc(void) +static void +ifindex_alloc(struct ifnet *ifp) { u_short idx; - IFNET_WLOCK_ASSERT(); + IFNET_WLOCK(); retry: /* * Try to find an empty slot below V_if_index. If we fail, take the @@ -289,11 +299,13 @@ retry: } if (idx > V_if_index) V_if_index = idx; - return (idx); + V_ifindex_table[idx] = ifp; + ifp->if_index = idx; + IFNET_WUNLOCK(); } static void -ifindex_free_locked(u_short idx) +ifindex_free(u_short idx) { IFNET_WLOCK_ASSERT(); @@ -304,33 +316,6 @@ ifindex_free_locked(u_short idx) V_if_index--; } -static void -ifindex_free(u_short idx) -{ - - IFNET_WLOCK(); - ifindex_free_locked(idx); - IFNET_WUNLOCK(); -} - -static void -ifnet_setbyindex_locked(u_short idx, struct ifnet *ifp) -{ - - IFNET_WLOCK_ASSERT(); - - V_ifindex_table[idx] = ifp; -} - -static void -ifnet_setbyindex(u_short idx, struct ifnet *ifp) -{ - - IFNET_WLOCK(); - ifnet_setbyindex_locked(idx, ifp); - IFNET_WUNLOCK(); -} - struct ifaddr * ifaddr_byindex(u_short idx) { @@ -407,50 +392,221 @@ if_grow(void) } /* + * Registration/deregistration of interface types. A type can carry + * common methods. Certain drivers depend on types to be loaded. + */ +static SLIST_HEAD(, iftype) iftypehead = SLIST_HEAD_INITIALIZER(iftypehead); +void +iftype_register(struct iftype *ift) +{ + + IFNET_WLOCK(); + SLIST_INSERT_HEAD(&iftypehead, ift, ift_next); + IFNET_WUNLOCK(); +} + +void +iftype_unregister(struct iftype *ift) +{ + + IFNET_WLOCK(); + SLIST_REMOVE(&iftypehead, ift, iftype, ift_next); + IFNET_WUNLOCK(); +} + +static struct iftype * +iftype_find(ifType type) +{ + struct iftype *ift; + + IFNET_RLOCK(); + SLIST_FOREACH(ift, &iftypehead, ift_next) + if (ift->ift_type == type) + break; + IFNET_RUNLOCK(); + + return (ift); +} + +#define ifdrv_flags __ifdrv_stack_owned +#define IFDRV_BLESSED 0x00000001 + +static void +ifdriver_bless(struct ifdriver *ifdrv, struct iftype *ift) +{ + + if (ift != NULL) { +#define COPY(op) if (ifdrv->ifdrv_ops.op == NULL) \ + ifdrv->ifdrv_ops.op = ift->ift_ops.op + COPY(ifop_input); + COPY(ifop_transmit); + COPY(ifop_output); + COPY(ifop_ioctl); + COPY(ifop_get_counter); + COPY(ifop_init); + COPY(ifop_start); + COPY(ifop_qflush); + COPY(ifop_resolvemulti); + COPY(ifop_reassign); +#undef COPY +#define COPY(f) if (ifdrv->ifdrv_ ## f == 0) \ + ifdrv->ifdrv_ ## f = ift->ift_ ## f + COPY(hdrlen); + COPY(addrlen); + COPY(dlt); + COPY(dlt_hdrlen); +#undef COPY + } + + KASSERT((ifdrv->ifdrv_ops.ifop_transmit == NULL && + ifdrv->ifdrv_ops.ifop_qflush == NULL) || + (ifdrv->ifdrv_ops.ifop_transmit != NULL && + ifdrv->ifdrv_ops.ifop_qflush != NULL), + ("transmit and qflush must both either be set or both be NULL")); + if (ifdrv->ifdrv_ops.ifop_transmit == NULL) { + ifdrv->ifdrv_ops.ifop_transmit = if_transmit_start; + ifdrv->ifdrv_ops.ifop_qflush = if_qflush; + } + + if (ifdrv->ifdrv_ops.ifop_get_counter == NULL) + ifdrv->ifdrv_ops.ifop_get_counter = if_get_counter_default; + +#if defined(INET) || defined(INET6) + /* Use defaults for TSO, if nothing is set. */ + if (ifdrv->ifdrv_tsomax == NULL) + ifdrv->ifdrv_tsomax = &default_tsomax; + else + KASSERT(ifdrv->ifdrv_tsomax->tsomax_bytes == 0 || + ifdrv->ifdrv_tsomax->tsomax_bytes >= (IP_MAXPACKET / 8), + ("%s: tsomax_bytes is outside of range", + ifdrv->ifdrv_dname)); +#endif + + ifdrv->ifdrv_flags |= IFDRV_BLESSED; +} + +/* * Allocate a struct ifnet and an index for an interface. A layer 2 * common structure will also be allocated if an allocation routine is * registered for the passed type. */ -struct ifnet * -if_alloc(u_char type) +if_t +if_attach(struct if_attach_args *ifat) { + struct ifdriver *ifdrv; + struct iftype *ift; struct ifnet *ifp; - u_short idx; + struct ifaddr *ifa; + struct sockaddr_dl *sdl; + int socksize, ifasize, namelen, masklen; - ifp = malloc(sizeof(struct ifnet), M_IFNET, M_WAITOK|M_ZERO); - IFNET_WLOCK(); - idx = ifindex_alloc(); - ifnet_setbyindex_locked(idx, IFNET_HOLD); - IFNET_WUNLOCK(); - ifp->if_index = idx; - ifp->if_type = type; - ifp->if_alloctype = type; - if (if_com_alloc[type] != NULL) { - ifp->if_l2com = if_com_alloc[type](type, ifp); - if (ifp->if_l2com == NULL) { - free(ifp, M_IFNET); - ifindex_free(idx); - return (NULL); - } - } + KASSERT(ifat->ifat_version == IF_ATTACH_VERSION, + ("%s: version %d, expected %d", + __func__, ifat->ifat_version, IF_ATTACH_VERSION)); + + ifp = malloc(sizeof(struct ifnet), M_IFNET, M_WAITOK | M_ZERO); + for (int i = 0; i < IFCOUNTERS; i++) + ifp->if_counters[i] = counter_u64_alloc(M_WAITOK); +#ifdef MAC + mac_ifnet_init(ifp); + mac_ifnet_create(ifp); +#endif + + ifdrv = ifat->ifat_drv; + ift = iftype_find(ifdrv->ifdrv_type); + + if ((ifdrv->ifdrv_flags & IFDRV_BLESSED) == 0) + ifdriver_bless(ifdrv, ift); + + ifp->if_ops = &ifdrv->ifdrv_ops; + ifp->if_drv = ifdrv; + ifp->if_type = ift; + +#define COPY(f) ifp->if_ ## f = ifat->ifat_ ## f + COPY(softc); + COPY(mtu); + COPY(flags); + COPY(capabilities); + COPY(capenable); + COPY(hwassist); + COPY(baudrate); +#undef COPY + + if (ifat->ifat_tsomax) { + /* + * Driver wants dynamic tsomax on this interface, we + * will allocate one and are responsible for freeing + * it on detach. + */ + KASSERT(ifat->ifat_tsomax->tsomax_bytes == 0 || + ifat->ifat_tsomax->tsomax_bytes >= (IP_MAXPACKET / 8), + ("%s: tsomax_bytes is outside of range", + ifdrv->ifdrv_dname)); + ifp->if_tsomax = malloc(sizeof(struct iftsomax), M_IFNET, + M_WAITOK); + bcopy(ifat->ifat_tsomax, ifp->if_tsomax, + sizeof(struct iftsomax)); + } else + ifp->if_tsomax = ifdrv->ifdrv_tsomax; IF_ADDR_LOCK_INIT(ifp); - TASK_INIT(&ifp->if_linktask, 0, do_link_state_change, ifp); - ifp->if_afdata_initialized = 0; IF_AFDATA_LOCK_INIT(ifp); + TASK_INIT(&ifp->if_linktask, 0, do_link_state_change, ifp); TAILQ_INIT(&ifp->if_addrhead); TAILQ_INIT(&ifp->if_multiaddrs); TAILQ_INIT(&ifp->if_groups); -#ifdef MAC - mac_ifnet_init(ifp); -#endif - ifq_init(&ifp->if_snd, ifp); - refcount_init(&ifp->if_refcount, 1); /* Index reference. */ - for (int i = 0; i < IFCOUNTERS; i++) - ifp->if_counters[i] = counter_u64_alloc(M_WAITOK); - ifp->if_get_counter = if_get_counter_default; - ifnet_setbyindex(ifp->if_index, ifp); + /* XXXGL: there is no check that name is unique. */ + ifp->if_dunit = ifat->ifat_dunit; + if (ifat->ifat_dunit != IF_DUNIT_NONE) + snprintf(ifp->if_xname, IFNAMSIZ, "%s%d", + ifdrv->ifdrv_dname, ifat->ifat_dunit); + else + strlcpy(ifp->if_xname, ifdrv->ifdrv_dname, IFNAMSIZ); + + ifq_init(&ifp->if_snd, ifp); /* XXXGL */ + + ifindex_alloc(ifp); + refcount_init(&ifp->if_refcount, 1); + + /* + * Allocate ifaddr to store link level address and name for this + * interface. Always save enough space for any possiable name so + * we can do a rename in place later. + */ + namelen = strlen(ifp->if_xname); + masklen = offsetof(struct sockaddr_dl, sdl_data[0]) + IFNAMSIZ; + socksize = masklen + ifdrv->ifdrv_addrlen; + if (socksize < sizeof(*sdl)) + socksize = sizeof(*sdl); + socksize = roundup2(socksize, sizeof(long)); + ifasize = sizeof(*ifa) + 2 * socksize; + ifa = ifa_alloc(ifasize, M_WAITOK); + sdl = (struct sockaddr_dl *)(ifa + 1); + sdl->sdl_len = socksize; + sdl->sdl_family = AF_LINK; + bcopy(ifp->if_xname, sdl->sdl_data, namelen); + sdl->sdl_nlen = namelen; + sdl->sdl_index = ifp->if_index; + sdl->sdl_type = ifdrv->ifdrv_type; + ifp->if_addr = ifa; + ifa->ifa_ifp = ifp; + ifa->ifa_rtrequest = link_rtrequest; + ifa->ifa_addr = (struct sockaddr *)sdl; + sdl = (struct sockaddr_dl *)(socksize + (char *)sdl); + ifa->ifa_netmask = (struct sockaddr *)sdl; + sdl->sdl_len = masklen; + while (namelen != 0) + sdl->sdl_data[--namelen] = 0xff; + TAILQ_INSERT_HEAD(&ifp->if_addrhead, ifa, ifa_link); + + if (ift) + ift->ift_attach(ifp, ifat); + + bpfattach(ifp, ifdrv->ifdrv_dlt, ifdrv->ifdrv_dlt_hdrlen); + + if_attach_internal(ifp, 0); + return (ifp); } @@ -462,13 +618,13 @@ if_alloc(u_char type) static void if_free_internal(struct ifnet *ifp) { + struct iftype *ift = ifp->if_type; KASSERT((ifp->if_flags & IFF_DYING), ("if_free_internal: interface not dying")); - if (if_com_free[ifp->if_alloctype] != NULL) - if_com_free[ifp->if_alloctype](ifp->if_l2com, - ifp->if_alloctype); + if (ift != NULL && ift->ift_detach != NULL) + ift->ift_detach(ifp); #ifdef MAC mac_ifnet_destroy(ifp); @@ -482,29 +638,26 @@ if_free_internal(struct ifnet *ifp) for (int i = 0; i < IFCOUNTERS; i++) counter_u64_free(ifp->if_counters[i]); + if (ifp->if_tsomax != ifp->if_drv->ifdrv_tsomax) + free(ifp->if_tsomax, M_IFNET); + free(ifp, M_IFNET); } -/* - * Deregister an interface and free the associated storage. - */ void -if_free(struct ifnet *ifp) +if_mtap(if_t ifp, struct mbuf *m, void *data, u_int dlen) { - ifp->if_flags |= IFF_DYING; /* XXX: Locking */ - - CURVNET_SET_QUIET(ifp->if_vnet); - IFNET_WLOCK(); - KASSERT(ifp == ifnet_byindex_locked(ifp->if_index), - ("%s: freeing unallocated ifnet", ifp->if_xname)); - - ifindex_free_locked(ifp->if_index); - IFNET_WUNLOCK(); + if (!bpf_peers_present(ifp->if_bpf)) + return; - if (refcount_release(&ifp->if_refcount)) - if_free_internal(ifp); - CURVNET_RESTORE(); + if (dlen == 0) { + if (m->m_flags & M_VLANTAG) + ether_vlan_mtap(ifp->if_bpf, m, NULL, 0); + else + bpf_mtap(ifp->if_bpf, m); + } else + bpf_mtap2(ifp->if_bpf, data, dlen, m); } /* @@ -552,31 +705,12 @@ ifq_delete(struct ifaltq *ifq) } /* - * Perform generic interface initalization tasks and attach the interface - * to the list of "active" interfaces. If vmove flag is set on entry - * to if_attach_internal(), perform only a limited subset of initialization - * tasks, given that we are moving from one vnet to another an ifnet which - * has already been fully initialized. - * - * XXX: - * - The decision to return void and thus require this function to - * succeed is questionable. - * - We should probably do more sanity checking. For instance we don't - * do anything to insure if_xname is unique or non-empty. - */ -void -if_attach(struct ifnet *ifp) -{ - - if_attach_internal(ifp, 0); -} - -/* * Compute the least common TSO limit. */ void -if_hw_tsomax_common(if_t ifp, struct ifnet_hw_tsomax *pmax) +if_tsomax_common(const struct iftsomax *from, struct iftsomax *to) { + /* * 1) If there is no limit currently, take the limit from * the network adapter. @@ -584,17 +718,17 @@ if_hw_tsomax_common(if_t ifp, struct ifn * 2) If the network adapter has a limit below the current * limit, apply it. */ - if (pmax->tsomaxbytes == 0 || (ifp->if_hw_tsomax != 0 && - ifp->if_hw_tsomax < pmax->tsomaxbytes)) { - pmax->tsomaxbytes = ifp->if_hw_tsomax; - } - if (pmax->tsomaxsegcount == 0 || (ifp->if_hw_tsomaxsegcount != 0 && - ifp->if_hw_tsomaxsegcount < pmax->tsomaxsegcount)) { - pmax->tsomaxsegcount = ifp->if_hw_tsomaxsegcount; - } - if (pmax->tsomaxsegsize == 0 || (ifp->if_hw_tsomaxsegsize != 0 && - ifp->if_hw_tsomaxsegsize < pmax->tsomaxsegsize)) { - pmax->tsomaxsegsize = ifp->if_hw_tsomaxsegsize; + if (to->tsomax_bytes == 0 || (from->tsomax_bytes != 0 && + from->tsomax_bytes < to->tsomax_bytes)) { + to->tsomax_bytes = from->tsomax_bytes; + } + if (to->tsomax_segcount == 0 || (from->tsomax_segcount != 0 && + from->tsomax_segcount < to->tsomax_segcount)) { + to->tsomax_segcount = from->tsomax_segcount; + } + if (to->tsomax_segsize == 0 || (from->tsomax_segsize != 0 && + from->tsomax_segsize < to->tsomax_segsize)) { + to->tsomax_segsize = from->tsomax_segsize; } } @@ -604,31 +738,35 @@ if_hw_tsomax_common(if_t ifp, struct ifn * Returns zero if no change. Else non-zero. */ int -if_hw_tsomax_update(if_t ifp, struct ifnet_hw_tsomax *pmax) +if_tsomax_update(if_t ifp, const struct iftsomax *new) { int retval = 0; - if (ifp->if_hw_tsomax != pmax->tsomaxbytes) { - ifp->if_hw_tsomax = pmax->tsomaxbytes; + + KASSERT(ifp->if_tsomax != ifp->if_drv->ifdrv_tsomax, + ("%s: interface %s (driver %s) has static if_tsomax", __func__, + ifp->if_xname, ifp->if_drv->ifdrv_dname)); + + if (ifp->if_tsomax->tsomax_bytes != new->tsomax_bytes) { + ifp->if_tsomax->tsomax_bytes = new->tsomax_bytes; retval++; } - if (ifp->if_hw_tsomaxsegsize != pmax->tsomaxsegsize) { - ifp->if_hw_tsomaxsegsize = pmax->tsomaxsegsize; + if (ifp->if_tsomax->tsomax_segsize != new->tsomax_segsize) { + ifp->if_tsomax->tsomax_segsize = new->tsomax_segsize; retval++; } - if (ifp->if_hw_tsomaxsegcount != pmax->tsomaxsegcount) { - ifp->if_hw_tsomaxsegcount = pmax->tsomaxsegcount; + if (ifp->if_tsomax->tsomax_segcount != new->tsomax_segcount) { + ifp->if_tsomax->tsomax_segcount = new->tsomax_segcount; retval++; } + KASSERT(ifp->if_tsomax->tsomax_bytes == 0 || + ifp->if_tsomax->tsomax_bytes >= (IP_MAXPACKET / 8), + ("%s: tsomax_bytes is outside of range", ifp->if_xname)); return (retval); } static void if_attach_internal(struct ifnet *ifp, int vmove) { - unsigned socksize, ifasize; - int namelen, masklen; - struct sockaddr_dl *sdl; - struct ifaddr *ifa; if (ifp->if_index == 0 || ifp != ifnet_byindex(ifp->if_index)) panic ("%s: BUG: if_attach called without if_alloc'd input()\n", @@ -645,92 +783,16 @@ if_attach_internal(struct ifnet *ifp, in getmicrotime(&ifp->if_lastchange); ifp->if_epoch = time_uptime; - KASSERT((ifp->if_transmit == NULL && ifp->if_qflush == NULL) || - (ifp->if_transmit != NULL && ifp->if_qflush != NULL), - ("transmit and qflush must both either be set or both be NULL")); - if (ifp->if_transmit == NULL) { - ifp->if_transmit = if_transmit; - ifp->if_qflush = if_qflush; - } - - if (!vmove) { -#ifdef MAC - mac_ifnet_create(ifp); -#endif - - /* - * Create a Link Level name for this device. - */ - namelen = strlen(ifp->if_xname); - /* - * Always save enough space for any possiable name so we - * can do a rename in place later. - */ - masklen = offsetof(struct sockaddr_dl, sdl_data[0]) + IFNAMSIZ; - socksize = masklen + ifp->if_addrlen; - if (socksize < sizeof(*sdl)) - socksize = sizeof(*sdl); - socksize = roundup2(socksize, sizeof(long)); - ifasize = sizeof(*ifa) + 2 * socksize; - ifa = ifa_alloc(ifasize, M_WAITOK); - sdl = (struct sockaddr_dl *)(ifa + 1); - sdl->sdl_len = socksize; - sdl->sdl_family = AF_LINK; - bcopy(ifp->if_xname, sdl->sdl_data, namelen); - sdl->sdl_nlen = namelen; - sdl->sdl_index = ifp->if_index; - sdl->sdl_type = ifp->if_type; - ifp->if_addr = ifa; - ifa->ifa_ifp = ifp; - ifa->ifa_rtrequest = link_rtrequest; - ifa->ifa_addr = (struct sockaddr *)sdl; - sdl = (struct sockaddr_dl *)(socksize + (caddr_t)sdl); - ifa->ifa_netmask = (struct sockaddr *)sdl; - sdl->sdl_len = masklen; - while (namelen != 0) - sdl->sdl_data[--namelen] = 0xff; - TAILQ_INSERT_HEAD(&ifp->if_addrhead, ifa, ifa_link); - /* Reliably crash if used uninitialized. */ - ifp->if_broadcastaddr = NULL; - -#if defined(INET) || defined(INET6) - /* Use defaults for TSO, if nothing is set */ - if (ifp->if_hw_tsomax == 0 && - ifp->if_hw_tsomaxsegcount == 0 && - ifp->if_hw_tsomaxsegsize == 0) { - /* - * The TSO defaults needs to be such that an - * NFS mbuf list of 35 mbufs totalling just - * below 64K works and that a chain of mbufs - * can be defragged into at most 32 segments: - */ - ifp->if_hw_tsomax = min(IP_MAXPACKET, (32 * MCLBYTES) - - (ETHER_HDR_LEN + ETHER_VLAN_ENCAP_LEN)); - ifp->if_hw_tsomaxsegcount = 35; - ifp->if_hw_tsomaxsegsize = 2048; /* 2K */ - - /* XXX some drivers set IFCAP_TSO after ethernet attach */ - if (ifp->if_capabilities & IFCAP_TSO) { - if_printf(ifp, "Using defaults for TSO: %u/%u/%u\n", - ifp->if_hw_tsomax, - ifp->if_hw_tsomaxsegcount, - ifp->if_hw_tsomaxsegsize); - } - } -#endif - } #ifdef VIMAGE - else { - /* - * Update the interface index in the link layer address - * of the interface. - */ - for (ifa = ifp->if_addr; ifa != NULL; - ifa = TAILQ_NEXT(ifa, ifa_link)) { - if (ifa->ifa_addr->sa_family == AF_LINK) { - sdl = (struct sockaddr_dl *)ifa->ifa_addr; - sdl->sdl_index = ifp->if_index; - } + /* + * Update the interface index in the link layer address + * of the interface. + */ + for (ifa = ifp->if_addr; ifa != NULL; + ifa = TAILQ_NEXT(ifa, ifa_link)) { + if (ifa->ifa_addr->sa_family == AF_LINK) { + sdl = (struct sockaddr_dl *)ifa->ifa_addr; + sdl->sdl_index = ifp->if_index; } } #endif @@ -856,11 +918,25 @@ if_purgemaddrs(struct ifnet *ifp) * how to prevent things from starting to use the interface during detach. */ void -if_detach(struct ifnet *ifp) +if_detach(if_t ifp) { + ifp->if_flags |= IFF_DYING; /* XXX: Locking */ + + bpfdetach(ifp); + CURVNET_SET_QUIET(ifp->if_vnet); if_detach_internal(ifp, 0); + + IFNET_WLOCK(); + KASSERT(ifp == ifnet_byindex_locked(ifp->if_index), + ("%s: freeing unallocated ifnet", ifp->if_xname)); + + ifindex_free(ifp->if_index); + IFNET_WUNLOCK(); + + if (refcount_release(&ifp->if_refcount)) + if_free_internal(ifp); CURVNET_RESTORE(); } @@ -937,7 +1013,7 @@ if_detach_internal(struct ifnet *ifp, in /* * Prevent further calls into the device driver via ifnet. */ - if_dead(ifp); + ifp->if_ops = &ifdead_ops; /* * Remove link ifaddr pointer and maybe decrement if_index. @@ -1014,7 +1090,7 @@ if_vmove(struct ifnet *ifp, struct vnet * or we'd lock on one vnet and unlock on another. */ IFNET_WLOCK(); - ifindex_free_locked(ifp->if_index); + ifindex_free(ifp->if_index); IFNET_WUNLOCK(); /* @@ -1432,6 +1508,147 @@ if_rtdel(struct radix_node *rn, void *ar } /* + * Managing different integer values and bitmasks of an ifnet. + */ +static void +if_getfeature(if_t ifp, ift_feature f, uint32_t **f32, uint64_t **f64, + void **ptr) +{ + + if (f32) + *f32 = NULL; + if (f64) + *f64 = NULL; + if (ptr) + *ptr = NULL; + + switch (f) { + case IF_FLAGS: + *f32 = &ifp->if_flags; + break; + case IF_DRV_FLAGS: + *f32 = &ifp->if_drv_flags; + break; + case IF_CAPABILITIES: + *f32 = &ifp->if_capabilities; + break; + case IF_CAPENABLE: + *f32 = &ifp->if_capenable; + break; + case IF_MTU: + *f32 = &ifp->if_mtu; + break; + case IF_HWASSIST: + *f64 = &ifp->if_hwassist; + break; + case IF_BAUDRATE: + *f64 = &ifp->if_baudrate; + break; + default: + panic("%s: unknown feature %d", __func__, f); + }; +} + +void +if_setflags(if_t ifp, ift_feature f, uint64_t set) +{ + uint64_t *f64; + uint32_t *f32; + + if_getfeature(ifp, f, &f32, &f64, NULL); + if (f32 != NULL) { + KASSERT(set <= UINT32_MAX, + ("%s: value of 0x%jx for feature %d", + __func__, (uintmax_t )set, f)); + *f32 = set; + } else { + *f64 = set; + } +} + +uint64_t +if_flagbits(if_t ifp, ift_feature f, uint64_t set, uint64_t clr, uint64_t xor) +{ + uint64_t *f64; + uint32_t *f32; + +#ifdef INVARIANTS + switch (f) { + case IF_CAPABILITIES: + if (set || clr || xor) + panic("IF_CAPABILITIES can't be modified"); + break; + case IF_CAPENABLE: + if (set || clr || xor) + panic("IF_CAPENABLE must be modified by if_capenable"); + break; + default: + break; + } +#endif + + if_getfeature(ifp, f, &f32, &f64, NULL); + if (f32 != NULL) { + KASSERT(set <= UINT32_MAX, + ("%s: value of 0x%jx for feature %d", + __func__, (uintmax_t )set, f)); + KASSERT(clr <= UINT32_MAX, + ("%s: value of 0x%jx for feature %d", + __func__, (uintmax_t )clr, f)); + KASSERT(xor <= UINT32_MAX, + ("%s: value of 0x%jx for feature %d", + __func__, (uintmax_t )xor, f)); + *f32 |= set; + *f32 &= ~clr; + *f32 ^= xor; + return (*f32); + } else { + *f64 |= set; + *f64 &= ~clr; + *f64 ^= xor; + return (*f64); + } +} + +/* + * Modifying if_capenable may require extra actions, e.g. reconfiguring + * capenable on vlans. + */ +void +if_capenable(if_t ifp, uint64_t capenable) +{ + + KASSERT(capenable <= UINT32_MAX, ("%s: extra bits in 0x%jx", + __func__, (uintmax_t )capenable)); + + ifp->if_capenable = capenable; + + if (ifp->if_vlantrunk != NULL) + (*vlan_trunk_cap_p)(ifp); +} + +void * +if_getsoftc(if_t ifp, ift_feature f) +{ + + switch (f) { + case IF_DRIVER_SOFTC: + return (ifp->if_softc); + default: + panic("%s: unknown feature %d", __func__, f); + } +} + +char * +if_lladdr(if_t ifp) +{ + struct sockaddr_dl *sdl; + + sdl = (struct sockaddr_dl *)(ifp->if_addr->ifa_addr); + return (LLADDR(sdl)); +} + +/* * Return counter values from counter(9)s stored in ifnet. */ uint64_t @@ -1463,10 +1680,10 @@ void if_data_copy(struct ifnet *ifp, struct if_data *ifd) { - ifd->ifi_type = ifp->if_type; + ifd->ifi_type = if_type(ifp); ifd->ifi_physical = 0; - ifd->ifi_addrlen = ifp->if_addrlen; - ifd->ifi_hdrlen = ifp->if_hdrlen; + ifd->ifi_addrlen = if_addrlen(ifp); + ifd->ifi_hdrlen = ifp->if_drv->ifdrv_hdrlen; ifd->ifi_link_state = ifp->if_link_state; ifd->ifi_vhid = 0; ifd->ifi_datalen = sizeof(struct if_data); @@ -1477,18 +1694,18 @@ if_data_copy(struct ifnet *ifp, struct i ifd->ifi_epoch = ifp->if_epoch; ifd->ifi_lastchange = ifp->if_lastchange; - ifd->ifi_ipackets = ifp->if_get_counter(ifp, IFCOUNTER_IPACKETS); - ifd->ifi_ierrors = ifp->if_get_counter(ifp, IFCOUNTER_IERRORS); - ifd->ifi_opackets = ifp->if_get_counter(ifp, IFCOUNTER_OPACKETS); - ifd->ifi_oerrors = ifp->if_get_counter(ifp, IFCOUNTER_OERRORS); - ifd->ifi_collisions = ifp->if_get_counter(ifp, IFCOUNTER_COLLISIONS); - ifd->ifi_ibytes = ifp->if_get_counter(ifp, IFCOUNTER_IBYTES); - ifd->ifi_obytes = ifp->if_get_counter(ifp, IFCOUNTER_OBYTES); - ifd->ifi_imcasts = ifp->if_get_counter(ifp, IFCOUNTER_IMCASTS); - ifd->ifi_omcasts = ifp->if_get_counter(ifp, IFCOUNTER_OMCASTS); - ifd->ifi_iqdrops = ifp->if_get_counter(ifp, IFCOUNTER_IQDROPS); - ifd->ifi_oqdrops = ifp->if_get_counter(ifp, IFCOUNTER_OQDROPS); - ifd->ifi_noproto = ifp->if_get_counter(ifp, IFCOUNTER_NOPROTO); + ifd->ifi_ipackets = if_get_counter(ifp, IFCOUNTER_IPACKETS); + ifd->ifi_ierrors = if_get_counter(ifp, IFCOUNTER_IERRORS); + ifd->ifi_opackets = if_get_counter(ifp, IFCOUNTER_OPACKETS); + ifd->ifi_oerrors = if_get_counter(ifp, IFCOUNTER_OERRORS); + ifd->ifi_collisions = if_get_counter(ifp, IFCOUNTER_COLLISIONS); + ifd->ifi_ibytes = if_get_counter(ifp, IFCOUNTER_IBYTES); + ifd->ifi_obytes = if_get_counter(ifp, IFCOUNTER_OBYTES); + ifd->ifi_imcasts = if_get_counter(ifp, IFCOUNTER_IMCASTS); + ifd->ifi_omcasts = if_get_counter(ifp, IFCOUNTER_OMCASTS); + ifd->ifi_iqdrops = if_get_counter(ifp, IFCOUNTER_IQDROPS); + ifd->ifi_oqdrops = if_get_counter(ifp, IFCOUNTER_OQDROPS); + ifd->ifi_noproto = if_get_counter(ifp, IFCOUNTER_NOPROTO); } /* @@ -1601,10 +1818,10 @@ ifa_add_loopback_route(struct ifaddr *if if (error == 0 && rt != NULL) { RT_LOCK(rt); - ((struct sockaddr_dl *)rt->rt_gateway)->sdl_type = - ifa->ifa_ifp->if_type; + ((struct sockaddr_dl *)rt->rt_gateway)->sdl_type = + if_type(ifa->ifa_ifp); ((struct sockaddr_dl *)rt->rt_gateway)->sdl_index = - ifa->ifa_ifp->if_index; + ifa->ifa_ifp->if_index; RT_REMREF(rt); RT_UNLOCK(rt); } else if (error != 0) @@ -1623,7 +1840,7 @@ ifa_del_loopback_route(struct ifaddr *if bzero(&null_sdl, sizeof(null_sdl)); null_sdl.sdl_len = sizeof(null_sdl); null_sdl.sdl_family = AF_LINK; - null_sdl.sdl_type = ifa->ifa_ifp->if_type; + null_sdl.sdl_type = if_type(ifa->ifa_ifp); null_sdl.sdl_index = ifa->ifa_ifp->if_index; bzero(&info, sizeof(info)); info.rti_flags = ifa->ifa_flags | RTF_HOST | RTF_STATIC; @@ -1648,7 +1865,7 @@ ifa_switch_loopback_route(struct ifaddr return (EHOSTUNREACH); } ((struct sockaddr_dl *)rt->rt_gateway)->sdl_type = - ifa->ifa_ifp->if_type; + if_type(ifa->ifa_ifp); ((struct sockaddr_dl *)rt->rt_gateway)->sdl_index = ifa->ifa_ifp->if_index; RTFREE_LOCKED(rt); @@ -2038,7 +2255,6 @@ if_unroute(struct ifnet *ifp, int flag, TAILQ_FOREACH(ifa, &ifp->if_addrhead, ifa_link) if (fam == PF_UNSPEC || (fam == ifa->ifa_addr->sa_family)) pfctlinput(PRC_IFDOWN, ifa->ifa_addr); - ifp->if_qflush(ifp); if (ifp->if_carp) (*carp_linkstate_p)(ifp); @@ -2107,7 +2323,8 @@ do_link_state_change(void *arg, int pend if (ifp->if_vlantrunk != NULL) (*vlan_link_state_p)(ifp); - if ((ifp->if_type == IFT_ETHER || ifp->if_type == IFT_L2VLAN) && + /* XXXGL: make ng_ether softc pointer */ + if ((if_type(ifp) == IFT_ETHER || if_type(ifp) == IFT_L2VLAN) && ifp->if_l2com != NULL) (*ng_ether_link_state_p)(ifp, link_state); if (ifp->if_carp) @@ -2361,9 +2578,7 @@ ifhwioctl(u_long cmd, struct ifnet *ifp, } ifp->if_flags = (ifp->if_flags & IFF_CANTCHANGE) | (new_flags &~ IFF_CANTCHANGE); - if (ifp->if_ioctl) { - (void) (*ifp->if_ioctl)(ifp, cmd, data); - } + if_ioctl(ifp, cmd, data); getmicrotime(&ifp->if_lastchange); break; @@ -2371,11 +2586,9 @@ ifhwioctl(u_long cmd, struct ifnet *ifp, error = priv_check(td, PRIV_NET_SETIFCAP); if (error) return (error); - if (ifp->if_ioctl == NULL) - return (EOPNOTSUPP); if (ifr->ifr_reqcap & ~ifp->if_capabilities) return (EINVAL); - error = (*ifp->if_ioctl)(ifp, cmd, data); + error = if_ioctl(ifp, cmd, data); if (error == 0) getmicrotime(&ifp->if_lastchange); break; @@ -2464,9 +2677,7 @@ ifhwioctl(u_long cmd, struct ifnet *ifp, error = priv_check(td, PRIV_NET_SETIFPHYS); if (error) return (error); - if (ifp->if_ioctl == NULL) - return (EOPNOTSUPP); - error = (*ifp->if_ioctl)(ifp, cmd, data); + error = if_ioctl(ifp, cmd, data); if (error == 0) getmicrotime(&ifp->if_lastchange); break; @@ -2480,9 +2691,7 @@ ifhwioctl(u_long cmd, struct ifnet *ifp, return (error); if (ifr->ifr_mtu < IF_MINMTU || ifr->ifr_mtu > IF_MAXMTU) return (EINVAL); - if (ifp->if_ioctl == NULL) - return (EOPNOTSUPP); - error = (*ifp->if_ioctl)(ifp, cmd, data); + error = if_ioctl(ifp, cmd, data); if (error == 0) { getmicrotime(&ifp->if_lastchange); rt_ifmsg(ifp); @@ -2550,9 +2759,7 @@ ifhwioctl(u_long cmd, struct ifnet *ifp, error = priv_check(td, PRIV_NET_HWIOCTL); if (error) return (error); - if (ifp->if_ioctl == NULL) - return (EOPNOTSUPP); - error = (*ifp->if_ioctl)(ifp, cmd, data); + error = if_ioctl(ifp, cmd, data); if (error == 0) getmicrotime(&ifp->if_lastchange); break; @@ -2562,9 +2769,7 @@ ifhwioctl(u_long cmd, struct ifnet *ifp, *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-projects@FreeBSD.ORG Wed Dec 31 09:44:41 2014 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 22BD21C2; Wed, 31 Dec 2014 09:44:41 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 0D777660DB; Wed, 31 Dec 2014 09:44:41 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id sBV9ifrP039117; Wed, 31 Dec 2014 09:44:41 GMT (envelope-from glebius@FreeBSD.org) Received: (from glebius@localhost) by svn.freebsd.org (8.14.9/8.14.9/Submit) id sBV9iZIC039093; Wed, 31 Dec 2014 09:44:35 GMT (envelope-from glebius@FreeBSD.org) Message-Id: <201412310944.sBV9iZIC039093@svn.freebsd.org> X-Authentication-Warning: svn.freebsd.org: glebius set sender to glebius@FreeBSD.org using -f From: Gleb Smirnoff Date: Wed, 31 Dec 2014 09:44:35 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r276458 - projects/ifnet/sys/net X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 31 Dec 2014 09:44:41 -0000 Author: glebius Date: Wed Dec 31 09:44:34 2014 New Revision: 276458 URL: https://svnweb.freebsd.org/changeset/base/276458 Log: - Mechanically convert access to different ifnet fields that moved to ifdriver to inline functions. - Other small changes to adopt to new ifnet world order. Sponsored by: Netflix Sponsored by: Nginx, Inc. Deleted: projects/ifnet/sys/net/if_dead.c Modified: projects/ifnet/sys/net/bpf.c projects/ifnet/sys/net/bridgestp.c projects/ifnet/sys/net/ieee8023ad_lacp.c projects/ifnet/sys/net/if_arcsubr.c projects/ifnet/sys/net/if_bridge.c projects/ifnet/sys/net/if_clone.c projects/ifnet/sys/net/if_clone.h projects/ifnet/sys/net/if_debug.c projects/ifnet/sys/net/if_dl.h projects/ifnet/sys/net/if_fddisubr.c projects/ifnet/sys/net/if_iso88025subr.c projects/ifnet/sys/net/if_lagg.c projects/ifnet/sys/net/if_llatbl.c projects/ifnet/sys/net/if_mib.c projects/ifnet/sys/net/if_tap.c projects/ifnet/sys/net/if_vlan.c projects/ifnet/sys/net/if_vlan_var.h projects/ifnet/sys/net/route.c projects/ifnet/sys/net/rtsock.c Modified: projects/ifnet/sys/net/bpf.c ============================================================================== --- projects/ifnet/sys/net/bpf.c Wed Dec 31 09:41:25 2014 (r276457) +++ projects/ifnet/sys/net/bpf.c Wed Dec 31 09:44:34 2014 (r276458) @@ -1140,13 +1140,13 @@ bpfwrite(struct cdev *dev, struct uio *u BPFD_UNLOCK(d); #endif - error = (*ifp->if_output)(ifp, m, &dst, NULL); + error = if_output(ifp, m, &dst, NULL); if (error) d->bd_wdcount++; if (mc != NULL) { if (error == 0) - (*ifp->if_input)(ifp, mc); + if_input(ifp, mc); else m_freem(mc); } @@ -1330,7 +1330,7 @@ bpfioctl(struct cdev *dev, u_long cmd, c error = EINVAL; else { ifp = d->bd_bif->bif_ifp; - error = (*ifp->if_ioctl)(ifp, cmd, addr); + error = if_ioctl(ifp, cmd, addr); } break; } @@ -2520,10 +2520,7 @@ bpfattach2(struct ifnet *ifp, u_int dlt, { struct bpf_if *bp; - bp = malloc(sizeof(*bp), M_BPF, M_NOWAIT | M_ZERO); - if (bp == NULL) - panic("bpfattach"); - + bp = malloc(sizeof(*bp), M_BPF, M_WAITOK | M_ZERO); LIST_INIT(&bp->bif_dlist); LIST_INIT(&bp->bif_wlist); bp->bif_ifp = ifp; Modified: projects/ifnet/sys/net/bridgestp.c ============================================================================== --- projects/ifnet/sys/net/bridgestp.c Wed Dec 31 09:41:25 2014 (r276457) +++ projects/ifnet/sys/net/bridgestp.c Wed Dec 31 09:44:34 2014 (r276458) @@ -245,7 +245,7 @@ bstp_transmit_tcn(struct bstp_state *bs, eh = mtod(m, struct ether_header *); - memcpy(eh->ether_shost, IF_LLADDR(ifp), ETHER_ADDR_LEN); + memcpy(eh->ether_shost, if_lladdr(ifp), ETHER_ADDR_LEN); memcpy(eh->ether_dhost, bstp_etheraddr, ETHER_ADDR_LEN); eh->ether_type = htons(sizeof(bpdu)); @@ -359,7 +359,7 @@ bstp_send_bpdu(struct bstp_state *bs, st bpdu->cbu_ctl = LLC_UI; bpdu->cbu_protoid = htons(BSTP_PROTO_ID); - memcpy(eh->ether_shost, IF_LLADDR(ifp), ETHER_ADDR_LEN); + memcpy(eh->ether_shost, if_lladdr(ifp), ETHER_ADDR_LEN); memcpy(eh->ether_dhost, bstp_etheraddr, ETHER_ADDR_LEN); switch (bpdu->cbu_bpdutype) { @@ -2047,14 +2047,14 @@ bstp_reinit(struct bstp_state *bs) if (ifp->if_bridge != bridgeptr) continue; /* Not part of our bridge */ - if (bstp_addr_cmp(IF_LLADDR(ifp), llzero) == 0) + if (bstp_addr_cmp(if_lladdr(ifp), llzero) == 0) continue; /* No mac address set */ if (mif == NULL) { mif = ifp; continue; } - if (bstp_addr_cmp(IF_LLADDR(ifp), IF_LLADDR(mif)) < 0) { + if (bstp_addr_cmp(if_lladdr(ifp), if_lladdr(mif)) < 0) { mif = ifp; continue; } @@ -2063,7 +2063,7 @@ bstp_reinit(struct bstp_state *bs) if (mif == NULL) goto disablestp; - e_addr = IF_LLADDR(mif); + e_addr = if_lladdr(mif); bs->bs_bridge_pv.pv_dbridge_id = (((uint64_t)bs->bs_bridge_priority) << 48) | (((uint64_t)e_addr[0]) << 40) | Modified: projects/ifnet/sys/net/ieee8023ad_lacp.c ============================================================================== --- projects/ifnet/sys/net/ieee8023ad_lacp.c Wed Dec 31 09:41:25 2014 (r276457) +++ projects/ifnet/sys/net/ieee8023ad_lacp.c Wed Dec 31 09:44:34 2014 (r276458) @@ -331,7 +331,7 @@ lacp_fill_actorinfo(struct lacp_port *lp info->lip_systemid.lsi_prio = htons(LACP_SYSTEM_PRIO); memcpy(&info->lip_systemid.lsi_mac, - IF_LLADDR(sc->sc_ifp), ETHER_ADDR_LEN); + if_lladdr(sc->sc_ifp), ETHER_ADDR_LEN); info->lip_portid.lpi_prio = htons(LACP_PORT_PRIO); info->lip_portid.lpi_portno = htons(lp->lp_ifp->if_index); info->lip_state = lp->lp_state; Modified: projects/ifnet/sys/net/if_arcsubr.c ============================================================================== --- projects/ifnet/sys/net/if_arcsubr.c Wed Dec 31 09:41:25 2014 (r276457) +++ projects/ifnet/sys/net/if_arcsubr.c Wed Dec 31 09:44:34 2014 (r276458) @@ -84,7 +84,7 @@ static int arc_resolvemulti(struct ifnet u_int8_t arcbroadcastaddr = 0; -#define ARC_LLADDR(ifp) (*(u_int8_t *)IF_LLADDR(ifp)) +#define ARC_LLADDR(ifp) (*(u_int8_t *)if_lladdr(ifp)) #define senderr(e) { error = (e); goto bad;} #define SIN(s) ((const struct sockaddr_in *)(s)) Modified: projects/ifnet/sys/net/if_bridge.c ============================================================================== --- projects/ifnet/sys/net/if_bridge.c Wed Dec 31 09:41:25 2014 (r276457) +++ projects/ifnet/sys/net/if_bridge.c Wed Dec 31 09:44:34 2014 (r276458) @@ -690,7 +690,7 @@ bridge_clone_create(struct if_clone *ifc LIST_FOREACH(sc2, &V_bridge_list, sc_list) { bifp = sc2->sc_ifp; if (memcmp(sc->sc_defaddr, - IF_LLADDR(bifp), ETHER_ADDR_LEN) == 0) { + if_lladdr(bifp), ETHER_ADDR_LEN) == 0) { retry = 1; break; } @@ -1009,12 +1009,12 @@ bridge_delete_member(struct bridge_softc if (V_bridge_inherit_mac && sc->sc_ifaddr == ifs) { if (LIST_EMPTY(&sc->sc_iflist)) { bcopy(sc->sc_defaddr, - IF_LLADDR(sc->sc_ifp), ETHER_ADDR_LEN); + if_lladdr(sc->sc_ifp), ETHER_ADDR_LEN); sc->sc_ifaddr = NULL; } else { fif = LIST_FIRST(&sc->sc_iflist)->bif_ifp; - bcopy(IF_LLADDR(fif), - IF_LLADDR(sc->sc_ifp), ETHER_ADDR_LEN); + bcopy(if_lladdr(fif), + if_lladdr(sc->sc_ifp), ETHER_ADDR_LEN); sc->sc_ifaddr = fif; } EVENTHANDLER_INVOKE(iflladdr_event, sc->sc_ifp); @@ -1173,8 +1173,8 @@ bridge_ioctl_add(struct bridge_softc *sc * the default randomly generated one. */ if (V_bridge_inherit_mac && LIST_EMPTY(&sc->sc_iflist) && - !memcmp(IF_LLADDR(sc->sc_ifp), sc->sc_defaddr, ETHER_ADDR_LEN)) { - bcopy(IF_LLADDR(ifs), IF_LLADDR(sc->sc_ifp), ETHER_ADDR_LEN); + !memcmp(if_lladdr(sc->sc_ifp), sc->sc_defaddr, ETHER_ADDR_LEN)) { + bcopy(if_lladdr(ifs), if_lladdr(sc->sc_ifp), ETHER_ADDR_LEN); sc->sc_ifaddr = ifs; EVENTHANDLER_INVOKE(iflladdr_event, sc->sc_ifp); } @@ -2396,7 +2396,7 @@ bridge_input(struct ifnet *ifp, struct m if ((iface)->if_type == IFT_GIF) \ continue; \ /* It is destined for us. */ \ - if (memcmp(IF_LLADDR((iface)), eh->ether_dhost, ETHER_ADDR_LEN) == 0 \ + if (memcmp(if_lladdr((iface)), eh->ether_dhost, ETHER_ADDR_LEN) == 0 \ OR_CARP_CHECK_WE_ARE_DST((iface)) \ ) { \ if ((iface)->if_type == IFT_BRIDGE) { \ @@ -2430,7 +2430,7 @@ bridge_input(struct ifnet *ifp, struct m } \ \ /* We just received a packet that we sent out. */ \ - if (memcmp(IF_LLADDR((iface)), eh->ether_shost, ETHER_ADDR_LEN) == 0 \ + if (memcmp(if_lladdr((iface)), eh->ether_shost, ETHER_ADDR_LEN) == 0 \ OR_CARP_CHECK_WE_ARE_SRC((iface)) \ ) { \ BRIDGE_UNLOCK(sc); \ Modified: projects/ifnet/sys/net/if_clone.c ============================================================================== --- projects/ifnet/sys/net/if_clone.c Wed Dec 31 09:41:25 2014 (r276457) +++ projects/ifnet/sys/net/if_clone.c Wed Dec 31 09:44:34 2014 (r276458) @@ -257,7 +257,7 @@ if_clone_destroy(const char *name) /* Find the cloner for this interface */ IF_CLONERS_LOCK(); LIST_FOREACH(ifc, &V_if_cloners, ifc_list) { - if (strcmp(ifc->ifc_name, ifp->if_dname) == 0) { + if (strcmp(ifc->ifc_name, ifp->if_drv->ifdrv_dname) == 0) { break; } } Modified: projects/ifnet/sys/net/if_clone.h ============================================================================== --- projects/ifnet/sys/net/if_clone.h Wed Dec 31 09:41:25 2014 (r276457) +++ projects/ifnet/sys/net/if_clone.h Wed Dec 31 09:44:34 2014 (r276458) @@ -40,10 +40,10 @@ struct if_clone; /* Methods. */ typedef int ifc_match_t(struct if_clone *, const char *); typedef int ifc_create_t(struct if_clone *, char *, size_t, caddr_t); -typedef int ifc_destroy_t(struct if_clone *, struct ifnet *); +typedef int ifc_destroy_t(struct if_clone *, if_t); typedef int ifcs_create_t(struct if_clone *, int, caddr_t); -typedef void ifcs_destroy_t(struct ifnet *); +typedef void ifcs_destroy_t(if_t); /* Interface cloner (de)allocating functions. */ struct if_clone * @@ -71,7 +71,7 @@ int if_clone_destroy(const char *); int if_clone_list(struct if_clonereq *); /* The below interface used only by epair(4). */ -int if_clone_destroyif(struct if_clone *, struct ifnet *); +int if_clone_destroyif(struct if_clone *, if_t); #endif /* _KERNEL */ #endif /* !_NET_IF_CLONE_H_ */ Modified: projects/ifnet/sys/net/if_debug.c ============================================================================== --- projects/ifnet/sys/net/if_debug.c Wed Dec 31 09:41:25 2014 (r276457) +++ projects/ifnet/sys/net/if_debug.c Wed Dec 31 09:44:34 2014 (r276458) @@ -43,10 +43,7 @@ __FBSDID("$FreeBSD$"); #include #ifdef DDB -struct ifindex_entry { - struct ifnet *ife_ifnet; -}; -VNET_DECLARE(struct ifindex_entry *, ifindex_table); +VNET_DECLARE(struct ifnet **, ifindex_table); #define V_ifindex_table VNET(ifindex_table) static void @@ -55,9 +52,9 @@ if_show_ifnet(struct ifnet *ifp) if (ifp == NULL) return; + /* XXXGL: this function needs rewrite. */ db_printf("%s:\n", ifp->if_xname); #define IF_DB_PRINTF(f, e) db_printf(" %s = " f "\n", #e, ifp->e); - IF_DB_PRINTF("%s", if_dname); IF_DB_PRINTF("%d", if_dunit); IF_DB_PRINTF("%s", if_description); IF_DB_PRINTF("%u", if_index); @@ -112,7 +109,7 @@ DB_SHOW_ALL_COMMAND(ifnets, db_show_all_ db_printf("vnet=%p\n", curvnet); #endif for (idx = 1; idx <= V_if_index; idx++) { - ifp = V_ifindex_table[idx].ife_ifnet; + ifp = V_ifindex_table[idx]; if (ifp == NULL) continue; db_printf( "%20s ifp=%p\n", ifp->if_xname, ifp); Modified: projects/ifnet/sys/net/if_dl.h ============================================================================== --- projects/ifnet/sys/net/if_dl.h Wed Dec 31 09:41:25 2014 (r276457) +++ projects/ifnet/sys/net/if_dl.h Wed Dec 31 09:44:34 2014 (r276458) @@ -66,7 +66,7 @@ struct sockaddr_dl { contains both if name and ll address */ }; -#define LLADDR(s) ((caddr_t)((s)->sdl_data + (s)->sdl_nlen)) +#define LLADDR(s) ((char *)((s)->sdl_data + (s)->sdl_nlen)) #define LLINDEX(s) ((s)->sdl_index) Modified: projects/ifnet/sys/net/if_fddisubr.c ============================================================================== --- projects/ifnet/sys/net/if_fddisubr.c Wed Dec 31 09:41:25 2014 (r276457) +++ projects/ifnet/sys/net/if_fddisubr.c Wed Dec 31 09:44:34 2014 (r276458) @@ -259,7 +259,7 @@ fddi_output(struct ifnet *ifp, struct mb if (hdrcmplt) bcopy((caddr_t)esrc, (caddr_t)fh->fddi_shost, FDDI_ADDR_LEN); else - bcopy(IF_LLADDR(ifp), (caddr_t)fh->fddi_shost, + bcopy(if_lladdr(ifp), (caddr_t)fh->fddi_shost, FDDI_ADDR_LEN); /* @@ -369,7 +369,7 @@ fddi_input(ifp, m) * is in promiscuous mode. */ if ((ifp->if_flags & IFF_PROMISC) && ((fh->fddi_dhost[0] & 1) == 0) && - (bcmp(IF_LLADDR(ifp), (caddr_t)fh->fddi_dhost, + (bcmp(if_lladdr(ifp), (caddr_t)fh->fddi_dhost, FDDI_ADDR_LEN) != 0)) goto dropanyway; @@ -561,7 +561,7 @@ fddi_ioctl (ifp, command, data) struct sockaddr *sa; sa = (struct sockaddr *) & ifr->ifr_data; - bcopy(IF_LLADDR(ifp), + bcopy(if_lladdr(ifp), (caddr_t) sa->sa_data, FDDI_ADDR_LEN); } Modified: projects/ifnet/sys/net/if_iso88025subr.c ============================================================================== --- projects/ifnet/sys/net/if_iso88025subr.c Wed Dec 31 09:41:25 2014 (r276457) +++ projects/ifnet/sys/net/if_iso88025subr.c Wed Dec 31 09:44:34 2014 (r276458) @@ -175,7 +175,7 @@ iso88025_ioctl(struct ifnet *ifp, u_long struct sockaddr *sa; sa = (struct sockaddr *) & ifr->ifr_data; - bcopy(IF_LLADDR(ifp), + bcopy(if_lladdr(ifp), (caddr_t) sa->sa_data, ISO88025_ADDR_LEN); } break; @@ -243,7 +243,7 @@ iso88025_output(struct ifnet *ifp, struc /* Generate a generic 802.5 header for the packet */ gen_th.ac = TR_AC; gen_th.fc = TR_LLC_FRAME; - (void)memcpy((caddr_t)gen_th.iso88025_shost, IF_LLADDR(ifp), + (void)memcpy((caddr_t)gen_th.iso88025_shost, if_lladdr(ifp), ISO88025_ADDR_LEN); if (rif_len) { gen_th.iso88025_shost[0] |= TR_RII; @@ -466,7 +466,7 @@ iso88025_input(ifp, m) */ if ((ifp->if_flags & IFF_PROMISC) && ((th->iso88025_dhost[0] & 1) == 0) && - (bcmp(IF_LLADDR(ifp), (caddr_t) th->iso88025_dhost, + (bcmp(if_lladdr(ifp), (caddr_t) th->iso88025_dhost, ISO88025_ADDR_LEN) != 0)) goto dropanyway; @@ -576,7 +576,7 @@ iso88025_input(ifp, m) l->llc_dsap = l->llc_ssap; l->llc_ssap = c; if (m->m_flags & (M_BCAST | M_MCAST)) - bcopy((caddr_t)IF_LLADDR(ifp), + bcopy((caddr_t)if_lladdr(ifp), (caddr_t)th->iso88025_dhost, ISO88025_ADDR_LEN); sa.sa_family = AF_UNSPEC; Modified: projects/ifnet/sys/net/if_lagg.c ============================================================================== --- projects/ifnet/sys/net/if_lagg.c Wed Dec 31 09:41:25 2014 (r276457) +++ projects/ifnet/sys/net/if_lagg.c Wed Dec 31 09:44:34 2014 (r276458) @@ -572,7 +572,7 @@ lagg_lladdr(struct lagg_softc *sc, uint8 struct ifnet *ifp = sc->sc_ifp; struct lagg_port lp; - if (memcmp(lladdr, IF_LLADDR(ifp), ETHER_ADDR_LEN) == 0) + if (memcmp(lladdr, if_lladdr(ifp), ETHER_ADDR_LEN) == 0) return; LAGG_WLOCK_ASSERT(sc); @@ -583,7 +583,7 @@ lagg_lladdr(struct lagg_softc *sc, uint8 * may trigger gratuitous ARPs for INET will be handled in * a taskqueue. */ - bcopy(lladdr, IF_LLADDR(ifp), ETHER_ADDR_LEN); + bcopy(lladdr, if_lladdr(ifp), ETHER_ADDR_LEN); lagg_proto_lladdr(sc); bzero(&lp, sizeof(lp)); @@ -644,7 +644,7 @@ lagg_port_lladdr(struct lagg_port *lp, u primary = (sc->sc_primary->lp_ifp == ifp) ? 1 : 0; if (primary == 0 && (lp->lp_detaching || - memcmp(lladdr, IF_LLADDR(ifp), ETHER_ADDR_LEN) == 0)) + memcmp(lladdr, if_lladdr(ifp), ETHER_ADDR_LEN) == 0)) return; /* Check to make sure its not already queued to be changed */ @@ -789,14 +789,14 @@ lagg_port_create(struct lagg_softc *sc, lp->lp_softc = sc; /* Save port link layer address */ - bcopy(IF_LLADDR(ifp), lp->lp_lladdr, ETHER_ADDR_LEN); + bcopy(if_lladdr(ifp), lp->lp_lladdr, ETHER_ADDR_LEN); if (SLIST_EMPTY(&sc->sc_ports)) { sc->sc_primary = lp; - lagg_lladdr(sc, IF_LLADDR(ifp)); + lagg_lladdr(sc, if_lladdr(ifp)); } else { /* Update link layer address for this port */ - lagg_port_lladdr(lp, IF_LLADDR(sc->sc_ifp)); + lagg_port_lladdr(lp, if_lladdr(sc->sc_ifp)); } /* Insert into the list of ports. Keep ports sorted by if_index. */ @@ -1156,7 +1156,7 @@ lagg_init(void *xsc) ifp->if_drv_flags |= IFF_DRV_RUNNING; /* Update the port lladdrs */ SLIST_FOREACH(lp, &sc->sc_ports, lp_entries) - lagg_port_lladdr(lp, IF_LLADDR(ifp)); + lagg_port_lladdr(lp, if_lladdr(ifp)); lagg_proto_init(sc); Modified: projects/ifnet/sys/net/if_llatbl.c ============================================================================== --- projects/ifnet/sys/net/if_llatbl.c Wed Dec 31 09:41:25 2014 (r276457) +++ projects/ifnet/sys/net/if_llatbl.c Wed Dec 31 09:44:34 2014 (r276458) @@ -324,7 +324,7 @@ lla_rt_output(struct rt_msghdr *rtm, str * "arp add" should look up this entry, reset the * LLE_DELETED flag, and reset the expiration timer */ - bcopy(LLADDR(dl), &lle->ll_addr, ifp->if_addrlen); + bcopy(LLADDR(dl), &lle->ll_addr, if_addrlen(ifp)); lle->la_flags |= (flags & LLE_PUB); lle->la_flags |= LLE_VALID; lle->la_flags &= ~LLE_DELETED; Modified: projects/ifnet/sys/net/if_mib.c ============================================================================== --- projects/ifnet/sys/net/if_mib.c Wed Dec 31 09:41:25 2014 (r276457) +++ projects/ifnet/sys/net/if_mib.c Wed Dec 31 09:44:34 2014 (r276458) @@ -105,8 +105,7 @@ sysctl_ifdata(SYSCTL_HANDLER_ARGS) /* XX ifmd.ifmd_flags = ifp->if_flags | ifp->if_drv_flags; ifmd.ifmd_snd_len = ifp->if_snd.ifq_len; ifmd.ifmd_snd_maxlen = ifp->if_snd.ifq_maxlen; - ifmd.ifmd_snd_drops = - ifp->if_get_counter(ifp, IFCOUNTER_OQDROPS); + ifmd.ifmd_snd_drops = if_get_counter(ifp, IFCOUNTER_OQDROPS); error = SYSCTL_OUT(req, &ifmd, sizeof ifmd); if (error) @@ -125,15 +124,16 @@ sysctl_ifdata(SYSCTL_HANDLER_ARGS) /* XX case IFDATA_DRIVERNAME: /* 20 is enough for 64bit ints */ - dlen = strlen(ifp->if_dname) + 20 + 1; + dlen = strlen(ifp->if_drv->ifdrv_dname) + 20 + 1; if ((dbuf = malloc(dlen, M_TEMP, M_NOWAIT)) == NULL) { error = ENOMEM; goto out; } if (ifp->if_dunit == IF_DUNIT_NONE) - strcpy(dbuf, ifp->if_dname); + strcpy(dbuf, ifp->if_drv->ifdrv_dname); else - sprintf(dbuf, "%s%d", ifp->if_dname, ifp->if_dunit); + sprintf(dbuf, "%s%d", ifp->if_drv->ifdrv_dname, + ifp->if_dunit); error = SYSCTL_OUT(req, dbuf, strlen(dbuf) + 1); if (error == 0 && req->newptr != NULL) Modified: projects/ifnet/sys/net/if_tap.c ============================================================================== --- projects/ifnet/sys/net/if_tap.c Wed Dec 31 09:41:25 2014 (r276457) +++ projects/ifnet/sys/net/if_tap.c Wed Dec 31 09:44:34 2014 (r276458) @@ -500,7 +500,7 @@ tapopen(struct cdev *dev, int flag, int return (EBUSY); } - bcopy(IF_LLADDR(tp->tap_ifp), tp->ether_addr, sizeof(tp->ether_addr)); + bcopy(if_lladdr(tp->tap_ifp), tp->ether_addr, sizeof(tp->ether_addr)); tp->tap_pid = td->td_proc->p_pid; tp->tap_flags |= TAP_OPEN; ifp = tp->tap_ifp; @@ -970,7 +970,7 @@ tapwrite(struct cdev *dev, struct uio *u if (eh && (ifp->if_flags & IFF_PROMISC) == 0 && !ETHER_IS_MULTICAST(eh->ether_dhost) && - bcmp(eh->ether_dhost, IF_LLADDR(ifp), ETHER_ADDR_LEN) != 0) { + bcmp(eh->ether_dhost, if_lladdr(ifp), ETHER_ADDR_LEN) != 0) { m_freem(m); return (0); } Modified: projects/ifnet/sys/net/if_vlan.c ============================================================================== --- projects/ifnet/sys/net/if_vlan.c Wed Dec 31 09:41:25 2014 (r276457) +++ projects/ifnet/sys/net/if_vlan.c Wed Dec 31 09:44:34 2014 (r276458) @@ -552,7 +552,7 @@ vlan_iflladdr(void *arg __unused, struct LIST_FOREACH_SAFE(ifv, &ifp->if_vlantrunk->hash[i], ifv_list, next) { #endif /* VLAN_ARRAY */ VLAN_UNLOCK(); - if_setlladdr(ifv->ifv_ifp, IF_LLADDR(ifp), + if_setlladdr(ifv->ifv_ifp, if_lladdr(ifp), ifp->if_addrlen); VLAN_LOCK(); } @@ -1342,7 +1342,7 @@ exists: * Set up our interface address to reflect the underlying * physical interface's. */ - bcopy(IF_LLADDR(p), IF_LLADDR(ifp), p->if_addrlen); + bcopy(if_lladdr(p), if_lladdr(ifp), p->if_addrlen); ((struct sockaddr_dl *)ifp->if_addr->ifa_addr)->sdl_alen = p->if_addrlen; @@ -1643,7 +1643,7 @@ vlan_ioctl(struct ifnet *ifp, u_long cmd struct sockaddr *sa; sa = (struct sockaddr *)&ifr->ifr_data; - bcopy(IF_LLADDR(ifp), sa->sa_data, ifp->if_addrlen); + bcopy(if_lladdr(ifp), sa->sa_data, ifp->if_addrlen); } break; case SIOCGIFMEDIA: Modified: projects/ifnet/sys/net/if_vlan_var.h ============================================================================== --- projects/ifnet/sys/net/if_vlan_var.h Wed Dec 31 09:41:25 2014 (r276457) +++ projects/ifnet/sys/net/if_vlan_var.h Wed Dec 31 09:44:34 2014 (r276458) @@ -110,11 +110,6 @@ struct vlanreq { * if_capabilities. */ -#define VLAN_CAPABILITIES(_ifp) do { \ - if ((_ifp)->if_vlantrunk != NULL) \ - (*vlan_trunk_cap_p)(_ifp); \ -} while (0) - #define VLAN_TRUNKDEV(_ifp) \ (_ifp)->if_type == IFT_L2VLAN ? (*vlan_trunkdev_p)((_ifp)) : NULL #define VLAN_TAG(_ifp, _vid) \ Modified: projects/ifnet/sys/net/route.c ============================================================================== --- projects/ifnet/sys/net/route.c Wed Dec 31 09:41:25 2014 (r276457) +++ projects/ifnet/sys/net/route.c Wed Dec 31 09:44:34 2014 (r276458) @@ -1862,8 +1862,8 @@ rtinit1(struct ifaddr *ifa, int cmd, int * doing this for compatibility reasons */ if (cmd == RTM_ADD) { - ((struct sockaddr_dl *)rt->rt_gateway)->sdl_type = - rt->rt_ifp->if_type; + ((struct sockaddr_dl *)rt->rt_gateway)->sdl_type = + if_type(rt->rt_ifp); ((struct sockaddr_dl *)rt->rt_gateway)->sdl_index = rt->rt_ifp->if_index; } Modified: projects/ifnet/sys/net/rtsock.c ============================================================================== --- projects/ifnet/sys/net/rtsock.c Wed Dec 31 09:41:25 2014 (r276457) +++ projects/ifnet/sys/net/rtsock.c Wed Dec 31 09:44:34 2014 (r276458) @@ -749,7 +749,7 @@ route_output(struct mbuf *m, struct sock struct sockaddr laddr; if (rt->rt_ifp != NULL && - rt->rt_ifp->if_type == IFT_PROPVIRTUAL) { + if_type(rt->rt_ifp) == IFT_PROPVIRTUAL) { struct ifaddr *ifa; ifa = ifa_ifwithnet(info.rti_info[RTAX_DST], 1, From owner-svn-src-projects@FreeBSD.ORG Wed Dec 31 09:47:20 2014 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 6D86445A; Wed, 31 Dec 2014 09:47:20 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 58E4D66100; Wed, 31 Dec 2014 09:47:20 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id sBV9lKN7039515; Wed, 31 Dec 2014 09:47:20 GMT (envelope-from glebius@FreeBSD.org) Received: (from glebius@localhost) by svn.freebsd.org (8.14.9/8.14.9/Submit) id sBV9lK2x039514; Wed, 31 Dec 2014 09:47:20 GMT (envelope-from glebius@FreeBSD.org) Message-Id: <201412310947.sBV9lK2x039514@svn.freebsd.org> X-Authentication-Warning: svn.freebsd.org: glebius set sender to glebius@FreeBSD.org using -f From: Gleb Smirnoff Date: Wed, 31 Dec 2014 09:47:20 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r276459 - projects/ifnet/sys/net X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 31 Dec 2014 09:47:20 -0000 Author: glebius Date: Wed Dec 31 09:47:19 2014 New Revision: 276459 URL: https://svnweb.freebsd.org/changeset/base/276459 Log: - Put IFT_* definitions into enum ifType, like it is named in IANA documents. - Put comment that our own IFT_s are conflicting with IANA definintions. - Put comment that we need 16-bit for ifType, and probably signedness. The plan is to do this before 11.0. Sponsored by: Netflix Sponsored by: Nginx, Inc. Modified: projects/ifnet/sys/net/if_types.h Modified: projects/ifnet/sys/net/if_types.h ============================================================================== --- projects/ifnet/sys/net/if_types.h Wed Dec 31 09:44:34 2014 (r276458) +++ projects/ifnet/sys/net/if_types.h Wed Dec 31 09:47:19 2014 (r276459) @@ -42,211 +42,216 @@ * http://www.iana.org/assignments/smi-numbers */ -#define IFT_OTHER 0x1 /* none of the following */ -#define IFT_1822 0x2 /* old-style arpanet imp */ -#define IFT_HDH1822 0x3 /* HDH arpanet imp */ -#define IFT_X25DDN 0x4 /* x25 to imp */ -#define IFT_X25 0x5 /* PDN X25 interface (RFC877) */ -#define IFT_ETHER 0x6 /* Ethernet CSMA/CD */ -#define IFT_ISO88023 0x7 /* CMSA/CD */ -#define IFT_ISO88024 0x8 /* Token Bus */ -#define IFT_ISO88025 0x9 /* Token Ring */ -#define IFT_ISO88026 0xa /* MAN */ -#define IFT_STARLAN 0xb -#define IFT_P10 0xc /* Proteon 10MBit ring */ -#define IFT_P80 0xd /* Proteon 80MBit ring */ -#define IFT_HY 0xe /* Hyperchannel */ -#define IFT_FDDI 0xf -#define IFT_LAPB 0x10 -#define IFT_SDLC 0x11 -#define IFT_T1 0x12 -#define IFT_CEPT 0x13 /* E1 - european T1 */ -#define IFT_ISDNBASIC 0x14 -#define IFT_ISDNPRIMARY 0x15 -#define IFT_PTPSERIAL 0x16 /* Proprietary PTP serial */ -#define IFT_PPP 0x17 /* RFC 1331 */ -#define IFT_LOOP 0x18 /* loopback */ -#define IFT_EON 0x19 /* ISO over IP */ -#define IFT_XETHER 0x1a /* obsolete 3MB experimental ethernet */ -#define IFT_NSIP 0x1b /* XNS over IP */ -#define IFT_SLIP 0x1c /* IP over generic TTY */ -#define IFT_ULTRA 0x1d /* Ultra Technologies */ -#define IFT_DS3 0x1e /* Generic T3 */ -#define IFT_SIP 0x1f /* SMDS */ -#define IFT_FRELAY 0x20 /* Frame Relay DTE only */ -#define IFT_RS232 0x21 -#define IFT_PARA 0x22 /* parallel-port */ -#define IFT_ARCNET 0x23 -#define IFT_ARCNETPLUS 0x24 -#define IFT_ATM 0x25 /* ATM cells */ -#define IFT_MIOX25 0x26 -#define IFT_SONET 0x27 /* SONET or SDH */ -#define IFT_X25PLE 0x28 -#define IFT_ISO88022LLC 0x29 -#define IFT_LOCALTALK 0x2a -#define IFT_SMDSDXI 0x2b -#define IFT_FRELAYDCE 0x2c /* Frame Relay DCE */ -#define IFT_V35 0x2d -#define IFT_HSSI 0x2e -#define IFT_HIPPI 0x2f -#define IFT_MODEM 0x30 /* Generic Modem */ -#define IFT_AAL5 0x31 /* AAL5 over ATM */ -#define IFT_SONETPATH 0x32 -#define IFT_SONETVT 0x33 -#define IFT_SMDSICIP 0x34 /* SMDS InterCarrier Interface */ -#define IFT_PROPVIRTUAL 0x35 /* Proprietary Virtual/internal */ -#define IFT_PROPMUX 0x36 /* Proprietary Multiplexing */ -#define IFT_IEEE80212 0x37 /* 100BaseVG */ -#define IFT_FIBRECHANNEL 0x38 /* Fibre Channel */ -#define IFT_HIPPIINTERFACE 0x39 /* HIPPI interfaces */ -#define IFT_FRAMERELAYINTERCONNECT 0x3a /* Obsolete, use either 0x20 or 0x2c */ -#define IFT_AFLANE8023 0x3b /* ATM Emulated LAN for 802.3 */ -#define IFT_AFLANE8025 0x3c /* ATM Emulated LAN for 802.5 */ -#define IFT_CCTEMUL 0x3d /* ATM Emulated circuit */ -#define IFT_FASTETHER 0x3e /* Fast Ethernet (100BaseT) */ -#define IFT_ISDN 0x3f /* ISDN and X.25 */ -#define IFT_V11 0x40 /* CCITT V.11/X.21 */ -#define IFT_V36 0x41 /* CCITT V.36 */ -#define IFT_G703AT64K 0x42 /* CCITT G703 at 64Kbps */ -#define IFT_G703AT2MB 0x43 /* Obsolete see DS1-MIB */ -#define IFT_QLLC 0x44 /* SNA QLLC */ -#define IFT_FASTETHERFX 0x45 /* Fast Ethernet (100BaseFX) */ -#define IFT_CHANNEL 0x46 /* channel */ -#define IFT_IEEE80211 0x47 /* radio spread spectrum */ -#define IFT_IBM370PARCHAN 0x48 /* IBM System 360/370 OEMI Channel */ -#define IFT_ESCON 0x49 /* IBM Enterprise Systems Connection */ -#define IFT_DLSW 0x4a /* Data Link Switching */ -#define IFT_ISDNS 0x4b /* ISDN S/T interface */ -#define IFT_ISDNU 0x4c /* ISDN U interface */ -#define IFT_LAPD 0x4d /* Link Access Protocol D */ -#define IFT_IPSWITCH 0x4e /* IP Switching Objects */ -#define IFT_RSRB 0x4f /* Remote Source Route Bridging */ -#define IFT_ATMLOGICAL 0x50 /* ATM Logical Port */ -#define IFT_DS0 0x51 /* Digital Signal Level 0 */ -#define IFT_DS0BUNDLE 0x52 /* group of ds0s on the same ds1 */ -#define IFT_BSC 0x53 /* Bisynchronous Protocol */ -#define IFT_ASYNC 0x54 /* Asynchronous Protocol */ -#define IFT_CNR 0x55 /* Combat Net Radio */ -#define IFT_ISO88025DTR 0x56 /* ISO 802.5r DTR */ -#define IFT_EPLRS 0x57 /* Ext Pos Loc Report Sys */ -#define IFT_ARAP 0x58 /* Appletalk Remote Access Protocol */ -#define IFT_PROPCNLS 0x59 /* Proprietary Connectionless Protocol*/ -#define IFT_HOSTPAD 0x5a /* CCITT-ITU X.29 PAD Protocol */ -#define IFT_TERMPAD 0x5b /* CCITT-ITU X.3 PAD Facility */ -#define IFT_FRAMERELAYMPI 0x5c /* Multiproto Interconnect over FR */ -#define IFT_X213 0x5d /* CCITT-ITU X213 */ -#define IFT_ADSL 0x5e /* Asymmetric Digital Subscriber Loop */ -#define IFT_RADSL 0x5f /* Rate-Adapt. Digital Subscriber Loop*/ -#define IFT_SDSL 0x60 /* Symmetric Digital Subscriber Loop */ -#define IFT_VDSL 0x61 /* Very H-Speed Digital Subscrib. Loop*/ -#define IFT_ISO88025CRFPINT 0x62 /* ISO 802.5 CRFP */ -#define IFT_MYRINET 0x63 /* Myricom Myrinet */ -#define IFT_VOICEEM 0x64 /* voice recEive and transMit */ -#define IFT_VOICEFXO 0x65 /* voice Foreign Exchange Office */ -#define IFT_VOICEFXS 0x66 /* voice Foreign Exchange Station */ -#define IFT_VOICEENCAP 0x67 /* voice encapsulation */ -#define IFT_VOICEOVERIP 0x68 /* voice over IP encapsulation */ -#define IFT_ATMDXI 0x69 /* ATM DXI */ -#define IFT_ATMFUNI 0x6a /* ATM FUNI */ -#define IFT_ATMIMA 0x6b /* ATM IMA */ -#define IFT_PPPMULTILINKBUNDLE 0x6c /* PPP Multilink Bundle */ -#define IFT_IPOVERCDLC 0x6d /* IBM ipOverCdlc */ -#define IFT_IPOVERCLAW 0x6e /* IBM Common Link Access to Workstn */ -#define IFT_STACKTOSTACK 0x6f /* IBM stackToStack */ -#define IFT_VIRTUALIPADDRESS 0x70 /* IBM VIPA */ -#define IFT_MPC 0x71 /* IBM multi-protocol channel support */ -#define IFT_IPOVERATM 0x72 /* IBM ipOverAtm */ -#define IFT_ISO88025FIBER 0x73 /* ISO 802.5j Fiber Token Ring */ -#define IFT_TDLC 0x74 /* IBM twinaxial data link control */ -#define IFT_GIGABITETHERNET 0x75 /* Gigabit Ethernet */ -#define IFT_HDLC 0x76 /* HDLC */ -#define IFT_LAPF 0x77 /* LAP F */ -#define IFT_V37 0x78 /* V.37 */ -#define IFT_X25MLP 0x79 /* Multi-Link Protocol */ -#define IFT_X25HUNTGROUP 0x7a /* X25 Hunt Group */ -#define IFT_TRANSPHDLC 0x7b /* Transp HDLC */ -#define IFT_INTERLEAVE 0x7c /* Interleave channel */ -#define IFT_FAST 0x7d /* Fast channel */ -#define IFT_IP 0x7e /* IP (for APPN HPR in IP networks) */ -#define IFT_DOCSCABLEMACLAYER 0x7f /* CATV Mac Layer */ -#define IFT_DOCSCABLEDOWNSTREAM 0x80 /* CATV Downstream interface */ -#define IFT_DOCSCABLEUPSTREAM 0x81 /* CATV Upstream interface */ -#define IFT_A12MPPSWITCH 0x82 /* Avalon Parallel Processor */ -#define IFT_TUNNEL 0x83 /* Encapsulation interface */ -#define IFT_COFFEE 0x84 /* coffee pot */ -#define IFT_CES 0x85 /* Circiut Emulation Service */ -#define IFT_ATMSUBINTERFACE 0x86 /* (x) ATM Sub Interface */ -#define IFT_L2VLAN 0x87 /* Layer 2 Virtual LAN using 802.1Q */ -#define IFT_L3IPVLAN 0x88 /* Layer 3 Virtual LAN - IP Protocol */ -#define IFT_L3IPXVLAN 0x89 /* Layer 3 Virtual LAN - IPX Prot. */ -#define IFT_DIGITALPOWERLINE 0x8a /* IP over Power Lines */ -#define IFT_MEDIAMAILOVERIP 0x8b /* (xxx) Multimedia Mail over IP */ -#define IFT_DTM 0x8c /* Dynamic synchronous Transfer Mode */ -#define IFT_DCN 0x8d /* Data Communications Network */ -#define IFT_IPFORWARD 0x8e /* IP Forwarding Interface */ -#define IFT_MSDSL 0x8f /* Multi-rate Symmetric DSL */ -#define IFT_IEEE1394 0x90 /* IEEE1394 High Performance SerialBus*/ -#define IFT_IFGSN 0x91 /* HIPPI-6400 */ -#define IFT_DVBRCCMACLAYER 0x92 /* DVB-RCC MAC Layer */ -#define IFT_DVBRCCDOWNSTREAM 0x93 /* DVB-RCC Downstream Channel */ -#define IFT_DVBRCCUPSTREAM 0x94 /* DVB-RCC Upstream Channel */ -#define IFT_ATMVIRTUAL 0x95 /* ATM Virtual Interface */ -#define IFT_MPLSTUNNEL 0x96 /* MPLS Tunnel Virtual Interface */ -#define IFT_SRP 0x97 /* Spatial Reuse Protocol */ -#define IFT_VOICEOVERATM 0x98 /* Voice over ATM */ -#define IFT_VOICEOVERFRAMERELAY 0x99 /* Voice Over Frame Relay */ -#define IFT_IDSL 0x9a /* Digital Subscriber Loop over ISDN */ -#define IFT_COMPOSITELINK 0x9b /* Avici Composite Link Interface */ -#define IFT_SS7SIGLINK 0x9c /* SS7 Signaling Link */ -#define IFT_PROPWIRELESSP2P 0x9d /* Prop. P2P wireless interface */ -#define IFT_FRFORWARD 0x9e /* Frame forward Interface */ -#define IFT_RFC1483 0x9f /* Multiprotocol over ATM AAL5 */ -#define IFT_USB 0xa0 /* USB Interface */ -#define IFT_IEEE8023ADLAG 0xa1 /* IEEE 802.3ad Link Aggregate*/ -#define IFT_BGPPOLICYACCOUNTING 0xa2 /* BGP Policy Accounting */ -#define IFT_FRF16MFRBUNDLE 0xa3 /* FRF.16 Multilik Frame Relay*/ -#define IFT_H323GATEKEEPER 0xa4 /* H323 Gatekeeper */ -#define IFT_H323PROXY 0xa5 /* H323 Voice and Video Proxy */ -#define IFT_MPLS 0xa6 /* MPLS */ -#define IFT_MFSIGLINK 0xa7 /* Multi-frequency signaling link */ -#define IFT_HDSL2 0xa8 /* High Bit-Rate DSL, 2nd gen. */ -#define IFT_SHDSL 0xa9 /* Multirate HDSL2 */ -#define IFT_DS1FDL 0xaa /* Facility Data Link (4Kbps) on a DS1*/ -#define IFT_POS 0xab /* Packet over SONET/SDH Interface */ -#define IFT_DVBASILN 0xac /* DVB-ASI Input */ -#define IFT_DVBASIOUT 0xad /* DVB-ASI Output */ -#define IFT_PLC 0xae /* Power Line Communications */ -#define IFT_NFAS 0xaf /* Non-Facility Associated Signaling */ -#define IFT_TR008 0xb0 /* TROO8 */ -#define IFT_GR303RDT 0xb1 /* Remote Digital Terminal */ -#define IFT_GR303IDT 0xb2 /* Integrated Digital Terminal */ -#define IFT_ISUP 0xb3 /* ISUP */ -#define IFT_PROPDOCSWIRELESSMACLAYER 0xb4 /* prop/Wireless MAC Layer */ -#define IFT_PROPDOCSWIRELESSDOWNSTREAM 0xb5 /* prop/Wireless Downstream */ -#define IFT_PROPDOCSWIRELESSUPSTREAM 0xb6 /* prop/Wireless Upstream */ -#define IFT_HIPERLAN2 0xb7 /* HIPERLAN Type 2 Radio Interface */ -#define IFT_PROPBWAP2MP 0xb8 /* PropBroadbandWirelessAccess P2MP*/ -#define IFT_SONETOVERHEADCHANNEL 0xb9 /* SONET Overhead Channel */ -#define IFT_DIGITALWRAPPEROVERHEADCHANNEL 0xba /* Digital Wrapper Overhead */ -#define IFT_AAL2 0xbb /* ATM adaptation layer 2 */ -#define IFT_RADIOMAC 0xbc /* MAC layer over radio links */ -#define IFT_ATMRADIO 0xbd /* ATM over radio links */ -#define IFT_IMT 0xbe /* Inter-Machine Trunks */ -#define IFT_MVL 0xbf /* Multiple Virtual Lines DSL */ -#define IFT_REACHDSL 0xc0 /* Long Reach DSL */ -#define IFT_FRDLCIENDPT 0xc1 /* Frame Relay DLCI End Point */ -#define IFT_ATMVCIENDPT 0xc2 /* ATM VCI End Point */ -#define IFT_OPTICALCHANNEL 0xc3 /* Optical Channel */ -#define IFT_OPTICALTRANSPORT 0xc4 /* Optical Transport */ -#define IFT_INFINIBAND 0xc7 /* Infiniband */ -#define IFT_BRIDGE 0xd1 /* Transparent bridge interface */ +typedef enum { + IFT_OTHER = 0x1, /* none of the following */ + IFT_1822 = 0x2, /* old-style arpanet imp */ + IFT_HDH1822 = 0x3, /* HDH arpanet imp */ + IFT_X25DDN = 0x4, /* x25 to imp */ + IFT_X25 = 0x5, /* PDN X25 interface (RFC877) */ + IFT_ETHER = 0x6, /* Ethernet CSMA/CD */ + IFT_ISO88023 = 0x7, /* CMSA/CD */ + IFT_ISO88024 = 0x8, /* Token Bus */ + IFT_ISO88025 = 0x9, /* Token Ring */ + IFT_ISO88026 = 0xa, /* MAN */ + IFT_STARLAN = 0xb, + IFT_P10 = 0xc, /* Proteon 10MBit ring */ + IFT_P80 = 0xd, /* Proteon 80MBit ring */ + IFT_HY = 0xe, /* Hyperchannel */ + IFT_FDDI = 0xf, + IFT_LAPB = 0x10, + IFT_SDLC = 0x11, + IFT_T1 = 0x12, + IFT_CEPT = 0x13, /* E1 - european T1 */ + IFT_ISDNBASIC = 0x14, + IFT_ISDNPRIMARY = 0x15, + IFT_PTPSERIAL = 0x16, /* Proprietary PTP serial */ + IFT_PPP = 0x17, /* RFC 1331 */ + IFT_LOOP = 0x18, /* loopback */ + IFT_EON = 0x19, /* ISO over IP */ + IFT_XETHER = 0x1a, /* obsolete 3MB experimental ethernet */ + IFT_NSIP = 0x1b, /* XNS over IP */ + IFT_SLIP = 0x1c, /* IP over generic TTY */ + IFT_ULTRA = 0x1d, /* Ultra Technologies */ + IFT_DS3 = 0x1e, /* Generic T3 */ + IFT_SIP = 0x1f, /* SMDS */ + IFT_FRELAY = 0x20, /* Frame Relay DTE only */ + IFT_RS232 = 0x21, + IFT_PARA = 0x22, /* parallel-port */ + IFT_ARCNET = 0x23, + IFT_ARCNETPLUS = 0x24, + IFT_ATM = 0x25, /* ATM cells */ + IFT_MIOX25 = 0x26, + IFT_SONET = 0x27, /* SONET or SDH */ + IFT_X25PLE = 0x28, + IFT_ISO88022LLC = 0x29, + IFT_LOCALTALK = 0x2a, + IFT_SMDSDXI = 0x2b, + IFT_FRELAYDCE = 0x2c, /* Frame Relay DCE */ + IFT_V35 = 0x2d, + IFT_HSSI = 0x2e, + IFT_HIPPI = 0x2f, + IFT_MODEM = 0x30, /* Generic Modem */ + IFT_AAL5 = 0x31, /* AAL5 over ATM */ + IFT_SONETPATH = 0x32, + IFT_SONETVT = 0x33, + IFT_SMDSICIP = 0x34, /* SMDS InterCarrier Interface */ + IFT_PROPVIRTUAL = 0x35, /* Proprietary Virtual/internal */ + IFT_PROPMUX = 0x36, /* Proprietary Multiplexing */ + IFT_IEEE80212 = 0x37, /* 100BaseVG */ + IFT_FIBRECHANNEL = 0x38, /* Fibre Channel */ + IFT_HIPPIINTERFACE = 0x39, /* HIPPI interfaces */ + IFT_FRAMERELAYINTERCONNECT = 0x3a, /* Obsolete, use 0x20 either 0x2c */ + IFT_AFLANE8023 = 0x3b, /* ATM Emulated LAN for 802.3 */ + IFT_AFLANE8025 = 0x3c, /* ATM Emulated LAN for 802.5 */ + IFT_CCTEMUL = 0x3d, /* ATM Emulated circuit */ + IFT_FASTETHER = 0x3e, /* Fast Ethernet (100BaseT) */ + IFT_ISDN = 0x3f, /* ISDN and X.25 */ + IFT_V11 = 0x40, /* CCITT V.11/X.21 */ + IFT_V36 = 0x41, /* CCITT V.36 */ + IFT_G703AT64K = 0x42, /* CCITT G703 at 64Kbps */ + IFT_G703AT2MB = 0x43, /* Obsolete see DS1-MIB */ + IFT_QLLC = 0x44, /* SNA QLLC */ + IFT_FASTETHERFX = 0x45, /* Fast Ethernet (100BaseFX) */ + IFT_CHANNEL = 0x46, /* channel */ + IFT_IEEE80211 = 0x47, /* radio spread spectrum */ + IFT_IBM370PARCHAN = 0x48, /* IBM System 360/370 OEMI Channel */ + IFT_ESCON = 0x49, /* IBM Enterprise Systems Connection */ + IFT_DLSW = 0x4a, /* Data Link Switching */ + IFT_ISDNS = 0x4b, /* ISDN S/T interface */ + IFT_ISDNU = 0x4c, /* ISDN U interface */ + IFT_LAPD = 0x4d, /* Link Access Protocol D */ + IFT_IPSWITCH = 0x4e, /* IP Switching Objects */ + IFT_RSRB = 0x4f, /* Remote Source Route Bridging */ + IFT_ATMLOGICAL = 0x50, /* ATM Logical Port */ + IFT_DS0 = 0x51, /* Digital Signal Level 0 */ + IFT_DS0BUNDLE = 0x52, /* group of ds0s on the same ds1 */ + IFT_BSC = 0x53, /* Bisynchronous Protocol */ + IFT_ASYNC = 0x54, /* Asynchronous Protocol */ + IFT_CNR = 0x55, /* Combat Net Radio */ + IFT_ISO88025DTR = 0x56, /* ISO 802.5r DTR */ + IFT_EPLRS = 0x57, /* Ext Pos Loc Report Sys */ + IFT_ARAP = 0x58, /* Appletalk Remote Access Protocol */ + IFT_PROPCNLS = 0x59, /* Proprietary Connectionless Protocol*/ + IFT_HOSTPAD = 0x5a, /* CCITT-ITU X.29 PAD Protocol */ + IFT_TERMPAD = 0x5b, /* CCITT-ITU X.3 PAD Facility */ + IFT_FRAMERELAYMPI = 0x5c, /* Multiproto Interconnect over FR */ + IFT_X213 = 0x5d, /* CCITT-ITU X213 */ + IFT_ADSL = 0x5e, /* Asymmetric Digital Subscriber Loop */ + IFT_RADSL = 0x5f, /* Rate-Adapt. Digital Subscriber Loop*/ + IFT_SDSL = 0x60, /* Symmetric Digital Subscriber Loop */ + IFT_VDSL = 0x61, /* Very H-Speed Digital Subscrib. Loop*/ + IFT_ISO88025CRFPINT = 0x62, /* ISO 802.5 CRFP */ + IFT_MYRINET = 0x63, /* Myricom Myrinet */ + IFT_VOICEEM = 0x64, /* voice recEive and transMit */ + IFT_VOICEFXO = 0x65, /* voice Foreign Exchange Office */ + IFT_VOICEFXS = 0x66, /* voice Foreign Exchange Station */ + IFT_VOICEENCAP = 0x67, /* voice encapsulation */ + IFT_VOICEOVERIP = 0x68, /* voice over IP encapsulation */ + IFT_ATMDXI = 0x69, /* ATM DXI */ + IFT_ATMFUNI = 0x6a, /* ATM FUNI */ + IFT_ATMIMA = 0x6b, /* ATM IMA */ + IFT_PPPMULTILINKBUNDLE = 0x6c, /* PPP Multilink Bundle */ + IFT_IPOVERCDLC = 0x6d, /* IBM ipOverCdlc */ + IFT_IPOVERCLAW = 0x6e, /* IBM Common Link Access to Workstn */ + IFT_STACKTOSTACK = 0x6f, /* IBM stackToStack */ + IFT_VIRTUALIPADDRESS = 0x70, /* IBM VIPA */ + IFT_MPC = 0x71, /* IBM multi-protocol channel support */ + IFT_IPOVERATM = 0x72, /* IBM ipOverAtm */ + IFT_ISO88025FIBER = 0x73, /* ISO 802.5j Fiber Token Ring */ + IFT_TDLC = 0x74, /* IBM twinaxial data link control */ + IFT_GIGABITETHERNET = 0x75, /* Gigabit Ethernet */ + IFT_HDLC = 0x76, /* HDLC */ + IFT_LAPF = 0x77, /* LAP F */ + IFT_V37 = 0x78, /* V.37 */ + IFT_X25MLP = 0x79, /* Multi-Link Protocol */ + IFT_X25HUNTGROUP = 0x7a, /* X25 Hunt Group */ + IFT_TRANSPHDLC = 0x7b, /* Transp HDLC */ + IFT_INTERLEAVE = 0x7c, /* Interleave channel */ + IFT_FAST = 0x7d, /* Fast channel */ + IFT_IP = 0x7e, /* IP (for APPN HPR in IP networks) */ + IFT_DOCSCABLEMACLAYER = 0x7f, /* CATV Mac Layer */ + IFT_DOCSCABLEDOWNSTREAM = 0x80, /* CATV Downstream interface */ + IFT_DOCSCABLEUPSTREAM = 0x81, /* CATV Upstream interface */ + IFT_A12MPPSWITCH = 0x82, /* Avalon Parallel Processor */ + IFT_TUNNEL = 0x83, /* Encapsulation interface */ + IFT_COFFEE = 0x84, /* coffee pot */ + IFT_CES = 0x85, /* Circiut Emulation Service */ + IFT_ATMSUBINTERFACE = 0x86, /* (x) ATM Sub Interface */ + IFT_L2VLAN = 0x87, /* Layer 2 Virtual LAN using 802.1Q */ + IFT_L3IPVLAN = 0x88, /* Layer 3 Virtual LAN - IP Protocol */ + IFT_L3IPXVLAN = 0x89, /* Layer 3 Virtual LAN - IPX Prot. */ + IFT_DIGITALPOWERLINE = 0x8a, /* IP over Power Lines */ + IFT_MEDIAMAILOVERIP = 0x8b, /* (xxx) Multimedia Mail over IP */ + IFT_DTM = 0x8c, /* Dynamic synchronous Transfer Mode */ + IFT_DCN = 0x8d, /* Data Communications Network */ + IFT_IPFORWARD = 0x8e, /* IP Forwarding Interface */ + IFT_MSDSL = 0x8f, /* Multi-rate Symmetric DSL */ + IFT_IEEE1394 = 0x90, /* IEEE1394 High Performance SerialBus*/ + IFT_IFGSN = 0x91, /* HIPPI-6400 */ + IFT_DVBRCCMACLAYER = 0x92, /* DVB-RCC MAC Layer */ + IFT_DVBRCCDOWNSTREAM = 0x93, /* DVB-RCC Downstream Channel */ + IFT_DVBRCCUPSTREAM = 0x94, /* DVB-RCC Upstream Channel */ + IFT_ATMVIRTUAL = 0x95, /* ATM Virtual Interface */ + IFT_MPLSTUNNEL = 0x96, /* MPLS Tunnel Virtual Interface */ + IFT_SRP = 0x97, /* Spatial Reuse Protocol */ + IFT_VOICEOVERATM = 0x98, /* Voice over ATM */ + IFT_VOICEOVERFRAMERELAY = 0x99, /* Voice Over Frame Relay */ + IFT_IDSL = 0x9a, /* Digital Subscriber Loop over ISDN */ + IFT_COMPOSITELINK = 0x9b, /* Avici Composite Link Interface */ + IFT_SS7SIGLINK = 0x9c, /* SS7 Signaling Link */ + IFT_PROPWIRELESSP2P = 0x9d, /* Prop. P2P wireless interface */ + IFT_FRFORWARD = 0x9e, /* Frame forward Interface */ + IFT_RFC1483 = 0x9f, /* Multiprotocol over ATM AAL5 */ + IFT_USB = 0xa0, /* USB Interface */ + IFT_IEEE8023ADLAG = 0xa1, /* IEEE 802.3ad Link Aggregate*/ + IFT_BGPPOLICYACCOUNTING = 0xa2, /* BGP Policy Accounting */ + IFT_FRF16MFRBUNDLE = 0xa3, /* FRF.16 Multilik Frame Relay*/ + IFT_H323GATEKEEPER = 0xa4, /* H323 Gatekeeper */ + IFT_H323PROXY = 0xa5, /* H323 Voice and Video Proxy */ + IFT_MPLS = 0xa6, /* MPLS */ + IFT_MFSIGLINK = 0xa7, /* Multi-frequency signaling link */ + IFT_HDSL2 = 0xa8, /* High Bit-Rate DSL, 2nd gen. */ + IFT_SHDSL = 0xa9, /* Multirate HDSL2 */ + IFT_DS1FDL = 0xaa, /* Facility Data Link (4Kbps) on a DS1*/ + IFT_POS = 0xab, /* Packet over SONET/SDH Interface */ + IFT_DVBASILN = 0xac, /* DVB-ASI Input */ + IFT_DVBASIOUT = 0xad, /* DVB-ASI Output */ + IFT_PLC = 0xae, /* Power Line Communications */ + IFT_NFAS = 0xaf, /* Non-Facility Associated Signaling */ + IFT_TR008 = 0xb0, /* TROO8 */ + IFT_GR303RDT = 0xb1, /* Remote Digital Terminal */ + IFT_GR303IDT = 0xb2, /* Integrated Digital Terminal */ + IFT_ISUP = 0xb3, /* ISUP */ + IFT_PROPDOCSWIRELESSMACLAYER = 0xb4, /* prop/Wireless MAC Layer */ + IFT_PROPDOCSWIRELESSDOWNSTREAM = 0xb5, /* prop/Wireless Downstream */ + IFT_PROPDOCSWIRELESSUPSTREAM = 0xb6, /* prop/Wireless Upstream */ + IFT_HIPERLAN2 = 0xb7, /* HIPERLAN Type 2 Radio Interface */ + IFT_PROPBWAP2MP = 0xb8, /* PropBroadbandWirelessAccess P2MP*/ + IFT_SONETOVERHEADCHANNEL = 0xb9, /* SONET Overhead Channel */ + IFT_DIGITALWRAPPEROVERHEADCHANNEL = 0xba, /* Digital Wrapper Overhead */ + IFT_AAL2 = 0xbb, /* ATM adaptation layer 2 */ + IFT_RADIOMAC = 0xbc, /* MAC layer over radio links */ + IFT_ATMRADIO = 0xbd, /* ATM over radio links */ + IFT_IMT = 0xbe, /* Inter-Machine Trunks */ + IFT_MVL = 0xbf, /* Multiple Virtual Lines DSL */ + IFT_REACHDSL = 0xc0, /* Long Reach DSL */ + IFT_FRDLCIENDPT = 0xc1, /* Frame Relay DLCI End Point */ + IFT_ATMVCIENDPT = 0xc2, /* ATM VCI End Point */ + IFT_OPTICALCHANNEL = 0xc3, /* Optical Channel */ + IFT_OPTICALTRANSPORT = 0xc4, /* Optical Transport */ + IFT_INFINIBAND = 0xc7, /* Infiniband */ + IFT_BRIDGE = 0xd1, /* Transparent bridge interface */ + IFT_STF = 0xd7, /* 6to4 interface */ -#define IFT_STF 0xd7 /* 6to4 interface */ - -/* not based on IANA assignments */ -#define IFT_GIF 0xf0 -#define IFT_PVC 0xf1 -#define IFT_ENC 0xf4 -#define IFT_PFLOG 0xf6 -#define IFT_PFSYNC 0xf7 + /* + * Not based on IANA assignments. Conflicting with IANA assignments. + * We should make them negative probably. + * This requires changes to struct if_data. + */ + IFT_GIF = 0xf0, + IFT_PVC = 0xf1, + IFT_ENC = 0xf4, + IFT_PFLOG = 0xf6, + IFT_PFSYNC = 0xf7, +} ifType; #endif /* !_NET_IF_TYPES_H_ */ From owner-svn-src-projects@FreeBSD.ORG Wed Dec 31 09:51:36 2014 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id B55F2568; Wed, 31 Dec 2014 09:51:36 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 962DF661C5; Wed, 31 Dec 2014 09:51:36 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id sBV9paH8043467; Wed, 31 Dec 2014 09:51:36 GMT (envelope-from glebius@FreeBSD.org) Received: (from glebius@localhost) by svn.freebsd.org (8.14.9/8.14.9/Submit) id sBV9pabA043466; Wed, 31 Dec 2014 09:51:36 GMT (envelope-from glebius@FreeBSD.org) Message-Id: <201412310951.sBV9pabA043466@svn.freebsd.org> X-Authentication-Warning: svn.freebsd.org: glebius set sender to glebius@FreeBSD.org using -f From: Gleb Smirnoff Date: Wed, 31 Dec 2014 09:51:36 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r276460 - projects/ifnet/sys/net X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 31 Dec 2014 09:51:36 -0000 Author: glebius Date: Wed Dec 31 09:51:35 2014 New Revision: 276460 URL: https://svnweb.freebsd.org/changeset/base/276460 Log: First driver to be converted to new world order is of course loop(4). It is a minimalistic example of what needs to be done to convert a driver to opaque ifnet: - Don't include if_var.h. - Declare static struct ifdriver. - In clone_create (or device_attach!) method declate struct if_attach_args, populate it and call if_attach(). - Convert all accesses to ifnet fields to new methods. - Substitute the rest of "struct ifnet *" to "if_t". Sponsored by: Netflix Sponsored by: Nginx, Inc. Modified: projects/ifnet/sys/net/if_loop.c Modified: projects/ifnet/sys/net/if_loop.c ============================================================================== --- projects/ifnet/sys/net/if_loop.c Wed Dec 31 09:47:19 2014 (r276459) +++ projects/ifnet/sys/net/if_loop.c Wed Dec 31 09:51:35 2014 (r276460) @@ -49,7 +49,6 @@ #include #include -#include #include #include #include @@ -59,14 +58,12 @@ #ifdef INET #include -#include #endif #ifdef INET6 #ifndef INET #include #endif -#include #include #endif @@ -86,14 +83,15 @@ CSUM_PSEUDO_HDR | \ CSUM_IP_CHECKED | CSUM_IP_VALID | \ CSUM_SCTP_VALID) - -int loioctl(struct ifnet *, u_long, caddr_t); -int looutput(struct ifnet *ifp, struct mbuf *m, - const struct sockaddr *dst, struct route *ro); +int if_simloop(if_t, struct mbuf *, int, int); +static int loioctl(if_t, u_long, caddr_t); +static int looutput(if_t, struct mbuf *, + const struct sockaddr *, struct route *); static int lo_clone_create(struct if_clone *, int, caddr_t); -static void lo_clone_destroy(struct ifnet *); +static void lo_clone_destroy(if_t); -VNET_DEFINE(struct ifnet *, loif); /* Used externally */ +VNET_DEFINE(if_t, loif); /* Used externally. */ +#define V_loif VNET(loif) #ifdef VIMAGE static VNET_DEFINE(struct if_clone *, lo_cloner); @@ -103,8 +101,20 @@ static VNET_DEFINE(struct if_clone *, lo static struct if_clone *lo_cloner; static const char loname[] = "lo"; +static struct ifdriver lo_ifdrv = { + .ifdrv_ops = { + .ifop_origin = IFOP_ORIGIN_DRIVER, + .ifop_ioctl = loioctl, + .ifop_output = looutput, + }, + .ifdrv_dname = loname, + .ifdrv_type = IFT_LOOP, + .ifdrv_dlt = DLT_NULL, + .ifdrv_dlt_hdrlen = sizeof(uint32_t), +}; + static void -lo_clone_destroy(struct ifnet *ifp) +lo_clone_destroy(if_t ifp) { #ifndef VIMAGE @@ -112,31 +122,25 @@ lo_clone_destroy(struct ifnet *ifp) KASSERT(V_loif != ifp, ("%s: destroying lo0", __func__)); #endif - bpfdetach(ifp); if_detach(ifp); - if_free(ifp); } static int lo_clone_create(struct if_clone *ifc, int unit, caddr_t params) { - struct ifnet *ifp; + struct if_attach_args ifat = { + .ifat_version = IF_ATTACH_VERSION, + .ifat_drv = &lo_ifdrv, + .ifat_dunit = unit, + .ifat_mtu = LOMTU, + .ifat_flags = IFF_LOOPBACK | IFF_MULTICAST, + .ifat_capabilities = IFCAP_HWCSUM | IFCAP_HWCSUM_IPV6, + .ifat_capenable = IFCAP_HWCSUM | IFCAP_HWCSUM_IPV6, + .ifat_hwassist = LO_CSUM_FEATURES | LO_CSUM_FEATURES6, + }; + if_t ifp; - ifp = if_alloc(IFT_LOOP); - if (ifp == NULL) - return (ENOSPC); - - if_initname(ifp, loname, unit); - ifp->if_mtu = LOMTU; - ifp->if_flags = IFF_LOOPBACK | IFF_MULTICAST; - ifp->if_ioctl = loioctl; - ifp->if_output = looutput; - ifp->if_snd.ifq_maxlen = ifqmaxlen; - ifp->if_capabilities = ifp->if_capenable = - IFCAP_HWCSUM | IFCAP_HWCSUM_IPV6; - ifp->if_hwassist = LO_CSUM_FEATURES | LO_CSUM_FEATURES6; - if_attach(ifp); - bpfattach(ifp, DLT_NULL, sizeof(u_int32_t)); + ifp = if_attach(&ifat); if (V_loif == NULL) V_loif = ifp; @@ -198,7 +202,7 @@ static moduledata_t loop_mod = { DECLARE_MODULE(if_lo, loop_mod, SI_SUB_PROTO_IFATTACHDOMAIN, SI_ORDER_ANY); int -looutput(struct ifnet *ifp, struct mbuf *m, const struct sockaddr *dst, +looutput(if_t ifp, struct mbuf *m, const struct sockaddr *dst, struct route *ro) { u_int32_t af; @@ -237,7 +241,7 @@ looutput(struct ifnet *ifp, struct mbuf #if 1 /* XXX */ switch (af) { case AF_INET: - if (ifp->if_capenable & IFCAP_RXCSUM) { + if (if_getflags(ifp, IF_CAPENABLE) & IFCAP_RXCSUM) { m->m_pkthdr.csum_data = 0xffff; m->m_pkthdr.csum_flags = LO_CSUM_SET; } @@ -280,7 +284,7 @@ looutput(struct ifnet *ifp, struct mbuf * This function expects the packet to include the media header of length hlen. */ int -if_simloop(struct ifnet *ifp, struct mbuf *m, int af, int hlen) +if_simloop(if_t ifp, struct mbuf *m, int af, int hlen) { int isr; @@ -302,23 +306,10 @@ if_simloop(struct ifnet *ifp, struct mbu * - Normal packet loopback from myself to myself (net/if_loop.c) * -> passes to lo0's BPF (even in case of IPv6, where ifp!=lo0) */ - if (hlen > 0) { - if (bpf_peers_present(ifp->if_bpf)) { - bpf_mtap(ifp->if_bpf, m); - } - } else { - if (bpf_peers_present(V_loif->if_bpf)) { - if ((m->m_flags & M_MCAST) == 0 || V_loif == ifp) { - /* XXX beware sizeof(af) != 4 */ - u_int32_t af1 = af; - - /* - * We need to prepend the address family. - */ - bpf_mtap2(V_loif->if_bpf, &af1, sizeof(af1), m); - } - } - } + if (hlen > 0) + if_mtap(ifp, m, NULL, 0); + else if ((m->m_flags & M_MCAST) == 0 || V_loif == ifp) + if_mtap(V_loif, m, &af, sizeof(af)); /* Strip away media header */ if (hlen > 0) { @@ -368,15 +359,15 @@ if_simloop(struct ifnet *ifp, struct mbu */ /* ARGSUSED */ int -loioctl(struct ifnet *ifp, u_long cmd, caddr_t data) +loioctl(if_t ifp, u_long cmd, caddr_t data) { struct ifreq *ifr = (struct ifreq *)data; int error = 0, mask; switch (cmd) { case SIOCSIFADDR: - ifp->if_flags |= IFF_UP; - ifp->if_drv_flags |= IFF_DRV_RUNNING; + if_addflags(ifp, IF_FLAGS, IFF_UP); + if_addflags(ifp, IF_DRV_FLAGS, IFF_DRV_RUNNING); /* * Everything else is done at a higher level. */ @@ -406,21 +397,22 @@ loioctl(struct ifnet *ifp, u_long cmd, c break; case SIOCSIFMTU: - ifp->if_mtu = ifr->ifr_mtu; + if_setflags(ifp, IF_MTU, ifr->ifr_mtu); break; case SIOCSIFFLAGS: break; case SIOCSIFCAP: - mask = ifp->if_capenable ^ ifr->ifr_reqcap; + mask = if_getflags(ifp, IF_CAPENABLE) ^ ifr->ifr_reqcap; if ((mask & IFCAP_RXCSUM) != 0) - ifp->if_capenable ^= IFCAP_RXCSUM; + if_xorflags(ifp, IF_CAPENABLE, IFCAP_RXCSUM); if ((mask & IFCAP_TXCSUM) != 0) - ifp->if_capenable ^= IFCAP_TXCSUM; + if_xorflags(ifp, IF_CAPENABLE, IFCAP_TXCSUM); if ((mask & IFCAP_RXCSUM_IPV6) != 0) { #if 0 - ifp->if_capenable ^= IFCAP_RXCSUM_IPV6; + if_xorflags(ifp, IF_CAPENABLE, + IFCAP_RXCSUM_IPV6); #else error = EOPNOTSUPP; break; @@ -428,18 +420,19 @@ loioctl(struct ifnet *ifp, u_long cmd, c } if ((mask & IFCAP_TXCSUM_IPV6) != 0) { #if 0 - ifp->if_capenable ^= IFCAP_TXCSUM_IPV6; + if_xorflags(ifp, IF_CAPENABLE, + IFCAP_TXCSUM_IPV6); #else error = EOPNOTSUPP; break; #endif } - ifp->if_hwassist = 0; - if (ifp->if_capenable & IFCAP_TXCSUM) - ifp->if_hwassist = LO_CSUM_FEATURES; + if_setflags(ifp, IF_HWASSIST, 0); + if (if_getflags(ifp, IF_CAPENABLE) & IFCAP_TXCSUM) + if_setflags(ifp, IF_HWASSIST, LO_CSUM_FEATURES); #if 0 - if (ifp->if_capenable & IFCAP_TXCSUM_IPV6) - ifp->if_hwassist |= LO_CSUM_FEATURES6; + if (if_getflags(ifp, IF_CAPENABLE) & IFCAP_TXCSUM_IPV6) + if_addflags(ifp, IF_HWASSIST, LO_CSUM_FEATURES6); #endif break; From owner-svn-src-projects@FreeBSD.ORG Wed Dec 31 09:53:01 2014 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id A2908745; Wed, 31 Dec 2014 09:53:01 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 8D78B661D7; Wed, 31 Dec 2014 09:53:01 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id sBV9r1Oe043830; Wed, 31 Dec 2014 09:53:01 GMT (envelope-from glebius@FreeBSD.org) Received: (from glebius@localhost) by svn.freebsd.org (8.14.9/8.14.9/Submit) id sBV9qws7043801; Wed, 31 Dec 2014 09:52:58 GMT (envelope-from glebius@FreeBSD.org) Message-Id: <201412310952.sBV9qws7043801@svn.freebsd.org> X-Authentication-Warning: svn.freebsd.org: glebius set sender to glebius@FreeBSD.org using -f From: Gleb Smirnoff Date: Wed, 31 Dec 2014 09:52:58 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r276461 - projects/ifnet/sys/netinet X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 31 Dec 2014 09:53:01 -0000 Author: glebius Date: Wed Dec 31 09:52:57 2014 New Revision: 276461 URL: https://svnweb.freebsd.org/changeset/base/276461 Log: - Mechanically convert access to different ifnet fields that moved to ifdriver to inline functions. - Other small changes to adopt to new ifnet world order. Sponsored by: Netflix Sponsored by: Nginx, Inc. Modified: projects/ifnet/sys/netinet/if_ether.c projects/ifnet/sys/netinet/in.c projects/ifnet/sys/netinet/ip_fastfwd.c projects/ifnet/sys/netinet/ip_output.c projects/ifnet/sys/netinet/sctp_bsd_addr.c projects/ifnet/sys/netinet/sctp_os_bsd.h projects/ifnet/sys/netinet/tcp_input.c projects/ifnet/sys/netinet/tcp_lro.c projects/ifnet/sys/netinet/tcp_subr.c projects/ifnet/sys/netinet/tcp_var.h Modified: projects/ifnet/sys/netinet/if_ether.c ============================================================================== --- projects/ifnet/sys/netinet/if_ether.c Wed Dec 31 09:51:35 2014 (r276460) +++ projects/ifnet/sys/netinet/if_ether.c Wed Dec 31 09:52:57 2014 (r276461) @@ -254,12 +254,12 @@ arprequest(struct ifnet *ifp, const stru } } if (enaddr == NULL) - enaddr = carpaddr ? carpaddr : (u_char *)IF_LLADDR(ifp); + enaddr = carpaddr ? carpaddr : (u_char *)if_lladdr(ifp); if ((m = m_gethdr(M_NOWAIT, MT_DATA)) == NULL) return; m->m_len = sizeof(*ah) + 2 * sizeof(struct in_addr) + - 2 * ifp->if_addrlen; + 2 * if_addrlen(ifp); m->m_pkthdr.len = m->m_len; MH_ALIGN(m, m->m_len); ah = mtod(m, struct arphdr *); @@ -268,7 +268,7 @@ arprequest(struct ifnet *ifp, const stru mac_netinet_arp_send(ifp, m); #endif ah->ar_pro = htons(ETHERTYPE_IP); - ah->ar_hln = ifp->if_addrlen; /* hardware address length */ + ah->ar_hln = if_addrlen(ifp); /* hardware address length */ ah->ar_pln = sizeof(struct in_addr); /* protocol address length */ ah->ar_op = htons(ARPOP_REQUEST); bcopy(enaddr, ar_sha(ah), ah->ar_hln); @@ -278,7 +278,7 @@ arprequest(struct ifnet *ifp, const stru sa.sa_len = 2; m->m_flags |= M_BCAST; m_clrprotoflags(m); /* Avoid confusing lower layers. */ - (*ifp->if_output)(ifp, m, &sa, NULL); + if_output(ifp, m, &sa, NULL); ARPSTAT_INC(txrequests); } @@ -313,11 +313,10 @@ arpresolve(struct ifnet *ifp, int is_gw, if (m != NULL) { if (m->m_flags & M_BCAST) { /* broadcast */ - (void)memcpy(desten, - ifp->if_broadcastaddr, ifp->if_addrlen); + memcpy(desten, ifp->if_broadcastaddr, if_addrlen(ifp)); return (0); } - if (m->m_flags & M_MCAST && ifp->if_type != IFT_ARCNET) { + if (m->m_flags & M_MCAST && if_type(ifp) != IFT_ARCNET) { /* multicast */ ETHER_MAP_IP_MULTICAST(&SIN(dst)->sin_addr, desten); return (0); @@ -345,7 +344,7 @@ retry: if ((la->la_flags & LLE_VALID) && ((la->la_flags & LLE_STATIC) || la->la_expire > time_uptime)) { - bcopy(&la->ll_addr, desten, ifp->if_addrlen); + bcopy(&la->ll_addr, desten, if_addrlen(ifp)); /* * If entry has an expiry time and it is approaching, * see if we need to send an ARP request within this @@ -556,10 +555,10 @@ in_arpinput(struct mbuf *m) if (ifp->if_bridge) bridged = 1; - if (ifp->if_type == IFT_BRIDGE) + if (if_type(ifp) == IFT_BRIDGE) is_bridge = 1; - req_len = arphdr_len2(ifp->if_addrlen, sizeof(struct in_addr)); + req_len = arphdr_len2(if_addrlen(ifp), sizeof(struct in_addr)); if (m->m_len < req_len && (m = m_pullup(m, req_len)) == NULL) { ARP_LOG(LOG_NOTICE, "runt packet -- m_pullup failed\n"); return; @@ -577,8 +576,8 @@ in_arpinput(struct mbuf *m) } if (allow_multicast == 0 && ETHER_IS_MULTICAST(ar_sha(ah))) { - ARP_LOG(LOG_NOTICE, "%*D is multicast\n", - ifp->if_addrlen, (u_char *)ar_sha(ah), ":"); + ARP_LOG(LOG_NOTICE, "%*D is multicast\n", if_addrlen(ifp), + (u_char *)ar_sha(ah), ":"); goto drop; } @@ -617,7 +616,7 @@ in_arpinput(struct mbuf *m) #define BDG_MEMBER_MATCHES_ARP(addr, ifp, ia) \ (ia->ia_ifp->if_bridge == ifp->if_softc && \ - !bcmp(IF_LLADDR(ia->ia_ifp), IF_LLADDR(ifp), ifp->if_addrlen) && \ + !bcmp(if_lladdr(ia->ia_ifp), if_lladdr(ifp), if_addrlen(ifp)) && \ addr == ia->ia_addr.sin_addr.s_addr) /* * Check the case when bridge shares its MAC address with @@ -666,13 +665,13 @@ in_arpinput(struct mbuf *m) IN_IFADDR_RUNLOCK(); match: if (!enaddr) - enaddr = (u_int8_t *)IF_LLADDR(ifp); + enaddr = (u_int8_t *)if_lladdr(ifp); carped = (ia->ia_ifa.ifa_carp != NULL); myaddr = ia->ia_addr.sin_addr; ifa_free(&ia->ia_ifa); - if (!bcmp(ar_sha(ah), enaddr, ifp->if_addrlen)) + if (!bcmp(ar_sha(ah), enaddr, if_addrlen(ifp))) goto drop; /* it's from me, ignore it. */ - if (!bcmp(ar_sha(ah), ifp->if_broadcastaddr, ifp->if_addrlen)) { + if (!bcmp(ar_sha(ah), ifp->if_broadcastaddr, if_addrlen(ifp))) { ARP_LOG(LOG_NOTICE, "link address is broadcast for IP address " "%s!\n", inet_ntoa(isaddr)); goto drop; @@ -686,7 +685,7 @@ match: if (!bridged && !carped && isaddr.s_addr == myaddr.s_addr && myaddr.s_addr != 0) { ARP_LOG(LOG_ERR, "%*D is using my IP address %s on %s!\n", - ifp->if_addrlen, (u_char *)ar_sha(ah), ":", + if_addrlen(ifp), (u_char *)ar_sha(ah), ":", inet_ntoa(isaddr), ifp->if_xname); itaddr = myaddr; ARPSTAT_INC(dupips); @@ -712,20 +711,20 @@ match: "but got reply from %*D on %s\n", inet_ntoa(isaddr), la->lle_tbl->llt_ifp->if_xname, - ifp->if_addrlen, (u_char *)ar_sha(ah), ":", + if_addrlen(ifp), (u_char *)ar_sha(ah), ":", ifp->if_xname); LLE_WUNLOCK(la); goto reply; } if ((la->la_flags & LLE_VALID) && - bcmp(ar_sha(ah), &la->ll_addr, ifp->if_addrlen)) { + bcmp(ar_sha(ah), &la->ll_addr, if_addrlen(ifp))) { if (la->la_flags & LLE_STATIC) { LLE_WUNLOCK(la); if (log_arp_permanent_modify) ARP_LOG(LOG_ERR, "%*D attempts to modify " "permanent entry for %s on %s\n", - ifp->if_addrlen, + if_addrlen(ifp), (u_char *)ar_sha(ah), ":", inet_ntoa(isaddr), ifp->if_xname); goto reply; @@ -734,22 +733,21 @@ match: ARP_LOG(LOG_INFO, "%s moved from %*D " "to %*D on %s\n", inet_ntoa(isaddr), - ifp->if_addrlen, - (u_char *)&la->ll_addr, ":", - ifp->if_addrlen, (u_char *)ar_sha(ah), ":", - ifp->if_xname); + if_addrlen(ifp), (u_char *)&la->ll_addr, + ":", if_addrlen(ifp), (u_char *)ar_sha(ah), + ":", ifp->if_xname); } } - if (ifp->if_addrlen != ah->ar_hln) { + if (if_addrlen(ifp) != ah->ar_hln) { LLE_WUNLOCK(la); ARP_LOG(LOG_WARNING, "from %*D: addr len: new %d, " - "i/f %d (ignored)\n", ifp->if_addrlen, + "i/f %d (ignored)\n", if_addrlen(ifp), (u_char *) ar_sha(ah), ":", ah->ar_hln, - ifp->if_addrlen); + if_addrlen(ifp)); goto drop; } - (void)memcpy(&la->ll_addr, ar_sha(ah), ifp->if_addrlen); + memcpy(&la->ll_addr, ar_sha(ah), if_addrlen(ifp)); la->la_flags |= LLE_VALID; EVENTHANDLER_INVOKE(lle_event, la, LLENTRY_RESOLVED); @@ -786,7 +784,7 @@ match: m_hold->m_nextpkt = NULL; /* Avoid confusing lower layers. */ m_clrprotoflags(m_hold); - (*ifp->if_output)(ifp, m_hold, &sa, NULL); + if_output(ifp, m_hold, &sa, NULL); } } else LLE_WUNLOCK(la); @@ -891,7 +889,7 @@ reply: sa.sa_family = AF_ARP; sa.sa_len = 2; m_clrprotoflags(m); /* Avoid confusing lower layers. */ - (*ifp->if_output)(ifp, m, &sa, NULL); + if_output(ifp, m, &sa, NULL); ARPSTAT_INC(txreplies); return; @@ -910,7 +908,7 @@ arp_ifinit(struct ifnet *ifp, struct ifa if (ntohl(IA_SIN(ifa)->sin_addr.s_addr) != INADDR_ANY) { arprequest(ifp, &IA_SIN(ifa)->sin_addr, - &IA_SIN(ifa)->sin_addr, IF_LLADDR(ifp)); + &IA_SIN(ifa)->sin_addr, if_lladdr(ifp)); /* * interface address is considered static entry * because the output of the arp utility shows Modified: projects/ifnet/sys/netinet/in.c ============================================================================== --- projects/ifnet/sys/netinet/in.c Wed Dec 31 09:51:35 2014 (r276460) +++ projects/ifnet/sys/netinet/in.c Wed Dec 31 09:52:57 2014 (r276461) @@ -232,9 +232,7 @@ in_control(struct socket *so, u_long cmd /* We no longer support that old commands. */ return (EINVAL); default: - if (ifp->if_ioctl == NULL) - return (EOPNOTSUPP); - return ((*ifp->if_ioctl)(ifp, cmd, data)); + return if_ioctl(ifp, cmd, data); } if (addr->sin_addr.s_addr != INADDR_ANY && @@ -436,11 +434,9 @@ in_aifaddr_ioctl(u_long cmd, caddr_t dat * if this is its first address, * and to validate the address if necessary. */ - if (ifp->if_ioctl != NULL) { - error = (*ifp->if_ioctl)(ifp, SIOCSIFADDR, (caddr_t)ia); - if (error) - goto fail1; - } + error = if_ioctl(ifp, SIOCSIFADDR, (caddr_t)ia); + if (error != 0 && error != EOPNOTSUPP) + goto fail1; /* * Add route for the network. @@ -1026,7 +1022,7 @@ in_lltable_rtcheck(struct ifnet *ifp, u_ */ if (rt->rt_flags & RTF_GATEWAY) { if (!(rt->rt_flags & RTF_HOST) || !rt->rt_ifp || - rt->rt_ifp->if_type != IFT_ETHER || + if_type(rt->rt_ifp) != IFT_ETHER || (rt->rt_ifp->if_flags & (IFF_NOARP | IFF_STATICARP)) != 0 || memcmp(rt->rt_gateway->sa_data, l3addr->sa_data, sizeof(in_addr_t)) != 0) { @@ -1126,8 +1122,9 @@ in_lltable_lookup(struct lltable *llt, u goto done; } lle->la_flags = flags & ~LLE_CREATE; - if ((flags & (LLE_CREATE | LLE_IFADDR)) == (LLE_CREATE | LLE_IFADDR)) { - bcopy(IF_LLADDR(ifp), &lle->ll_addr, ifp->if_addrlen); + if ((flags & (LLE_CREATE | LLE_IFADDR)) == + (LLE_CREATE | LLE_IFADDR)) { + bcopy(if_lladdr(ifp), &lle->ll_addr, if_addrlen(ifp)); lle->la_flags |= (LLE_VALID | LLE_STATIC); } @@ -1213,13 +1210,14 @@ in_lltable_dump(struct lltable *llt, str sdl->sdl_family = AF_LINK; sdl->sdl_len = sizeof(*sdl); sdl->sdl_index = ifp->if_index; - sdl->sdl_type = ifp->if_type; + sdl->sdl_type = if_type(ifp); if ((lle->la_flags & LLE_VALID) == LLE_VALID) { - sdl->sdl_alen = ifp->if_addrlen; - bcopy(&lle->ll_addr, LLADDR(sdl), ifp->if_addrlen); + sdl->sdl_alen = if_addrlen(ifp); + bcopy(&lle->ll_addr, LLADDR(sdl), + if_addrlen(ifp)); } else { sdl->sdl_alen = 0; - bzero(LLADDR(sdl), ifp->if_addrlen); + bzero(LLADDR(sdl), if_addrlen(ifp)); } arpc.rtm.rtm_rmx.rmx_expire = Modified: projects/ifnet/sys/netinet/ip_fastfwd.c ============================================================================== --- projects/ifnet/sys/netinet/ip_fastfwd.c Wed Dec 31 09:51:35 2014 (r276460) +++ projects/ifnet/sys/netinet/ip_fastfwd.c Wed Dec 31 09:52:57 2014 (r276461) @@ -531,8 +531,7 @@ passout: * Send off the packet via outgoing interface */ IP_PROBE(send, NULL, NULL, ip, ifp, ip, NULL); - error = (*ifp->if_output)(ifp, m, - (struct sockaddr *)dst, &ro); + error = if_output(ifp, m, (struct sockaddr *)dst, &ro); } else { /* * Handle EMSGSIZE with icmp reply needfrag for TCP MTU discovery @@ -563,8 +562,8 @@ passout: m_clrprotoflags(m); IP_PROBE(send, NULL, NULL, ip, ifp, ip, NULL); - error = (*ifp->if_output)(ifp, m, - (struct sockaddr *)dst, &ro); + error = if_output(ifp, m, + (struct sockaddr *)dst, &ro); if (error) break; } while ((m = m0) != NULL); Modified: projects/ifnet/sys/netinet/ip_output.c ============================================================================== --- projects/ifnet/sys/netinet/ip_output.c Wed Dec 31 09:51:35 2014 (r276460) +++ projects/ifnet/sys/netinet/ip_output.c Wed Dec 31 09:52:57 2014 (r276461) @@ -624,8 +624,7 @@ passout: */ m_clrprotoflags(m); IP_PROBE(send, NULL, NULL, ip, ifp, ip, NULL); - error = (*ifp->if_output)(ifp, m, - (const struct sockaddr *)gw, ro); + error = if_output(ifp, m, (const struct sockaddr *)gw, ro); goto done; } @@ -660,7 +659,7 @@ passout: m_clrprotoflags(m); IP_PROBE(send, NULL, NULL, ip, ifp, ip, NULL); - error = (*ifp->if_output)(ifp, m, + error = if_output(ifp, m, (const struct sockaddr *)gw, ro); } else m_freem(m); Modified: projects/ifnet/sys/netinet/sctp_bsd_addr.c ============================================================================== --- projects/ifnet/sys/netinet/sctp_bsd_addr.c Wed Dec 31 09:51:35 2014 (r276460) +++ projects/ifnet/sys/netinet/sctp_bsd_addr.c Wed Dec 31 09:52:57 2014 (r276461) @@ -48,6 +48,9 @@ __FBSDID("$FreeBSD$"); #include #include +#define if_addrlist if_addrhead +#define if_list if_link + /* Declare all of our malloc named types */ MALLOC_DEFINE(SCTP_M_MAP, "sctp_map", "sctp asoc map descriptor"); MALLOC_DEFINE(SCTP_M_STRMI, "sctp_stri", "sctp stream in array"); @@ -150,7 +153,7 @@ sctp_is_desired_interface_type(struct if int result; /* check the interface type to see if it's one we care about */ - switch (ifn->if_type) { + switch (if_type(ifn)) { case IFT_ETHER: case IFT_ISO88023: case IFT_ISO88024: @@ -256,7 +259,7 @@ sctp_init_ifns_for_vrf(int vrfid) sctp_ifa = sctp_add_addr_to_vrf(vrfid, (void *)ifn, ifn->if_index, - ifn->if_type, + if_type(ifn), ifn->if_xname, (void *)ifa, ifa->ifa_addr, @@ -336,8 +339,9 @@ sctp_addr_change(struct ifaddr *ifa, int return; } if (cmd == RTM_ADD) { - (void)sctp_add_addr_to_vrf(SCTP_DEFAULT_VRFID, (void *)ifa->ifa_ifp, - ifa->ifa_ifp->if_index, ifa->ifa_ifp->if_type, ifa->ifa_ifp->if_xname, + (void)sctp_add_addr_to_vrf(SCTP_DEFAULT_VRFID, + (void *)ifa->ifa_ifp, ifa->ifa_ifp->if_index, + if_type(ifa->ifa_ifp), ifa->ifa_ifp->if_xname, (void *)ifa, ifa->ifa_addr, ifa_flags, 1); } else { Modified: projects/ifnet/sys/netinet/sctp_os_bsd.h ============================================================================== --- projects/ifnet/sys/netinet/sctp_os_bsd.h Wed Dec 31 09:51:35 2014 (r276460) +++ projects/ifnet/sys/netinet/sctp_os_bsd.h Wed Dec 31 09:52:57 2014 (r276461) @@ -212,7 +212,7 @@ MALLOC_DECLARE(SCTP_M_MCORE); #define SCTP_INIT_VRF_TABLEID(vrf) #define SCTP_IFN_IS_IFT_LOOP(ifn) ((ifn)->ifn_type == IFT_LOOP) -#define SCTP_ROUTE_IS_REAL_LOOP(ro) ((ro)->ro_rt && (ro)->ro_rt->rt_ifa && (ro)->ro_rt->rt_ifa->ifa_ifp && (ro)->ro_rt->rt_ifa->ifa_ifp->if_type == IFT_LOOP) +#define SCTP_ROUTE_IS_REAL_LOOP(ro) ((ro)->ro_rt && (ro)->ro_rt->rt_ifa && (ro)->ro_rt->rt_ifa->ifa_ifp && if_type((ro)->ro_rt->rt_ifa->ifa_ifp) == IFT_LOOP) /* * Access to IFN's to help with src-addr-selection Modified: projects/ifnet/sys/netinet/tcp_input.c ============================================================================== --- projects/ifnet/sys/netinet/tcp_input.c Wed Dec 31 09:51:35 2014 (r276460) +++ projects/ifnet/sys/netinet/tcp_input.c Wed Dec 31 09:52:57 2014 (r276461) @@ -3540,7 +3540,6 @@ tcp_mss(struct tcpcb *tp, int offer) KASSERT(tp != NULL, ("%s: tp == NULL", __func__)); - bzero(&cap, sizeof(cap)); tcp_mss_update(tp, offer, -1, &metrics, &cap); mss = tp->t_maxseg; @@ -3586,11 +3585,11 @@ tcp_mss(struct tcpcb *tp, int offer) SOCKBUF_UNLOCK(&so->so_rcv); /* Check the interface for TSO capabilities. */ - if (cap.ifcap & CSUM_TSO) { + if (cap.hwassist & CSUM_TSO) { tp->t_flags |= TF_TSO; - tp->t_tsomax = cap.tsomax; - tp->t_tsomaxsegcount = cap.tsomaxsegcount; - tp->t_tsomaxsegsize = cap.tsomaxsegsize; + tp->t_tsomax = cap.tsomax->tsomax_bytes; + tp->t_tsomaxsegcount = cap.tsomax->tsomax_segcount; + tp->t_tsomaxsegsize = cap.tsomax->tsomax_segsize; } } Modified: projects/ifnet/sys/netinet/tcp_lro.c ============================================================================== --- projects/ifnet/sys/netinet/tcp_lro.c Wed Dec 31 09:51:35 2014 (r276460) +++ projects/ifnet/sys/netinet/tcp_lro.c Wed Dec 31 09:52:57 2014 (r276461) @@ -298,7 +298,7 @@ tcp_lro_flush(struct lro_ctrl *lc, struc #endif } - (*lc->ifp->if_input)(lc->ifp, le->m_head); + if_input(lc->ifp, le->m_head); lc->lro_queued += le->append_cnt + 1; lc->lro_flushed++; bzero(le, sizeof(*le)); Modified: projects/ifnet/sys/netinet/tcp_subr.c ============================================================================== --- projects/ifnet/sys/netinet/tcp_subr.c Wed Dec 31 09:51:35 2014 (r276460) +++ projects/ifnet/sys/netinet/tcp_subr.c Wed Dec 31 09:52:57 2014 (r276461) @@ -1807,13 +1807,11 @@ tcp_maxmtu(struct in_conninfo *inc, stru /* Report additional interface capabilities. */ if (cap != NULL) { - if (ifp->if_capenable & IFCAP_TSO4 && - ifp->if_hwassist & CSUM_TSO) { - cap->ifcap |= CSUM_TSO; - cap->tsomax = ifp->if_hw_tsomax; - cap->tsomaxsegcount = ifp->if_hw_tsomaxsegcount; - cap->tsomaxsegsize = ifp->if_hw_tsomaxsegsize; - } + if (ifp->if_capenable & IFCAP_TSO4) { + cap->hwassist = ifp->if_hwassist; + cap->tsomax = ifp->if_tsomax; + } else + bzero(cap, sizeof(struct tcp_ifcap)); } RTFREE(sro.ro_rt); } @@ -1848,13 +1846,11 @@ tcp_maxmtu6(struct in_conninfo *inc, str /* Report additional interface capabilities. */ if (cap != NULL) { - if (ifp->if_capenable & IFCAP_TSO6 && - ifp->if_hwassist & CSUM_TSO) { - cap->ifcap |= CSUM_TSO; - cap->tsomax = ifp->if_hw_tsomax; - cap->tsomaxsegcount = ifp->if_hw_tsomaxsegcount; - cap->tsomaxsegsize = ifp->if_hw_tsomaxsegsize; - } + if (ifp->if_capenable & IFCAP_TSO6) { + cap->hwassist = ifp->if_hwassist; + cap->tsomax = ifp->if_tsomax; + } else + bzero(cap, sizeof(struct tcp_ifcap)); } RTFREE(sro6.ro_rt); } Modified: projects/ifnet/sys/netinet/tcp_var.h ============================================================================== --- projects/ifnet/sys/netinet/tcp_var.h Wed Dec 31 09:51:35 2014 (r276460) +++ projects/ifnet/sys/netinet/tcp_var.h Wed Dec 31 09:52:57 2014 (r276461) @@ -332,11 +332,12 @@ struct hc_metrics_lite { /* must stay in * Used by tcp_maxmtu() to communicate interface specific features * and limits at the time of connection setup. */ +#ifndef _NET_IF_H_ +struct iftsomax; +#endif struct tcp_ifcap { - int ifcap; - u_int tsomax; - u_int tsomaxsegcount; - u_int tsomaxsegsize; + uint64_t hwassist; + struct iftsomax *tsomax; }; #ifndef _NETINET_IN_PCB_H_ From owner-svn-src-projects@FreeBSD.ORG Wed Dec 31 10:01:12 2014 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id CFC17BDD; Wed, 31 Dec 2014 10:01:12 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id BAD9E6626B; Wed, 31 Dec 2014 10:01:12 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id sBVA1CNv048055; Wed, 31 Dec 2014 10:01:12 GMT (envelope-from glebius@FreeBSD.org) Received: (from glebius@localhost) by svn.freebsd.org (8.14.9/8.14.9/Submit) id sBVA1BFK048043; Wed, 31 Dec 2014 10:01:11 GMT (envelope-from glebius@FreeBSD.org) Message-Id: <201412311001.sBVA1BFK048043@svn.freebsd.org> X-Authentication-Warning: svn.freebsd.org: glebius set sender to glebius@FreeBSD.org using -f From: Gleb Smirnoff Date: Wed, 31 Dec 2014 10:01:11 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r276463 - projects/ifnet/sys/netinet6 X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 31 Dec 2014 10:01:12 -0000 Author: glebius Date: Wed Dec 31 10:01:10 2014 New Revision: 276463 URL: https://svnweb.freebsd.org/changeset/base/276463 Log: - Mechanically convert access to different ifnet fields that moved to ifdriver to inline functions. - Other small changes to adopt to new ifnet world order. Sponsored by: Netflix Sponsored by: Nginx, Inc. Modified: projects/ifnet/sys/netinet6/icmp6.c projects/ifnet/sys/netinet6/in6.c projects/ifnet/sys/netinet6/in6_ifattach.c projects/ifnet/sys/netinet6/nd6.c projects/ifnet/sys/netinet6/nd6_nbr.c projects/ifnet/sys/netinet6/nd6_rtr.c Modified: projects/ifnet/sys/netinet6/icmp6.c ============================================================================== --- projects/ifnet/sys/netinet6/icmp6.c Wed Dec 31 10:00:43 2014 (r276462) +++ projects/ifnet/sys/netinet6/icmp6.c Wed Dec 31 10:01:10 2014 (r276463) @@ -2420,11 +2420,11 @@ icmp6_redirect_input(struct mbuf *m, int lladdrlen = ndopts.nd_opts_tgt_lladdr->nd_opt_len << 3; } - if (lladdr && ((ifp->if_addrlen + 2 + 7) & ~7) != lladdrlen) { + if (lladdr && ((if_addrlen(ifp)+ 2 + 7) & ~7) != lladdrlen) { nd6log((LOG_INFO, "%s: lladdrlen mismatch for %s " "(if %d, icmp6 packet %d): %s\n", __func__, ip6_sprintf(ip6buf, &redtgt6), - ifp->if_addrlen, lladdrlen - 2, + if_addrlen(ifp), lladdrlen - 2, icmp6_redirect_diag(&src6, &reddst6, &redtgt6))); goto bad; } @@ -2538,7 +2538,7 @@ icmp6_redirect_output(struct mbuf *m0, s maxlen = min(IPV6_MMTU, maxlen); /* just for safety */ if (maxlen < sizeof(struct ip6_hdr) + sizeof(struct icmp6_hdr) + - ((sizeof(struct nd_opt_hdr) + ifp->if_addrlen + 7) & ~7)) { + ((sizeof(struct nd_opt_hdr) + if_addrlen(ifp) + 7) & ~7)) { goto fail; } @@ -2617,7 +2617,7 @@ icmp6_redirect_output(struct mbuf *m0, s if (ln == NULL) goto nolladdropt; - len = sizeof(*nd_opt) + ifp->if_addrlen; + len = sizeof(*nd_opt) + if_addrlen(ifp); len = (len + 7) & ~7; /* round by 8 */ /* safety check */ if (len + (p - (u_char *)ip6) > maxlen) @@ -2628,7 +2628,7 @@ icmp6_redirect_output(struct mbuf *m0, s nd_opt->nd_opt_type = ND_OPT_TARGET_LINKADDR; nd_opt->nd_opt_len = len >> 3; lladdr = (char *)(nd_opt + 1); - bcopy(&ln->ll_addr, lladdr, ifp->if_addrlen); + bcopy(&ln->ll_addr, lladdr, if_addrlen(ifp)); p += len; } } Modified: projects/ifnet/sys/netinet6/in6.c ============================================================================== --- projects/ifnet/sys/netinet6/in6.c Wed Dec 31 10:00:43 2014 (r276462) +++ projects/ifnet/sys/netinet6/in6.c Wed Dec 31 10:01:10 2014 (r276463) @@ -753,11 +753,7 @@ aifaddr_out: } default: - if (ifp->if_ioctl == NULL) { - error = EOPNOTSUPP; - goto out; - } - error = (*ifp->if_ioctl)(ifp, cmd, data); + error = if_ioctl(ifp, cmd, data); goto out; } @@ -1402,9 +1398,9 @@ in6_notify_ifa(struct ifnet *ifp, struct IF_ADDR_RUNLOCK(ifp); } - if (ifacount <= 1 && ifp->if_ioctl) { - error = (*ifp->if_ioctl)(ifp, SIOCSIFADDR, (caddr_t)ia); - if (error) + if (ifacount <= 1) { + error = if_ioctl(ifp, SIOCSIFADDR, (caddr_t)ia); + if (error != 0 && error != EOPNOTSUPP) return (error); } @@ -1963,7 +1959,7 @@ in6_setmaxmtu(void) int in6_if2idlen(struct ifnet *ifp) { - switch (ifp->if_type) { + switch (if_type(ifp)) { case IFT_ETHER: /* RFC2464 */ #ifdef IFT_PROPVIRTUAL case IFT_PROPVIRTUAL: /* XXX: no RFC. treat it as ether */ @@ -2007,7 +2003,7 @@ in6_if2idlen(struct ifnet *ifp) * we always use the constant, but make an explicit notice * indicating the "unknown" case. */ - printf("in6_if2idlen: unknown link type (%d)\n", ifp->if_type); + printf("%s: unknown link type (%d)\n", __func__, if_type(ifp)); return (64); } } @@ -2167,7 +2163,7 @@ in6_lltable_lookup(struct lltable *llt, } lle->la_flags = flags & ~LLE_CREATE; if ((flags & (LLE_CREATE | LLE_IFADDR)) == (LLE_CREATE | LLE_IFADDR)) { - bcopy(IF_LLADDR(ifp), &lle->ll_addr, ifp->if_addrlen); + bcopy(if_lladdr(ifp), &lle->ll_addr, if_addrlen(ifp)); lle->la_flags |= (LLE_VALID | LLE_STATIC); } @@ -2259,10 +2255,10 @@ in6_lltable_dump(struct lltable *llt, st sdl = &ndpc.sdl; sdl->sdl_family = AF_LINK; sdl->sdl_len = sizeof(*sdl); - sdl->sdl_alen = ifp->if_addrlen; + sdl->sdl_alen = if_addrlen(ifp); sdl->sdl_index = ifp->if_index; - sdl->sdl_type = ifp->if_type; - bcopy(&lle->ll_addr, LLADDR(sdl), ifp->if_addrlen); + sdl->sdl_type = if_type(ifp); + bcopy(&lle->ll_addr, LLADDR(sdl), if_addrlen(ifp)); ndpc.rtm.rtm_rmx.rmx_expire = lle->la_flags & LLE_STATIC ? 0 : lle->la_expire; ndpc.rtm.rtm_flags |= (RTF_HOST | RTF_LLDATA); @@ -2283,11 +2279,13 @@ in6_domifattach(struct ifnet *ifp) struct in6_ifextra *ext; /* There are not IPv6-capable interfaces. */ - switch (ifp->if_type) { + switch (if_type(ifp)) { case IFT_PFLOG: case IFT_PFSYNC: case IFT_USB: return (NULL); + default: + break; } ext = (struct in6_ifextra *)malloc(sizeof(*ext), M_IFADDR, M_WAITOK); bzero(ext, sizeof(*ext)); Modified: projects/ifnet/sys/netinet6/in6_ifattach.c ============================================================================== --- projects/ifnet/sys/netinet6/in6_ifattach.c Wed Dec 31 10:00:43 2014 (r276462) +++ projects/ifnet/sys/netinet6/in6_ifattach.c Wed Dec 31 10:01:10 2014 (r276463) @@ -266,7 +266,7 @@ found: addrlen = sdl->sdl_alen; /* get EUI64 */ - switch (ifp->if_type) { + switch (if_type(ifp)) { case IFT_BRIDGE: case IFT_ETHER: case IFT_L2VLAN: @@ -702,7 +702,7 @@ in6_ifattach(struct ifnet *ifp, struct i /* * quirks based on interface type */ - switch (ifp->if_type) { + switch (if_type(ifp)) { case IFT_STF: /* * 6to4 interface is a very special kind of beast. Modified: projects/ifnet/sys/netinet6/nd6.c ============================================================================== --- projects/ifnet/sys/netinet6/nd6.c Wed Dec 31 10:00:43 2014 (r276462) +++ projects/ifnet/sys/netinet6/nd6.c Wed Dec 31 10:01:10 2014 (r276463) @@ -187,7 +187,7 @@ nd6_ifattach(struct ifnet *ifp) * default regardless of the V_ip6_auto_linklocal configuration to * give a reasonable default behavior. */ - if ((V_ip6_auto_linklocal && ifp->if_type != IFT_BRIDGE) || + if ((V_ip6_auto_linklocal && if_type(ifp) != IFT_BRIDGE) || (ifp->if_flags & IFF_LOOPBACK)) nd->flags |= ND6_IFF_AUTO_LINKLOCAL; /* @@ -197,9 +197,8 @@ nd6_ifattach(struct ifnet *ifp) * prevent the interface from accepting RA messages arrived * on one of the member interfaces with ND6_IFF_ACCEPT_RTADV. */ - if (V_ip6_accept_rtadv && - !(ifp->if_flags & IFF_LOOPBACK) && - (ifp->if_type != IFT_BRIDGE)) + if (V_ip6_accept_rtadv && !(ifp->if_flags & IFF_LOOPBACK) && + (if_type(ifp) != IFT_BRIDGE)) nd->flags |= ND6_IFF_ACCEPT_RTADV; if (V_ip6_no_radr && !(ifp->if_flags & IFF_LOOPBACK)) nd->flags |= ND6_IFF_NO_RADR; @@ -236,7 +235,7 @@ nd6_setmtu0(struct ifnet *ifp, struct nd omaxmtu = ndi->maxmtu; - switch (ifp->if_type) { + switch (if_type(ifp)) { case IFT_ARCNET: ndi->maxmtu = MIN(ARC_PHDS_MAXMTU, ifp->if_mtu); /* RFC2497 */ break; @@ -1597,10 +1596,9 @@ nd6_cache_lladdr(struct ifnet *ifp, stru return (NULL); olladdr = (ln->la_flags & LLE_VALID) ? 1 : 0; - if (olladdr && lladdr) { - llchange = bcmp(lladdr, &ln->ll_addr, - ifp->if_addrlen); - } else + if (olladdr && lladdr) + llchange = bcmp(lladdr, &ln->ll_addr, if_addrlen(ifp)); + else llchange = 0; /* @@ -1617,9 +1615,9 @@ nd6_cache_lladdr(struct ifnet *ifp, stru if (lladdr) { /* (3-5) and (7) */ /* * Record source link-layer address - * XXX is it dependent to ifp->if_type? + * XXX is it dependent to if_type(ifp)? */ - bcopy(lladdr, &ln->ll_addr, ifp->if_addrlen); + bcopy(lladdr, &ln->ll_addr, if_addrlen(ifp)); ln->la_flags |= LLE_VALID; EVENTHANDLER_INVOKE(lle_event, ln, LLENTRY_RESOLVED); } @@ -1916,8 +1914,9 @@ sendpkt: if ((ifp->if_flags & IFF_LOOPBACK) == 0) origifp = ifp; - - error = (*ifp->if_output)(origifp, m, (struct sockaddr *)dst, NULL); + + /* XXXGL */ + error = ifp->if_ops->ifop_output(origifp, m, (struct sockaddr *)dst, NULL); return (error); } @@ -2151,7 +2150,8 @@ nd6_output_lle(struct ifnet *ifp, struct if ((ifp->if_flags & IFF_LOOPBACK) == 0) origifp = ifp; - error = (*ifp->if_output)(origifp, m, (struct sockaddr *)dst, NULL); + /* XXXGL */ + error = ifp->if_ops->ifop_output(origifp, m, (struct sockaddr *)dst, NULL); return (error); } @@ -2173,7 +2173,7 @@ nd6_output_flush(struct ifnet *ifp, stru while (m_head) { m = m_head; m_head = m_head->m_nextpkt; - error = (*ifp->if_output)(ifp, m, (struct sockaddr *)dst, NULL); + error = if_output(ifp, m, (struct sockaddr *)dst, NULL); } /* @@ -2196,7 +2196,7 @@ nd6_need_cache(struct ifnet *ifp) * RFC2893 says: * - unidirectional tunnels needs no ND */ - switch (ifp->if_type) { + switch (if_type(ifp)) { case IFT_ARCNET: case IFT_ETHER: case IFT_FDDI: @@ -2290,7 +2290,7 @@ nd6_storelladdr(struct ifnet *ifp, struc if (m != NULL && m->m_flags & M_MCAST) { int i; - switch (ifp->if_type) { + switch (if_type(ifp)) { case IFT_ETHER: case IFT_FDDI: #ifdef IFT_L2VLAN @@ -2309,7 +2309,7 @@ nd6_storelladdr(struct ifnet *ifp, struc * netbsd can use if_broadcastaddr, but we don't do so * to reduce # of ifdef. */ - for (i = 0; i < ifp->if_addrlen; i++) + for (i = 0; i < if_addrlen(ifp); i++) desten[i] = ~0; return (0); case IFT_ARCNET: @@ -2336,7 +2336,7 @@ nd6_storelladdr(struct ifnet *ifp, struc return (1); } - bcopy(&ln->ll_addr, desten, ifp->if_addrlen); + bcopy(&ln->ll_addr, desten, if_addrlen(ifp)); if (pflags != NULL) *pflags = ln->la_flags; LLE_RUNLOCK(ln); Modified: projects/ifnet/sys/netinet6/nd6_nbr.c ============================================================================== --- projects/ifnet/sys/netinet6/nd6_nbr.c Wed Dec 31 10:00:43 2014 (r276462) +++ projects/ifnet/sys/netinet6/nd6_nbr.c Wed Dec 31 10:01:10 2014 (r276463) @@ -286,11 +286,11 @@ nd6_ns_input(struct mbuf *m, int off, in if (((struct in6_ifaddr *)ifa)->ia6_flags & IN6_IFF_DUPLICATED) goto freeit; - if (lladdr && ((ifp->if_addrlen + 2 + 7) & ~7) != lladdrlen) { + if (lladdr && ((if_addrlen(ifp) + 2 + 7) & ~7) != lladdrlen) { nd6log((LOG_INFO, "nd6_ns_input: lladdrlen mismatch for %s " "(if %d, NS packet %d)\n", ip6_sprintf(ip6bufs, &taddr6), - ifp->if_addrlen, lladdrlen - 2)); + if_addrlen(ifp), lladdrlen - 2)); goto bad; } @@ -404,7 +404,7 @@ nd6_ns_output(struct ifnet *ifp, const s /* estimate the size of message */ maxlen = sizeof(*ip6) + sizeof(*nd_ns); - maxlen += (sizeof(struct nd_opt_hdr) + ifp->if_addrlen + 7) & ~7; + maxlen += (sizeof(struct nd_opt_hdr) + if_addrlen(ifp) + 7) & ~7; if (max_linkhdr + maxlen >= MCLBYTES) { #ifdef DIAGNOSTIC printf("nd6_ns_output: max_linkhdr + maxlen >= MCLBYTES " @@ -551,7 +551,7 @@ nd6_ns_output(struct ifnet *ifp, const s * Unicast NS SHOULD add one add the option */ if (!dad && (mac = nd6_ifptomac(ifp))) { - int optlen = sizeof(struct nd_opt_hdr) + ifp->if_addrlen; + int optlen = sizeof(struct nd_opt_hdr) + if_addrlen(ifp); struct nd_opt_hdr *nd_opt = (struct nd_opt_hdr *)(nd_ns + 1); /* 8 byte alignments... */ optlen = (optlen + 7) & ~7; @@ -562,7 +562,7 @@ nd6_ns_output(struct ifnet *ifp, const s bzero((caddr_t)nd_opt, optlen); nd_opt->nd_opt_type = ND_OPT_SOURCE_LINKADDR; nd_opt->nd_opt_len = optlen >> 3; - bcopy(mac, (caddr_t)(nd_opt + 1), ifp->if_addrlen); + bcopy(mac, (caddr_t)(nd_opt + 1), if_addrlen(ifp)); } ip6->ip6_plen = htons((u_short)icmp6len); @@ -719,10 +719,10 @@ nd6_na_input(struct mbuf *m, int off, in goto freeit; } - if (lladdr && ((ifp->if_addrlen + 2 + 7) & ~7) != lladdrlen) { + if (lladdr && ((if_addrlen(ifp) + 2 + 7) & ~7) != lladdrlen) { nd6log((LOG_INFO, "nd6_na_input: lladdrlen mismatch for %s " "(if %d, NA packet %d)\n", ip6_sprintf(ip6bufs, &taddr6), - ifp->if_addrlen, lladdrlen - 2)); + if_addrlen(ifp), lladdrlen - 2)); goto bad; } @@ -742,14 +742,14 @@ nd6_na_input(struct mbuf *m, int off, in * If the link-layer has address, and no lladdr option came, * discard the packet. */ - if (ifp->if_addrlen && lladdr == NULL) { + if (if_addrlen(ifp) && lladdr == NULL) { goto freeit; } /* * Record link-layer address, and update the state. */ - bcopy(lladdr, &ln->ll_addr, ifp->if_addrlen); + bcopy(lladdr, &ln->ll_addr, if_addrlen(ifp)); ln->la_flags |= LLE_VALID; EVENTHANDLER_INVOKE(lle_event, ln, LLENTRY_RESOLVED); if (is_solicited) { @@ -781,7 +781,7 @@ nd6_na_input(struct mbuf *m, int off, in llchange = 0; else { if (ln->la_flags & LLE_VALID) { - if (bcmp(lladdr, &ln->ll_addr, ifp->if_addrlen)) + if (bcmp(lladdr, &ln->ll_addr, if_addrlen(ifp))) llchange = 1; else llchange = 0; @@ -825,7 +825,7 @@ nd6_na_input(struct mbuf *m, int off, in * Update link-local address, if any. */ if (lladdr != NULL) { - bcopy(lladdr, &ln->ll_addr, ifp->if_addrlen); + bcopy(lladdr, &ln->ll_addr, if_addrlen(ifp)); ln->la_flags |= LLE_VALID; EVENTHANDLER_INVOKE(lle_event, ln, LLENTRY_RESOLVED); @@ -977,7 +977,7 @@ nd6_na_output_fib(struct ifnet *ifp, con /* estimate the size of message */ maxlen = sizeof(*ip6) + sizeof(*nd_na); - maxlen += (sizeof(struct nd_opt_hdr) + ifp->if_addrlen + 7) & ~7; + maxlen += (sizeof(struct nd_opt_hdr) + if_addrlen(ifp) + 7) & ~7; if (max_linkhdr + maxlen >= MCLBYTES) { #ifdef DIAGNOSTIC printf("nd6_na_output: max_linkhdr + maxlen >= MCLBYTES " @@ -1070,12 +1070,12 @@ nd6_na_output_fib(struct ifnet *ifp, con } else if (sdl0->sa_family == AF_LINK) { struct sockaddr_dl *sdl; sdl = (struct sockaddr_dl *)sdl0; - if (sdl->sdl_alen == ifp->if_addrlen) + if (sdl->sdl_alen == if_addrlen(ifp)) mac = LLADDR(sdl); } } if (tlladdr && mac) { - int optlen = sizeof(struct nd_opt_hdr) + ifp->if_addrlen; + int optlen = sizeof(struct nd_opt_hdr) + if_addrlen(ifp); struct nd_opt_hdr *nd_opt = (struct nd_opt_hdr *)(nd_na + 1); /* roundup to 8 bytes alignment! */ @@ -1087,7 +1087,7 @@ nd6_na_output_fib(struct ifnet *ifp, con bzero((caddr_t)nd_opt, optlen); nd_opt->nd_opt_type = ND_OPT_TARGET_LINKADDR; nd_opt->nd_opt_len = optlen >> 3; - bcopy(mac, (caddr_t)(nd_opt + 1), ifp->if_addrlen); + bcopy(mac, (caddr_t)(nd_opt + 1), if_addrlen(ifp)); } else flags &= ~ND_NA_FLAG_OVERRIDE; @@ -1139,7 +1139,8 @@ nd6_na_output(struct ifnet *ifp, const s caddr_t nd6_ifptomac(struct ifnet *ifp) { - switch (ifp->if_type) { + + switch (if_type(ifp)) { case IFT_ARCNET: case IFT_ETHER: case IFT_FDDI: @@ -1153,7 +1154,7 @@ nd6_ifptomac(struct ifnet *ifp) case IFT_INFINIBAND: case IFT_BRIDGE: case IFT_ISO88025: - return IF_LLADDR(ifp); + return if_lladdr(ifp); default: return NULL; } @@ -1476,7 +1477,7 @@ nd6_dad_duplicated(struct ifaddr *ifa, s * To avoid over-reaction, we only apply this logic when we are * very sure that hardware addresses are supposed to be unique. */ - switch (ifp->if_type) { + switch (if_type(ifp)) { case IFT_ETHER: case IFT_FDDI: case IFT_ATM: @@ -1494,6 +1495,8 @@ nd6_dad_duplicated(struct ifaddr *ifa, s if_name(ifp)); } break; + default: + break; } } } Modified: projects/ifnet/sys/netinet6/nd6_rtr.c ============================================================================== --- projects/ifnet/sys/netinet6/nd6_rtr.c Wed Dec 31 10:00:43 2014 (r276462) +++ projects/ifnet/sys/netinet6/nd6_rtr.c Wed Dec 31 10:01:10 2014 (r276463) @@ -179,12 +179,12 @@ nd6_rs_input(struct mbuf *m, int off, in lladdrlen = ndopts.nd_opts_src_lladdr->nd_opt_len << 3; } - if (lladdr && ((ifp->if_addrlen + 2 + 7) & ~7) != lladdrlen) { + if (lladdr && ((if_addrlen(ifp) + 2 + 7) & ~7) != lladdrlen) { nd6log((LOG_INFO, "nd6_rs_input: lladdrlen mismatch for %s " "(if %d, RS packet %d)\n", ip6_sprintf(ip6bufs, &saddr6), - ifp->if_addrlen, lladdrlen - 2)); + if_addrlen(ifp), lladdrlen - 2)); goto bad; } @@ -409,11 +409,11 @@ nd6_ra_input(struct mbuf *m, int off, in lladdrlen = ndopts.nd_opts_src_lladdr->nd_opt_len << 3; } - if (lladdr && ((ifp->if_addrlen + 2 + 7) & ~7) != lladdrlen) { + if (lladdr && ((if_addrlen(ifp) + 2 + 7) & ~7) != lladdrlen) { nd6log((LOG_INFO, "nd6_ra_input: lladdrlen mismatch for %s " "(if %d, RA packet %d)\n", ip6_sprintf(ip6bufs, &saddr6), - ifp->if_addrlen, lladdrlen - 2)); + if_addrlen(ifp), lladdrlen - 2)); goto bad; } @@ -1553,7 +1553,7 @@ nd6_prefix_onlink_rtrequest(struct nd_pr struct sockaddr_dl *dl; dl = (struct sockaddr_dl *)rt->rt_gateway; - dl->sdl_type = rt->rt_ifp->if_type; + dl->sdl_type = if_type(rt->rt_ifp); dl->sdl_index = rt->rt_ifp->if_index; } RADIX_NODE_HEAD_UNLOCK(rnh); From owner-svn-src-projects@FreeBSD.ORG Wed Dec 31 10:02:51 2014 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 5ADAACF2; Wed, 31 Dec 2014 10:02:51 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 362A9669E5; Wed, 31 Dec 2014 10:02:06 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id sBVA25J2048831; Wed, 31 Dec 2014 10:02:05 GMT (envelope-from glebius@FreeBSD.org) Received: (from glebius@localhost) by svn.freebsd.org (8.14.9/8.14.9/Submit) id sBVA25iL048830; Wed, 31 Dec 2014 10:02:05 GMT (envelope-from glebius@FreeBSD.org) Message-Id: <201412311002.sBVA25iL048830@svn.freebsd.org> X-Authentication-Warning: svn.freebsd.org: glebius set sender to glebius@FreeBSD.org using -f From: Gleb Smirnoff Date: Wed, 31 Dec 2014 10:02:05 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r276464 - projects/ifnet/sys/conf X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 31 Dec 2014 10:02:51 -0000 Author: glebius Date: Wed Dec 31 10:02:04 2014 New Revision: 276464 URL: https://svnweb.freebsd.org/changeset/base/276464 Log: if_dead no longer needed. Modified: projects/ifnet/sys/conf/files Modified: projects/ifnet/sys/conf/files ============================================================================== --- projects/ifnet/sys/conf/files Wed Dec 31 10:01:10 2014 (r276463) +++ projects/ifnet/sys/conf/files Wed Dec 31 10:02:04 2014 (r276464) @@ -3234,7 +3234,6 @@ net/if_arcsubr.c optional arcnet net/if_atmsubr.c optional atm net/if_bridge.c optional bridge inet | if_bridge inet net/if_clone.c standard -net/if_dead.c standard net/if_debug.c optional ddb net/if_disc.c optional disc net/if_edsc.c optional edsc From owner-svn-src-projects@FreeBSD.ORG Wed Dec 31 10:08:18 2014 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 6F15036F; Wed, 31 Dec 2014 10:08:18 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 59A22672AD; Wed, 31 Dec 2014 10:08:18 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id sBVA8IxZ049879; Wed, 31 Dec 2014 10:08:18 GMT (envelope-from glebius@FreeBSD.org) Received: (from glebius@localhost) by svn.freebsd.org (8.14.9/8.14.9/Submit) id sBVA8IQn049877; Wed, 31 Dec 2014 10:08:18 GMT (envelope-from glebius@FreeBSD.org) Message-Id: <201412311008.sBVA8IQn049877@svn.freebsd.org> X-Authentication-Warning: svn.freebsd.org: glebius set sender to glebius@FreeBSD.org using -f From: Gleb Smirnoff Date: Wed, 31 Dec 2014 10:08:18 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r276468 - projects/ifnet/sys/dev/virtio/network X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 31 Dec 2014 10:08:18 -0000 Author: glebius Date: Wed Dec 31 10:08:17 2014 New Revision: 276468 URL: https://svnweb.freebsd.org/changeset/base/276468 Log: Convert vtnet(4) to new interface API. This is a more complex example than loop(4) and can be used as reference when converting other drivers. - Don't include if_var.h. - Declare static struct ifdriver, and if_attach_args on stack of vtnet_setup_interface(). - Use methods to access properties of interface. - Use if_foreach_addr() and if_foreach_maddr() to iterate over interface addresses. - Use buf_ring(9) directly instead of drbr(9). [1] [1] The drbr(9) goes away very soon as well as interface output queues. ALTQ will be implemented as interceptor of interface if_ops. Sponsored by: Netflix Sponsored by: Nginx, Inc. Modified: projects/ifnet/sys/dev/virtio/network/if_vtnet.c projects/ifnet/sys/dev/virtio/network/if_vtnetvar.h Modified: projects/ifnet/sys/dev/virtio/network/if_vtnet.c ============================================================================== --- projects/ifnet/sys/dev/virtio/network/if_vtnet.c Wed Dec 31 10:05:42 2014 (r276467) +++ projects/ifnet/sys/dev/virtio/network/if_vtnet.c Wed Dec 31 10:08:17 2014 (r276468) @@ -33,6 +33,7 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include #include #include @@ -51,12 +52,9 @@ __FBSDID("$FreeBSD$"); #include #include -#include #include #include -#include #include -#include #include @@ -79,6 +77,10 @@ __FBSDID("$FreeBSD$"); #include #include +#ifdef DEV_NETMAP +#include +#endif /* DEV_NETMAP */ + #include "virtio_if.h" #include "opt_inet.h" @@ -104,10 +106,10 @@ static void vtnet_free_rxtx_queues(struc static int vtnet_alloc_rx_filters(struct vtnet_softc *); static void vtnet_free_rx_filters(struct vtnet_softc *); static int vtnet_alloc_virtqueues(struct vtnet_softc *); -static int vtnet_setup_interface(struct vtnet_softc *); +static void vtnet_setup_interface(struct vtnet_softc *); static int vtnet_change_mtu(struct vtnet_softc *, int); -static int vtnet_ioctl(struct ifnet *, u_long, caddr_t); -static uint64_t vtnet_get_counter(struct ifnet *, ift_counter); +static int vtnet_ioctl(if_t, u_long, caddr_t); +static uint64_t vtnet_get_counter(if_t, ift_counter); static int vtnet_rxq_populate(struct vtnet_rxq *); static void vtnet_rxq_free_mbufs(struct vtnet_rxq *); @@ -142,23 +144,15 @@ static struct mbuf * static int vtnet_txq_enqueue_buf(struct vtnet_txq *, struct mbuf **, struct vtnet_tx_header *); static int vtnet_txq_encap(struct vtnet_txq *, struct mbuf **); -#ifdef VTNET_LEGACY_TX -static void vtnet_start_locked(struct vtnet_txq *, struct ifnet *); -static void vtnet_start(struct ifnet *); -#else static int vtnet_txq_mq_start_locked(struct vtnet_txq *, struct mbuf *); -static int vtnet_txq_mq_start(struct ifnet *, struct mbuf *); +static int vtnet_txq_mq_start(if_t, struct mbuf *); static void vtnet_txq_tq_deferred(void *, int); -#endif static void vtnet_txq_start(struct vtnet_txq *); static void vtnet_txq_tq_intr(void *, int); static int vtnet_txq_eof(struct vtnet_txq *); static void vtnet_tx_vq_intr(void *); static void vtnet_tx_start_all(struct vtnet_softc *); - -#ifndef VTNET_LEGACY_TX -static void vtnet_qflush(struct ifnet *); -#endif +static void vtnet_qflush(if_t); static int vtnet_watchdog(struct vtnet_txq *); static void vtnet_accum_stats(struct vtnet_softc *, @@ -196,13 +190,13 @@ static void vtnet_rx_filter_mac(struct v static int vtnet_exec_vlan_filter(struct vtnet_softc *, int, uint16_t); static void vtnet_rx_filter_vlan(struct vtnet_softc *); static void vtnet_update_vlan_filter(struct vtnet_softc *, int, uint16_t); -static void vtnet_register_vlan(void *, struct ifnet *, uint16_t); -static void vtnet_unregister_vlan(void *, struct ifnet *, uint16_t); +static void vtnet_register_vlan(void *, if_t, uint16_t); +static void vtnet_unregister_vlan(void *, if_t, uint16_t); static int vtnet_is_link_up(struct vtnet_softc *); static void vtnet_update_link_status(struct vtnet_softc *); -static int vtnet_ifmedia_upd(struct ifnet *); -static void vtnet_ifmedia_sts(struct ifnet *, struct ifmediareq *); +static int vtnet_ifmedia_upd(if_t); +static void vtnet_ifmedia_sts(if_t, struct ifmediareq *); static void vtnet_get_hwaddr(struct vtnet_softc *); static void vtnet_set_hwaddr(struct vtnet_softc *); static void vtnet_vlan_tag_remove(struct mbuf *); @@ -287,10 +281,6 @@ static device_method_t vtnet_methods[] = DEVMETHOD_END }; -#ifdef DEV_NETMAP -#include -#endif /* DEV_NETMAP */ - static driver_t vtnet_driver = { "vtnet", vtnet_methods, @@ -305,6 +295,20 @@ DRIVER_MODULE(vtnet, virtio_pci, vtnet_d MODULE_VERSION(vtnet, 1); MODULE_DEPEND(vtnet, virtio, 1, 1, 1); +static struct ifdriver vtnet_ifdrv = { + .ifdrv_ops = { + .ifop_origin = IFOP_ORIGIN_DRIVER, + .ifop_ioctl = vtnet_ioctl, + .ifop_init = vtnet_init, + .ifop_get_counter = vtnet_get_counter, + .ifop_transmit = vtnet_txq_mq_start, + .ifop_qflush = vtnet_qflush, + }, + .ifdrv_dname = "vtnet", + .ifdrv_type = IFT_ETHER, + .ifdrv_hdrlen = sizeof(struct ether_vlan_header), +}; + static int vtnet_modevent(module_t mod, int type, void *unused) { @@ -385,20 +389,14 @@ vtnet_attach(device_t dev) goto fail; } - error = vtnet_setup_interface(sc); - if (error) { - device_printf(dev, "cannot setup interface\n"); - goto fail; - } - error = virtio_setup_intr(dev, INTR_TYPE_NET); if (error) { device_printf(dev, "cannot setup virtqueue interrupts\n"); - /* BMV: This will crash if during boot! */ - ether_ifdetach(sc->vtnet_ifp); goto fail; } + vtnet_setup_interface(sc); + #ifdef DEV_NETMAP vtnet_netmap_attach(sc); #endif /* DEV_NETMAP */ @@ -416,10 +414,8 @@ static int vtnet_detach(device_t dev) { struct vtnet_softc *sc; - struct ifnet *ifp; sc = device_get_softc(dev); - ifp = sc->vtnet_ifp; if (device_is_attached(dev)) { VTNET_CORE_LOCK(sc); @@ -429,13 +425,13 @@ vtnet_detach(device_t dev) callout_drain(&sc->vtnet_tick_ch); vtnet_drain_taskqueues(sc); - ether_ifdetach(ifp); - } - #ifdef DEV_NETMAP - netmap_detach(ifp); + netmap_detach(sc->vtnet_ifp); #endif /* DEV_NETMAP */ + if_detach(sc->vtnet_ifp); + } + vtnet_free_taskqueues(sc); if (sc->vtnet_vlan_attach != NULL) { @@ -449,11 +445,6 @@ vtnet_detach(device_t dev) ifmedia_removeall(&sc->vtnet_media); - if (ifp != NULL) { - if_free(ifp); - sc->vtnet_ifp = NULL; - } - vtnet_free_rxtx_queues(sc); vtnet_free_rx_filters(sc); @@ -484,13 +475,13 @@ static int vtnet_resume(device_t dev) { struct vtnet_softc *sc; - struct ifnet *ifp; + if_t ifp; sc = device_get_softc(dev); ifp = sc->vtnet_ifp; VTNET_CORE_LOCK(sc); - if (ifp->if_flags & IFF_UP) + if (if_getflags(ifp, IF_FLAGS) & IFF_UP) vtnet_init_locked(sc); sc->vtnet_flags &= ~VTNET_FLAG_SUSPENDED; VTNET_CORE_UNLOCK(sc); @@ -555,12 +546,8 @@ vtnet_negotiate_features(struct vtnet_so mask |= VTNET_TSO_FEATURES; if (vtnet_tunable_int(sc, "lro_disable", vtnet_lro_disable)) mask |= VTNET_LRO_FEATURES; -#ifndef VTNET_LEGACY_TX if (vtnet_tunable_int(sc, "mq_disable", vtnet_mq_disable)) mask |= VIRTIO_NET_F_MQ; -#else - mask |= VIRTIO_NET_F_MQ; -#endif features = VTNET_FEATURES & ~mask; sc->vtnet_features = virtio_negotiate_features(dev, features); @@ -711,14 +698,12 @@ vtnet_init_txq(struct vtnet_softc *sc, i if (txq->vtntx_sg == NULL) return (ENOMEM); -#ifndef VTNET_LEGACY_TX txq->vtntx_br = buf_ring_alloc(VTNET_DEFAULT_BUFRING_SIZE, M_DEVBUF, M_NOWAIT, &txq->vtntx_mtx); if (txq->vtntx_br == NULL) return (ENOMEM); TASK_INIT(&txq->vtntx_defrtask, 0, vtnet_txq_tq_deferred, txq); -#endif TASK_INIT(&txq->vtntx_intrtask, 0, vtnet_txq_tq_intr, txq); txq->vtntx_tq = taskqueue_create(txq->vtntx_name, M_NOWAIT, taskqueue_thread_enqueue, &txq->vtntx_tq); @@ -784,12 +769,10 @@ vtnet_destroy_txq(struct vtnet_txq *txq) txq->vtntx_sg = NULL; } -#ifndef VTNET_LEGACY_TX if (txq->vtntx_br != NULL) { buf_ring_free(txq->vtntx_br, M_DEVBUF); txq->vtntx_br = NULL; } -#endif if (mtx_initialized(&txq->vtntx_mtx) != 0) mtx_destroy(&txq->vtntx_mtx); @@ -901,101 +884,75 @@ vtnet_alloc_virtqueues(struct vtnet_soft return (error); } -static int +static void vtnet_setup_interface(struct vtnet_softc *sc) { + struct if_attach_args ifat = { + .ifat_version = IF_ATTACH_VERSION, + .ifat_drv = &vtnet_ifdrv, + .ifat_softc = sc, + .ifat_baudrate = IF_Gbps(10), /* Approx. */ + .ifat_flags = IFF_BROADCAST | IFF_SIMPLEX | IFF_MULTICAST, + .ifat_capabilities = IFCAP_JUMBO_MTU | IFCAP_VLAN_MTU, + }; device_t dev; - struct ifnet *ifp; dev = sc->vtnet_dev; - - ifp = sc->vtnet_ifp = if_alloc(IFT_ETHER); - if (ifp == NULL) { - device_printf(dev, "cannot allocate ifnet structure\n"); - return (ENOSPC); - } - - if_initname(ifp, device_get_name(dev), device_get_unit(dev)); - ifp->if_baudrate = IF_Gbps(10); /* Approx. */ - ifp->if_softc = sc; - ifp->if_flags = IFF_BROADCAST | IFF_SIMPLEX | IFF_MULTICAST; - ifp->if_init = vtnet_init; - ifp->if_ioctl = vtnet_ioctl; - ifp->if_get_counter = vtnet_get_counter; -#ifndef VTNET_LEGACY_TX - ifp->if_transmit = vtnet_txq_mq_start; - ifp->if_qflush = vtnet_qflush; -#else - struct virtqueue *vq = sc->vtnet_txqs[0].vtntx_vq; - ifp->if_start = vtnet_start; - IFQ_SET_MAXLEN(&ifp->if_snd, virtqueue_size(vq) - 1); - ifp->if_snd.ifq_drv_maxlen = virtqueue_size(vq) - 1; - IFQ_SET_READY(&ifp->if_snd); -#endif - - ifmedia_init(&sc->vtnet_media, IFM_IMASK, vtnet_ifmedia_upd, - vtnet_ifmedia_sts); - ifmedia_add(&sc->vtnet_media, VTNET_MEDIATYPE, 0, NULL); - ifmedia_set(&sc->vtnet_media, VTNET_MEDIATYPE); - /* Read (or generate) the MAC address for the adapter. */ vtnet_get_hwaddr(sc); - ether_ifattach(ifp, sc->vtnet_hwaddr); + ifat.ifat_dunit = device_get_unit(dev); + ifat.ifat_lla = sc->vtnet_hwaddr; if (virtio_with_feature(dev, VIRTIO_NET_F_STATUS)) - ifp->if_capabilities |= IFCAP_LINKSTATE; - - /* Tell the upper layer(s) we support long frames. */ - ifp->if_hdrlen = sizeof(struct ether_vlan_header); - ifp->if_capabilities |= IFCAP_JUMBO_MTU | IFCAP_VLAN_MTU; + ifat.ifat_capabilities |= IFCAP_LINKSTATE; if (virtio_with_feature(dev, VIRTIO_NET_F_CSUM)) { - ifp->if_capabilities |= IFCAP_TXCSUM | IFCAP_TXCSUM_IPV6; + ifat.ifat_capabilities |= IFCAP_TXCSUM | IFCAP_TXCSUM_IPV6; if (virtio_with_feature(dev, VIRTIO_NET_F_GSO)) { - ifp->if_capabilities |= IFCAP_TSO4 | IFCAP_TSO6; + ifat.ifat_capabilities |= IFCAP_TSO4 | IFCAP_TSO6; sc->vtnet_flags |= VTNET_FLAG_TSO_ECN; } else { if (virtio_with_feature(dev, VIRTIO_NET_F_HOST_TSO4)) - ifp->if_capabilities |= IFCAP_TSO4; + ifat.ifat_capabilities |= IFCAP_TSO4; if (virtio_with_feature(dev, VIRTIO_NET_F_HOST_TSO6)) - ifp->if_capabilities |= IFCAP_TSO6; + ifat.ifat_capabilities |= IFCAP_TSO6; if (virtio_with_feature(dev, VIRTIO_NET_F_HOST_ECN)) sc->vtnet_flags |= VTNET_FLAG_TSO_ECN; } - if (ifp->if_capabilities & IFCAP_TSO) - ifp->if_capabilities |= IFCAP_VLAN_HWTSO; + if (ifat.ifat_capabilities & IFCAP_TSO) + ifat.ifat_capabilities |= IFCAP_VLAN_HWTSO; } if (virtio_with_feature(dev, VIRTIO_NET_F_GUEST_CSUM)) { - ifp->if_capabilities |= IFCAP_RXCSUM | IFCAP_RXCSUM_IPV6; + ifat.ifat_capabilities |= IFCAP_RXCSUM | IFCAP_RXCSUM_IPV6; if (virtio_with_feature(dev, VIRTIO_NET_F_GUEST_TSO4) || virtio_with_feature(dev, VIRTIO_NET_F_GUEST_TSO6)) - ifp->if_capabilities |= IFCAP_LRO; + ifat.ifat_capabilities |= IFCAP_LRO; } - if (ifp->if_capabilities & IFCAP_HWCSUM) { + if (ifat.ifat_capabilities & IFCAP_HWCSUM) { /* * VirtIO does not support VLAN tagging, but we can fake * it by inserting and removing the 802.1Q header during * transmit and receive. We are then able to do checksum * offloading of VLAN frames. */ - ifp->if_capabilities |= + ifat.ifat_capabilities |= IFCAP_VLAN_HWTAGGING | IFCAP_VLAN_HWCSUM; } - ifp->if_capenable = ifp->if_capabilities; + ifat.ifat_capenable = ifat.ifat_capabilities; /* * Capabilities after here are not enabled by default. */ if (sc->vtnet_flags & VTNET_FLAG_VLAN_FILTER) { - ifp->if_capabilities |= IFCAP_VLAN_HWFILTER; + ifat.ifat_capabilities |= IFCAP_VLAN_HWFILTER; sc->vtnet_vlan_attach = EVENTHANDLER_REGISTER(vlan_config, vtnet_register_vlan, sc, EVENTHANDLER_PRI_FIRST); @@ -1006,13 +963,18 @@ vtnet_setup_interface(struct vtnet_softc vtnet_set_rx_process_limit(sc); vtnet_set_tx_intr_threshold(sc); - return (0); + ifmedia_init(&sc->vtnet_media, IFM_IMASK, vtnet_ifmedia_upd, + vtnet_ifmedia_sts); + ifmedia_add(&sc->vtnet_media, VTNET_MEDIATYPE, 0, NULL); + ifmedia_set(&sc->vtnet_media, VTNET_MEDIATYPE); + + sc->vtnet_ifp = if_attach(&ifat); } static int vtnet_change_mtu(struct vtnet_softc *sc, int new_mtu) { - struct ifnet *ifp; + if_t ifp; int frame_size, clsize; ifp = sc->vtnet_ifp; @@ -1037,11 +999,11 @@ vtnet_change_mtu(struct vtnet_softc *sc, } else clsize = MJUMPAGESIZE; - ifp->if_mtu = new_mtu; + if_setflags(ifp, IF_MTU, new_mtu); sc->vtnet_rx_new_clsize = clsize; - if (ifp->if_drv_flags & IFF_DRV_RUNNING) { - ifp->if_drv_flags &= ~IFF_DRV_RUNNING; + if (if_getflags(ifp, IF_DRV_FLAGS) & IFF_DRV_RUNNING) { + if_clrflags(ifp, IF_DRV_FLAGS, IFF_DRV_RUNNING); vtnet_init_locked(sc); } @@ -1049,19 +1011,19 @@ vtnet_change_mtu(struct vtnet_softc *sc, } static int -vtnet_ioctl(struct ifnet *ifp, u_long cmd, caddr_t data) +vtnet_ioctl(if_t ifp, u_long cmd, caddr_t data) { struct vtnet_softc *sc; struct ifreq *ifr; - int reinit, mask, error; + int reinit, capenable, mask, error; - sc = ifp->if_softc; + sc = if_getsoftc(ifp, IF_DRIVER_SOFTC); ifr = (struct ifreq *) data; error = 0; switch (cmd) { case SIOCSIFMTU: - if (ifp->if_mtu != ifr->ifr_mtu) { + if (if_getflags(ifp, IF_MTU) != ifr->ifr_mtu) { VTNET_CORE_LOCK(sc); error = vtnet_change_mtu(sc, ifr->ifr_mtu); VTNET_CORE_UNLOCK(sc); @@ -1070,11 +1032,11 @@ vtnet_ioctl(struct ifnet *ifp, u_long cm case SIOCSIFFLAGS: VTNET_CORE_LOCK(sc); - if ((ifp->if_flags & IFF_UP) == 0) { - if (ifp->if_drv_flags & IFF_DRV_RUNNING) + if ((if_getflags(ifp, IF_FLAGS) & IFF_UP) == 0) { + if (if_getflags(ifp, IF_DRV_FLAGS) & IFF_DRV_RUNNING) vtnet_stop(sc); - } else if (ifp->if_drv_flags & IFF_DRV_RUNNING) { - if ((ifp->if_flags ^ sc->vtnet_if_flags) & + } else if (if_getflags(ifp, IF_DRV_FLAGS) & IFF_DRV_RUNNING) { + if ((if_getflags(ifp, IF_FLAGS) ^ sc->vtnet_if_flags) & (IFF_PROMISC | IFF_ALLMULTI)) { if (sc->vtnet_flags & VTNET_FLAG_CTRL_RX) vtnet_rx_filter(sc); @@ -1085,7 +1047,7 @@ vtnet_ioctl(struct ifnet *ifp, u_long cm vtnet_init_locked(sc); if (error == 0) - sc->vtnet_if_flags = ifp->if_flags; + sc->vtnet_if_flags = if_getflags(ifp, IF_FLAGS); VTNET_CORE_UNLOCK(sc); break; @@ -1094,7 +1056,7 @@ vtnet_ioctl(struct ifnet *ifp, u_long cm if ((sc->vtnet_flags & VTNET_FLAG_CTRL_RX) == 0) break; VTNET_CORE_LOCK(sc); - if (ifp->if_drv_flags & IFF_DRV_RUNNING) + if (if_getflags(ifp, IF_DRV_FLAGS) & IFF_DRV_RUNNING) vtnet_rx_filter_mac(sc); VTNET_CORE_UNLOCK(sc); break; @@ -1106,16 +1068,17 @@ vtnet_ioctl(struct ifnet *ifp, u_long cm case SIOCSIFCAP: VTNET_CORE_LOCK(sc); - mask = ifr->ifr_reqcap ^ ifp->if_capenable; + capenable = if_getflags(ifp, IF_CAPENABLE); + mask = ifr->ifr_reqcap ^ capenable; if (mask & IFCAP_TXCSUM) - ifp->if_capenable ^= IFCAP_TXCSUM; + capenable ^= IFCAP_TXCSUM; if (mask & IFCAP_TXCSUM_IPV6) - ifp->if_capenable ^= IFCAP_TXCSUM_IPV6; + capenable ^= IFCAP_TXCSUM_IPV6; if (mask & IFCAP_TSO4) - ifp->if_capenable ^= IFCAP_TSO4; + capenable ^= IFCAP_TSO4; if (mask & IFCAP_TSO6) - ifp->if_capenable ^= IFCAP_TSO6; + capenable ^= IFCAP_TSO6; if (mask & (IFCAP_RXCSUM | IFCAP_RXCSUM_IPV6 | IFCAP_LRO | IFCAP_VLAN_HWFILTER)) { @@ -1123,33 +1086,35 @@ vtnet_ioctl(struct ifnet *ifp, u_long cm reinit = 1; if (mask & IFCAP_RXCSUM) - ifp->if_capenable ^= IFCAP_RXCSUM; + capenable ^= IFCAP_RXCSUM; if (mask & IFCAP_RXCSUM_IPV6) - ifp->if_capenable ^= IFCAP_RXCSUM_IPV6; + capenable ^= IFCAP_RXCSUM_IPV6; if (mask & IFCAP_LRO) - ifp->if_capenable ^= IFCAP_LRO; + capenable ^= IFCAP_LRO; if (mask & IFCAP_VLAN_HWFILTER) - ifp->if_capenable ^= IFCAP_VLAN_HWFILTER; + capenable ^= IFCAP_VLAN_HWFILTER; } else reinit = 0; if (mask & IFCAP_VLAN_HWTSO) - ifp->if_capenable ^= IFCAP_VLAN_HWTSO; + capenable ^= IFCAP_VLAN_HWTSO; if (mask & IFCAP_VLAN_HWTAGGING) - ifp->if_capenable ^= IFCAP_VLAN_HWTAGGING; + capenable ^= IFCAP_VLAN_HWTAGGING; - if (reinit && (ifp->if_drv_flags & IFF_DRV_RUNNING)) { - ifp->if_drv_flags &= ~IFF_DRV_RUNNING; + if (reinit && + (if_getflags(ifp, IF_DRV_FLAGS) & IFF_DRV_RUNNING)) { + if_clrflags(ifp, IF_DRV_FLAGS, IFF_DRV_RUNNING); vtnet_init_locked(sc); } VTNET_CORE_UNLOCK(sc); - VLAN_CAPABILITIES(ifp); + + if_capenable(ifp, capenable); break; default: - error = ether_ioctl(ifp, cmd, data); + error = EOPNOTSUPP; break; } @@ -1633,14 +1598,12 @@ static int vtnet_rxq_merged_eof(struct vtnet_rxq *rxq, struct mbuf *m_head, int nbufs) { struct vtnet_softc *sc; - struct ifnet *ifp; struct virtqueue *vq; struct mbuf *m, *m_tail; int len; sc = rxq->vtnrx_sc; vq = rxq->vtnrx_vq; - ifp = sc->vtnet_ifp; m_tail = m_head; while (--nbufs > 0) { @@ -1683,13 +1646,13 @@ vtnet_rxq_input(struct vtnet_rxq *rxq, s struct virtio_net_hdr *hdr) { struct vtnet_softc *sc; - struct ifnet *ifp; + if_t ifp; struct ether_header *eh; sc = rxq->vtnrx_sc; ifp = sc->vtnet_ifp; - if (ifp->if_capenable & IFCAP_VLAN_HWTAGGING) { + if (if_getflags(ifp, IF_CAPENABLE) & IFCAP_VLAN_HWTAGGING) { eh = mtod(m, struct ether_header *); if (eh->ether_type == htons(ETHERTYPE_VLAN)) { vtnet_vlan_tag_remove(m); @@ -1722,7 +1685,7 @@ vtnet_rxq_input(struct vtnet_rxq *rxq, s rxq->vtnrx_stats.vrxs_ibytes += m->m_pkthdr.len; VTNET_RXQ_UNLOCK(rxq); - (*ifp->if_input)(ifp, m); + if_input(ifp, m); VTNET_RXQ_LOCK(rxq); } @@ -1731,7 +1694,7 @@ vtnet_rxq_eof(struct vtnet_rxq *rxq) { struct virtio_net_hdr lhdr, *hdr; struct vtnet_softc *sc; - struct ifnet *ifp; + if_t ifp; struct virtqueue *vq; struct mbuf *m; struct virtio_net_hdr_mrg_rxbuf *mhdr; @@ -1811,7 +1774,7 @@ vtnet_rxq_eof(struct vtnet_rxq *rxq) vtnet_rxq_input(rxq, m, hdr); /* Must recheck after dropping the Rx lock. */ - if ((ifp->if_drv_flags & IFF_DRV_RUNNING) == 0) + if ((if_getflags(ifp, IF_DRV_FLAGS) & IFF_DRV_RUNNING) == 0) break; } @@ -1826,7 +1789,7 @@ vtnet_rx_vq_intr(void *xrxq) { struct vtnet_softc *sc; struct vtnet_rxq *rxq; - struct ifnet *ifp; + if_t ifp; int tries, more; rxq = xrxq; @@ -1848,7 +1811,7 @@ vtnet_rx_vq_intr(void *xrxq) VTNET_RXQ_LOCK(rxq); again: - if ((ifp->if_drv_flags & IFF_DRV_RUNNING) == 0) { + if ((if_getflags(ifp, IF_DRV_FLAGS) & IFF_DRV_RUNNING) == 0) { VTNET_RXQ_UNLOCK(rxq); return; } @@ -1876,7 +1839,7 @@ vtnet_rxq_tq_intr(void *xrxq, int pendin { struct vtnet_softc *sc; struct vtnet_rxq *rxq; - struct ifnet *ifp; + if_t ifp; int more; rxq = xrxq; @@ -1885,7 +1848,7 @@ vtnet_rxq_tq_intr(void *xrxq, int pendin VTNET_RXQ_LOCK(rxq); - if ((ifp->if_drv_flags & IFF_DRV_RUNNING) == 0) { + if ((if_getflags(ifp, IF_DRV_FLAGS) & IFF_DRV_RUNNING) == 0) { VTNET_RXQ_UNLOCK(rxq); return; } @@ -2205,81 +2168,13 @@ fail: return (error); } -#ifdef VTNET_LEGACY_TX - -static void -vtnet_start_locked(struct vtnet_txq *txq, struct ifnet *ifp) -{ - struct vtnet_softc *sc; - struct virtqueue *vq; - struct mbuf *m0; - int tries, enq; - - sc = txq->vtntx_sc; - vq = txq->vtntx_vq; - tries = 0; - - VTNET_TXQ_LOCK_ASSERT(txq); - - if ((ifp->if_drv_flags & IFF_DRV_RUNNING) == 0 || - sc->vtnet_link_active == 0) - return; - - vtnet_txq_eof(txq); - -again: - enq = 0; - - while (!IFQ_DRV_IS_EMPTY(&ifp->if_snd)) { - if (virtqueue_full(vq)) - break; - - IFQ_DRV_DEQUEUE(&ifp->if_snd, m0); - if (m0 == NULL) - break; - - if (vtnet_txq_encap(txq, &m0) != 0) { - if (m0 != NULL) - IFQ_DRV_PREPEND(&ifp->if_snd, m0); - break; - } - - enq++; - ETHER_BPF_MTAP(ifp, m0); - } - - if (enq > 0 && vtnet_txq_notify(txq) != 0) { - if (tries++ < VTNET_NOTIFY_RETRIES) - goto again; - - txq->vtntx_stats.vtxs_rescheduled++; - taskqueue_enqueue(txq->vtntx_tq, &txq->vtntx_intrtask); - } -} - -static void -vtnet_start(struct ifnet *ifp) -{ - struct vtnet_softc *sc; - struct vtnet_txq *txq; - - sc = ifp->if_softc; - txq = &sc->vtnet_txqs[0]; - - VTNET_TXQ_LOCK(txq); - vtnet_start_locked(txq, ifp); - VTNET_TXQ_UNLOCK(txq); -} - -#else /* !VTNET_LEGACY_TX */ - static int vtnet_txq_mq_start_locked(struct vtnet_txq *txq, struct mbuf *m) { struct vtnet_softc *sc; struct virtqueue *vq; struct buf_ring *br; - struct ifnet *ifp; + if_t ifp; int enq, tries, error; sc = txq->vtntx_sc; @@ -2291,15 +2186,15 @@ vtnet_txq_mq_start_locked(struct vtnet_t VTNET_TXQ_LOCK_ASSERT(txq); - if ((ifp->if_drv_flags & IFF_DRV_RUNNING) == 0 || + if ((if_getflags(ifp, IF_DRV_FLAGS) & IFF_DRV_RUNNING) == 0 || sc->vtnet_link_active == 0) { if (m != NULL) - error = drbr_enqueue(ifp, br, m); + error = buf_ring_enqueue(br, m); return (error); } if (m != NULL) { - error = drbr_enqueue(ifp, br, m); + error = buf_ring_enqueue(br, m); if (error) return (error); } @@ -2309,23 +2204,23 @@ vtnet_txq_mq_start_locked(struct vtnet_t again: enq = 0; - while ((m = drbr_peek(ifp, br)) != NULL) { + while ((m = buf_ring_peek(br)) != NULL) { if (virtqueue_full(vq)) { - drbr_putback(ifp, br, m); + buf_ring_putback_sc(br, m); break; } if (vtnet_txq_encap(txq, &m) != 0) { if (m != NULL) - drbr_putback(ifp, br, m); + buf_ring_putback_sc(br, m); else - drbr_advance(ifp, br); + buf_ring_advance_sc(br); break; } - drbr_advance(ifp, br); + buf_ring_advance_sc(br); enq++; - ETHER_BPF_MTAP(ifp, m); + if_mtap(ifp, m, NULL, 0); } if (enq > 0 && vtnet_txq_notify(txq) != 0) { @@ -2340,13 +2235,13 @@ again: } static int -vtnet_txq_mq_start(struct ifnet *ifp, struct mbuf *m) +vtnet_txq_mq_start(if_t ifp, struct mbuf *m) { struct vtnet_softc *sc; struct vtnet_txq *txq; int i, npairs, error; - sc = ifp->if_softc; + sc = if_getsoftc(ifp, IF_DRIVER_SOFTC); npairs = sc->vtnet_act_vq_pairs; /* check if flowid is set */ @@ -2361,7 +2256,7 @@ vtnet_txq_mq_start(struct ifnet *ifp, st error = vtnet_txq_mq_start_locked(txq, m); VTNET_TXQ_UNLOCK(txq); } else { - error = drbr_enqueue(ifp, txq->vtntx_br, m); + error = buf_ring_enqueue(txq->vtntx_br, m); taskqueue_enqueue(txq->vtntx_tq, &txq->vtntx_defrtask); } @@ -2378,29 +2273,20 @@ vtnet_txq_tq_deferred(void *xtxq, int pe sc = txq->vtntx_sc; VTNET_TXQ_LOCK(txq); - if (!drbr_empty(sc->vtnet_ifp, txq->vtntx_br)) + if (!buf_ring_empty(txq->vtntx_br)) vtnet_txq_mq_start_locked(txq, NULL); VTNET_TXQ_UNLOCK(txq); } -#endif /* VTNET_LEGACY_TX */ - static void vtnet_txq_start(struct vtnet_txq *txq) { struct vtnet_softc *sc; - struct ifnet *ifp; sc = txq->vtntx_sc; - ifp = sc->vtnet_ifp; -#ifdef VTNET_LEGACY_TX - if (!IFQ_DRV_IS_EMPTY(&ifp->if_snd)) - vtnet_start_locked(txq, ifp); -#else - if (!drbr_empty(ifp, txq->vtntx_br)) + if (!buf_ring_empty(txq->vtntx_br)) vtnet_txq_mq_start_locked(txq, NULL); -#endif } static void @@ -2408,7 +2294,7 @@ vtnet_txq_tq_intr(void *xtxq, int pendin { struct vtnet_softc *sc; struct vtnet_txq *txq; - struct ifnet *ifp; + if_t ifp; txq = xtxq; sc = txq->vtntx_sc; @@ -2416,7 +2302,7 @@ vtnet_txq_tq_intr(void *xtxq, int pendin VTNET_TXQ_LOCK(txq); - if ((ifp->if_drv_flags & IFF_DRV_RUNNING) == 0) { + if ((if_getflags(ifp, IF_DRV_FLAGS) & IFF_DRV_RUNNING) == 0) { VTNET_TXQ_UNLOCK(txq); return; } @@ -2470,7 +2356,7 @@ vtnet_tx_vq_intr(void *xtxq) { struct vtnet_softc *sc; struct vtnet_txq *txq; - struct ifnet *ifp; + if_t ifp; txq = xtxq; sc = txq->vtntx_sc; @@ -2489,7 +2375,7 @@ vtnet_tx_vq_intr(void *xtxq) VTNET_TXQ_LOCK(txq); - if ((ifp->if_drv_flags & IFF_DRV_RUNNING) == 0) { + if ((if_getflags(ifp, IF_DRV_FLAGS) & IFF_DRV_RUNNING) == 0) { VTNET_TXQ_UNLOCK(txq); return; } @@ -2517,16 +2403,15 @@ vtnet_tx_start_all(struct vtnet_softc *s } } -#ifndef VTNET_LEGACY_TX static void -vtnet_qflush(struct ifnet *ifp) +vtnet_qflush(if_t ifp) { struct vtnet_softc *sc; struct vtnet_txq *txq; struct mbuf *m; int i; - sc = ifp->if_softc; + sc = if_getsoftc(ifp, IF_DRIVER_SOFTC); for (i = 0; i < sc->vtnet_act_vq_pairs; i++) { txq = &sc->vtnet_txqs[i]; @@ -2536,10 +2421,7 @@ vtnet_qflush(struct ifnet *ifp) m_freem(m); VTNET_TXQ_UNLOCK(txq); } - - if_qflush(ifp); } -#endif static int vtnet_watchdog(struct vtnet_txq *txq) @@ -2608,7 +2490,7 @@ vtnet_get_counter(if_t ifp, ift_counter struct vtnet_rxq_stats rxaccum; struct vtnet_txq_stats txaccum; - sc = if_getsoftc(ifp); + sc = if_getsoftc(ifp, IF_DRIVER_SOFTC); vtnet_accum_stats(sc, &rxaccum, &txaccum); switch (cnt) { @@ -2620,12 +2502,10 @@ vtnet_get_counter(if_t ifp, ift_counter return (rxaccum.vrxs_ierrors); case IFCOUNTER_OPACKETS: return (txaccum.vtxs_opackets); -#ifndef VTNET_LEGACY_TX case IFCOUNTER_OBYTES: return (txaccum.vtxs_obytes); case IFCOUNTER_OMCASTS: return (txaccum.vtxs_omcasts); -#endif default: return (if_get_counter_default(ifp, cnt)); } @@ -2648,7 +2528,7 @@ vtnet_tick(void *xsc) timedout |= vtnet_watchdog(&sc->vtnet_txqs[i]); if (timedout != 0) { - ifp->if_drv_flags &= ~IFF_DRV_RUNNING; + if_clrflags(ifp, IF_DRV_FLAGS, IFF_DRV_RUNNING); vtnet_init_locked(sc); } else callout_schedule(&sc->vtnet_tick_ch, hz); @@ -2729,9 +2609,7 @@ vtnet_drain_taskqueues(struct vtnet_soft txq = &sc->vtnet_txqs[i]; if (txq->vtntx_tq != NULL) { taskqueue_drain(txq->vtntx_tq, &txq->vtntx_intrtask); -#ifndef VTNET_LEGACY_TX taskqueue_drain(txq->vtntx_tq, &txq->vtntx_defrtask); -#endif } } } @@ -2787,7 +2665,7 @@ vtnet_stop(struct vtnet_softc *sc) VTNET_CORE_LOCK_ASSERT(sc); - ifp->if_drv_flags &= ~IFF_DRV_RUNNING; + if_clrflags(ifp, IF_DRV_FLAGS, IFF_DRV_RUNNING); sc->vtnet_link_active = 0; callout_stop(&sc->vtnet_tick_ch); @@ -2812,7 +2690,8 @@ vtnet_virtio_reinit(struct vtnet_softc * device_t dev; struct ifnet *ifp; uint64_t features; - int mask, error; + uint32_t caps, capenable, mask; + int error; dev = sc->vtnet_dev; ifp = sc->vtnet_ifp; @@ -2829,26 +2708,27 @@ vtnet_virtio_reinit(struct vtnet_softc * /* * Re-negotiate with the host, removing any disabled receive * features. Transmit features are disabled only on our side - * via if_capenable and if_hwassist. + * via IF_CAPEANBLE and IF_HWASSIST. */ - - if (ifp->if_capabilities & mask) { + caps = if_getflags(ifp, IF_CAPABILITIES); + capenable = if_getflags(ifp, IF_CAPENABLE); + if (caps & mask) { /* * We require both IPv4 and IPv6 offloading to be enabled * in order to negotiated it: VirtIO does not distinguish * between the two. */ - if ((ifp->if_capenable & mask) != mask) + if ((capenable & mask) != mask) features &= ~VIRTIO_NET_F_GUEST_CSUM; } - if (ifp->if_capabilities & IFCAP_LRO) { - if ((ifp->if_capenable & IFCAP_LRO) == 0) + if (caps & IFCAP_LRO) { + if ((capenable & IFCAP_LRO) == 0) features &= ~VTNET_LRO_FEATURES; } - if (ifp->if_capabilities & IFCAP_VLAN_HWFILTER) { - if ((ifp->if_capenable & IFCAP_VLAN_HWFILTER) == 0) + if (caps & IFCAP_VLAN_HWFILTER) { + if ((capenable & IFCAP_VLAN_HWFILTER) == 0) features &= ~VIRTIO_NET_F_CTRL_VLAN; } @@ -2873,7 +2753,7 @@ vtnet_init_rx_filters(struct vtnet_softc vtnet_rx_filter_mac(sc); } - if (ifp->if_capenable & IFCAP_VLAN_HWFILTER) + if (if_getflags(ifp, IF_CAPENABLE) & IFCAP_VLAN_HWFILTER) vtnet_rx_filter_vlan(sc); } @@ -2990,25 +2870,27 @@ static int vtnet_reinit(struct vtnet_softc *sc) { struct ifnet *ifp; + uint64_t hwassist; int error; ifp = sc->vtnet_ifp; /* Use the current MAC address. */ - bcopy(IF_LLADDR(ifp), sc->vtnet_hwaddr, ETHER_ADDR_LEN); + bcopy(if_lladdr(ifp), sc->vtnet_hwaddr, ETHER_ADDR_LEN); *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-projects@FreeBSD.ORG Wed Dec 31 10:25:15 2014 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 68F565D6; Wed, 31 Dec 2014 10:25:15 +0000 (UTC) Received: from cell.glebius.int.ru (glebius.int.ru [81.19.69.10]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "cell.glebius.int.ru", Issuer "cell.glebius.int.ru" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id E3CE8674EF; Wed, 31 Dec 2014 10:25:13 +0000 (UTC) Received: from cell.glebius.int.ru (localhost [127.0.0.1]) by cell.glebius.int.ru (8.14.9/8.14.9) with ESMTP id sBVAPAYD038870 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO); Wed, 31 Dec 2014 13:25:10 +0300 (MSK) (envelope-from glebius@FreeBSD.org) Received: (from glebius@localhost) by cell.glebius.int.ru (8.14.9/8.14.9/Submit) id sBVAPA9g038869; Wed, 31 Dec 2014 13:25:10 +0300 (MSK) (envelope-from glebius@FreeBSD.org) X-Authentication-Warning: cell.glebius.int.ru: glebius set sender to glebius@FreeBSD.org using -f Date: Wed, 31 Dec 2014 13:25:10 +0300 From: Gleb Smirnoff To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: Re: svn commit: r276468 - projects/ifnet/sys/dev/virtio/network Message-ID: <20141231102510.GJ15484@FreeBSD.org> References: <201412311008.sBVA8IQn049877@svn.freebsd.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <201412311008.sBVA8IQn049877@svn.freebsd.org> User-Agent: Mutt/1.5.23 (2014-03-12) X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 31 Dec 2014 10:25:15 -0000 On Wed, Dec 31, 2014 at 10:08:18AM +0000, Gleb Smirnoff wrote: T> Author: glebius T> Date: Wed Dec 31 10:08:17 2014 T> New Revision: 276468 T> URL: https://svnweb.freebsd.org/changeset/base/276468 T> T> Log: T> Convert vtnet(4) to new interface API. This is a more complex example than T> loop(4) and can be used as reference when converting other drivers. Now projects/ifnet can compile and run a minimal kernel that runs in virtual machine environment, having only "device loop" and "device vtnet" in kernel config and no modules. The above commits were done from a system running projects/ifnet, so it kinda works :) Now heavy lifting needs to be performed: - Convert as much drivers as possible. This is a very big piece of work. - Fix ALTQ to mask if_output instead of mask ifqueue, delete ifqueue. - Fix lagg(4) to mask if_output. Of course experience of converting just two drivers isn't enough to build a perfect API, so the API is about to change as we are going through drivers. So, this email is official request to review projects/ifnet, comment on it, provide input, and try to convert a driver that you are running on your testbox, desktop or laptop. -- Totus tuus, Glebius. From owner-svn-src-projects@FreeBSD.ORG Wed Dec 31 16:43:20 2014 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id EB6D7696; Wed, 31 Dec 2014 16:43:20 +0000 (UTC) Received: from mail-wi0-x235.google.com (mail-wi0-x235.google.com [IPv6:2a00:1450:400c:c05::235]) (using TLSv1 with cipher ECDHE-RSA-RC4-SHA (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 702F9383C; Wed, 31 Dec 2014 16:43:20 +0000 (UTC) Received: by mail-wi0-f181.google.com with SMTP id r20so25813441wiv.8; Wed, 31 Dec 2014 08:43:18 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:sender:in-reply-to:references:date:message-id:subject :from:to:cc:content-type; bh=SGiit3e98Jr1eCnuTxfD/Dn6ME5Q/+weEWijephNXlI=; b=E06i8dB+jsoAJKGM7OmzTuTbCYjeC7qSO8E2NrOy4pkdO29ZE/P1l1dkJzrXyEm6Hg rmJMzc/7Xqsi2lzdaG0W/pDsbj8E9Cu9PS8rAWrEvvLEhvC8/EZ6v6Xf7NaNRZxk+TCi qiKVFAkQRLYFmmcPmH23faaGnm5R27+pVzFVc8/RZ12PH/TY70F07PuDzAI40/z38P5Q Fw/ZIoCjWhg20rYzrqJ+Xt1B/TyXAxHbSGhmb62d0e3YGLfzIV79aKoCDle4NypYgHsY 8O3mSo0iHNNDwqLVyk7DWUSsaOqv3XMAJjXVaHI1v30dbhBxQEDy7G80AeqNnyJSFbe7 dZzg== MIME-Version: 1.0 X-Received: by 10.180.87.36 with SMTP id u4mr114654318wiz.20.1420044191647; Wed, 31 Dec 2014 08:43:11 -0800 (PST) Sender: adrian.chadd@gmail.com Received: by 10.216.106.195 with HTTP; Wed, 31 Dec 2014 08:43:11 -0800 (PST) In-Reply-To: <201412310952.sBV9qws7043801@svn.freebsd.org> References: <201412310952.sBV9qws7043801@svn.freebsd.org> Date: Wed, 31 Dec 2014 08:43:11 -0800 X-Google-Sender-Auth: AqHbUFLWrPdSkmetpg24EHlDWNo Message-ID: Subject: Re: svn commit: r276461 - projects/ifnet/sys/netinet From: Adrian Chadd To: Gleb Smirnoff Content-Type: text/plain; charset=UTF-8 Cc: svn-src-projects@freebsd.org, "src-committers@freebsd.org" X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 31 Dec 2014 16:43:21 -0000 Hi, I like the accessor macro methods for various bits here. How about we stage out these simpleish changes into something that lands in -HEAD sooner rather than later? (There are discussions to be had about the attach API; I'm mostly worried about how every new optional field may end up needing a KBI change to do rather than right now where new optional fields end up having defaults that the driver doesn't have to implement itself.) -adrian On 31 December 2014 at 01:52, Gleb Smirnoff wrote: > Author: glebius > Date: Wed Dec 31 09:52:57 2014 > New Revision: 276461 > URL: https://svnweb.freebsd.org/changeset/base/276461 > > Log: > - Mechanically convert access to different ifnet fields that moved to ifdriver > to inline functions. > - Other small changes to adopt to new ifnet world order. > > Sponsored by: Netflix > Sponsored by: Nginx, Inc. > > Modified: > projects/ifnet/sys/netinet/if_ether.c > projects/ifnet/sys/netinet/in.c > projects/ifnet/sys/netinet/ip_fastfwd.c > projects/ifnet/sys/netinet/ip_output.c > projects/ifnet/sys/netinet/sctp_bsd_addr.c > projects/ifnet/sys/netinet/sctp_os_bsd.h > projects/ifnet/sys/netinet/tcp_input.c > projects/ifnet/sys/netinet/tcp_lro.c > projects/ifnet/sys/netinet/tcp_subr.c > projects/ifnet/sys/netinet/tcp_var.h > > Modified: projects/ifnet/sys/netinet/if_ether.c > ============================================================================== > --- projects/ifnet/sys/netinet/if_ether.c Wed Dec 31 09:51:35 2014 (r276460) > +++ projects/ifnet/sys/netinet/if_ether.c Wed Dec 31 09:52:57 2014 (r276461) > @@ -254,12 +254,12 @@ arprequest(struct ifnet *ifp, const stru > } > } > if (enaddr == NULL) > - enaddr = carpaddr ? carpaddr : (u_char *)IF_LLADDR(ifp); > + enaddr = carpaddr ? carpaddr : (u_char *)if_lladdr(ifp); > > if ((m = m_gethdr(M_NOWAIT, MT_DATA)) == NULL) > return; > m->m_len = sizeof(*ah) + 2 * sizeof(struct in_addr) + > - 2 * ifp->if_addrlen; > + 2 * if_addrlen(ifp); > m->m_pkthdr.len = m->m_len; > MH_ALIGN(m, m->m_len); > ah = mtod(m, struct arphdr *); > @@ -268,7 +268,7 @@ arprequest(struct ifnet *ifp, const stru > mac_netinet_arp_send(ifp, m); > #endif > ah->ar_pro = htons(ETHERTYPE_IP); > - ah->ar_hln = ifp->if_addrlen; /* hardware address length */ > + ah->ar_hln = if_addrlen(ifp); /* hardware address length */ > ah->ar_pln = sizeof(struct in_addr); /* protocol address length */ > ah->ar_op = htons(ARPOP_REQUEST); > bcopy(enaddr, ar_sha(ah), ah->ar_hln); > @@ -278,7 +278,7 @@ arprequest(struct ifnet *ifp, const stru > sa.sa_len = 2; > m->m_flags |= M_BCAST; > m_clrprotoflags(m); /* Avoid confusing lower layers. */ > - (*ifp->if_output)(ifp, m, &sa, NULL); > + if_output(ifp, m, &sa, NULL); > ARPSTAT_INC(txrequests); > } > > @@ -313,11 +313,10 @@ arpresolve(struct ifnet *ifp, int is_gw, > if (m != NULL) { > if (m->m_flags & M_BCAST) { > /* broadcast */ > - (void)memcpy(desten, > - ifp->if_broadcastaddr, ifp->if_addrlen); > + memcpy(desten, ifp->if_broadcastaddr, if_addrlen(ifp)); > return (0); > } > - if (m->m_flags & M_MCAST && ifp->if_type != IFT_ARCNET) { > + if (m->m_flags & M_MCAST && if_type(ifp) != IFT_ARCNET) { > /* multicast */ > ETHER_MAP_IP_MULTICAST(&SIN(dst)->sin_addr, desten); > return (0); > @@ -345,7 +344,7 @@ retry: > > if ((la->la_flags & LLE_VALID) && > ((la->la_flags & LLE_STATIC) || la->la_expire > time_uptime)) { > - bcopy(&la->ll_addr, desten, ifp->if_addrlen); > + bcopy(&la->ll_addr, desten, if_addrlen(ifp)); > /* > * If entry has an expiry time and it is approaching, > * see if we need to send an ARP request within this > @@ -556,10 +555,10 @@ in_arpinput(struct mbuf *m) > > if (ifp->if_bridge) > bridged = 1; > - if (ifp->if_type == IFT_BRIDGE) > + if (if_type(ifp) == IFT_BRIDGE) > is_bridge = 1; > > - req_len = arphdr_len2(ifp->if_addrlen, sizeof(struct in_addr)); > + req_len = arphdr_len2(if_addrlen(ifp), sizeof(struct in_addr)); > if (m->m_len < req_len && (m = m_pullup(m, req_len)) == NULL) { > ARP_LOG(LOG_NOTICE, "runt packet -- m_pullup failed\n"); > return; > @@ -577,8 +576,8 @@ in_arpinput(struct mbuf *m) > } > > if (allow_multicast == 0 && ETHER_IS_MULTICAST(ar_sha(ah))) { > - ARP_LOG(LOG_NOTICE, "%*D is multicast\n", > - ifp->if_addrlen, (u_char *)ar_sha(ah), ":"); > + ARP_LOG(LOG_NOTICE, "%*D is multicast\n", if_addrlen(ifp), > + (u_char *)ar_sha(ah), ":"); > goto drop; > } > > @@ -617,7 +616,7 @@ in_arpinput(struct mbuf *m) > > #define BDG_MEMBER_MATCHES_ARP(addr, ifp, ia) \ > (ia->ia_ifp->if_bridge == ifp->if_softc && \ > - !bcmp(IF_LLADDR(ia->ia_ifp), IF_LLADDR(ifp), ifp->if_addrlen) && \ > + !bcmp(if_lladdr(ia->ia_ifp), if_lladdr(ifp), if_addrlen(ifp)) && \ > addr == ia->ia_addr.sin_addr.s_addr) > /* > * Check the case when bridge shares its MAC address with > @@ -666,13 +665,13 @@ in_arpinput(struct mbuf *m) > IN_IFADDR_RUNLOCK(); > match: > if (!enaddr) > - enaddr = (u_int8_t *)IF_LLADDR(ifp); > + enaddr = (u_int8_t *)if_lladdr(ifp); > carped = (ia->ia_ifa.ifa_carp != NULL); > myaddr = ia->ia_addr.sin_addr; > ifa_free(&ia->ia_ifa); > - if (!bcmp(ar_sha(ah), enaddr, ifp->if_addrlen)) > + if (!bcmp(ar_sha(ah), enaddr, if_addrlen(ifp))) > goto drop; /* it's from me, ignore it. */ > - if (!bcmp(ar_sha(ah), ifp->if_broadcastaddr, ifp->if_addrlen)) { > + if (!bcmp(ar_sha(ah), ifp->if_broadcastaddr, if_addrlen(ifp))) { > ARP_LOG(LOG_NOTICE, "link address is broadcast for IP address " > "%s!\n", inet_ntoa(isaddr)); > goto drop; > @@ -686,7 +685,7 @@ match: > if (!bridged && !carped && isaddr.s_addr == myaddr.s_addr && > myaddr.s_addr != 0) { > ARP_LOG(LOG_ERR, "%*D is using my IP address %s on %s!\n", > - ifp->if_addrlen, (u_char *)ar_sha(ah), ":", > + if_addrlen(ifp), (u_char *)ar_sha(ah), ":", > inet_ntoa(isaddr), ifp->if_xname); > itaddr = myaddr; > ARPSTAT_INC(dupips); > @@ -712,20 +711,20 @@ match: > "but got reply from %*D on %s\n", > inet_ntoa(isaddr), > la->lle_tbl->llt_ifp->if_xname, > - ifp->if_addrlen, (u_char *)ar_sha(ah), ":", > + if_addrlen(ifp), (u_char *)ar_sha(ah), ":", > ifp->if_xname); > LLE_WUNLOCK(la); > goto reply; > } > if ((la->la_flags & LLE_VALID) && > - bcmp(ar_sha(ah), &la->ll_addr, ifp->if_addrlen)) { > + bcmp(ar_sha(ah), &la->ll_addr, if_addrlen(ifp))) { > if (la->la_flags & LLE_STATIC) { > LLE_WUNLOCK(la); > if (log_arp_permanent_modify) > ARP_LOG(LOG_ERR, > "%*D attempts to modify " > "permanent entry for %s on %s\n", > - ifp->if_addrlen, > + if_addrlen(ifp), > (u_char *)ar_sha(ah), ":", > inet_ntoa(isaddr), ifp->if_xname); > goto reply; > @@ -734,22 +733,21 @@ match: > ARP_LOG(LOG_INFO, "%s moved from %*D " > "to %*D on %s\n", > inet_ntoa(isaddr), > - ifp->if_addrlen, > - (u_char *)&la->ll_addr, ":", > - ifp->if_addrlen, (u_char *)ar_sha(ah), ":", > - ifp->if_xname); > + if_addrlen(ifp), (u_char *)&la->ll_addr, > + ":", if_addrlen(ifp), (u_char *)ar_sha(ah), > + ":", ifp->if_xname); > } > } > > - if (ifp->if_addrlen != ah->ar_hln) { > + if (if_addrlen(ifp) != ah->ar_hln) { > LLE_WUNLOCK(la); > ARP_LOG(LOG_WARNING, "from %*D: addr len: new %d, " > - "i/f %d (ignored)\n", ifp->if_addrlen, > + "i/f %d (ignored)\n", if_addrlen(ifp), > (u_char *) ar_sha(ah), ":", ah->ar_hln, > - ifp->if_addrlen); > + if_addrlen(ifp)); > goto drop; > } > - (void)memcpy(&la->ll_addr, ar_sha(ah), ifp->if_addrlen); > + memcpy(&la->ll_addr, ar_sha(ah), if_addrlen(ifp)); > la->la_flags |= LLE_VALID; > > EVENTHANDLER_INVOKE(lle_event, la, LLENTRY_RESOLVED); > @@ -786,7 +784,7 @@ match: > m_hold->m_nextpkt = NULL; > /* Avoid confusing lower layers. */ > m_clrprotoflags(m_hold); > - (*ifp->if_output)(ifp, m_hold, &sa, NULL); > + if_output(ifp, m_hold, &sa, NULL); > } > } else > LLE_WUNLOCK(la); > @@ -891,7 +889,7 @@ reply: > sa.sa_family = AF_ARP; > sa.sa_len = 2; > m_clrprotoflags(m); /* Avoid confusing lower layers. */ > - (*ifp->if_output)(ifp, m, &sa, NULL); > + if_output(ifp, m, &sa, NULL); > ARPSTAT_INC(txreplies); > return; > > @@ -910,7 +908,7 @@ arp_ifinit(struct ifnet *ifp, struct ifa > > if (ntohl(IA_SIN(ifa)->sin_addr.s_addr) != INADDR_ANY) { > arprequest(ifp, &IA_SIN(ifa)->sin_addr, > - &IA_SIN(ifa)->sin_addr, IF_LLADDR(ifp)); > + &IA_SIN(ifa)->sin_addr, if_lladdr(ifp)); > /* > * interface address is considered static entry > * because the output of the arp utility shows > > Modified: projects/ifnet/sys/netinet/in.c > ============================================================================== > --- projects/ifnet/sys/netinet/in.c Wed Dec 31 09:51:35 2014 (r276460) > +++ projects/ifnet/sys/netinet/in.c Wed Dec 31 09:52:57 2014 (r276461) > @@ -232,9 +232,7 @@ in_control(struct socket *so, u_long cmd > /* We no longer support that old commands. */ > return (EINVAL); > default: > - if (ifp->if_ioctl == NULL) > - return (EOPNOTSUPP); > - return ((*ifp->if_ioctl)(ifp, cmd, data)); > + return if_ioctl(ifp, cmd, data); > } > > if (addr->sin_addr.s_addr != INADDR_ANY && > @@ -436,11 +434,9 @@ in_aifaddr_ioctl(u_long cmd, caddr_t dat > * if this is its first address, > * and to validate the address if necessary. > */ > - if (ifp->if_ioctl != NULL) { > - error = (*ifp->if_ioctl)(ifp, SIOCSIFADDR, (caddr_t)ia); > - if (error) > - goto fail1; > - } > + error = if_ioctl(ifp, SIOCSIFADDR, (caddr_t)ia); > + if (error != 0 && error != EOPNOTSUPP) > + goto fail1; > > /* > * Add route for the network. > @@ -1026,7 +1022,7 @@ in_lltable_rtcheck(struct ifnet *ifp, u_ > */ > if (rt->rt_flags & RTF_GATEWAY) { > if (!(rt->rt_flags & RTF_HOST) || !rt->rt_ifp || > - rt->rt_ifp->if_type != IFT_ETHER || > + if_type(rt->rt_ifp) != IFT_ETHER || > (rt->rt_ifp->if_flags & (IFF_NOARP | IFF_STATICARP)) != 0 || > memcmp(rt->rt_gateway->sa_data, l3addr->sa_data, > sizeof(in_addr_t)) != 0) { > @@ -1126,8 +1122,9 @@ in_lltable_lookup(struct lltable *llt, u > goto done; > } > lle->la_flags = flags & ~LLE_CREATE; > - if ((flags & (LLE_CREATE | LLE_IFADDR)) == (LLE_CREATE | LLE_IFADDR)) { > - bcopy(IF_LLADDR(ifp), &lle->ll_addr, ifp->if_addrlen); > + if ((flags & (LLE_CREATE | LLE_IFADDR)) == > + (LLE_CREATE | LLE_IFADDR)) { > + bcopy(if_lladdr(ifp), &lle->ll_addr, if_addrlen(ifp)); > lle->la_flags |= (LLE_VALID | LLE_STATIC); > } > > @@ -1213,13 +1210,14 @@ in_lltable_dump(struct lltable *llt, str > sdl->sdl_family = AF_LINK; > sdl->sdl_len = sizeof(*sdl); > sdl->sdl_index = ifp->if_index; > - sdl->sdl_type = ifp->if_type; > + sdl->sdl_type = if_type(ifp); > if ((lle->la_flags & LLE_VALID) == LLE_VALID) { > - sdl->sdl_alen = ifp->if_addrlen; > - bcopy(&lle->ll_addr, LLADDR(sdl), ifp->if_addrlen); > + sdl->sdl_alen = if_addrlen(ifp); > + bcopy(&lle->ll_addr, LLADDR(sdl), > + if_addrlen(ifp)); > } else { > sdl->sdl_alen = 0; > - bzero(LLADDR(sdl), ifp->if_addrlen); > + bzero(LLADDR(sdl), if_addrlen(ifp)); > } > > arpc.rtm.rtm_rmx.rmx_expire = > > Modified: projects/ifnet/sys/netinet/ip_fastfwd.c > ============================================================================== > --- projects/ifnet/sys/netinet/ip_fastfwd.c Wed Dec 31 09:51:35 2014 (r276460) > +++ projects/ifnet/sys/netinet/ip_fastfwd.c Wed Dec 31 09:52:57 2014 (r276461) > @@ -531,8 +531,7 @@ passout: > * Send off the packet via outgoing interface > */ > IP_PROBE(send, NULL, NULL, ip, ifp, ip, NULL); > - error = (*ifp->if_output)(ifp, m, > - (struct sockaddr *)dst, &ro); > + error = if_output(ifp, m, (struct sockaddr *)dst, &ro); > } else { > /* > * Handle EMSGSIZE with icmp reply needfrag for TCP MTU discovery > @@ -563,8 +562,8 @@ passout: > m_clrprotoflags(m); > > IP_PROBE(send, NULL, NULL, ip, ifp, ip, NULL); > - error = (*ifp->if_output)(ifp, m, > - (struct sockaddr *)dst, &ro); > + error = if_output(ifp, m, > + (struct sockaddr *)dst, &ro); > if (error) > break; > } while ((m = m0) != NULL); > > Modified: projects/ifnet/sys/netinet/ip_output.c > ============================================================================== > --- projects/ifnet/sys/netinet/ip_output.c Wed Dec 31 09:51:35 2014 (r276460) > +++ projects/ifnet/sys/netinet/ip_output.c Wed Dec 31 09:52:57 2014 (r276461) > @@ -624,8 +624,7 @@ passout: > */ > m_clrprotoflags(m); > IP_PROBE(send, NULL, NULL, ip, ifp, ip, NULL); > - error = (*ifp->if_output)(ifp, m, > - (const struct sockaddr *)gw, ro); > + error = if_output(ifp, m, (const struct sockaddr *)gw, ro); > goto done; > } > > @@ -660,7 +659,7 @@ passout: > m_clrprotoflags(m); > > IP_PROBE(send, NULL, NULL, ip, ifp, ip, NULL); > - error = (*ifp->if_output)(ifp, m, > + error = if_output(ifp, m, > (const struct sockaddr *)gw, ro); > } else > m_freem(m); > > Modified: projects/ifnet/sys/netinet/sctp_bsd_addr.c > ============================================================================== > --- projects/ifnet/sys/netinet/sctp_bsd_addr.c Wed Dec 31 09:51:35 2014 (r276460) > +++ projects/ifnet/sys/netinet/sctp_bsd_addr.c Wed Dec 31 09:52:57 2014 (r276461) > @@ -48,6 +48,9 @@ __FBSDID("$FreeBSD$"); > #include > #include > > +#define if_addrlist if_addrhead > +#define if_list if_link > + > /* Declare all of our malloc named types */ > MALLOC_DEFINE(SCTP_M_MAP, "sctp_map", "sctp asoc map descriptor"); > MALLOC_DEFINE(SCTP_M_STRMI, "sctp_stri", "sctp stream in array"); > @@ -150,7 +153,7 @@ sctp_is_desired_interface_type(struct if > int result; > > /* check the interface type to see if it's one we care about */ > - switch (ifn->if_type) { > + switch (if_type(ifn)) { > case IFT_ETHER: > case IFT_ISO88023: > case IFT_ISO88024: > @@ -256,7 +259,7 @@ sctp_init_ifns_for_vrf(int vrfid) > sctp_ifa = sctp_add_addr_to_vrf(vrfid, > (void *)ifn, > ifn->if_index, > - ifn->if_type, > + if_type(ifn), > ifn->if_xname, > (void *)ifa, > ifa->ifa_addr, > @@ -336,8 +339,9 @@ sctp_addr_change(struct ifaddr *ifa, int > return; > } > if (cmd == RTM_ADD) { > - (void)sctp_add_addr_to_vrf(SCTP_DEFAULT_VRFID, (void *)ifa->ifa_ifp, > - ifa->ifa_ifp->if_index, ifa->ifa_ifp->if_type, ifa->ifa_ifp->if_xname, > + (void)sctp_add_addr_to_vrf(SCTP_DEFAULT_VRFID, > + (void *)ifa->ifa_ifp, ifa->ifa_ifp->if_index, > + if_type(ifa->ifa_ifp), ifa->ifa_ifp->if_xname, > (void *)ifa, ifa->ifa_addr, ifa_flags, 1); > } else { > > > Modified: projects/ifnet/sys/netinet/sctp_os_bsd.h > ============================================================================== > --- projects/ifnet/sys/netinet/sctp_os_bsd.h Wed Dec 31 09:51:35 2014 (r276460) > +++ projects/ifnet/sys/netinet/sctp_os_bsd.h Wed Dec 31 09:52:57 2014 (r276461) > @@ -212,7 +212,7 @@ MALLOC_DECLARE(SCTP_M_MCORE); > #define SCTP_INIT_VRF_TABLEID(vrf) > > #define SCTP_IFN_IS_IFT_LOOP(ifn) ((ifn)->ifn_type == IFT_LOOP) > -#define SCTP_ROUTE_IS_REAL_LOOP(ro) ((ro)->ro_rt && (ro)->ro_rt->rt_ifa && (ro)->ro_rt->rt_ifa->ifa_ifp && (ro)->ro_rt->rt_ifa->ifa_ifp->if_type == IFT_LOOP) > +#define SCTP_ROUTE_IS_REAL_LOOP(ro) ((ro)->ro_rt && (ro)->ro_rt->rt_ifa && (ro)->ro_rt->rt_ifa->ifa_ifp && if_type((ro)->ro_rt->rt_ifa->ifa_ifp) == IFT_LOOP) > > /* > * Access to IFN's to help with src-addr-selection > > Modified: projects/ifnet/sys/netinet/tcp_input.c > ============================================================================== > --- projects/ifnet/sys/netinet/tcp_input.c Wed Dec 31 09:51:35 2014 (r276460) > +++ projects/ifnet/sys/netinet/tcp_input.c Wed Dec 31 09:52:57 2014 (r276461) > @@ -3540,7 +3540,6 @@ tcp_mss(struct tcpcb *tp, int offer) > > KASSERT(tp != NULL, ("%s: tp == NULL", __func__)); > > - bzero(&cap, sizeof(cap)); > tcp_mss_update(tp, offer, -1, &metrics, &cap); > > mss = tp->t_maxseg; > @@ -3586,11 +3585,11 @@ tcp_mss(struct tcpcb *tp, int offer) > SOCKBUF_UNLOCK(&so->so_rcv); > > /* Check the interface for TSO capabilities. */ > - if (cap.ifcap & CSUM_TSO) { > + if (cap.hwassist & CSUM_TSO) { > tp->t_flags |= TF_TSO; > - tp->t_tsomax = cap.tsomax; > - tp->t_tsomaxsegcount = cap.tsomaxsegcount; > - tp->t_tsomaxsegsize = cap.tsomaxsegsize; > + tp->t_tsomax = cap.tsomax->tsomax_bytes; > + tp->t_tsomaxsegcount = cap.tsomax->tsomax_segcount; > + tp->t_tsomaxsegsize = cap.tsomax->tsomax_segsize; > } > } > > > Modified: projects/ifnet/sys/netinet/tcp_lro.c > ============================================================================== > --- projects/ifnet/sys/netinet/tcp_lro.c Wed Dec 31 09:51:35 2014 (r276460) > +++ projects/ifnet/sys/netinet/tcp_lro.c Wed Dec 31 09:52:57 2014 (r276461) > @@ -298,7 +298,7 @@ tcp_lro_flush(struct lro_ctrl *lc, struc > #endif > } > > - (*lc->ifp->if_input)(lc->ifp, le->m_head); > + if_input(lc->ifp, le->m_head); > lc->lro_queued += le->append_cnt + 1; > lc->lro_flushed++; > bzero(le, sizeof(*le)); > > Modified: projects/ifnet/sys/netinet/tcp_subr.c > ============================================================================== > --- projects/ifnet/sys/netinet/tcp_subr.c Wed Dec 31 09:51:35 2014 (r276460) > +++ projects/ifnet/sys/netinet/tcp_subr.c Wed Dec 31 09:52:57 2014 (r276461) > @@ -1807,13 +1807,11 @@ tcp_maxmtu(struct in_conninfo *inc, stru > > /* Report additional interface capabilities. */ > if (cap != NULL) { > - if (ifp->if_capenable & IFCAP_TSO4 && > - ifp->if_hwassist & CSUM_TSO) { > - cap->ifcap |= CSUM_TSO; > - cap->tsomax = ifp->if_hw_tsomax; > - cap->tsomaxsegcount = ifp->if_hw_tsomaxsegcount; > - cap->tsomaxsegsize = ifp->if_hw_tsomaxsegsize; > - } > + if (ifp->if_capenable & IFCAP_TSO4) { > + cap->hwassist = ifp->if_hwassist; > + cap->tsomax = ifp->if_tsomax; > + } else > + bzero(cap, sizeof(struct tcp_ifcap)); > } > RTFREE(sro.ro_rt); > } > @@ -1848,13 +1846,11 @@ tcp_maxmtu6(struct in_conninfo *inc, str > > /* Report additional interface capabilities. */ > if (cap != NULL) { > - if (ifp->if_capenable & IFCAP_TSO6 && > - ifp->if_hwassist & CSUM_TSO) { > - cap->ifcap |= CSUM_TSO; > - cap->tsomax = ifp->if_hw_tsomax; > - cap->tsomaxsegcount = ifp->if_hw_tsomaxsegcount; > - cap->tsomaxsegsize = ifp->if_hw_tsomaxsegsize; > - } > + if (ifp->if_capenable & IFCAP_TSO6) { > + cap->hwassist = ifp->if_hwassist; > + cap->tsomax = ifp->if_tsomax; > + } else > + bzero(cap, sizeof(struct tcp_ifcap)); > } > RTFREE(sro6.ro_rt); > } > > Modified: projects/ifnet/sys/netinet/tcp_var.h > ============================================================================== > --- projects/ifnet/sys/netinet/tcp_var.h Wed Dec 31 09:51:35 2014 (r276460) > +++ projects/ifnet/sys/netinet/tcp_var.h Wed Dec 31 09:52:57 2014 (r276461) > @@ -332,11 +332,12 @@ struct hc_metrics_lite { /* must stay in > * Used by tcp_maxmtu() to communicate interface specific features > * and limits at the time of connection setup. > */ > +#ifndef _NET_IF_H_ > +struct iftsomax; > +#endif > struct tcp_ifcap { > - int ifcap; > - u_int tsomax; > - u_int tsomaxsegcount; > - u_int tsomaxsegsize; > + uint64_t hwassist; > + struct iftsomax *tsomax; > }; > > #ifndef _NETINET_IN_PCB_H_ > From owner-svn-src-projects@FreeBSD.ORG Wed Dec 31 16:48:35 2014 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 2ACC19F6 for ; Wed, 31 Dec 2014 16:48:35 +0000 (UTC) Received: from out1-smtp.messagingengine.com (out1-smtp.messagingengine.com [66.111.4.25]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id E963638B9 for ; Wed, 31 Dec 2014 16:48:34 +0000 (UTC) Received: from compute1.internal (compute1.nyi.internal [10.202.2.41]) by mailout.nyi.internal (Postfix) with ESMTP id 60E68207B7 for ; Wed, 31 Dec 2014 11:48:33 -0500 (EST) Received: from frontend1 ([10.202.2.160]) by compute1.internal (MEProxy); Wed, 31 Dec 2014 11:48:33 -0500 DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; d=fastmail.net; h= x-sasl-enc:message-id:date:from:mime-version:to:subject :references:in-reply-to:content-type:content-transfer-encoding; s=mesmtp; bh=JRguAGHLDLv5HKJXDlri/J4Nb8A=; b=GfIAwH8ZLkFcKUrnkF 79EtiGWNpQ5Xhj3W8f5NL4GoJRmyDwgc7wiFUJWrCtJT7sNHVqElMpRvZxubqPZ6 75kDXUwuQZ8jsNi1WeGnUsqTIDkBU81xIqb25xQM8TZQaSI54cayrKB3ZAuFYiwK ItivtOYLJfWsUsM02JNo2E4P4= DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; d= messagingengine.com; h=x-sasl-enc:message-id:date:from :mime-version:to:subject:references:in-reply-to:content-type :content-transfer-encoding; s=smtpout; bh=JRguAGHLDLv5HKJXDlri/J 4Nb8A=; b=c8oq4SC1BT9YpA3kp9DqDqzsAq1glCWVMFY35ijY+9hDlfKjBhNVg7 SGAnb6CQmngMC1Ke3j+r5PP3UKA7BkAcN+vf+ztsMpPpUfDOBceLpde35mc+F9OZ knQXPYHf+3zuPxopXSHgWAFikMxNO2ZMIxvGkTWP8J/gbL1OLS4Pg= X-Sasl-enc: T89hkX+e8DPlNHhMGB+0IEIph+mBb8CxvpMH8wYG41qv 1420044513 Received: from [192.168.1.67] (unknown [94.194.112.224]) by mail.messagingengine.com (Postfix) with ESMTPA id B2E84C00283; Wed, 31 Dec 2014 11:48:32 -0500 (EST) Message-ID: <54A428DF.1020407@fastmail.net> Date: Wed, 31 Dec 2014 16:48:31 +0000 From: Bruce Simpson User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.10; rv:31.0) Gecko/20100101 Thunderbird/31.3.0 MIME-Version: 1.0 To: Gleb Smirnoff , src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: Re: svn commit: r276460 - projects/ifnet/sys/net References: <201412310951.sBV9pabA043466@svn.freebsd.org> In-Reply-To: <201412310951.sBV9pabA043466@svn.freebsd.org> Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 31 Dec 2014 16:48:35 -0000 Gleb, Does your change put back the original 4.3BSD loopback capture behaviour? [1] It looks as if it maintains the current behaviour. I have a change in my local tree which implements "loopback segregation" for IPv6 only, i.e. the instance of lo(4) is respected (rather than dumping everything on lo0). thanks Bruce [1] http://svnweb.freebsd.org/base/head/sys/net/if_loop.c?r1=162538&r2=162539 From owner-svn-src-projects@FreeBSD.ORG Wed Dec 31 16:50:50 2014 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id D2CA1AFF; Wed, 31 Dec 2014 16:50:50 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id BC3863970; Wed, 31 Dec 2014 16:50:50 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id sBVGooxn041110; Wed, 31 Dec 2014 16:50:50 GMT (envelope-from dim@FreeBSD.org) Received: (from dim@localhost) by svn.freebsd.org (8.14.9/8.14.9/Submit) id sBVGolVp041094; Wed, 31 Dec 2014 16:50:47 GMT (envelope-from dim@FreeBSD.org) Message-Id: <201412311650.sBVGolVp041094@svn.freebsd.org> X-Authentication-Warning: svn.freebsd.org: dim set sender to dim@FreeBSD.org using -f From: Dimitry Andric Date: Wed, 31 Dec 2014 16:50:47 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r276473 - in projects/clang350-import: . cddl/contrib/opensolaris/lib/libzfs/common contrib/elftoolchain/libelf contrib/netbsd-tests/lib/libc/sys lib/libvmmapi share/man/man4 sys/amd64/... X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 31 Dec 2014 16:50:51 -0000 Author: dim Date: Wed Dec 31 16:50:46 2014 New Revision: 276473 URL: https://svnweb.freebsd.org/changeset/base/276473 Log: Merge ^/head r274961 through r276472. Added: projects/clang350-import/sys/amd64/vmm/io/vrtc.c - copied unchanged from r276472, head/sys/amd64/vmm/io/vrtc.c projects/clang350-import/sys/amd64/vmm/io/vrtc.h - copied unchanged from r276472, head/sys/amd64/vmm/io/vrtc.h Modified: projects/clang350-import/COPYRIGHT projects/clang350-import/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_pool.c projects/clang350-import/contrib/elftoolchain/libelf/elf_scn.c projects/clang350-import/contrib/netbsd-tests/lib/libc/sys/t_access.c projects/clang350-import/lib/libvmmapi/vmmapi.c projects/clang350-import/lib/libvmmapi/vmmapi.h projects/clang350-import/sys/amd64/include/vmm.h (contents, props changed) projects/clang350-import/sys/amd64/include/vmm_dev.h (contents, props changed) projects/clang350-import/sys/amd64/include/vmparam.h projects/clang350-import/sys/amd64/vmm/amd/svm.c projects/clang350-import/sys/amd64/vmm/io/vhpet.c projects/clang350-import/sys/amd64/vmm/vmm.c projects/clang350-import/sys/amd64/vmm/vmm_dev.c projects/clang350-import/sys/amd64/vmm/vmm_ioport.c projects/clang350-import/sys/arm/arm/cpu_asm-v6.S projects/clang350-import/sys/arm/arm/locore-v6.S projects/clang350-import/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev.c projects/clang350-import/sys/dev/sdhci/sdhci_pci.c projects/clang350-import/sys/fs/nullfs/null_subr.c projects/clang350-import/sys/kern/vfs_hash.c projects/clang350-import/sys/mips/include/vmparam.h projects/clang350-import/sys/modules/vmm/Makefile projects/clang350-import/sys/sys/copyright.h projects/clang350-import/sys/vm/vm_phys.c projects/clang350-import/sys/vm/vm_phys.h projects/clang350-import/usr.bin/patch/patch.c projects/clang350-import/usr.bin/patch/util.c projects/clang350-import/usr.sbin/bhyve/rtc.c projects/clang350-import/usr.sbin/bhyvectl/bhyvectl.c projects/clang350-import/usr.sbin/binmiscctl/binmiscctl.8 Directory Properties: projects/clang350-import/ (props changed) projects/clang350-import/cddl/ (props changed) projects/clang350-import/cddl/contrib/opensolaris/ (props changed) projects/clang350-import/cddl/contrib/opensolaris/lib/libzfs/ (props changed) projects/clang350-import/contrib/elftoolchain/ (props changed) projects/clang350-import/lib/libvmmapi/ (props changed) projects/clang350-import/share/ (props changed) projects/clang350-import/share/man/man4/ (props changed) projects/clang350-import/share/man/man4/iscsi.4 (props changed) projects/clang350-import/sys/ (props changed) projects/clang350-import/sys/amd64/vmm/ (props changed) projects/clang350-import/sys/cddl/contrib/opensolaris/ (props changed) projects/clang350-import/sys/modules/vmm/ (props changed) projects/clang350-import/usr.sbin/bhyve/ (props changed) projects/clang350-import/usr.sbin/bhyvectl/ (props changed) Modified: projects/clang350-import/COPYRIGHT ============================================================================== --- projects/clang350-import/COPYRIGHT Wed Dec 31 16:30:33 2014 (r276472) +++ projects/clang350-import/COPYRIGHT Wed Dec 31 16:50:46 2014 (r276473) @@ -4,7 +4,7 @@ The compilation of software known as FreeBSD is distributed under the following terms: -Copyright (c) 1992-2014 The FreeBSD Project. All rights reserved. +Copyright (c) 1992-2015 The FreeBSD Project. All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions Modified: projects/clang350-import/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_pool.c ============================================================================== --- projects/clang350-import/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_pool.c Wed Dec 31 16:30:33 2014 (r276472) +++ projects/clang350-import/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_pool.c Wed Dec 31 16:50:46 2014 (r276473) @@ -256,7 +256,8 @@ zpool_get_prop(zpool_handle_t *zhp, zpoo break; case ZPOOL_PROP_HEALTH: - (void) strlcpy(buf, "FAULTED", len); + (void) strlcpy(buf, + zpool_pool_state_to_name(POOL_STATE_UNAVAIL), len); break; case ZPOOL_PROP_GUID: Modified: projects/clang350-import/contrib/elftoolchain/libelf/elf_scn.c ============================================================================== --- projects/clang350-import/contrib/elftoolchain/libelf/elf_scn.c Wed Dec 31 16:30:33 2014 (r276472) +++ projects/clang350-import/contrib/elftoolchain/libelf/elf_scn.c Wed Dec 31 16:50:46 2014 (r276473) @@ -32,6 +32,7 @@ #include #include #include +#include #include #include "_libelf.h" @@ -50,7 +51,6 @@ _libelf_load_section_headers(Elf *e, voi Elf64_Ehdr *eh64; int ec, swapbytes; unsigned char *src; - unsigned char *rawend; size_t fsz, i, shnum; int (*xlator)(unsigned char *_d, size_t _dsz, unsigned char *_s, size_t _c, int _swap); @@ -61,7 +61,8 @@ _libelf_load_section_headers(Elf *e, voi #define CHECK_EHDR(E,EH) do { \ if (fsz != (EH)->e_shentsize || \ - shoff + fsz * shnum > e->e_rawsize) { \ + shnum > SIZE_MAX / fsz || \ + fsz * shnum > e->e_rawsize - shoff) { \ LIBELF_SET_ERROR(HEADER, 0); \ return (0); \ } \ @@ -87,7 +88,6 @@ _libelf_load_section_headers(Elf *e, voi swapbytes = e->e_byteorder != LIBELF_PRIVATE(byteorder); src = e->e_rawfile + shoff; - rawend = e->e_rawfile + e->e_rawsize; /* * If the file is using extended numbering then section #0 @@ -104,8 +104,6 @@ _libelf_load_section_headers(Elf *e, voi } for (; i < shnum; i++, src += fsz) { - if (src + sizeof(scn->s_shdr) > rawend) - return (0); if ((scn = _libelf_allocate_scn(e, i)) == NULL) return (0); Modified: projects/clang350-import/contrib/netbsd-tests/lib/libc/sys/t_access.c ============================================================================== --- projects/clang350-import/contrib/netbsd-tests/lib/libc/sys/t_access.c Wed Dec 31 16:30:33 2014 (r276472) +++ projects/clang350-import/contrib/netbsd-tests/lib/libc/sys/t_access.c Wed Dec 31 16:50:46 2014 (r276473) @@ -41,6 +41,7 @@ __RCSID("$NetBSD: t_access.c,v 1.1 2011/ #include #ifdef __FreeBSD__ +#include #include #endif @@ -116,6 +117,10 @@ ATF_TC_HEAD(access_inval, tc) ATF_TC_BODY(access_inval, tc) { +#if defined(__FreeBSD__) && __FreeBSD_version < 1100033 + atf_tc_expect_fail("arguments to access aren't validated; see " + "bug # 181155 for more details"); +#endif errno = 0; ATF_REQUIRE(access("/usr", -1) != 0); Modified: projects/clang350-import/lib/libvmmapi/vmmapi.c ============================================================================== --- projects/clang350-import/lib/libvmmapi/vmmapi.c Wed Dec 31 16:30:33 2014 (r276472) +++ projects/clang350-import/lib/libvmmapi/vmmapi.c Wed Dec 31 16:50:46 2014 (r276473) @@ -1146,3 +1146,55 @@ vm_set_intinfo(struct vmctx *ctx, int vc error = ioctl(ctx->fd, VM_SET_INTINFO, &vmii); return (error); } + +int +vm_rtc_write(struct vmctx *ctx, int offset, uint8_t value) +{ + struct vm_rtc_data rtcdata; + int error; + + bzero(&rtcdata, sizeof(struct vm_rtc_data)); + rtcdata.offset = offset; + rtcdata.value = value; + error = ioctl(ctx->fd, VM_RTC_WRITE, &rtcdata); + return (error); +} + +int +vm_rtc_read(struct vmctx *ctx, int offset, uint8_t *retval) +{ + struct vm_rtc_data rtcdata; + int error; + + bzero(&rtcdata, sizeof(struct vm_rtc_data)); + rtcdata.offset = offset; + error = ioctl(ctx->fd, VM_RTC_READ, &rtcdata); + if (error == 0) + *retval = rtcdata.value; + return (error); +} + +int +vm_rtc_settime(struct vmctx *ctx, time_t secs) +{ + struct vm_rtc_time rtctime; + int error; + + bzero(&rtctime, sizeof(struct vm_rtc_time)); + rtctime.secs = secs; + error = ioctl(ctx->fd, VM_RTC_SETTIME, &rtctime); + return (error); +} + +int +vm_rtc_gettime(struct vmctx *ctx, time_t *secs) +{ + struct vm_rtc_time rtctime; + int error; + + bzero(&rtctime, sizeof(struct vm_rtc_time)); + error = ioctl(ctx->fd, VM_RTC_GETTIME, &rtctime); + if (error == 0) + *secs = rtctime.secs; + return (error); +} Modified: projects/clang350-import/lib/libvmmapi/vmmapi.h ============================================================================== --- projects/clang350-import/lib/libvmmapi/vmmapi.h Wed Dec 31 16:30:33 2014 (r276472) +++ projects/clang350-import/lib/libvmmapi/vmmapi.h Wed Dec 31 16:50:46 2014 (r276473) @@ -133,6 +133,12 @@ void vm_copyin(struct vmctx *ctx, int vc void vm_copyout(struct vmctx *ctx, int vcpu, const void *host_src, struct iovec *guest_iov, size_t len); +/* RTC */ +int vm_rtc_write(struct vmctx *ctx, int offset, uint8_t value); +int vm_rtc_read(struct vmctx *ctx, int offset, uint8_t *retval); +int vm_rtc_settime(struct vmctx *ctx, time_t secs); +int vm_rtc_gettime(struct vmctx *ctx, time_t *secs); + /* Reset vcpu register state */ int vcpu_reset(struct vmctx *ctx, int vcpu); Modified: projects/clang350-import/sys/amd64/include/vmm.h ============================================================================== --- projects/clang350-import/sys/amd64/include/vmm.h Wed Dec 31 16:30:33 2014 (r276472) +++ projects/clang350-import/sys/amd64/include/vmm.h Wed Dec 31 16:50:46 2014 (r276473) @@ -286,6 +286,7 @@ int vm_unassign_pptdev(struct vm *vm, in struct vatpic *vm_atpic(struct vm *vm); struct vatpit *vm_atpit(struct vm *vm); struct vpmtmr *vm_pmtmr(struct vm *vm); +struct vrtc *vm_rtc(struct vm *vm); /* * Inject exception 'vme' into the guest vcpu. This function returns 0 on Modified: projects/clang350-import/sys/amd64/include/vmm_dev.h ============================================================================== --- projects/clang350-import/sys/amd64/include/vmm_dev.h Wed Dec 31 16:30:33 2014 (r276472) +++ projects/clang350-import/sys/amd64/include/vmm_dev.h Wed Dec 31 16:50:46 2014 (r276473) @@ -195,6 +195,15 @@ struct vm_intinfo { uint64_t info2; }; +struct vm_rtc_time { + time_t secs; +}; + +struct vm_rtc_data { + int offset; + uint8_t value; +}; + enum { /* general routines */ IOCNUM_ABIVERS = 0, @@ -254,6 +263,12 @@ enum { /* vm_cpuset */ IOCNUM_ACTIVATE_CPU = 90, IOCNUM_GET_CPUSET = 91, + + /* RTC */ + IOCNUM_RTC_READ = 100, + IOCNUM_RTC_WRITE = 101, + IOCNUM_RTC_SETTIME = 102, + IOCNUM_RTC_GETTIME = 103, }; #define VM_RUN \ @@ -336,4 +351,12 @@ enum { _IOW('v', IOCNUM_SET_INTINFO, struct vm_intinfo) #define VM_GET_INTINFO \ _IOWR('v', IOCNUM_GET_INTINFO, struct vm_intinfo) +#define VM_RTC_WRITE \ + _IOW('v', IOCNUM_RTC_WRITE, struct vm_rtc_data) +#define VM_RTC_READ \ + _IOWR('v', IOCNUM_RTC_READ, struct vm_rtc_data) +#define VM_RTC_SETTIME \ + _IOW('v', IOCNUM_RTC_SETTIME, struct vm_rtc_time) +#define VM_RTC_GETTIME \ + _IOR('v', IOCNUM_RTC_GETTIME, struct vm_rtc_time) #endif Modified: projects/clang350-import/sys/amd64/include/vmparam.h ============================================================================== --- projects/clang350-import/sys/amd64/include/vmparam.h Wed Dec 31 16:30:33 2014 (r276472) +++ projects/clang350-import/sys/amd64/include/vmparam.h Wed Dec 31 16:50:46 2014 (r276473) @@ -101,14 +101,22 @@ #define VM_FREEPOOL_DIRECT 1 /* - * Create two free page lists: VM_FREELIST_DEFAULT is for physical - * pages that are above the largest physical address that is - * accessible by ISA DMA and VM_FREELIST_ISADMA is for physical pages - * that are below that address. + * Create up to three free page lists: VM_FREELIST_DMA32 is for physical pages + * that have physical addresses below 4G but are not accessible by ISA DMA, + * and VM_FREELIST_ISADMA is for physical pages that are accessible by ISA + * DMA. */ -#define VM_NFREELIST 2 +#define VM_NFREELIST 3 #define VM_FREELIST_DEFAULT 0 -#define VM_FREELIST_ISADMA 1 +#define VM_FREELIST_DMA32 1 +#define VM_FREELIST_ISADMA 2 + +/* + * Create the DMA32 free list only if the number of physical pages above + * physical address 4G is at least 16M, which amounts to 64GB of physical + * memory. + */ +#define VM_DMA32_NPAGES_THRESHOLD 16777216 /* * An allocation size of 16MB is supported in order to optimize the Modified: projects/clang350-import/sys/amd64/vmm/amd/svm.c ============================================================================== --- projects/clang350-import/sys/amd64/vmm/amd/svm.c Wed Dec 31 16:30:33 2014 (r276472) +++ projects/clang350-import/sys/amd64/vmm/amd/svm.c Wed Dec 31 16:50:46 2014 (r276473) @@ -1322,9 +1322,12 @@ svm_vmexit(struct svm_softc *svm_sc, int if (reflect) { /* Reflect the exception back into the guest */ + bzero(&exception, sizeof(struct vm_exception)); exception.vector = idtvec; - exception.error_code_valid = errcode_valid; - exception.error_code = errcode_valid ? info1 : 0; + if (errcode_valid) { + exception.error_code = info1; + exception.error_code_valid = 1; + } VCPU_CTR2(svm_sc->vm, vcpu, "Reflecting exception " "%d/%#x into the guest", exception.vector, exception.error_code); Modified: projects/clang350-import/sys/amd64/vmm/io/vhpet.c ============================================================================== --- projects/clang350-import/sys/amd64/vmm/io/vhpet.c Wed Dec 31 16:30:33 2014 (r276472) +++ projects/clang350-import/sys/amd64/vmm/io/vhpet.c Wed Dec 31 16:50:46 2014 (r276473) @@ -104,7 +104,6 @@ vhpet_capabilities(void) uint64_t cap = 0; cap |= 0x8086 << 16; /* vendor id */ - cap |= HPET_CAP_LEG_RT; /* legacy routing capable */ cap |= (VHPET_NUM_TIMERS - 1) << 8; /* number of timers */ cap |= 1; /* revision */ cap &= ~HPET_CAP_COUNT_SIZE; /* 32-bit timer */ @@ -127,15 +126,6 @@ vhpet_timer_msi_enabled(struct vhpet *vh { const uint64_t msi_enable = HPET_TCAP_FSB_INT_DEL | HPET_TCNF_FSB_EN; - /* - * LegacyReplacement Route configuration takes precedence over MSI - * for timers 0 and 1. - */ - if (n == 0 || n == 1) { - if (vhpet->config & HPET_CNF_LEG_RT) - return (false); - } - if ((vhpet->timer[n].cap_config & msi_enable) == msi_enable) return (true); else @@ -152,41 +142,9 @@ vhpet_timer_ioapic_pin(struct vhpet *vhp if (vhpet_timer_msi_enabled(vhpet, n)) return (0); - if (vhpet->config & HPET_CNF_LEG_RT) { - /* - * In "legacy routing" timers 0 and 1 are connected to - * ioapic pins 2 and 8 respectively. - */ - switch (n) { - case 0: - return (2); - case 1: - return (8); - } - } - return ((vhpet->timer[n].cap_config & HPET_TCNF_INT_ROUTE) >> 9); } -static __inline int -vhpet_timer_atpic_pin(struct vhpet *vhpet, int n) -{ - if (vhpet->config & HPET_CNF_LEG_RT) { - /* - * In "legacy routing" timers 0 and 1 are connected to - * 8259 master pin 0 and slave pin 0 respectively. - */ - switch (n) { - case 0: - return (0); - case 1: - return (8); - } - } - - return (-1); -} - static uint32_t vhpet_counter(struct vhpet *vhpet, sbintime_t *nowptr) { @@ -216,17 +174,12 @@ vhpet_counter(struct vhpet *vhpet, sbint static void vhpet_timer_clear_isr(struct vhpet *vhpet, int n) { - int pin, legacy_pin; + int pin; if (vhpet->isr & (1 << n)) { pin = vhpet_timer_ioapic_pin(vhpet, n); KASSERT(pin != 0, ("vhpet timer %d irq incorrectly routed", n)); vioapic_deassert_irq(vhpet->vm, pin); - - legacy_pin = vhpet_timer_atpic_pin(vhpet, n); - if (legacy_pin != -1) - vatpic_deassert_irq(vhpet->vm, legacy_pin); - vhpet->isr &= ~(1 << n); } } @@ -252,12 +205,6 @@ vhpet_timer_edge_trig(struct vhpet *vhpe KASSERT(!vhpet_timer_msi_enabled(vhpet, n), ("vhpet_timer_edge_trig: " "timer %d is using MSI", n)); - /* The legacy replacement interrupts are always edge triggered */ - if (vhpet->config & HPET_CNF_LEG_RT) { - if (n == 0 || n == 1) - return (true); - } - if ((vhpet->timer[n].cap_config & HPET_TCNF_INT_TYPE) == 0) return (true); else @@ -267,7 +214,7 @@ vhpet_timer_edge_trig(struct vhpet *vhpe static void vhpet_timer_interrupt(struct vhpet *vhpet, int n) { - int pin, legacy_pin; + int pin; /* If interrupts are not enabled for this timer then just return. */ if (!vhpet_timer_interrupt_enabled(vhpet, n)) @@ -293,17 +240,11 @@ vhpet_timer_interrupt(struct vhpet *vhpe return; } - legacy_pin = vhpet_timer_atpic_pin(vhpet, n); - if (vhpet_timer_edge_trig(vhpet, n)) { vioapic_pulse_irq(vhpet->vm, pin); - if (legacy_pin != -1) - vatpic_pulse_irq(vhpet->vm, legacy_pin); } else { vhpet->isr |= 1 << n; vioapic_assert_irq(vhpet->vm, pin); - if (legacy_pin != -1) - vatpic_assert_irq(vhpet->vm, legacy_pin); } } @@ -579,6 +520,13 @@ vhpet_mmio_write(void *vm, int vcpuid, u counter = vhpet_counter(vhpet, nowptr); oldval = vhpet->config; update_register(&vhpet->config, data, mask); + + /* + * LegacyReplacement Routing is not supported so clear the + * bit explicitly. + */ + vhpet->config &= ~HPET_CNF_LEG_RT; + if ((oldval ^ vhpet->config) & HPET_CNF_ENABLE) { if (vhpet_counter_enabled(vhpet)) { vhpet_start_counting(vhpet); Copied: projects/clang350-import/sys/amd64/vmm/io/vrtc.c (from r276472, head/sys/amd64/vmm/io/vrtc.c) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ projects/clang350-import/sys/amd64/vmm/io/vrtc.c Wed Dec 31 16:50:46 2014 (r276473, copy of r276472, head/sys/amd64/vmm/io/vrtc.c) @@ -0,0 +1,952 @@ +/*- + * Copyright (c) 2014, Neel Natu (neel@freebsd.org) + * 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 unmodified, 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 +#include + +#include + +#include + +#include "vmm_ktr.h" +#include "vatpic.h" +#include "vioapic.h" +#include "vrtc.h" + +/* Register layout of the RTC */ +struct rtcdev { + uint8_t sec; + uint8_t alarm_sec; + uint8_t min; + uint8_t alarm_min; + uint8_t hour; + uint8_t alarm_hour; + uint8_t day_of_week; + uint8_t day_of_month; + uint8_t month; + uint8_t year; + uint8_t reg_a; + uint8_t reg_b; + uint8_t reg_c; + uint8_t reg_d; + uint8_t nvram[128 - 14]; +} __packed; +CTASSERT(sizeof(struct rtcdev) == 128); + +struct vrtc { + struct vm *vm; + struct mtx mtx; + struct callout callout; + u_int addr; /* RTC register to read or write */ + sbintime_t base_uptime; + time_t base_rtctime; + struct rtcdev rtcdev; +}; + +#define VRTC_LOCK(vrtc) mtx_lock(&((vrtc)->mtx)) +#define VRTC_UNLOCK(vrtc) mtx_unlock(&((vrtc)->mtx)) +#define VRTC_LOCKED(vrtc) mtx_owned(&((vrtc)->mtx)) + +/* + * RTC time is considered "broken" if: + * - RTC updates are halted by the guest + * - RTC date/time fields have invalid values + */ +#define VRTC_BROKEN_TIME ((time_t)-1) + +#define RTC_IRQ 8 +#define RTCSB_BIN 0x04 +#define RTCSB_ALL_INTRS (RTCSB_UINTR | RTCSB_AINTR | RTCSB_PINTR) +#define rtc_halted(vrtc) ((vrtc->rtcdev.reg_b & RTCSB_HALT) != 0) +#define aintr_enabled(vrtc) (((vrtc)->rtcdev.reg_b & RTCSB_AINTR) != 0) +#define pintr_enabled(vrtc) (((vrtc)->rtcdev.reg_b & RTCSB_PINTR) != 0) +#define uintr_enabled(vrtc) (((vrtc)->rtcdev.reg_b & RTCSB_UINTR) != 0) + +static void vrtc_callout_handler(void *arg); +static void vrtc_set_reg_c(struct vrtc *vrtc, uint8_t newval); + +static MALLOC_DEFINE(M_VRTC, "vrtc", "bhyve virtual rtc"); + +SYSCTL_DECL(_hw_vmm); +SYSCTL_NODE(_hw_vmm, OID_AUTO, vrtc, CTLFLAG_RW, NULL, NULL); + +static int rtc_flag_broken_time = 1; +SYSCTL_INT(_hw_vmm_vrtc, OID_AUTO, flag_broken_time, CTLFLAG_RDTUN, + &rtc_flag_broken_time, 0, "Stop guest when invalid RTC time is detected"); + +static __inline bool +divider_enabled(int reg_a) +{ + /* + * The RTC is counting only when dividers are not held in reset. + */ + return ((reg_a & 0x70) == 0x20); +} + +static __inline bool +update_enabled(struct vrtc *vrtc) +{ + /* + * RTC date/time can be updated only if: + * - divider is not held in reset + * - guest has not disabled updates + * - the date/time fields have valid contents + */ + if (!divider_enabled(vrtc->rtcdev.reg_a)) + return (false); + + if (rtc_halted(vrtc)) + return (false); + + if (vrtc->base_rtctime == VRTC_BROKEN_TIME) + return (false); + + return (true); +} + +static time_t +vrtc_curtime(struct vrtc *vrtc) +{ + sbintime_t now, delta; + time_t t; + + KASSERT(VRTC_LOCKED(vrtc), ("%s: vrtc not locked", __func__)); + + t = vrtc->base_rtctime; + if (update_enabled(vrtc)) { + now = sbinuptime(); + delta = now - vrtc->base_uptime; + KASSERT(delta >= 0, ("vrtc_curtime: uptime went backwards: " + "%#lx to %#lx", vrtc->base_uptime, now)); + t += delta / SBT_1S; + } + return (t); +} + +static __inline uint8_t +rtcset(struct rtcdev *rtc, int val) +{ + + KASSERT(val >= 0 && val < 100, ("%s: invalid bin2bcd index %d", + __func__, val)); + + return ((rtc->reg_b & RTCSB_BIN) ? val : bin2bcd_data[val]); +} + +static void +secs_to_rtc(time_t rtctime, struct vrtc *vrtc, int force_update) +{ + struct clocktime ct; + struct timespec ts; + struct rtcdev *rtc; + int hour; + + KASSERT(VRTC_LOCKED(vrtc), ("%s: vrtc not locked", __func__)); + + if (rtctime < 0) { + KASSERT(rtctime == VRTC_BROKEN_TIME, + ("%s: invalid vrtc time %#lx", __func__, rtctime)); + return; + } + + /* + * If the RTC is halted then the guest has "ownership" of the + * date/time fields. Don't update the RTC date/time fields in + * this case (unless forced). + */ + if (rtc_halted(vrtc) && !force_update) + return; + + ts.tv_sec = rtctime; + ts.tv_nsec = 0; + clock_ts_to_ct(&ts, &ct); + + KASSERT(ct.sec >= 0 && ct.sec <= 59, ("invalid clocktime sec %d", + ct.sec)); + KASSERT(ct.min >= 0 && ct.min <= 59, ("invalid clocktime min %d", + ct.min)); + KASSERT(ct.hour >= 0 && ct.hour <= 23, ("invalid clocktime hour %d", + ct.hour)); + KASSERT(ct.dow >= 0 && ct.dow <= 6, ("invalid clocktime wday %d", + ct.dow)); + KASSERT(ct.day >= 1 && ct.day <= 31, ("invalid clocktime mday %d", + ct.day)); + KASSERT(ct.mon >= 1 && ct.mon <= 12, ("invalid clocktime month %d", + ct.mon)); + KASSERT(ct.year >= POSIX_BASE_YEAR, ("invalid clocktime year %d", + ct.year)); + + rtc = &vrtc->rtcdev; + rtc->sec = rtcset(rtc, ct.sec); + rtc->min = rtcset(rtc, ct.min); + + hour = ct.hour; + if ((rtc->reg_b & RTCSB_24HR) == 0) + hour = (hour % 12) + 1; /* convert to a 12-hour format */ + + rtc->hour = rtcset(rtc, hour); + + if ((rtc->reg_b & RTCSB_24HR) == 0 && ct.hour >= 12) + rtc->hour |= 0x80; /* set MSB to indicate PM */ + + rtc->day_of_week = rtcset(rtc, ct.dow + 1); + rtc->day_of_month = rtcset(rtc, ct.day); + rtc->month = rtcset(rtc, ct.mon); + rtc->year = rtcset(rtc, ct.year % 100); +} + +static int +rtcget(struct rtcdev *rtc, int val, int *retval) +{ + uint8_t upper, lower; + + if (rtc->reg_b & RTCSB_BIN) { + *retval = val; + return (0); + } + + lower = val & 0xf; + upper = (val >> 4) & 0xf; + + if (lower > 9 || upper > 9) + return (-1); + + *retval = upper * 10 + lower; + return (0); +} + +static time_t +rtc_to_secs(struct vrtc *vrtc) +{ + struct clocktime ct; + struct timespec ts; + struct rtcdev *rtc; + struct vm *vm; + int error, hour, pm, year; + + KASSERT(VRTC_LOCKED(vrtc), ("%s: vrtc not locked", __func__)); + + vm = vrtc->vm; + rtc = &vrtc->rtcdev; + + bzero(&ct, sizeof(struct clocktime)); + + error = rtcget(rtc, rtc->sec, &ct.sec); + if (error || ct.sec < 0 || ct.sec > 59) { + VM_CTR2(vm, "Invalid RTC sec %#x/%d", rtc->sec, ct.sec); + goto fail; + } + + error = rtcget(rtc, rtc->min, &ct.min); + if (error || ct.min < 0 || ct.min > 59) { + VM_CTR2(vm, "Invalid RTC min %#x/%d", rtc->min, ct.min); + goto fail; + } + + pm = 0; + hour = rtc->hour; + if ((rtc->reg_b & RTCSB_24HR) == 0) { + if (hour & 0x80) { + hour &= ~0x80; + pm = 1; + } + } + error = rtcget(rtc, hour, &ct.hour); + if ((rtc->reg_b & RTCSB_24HR) == 0) { + ct.hour -= 1; + if (pm) + ct.hour += 12; + } + + if (error || ct.hour < 0 || ct.hour > 23) { + VM_CTR2(vm, "Invalid RTC hour %#x/%d", rtc->hour, ct.hour); + goto fail; + } + + /* + * Ignore 'rtc->dow' because some guests like Linux don't bother + * setting it at all while others like OpenBSD/i386 set it incorrectly. + * + * clock_ct_to_ts() does not depend on 'ct.dow' anyways so ignore it. + */ + ct.dow = -1; + + error = rtcget(rtc, rtc->day_of_month, &ct.day); + if (error || ct.day < 1 || ct.day > 31) { + VM_CTR2(vm, "Invalid RTC mday %#x/%d", rtc->day_of_month, + ct.day); + goto fail; + } + + error = rtcget(rtc, rtc->month, &ct.mon); + if (error || ct.mon < 1 || ct.mon > 12) { + VM_CTR2(vm, "Invalid RTC month %#x/%d", rtc->month, ct.mon); + goto fail; + } + + error = rtcget(rtc, rtc->year, &year); + if (error || year < 0 || year > 99) { + VM_CTR2(vm, "Invalid RTC year %#x/%d", rtc->year, year); + goto fail; + } + if (year >= 70) + ct.year = 1900 + year; + else + ct.year = 2000 + year; + + error = clock_ct_to_ts(&ct, &ts); + if (error || ts.tv_sec < 0) { + VM_CTR3(vm, "Invalid RTC clocktime.date %04d-%02d-%02d", + ct.year, ct.mon, ct.day); + VM_CTR3(vm, "Invalid RTC clocktime.time %02d:%02d:%02d", + ct.hour, ct.min, ct.sec); + goto fail; + } + return (ts.tv_sec); /* success */ +fail: + return (VRTC_BROKEN_TIME); /* failure */ +} + +static int +vrtc_time_update(struct vrtc *vrtc, time_t newtime) +{ + struct rtcdev *rtc; + time_t oldtime; + uint8_t alarm_sec, alarm_min, alarm_hour; + + KASSERT(VRTC_LOCKED(vrtc), ("%s: vrtc not locked", __func__)); + + rtc = &vrtc->rtcdev; + alarm_sec = rtc->alarm_sec; + alarm_min = rtc->alarm_min; + alarm_hour = rtc->alarm_hour; + + oldtime = vrtc->base_rtctime; + VM_CTR2(vrtc->vm, "Updating RTC time from %#lx to %#lx", + oldtime, newtime); + + if (newtime == oldtime) + return (0); + + /* + * If 'newtime' indicates that RTC updates are disabled then just + * record that and return. There is no need to do alarm interrupt + * processing or update 'base_uptime' in this case. + */ + if (newtime == VRTC_BROKEN_TIME) { + vrtc->base_rtctime = VRTC_BROKEN_TIME; + return (0); + } + + /* + * Return an error if RTC updates are halted by the guest. + */ + if (rtc_halted(vrtc)) { + VM_CTR0(vrtc->vm, "RTC update halted by guest"); + return (EBUSY); + } + + do { + /* + * If the alarm interrupt is enabled and 'oldtime' is valid + * then visit all the seconds between 'oldtime' and 'newtime' + * to check for the alarm condition. + * + * Otherwise move the RTC time forward directly to 'newtime'. + */ + if (aintr_enabled(vrtc) && oldtime != VRTC_BROKEN_TIME) + vrtc->base_rtctime++; + else + vrtc->base_rtctime = newtime; + + if (aintr_enabled(vrtc)) { + /* + * Update the RTC date/time fields before checking + * if the alarm conditions are satisfied. + */ + secs_to_rtc(vrtc->base_rtctime, vrtc, 0); + + if ((alarm_sec >= 0xC0 || alarm_sec == rtc->sec) && + (alarm_min >= 0xC0 || alarm_min == rtc->min) && + (alarm_hour >= 0xC0 || alarm_hour == rtc->hour)) { + vrtc_set_reg_c(vrtc, rtc->reg_c | RTCIR_ALARM); + } + } + } while (vrtc->base_rtctime != newtime); + + if (uintr_enabled(vrtc)) + vrtc_set_reg_c(vrtc, rtc->reg_c | RTCIR_UPDATE); + + vrtc->base_uptime = sbinuptime(); + + return (0); +} + +static sbintime_t +vrtc_freq(struct vrtc *vrtc) +{ + int ratesel; + + static sbintime_t pf[16] = { + 0, + SBT_1S / 256, + SBT_1S / 128, + SBT_1S / 8192, + SBT_1S / 4096, + SBT_1S / 2048, + SBT_1S / 1024, + SBT_1S / 512, + SBT_1S / 256, + SBT_1S / 128, + SBT_1S / 64, + SBT_1S / 32, + SBT_1S / 16, + SBT_1S / 8, + SBT_1S / 4, + SBT_1S / 2, + }; + + KASSERT(VRTC_LOCKED(vrtc), ("%s: vrtc not locked", __func__)); + + /* + * If both periodic and alarm interrupts are enabled then use the + * periodic frequency to drive the callout. The minimum periodic + * frequency (2 Hz) is higher than the alarm frequency (1 Hz) so + * piggyback the alarm on top of it. The same argument applies to + * the update interrupt. + */ + if (pintr_enabled(vrtc) && divider_enabled(vrtc->rtcdev.reg_a)) { + ratesel = vrtc->rtcdev.reg_a & 0xf; + return (pf[ratesel]); + } else if (aintr_enabled(vrtc) && update_enabled(vrtc)) { + return (SBT_1S); + } else if (uintr_enabled(vrtc) && update_enabled(vrtc)) { + return (SBT_1S); + } else { + return (0); + } +} + +static void +vrtc_callout_reset(struct vrtc *vrtc, sbintime_t freqsbt) +{ + + KASSERT(VRTC_LOCKED(vrtc), ("%s: vrtc not locked", __func__)); + + if (freqsbt == 0) { + if (callout_active(&vrtc->callout)) { + VM_CTR0(vrtc->vm, "RTC callout stopped"); + callout_stop(&vrtc->callout); + } + return; + } + VM_CTR1(vrtc->vm, "RTC callout frequency %d hz", SBT_1S / freqsbt); + callout_reset_sbt(&vrtc->callout, freqsbt, 0, vrtc_callout_handler, + vrtc, 0); +} + +static void +vrtc_callout_handler(void *arg) +{ + struct vrtc *vrtc = arg; + sbintime_t freqsbt; + time_t rtctime; + int error; + + VM_CTR0(vrtc->vm, "vrtc callout fired"); + + VRTC_LOCK(vrtc); + if (callout_pending(&vrtc->callout)) /* callout was reset */ + goto done; + + if (!callout_active(&vrtc->callout)) /* callout was stopped */ + goto done; + + callout_deactivate(&vrtc->callout); + + KASSERT((vrtc->rtcdev.reg_b & RTCSB_ALL_INTRS) != 0, + ("gratuitous vrtc callout")); + + if (pintr_enabled(vrtc)) + vrtc_set_reg_c(vrtc, vrtc->rtcdev.reg_c | RTCIR_PERIOD); + + if (aintr_enabled(vrtc) || uintr_enabled(vrtc)) { + rtctime = vrtc_curtime(vrtc); + error = vrtc_time_update(vrtc, rtctime); + KASSERT(error == 0, ("%s: vrtc_time_update error %d", + __func__, error)); + } + + freqsbt = vrtc_freq(vrtc); + KASSERT(freqsbt != 0, ("%s: vrtc frequency cannot be zero", __func__)); + vrtc_callout_reset(vrtc, freqsbt); +done: + VRTC_UNLOCK(vrtc); +} + +static __inline void +vrtc_callout_check(struct vrtc *vrtc, sbintime_t freq) +{ + int active; + + active = callout_active(&vrtc->callout) ? 1 : 0; + KASSERT((freq == 0 && !active) || (freq != 0 && active), + ("vrtc callout %s with frequency %#lx", + active ? "active" : "inactive", freq)); +} + +static void +vrtc_set_reg_c(struct vrtc *vrtc, uint8_t newval) +{ + struct rtcdev *rtc; + int oldirqf, newirqf; + uint8_t oldval, changed; + + KASSERT(VRTC_LOCKED(vrtc), ("%s: vrtc not locked", __func__)); + + rtc = &vrtc->rtcdev; + newval &= RTCIR_ALARM | RTCIR_PERIOD | RTCIR_UPDATE; + + oldirqf = rtc->reg_c & RTCIR_INT; + if ((aintr_enabled(vrtc) && (newval & RTCIR_ALARM) != 0) || + (pintr_enabled(vrtc) && (newval & RTCIR_PERIOD) != 0) || + (uintr_enabled(vrtc) && (newval & RTCIR_UPDATE) != 0)) { + newirqf = RTCIR_INT; + } else { + newirqf = 0; + } + + oldval = rtc->reg_c; + rtc->reg_c = newirqf | newval; + changed = oldval ^ rtc->reg_c; + if (changed) { + VM_CTR2(vrtc->vm, "RTC reg_c changed from %#x to %#x", + oldval, rtc->reg_c); + } + + if (!oldirqf && newirqf) { + VM_CTR1(vrtc->vm, "RTC irq %d asserted", RTC_IRQ); + vatpic_pulse_irq(vrtc->vm, RTC_IRQ); + vioapic_pulse_irq(vrtc->vm, RTC_IRQ); + } else if (oldirqf && !newirqf) { + VM_CTR1(vrtc->vm, "RTC irq %d deasserted", RTC_IRQ); + } +} + +static int +vrtc_set_reg_b(struct vrtc *vrtc, uint8_t newval) +{ + struct rtcdev *rtc; + sbintime_t oldfreq, newfreq; + time_t curtime, rtctime; + int error; + uint8_t oldval, changed; + + KASSERT(VRTC_LOCKED(vrtc), ("%s: vrtc not locked", __func__)); + + rtc = &vrtc->rtcdev; + oldval = rtc->reg_b; + oldfreq = vrtc_freq(vrtc); + + rtc->reg_b = newval; + changed = oldval ^ newval; + if (changed) { + VM_CTR2(vrtc->vm, "RTC reg_b changed from %#x to %#x", + oldval, newval); + } + + if (changed & RTCSB_HALT) { *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-projects@FreeBSD.ORG Wed Dec 31 18:11:10 2014 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id E0C5BE45; Wed, 31 Dec 2014 18:11:10 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id B2D9928F9; Wed, 31 Dec 2014 18:11:10 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id sBVIBAgT081095; Wed, 31 Dec 2014 18:11:10 GMT (envelope-from dim@FreeBSD.org) Received: (from dim@localhost) by svn.freebsd.org (8.14.9/8.14.9/Submit) id sBVIBANE081094; Wed, 31 Dec 2014 18:11:10 GMT (envelope-from dim@FreeBSD.org) Message-Id: <201412311811.sBVIBANE081094@svn.freebsd.org> X-Authentication-Warning: svn.freebsd.org: dim set sender to dim@FreeBSD.org using -f From: Dimitry Andric Date: Wed, 31 Dec 2014 18:11:10 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r276475 - projects/clang350-import X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 31 Dec 2014 18:11:11 -0000 Author: dim Date: Wed Dec 31 18:11:09 2014 New Revision: 276475 URL: https://svnweb.freebsd.org/changeset/base/276475 Log: Some minor changes to UPDATING. Modified: projects/clang350-import/UPDATING Modified: projects/clang350-import/UPDATING ============================================================================== --- projects/clang350-import/UPDATING Wed Dec 31 17:44:57 2014 (r276474) +++ projects/clang350-import/UPDATING Wed Dec 31 18:11:09 2014 (r276475) @@ -34,18 +34,17 @@ NOTE TO PEOPLE WHO THINK THAT FreeBSD 11 20141231: Clang, llvm and lldb have been upgraded to 3.5.0 release. - As of this release, a prerequisite for building llvm and clang is a - C++11 capable compiler and C++11 standard library. This means that to + As of this release, a prerequisite for building clang, llvm and lldb is + a C++11 capable compiler and C++11 standard library. This means that to be able to successfully build the cross-tools stage of buildworld, with clang as the bootstrap compiler, your system compiler or cross compiler should either be clang 3.3 or later, or gcc 4.8 or later, and your system C++ library should be libc++, or libdstdc++ from gcc 4.8 or later. - On any earlier standard FreeBSD 10.x or 11.x installation, where clang - and libc++ are on by default (that is, on x86 or arm), this should work - out of the box, unless you explicitly disabled clang or libc++. In that - case, you must re-enable, build and install both of those first. + On any standard FreeBSD 10.x or 11.x installation, where clang and + libc++ are on by default (that is, on x86 or arm), this should work out + of the box. On 9.x installations where clang is enabled by default, e.g. on x86 and powerpc, libc++ will not be enabled by default, so libc++ should be @@ -55,6 +54,13 @@ NOTE TO PEOPLE WHO THINK THAT FreeBSD 11 On 8.x and earlier installations, upgrade to 9.x first, and then follow the instructions for 9.x above. + Sparc64 and mips users are unaffected, as they still use gcc 4.2.1 by + default, and do not build clang. + + Many embedded systems are resource constrained, and will not be able to + build clang in a reasonable time, or in some cases at all. In those + cases, cross building bootable systems on amd64 is a workaround. + This new version of clang introduces a number of new warnings, of which the following are most likely to appear: From owner-svn-src-projects@FreeBSD.ORG Wed Dec 31 18:16:51 2014 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 78E211D4; Wed, 31 Dec 2014 18:16:51 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 659333850; Wed, 31 Dec 2014 18:16:51 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id sBVIGpub083375; Wed, 31 Dec 2014 18:16:51 GMT (envelope-from dim@FreeBSD.org) Received: (from dim@localhost) by svn.freebsd.org (8.14.9/8.14.9/Submit) id sBVIGptP083374; Wed, 31 Dec 2014 18:16:51 GMT (envelope-from dim@FreeBSD.org) Message-Id: <201412311816.sBVIGptP083374@svn.freebsd.org> X-Authentication-Warning: svn.freebsd.org: dim set sender to dim@FreeBSD.org using -f From: Dimitry Andric Date: Wed, 31 Dec 2014 18:16:51 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r276476 - projects/clang350-import/sys/vm X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 31 Dec 2014 18:16:51 -0000 Author: dim Date: Wed Dec 31 18:16:50 2014 New Revision: 276476 URL: https://svnweb.freebsd.org/changeset/base/276476 Log: Merge ^/head r274961 through r276475. Modified: projects/clang350-import/sys/vm/uma_core.c Directory Properties: projects/clang350-import/ (props changed) projects/clang350-import/sys/ (props changed) Modified: projects/clang350-import/sys/vm/uma_core.c ============================================================================== --- projects/clang350-import/sys/vm/uma_core.c Wed Dec 31 18:11:09 2014 (r276475) +++ projects/clang350-import/sys/vm/uma_core.c Wed Dec 31 18:16:50 2014 (r276476) @@ -1834,9 +1834,6 @@ uma_startup(void *bootmem, int boot_page zone_ctor(zones, sizeof(struct uma_zone), &args, M_WAITOK); #ifdef UMA_DEBUG - printf("Initializing pcpu cache locks.\n"); -#endif -#ifdef UMA_DEBUG printf("Creating slab and hash zones.\n"); #endif From owner-svn-src-projects@FreeBSD.ORG Fri Jan 2 08:11:20 2015 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 31398E5D; Fri, 2 Jan 2015 08:11:20 +0000 (UTC) Received: from vps1.elischer.org (vps1.elischer.org [204.109.63.16]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "vps1.elischer.org", Issuer "CA Cert Signing Authority" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 02B0164938; Fri, 2 Jan 2015 08:11:19 +0000 (UTC) Received: from jre-mbp.elischer.org (ppp121-45-228-83.lns20.per1.internode.on.net [121.45.228.83]) (authenticated bits=0) by vps1.elischer.org (8.14.9/8.14.9) with ESMTP id t0288E7K083875 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES128-SHA bits=128 verify=NO); Fri, 2 Jan 2015 00:08:16 -0800 (PST) (envelope-from julian@freebsd.org) Message-ID: <54A651E8.5050109@freebsd.org> Date: Fri, 02 Jan 2015 16:08:08 +0800 From: Julian Elischer User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.10; rv:31.0) Gecko/20100101 Thunderbird/31.3.0 MIME-Version: 1.0 To: Gleb Smirnoff , src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: Re: svn commit: r276457 - projects/ifnet/sys/net References: <201412310941.sBV9fQWF038671@svn.freebsd.org> In-Reply-To: <201412310941.sBV9fQWF038671@svn.freebsd.org> Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 02 Jan 2015 08:11:20 -0000 On 12/31/14 5:41 PM, Gleb Smirnoff wrote: > Author: glebius > Date: Wed Dec 31 09:41:25 2014 > New Revision: 276457 > URL: https://svnweb.freebsd.org/changeset/base/276457 > > Log: > A draft of the new API for interface drivers, a major milestone in > the project "opaque ifnet". iti woudlbe really cool if there was an extension to the driver for "polling mode operation". This would allow us to implement ethernet/IP based debugging. Firewire and serial are less and less viable options. Firewire is going away, and devices often don't have serial any more. A "send/recieve one packet synchronously" interface would make this feasible. > > New API for drivers: > - Drivers do not include if_var.h, they do include if.h only. Thus, > drivers do not know "struct ifnet". They operate with a pointer > to it, typedefed as "if_t". > - Drivers declare static "struct ifdriver", that describes common > properties of all interfaces handled by this driver. Common > properties include: input/output/ioctl/etc methods, driver name, > interface type, address length, etc. > - In device_attach() method drivers prepare on stack a > "struct if_attach_args", which describes zillion of parameters > that if_attach() would handle. The if_attach() can't fail. > The plan is "struct if_attach_args" to be versioned, so that > in future we can keep ABI compat shims. > - During runtime drivers have a handful of methods to work with > ifnet: get softc, get/modify various flags. > > The kernel after this commit isn't compilable, even w/o any driver > in place. It was intentionally separated to outline important part > of changes from mechanical changes. More commits to follow this one. > > Sponsored by: Netflix > Sponsored by: Nginx, Inc. > > From owner-svn-src-projects@FreeBSD.ORG Fri Jan 2 23:27:30 2015 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 1B45B388; Fri, 2 Jan 2015 23:27:30 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id F36E01C5A; Fri, 2 Jan 2015 23:27:29 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id t02NRTqp022458; Fri, 2 Jan 2015 23:27:29 GMT (envelope-from ngie@FreeBSD.org) Received: (from ngie@localhost) by svn.freebsd.org (8.14.9/8.14.9/Submit) id t02NRM59022366; Fri, 2 Jan 2015 23:27:22 GMT (envelope-from ngie@FreeBSD.org) Message-Id: <201501022327.t02NRM59022366@svn.freebsd.org> X-Authentication-Warning: svn.freebsd.org: ngie set sender to ngie@FreeBSD.org using -f From: Garrett Cooper Date: Fri, 2 Jan 2015 23:27:22 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r276595 - in projects/building-blocks: . bin/ln bin/sh cddl/contrib/opensolaris/cmd/zpool cddl/contrib/opensolaris/lib/libdtrace/common cddl/contrib/opensolaris/lib/libzfs/common cddl/u... X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 02 Jan 2015 23:27:30 -0000 Author: ngie Date: Fri Jan 2 23:27:16 2015 New Revision: 276595 URL: https://svnweb.freebsd.org/changeset/base/276595 Log: MFhead @ r276594 Added: projects/building-blocks/contrib/elftoolchain/libdwarf/dwarf_attroffset.3 - copied unchanged from r276594, head/contrib/elftoolchain/libdwarf/dwarf_attroffset.3 projects/building-blocks/contrib/elftoolchain/libdwarf/dwarf_get_die_infotypes_flag.3 - copied unchanged from r276594, head/contrib/elftoolchain/libdwarf/dwarf_get_die_infotypes_flag.3 projects/building-blocks/contrib/elftoolchain/libdwarf/dwarf_get_section_max_offsets.3 - copied unchanged from r276594, head/contrib/elftoolchain/libdwarf/dwarf_get_section_max_offsets.3 projects/building-blocks/contrib/elftoolchain/libdwarf/dwarf_next_types_section.3 - copied unchanged from r276594, head/contrib/elftoolchain/libdwarf/dwarf_next_types_section.3 projects/building-blocks/contrib/elftoolchain/libdwarf/dwarf_sections.c - copied unchanged from r276594, head/contrib/elftoolchain/libdwarf/dwarf_sections.c projects/building-blocks/contrib/file/magic/Magdir/qt - copied unchanged from r276594, head/contrib/file/magic/Magdir/qt projects/building-blocks/contrib/llvm/include/llvm-c/module.modulemap - copied unchanged from r276594, head/contrib/llvm/include/llvm-c/module.modulemap projects/building-blocks/contrib/llvm/include/llvm/ADT/iterator.h - copied unchanged from r276594, head/contrib/llvm/include/llvm/ADT/iterator.h projects/building-blocks/contrib/llvm/include/llvm/ADT/iterator_range.h - copied unchanged from r276594, head/contrib/llvm/include/llvm/ADT/iterator_range.h projects/building-blocks/contrib/llvm/include/llvm/Analysis/BlockFrequencyInfoImpl.h - copied unchanged from r276594, head/contrib/llvm/include/llvm/Analysis/BlockFrequencyInfoImpl.h projects/building-blocks/contrib/llvm/include/llvm/Analysis/CGSCCPassManager.h - copied unchanged from r276594, head/contrib/llvm/include/llvm/Analysis/CGSCCPassManager.h projects/building-blocks/contrib/llvm/include/llvm/Analysis/DominanceFrontierImpl.h - copied unchanged from r276594, head/contrib/llvm/include/llvm/Analysis/DominanceFrontierImpl.h projects/building-blocks/contrib/llvm/include/llvm/Analysis/JumpInstrTableInfo.h - copied unchanged from r276594, head/contrib/llvm/include/llvm/Analysis/JumpInstrTableInfo.h projects/building-blocks/contrib/llvm/include/llvm/Analysis/LazyCallGraph.h - copied unchanged from r276594, head/contrib/llvm/include/llvm/Analysis/LazyCallGraph.h projects/building-blocks/contrib/llvm/include/llvm/Analysis/RegionInfoImpl.h - copied unchanged from r276594, head/contrib/llvm/include/llvm/Analysis/RegionInfoImpl.h projects/building-blocks/contrib/llvm/include/llvm/Analysis/TargetFolder.h - copied unchanged from r276594, head/contrib/llvm/include/llvm/Analysis/TargetFolder.h projects/building-blocks/contrib/llvm/include/llvm/AsmParser/ - copied from r276594, head/contrib/llvm/include/llvm/AsmParser/ projects/building-blocks/contrib/llvm/include/llvm/Bitcode/BitcodeWriterPass.h - copied unchanged from r276594, head/contrib/llvm/include/llvm/Bitcode/BitcodeWriterPass.h projects/building-blocks/contrib/llvm/include/llvm/CodeGen/JumpInstrTables.h - copied unchanged from r276594, head/contrib/llvm/include/llvm/CodeGen/JumpInstrTables.h projects/building-blocks/contrib/llvm/include/llvm/CodeGen/LivePhysRegs.h - copied unchanged from r276594, head/contrib/llvm/include/llvm/CodeGen/LivePhysRegs.h projects/building-blocks/contrib/llvm/include/llvm/CodeGen/MachineDominanceFrontier.h - copied unchanged from r276594, head/contrib/llvm/include/llvm/CodeGen/MachineDominanceFrontier.h projects/building-blocks/contrib/llvm/include/llvm/CodeGen/MachineRegionInfo.h - copied unchanged from r276594, head/contrib/llvm/include/llvm/CodeGen/MachineRegionInfo.h projects/building-blocks/contrib/llvm/include/llvm/CodeGen/MachineValueType.h - copied unchanged from r276594, head/contrib/llvm/include/llvm/CodeGen/MachineValueType.h projects/building-blocks/contrib/llvm/include/llvm/CodeGen/PBQP/CostAllocator.h - copied unchanged from r276594, head/contrib/llvm/include/llvm/CodeGen/PBQP/CostAllocator.h projects/building-blocks/contrib/llvm/include/llvm/CodeGen/PBQP/ReductionRules.h - copied unchanged from r276594, head/contrib/llvm/include/llvm/CodeGen/PBQP/ReductionRules.h projects/building-blocks/contrib/llvm/include/llvm/CodeGen/PBQP/RegAllocSolver.h - copied unchanged from r276594, head/contrib/llvm/include/llvm/CodeGen/PBQP/RegAllocSolver.h projects/building-blocks/contrib/llvm/include/llvm/CodeGen/StackMapLivenessAnalysis.h - copied unchanged from r276594, head/contrib/llvm/include/llvm/CodeGen/StackMapLivenessAnalysis.h projects/building-blocks/contrib/llvm/include/llvm/ExecutionEngine/RuntimeDyldChecker.h - copied unchanged from r276594, head/contrib/llvm/include/llvm/ExecutionEngine/RuntimeDyldChecker.h projects/building-blocks/contrib/llvm/include/llvm/IR/AssemblyAnnotationWriter.h - copied unchanged from r276594, head/contrib/llvm/include/llvm/IR/AssemblyAnnotationWriter.h projects/building-blocks/contrib/llvm/include/llvm/IR/AutoUpgrade.h - copied unchanged from r276594, head/contrib/llvm/include/llvm/IR/AutoUpgrade.h projects/building-blocks/contrib/llvm/include/llvm/IR/CFG.h - copied unchanged from r276594, head/contrib/llvm/include/llvm/IR/CFG.h projects/building-blocks/contrib/llvm/include/llvm/IR/CallSite.h - copied unchanged from r276594, head/contrib/llvm/include/llvm/IR/CallSite.h projects/building-blocks/contrib/llvm/include/llvm/IR/Comdat.h - copied unchanged from r276594, head/contrib/llvm/include/llvm/IR/Comdat.h projects/building-blocks/contrib/llvm/include/llvm/IR/ConstantFolder.h - copied unchanged from r276594, head/contrib/llvm/include/llvm/IR/ConstantFolder.h projects/building-blocks/contrib/llvm/include/llvm/IR/ConstantRange.h - copied unchanged from r276594, head/contrib/llvm/include/llvm/IR/ConstantRange.h projects/building-blocks/contrib/llvm/include/llvm/IR/DIBuilder.h - copied unchanged from r276594, head/contrib/llvm/include/llvm/IR/DIBuilder.h projects/building-blocks/contrib/llvm/include/llvm/IR/DebugInfo.h - copied unchanged from r276594, head/contrib/llvm/include/llvm/IR/DebugInfo.h projects/building-blocks/contrib/llvm/include/llvm/IR/DebugLoc.h - copied unchanged from r276594, head/contrib/llvm/include/llvm/IR/DebugLoc.h projects/building-blocks/contrib/llvm/include/llvm/IR/DiagnosticInfo.h - copied unchanged from r276594, head/contrib/llvm/include/llvm/IR/DiagnosticInfo.h projects/building-blocks/contrib/llvm/include/llvm/IR/DiagnosticPrinter.h - copied unchanged from r276594, head/contrib/llvm/include/llvm/IR/DiagnosticPrinter.h projects/building-blocks/contrib/llvm/include/llvm/IR/Dominators.h - copied unchanged from r276594, head/contrib/llvm/include/llvm/IR/Dominators.h projects/building-blocks/contrib/llvm/include/llvm/IR/GVMaterializer.h - copied unchanged from r276594, head/contrib/llvm/include/llvm/IR/GVMaterializer.h projects/building-blocks/contrib/llvm/include/llvm/IR/GetElementPtrTypeIterator.h - copied unchanged from r276594, head/contrib/llvm/include/llvm/IR/GetElementPtrTypeIterator.h projects/building-blocks/contrib/llvm/include/llvm/IR/GlobalObject.h - copied unchanged from r276594, head/contrib/llvm/include/llvm/IR/GlobalObject.h projects/building-blocks/contrib/llvm/include/llvm/IR/IRPrintingPasses.h - copied unchanged from r276594, head/contrib/llvm/include/llvm/IR/IRPrintingPasses.h projects/building-blocks/contrib/llvm/include/llvm/IR/InstIterator.h - copied unchanged from r276594, head/contrib/llvm/include/llvm/IR/InstIterator.h projects/building-blocks/contrib/llvm/include/llvm/IR/InstVisitor.h - copied unchanged from r276594, head/contrib/llvm/include/llvm/IR/InstVisitor.h projects/building-blocks/contrib/llvm/include/llvm/IR/LeakDetector.h - copied unchanged from r276594, head/contrib/llvm/include/llvm/IR/LeakDetector.h projects/building-blocks/contrib/llvm/include/llvm/IR/LegacyPassNameParser.h - copied unchanged from r276594, head/contrib/llvm/include/llvm/IR/LegacyPassNameParser.h projects/building-blocks/contrib/llvm/include/llvm/IR/Mangler.h - copied unchanged from r276594, head/contrib/llvm/include/llvm/IR/Mangler.h projects/building-blocks/contrib/llvm/include/llvm/IR/NoFolder.h - copied unchanged from r276594, head/contrib/llvm/include/llvm/IR/NoFolder.h projects/building-blocks/contrib/llvm/include/llvm/IR/PatternMatch.h - copied unchanged from r276594, head/contrib/llvm/include/llvm/IR/PatternMatch.h projects/building-blocks/contrib/llvm/include/llvm/IR/PredIteratorCache.h - copied unchanged from r276594, head/contrib/llvm/include/llvm/IR/PredIteratorCache.h projects/building-blocks/contrib/llvm/include/llvm/IR/ValueHandle.h - copied unchanged from r276594, head/contrib/llvm/include/llvm/IR/ValueHandle.h projects/building-blocks/contrib/llvm/include/llvm/IR/ValueMap.h - copied unchanged from r276594, head/contrib/llvm/include/llvm/IR/ValueMap.h projects/building-blocks/contrib/llvm/include/llvm/IR/Verifier.h - copied unchanged from r276594, head/contrib/llvm/include/llvm/IR/Verifier.h projects/building-blocks/contrib/llvm/include/llvm/LineEditor/ - copied from r276594, head/contrib/llvm/include/llvm/LineEditor/ projects/building-blocks/contrib/llvm/include/llvm/Linker/ - copied from r276594, head/contrib/llvm/include/llvm/Linker/ projects/building-blocks/contrib/llvm/include/llvm/MC/ConstantPools.h - copied unchanged from r276594, head/contrib/llvm/include/llvm/MC/ConstantPools.h projects/building-blocks/contrib/llvm/include/llvm/MC/MCAnalysis/ - copied from r276594, head/contrib/llvm/include/llvm/MC/MCAnalysis/ projects/building-blocks/contrib/llvm/include/llvm/MC/MCLinkerOptimizationHint.h - copied unchanged from r276594, head/contrib/llvm/include/llvm/MC/MCLinkerOptimizationHint.h projects/building-blocks/contrib/llvm/include/llvm/MC/MCTargetOptions.h - copied unchanged from r276594, head/contrib/llvm/include/llvm/MC/MCTargetOptions.h projects/building-blocks/contrib/llvm/include/llvm/MC/MCTargetOptionsCommandFlags.h - copied unchanged from r276594, head/contrib/llvm/include/llvm/MC/MCTargetOptionsCommandFlags.h projects/building-blocks/contrib/llvm/include/llvm/MC/MCWinCOFFStreamer.h - copied unchanged from r276594, head/contrib/llvm/include/llvm/MC/MCWinCOFFStreamer.h projects/building-blocks/contrib/llvm/include/llvm/MC/MCWinEH.h - copied unchanged from r276594, head/contrib/llvm/include/llvm/MC/MCWinEH.h projects/building-blocks/contrib/llvm/include/llvm/MC/StringTableBuilder.h - copied unchanged from r276594, head/contrib/llvm/include/llvm/MC/StringTableBuilder.h projects/building-blocks/contrib/llvm/include/llvm/MC/YAML.h - copied unchanged from r276594, head/contrib/llvm/include/llvm/MC/YAML.h projects/building-blocks/contrib/llvm/include/llvm/Object/IRObjectFile.h - copied unchanged from r276594, head/contrib/llvm/include/llvm/Object/IRObjectFile.h projects/building-blocks/contrib/llvm/include/llvm/Object/SymbolicFile.h - copied unchanged from r276594, head/contrib/llvm/include/llvm/Object/SymbolicFile.h projects/building-blocks/contrib/llvm/include/llvm/PassInfo.h - copied unchanged from r276594, head/contrib/llvm/include/llvm/PassInfo.h projects/building-blocks/contrib/llvm/include/llvm/ProfileData/ - copied from r276594, head/contrib/llvm/include/llvm/ProfileData/ projects/building-blocks/contrib/llvm/include/llvm/Support/ARMBuildAttributes.h - copied unchanged from r276594, head/contrib/llvm/include/llvm/Support/ARMBuildAttributes.h projects/building-blocks/contrib/llvm/include/llvm/Support/ARMEHABI.h - copied unchanged from r276594, head/contrib/llvm/include/llvm/Support/ARMEHABI.h projects/building-blocks/contrib/llvm/include/llvm/Support/ARMWinEH.h - copied unchanged from r276594, head/contrib/llvm/include/llvm/Support/ARMWinEH.h projects/building-blocks/contrib/llvm/include/llvm/Support/EndianStream.h - copied unchanged from r276594, head/contrib/llvm/include/llvm/Support/EndianStream.h projects/building-blocks/contrib/llvm/include/llvm/Support/Errc.h - copied unchanged from r276594, head/contrib/llvm/include/llvm/Support/Errc.h projects/building-blocks/contrib/llvm/include/llvm/Support/GenericDomTree.h - copied unchanged from r276594, head/contrib/llvm/include/llvm/Support/GenericDomTree.h projects/building-blocks/contrib/llvm/include/llvm/Support/GenericDomTreeConstruction.h - copied unchanged from r276594, head/contrib/llvm/include/llvm/Support/GenericDomTreeConstruction.h projects/building-blocks/contrib/llvm/include/llvm/Support/LineIterator.h - copied unchanged from r276594, head/contrib/llvm/include/llvm/Support/LineIterator.h projects/building-blocks/contrib/llvm/include/llvm/Support/OnDiskHashTable.h - copied unchanged from r276594, head/contrib/llvm/include/llvm/Support/OnDiskHashTable.h projects/building-blocks/contrib/llvm/include/llvm/Support/RandomNumberGenerator.h - copied unchanged from r276594, head/contrib/llvm/include/llvm/Support/RandomNumberGenerator.h projects/building-blocks/contrib/llvm/include/llvm/Support/ScaledNumber.h - copied unchanged from r276594, head/contrib/llvm/include/llvm/Support/ScaledNumber.h projects/building-blocks/contrib/llvm/include/llvm/Support/SpecialCaseList.h - copied unchanged from r276594, head/contrib/llvm/include/llvm/Support/SpecialCaseList.h projects/building-blocks/contrib/llvm/include/llvm/Support/WindowsError.h - copied unchanged from r276594, head/contrib/llvm/include/llvm/Support/WindowsError.h projects/building-blocks/contrib/llvm/include/llvm/TableGen/SetTheory.h - copied unchanged from r276594, head/contrib/llvm/include/llvm/TableGen/SetTheory.h projects/building-blocks/contrib/llvm/include/llvm/Transforms/Utils/ASanStackFrameLayout.h - copied unchanged from r276594, head/contrib/llvm/include/llvm/Transforms/Utils/ASanStackFrameLayout.h projects/building-blocks/contrib/llvm/include/llvm/Transforms/Utils/CtorUtils.h - copied unchanged from r276594, head/contrib/llvm/include/llvm/Transforms/Utils/CtorUtils.h projects/building-blocks/contrib/llvm/include/llvm/Transforms/Utils/VectorUtils.h - copied unchanged from r276594, head/contrib/llvm/include/llvm/Transforms/Utils/VectorUtils.h projects/building-blocks/contrib/llvm/include/llvm/module.modulemap - copied unchanged from r276594, head/contrib/llvm/include/llvm/module.modulemap projects/building-blocks/contrib/llvm/include/llvm/module.modulemap.build - copied unchanged from r276594, head/contrib/llvm/include/llvm/module.modulemap.build projects/building-blocks/contrib/llvm/lib/Analysis/BlockFrequencyInfoImpl.cpp - copied unchanged from r276594, head/contrib/llvm/lib/Analysis/BlockFrequencyInfoImpl.cpp projects/building-blocks/contrib/llvm/lib/Analysis/CGSCCPassManager.cpp - copied unchanged from r276594, head/contrib/llvm/lib/Analysis/CGSCCPassManager.cpp projects/building-blocks/contrib/llvm/lib/Analysis/JumpInstrTableInfo.cpp - copied unchanged from r276594, head/contrib/llvm/lib/Analysis/JumpInstrTableInfo.cpp projects/building-blocks/contrib/llvm/lib/Analysis/LazyCallGraph.cpp - copied unchanged from r276594, head/contrib/llvm/lib/Analysis/LazyCallGraph.cpp projects/building-blocks/contrib/llvm/lib/AsmParser/module.modulemap - copied unchanged from r276594, head/contrib/llvm/lib/AsmParser/module.modulemap projects/building-blocks/contrib/llvm/lib/Bitcode/module.modulemap - copied unchanged from r276594, head/contrib/llvm/lib/Bitcode/module.modulemap projects/building-blocks/contrib/llvm/lib/CodeGen/AsmPrinter/AddressPool.cpp - copied unchanged from r276594, head/contrib/llvm/lib/CodeGen/AsmPrinter/AddressPool.cpp projects/building-blocks/contrib/llvm/lib/CodeGen/AsmPrinter/AddressPool.h - copied unchanged from r276594, head/contrib/llvm/lib/CodeGen/AsmPrinter/AddressPool.h projects/building-blocks/contrib/llvm/lib/CodeGen/AsmPrinter/AsmPrinterHandler.h - copied unchanged from r276594, head/contrib/llvm/lib/CodeGen/AsmPrinter/AsmPrinterHandler.h projects/building-blocks/contrib/llvm/lib/CodeGen/AsmPrinter/ByteStreamer.h - copied unchanged from r276594, head/contrib/llvm/lib/CodeGen/AsmPrinter/ByteStreamer.h projects/building-blocks/contrib/llvm/lib/CodeGen/AsmPrinter/DbgValueHistoryCalculator.cpp - copied unchanged from r276594, head/contrib/llvm/lib/CodeGen/AsmPrinter/DbgValueHistoryCalculator.cpp projects/building-blocks/contrib/llvm/lib/CodeGen/AsmPrinter/DbgValueHistoryCalculator.h - copied unchanged from r276594, head/contrib/llvm/lib/CodeGen/AsmPrinter/DbgValueHistoryCalculator.h projects/building-blocks/contrib/llvm/lib/CodeGen/AsmPrinter/DebugLocEntry.h - copied unchanged from r276594, head/contrib/llvm/lib/CodeGen/AsmPrinter/DebugLocEntry.h projects/building-blocks/contrib/llvm/lib/CodeGen/AsmPrinter/DebugLocList.h - copied unchanged from r276594, head/contrib/llvm/lib/CodeGen/AsmPrinter/DebugLocList.h projects/building-blocks/contrib/llvm/lib/CodeGen/AsmPrinter/DwarfFile.cpp - copied unchanged from r276594, head/contrib/llvm/lib/CodeGen/AsmPrinter/DwarfFile.cpp projects/building-blocks/contrib/llvm/lib/CodeGen/AsmPrinter/DwarfFile.h - copied unchanged from r276594, head/contrib/llvm/lib/CodeGen/AsmPrinter/DwarfFile.h projects/building-blocks/contrib/llvm/lib/CodeGen/AsmPrinter/DwarfStringPool.cpp - copied unchanged from r276594, head/contrib/llvm/lib/CodeGen/AsmPrinter/DwarfStringPool.cpp projects/building-blocks/contrib/llvm/lib/CodeGen/AsmPrinter/DwarfStringPool.h - copied unchanged from r276594, head/contrib/llvm/lib/CodeGen/AsmPrinter/DwarfStringPool.h projects/building-blocks/contrib/llvm/lib/CodeGen/AsmPrinter/DwarfUnit.cpp - copied unchanged from r276594, head/contrib/llvm/lib/CodeGen/AsmPrinter/DwarfUnit.cpp projects/building-blocks/contrib/llvm/lib/CodeGen/AsmPrinter/DwarfUnit.h - copied unchanged from r276594, head/contrib/llvm/lib/CodeGen/AsmPrinter/DwarfUnit.h projects/building-blocks/contrib/llvm/lib/CodeGen/AsmPrinter/EHStreamer.cpp - copied unchanged from r276594, head/contrib/llvm/lib/CodeGen/AsmPrinter/EHStreamer.cpp projects/building-blocks/contrib/llvm/lib/CodeGen/AsmPrinter/EHStreamer.h - copied unchanged from r276594, head/contrib/llvm/lib/CodeGen/AsmPrinter/EHStreamer.h projects/building-blocks/contrib/llvm/lib/CodeGen/AsmPrinter/WinCodeViewLineTables.cpp - copied unchanged from r276594, head/contrib/llvm/lib/CodeGen/AsmPrinter/WinCodeViewLineTables.cpp projects/building-blocks/contrib/llvm/lib/CodeGen/AsmPrinter/WinCodeViewLineTables.h - copied unchanged from r276594, head/contrib/llvm/lib/CodeGen/AsmPrinter/WinCodeViewLineTables.h projects/building-blocks/contrib/llvm/lib/CodeGen/AtomicExpandLoadLinkedPass.cpp - copied unchanged from r276594, head/contrib/llvm/lib/CodeGen/AtomicExpandLoadLinkedPass.cpp projects/building-blocks/contrib/llvm/lib/CodeGen/CodeGenPrepare.cpp - copied unchanged from r276594, head/contrib/llvm/lib/CodeGen/CodeGenPrepare.cpp projects/building-blocks/contrib/llvm/lib/CodeGen/GlobalMerge.cpp - copied unchanged from r276594, head/contrib/llvm/lib/CodeGen/GlobalMerge.cpp projects/building-blocks/contrib/llvm/lib/CodeGen/JumpInstrTables.cpp - copied unchanged from r276594, head/contrib/llvm/lib/CodeGen/JumpInstrTables.cpp projects/building-blocks/contrib/llvm/lib/CodeGen/LivePhysRegs.cpp - copied unchanged from r276594, head/contrib/llvm/lib/CodeGen/LivePhysRegs.cpp projects/building-blocks/contrib/llvm/lib/CodeGen/MachineDominanceFrontier.cpp - copied unchanged from r276594, head/contrib/llvm/lib/CodeGen/MachineDominanceFrontier.cpp projects/building-blocks/contrib/llvm/lib/CodeGen/MachineRegionInfo.cpp - copied unchanged from r276594, head/contrib/llvm/lib/CodeGen/MachineRegionInfo.cpp projects/building-blocks/contrib/llvm/lib/CodeGen/StackMapLivenessAnalysis.cpp - copied unchanged from r276594, head/contrib/llvm/lib/CodeGen/StackMapLivenessAnalysis.cpp projects/building-blocks/contrib/llvm/lib/CodeGen/module.modulemap - copied unchanged from r276594, head/contrib/llvm/lib/CodeGen/module.modulemap projects/building-blocks/contrib/llvm/lib/DebugInfo/module.modulemap - copied unchanged from r276594, head/contrib/llvm/lib/DebugInfo/module.modulemap projects/building-blocks/contrib/llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldChecker.cpp - copied unchanged from r276594, head/contrib/llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldChecker.cpp projects/building-blocks/contrib/llvm/lib/ExecutionEngine/RuntimeDyld/Targets/ - copied from r276594, head/contrib/llvm/lib/ExecutionEngine/RuntimeDyld/Targets/ projects/building-blocks/contrib/llvm/lib/IR/Comdat.cpp - copied unchanged from r276594, head/contrib/llvm/lib/IR/Comdat.cpp projects/building-blocks/contrib/llvm/lib/IR/ConstantRange.cpp - copied unchanged from r276594, head/contrib/llvm/lib/IR/ConstantRange.cpp projects/building-blocks/contrib/llvm/lib/IR/DiagnosticInfo.cpp - copied unchanged from r276594, head/contrib/llvm/lib/IR/DiagnosticInfo.cpp projects/building-blocks/contrib/llvm/lib/IR/DiagnosticPrinter.cpp - copied unchanged from r276594, head/contrib/llvm/lib/IR/DiagnosticPrinter.cpp projects/building-blocks/contrib/llvm/lib/IR/IRPrintingPasses.cpp - copied unchanged from r276594, head/contrib/llvm/lib/IR/IRPrintingPasses.cpp projects/building-blocks/contrib/llvm/lib/IR/MDBuilder.cpp - copied unchanged from r276594, head/contrib/llvm/lib/IR/MDBuilder.cpp projects/building-blocks/contrib/llvm/lib/IR/Mangler.cpp - copied unchanged from r276594, head/contrib/llvm/lib/IR/Mangler.cpp projects/building-blocks/contrib/llvm/lib/IR/module.modulemap - copied unchanged from r276594, head/contrib/llvm/lib/IR/module.modulemap projects/building-blocks/contrib/llvm/lib/LineEditor/ - copied from r276594, head/contrib/llvm/lib/LineEditor/ projects/building-blocks/contrib/llvm/lib/MC/ConstantPools.cpp - copied unchanged from r276594, head/contrib/llvm/lib/MC/ConstantPools.cpp projects/building-blocks/contrib/llvm/lib/MC/MCAnalysis/ - copied from r276594, head/contrib/llvm/lib/MC/MCAnalysis/ projects/building-blocks/contrib/llvm/lib/MC/MCLinkerOptimizationHint.cpp - copied unchanged from r276594, head/contrib/llvm/lib/MC/MCLinkerOptimizationHint.cpp projects/building-blocks/contrib/llvm/lib/MC/MCTargetOptions.cpp - copied unchanged from r276594, head/contrib/llvm/lib/MC/MCTargetOptions.cpp projects/building-blocks/contrib/llvm/lib/MC/StringTableBuilder.cpp - copied unchanged from r276594, head/contrib/llvm/lib/MC/StringTableBuilder.cpp projects/building-blocks/contrib/llvm/lib/MC/YAML.cpp - copied unchanged from r276594, head/contrib/llvm/lib/MC/YAML.cpp projects/building-blocks/contrib/llvm/lib/Object/IRObjectFile.cpp - copied unchanged from r276594, head/contrib/llvm/lib/Object/IRObjectFile.cpp projects/building-blocks/contrib/llvm/lib/Object/RecordStreamer.cpp - copied unchanged from r276594, head/contrib/llvm/lib/Object/RecordStreamer.cpp projects/building-blocks/contrib/llvm/lib/Object/RecordStreamer.h - copied unchanged from r276594, head/contrib/llvm/lib/Object/RecordStreamer.h projects/building-blocks/contrib/llvm/lib/Object/SymbolicFile.cpp - copied unchanged from r276594, head/contrib/llvm/lib/Object/SymbolicFile.cpp projects/building-blocks/contrib/llvm/lib/ProfileData/ - copied from r276594, head/contrib/llvm/lib/ProfileData/ projects/building-blocks/contrib/llvm/lib/Support/ARMBuildAttrs.cpp - copied unchanged from r276594, head/contrib/llvm/lib/Support/ARMBuildAttrs.cpp projects/building-blocks/contrib/llvm/lib/Support/ARMWinEH.cpp - copied unchanged from r276594, head/contrib/llvm/lib/Support/ARMWinEH.cpp projects/building-blocks/contrib/llvm/lib/Support/LEB128.cpp - copied unchanged from r276594, head/contrib/llvm/lib/Support/LEB128.cpp projects/building-blocks/contrib/llvm/lib/Support/LineIterator.cpp - copied unchanged from r276594, head/contrib/llvm/lib/Support/LineIterator.cpp projects/building-blocks/contrib/llvm/lib/Support/RandomNumberGenerator.cpp - copied unchanged from r276594, head/contrib/llvm/lib/Support/RandomNumberGenerator.cpp projects/building-blocks/contrib/llvm/lib/Support/ScaledNumber.cpp - copied unchanged from r276594, head/contrib/llvm/lib/Support/ScaledNumber.cpp projects/building-blocks/contrib/llvm/lib/Support/SpecialCaseList.cpp - copied unchanged from r276594, head/contrib/llvm/lib/Support/SpecialCaseList.cpp projects/building-blocks/contrib/llvm/lib/Support/Windows/WindowsSupport.h - copied unchanged from r276594, head/contrib/llvm/lib/Support/Windows/WindowsSupport.h projects/building-blocks/contrib/llvm/lib/TableGen/SetTheory.cpp - copied unchanged from r276594, head/contrib/llvm/lib/TableGen/SetTheory.cpp projects/building-blocks/contrib/llvm/lib/TableGen/module.modulemap - copied unchanged from r276594, head/contrib/llvm/lib/TableGen/module.modulemap projects/building-blocks/contrib/llvm/lib/Target/AArch64/AArch64AddressTypePromotion.cpp - copied unchanged from r276594, head/contrib/llvm/lib/Target/AArch64/AArch64AddressTypePromotion.cpp projects/building-blocks/contrib/llvm/lib/Target/AArch64/AArch64AdvSIMDScalarPass.cpp - copied unchanged from r276594, head/contrib/llvm/lib/Target/AArch64/AArch64AdvSIMDScalarPass.cpp projects/building-blocks/contrib/llvm/lib/Target/AArch64/AArch64BranchRelaxation.cpp - copied unchanged from r276594, head/contrib/llvm/lib/Target/AArch64/AArch64BranchRelaxation.cpp projects/building-blocks/contrib/llvm/lib/Target/AArch64/AArch64CallingConvention.td - copied unchanged from r276594, head/contrib/llvm/lib/Target/AArch64/AArch64CallingConvention.td projects/building-blocks/contrib/llvm/lib/Target/AArch64/AArch64CleanupLocalDynamicTLSPass.cpp - copied unchanged from r276594, head/contrib/llvm/lib/Target/AArch64/AArch64CleanupLocalDynamicTLSPass.cpp projects/building-blocks/contrib/llvm/lib/Target/AArch64/AArch64CollectLOH.cpp - copied unchanged from r276594, head/contrib/llvm/lib/Target/AArch64/AArch64CollectLOH.cpp projects/building-blocks/contrib/llvm/lib/Target/AArch64/AArch64ConditionalCompares.cpp - copied unchanged from r276594, head/contrib/llvm/lib/Target/AArch64/AArch64ConditionalCompares.cpp projects/building-blocks/contrib/llvm/lib/Target/AArch64/AArch64DeadRegisterDefinitionsPass.cpp - copied unchanged from r276594, head/contrib/llvm/lib/Target/AArch64/AArch64DeadRegisterDefinitionsPass.cpp projects/building-blocks/contrib/llvm/lib/Target/AArch64/AArch64ExpandPseudoInsts.cpp - copied unchanged from r276594, head/contrib/llvm/lib/Target/AArch64/AArch64ExpandPseudoInsts.cpp projects/building-blocks/contrib/llvm/lib/Target/AArch64/AArch64FastISel.cpp - copied unchanged from r276594, head/contrib/llvm/lib/Target/AArch64/AArch64FastISel.cpp projects/building-blocks/contrib/llvm/lib/Target/AArch64/AArch64InstrAtomics.td - copied unchanged from r276594, head/contrib/llvm/lib/Target/AArch64/AArch64InstrAtomics.td projects/building-blocks/contrib/llvm/lib/Target/AArch64/AArch64LoadStoreOptimizer.cpp - copied unchanged from r276594, head/contrib/llvm/lib/Target/AArch64/AArch64LoadStoreOptimizer.cpp projects/building-blocks/contrib/llvm/lib/Target/AArch64/AArch64MCInstLower.h - copied unchanged from r276594, head/contrib/llvm/lib/Target/AArch64/AArch64MCInstLower.h projects/building-blocks/contrib/llvm/lib/Target/AArch64/AArch64PerfectShuffle.h - copied unchanged from r276594, head/contrib/llvm/lib/Target/AArch64/AArch64PerfectShuffle.h projects/building-blocks/contrib/llvm/lib/Target/AArch64/AArch64PromoteConstant.cpp - copied unchanged from r276594, head/contrib/llvm/lib/Target/AArch64/AArch64PromoteConstant.cpp projects/building-blocks/contrib/llvm/lib/Target/AArch64/AArch64SchedA53.td - copied unchanged from r276594, head/contrib/llvm/lib/Target/AArch64/AArch64SchedA53.td projects/building-blocks/contrib/llvm/lib/Target/AArch64/AArch64SchedA57.td - copied unchanged from r276594, head/contrib/llvm/lib/Target/AArch64/AArch64SchedA57.td projects/building-blocks/contrib/llvm/lib/Target/AArch64/AArch64SchedA57WriteRes.td - copied unchanged from r276594, head/contrib/llvm/lib/Target/AArch64/AArch64SchedA57WriteRes.td projects/building-blocks/contrib/llvm/lib/Target/AArch64/AArch64SchedCyclone.td - copied unchanged from r276594, head/contrib/llvm/lib/Target/AArch64/AArch64SchedCyclone.td projects/building-blocks/contrib/llvm/lib/Target/AArch64/AArch64StorePairSuppress.cpp - copied unchanged from r276594, head/contrib/llvm/lib/Target/AArch64/AArch64StorePairSuppress.cpp projects/building-blocks/contrib/llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp - copied unchanged from r276594, head/contrib/llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp projects/building-blocks/contrib/llvm/lib/Target/AArch64/Disassembler/AArch64Disassembler.h - copied unchanged from r276594, head/contrib/llvm/lib/Target/AArch64/Disassembler/AArch64Disassembler.h projects/building-blocks/contrib/llvm/lib/Target/AArch64/Disassembler/AArch64ExternalSymbolizer.cpp - copied unchanged from r276594, head/contrib/llvm/lib/Target/AArch64/Disassembler/AArch64ExternalSymbolizer.cpp projects/building-blocks/contrib/llvm/lib/Target/AArch64/Disassembler/AArch64ExternalSymbolizer.h - copied unchanged from r276594, head/contrib/llvm/lib/Target/AArch64/Disassembler/AArch64ExternalSymbolizer.h projects/building-blocks/contrib/llvm/lib/Target/AArch64/MCTargetDesc/AArch64AddressingModes.h - copied unchanged from r276594, head/contrib/llvm/lib/Target/AArch64/MCTargetDesc/AArch64AddressingModes.h projects/building-blocks/contrib/llvm/lib/Target/AArch64/MCTargetDesc/AArch64MachObjectWriter.cpp - copied unchanged from r276594, head/contrib/llvm/lib/Target/AArch64/MCTargetDesc/AArch64MachObjectWriter.cpp projects/building-blocks/contrib/llvm/lib/Target/AArch64/MCTargetDesc/AArch64TargetStreamer.cpp - copied unchanged from r276594, head/contrib/llvm/lib/Target/AArch64/MCTargetDesc/AArch64TargetStreamer.cpp projects/building-blocks/contrib/llvm/lib/Target/ARM/ARMOptimizeBarriersPass.cpp - copied unchanged from r276594, head/contrib/llvm/lib/Target/ARM/ARMOptimizeBarriersPass.cpp projects/building-blocks/contrib/llvm/lib/Target/ARM/MCTargetDesc/ARMArchName.def - copied unchanged from r276594, head/contrib/llvm/lib/Target/ARM/MCTargetDesc/ARMArchName.def projects/building-blocks/contrib/llvm/lib/Target/ARM/MCTargetDesc/ARMArchName.h - copied unchanged from r276594, head/contrib/llvm/lib/Target/ARM/MCTargetDesc/ARMArchName.h projects/building-blocks/contrib/llvm/lib/Target/ARM/MCTargetDesc/ARMTargetStreamer.cpp - copied unchanged from r276594, head/contrib/llvm/lib/Target/ARM/MCTargetDesc/ARMTargetStreamer.cpp projects/building-blocks/contrib/llvm/lib/Target/ARM/MCTargetDesc/ARMWinCOFFObjectWriter.cpp - copied unchanged from r276594, head/contrib/llvm/lib/Target/ARM/MCTargetDesc/ARMWinCOFFObjectWriter.cpp projects/building-blocks/contrib/llvm/lib/Target/ARM/MCTargetDesc/ARMWinCOFFStreamer.cpp - copied unchanged from r276594, head/contrib/llvm/lib/Target/ARM/MCTargetDesc/ARMWinCOFFStreamer.cpp projects/building-blocks/contrib/llvm/lib/Target/Mips/MCTargetDesc/MipsABIFlagsSection.cpp - copied unchanged from r276594, head/contrib/llvm/lib/Target/Mips/MCTargetDesc/MipsABIFlagsSection.cpp projects/building-blocks/contrib/llvm/lib/Target/Mips/MCTargetDesc/MipsABIFlagsSection.h - copied unchanged from r276594, head/contrib/llvm/lib/Target/Mips/MCTargetDesc/MipsABIFlagsSection.h projects/building-blocks/contrib/llvm/lib/Target/Mips/MCTargetDesc/MipsAsmBackend.h - copied unchanged from r276594, head/contrib/llvm/lib/Target/Mips/MCTargetDesc/MipsAsmBackend.h projects/building-blocks/contrib/llvm/lib/Target/Mips/MCTargetDesc/MipsELFStreamer.cpp - copied unchanged from r276594, head/contrib/llvm/lib/Target/Mips/MCTargetDesc/MipsELFStreamer.cpp projects/building-blocks/contrib/llvm/lib/Target/Mips/MCTargetDesc/MipsELFStreamer.h - copied unchanged from r276594, head/contrib/llvm/lib/Target/Mips/MCTargetDesc/MipsELFStreamer.h projects/building-blocks/contrib/llvm/lib/Target/Mips/MCTargetDesc/MipsMCCodeEmitter.h - copied unchanged from r276594, head/contrib/llvm/lib/Target/Mips/MCTargetDesc/MipsMCCodeEmitter.h projects/building-blocks/contrib/llvm/lib/Target/Mips/MCTargetDesc/MipsMCExpr.cpp - copied unchanged from r276594, head/contrib/llvm/lib/Target/Mips/MCTargetDesc/MipsMCExpr.cpp projects/building-blocks/contrib/llvm/lib/Target/Mips/MCTargetDesc/MipsMCExpr.h - copied unchanged from r276594, head/contrib/llvm/lib/Target/Mips/MCTargetDesc/MipsMCExpr.h projects/building-blocks/contrib/llvm/lib/Target/Mips/MCTargetDesc/MipsMCNaCl.h - copied unchanged from r276594, head/contrib/llvm/lib/Target/Mips/MCTargetDesc/MipsMCNaCl.h projects/building-blocks/contrib/llvm/lib/Target/Mips/MCTargetDesc/MipsNaClELFStreamer.cpp - copied unchanged from r276594, head/contrib/llvm/lib/Target/Mips/MCTargetDesc/MipsNaClELFStreamer.cpp projects/building-blocks/contrib/llvm/lib/Target/Mips/MCTargetDesc/MipsOptionRecord.cpp - copied unchanged from r276594, head/contrib/llvm/lib/Target/Mips/MCTargetDesc/MipsOptionRecord.cpp projects/building-blocks/contrib/llvm/lib/Target/Mips/MicroMipsInstrFPU.td - copied unchanged from r276594, head/contrib/llvm/lib/Target/Mips/MicroMipsInstrFPU.td projects/building-blocks/contrib/llvm/lib/Target/Mips/Mips16HardFloatInfo.cpp - copied unchanged from r276594, head/contrib/llvm/lib/Target/Mips/Mips16HardFloatInfo.cpp projects/building-blocks/contrib/llvm/lib/Target/Mips/Mips16HardFloatInfo.h - copied unchanged from r276594, head/contrib/llvm/lib/Target/Mips/Mips16HardFloatInfo.h projects/building-blocks/contrib/llvm/lib/Target/Mips/Mips32r6InstrFormats.td - copied unchanged from r276594, head/contrib/llvm/lib/Target/Mips/Mips32r6InstrFormats.td projects/building-blocks/contrib/llvm/lib/Target/Mips/Mips32r6InstrInfo.td - copied unchanged from r276594, head/contrib/llvm/lib/Target/Mips/Mips32r6InstrInfo.td projects/building-blocks/contrib/llvm/lib/Target/Mips/Mips64r6InstrInfo.td - copied unchanged from r276594, head/contrib/llvm/lib/Target/Mips/Mips64r6InstrInfo.td projects/building-blocks/contrib/llvm/lib/Target/Mips/MipsFastISel.cpp - copied unchanged from r276594, head/contrib/llvm/lib/Target/Mips/MipsFastISel.cpp projects/building-blocks/contrib/llvm/lib/Target/Mips/MipsOptimizePICCall.cpp - copied unchanged from r276594, head/contrib/llvm/lib/Target/Mips/MipsOptimizePICCall.cpp projects/building-blocks/contrib/llvm/lib/Target/Mips/MipsOptionRecord.h - copied unchanged from r276594, head/contrib/llvm/lib/Target/Mips/MipsOptionRecord.h projects/building-blocks/contrib/llvm/lib/Target/NVPTX/NVPTXAssignValidGlobalNames.cpp - copied unchanged from r276594, head/contrib/llvm/lib/Target/NVPTX/NVPTXAssignValidGlobalNames.cpp projects/building-blocks/contrib/llvm/lib/Target/NVPTX/NVPTXFavorNonGenericAddrSpaces.cpp - copied unchanged from r276594, head/contrib/llvm/lib/Target/NVPTX/NVPTXFavorNonGenericAddrSpaces.cpp projects/building-blocks/contrib/llvm/lib/Target/NVPTX/NVPTXImageOptimizer.cpp - copied unchanged from r276594, head/contrib/llvm/lib/Target/NVPTX/NVPTXImageOptimizer.cpp projects/building-blocks/contrib/llvm/lib/Target/NVPTX/NVPTXMachineFunctionInfo.h - copied unchanged from r276594, head/contrib/llvm/lib/Target/NVPTX/NVPTXMachineFunctionInfo.h projects/building-blocks/contrib/llvm/lib/Target/NVPTX/NVPTXReplaceImageHandles.cpp - copied unchanged from r276594, head/contrib/llvm/lib/Target/NVPTX/NVPTXReplaceImageHandles.cpp projects/building-blocks/contrib/llvm/lib/Target/PowerPC/Disassembler/ - copied from r276594, head/contrib/llvm/lib/Target/PowerPC/Disassembler/ projects/building-blocks/contrib/llvm/lib/Target/PowerPC/PPCInstrVSX.td - copied unchanged from r276594, head/contrib/llvm/lib/Target/PowerPC/PPCInstrVSX.td projects/building-blocks/contrib/llvm/lib/Target/PowerPC/PPCScheduleP7.td - copied unchanged from r276594, head/contrib/llvm/lib/Target/PowerPC/PPCScheduleP7.td projects/building-blocks/contrib/llvm/lib/Target/R600/AMDGPUIntrinsicInfo.cpp - copied unchanged from r276594, head/contrib/llvm/lib/Target/R600/AMDGPUIntrinsicInfo.cpp projects/building-blocks/contrib/llvm/lib/Target/R600/AMDGPUIntrinsicInfo.h - copied unchanged from r276594, head/contrib/llvm/lib/Target/R600/AMDGPUIntrinsicInfo.h projects/building-blocks/contrib/llvm/lib/Target/R600/AMDGPUPromoteAlloca.cpp - copied unchanged from r276594, head/contrib/llvm/lib/Target/R600/AMDGPUPromoteAlloca.cpp projects/building-blocks/contrib/llvm/lib/Target/R600/CaymanInstructions.td - copied unchanged from r276594, head/contrib/llvm/lib/Target/R600/CaymanInstructions.td projects/building-blocks/contrib/llvm/lib/Target/R600/EvergreenInstructions.td - copied unchanged from r276594, head/contrib/llvm/lib/Target/R600/EvergreenInstructions.td projects/building-blocks/contrib/llvm/lib/Target/R600/MCTargetDesc/AMDGPUFixupKinds.h - copied unchanged from r276594, head/contrib/llvm/lib/Target/R600/MCTargetDesc/AMDGPUFixupKinds.h projects/building-blocks/contrib/llvm/lib/Target/R600/R700Instructions.td - copied unchanged from r276594, head/contrib/llvm/lib/Target/R600/R700Instructions.td projects/building-blocks/contrib/llvm/lib/Target/R600/SIFixSGPRLiveRanges.cpp - copied unchanged from r276594, head/contrib/llvm/lib/Target/R600/SIFixSGPRLiveRanges.cpp projects/building-blocks/contrib/llvm/lib/Target/R600/SILowerI1Copies.cpp - copied unchanged from r276594, head/contrib/llvm/lib/Target/R600/SILowerI1Copies.cpp projects/building-blocks/contrib/llvm/lib/Target/R600/SIShrinkInstructions.cpp - copied unchanged from r276594, head/contrib/llvm/lib/Target/R600/SIShrinkInstructions.cpp projects/building-blocks/contrib/llvm/lib/Target/Sparc/SparcInstrVIS.td - copied unchanged from r276594, head/contrib/llvm/lib/Target/Sparc/SparcInstrVIS.td projects/building-blocks/contrib/llvm/lib/Target/X86/AsmParser/X86AsmInstrumentation.cpp - copied unchanged from r276594, head/contrib/llvm/lib/Target/X86/AsmParser/X86AsmInstrumentation.cpp projects/building-blocks/contrib/llvm/lib/Target/X86/AsmParser/X86AsmInstrumentation.h - copied unchanged from r276594, head/contrib/llvm/lib/Target/X86/AsmParser/X86AsmInstrumentation.h projects/building-blocks/contrib/llvm/lib/Target/X86/AsmParser/X86AsmParserCommon.h - copied unchanged from r276594, head/contrib/llvm/lib/Target/X86/AsmParser/X86AsmParserCommon.h projects/building-blocks/contrib/llvm/lib/Target/X86/AsmParser/X86Operand.h - copied unchanged from r276594, head/contrib/llvm/lib/Target/X86/AsmParser/X86Operand.h projects/building-blocks/contrib/llvm/lib/Target/X86/Disassembler/X86DisassemblerDecoder.cpp - copied unchanged from r276594, head/contrib/llvm/lib/Target/X86/Disassembler/X86DisassemblerDecoder.cpp projects/building-blocks/contrib/llvm/lib/Target/X86/MCTargetDesc/X86WinCOFFStreamer.cpp - copied unchanged from r276594, head/contrib/llvm/lib/Target/X86/MCTargetDesc/X86WinCOFFStreamer.cpp projects/building-blocks/contrib/llvm/lib/Target/X86/X86AtomicExpandPass.cpp - copied unchanged from r276594, head/contrib/llvm/lib/Target/X86/X86AtomicExpandPass.cpp projects/building-blocks/contrib/llvm/lib/Target/XCore/XCoreFrameToArgsOffsetElim.cpp - copied unchanged from r276594, head/contrib/llvm/lib/Target/XCore/XCoreFrameToArgsOffsetElim.cpp projects/building-blocks/contrib/llvm/lib/Target/XCore/XCoreTargetStreamer.h - copied unchanged from r276594, head/contrib/llvm/lib/Target/XCore/XCoreTargetStreamer.h projects/building-blocks/contrib/llvm/lib/Transforms/Scalar/ConstantHoisting.cpp - copied unchanged from r276594, head/contrib/llvm/lib/Transforms/Scalar/ConstantHoisting.cpp projects/building-blocks/contrib/llvm/lib/Transforms/Scalar/LoadCombine.cpp - copied unchanged from r276594, head/contrib/llvm/lib/Transforms/Scalar/LoadCombine.cpp projects/building-blocks/contrib/llvm/lib/Transforms/Scalar/MergedLoadStoreMotion.cpp - copied unchanged from r276594, head/contrib/llvm/lib/Transforms/Scalar/MergedLoadStoreMotion.cpp projects/building-blocks/contrib/llvm/lib/Transforms/Scalar/Scalarizer.cpp - copied unchanged from r276594, head/contrib/llvm/lib/Transforms/Scalar/Scalarizer.cpp projects/building-blocks/contrib/llvm/lib/Transforms/Scalar/SeparateConstOffsetFromGEP.cpp - copied unchanged from r276594, head/contrib/llvm/lib/Transforms/Scalar/SeparateConstOffsetFromGEP.cpp projects/building-blocks/contrib/llvm/lib/Transforms/Utils/ASanStackFrameLayout.cpp - copied unchanged from r276594, head/contrib/llvm/lib/Transforms/Utils/ASanStackFrameLayout.cpp projects/building-blocks/contrib/llvm/lib/Transforms/Utils/AddDiscriminators.cpp - copied unchanged from r276594, head/contrib/llvm/lib/Transforms/Utils/AddDiscriminators.cpp projects/building-blocks/contrib/llvm/lib/Transforms/Utils/CtorUtils.cpp - copied unchanged from r276594, head/contrib/llvm/lib/Transforms/Utils/CtorUtils.cpp projects/building-blocks/contrib/llvm/patches/patch-01-clang-version-include.diff - copied unchanged from r276594, head/contrib/llvm/patches/patch-01-clang-version-include.diff projects/building-blocks/contrib/llvm/patches/patch-02-format-extensions.diff - copied unchanged from r276594, head/contrib/llvm/patches/patch-02-format-extensions.diff projects/building-blocks/contrib/llvm/patches/patch-03-clang-vendor-suffix.diff - copied unchanged from r276594, head/contrib/llvm/patches/patch-03-clang-vendor-suffix.diff projects/building-blocks/contrib/llvm/patches/patch-04-default-target-triple.diff - copied unchanged from r276594, head/contrib/llvm/patches/patch-04-default-target-triple.diff projects/building-blocks/contrib/llvm/patches/patch-05-add-CC-aliases.diff - copied unchanged from r276594, head/contrib/llvm/patches/patch-05-add-CC-aliases.diff projects/building-blocks/contrib/llvm/patches/patch-06-clang-arm-target-cpu.diff - copied unchanged from r276594, head/contrib/llvm/patches/patch-06-clang-arm-target-cpu.diff projects/building-blocks/contrib/llvm/patches/patch-07-llvm-r213960-ppc32-tls.diff - copied unchanged from r276594, head/contrib/llvm/patches/patch-07-llvm-r213960-ppc32-tls.diff projects/building-blocks/contrib/llvm/patches/patch-08-llvm-r216989-r216990-fix-movw-armv6.diff - copied unchanged from r276594, head/contrib/llvm/patches/patch-08-llvm-r216989-r216990-fix-movw-armv6.diff projects/building-blocks/contrib/llvm/patches/patch-09-clang-r217410-i386-garbage-float.diff - copied unchanged from r276594, head/contrib/llvm/patches/patch-09-clang-r217410-i386-garbage-float.diff projects/building-blocks/contrib/llvm/patches/patch-10-llvm-r221709-debug-oom.diff - copied unchanged from r276594, head/contrib/llvm/patches/patch-10-llvm-r221709-debug-oom.diff projects/building-blocks/contrib/llvm/patches/patch-11-llvm-r222562-loop-rotate.diff - copied unchanged from r276594, head/contrib/llvm/patches/patch-11-llvm-r222562-loop-rotate.diff projects/building-blocks/contrib/llvm/patches/patch-12-add-llvm-gvn-option.diff - copied unchanged from r276594, head/contrib/llvm/patches/patch-12-add-llvm-gvn-option.diff projects/building-blocks/contrib/llvm/patches/patch-13-llvm-r218241-dwarf2-warning.diff - copied unchanged from r276594, head/contrib/llvm/patches/patch-13-llvm-r218241-dwarf2-warning.diff projects/building-blocks/contrib/llvm/patches/patch-14-llvm-r215352-aarch64-dyn-loader.diff - copied unchanged from r276594, head/contrib/llvm/patches/patch-14-llvm-r215352-aarch64-dyn-loader.diff projects/building-blocks/contrib/llvm/patches/patch-15-llvm-r216571-dynamiclib-usability.diff - copied unchanged from r276594, head/contrib/llvm/patches/patch-15-llvm-r216571-dynamiclib-usability.diff projects/building-blocks/contrib/llvm/patches/patch-16-clang-r221900-freebsd-aarch64.diff - copied unchanged from r276594, head/contrib/llvm/patches/patch-16-clang-r221900-freebsd-aarch64.diff projects/building-blocks/contrib/llvm/patches/patch-17-llvm-r222856-libapr-miscompile.diff - copied unchanged from r276594, head/contrib/llvm/patches/patch-17-llvm-r222856-libapr-miscompile.diff projects/building-blocks/contrib/llvm/patches/patch-18-llvm-r214802-armv6-cp10-cp11.diff - copied unchanged from r276594, head/contrib/llvm/patches/patch-18-llvm-r214802-armv6-cp10-cp11.diff projects/building-blocks/contrib/llvm/patches/patch-19-llvm-r215811-arm-fpu-directive.diff - copied unchanged from r276594, head/contrib/llvm/patches/patch-19-llvm-r215811-arm-fpu-directive.diff projects/building-blocks/contrib/llvm/patches/patch-20-enable-armv6-clrex.diff - copied unchanged from r276594, head/contrib/llvm/patches/patch-20-enable-armv6-clrex.diff projects/building-blocks/contrib/llvm/patches/patch-21-llvm-r223171-fix-vectorizer.diff - copied unchanged from r276594, head/contrib/llvm/patches/patch-21-llvm-r223171-fix-vectorizer.diff projects/building-blocks/contrib/llvm/patches/patch-22-llvm-r223147-arm-cpu-directive.diff - copied unchanged from r276594, head/contrib/llvm/patches/patch-22-llvm-r223147-arm-cpu-directive.diff projects/building-blocks/contrib/llvm/patches/patch-23-llvm-r221170-ppc-vaarg.diff - copied unchanged from r276594, head/contrib/llvm/patches/patch-23-llvm-r221170-ppc-vaarg.diff projects/building-blocks/contrib/llvm/patches/patch-24-llvm-r221791-ppc-small-pic.diff - copied unchanged from r276594, head/contrib/llvm/patches/patch-24-llvm-r221791-ppc-small-pic.diff projects/building-blocks/contrib/llvm/patches/patch-25-llvm-r224415-ppc-local.diff - copied unchanged from r276594, head/contrib/llvm/patches/patch-25-llvm-r224415-ppc-local.diff projects/building-blocks/contrib/llvm/patches/patch-26-llvm-r213890-ppc-eh_frame.diff - copied unchanged from r276594, head/contrib/llvm/patches/patch-26-llvm-r213890-ppc-eh_frame.diff projects/building-blocks/contrib/llvm/patches/patch-27-llvm-r221703-ppc-tls_get_addr.diff - copied unchanged from r276594, head/contrib/llvm/patches/patch-27-llvm-r221703-ppc-tls_get_addr.diff projects/building-blocks/contrib/llvm/patches/patch-28-llvm-r224890-ppc-ctr-tls-loop.diff - copied unchanged from r276594, head/contrib/llvm/patches/patch-28-llvm-r224890-ppc-ctr-tls-loop.diff projects/building-blocks/contrib/llvm/patches/patch-29-clang-r213790-type_traits-crash.diff - copied unchanged from r276594, head/contrib/llvm/patches/patch-29-clang-r213790-type_traits-crash.diff projects/building-blocks/contrib/llvm/patches/patch-30-llvm-r222587-arm-add-pc.diff - copied unchanged from r276594, head/contrib/llvm/patches/patch-30-llvm-r222587-arm-add-pc.diff projects/building-blocks/contrib/llvm/tools/clang/include/clang-c/BuildSystem.h - copied unchanged from r276594, head/contrib/llvm/tools/clang/include/clang-c/BuildSystem.h projects/building-blocks/contrib/llvm/tools/clang/include/clang-c/CXErrorCode.h - copied unchanged from r276594, head/contrib/llvm/tools/clang/include/clang-c/CXErrorCode.h projects/building-blocks/contrib/llvm/tools/clang/include/clang-c/Documentation.h - copied unchanged from r276594, head/contrib/llvm/tools/clang/include/clang-c/Documentation.h projects/building-blocks/contrib/llvm/tools/clang/include/clang-c/module.modulemap - copied unchanged from r276594, head/contrib/llvm/tools/clang/include/clang-c/module.modulemap projects/building-blocks/contrib/llvm/tools/clang/include/clang/AST/DataRecursiveASTVisitor.h - copied unchanged from r276594, head/contrib/llvm/tools/clang/include/clang/AST/DataRecursiveASTVisitor.h projects/building-blocks/contrib/llvm/tools/clang/include/clang/AST/LambdaCapture.h - copied unchanged from r276594, head/contrib/llvm/tools/clang/include/clang/AST/LambdaCapture.h projects/building-blocks/contrib/llvm/tools/clang/include/clang/AST/OpenMPClause.h - copied unchanged from r276594, head/contrib/llvm/tools/clang/include/clang/AST/OpenMPClause.h projects/building-blocks/contrib/llvm/tools/clang/include/clang/Analysis/Analyses/ThreadSafetyCommon.h - copied unchanged from r276594, head/contrib/llvm/tools/clang/include/clang/Analysis/Analyses/ThreadSafetyCommon.h projects/building-blocks/contrib/llvm/tools/clang/include/clang/Analysis/Analyses/ThreadSafetyLogical.h - copied unchanged from r276594, head/contrib/llvm/tools/clang/include/clang/Analysis/Analyses/ThreadSafetyLogical.h projects/building-blocks/contrib/llvm/tools/clang/include/clang/Analysis/Analyses/ThreadSafetyOps.def - copied unchanged from r276594, head/contrib/llvm/tools/clang/include/clang/Analysis/Analyses/ThreadSafetyOps.def projects/building-blocks/contrib/llvm/tools/clang/include/clang/Analysis/Analyses/ThreadSafetyTIL.h - copied unchanged from r276594, head/contrib/llvm/tools/clang/include/clang/Analysis/Analyses/ThreadSafetyTIL.h projects/building-blocks/contrib/llvm/tools/clang/include/clang/Analysis/Analyses/ThreadSafetyTraverse.h - copied unchanged from r276594, head/contrib/llvm/tools/clang/include/clang/Analysis/Analyses/ThreadSafetyTraverse.h projects/building-blocks/contrib/llvm/tools/clang/include/clang/Analysis/Analyses/ThreadSafetyUtil.h - copied unchanged from r276594, head/contrib/llvm/tools/clang/include/clang/Analysis/Analyses/ThreadSafetyUtil.h projects/building-blocks/contrib/llvm/tools/clang/include/clang/Basic/AttrDocs.td - copied unchanged from r276594, head/contrib/llvm/tools/clang/include/clang/Basic/AttrDocs.td projects/building-blocks/contrib/llvm/tools/clang/include/clang/Basic/Attributes.h - copied unchanged from r276594, head/contrib/llvm/tools/clang/include/clang/Basic/Attributes.h projects/building-blocks/contrib/llvm/tools/clang/include/clang/Basic/BuiltinsNEON.def - copied unchanged from r276594, head/contrib/llvm/tools/clang/include/clang/Basic/BuiltinsNEON.def projects/building-blocks/contrib/llvm/tools/clang/include/clang/Basic/BuiltinsR600.def - copied unchanged from r276594, head/contrib/llvm/tools/clang/include/clang/Basic/BuiltinsR600.def projects/building-blocks/contrib/llvm/tools/clang/include/clang/Basic/PlistSupport.h - copied unchanged from r276594, head/contrib/llvm/tools/clang/include/clang/Basic/PlistSupport.h projects/building-blocks/contrib/llvm/tools/clang/include/clang/Basic/VirtualFileSystem.h - copied unchanged from r276594, head/contrib/llvm/tools/clang/include/clang/Basic/VirtualFileSystem.h projects/building-blocks/contrib/llvm/tools/clang/include/clang/Driver/Multilib.h - copied unchanged from r276594, head/contrib/llvm/tools/clang/include/clang/Driver/Multilib.h projects/building-blocks/contrib/llvm/tools/clang/include/clang/Sema/LoopHint.h - copied unchanged from r276594, head/contrib/llvm/tools/clang/include/clang/Sema/LoopHint.h projects/building-blocks/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Frontend/AnalysisConsumer.h - copied unchanged from r276594, head/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Frontend/AnalysisConsumer.h projects/building-blocks/contrib/llvm/tools/clang/include/clang/module.modulemap - copied unchanged from r276594, head/contrib/llvm/tools/clang/include/clang/module.modulemap projects/building-blocks/contrib/llvm/tools/clang/lib/Analysis/ThreadSafetyCommon.cpp - copied unchanged from r276594, head/contrib/llvm/tools/clang/lib/Analysis/ThreadSafetyCommon.cpp projects/building-blocks/contrib/llvm/tools/clang/lib/Analysis/ThreadSafetyLogical.cpp - copied unchanged from r276594, head/contrib/llvm/tools/clang/lib/Analysis/ThreadSafetyLogical.cpp projects/building-blocks/contrib/llvm/tools/clang/lib/Analysis/ThreadSafetyTIL.cpp - copied unchanged from r276594, head/contrib/llvm/tools/clang/lib/Analysis/ThreadSafetyTIL.cpp projects/building-blocks/contrib/llvm/tools/clang/lib/Basic/Attributes.cpp - copied unchanged from r276594, head/contrib/llvm/tools/clang/lib/Basic/Attributes.cpp projects/building-blocks/contrib/llvm/tools/clang/lib/Basic/VirtualFileSystem.cpp - copied unchanged from r276594, head/contrib/llvm/tools/clang/lib/Basic/VirtualFileSystem.cpp projects/building-blocks/contrib/llvm/tools/clang/lib/Basic/Warnings.cpp - copied unchanged from r276594, head/contrib/llvm/tools/clang/lib/Basic/Warnings.cpp projects/building-blocks/contrib/llvm/tools/clang/lib/CodeGen/CGLoopInfo.cpp - copied unchanged from r276594, head/contrib/llvm/tools/clang/lib/CodeGen/CGLoopInfo.cpp projects/building-blocks/contrib/llvm/tools/clang/lib/CodeGen/CGLoopInfo.h - copied unchanged from r276594, head/contrib/llvm/tools/clang/lib/CodeGen/CGLoopInfo.h projects/building-blocks/contrib/llvm/tools/clang/lib/CodeGen/CGOpenMPRuntime.cpp - copied unchanged from r276594, head/contrib/llvm/tools/clang/lib/CodeGen/CGOpenMPRuntime.cpp projects/building-blocks/contrib/llvm/tools/clang/lib/CodeGen/CGOpenMPRuntime.h - copied unchanged from r276594, head/contrib/llvm/tools/clang/lib/CodeGen/CGOpenMPRuntime.h projects/building-blocks/contrib/llvm/tools/clang/lib/CodeGen/CGStmtOpenMP.cpp - copied unchanged from r276594, head/contrib/llvm/tools/clang/lib/CodeGen/CGStmtOpenMP.cpp projects/building-blocks/contrib/llvm/tools/clang/lib/CodeGen/CodeGenPGO.cpp - copied unchanged from r276594, head/contrib/llvm/tools/clang/lib/CodeGen/CodeGenPGO.cpp projects/building-blocks/contrib/llvm/tools/clang/lib/CodeGen/CodeGenPGO.h - copied unchanged from r276594, head/contrib/llvm/tools/clang/lib/CodeGen/CodeGenPGO.h projects/building-blocks/contrib/llvm/tools/clang/lib/CodeGen/SanitizerBlacklist.cpp - copied unchanged from r276594, head/contrib/llvm/tools/clang/lib/CodeGen/SanitizerBlacklist.cpp projects/building-blocks/contrib/llvm/tools/clang/lib/CodeGen/SanitizerBlacklist.h - copied unchanged from r276594, head/contrib/llvm/tools/clang/lib/CodeGen/SanitizerBlacklist.h projects/building-blocks/contrib/llvm/tools/clang/lib/Driver/Multilib.cpp - copied unchanged from r276594, head/contrib/llvm/tools/clang/lib/Driver/Multilib.cpp projects/building-blocks/contrib/llvm/tools/clang/lib/Frontend/ModuleDependencyCollector.cpp - copied unchanged from r276594, head/contrib/llvm/tools/clang/lib/Frontend/ModuleDependencyCollector.cpp projects/building-blocks/contrib/llvm/tools/clang/lib/Frontend/Rewrite/ - copied from r276594, head/contrib/llvm/tools/clang/lib/Frontend/Rewrite/ projects/building-blocks/contrib/llvm/tools/clang/lib/Headers/arm_acle.h - copied unchanged from r276594, head/contrib/llvm/tools/clang/lib/Headers/arm_acle.h projects/building-blocks/contrib/llvm/tools/clang/lib/Headers/ia32intrin.h - copied unchanged from r276594, head/contrib/llvm/tools/clang/lib/Headers/ia32intrin.h projects/building-blocks/contrib/llvm/tools/clang/lib/Headers/module.modulemap - copied unchanged from r276594, head/contrib/llvm/tools/clang/lib/Headers/module.modulemap projects/building-blocks/contrib/llvm/tools/clang/lib/Parse/ParseStmtAsm.cpp - copied unchanged from r276594, head/contrib/llvm/tools/clang/lib/Parse/ParseStmtAsm.cpp projects/building-blocks/contrib/llvm/tools/clang/lib/Rewrite/DeltaTree.cpp - copied unchanged from r276594, head/contrib/llvm/tools/clang/lib/Rewrite/DeltaTree.cpp projects/building-blocks/contrib/llvm/tools/clang/lib/Rewrite/HTMLRewrite.cpp - copied unchanged from r276594, head/contrib/llvm/tools/clang/lib/Rewrite/HTMLRewrite.cpp projects/building-blocks/contrib/llvm/tools/clang/lib/Rewrite/RewriteRope.cpp - copied unchanged from r276594, head/contrib/llvm/tools/clang/lib/Rewrite/RewriteRope.cpp projects/building-blocks/contrib/llvm/tools/clang/lib/Rewrite/Rewriter.cpp - copied unchanged from r276594, head/contrib/llvm/tools/clang/lib/Rewrite/Rewriter.cpp projects/building-blocks/contrib/llvm/tools/clang/lib/Rewrite/TokenRewriter.cpp - copied unchanged from r276594, head/contrib/llvm/tools/clang/lib/Rewrite/TokenRewriter.cpp projects/building-blocks/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/SelectorExtras.h - copied unchanged from r276594, head/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/SelectorExtras.h projects/building-blocks/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/TestAfterDivZeroChecker.cpp - copied unchanged from r276594, head/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/TestAfterDivZeroChecker.cpp projects/building-blocks/contrib/llvm/tools/lldb/include/lldb/API/SBTypeEnumMember.h - copied unchanged from r276594, head/contrib/llvm/tools/lldb/include/lldb/API/SBTypeEnumMember.h projects/building-blocks/contrib/llvm/tools/lldb/include/lldb/API/SBUnixSignals.h - copied unchanged from r276594, head/contrib/llvm/tools/lldb/include/lldb/API/SBUnixSignals.h projects/building-blocks/contrib/llvm/tools/lldb/include/lldb/Core/StructuredData.h - copied unchanged from r276594, head/contrib/llvm/tools/lldb/include/lldb/Core/StructuredData.h projects/building-blocks/contrib/llvm/tools/lldb/include/lldb/Host/FileCache.h - copied unchanged from r276594, head/contrib/llvm/tools/lldb/include/lldb/Host/FileCache.h projects/building-blocks/contrib/llvm/tools/lldb/include/lldb/Host/FileSystem.h - copied unchanged from r276594, head/contrib/llvm/tools/lldb/include/lldb/Host/FileSystem.h projects/building-blocks/contrib/llvm/tools/lldb/include/lldb/Host/HostInfo.h - copied unchanged from r276594, head/contrib/llvm/tools/lldb/include/lldb/Host/HostInfo.h projects/building-blocks/contrib/llvm/tools/lldb/include/lldb/Host/HostInfoBase.h - copied unchanged from r276594, head/contrib/llvm/tools/lldb/include/lldb/Host/HostInfoBase.h projects/building-blocks/contrib/llvm/tools/lldb/include/lldb/Host/HostProcess.h - copied unchanged from r276594, head/contrib/llvm/tools/lldb/include/lldb/Host/HostProcess.h projects/building-blocks/contrib/llvm/tools/lldb/include/lldb/Host/IOObject.h - copied unchanged from r276594, head/contrib/llvm/tools/lldb/include/lldb/Host/IOObject.h projects/building-blocks/contrib/llvm/tools/lldb/include/lldb/Host/Pipe.h - copied unchanged from r276594, head/contrib/llvm/tools/lldb/include/lldb/Host/Pipe.h projects/building-blocks/contrib/llvm/tools/lldb/include/lldb/Host/Socket.h - copied unchanged from r276594, head/contrib/llvm/tools/lldb/include/lldb/Host/Socket.h projects/building-blocks/contrib/llvm/tools/lldb/include/lldb/Host/freebsd/HostInfoFreeBSD.h - copied unchanged from r276594, head/contrib/llvm/tools/lldb/include/lldb/Host/freebsd/HostInfoFreeBSD.h projects/building-blocks/contrib/llvm/tools/lldb/include/lldb/Host/posix/ - copied from r276594, head/contrib/llvm/tools/lldb/include/lldb/Host/posix/ projects/building-blocks/contrib/llvm/tools/lldb/include/lldb/Interpreter/CommandOptionValidators.h - copied unchanged from r276594, head/contrib/llvm/tools/lldb/include/lldb/Interpreter/CommandOptionValidators.h projects/building-blocks/contrib/llvm/tools/lldb/include/lldb/Target/FileAction.h - copied unchanged from r276594, head/contrib/llvm/tools/lldb/include/lldb/Target/FileAction.h projects/building-blocks/contrib/llvm/tools/lldb/include/lldb/Target/JITLoader.h - copied unchanged from r276594, head/contrib/llvm/tools/lldb/include/lldb/Target/JITLoader.h projects/building-blocks/contrib/llvm/tools/lldb/include/lldb/Target/JITLoaderList.h - copied unchanged from r276594, head/contrib/llvm/tools/lldb/include/lldb/Target/JITLoaderList.h projects/building-blocks/contrib/llvm/tools/lldb/include/lldb/Target/MemoryRegionInfo.h - copied unchanged from r276594, head/contrib/llvm/tools/lldb/include/lldb/Target/MemoryRegionInfo.h projects/building-blocks/contrib/llvm/tools/lldb/include/lldb/Target/NativeRegisterContext.h - copied unchanged from r276594, head/contrib/llvm/tools/lldb/include/lldb/Target/NativeRegisterContext.h projects/building-blocks/contrib/llvm/tools/lldb/include/lldb/Target/NativeRegisterContextRegisterInfo.h - copied unchanged from r276594, head/contrib/llvm/tools/lldb/include/lldb/Target/NativeRegisterContextRegisterInfo.h projects/building-blocks/contrib/llvm/tools/lldb/include/lldb/Target/ProcessInfo.h - copied unchanged from r276594, head/contrib/llvm/tools/lldb/include/lldb/Target/ProcessInfo.h projects/building-blocks/contrib/llvm/tools/lldb/include/lldb/Target/ProcessLaunchInfo.h - copied unchanged from r276594, head/contrib/llvm/tools/lldb/include/lldb/Target/ProcessLaunchInfo.h projects/building-blocks/contrib/llvm/tools/lldb/include/lldb/Utility/SafeMachO.h - copied unchanged from r276594, head/contrib/llvm/tools/lldb/include/lldb/Utility/SafeMachO.h projects/building-blocks/contrib/llvm/tools/lldb/include/lldb/Utility/StringLexer.h - copied unchanged from r276594, head/contrib/llvm/tools/lldb/include/lldb/Utility/StringLexer.h projects/building-blocks/contrib/llvm/tools/lldb/include/lldb/lldb-private-forward.h - copied unchanged from r276594, head/contrib/llvm/tools/lldb/include/lldb/lldb-private-forward.h projects/building-blocks/contrib/llvm/tools/lldb/source/API/SBTypeEnumMember.cpp - copied unchanged from r276594, head/contrib/llvm/tools/lldb/source/API/SBTypeEnumMember.cpp projects/building-blocks/contrib/llvm/tools/lldb/source/API/SBUnixSignals.cpp - copied unchanged from r276594, head/contrib/llvm/tools/lldb/source/API/SBUnixSignals.cpp projects/building-blocks/contrib/llvm/tools/lldb/source/Core/FastDemangle.cpp - copied unchanged from r276594, head/contrib/llvm/tools/lldb/source/Core/FastDemangle.cpp projects/building-blocks/contrib/llvm/tools/lldb/source/Core/StructuredData.cpp - copied unchanged from r276594, head/contrib/llvm/tools/lldb/source/Core/StructuredData.cpp projects/building-blocks/contrib/llvm/tools/lldb/source/Host/common/FileCache.cpp - copied unchanged from r276594, head/contrib/llvm/tools/lldb/source/Host/common/FileCache.cpp projects/building-blocks/contrib/llvm/tools/lldb/source/Host/common/HostInfoBase.cpp - copied unchanged from r276594, head/contrib/llvm/tools/lldb/source/Host/common/HostInfoBase.cpp projects/building-blocks/contrib/llvm/tools/lldb/source/Host/common/IOObject.cpp - copied unchanged from r276594, head/contrib/llvm/tools/lldb/source/Host/common/IOObject.cpp projects/building-blocks/contrib/llvm/tools/lldb/source/Host/common/NativeBreakpoint.cpp - copied unchanged from r276594, head/contrib/llvm/tools/lldb/source/Host/common/NativeBreakpoint.cpp projects/building-blocks/contrib/llvm/tools/lldb/source/Host/common/NativeBreakpoint.h - copied unchanged from r276594, head/contrib/llvm/tools/lldb/source/Host/common/NativeBreakpoint.h projects/building-blocks/contrib/llvm/tools/lldb/source/Host/common/NativeBreakpointList.cpp - copied unchanged from r276594, head/contrib/llvm/tools/lldb/source/Host/common/NativeBreakpointList.cpp projects/building-blocks/contrib/llvm/tools/lldb/source/Host/common/NativeBreakpointList.h - copied unchanged from r276594, head/contrib/llvm/tools/lldb/source/Host/common/NativeBreakpointList.h projects/building-blocks/contrib/llvm/tools/lldb/source/Host/common/NativeProcessProtocol.cpp - copied unchanged from r276594, head/contrib/llvm/tools/lldb/source/Host/common/NativeProcessProtocol.cpp projects/building-blocks/contrib/llvm/tools/lldb/source/Host/common/NativeProcessProtocol.h - copied unchanged from r276594, head/contrib/llvm/tools/lldb/source/Host/common/NativeProcessProtocol.h projects/building-blocks/contrib/llvm/tools/lldb/source/Host/common/NativeThreadProtocol.cpp - copied unchanged from r276594, head/contrib/llvm/tools/lldb/source/Host/common/NativeThreadProtocol.cpp projects/building-blocks/contrib/llvm/tools/lldb/source/Host/common/NativeThreadProtocol.h - copied unchanged from r276594, head/contrib/llvm/tools/lldb/source/Host/common/NativeThreadProtocol.h projects/building-blocks/contrib/llvm/tools/lldb/source/Host/common/Pipe.cpp - copied unchanged from r276594, head/contrib/llvm/tools/lldb/source/Host/common/Pipe.cpp projects/building-blocks/contrib/llvm/tools/lldb/source/Host/common/Socket.cpp - copied unchanged from r276594, head/contrib/llvm/tools/lldb/source/Host/common/Socket.cpp projects/building-blocks/contrib/llvm/tools/lldb/source/Host/common/SoftwareBreakpoint.cpp - copied unchanged from r276594, head/contrib/llvm/tools/lldb/source/Host/common/SoftwareBreakpoint.cpp projects/building-blocks/contrib/llvm/tools/lldb/source/Host/common/SoftwareBreakpoint.h - copied unchanged from r276594, head/contrib/llvm/tools/lldb/source/Host/common/SoftwareBreakpoint.h projects/building-blocks/contrib/llvm/tools/lldb/source/Host/freebsd/HostInfoFreeBSD.cpp - copied unchanged from r276594, head/contrib/llvm/tools/lldb/source/Host/freebsd/HostInfoFreeBSD.cpp projects/building-blocks/contrib/llvm/tools/lldb/source/Host/posix/ - copied from r276594, head/contrib/llvm/tools/lldb/source/Host/posix/ projects/building-blocks/contrib/llvm/tools/lldb/source/Interpreter/CommandOptionValidators.cpp - copied unchanged from r276594, head/contrib/llvm/tools/lldb/source/Interpreter/CommandOptionValidators.cpp projects/building-blocks/contrib/llvm/tools/lldb/source/Plugins/ABI/MacOSX-arm64/ - copied from r276594, head/contrib/llvm/tools/lldb/source/Plugins/ABI/MacOSX-arm64/ projects/building-blocks/contrib/llvm/tools/lldb/source/Plugins/ABI/SysV-hexagon/ - copied from r276594, head/contrib/llvm/tools/lldb/source/Plugins/ABI/SysV-hexagon/ projects/building-blocks/contrib/llvm/tools/lldb/source/Plugins/DynamicLoader/Hexagon-DYLD/ - copied from r276594, head/contrib/llvm/tools/lldb/source/Plugins/DynamicLoader/Hexagon-DYLD/ projects/building-blocks/contrib/llvm/tools/lldb/source/Plugins/Instruction/ARM64/ - copied from r276594, head/contrib/llvm/tools/lldb/source/Plugins/Instruction/ARM64/ projects/building-blocks/contrib/llvm/tools/lldb/source/Plugins/JITLoader/ - copied from r276594, head/contrib/llvm/tools/lldb/source/Plugins/JITLoader/ projects/building-blocks/contrib/llvm/tools/lldb/source/Plugins/ObjectFile/JIT/ - copied from r276594, head/contrib/llvm/tools/lldb/source/Plugins/ObjectFile/JIT/ projects/building-blocks/contrib/llvm/tools/lldb/source/Plugins/Process/POSIX/RegisterContextPOSIXProcessMonitor_arm64.cpp - copied unchanged from r276594, head/contrib/llvm/tools/lldb/source/Plugins/Process/POSIX/RegisterContextPOSIXProcessMonitor_arm64.cpp projects/building-blocks/contrib/llvm/tools/lldb/source/Plugins/Process/POSIX/RegisterContextPOSIXProcessMonitor_arm64.h - copied unchanged from r276594, head/contrib/llvm/tools/lldb/source/Plugins/Process/POSIX/RegisterContextPOSIXProcessMonitor_arm64.h projects/building-blocks/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/FreeBSDSignals.cpp - copied unchanged from r276594, head/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/FreeBSDSignals.cpp projects/building-blocks/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/FreeBSDSignals.h - copied unchanged from r276594, head/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/FreeBSDSignals.h projects/building-blocks/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/LinuxSignals.cpp - copied unchanged from r276594, head/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/LinuxSignals.cpp projects/building-blocks/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/LinuxSignals.h - copied unchanged from r276594, head/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/LinuxSignals.h projects/building-blocks/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/RegisterContextDarwin_arm64.cpp - copied unchanged from r276594, head/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/RegisterContextDarwin_arm64.cpp projects/building-blocks/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/RegisterContextDarwin_arm64.h - copied unchanged from r276594, head/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/RegisterContextDarwin_arm64.h projects/building-blocks/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/RegisterContextFreeBSD_i386.cpp - copied unchanged from r276594, head/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/RegisterContextFreeBSD_i386.cpp projects/building-blocks/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/RegisterContextFreeBSD_i386.h - copied unchanged from r276594, head/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/RegisterContextFreeBSD_i386.h projects/building-blocks/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/RegisterContextFreeBSD_mips64.cpp - copied unchanged from r276594, head/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/RegisterContextFreeBSD_mips64.cpp projects/building-blocks/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/RegisterContextFreeBSD_mips64.h - copied unchanged from r276594, head/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/RegisterContextFreeBSD_mips64.h projects/building-blocks/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/RegisterContextFreeBSD_x86_64.cpp - copied unchanged from r276594, head/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/RegisterContextFreeBSD_x86_64.cpp projects/building-blocks/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/RegisterContextFreeBSD_x86_64.h - copied unchanged from r276594, head/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/RegisterContextFreeBSD_x86_64.h projects/building-blocks/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/RegisterContextLinux_arm64.cpp - copied unchanged from r276594, head/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/RegisterContextLinux_arm64.cpp projects/building-blocks/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/RegisterContextLinux_arm64.h - copied unchanged from r276594, head/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/RegisterContextLinux_arm64.h projects/building-blocks/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/RegisterContextLinux_i386.cpp - copied unchanged from r276594, head/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/RegisterContextLinux_i386.cpp projects/building-blocks/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/RegisterContextLinux_i386.h - copied unchanged from r276594, head/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/RegisterContextLinux_i386.h projects/building-blocks/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/RegisterContextLinux_x86_64.cpp - copied unchanged from r276594, head/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/RegisterContextLinux_x86_64.cpp projects/building-blocks/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/RegisterContextLinux_x86_64.h - copied unchanged from r276594, head/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/RegisterContextLinux_x86_64.h projects/building-blocks/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/RegisterContextPOSIX.h - copied unchanged from r276594, head/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/RegisterContextPOSIX.h projects/building-blocks/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/RegisterContextPOSIX_arm64.cpp - copied unchanged from r276594, head/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/RegisterContextPOSIX_arm64.cpp projects/building-blocks/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/RegisterContextPOSIX_arm64.h - copied unchanged from r276594, head/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/RegisterContextPOSIX_arm64.h projects/building-blocks/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/RegisterContextPOSIX_mips64.cpp - copied unchanged from r276594, head/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/RegisterContextPOSIX_mips64.cpp projects/building-blocks/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/RegisterContextPOSIX_mips64.h - copied unchanged from r276594, head/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/RegisterContextPOSIX_mips64.h projects/building-blocks/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/RegisterContextPOSIX_x86.cpp - copied unchanged from r276594, head/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/RegisterContextPOSIX_x86.cpp projects/building-blocks/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/RegisterContextPOSIX_x86.h - copied unchanged from r276594, head/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/RegisterContextPOSIX_x86.h projects/building-blocks/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/RegisterContext_mips64.h - copied unchanged from r276594, head/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/RegisterContext_mips64.h projects/building-blocks/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/RegisterContext_x86.h - copied unchanged from r276594, head/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/RegisterContext_x86.h projects/building-blocks/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/RegisterInfoInterface.h - copied unchanged from r276594, head/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/RegisterInfoInterface.h projects/building-blocks/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/RegisterInfos_arm64.h - copied unchanged from r276594, head/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/RegisterInfos_arm64.h projects/building-blocks/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/RegisterInfos_i386.h - copied unchanged from r276594, head/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/RegisterInfos_i386.h projects/building-blocks/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/RegisterInfos_mips64.h - copied unchanged from r276594, head/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/RegisterInfos_mips64.h projects/building-blocks/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/RegisterInfos_x86_64.h - copied unchanged from r276594, head/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/RegisterInfos_x86_64.h projects/building-blocks/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/lldb-x86-register-enums.h - copied unchanged from r276594, head/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/lldb-x86-register-enums.h projects/building-blocks/contrib/llvm/tools/lldb/source/Target/FileAction.cpp - copied unchanged from r276594, head/contrib/llvm/tools/lldb/source/Target/FileAction.cpp projects/building-blocks/contrib/llvm/tools/lldb/source/Target/JITLoader.cpp - copied unchanged from r276594, head/contrib/llvm/tools/lldb/source/Target/JITLoader.cpp projects/building-blocks/contrib/llvm/tools/lldb/source/Target/JITLoaderList.cpp - copied unchanged from r276594, head/contrib/llvm/tools/lldb/source/Target/JITLoaderList.cpp projects/building-blocks/contrib/llvm/tools/lldb/source/Target/NativeRegisterContext.cpp - copied unchanged from r276594, head/contrib/llvm/tools/lldb/source/Target/NativeRegisterContext.cpp projects/building-blocks/contrib/llvm/tools/lldb/source/Target/NativeRegisterContextRegisterInfo.cpp - copied unchanged from r276594, head/contrib/llvm/tools/lldb/source/Target/NativeRegisterContextRegisterInfo.cpp projects/building-blocks/contrib/llvm/tools/lldb/source/Target/ProcessInfo.cpp - copied unchanged from r276594, head/contrib/llvm/tools/lldb/source/Target/ProcessInfo.cpp projects/building-blocks/contrib/llvm/tools/lldb/source/Target/ProcessLaunchInfo.cpp - copied unchanged from r276594, head/contrib/llvm/tools/lldb/source/Target/ProcessLaunchInfo.cpp projects/building-blocks/contrib/llvm/tools/lldb/source/Utility/ARM64_DWARF_Registers.cpp - copied unchanged from r276594, head/contrib/llvm/tools/lldb/source/Utility/ARM64_DWARF_Registers.cpp projects/building-blocks/contrib/llvm/tools/lldb/source/Utility/ARM64_DWARF_Registers.h - copied unchanged from r276594, head/contrib/llvm/tools/lldb/source/Utility/ARM64_DWARF_Registers.h projects/building-blocks/contrib/llvm/tools/lldb/source/Utility/ARM64_GCC_Registers.h - copied unchanged from r276594, head/contrib/llvm/tools/lldb/source/Utility/ARM64_GCC_Registers.h projects/building-blocks/contrib/llvm/tools/lldb/source/Utility/StringLexer.cpp - copied unchanged from r276594, head/contrib/llvm/tools/lldb/source/Utility/StringLexer.cpp projects/building-blocks/contrib/llvm/tools/lldb/tools/lldb-mi/ - copied from r276594, head/contrib/llvm/tools/lldb/tools/lldb-mi/ projects/building-blocks/contrib/llvm/tools/lli/RPCChannel.h - copied unchanged from r276594, head/contrib/llvm/tools/lli/RPCChannel.h projects/building-blocks/contrib/llvm/tools/lli/Unix/RPCChannel.inc - copied unchanged from r276594, head/contrib/llvm/tools/lli/Unix/RPCChannel.inc projects/building-blocks/contrib/llvm/tools/lli/Windows/RPCChannel.inc - copied unchanged from r276594, head/contrib/llvm/tools/lli/Windows/RPCChannel.inc projects/building-blocks/contrib/llvm/tools/llvm-readobj/ARMAttributeParser.cpp - copied unchanged from r276594, head/contrib/llvm/tools/llvm-readobj/ARMAttributeParser.cpp projects/building-blocks/contrib/llvm/tools/llvm-readobj/ARMAttributeParser.h - copied unchanged from r276594, head/contrib/llvm/tools/llvm-readobj/ARMAttributeParser.h projects/building-blocks/contrib/llvm/tools/llvm-readobj/ARMEHABIPrinter.h - copied unchanged from r276594, head/contrib/llvm/tools/llvm-readobj/ARMEHABIPrinter.h projects/building-blocks/contrib/llvm/tools/llvm-readobj/ARMWinEHPrinter.cpp - copied unchanged from r276594, head/contrib/llvm/tools/llvm-readobj/ARMWinEHPrinter.cpp projects/building-blocks/contrib/llvm/tools/llvm-readobj/ARMWinEHPrinter.h - copied unchanged from r276594, head/contrib/llvm/tools/llvm-readobj/ARMWinEHPrinter.h projects/building-blocks/contrib/llvm/tools/llvm-readobj/Win64EHDumper.cpp - copied unchanged from r276594, head/contrib/llvm/tools/llvm-readobj/Win64EHDumper.cpp projects/building-blocks/contrib/llvm/tools/llvm-readobj/Win64EHDumper.h - copied unchanged from r276594, head/contrib/llvm/tools/llvm-readobj/Win64EHDumper.h projects/building-blocks/contrib/llvm/tools/opt/BreakpointPrinter.cpp - copied unchanged from r276594, head/contrib/llvm/tools/opt/BreakpointPrinter.cpp projects/building-blocks/contrib/llvm/tools/opt/BreakpointPrinter.h - copied unchanged from r276594, head/contrib/llvm/tools/opt/BreakpointPrinter.h projects/building-blocks/contrib/llvm/tools/opt/NewPMDriver.cpp - copied unchanged from r276594, head/contrib/llvm/tools/opt/NewPMDriver.cpp projects/building-blocks/contrib/llvm/tools/opt/NewPMDriver.h - copied unchanged from r276594, head/contrib/llvm/tools/opt/NewPMDriver.h projects/building-blocks/contrib/llvm/tools/opt/PassPrinters.cpp - copied unchanged from r276594, head/contrib/llvm/tools/opt/PassPrinters.cpp projects/building-blocks/contrib/llvm/tools/opt/PassPrinters.h - copied unchanged from r276594, head/contrib/llvm/tools/opt/PassPrinters.h projects/building-blocks/contrib/llvm/tools/opt/PassRegistry.def - copied unchanged from r276594, head/contrib/llvm/tools/opt/PassRegistry.def projects/building-blocks/contrib/llvm/tools/opt/Passes.cpp - copied unchanged from r276594, head/contrib/llvm/tools/opt/Passes.cpp projects/building-blocks/contrib/llvm/tools/opt/Passes.h - copied unchanged from r276594, head/contrib/llvm/tools/opt/Passes.h projects/building-blocks/contrib/llvm/utils/TableGen/module.modulemap - copied unchanged from r276594, head/contrib/llvm/utils/TableGen/module.modulemap projects/building-blocks/contrib/mdocml/mandoc_headers.3 - copied unchanged from r276594, head/contrib/mdocml/mandoc_headers.3 projects/building-blocks/contrib/ofed/libibverbs/examples/build/ - copied from r276594, head/contrib/ofed/libibverbs/examples/build/ projects/building-blocks/lib/clang/include/MipsGenFastISel.inc - copied unchanged from r276594, head/lib/clang/include/MipsGenFastISel.inc projects/building-blocks/lib/clang/include/PPCGenDisassemblerTables.inc - copied unchanged from r276594, head/lib/clang/include/PPCGenDisassemblerTables.inc projects/building-blocks/lib/clang/include/clang/AST/AttrVisitor.inc - copied unchanged from r276594, head/lib/clang/include/clang/AST/AttrVisitor.inc projects/building-blocks/lib/clang/include/clang/Basic/AttrHasAttributeImpl.inc - copied unchanged from r276594, head/lib/clang/include/clang/Basic/AttrHasAttributeImpl.inc projects/building-blocks/lib/clang/include/clang/Parse/AttrParserStringSwitches.inc - copied unchanged from r276594, head/lib/clang/include/clang/Parse/AttrParserStringSwitches.inc projects/building-blocks/lib/clang/libclangrewrite/ - copied from r276594, head/lib/clang/libclangrewrite/ projects/building-blocks/lib/clang/liblldbHostPOSIX/ - copied from r276594, head/lib/clang/liblldbHostPOSIX/ projects/building-blocks/lib/clang/liblldbPluginInstructionARM64/ - copied from r276594, head/lib/clang/liblldbPluginInstructionARM64/ projects/building-blocks/lib/clang/liblldbPluginJITLoaderGDB/ - copied from r276594, head/lib/clang/liblldbPluginJITLoaderGDB/ projects/building-blocks/lib/clang/liblldbPluginObjectFileJIT/ - copied from r276594, head/lib/clang/liblldbPluginObjectFileJIT/ projects/building-blocks/lib/clang/libllvmmcanalysis/ - copied from r276594, head/lib/clang/libllvmmcanalysis/ projects/building-blocks/lib/clang/libllvmpowerpcdisassembler/ - copied from r276594, head/lib/clang/libllvmpowerpcdisassembler/ projects/building-blocks/lib/clang/libllvmprofiledata/ - copied from r276594, head/lib/clang/libllvmprofiledata/ projects/building-blocks/sys/amd64/vmm/io/vrtc.c - copied unchanged from r276594, head/sys/amd64/vmm/io/vrtc.c projects/building-blocks/sys/amd64/vmm/io/vrtc.h - copied unchanged from r276594, head/sys/amd64/vmm/io/vrtc.h projects/building-blocks/sys/arm/altera/socfpga/socfpga_gpio.c - copied unchanged from r276594, head/sys/arm/altera/socfpga/socfpga_gpio.c projects/building-blocks/sys/arm/arm/cpu_asm-v6.S - copied unchanged from r276594, head/sys/arm/arm/cpu_asm-v6.S projects/building-blocks/sys/arm/arm/cpuinfo.c - copied unchanged from r276594, head/sys/arm/arm/cpuinfo.c projects/building-blocks/sys/arm/arm/locore-v4.S - copied unchanged from r276594, head/sys/arm/arm/locore-v4.S projects/building-blocks/sys/arm/arm/locore-v6.S - copied unchanged from r276594, head/sys/arm/arm/locore-v6.S projects/building-blocks/sys/arm/broadcom/bcm2835/bcm2835_cpufreq.c - copied unchanged from r276594, head/sys/arm/broadcom/bcm2835/bcm2835_cpufreq.c projects/building-blocks/sys/arm/broadcom/bcm2835/bcm2835_mbox_prop.h - copied unchanged from r276594, head/sys/arm/broadcom/bcm2835/bcm2835_mbox_prop.h projects/building-blocks/sys/arm/include/cpu-v6.h - copied unchanged from r276594, head/sys/arm/include/cpu-v6.h projects/building-blocks/sys/arm/include/cpuinfo.h - copied unchanged from r276594, head/sys/arm/include/cpuinfo.h projects/building-blocks/sys/dev/cxgbe/t4_mp_ring.c - copied unchanged from r276594, head/sys/dev/cxgbe/t4_mp_ring.c projects/building-blocks/sys/dev/cxgbe/t4_mp_ring.h - copied unchanged from r276594, head/sys/dev/cxgbe/t4_mp_ring.h projects/building-blocks/usr.bin/readelf/ - copied from r276594, head/usr.bin/readelf/ projects/building-blocks/usr.sbin/portsnap/phttpget/phttpget.8 - copied unchanged from r276594, head/usr.sbin/portsnap/phttpget/phttpget.8 Replaced: projects/building-blocks/sys/arm/arm/locore.S - copied unchanged from r276594, head/sys/arm/arm/locore.S Deleted: projects/building-blocks/contrib/llvm/include/llvm/ADT/ImmutableIntervalMap.h projects/building-blocks/contrib/llvm/include/llvm/ADT/OwningPtr.h projects/building-blocks/contrib/llvm/include/llvm/ADT/ValueMap.h projects/building-blocks/contrib/llvm/include/llvm/ADT/polymorphic_ptr.h projects/building-blocks/contrib/llvm/include/llvm/Analysis/BlockFrequencyImpl.h projects/building-blocks/contrib/llvm/include/llvm/Analysis/DominatorInternals.h projects/building-blocks/contrib/llvm/include/llvm/Analysis/Dominators.h projects/building-blocks/contrib/llvm/include/llvm/Analysis/Verifier.h projects/building-blocks/contrib/llvm/include/llvm/Assembly/ projects/building-blocks/contrib/llvm/include/llvm/AutoUpgrade.h projects/building-blocks/contrib/llvm/include/llvm/CodeGen/LiveRegUnits.h projects/building-blocks/contrib/llvm/include/llvm/CodeGen/PBQP/HeuristicBase.h projects/building-blocks/contrib/llvm/include/llvm/CodeGen/PBQP/HeuristicSolver.h projects/building-blocks/contrib/llvm/include/llvm/CodeGen/PBQP/Heuristics/ projects/building-blocks/contrib/llvm/include/llvm/DIBuilder.h projects/building-blocks/contrib/llvm/include/llvm/DebugInfo.h projects/building-blocks/contrib/llvm/include/llvm/GVMaterializer.h projects/building-blocks/contrib/llvm/include/llvm/InstVisitor.h projects/building-blocks/contrib/llvm/include/llvm/Linker.h projects/building-blocks/contrib/llvm/include/llvm/MC/MCAtom.h projects/building-blocks/contrib/llvm/include/llvm/MC/MCFunction.h projects/building-blocks/contrib/llvm/include/llvm/MC/MCModule.h projects/building-blocks/contrib/llvm/include/llvm/MC/MCModuleYAML.h projects/building-blocks/contrib/llvm/include/llvm/Object/YAML.h projects/building-blocks/contrib/llvm/include/llvm/Support/CFG.h projects/building-blocks/contrib/llvm/include/llvm/Support/CallSite.h projects/building-blocks/contrib/llvm/include/llvm/Support/ConstantFolder.h projects/building-blocks/contrib/llvm/include/llvm/Support/ConstantRange.h projects/building-blocks/contrib/llvm/include/llvm/Support/DataFlow.h projects/building-blocks/contrib/llvm/include/llvm/Support/DebugLoc.h projects/building-blocks/contrib/llvm/include/llvm/Support/Disassembler.h projects/building-blocks/contrib/llvm/include/llvm/Support/FEnv.h projects/building-blocks/contrib/llvm/include/llvm/Support/GetElementPtrTypeIterator.h projects/building-blocks/contrib/llvm/include/llvm/Support/InstIterator.h projects/building-blocks/contrib/llvm/include/llvm/Support/LeakDetector.h projects/building-blocks/contrib/llvm/include/llvm/Support/NoFolder.h projects/building-blocks/contrib/llvm/include/llvm/Support/PassNameParser.h projects/building-blocks/contrib/llvm/include/llvm/Support/PatternMatch.h projects/building-blocks/contrib/llvm/include/llvm/Support/PredIteratorCache.h projects/building-blocks/contrib/llvm/include/llvm/Support/TargetFolder.h projects/building-blocks/contrib/llvm/include/llvm/Support/ValueHandle.h projects/building-blocks/contrib/llvm/include/llvm/Support/system_error.h projects/building-blocks/contrib/llvm/include/llvm/Target/Mangler.h projects/building-blocks/contrib/llvm/include/llvm/Transforms/Utils/SpecialCaseList.h projects/building-blocks/contrib/llvm/lib/CodeGen/AsmPrinter/DwarfCompileUnit.cpp projects/building-blocks/contrib/llvm/lib/CodeGen/AsmPrinter/DwarfCompileUnit.h projects/building-blocks/contrib/llvm/lib/CodeGen/AsmPrinter/DwarfException.cpp projects/building-blocks/contrib/llvm/lib/CodeGen/LiveRegUnits.cpp projects/building-blocks/contrib/llvm/lib/IR/PrintModulePass.cpp projects/building-blocks/contrib/llvm/lib/MC/MCAtom.cpp projects/building-blocks/contrib/llvm/lib/MC/MCFunction.cpp projects/building-blocks/contrib/llvm/lib/MC/MCModule.cpp projects/building-blocks/contrib/llvm/lib/MC/MCModuleYAML.cpp projects/building-blocks/contrib/llvm/lib/MC/MCObjectDisassembler.cpp projects/building-blocks/contrib/llvm/lib/MC/MCObjectSymbolizer.cpp projects/building-blocks/contrib/llvm/lib/MC/MCPureStreamer.cpp projects/building-blocks/contrib/llvm/lib/Object/YAML.cpp projects/building-blocks/contrib/llvm/lib/Support/ConstantRange.cpp projects/building-blocks/contrib/llvm/lib/Support/Disassembler.cpp projects/building-blocks/contrib/llvm/lib/Support/Unix/system_error.inc projects/building-blocks/contrib/llvm/lib/Support/Windows/Windows.h projects/building-blocks/contrib/llvm/lib/Support/Windows/system_error.inc projects/building-blocks/contrib/llvm/lib/Support/system_error.cpp projects/building-blocks/contrib/llvm/lib/Target/AArch64/AArch64AsmPrinter.h projects/building-blocks/contrib/llvm/lib/Target/AArch64/AArch64BranchFixupPass.cpp projects/building-blocks/contrib/llvm/lib/Target/AArch64/AArch64CallingConv.td projects/building-blocks/contrib/llvm/lib/Target/AArch64/AArch64InstrNEON.td projects/building-blocks/contrib/llvm/lib/Target/AArch64/AArch64MachineFunctionInfo.cpp projects/building-blocks/contrib/llvm/lib/Target/AArch64/README.txt projects/building-blocks/contrib/llvm/lib/Target/ARM/ARMBuildAttrs.h projects/building-blocks/contrib/llvm/lib/Target/ARM/MCTargetDesc/ARMUnwindOp.h projects/building-blocks/contrib/llvm/lib/Target/Mangler.cpp projects/building-blocks/contrib/llvm/lib/Target/Mips/MCTargetDesc/MipsReginfo.cpp projects/building-blocks/contrib/llvm/lib/Target/Mips/MCTargetDesc/MipsReginfo.h projects/building-blocks/contrib/llvm/lib/Target/NVPTX/NVPTXSplitBBatBar.cpp projects/building-blocks/contrib/llvm/lib/Target/NVPTX/NVPTXSplitBBatBar.h projects/building-blocks/contrib/llvm/lib/Target/R600/AMDGPUConvertToISA.cpp projects/building-blocks/contrib/llvm/lib/Target/R600/AMDILBase.td projects/building-blocks/contrib/llvm/lib/Target/R600/AMDILISelLowering.cpp projects/building-blocks/contrib/llvm/lib/Target/R600/AMDILInstrInfo.td projects/building-blocks/contrib/llvm/lib/Target/R600/AMDILIntrinsicInfo.cpp projects/building-blocks/contrib/llvm/lib/Target/R600/AMDILIntrinsicInfo.h projects/building-blocks/contrib/llvm/lib/Target/R600/AMDILIntrinsics.td projects/building-blocks/contrib/llvm/lib/Target/R600/AMDILRegisterInfo.td projects/building-blocks/contrib/llvm/lib/Target/X86/Disassembler/X86DisassemblerDecoder.c projects/building-blocks/contrib/llvm/lib/Target/X86/X86COFFMachineModuleInfo.cpp projects/building-blocks/contrib/llvm/lib/Target/X86/X86COFFMachineModuleInfo.h projects/building-blocks/contrib/llvm/lib/Transforms/Scalar/CodeGenPrepare.cpp projects/building-blocks/contrib/llvm/lib/Transforms/Scalar/GlobalMerge.cpp projects/building-blocks/contrib/llvm/lib/Transforms/Utils/SpecialCaseList.cpp projects/building-blocks/contrib/llvm/patches/patch-r208961-clang-version-include.diff projects/building-blocks/contrib/llvm/patches/patch-r208987-format-extensions.diff projects/building-blocks/contrib/llvm/patches/patch-r209107-clang-vendor-suffix.diff projects/building-blocks/contrib/llvm/patches/patch-r213492-amd64-multi-os-dot.diff projects/building-blocks/contrib/llvm/patches/patch-r221503-default-target-triple.diff projects/building-blocks/contrib/llvm/patches/patch-r243830-arm-disable-clear-cache.diff projects/building-blocks/contrib/llvm/patches/patch-r252503-arm-transient-stack-alignment.diff projects/building-blocks/contrib/llvm/patches/patch-r257109-add-CC-aliases.diff projects/building-blocks/contrib/llvm/patches/patch-r259053-gcc-installation-detector.diff projects/building-blocks/contrib/llvm/patches/patch-r259498-add-fxsave.diff projects/building-blocks/contrib/llvm/patches/patch-r261680-clang-r200899-fix-security-quantis.diff projects/building-blocks/contrib/llvm/patches/patch-r261991-llvm-r195391-fix-dwarf2.diff projects/building-blocks/contrib/llvm/patches/patch-r261991-llvm-r198385-fix-dwarf2.diff projects/building-blocks/contrib/llvm/patches/patch-r261991-llvm-r198389-fix-dwarf2.diff projects/building-blocks/contrib/llvm/patches/patch-r262261-llvm-r198028-sparc.diff projects/building-blocks/contrib/llvm/patches/patch-r262261-llvm-r198029-sparc.diff projects/building-blocks/contrib/llvm/patches/patch-r262261-llvm-r198030-sparc.diff projects/building-blocks/contrib/llvm/patches/patch-r262261-llvm-r198145-sparc.diff projects/building-blocks/contrib/llvm/patches/patch-r262261-llvm-r198149-sparc.diff projects/building-blocks/contrib/llvm/patches/patch-r262261-llvm-r198157-sparc.diff projects/building-blocks/contrib/llvm/patches/patch-r262261-llvm-r198280-sparc.diff projects/building-blocks/contrib/llvm/patches/patch-r262261-llvm-r198281-sparc.diff projects/building-blocks/contrib/llvm/patches/patch-r262261-llvm-r198286-sparc.diff projects/building-blocks/contrib/llvm/patches/patch-r262261-llvm-r198480-sparc.diff projects/building-blocks/contrib/llvm/patches/patch-r262261-llvm-r198484-sparc.diff projects/building-blocks/contrib/llvm/patches/patch-r262261-llvm-r198533-sparc.diff projects/building-blocks/contrib/llvm/patches/patch-r262261-llvm-r198565-sparc.diff projects/building-blocks/contrib/llvm/patches/patch-r262261-llvm-r198567-sparc.diff projects/building-blocks/contrib/llvm/patches/patch-r262261-llvm-r198580-sparc.diff projects/building-blocks/contrib/llvm/patches/patch-r262261-llvm-r198591-sparc.diff projects/building-blocks/contrib/llvm/patches/patch-r262261-llvm-r198592-sparc.diff projects/building-blocks/contrib/llvm/patches/patch-r262261-llvm-r198658-sparc.diff projects/building-blocks/contrib/llvm/patches/patch-r262261-llvm-r198681-sparc.diff projects/building-blocks/contrib/llvm/patches/patch-r262261-llvm-r198738-sparc.diff projects/building-blocks/contrib/llvm/patches/patch-r262261-llvm-r198739-sparc.diff projects/building-blocks/contrib/llvm/patches/patch-r262261-llvm-r198740-sparc.diff projects/building-blocks/contrib/llvm/patches/patch-r262261-llvm-r198893-sparc.diff projects/building-blocks/contrib/llvm/patches/patch-r262261-llvm-r198909-sparc.diff projects/building-blocks/contrib/llvm/patches/patch-r262261-llvm-r198910-sparc.diff projects/building-blocks/contrib/llvm/patches/patch-r262261-llvm-r199014-sparc.diff projects/building-blocks/contrib/llvm/patches/patch-r262261-llvm-r199024-sparc.diff projects/building-blocks/contrib/llvm/patches/patch-r262261-llvm-r199028-sparc.diff projects/building-blocks/contrib/llvm/patches/patch-r262261-llvm-r199031-sparc.diff projects/building-blocks/contrib/llvm/patches/patch-r262261-llvm-r199033-sparc.diff projects/building-blocks/contrib/llvm/patches/patch-r262261-llvm-r199061-sparc.diff projects/building-blocks/contrib/llvm/patches/patch-r262261-llvm-r199186-sparc.diff projects/building-blocks/contrib/llvm/patches/patch-r262261-llvm-r199187-sparc.diff projects/building-blocks/contrib/llvm/patches/patch-r262261-llvm-r199775-sparc.diff projects/building-blocks/contrib/llvm/patches/patch-r262261-llvm-r199781-sparc.diff projects/building-blocks/contrib/llvm/patches/patch-r262261-llvm-r199786-sparc.diff projects/building-blocks/contrib/llvm/patches/patch-r262261-llvm-r199940-sparc.diff projects/building-blocks/contrib/llvm/patches/patch-r262261-llvm-r199974-sparc.diff projects/building-blocks/contrib/llvm/patches/patch-r262261-llvm-r199975-sparc.diff projects/building-blocks/contrib/llvm/patches/patch-r262261-llvm-r199977-sparc.diff projects/building-blocks/contrib/llvm/patches/patch-r262261-llvm-r200103-sparc.diff projects/building-blocks/contrib/llvm/patches/patch-r262261-llvm-r200104-sparc.diff projects/building-blocks/contrib/llvm/patches/patch-r262261-llvm-r200112-sparc.diff projects/building-blocks/contrib/llvm/patches/patch-r262261-llvm-r200130-sparc.diff projects/building-blocks/contrib/llvm/patches/patch-r262261-llvm-r200131-sparc.diff projects/building-blocks/contrib/llvm/patches/patch-r262261-llvm-r200141-sparc.diff projects/building-blocks/contrib/llvm/patches/patch-r262261-llvm-r200282-sparc.diff projects/building-blocks/contrib/llvm/patches/patch-r262261-llvm-r200368-sparc.diff projects/building-blocks/contrib/llvm/patches/patch-r262261-llvm-r200373-sparc.diff projects/building-blocks/contrib/llvm/patches/patch-r262261-llvm-r200376-sparc.diff projects/building-blocks/contrib/llvm/patches/patch-r262261-llvm-r200509-sparc.diff projects/building-blocks/contrib/llvm/patches/patch-r262261-llvm-r200617-sparc.diff projects/building-blocks/contrib/llvm/patches/patch-r262261-llvm-r200960-sparc.diff projects/building-blocks/contrib/llvm/patches/patch-r262261-llvm-r200961-sparc.diff projects/building-blocks/contrib/llvm/patches/patch-r262261-llvm-r200962-sparc.diff projects/building-blocks/contrib/llvm/patches/patch-r262261-llvm-r200963-sparc.diff projects/building-blocks/contrib/llvm/patches/patch-r262261-llvm-r200965-sparc.diff projects/building-blocks/contrib/llvm/patches/patch-r262262-clang-r198311-sparc.diff projects/building-blocks/contrib/llvm/patches/patch-r262262-clang-r198312-sparc.diff projects/building-blocks/contrib/llvm/patches/patch-r262262-clang-r198911-sparc.diff projects/building-blocks/contrib/llvm/patches/patch-r262262-clang-r198912-sparc.diff projects/building-blocks/contrib/llvm/patches/patch-r262262-clang-r198918-sparc.diff projects/building-blocks/contrib/llvm/patches/patch-r262262-clang-r198923-sparc.diff projects/building-blocks/contrib/llvm/patches/patch-r262262-clang-r199012-sparc.diff projects/building-blocks/contrib/llvm/patches/patch-r262262-clang-r199034-sparc.diff projects/building-blocks/contrib/llvm/patches/patch-r262262-clang-r199037-sparc.diff projects/building-blocks/contrib/llvm/patches/patch-r262262-clang-r199188-sparc.diff projects/building-blocks/contrib/llvm/patches/patch-r262262-clang-r199399-sparc.diff projects/building-blocks/contrib/llvm/patches/patch-r262262-clang-r200452-sparc.diff projects/building-blocks/contrib/llvm/patches/patch-r262264-llvm-r200453-sparc.diff projects/building-blocks/contrib/llvm/patches/patch-r262265-llvm-r201718-sparc.diff projects/building-blocks/contrib/llvm/patches/patch-r262303-enable-ppc-integrated-as.diff projects/building-blocks/contrib/llvm/patches/patch-r262415-llvm-r201994-sparc.diff projects/building-blocks/contrib/llvm/patches/patch-r262460-llvm-r202059-sparc.diff projects/building-blocks/contrib/llvm/patches/patch-r262535-clang-r202177-sparc.diff projects/building-blocks/contrib/llvm/patches/patch-r262536-clang-r202179-sparc.diff projects/building-blocks/contrib/llvm/patches/patch-r262582-llvm-r202422-sparc.diff projects/building-blocks/contrib/llvm/patches/patch-r262611-llvm-r196874-fix-invalid-pwd-crash.diff projects/building-blocks/contrib/llvm/patches/patch-r263048-clang-r203624-fix-CC-aliases.diff projects/building-blocks/contrib/llvm/patches/patch-r263312-llvm-r169939-inline-asm-with-realign.diff projects/building-blocks/contrib/llvm/patches/patch-r263312-llvm-r196940-update-inline-asm-test.diff projects/building-blocks/contrib/llvm/patches/patch-r263312-llvm-r196986-allow-realign-alloca.diff projects/building-blocks/contrib/llvm/patches/patch-r263312-llvm-r202930-fix-alloca-esi-clobber.diff projects/building-blocks/contrib/llvm/patches/patch-r263313-llvm-r203311-fix-sse1-oom.diff projects/building-blocks/contrib/llvm/patches/patch-r263619-clang-r201662-arm-gnueabihf.diff projects/building-blocks/contrib/llvm/patches/patch-r264345-dwarf2-freebsd10.diff projects/building-blocks/contrib/llvm/patches/patch-r264826-llvm-r202188-variadic-fn-debug-info.diff projects/building-blocks/contrib/llvm/patches/patch-r264827-clang-r202185-variadic-fn-debug-info.diff projects/building-blocks/contrib/llvm/patches/patch-r265477-clang-r198655-standalone-debug.diff projects/building-blocks/contrib/llvm/patches/patch-r266674-clang-r209489-fix-xmmintrin.diff projects/building-blocks/contrib/llvm/patches/patch-r267704-llvm-r211435-fix-avx-backend.diff projects/building-blocks/contrib/llvm/patches/patch-r267981-llvm-r211435-fix-ppc-fctiduz.diff projects/building-blocks/contrib/llvm/patches/patch-r269387-clang-arm-target-cpu.diff projects/building-blocks/contrib/llvm/patches/patch-r270147-llvm-r197824-r213427-r213960.diff projects/building-blocks/contrib/llvm/patches/patch-r271024-llvm-r216989-r216990-fix-movw-armv6.diff projects/building-blocks/contrib/llvm/patches/patch-r271282-clang-r200797-r200798-r200805-debug-info-crash.diff projects/building-blocks/contrib/llvm/patches/patch-r271432-clang-r205331-debug-info-crash.diff projects/building-blocks/contrib/llvm/patches/patch-r271597-clang-r217410-i386-garbage-float.diff projects/building-blocks/contrib/llvm/patches/patch-r274286-llvm-r201784-asm-dollar.diff projects/building-blocks/contrib/llvm/patches/patch-r274442-llvm-r221709-debug-oom.diff projects/building-blocks/contrib/llvm/patches/patch-r275633-llvm-r223171-fix-vectorizer.diff projects/building-blocks/contrib/llvm/patches/patch-r275759-clang-r221170-ppc-vaarg.diff projects/building-blocks/contrib/llvm/tools/clang/include/clang/Analysis/FlowSensitive/DataflowSolver.h projects/building-blocks/contrib/llvm/tools/clang/include/clang/Basic/OnDiskHashTable.h projects/building-blocks/contrib/llvm/tools/clang/include/clang/Basic/OpenCL.h projects/building-blocks/contrib/llvm/tools/clang/include/clang/Driver/CC1AsOptions.h projects/building-blocks/contrib/llvm/tools/clang/include/clang/Driver/CC1AsOptions.td projects/building-blocks/contrib/llvm/tools/clang/include/clang/Driver/CC1Options.h projects/building-blocks/contrib/llvm/tools/clang/include/clang/Frontend/ChainedIncludesSource.h projects/building-blocks/contrib/llvm/tools/clang/lib/CodeGen/CGRTTI.cpp projects/building-blocks/contrib/llvm/tools/clang/lib/CodeGen/MicrosoftVBTables.cpp projects/building-blocks/contrib/llvm/tools/clang/lib/CodeGen/MicrosoftVBTables.h projects/building-blocks/contrib/llvm/tools/clang/lib/Driver/CC1AsOptions.cpp projects/building-blocks/contrib/llvm/tools/clang/lib/Frontend/Warnings.cpp projects/building-blocks/contrib/llvm/tools/clang/lib/Headers/module.map projects/building-blocks/contrib/llvm/tools/clang/lib/Parse/ParsePragma.h projects/building-blocks/contrib/llvm/tools/clang/lib/Rewrite/Core/ projects/building-blocks/contrib/llvm/tools/clang/lib/Rewrite/Frontend/ projects/building-blocks/contrib/llvm/tools/clang/lib/Sema/TargetAttributesSema.cpp projects/building-blocks/contrib/llvm/tools/clang/lib/Sema/TargetAttributesSema.h projects/building-blocks/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/IdempotentOperationChecker.cpp projects/building-blocks/contrib/llvm/tools/clang/lib/StaticAnalyzer/Frontend/AnalysisConsumer.h projects/building-blocks/contrib/llvm/tools/lldb/include/lldb/Host/DynamicLibrary.h projects/building-blocks/contrib/llvm/tools/lldb/source/Host/common/DynamicLibrary.cpp projects/building-blocks/contrib/llvm/tools/lldb/source/Plugins/Process/POSIX/RegisterContextFreeBSD_i386.cpp projects/building-blocks/contrib/llvm/tools/lldb/source/Plugins/Process/POSIX/RegisterContextFreeBSD_i386.h projects/building-blocks/contrib/llvm/tools/lldb/source/Plugins/Process/POSIX/RegisterContextFreeBSD_mips64.cpp projects/building-blocks/contrib/llvm/tools/lldb/source/Plugins/Process/POSIX/RegisterContextFreeBSD_mips64.h projects/building-blocks/contrib/llvm/tools/lldb/source/Plugins/Process/POSIX/RegisterContextFreeBSD_x86_64.cpp projects/building-blocks/contrib/llvm/tools/lldb/source/Plugins/Process/POSIX/RegisterContextFreeBSD_x86_64.h projects/building-blocks/contrib/llvm/tools/lldb/source/Plugins/Process/POSIX/RegisterContextLinux_i386.cpp projects/building-blocks/contrib/llvm/tools/lldb/source/Plugins/Process/POSIX/RegisterContextLinux_i386.h projects/building-blocks/contrib/llvm/tools/lldb/source/Plugins/Process/POSIX/RegisterContextLinux_x86_64.cpp projects/building-blocks/contrib/llvm/tools/lldb/source/Plugins/Process/POSIX/RegisterContextLinux_x86_64.h projects/building-blocks/contrib/llvm/tools/lldb/source/Plugins/Process/POSIX/RegisterContextPOSIX.h projects/building-blocks/contrib/llvm/tools/lldb/source/Plugins/Process/POSIX/RegisterContextPOSIX_mips64.cpp projects/building-blocks/contrib/llvm/tools/lldb/source/Plugins/Process/POSIX/RegisterContextPOSIX_mips64.h projects/building-blocks/contrib/llvm/tools/lldb/source/Plugins/Process/POSIX/RegisterContextPOSIX_x86.cpp projects/building-blocks/contrib/llvm/tools/lldb/source/Plugins/Process/POSIX/RegisterContextPOSIX_x86.h projects/building-blocks/contrib/llvm/tools/lldb/source/Plugins/Process/POSIX/RegisterContext_mips64.h projects/building-blocks/contrib/llvm/tools/lldb/source/Plugins/Process/POSIX/RegisterContext_x86.h projects/building-blocks/contrib/llvm/tools/lldb/source/Plugins/Process/POSIX/RegisterInfos_i386.h projects/building-blocks/contrib/llvm/tools/lldb/source/Plugins/Process/POSIX/RegisterInfos_mips64.h projects/building-blocks/contrib/llvm/tools/lldb/source/Plugins/Process/POSIX/RegisterInfos_x86_64.h projects/building-blocks/contrib/llvm/tools/lli/ChildTarget/Unix/ projects/building-blocks/contrib/llvm/tools/lli/ChildTarget/Windows/ projects/building-blocks/contrib/llvm/tools/lli/Unix/RemoteTargetExternal.inc projects/building-blocks/contrib/llvm/tools/lli/Windows/RemoteTargetExternal.inc projects/building-blocks/contrib/llvm/utils/TableGen/SetTheory.cpp projects/building-blocks/contrib/llvm/utils/TableGen/SetTheory.h projects/building-blocks/contrib/llvm/utils/TableGen/TGValueTypes.cpp projects/building-blocks/contrib/ofed/libibverbs/examples/Makefile projects/building-blocks/contrib/texinfo/ projects/building-blocks/gnu/lib/libregex/doc/ projects/building-blocks/gnu/lib/libstdc++/doc/ projects/building-blocks/gnu/usr.bin/binutils/doc/ projects/building-blocks/gnu/usr.bin/cc/doc/ projects/building-blocks/gnu/usr.bin/diff/doc/ projects/building-blocks/gnu/usr.bin/gdb/doc/ projects/building-blocks/gnu/usr.bin/gperf/doc/ projects/building-blocks/gnu/usr.bin/grep/doc/ projects/building-blocks/gnu/usr.bin/groff/doc/ projects/building-blocks/gnu/usr.bin/texinfo/ projects/building-blocks/kerberos5/doc/ projects/building-blocks/lib/clang/include/clang/Driver/CC1AsOptions.inc projects/building-blocks/lib/clang/include/clang/Lex/ projects/building-blocks/lib/clang/include/clang/Parse/AttrIdentifierArg.inc projects/building-blocks/lib/clang/include/clang/Parse/AttrLateParsed.inc projects/building-blocks/lib/clang/include/clang/Parse/AttrTypeArg.inc projects/building-blocks/lib/clang/libclangrewritecore/ projects/building-blocks/lib/libcom_err/doc/ projects/building-blocks/share/man/man4/asr.4 projects/building-blocks/share/man/man4/gpib.4 projects/building-blocks/share/man/man4/pcii.4 projects/building-blocks/share/man/man4/tnt4882.4 projects/building-blocks/sys/contrib/dev/iwn/iwlwifi-6000g2a-17.168.5.2.fw.uu projects/building-blocks/sys/contrib/dev/iwn/iwlwifi-6000g2b-17.168.5.2.fw.uu projects/building-blocks/sys/dev/asr/ projects/building-blocks/sys/dev/ieee488/ibfoo.c projects/building-blocks/sys/dev/ieee488/ibfoo_int.h projects/building-blocks/sys/dev/ieee488/pcii.c projects/building-blocks/sys/dev/ieee488/tnt4882.c projects/building-blocks/sys/dev/ieee488/tnt4882.h projects/building-blocks/sys/dev/ieee488/ugpib.h projects/building-blocks/sys/dev/ieee488/upd7210.c projects/building-blocks/sys/dev/ieee488/upd7210.h projects/building-blocks/sys/geom/sched/subr_disk.c projects/building-blocks/sys/modules/asr/ projects/building-blocks/sys/modules/dtrace/dtnfsclient/ projects/building-blocks/sys/modules/nfs_common/ projects/building-blocks/sys/modules/nfsclient/ projects/building-blocks/sys/modules/nfsserver/ projects/building-blocks/sys/net/if_stf.h projects/building-blocks/sys/netinet/in_gif.h projects/building-blocks/sys/netinet6/in6_gif.h projects/building-blocks/sys/nfs/nfs_common.c projects/building-blocks/sys/nfsclient/nfs_bio.c projects/building-blocks/sys/nfsclient/nfs_kdtrace.c projects/building-blocks/sys/nfsclient/nfs_krpc.c projects/building-blocks/sys/nfsclient/nfs_nfsiod.c projects/building-blocks/sys/nfsclient/nfs_node.c projects/building-blocks/sys/nfsclient/nfs_subs.c projects/building-blocks/sys/nfsclient/nfs_vfsops.c projects/building-blocks/sys/nfsclient/nfs_vnops.c projects/building-blocks/sys/nfsserver/nfs_fha_old.c projects/building-blocks/sys/nfsserver/nfs_serv.c projects/building-blocks/sys/nfsserver/nfs_srvkrpc.c projects/building-blocks/sys/nfsserver/nfs_srvsubs.c projects/building-blocks/tools/build/options/WITHOUT_GPIB projects/building-blocks/tools/build/options/WITH_INFO projects/building-blocks/usr.sbin/amd/doc/ Modified: projects/building-blocks/COPYRIGHT projects/building-blocks/Makefile.inc1 projects/building-blocks/ObsoleteFiles.inc projects/building-blocks/UPDATING projects/building-blocks/bin/ln/symlink.7 projects/building-blocks/bin/sh/error.c projects/building-blocks/bin/sh/error.h projects/building-blocks/bin/sh/eval.c projects/building-blocks/bin/sh/expand.c projects/building-blocks/bin/sh/expand.h projects/building-blocks/bin/sh/trap.c projects/building-blocks/bin/sh/trap.h projects/building-blocks/cddl/contrib/opensolaris/cmd/zpool/zpool-features.7 projects/building-blocks/cddl/contrib/opensolaris/cmd/zpool/zpool_main.c projects/building-blocks/cddl/contrib/opensolaris/lib/libdtrace/common/drti.c projects/building-blocks/cddl/contrib/opensolaris/lib/libdtrace/common/dt_link.c projects/building-blocks/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_pool.c projects/building-blocks/cddl/usr.bin/ctfconvert/ctfconvert.1 projects/building-blocks/contrib/binutils/bfd/elf32-ppc.c projects/building-blocks/contrib/binutils/gas/config/tc-ppc.c projects/building-blocks/contrib/binutils/gas/expr.c projects/building-blocks/contrib/binutils/gas/input-scrub.c projects/building-blocks/contrib/binutils/gas/read.c projects/building-blocks/contrib/bsnmp/lib/snmpcrypto.c projects/building-blocks/contrib/bzip2/bzip2.1 projects/building-blocks/contrib/ee/ee.1 projects/building-blocks/contrib/elftoolchain/common/Makefile projects/building-blocks/contrib/elftoolchain/common/elfdefinitions.h projects/building-blocks/contrib/elftoolchain/elfcopy/archive.c projects/building-blocks/contrib/elftoolchain/elfcopy/elfcopy.h projects/building-blocks/contrib/elftoolchain/elfcopy/main.c projects/building-blocks/contrib/elftoolchain/elfcopy/sections.c projects/building-blocks/contrib/elftoolchain/elfcopy/segments.c projects/building-blocks/contrib/elftoolchain/elfcopy/symbols.c projects/building-blocks/contrib/elftoolchain/libdwarf/Makefile projects/building-blocks/contrib/elftoolchain/libdwarf/Version.map projects/building-blocks/contrib/elftoolchain/libdwarf/_libdwarf.h projects/building-blocks/contrib/elftoolchain/libdwarf/dwarf.3 projects/building-blocks/contrib/elftoolchain/libdwarf/dwarf.h projects/building-blocks/contrib/elftoolchain/libdwarf/dwarf_attr.3 projects/building-blocks/contrib/elftoolchain/libdwarf/dwarf_attr.c projects/building-blocks/contrib/elftoolchain/libdwarf/dwarf_attrval.c projects/building-blocks/contrib/elftoolchain/libdwarf/dwarf_attrval_signed.3 projects/building-blocks/contrib/elftoolchain/libdwarf/dwarf_child.3 projects/building-blocks/contrib/elftoolchain/libdwarf/dwarf_cu.c projects/building-blocks/contrib/elftoolchain/libdwarf/dwarf_die.c projects/building-blocks/contrib/elftoolchain/libdwarf/dwarf_dieoffset.3 projects/building-blocks/contrib/elftoolchain/libdwarf/dwarf_dump.c projects/building-blocks/contrib/elftoolchain/libdwarf/dwarf_errmsg.c projects/building-blocks/contrib/elftoolchain/libdwarf/dwarf_frame.c projects/building-blocks/contrib/elftoolchain/libdwarf/dwarf_get_AT_name.3 projects/building-blocks/contrib/elftoolchain/libdwarf/dwarf_get_arange_info.3 projects/building-blocks/contrib/elftoolchain/libdwarf/dwarf_hasattr.3 projects/building-blocks/contrib/elftoolchain/libdwarf/dwarf_highpc.3 projects/building-blocks/contrib/elftoolchain/libdwarf/dwarf_lineno.c projects/building-blocks/contrib/elftoolchain/libdwarf/dwarf_loclist.c projects/building-blocks/contrib/elftoolchain/libdwarf/dwarf_loclist_from_expr.3 projects/building-blocks/contrib/elftoolchain/libdwarf/dwarf_next_cu_header.3 projects/building-blocks/contrib/elftoolchain/libdwarf/dwarf_ranges.c projects/building-blocks/contrib/elftoolchain/libdwarf/dwarf_whatattr.3 projects/building-blocks/contrib/elftoolchain/libdwarf/libdwarf.h projects/building-blocks/contrib/elftoolchain/libdwarf/libdwarf_abbrev.c projects/building-blocks/contrib/elftoolchain/libdwarf/libdwarf_arange.c projects/building-blocks/contrib/elftoolchain/libdwarf/libdwarf_attr.c projects/building-blocks/contrib/elftoolchain/libdwarf/libdwarf_die.c projects/building-blocks/contrib/elftoolchain/libdwarf/libdwarf_frame.c projects/building-blocks/contrib/elftoolchain/libdwarf/libdwarf_info.c projects/building-blocks/contrib/elftoolchain/libdwarf/libdwarf_init.c projects/building-blocks/contrib/elftoolchain/libdwarf/libdwarf_lineno.c projects/building-blocks/contrib/elftoolchain/libdwarf/libdwarf_loc.c projects/building-blocks/contrib/elftoolchain/libdwarf/libdwarf_loclist.c projects/building-blocks/contrib/elftoolchain/libdwarf/libdwarf_nametbl.c projects/building-blocks/contrib/elftoolchain/libdwarf/libdwarf_sections.c projects/building-blocks/contrib/elftoolchain/libelf/_libelf.h projects/building-blocks/contrib/elftoolchain/libelf/_libelf_ar.h projects/building-blocks/contrib/elftoolchain/libelf/elf.3 projects/building-blocks/contrib/elftoolchain/libelf/elf_data.c projects/building-blocks/contrib/elftoolchain/libelf/elf_errmsg.c projects/building-blocks/contrib/elftoolchain/libelf/elf_flag.c projects/building-blocks/contrib/elftoolchain/libelf/elf_memory.c projects/building-blocks/contrib/elftoolchain/libelf/elf_next.c projects/building-blocks/contrib/elftoolchain/libelf/elf_open.c projects/building-blocks/contrib/elftoolchain/libelf/elf_rand.c projects/building-blocks/contrib/elftoolchain/libelf/elf_rawfile.c projects/building-blocks/contrib/elftoolchain/libelf/elf_scn.c projects/building-blocks/contrib/elftoolchain/libelf/elf_strptr.c projects/building-blocks/contrib/elftoolchain/libelf/elf_update.c projects/building-blocks/contrib/elftoolchain/libelf/gelf_cap.c projects/building-blocks/contrib/elftoolchain/libelf/gelf_dyn.c projects/building-blocks/contrib/elftoolchain/libelf/gelf_ehdr.c projects/building-blocks/contrib/elftoolchain/libelf/gelf_move.c projects/building-blocks/contrib/elftoolchain/libelf/gelf_phdr.c projects/building-blocks/contrib/elftoolchain/libelf/gelf_rel.c projects/building-blocks/contrib/elftoolchain/libelf/gelf_rela.c projects/building-blocks/contrib/elftoolchain/libelf/gelf_shdr.c projects/building-blocks/contrib/elftoolchain/libelf/gelf_sym.c projects/building-blocks/contrib/elftoolchain/libelf/gelf_syminfo.c projects/building-blocks/contrib/elftoolchain/libelf/gelf_symshndx.c projects/building-blocks/contrib/elftoolchain/libelf/libelf.h projects/building-blocks/contrib/elftoolchain/libelf/libelf_align.c projects/building-blocks/contrib/elftoolchain/libelf/libelf_ar.c projects/building-blocks/contrib/elftoolchain/libelf/libelf_ar_util.c projects/building-blocks/contrib/elftoolchain/libelf/libelf_checksum.c projects/building-blocks/contrib/elftoolchain/libelf/libelf_convert.m4 projects/building-blocks/contrib/elftoolchain/libelf/libelf_data.c projects/building-blocks/contrib/elftoolchain/libelf/libelf_ehdr.c projects/building-blocks/contrib/elftoolchain/libelf/libelf_extended.c projects/building-blocks/contrib/elftoolchain/libelf/libelf_memory.c projects/building-blocks/contrib/elftoolchain/libelf/libelf_open.c projects/building-blocks/contrib/elftoolchain/libelf/libelf_phdr.c projects/building-blocks/contrib/elftoolchain/libelf/libelf_xlate.c projects/building-blocks/contrib/elftoolchain/libelftc/elftc_copyfile.c projects/building-blocks/contrib/elftoolchain/libelftc/elftc_demangle.c projects/building-blocks/contrib/elftoolchain/libelftc/libelftc.h projects/building-blocks/contrib/elftoolchain/libelftc/libelftc_dem_gnu3.c projects/building-blocks/contrib/elftoolchain/nm/nm.c projects/building-blocks/contrib/elftoolchain/readelf/readelf.1 projects/building-blocks/contrib/elftoolchain/readelf/readelf.c projects/building-blocks/contrib/elftoolchain/strings/strings.c projects/building-blocks/contrib/file/ChangeLog projects/building-blocks/contrib/file/Makefile.in projects/building-blocks/contrib/file/README projects/building-blocks/contrib/file/aclocal.m4 projects/building-blocks/contrib/file/configure projects/building-blocks/contrib/file/configure.ac projects/building-blocks/contrib/file/doc/Makefile.in projects/building-blocks/contrib/file/doc/file.man projects/building-blocks/contrib/file/doc/libmagic.man projects/building-blocks/contrib/file/doc/magic.man projects/building-blocks/contrib/file/magic/Localstuff projects/building-blocks/contrib/file/magic/Magdir/cafebabe projects/building-blocks/contrib/file/magic/Magdir/filesystems projects/building-blocks/contrib/file/magic/Magdir/images projects/building-blocks/contrib/file/magic/Magdir/jpeg projects/building-blocks/contrib/file/magic/Makefile.am projects/building-blocks/contrib/file/magic/Makefile.in projects/building-blocks/contrib/file/missing projects/building-blocks/contrib/file/python/Makefile.in projects/building-blocks/contrib/file/src/Makefile.in projects/building-blocks/contrib/file/src/apprentice.c projects/building-blocks/contrib/file/src/compress.c projects/building-blocks/contrib/file/src/elfclass.h projects/building-blocks/contrib/file/src/file.c projects/building-blocks/contrib/file/src/file.h projects/building-blocks/contrib/file/src/file_opts.h projects/building-blocks/contrib/file/src/funcs.c projects/building-blocks/contrib/file/src/getline.c projects/building-blocks/contrib/file/src/magic.c projects/building-blocks/contrib/file/src/magic.h projects/building-blocks/contrib/file/src/magic.h.in projects/building-blocks/contrib/file/src/readelf.c projects/building-blocks/contrib/file/src/softmagic.c projects/building-blocks/contrib/file/tests/Makefile.in projects/building-blocks/contrib/gcc/config/arm/arm.c projects/building-blocks/contrib/libc++/include/type_traits projects/building-blocks/contrib/libcxxrt/atomic.h projects/building-blocks/contrib/libcxxrt/cxxabi.h projects/building-blocks/contrib/libcxxrt/dwarf_eh.h projects/building-blocks/contrib/libcxxrt/dynamic_cast.cc projects/building-blocks/contrib/libcxxrt/exception.cc projects/building-blocks/contrib/libcxxrt/guard.cc projects/building-blocks/contrib/libcxxrt/stdexcept.cc projects/building-blocks/contrib/libcxxrt/stdexcept.h projects/building-blocks/contrib/libcxxrt/typeinfo.cc projects/building-blocks/contrib/libcxxrt/unwind-arm.h projects/building-blocks/contrib/libcxxrt/unwind.h projects/building-blocks/contrib/libxo/libxo/libxo.c projects/building-blocks/contrib/libxo/libxo/xo_create.3 projects/building-blocks/contrib/libxo/libxo/xo_emit.3 projects/building-blocks/contrib/libxo/libxo/xo_open_container.3 projects/building-blocks/contrib/llvm/LICENSE.TXT projects/building-blocks/contrib/llvm/include/llvm-c/Core.h projects/building-blocks/contrib/llvm/include/llvm-c/Disassembler.h projects/building-blocks/contrib/llvm/include/llvm-c/ExecutionEngine.h projects/building-blocks/contrib/llvm/include/llvm-c/IRReader.h projects/building-blocks/contrib/llvm/include/llvm-c/Object.h projects/building-blocks/contrib/llvm/include/llvm-c/Support.h projects/building-blocks/contrib/llvm/include/llvm-c/TargetMachine.h projects/building-blocks/contrib/llvm/include/llvm-c/Transforms/PassManagerBuilder.h projects/building-blocks/contrib/llvm/include/llvm-c/Transforms/Scalar.h projects/building-blocks/contrib/llvm/include/llvm-c/lto.h projects/building-blocks/contrib/llvm/include/llvm/ADT/APFloat.h projects/building-blocks/contrib/llvm/include/llvm/ADT/APInt.h projects/building-blocks/contrib/llvm/include/llvm/ADT/APSInt.h projects/building-blocks/contrib/llvm/include/llvm/ADT/ArrayRef.h projects/building-blocks/contrib/llvm/include/llvm/ADT/BitVector.h projects/building-blocks/contrib/llvm/include/llvm/ADT/DenseMap.h projects/building-blocks/contrib/llvm/include/llvm/ADT/DenseSet.h projects/building-blocks/contrib/llvm/include/llvm/ADT/DepthFirstIterator.h projects/building-blocks/contrib/llvm/include/llvm/ADT/EquivalenceClasses.h projects/building-blocks/contrib/llvm/include/llvm/ADT/FoldingSet.h projects/building-blocks/contrib/llvm/include/llvm/ADT/Hashing.h projects/building-blocks/contrib/llvm/include/llvm/ADT/ImmutableMap.h projects/building-blocks/contrib/llvm/include/llvm/ADT/ImmutableSet.h projects/building-blocks/contrib/llvm/include/llvm/ADT/IntervalMap.h projects/building-blocks/contrib/llvm/include/llvm/ADT/IntrusiveRefCntPtr.h projects/building-blocks/contrib/llvm/include/llvm/ADT/MapVector.h projects/building-blocks/contrib/llvm/include/llvm/ADT/Optional.h projects/building-blocks/contrib/llvm/include/llvm/ADT/PointerIntPair.h projects/building-blocks/contrib/llvm/include/llvm/ADT/PointerUnion.h projects/building-blocks/contrib/llvm/include/llvm/ADT/PostOrderIterator.h projects/building-blocks/contrib/llvm/include/llvm/ADT/SCCIterator.h projects/building-blocks/contrib/llvm/include/llvm/ADT/STLExtras.h projects/building-blocks/contrib/llvm/include/llvm/ADT/ScopedHashTable.h projects/building-blocks/contrib/llvm/include/llvm/ADT/SetVector.h projects/building-blocks/contrib/llvm/include/llvm/ADT/SmallBitVector.h projects/building-blocks/contrib/llvm/include/llvm/ADT/SmallPtrSet.h projects/building-blocks/contrib/llvm/include/llvm/ADT/SmallSet.h projects/building-blocks/contrib/llvm/include/llvm/ADT/SmallString.h projects/building-blocks/contrib/llvm/include/llvm/ADT/SmallVector.h projects/building-blocks/contrib/llvm/include/llvm/ADT/SparseBitVector.h projects/building-blocks/contrib/llvm/include/llvm/ADT/SparseMultiSet.h projects/building-blocks/contrib/llvm/include/llvm/ADT/SparseSet.h projects/building-blocks/contrib/llvm/include/llvm/ADT/Statistic.h projects/building-blocks/contrib/llvm/include/llvm/ADT/StringExtras.h projects/building-blocks/contrib/llvm/include/llvm/ADT/StringMap.h projects/building-blocks/contrib/llvm/include/llvm/ADT/StringRef.h projects/building-blocks/contrib/llvm/include/llvm/ADT/StringSwitch.h projects/building-blocks/contrib/llvm/include/llvm/ADT/TinyPtrVector.h projects/building-blocks/contrib/llvm/include/llvm/ADT/Triple.h projects/building-blocks/contrib/llvm/include/llvm/ADT/Twine.h projects/building-blocks/contrib/llvm/include/llvm/ADT/UniqueVector.h projects/building-blocks/contrib/llvm/include/llvm/ADT/edit_distance.h projects/building-blocks/contrib/llvm/include/llvm/ADT/ilist.h projects/building-blocks/contrib/llvm/include/llvm/ADT/ilist_node.h projects/building-blocks/contrib/llvm/include/llvm/Analysis/AliasAnalysis.h projects/building-blocks/contrib/llvm/include/llvm/Analysis/AliasSetTracker.h projects/building-blocks/contrib/llvm/include/llvm/Analysis/BlockFrequencyInfo.h projects/building-blocks/contrib/llvm/include/llvm/Analysis/BranchProbabilityInfo.h projects/building-blocks/contrib/llvm/include/llvm/Analysis/CFG.h projects/building-blocks/contrib/llvm/include/llvm/Analysis/CFGPrinter.h projects/building-blocks/contrib/llvm/include/llvm/Analysis/CallGraph.h projects/building-blocks/contrib/llvm/include/llvm/Analysis/CallGraphSCCPass.h projects/building-blocks/contrib/llvm/include/llvm/Analysis/CaptureTracking.h projects/building-blocks/contrib/llvm/include/llvm/Analysis/CodeMetrics.h projects/building-blocks/contrib/llvm/include/llvm/Analysis/ConstantFolding.h projects/building-blocks/contrib/llvm/include/llvm/Analysis/ConstantsScanner.h projects/building-blocks/contrib/llvm/include/llvm/Analysis/DOTGraphTraitsPass.h projects/building-blocks/contrib/llvm/include/llvm/Analysis/DependenceAnalysis.h projects/building-blocks/contrib/llvm/include/llvm/Analysis/DominanceFrontier.h projects/building-blocks/contrib/llvm/include/llvm/Analysis/FindUsedTypes.h projects/building-blocks/contrib/llvm/include/llvm/Analysis/IVUsers.h projects/building-blocks/contrib/llvm/include/llvm/Analysis/InlineCost.h projects/building-blocks/contrib/llvm/include/llvm/Analysis/InstructionSimplify.h projects/building-blocks/contrib/llvm/include/llvm/Analysis/Interval.h projects/building-blocks/contrib/llvm/include/llvm/Analysis/IntervalIterator.h projects/building-blocks/contrib/llvm/include/llvm/Analysis/IntervalPartition.h projects/building-blocks/contrib/llvm/include/llvm/Analysis/LazyValueInfo.h projects/building-blocks/contrib/llvm/include/llvm/Analysis/LibCallAliasAnalysis.h projects/building-blocks/contrib/llvm/include/llvm/Analysis/LibCallSemantics.h projects/building-blocks/contrib/llvm/include/llvm/Analysis/Loads.h projects/building-blocks/contrib/llvm/include/llvm/Analysis/LoopInfo.h projects/building-blocks/contrib/llvm/include/llvm/Analysis/LoopInfoImpl.h projects/building-blocks/contrib/llvm/include/llvm/Analysis/LoopPass.h projects/building-blocks/contrib/llvm/include/llvm/Analysis/MemoryBuiltins.h projects/building-blocks/contrib/llvm/include/llvm/Analysis/MemoryDependenceAnalysis.h projects/building-blocks/contrib/llvm/include/llvm/Analysis/PHITransAddr.h projects/building-blocks/contrib/llvm/include/llvm/Analysis/Passes.h projects/building-blocks/contrib/llvm/include/llvm/Analysis/PostDominators.h projects/building-blocks/contrib/llvm/include/llvm/Analysis/PtrUseVisitor.h projects/building-blocks/contrib/llvm/include/llvm/Analysis/RegionInfo.h projects/building-blocks/contrib/llvm/include/llvm/Analysis/RegionIterator.h projects/building-blocks/contrib/llvm/include/llvm/Analysis/RegionPass.h projects/building-blocks/contrib/llvm/include/llvm/Analysis/ScalarEvolution.h projects/building-blocks/contrib/llvm/include/llvm/Analysis/ScalarEvolutionExpander.h projects/building-blocks/contrib/llvm/include/llvm/Analysis/ScalarEvolutionExpressions.h projects/building-blocks/contrib/llvm/include/llvm/Analysis/SparsePropagation.h projects/building-blocks/contrib/llvm/include/llvm/Analysis/TargetTransformInfo.h projects/building-blocks/contrib/llvm/include/llvm/Analysis/ValueTracking.h projects/building-blocks/contrib/llvm/include/llvm/Bitcode/BitstreamReader.h projects/building-blocks/contrib/llvm/include/llvm/Bitcode/BitstreamWriter.h projects/building-blocks/contrib/llvm/include/llvm/Bitcode/LLVMBitCodes.h projects/building-blocks/contrib/llvm/include/llvm/Bitcode/ReaderWriter.h projects/building-blocks/contrib/llvm/include/llvm/CodeGen/Analysis.h projects/building-blocks/contrib/llvm/include/llvm/CodeGen/AsmPrinter.h projects/building-blocks/contrib/llvm/include/llvm/CodeGen/CallingConvLower.h projects/building-blocks/contrib/llvm/include/llvm/CodeGen/CommandFlags.h projects/building-blocks/contrib/llvm/include/llvm/CodeGen/EdgeBundles.h projects/building-blocks/contrib/llvm/include/llvm/CodeGen/FastISel.h projects/building-blocks/contrib/llvm/include/llvm/CodeGen/FunctionLoweringInfo.h projects/building-blocks/contrib/llvm/include/llvm/CodeGen/GCMetadata.h projects/building-blocks/contrib/llvm/include/llvm/CodeGen/GCStrategy.h projects/building-blocks/contrib/llvm/include/llvm/CodeGen/GCs.h projects/building-blocks/contrib/llvm/include/llvm/CodeGen/ISDOpcodes.h projects/building-blocks/contrib/llvm/include/llvm/CodeGen/IntrinsicLowering.h projects/building-blocks/contrib/llvm/include/llvm/CodeGen/JITCodeEmitter.h projects/building-blocks/contrib/llvm/include/llvm/CodeGen/LatencyPriorityQueue.h projects/building-blocks/contrib/llvm/include/llvm/CodeGen/LexicalScopes.h projects/building-blocks/contrib/llvm/include/llvm/CodeGen/LinkAllCodegenComponents.h projects/building-blocks/contrib/llvm/include/llvm/CodeGen/LiveInterval.h projects/building-blocks/contrib/llvm/include/llvm/CodeGen/LiveIntervalAnalysis.h projects/building-blocks/contrib/llvm/include/llvm/CodeGen/LiveIntervalUnion.h projects/building-blocks/contrib/llvm/include/llvm/CodeGen/LiveRangeEdit.h projects/building-blocks/contrib/llvm/include/llvm/CodeGen/LiveRegMatrix.h projects/building-blocks/contrib/llvm/include/llvm/CodeGen/LiveStackAnalysis.h projects/building-blocks/contrib/llvm/include/llvm/CodeGen/LiveVariables.h projects/building-blocks/contrib/llvm/include/llvm/CodeGen/MachineBasicBlock.h projects/building-blocks/contrib/llvm/include/llvm/CodeGen/MachineBlockFrequencyInfo.h projects/building-blocks/contrib/llvm/include/llvm/CodeGen/MachineBranchProbabilityInfo.h projects/building-blocks/contrib/llvm/include/llvm/CodeGen/MachineCodeEmitter.h projects/building-blocks/contrib/llvm/include/llvm/CodeGen/MachineCodeInfo.h projects/building-blocks/contrib/llvm/include/llvm/CodeGen/MachineConstantPool.h projects/building-blocks/contrib/llvm/include/llvm/CodeGen/MachineDominators.h projects/building-blocks/contrib/llvm/include/llvm/CodeGen/MachineFrameInfo.h projects/building-blocks/contrib/llvm/include/llvm/CodeGen/MachineFunction.h projects/building-blocks/contrib/llvm/include/llvm/CodeGen/MachineFunctionAnalysis.h projects/building-blocks/contrib/llvm/include/llvm/CodeGen/MachineFunctionPass.h projects/building-blocks/contrib/llvm/include/llvm/CodeGen/MachineInstr.h projects/building-blocks/contrib/llvm/include/llvm/CodeGen/MachineInstrBuilder.h projects/building-blocks/contrib/llvm/include/llvm/CodeGen/MachineInstrBundle.h projects/building-blocks/contrib/llvm/include/llvm/CodeGen/MachineLoopInfo.h projects/building-blocks/contrib/llvm/include/llvm/CodeGen/MachineMemOperand.h projects/building-blocks/contrib/llvm/include/llvm/CodeGen/MachineModuleInfo.h projects/building-blocks/contrib/llvm/include/llvm/CodeGen/MachineOperand.h projects/building-blocks/contrib/llvm/include/llvm/CodeGen/MachinePassRegistry.h projects/building-blocks/contrib/llvm/include/llvm/CodeGen/MachinePostDominators.h projects/building-blocks/contrib/llvm/include/llvm/CodeGen/MachineRegisterInfo.h projects/building-blocks/contrib/llvm/include/llvm/CodeGen/MachineSSAUpdater.h projects/building-blocks/contrib/llvm/include/llvm/CodeGen/MachineScheduler.h projects/building-blocks/contrib/llvm/include/llvm/CodeGen/MachineTraceMetrics.h projects/building-blocks/contrib/llvm/include/llvm/CodeGen/PBQP/Graph.h projects/building-blocks/contrib/llvm/include/llvm/CodeGen/PBQP/Math.h projects/building-blocks/contrib/llvm/include/llvm/CodeGen/PBQP/Solution.h projects/building-blocks/contrib/llvm/include/llvm/CodeGen/Passes.h projects/building-blocks/contrib/llvm/include/llvm/CodeGen/PseudoSourceValue.h projects/building-blocks/contrib/llvm/include/llvm/CodeGen/RegAllocPBQP.h projects/building-blocks/contrib/llvm/include/llvm/CodeGen/RegisterClassInfo.h projects/building-blocks/contrib/llvm/include/llvm/CodeGen/RegisterPressure.h projects/building-blocks/contrib/llvm/include/llvm/CodeGen/RegisterScavenging.h projects/building-blocks/contrib/llvm/include/llvm/CodeGen/ResourcePriorityQueue.h projects/building-blocks/contrib/llvm/include/llvm/CodeGen/RuntimeLibcalls.h projects/building-blocks/contrib/llvm/include/llvm/CodeGen/ScheduleDAG.h projects/building-blocks/contrib/llvm/include/llvm/CodeGen/ScheduleDAGInstrs.h projects/building-blocks/contrib/llvm/include/llvm/CodeGen/ScheduleDFS.h projects/building-blocks/contrib/llvm/include/llvm/CodeGen/ScheduleHazardRecognizer.h projects/building-blocks/contrib/llvm/include/llvm/CodeGen/ScoreboardHazardRecognizer.h projects/building-blocks/contrib/llvm/include/llvm/CodeGen/SelectionDAG.h projects/building-blocks/contrib/llvm/include/llvm/CodeGen/SelectionDAGISel.h projects/building-blocks/contrib/llvm/include/llvm/CodeGen/SelectionDAGNodes.h projects/building-blocks/contrib/llvm/include/llvm/CodeGen/SlotIndexes.h projects/building-blocks/contrib/llvm/include/llvm/CodeGen/StackMaps.h projects/building-blocks/contrib/llvm/include/llvm/CodeGen/StackProtector.h projects/building-blocks/contrib/llvm/include/llvm/CodeGen/TargetLoweringObjectFileImpl.h projects/building-blocks/contrib/llvm/include/llvm/CodeGen/TargetSchedule.h projects/building-blocks/contrib/llvm/include/llvm/CodeGen/ValueTypes.h projects/building-blocks/contrib/llvm/include/llvm/CodeGen/VirtRegMap.h projects/building-blocks/contrib/llvm/include/llvm/DebugInfo/DIContext.h projects/building-blocks/contrib/llvm/include/llvm/DebugInfo/DWARFFormValue.h projects/building-blocks/contrib/llvm/include/llvm/ExecutionEngine/ExecutionEngine.h projects/building-blocks/contrib/llvm/include/llvm/ExecutionEngine/JITEventListener.h projects/building-blocks/contrib/llvm/include/llvm/ExecutionEngine/ObjectBuffer.h projects/building-blocks/contrib/llvm/include/llvm/ExecutionEngine/ObjectImage.h projects/building-blocks/contrib/llvm/include/llvm/ExecutionEngine/RTDyldMemoryManager.h projects/building-blocks/contrib/llvm/include/llvm/ExecutionEngine/RuntimeDyld.h projects/building-blocks/contrib/llvm/include/llvm/ExecutionEngine/SectionMemoryManager.h projects/building-blocks/contrib/llvm/include/llvm/IR/Argument.h projects/building-blocks/contrib/llvm/include/llvm/IR/Attributes.h projects/building-blocks/contrib/llvm/include/llvm/IR/BasicBlock.h projects/building-blocks/contrib/llvm/include/llvm/IR/CallingConv.h projects/building-blocks/contrib/llvm/include/llvm/IR/Constant.h projects/building-blocks/contrib/llvm/include/llvm/IR/Constants.h projects/building-blocks/contrib/llvm/include/llvm/IR/DataLayout.h projects/building-blocks/contrib/llvm/include/llvm/IR/DerivedTypes.h projects/building-blocks/contrib/llvm/include/llvm/IR/Function.h projects/building-blocks/contrib/llvm/include/llvm/IR/GlobalAlias.h projects/building-blocks/contrib/llvm/include/llvm/IR/GlobalValue.h projects/building-blocks/contrib/llvm/include/llvm/IR/GlobalVariable.h projects/building-blocks/contrib/llvm/include/llvm/IR/IRBuilder.h projects/building-blocks/contrib/llvm/include/llvm/IR/InlineAsm.h projects/building-blocks/contrib/llvm/include/llvm/IR/InstrTypes.h projects/building-blocks/contrib/llvm/include/llvm/IR/Instruction.h projects/building-blocks/contrib/llvm/include/llvm/IR/Instructions.h projects/building-blocks/contrib/llvm/include/llvm/IR/IntrinsicInst.h projects/building-blocks/contrib/llvm/include/llvm/IR/Intrinsics.h projects/building-blocks/contrib/llvm/include/llvm/IR/Intrinsics.td projects/building-blocks/contrib/llvm/include/llvm/IR/IntrinsicsAArch64.td projects/building-blocks/contrib/llvm/include/llvm/IR/IntrinsicsARM.td projects/building-blocks/contrib/llvm/include/llvm/IR/IntrinsicsMips.td projects/building-blocks/contrib/llvm/include/llvm/IR/IntrinsicsNVVM.td projects/building-blocks/contrib/llvm/include/llvm/IR/IntrinsicsR600.td projects/building-blocks/contrib/llvm/include/llvm/IR/IntrinsicsX86.td projects/building-blocks/contrib/llvm/include/llvm/IR/IntrinsicsXCore.td projects/building-blocks/contrib/llvm/include/llvm/IR/LLVMContext.h projects/building-blocks/contrib/llvm/include/llvm/IR/LegacyPassManager.h projects/building-blocks/contrib/llvm/include/llvm/IR/LegacyPassManagers.h projects/building-blocks/contrib/llvm/include/llvm/IR/MDBuilder.h projects/building-blocks/contrib/llvm/include/llvm/IR/Metadata.h projects/building-blocks/contrib/llvm/include/llvm/IR/Module.h projects/building-blocks/contrib/llvm/include/llvm/IR/Operator.h projects/building-blocks/contrib/llvm/include/llvm/IR/PassManager.h projects/building-blocks/contrib/llvm/include/llvm/IR/SymbolTableListTraits.h projects/building-blocks/contrib/llvm/include/llvm/IR/Type.h projects/building-blocks/contrib/llvm/include/llvm/IR/Use.h projects/building-blocks/contrib/llvm/include/llvm/IR/User.h projects/building-blocks/contrib/llvm/include/llvm/IR/Value.h projects/building-blocks/contrib/llvm/include/llvm/IRReader/IRReader.h projects/building-blocks/contrib/llvm/include/llvm/InitializePasses.h projects/building-blocks/contrib/llvm/include/llvm/LTO/LTOCodeGenerator.h projects/building-blocks/contrib/llvm/include/llvm/LTO/LTOModule.h projects/building-blocks/contrib/llvm/include/llvm/LinkAllIR.h projects/building-blocks/contrib/llvm/include/llvm/LinkAllPasses.h projects/building-blocks/contrib/llvm/include/llvm/MC/MCAsmBackend.h projects/building-blocks/contrib/llvm/include/llvm/MC/MCAsmInfo.h projects/building-blocks/contrib/llvm/include/llvm/MC/MCAsmInfoCOFF.h projects/building-blocks/contrib/llvm/include/llvm/MC/MCAsmLayout.h projects/building-blocks/contrib/llvm/include/llvm/MC/MCAssembler.h projects/building-blocks/contrib/llvm/include/llvm/MC/MCCodeEmitter.h projects/building-blocks/contrib/llvm/include/llvm/MC/MCContext.h projects/building-blocks/contrib/llvm/include/llvm/MC/MCDirectives.h projects/building-blocks/contrib/llvm/include/llvm/MC/MCDisassembler.h projects/building-blocks/contrib/llvm/include/llvm/MC/MCDwarf.h projects/building-blocks/contrib/llvm/include/llvm/MC/MCELF.h projects/building-blocks/contrib/llvm/include/llvm/MC/MCELFObjectWriter.h projects/building-blocks/contrib/llvm/include/llvm/MC/MCELFStreamer.h projects/building-blocks/contrib/llvm/include/llvm/MC/MCELFSymbolFlags.h projects/building-blocks/contrib/llvm/include/llvm/MC/MCExpr.h projects/building-blocks/contrib/llvm/include/llvm/MC/MCExternalSymbolizer.h projects/building-blocks/contrib/llvm/include/llvm/MC/MCFixup.h projects/building-blocks/contrib/llvm/include/llvm/MC/MCInst.h projects/building-blocks/contrib/llvm/include/llvm/MC/MCInstPrinter.h projects/building-blocks/contrib/llvm/include/llvm/MC/MCInstrAnalysis.h projects/building-blocks/contrib/llvm/include/llvm/MC/MCInstrDesc.h projects/building-blocks/contrib/llvm/include/llvm/MC/MCInstrItineraries.h projects/building-blocks/contrib/llvm/include/llvm/MC/MCMachObjectWriter.h projects/building-blocks/contrib/llvm/include/llvm/MC/MCObjectDisassembler.h projects/building-blocks/contrib/llvm/include/llvm/MC/MCObjectFileInfo.h projects/building-blocks/contrib/llvm/include/llvm/MC/MCObjectStreamer.h projects/building-blocks/contrib/llvm/include/llvm/MC/MCObjectSymbolizer.h projects/building-blocks/contrib/llvm/include/llvm/MC/MCObjectWriter.h projects/building-blocks/contrib/llvm/include/llvm/MC/MCParser/AsmLexer.h projects/building-blocks/contrib/llvm/include/llvm/MC/MCParser/MCAsmLexer.h projects/building-blocks/contrib/llvm/include/llvm/MC/MCParser/MCAsmParser.h projects/building-blocks/contrib/llvm/include/llvm/MC/MCParser/MCParsedAsmOperand.h projects/building-blocks/contrib/llvm/include/llvm/MC/MCRegisterInfo.h projects/building-blocks/contrib/llvm/include/llvm/MC/MCSchedule.h projects/building-blocks/contrib/llvm/include/llvm/MC/MCSectionCOFF.h projects/building-blocks/contrib/llvm/include/llvm/MC/MCSectionELF.h projects/building-blocks/contrib/llvm/include/llvm/MC/MCSectionMachO.h projects/building-blocks/contrib/llvm/include/llvm/MC/MCStreamer.h projects/building-blocks/contrib/llvm/include/llvm/MC/MCSubtargetInfo.h projects/building-blocks/contrib/llvm/include/llvm/MC/MCSymbol.h projects/building-blocks/contrib/llvm/include/llvm/MC/MCSymbolizer.h projects/building-blocks/contrib/llvm/include/llvm/MC/MCTargetAsmParser.h projects/building-blocks/contrib/llvm/include/llvm/MC/MCValue.h projects/building-blocks/contrib/llvm/include/llvm/MC/MCWin64EH.h projects/building-blocks/contrib/llvm/include/llvm/MC/MCWinCOFFObjectWriter.h projects/building-blocks/contrib/llvm/include/llvm/MC/MachineLocation.h projects/building-blocks/contrib/llvm/include/llvm/MC/SubtargetFeature.h projects/building-blocks/contrib/llvm/include/llvm/Object/Archive.h projects/building-blocks/contrib/llvm/include/llvm/Object/Binary.h projects/building-blocks/contrib/llvm/include/llvm/Object/COFF.h projects/building-blocks/contrib/llvm/include/llvm/Object/COFFYAML.h projects/building-blocks/contrib/llvm/include/llvm/Object/ELF.h projects/building-blocks/contrib/llvm/include/llvm/Object/ELFObjectFile.h projects/building-blocks/contrib/llvm/include/llvm/Object/ELFYAML.h projects/building-blocks/contrib/llvm/include/llvm/Object/Error.h projects/building-blocks/contrib/llvm/include/llvm/Object/MachO.h projects/building-blocks/contrib/llvm/include/llvm/Object/MachOUniversal.h projects/building-blocks/contrib/llvm/include/llvm/Object/ObjectFile.h projects/building-blocks/contrib/llvm/include/llvm/Object/RelocVisitor.h projects/building-blocks/contrib/llvm/include/llvm/Option/Arg.h projects/building-blocks/contrib/llvm/include/llvm/Option/ArgList.h projects/building-blocks/contrib/llvm/include/llvm/Option/OptParser.td projects/building-blocks/contrib/llvm/include/llvm/Option/OptSpecifier.h projects/building-blocks/contrib/llvm/include/llvm/Option/Option.h projects/building-blocks/contrib/llvm/include/llvm/Pass.h projects/building-blocks/contrib/llvm/include/llvm/PassAnalysisSupport.h projects/building-blocks/contrib/llvm/include/llvm/PassRegistry.h projects/building-blocks/contrib/llvm/include/llvm/PassSupport.h projects/building-blocks/contrib/llvm/include/llvm/Support/AlignOf.h projects/building-blocks/contrib/llvm/include/llvm/Support/Allocator.h projects/building-blocks/contrib/llvm/include/llvm/Support/ArrayRecycler.h projects/building-blocks/contrib/llvm/include/llvm/Support/BlockFrequency.h projects/building-blocks/contrib/llvm/include/llvm/Support/BranchProbability.h projects/building-blocks/contrib/llvm/include/llvm/Support/COFF.h projects/building-blocks/contrib/llvm/include/llvm/Support/Casting.h projects/building-blocks/contrib/llvm/include/llvm/Support/CodeGen.h projects/building-blocks/contrib/llvm/include/llvm/Support/CommandLine.h projects/building-blocks/contrib/llvm/include/llvm/Support/Compiler.h projects/building-blocks/contrib/llvm/include/llvm/Support/Compression.h projects/building-blocks/contrib/llvm/include/llvm/Support/ConvertUTF.h projects/building-blocks/contrib/llvm/include/llvm/Support/CrashRecoveryContext.h projects/building-blocks/contrib/llvm/include/llvm/Support/DataTypes.h.in projects/building-blocks/contrib/llvm/include/llvm/Support/Debug.h projects/building-blocks/contrib/llvm/include/llvm/Support/Dwarf.h projects/building-blocks/contrib/llvm/include/llvm/Support/DynamicLibrary.h projects/building-blocks/contrib/llvm/include/llvm/Support/ELF.h projects/building-blocks/contrib/llvm/include/llvm/Support/Endian.h projects/building-blocks/contrib/llvm/include/llvm/Support/ErrorHandling.h projects/building-blocks/contrib/llvm/include/llvm/Support/ErrorOr.h projects/building-blocks/contrib/llvm/include/llvm/Support/FileOutputBuffer.h projects/building-blocks/contrib/llvm/include/llvm/Support/FileSystem.h projects/building-blocks/contrib/llvm/include/llvm/Support/FileUtilities.h projects/building-blocks/contrib/llvm/include/llvm/Support/Format.h projects/building-blocks/contrib/llvm/include/llvm/Support/FormattedStream.h projects/building-blocks/contrib/llvm/include/llvm/Support/GCOV.h projects/building-blocks/contrib/llvm/include/llvm/Support/GraphWriter.h projects/building-blocks/contrib/llvm/include/llvm/Support/Host.h projects/building-blocks/contrib/llvm/include/llvm/Support/LEB128.h projects/building-blocks/contrib/llvm/include/llvm/Support/LockFileManager.h projects/building-blocks/contrib/llvm/include/llvm/Support/MD5.h projects/building-blocks/contrib/llvm/include/llvm/Support/MachO.h projects/building-blocks/contrib/llvm/include/llvm/Support/ManagedStatic.h projects/building-blocks/contrib/llvm/include/llvm/Support/MathExtras.h projects/building-blocks/contrib/llvm/include/llvm/Support/Memory.h projects/building-blocks/contrib/llvm/include/llvm/Support/MemoryBuffer.h projects/building-blocks/contrib/llvm/include/llvm/Support/Path.h projects/building-blocks/contrib/llvm/include/llvm/Support/PrettyStackTrace.h projects/building-blocks/contrib/llvm/include/llvm/Support/Process.h projects/building-blocks/contrib/llvm/include/llvm/Support/Program.h projects/building-blocks/contrib/llvm/include/llvm/Support/Recycler.h projects/building-blocks/contrib/llvm/include/llvm/Support/Regex.h projects/building-blocks/contrib/llvm/include/llvm/Support/Registry.h projects/building-blocks/contrib/llvm/include/llvm/Support/SMLoc.h projects/building-blocks/contrib/llvm/include/llvm/Support/SaveAndRestore.h projects/building-blocks/contrib/llvm/include/llvm/Support/Signals.h projects/building-blocks/contrib/llvm/include/llvm/Support/SourceMgr.h projects/building-blocks/contrib/llvm/include/llvm/Support/StreamableMemoryObject.h projects/building-blocks/contrib/llvm/include/llvm/Support/StringPool.h projects/building-blocks/contrib/llvm/include/llvm/Support/StringRefMemoryObject.h projects/building-blocks/contrib/llvm/include/llvm/Support/SwapByteOrder.h projects/building-blocks/contrib/llvm/include/llvm/Support/TargetRegistry.h projects/building-blocks/contrib/llvm/include/llvm/Support/Threading.h projects/building-blocks/contrib/llvm/include/llvm/Support/TimeValue.h projects/building-blocks/contrib/llvm/include/llvm/Support/Timer.h projects/building-blocks/contrib/llvm/include/llvm/Support/ToolOutputFile.h projects/building-blocks/contrib/llvm/include/llvm/Support/Unicode.h projects/building-blocks/contrib/llvm/include/llvm/Support/UnicodeCharRanges.h projects/building-blocks/contrib/llvm/include/llvm/Support/Valgrind.h projects/building-blocks/contrib/llvm/include/llvm/Support/Win64EH.h projects/building-blocks/contrib/llvm/include/llvm/Support/YAMLParser.h projects/building-blocks/contrib/llvm/include/llvm/Support/YAMLTraits.h projects/building-blocks/contrib/llvm/include/llvm/Support/circular_raw_ostream.h projects/building-blocks/contrib/llvm/include/llvm/Support/raw_os_ostream.h projects/building-blocks/contrib/llvm/include/llvm/Support/raw_ostream.h projects/building-blocks/contrib/llvm/include/llvm/Support/type_traits.h projects/building-blocks/contrib/llvm/include/llvm/TableGen/Error.h projects/building-blocks/contrib/llvm/include/llvm/TableGen/Main.h projects/building-blocks/contrib/llvm/include/llvm/TableGen/Record.h projects/building-blocks/contrib/llvm/include/llvm/TableGen/StringMatcher.h projects/building-blocks/contrib/llvm/include/llvm/TableGen/StringToOffsetTable.h projects/building-blocks/contrib/llvm/include/llvm/Target/Target.td projects/building-blocks/contrib/llvm/include/llvm/Target/TargetCallingConv.h projects/building-blocks/contrib/llvm/include/llvm/Target/TargetCallingConv.td projects/building-blocks/contrib/llvm/include/llvm/Target/TargetFrameLowering.h projects/building-blocks/contrib/llvm/include/llvm/Target/TargetInstrInfo.h projects/building-blocks/contrib/llvm/include/llvm/Target/TargetIntrinsicInfo.h projects/building-blocks/contrib/llvm/include/llvm/Target/TargetLibraryInfo.h projects/building-blocks/contrib/llvm/include/llvm/Target/TargetLowering.h projects/building-blocks/contrib/llvm/include/llvm/Target/TargetLoweringObjectFile.h projects/building-blocks/contrib/llvm/include/llvm/Target/TargetMachine.h projects/building-blocks/contrib/llvm/include/llvm/Target/TargetOpcodes.h projects/building-blocks/contrib/llvm/include/llvm/Target/TargetOptions.h projects/building-blocks/contrib/llvm/include/llvm/Target/TargetRegisterInfo.h projects/building-blocks/contrib/llvm/include/llvm/Target/TargetSchedule.td projects/building-blocks/contrib/llvm/include/llvm/Target/TargetSelectionDAG.td projects/building-blocks/contrib/llvm/include/llvm/Target/TargetSelectionDAGInfo.h projects/building-blocks/contrib/llvm/include/llvm/Target/TargetSubtargetInfo.h projects/building-blocks/contrib/llvm/include/llvm/Transforms/IPO.h projects/building-blocks/contrib/llvm/include/llvm/Transforms/IPO/InlinerPass.h projects/building-blocks/contrib/llvm/include/llvm/Transforms/IPO/PassManagerBuilder.h projects/building-blocks/contrib/llvm/include/llvm/Transforms/Instrumentation.h projects/building-blocks/contrib/llvm/include/llvm/Transforms/ObjCARC.h projects/building-blocks/contrib/llvm/include/llvm/Transforms/Scalar.h projects/building-blocks/contrib/llvm/include/llvm/Transforms/Utils/BasicBlockUtils.h projects/building-blocks/contrib/llvm/include/llvm/Transforms/Utils/BuildLibCalls.h projects/building-blocks/contrib/llvm/include/llvm/Transforms/Utils/Cloning.h projects/building-blocks/contrib/llvm/include/llvm/Transforms/Utils/CmpInstAnalysis.h projects/building-blocks/contrib/llvm/include/llvm/Transforms/Utils/CodeExtractor.h projects/building-blocks/contrib/llvm/include/llvm/Transforms/Utils/IntegerDivision.h projects/building-blocks/contrib/llvm/include/llvm/Transforms/Utils/Local.h projects/building-blocks/contrib/llvm/include/llvm/Transforms/Utils/LoopUtils.h projects/building-blocks/contrib/llvm/include/llvm/Transforms/Utils/PromoteMemToReg.h projects/building-blocks/contrib/llvm/include/llvm/Transforms/Utils/SSAUpdater.h projects/building-blocks/contrib/llvm/include/llvm/Transforms/Utils/SSAUpdaterImpl.h projects/building-blocks/contrib/llvm/include/llvm/Transforms/Utils/SimplifyIndVar.h projects/building-blocks/contrib/llvm/include/llvm/Transforms/Utils/SimplifyLibCalls.h projects/building-blocks/contrib/llvm/include/llvm/Transforms/Utils/UnifyFunctionExitNodes.h projects/building-blocks/contrib/llvm/include/llvm/Transforms/Utils/UnrollLoop.h projects/building-blocks/contrib/llvm/include/llvm/Transforms/Utils/ValueMapper.h projects/building-blocks/contrib/llvm/include/llvm/Transforms/Vectorize.h projects/building-blocks/contrib/llvm/lib/Analysis/AliasAnalysis.cpp projects/building-blocks/contrib/llvm/lib/Analysis/AliasAnalysisCounter.cpp projects/building-blocks/contrib/llvm/lib/Analysis/AliasAnalysisEvaluator.cpp projects/building-blocks/contrib/llvm/lib/Analysis/AliasDebugger.cpp projects/building-blocks/contrib/llvm/lib/Analysis/AliasSetTracker.cpp projects/building-blocks/contrib/llvm/lib/Analysis/Analysis.cpp projects/building-blocks/contrib/llvm/lib/Analysis/BasicAliasAnalysis.cpp projects/building-blocks/contrib/llvm/lib/Analysis/BlockFrequencyInfo.cpp projects/building-blocks/contrib/llvm/lib/Analysis/BranchProbabilityInfo.cpp projects/building-blocks/contrib/llvm/lib/Analysis/CFG.cpp projects/building-blocks/contrib/llvm/lib/Analysis/CFGPrinter.cpp projects/building-blocks/contrib/llvm/lib/Analysis/CaptureTracking.cpp projects/building-blocks/contrib/llvm/lib/Analysis/CodeMetrics.cpp projects/building-blocks/contrib/llvm/lib/Analysis/ConstantFolding.cpp projects/building-blocks/contrib/llvm/lib/Analysis/CostModel.cpp projects/building-blocks/contrib/llvm/lib/Analysis/Delinearization.cpp projects/building-blocks/contrib/llvm/lib/Analysis/DependenceAnalysis.cpp projects/building-blocks/contrib/llvm/lib/Analysis/DomPrinter.cpp projects/building-blocks/contrib/llvm/lib/Analysis/DominanceFrontier.cpp projects/building-blocks/contrib/llvm/lib/Analysis/IPA/CallGraph.cpp projects/building-blocks/contrib/llvm/lib/Analysis/IPA/CallGraphSCCPass.cpp projects/building-blocks/contrib/llvm/lib/Analysis/IPA/CallPrinter.cpp projects/building-blocks/contrib/llvm/lib/Analysis/IPA/FindUsedTypes.cpp projects/building-blocks/contrib/llvm/lib/Analysis/IPA/GlobalsModRef.cpp projects/building-blocks/contrib/llvm/lib/Analysis/IPA/IPA.cpp projects/building-blocks/contrib/llvm/lib/Analysis/IPA/InlineCost.cpp projects/building-blocks/contrib/llvm/lib/Analysis/IVUsers.cpp projects/building-blocks/contrib/llvm/lib/Analysis/InstCount.cpp projects/building-blocks/contrib/llvm/lib/Analysis/InstructionSimplify.cpp projects/building-blocks/contrib/llvm/lib/Analysis/Interval.cpp projects/building-blocks/contrib/llvm/lib/Analysis/IntervalPartition.cpp projects/building-blocks/contrib/llvm/lib/Analysis/LazyValueInfo.cpp projects/building-blocks/contrib/llvm/lib/Analysis/LibCallAliasAnalysis.cpp projects/building-blocks/contrib/llvm/lib/Analysis/LibCallSemantics.cpp projects/building-blocks/contrib/llvm/lib/Analysis/Lint.cpp projects/building-blocks/contrib/llvm/lib/Analysis/Loads.cpp projects/building-blocks/contrib/llvm/lib/Analysis/LoopInfo.cpp projects/building-blocks/contrib/llvm/lib/Analysis/LoopPass.cpp projects/building-blocks/contrib/llvm/lib/Analysis/MemDepPrinter.cpp projects/building-blocks/contrib/llvm/lib/Analysis/MemoryBuiltins.cpp projects/building-blocks/contrib/llvm/lib/Analysis/MemoryDependenceAnalysis.cpp projects/building-blocks/contrib/llvm/lib/Analysis/ModuleDebugInfoPrinter.cpp projects/building-blocks/contrib/llvm/lib/Analysis/NoAliasAnalysis.cpp projects/building-blocks/contrib/llvm/lib/Analysis/PHITransAddr.cpp projects/building-blocks/contrib/llvm/lib/Analysis/PostDominators.cpp projects/building-blocks/contrib/llvm/lib/Analysis/PtrUseVisitor.cpp projects/building-blocks/contrib/llvm/lib/Analysis/RegionInfo.cpp projects/building-blocks/contrib/llvm/lib/Analysis/RegionPass.cpp projects/building-blocks/contrib/llvm/lib/Analysis/RegionPrinter.cpp projects/building-blocks/contrib/llvm/lib/Analysis/ScalarEvolution.cpp projects/building-blocks/contrib/llvm/lib/Analysis/ScalarEvolutionAliasAnalysis.cpp projects/building-blocks/contrib/llvm/lib/Analysis/ScalarEvolutionExpander.cpp projects/building-blocks/contrib/llvm/lib/Analysis/ScalarEvolutionNormalization.cpp projects/building-blocks/contrib/llvm/lib/Analysis/SparsePropagation.cpp projects/building-blocks/contrib/llvm/lib/Analysis/TargetTransformInfo.cpp projects/building-blocks/contrib/llvm/lib/Analysis/Trace.cpp projects/building-blocks/contrib/llvm/lib/Analysis/TypeBasedAliasAnalysis.cpp projects/building-blocks/contrib/llvm/lib/Analysis/ValueTracking.cpp projects/building-blocks/contrib/llvm/lib/AsmParser/LLLexer.cpp projects/building-blocks/contrib/llvm/lib/AsmParser/LLLexer.h projects/building-blocks/contrib/llvm/lib/AsmParser/LLParser.cpp projects/building-blocks/contrib/llvm/lib/AsmParser/LLParser.h projects/building-blocks/contrib/llvm/lib/AsmParser/LLToken.h projects/building-blocks/contrib/llvm/lib/AsmParser/Parser.cpp projects/building-blocks/contrib/llvm/lib/Bitcode/Reader/BitReader.cpp projects/building-blocks/contrib/llvm/lib/Bitcode/Reader/BitcodeReader.cpp projects/building-blocks/contrib/llvm/lib/Bitcode/Reader/BitcodeReader.h projects/building-blocks/contrib/llvm/lib/Bitcode/Reader/BitstreamReader.cpp projects/building-blocks/contrib/llvm/lib/Bitcode/Writer/BitWriter.cpp projects/building-blocks/contrib/llvm/lib/Bitcode/Writer/BitcodeWriter.cpp projects/building-blocks/contrib/llvm/lib/Bitcode/Writer/BitcodeWriterPass.cpp projects/building-blocks/contrib/llvm/lib/Bitcode/Writer/ValueEnumerator.cpp projects/building-blocks/contrib/llvm/lib/Bitcode/Writer/ValueEnumerator.h projects/building-blocks/contrib/llvm/lib/CodeGen/AggressiveAntiDepBreaker.cpp projects/building-blocks/contrib/llvm/lib/CodeGen/AggressiveAntiDepBreaker.h projects/building-blocks/contrib/llvm/lib/CodeGen/AllocationOrder.cpp projects/building-blocks/contrib/llvm/lib/CodeGen/AllocationOrder.h projects/building-blocks/contrib/llvm/lib/CodeGen/Analysis.cpp projects/building-blocks/contrib/llvm/lib/CodeGen/AsmPrinter/ARMException.cpp projects/building-blocks/contrib/llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp projects/building-blocks/contrib/llvm/lib/CodeGen/AsmPrinter/AsmPrinterDwarf.cpp projects/building-blocks/contrib/llvm/lib/CodeGen/AsmPrinter/AsmPrinterInlineAsm.cpp projects/building-blocks/contrib/llvm/lib/CodeGen/AsmPrinter/DIE.cpp projects/building-blocks/contrib/llvm/lib/CodeGen/AsmPrinter/DIE.h projects/building-blocks/contrib/llvm/lib/CodeGen/AsmPrinter/DIEHash.cpp projects/building-blocks/contrib/llvm/lib/CodeGen/AsmPrinter/DIEHash.h projects/building-blocks/contrib/llvm/lib/CodeGen/AsmPrinter/DwarfAccelTable.cpp projects/building-blocks/contrib/llvm/lib/CodeGen/AsmPrinter/DwarfAccelTable.h projects/building-blocks/contrib/llvm/lib/CodeGen/AsmPrinter/DwarfCFIException.cpp projects/building-blocks/contrib/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp projects/building-blocks/contrib/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.h projects/building-blocks/contrib/llvm/lib/CodeGen/AsmPrinter/DwarfException.h projects/building-blocks/contrib/llvm/lib/CodeGen/AsmPrinter/ErlangGCPrinter.cpp projects/building-blocks/contrib/llvm/lib/CodeGen/AsmPrinter/OcamlGCPrinter.cpp projects/building-blocks/contrib/llvm/lib/CodeGen/AsmPrinter/Win64Exception.cpp projects/building-blocks/contrib/llvm/lib/CodeGen/BasicTargetTransformInfo.cpp projects/building-blocks/contrib/llvm/lib/CodeGen/BranchFolding.cpp projects/building-blocks/contrib/llvm/lib/CodeGen/CalcSpillWeights.cpp projects/building-blocks/contrib/llvm/lib/CodeGen/CallingConvLower.cpp projects/building-blocks/contrib/llvm/lib/CodeGen/CodeGen.cpp projects/building-blocks/contrib/llvm/lib/CodeGen/CriticalAntiDepBreaker.cpp projects/building-blocks/contrib/llvm/lib/CodeGen/CriticalAntiDepBreaker.h projects/building-blocks/contrib/llvm/lib/CodeGen/DFAPacketizer.cpp projects/building-blocks/contrib/llvm/lib/CodeGen/DeadMachineInstructionElim.cpp projects/building-blocks/contrib/llvm/lib/CodeGen/DwarfEHPrepare.cpp projects/building-blocks/contrib/llvm/lib/CodeGen/EarlyIfConversion.cpp projects/building-blocks/contrib/llvm/lib/CodeGen/EdgeBundles.cpp projects/building-blocks/contrib/llvm/lib/CodeGen/ErlangGC.cpp projects/building-blocks/contrib/llvm/lib/CodeGen/ExecutionDepsFix.cpp projects/building-blocks/contrib/llvm/lib/CodeGen/ExpandISelPseudos.cpp projects/building-blocks/contrib/llvm/lib/CodeGen/ExpandPostRAPseudos.cpp projects/building-blocks/contrib/llvm/lib/CodeGen/GCMetadata.cpp projects/building-blocks/contrib/llvm/lib/CodeGen/GCStrategy.cpp projects/building-blocks/contrib/llvm/lib/CodeGen/IfConversion.cpp projects/building-blocks/contrib/llvm/lib/CodeGen/InlineSpiller.cpp projects/building-blocks/contrib/llvm/lib/CodeGen/InterferenceCache.cpp projects/building-blocks/contrib/llvm/lib/CodeGen/InterferenceCache.h projects/building-blocks/contrib/llvm/lib/CodeGen/IntrinsicLowering.cpp projects/building-blocks/contrib/llvm/lib/CodeGen/LLVMTargetMachine.cpp projects/building-blocks/contrib/llvm/lib/CodeGen/LatencyPriorityQueue.cpp projects/building-blocks/contrib/llvm/lib/CodeGen/LexicalScopes.cpp projects/building-blocks/contrib/llvm/lib/CodeGen/LiveDebugVariables.cpp projects/building-blocks/contrib/llvm/lib/CodeGen/LiveDebugVariables.h projects/building-blocks/contrib/llvm/lib/CodeGen/LiveInterval.cpp projects/building-blocks/contrib/llvm/lib/CodeGen/LiveIntervalAnalysis.cpp projects/building-blocks/contrib/llvm/lib/CodeGen/LiveIntervalUnion.cpp projects/building-blocks/contrib/llvm/lib/CodeGen/LiveRangeCalc.cpp projects/building-blocks/contrib/llvm/lib/CodeGen/LiveRangeCalc.h projects/building-blocks/contrib/llvm/lib/CodeGen/LiveRangeEdit.cpp projects/building-blocks/contrib/llvm/lib/CodeGen/LiveRegMatrix.cpp projects/building-blocks/contrib/llvm/lib/CodeGen/LiveStackAnalysis.cpp projects/building-blocks/contrib/llvm/lib/CodeGen/LiveVariables.cpp projects/building-blocks/contrib/llvm/lib/CodeGen/LocalStackSlotAllocation.cpp projects/building-blocks/contrib/llvm/lib/CodeGen/MachineBasicBlock.cpp projects/building-blocks/contrib/llvm/lib/CodeGen/MachineBlockFrequencyInfo.cpp projects/building-blocks/contrib/llvm/lib/CodeGen/MachineBlockPlacement.cpp projects/building-blocks/contrib/llvm/lib/CodeGen/MachineBranchProbabilityInfo.cpp projects/building-blocks/contrib/llvm/lib/CodeGen/MachineCSE.cpp projects/building-blocks/contrib/llvm/lib/CodeGen/MachineCopyPropagation.cpp projects/building-blocks/contrib/llvm/lib/CodeGen/MachineFunction.cpp projects/building-blocks/contrib/llvm/lib/CodeGen/MachineFunctionAnalysis.cpp projects/building-blocks/contrib/llvm/lib/CodeGen/MachineFunctionPass.cpp projects/building-blocks/contrib/llvm/lib/CodeGen/MachineFunctionPrinterPass.cpp projects/building-blocks/contrib/llvm/lib/CodeGen/MachineInstr.cpp projects/building-blocks/contrib/llvm/lib/CodeGen/MachineInstrBundle.cpp projects/building-blocks/contrib/llvm/lib/CodeGen/MachineLICM.cpp projects/building-blocks/contrib/llvm/lib/CodeGen/MachineLoopInfo.cpp projects/building-blocks/contrib/llvm/lib/CodeGen/MachineModuleInfo.cpp projects/building-blocks/contrib/llvm/lib/CodeGen/MachinePassRegistry.cpp projects/building-blocks/contrib/llvm/lib/CodeGen/MachineRegisterInfo.cpp projects/building-blocks/contrib/llvm/lib/CodeGen/MachineSSAUpdater.cpp projects/building-blocks/contrib/llvm/lib/CodeGen/MachineScheduler.cpp projects/building-blocks/contrib/llvm/lib/CodeGen/MachineSink.cpp projects/building-blocks/contrib/llvm/lib/CodeGen/MachineTraceMetrics.cpp projects/building-blocks/contrib/llvm/lib/CodeGen/MachineVerifier.cpp projects/building-blocks/contrib/llvm/lib/CodeGen/OptimizePHIs.cpp projects/building-blocks/contrib/llvm/lib/CodeGen/PHIElimination.cpp projects/building-blocks/contrib/llvm/lib/CodeGen/PHIEliminationUtils.cpp projects/building-blocks/contrib/llvm/lib/CodeGen/Passes.cpp projects/building-blocks/contrib/llvm/lib/CodeGen/PeepholeOptimizer.cpp projects/building-blocks/contrib/llvm/lib/CodeGen/PostRASchedulerList.cpp projects/building-blocks/contrib/llvm/lib/CodeGen/ProcessImplicitDefs.cpp projects/building-blocks/contrib/llvm/lib/CodeGen/PrologEpilogInserter.cpp projects/building-blocks/contrib/llvm/lib/CodeGen/PrologEpilogInserter.h projects/building-blocks/contrib/llvm/lib/CodeGen/PseudoSourceValue.cpp projects/building-blocks/contrib/llvm/lib/CodeGen/RegAllocBase.cpp projects/building-blocks/contrib/llvm/lib/CodeGen/RegAllocBase.h projects/building-blocks/contrib/llvm/lib/CodeGen/RegAllocBasic.cpp projects/building-blocks/contrib/llvm/lib/CodeGen/RegAllocFast.cpp projects/building-blocks/contrib/llvm/lib/CodeGen/RegAllocGreedy.cpp projects/building-blocks/contrib/llvm/lib/CodeGen/RegAllocPBQP.cpp projects/building-blocks/contrib/llvm/lib/CodeGen/RegisterClassInfo.cpp projects/building-blocks/contrib/llvm/lib/CodeGen/RegisterCoalescer.cpp projects/building-blocks/contrib/llvm/lib/CodeGen/RegisterCoalescer.h projects/building-blocks/contrib/llvm/lib/CodeGen/RegisterPressure.cpp projects/building-blocks/contrib/llvm/lib/CodeGen/RegisterScavenging.cpp projects/building-blocks/contrib/llvm/lib/CodeGen/ScheduleDAG.cpp projects/building-blocks/contrib/llvm/lib/CodeGen/ScheduleDAGInstrs.cpp projects/building-blocks/contrib/llvm/lib/CodeGen/ScheduleDAGPrinter.cpp projects/building-blocks/contrib/llvm/lib/CodeGen/ScoreboardHazardRecognizer.cpp projects/building-blocks/contrib/llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp projects/building-blocks/contrib/llvm/lib/CodeGen/SelectionDAG/FastISel.cpp projects/building-blocks/contrib/llvm/lib/CodeGen/SelectionDAG/FunctionLoweringInfo.cpp projects/building-blocks/contrib/llvm/lib/CodeGen/SelectionDAG/InstrEmitter.cpp projects/building-blocks/contrib/llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp projects/building-blocks/contrib/llvm/lib/CodeGen/SelectionDAG/LegalizeFloatTypes.cpp projects/building-blocks/contrib/llvm/lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp projects/building-blocks/contrib/llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.cpp projects/building-blocks/contrib/llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h projects/building-blocks/contrib/llvm/lib/CodeGen/SelectionDAG/LegalizeTypesGeneric.cpp projects/building-blocks/contrib/llvm/lib/CodeGen/SelectionDAG/LegalizeVectorOps.cpp projects/building-blocks/contrib/llvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp projects/building-blocks/contrib/llvm/lib/CodeGen/SelectionDAG/ResourcePriorityQueue.cpp projects/building-blocks/contrib/llvm/lib/CodeGen/SelectionDAG/SDNodeDbgValue.h projects/building-blocks/contrib/llvm/lib/CodeGen/SelectionDAG/ScheduleDAGFast.cpp projects/building-blocks/contrib/llvm/lib/CodeGen/SelectionDAG/ScheduleDAGRRList.cpp projects/building-blocks/contrib/llvm/lib/CodeGen/SelectionDAG/ScheduleDAGSDNodes.cpp projects/building-blocks/contrib/llvm/lib/CodeGen/SelectionDAG/ScheduleDAGSDNodes.h projects/building-blocks/contrib/llvm/lib/CodeGen/SelectionDAG/ScheduleDAGVLIW.cpp projects/building-blocks/contrib/llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp projects/building-blocks/contrib/llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp projects/building-blocks/contrib/llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.h projects/building-blocks/contrib/llvm/lib/CodeGen/SelectionDAG/SelectionDAGDumper.cpp projects/building-blocks/contrib/llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp projects/building-blocks/contrib/llvm/lib/CodeGen/SelectionDAG/SelectionDAGPrinter.cpp projects/building-blocks/contrib/llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp projects/building-blocks/contrib/llvm/lib/CodeGen/SelectionDAG/TargetSelectionDAGInfo.cpp projects/building-blocks/contrib/llvm/lib/CodeGen/ShadowStackGC.cpp projects/building-blocks/contrib/llvm/lib/CodeGen/SjLjEHPrepare.cpp projects/building-blocks/contrib/llvm/lib/CodeGen/SlotIndexes.cpp projects/building-blocks/contrib/llvm/lib/CodeGen/SpillPlacement.cpp projects/building-blocks/contrib/llvm/lib/CodeGen/SpillPlacement.h projects/building-blocks/contrib/llvm/lib/CodeGen/Spiller.cpp projects/building-blocks/contrib/llvm/lib/CodeGen/SplitKit.cpp projects/building-blocks/contrib/llvm/lib/CodeGen/SplitKit.h projects/building-blocks/contrib/llvm/lib/CodeGen/StackColoring.cpp projects/building-blocks/contrib/llvm/lib/CodeGen/StackMaps.cpp projects/building-blocks/contrib/llvm/lib/CodeGen/StackProtector.cpp projects/building-blocks/contrib/llvm/lib/CodeGen/StackSlotColoring.cpp projects/building-blocks/contrib/llvm/lib/CodeGen/TailDuplication.cpp projects/building-blocks/contrib/llvm/lib/CodeGen/TargetInstrInfo.cpp projects/building-blocks/contrib/llvm/lib/CodeGen/TargetLoweringBase.cpp projects/building-blocks/contrib/llvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp projects/building-blocks/contrib/llvm/lib/CodeGen/TargetOptionsImpl.cpp projects/building-blocks/contrib/llvm/lib/CodeGen/TargetRegisterInfo.cpp projects/building-blocks/contrib/llvm/lib/CodeGen/TwoAddressInstructionPass.cpp projects/building-blocks/contrib/llvm/lib/CodeGen/UnreachableBlockElim.cpp projects/building-blocks/contrib/llvm/lib/CodeGen/VirtRegMap.cpp projects/building-blocks/contrib/llvm/lib/DebugInfo/DWARFAbbreviationDeclaration.cpp projects/building-blocks/contrib/llvm/lib/DebugInfo/DWARFAbbreviationDeclaration.h projects/building-blocks/contrib/llvm/lib/DebugInfo/DWARFCompileUnit.h projects/building-blocks/contrib/llvm/lib/DebugInfo/DWARFContext.cpp projects/building-blocks/contrib/llvm/lib/DebugInfo/DWARFContext.h projects/building-blocks/contrib/llvm/lib/DebugInfo/DWARFDebugAbbrev.cpp projects/building-blocks/contrib/llvm/lib/DebugInfo/DWARFDebugAbbrev.h projects/building-blocks/contrib/llvm/lib/DebugInfo/DWARFDebugArangeSet.cpp projects/building-blocks/contrib/llvm/lib/DebugInfo/DWARFDebugArangeSet.h projects/building-blocks/contrib/llvm/lib/DebugInfo/DWARFDebugAranges.cpp projects/building-blocks/contrib/llvm/lib/DebugInfo/DWARFDebugAranges.h projects/building-blocks/contrib/llvm/lib/DebugInfo/DWARFDebugFrame.cpp projects/building-blocks/contrib/llvm/lib/DebugInfo/DWARFDebugFrame.h projects/building-blocks/contrib/llvm/lib/DebugInfo/DWARFDebugInfoEntry.cpp projects/building-blocks/contrib/llvm/lib/DebugInfo/DWARFDebugInfoEntry.h projects/building-blocks/contrib/llvm/lib/DebugInfo/DWARFDebugLine.cpp projects/building-blocks/contrib/llvm/lib/DebugInfo/DWARFDebugLine.h projects/building-blocks/contrib/llvm/lib/DebugInfo/DWARFDebugLoc.cpp projects/building-blocks/contrib/llvm/lib/DebugInfo/DWARFDebugLoc.h projects/building-blocks/contrib/llvm/lib/DebugInfo/DWARFDebugRangeList.cpp projects/building-blocks/contrib/llvm/lib/DebugInfo/DWARFDebugRangeList.h projects/building-blocks/contrib/llvm/lib/DebugInfo/DWARFFormValue.cpp projects/building-blocks/contrib/llvm/lib/DebugInfo/DWARFTypeUnit.h projects/building-blocks/contrib/llvm/lib/DebugInfo/DWARFUnit.cpp projects/building-blocks/contrib/llvm/lib/DebugInfo/DWARFUnit.h projects/building-blocks/contrib/llvm/lib/ExecutionEngine/EventListenerCommon.h projects/building-blocks/contrib/llvm/lib/ExecutionEngine/ExecutionEngine.cpp projects/building-blocks/contrib/llvm/lib/ExecutionEngine/ExecutionEngineBindings.cpp projects/building-blocks/contrib/llvm/lib/ExecutionEngine/IntelJITEvents/IntelJITEventListener.cpp projects/building-blocks/contrib/llvm/lib/ExecutionEngine/IntelJITEvents/jitprofiling.h projects/building-blocks/contrib/llvm/lib/ExecutionEngine/Interpreter/Execution.cpp projects/building-blocks/contrib/llvm/lib/ExecutionEngine/Interpreter/ExternalFunctions.cpp projects/building-blocks/contrib/llvm/lib/ExecutionEngine/Interpreter/Interpreter.cpp projects/building-blocks/contrib/llvm/lib/ExecutionEngine/Interpreter/Interpreter.h projects/building-blocks/contrib/llvm/lib/ExecutionEngine/JIT/JIT.cpp projects/building-blocks/contrib/llvm/lib/ExecutionEngine/JIT/JIT.h projects/building-blocks/contrib/llvm/lib/ExecutionEngine/JIT/JITEmitter.cpp projects/building-blocks/contrib/llvm/lib/ExecutionEngine/JIT/JITMemoryManager.cpp projects/building-blocks/contrib/llvm/lib/ExecutionEngine/MCJIT/MCJIT.cpp projects/building-blocks/contrib/llvm/lib/ExecutionEngine/MCJIT/MCJIT.h projects/building-blocks/contrib/llvm/lib/ExecutionEngine/MCJIT/SectionMemoryManager.cpp projects/building-blocks/contrib/llvm/lib/ExecutionEngine/OProfileJIT/OProfileJITEventListener.cpp projects/building-blocks/contrib/llvm/lib/ExecutionEngine/OProfileJIT/OProfileWrapper.cpp projects/building-blocks/contrib/llvm/lib/ExecutionEngine/RTDyldMemoryManager.cpp projects/building-blocks/contrib/llvm/lib/ExecutionEngine/RuntimeDyld/GDBRegistrar.cpp projects/building-blocks/contrib/llvm/lib/ExecutionEngine/RuntimeDyld/ObjectImageCommon.h projects/building-blocks/contrib/llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyld.cpp projects/building-blocks/contrib/llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldELF.cpp projects/building-blocks/contrib/llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldELF.h projects/building-blocks/contrib/llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldImpl.h projects/building-blocks/contrib/llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldMachO.cpp projects/building-blocks/contrib/llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldMachO.h projects/building-blocks/contrib/llvm/lib/ExecutionEngine/TargetSelect.cpp projects/building-blocks/contrib/llvm/lib/IR/AsmWriter.cpp projects/building-blocks/contrib/llvm/lib/IR/AsmWriter.h projects/building-blocks/contrib/llvm/lib/IR/AttributeImpl.h projects/building-blocks/contrib/llvm/lib/IR/Attributes.cpp projects/building-blocks/contrib/llvm/lib/IR/AutoUpgrade.cpp projects/building-blocks/contrib/llvm/lib/IR/BasicBlock.cpp projects/building-blocks/contrib/llvm/lib/IR/ConstantFold.cpp projects/building-blocks/contrib/llvm/lib/IR/Constants.cpp projects/building-blocks/contrib/llvm/lib/IR/ConstantsContext.h projects/building-blocks/contrib/llvm/lib/IR/Core.cpp projects/building-blocks/contrib/llvm/lib/IR/DIBuilder.cpp projects/building-blocks/contrib/llvm/lib/IR/DataLayout.cpp projects/building-blocks/contrib/llvm/lib/IR/DebugInfo.cpp projects/building-blocks/contrib/llvm/lib/IR/DebugLoc.cpp projects/building-blocks/contrib/llvm/lib/IR/Dominators.cpp projects/building-blocks/contrib/llvm/lib/IR/Function.cpp projects/building-blocks/contrib/llvm/lib/IR/GCOV.cpp projects/building-blocks/contrib/llvm/lib/IR/GVMaterializer.cpp projects/building-blocks/contrib/llvm/lib/IR/Globals.cpp projects/building-blocks/contrib/llvm/lib/IR/InlineAsm.cpp projects/building-blocks/contrib/llvm/lib/IR/Instruction.cpp projects/building-blocks/contrib/llvm/lib/IR/Instructions.cpp projects/building-blocks/contrib/llvm/lib/IR/IntrinsicInst.cpp projects/building-blocks/contrib/llvm/lib/IR/LLVMContext.cpp projects/building-blocks/contrib/llvm/lib/IR/LLVMContextImpl.cpp projects/building-blocks/contrib/llvm/lib/IR/LLVMContextImpl.h projects/building-blocks/contrib/llvm/lib/IR/LeakDetector.cpp projects/building-blocks/contrib/llvm/lib/IR/LeaksContext.h projects/building-blocks/contrib/llvm/lib/IR/LegacyPassManager.cpp projects/building-blocks/contrib/llvm/lib/IR/Metadata.cpp projects/building-blocks/contrib/llvm/lib/IR/Module.cpp projects/building-blocks/contrib/llvm/lib/IR/Pass.cpp projects/building-blocks/contrib/llvm/lib/IR/PassManager.cpp projects/building-blocks/contrib/llvm/lib/IR/PassRegistry.cpp projects/building-blocks/contrib/llvm/lib/IR/SymbolTableListTraitsImpl.h projects/building-blocks/contrib/llvm/lib/IR/Type.cpp projects/building-blocks/contrib/llvm/lib/IR/Use.cpp projects/building-blocks/contrib/llvm/lib/IR/Value.cpp projects/building-blocks/contrib/llvm/lib/IR/ValueSymbolTable.cpp projects/building-blocks/contrib/llvm/lib/IR/Verifier.cpp projects/building-blocks/contrib/llvm/lib/IRReader/IRReader.cpp projects/building-blocks/contrib/llvm/lib/LTO/LTOCodeGenerator.cpp projects/building-blocks/contrib/llvm/lib/LTO/LTOModule.cpp projects/building-blocks/contrib/llvm/lib/Linker/LinkModules.cpp projects/building-blocks/contrib/llvm/lib/MC/ELFObjectWriter.cpp projects/building-blocks/contrib/llvm/lib/MC/MCAsmBackend.cpp projects/building-blocks/contrib/llvm/lib/MC/MCAsmInfo.cpp projects/building-blocks/contrib/llvm/lib/MC/MCAsmInfoCOFF.cpp projects/building-blocks/contrib/llvm/lib/MC/MCAsmInfoDarwin.cpp projects/building-blocks/contrib/llvm/lib/MC/MCAsmInfoELF.cpp projects/building-blocks/contrib/llvm/lib/MC/MCAsmStreamer.cpp projects/building-blocks/contrib/llvm/lib/MC/MCAssembler.cpp projects/building-blocks/contrib/llvm/lib/MC/MCContext.cpp projects/building-blocks/contrib/llvm/lib/MC/MCDisassembler.cpp projects/building-blocks/contrib/llvm/lib/MC/MCDisassembler/Disassembler.cpp projects/building-blocks/contrib/llvm/lib/MC/MCDisassembler/Disassembler.h projects/building-blocks/contrib/llvm/lib/MC/MCDwarf.cpp projects/building-blocks/contrib/llvm/lib/MC/MCELF.cpp projects/building-blocks/contrib/llvm/lib/MC/MCELFObjectTargetWriter.cpp projects/building-blocks/contrib/llvm/lib/MC/MCELFStreamer.cpp projects/building-blocks/contrib/llvm/lib/MC/MCExpr.cpp projects/building-blocks/contrib/llvm/lib/MC/MCExternalSymbolizer.cpp projects/building-blocks/contrib/llvm/lib/MC/MCInst.cpp projects/building-blocks/contrib/llvm/lib/MC/MCMachOStreamer.cpp projects/building-blocks/contrib/llvm/lib/MC/MCNullStreamer.cpp projects/building-blocks/contrib/llvm/lib/MC/MCObjectFileInfo.cpp projects/building-blocks/contrib/llvm/lib/MC/MCObjectStreamer.cpp projects/building-blocks/contrib/llvm/lib/MC/MCParser/AsmLexer.cpp projects/building-blocks/contrib/llvm/lib/MC/MCParser/AsmParser.cpp projects/building-blocks/contrib/llvm/lib/MC/MCParser/COFFAsmParser.cpp projects/building-blocks/contrib/llvm/lib/MC/MCParser/DarwinAsmParser.cpp projects/building-blocks/contrib/llvm/lib/MC/MCParser/ELFAsmParser.cpp projects/building-blocks/contrib/llvm/lib/MC/MCParser/MCAsmLexer.cpp projects/building-blocks/contrib/llvm/lib/MC/MCParser/MCAsmParser.cpp projects/building-blocks/contrib/llvm/lib/MC/MCRelocationInfo.cpp projects/building-blocks/contrib/llvm/lib/MC/MCSectionCOFF.cpp projects/building-blocks/contrib/llvm/lib/MC/MCSectionMachO.cpp projects/building-blocks/contrib/llvm/lib/MC/MCStreamer.cpp projects/building-blocks/contrib/llvm/lib/MC/MCSubtargetInfo.cpp projects/building-blocks/contrib/llvm/lib/MC/MCSymbolizer.cpp projects/building-blocks/contrib/llvm/lib/MC/MCValue.cpp projects/building-blocks/contrib/llvm/lib/MC/MCWin64EH.cpp projects/building-blocks/contrib/llvm/lib/MC/MachObjectWriter.cpp projects/building-blocks/contrib/llvm/lib/MC/SubtargetFeature.cpp projects/building-blocks/contrib/llvm/lib/MC/WinCOFFObjectWriter.cpp projects/building-blocks/contrib/llvm/lib/MC/WinCOFFStreamer.cpp projects/building-blocks/contrib/llvm/lib/Object/Archive.cpp projects/building-blocks/contrib/llvm/lib/Object/Binary.cpp projects/building-blocks/contrib/llvm/lib/Object/COFFObjectFile.cpp projects/building-blocks/contrib/llvm/lib/Object/COFFYAML.cpp projects/building-blocks/contrib/llvm/lib/Object/ELF.cpp projects/building-blocks/contrib/llvm/lib/Object/ELFObjectFile.cpp projects/building-blocks/contrib/llvm/lib/Object/ELFYAML.cpp projects/building-blocks/contrib/llvm/lib/Object/Error.cpp projects/building-blocks/contrib/llvm/lib/Object/MachOObjectFile.cpp projects/building-blocks/contrib/llvm/lib/Object/MachOUniversal.cpp projects/building-blocks/contrib/llvm/lib/Object/Object.cpp projects/building-blocks/contrib/llvm/lib/Object/ObjectFile.cpp projects/building-blocks/contrib/llvm/lib/Option/ArgList.cpp projects/building-blocks/contrib/llvm/lib/Option/OptTable.cpp projects/building-blocks/contrib/llvm/lib/Option/Option.cpp projects/building-blocks/contrib/llvm/lib/Support/APFloat.cpp projects/building-blocks/contrib/llvm/lib/Support/APInt.cpp projects/building-blocks/contrib/llvm/lib/Support/Allocator.cpp projects/building-blocks/contrib/llvm/lib/Support/Atomic.cpp projects/building-blocks/contrib/llvm/lib/Support/BlockFrequency.cpp projects/building-blocks/contrib/llvm/lib/Support/BranchProbability.cpp projects/building-blocks/contrib/llvm/lib/Support/CommandLine.cpp projects/building-blocks/contrib/llvm/lib/Support/Compression.cpp projects/building-blocks/contrib/llvm/lib/Support/ConvertUTF.c projects/building-blocks/contrib/llvm/lib/Support/CrashRecoveryContext.cpp projects/building-blocks/contrib/llvm/lib/Support/DAGDeltaAlgorithm.cpp projects/building-blocks/contrib/llvm/lib/Support/DataExtractor.cpp projects/building-blocks/contrib/llvm/lib/Support/DataStream.cpp projects/building-blocks/contrib/llvm/lib/Support/Debug.cpp projects/building-blocks/contrib/llvm/lib/Support/Dwarf.cpp projects/building-blocks/contrib/llvm/lib/Support/DynamicLibrary.cpp projects/building-blocks/contrib/llvm/lib/Support/ErrorHandling.cpp projects/building-blocks/contrib/llvm/lib/Support/FileOutputBuffer.cpp projects/building-blocks/contrib/llvm/lib/Support/FileUtilities.cpp projects/building-blocks/contrib/llvm/lib/Support/FoldingSet.cpp projects/building-blocks/contrib/llvm/lib/Support/FormattedStream.cpp projects/building-blocks/contrib/llvm/lib/Support/GraphWriter.cpp projects/building-blocks/contrib/llvm/lib/Support/Host.cpp projects/building-blocks/contrib/llvm/lib/Support/IntervalMap.cpp projects/building-blocks/contrib/llvm/lib/Support/LockFileManager.cpp projects/building-blocks/contrib/llvm/lib/Support/ManagedStatic.cpp projects/building-blocks/contrib/llvm/lib/Support/MemoryBuffer.cpp projects/building-blocks/contrib/llvm/lib/Support/Mutex.cpp projects/building-blocks/contrib/llvm/lib/Support/Path.cpp projects/building-blocks/contrib/llvm/lib/Support/PrettyStackTrace.cpp projects/building-blocks/contrib/llvm/lib/Support/Process.cpp projects/building-blocks/contrib/llvm/lib/Support/Program.cpp projects/building-blocks/contrib/llvm/lib/Support/RWMutex.cpp projects/building-blocks/contrib/llvm/lib/Support/Regex.cpp projects/building-blocks/contrib/llvm/lib/Support/SearchForAddressOfSpecialSymbol.cpp projects/building-blocks/contrib/llvm/lib/Support/SmallPtrSet.cpp projects/building-blocks/contrib/llvm/lib/Support/SourceMgr.cpp projects/building-blocks/contrib/llvm/lib/Support/Statistic.cpp projects/building-blocks/contrib/llvm/lib/Support/StreamableMemoryObject.cpp projects/building-blocks/contrib/llvm/lib/Support/StringMap.cpp projects/building-blocks/contrib/llvm/lib/Support/StringPool.cpp projects/building-blocks/contrib/llvm/lib/Support/StringRef.cpp projects/building-blocks/contrib/llvm/lib/Support/TargetRegistry.cpp projects/building-blocks/contrib/llvm/lib/Support/ThreadLocal.cpp projects/building-blocks/contrib/llvm/lib/Support/Threading.cpp projects/building-blocks/contrib/llvm/lib/Support/TimeValue.cpp projects/building-blocks/contrib/llvm/lib/Support/Timer.cpp projects/building-blocks/contrib/llvm/lib/Support/ToolOutputFile.cpp projects/building-blocks/contrib/llvm/lib/Support/Triple.cpp projects/building-blocks/contrib/llvm/lib/Support/Twine.cpp projects/building-blocks/contrib/llvm/lib/Support/Unix/Host.inc projects/building-blocks/contrib/llvm/lib/Support/Unix/Memory.inc projects/building-blocks/contrib/llvm/lib/Support/Unix/Path.inc projects/building-blocks/contrib/llvm/lib/Support/Unix/Process.inc projects/building-blocks/contrib/llvm/lib/Support/Unix/Program.inc projects/building-blocks/contrib/llvm/lib/Support/Unix/RWMutex.inc projects/building-blocks/contrib/llvm/lib/Support/Unix/Signals.inc projects/building-blocks/contrib/llvm/lib/Support/Unix/TimeValue.inc projects/building-blocks/contrib/llvm/lib/Support/Valgrind.cpp projects/building-blocks/contrib/llvm/lib/Support/Windows/DynamicLibrary.inc projects/building-blocks/contrib/llvm/lib/Support/Windows/Host.inc projects/building-blocks/contrib/llvm/lib/Support/Windows/Memory.inc projects/building-blocks/contrib/llvm/lib/Support/Windows/Mutex.inc projects/building-blocks/contrib/llvm/lib/Support/Windows/Path.inc projects/building-blocks/contrib/llvm/lib/Support/Windows/Process.inc projects/building-blocks/contrib/llvm/lib/Support/Windows/Program.inc projects/building-blocks/contrib/llvm/lib/Support/Windows/RWMutex.inc projects/building-blocks/contrib/llvm/lib/Support/Windows/Signals.inc projects/building-blocks/contrib/llvm/lib/Support/Windows/ThreadLocal.inc projects/building-blocks/contrib/llvm/lib/Support/Windows/TimeValue.inc projects/building-blocks/contrib/llvm/lib/Support/YAMLParser.cpp projects/building-blocks/contrib/llvm/lib/Support/YAMLTraits.cpp projects/building-blocks/contrib/llvm/lib/Support/raw_ostream.cpp projects/building-blocks/contrib/llvm/lib/Support/regcclass.h projects/building-blocks/contrib/llvm/lib/Support/regcname.h projects/building-blocks/contrib/llvm/lib/Support/regcomp.c projects/building-blocks/contrib/llvm/lib/Support/regengine.inc projects/building-blocks/contrib/llvm/lib/Support/regex2.h projects/building-blocks/contrib/llvm/lib/Support/regutils.h projects/building-blocks/contrib/llvm/lib/TableGen/Error.cpp projects/building-blocks/contrib/llvm/lib/TableGen/Main.cpp projects/building-blocks/contrib/llvm/lib/TableGen/Record.cpp projects/building-blocks/contrib/llvm/lib/TableGen/TGLexer.cpp projects/building-blocks/contrib/llvm/lib/TableGen/TGLexer.h projects/building-blocks/contrib/llvm/lib/TableGen/TGParser.cpp projects/building-blocks/contrib/llvm/lib/TableGen/TGParser.h projects/building-blocks/contrib/llvm/lib/Target/AArch64/AArch64.h projects/building-blocks/contrib/llvm/lib/Target/AArch64/AArch64.td projects/building-blocks/contrib/llvm/lib/Target/AArch64/AArch64AsmPrinter.cpp projects/building-blocks/contrib/llvm/lib/Target/AArch64/AArch64FrameLowering.cpp projects/building-blocks/contrib/llvm/lib/Target/AArch64/AArch64FrameLowering.h projects/building-blocks/contrib/llvm/lib/Target/AArch64/AArch64ISelDAGToDAG.cpp projects/building-blocks/contrib/llvm/lib/Target/AArch64/AArch64ISelLowering.cpp projects/building-blocks/contrib/llvm/lib/Target/AArch64/AArch64ISelLowering.h projects/building-blocks/contrib/llvm/lib/Target/AArch64/AArch64InstrFormats.td projects/building-blocks/contrib/llvm/lib/Target/AArch64/AArch64InstrInfo.cpp projects/building-blocks/contrib/llvm/lib/Target/AArch64/AArch64InstrInfo.h projects/building-blocks/contrib/llvm/lib/Target/AArch64/AArch64InstrInfo.td projects/building-blocks/contrib/llvm/lib/Target/AArch64/AArch64MCInstLower.cpp projects/building-blocks/contrib/llvm/lib/Target/AArch64/AArch64MachineFunctionInfo.h projects/building-blocks/contrib/llvm/lib/Target/AArch64/AArch64RegisterInfo.cpp projects/building-blocks/contrib/llvm/lib/Target/AArch64/AArch64RegisterInfo.h projects/building-blocks/contrib/llvm/lib/Target/AArch64/AArch64RegisterInfo.td projects/building-blocks/contrib/llvm/lib/Target/AArch64/AArch64Schedule.td projects/building-blocks/contrib/llvm/lib/Target/AArch64/AArch64SelectionDAGInfo.cpp projects/building-blocks/contrib/llvm/lib/Target/AArch64/AArch64SelectionDAGInfo.h projects/building-blocks/contrib/llvm/lib/Target/AArch64/AArch64Subtarget.cpp projects/building-blocks/contrib/llvm/lib/Target/AArch64/AArch64Subtarget.h projects/building-blocks/contrib/llvm/lib/Target/AArch64/AArch64TargetMachine.cpp projects/building-blocks/contrib/llvm/lib/Target/AArch64/AArch64TargetMachine.h projects/building-blocks/contrib/llvm/lib/Target/AArch64/AArch64TargetObjectFile.cpp projects/building-blocks/contrib/llvm/lib/Target/AArch64/AArch64TargetObjectFile.h projects/building-blocks/contrib/llvm/lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp projects/building-blocks/contrib/llvm/lib/Target/AArch64/Disassembler/AArch64Disassembler.cpp projects/building-blocks/contrib/llvm/lib/Target/AArch64/InstPrinter/AArch64InstPrinter.cpp projects/building-blocks/contrib/llvm/lib/Target/AArch64/InstPrinter/AArch64InstPrinter.h projects/building-blocks/contrib/llvm/lib/Target/AArch64/MCTargetDesc/AArch64AsmBackend.cpp projects/building-blocks/contrib/llvm/lib/Target/AArch64/MCTargetDesc/AArch64ELFObjectWriter.cpp projects/building-blocks/contrib/llvm/lib/Target/AArch64/MCTargetDesc/AArch64ELFStreamer.cpp projects/building-blocks/contrib/llvm/lib/Target/AArch64/MCTargetDesc/AArch64ELFStreamer.h projects/building-blocks/contrib/llvm/lib/Target/AArch64/MCTargetDesc/AArch64FixupKinds.h projects/building-blocks/contrib/llvm/lib/Target/AArch64/MCTargetDesc/AArch64MCAsmInfo.cpp projects/building-blocks/contrib/llvm/lib/Target/AArch64/MCTargetDesc/AArch64MCAsmInfo.h projects/building-blocks/contrib/llvm/lib/Target/AArch64/MCTargetDesc/AArch64MCCodeEmitter.cpp projects/building-blocks/contrib/llvm/lib/Target/AArch64/MCTargetDesc/AArch64MCExpr.cpp projects/building-blocks/contrib/llvm/lib/Target/AArch64/MCTargetDesc/AArch64MCExpr.h projects/building-blocks/contrib/llvm/lib/Target/AArch64/MCTargetDesc/AArch64MCTargetDesc.cpp projects/building-blocks/contrib/llvm/lib/Target/AArch64/MCTargetDesc/AArch64MCTargetDesc.h projects/building-blocks/contrib/llvm/lib/Target/AArch64/TargetInfo/AArch64TargetInfo.cpp projects/building-blocks/contrib/llvm/lib/Target/AArch64/Utils/AArch64BaseInfo.cpp projects/building-blocks/contrib/llvm/lib/Target/AArch64/Utils/AArch64BaseInfo.h projects/building-blocks/contrib/llvm/lib/Target/ARM/A15SDOptimizer.cpp projects/building-blocks/contrib/llvm/lib/Target/ARM/ARM.h projects/building-blocks/contrib/llvm/lib/Target/ARM/ARM.td projects/building-blocks/contrib/llvm/lib/Target/ARM/ARMAsmPrinter.cpp projects/building-blocks/contrib/llvm/lib/Target/ARM/ARMAsmPrinter.h projects/building-blocks/contrib/llvm/lib/Target/ARM/ARMBaseInstrInfo.cpp projects/building-blocks/contrib/llvm/lib/Target/ARM/ARMBaseInstrInfo.h projects/building-blocks/contrib/llvm/lib/Target/ARM/ARMBaseRegisterInfo.cpp projects/building-blocks/contrib/llvm/lib/Target/ARM/ARMBaseRegisterInfo.h projects/building-blocks/contrib/llvm/lib/Target/ARM/ARMCallingConv.h projects/building-blocks/contrib/llvm/lib/Target/ARM/ARMCallingConv.td projects/building-blocks/contrib/llvm/lib/Target/ARM/ARMCodeEmitter.cpp projects/building-blocks/contrib/llvm/lib/Target/ARM/ARMConstantIslandPass.cpp projects/building-blocks/contrib/llvm/lib/Target/ARM/ARMConstantPoolValue.h projects/building-blocks/contrib/llvm/lib/Target/ARM/ARMExpandPseudoInsts.cpp projects/building-blocks/contrib/llvm/lib/Target/ARM/ARMFPUName.def projects/building-blocks/contrib/llvm/lib/Target/ARM/ARMFastISel.cpp projects/building-blocks/contrib/llvm/lib/Target/ARM/ARMFeatures.h projects/building-blocks/contrib/llvm/lib/Target/ARM/ARMFrameLowering.cpp projects/building-blocks/contrib/llvm/lib/Target/ARM/ARMFrameLowering.h projects/building-blocks/contrib/llvm/lib/Target/ARM/ARMHazardRecognizer.cpp projects/building-blocks/contrib/llvm/lib/Target/ARM/ARMHazardRecognizer.h projects/building-blocks/contrib/llvm/lib/Target/ARM/ARMISelDAGToDAG.cpp projects/building-blocks/contrib/llvm/lib/Target/ARM/ARMISelLowering.cpp projects/building-blocks/contrib/llvm/lib/Target/ARM/ARMISelLowering.h projects/building-blocks/contrib/llvm/lib/Target/ARM/ARMInstrFormats.td projects/building-blocks/contrib/llvm/lib/Target/ARM/ARMInstrInfo.cpp projects/building-blocks/contrib/llvm/lib/Target/ARM/ARMInstrInfo.h projects/building-blocks/contrib/llvm/lib/Target/ARM/ARMInstrInfo.td projects/building-blocks/contrib/llvm/lib/Target/ARM/ARMInstrNEON.td projects/building-blocks/contrib/llvm/lib/Target/ARM/ARMInstrThumb.td projects/building-blocks/contrib/llvm/lib/Target/ARM/ARMInstrThumb2.td projects/building-blocks/contrib/llvm/lib/Target/ARM/ARMInstrVFP.td projects/building-blocks/contrib/llvm/lib/Target/ARM/ARMJITInfo.cpp projects/building-blocks/contrib/llvm/lib/Target/ARM/ARMJITInfo.h projects/building-blocks/contrib/llvm/lib/Target/ARM/ARMLoadStoreOptimizer.cpp projects/building-blocks/contrib/llvm/lib/Target/ARM/ARMMCInstLower.cpp projects/building-blocks/contrib/llvm/lib/Target/ARM/ARMMachineFunctionInfo.cpp projects/building-blocks/contrib/llvm/lib/Target/ARM/ARMMachineFunctionInfo.h projects/building-blocks/contrib/llvm/lib/Target/ARM/ARMRegisterInfo.cpp projects/building-blocks/contrib/llvm/lib/Target/ARM/ARMRegisterInfo.h projects/building-blocks/contrib/llvm/lib/Target/ARM/ARMRegisterInfo.td projects/building-blocks/contrib/llvm/lib/Target/ARM/ARMScheduleA9.td projects/building-blocks/contrib/llvm/lib/Target/ARM/ARMScheduleSwift.td projects/building-blocks/contrib/llvm/lib/Target/ARM/ARMScheduleV6.td projects/building-blocks/contrib/llvm/lib/Target/ARM/ARMSelectionDAGInfo.cpp projects/building-blocks/contrib/llvm/lib/Target/ARM/ARMSelectionDAGInfo.h projects/building-blocks/contrib/llvm/lib/Target/ARM/ARMSubtarget.cpp projects/building-blocks/contrib/llvm/lib/Target/ARM/ARMSubtarget.h projects/building-blocks/contrib/llvm/lib/Target/ARM/ARMTargetMachine.cpp projects/building-blocks/contrib/llvm/lib/Target/ARM/ARMTargetMachine.h projects/building-blocks/contrib/llvm/lib/Target/ARM/ARMTargetObjectFile.cpp projects/building-blocks/contrib/llvm/lib/Target/ARM/ARMTargetObjectFile.h projects/building-blocks/contrib/llvm/lib/Target/ARM/ARMTargetTransformInfo.cpp projects/building-blocks/contrib/llvm/lib/Target/ARM/AsmParser/ARMAsmParser.cpp projects/building-blocks/contrib/llvm/lib/Target/ARM/Disassembler/ARMDisassembler.cpp projects/building-blocks/contrib/llvm/lib/Target/ARM/InstPrinter/ARMInstPrinter.cpp projects/building-blocks/contrib/llvm/lib/Target/ARM/InstPrinter/ARMInstPrinter.h projects/building-blocks/contrib/llvm/lib/Target/ARM/MCTargetDesc/ARMAsmBackend.cpp projects/building-blocks/contrib/llvm/lib/Target/ARM/MCTargetDesc/ARMBaseInfo.h projects/building-blocks/contrib/llvm/lib/Target/ARM/MCTargetDesc/ARMELFObjectWriter.cpp projects/building-blocks/contrib/llvm/lib/Target/ARM/MCTargetDesc/ARMELFStreamer.cpp projects/building-blocks/contrib/llvm/lib/Target/ARM/MCTargetDesc/ARMFixupKinds.h projects/building-blocks/contrib/llvm/lib/Target/ARM/MCTargetDesc/ARMMCAsmInfo.cpp projects/building-blocks/contrib/llvm/lib/Target/ARM/MCTargetDesc/ARMMCAsmInfo.h projects/building-blocks/contrib/llvm/lib/Target/ARM/MCTargetDesc/ARMMCCodeEmitter.cpp projects/building-blocks/contrib/llvm/lib/Target/ARM/MCTargetDesc/ARMMCExpr.cpp projects/building-blocks/contrib/llvm/lib/Target/ARM/MCTargetDesc/ARMMCExpr.h projects/building-blocks/contrib/llvm/lib/Target/ARM/MCTargetDesc/ARMMCTargetDesc.cpp projects/building-blocks/contrib/llvm/lib/Target/ARM/MCTargetDesc/ARMMCTargetDesc.h projects/building-blocks/contrib/llvm/lib/Target/ARM/MCTargetDesc/ARMMachORelocationInfo.cpp projects/building-blocks/contrib/llvm/lib/Target/ARM/MCTargetDesc/ARMMachObjectWriter.cpp projects/building-blocks/contrib/llvm/lib/Target/ARM/MCTargetDesc/ARMUnwindOpAsm.cpp projects/building-blocks/contrib/llvm/lib/Target/ARM/MCTargetDesc/ARMUnwindOpAsm.h projects/building-blocks/contrib/llvm/lib/Target/ARM/MLxExpansionPass.cpp projects/building-blocks/contrib/llvm/lib/Target/ARM/TargetInfo/ARMTargetInfo.cpp projects/building-blocks/contrib/llvm/lib/Target/ARM/Thumb1FrameLowering.cpp projects/building-blocks/contrib/llvm/lib/Target/ARM/Thumb1FrameLowering.h projects/building-blocks/contrib/llvm/lib/Target/ARM/Thumb1InstrInfo.cpp projects/building-blocks/contrib/llvm/lib/Target/ARM/Thumb1InstrInfo.h projects/building-blocks/contrib/llvm/lib/Target/ARM/Thumb1RegisterInfo.cpp projects/building-blocks/contrib/llvm/lib/Target/ARM/Thumb1RegisterInfo.h projects/building-blocks/contrib/llvm/lib/Target/ARM/Thumb2ITBlockPass.cpp projects/building-blocks/contrib/llvm/lib/Target/ARM/Thumb2InstrInfo.cpp projects/building-blocks/contrib/llvm/lib/Target/ARM/Thumb2InstrInfo.h projects/building-blocks/contrib/llvm/lib/Target/ARM/Thumb2RegisterInfo.cpp projects/building-blocks/contrib/llvm/lib/Target/ARM/Thumb2RegisterInfo.h projects/building-blocks/contrib/llvm/lib/Target/ARM/Thumb2SizeReduction.cpp projects/building-blocks/contrib/llvm/lib/Target/CppBackend/CPPBackend.cpp projects/building-blocks/contrib/llvm/lib/Target/CppBackend/CPPTargetMachine.h projects/building-blocks/contrib/llvm/lib/Target/CppBackend/TargetInfo/CppBackendTargetInfo.cpp projects/building-blocks/contrib/llvm/lib/Target/Hexagon/Hexagon.td projects/building-blocks/contrib/llvm/lib/Target/Hexagon/HexagonAsmPrinter.cpp projects/building-blocks/contrib/llvm/lib/Target/Hexagon/HexagonAsmPrinter.h projects/building-blocks/contrib/llvm/lib/Target/Hexagon/HexagonCFGOptimizer.cpp projects/building-blocks/contrib/llvm/lib/Target/Hexagon/HexagonCallingConvLower.h projects/building-blocks/contrib/llvm/lib/Target/Hexagon/HexagonCopyToCombine.cpp projects/building-blocks/contrib/llvm/lib/Target/Hexagon/HexagonExpandPredSpillCode.cpp projects/building-blocks/contrib/llvm/lib/Target/Hexagon/HexagonFixupHwLoops.cpp projects/building-blocks/contrib/llvm/lib/Target/Hexagon/HexagonFrameLowering.cpp projects/building-blocks/contrib/llvm/lib/Target/Hexagon/HexagonFrameLowering.h projects/building-blocks/contrib/llvm/lib/Target/Hexagon/HexagonHardwareLoops.cpp projects/building-blocks/contrib/llvm/lib/Target/Hexagon/HexagonISelDAGToDAG.cpp projects/building-blocks/contrib/llvm/lib/Target/Hexagon/HexagonISelLowering.cpp projects/building-blocks/contrib/llvm/lib/Target/Hexagon/HexagonISelLowering.h projects/building-blocks/contrib/llvm/lib/Target/Hexagon/HexagonInstrFormats.td projects/building-blocks/contrib/llvm/lib/Target/Hexagon/HexagonInstrFormatsV4.td projects/building-blocks/contrib/llvm/lib/Target/Hexagon/HexagonInstrInfo.cpp projects/building-blocks/contrib/llvm/lib/Target/Hexagon/HexagonInstrInfo.h projects/building-blocks/contrib/llvm/lib/Target/Hexagon/HexagonInstrInfo.td projects/building-blocks/contrib/llvm/lib/Target/Hexagon/HexagonInstrInfoV4.td projects/building-blocks/contrib/llvm/lib/Target/Hexagon/HexagonMCInstLower.cpp projects/building-blocks/contrib/llvm/lib/Target/Hexagon/HexagonMachineFunctionInfo.h projects/building-blocks/contrib/llvm/lib/Target/Hexagon/HexagonMachineScheduler.cpp projects/building-blocks/contrib/llvm/lib/Target/Hexagon/HexagonMachineScheduler.h projects/building-blocks/contrib/llvm/lib/Target/Hexagon/HexagonNewValueJump.cpp projects/building-blocks/contrib/llvm/lib/Target/Hexagon/HexagonPeephole.cpp projects/building-blocks/contrib/llvm/lib/Target/Hexagon/HexagonRegisterInfo.cpp projects/building-blocks/contrib/llvm/lib/Target/Hexagon/HexagonRegisterInfo.h projects/building-blocks/contrib/llvm/lib/Target/Hexagon/HexagonRemoveSZExtArgs.cpp projects/building-blocks/contrib/llvm/lib/Target/Hexagon/HexagonSchedule.td projects/building-blocks/contrib/llvm/lib/Target/Hexagon/HexagonScheduleV4.td projects/building-blocks/contrib/llvm/lib/Target/Hexagon/HexagonSelectionDAGInfo.cpp projects/building-blocks/contrib/llvm/lib/Target/Hexagon/HexagonSelectionDAGInfo.h projects/building-blocks/contrib/llvm/lib/Target/Hexagon/HexagonSplitConst32AndConst64.cpp projects/building-blocks/contrib/llvm/lib/Target/Hexagon/HexagonSplitTFRCondSets.cpp projects/building-blocks/contrib/llvm/lib/Target/Hexagon/HexagonSubtarget.cpp projects/building-blocks/contrib/llvm/lib/Target/Hexagon/HexagonSubtarget.h projects/building-blocks/contrib/llvm/lib/Target/Hexagon/HexagonTargetMachine.cpp projects/building-blocks/contrib/llvm/lib/Target/Hexagon/HexagonTargetMachine.h projects/building-blocks/contrib/llvm/lib/Target/Hexagon/HexagonTargetObjectFile.cpp projects/building-blocks/contrib/llvm/lib/Target/Hexagon/HexagonTargetObjectFile.h projects/building-blocks/contrib/llvm/lib/Target/Hexagon/HexagonVLIWPacketizer.cpp projects/building-blocks/contrib/llvm/lib/Target/Hexagon/HexagonVarargsCallingConvention.h projects/building-blocks/contrib/llvm/lib/Target/Hexagon/InstPrinter/HexagonInstPrinter.cpp projects/building-blocks/contrib/llvm/lib/Target/Hexagon/InstPrinter/HexagonInstPrinter.h projects/building-blocks/contrib/llvm/lib/Target/Hexagon/MCTargetDesc/HexagonBaseInfo.h projects/building-blocks/contrib/llvm/lib/Target/Hexagon/MCTargetDesc/HexagonMCAsmInfo.cpp projects/building-blocks/contrib/llvm/lib/Target/Hexagon/MCTargetDesc/HexagonMCAsmInfo.h projects/building-blocks/contrib/llvm/lib/Target/Hexagon/MCTargetDesc/HexagonMCInst.h projects/building-blocks/contrib/llvm/lib/Target/Hexagon/MCTargetDesc/HexagonMCTargetDesc.cpp projects/building-blocks/contrib/llvm/lib/Target/MSP430/InstPrinter/MSP430InstPrinter.cpp projects/building-blocks/contrib/llvm/lib/Target/MSP430/InstPrinter/MSP430InstPrinter.h projects/building-blocks/contrib/llvm/lib/Target/MSP430/MCTargetDesc/MSP430MCAsmInfo.cpp projects/building-blocks/contrib/llvm/lib/Target/MSP430/MCTargetDesc/MSP430MCAsmInfo.h projects/building-blocks/contrib/llvm/lib/Target/MSP430/MCTargetDesc/MSP430MCTargetDesc.cpp projects/building-blocks/contrib/llvm/lib/Target/MSP430/MSP430.td projects/building-blocks/contrib/llvm/lib/Target/MSP430/MSP430AsmPrinter.cpp projects/building-blocks/contrib/llvm/lib/Target/MSP430/MSP430BranchSelector.cpp projects/building-blocks/contrib/llvm/lib/Target/MSP430/MSP430FrameLowering.cpp projects/building-blocks/contrib/llvm/lib/Target/MSP430/MSP430FrameLowering.h projects/building-blocks/contrib/llvm/lib/Target/MSP430/MSP430ISelDAGToDAG.cpp projects/building-blocks/contrib/llvm/lib/Target/MSP430/MSP430ISelLowering.cpp projects/building-blocks/contrib/llvm/lib/Target/MSP430/MSP430ISelLowering.h projects/building-blocks/contrib/llvm/lib/Target/MSP430/MSP430InstrInfo.cpp projects/building-blocks/contrib/llvm/lib/Target/MSP430/MSP430InstrInfo.h projects/building-blocks/contrib/llvm/lib/Target/MSP430/MSP430MCInstLower.cpp projects/building-blocks/contrib/llvm/lib/Target/MSP430/MSP430RegisterInfo.cpp projects/building-blocks/contrib/llvm/lib/Target/MSP430/MSP430RegisterInfo.h projects/building-blocks/contrib/llvm/lib/Target/MSP430/MSP430SelectionDAGInfo.cpp projects/building-blocks/contrib/llvm/lib/Target/MSP430/MSP430SelectionDAGInfo.h projects/building-blocks/contrib/llvm/lib/Target/MSP430/MSP430Subtarget.cpp projects/building-blocks/contrib/llvm/lib/Target/MSP430/MSP430Subtarget.h projects/building-blocks/contrib/llvm/lib/Target/MSP430/MSP430TargetMachine.cpp projects/building-blocks/contrib/llvm/lib/Target/MSP430/MSP430TargetMachine.h projects/building-blocks/contrib/llvm/lib/Target/Mips/AsmParser/MipsAsmParser.cpp projects/building-blocks/contrib/llvm/lib/Target/Mips/Disassembler/MipsDisassembler.cpp projects/building-blocks/contrib/llvm/lib/Target/Mips/InstPrinter/MipsInstPrinter.cpp projects/building-blocks/contrib/llvm/lib/Target/Mips/InstPrinter/MipsInstPrinter.h projects/building-blocks/contrib/llvm/lib/Target/Mips/MCTargetDesc/MipsAsmBackend.cpp projects/building-blocks/contrib/llvm/lib/Target/Mips/MCTargetDesc/MipsBaseInfo.h projects/building-blocks/contrib/llvm/lib/Target/Mips/MCTargetDesc/MipsELFObjectWriter.cpp projects/building-blocks/contrib/llvm/lib/Target/Mips/MCTargetDesc/MipsFixupKinds.h projects/building-blocks/contrib/llvm/lib/Target/Mips/MCTargetDesc/MipsMCAsmInfo.cpp projects/building-blocks/contrib/llvm/lib/Target/Mips/MCTargetDesc/MipsMCAsmInfo.h projects/building-blocks/contrib/llvm/lib/Target/Mips/MCTargetDesc/MipsMCCodeEmitter.cpp projects/building-blocks/contrib/llvm/lib/Target/Mips/MCTargetDesc/MipsMCTargetDesc.cpp projects/building-blocks/contrib/llvm/lib/Target/Mips/MCTargetDesc/MipsMCTargetDesc.h projects/building-blocks/contrib/llvm/lib/Target/Mips/MCTargetDesc/MipsTargetStreamer.cpp projects/building-blocks/contrib/llvm/lib/Target/Mips/MSA.txt projects/building-blocks/contrib/llvm/lib/Target/Mips/MicroMipsInstrFormats.td projects/building-blocks/contrib/llvm/lib/Target/Mips/MicroMipsInstrInfo.td projects/building-blocks/contrib/llvm/lib/Target/Mips/Mips.h projects/building-blocks/contrib/llvm/lib/Target/Mips/Mips.td projects/building-blocks/contrib/llvm/lib/Target/Mips/Mips16FrameLowering.cpp projects/building-blocks/contrib/llvm/lib/Target/Mips/Mips16FrameLowering.h projects/building-blocks/contrib/llvm/lib/Target/Mips/Mips16HardFloat.cpp projects/building-blocks/contrib/llvm/lib/Target/Mips/Mips16HardFloat.h projects/building-blocks/contrib/llvm/lib/Target/Mips/Mips16ISelDAGToDAG.cpp projects/building-blocks/contrib/llvm/lib/Target/Mips/Mips16ISelDAGToDAG.h projects/building-blocks/contrib/llvm/lib/Target/Mips/Mips16ISelLowering.cpp projects/building-blocks/contrib/llvm/lib/Target/Mips/Mips16ISelLowering.h projects/building-blocks/contrib/llvm/lib/Target/Mips/Mips16InstrInfo.cpp projects/building-blocks/contrib/llvm/lib/Target/Mips/Mips16InstrInfo.h projects/building-blocks/contrib/llvm/lib/Target/Mips/Mips16InstrInfo.td projects/building-blocks/contrib/llvm/lib/Target/Mips/Mips16RegisterInfo.cpp projects/building-blocks/contrib/llvm/lib/Target/Mips/Mips16RegisterInfo.h projects/building-blocks/contrib/llvm/lib/Target/Mips/Mips64InstrInfo.td projects/building-blocks/contrib/llvm/lib/Target/Mips/MipsAsmPrinter.cpp projects/building-blocks/contrib/llvm/lib/Target/Mips/MipsAsmPrinter.h projects/building-blocks/contrib/llvm/lib/Target/Mips/MipsCallingConv.td projects/building-blocks/contrib/llvm/lib/Target/Mips/MipsCodeEmitter.cpp projects/building-blocks/contrib/llvm/lib/Target/Mips/MipsCondMov.td projects/building-blocks/contrib/llvm/lib/Target/Mips/MipsConstantIslandPass.cpp projects/building-blocks/contrib/llvm/lib/Target/Mips/MipsDSPInstrFormats.td projects/building-blocks/contrib/llvm/lib/Target/Mips/MipsDelaySlotFiller.cpp projects/building-blocks/contrib/llvm/lib/Target/Mips/MipsFrameLowering.cpp projects/building-blocks/contrib/llvm/lib/Target/Mips/MipsFrameLowering.h projects/building-blocks/contrib/llvm/lib/Target/Mips/MipsISelDAGToDAG.cpp projects/building-blocks/contrib/llvm/lib/Target/Mips/MipsISelDAGToDAG.h projects/building-blocks/contrib/llvm/lib/Target/Mips/MipsISelLowering.cpp projects/building-blocks/contrib/llvm/lib/Target/Mips/MipsISelLowering.h projects/building-blocks/contrib/llvm/lib/Target/Mips/MipsInstrFPU.td projects/building-blocks/contrib/llvm/lib/Target/Mips/MipsInstrFormats.td projects/building-blocks/contrib/llvm/lib/Target/Mips/MipsInstrInfo.cpp projects/building-blocks/contrib/llvm/lib/Target/Mips/MipsInstrInfo.h projects/building-blocks/contrib/llvm/lib/Target/Mips/MipsInstrInfo.td projects/building-blocks/contrib/llvm/lib/Target/Mips/MipsJITInfo.cpp projects/building-blocks/contrib/llvm/lib/Target/Mips/MipsJITInfo.h projects/building-blocks/contrib/llvm/lib/Target/Mips/MipsLongBranch.cpp projects/building-blocks/contrib/llvm/lib/Target/Mips/MipsMCInstLower.cpp projects/building-blocks/contrib/llvm/lib/Target/Mips/MipsMCInstLower.h projects/building-blocks/contrib/llvm/lib/Target/Mips/MipsMSAInstrFormats.td projects/building-blocks/contrib/llvm/lib/Target/Mips/MipsMSAInstrInfo.td projects/building-blocks/contrib/llvm/lib/Target/Mips/MipsMachineFunction.cpp projects/building-blocks/contrib/llvm/lib/Target/Mips/MipsMachineFunction.h projects/building-blocks/contrib/llvm/lib/Target/Mips/MipsModuleISelDAGToDAG.cpp projects/building-blocks/contrib/llvm/lib/Target/Mips/MipsModuleISelDAGToDAG.h projects/building-blocks/contrib/llvm/lib/Target/Mips/MipsOs16.cpp projects/building-blocks/contrib/llvm/lib/Target/Mips/MipsOs16.h projects/building-blocks/contrib/llvm/lib/Target/Mips/MipsRegisterInfo.cpp projects/building-blocks/contrib/llvm/lib/Target/Mips/MipsRegisterInfo.h projects/building-blocks/contrib/llvm/lib/Target/Mips/MipsRegisterInfo.td projects/building-blocks/contrib/llvm/lib/Target/Mips/MipsSEFrameLowering.cpp projects/building-blocks/contrib/llvm/lib/Target/Mips/MipsSEFrameLowering.h projects/building-blocks/contrib/llvm/lib/Target/Mips/MipsSEISelDAGToDAG.cpp projects/building-blocks/contrib/llvm/lib/Target/Mips/MipsSEISelDAGToDAG.h projects/building-blocks/contrib/llvm/lib/Target/Mips/MipsSEISelLowering.cpp projects/building-blocks/contrib/llvm/lib/Target/Mips/MipsSEISelLowering.h projects/building-blocks/contrib/llvm/lib/Target/Mips/MipsSEInstrInfo.cpp projects/building-blocks/contrib/llvm/lib/Target/Mips/MipsSEInstrInfo.h projects/building-blocks/contrib/llvm/lib/Target/Mips/MipsSERegisterInfo.cpp projects/building-blocks/contrib/llvm/lib/Target/Mips/MipsSERegisterInfo.h projects/building-blocks/contrib/llvm/lib/Target/Mips/MipsSchedule.td projects/building-blocks/contrib/llvm/lib/Target/Mips/MipsSelectionDAGInfo.cpp projects/building-blocks/contrib/llvm/lib/Target/Mips/MipsSelectionDAGInfo.h projects/building-blocks/contrib/llvm/lib/Target/Mips/MipsSubtarget.cpp projects/building-blocks/contrib/llvm/lib/Target/Mips/MipsSubtarget.h projects/building-blocks/contrib/llvm/lib/Target/Mips/MipsTargetMachine.cpp projects/building-blocks/contrib/llvm/lib/Target/Mips/MipsTargetMachine.h projects/building-blocks/contrib/llvm/lib/Target/Mips/MipsTargetObjectFile.cpp projects/building-blocks/contrib/llvm/lib/Target/Mips/MipsTargetObjectFile.h projects/building-blocks/contrib/llvm/lib/Target/Mips/MipsTargetStreamer.h projects/building-blocks/contrib/llvm/lib/Target/NVPTX/InstPrinter/NVPTXInstPrinter.cpp projects/building-blocks/contrib/llvm/lib/Target/NVPTX/InstPrinter/NVPTXInstPrinter.h projects/building-blocks/contrib/llvm/lib/Target/NVPTX/MCTargetDesc/NVPTXBaseInfo.h projects/building-blocks/contrib/llvm/lib/Target/NVPTX/MCTargetDesc/NVPTXMCAsmInfo.cpp projects/building-blocks/contrib/llvm/lib/Target/NVPTX/MCTargetDesc/NVPTXMCTargetDesc.cpp projects/building-blocks/contrib/llvm/lib/Target/NVPTX/NVPTX.h projects/building-blocks/contrib/llvm/lib/Target/NVPTX/NVPTX.td projects/building-blocks/contrib/llvm/lib/Target/NVPTX/NVPTXAllocaHoisting.h projects/building-blocks/contrib/llvm/lib/Target/NVPTX/NVPTXAsmPrinter.cpp projects/building-blocks/contrib/llvm/lib/Target/NVPTX/NVPTXAsmPrinter.h projects/building-blocks/contrib/llvm/lib/Target/NVPTX/NVPTXFrameLowering.cpp projects/building-blocks/contrib/llvm/lib/Target/NVPTX/NVPTXFrameLowering.h projects/building-blocks/contrib/llvm/lib/Target/NVPTX/NVPTXGenericToNVVM.cpp projects/building-blocks/contrib/llvm/lib/Target/NVPTX/NVPTXISelDAGToDAG.cpp projects/building-blocks/contrib/llvm/lib/Target/NVPTX/NVPTXISelDAGToDAG.h projects/building-blocks/contrib/llvm/lib/Target/NVPTX/NVPTXISelLowering.cpp projects/building-blocks/contrib/llvm/lib/Target/NVPTX/NVPTXISelLowering.h projects/building-blocks/contrib/llvm/lib/Target/NVPTX/NVPTXInstrFormats.td projects/building-blocks/contrib/llvm/lib/Target/NVPTX/NVPTXInstrInfo.cpp projects/building-blocks/contrib/llvm/lib/Target/NVPTX/NVPTXInstrInfo.h projects/building-blocks/contrib/llvm/lib/Target/NVPTX/NVPTXInstrInfo.td projects/building-blocks/contrib/llvm/lib/Target/NVPTX/NVPTXIntrinsics.td projects/building-blocks/contrib/llvm/lib/Target/NVPTX/NVPTXLowerAggrCopies.cpp projects/building-blocks/contrib/llvm/lib/Target/NVPTX/NVPTXLowerAggrCopies.h projects/building-blocks/contrib/llvm/lib/Target/NVPTX/NVPTXMCExpr.cpp projects/building-blocks/contrib/llvm/lib/Target/NVPTX/NVPTXMCExpr.h projects/building-blocks/contrib/llvm/lib/Target/NVPTX/NVPTXPrologEpilogPass.cpp projects/building-blocks/contrib/llvm/lib/Target/NVPTX/NVPTXRegisterInfo.cpp projects/building-blocks/contrib/llvm/lib/Target/NVPTX/NVPTXRegisterInfo.h projects/building-blocks/contrib/llvm/lib/Target/NVPTX/NVPTXRegisterInfo.td projects/building-blocks/contrib/llvm/lib/Target/NVPTX/NVPTXSection.h projects/building-blocks/contrib/llvm/lib/Target/NVPTX/NVPTXSubtarget.cpp projects/building-blocks/contrib/llvm/lib/Target/NVPTX/NVPTXSubtarget.h projects/building-blocks/contrib/llvm/lib/Target/NVPTX/NVPTXTargetMachine.cpp projects/building-blocks/contrib/llvm/lib/Target/NVPTX/NVPTXTargetMachine.h projects/building-blocks/contrib/llvm/lib/Target/NVPTX/NVPTXTargetObjectFile.h projects/building-blocks/contrib/llvm/lib/Target/NVPTX/NVPTXUtilities.cpp projects/building-blocks/contrib/llvm/lib/Target/NVPTX/NVPTXUtilities.h projects/building-blocks/contrib/llvm/lib/Target/NVPTX/NVVMReflect.cpp projects/building-blocks/contrib/llvm/lib/Target/NVPTX/cl_common_defines.h projects/building-blocks/contrib/llvm/lib/Target/PowerPC/AsmParser/PPCAsmParser.cpp projects/building-blocks/contrib/llvm/lib/Target/PowerPC/InstPrinter/PPCInstPrinter.cpp projects/building-blocks/contrib/llvm/lib/Target/PowerPC/InstPrinter/PPCInstPrinter.h projects/building-blocks/contrib/llvm/lib/Target/PowerPC/MCTargetDesc/PPCAsmBackend.cpp projects/building-blocks/contrib/llvm/lib/Target/PowerPC/MCTargetDesc/PPCELFObjectWriter.cpp projects/building-blocks/contrib/llvm/lib/Target/PowerPC/MCTargetDesc/PPCMCAsmInfo.cpp projects/building-blocks/contrib/llvm/lib/Target/PowerPC/MCTargetDesc/PPCMCAsmInfo.h projects/building-blocks/contrib/llvm/lib/Target/PowerPC/MCTargetDesc/PPCMCCodeEmitter.cpp projects/building-blocks/contrib/llvm/lib/Target/PowerPC/MCTargetDesc/PPCMCExpr.cpp projects/building-blocks/contrib/llvm/lib/Target/PowerPC/MCTargetDesc/PPCMCExpr.h projects/building-blocks/contrib/llvm/lib/Target/PowerPC/MCTargetDesc/PPCMCTargetDesc.cpp projects/building-blocks/contrib/llvm/lib/Target/PowerPC/MCTargetDesc/PPCMCTargetDesc.h projects/building-blocks/contrib/llvm/lib/Target/PowerPC/MCTargetDesc/PPCMachObjectWriter.cpp projects/building-blocks/contrib/llvm/lib/Target/PowerPC/MCTargetDesc/PPCPredicates.cpp projects/building-blocks/contrib/llvm/lib/Target/PowerPC/MCTargetDesc/PPCPredicates.h projects/building-blocks/contrib/llvm/lib/Target/PowerPC/PPC.h projects/building-blocks/contrib/llvm/lib/Target/PowerPC/PPC.td projects/building-blocks/contrib/llvm/lib/Target/PowerPC/PPCAsmPrinter.cpp projects/building-blocks/contrib/llvm/lib/Target/PowerPC/PPCBranchSelector.cpp projects/building-blocks/contrib/llvm/lib/Target/PowerPC/PPCCTRLoops.cpp projects/building-blocks/contrib/llvm/lib/Target/PowerPC/PPCCallingConv.td projects/building-blocks/contrib/llvm/lib/Target/PowerPC/PPCCodeEmitter.cpp projects/building-blocks/contrib/llvm/lib/Target/PowerPC/PPCFastISel.cpp projects/building-blocks/contrib/llvm/lib/Target/PowerPC/PPCFrameLowering.cpp projects/building-blocks/contrib/llvm/lib/Target/PowerPC/PPCFrameLowering.h projects/building-blocks/contrib/llvm/lib/Target/PowerPC/PPCHazardRecognizers.cpp projects/building-blocks/contrib/llvm/lib/Target/PowerPC/PPCHazardRecognizers.h projects/building-blocks/contrib/llvm/lib/Target/PowerPC/PPCISelDAGToDAG.cpp projects/building-blocks/contrib/llvm/lib/Target/PowerPC/PPCISelLowering.cpp projects/building-blocks/contrib/llvm/lib/Target/PowerPC/PPCISelLowering.h projects/building-blocks/contrib/llvm/lib/Target/PowerPC/PPCInstr64Bit.td projects/building-blocks/contrib/llvm/lib/Target/PowerPC/PPCInstrAltivec.td projects/building-blocks/contrib/llvm/lib/Target/PowerPC/PPCInstrFormats.td projects/building-blocks/contrib/llvm/lib/Target/PowerPC/PPCInstrInfo.cpp projects/building-blocks/contrib/llvm/lib/Target/PowerPC/PPCInstrInfo.h projects/building-blocks/contrib/llvm/lib/Target/PowerPC/PPCInstrInfo.td projects/building-blocks/contrib/llvm/lib/Target/PowerPC/PPCJITInfo.cpp projects/building-blocks/contrib/llvm/lib/Target/PowerPC/PPCJITInfo.h projects/building-blocks/contrib/llvm/lib/Target/PowerPC/PPCMCInstLower.cpp projects/building-blocks/contrib/llvm/lib/Target/PowerPC/PPCMachineFunctionInfo.cpp projects/building-blocks/contrib/llvm/lib/Target/PowerPC/PPCRegisterInfo.cpp projects/building-blocks/contrib/llvm/lib/Target/PowerPC/PPCRegisterInfo.h projects/building-blocks/contrib/llvm/lib/Target/PowerPC/PPCRegisterInfo.td projects/building-blocks/contrib/llvm/lib/Target/PowerPC/PPCSchedule.td projects/building-blocks/contrib/llvm/lib/Target/PowerPC/PPCSchedule440.td projects/building-blocks/contrib/llvm/lib/Target/PowerPC/PPCScheduleA2.td projects/building-blocks/contrib/llvm/lib/Target/PowerPC/PPCScheduleE500mc.td projects/building-blocks/contrib/llvm/lib/Target/PowerPC/PPCScheduleE5500.td projects/building-blocks/contrib/llvm/lib/Target/PowerPC/PPCScheduleG3.td projects/building-blocks/contrib/llvm/lib/Target/PowerPC/PPCScheduleG4.td projects/building-blocks/contrib/llvm/lib/Target/PowerPC/PPCScheduleG4Plus.td projects/building-blocks/contrib/llvm/lib/Target/PowerPC/PPCScheduleG5.td projects/building-blocks/contrib/llvm/lib/Target/PowerPC/PPCSelectionDAGInfo.cpp projects/building-blocks/contrib/llvm/lib/Target/PowerPC/PPCSelectionDAGInfo.h projects/building-blocks/contrib/llvm/lib/Target/PowerPC/PPCSubtarget.cpp projects/building-blocks/contrib/llvm/lib/Target/PowerPC/PPCSubtarget.h projects/building-blocks/contrib/llvm/lib/Target/PowerPC/PPCTargetMachine.cpp projects/building-blocks/contrib/llvm/lib/Target/PowerPC/PPCTargetMachine.h projects/building-blocks/contrib/llvm/lib/Target/PowerPC/PPCTargetObjectFile.cpp projects/building-blocks/contrib/llvm/lib/Target/PowerPC/PPCTargetObjectFile.h projects/building-blocks/contrib/llvm/lib/Target/PowerPC/PPCTargetStreamer.h projects/building-blocks/contrib/llvm/lib/Target/PowerPC/PPCTargetTransformInfo.cpp projects/building-blocks/contrib/llvm/lib/Target/R600/AMDGPU.h projects/building-blocks/contrib/llvm/lib/Target/R600/AMDGPU.td projects/building-blocks/contrib/llvm/lib/Target/R600/AMDGPUAsmPrinter.cpp projects/building-blocks/contrib/llvm/lib/Target/R600/AMDGPUAsmPrinter.h projects/building-blocks/contrib/llvm/lib/Target/R600/AMDGPUCallingConv.td projects/building-blocks/contrib/llvm/lib/Target/R600/AMDGPUFrameLowering.cpp projects/building-blocks/contrib/llvm/lib/Target/R600/AMDGPUFrameLowering.h projects/building-blocks/contrib/llvm/lib/Target/R600/AMDGPUISelDAGToDAG.cpp projects/building-blocks/contrib/llvm/lib/Target/R600/AMDGPUISelLowering.cpp projects/building-blocks/contrib/llvm/lib/Target/R600/AMDGPUISelLowering.h projects/building-blocks/contrib/llvm/lib/Target/R600/AMDGPUInstrInfo.cpp projects/building-blocks/contrib/llvm/lib/Target/R600/AMDGPUInstrInfo.h projects/building-blocks/contrib/llvm/lib/Target/R600/AMDGPUInstrInfo.td projects/building-blocks/contrib/llvm/lib/Target/R600/AMDGPUInstructions.td projects/building-blocks/contrib/llvm/lib/Target/R600/AMDGPUIntrinsics.td projects/building-blocks/contrib/llvm/lib/Target/R600/AMDGPUMCInstLower.cpp projects/building-blocks/contrib/llvm/lib/Target/R600/AMDGPUMCInstLower.h projects/building-blocks/contrib/llvm/lib/Target/R600/AMDGPUMachineFunction.cpp projects/building-blocks/contrib/llvm/lib/Target/R600/AMDGPUMachineFunction.h projects/building-blocks/contrib/llvm/lib/Target/R600/AMDGPURegisterInfo.cpp projects/building-blocks/contrib/llvm/lib/Target/R600/AMDGPURegisterInfo.h projects/building-blocks/contrib/llvm/lib/Target/R600/AMDGPUSubtarget.cpp projects/building-blocks/contrib/llvm/lib/Target/R600/AMDGPUSubtarget.h projects/building-blocks/contrib/llvm/lib/Target/R600/AMDGPUTargetMachine.cpp projects/building-blocks/contrib/llvm/lib/Target/R600/AMDGPUTargetMachine.h projects/building-blocks/contrib/llvm/lib/Target/R600/AMDGPUTargetTransformInfo.cpp projects/building-blocks/contrib/llvm/lib/Target/R600/AMDILCFGStructurizer.cpp projects/building-blocks/contrib/llvm/lib/Target/R600/InstPrinter/AMDGPUInstPrinter.cpp projects/building-blocks/contrib/llvm/lib/Target/R600/InstPrinter/AMDGPUInstPrinter.h projects/building-blocks/contrib/llvm/lib/Target/R600/MCTargetDesc/AMDGPUAsmBackend.cpp projects/building-blocks/contrib/llvm/lib/Target/R600/MCTargetDesc/AMDGPUELFObjectWriter.cpp projects/building-blocks/contrib/llvm/lib/Target/R600/MCTargetDesc/AMDGPUMCAsmInfo.cpp projects/building-blocks/contrib/llvm/lib/Target/R600/MCTargetDesc/AMDGPUMCAsmInfo.h projects/building-blocks/contrib/llvm/lib/Target/R600/MCTargetDesc/AMDGPUMCCodeEmitter.h projects/building-blocks/contrib/llvm/lib/Target/R600/MCTargetDesc/AMDGPUMCTargetDesc.cpp projects/building-blocks/contrib/llvm/lib/Target/R600/MCTargetDesc/R600MCCodeEmitter.cpp projects/building-blocks/contrib/llvm/lib/Target/R600/MCTargetDesc/SIMCCodeEmitter.cpp projects/building-blocks/contrib/llvm/lib/Target/R600/Processors.td projects/building-blocks/contrib/llvm/lib/Target/R600/R600ClauseMergePass.cpp projects/building-blocks/contrib/llvm/lib/Target/R600/R600ControlFlowFinalizer.cpp projects/building-blocks/contrib/llvm/lib/Target/R600/R600Defines.h projects/building-blocks/contrib/llvm/lib/Target/R600/R600EmitClauseMarkers.cpp projects/building-blocks/contrib/llvm/lib/Target/R600/R600ExpandSpecialInstrs.cpp projects/building-blocks/contrib/llvm/lib/Target/R600/R600ISelLowering.cpp projects/building-blocks/contrib/llvm/lib/Target/R600/R600ISelLowering.h projects/building-blocks/contrib/llvm/lib/Target/R600/R600InstrInfo.cpp projects/building-blocks/contrib/llvm/lib/Target/R600/R600InstrInfo.h projects/building-blocks/contrib/llvm/lib/Target/R600/R600Instructions.td projects/building-blocks/contrib/llvm/lib/Target/R600/R600MachineFunctionInfo.h projects/building-blocks/contrib/llvm/lib/Target/R600/R600MachineScheduler.cpp projects/building-blocks/contrib/llvm/lib/Target/R600/R600MachineScheduler.h projects/building-blocks/contrib/llvm/lib/Target/R600/R600OptimizeVectorRegisters.cpp projects/building-blocks/contrib/llvm/lib/Target/R600/R600Packetizer.cpp projects/building-blocks/contrib/llvm/lib/Target/R600/R600RegisterInfo.cpp projects/building-blocks/contrib/llvm/lib/Target/R600/R600RegisterInfo.h projects/building-blocks/contrib/llvm/lib/Target/R600/R600RegisterInfo.td projects/building-blocks/contrib/llvm/lib/Target/R600/R600TextureIntrinsicsReplacer.cpp projects/building-blocks/contrib/llvm/lib/Target/R600/SIAnnotateControlFlow.cpp projects/building-blocks/contrib/llvm/lib/Target/R600/SIDefines.h projects/building-blocks/contrib/llvm/lib/Target/R600/SIFixSGPRCopies.cpp projects/building-blocks/contrib/llvm/lib/Target/R600/SIISelLowering.cpp projects/building-blocks/contrib/llvm/lib/Target/R600/SIISelLowering.h projects/building-blocks/contrib/llvm/lib/Target/R600/SIInsertWaits.cpp projects/building-blocks/contrib/llvm/lib/Target/R600/SIInstrFormats.td projects/building-blocks/contrib/llvm/lib/Target/R600/SIInstrInfo.cpp projects/building-blocks/contrib/llvm/lib/Target/R600/SIInstrInfo.h projects/building-blocks/contrib/llvm/lib/Target/R600/SIInstrInfo.td projects/building-blocks/contrib/llvm/lib/Target/R600/SIInstructions.td projects/building-blocks/contrib/llvm/lib/Target/R600/SIIntrinsics.td projects/building-blocks/contrib/llvm/lib/Target/R600/SILowerControlFlow.cpp projects/building-blocks/contrib/llvm/lib/Target/R600/SIMachineFunctionInfo.cpp projects/building-blocks/contrib/llvm/lib/Target/R600/SIMachineFunctionInfo.h projects/building-blocks/contrib/llvm/lib/Target/R600/SIRegisterInfo.cpp projects/building-blocks/contrib/llvm/lib/Target/R600/SIRegisterInfo.h projects/building-blocks/contrib/llvm/lib/Target/R600/SIRegisterInfo.td projects/building-blocks/contrib/llvm/lib/Target/R600/SITypeRewriter.cpp projects/building-blocks/contrib/llvm/lib/Target/Sparc/AsmParser/SparcAsmParser.cpp projects/building-blocks/contrib/llvm/lib/Target/Sparc/DelaySlotFiller.cpp projects/building-blocks/contrib/llvm/lib/Target/Sparc/Disassembler/SparcDisassembler.cpp projects/building-blocks/contrib/llvm/lib/Target/Sparc/InstPrinter/SparcInstPrinter.cpp projects/building-blocks/contrib/llvm/lib/Target/Sparc/InstPrinter/SparcInstPrinter.h projects/building-blocks/contrib/llvm/lib/Target/Sparc/MCTargetDesc/SparcAsmBackend.cpp projects/building-blocks/contrib/llvm/lib/Target/Sparc/MCTargetDesc/SparcELFObjectWriter.cpp projects/building-blocks/contrib/llvm/lib/Target/Sparc/MCTargetDesc/SparcFixupKinds.h projects/building-blocks/contrib/llvm/lib/Target/Sparc/MCTargetDesc/SparcMCAsmInfo.cpp projects/building-blocks/contrib/llvm/lib/Target/Sparc/MCTargetDesc/SparcMCAsmInfo.h projects/building-blocks/contrib/llvm/lib/Target/Sparc/MCTargetDesc/SparcMCCodeEmitter.cpp projects/building-blocks/contrib/llvm/lib/Target/Sparc/MCTargetDesc/SparcMCExpr.cpp projects/building-blocks/contrib/llvm/lib/Target/Sparc/MCTargetDesc/SparcMCExpr.h projects/building-blocks/contrib/llvm/lib/Target/Sparc/MCTargetDesc/SparcMCTargetDesc.cpp projects/building-blocks/contrib/llvm/lib/Target/Sparc/MCTargetDesc/SparcTargetStreamer.cpp projects/building-blocks/contrib/llvm/lib/Target/Sparc/Sparc.h projects/building-blocks/contrib/llvm/lib/Target/Sparc/Sparc.td projects/building-blocks/contrib/llvm/lib/Target/Sparc/SparcAsmPrinter.cpp projects/building-blocks/contrib/llvm/lib/Target/Sparc/SparcCodeEmitter.cpp projects/building-blocks/contrib/llvm/lib/Target/Sparc/SparcFrameLowering.cpp projects/building-blocks/contrib/llvm/lib/Target/Sparc/SparcFrameLowering.h projects/building-blocks/contrib/llvm/lib/Target/Sparc/SparcISelDAGToDAG.cpp projects/building-blocks/contrib/llvm/lib/Target/Sparc/SparcISelLowering.cpp projects/building-blocks/contrib/llvm/lib/Target/Sparc/SparcISelLowering.h projects/building-blocks/contrib/llvm/lib/Target/Sparc/SparcInstr64Bit.td projects/building-blocks/contrib/llvm/lib/Target/Sparc/SparcInstrAliases.td projects/building-blocks/contrib/llvm/lib/Target/Sparc/SparcInstrFormats.td projects/building-blocks/contrib/llvm/lib/Target/Sparc/SparcInstrInfo.cpp projects/building-blocks/contrib/llvm/lib/Target/Sparc/SparcInstrInfo.h projects/building-blocks/contrib/llvm/lib/Target/Sparc/SparcInstrInfo.td projects/building-blocks/contrib/llvm/lib/Target/Sparc/SparcJITInfo.cpp projects/building-blocks/contrib/llvm/lib/Target/Sparc/SparcJITInfo.h projects/building-blocks/contrib/llvm/lib/Target/Sparc/SparcMCInstLower.cpp projects/building-blocks/contrib/llvm/lib/Target/Sparc/SparcRegisterInfo.cpp projects/building-blocks/contrib/llvm/lib/Target/Sparc/SparcRegisterInfo.h projects/building-blocks/contrib/llvm/lib/Target/Sparc/SparcRegisterInfo.td projects/building-blocks/contrib/llvm/lib/Target/Sparc/SparcSelectionDAGInfo.cpp projects/building-blocks/contrib/llvm/lib/Target/Sparc/SparcSelectionDAGInfo.h projects/building-blocks/contrib/llvm/lib/Target/Sparc/SparcSubtarget.cpp projects/building-blocks/contrib/llvm/lib/Target/Sparc/SparcSubtarget.h projects/building-blocks/contrib/llvm/lib/Target/Sparc/SparcTargetMachine.cpp projects/building-blocks/contrib/llvm/lib/Target/Sparc/SparcTargetMachine.h projects/building-blocks/contrib/llvm/lib/Target/Sparc/SparcTargetObjectFile.cpp projects/building-blocks/contrib/llvm/lib/Target/Sparc/SparcTargetObjectFile.h projects/building-blocks/contrib/llvm/lib/Target/Sparc/SparcTargetStreamer.h projects/building-blocks/contrib/llvm/lib/Target/SystemZ/AsmParser/SystemZAsmParser.cpp projects/building-blocks/contrib/llvm/lib/Target/SystemZ/Disassembler/SystemZDisassembler.cpp projects/building-blocks/contrib/llvm/lib/Target/SystemZ/InstPrinter/SystemZInstPrinter.cpp projects/building-blocks/contrib/llvm/lib/Target/SystemZ/InstPrinter/SystemZInstPrinter.h projects/building-blocks/contrib/llvm/lib/Target/SystemZ/MCTargetDesc/SystemZMCAsmBackend.cpp projects/building-blocks/contrib/llvm/lib/Target/SystemZ/MCTargetDesc/SystemZMCAsmInfo.cpp projects/building-blocks/contrib/llvm/lib/Target/SystemZ/MCTargetDesc/SystemZMCAsmInfo.h projects/building-blocks/contrib/llvm/lib/Target/SystemZ/MCTargetDesc/SystemZMCCodeEmitter.cpp projects/building-blocks/contrib/llvm/lib/Target/SystemZ/MCTargetDesc/SystemZMCFixups.h projects/building-blocks/contrib/llvm/lib/Target/SystemZ/MCTargetDesc/SystemZMCObjectWriter.cpp projects/building-blocks/contrib/llvm/lib/Target/SystemZ/MCTargetDesc/SystemZMCTargetDesc.cpp projects/building-blocks/contrib/llvm/lib/Target/SystemZ/MCTargetDesc/SystemZMCTargetDesc.h projects/building-blocks/contrib/llvm/lib/Target/SystemZ/README.txt projects/building-blocks/contrib/llvm/lib/Target/SystemZ/SystemZ.h projects/building-blocks/contrib/llvm/lib/Target/SystemZ/SystemZ.td projects/building-blocks/contrib/llvm/lib/Target/SystemZ/SystemZAsmPrinter.cpp projects/building-blocks/contrib/llvm/lib/Target/SystemZ/SystemZAsmPrinter.h projects/building-blocks/contrib/llvm/lib/Target/SystemZ/SystemZCallingConv.h projects/building-blocks/contrib/llvm/lib/Target/SystemZ/SystemZCallingConv.td projects/building-blocks/contrib/llvm/lib/Target/SystemZ/SystemZConstantPoolValue.cpp projects/building-blocks/contrib/llvm/lib/Target/SystemZ/SystemZConstantPoolValue.h projects/building-blocks/contrib/llvm/lib/Target/SystemZ/SystemZElimCompare.cpp projects/building-blocks/contrib/llvm/lib/Target/SystemZ/SystemZFrameLowering.cpp projects/building-blocks/contrib/llvm/lib/Target/SystemZ/SystemZFrameLowering.h projects/building-blocks/contrib/llvm/lib/Target/SystemZ/SystemZISelDAGToDAG.cpp projects/building-blocks/contrib/llvm/lib/Target/SystemZ/SystemZISelLowering.cpp projects/building-blocks/contrib/llvm/lib/Target/SystemZ/SystemZISelLowering.h projects/building-blocks/contrib/llvm/lib/Target/SystemZ/SystemZInstrBuilder.h projects/building-blocks/contrib/llvm/lib/Target/SystemZ/SystemZInstrFP.td projects/building-blocks/contrib/llvm/lib/Target/SystemZ/SystemZInstrFormats.td projects/building-blocks/contrib/llvm/lib/Target/SystemZ/SystemZInstrInfo.cpp projects/building-blocks/contrib/llvm/lib/Target/SystemZ/SystemZInstrInfo.h projects/building-blocks/contrib/llvm/lib/Target/SystemZ/SystemZInstrInfo.td projects/building-blocks/contrib/llvm/lib/Target/SystemZ/SystemZLongBranch.cpp projects/building-blocks/contrib/llvm/lib/Target/SystemZ/SystemZMCInstLower.cpp projects/building-blocks/contrib/llvm/lib/Target/SystemZ/SystemZMCInstLower.h projects/building-blocks/contrib/llvm/lib/Target/SystemZ/SystemZMachineFunctionInfo.h projects/building-blocks/contrib/llvm/lib/Target/SystemZ/SystemZOperands.td projects/building-blocks/contrib/llvm/lib/Target/SystemZ/SystemZOperators.td projects/building-blocks/contrib/llvm/lib/Target/SystemZ/SystemZPatterns.td projects/building-blocks/contrib/llvm/lib/Target/SystemZ/SystemZProcessors.td projects/building-blocks/contrib/llvm/lib/Target/SystemZ/SystemZRegisterInfo.cpp projects/building-blocks/contrib/llvm/lib/Target/SystemZ/SystemZRegisterInfo.h projects/building-blocks/contrib/llvm/lib/Target/SystemZ/SystemZRegisterInfo.td projects/building-blocks/contrib/llvm/lib/Target/SystemZ/SystemZSelectionDAGInfo.cpp projects/building-blocks/contrib/llvm/lib/Target/SystemZ/SystemZSelectionDAGInfo.h projects/building-blocks/contrib/llvm/lib/Target/SystemZ/SystemZShortenInst.cpp projects/building-blocks/contrib/llvm/lib/Target/SystemZ/SystemZSubtarget.cpp projects/building-blocks/contrib/llvm/lib/Target/SystemZ/SystemZSubtarget.h projects/building-blocks/contrib/llvm/lib/Target/SystemZ/SystemZTargetMachine.cpp projects/building-blocks/contrib/llvm/lib/Target/SystemZ/SystemZTargetMachine.h projects/building-blocks/contrib/llvm/lib/Target/Target.cpp projects/building-blocks/contrib/llvm/lib/Target/TargetLibraryInfo.cpp projects/building-blocks/contrib/llvm/lib/Target/TargetLoweringObjectFile.cpp projects/building-blocks/contrib/llvm/lib/Target/TargetMachine.cpp projects/building-blocks/contrib/llvm/lib/Target/TargetMachineC.cpp projects/building-blocks/contrib/llvm/lib/Target/TargetSubtargetInfo.cpp projects/building-blocks/contrib/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp projects/building-blocks/contrib/llvm/lib/Target/X86/Disassembler/X86Disassembler.cpp projects/building-blocks/contrib/llvm/lib/Target/X86/Disassembler/X86Disassembler.h projects/building-blocks/contrib/llvm/lib/Target/X86/Disassembler/X86DisassemblerDecoder.h projects/building-blocks/contrib/llvm/lib/Target/X86/Disassembler/X86DisassemblerDecoderCommon.h projects/building-blocks/contrib/llvm/lib/Target/X86/InstPrinter/X86ATTInstPrinter.cpp projects/building-blocks/contrib/llvm/lib/Target/X86/InstPrinter/X86ATTInstPrinter.h projects/building-blocks/contrib/llvm/lib/Target/X86/InstPrinter/X86InstComments.cpp projects/building-blocks/contrib/llvm/lib/Target/X86/InstPrinter/X86IntelInstPrinter.cpp projects/building-blocks/contrib/llvm/lib/Target/X86/InstPrinter/X86IntelInstPrinter.h projects/building-blocks/contrib/llvm/lib/Target/X86/MCTargetDesc/X86AsmBackend.cpp projects/building-blocks/contrib/llvm/lib/Target/X86/MCTargetDesc/X86BaseInfo.h projects/building-blocks/contrib/llvm/lib/Target/X86/MCTargetDesc/X86ELFObjectWriter.cpp projects/building-blocks/contrib/llvm/lib/Target/X86/MCTargetDesc/X86ELFRelocationInfo.cpp projects/building-blocks/contrib/llvm/lib/Target/X86/MCTargetDesc/X86FixupKinds.h projects/building-blocks/contrib/llvm/lib/Target/X86/MCTargetDesc/X86MCAsmInfo.cpp projects/building-blocks/contrib/llvm/lib/Target/X86/MCTargetDesc/X86MCAsmInfo.h projects/building-blocks/contrib/llvm/lib/Target/X86/MCTargetDesc/X86MCCodeEmitter.cpp projects/building-blocks/contrib/llvm/lib/Target/X86/MCTargetDesc/X86MCTargetDesc.cpp projects/building-blocks/contrib/llvm/lib/Target/X86/MCTargetDesc/X86MCTargetDesc.h projects/building-blocks/contrib/llvm/lib/Target/X86/MCTargetDesc/X86MachORelocationInfo.cpp projects/building-blocks/contrib/llvm/lib/Target/X86/MCTargetDesc/X86MachObjectWriter.cpp projects/building-blocks/contrib/llvm/lib/Target/X86/MCTargetDesc/X86WinCOFFObjectWriter.cpp projects/building-blocks/contrib/llvm/lib/Target/X86/TargetInfo/X86TargetInfo.cpp projects/building-blocks/contrib/llvm/lib/Target/X86/Utils/X86ShuffleDecode.cpp projects/building-blocks/contrib/llvm/lib/Target/X86/Utils/X86ShuffleDecode.h projects/building-blocks/contrib/llvm/lib/Target/X86/X86.h projects/building-blocks/contrib/llvm/lib/Target/X86/X86.td projects/building-blocks/contrib/llvm/lib/Target/X86/X86AsmPrinter.cpp projects/building-blocks/contrib/llvm/lib/Target/X86/X86AsmPrinter.h projects/building-blocks/contrib/llvm/lib/Target/X86/X86CallingConv.td projects/building-blocks/contrib/llvm/lib/Target/X86/X86CodeEmitter.cpp projects/building-blocks/contrib/llvm/lib/Target/X86/X86FastISel.cpp projects/building-blocks/contrib/llvm/lib/Target/X86/X86FixupLEAs.cpp projects/building-blocks/contrib/llvm/lib/Target/X86/X86FloatingPoint.cpp projects/building-blocks/contrib/llvm/lib/Target/X86/X86FrameLowering.cpp projects/building-blocks/contrib/llvm/lib/Target/X86/X86FrameLowering.h projects/building-blocks/contrib/llvm/lib/Target/X86/X86ISelDAGToDAG.cpp projects/building-blocks/contrib/llvm/lib/Target/X86/X86ISelLowering.cpp projects/building-blocks/contrib/llvm/lib/Target/X86/X86ISelLowering.h projects/building-blocks/contrib/llvm/lib/Target/X86/X86InstrAVX512.td projects/building-blocks/contrib/llvm/lib/Target/X86/X86InstrArithmetic.td projects/building-blocks/contrib/llvm/lib/Target/X86/X86InstrBuilder.h projects/building-blocks/contrib/llvm/lib/Target/X86/X86InstrCMovSetCC.td projects/building-blocks/contrib/llvm/lib/Target/X86/X86InstrCompiler.td projects/building-blocks/contrib/llvm/lib/Target/X86/X86InstrControl.td projects/building-blocks/contrib/llvm/lib/Target/X86/X86InstrExtension.td projects/building-blocks/contrib/llvm/lib/Target/X86/X86InstrFMA.td projects/building-blocks/contrib/llvm/lib/Target/X86/X86InstrFPStack.td projects/building-blocks/contrib/llvm/lib/Target/X86/X86InstrFormats.td projects/building-blocks/contrib/llvm/lib/Target/X86/X86InstrFragmentsSIMD.td projects/building-blocks/contrib/llvm/lib/Target/X86/X86InstrInfo.cpp projects/building-blocks/contrib/llvm/lib/Target/X86/X86InstrInfo.h projects/building-blocks/contrib/llvm/lib/Target/X86/X86InstrInfo.td projects/building-blocks/contrib/llvm/lib/Target/X86/X86InstrMMX.td projects/building-blocks/contrib/llvm/lib/Target/X86/X86InstrSSE.td projects/building-blocks/contrib/llvm/lib/Target/X86/X86InstrSVM.td projects/building-blocks/contrib/llvm/lib/Target/X86/X86InstrShiftRotate.td projects/building-blocks/contrib/llvm/lib/Target/X86/X86InstrSystem.td projects/building-blocks/contrib/llvm/lib/Target/X86/X86InstrTSX.td projects/building-blocks/contrib/llvm/lib/Target/X86/X86InstrVMX.td projects/building-blocks/contrib/llvm/lib/Target/X86/X86InstrXOP.td projects/building-blocks/contrib/llvm/lib/Target/X86/X86JITInfo.cpp projects/building-blocks/contrib/llvm/lib/Target/X86/X86JITInfo.h projects/building-blocks/contrib/llvm/lib/Target/X86/X86MCInstLower.cpp projects/building-blocks/contrib/llvm/lib/Target/X86/X86PadShortFunction.cpp projects/building-blocks/contrib/llvm/lib/Target/X86/X86RegisterInfo.cpp projects/building-blocks/contrib/llvm/lib/Target/X86/X86RegisterInfo.h projects/building-blocks/contrib/llvm/lib/Target/X86/X86RegisterInfo.td projects/building-blocks/contrib/llvm/lib/Target/X86/X86SchedHaswell.td projects/building-blocks/contrib/llvm/lib/Target/X86/X86SchedSandyBridge.td projects/building-blocks/contrib/llvm/lib/Target/X86/X86Schedule.td projects/building-blocks/contrib/llvm/lib/Target/X86/X86ScheduleAtom.td projects/building-blocks/contrib/llvm/lib/Target/X86/X86ScheduleSLM.td projects/building-blocks/contrib/llvm/lib/Target/X86/X86SelectionDAGInfo.cpp projects/building-blocks/contrib/llvm/lib/Target/X86/X86SelectionDAGInfo.h projects/building-blocks/contrib/llvm/lib/Target/X86/X86Subtarget.cpp projects/building-blocks/contrib/llvm/lib/Target/X86/X86Subtarget.h projects/building-blocks/contrib/llvm/lib/Target/X86/X86TargetMachine.cpp projects/building-blocks/contrib/llvm/lib/Target/X86/X86TargetMachine.h projects/building-blocks/contrib/llvm/lib/Target/X86/X86TargetObjectFile.cpp projects/building-blocks/contrib/llvm/lib/Target/X86/X86TargetObjectFile.h projects/building-blocks/contrib/llvm/lib/Target/X86/X86TargetTransformInfo.cpp projects/building-blocks/contrib/llvm/lib/Target/X86/X86VZeroUpper.cpp projects/building-blocks/contrib/llvm/lib/Target/XCore/Disassembler/XCoreDisassembler.cpp projects/building-blocks/contrib/llvm/lib/Target/XCore/InstPrinter/XCoreInstPrinter.cpp projects/building-blocks/contrib/llvm/lib/Target/XCore/InstPrinter/XCoreInstPrinter.h projects/building-blocks/contrib/llvm/lib/Target/XCore/MCTargetDesc/XCoreMCAsmInfo.cpp projects/building-blocks/contrib/llvm/lib/Target/XCore/MCTargetDesc/XCoreMCAsmInfo.h projects/building-blocks/contrib/llvm/lib/Target/XCore/MCTargetDesc/XCoreMCTargetDesc.cpp projects/building-blocks/contrib/llvm/lib/Target/XCore/XCore.h projects/building-blocks/contrib/llvm/lib/Target/XCore/XCore.td projects/building-blocks/contrib/llvm/lib/Target/XCore/XCoreAsmPrinter.cpp projects/building-blocks/contrib/llvm/lib/Target/XCore/XCoreCallingConv.td projects/building-blocks/contrib/llvm/lib/Target/XCore/XCoreFrameLowering.cpp projects/building-blocks/contrib/llvm/lib/Target/XCore/XCoreFrameLowering.h projects/building-blocks/contrib/llvm/lib/Target/XCore/XCoreISelDAGToDAG.cpp projects/building-blocks/contrib/llvm/lib/Target/XCore/XCoreISelLowering.cpp projects/building-blocks/contrib/llvm/lib/Target/XCore/XCoreISelLowering.h projects/building-blocks/contrib/llvm/lib/Target/XCore/XCoreInstrInfo.cpp projects/building-blocks/contrib/llvm/lib/Target/XCore/XCoreInstrInfo.h projects/building-blocks/contrib/llvm/lib/Target/XCore/XCoreInstrInfo.td projects/building-blocks/contrib/llvm/lib/Target/XCore/XCoreLowerThreadLocal.cpp projects/building-blocks/contrib/llvm/lib/Target/XCore/XCoreMCInstLower.cpp projects/building-blocks/contrib/llvm/lib/Target/XCore/XCoreMachineFunctionInfo.cpp projects/building-blocks/contrib/llvm/lib/Target/XCore/XCoreMachineFunctionInfo.h projects/building-blocks/contrib/llvm/lib/Target/XCore/XCoreRegisterInfo.cpp projects/building-blocks/contrib/llvm/lib/Target/XCore/XCoreRegisterInfo.h projects/building-blocks/contrib/llvm/lib/Target/XCore/XCoreSelectionDAGInfo.cpp projects/building-blocks/contrib/llvm/lib/Target/XCore/XCoreSelectionDAGInfo.h projects/building-blocks/contrib/llvm/lib/Target/XCore/XCoreSubtarget.cpp projects/building-blocks/contrib/llvm/lib/Target/XCore/XCoreSubtarget.h projects/building-blocks/contrib/llvm/lib/Target/XCore/XCoreTargetMachine.cpp projects/building-blocks/contrib/llvm/lib/Target/XCore/XCoreTargetMachine.h projects/building-blocks/contrib/llvm/lib/Target/XCore/XCoreTargetObjectFile.cpp projects/building-blocks/contrib/llvm/lib/Target/XCore/XCoreTargetObjectFile.h projects/building-blocks/contrib/llvm/lib/Target/XCore/XCoreTargetTransformInfo.cpp projects/building-blocks/contrib/llvm/lib/Transforms/IPO/ArgumentPromotion.cpp projects/building-blocks/contrib/llvm/lib/Transforms/IPO/BarrierNoopPass.cpp projects/building-blocks/contrib/llvm/lib/Transforms/IPO/ConstantMerge.cpp projects/building-blocks/contrib/llvm/lib/Transforms/IPO/DeadArgumentElimination.cpp projects/building-blocks/contrib/llvm/lib/Transforms/IPO/ExtractGV.cpp projects/building-blocks/contrib/llvm/lib/Transforms/IPO/FunctionAttrs.cpp projects/building-blocks/contrib/llvm/lib/Transforms/IPO/GlobalDCE.cpp projects/building-blocks/contrib/llvm/lib/Transforms/IPO/GlobalOpt.cpp projects/building-blocks/contrib/llvm/lib/Transforms/IPO/IPConstantPropagation.cpp projects/building-blocks/contrib/llvm/lib/Transforms/IPO/IPO.cpp projects/building-blocks/contrib/llvm/lib/Transforms/IPO/InlineAlways.cpp projects/building-blocks/contrib/llvm/lib/Transforms/IPO/InlineSimple.cpp projects/building-blocks/contrib/llvm/lib/Transforms/IPO/Inliner.cpp projects/building-blocks/contrib/llvm/lib/Transforms/IPO/Internalize.cpp projects/building-blocks/contrib/llvm/lib/Transforms/IPO/LoopExtractor.cpp projects/building-blocks/contrib/llvm/lib/Transforms/IPO/MergeFunctions.cpp projects/building-blocks/contrib/llvm/lib/Transforms/IPO/PartialInlining.cpp projects/building-blocks/contrib/llvm/lib/Transforms/IPO/PassManagerBuilder.cpp projects/building-blocks/contrib/llvm/lib/Transforms/IPO/PruneEH.cpp projects/building-blocks/contrib/llvm/lib/Transforms/IPO/StripDeadPrototypes.cpp projects/building-blocks/contrib/llvm/lib/Transforms/IPO/StripSymbols.cpp projects/building-blocks/contrib/llvm/lib/Transforms/InstCombine/InstCombine.h projects/building-blocks/contrib/llvm/lib/Transforms/InstCombine/InstCombineAddSub.cpp projects/building-blocks/contrib/llvm/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp projects/building-blocks/contrib/llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp projects/building-blocks/contrib/llvm/lib/Transforms/InstCombine/InstCombineCasts.cpp projects/building-blocks/contrib/llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp projects/building-blocks/contrib/llvm/lib/Transforms/InstCombine/InstCombineLoadStoreAlloca.cpp projects/building-blocks/contrib/llvm/lib/Transforms/InstCombine/InstCombineMulDivRem.cpp projects/building-blocks/contrib/llvm/lib/Transforms/InstCombine/InstCombinePHI.cpp projects/building-blocks/contrib/llvm/lib/Transforms/InstCombine/InstCombineSelect.cpp projects/building-blocks/contrib/llvm/lib/Transforms/InstCombine/InstCombineShifts.cpp projects/building-blocks/contrib/llvm/lib/Transforms/InstCombine/InstCombineSimplifyDemanded.cpp projects/building-blocks/contrib/llvm/lib/Transforms/InstCombine/InstCombineVectorOps.cpp projects/building-blocks/contrib/llvm/lib/Transforms/InstCombine/InstCombineWorklist.h projects/building-blocks/contrib/llvm/lib/Transforms/InstCombine/InstructionCombining.cpp projects/building-blocks/contrib/llvm/lib/Transforms/Instrumentation/AddressSanitizer.cpp projects/building-blocks/contrib/llvm/lib/Transforms/Instrumentation/BoundsChecking.cpp projects/building-blocks/contrib/llvm/lib/Transforms/Instrumentation/DataFlowSanitizer.cpp projects/building-blocks/contrib/llvm/lib/Transforms/Instrumentation/DebugIR.cpp projects/building-blocks/contrib/llvm/lib/Transforms/Instrumentation/DebugIR.h projects/building-blocks/contrib/llvm/lib/Transforms/Instrumentation/GCOVProfiling.cpp projects/building-blocks/contrib/llvm/lib/Transforms/Instrumentation/Instrumentation.cpp projects/building-blocks/contrib/llvm/lib/Transforms/Instrumentation/MemorySanitizer.cpp projects/building-blocks/contrib/llvm/lib/Transforms/Instrumentation/ThreadSanitizer.cpp projects/building-blocks/contrib/llvm/lib/Transforms/ObjCARC/ARCRuntimeEntryPoints.h projects/building-blocks/contrib/llvm/lib/Transforms/ObjCARC/DependencyAnalysis.cpp projects/building-blocks/contrib/llvm/lib/Transforms/ObjCARC/ObjCARC.h projects/building-blocks/contrib/llvm/lib/Transforms/ObjCARC/ObjCARCAPElim.cpp projects/building-blocks/contrib/llvm/lib/Transforms/ObjCARC/ObjCARCAliasAnalysis.cpp projects/building-blocks/contrib/llvm/lib/Transforms/ObjCARC/ObjCARCAliasAnalysis.h projects/building-blocks/contrib/llvm/lib/Transforms/ObjCARC/ObjCARCContract.cpp projects/building-blocks/contrib/llvm/lib/Transforms/ObjCARC/ObjCARCExpand.cpp projects/building-blocks/contrib/llvm/lib/Transforms/ObjCARC/ObjCARCOpts.cpp projects/building-blocks/contrib/llvm/lib/Transforms/ObjCARC/ProvenanceAnalysis.cpp projects/building-blocks/contrib/llvm/lib/Transforms/Scalar/ADCE.cpp projects/building-blocks/contrib/llvm/lib/Transforms/Scalar/ConstantProp.cpp projects/building-blocks/contrib/llvm/lib/Transforms/Scalar/CorrelatedValuePropagation.cpp projects/building-blocks/contrib/llvm/lib/Transforms/Scalar/DCE.cpp projects/building-blocks/contrib/llvm/lib/Transforms/Scalar/DeadStoreElimination.cpp projects/building-blocks/contrib/llvm/lib/Transforms/Scalar/EarlyCSE.cpp projects/building-blocks/contrib/llvm/lib/Transforms/Scalar/FlattenCFGPass.cpp projects/building-blocks/contrib/llvm/lib/Transforms/Scalar/GVN.cpp projects/building-blocks/contrib/llvm/lib/Transforms/Scalar/IndVarSimplify.cpp projects/building-blocks/contrib/llvm/lib/Transforms/Scalar/JumpThreading.cpp projects/building-blocks/contrib/llvm/lib/Transforms/Scalar/LICM.cpp projects/building-blocks/contrib/llvm/lib/Transforms/Scalar/LoopDeletion.cpp projects/building-blocks/contrib/llvm/lib/Transforms/Scalar/LoopIdiomRecognize.cpp projects/building-blocks/contrib/llvm/lib/Transforms/Scalar/LoopInstSimplify.cpp projects/building-blocks/contrib/llvm/lib/Transforms/Scalar/LoopRerollPass.cpp projects/building-blocks/contrib/llvm/lib/Transforms/Scalar/LoopRotation.cpp projects/building-blocks/contrib/llvm/lib/Transforms/Scalar/LoopStrengthReduce.cpp projects/building-blocks/contrib/llvm/lib/Transforms/Scalar/LoopUnrollPass.cpp projects/building-blocks/contrib/llvm/lib/Transforms/Scalar/LoopUnswitch.cpp projects/building-blocks/contrib/llvm/lib/Transforms/Scalar/LowerAtomic.cpp projects/building-blocks/contrib/llvm/lib/Transforms/Scalar/MemCpyOptimizer.cpp projects/building-blocks/contrib/llvm/lib/Transforms/Scalar/PartiallyInlineLibCalls.cpp projects/building-blocks/contrib/llvm/lib/Transforms/Scalar/Reassociate.cpp projects/building-blocks/contrib/llvm/lib/Transforms/Scalar/Reg2Mem.cpp projects/building-blocks/contrib/llvm/lib/Transforms/Scalar/SCCP.cpp projects/building-blocks/contrib/llvm/lib/Transforms/Scalar/SROA.cpp projects/building-blocks/contrib/llvm/lib/Transforms/Scalar/SampleProfile.cpp projects/building-blocks/contrib/llvm/lib/Transforms/Scalar/Scalar.cpp projects/building-blocks/contrib/llvm/lib/Transforms/Scalar/ScalarReplAggregates.cpp projects/building-blocks/contrib/llvm/lib/Transforms/Scalar/SimplifyCFGPass.cpp projects/building-blocks/contrib/llvm/lib/Transforms/Scalar/Sink.cpp projects/building-blocks/contrib/llvm/lib/Transforms/Scalar/StructurizeCFG.cpp projects/building-blocks/contrib/llvm/lib/Transforms/Scalar/TailRecursionElimination.cpp projects/building-blocks/contrib/llvm/lib/Transforms/Utils/BasicBlockUtils.cpp projects/building-blocks/contrib/llvm/lib/Transforms/Utils/BreakCriticalEdges.cpp projects/building-blocks/contrib/llvm/lib/Transforms/Utils/BuildLibCalls.cpp projects/building-blocks/contrib/llvm/lib/Transforms/Utils/BypassSlowDivision.cpp projects/building-blocks/contrib/llvm/lib/Transforms/Utils/CloneFunction.cpp projects/building-blocks/contrib/llvm/lib/Transforms/Utils/CloneModule.cpp projects/building-blocks/contrib/llvm/lib/Transforms/Utils/CmpInstAnalysis.cpp projects/building-blocks/contrib/llvm/lib/Transforms/Utils/CodeExtractor.cpp projects/building-blocks/contrib/llvm/lib/Transforms/Utils/DemoteRegToStack.cpp projects/building-blocks/contrib/llvm/lib/Transforms/Utils/FlattenCFG.cpp projects/building-blocks/contrib/llvm/lib/Transforms/Utils/GlobalStatus.cpp projects/building-blocks/contrib/llvm/lib/Transforms/Utils/InlineFunction.cpp projects/building-blocks/contrib/llvm/lib/Transforms/Utils/InstructionNamer.cpp projects/building-blocks/contrib/llvm/lib/Transforms/Utils/IntegerDivision.cpp projects/building-blocks/contrib/llvm/lib/Transforms/Utils/LCSSA.cpp projects/building-blocks/contrib/llvm/lib/Transforms/Utils/Local.cpp projects/building-blocks/contrib/llvm/lib/Transforms/Utils/LoopSimplify.cpp projects/building-blocks/contrib/llvm/lib/Transforms/Utils/LoopUnroll.cpp projects/building-blocks/contrib/llvm/lib/Transforms/Utils/LoopUnrollRuntime.cpp projects/building-blocks/contrib/llvm/lib/Transforms/Utils/LowerExpectIntrinsic.cpp projects/building-blocks/contrib/llvm/lib/Transforms/Utils/LowerInvoke.cpp projects/building-blocks/contrib/llvm/lib/Transforms/Utils/LowerSwitch.cpp projects/building-blocks/contrib/llvm/lib/Transforms/Utils/Mem2Reg.cpp projects/building-blocks/contrib/llvm/lib/Transforms/Utils/MetaRenamer.cpp projects/building-blocks/contrib/llvm/lib/Transforms/Utils/ModuleUtils.cpp projects/building-blocks/contrib/llvm/lib/Transforms/Utils/PromoteMemoryToRegister.cpp projects/building-blocks/contrib/llvm/lib/Transforms/Utils/SSAUpdater.cpp projects/building-blocks/contrib/llvm/lib/Transforms/Utils/SimplifyCFG.cpp projects/building-blocks/contrib/llvm/lib/Transforms/Utils/SimplifyIndVar.cpp projects/building-blocks/contrib/llvm/lib/Transforms/Utils/SimplifyInstructions.cpp projects/building-blocks/contrib/llvm/lib/Transforms/Utils/SimplifyLibCalls.cpp projects/building-blocks/contrib/llvm/lib/Transforms/Utils/UnifyFunctionExitNodes.cpp projects/building-blocks/contrib/llvm/lib/Transforms/Utils/Utils.cpp projects/building-blocks/contrib/llvm/lib/Transforms/Utils/ValueMapper.cpp projects/building-blocks/contrib/llvm/lib/Transforms/Vectorize/BBVectorize.cpp projects/building-blocks/contrib/llvm/lib/Transforms/Vectorize/LoopVectorize.cpp projects/building-blocks/contrib/llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp projects/building-blocks/contrib/llvm/lib/Transforms/Vectorize/Vectorize.cpp projects/building-blocks/contrib/llvm/patches/README.TXT projects/building-blocks/contrib/llvm/tools/bugpoint/BugDriver.cpp projects/building-blocks/contrib/llvm/tools/bugpoint/BugDriver.h projects/building-blocks/contrib/llvm/tools/bugpoint/CrashDebugger.cpp projects/building-blocks/contrib/llvm/tools/bugpoint/ExecutionDriver.cpp projects/building-blocks/contrib/llvm/tools/bugpoint/ExtractFunction.cpp projects/building-blocks/contrib/llvm/tools/bugpoint/FindBugs.cpp projects/building-blocks/contrib/llvm/tools/bugpoint/Miscompilation.cpp projects/building-blocks/contrib/llvm/tools/bugpoint/OptimizerDriver.cpp projects/building-blocks/contrib/llvm/tools/bugpoint/ToolRunner.cpp projects/building-blocks/contrib/llvm/tools/bugpoint/ToolRunner.h projects/building-blocks/contrib/llvm/tools/bugpoint/bugpoint.cpp projects/building-blocks/contrib/llvm/tools/clang/LICENSE.TXT projects/building-blocks/contrib/llvm/tools/clang/include/clang-c/CXString.h projects/building-blocks/contrib/llvm/tools/clang/include/clang-c/Index.h projects/building-blocks/contrib/llvm/tools/clang/include/clang/ARCMigrate/ARCMT.h projects/building-blocks/contrib/llvm/tools/clang/include/clang/ARCMigrate/ARCMTActions.h projects/building-blocks/contrib/llvm/tools/clang/include/clang/ARCMigrate/FileRemapper.h projects/building-blocks/contrib/llvm/tools/clang/include/clang/AST/APValue.h projects/building-blocks/contrib/llvm/tools/clang/include/clang/AST/ASTConsumer.h projects/building-blocks/contrib/llvm/tools/clang/include/clang/AST/ASTContext.h projects/building-blocks/contrib/llvm/tools/clang/include/clang/AST/ASTDiagnostic.h projects/building-blocks/contrib/llvm/tools/clang/include/clang/AST/ASTImporter.h projects/building-blocks/contrib/llvm/tools/clang/include/clang/AST/ASTLambda.h projects/building-blocks/contrib/llvm/tools/clang/include/clang/AST/ASTMutationListener.h projects/building-blocks/contrib/llvm/tools/clang/include/clang/AST/ASTTypeTraits.h projects/building-blocks/contrib/llvm/tools/clang/include/clang/AST/ASTUnresolvedSet.h projects/building-blocks/contrib/llvm/tools/clang/include/clang/AST/ASTVector.h projects/building-blocks/contrib/llvm/tools/clang/include/clang/AST/Attr.h projects/building-blocks/contrib/llvm/tools/clang/include/clang/AST/AttrIterator.h projects/building-blocks/contrib/llvm/tools/clang/include/clang/AST/CXXInheritance.h projects/building-blocks/contrib/llvm/tools/clang/include/clang/AST/CanonicalType.h projects/building-blocks/contrib/llvm/tools/clang/include/clang/AST/CharUnits.h projects/building-blocks/contrib/llvm/tools/clang/include/clang/AST/Comment.h projects/building-blocks/contrib/llvm/tools/clang/include/clang/AST/CommentCommands.td projects/building-blocks/contrib/llvm/tools/clang/include/clang/AST/CommentHTMLTags.td projects/building-blocks/contrib/llvm/tools/clang/include/clang/AST/CommentLexer.h projects/building-blocks/contrib/llvm/tools/clang/include/clang/AST/CommentSema.h projects/building-blocks/contrib/llvm/tools/clang/include/clang/AST/Decl.h projects/building-blocks/contrib/llvm/tools/clang/include/clang/AST/DeclBase.h projects/building-blocks/contrib/llvm/tools/clang/include/clang/AST/DeclCXX.h projects/building-blocks/contrib/llvm/tools/clang/include/clang/AST/DeclContextInternals.h projects/building-blocks/contrib/llvm/tools/clang/include/clang/AST/DeclFriend.h projects/building-blocks/contrib/llvm/tools/clang/include/clang/AST/DeclGroup.h projects/building-blocks/contrib/llvm/tools/clang/include/clang/AST/DeclLookups.h projects/building-blocks/contrib/llvm/tools/clang/include/clang/AST/DeclObjC.h projects/building-blocks/contrib/llvm/tools/clang/include/clang/AST/DeclOpenMP.h projects/building-blocks/contrib/llvm/tools/clang/include/clang/AST/DeclTemplate.h projects/building-blocks/contrib/llvm/tools/clang/include/clang/AST/DeclarationName.h projects/building-blocks/contrib/llvm/tools/clang/include/clang/AST/DependentDiagnostic.h projects/building-blocks/contrib/llvm/tools/clang/include/clang/AST/Expr.h projects/building-blocks/contrib/llvm/tools/clang/include/clang/AST/ExprCXX.h projects/building-blocks/contrib/llvm/tools/clang/include/clang/AST/ExprObjC.h projects/building-blocks/contrib/llvm/tools/clang/include/clang/AST/ExternalASTSource.h projects/building-blocks/contrib/llvm/tools/clang/include/clang/AST/Mangle.h projects/building-blocks/contrib/llvm/tools/clang/include/clang/AST/MangleNumberingContext.h projects/building-blocks/contrib/llvm/tools/clang/include/clang/AST/NestedNameSpecifier.h projects/building-blocks/contrib/llvm/tools/clang/include/clang/AST/OperationKinds.h projects/building-blocks/contrib/llvm/tools/clang/include/clang/AST/ParentMap.h projects/building-blocks/contrib/llvm/tools/clang/include/clang/AST/PrettyPrinter.h projects/building-blocks/contrib/llvm/tools/clang/include/clang/AST/RawCommentList.h projects/building-blocks/contrib/llvm/tools/clang/include/clang/AST/RecordLayout.h projects/building-blocks/contrib/llvm/tools/clang/include/clang/AST/RecursiveASTVisitor.h projects/building-blocks/contrib/llvm/tools/clang/include/clang/AST/Redeclarable.h projects/building-blocks/contrib/llvm/tools/clang/include/clang/AST/Stmt.h projects/building-blocks/contrib/llvm/tools/clang/include/clang/AST/StmtCXX.h projects/building-blocks/contrib/llvm/tools/clang/include/clang/AST/StmtIterator.h projects/building-blocks/contrib/llvm/tools/clang/include/clang/AST/StmtObjC.h projects/building-blocks/contrib/llvm/tools/clang/include/clang/AST/StmtOpenMP.h projects/building-blocks/contrib/llvm/tools/clang/include/clang/AST/TemplateBase.h projects/building-blocks/contrib/llvm/tools/clang/include/clang/AST/TemplateName.h projects/building-blocks/contrib/llvm/tools/clang/include/clang/AST/Type.h projects/building-blocks/contrib/llvm/tools/clang/include/clang/AST/TypeLoc.h projects/building-blocks/contrib/llvm/tools/clang/include/clang/AST/TypeNodes.def projects/building-blocks/contrib/llvm/tools/clang/include/clang/AST/UnresolvedSet.h projects/building-blocks/contrib/llvm/tools/clang/include/clang/AST/VTableBuilder.h projects/building-blocks/contrib/llvm/tools/clang/include/clang/ASTMatchers/ASTMatchFinder.h projects/building-blocks/contrib/llvm/tools/clang/include/clang/ASTMatchers/ASTMatchers.h projects/building-blocks/contrib/llvm/tools/clang/include/clang/ASTMatchers/ASTMatchersInternal.h projects/building-blocks/contrib/llvm/tools/clang/include/clang/ASTMatchers/ASTMatchersMacros.h projects/building-blocks/contrib/llvm/tools/clang/include/clang/ASTMatchers/Dynamic/Diagnostics.h projects/building-blocks/contrib/llvm/tools/clang/include/clang/ASTMatchers/Dynamic/Parser.h projects/building-blocks/contrib/llvm/tools/clang/include/clang/ASTMatchers/Dynamic/Registry.h projects/building-blocks/contrib/llvm/tools/clang/include/clang/ASTMatchers/Dynamic/VariantValue.h projects/building-blocks/contrib/llvm/tools/clang/include/clang/Analysis/Analyses/Consumed.h projects/building-blocks/contrib/llvm/tools/clang/include/clang/Analysis/Analyses/Dominators.h projects/building-blocks/contrib/llvm/tools/clang/include/clang/Analysis/Analyses/FormatString.h projects/building-blocks/contrib/llvm/tools/clang/include/clang/Analysis/Analyses/LiveVariables.h projects/building-blocks/contrib/llvm/tools/clang/include/clang/Analysis/Analyses/PostOrderCFGView.h projects/building-blocks/contrib/llvm/tools/clang/include/clang/Analysis/Analyses/ReachableCode.h projects/building-blocks/contrib/llvm/tools/clang/include/clang/Analysis/Analyses/ThreadSafety.h projects/building-blocks/contrib/llvm/tools/clang/include/clang/Analysis/AnalysisContext.h projects/building-blocks/contrib/llvm/tools/clang/include/clang/Analysis/CFG.h projects/building-blocks/contrib/llvm/tools/clang/include/clang/Analysis/ProgramPoint.h projects/building-blocks/contrib/llvm/tools/clang/include/clang/Analysis/Support/BumpVector.h projects/building-blocks/contrib/llvm/tools/clang/include/clang/Basic/ABI.h projects/building-blocks/contrib/llvm/tools/clang/include/clang/Basic/Attr.td projects/building-blocks/contrib/llvm/tools/clang/include/clang/Basic/AttrKinds.h projects/building-blocks/contrib/llvm/tools/clang/include/clang/Basic/Builtins.def projects/building-blocks/contrib/llvm/tools/clang/include/clang/Basic/Builtins.h projects/building-blocks/contrib/llvm/tools/clang/include/clang/Basic/BuiltinsAArch64.def projects/building-blocks/contrib/llvm/tools/clang/include/clang/Basic/BuiltinsARM.def projects/building-blocks/contrib/llvm/tools/clang/include/clang/Basic/BuiltinsMips.def projects/building-blocks/contrib/llvm/tools/clang/include/clang/Basic/BuiltinsX86.def projects/building-blocks/contrib/llvm/tools/clang/include/clang/Basic/Diagnostic.h projects/building-blocks/contrib/llvm/tools/clang/include/clang/Basic/Diagnostic.td projects/building-blocks/contrib/llvm/tools/clang/include/clang/Basic/DiagnosticASTKinds.td projects/building-blocks/contrib/llvm/tools/clang/include/clang/Basic/DiagnosticCategories.td projects/building-blocks/contrib/llvm/tools/clang/include/clang/Basic/DiagnosticCommentKinds.td projects/building-blocks/contrib/llvm/tools/clang/include/clang/Basic/DiagnosticCommonKinds.td projects/building-blocks/contrib/llvm/tools/clang/include/clang/Basic/DiagnosticDriverKinds.td projects/building-blocks/contrib/llvm/tools/clang/include/clang/Basic/DiagnosticFrontendKinds.td projects/building-blocks/contrib/llvm/tools/clang/include/clang/Basic/DiagnosticGroups.td projects/building-blocks/contrib/llvm/tools/clang/include/clang/Basic/DiagnosticIDs.h projects/building-blocks/contrib/llvm/tools/clang/include/clang/Basic/DiagnosticLexKinds.td projects/building-blocks/contrib/llvm/tools/clang/include/clang/Basic/DiagnosticOptions.h projects/building-blocks/contrib/llvm/tools/clang/include/clang/Basic/DiagnosticParseKinds.td projects/building-blocks/contrib/llvm/tools/clang/include/clang/Basic/DiagnosticSemaKinds.td projects/building-blocks/contrib/llvm/tools/clang/include/clang/Basic/DiagnosticSerializationKinds.td projects/building-blocks/contrib/llvm/tools/clang/include/clang/Basic/FileManager.h projects/building-blocks/contrib/llvm/tools/clang/include/clang/Basic/FileSystemStatCache.h projects/building-blocks/contrib/llvm/tools/clang/include/clang/Basic/IdentifierTable.h projects/building-blocks/contrib/llvm/tools/clang/include/clang/Basic/LLVM.h projects/building-blocks/contrib/llvm/tools/clang/include/clang/Basic/LangOptions.def projects/building-blocks/contrib/llvm/tools/clang/include/clang/Basic/LangOptions.h projects/building-blocks/contrib/llvm/tools/clang/include/clang/Basic/Linkage.h projects/building-blocks/contrib/llvm/tools/clang/include/clang/Basic/Module.h projects/building-blocks/contrib/llvm/tools/clang/include/clang/Basic/ObjCRuntime.h projects/building-blocks/contrib/llvm/tools/clang/include/clang/Basic/OpenMPKinds.def projects/building-blocks/contrib/llvm/tools/clang/include/clang/Basic/OpenMPKinds.h projects/building-blocks/contrib/llvm/tools/clang/include/clang/Basic/OperatorKinds.h projects/building-blocks/contrib/llvm/tools/clang/include/clang/Basic/PartialDiagnostic.h projects/building-blocks/contrib/llvm/tools/clang/include/clang/Basic/PrettyStackTrace.h projects/building-blocks/contrib/llvm/tools/clang/include/clang/Basic/Sanitizers.def projects/building-blocks/contrib/llvm/tools/clang/include/clang/Basic/SourceLocation.h projects/building-blocks/contrib/llvm/tools/clang/include/clang/Basic/SourceManager.h projects/building-blocks/contrib/llvm/tools/clang/include/clang/Basic/Specifiers.h projects/building-blocks/contrib/llvm/tools/clang/include/clang/Basic/StmtNodes.td projects/building-blocks/contrib/llvm/tools/clang/include/clang/Basic/TargetBuiltins.h projects/building-blocks/contrib/llvm/tools/clang/include/clang/Basic/TargetCXXABI.h projects/building-blocks/contrib/llvm/tools/clang/include/clang/Basic/TargetInfo.h projects/building-blocks/contrib/llvm/tools/clang/include/clang/Basic/TargetOptions.h projects/building-blocks/contrib/llvm/tools/clang/include/clang/Basic/TemplateKinds.h projects/building-blocks/contrib/llvm/tools/clang/include/clang/Basic/TokenKinds.def projects/building-blocks/contrib/llvm/tools/clang/include/clang/Basic/TokenKinds.h projects/building-blocks/contrib/llvm/tools/clang/include/clang/Basic/TypeTraits.h projects/building-blocks/contrib/llvm/tools/clang/include/clang/Basic/Version.h projects/building-blocks/contrib/llvm/tools/clang/include/clang/Basic/VersionTuple.h projects/building-blocks/contrib/llvm/tools/clang/include/clang/Basic/arm_neon.td projects/building-blocks/contrib/llvm/tools/clang/include/clang/CodeGen/BackendUtil.h projects/building-blocks/contrib/llvm/tools/clang/include/clang/CodeGen/CGFunctionInfo.h projects/building-blocks/contrib/llvm/tools/clang/include/clang/CodeGen/CodeGenABITypes.h projects/building-blocks/contrib/llvm/tools/clang/include/clang/CodeGen/CodeGenAction.h projects/building-blocks/contrib/llvm/tools/clang/include/clang/CodeGen/ModuleBuilder.h projects/building-blocks/contrib/llvm/tools/clang/include/clang/Driver/Action.h projects/building-blocks/contrib/llvm/tools/clang/include/clang/Driver/CC1Options.td projects/building-blocks/contrib/llvm/tools/clang/include/clang/Driver/CLCompatOptions.td projects/building-blocks/contrib/llvm/tools/clang/include/clang/Driver/Compilation.h projects/building-blocks/contrib/llvm/tools/clang/include/clang/Driver/Driver.h projects/building-blocks/contrib/llvm/tools/clang/include/clang/Driver/Job.h projects/building-blocks/contrib/llvm/tools/clang/include/clang/Driver/Options.h projects/building-blocks/contrib/llvm/tools/clang/include/clang/Driver/Options.td projects/building-blocks/contrib/llvm/tools/clang/include/clang/Driver/SanitizerArgs.h projects/building-blocks/contrib/llvm/tools/clang/include/clang/Driver/ToolChain.h projects/building-blocks/contrib/llvm/tools/clang/include/clang/Driver/Types.def projects/building-blocks/contrib/llvm/tools/clang/include/clang/Edit/Commit.h projects/building-blocks/contrib/llvm/tools/clang/include/clang/Edit/EditedSource.h projects/building-blocks/contrib/llvm/tools/clang/include/clang/Edit/FileOffset.h projects/building-blocks/contrib/llvm/tools/clang/include/clang/Format/Format.h projects/building-blocks/contrib/llvm/tools/clang/include/clang/Frontend/ASTUnit.h projects/building-blocks/contrib/llvm/tools/clang/include/clang/Frontend/ChainedDiagnosticConsumer.h projects/building-blocks/contrib/llvm/tools/clang/include/clang/Frontend/CodeGenOptions.def projects/building-blocks/contrib/llvm/tools/clang/include/clang/Frontend/CodeGenOptions.h projects/building-blocks/contrib/llvm/tools/clang/include/clang/Frontend/CompilerInstance.h projects/building-blocks/contrib/llvm/tools/clang/include/clang/Frontend/CompilerInvocation.h projects/building-blocks/contrib/llvm/tools/clang/include/clang/Frontend/DependencyOutputOptions.h projects/building-blocks/contrib/llvm/tools/clang/include/clang/Frontend/DiagnosticRenderer.h projects/building-blocks/contrib/llvm/tools/clang/include/clang/Frontend/FrontendAction.h projects/building-blocks/contrib/llvm/tools/clang/include/clang/Frontend/FrontendActions.h projects/building-blocks/contrib/llvm/tools/clang/include/clang/Frontend/FrontendOptions.h projects/building-blocks/contrib/llvm/tools/clang/include/clang/Frontend/FrontendPluginRegistry.h projects/building-blocks/contrib/llvm/tools/clang/include/clang/Frontend/LangStandard.h projects/building-blocks/contrib/llvm/tools/clang/include/clang/Frontend/LangStandards.def projects/building-blocks/contrib/llvm/tools/clang/include/clang/Frontend/LayoutOverrideSource.h projects/building-blocks/contrib/llvm/tools/clang/include/clang/Frontend/LogDiagnosticPrinter.h projects/building-blocks/contrib/llvm/tools/clang/include/clang/Frontend/MultiplexConsumer.h projects/building-blocks/contrib/llvm/tools/clang/include/clang/Frontend/SerializedDiagnosticPrinter.h projects/building-blocks/contrib/llvm/tools/clang/include/clang/Frontend/TextDiagnostic.h projects/building-blocks/contrib/llvm/tools/clang/include/clang/Frontend/TextDiagnosticBuffer.h projects/building-blocks/contrib/llvm/tools/clang/include/clang/Frontend/TextDiagnosticPrinter.h projects/building-blocks/contrib/llvm/tools/clang/include/clang/Frontend/Utils.h projects/building-blocks/contrib/llvm/tools/clang/include/clang/Frontend/VerifyDiagnosticConsumer.h projects/building-blocks/contrib/llvm/tools/clang/include/clang/Index/CommentToXML.h projects/building-blocks/contrib/llvm/tools/clang/include/clang/Index/USRGeneration.h projects/building-blocks/contrib/llvm/tools/clang/include/clang/Lex/DirectoryLookup.h projects/building-blocks/contrib/llvm/tools/clang/include/clang/Lex/HeaderMap.h projects/building-blocks/contrib/llvm/tools/clang/include/clang/Lex/HeaderSearch.h projects/building-blocks/contrib/llvm/tools/clang/include/clang/Lex/HeaderSearchOptions.h projects/building-blocks/contrib/llvm/tools/clang/include/clang/Lex/Lexer.h projects/building-blocks/contrib/llvm/tools/clang/include/clang/Lex/LiteralSupport.h projects/building-blocks/contrib/llvm/tools/clang/include/clang/Lex/MacroArgs.h projects/building-blocks/contrib/llvm/tools/clang/include/clang/Lex/MacroInfo.h projects/building-blocks/contrib/llvm/tools/clang/include/clang/Lex/ModuleLoader.h projects/building-blocks/contrib/llvm/tools/clang/include/clang/Lex/ModuleMap.h projects/building-blocks/contrib/llvm/tools/clang/include/clang/Lex/MultipleIncludeOpt.h projects/building-blocks/contrib/llvm/tools/clang/include/clang/Lex/PPCallbacks.h projects/building-blocks/contrib/llvm/tools/clang/include/clang/Lex/PPConditionalDirectiveRecord.h projects/building-blocks/contrib/llvm/tools/clang/include/clang/Lex/PTHLexer.h projects/building-blocks/contrib/llvm/tools/clang/include/clang/Lex/PTHManager.h projects/building-blocks/contrib/llvm/tools/clang/include/clang/Lex/Pragma.h projects/building-blocks/contrib/llvm/tools/clang/include/clang/Lex/PreprocessingRecord.h projects/building-blocks/contrib/llvm/tools/clang/include/clang/Lex/Preprocessor.h projects/building-blocks/contrib/llvm/tools/clang/include/clang/Lex/PreprocessorLexer.h projects/building-blocks/contrib/llvm/tools/clang/include/clang/Lex/PreprocessorOptions.h projects/building-blocks/contrib/llvm/tools/clang/include/clang/Lex/Token.h projects/building-blocks/contrib/llvm/tools/clang/include/clang/Lex/TokenLexer.h projects/building-blocks/contrib/llvm/tools/clang/include/clang/Parse/ParseAST.h projects/building-blocks/contrib/llvm/tools/clang/include/clang/Parse/Parser.h projects/building-blocks/contrib/llvm/tools/clang/include/clang/Rewrite/Core/HTMLRewrite.h projects/building-blocks/contrib/llvm/tools/clang/include/clang/Rewrite/Core/RewriteRope.h projects/building-blocks/contrib/llvm/tools/clang/include/clang/Rewrite/Core/Rewriter.h projects/building-blocks/contrib/llvm/tools/clang/include/clang/Rewrite/Core/TokenRewriter.h projects/building-blocks/contrib/llvm/tools/clang/include/clang/Rewrite/Frontend/FixItRewriter.h projects/building-blocks/contrib/llvm/tools/clang/include/clang/Rewrite/Frontend/FrontendActions.h projects/building-blocks/contrib/llvm/tools/clang/include/clang/Sema/AttributeList.h projects/building-blocks/contrib/llvm/tools/clang/include/clang/Sema/CodeCompleteConsumer.h projects/building-blocks/contrib/llvm/tools/clang/include/clang/Sema/DeclSpec.h projects/building-blocks/contrib/llvm/tools/clang/include/clang/Sema/DelayedDiagnostic.h projects/building-blocks/contrib/llvm/tools/clang/include/clang/Sema/IdentifierResolver.h projects/building-blocks/contrib/llvm/tools/clang/include/clang/Sema/Initialization.h projects/building-blocks/contrib/llvm/tools/clang/include/clang/Sema/Lookup.h projects/building-blocks/contrib/llvm/tools/clang/include/clang/Sema/MultiplexExternalSemaSource.h projects/building-blocks/contrib/llvm/tools/clang/include/clang/Sema/ObjCMethodList.h projects/building-blocks/contrib/llvm/tools/clang/include/clang/Sema/Overload.h projects/building-blocks/contrib/llvm/tools/clang/include/clang/Sema/Ownership.h projects/building-blocks/contrib/llvm/tools/clang/include/clang/Sema/ParsedTemplate.h projects/building-blocks/contrib/llvm/tools/clang/include/clang/Sema/PrettyDeclStackTrace.h projects/building-blocks/contrib/llvm/tools/clang/include/clang/Sema/Scope.h projects/building-blocks/contrib/llvm/tools/clang/include/clang/Sema/ScopeInfo.h projects/building-blocks/contrib/llvm/tools/clang/include/clang/Sema/Sema.h projects/building-blocks/contrib/llvm/tools/clang/include/clang/Sema/SemaInternal.h projects/building-blocks/contrib/llvm/tools/clang/include/clang/Sema/SemaLambda.h projects/building-blocks/contrib/llvm/tools/clang/include/clang/Sema/Template.h projects/building-blocks/contrib/llvm/tools/clang/include/clang/Sema/TemplateDeduction.h projects/building-blocks/contrib/llvm/tools/clang/include/clang/Sema/TypoCorrection.h projects/building-blocks/contrib/llvm/tools/clang/include/clang/Sema/Weak.h projects/building-blocks/contrib/llvm/tools/clang/include/clang/Serialization/ASTBitCodes.h projects/building-blocks/contrib/llvm/tools/clang/include/clang/Serialization/ASTDeserializationListener.h projects/building-blocks/contrib/llvm/tools/clang/include/clang/Serialization/ASTReader.h projects/building-blocks/contrib/llvm/tools/clang/include/clang/Serialization/ASTWriter.h projects/building-blocks/contrib/llvm/tools/clang/include/clang/Serialization/GlobalModuleIndex.h projects/building-blocks/contrib/llvm/tools/clang/include/clang/Serialization/Module.h projects/building-blocks/contrib/llvm/tools/clang/include/clang/Serialization/ModuleManager.h projects/building-blocks/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Checkers/ObjCRetainCount.h projects/building-blocks/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/AnalyzerOptions.h projects/building-blocks/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/BugReporter/BugReporter.h projects/building-blocks/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/BugReporter/BugReporterVisitor.h projects/building-blocks/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/BugReporter/BugType.h projects/building-blocks/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/BugReporter/PathDiagnostic.h projects/building-blocks/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/Checker.h projects/building-blocks/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/CheckerManager.h projects/building-blocks/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/APSIntType.h projects/building-blocks/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/AnalysisManager.h projects/building-blocks/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/BasicValueFactory.h projects/building-blocks/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/BlockCounter.h projects/building-blocks/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/CallEvent.h projects/building-blocks/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/CheckerContext.h projects/building-blocks/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/ConstraintManager.h projects/building-blocks/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/CoreEngine.h projects/building-blocks/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/ExplodedGraph.h projects/building-blocks/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/ExprEngine.h projects/building-blocks/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/MemRegion.h projects/building-blocks/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/ProgramState.h projects/building-blocks/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/ProgramStateTrait.h projects/building-blocks/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/SValBuilder.h projects/building-blocks/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/SVals.h projects/building-blocks/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/Store.h projects/building-blocks/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/SubEngine.h projects/building-blocks/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/SymbolManager.h projects/building-blocks/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/WorkList.h projects/building-blocks/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Frontend/FrontendActions.h projects/building-blocks/contrib/llvm/tools/clang/include/clang/Tooling/ArgumentsAdjusters.h projects/building-blocks/contrib/llvm/tools/clang/include/clang/Tooling/CommonOptionsParser.h projects/building-blocks/contrib/llvm/tools/clang/include/clang/Tooling/CompilationDatabase.h projects/building-blocks/contrib/llvm/tools/clang/include/clang/Tooling/FileMatchTrie.h projects/building-blocks/contrib/llvm/tools/clang/include/clang/Tooling/JSONCompilationDatabase.h projects/building-blocks/contrib/llvm/tools/clang/include/clang/Tooling/Refactoring.h projects/building-blocks/contrib/llvm/tools/clang/include/clang/Tooling/RefactoringCallbacks.h projects/building-blocks/contrib/llvm/tools/clang/include/clang/Tooling/ReplacementsYaml.h projects/building-blocks/contrib/llvm/tools/clang/include/clang/Tooling/Tooling.h projects/building-blocks/contrib/llvm/tools/clang/lib/ARCMigrate/ARCMT.cpp projects/building-blocks/contrib/llvm/tools/clang/lib/ARCMigrate/FileRemapper.cpp projects/building-blocks/contrib/llvm/tools/clang/lib/ARCMigrate/Internals.h projects/building-blocks/contrib/llvm/tools/clang/lib/ARCMigrate/ObjCMT.cpp projects/building-blocks/contrib/llvm/tools/clang/lib/ARCMigrate/PlistReporter.cpp projects/building-blocks/contrib/llvm/tools/clang/lib/ARCMigrate/TransAPIUses.cpp projects/building-blocks/contrib/llvm/tools/clang/lib/ARCMigrate/TransAutoreleasePool.cpp projects/building-blocks/contrib/llvm/tools/clang/lib/ARCMigrate/TransBlockObjCVariable.cpp projects/building-blocks/contrib/llvm/tools/clang/lib/ARCMigrate/TransEmptyStatementsAndDealloc.cpp projects/building-blocks/contrib/llvm/tools/clang/lib/ARCMigrate/TransGCAttrs.cpp projects/building-blocks/contrib/llvm/tools/clang/lib/ARCMigrate/TransGCCalls.cpp projects/building-blocks/contrib/llvm/tools/clang/lib/ARCMigrate/TransProperties.cpp projects/building-blocks/contrib/llvm/tools/clang/lib/ARCMigrate/TransProtectedScope.cpp projects/building-blocks/contrib/llvm/tools/clang/lib/ARCMigrate/TransRetainReleaseDealloc.cpp projects/building-blocks/contrib/llvm/tools/clang/lib/ARCMigrate/TransUnbridgedCasts.cpp projects/building-blocks/contrib/llvm/tools/clang/lib/ARCMigrate/TransUnusedInitDelegate.cpp projects/building-blocks/contrib/llvm/tools/clang/lib/ARCMigrate/TransZeroOutPropsInDealloc.cpp projects/building-blocks/contrib/llvm/tools/clang/lib/ARCMigrate/TransformActions.cpp projects/building-blocks/contrib/llvm/tools/clang/lib/ARCMigrate/Transforms.cpp projects/building-blocks/contrib/llvm/tools/clang/lib/ARCMigrate/Transforms.h projects/building-blocks/contrib/llvm/tools/clang/lib/AST/APValue.cpp projects/building-blocks/contrib/llvm/tools/clang/lib/AST/ASTContext.cpp projects/building-blocks/contrib/llvm/tools/clang/lib/AST/ASTDiagnostic.cpp projects/building-blocks/contrib/llvm/tools/clang/lib/AST/ASTDumper.cpp projects/building-blocks/contrib/llvm/tools/clang/lib/AST/ASTImporter.cpp projects/building-blocks/contrib/llvm/tools/clang/lib/AST/ASTTypeTraits.cpp projects/building-blocks/contrib/llvm/tools/clang/lib/AST/AttrImpl.cpp projects/building-blocks/contrib/llvm/tools/clang/lib/AST/CXXABI.h projects/building-blocks/contrib/llvm/tools/clang/lib/AST/CXXInheritance.cpp projects/building-blocks/contrib/llvm/tools/clang/lib/AST/Comment.cpp projects/building-blocks/contrib/llvm/tools/clang/lib/AST/CommentCommandTraits.cpp projects/building-blocks/contrib/llvm/tools/clang/lib/AST/CommentLexer.cpp projects/building-blocks/contrib/llvm/tools/clang/lib/AST/CommentParser.cpp projects/building-blocks/contrib/llvm/tools/clang/lib/AST/CommentSema.cpp projects/building-blocks/contrib/llvm/tools/clang/lib/AST/Decl.cpp projects/building-blocks/contrib/llvm/tools/clang/lib/AST/DeclBase.cpp projects/building-blocks/contrib/llvm/tools/clang/lib/AST/DeclCXX.cpp projects/building-blocks/contrib/llvm/tools/clang/lib/AST/DeclFriend.cpp projects/building-blocks/contrib/llvm/tools/clang/lib/AST/DeclObjC.cpp projects/building-blocks/contrib/llvm/tools/clang/lib/AST/DeclOpenMP.cpp projects/building-blocks/contrib/llvm/tools/clang/lib/AST/DeclPrinter.cpp projects/building-blocks/contrib/llvm/tools/clang/lib/AST/DeclTemplate.cpp projects/building-blocks/contrib/llvm/tools/clang/lib/AST/DeclarationName.cpp projects/building-blocks/contrib/llvm/tools/clang/lib/AST/Expr.cpp projects/building-blocks/contrib/llvm/tools/clang/lib/AST/ExprCXX.cpp projects/building-blocks/contrib/llvm/tools/clang/lib/AST/ExprClassification.cpp projects/building-blocks/contrib/llvm/tools/clang/lib/AST/ExprConstant.cpp projects/building-blocks/contrib/llvm/tools/clang/lib/AST/ExternalASTSource.cpp projects/building-blocks/contrib/llvm/tools/clang/lib/AST/InheritViz.cpp projects/building-blocks/contrib/llvm/tools/clang/lib/AST/ItaniumCXXABI.cpp projects/building-blocks/contrib/llvm/tools/clang/lib/AST/ItaniumMangle.cpp projects/building-blocks/contrib/llvm/tools/clang/lib/AST/Mangle.cpp projects/building-blocks/contrib/llvm/tools/clang/lib/AST/MangleNumberingContext.cpp projects/building-blocks/contrib/llvm/tools/clang/lib/AST/MicrosoftCXXABI.cpp projects/building-blocks/contrib/llvm/tools/clang/lib/AST/MicrosoftMangle.cpp projects/building-blocks/contrib/llvm/tools/clang/lib/AST/NSAPI.cpp projects/building-blocks/contrib/llvm/tools/clang/lib/AST/NestedNameSpecifier.cpp projects/building-blocks/contrib/llvm/tools/clang/lib/AST/ParentMap.cpp projects/building-blocks/contrib/llvm/tools/clang/lib/AST/RawCommentList.cpp projects/building-blocks/contrib/llvm/tools/clang/lib/AST/RecordLayout.cpp projects/building-blocks/contrib/llvm/tools/clang/lib/AST/RecordLayoutBuilder.cpp projects/building-blocks/contrib/llvm/tools/clang/lib/AST/Stmt.cpp projects/building-blocks/contrib/llvm/tools/clang/lib/AST/StmtIterator.cpp projects/building-blocks/contrib/llvm/tools/clang/lib/AST/StmtPrinter.cpp projects/building-blocks/contrib/llvm/tools/clang/lib/AST/StmtProfile.cpp projects/building-blocks/contrib/llvm/tools/clang/lib/AST/TemplateBase.cpp projects/building-blocks/contrib/llvm/tools/clang/lib/AST/TemplateName.cpp projects/building-blocks/contrib/llvm/tools/clang/lib/AST/Type.cpp projects/building-blocks/contrib/llvm/tools/clang/lib/AST/TypeLoc.cpp projects/building-blocks/contrib/llvm/tools/clang/lib/AST/TypePrinter.cpp projects/building-blocks/contrib/llvm/tools/clang/lib/AST/VTTBuilder.cpp projects/building-blocks/contrib/llvm/tools/clang/lib/AST/VTableBuilder.cpp projects/building-blocks/contrib/llvm/tools/clang/lib/ASTMatchers/ASTMatchFinder.cpp projects/building-blocks/contrib/llvm/tools/clang/lib/ASTMatchers/ASTMatchersInternal.cpp projects/building-blocks/contrib/llvm/tools/clang/lib/ASTMatchers/Dynamic/Diagnostics.cpp projects/building-blocks/contrib/llvm/tools/clang/lib/ASTMatchers/Dynamic/Marshallers.h projects/building-blocks/contrib/llvm/tools/clang/lib/ASTMatchers/Dynamic/Parser.cpp projects/building-blocks/contrib/llvm/tools/clang/lib/ASTMatchers/Dynamic/Registry.cpp projects/building-blocks/contrib/llvm/tools/clang/lib/ASTMatchers/Dynamic/VariantValue.cpp projects/building-blocks/contrib/llvm/tools/clang/lib/Analysis/AnalysisDeclContext.cpp projects/building-blocks/contrib/llvm/tools/clang/lib/Analysis/BodyFarm.cpp projects/building-blocks/contrib/llvm/tools/clang/lib/Analysis/BodyFarm.h projects/building-blocks/contrib/llvm/tools/clang/lib/Analysis/CFG.cpp projects/building-blocks/contrib/llvm/tools/clang/lib/Analysis/CFGReachabilityAnalysis.cpp projects/building-blocks/contrib/llvm/tools/clang/lib/Analysis/CFGStmtMap.cpp projects/building-blocks/contrib/llvm/tools/clang/lib/Analysis/CallGraph.cpp projects/building-blocks/contrib/llvm/tools/clang/lib/Analysis/Consumed.cpp projects/building-blocks/contrib/llvm/tools/clang/lib/Analysis/FormatString.cpp projects/building-blocks/contrib/llvm/tools/clang/lib/Analysis/FormatStringParsing.h projects/building-blocks/contrib/llvm/tools/clang/lib/Analysis/LiveVariables.cpp projects/building-blocks/contrib/llvm/tools/clang/lib/Analysis/PostOrderCFGView.cpp projects/building-blocks/contrib/llvm/tools/clang/lib/Analysis/PrintfFormatString.cpp projects/building-blocks/contrib/llvm/tools/clang/lib/Analysis/ProgramPoint.cpp projects/building-blocks/contrib/llvm/tools/clang/lib/Analysis/PseudoConstantAnalysis.cpp projects/building-blocks/contrib/llvm/tools/clang/lib/Analysis/ReachableCode.cpp projects/building-blocks/contrib/llvm/tools/clang/lib/Analysis/ScanfFormatString.cpp projects/building-blocks/contrib/llvm/tools/clang/lib/Analysis/ThreadSafety.cpp projects/building-blocks/contrib/llvm/tools/clang/lib/Analysis/UninitializedValues.cpp projects/building-blocks/contrib/llvm/tools/clang/lib/Basic/Builtins.cpp projects/building-blocks/contrib/llvm/tools/clang/lib/Basic/Diagnostic.cpp projects/building-blocks/contrib/llvm/tools/clang/lib/Basic/DiagnosticIDs.cpp projects/building-blocks/contrib/llvm/tools/clang/lib/Basic/FileManager.cpp projects/building-blocks/contrib/llvm/tools/clang/lib/Basic/FileSystemStatCache.cpp projects/building-blocks/contrib/llvm/tools/clang/lib/Basic/IdentifierTable.cpp projects/building-blocks/contrib/llvm/tools/clang/lib/Basic/Module.cpp projects/building-blocks/contrib/llvm/tools/clang/lib/Basic/OpenMPKinds.cpp projects/building-blocks/contrib/llvm/tools/clang/lib/Basic/SourceLocation.cpp projects/building-blocks/contrib/llvm/tools/clang/lib/Basic/SourceManager.cpp projects/building-blocks/contrib/llvm/tools/clang/lib/Basic/TargetInfo.cpp projects/building-blocks/contrib/llvm/tools/clang/lib/Basic/Targets.cpp projects/building-blocks/contrib/llvm/tools/clang/lib/Basic/TokenKinds.cpp projects/building-blocks/contrib/llvm/tools/clang/lib/Basic/Version.cpp projects/building-blocks/contrib/llvm/tools/clang/lib/CodeGen/ABIInfo.h projects/building-blocks/contrib/llvm/tools/clang/lib/CodeGen/BackendUtil.cpp projects/building-blocks/contrib/llvm/tools/clang/lib/CodeGen/CGAtomic.cpp projects/building-blocks/contrib/llvm/tools/clang/lib/CodeGen/CGBlocks.cpp projects/building-blocks/contrib/llvm/tools/clang/lib/CodeGen/CGBlocks.h projects/building-blocks/contrib/llvm/tools/clang/lib/CodeGen/CGBuilder.h projects/building-blocks/contrib/llvm/tools/clang/lib/CodeGen/CGBuiltin.cpp projects/building-blocks/contrib/llvm/tools/clang/lib/CodeGen/CGCUDANV.cpp projects/building-blocks/contrib/llvm/tools/clang/lib/CodeGen/CGCUDARuntime.cpp projects/building-blocks/contrib/llvm/tools/clang/lib/CodeGen/CGCXX.cpp projects/building-blocks/contrib/llvm/tools/clang/lib/CodeGen/CGCXXABI.cpp projects/building-blocks/contrib/llvm/tools/clang/lib/CodeGen/CGCXXABI.h projects/building-blocks/contrib/llvm/tools/clang/lib/CodeGen/CGCall.cpp projects/building-blocks/contrib/llvm/tools/clang/lib/CodeGen/CGCall.h projects/building-blocks/contrib/llvm/tools/clang/lib/CodeGen/CGClass.cpp projects/building-blocks/contrib/llvm/tools/clang/lib/CodeGen/CGCleanup.cpp projects/building-blocks/contrib/llvm/tools/clang/lib/CodeGen/CGCleanup.h projects/building-blocks/contrib/llvm/tools/clang/lib/CodeGen/CGDebugInfo.cpp projects/building-blocks/contrib/llvm/tools/clang/lib/CodeGen/CGDebugInfo.h projects/building-blocks/contrib/llvm/tools/clang/lib/CodeGen/CGDecl.cpp projects/building-blocks/contrib/llvm/tools/clang/lib/CodeGen/CGDeclCXX.cpp projects/building-blocks/contrib/llvm/tools/clang/lib/CodeGen/CGException.cpp projects/building-blocks/contrib/llvm/tools/clang/lib/CodeGen/CGExpr.cpp projects/building-blocks/contrib/llvm/tools/clang/lib/CodeGen/CGExprAgg.cpp projects/building-blocks/contrib/llvm/tools/clang/lib/CodeGen/CGExprCXX.cpp projects/building-blocks/contrib/llvm/tools/clang/lib/CodeGen/CGExprComplex.cpp projects/building-blocks/contrib/llvm/tools/clang/lib/CodeGen/CGExprConstant.cpp projects/building-blocks/contrib/llvm/tools/clang/lib/CodeGen/CGExprScalar.cpp projects/building-blocks/contrib/llvm/tools/clang/lib/CodeGen/CGObjC.cpp projects/building-blocks/contrib/llvm/tools/clang/lib/CodeGen/CGObjCGNU.cpp projects/building-blocks/contrib/llvm/tools/clang/lib/CodeGen/CGObjCMac.cpp projects/building-blocks/contrib/llvm/tools/clang/lib/CodeGen/CGObjCRuntime.cpp projects/building-blocks/contrib/llvm/tools/clang/lib/CodeGen/CGObjCRuntime.h projects/building-blocks/contrib/llvm/tools/clang/lib/CodeGen/CGOpenCLRuntime.cpp projects/building-blocks/contrib/llvm/tools/clang/lib/CodeGen/CGRecordLayout.h projects/building-blocks/contrib/llvm/tools/clang/lib/CodeGen/CGRecordLayoutBuilder.cpp projects/building-blocks/contrib/llvm/tools/clang/lib/CodeGen/CGStmt.cpp projects/building-blocks/contrib/llvm/tools/clang/lib/CodeGen/CGVTT.cpp projects/building-blocks/contrib/llvm/tools/clang/lib/CodeGen/CGVTables.cpp projects/building-blocks/contrib/llvm/tools/clang/lib/CodeGen/CGVTables.h projects/building-blocks/contrib/llvm/tools/clang/lib/CodeGen/CGValue.h projects/building-blocks/contrib/llvm/tools/clang/lib/CodeGen/CodeGenABITypes.cpp projects/building-blocks/contrib/llvm/tools/clang/lib/CodeGen/CodeGenAction.cpp projects/building-blocks/contrib/llvm/tools/clang/lib/CodeGen/CodeGenFunction.cpp projects/building-blocks/contrib/llvm/tools/clang/lib/CodeGen/CodeGenFunction.h projects/building-blocks/contrib/llvm/tools/clang/lib/CodeGen/CodeGenModule.cpp projects/building-blocks/contrib/llvm/tools/clang/lib/CodeGen/CodeGenModule.h projects/building-blocks/contrib/llvm/tools/clang/lib/CodeGen/CodeGenTBAA.cpp projects/building-blocks/contrib/llvm/tools/clang/lib/CodeGen/CodeGenTypes.cpp projects/building-blocks/contrib/llvm/tools/clang/lib/CodeGen/CodeGenTypes.h projects/building-blocks/contrib/llvm/tools/clang/lib/CodeGen/EHScopeStack.h projects/building-blocks/contrib/llvm/tools/clang/lib/CodeGen/ItaniumCXXABI.cpp projects/building-blocks/contrib/llvm/tools/clang/lib/CodeGen/MicrosoftCXXABI.cpp projects/building-blocks/contrib/llvm/tools/clang/lib/CodeGen/ModuleBuilder.cpp projects/building-blocks/contrib/llvm/tools/clang/lib/CodeGen/TargetInfo.cpp projects/building-blocks/contrib/llvm/tools/clang/lib/CodeGen/TargetInfo.h projects/building-blocks/contrib/llvm/tools/clang/lib/Driver/Action.cpp projects/building-blocks/contrib/llvm/tools/clang/lib/Driver/Compilation.cpp projects/building-blocks/contrib/llvm/tools/clang/lib/Driver/Driver.cpp projects/building-blocks/contrib/llvm/tools/clang/lib/Driver/Job.cpp projects/building-blocks/contrib/llvm/tools/clang/lib/Driver/SanitizerArgs.cpp projects/building-blocks/contrib/llvm/tools/clang/lib/Driver/ToolChain.cpp projects/building-blocks/contrib/llvm/tools/clang/lib/Driver/ToolChains.cpp projects/building-blocks/contrib/llvm/tools/clang/lib/Driver/ToolChains.h projects/building-blocks/contrib/llvm/tools/clang/lib/Driver/Tools.cpp projects/building-blocks/contrib/llvm/tools/clang/lib/Driver/Tools.h projects/building-blocks/contrib/llvm/tools/clang/lib/Driver/Types.cpp projects/building-blocks/contrib/llvm/tools/clang/lib/Driver/WindowsToolChain.cpp projects/building-blocks/contrib/llvm/tools/clang/lib/Edit/Commit.cpp projects/building-blocks/contrib/llvm/tools/clang/lib/Edit/EditedSource.cpp projects/building-blocks/contrib/llvm/tools/clang/lib/Edit/RewriteObjCFoundationAPI.cpp projects/building-blocks/contrib/llvm/tools/clang/lib/Format/BreakableToken.cpp projects/building-blocks/contrib/llvm/tools/clang/lib/Format/BreakableToken.h projects/building-blocks/contrib/llvm/tools/clang/lib/Format/ContinuationIndenter.cpp projects/building-blocks/contrib/llvm/tools/clang/lib/Format/ContinuationIndenter.h projects/building-blocks/contrib/llvm/tools/clang/lib/Format/Encoding.h projects/building-blocks/contrib/llvm/tools/clang/lib/Format/Format.cpp projects/building-blocks/contrib/llvm/tools/clang/lib/Format/FormatToken.cpp projects/building-blocks/contrib/llvm/tools/clang/lib/Format/FormatToken.h projects/building-blocks/contrib/llvm/tools/clang/lib/Format/TokenAnnotator.cpp projects/building-blocks/contrib/llvm/tools/clang/lib/Format/TokenAnnotator.h projects/building-blocks/contrib/llvm/tools/clang/lib/Format/UnwrappedLineParser.cpp projects/building-blocks/contrib/llvm/tools/clang/lib/Format/UnwrappedLineParser.h projects/building-blocks/contrib/llvm/tools/clang/lib/Format/WhitespaceManager.cpp projects/building-blocks/contrib/llvm/tools/clang/lib/Format/WhitespaceManager.h projects/building-blocks/contrib/llvm/tools/clang/lib/Frontend/ASTConsumers.cpp projects/building-blocks/contrib/llvm/tools/clang/lib/Frontend/ASTMerge.cpp projects/building-blocks/contrib/llvm/tools/clang/lib/Frontend/ASTUnit.cpp projects/building-blocks/contrib/llvm/tools/clang/lib/Frontend/CacheTokens.cpp projects/building-blocks/contrib/llvm/tools/clang/lib/Frontend/ChainedIncludesSource.cpp projects/building-blocks/contrib/llvm/tools/clang/lib/Frontend/CompilerInstance.cpp projects/building-blocks/contrib/llvm/tools/clang/lib/Frontend/CompilerInvocation.cpp projects/building-blocks/contrib/llvm/tools/clang/lib/Frontend/CreateInvocationFromCommandLine.cpp projects/building-blocks/contrib/llvm/tools/clang/lib/Frontend/DependencyFile.cpp projects/building-blocks/contrib/llvm/tools/clang/lib/Frontend/DependencyGraph.cpp projects/building-blocks/contrib/llvm/tools/clang/lib/Frontend/DiagnosticRenderer.cpp projects/building-blocks/contrib/llvm/tools/clang/lib/Frontend/FrontendAction.cpp projects/building-blocks/contrib/llvm/tools/clang/lib/Frontend/FrontendActions.cpp projects/building-blocks/contrib/llvm/tools/clang/lib/Frontend/HeaderIncludeGen.cpp projects/building-blocks/contrib/llvm/tools/clang/lib/Frontend/InitHeaderSearch.cpp projects/building-blocks/contrib/llvm/tools/clang/lib/Frontend/InitPreprocessor.cpp projects/building-blocks/contrib/llvm/tools/clang/lib/Frontend/LangStandards.cpp projects/building-blocks/contrib/llvm/tools/clang/lib/Frontend/LogDiagnosticPrinter.cpp projects/building-blocks/contrib/llvm/tools/clang/lib/Frontend/MultiplexConsumer.cpp projects/building-blocks/contrib/llvm/tools/clang/lib/Frontend/PrintPreprocessedOutput.cpp projects/building-blocks/contrib/llvm/tools/clang/lib/Frontend/SerializedDiagnosticPrinter.cpp projects/building-blocks/contrib/llvm/tools/clang/lib/Frontend/TextDiagnostic.cpp projects/building-blocks/contrib/llvm/tools/clang/lib/Frontend/TextDiagnosticBuffer.cpp projects/building-blocks/contrib/llvm/tools/clang/lib/Frontend/TextDiagnosticPrinter.cpp projects/building-blocks/contrib/llvm/tools/clang/lib/Frontend/VerifyDiagnosticConsumer.cpp projects/building-blocks/contrib/llvm/tools/clang/lib/FrontendTool/ExecuteCompilerInvocation.cpp projects/building-blocks/contrib/llvm/tools/clang/lib/Headers/Intrin.h projects/building-blocks/contrib/llvm/tools/clang/lib/Headers/altivec.h projects/building-blocks/contrib/llvm/tools/clang/lib/Headers/avx2intrin.h projects/building-blocks/contrib/llvm/tools/clang/lib/Headers/avxintrin.h projects/building-blocks/contrib/llvm/tools/clang/lib/Headers/bmiintrin.h projects/building-blocks/contrib/llvm/tools/clang/lib/Headers/float.h projects/building-blocks/contrib/llvm/tools/clang/lib/Headers/immintrin.h projects/building-blocks/contrib/llvm/tools/clang/lib/Headers/limits.h projects/building-blocks/contrib/llvm/tools/clang/lib/Headers/smmintrin.h projects/building-blocks/contrib/llvm/tools/clang/lib/Headers/stdarg.h projects/building-blocks/contrib/llvm/tools/clang/lib/Headers/stddef.h projects/building-blocks/contrib/llvm/tools/clang/lib/Headers/stdint.h projects/building-blocks/contrib/llvm/tools/clang/lib/Headers/x86intrin.h projects/building-blocks/contrib/llvm/tools/clang/lib/Headers/xmmintrin.h projects/building-blocks/contrib/llvm/tools/clang/lib/Index/CommentToXML.cpp projects/building-blocks/contrib/llvm/tools/clang/lib/Index/SimpleFormatContext.h projects/building-blocks/contrib/llvm/tools/clang/lib/Index/USRGeneration.cpp projects/building-blocks/contrib/llvm/tools/clang/lib/Lex/HeaderMap.cpp projects/building-blocks/contrib/llvm/tools/clang/lib/Lex/HeaderSearch.cpp projects/building-blocks/contrib/llvm/tools/clang/lib/Lex/Lexer.cpp projects/building-blocks/contrib/llvm/tools/clang/lib/Lex/LiteralSupport.cpp projects/building-blocks/contrib/llvm/tools/clang/lib/Lex/MacroArgs.cpp projects/building-blocks/contrib/llvm/tools/clang/lib/Lex/MacroInfo.cpp projects/building-blocks/contrib/llvm/tools/clang/lib/Lex/ModuleMap.cpp projects/building-blocks/contrib/llvm/tools/clang/lib/Lex/PPCaching.cpp projects/building-blocks/contrib/llvm/tools/clang/lib/Lex/PPConditionalDirectiveRecord.cpp projects/building-blocks/contrib/llvm/tools/clang/lib/Lex/PPDirectives.cpp projects/building-blocks/contrib/llvm/tools/clang/lib/Lex/PPExpressions.cpp projects/building-blocks/contrib/llvm/tools/clang/lib/Lex/PPLexerChange.cpp projects/building-blocks/contrib/llvm/tools/clang/lib/Lex/PPMacroExpansion.cpp projects/building-blocks/contrib/llvm/tools/clang/lib/Lex/PTHLexer.cpp projects/building-blocks/contrib/llvm/tools/clang/lib/Lex/Pragma.cpp projects/building-blocks/contrib/llvm/tools/clang/lib/Lex/PreprocessingRecord.cpp projects/building-blocks/contrib/llvm/tools/clang/lib/Lex/Preprocessor.cpp projects/building-blocks/contrib/llvm/tools/clang/lib/Lex/ScratchBuffer.cpp projects/building-blocks/contrib/llvm/tools/clang/lib/Lex/TokenLexer.cpp projects/building-blocks/contrib/llvm/tools/clang/lib/Lex/UnicodeCharSets.h projects/building-blocks/contrib/llvm/tools/clang/lib/Parse/ParseAST.cpp projects/building-blocks/contrib/llvm/tools/clang/lib/Parse/ParseCXXInlineMethods.cpp projects/building-blocks/contrib/llvm/tools/clang/lib/Parse/ParseDecl.cpp projects/building-blocks/contrib/llvm/tools/clang/lib/Parse/ParseDeclCXX.cpp projects/building-blocks/contrib/llvm/tools/clang/lib/Parse/ParseExpr.cpp projects/building-blocks/contrib/llvm/tools/clang/lib/Parse/ParseExprCXX.cpp projects/building-blocks/contrib/llvm/tools/clang/lib/Parse/ParseInit.cpp projects/building-blocks/contrib/llvm/tools/clang/lib/Parse/ParseObjc.cpp projects/building-blocks/contrib/llvm/tools/clang/lib/Parse/ParseOpenMP.cpp projects/building-blocks/contrib/llvm/tools/clang/lib/Parse/ParsePragma.cpp projects/building-blocks/contrib/llvm/tools/clang/lib/Parse/ParseStmt.cpp projects/building-blocks/contrib/llvm/tools/clang/lib/Parse/ParseTemplate.cpp projects/building-blocks/contrib/llvm/tools/clang/lib/Parse/ParseTentative.cpp projects/building-blocks/contrib/llvm/tools/clang/lib/Parse/Parser.cpp projects/building-blocks/contrib/llvm/tools/clang/lib/Parse/RAIIObjectsForParser.h projects/building-blocks/contrib/llvm/tools/clang/lib/Sema/AnalysisBasedWarnings.cpp projects/building-blocks/contrib/llvm/tools/clang/lib/Sema/AttributeList.cpp projects/building-blocks/contrib/llvm/tools/clang/lib/Sema/CodeCompleteConsumer.cpp projects/building-blocks/contrib/llvm/tools/clang/lib/Sema/DeclSpec.cpp projects/building-blocks/contrib/llvm/tools/clang/lib/Sema/DelayedDiagnostic.cpp projects/building-blocks/contrib/llvm/tools/clang/lib/Sema/IdentifierResolver.cpp projects/building-blocks/contrib/llvm/tools/clang/lib/Sema/JumpDiagnostics.cpp projects/building-blocks/contrib/llvm/tools/clang/lib/Sema/MultiplexExternalSemaSource.cpp projects/building-blocks/contrib/llvm/tools/clang/lib/Sema/Scope.cpp projects/building-blocks/contrib/llvm/tools/clang/lib/Sema/ScopeInfo.cpp projects/building-blocks/contrib/llvm/tools/clang/lib/Sema/Sema.cpp projects/building-blocks/contrib/llvm/tools/clang/lib/Sema/SemaAccess.cpp projects/building-blocks/contrib/llvm/tools/clang/lib/Sema/SemaAttr.cpp projects/building-blocks/contrib/llvm/tools/clang/lib/Sema/SemaCXXScopeSpec.cpp projects/building-blocks/contrib/llvm/tools/clang/lib/Sema/SemaCast.cpp projects/building-blocks/contrib/llvm/tools/clang/lib/Sema/SemaChecking.cpp projects/building-blocks/contrib/llvm/tools/clang/lib/Sema/SemaCodeComplete.cpp projects/building-blocks/contrib/llvm/tools/clang/lib/Sema/SemaDecl.cpp projects/building-blocks/contrib/llvm/tools/clang/lib/Sema/SemaDeclAttr.cpp projects/building-blocks/contrib/llvm/tools/clang/lib/Sema/SemaDeclCXX.cpp projects/building-blocks/contrib/llvm/tools/clang/lib/Sema/SemaDeclObjC.cpp projects/building-blocks/contrib/llvm/tools/clang/lib/Sema/SemaExceptionSpec.cpp projects/building-blocks/contrib/llvm/tools/clang/lib/Sema/SemaExpr.cpp projects/building-blocks/contrib/llvm/tools/clang/lib/Sema/SemaExprCXX.cpp projects/building-blocks/contrib/llvm/tools/clang/lib/Sema/SemaExprMember.cpp projects/building-blocks/contrib/llvm/tools/clang/lib/Sema/SemaExprObjC.cpp projects/building-blocks/contrib/llvm/tools/clang/lib/Sema/SemaInit.cpp projects/building-blocks/contrib/llvm/tools/clang/lib/Sema/SemaLambda.cpp projects/building-blocks/contrib/llvm/tools/clang/lib/Sema/SemaLookup.cpp projects/building-blocks/contrib/llvm/tools/clang/lib/Sema/SemaObjCProperty.cpp projects/building-blocks/contrib/llvm/tools/clang/lib/Sema/SemaOpenMP.cpp projects/building-blocks/contrib/llvm/tools/clang/lib/Sema/SemaOverload.cpp projects/building-blocks/contrib/llvm/tools/clang/lib/Sema/SemaPseudoObject.cpp projects/building-blocks/contrib/llvm/tools/clang/lib/Sema/SemaStmt.cpp projects/building-blocks/contrib/llvm/tools/clang/lib/Sema/SemaStmtAsm.cpp projects/building-blocks/contrib/llvm/tools/clang/lib/Sema/SemaStmtAttr.cpp projects/building-blocks/contrib/llvm/tools/clang/lib/Sema/SemaTemplate.cpp projects/building-blocks/contrib/llvm/tools/clang/lib/Sema/SemaTemplateDeduction.cpp projects/building-blocks/contrib/llvm/tools/clang/lib/Sema/SemaTemplateInstantiate.cpp projects/building-blocks/contrib/llvm/tools/clang/lib/Sema/SemaTemplateInstantiateDecl.cpp projects/building-blocks/contrib/llvm/tools/clang/lib/Sema/SemaTemplateVariadic.cpp projects/building-blocks/contrib/llvm/tools/clang/lib/Sema/SemaType.cpp projects/building-blocks/contrib/llvm/tools/clang/lib/Sema/TreeTransform.h projects/building-blocks/contrib/llvm/tools/clang/lib/Sema/TypeLocBuilder.cpp projects/building-blocks/contrib/llvm/tools/clang/lib/Sema/TypeLocBuilder.h projects/building-blocks/contrib/llvm/tools/clang/lib/Serialization/ASTCommon.cpp projects/building-blocks/contrib/llvm/tools/clang/lib/Serialization/ASTCommon.h projects/building-blocks/contrib/llvm/tools/clang/lib/Serialization/ASTReader.cpp projects/building-blocks/contrib/llvm/tools/clang/lib/Serialization/ASTReaderDecl.cpp projects/building-blocks/contrib/llvm/tools/clang/lib/Serialization/ASTReaderInternals.h projects/building-blocks/contrib/llvm/tools/clang/lib/Serialization/ASTReaderStmt.cpp projects/building-blocks/contrib/llvm/tools/clang/lib/Serialization/ASTWriter.cpp projects/building-blocks/contrib/llvm/tools/clang/lib/Serialization/ASTWriterDecl.cpp projects/building-blocks/contrib/llvm/tools/clang/lib/Serialization/ASTWriterStmt.cpp projects/building-blocks/contrib/llvm/tools/clang/lib/Serialization/GeneratePCH.cpp projects/building-blocks/contrib/llvm/tools/clang/lib/Serialization/GlobalModuleIndex.cpp projects/building-blocks/contrib/llvm/tools/clang/lib/Serialization/Module.cpp projects/building-blocks/contrib/llvm/tools/clang/lib/Serialization/ModuleManager.cpp projects/building-blocks/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/AnalyzerStatsChecker.cpp projects/building-blocks/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/ArrayBoundChecker.cpp projects/building-blocks/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/ArrayBoundCheckerV2.cpp projects/building-blocks/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/BasicObjCFoundationChecks.cpp projects/building-blocks/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/BoolAssignmentChecker.cpp projects/building-blocks/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/CStringChecker.cpp projects/building-blocks/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/CStringSyntaxChecker.cpp projects/building-blocks/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/CallAndMessageChecker.cpp projects/building-blocks/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/CastSizeChecker.cpp projects/building-blocks/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/CastToStructChecker.cpp projects/building-blocks/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/CheckObjCDealloc.cpp projects/building-blocks/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/CheckObjCInstMethSignature.cpp projects/building-blocks/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/CheckSecuritySyntaxOnly.cpp projects/building-blocks/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/CheckSizeofPointer.cpp projects/building-blocks/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/Checkers.td projects/building-blocks/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/ChrootChecker.cpp projects/building-blocks/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/DeadStoresChecker.cpp projects/building-blocks/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/DebugCheckers.cpp projects/building-blocks/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/DereferenceChecker.cpp projects/building-blocks/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/DirectIvarAssignment.cpp projects/building-blocks/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/DivZeroChecker.cpp projects/building-blocks/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/DynamicTypePropagation.cpp projects/building-blocks/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/ExprInspectionChecker.cpp projects/building-blocks/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/FixedAddressChecker.cpp projects/building-blocks/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/GenericTaintChecker.cpp projects/building-blocks/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/IdenticalExprChecker.cpp projects/building-blocks/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/IvarInvalidationChecker.cpp projects/building-blocks/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/LLVMConventionsChecker.cpp projects/building-blocks/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/MacOSKeychainAPIChecker.cpp projects/building-blocks/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/MacOSXAPIChecker.cpp projects/building-blocks/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/MallocChecker.cpp projects/building-blocks/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/MallocOverflowSecurityChecker.cpp projects/building-blocks/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/MallocSizeofChecker.cpp projects/building-blocks/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/NSAutoreleasePoolChecker.cpp projects/building-blocks/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/NSErrorChecker.cpp projects/building-blocks/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/NoReturnFunctionChecker.cpp projects/building-blocks/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/NonNullParamChecker.cpp projects/building-blocks/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/ObjCAtSyncChecker.cpp projects/building-blocks/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/ObjCContainersASTChecker.cpp projects/building-blocks/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/ObjCContainersChecker.cpp projects/building-blocks/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/ObjCMissingSuperCallChecker.cpp projects/building-blocks/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/ObjCSelfInitChecker.cpp projects/building-blocks/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/ObjCUnusedIVarsChecker.cpp projects/building-blocks/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/PointerArithChecker.cpp projects/building-blocks/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/PointerSubChecker.cpp projects/building-blocks/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/PthreadLockChecker.cpp projects/building-blocks/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/RetainCountChecker.cpp projects/building-blocks/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/ReturnPointerRangeChecker.cpp projects/building-blocks/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/ReturnUndefChecker.cpp projects/building-blocks/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/SimpleStreamChecker.cpp projects/building-blocks/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/StackAddrEscapeChecker.cpp projects/building-blocks/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/StreamChecker.cpp projects/building-blocks/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/TaintTesterChecker.cpp projects/building-blocks/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/TraversalChecker.cpp projects/building-blocks/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/UndefBranchChecker.cpp projects/building-blocks/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/UndefCapturedBlockVarChecker.cpp projects/building-blocks/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/UndefResultChecker.cpp projects/building-blocks/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/UndefinedArraySubscriptChecker.cpp projects/building-blocks/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/UndefinedAssignmentChecker.cpp projects/building-blocks/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/UnixAPIChecker.cpp projects/building-blocks/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/UnreachableCodeChecker.cpp projects/building-blocks/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/VLASizeChecker.cpp projects/building-blocks/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/VirtualCallChecker.cpp projects/building-blocks/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/AnalyzerOptions.cpp projects/building-blocks/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/BasicValueFactory.cpp projects/building-blocks/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/BlockCounter.cpp projects/building-blocks/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/BugReporter.cpp projects/building-blocks/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/BugReporterVisitors.cpp projects/building-blocks/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/CallEvent.cpp projects/building-blocks/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/Checker.cpp projects/building-blocks/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/CheckerManager.cpp projects/building-blocks/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/CheckerRegistry.cpp projects/building-blocks/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/CoreEngine.cpp projects/building-blocks/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/Environment.cpp projects/building-blocks/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/ExplodedGraph.cpp projects/building-blocks/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/ExprEngine.cpp projects/building-blocks/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/ExprEngineC.cpp projects/building-blocks/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/ExprEngineCXX.cpp projects/building-blocks/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/ExprEngineCallAndReturn.cpp projects/building-blocks/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/ExprEngineObjC.cpp projects/building-blocks/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/HTMLDiagnostics.cpp projects/building-blocks/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/MemRegion.cpp projects/building-blocks/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/PathDiagnostic.cpp projects/building-blocks/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/PlistDiagnostics.cpp projects/building-blocks/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/PrettyStackTraceLocationContext.h projects/building-blocks/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/ProgramState.cpp projects/building-blocks/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/RangeConstraintManager.cpp projects/building-blocks/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/RegionStore.cpp projects/building-blocks/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/SValBuilder.cpp projects/building-blocks/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/SVals.cpp projects/building-blocks/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/SimpleConstraintManager.cpp projects/building-blocks/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/SimpleConstraintManager.h projects/building-blocks/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/SimpleSValBuilder.cpp projects/building-blocks/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/Store.cpp projects/building-blocks/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/SymbolManager.cpp projects/building-blocks/contrib/llvm/tools/clang/lib/StaticAnalyzer/Frontend/AnalysisConsumer.cpp projects/building-blocks/contrib/llvm/tools/clang/lib/StaticAnalyzer/Frontend/CheckerRegistration.cpp projects/building-blocks/contrib/llvm/tools/clang/lib/StaticAnalyzer/Frontend/FrontendActions.cpp projects/building-blocks/contrib/llvm/tools/clang/lib/Tooling/CommonOptionsParser.cpp projects/building-blocks/contrib/llvm/tools/clang/lib/Tooling/CompilationDatabase.cpp projects/building-blocks/contrib/llvm/tools/clang/lib/Tooling/FileMatchTrie.cpp projects/building-blocks/contrib/llvm/tools/clang/lib/Tooling/JSONCompilationDatabase.cpp projects/building-blocks/contrib/llvm/tools/clang/lib/Tooling/Refactoring.cpp projects/building-blocks/contrib/llvm/tools/clang/lib/Tooling/Tooling.cpp projects/building-blocks/contrib/llvm/tools/clang/tools/driver/cc1_main.cpp projects/building-blocks/contrib/llvm/tools/clang/tools/driver/cc1as_main.cpp projects/building-blocks/contrib/llvm/tools/clang/tools/driver/driver.cpp projects/building-blocks/contrib/llvm/tools/clang/utils/TableGen/ClangASTNodesEmitter.cpp projects/building-blocks/contrib/llvm/tools/clang/utils/TableGen/ClangAttrEmitter.cpp projects/building-blocks/contrib/llvm/tools/clang/utils/TableGen/ClangCommentHTMLTagsEmitter.cpp projects/building-blocks/contrib/llvm/tools/clang/utils/TableGen/ClangDiagnosticsEmitter.cpp projects/building-blocks/contrib/llvm/tools/clang/utils/TableGen/ClangSACheckersEmitter.cpp projects/building-blocks/contrib/llvm/tools/clang/utils/TableGen/NeonEmitter.cpp projects/building-blocks/contrib/llvm/tools/clang/utils/TableGen/TableGen.cpp projects/building-blocks/contrib/llvm/tools/clang/utils/TableGen/TableGenBackends.h projects/building-blocks/contrib/llvm/tools/llc/llc.cpp projects/building-blocks/contrib/llvm/tools/lldb/include/lldb/API/SBBreakpoint.h projects/building-blocks/contrib/llvm/tools/lldb/include/lldb/API/SBBreakpointLocation.h projects/building-blocks/contrib/llvm/tools/lldb/include/lldb/API/SBDefines.h projects/building-blocks/contrib/llvm/tools/lldb/include/lldb/API/SBError.h projects/building-blocks/contrib/llvm/tools/lldb/include/lldb/API/SBExpressionOptions.h projects/building-blocks/contrib/llvm/tools/lldb/include/lldb/API/SBFileSpec.h projects/building-blocks/contrib/llvm/tools/lldb/include/lldb/API/SBFrame.h projects/building-blocks/contrib/llvm/tools/lldb/include/lldb/API/SBHostOS.h projects/building-blocks/contrib/llvm/tools/lldb/include/lldb/API/SBListener.h projects/building-blocks/contrib/llvm/tools/lldb/include/lldb/API/SBProcess.h projects/building-blocks/contrib/llvm/tools/lldb/include/lldb/API/SBQueue.h projects/building-blocks/contrib/llvm/tools/lldb/include/lldb/API/SBQueueItem.h projects/building-blocks/contrib/llvm/tools/lldb/include/lldb/API/SBStream.h projects/building-blocks/contrib/llvm/tools/lldb/include/lldb/API/SBTarget.h projects/building-blocks/contrib/llvm/tools/lldb/include/lldb/API/SBThread.h projects/building-blocks/contrib/llvm/tools/lldb/include/lldb/API/SBType.h projects/building-blocks/contrib/llvm/tools/lldb/include/lldb/API/SBValue.h projects/building-blocks/contrib/llvm/tools/lldb/include/lldb/Breakpoint/Breakpoint.h projects/building-blocks/contrib/llvm/tools/lldb/include/lldb/Breakpoint/BreakpointLocationList.h projects/building-blocks/contrib/llvm/tools/lldb/include/lldb/Breakpoint/BreakpointOptions.h projects/building-blocks/contrib/llvm/tools/lldb/include/lldb/Breakpoint/BreakpointSite.h projects/building-blocks/contrib/llvm/tools/lldb/include/lldb/Breakpoint/Watchpoint.h projects/building-blocks/contrib/llvm/tools/lldb/include/lldb/Core/Address.h projects/building-blocks/contrib/llvm/tools/lldb/include/lldb/Core/AddressRange.h projects/building-blocks/contrib/llvm/tools/lldb/include/lldb/Core/ArchSpec.h projects/building-blocks/contrib/llvm/tools/lldb/include/lldb/Core/ClangForward.h projects/building-blocks/contrib/llvm/tools/lldb/include/lldb/Core/Communication.h projects/building-blocks/contrib/llvm/tools/lldb/include/lldb/Core/ConnectionFileDescriptor.h projects/building-blocks/contrib/llvm/tools/lldb/include/lldb/Core/ConstString.h projects/building-blocks/contrib/llvm/tools/lldb/include/lldb/Core/DataBuffer.h projects/building-blocks/contrib/llvm/tools/lldb/include/lldb/Core/DataBufferHeap.h projects/building-blocks/contrib/llvm/tools/lldb/include/lldb/Core/DataBufferMemoryMap.h projects/building-blocks/contrib/llvm/tools/lldb/include/lldb/Core/DataEncoder.h projects/building-blocks/contrib/llvm/tools/lldb/include/lldb/Core/Debugger.h projects/building-blocks/contrib/llvm/tools/lldb/include/lldb/Core/EmulateInstruction.h projects/building-blocks/contrib/llvm/tools/lldb/include/lldb/Core/Error.h projects/building-blocks/contrib/llvm/tools/lldb/include/lldb/Core/IOHandler.h projects/building-blocks/contrib/llvm/tools/lldb/include/lldb/Core/Listener.h projects/building-blocks/contrib/llvm/tools/lldb/include/lldb/Core/Mangled.h projects/building-blocks/contrib/llvm/tools/lldb/include/lldb/Core/Module.h projects/building-blocks/contrib/llvm/tools/lldb/include/lldb/Core/ModuleList.h projects/building-blocks/contrib/llvm/tools/lldb/include/lldb/Core/ModuleSpec.h projects/building-blocks/contrib/llvm/tools/lldb/include/lldb/Core/PluginManager.h projects/building-blocks/contrib/llvm/tools/lldb/include/lldb/Core/RegisterValue.h projects/building-blocks/contrib/llvm/tools/lldb/include/lldb/Core/RegularExpression.h projects/building-blocks/contrib/llvm/tools/lldb/include/lldb/Core/Section.h projects/building-blocks/contrib/llvm/tools/lldb/include/lldb/Core/SourceManager.h projects/building-blocks/contrib/llvm/tools/lldb/include/lldb/Core/Stream.h projects/building-blocks/contrib/llvm/tools/lldb/include/lldb/Core/UserID.h projects/building-blocks/contrib/llvm/tools/lldb/include/lldb/Core/Value.h projects/building-blocks/contrib/llvm/tools/lldb/include/lldb/Core/ValueObject.h projects/building-blocks/contrib/llvm/tools/lldb/include/lldb/Core/ValueObjectChild.h projects/building-blocks/contrib/llvm/tools/lldb/include/lldb/Core/ValueObjectConstResult.h projects/building-blocks/contrib/llvm/tools/lldb/include/lldb/Core/ValueObjectDynamicValue.h projects/building-blocks/contrib/llvm/tools/lldb/include/lldb/Core/ValueObjectMemory.h projects/building-blocks/contrib/llvm/tools/lldb/include/lldb/Core/ValueObjectRegister.h projects/building-blocks/contrib/llvm/tools/lldb/include/lldb/Core/ValueObjectSyntheticFilter.h projects/building-blocks/contrib/llvm/tools/lldb/include/lldb/Core/ValueObjectVariable.h projects/building-blocks/contrib/llvm/tools/lldb/include/lldb/Core/dwarf.h projects/building-blocks/contrib/llvm/tools/lldb/include/lldb/DataFormatters/CXXFormatterFunctions.h projects/building-blocks/contrib/llvm/tools/lldb/include/lldb/DataFormatters/FormatManager.h projects/building-blocks/contrib/llvm/tools/lldb/include/lldb/DataFormatters/TypeFormat.h projects/building-blocks/contrib/llvm/tools/lldb/include/lldb/DataFormatters/TypeSummary.h projects/building-blocks/contrib/llvm/tools/lldb/include/lldb/DataFormatters/ValueObjectPrinter.h projects/building-blocks/contrib/llvm/tools/lldb/include/lldb/Expression/ASTStructExtractor.h projects/building-blocks/contrib/llvm/tools/lldb/include/lldb/Expression/ClangExpressionDeclMap.h projects/building-blocks/contrib/llvm/tools/lldb/include/lldb/Expression/ClangExpressionParser.h projects/building-blocks/contrib/llvm/tools/lldb/include/lldb/Expression/ClangExpressionVariable.h projects/building-blocks/contrib/llvm/tools/lldb/include/lldb/Expression/ClangFunction.h projects/building-blocks/contrib/llvm/tools/lldb/include/lldb/Expression/ClangUserExpression.h projects/building-blocks/contrib/llvm/tools/lldb/include/lldb/Expression/ClangUtilityFunction.h projects/building-blocks/contrib/llvm/tools/lldb/include/lldb/Expression/DWARFExpression.h projects/building-blocks/contrib/llvm/tools/lldb/include/lldb/Expression/ExpressionSourceCode.h projects/building-blocks/contrib/llvm/tools/lldb/include/lldb/Expression/IRExecutionUnit.h projects/building-blocks/contrib/llvm/tools/lldb/include/lldb/Expression/IRForTarget.h projects/building-blocks/contrib/llvm/tools/lldb/include/lldb/Expression/IRMemoryMap.h projects/building-blocks/contrib/llvm/tools/lldb/include/lldb/Host/Condition.h projects/building-blocks/contrib/llvm/tools/lldb/include/lldb/Host/Config.h projects/building-blocks/contrib/llvm/tools/lldb/include/lldb/Host/Debug.h projects/building-blocks/contrib/llvm/tools/lldb/include/lldb/Host/Editline.h projects/building-blocks/contrib/llvm/tools/lldb/include/lldb/Host/Endian.h projects/building-blocks/contrib/llvm/tools/lldb/include/lldb/Host/File.h projects/building-blocks/contrib/llvm/tools/lldb/include/lldb/Host/FileSpec.h projects/building-blocks/contrib/llvm/tools/lldb/include/lldb/Host/Host.h projects/building-blocks/contrib/llvm/tools/lldb/include/lldb/Host/HostGetOpt.h projects/building-blocks/contrib/llvm/tools/lldb/include/lldb/Host/OptionParser.h projects/building-blocks/contrib/llvm/tools/lldb/include/lldb/Host/Predicate.h projects/building-blocks/contrib/llvm/tools/lldb/include/lldb/Host/SocketAddress.h projects/building-blocks/contrib/llvm/tools/lldb/include/lldb/Host/Symbols.h projects/building-blocks/contrib/llvm/tools/lldb/include/lldb/Host/Terminal.h projects/building-blocks/contrib/llvm/tools/lldb/include/lldb/Host/TimeValue.h projects/building-blocks/contrib/llvm/tools/lldb/include/lldb/Interpreter/Args.h projects/building-blocks/contrib/llvm/tools/lldb/include/lldb/Interpreter/CommandCompletions.h projects/building-blocks/contrib/llvm/tools/lldb/include/lldb/Interpreter/CommandInterpreter.h projects/building-blocks/contrib/llvm/tools/lldb/include/lldb/Interpreter/CommandObject.h projects/building-blocks/contrib/llvm/tools/lldb/include/lldb/Interpreter/CommandReturnObject.h projects/building-blocks/contrib/llvm/tools/lldb/include/lldb/Interpreter/Options.h projects/building-blocks/contrib/llvm/tools/lldb/include/lldb/Interpreter/PythonDataObjects.h projects/building-blocks/contrib/llvm/tools/lldb/include/lldb/Interpreter/ScriptInterpreter.h projects/building-blocks/contrib/llvm/tools/lldb/include/lldb/Interpreter/ScriptInterpreterPython.h projects/building-blocks/contrib/llvm/tools/lldb/include/lldb/Symbol/Block.h projects/building-blocks/contrib/llvm/tools/lldb/include/lldb/Symbol/ClangASTContext.h projects/building-blocks/contrib/llvm/tools/lldb/include/lldb/Symbol/ClangASTImporter.h projects/building-blocks/contrib/llvm/tools/lldb/include/lldb/Symbol/ClangASTType.h projects/building-blocks/contrib/llvm/tools/lldb/include/lldb/Symbol/ClangExternalASTSourceCommon.h projects/building-blocks/contrib/llvm/tools/lldb/include/lldb/Symbol/CompileUnit.h projects/building-blocks/contrib/llvm/tools/lldb/include/lldb/Symbol/DWARFCallFrameInfo.h projects/building-blocks/contrib/llvm/tools/lldb/include/lldb/Symbol/Declaration.h projects/building-blocks/contrib/llvm/tools/lldb/include/lldb/Symbol/FuncUnwinders.h projects/building-blocks/contrib/llvm/tools/lldb/include/lldb/Symbol/Function.h projects/building-blocks/contrib/llvm/tools/lldb/include/lldb/Symbol/LineEntry.h projects/building-blocks/contrib/llvm/tools/lldb/include/lldb/Symbol/LineTable.h projects/building-blocks/contrib/llvm/tools/lldb/include/lldb/Symbol/ObjectContainer.h projects/building-blocks/contrib/llvm/tools/lldb/include/lldb/Symbol/ObjectFile.h projects/building-blocks/contrib/llvm/tools/lldb/include/lldb/Symbol/Symbol.h projects/building-blocks/contrib/llvm/tools/lldb/include/lldb/Symbol/SymbolContext.h projects/building-blocks/contrib/llvm/tools/lldb/include/lldb/Symbol/SymbolContextScope.h projects/building-blocks/contrib/llvm/tools/lldb/include/lldb/Symbol/SymbolFile.h projects/building-blocks/contrib/llvm/tools/lldb/include/lldb/Symbol/SymbolVendor.h projects/building-blocks/contrib/llvm/tools/lldb/include/lldb/Symbol/Symtab.h projects/building-blocks/contrib/llvm/tools/lldb/include/lldb/Symbol/Type.h projects/building-blocks/contrib/llvm/tools/lldb/include/lldb/Symbol/UnwindPlan.h projects/building-blocks/contrib/llvm/tools/lldb/include/lldb/Symbol/UnwindTable.h projects/building-blocks/contrib/llvm/tools/lldb/include/lldb/Symbol/VariableList.h projects/building-blocks/contrib/llvm/tools/lldb/include/lldb/Target/ABI.h projects/building-blocks/contrib/llvm/tools/lldb/include/lldb/Target/CPPLanguageRuntime.h projects/building-blocks/contrib/llvm/tools/lldb/include/lldb/Target/ExecutionContext.h projects/building-blocks/contrib/llvm/tools/lldb/include/lldb/Target/ExecutionContextScope.h projects/building-blocks/contrib/llvm/tools/lldb/include/lldb/Target/ObjCLanguageRuntime.h projects/building-blocks/contrib/llvm/tools/lldb/include/lldb/Target/PathMappingList.h projects/building-blocks/contrib/llvm/tools/lldb/include/lldb/Target/Platform.h projects/building-blocks/contrib/llvm/tools/lldb/include/lldb/Target/Process.h projects/building-blocks/contrib/llvm/tools/lldb/include/lldb/Target/Queue.h projects/building-blocks/contrib/llvm/tools/lldb/include/lldb/Target/QueueItem.h projects/building-blocks/contrib/llvm/tools/lldb/include/lldb/Target/QueueList.h projects/building-blocks/contrib/llvm/tools/lldb/include/lldb/Target/RegisterContext.h projects/building-blocks/contrib/llvm/tools/lldb/include/lldb/Target/StackFrame.h projects/building-blocks/contrib/llvm/tools/lldb/include/lldb/Target/StopInfo.h projects/building-blocks/contrib/llvm/tools/lldb/include/lldb/Target/SystemRuntime.h projects/building-blocks/contrib/llvm/tools/lldb/include/lldb/Target/Target.h projects/building-blocks/contrib/llvm/tools/lldb/include/lldb/Target/TargetList.h projects/building-blocks/contrib/llvm/tools/lldb/include/lldb/Target/Thread.h projects/building-blocks/contrib/llvm/tools/lldb/include/lldb/Target/ThreadPlan.h projects/building-blocks/contrib/llvm/tools/lldb/include/lldb/Target/ThreadPlanCallFunction.h projects/building-blocks/contrib/llvm/tools/lldb/include/lldb/Target/ThreadPlanCallUserExpression.h projects/building-blocks/contrib/llvm/tools/lldb/include/lldb/Target/ThreadPlanShouldStopHere.h projects/building-blocks/contrib/llvm/tools/lldb/include/lldb/Target/ThreadPlanStepInRange.h projects/building-blocks/contrib/llvm/tools/lldb/include/lldb/Target/ThreadPlanStepInstruction.h projects/building-blocks/contrib/llvm/tools/lldb/include/lldb/Target/ThreadPlanStepOut.h projects/building-blocks/contrib/llvm/tools/lldb/include/lldb/Target/ThreadPlanStepOverRange.h projects/building-blocks/contrib/llvm/tools/lldb/include/lldb/Target/ThreadPlanStepRange.h projects/building-blocks/contrib/llvm/tools/lldb/include/lldb/Target/UnwindAssembly.h projects/building-blocks/contrib/llvm/tools/lldb/include/lldb/Utility/CleanUp.h projects/building-blocks/contrib/llvm/tools/lldb/include/lldb/Utility/PseudoTerminal.h projects/building-blocks/contrib/llvm/tools/lldb/include/lldb/Utility/SharedCluster.h projects/building-blocks/contrib/llvm/tools/lldb/include/lldb/Utility/SharingPtr.h projects/building-blocks/contrib/llvm/tools/lldb/include/lldb/lldb-defines.h projects/building-blocks/contrib/llvm/tools/lldb/include/lldb/lldb-enumerations.h projects/building-blocks/contrib/llvm/tools/lldb/include/lldb/lldb-forward.h projects/building-blocks/contrib/llvm/tools/lldb/include/lldb/lldb-private-enumerations.h projects/building-blocks/contrib/llvm/tools/lldb/include/lldb/lldb-private-interfaces.h projects/building-blocks/contrib/llvm/tools/lldb/include/lldb/lldb-private-log.h projects/building-blocks/contrib/llvm/tools/lldb/include/lldb/lldb-private-types.h projects/building-blocks/contrib/llvm/tools/lldb/include/lldb/lldb-python.h projects/building-blocks/contrib/llvm/tools/lldb/include/lldb/lldb-types.h projects/building-blocks/contrib/llvm/tools/lldb/source/API/SBAddress.cpp projects/building-blocks/contrib/llvm/tools/lldb/source/API/SBBreakpoint.cpp projects/building-blocks/contrib/llvm/tools/lldb/source/API/SBBreakpointLocation.cpp projects/building-blocks/contrib/llvm/tools/lldb/source/API/SBBroadcaster.cpp projects/building-blocks/contrib/llvm/tools/lldb/source/API/SBCommandInterpreter.cpp projects/building-blocks/contrib/llvm/tools/lldb/source/API/SBCommandReturnObject.cpp projects/building-blocks/contrib/llvm/tools/lldb/source/API/SBCommunication.cpp projects/building-blocks/contrib/llvm/tools/lldb/source/API/SBCompileUnit.cpp projects/building-blocks/contrib/llvm/tools/lldb/source/API/SBData.cpp projects/building-blocks/contrib/llvm/tools/lldb/source/API/SBDebugger.cpp projects/building-blocks/contrib/llvm/tools/lldb/source/API/SBDeclaration.cpp projects/building-blocks/contrib/llvm/tools/lldb/source/API/SBError.cpp projects/building-blocks/contrib/llvm/tools/lldb/source/API/SBEvent.cpp projects/building-blocks/contrib/llvm/tools/lldb/source/API/SBExpressionOptions.cpp projects/building-blocks/contrib/llvm/tools/lldb/source/API/SBFileSpec.cpp projects/building-blocks/contrib/llvm/tools/lldb/source/API/SBFileSpecList.cpp projects/building-blocks/contrib/llvm/tools/lldb/source/API/SBFrame.cpp projects/building-blocks/contrib/llvm/tools/lldb/source/API/SBFunction.cpp projects/building-blocks/contrib/llvm/tools/lldb/source/API/SBHostOS.cpp projects/building-blocks/contrib/llvm/tools/lldb/source/API/SBLineEntry.cpp projects/building-blocks/contrib/llvm/tools/lldb/source/API/SBListener.cpp projects/building-blocks/contrib/llvm/tools/lldb/source/API/SBModule.cpp projects/building-blocks/contrib/llvm/tools/lldb/source/API/SBProcess.cpp projects/building-blocks/contrib/llvm/tools/lldb/source/API/SBQueue.cpp projects/building-blocks/contrib/llvm/tools/lldb/source/API/SBQueueItem.cpp projects/building-blocks/contrib/llvm/tools/lldb/source/API/SBStream.cpp projects/building-blocks/contrib/llvm/tools/lldb/source/API/SBSymbol.cpp projects/building-blocks/contrib/llvm/tools/lldb/source/API/SBSymbolContext.cpp projects/building-blocks/contrib/llvm/tools/lldb/source/API/SBTarget.cpp projects/building-blocks/contrib/llvm/tools/lldb/source/API/SBThread.cpp projects/building-blocks/contrib/llvm/tools/lldb/source/API/SBType.cpp projects/building-blocks/contrib/llvm/tools/lldb/source/API/SBValue.cpp projects/building-blocks/contrib/llvm/tools/lldb/source/API/SBValueList.cpp projects/building-blocks/contrib/llvm/tools/lldb/source/API/SBWatchpoint.cpp projects/building-blocks/contrib/llvm/tools/lldb/source/Breakpoint/Breakpoint.cpp projects/building-blocks/contrib/llvm/tools/lldb/source/Breakpoint/BreakpointID.cpp projects/building-blocks/contrib/llvm/tools/lldb/source/Breakpoint/BreakpointList.cpp projects/building-blocks/contrib/llvm/tools/lldb/source/Breakpoint/BreakpointLocation.cpp projects/building-blocks/contrib/llvm/tools/lldb/source/Breakpoint/BreakpointLocationList.cpp projects/building-blocks/contrib/llvm/tools/lldb/source/Breakpoint/BreakpointOptions.cpp projects/building-blocks/contrib/llvm/tools/lldb/source/Breakpoint/BreakpointResolverName.cpp projects/building-blocks/contrib/llvm/tools/lldb/source/Breakpoint/BreakpointSite.cpp projects/building-blocks/contrib/llvm/tools/lldb/source/Breakpoint/BreakpointSiteList.cpp projects/building-blocks/contrib/llvm/tools/lldb/source/Breakpoint/WatchpointList.cpp projects/building-blocks/contrib/llvm/tools/lldb/source/Commands/CommandCompletions.cpp projects/building-blocks/contrib/llvm/tools/lldb/source/Commands/CommandObjectArgs.cpp projects/building-blocks/contrib/llvm/tools/lldb/source/Commands/CommandObjectBreakpoint.cpp projects/building-blocks/contrib/llvm/tools/lldb/source/Commands/CommandObjectBreakpointCommand.cpp projects/building-blocks/contrib/llvm/tools/lldb/source/Commands/CommandObjectCommands.cpp projects/building-blocks/contrib/llvm/tools/lldb/source/Commands/CommandObjectDisassemble.cpp projects/building-blocks/contrib/llvm/tools/lldb/source/Commands/CommandObjectExpression.cpp projects/building-blocks/contrib/llvm/tools/lldb/source/Commands/CommandObjectExpression.h projects/building-blocks/contrib/llvm/tools/lldb/source/Commands/CommandObjectFrame.cpp projects/building-blocks/contrib/llvm/tools/lldb/source/Commands/CommandObjectHelp.cpp projects/building-blocks/contrib/llvm/tools/lldb/source/Commands/CommandObjectLog.cpp projects/building-blocks/contrib/llvm/tools/lldb/source/Commands/CommandObjectMemory.cpp projects/building-blocks/contrib/llvm/tools/lldb/source/Commands/CommandObjectPlatform.cpp projects/building-blocks/contrib/llvm/tools/lldb/source/Commands/CommandObjectProcess.cpp projects/building-blocks/contrib/llvm/tools/lldb/source/Commands/CommandObjectQuit.cpp projects/building-blocks/contrib/llvm/tools/lldb/source/Commands/CommandObjectRegister.cpp projects/building-blocks/contrib/llvm/tools/lldb/source/Commands/CommandObjectSettings.cpp projects/building-blocks/contrib/llvm/tools/lldb/source/Commands/CommandObjectSource.cpp projects/building-blocks/contrib/llvm/tools/lldb/source/Commands/CommandObjectTarget.cpp projects/building-blocks/contrib/llvm/tools/lldb/source/Commands/CommandObjectThread.cpp projects/building-blocks/contrib/llvm/tools/lldb/source/Commands/CommandObjectType.cpp projects/building-blocks/contrib/llvm/tools/lldb/source/Commands/CommandObjectWatchpoint.cpp projects/building-blocks/contrib/llvm/tools/lldb/source/Commands/CommandObjectWatchpointCommand.cpp projects/building-blocks/contrib/llvm/tools/lldb/source/Core/Address.cpp projects/building-blocks/contrib/llvm/tools/lldb/source/Core/AddressRange.cpp projects/building-blocks/contrib/llvm/tools/lldb/source/Core/AddressResolverName.cpp projects/building-blocks/contrib/llvm/tools/lldb/source/Core/ArchSpec.cpp projects/building-blocks/contrib/llvm/tools/lldb/source/Core/Broadcaster.cpp projects/building-blocks/contrib/llvm/tools/lldb/source/Core/Communication.cpp projects/building-blocks/contrib/llvm/tools/lldb/source/Core/ConnectionFileDescriptor.cpp projects/building-blocks/contrib/llvm/tools/lldb/source/Core/ConnectionMachPort.cpp projects/building-blocks/contrib/llvm/tools/lldb/source/Core/ConnectionSharedMemory.cpp projects/building-blocks/contrib/llvm/tools/lldb/source/Core/ConstString.cpp projects/building-blocks/contrib/llvm/tools/lldb/source/Core/DataBufferHeap.cpp projects/building-blocks/contrib/llvm/tools/lldb/source/Core/DataBufferMemoryMap.cpp projects/building-blocks/contrib/llvm/tools/lldb/source/Core/DataExtractor.cpp projects/building-blocks/contrib/llvm/tools/lldb/source/Core/Debugger.cpp projects/building-blocks/contrib/llvm/tools/lldb/source/Core/EmulateInstruction.cpp projects/building-blocks/contrib/llvm/tools/lldb/source/Core/Error.cpp projects/building-blocks/contrib/llvm/tools/lldb/source/Core/Event.cpp projects/building-blocks/contrib/llvm/tools/lldb/source/Core/IOHandler.cpp projects/building-blocks/contrib/llvm/tools/lldb/source/Core/Language.cpp projects/building-blocks/contrib/llvm/tools/lldb/source/Core/Listener.cpp projects/building-blocks/contrib/llvm/tools/lldb/source/Core/Log.cpp projects/building-blocks/contrib/llvm/tools/lldb/source/Core/Mangled.cpp projects/building-blocks/contrib/llvm/tools/lldb/source/Core/Module.cpp projects/building-blocks/contrib/llvm/tools/lldb/source/Core/ModuleList.cpp projects/building-blocks/contrib/llvm/tools/lldb/source/Core/Opcode.cpp projects/building-blocks/contrib/llvm/tools/lldb/source/Core/PluginManager.cpp projects/building-blocks/contrib/llvm/tools/lldb/source/Core/RegularExpression.cpp projects/building-blocks/contrib/llvm/tools/lldb/source/Core/Scalar.cpp projects/building-blocks/contrib/llvm/tools/lldb/source/Core/SearchFilter.cpp projects/building-blocks/contrib/llvm/tools/lldb/source/Core/Section.cpp projects/building-blocks/contrib/llvm/tools/lldb/source/Core/SourceManager.cpp projects/building-blocks/contrib/llvm/tools/lldb/source/Core/Stream.cpp projects/building-blocks/contrib/llvm/tools/lldb/source/Core/Value.cpp projects/building-blocks/contrib/llvm/tools/lldb/source/Core/ValueObject.cpp projects/building-blocks/contrib/llvm/tools/lldb/source/Core/ValueObjectChild.cpp projects/building-blocks/contrib/llvm/tools/lldb/source/Core/ValueObjectConstResult.cpp projects/building-blocks/contrib/llvm/tools/lldb/source/Core/ValueObjectConstResultImpl.cpp projects/building-blocks/contrib/llvm/tools/lldb/source/Core/ValueObjectDynamicValue.cpp projects/building-blocks/contrib/llvm/tools/lldb/source/Core/ValueObjectMemory.cpp projects/building-blocks/contrib/llvm/tools/lldb/source/Core/ValueObjectRegister.cpp projects/building-blocks/contrib/llvm/tools/lldb/source/Core/ValueObjectSyntheticFilter.cpp projects/building-blocks/contrib/llvm/tools/lldb/source/Core/ValueObjectVariable.cpp projects/building-blocks/contrib/llvm/tools/lldb/source/DataFormatters/CF.cpp projects/building-blocks/contrib/llvm/tools/lldb/source/DataFormatters/CXXFormatterFunctions.cpp projects/building-blocks/contrib/llvm/tools/lldb/source/DataFormatters/Cocoa.cpp projects/building-blocks/contrib/llvm/tools/lldb/source/DataFormatters/FormatManager.cpp projects/building-blocks/contrib/llvm/tools/lldb/source/DataFormatters/LibCxx.cpp projects/building-blocks/contrib/llvm/tools/lldb/source/DataFormatters/LibCxxList.cpp projects/building-blocks/contrib/llvm/tools/lldb/source/DataFormatters/LibCxxMap.cpp projects/building-blocks/contrib/llvm/tools/lldb/source/DataFormatters/LibCxxUnorderedMap.cpp projects/building-blocks/contrib/llvm/tools/lldb/source/DataFormatters/LibStdcpp.cpp projects/building-blocks/contrib/llvm/tools/lldb/source/DataFormatters/NSArray.cpp projects/building-blocks/contrib/llvm/tools/lldb/source/DataFormatters/NSDictionary.cpp projects/building-blocks/contrib/llvm/tools/lldb/source/DataFormatters/NSSet.cpp projects/building-blocks/contrib/llvm/tools/lldb/source/DataFormatters/TypeFormat.cpp projects/building-blocks/contrib/llvm/tools/lldb/source/DataFormatters/TypeSummary.cpp projects/building-blocks/contrib/llvm/tools/lldb/source/DataFormatters/TypeSynthetic.cpp projects/building-blocks/contrib/llvm/tools/lldb/source/DataFormatters/ValueObjectPrinter.cpp projects/building-blocks/contrib/llvm/tools/lldb/source/Expression/ASTResultSynthesizer.cpp projects/building-blocks/contrib/llvm/tools/lldb/source/Expression/ASTStructExtractor.cpp projects/building-blocks/contrib/llvm/tools/lldb/source/Expression/ClangASTSource.cpp projects/building-blocks/contrib/llvm/tools/lldb/source/Expression/ClangExpressionDeclMap.cpp projects/building-blocks/contrib/llvm/tools/lldb/source/Expression/ClangExpressionParser.cpp projects/building-blocks/contrib/llvm/tools/lldb/source/Expression/ClangExpressionVariable.cpp projects/building-blocks/contrib/llvm/tools/lldb/source/Expression/ClangFunction.cpp projects/building-blocks/contrib/llvm/tools/lldb/source/Expression/ClangUserExpression.cpp projects/building-blocks/contrib/llvm/tools/lldb/source/Expression/ClangUtilityFunction.cpp projects/building-blocks/contrib/llvm/tools/lldb/source/Expression/DWARFExpression.cpp projects/building-blocks/contrib/llvm/tools/lldb/source/Expression/ExpressionSourceCode.cpp projects/building-blocks/contrib/llvm/tools/lldb/source/Expression/IRDynamicChecks.cpp projects/building-blocks/contrib/llvm/tools/lldb/source/Expression/IRExecutionUnit.cpp projects/building-blocks/contrib/llvm/tools/lldb/source/Expression/IRForTarget.cpp projects/building-blocks/contrib/llvm/tools/lldb/source/Expression/IRInterpreter.cpp projects/building-blocks/contrib/llvm/tools/lldb/source/Expression/IRMemoryMap.cpp projects/building-blocks/contrib/llvm/tools/lldb/source/Expression/Materializer.cpp projects/building-blocks/contrib/llvm/tools/lldb/source/Host/common/Condition.cpp projects/building-blocks/contrib/llvm/tools/lldb/source/Host/common/Editline.cpp projects/building-blocks/contrib/llvm/tools/lldb/source/Host/common/File.cpp projects/building-blocks/contrib/llvm/tools/lldb/source/Host/common/FileSpec.cpp projects/building-blocks/contrib/llvm/tools/lldb/source/Host/common/Host.cpp projects/building-blocks/contrib/llvm/tools/lldb/source/Host/common/Mutex.cpp projects/building-blocks/contrib/llvm/tools/lldb/source/Host/common/OptionParser.cpp projects/building-blocks/contrib/llvm/tools/lldb/source/Host/common/SocketAddress.cpp projects/building-blocks/contrib/llvm/tools/lldb/source/Host/common/Terminal.cpp projects/building-blocks/contrib/llvm/tools/lldb/source/Host/freebsd/Host.cpp projects/building-blocks/contrib/llvm/tools/lldb/source/Interpreter/Args.cpp projects/building-blocks/contrib/llvm/tools/lldb/source/Interpreter/CommandHistory.cpp projects/building-blocks/contrib/llvm/tools/lldb/source/Interpreter/CommandInterpreter.cpp projects/building-blocks/contrib/llvm/tools/lldb/source/Interpreter/CommandObject.cpp projects/building-blocks/contrib/llvm/tools/lldb/source/Interpreter/CommandObjectRegexCommand.cpp projects/building-blocks/contrib/llvm/tools/lldb/source/Interpreter/CommandObjectScript.cpp projects/building-blocks/contrib/llvm/tools/lldb/source/Interpreter/CommandReturnObject.cpp projects/building-blocks/contrib/llvm/tools/lldb/source/Interpreter/OptionGroupArchitecture.cpp projects/building-blocks/contrib/llvm/tools/lldb/source/Interpreter/OptionGroupBoolean.cpp projects/building-blocks/contrib/llvm/tools/lldb/source/Interpreter/OptionGroupFile.cpp projects/building-blocks/contrib/llvm/tools/lldb/source/Interpreter/OptionGroupFormat.cpp projects/building-blocks/contrib/llvm/tools/lldb/source/Interpreter/OptionGroupOutputFile.cpp projects/building-blocks/contrib/llvm/tools/lldb/source/Interpreter/OptionGroupPlatform.cpp projects/building-blocks/contrib/llvm/tools/lldb/source/Interpreter/OptionGroupString.cpp projects/building-blocks/contrib/llvm/tools/lldb/source/Interpreter/OptionGroupUInt64.cpp projects/building-blocks/contrib/llvm/tools/lldb/source/Interpreter/OptionGroupUUID.cpp projects/building-blocks/contrib/llvm/tools/lldb/source/Interpreter/OptionGroupValueObjectDisplay.cpp projects/building-blocks/contrib/llvm/tools/lldb/source/Interpreter/OptionGroupVariable.cpp projects/building-blocks/contrib/llvm/tools/lldb/source/Interpreter/OptionGroupWatchpoint.cpp projects/building-blocks/contrib/llvm/tools/lldb/source/Interpreter/OptionValue.cpp projects/building-blocks/contrib/llvm/tools/lldb/source/Interpreter/OptionValueArch.cpp projects/building-blocks/contrib/llvm/tools/lldb/source/Interpreter/OptionValueArray.cpp projects/building-blocks/contrib/llvm/tools/lldb/source/Interpreter/OptionValueBoolean.cpp projects/building-blocks/contrib/llvm/tools/lldb/source/Interpreter/OptionValueDictionary.cpp projects/building-blocks/contrib/llvm/tools/lldb/source/Interpreter/OptionValueEnumeration.cpp projects/building-blocks/contrib/llvm/tools/lldb/source/Interpreter/OptionValueFileSpec.cpp projects/building-blocks/contrib/llvm/tools/lldb/source/Interpreter/OptionValueFormat.cpp projects/building-blocks/contrib/llvm/tools/lldb/source/Interpreter/OptionValueProperties.cpp projects/building-blocks/contrib/llvm/tools/lldb/source/Interpreter/OptionValueUUID.cpp projects/building-blocks/contrib/llvm/tools/lldb/source/Interpreter/Options.cpp projects/building-blocks/contrib/llvm/tools/lldb/source/Interpreter/Property.cpp projects/building-blocks/contrib/llvm/tools/lldb/source/Interpreter/PythonDataObjects.cpp projects/building-blocks/contrib/llvm/tools/lldb/source/Interpreter/ScriptInterpreter.cpp projects/building-blocks/contrib/llvm/tools/lldb/source/Interpreter/ScriptInterpreterPython.cpp projects/building-blocks/contrib/llvm/tools/lldb/source/Interpreter/embedded_interpreter.py projects/building-blocks/contrib/llvm/tools/lldb/source/Plugins/ABI/MacOSX-arm/ABIMacOSX_arm.cpp projects/building-blocks/contrib/llvm/tools/lldb/source/Plugins/ABI/MacOSX-i386/ABIMacOSX_i386.cpp projects/building-blocks/contrib/llvm/tools/lldb/source/Plugins/ABI/SysV-x86_64/ABISysV_x86_64.cpp projects/building-blocks/contrib/llvm/tools/lldb/source/Plugins/Disassembler/llvm/DisassemblerLLVMC.cpp projects/building-blocks/contrib/llvm/tools/lldb/source/Plugins/Disassembler/llvm/DisassemblerLLVMC.h projects/building-blocks/contrib/llvm/tools/lldb/source/Plugins/DynamicLoader/POSIX-DYLD/AuxVector.cpp projects/building-blocks/contrib/llvm/tools/lldb/source/Plugins/DynamicLoader/POSIX-DYLD/DYLDRendezvous.cpp projects/building-blocks/contrib/llvm/tools/lldb/source/Plugins/DynamicLoader/POSIX-DYLD/DynamicLoaderPOSIXDYLD.cpp projects/building-blocks/contrib/llvm/tools/lldb/source/Plugins/DynamicLoader/Static/DynamicLoaderStatic.h projects/building-blocks/contrib/llvm/tools/lldb/source/Plugins/Instruction/ARM/EmulateInstructionARM.cpp projects/building-blocks/contrib/llvm/tools/lldb/source/Plugins/Instruction/ARM/EmulateInstructionARM.h projects/building-blocks/contrib/llvm/tools/lldb/source/Plugins/LanguageRuntime/CPlusPlus/ItaniumABI/ItaniumABILanguageRuntime.cpp projects/building-blocks/contrib/llvm/tools/lldb/source/Plugins/ObjectContainer/BSD-Archive/ObjectContainerBSDArchive.cpp projects/building-blocks/contrib/llvm/tools/lldb/source/Plugins/ObjectFile/ELF/ELFHeader.cpp projects/building-blocks/contrib/llvm/tools/lldb/source/Plugins/ObjectFile/ELF/ELFHeader.h projects/building-blocks/contrib/llvm/tools/lldb/source/Plugins/ObjectFile/ELF/ObjectFileELF.cpp projects/building-blocks/contrib/llvm/tools/lldb/source/Plugins/ObjectFile/ELF/ObjectFileELF.h projects/building-blocks/contrib/llvm/tools/lldb/source/Plugins/Platform/FreeBSD/PlatformFreeBSD.cpp projects/building-blocks/contrib/llvm/tools/lldb/source/Plugins/Platform/FreeBSD/PlatformFreeBSD.h projects/building-blocks/contrib/llvm/tools/lldb/source/Plugins/Platform/POSIX/PlatformPOSIX.cpp projects/building-blocks/contrib/llvm/tools/lldb/source/Plugins/Platform/POSIX/PlatformPOSIX.h projects/building-blocks/contrib/llvm/tools/lldb/source/Plugins/Platform/gdb-server/PlatformRemoteGDBServer.cpp projects/building-blocks/contrib/llvm/tools/lldb/source/Plugins/Process/FreeBSD/ProcessFreeBSD.cpp projects/building-blocks/contrib/llvm/tools/lldb/source/Plugins/Process/FreeBSD/ProcessMonitor.cpp projects/building-blocks/contrib/llvm/tools/lldb/source/Plugins/Process/FreeBSD/ProcessMonitor.h projects/building-blocks/contrib/llvm/tools/lldb/source/Plugins/Process/POSIX/POSIXThread.cpp projects/building-blocks/contrib/llvm/tools/lldb/source/Plugins/Process/POSIX/POSIXThread.h projects/building-blocks/contrib/llvm/tools/lldb/source/Plugins/Process/POSIX/ProcessPOSIX.cpp projects/building-blocks/contrib/llvm/tools/lldb/source/Plugins/Process/POSIX/ProcessPOSIX.h projects/building-blocks/contrib/llvm/tools/lldb/source/Plugins/Process/POSIX/RegisterContextPOSIXProcessMonitor_mips64.cpp projects/building-blocks/contrib/llvm/tools/lldb/source/Plugins/Process/POSIX/RegisterContextPOSIXProcessMonitor_mips64.h projects/building-blocks/contrib/llvm/tools/lldb/source/Plugins/Process/POSIX/RegisterContextPOSIXProcessMonitor_x86.cpp projects/building-blocks/contrib/llvm/tools/lldb/source/Plugins/Process/POSIX/RegisterContextPOSIXProcessMonitor_x86.h projects/building-blocks/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/ARMDefines.h projects/building-blocks/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/ARMUtils.h projects/building-blocks/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/DynamicRegisterInfo.cpp projects/building-blocks/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/HistoryThread.cpp projects/building-blocks/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/HistoryUnwind.cpp projects/building-blocks/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/InferiorCallPOSIX.cpp projects/building-blocks/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/InstructionUtils.h projects/building-blocks/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/RegisterContextDarwin_arm.cpp projects/building-blocks/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/RegisterContextDarwin_arm.h projects/building-blocks/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/RegisterContextDarwin_i386.cpp projects/building-blocks/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/RegisterContextDarwin_i386.h projects/building-blocks/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/RegisterContextDarwin_x86_64.cpp projects/building-blocks/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/RegisterContextDarwin_x86_64.h projects/building-blocks/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/RegisterContextDummy.cpp projects/building-blocks/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/RegisterContextDummy.h projects/building-blocks/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/RegisterContextHistory.cpp projects/building-blocks/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/RegisterContextHistory.h projects/building-blocks/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/RegisterContextLLDB.cpp projects/building-blocks/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/RegisterContextLLDB.h projects/building-blocks/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/RegisterContextMacOSXFrameBackchain.cpp projects/building-blocks/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/RegisterContextMacOSXFrameBackchain.h projects/building-blocks/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/RegisterContextMemory.cpp projects/building-blocks/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/RegisterContextMemory.h projects/building-blocks/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/RegisterContextThreadMemory.cpp projects/building-blocks/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/RegisterContextThreadMemory.h projects/building-blocks/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/StopInfoMachException.cpp projects/building-blocks/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/UnwindLLDB.cpp projects/building-blocks/contrib/llvm/tools/lldb/source/Plugins/Process/elf-core/ProcessElfCore.cpp projects/building-blocks/contrib/llvm/tools/lldb/source/Plugins/Process/elf-core/ProcessElfCore.h projects/building-blocks/contrib/llvm/tools/lldb/source/Plugins/Process/elf-core/RegisterContextPOSIXCore_mips64.cpp projects/building-blocks/contrib/llvm/tools/lldb/source/Plugins/Process/elf-core/RegisterContextPOSIXCore_mips64.h projects/building-blocks/contrib/llvm/tools/lldb/source/Plugins/Process/elf-core/RegisterContextPOSIXCore_x86_64.h projects/building-blocks/contrib/llvm/tools/lldb/source/Plugins/Process/elf-core/ThreadElfCore.cpp projects/building-blocks/contrib/llvm/tools/lldb/source/Plugins/Process/elf-core/ThreadElfCore.h projects/building-blocks/contrib/llvm/tools/lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunication.cpp projects/building-blocks/contrib/llvm/tools/lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunication.h projects/building-blocks/contrib/llvm/tools/lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationClient.cpp projects/building-blocks/contrib/llvm/tools/lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationClient.h projects/building-blocks/contrib/llvm/tools/lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServer.cpp projects/building-blocks/contrib/llvm/tools/lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServer.h projects/building-blocks/contrib/llvm/tools/lldb/source/Plugins/Process/gdb-remote/GDBRemoteRegisterContext.cpp projects/building-blocks/contrib/llvm/tools/lldb/source/Plugins/Process/gdb-remote/GDBRemoteRegisterContext.h projects/building-blocks/contrib/llvm/tools/lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp projects/building-blocks/contrib/llvm/tools/lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.h projects/building-blocks/contrib/llvm/tools/lldb/source/Plugins/Process/gdb-remote/ThreadGDBRemote.cpp projects/building-blocks/contrib/llvm/tools/lldb/source/Plugins/Process/gdb-remote/ThreadGDBRemote.h projects/building-blocks/contrib/llvm/tools/lldb/source/Plugins/SymbolFile/DWARF/DWARFAbbreviationDeclaration.cpp projects/building-blocks/contrib/llvm/tools/lldb/source/Plugins/SymbolFile/DWARF/DWARFAbbreviationDeclaration.h projects/building-blocks/contrib/llvm/tools/lldb/source/Plugins/SymbolFile/DWARF/DWARFCompileUnit.cpp projects/building-blocks/contrib/llvm/tools/lldb/source/Plugins/SymbolFile/DWARF/DWARFCompileUnit.h projects/building-blocks/contrib/llvm/tools/lldb/source/Plugins/SymbolFile/DWARF/DWARFDebugArangeSet.cpp projects/building-blocks/contrib/llvm/tools/lldb/source/Plugins/SymbolFile/DWARF/DWARFDebugAranges.cpp projects/building-blocks/contrib/llvm/tools/lldb/source/Plugins/SymbolFile/DWARF/DWARFDebugInfo.cpp projects/building-blocks/contrib/llvm/tools/lldb/source/Plugins/SymbolFile/DWARF/DWARFDebugInfoEntry.cpp projects/building-blocks/contrib/llvm/tools/lldb/source/Plugins/SymbolFile/DWARF/DWARFDebugInfoEntry.h projects/building-blocks/contrib/llvm/tools/lldb/source/Plugins/SymbolFile/DWARF/DWARFDebugLine.cpp projects/building-blocks/contrib/llvm/tools/lldb/source/Plugins/SymbolFile/DWARF/DWARFDebugPubnames.cpp projects/building-blocks/contrib/llvm/tools/lldb/source/Plugins/SymbolFile/DWARF/DWARFDebugRanges.cpp projects/building-blocks/contrib/llvm/tools/lldb/source/Plugins/SymbolFile/DWARF/DWARFDeclContext.cpp projects/building-blocks/contrib/llvm/tools/lldb/source/Plugins/SymbolFile/DWARF/DWARFFormValue.cpp projects/building-blocks/contrib/llvm/tools/lldb/source/Plugins/SymbolFile/DWARF/HashedNameToDIE.h projects/building-blocks/contrib/llvm/tools/lldb/source/Plugins/SymbolFile/DWARF/LogChannelDWARF.cpp projects/building-blocks/contrib/llvm/tools/lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp projects/building-blocks/contrib/llvm/tools/lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.h projects/building-blocks/contrib/llvm/tools/lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARFDebugMap.cpp projects/building-blocks/contrib/llvm/tools/lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARFDebugMap.h projects/building-blocks/contrib/llvm/tools/lldb/source/Plugins/SymbolFile/Symtab/SymbolFileSymtab.cpp projects/building-blocks/contrib/llvm/tools/lldb/source/Plugins/UnwindAssembly/InstEmulation/UnwindAssemblyInstEmulation.cpp projects/building-blocks/contrib/llvm/tools/lldb/source/Plugins/UnwindAssembly/InstEmulation/UnwindAssemblyInstEmulation.h projects/building-blocks/contrib/llvm/tools/lldb/source/Plugins/UnwindAssembly/x86/UnwindAssembly-x86.cpp projects/building-blocks/contrib/llvm/tools/lldb/source/Plugins/UnwindAssembly/x86/UnwindAssembly-x86.h projects/building-blocks/contrib/llvm/tools/lldb/source/Symbol/Block.cpp projects/building-blocks/contrib/llvm/tools/lldb/source/Symbol/ClangASTContext.cpp projects/building-blocks/contrib/llvm/tools/lldb/source/Symbol/ClangASTImporter.cpp projects/building-blocks/contrib/llvm/tools/lldb/source/Symbol/ClangASTType.cpp projects/building-blocks/contrib/llvm/tools/lldb/source/Symbol/ClangExternalASTSourceCallbacks.cpp projects/building-blocks/contrib/llvm/tools/lldb/source/Symbol/ClangExternalASTSourceCommon.cpp projects/building-blocks/contrib/llvm/tools/lldb/source/Symbol/CompileUnit.cpp projects/building-blocks/contrib/llvm/tools/lldb/source/Symbol/DWARFCallFrameInfo.cpp projects/building-blocks/contrib/llvm/tools/lldb/source/Symbol/FuncUnwinders.cpp projects/building-blocks/contrib/llvm/tools/lldb/source/Symbol/Function.cpp projects/building-blocks/contrib/llvm/tools/lldb/source/Symbol/LineTable.cpp projects/building-blocks/contrib/llvm/tools/lldb/source/Symbol/ObjectFile.cpp projects/building-blocks/contrib/llvm/tools/lldb/source/Symbol/Symbol.cpp projects/building-blocks/contrib/llvm/tools/lldb/source/Symbol/SymbolContext.cpp projects/building-blocks/contrib/llvm/tools/lldb/source/Symbol/SymbolFile.cpp projects/building-blocks/contrib/llvm/tools/lldb/source/Symbol/SymbolVendor.cpp projects/building-blocks/contrib/llvm/tools/lldb/source/Symbol/Symtab.cpp projects/building-blocks/contrib/llvm/tools/lldb/source/Symbol/Type.cpp projects/building-blocks/contrib/llvm/tools/lldb/source/Symbol/TypeList.cpp projects/building-blocks/contrib/llvm/tools/lldb/source/Symbol/UnwindPlan.cpp projects/building-blocks/contrib/llvm/tools/lldb/source/Symbol/UnwindTable.cpp projects/building-blocks/contrib/llvm/tools/lldb/source/Symbol/Variable.cpp projects/building-blocks/contrib/llvm/tools/lldb/source/Target/ABI.cpp projects/building-blocks/contrib/llvm/tools/lldb/source/Target/LanguageRuntime.cpp projects/building-blocks/contrib/llvm/tools/lldb/source/Target/Memory.cpp projects/building-blocks/contrib/llvm/tools/lldb/source/Target/ObjCLanguageRuntime.cpp projects/building-blocks/contrib/llvm/tools/lldb/source/Target/PathMappingList.cpp projects/building-blocks/contrib/llvm/tools/lldb/source/Target/Platform.cpp projects/building-blocks/contrib/llvm/tools/lldb/source/Target/Process.cpp projects/building-blocks/contrib/llvm/tools/lldb/source/Target/Queue.cpp projects/building-blocks/contrib/llvm/tools/lldb/source/Target/QueueItem.cpp projects/building-blocks/contrib/llvm/tools/lldb/source/Target/RegisterContext.cpp projects/building-blocks/contrib/llvm/tools/lldb/source/Target/SectionLoadHistory.cpp projects/building-blocks/contrib/llvm/tools/lldb/source/Target/SectionLoadList.cpp projects/building-blocks/contrib/llvm/tools/lldb/source/Target/StackFrame.cpp projects/building-blocks/contrib/llvm/tools/lldb/source/Target/StackFrameList.cpp projects/building-blocks/contrib/llvm/tools/lldb/source/Target/StackID.cpp projects/building-blocks/contrib/llvm/tools/lldb/source/Target/StopInfo.cpp projects/building-blocks/contrib/llvm/tools/lldb/source/Target/Target.cpp projects/building-blocks/contrib/llvm/tools/lldb/source/Target/TargetList.cpp projects/building-blocks/contrib/llvm/tools/lldb/source/Target/Thread.cpp projects/building-blocks/contrib/llvm/tools/lldb/source/Target/ThreadList.cpp projects/building-blocks/contrib/llvm/tools/lldb/source/Target/ThreadPlan.cpp projects/building-blocks/contrib/llvm/tools/lldb/source/Target/ThreadPlanBase.cpp projects/building-blocks/contrib/llvm/tools/lldb/source/Target/ThreadPlanCallFunction.cpp projects/building-blocks/contrib/llvm/tools/lldb/source/Target/ThreadPlanCallUserExpression.cpp projects/building-blocks/contrib/llvm/tools/lldb/source/Target/ThreadPlanRunToAddress.cpp projects/building-blocks/contrib/llvm/tools/lldb/source/Target/ThreadPlanShouldStopHere.cpp projects/building-blocks/contrib/llvm/tools/lldb/source/Target/ThreadPlanStepInRange.cpp projects/building-blocks/contrib/llvm/tools/lldb/source/Target/ThreadPlanStepInstruction.cpp projects/building-blocks/contrib/llvm/tools/lldb/source/Target/ThreadPlanStepOut.cpp projects/building-blocks/contrib/llvm/tools/lldb/source/Target/ThreadPlanStepOverRange.cpp projects/building-blocks/contrib/llvm/tools/lldb/source/Target/ThreadPlanStepRange.cpp projects/building-blocks/contrib/llvm/tools/lldb/source/Target/ThreadPlanStepUntil.cpp projects/building-blocks/contrib/llvm/tools/lldb/source/Target/ThreadPlanTracer.cpp projects/building-blocks/contrib/llvm/tools/lldb/source/Utility/ARM_DWARF_Registers.cpp projects/building-blocks/contrib/llvm/tools/lldb/source/Utility/PseudoTerminal.cpp projects/building-blocks/contrib/llvm/tools/lldb/source/Utility/SharingPtr.cpp projects/building-blocks/contrib/llvm/tools/lldb/source/Utility/StringExtractor.cpp projects/building-blocks/contrib/llvm/tools/lldb/source/Utility/StringExtractor.h projects/building-blocks/contrib/llvm/tools/lldb/source/Utility/StringExtractorGDBRemote.cpp projects/building-blocks/contrib/llvm/tools/lldb/source/Utility/StringExtractorGDBRemote.h projects/building-blocks/contrib/llvm/tools/lldb/source/Utility/TimeSpecTimeout.h projects/building-blocks/contrib/llvm/tools/lldb/source/lldb-log.cpp projects/building-blocks/contrib/llvm/tools/lldb/source/lldb.cpp projects/building-blocks/contrib/llvm/tools/lldb/tools/driver/Driver.cpp projects/building-blocks/contrib/llvm/tools/lldb/tools/driver/Driver.h projects/building-blocks/contrib/llvm/tools/lldb/tools/driver/Platform.cpp projects/building-blocks/contrib/llvm/tools/lldb/tools/driver/Platform.h projects/building-blocks/contrib/llvm/tools/lldb/tools/lldb-platform/lldb-platform.cpp projects/building-blocks/contrib/llvm/tools/lli/ChildTarget/ChildTarget.cpp projects/building-blocks/contrib/llvm/tools/lli/RemoteMemoryManager.cpp projects/building-blocks/contrib/llvm/tools/lli/RemoteMemoryManager.h projects/building-blocks/contrib/llvm/tools/lli/RemoteTarget.cpp projects/building-blocks/contrib/llvm/tools/lli/RemoteTarget.h projects/building-blocks/contrib/llvm/tools/lli/RemoteTargetExternal.cpp projects/building-blocks/contrib/llvm/tools/lli/RemoteTargetExternal.h projects/building-blocks/contrib/llvm/tools/lli/RemoteTargetMessage.h projects/building-blocks/contrib/llvm/tools/lli/lli.cpp projects/building-blocks/contrib/llvm/tools/llvm-ar/llvm-ar.cpp projects/building-blocks/contrib/llvm/tools/llvm-as/llvm-as.cpp projects/building-blocks/contrib/llvm/tools/llvm-bcanalyzer/llvm-bcanalyzer.cpp projects/building-blocks/contrib/llvm/tools/llvm-diff/DiffConsumer.h projects/building-blocks/contrib/llvm/tools/llvm-diff/DiffLog.cpp projects/building-blocks/contrib/llvm/tools/llvm-diff/DifferenceEngine.cpp projects/building-blocks/contrib/llvm/tools/llvm-diff/DifferenceEngine.h projects/building-blocks/contrib/llvm/tools/llvm-dis/llvm-dis.cpp projects/building-blocks/contrib/llvm/tools/llvm-extract/llvm-extract.cpp projects/building-blocks/contrib/llvm/tools/llvm-link/llvm-link.cpp projects/building-blocks/contrib/llvm/tools/llvm-mc/Disassembler.cpp projects/building-blocks/contrib/llvm/tools/llvm-mc/llvm-mc.cpp projects/building-blocks/contrib/llvm/tools/llvm-nm/llvm-nm.cpp projects/building-blocks/contrib/llvm/tools/llvm-objdump/COFFDump.cpp projects/building-blocks/contrib/llvm/tools/llvm-objdump/MachODump.cpp projects/building-blocks/contrib/llvm/tools/llvm-objdump/llvm-objdump.cpp projects/building-blocks/contrib/llvm/tools/llvm-objdump/llvm-objdump.h projects/building-blocks/contrib/llvm/tools/llvm-readobj/COFFDumper.cpp projects/building-blocks/contrib/llvm/tools/llvm-readobj/ELFDumper.cpp projects/building-blocks/contrib/llvm/tools/llvm-readobj/Error.cpp projects/building-blocks/contrib/llvm/tools/llvm-readobj/Error.h projects/building-blocks/contrib/llvm/tools/llvm-readobj/MachODumper.cpp projects/building-blocks/contrib/llvm/tools/llvm-readobj/ObjDumper.cpp projects/building-blocks/contrib/llvm/tools/llvm-readobj/ObjDumper.h projects/building-blocks/contrib/llvm/tools/llvm-readobj/StreamWriter.h projects/building-blocks/contrib/llvm/tools/llvm-readobj/llvm-readobj.cpp projects/building-blocks/contrib/llvm/tools/llvm-readobj/llvm-readobj.h projects/building-blocks/contrib/llvm/tools/llvm-rtdyld/llvm-rtdyld.cpp projects/building-blocks/contrib/llvm/tools/llvm-stress/llvm-stress.cpp projects/building-blocks/contrib/llvm/tools/llvm-symbolizer/LLVMSymbolize.cpp projects/building-blocks/contrib/llvm/tools/llvm-symbolizer/LLVMSymbolize.h projects/building-blocks/contrib/llvm/tools/llvm-symbolizer/llvm-symbolizer.cpp projects/building-blocks/contrib/llvm/tools/macho-dump/macho-dump.cpp projects/building-blocks/contrib/llvm/tools/opt/AnalysisWrappers.cpp projects/building-blocks/contrib/llvm/tools/opt/GraphPrinters.cpp projects/building-blocks/contrib/llvm/tools/opt/PrintSCC.cpp projects/building-blocks/contrib/llvm/tools/opt/opt.cpp projects/building-blocks/contrib/llvm/utils/TableGen/AsmMatcherEmitter.cpp projects/building-blocks/contrib/llvm/utils/TableGen/AsmWriterEmitter.cpp projects/building-blocks/contrib/llvm/utils/TableGen/AsmWriterInst.cpp projects/building-blocks/contrib/llvm/utils/TableGen/AsmWriterInst.h projects/building-blocks/contrib/llvm/utils/TableGen/CTagsEmitter.cpp projects/building-blocks/contrib/llvm/utils/TableGen/CallingConvEmitter.cpp projects/building-blocks/contrib/llvm/utils/TableGen/CodeEmitterGen.cpp projects/building-blocks/contrib/llvm/utils/TableGen/CodeGenDAGPatterns.cpp projects/building-blocks/contrib/llvm/utils/TableGen/CodeGenDAGPatterns.h projects/building-blocks/contrib/llvm/utils/TableGen/CodeGenInstruction.cpp projects/building-blocks/contrib/llvm/utils/TableGen/CodeGenInstruction.h projects/building-blocks/contrib/llvm/utils/TableGen/CodeGenIntrinsics.h projects/building-blocks/contrib/llvm/utils/TableGen/CodeGenMapTable.cpp projects/building-blocks/contrib/llvm/utils/TableGen/CodeGenRegisters.cpp projects/building-blocks/contrib/llvm/utils/TableGen/CodeGenRegisters.h projects/building-blocks/contrib/llvm/utils/TableGen/CodeGenSchedule.cpp projects/building-blocks/contrib/llvm/utils/TableGen/CodeGenSchedule.h projects/building-blocks/contrib/llvm/utils/TableGen/CodeGenTarget.cpp projects/building-blocks/contrib/llvm/utils/TableGen/CodeGenTarget.h projects/building-blocks/contrib/llvm/utils/TableGen/DAGISelEmitter.cpp projects/building-blocks/contrib/llvm/utils/TableGen/DAGISelMatcher.cpp projects/building-blocks/contrib/llvm/utils/TableGen/DAGISelMatcher.h projects/building-blocks/contrib/llvm/utils/TableGen/DAGISelMatcherEmitter.cpp projects/building-blocks/contrib/llvm/utils/TableGen/DAGISelMatcherGen.cpp projects/building-blocks/contrib/llvm/utils/TableGen/DAGISelMatcherOpt.cpp projects/building-blocks/contrib/llvm/utils/TableGen/DFAPacketizerEmitter.cpp projects/building-blocks/contrib/llvm/utils/TableGen/DisassemblerEmitter.cpp projects/building-blocks/contrib/llvm/utils/TableGen/FastISelEmitter.cpp projects/building-blocks/contrib/llvm/utils/TableGen/FixedLenDecoderEmitter.cpp projects/building-blocks/contrib/llvm/utils/TableGen/InstrInfoEmitter.cpp projects/building-blocks/contrib/llvm/utils/TableGen/IntrinsicEmitter.cpp projects/building-blocks/contrib/llvm/utils/TableGen/OptParserEmitter.cpp projects/building-blocks/contrib/llvm/utils/TableGen/PseudoLoweringEmitter.cpp projects/building-blocks/contrib/llvm/utils/TableGen/RegisterInfoEmitter.cpp projects/building-blocks/contrib/llvm/utils/TableGen/SubtargetEmitter.cpp projects/building-blocks/contrib/llvm/utils/TableGen/TableGen.cpp projects/building-blocks/contrib/llvm/utils/TableGen/X86DisassemblerShared.h projects/building-blocks/contrib/llvm/utils/TableGen/X86DisassemblerTables.cpp projects/building-blocks/contrib/llvm/utils/TableGen/X86DisassemblerTables.h projects/building-blocks/contrib/llvm/utils/TableGen/X86ModRMFilters.cpp projects/building-blocks/contrib/llvm/utils/TableGen/X86ModRMFilters.h projects/building-blocks/contrib/llvm/utils/TableGen/X86RecognizableInstr.cpp projects/building-blocks/contrib/llvm/utils/TableGen/X86RecognizableInstr.h projects/building-blocks/contrib/mdocml/INSTALL projects/building-blocks/contrib/mdocml/LICENSE projects/building-blocks/contrib/mdocml/Makefile projects/building-blocks/contrib/mdocml/Makefile.depend projects/building-blocks/contrib/mdocml/NEWS projects/building-blocks/contrib/mdocml/TODO projects/building-blocks/contrib/mdocml/compat_fts.c projects/building-blocks/contrib/mdocml/compat_reallocarray.c projects/building-blocks/contrib/mdocml/compat_strcasestr.c projects/building-blocks/contrib/mdocml/compat_strsep.c projects/building-blocks/contrib/mdocml/config.h projects/building-blocks/contrib/mdocml/configure projects/building-blocks/contrib/mdocml/configure.local.example projects/building-blocks/contrib/mdocml/example.style.css projects/building-blocks/contrib/mdocml/html.c projects/building-blocks/contrib/mdocml/html.h projects/building-blocks/contrib/mdocml/libman.h projects/building-blocks/contrib/mdocml/libmandoc.h projects/building-blocks/contrib/mdocml/libmdoc.h projects/building-blocks/contrib/mdocml/libroff.h projects/building-blocks/contrib/mdocml/main.c projects/building-blocks/contrib/mdocml/main.h projects/building-blocks/contrib/mdocml/man.h projects/building-blocks/contrib/mdocml/man_hash.c projects/building-blocks/contrib/mdocml/man_html.c projects/building-blocks/contrib/mdocml/man_term.c projects/building-blocks/contrib/mdocml/mandoc.1 projects/building-blocks/contrib/mdocml/mandoc.h projects/building-blocks/contrib/mdocml/mandoc_aux.h projects/building-blocks/contrib/mdocml/mandocdb.c projects/building-blocks/contrib/mdocml/manpath.h projects/building-blocks/contrib/mdocml/mansearch.3 projects/building-blocks/contrib/mdocml/mansearch.c projects/building-blocks/contrib/mdocml/mansearch.h projects/building-blocks/contrib/mdocml/mansearch_const.c projects/building-blocks/contrib/mdocml/mdoc.7 projects/building-blocks/contrib/mdocml/mdoc.h projects/building-blocks/contrib/mdocml/mdoc_html.c projects/building-blocks/contrib/mdocml/mdoc_macro.c projects/building-blocks/contrib/mdocml/mdoc_man.c projects/building-blocks/contrib/mdocml/mdoc_term.c projects/building-blocks/contrib/mdocml/mdoc_validate.c projects/building-blocks/contrib/mdocml/msec.c projects/building-blocks/contrib/mdocml/out.c projects/building-blocks/contrib/mdocml/out.h projects/building-blocks/contrib/mdocml/read.c projects/building-blocks/contrib/mdocml/roff.7 projects/building-blocks/contrib/mdocml/st.in projects/building-blocks/contrib/mdocml/term.c projects/building-blocks/contrib/mdocml/term.h projects/building-blocks/contrib/mdocml/term_ps.c projects/building-blocks/contrib/netbsd-tests/lib/libc/c063/t_faccessat.c projects/building-blocks/contrib/netbsd-tests/lib/libc/c063/t_fchmodat.c projects/building-blocks/contrib/netbsd-tests/lib/libc/c063/t_fchownat.c projects/building-blocks/contrib/netbsd-tests/lib/libc/c063/t_fstatat.c projects/building-blocks/contrib/netbsd-tests/lib/libc/ssp/t_ssp.sh projects/building-blocks/contrib/netbsd-tests/lib/libc/stdlib/t_hsearch.c projects/building-blocks/contrib/netbsd-tests/lib/libc/sys/t_access.c projects/building-blocks/contrib/netbsd-tests/lib/libm/t_scalbn.c projects/building-blocks/contrib/ntp/ntpd/ntp_config.c projects/building-blocks/contrib/ntp/ntpd/ntp_control.c projects/building-blocks/contrib/ntp/ntpd/ntp_crypto.c projects/building-blocks/contrib/ntp/ntpd/ntp_proto.c projects/building-blocks/contrib/ntp/util/ntp-keygen.c projects/building-blocks/etc/hosts.allow projects/building-blocks/etc/mtree/BSD.include.dist projects/building-blocks/etc/services projects/building-blocks/gnu/lib/libregex/Makefile projects/building-blocks/gnu/lib/libssp/Makefile projects/building-blocks/gnu/usr.bin/Makefile projects/building-blocks/gnu/usr.bin/binutils/Makefile projects/building-blocks/gnu/usr.bin/cc/Makefile projects/building-blocks/gnu/usr.bin/diff/Makefile projects/building-blocks/gnu/usr.bin/gdb/Makefile projects/building-blocks/gnu/usr.bin/gdb/Makefile.inc projects/building-blocks/gnu/usr.bin/gdb/kgdb/trgt_arm.c projects/building-blocks/gnu/usr.bin/gperf/Makefile projects/building-blocks/gnu/usr.bin/grep/Makefile projects/building-blocks/gnu/usr.bin/groff/Makefile projects/building-blocks/include/Makefile projects/building-blocks/kerberos5/Makefile projects/building-blocks/lib/Makefile projects/building-blocks/lib/clang/Makefile projects/building-blocks/lib/clang/clang.build.mk projects/building-blocks/lib/clang/include/Makefile projects/building-blocks/lib/clang/include/clang/Basic/Version.inc projects/building-blocks/lib/clang/include/clang/Config/config.h projects/building-blocks/lib/clang/include/llvm/Config/Disassemblers.def projects/building-blocks/lib/clang/include/llvm/Config/config.h projects/building-blocks/lib/clang/include/llvm/Config/llvm-config.h projects/building-blocks/lib/clang/libclanganalysis/Makefile projects/building-blocks/lib/clang/libclangarcmigrate/Makefile projects/building-blocks/lib/clang/libclangast/Makefile projects/building-blocks/lib/clang/libclangbasic/Makefile projects/building-blocks/lib/clang/libclangcodegen/Makefile projects/building-blocks/lib/clang/libclangdriver/Makefile projects/building-blocks/lib/clang/libclangfrontend/Makefile projects/building-blocks/lib/clang/libclanglex/Makefile projects/building-blocks/lib/clang/libclangparse/Makefile projects/building-blocks/lib/clang/libclangrewritefrontend/Makefile projects/building-blocks/lib/clang/libclangsema/Makefile projects/building-blocks/lib/clang/libclangstaticanalyzercheckers/Makefile projects/building-blocks/lib/clang/libclangstaticanalyzerfrontend/Makefile projects/building-blocks/lib/clang/liblldb/Makefile projects/building-blocks/lib/clang/liblldbAPI/Makefile projects/building-blocks/lib/clang/liblldbBreakpoint/Makefile projects/building-blocks/lib/clang/liblldbCommands/Makefile projects/building-blocks/lib/clang/liblldbCore/Makefile projects/building-blocks/lib/clang/liblldbDataFormatters/Makefile projects/building-blocks/lib/clang/liblldbHostCommon/Makefile projects/building-blocks/lib/clang/liblldbHostFreeBSD/Makefile projects/building-blocks/lib/clang/liblldbInterpreter/Makefile projects/building-blocks/lib/clang/liblldbPluginPlatformFreeBSD/Makefile projects/building-blocks/lib/clang/liblldbPluginPlatformGDB/Makefile projects/building-blocks/lib/clang/liblldbPluginProcessGDBRemote/Makefile projects/building-blocks/lib/clang/liblldbPluginProcessPOSIX/Makefile projects/building-blocks/lib/clang/liblldbPluginProcessUtility/Makefile projects/building-blocks/lib/clang/liblldbPluginSymbolFileDWARF/Makefile projects/building-blocks/lib/clang/liblldbTarget/Makefile projects/building-blocks/lib/clang/liblldbUtility/Makefile projects/building-blocks/lib/clang/libllvmanalysis/Makefile projects/building-blocks/lib/clang/libllvmarmcodegen/Makefile projects/building-blocks/lib/clang/libllvmarmdesc/Makefile projects/building-blocks/lib/clang/libllvmasmprinter/Makefile projects/building-blocks/lib/clang/libllvmcodegen/Makefile projects/building-blocks/lib/clang/libllvmcore/Makefile projects/building-blocks/lib/clang/libllvmmc/Makefile projects/building-blocks/lib/clang/libllvmmipscodegen/Makefile projects/building-blocks/lib/clang/libllvmmipsdesc/Makefile projects/building-blocks/lib/clang/libllvmobject/Makefile projects/building-blocks/lib/clang/libllvmruntimedyld/Makefile projects/building-blocks/lib/clang/libllvmscalaropts/Makefile projects/building-blocks/lib/clang/libllvmsupport/Makefile projects/building-blocks/lib/clang/libllvmtablegen/Makefile projects/building-blocks/lib/clang/libllvmtarget/Makefile projects/building-blocks/lib/clang/libllvmtransformutils/Makefile projects/building-blocks/lib/clang/libllvmx86asmparser/Makefile projects/building-blocks/lib/clang/libllvmx86codegen/Makefile projects/building-blocks/lib/clang/libllvmx86desc/Makefile projects/building-blocks/lib/clang/libllvmx86disassembler/Makefile projects/building-blocks/lib/libbsnmp/libbsnmp/Makefile projects/building-blocks/lib/libc/gen/cap_rights_get.3 projects/building-blocks/lib/libc/gen/ftok.3 projects/building-blocks/lib/libc/gen/ftw.3 projects/building-blocks/lib/libc/gen/getcap.3 projects/building-blocks/lib/libc/gen/posix_spawn.3 projects/building-blocks/lib/libc/gen/scandir.3 projects/building-blocks/lib/libc/iconv/iconvlist.3 projects/building-blocks/lib/libc/locale/digittoint.3 projects/building-blocks/lib/libc/locale/xlocale.3 projects/building-blocks/lib/libc/net/getaddrinfo.3 projects/building-blocks/lib/libc/net/sctp_recvmsg.3 projects/building-blocks/lib/libc/net/sctp_send.3 projects/building-blocks/lib/libc/posix1e/acl_set_flagset_np.3 projects/building-blocks/lib/libc/regex/re_format.7 projects/building-blocks/lib/libc/regex/regcomp.c projects/building-blocks/lib/libc/rpc/rpc.3 projects/building-blocks/lib/libc/rpc/rpc_svc_reg.3 projects/building-blocks/lib/libc/stdlib/atexit.3 projects/building-blocks/lib/libc/stdlib/exit.3 projects/building-blocks/lib/libc/string/strspn.3 projects/building-blocks/lib/libc/sys/access.2 projects/building-blocks/lib/libc/sys/getdirentries.2 projects/building-blocks/lib/libc/sys/getrlimit.2 projects/building-blocks/lib/libc/sys/poll.2 projects/building-blocks/lib/libc/sys/posix_openpt.2 projects/building-blocks/lib/libc/sys/procctl.2 projects/building-blocks/lib/libc/sys/revoke.2 projects/building-blocks/lib/libc/sys/sched_setscheduler.2 projects/building-blocks/lib/libc/sys/sigwaitinfo.2 projects/building-blocks/lib/libc/sys/vfork.2 projects/building-blocks/lib/libc/tests/c063/Makefile projects/building-blocks/lib/libc/tests/hash/Makefile projects/building-blocks/lib/libc/tests/ssp/Makefile projects/building-blocks/lib/libcom_err/Makefile projects/building-blocks/lib/libdpv/dpv.3 projects/building-blocks/lib/libdwarf/Makefile projects/building-blocks/lib/libelftc/elftc_version.c projects/building-blocks/lib/libgssapi/gss_acquire_cred.3 projects/building-blocks/lib/libgssapi/gss_add_cred.3 projects/building-blocks/lib/libgssapi/gss_add_oid_set_member.3 projects/building-blocks/lib/libgssapi/gss_create_empty_oid_set.3 projects/building-blocks/lib/libgssapi/gss_delete_sec_context.3 projects/building-blocks/lib/libgssapi/gss_get_mic.3 projects/building-blocks/lib/libgssapi/gss_import_sec_context.3 projects/building-blocks/lib/libgssapi/gss_inquire_context.3 projects/building-blocks/lib/libgssapi/gss_process_context_token.3 projects/building-blocks/lib/libgssapi/gss_test_oid_set_member.3 projects/building-blocks/lib/libgssapi/gss_unwrap.3 projects/building-blocks/lib/libgssapi/gss_wrap.3 projects/building-blocks/lib/libmagic/config.h projects/building-blocks/lib/libmandoc/Makefile projects/building-blocks/lib/libpam/modules/pam_guest/pam_guest.8 projects/building-blocks/lib/libproc/proc_sym.c projects/building-blocks/lib/librpcsec_gss/rpc_gss_get_error.3 projects/building-blocks/lib/librpcsec_gss/rpc_gss_get_mech_info.3 projects/building-blocks/lib/librpcsec_gss/rpc_gss_get_mechanisms.3 projects/building-blocks/lib/librpcsec_gss/rpc_gss_get_principal_name.3 projects/building-blocks/lib/librpcsec_gss/rpc_gss_get_versions.3 projects/building-blocks/lib/librpcsec_gss/rpc_gss_getcred.3 projects/building-blocks/lib/librpcsec_gss/rpc_gss_is_installed.3 projects/building-blocks/lib/librpcsec_gss/rpc_gss_max_data_length.3 projects/building-blocks/lib/librpcsec_gss/rpc_gss_mech_to_oid.3 projects/building-blocks/lib/librpcsec_gss/rpc_gss_oid_to_mech.3 projects/building-blocks/lib/librpcsec_gss/rpc_gss_qop_to_num.3 projects/building-blocks/lib/librpcsec_gss/rpc_gss_seccreate.3 projects/building-blocks/lib/librpcsec_gss/rpc_gss_set_callback.3 projects/building-blocks/lib/librpcsec_gss/rpc_gss_set_defaults.3 projects/building-blocks/lib/librpcsec_gss/rpc_gss_set_svc_name.3 projects/building-blocks/lib/librpcsec_gss/rpc_gss_svc_max_data_length.3 projects/building-blocks/lib/librpcsec_gss/rpcsec_gss.3 projects/building-blocks/lib/librtld_db/librtld_db.3 projects/building-blocks/lib/libstand/cd9660.c projects/building-blocks/lib/libstand/ext2fs.c projects/building-blocks/lib/libstand/nandfs.c projects/building-blocks/lib/libstand/nfs.c projects/building-blocks/lib/libstand/read.c projects/building-blocks/lib/libstand/stand.h projects/building-blocks/lib/libstand/tftp.c projects/building-blocks/lib/libstand/twiddle.c projects/building-blocks/lib/libstand/ufs.c projects/building-blocks/lib/libstand/write.c projects/building-blocks/lib/libusb/libusb20.3 projects/building-blocks/lib/libutil/quotafile.3 projects/building-blocks/lib/libvmmapi/vmmapi.c projects/building-blocks/lib/libvmmapi/vmmapi.h projects/building-blocks/lib/libxo/Makefile projects/building-blocks/lib/msun/man/cexp.3 projects/building-blocks/lib/msun/man/complex.3 projects/building-blocks/lib/msun/man/csqrt.3 projects/building-blocks/lib/msun/man/lgamma.3 projects/building-blocks/lib/msun/man/sin.3 projects/building-blocks/lib/msun/src/math_private.h projects/building-blocks/lib/ncurses/Makefile projects/building-blocks/libexec/rtld-elf/powerpc/reloc.c projects/building-blocks/release/Makefile projects/building-blocks/release/arm/release.sh projects/building-blocks/release/doc/en_US.ISO8859-1/hardware/article.xml projects/building-blocks/release/doc/en_US.ISO8859-1/readme/article.xml projects/building-blocks/release/doc/en_US.ISO8859-1/relnotes/article.xml projects/building-blocks/sbin/bsdlabel/bsdlabel.8 projects/building-blocks/sbin/camcontrol/camcontrol.8 projects/building-blocks/sbin/dhclient/dhclient.conf.5 projects/building-blocks/sbin/dhclient/dhclient.leases.5 projects/building-blocks/sbin/geom/class/label/glabel.8 projects/building-blocks/sbin/ifconfig/ifconfig.8 projects/building-blocks/sbin/ipfw/ipfw.8 projects/building-blocks/sbin/iscontrol/iscontrol.8 projects/building-blocks/sbin/mount/mount.8 projects/building-blocks/sbin/mount_fusefs/mount_fusefs.8 projects/building-blocks/sbin/mount_nfs/mount_nfs.8 projects/building-blocks/sbin/newfs/newfs.8 projects/building-blocks/sbin/routed/routed.8 projects/building-blocks/share/man/man3/ATOMIC_VAR_INIT.3 projects/building-blocks/share/man/man3/makedev.3 projects/building-blocks/share/man/man3/pthread.3 projects/building-blocks/share/man/man3/pthread_attr.3 projects/building-blocks/share/man/man3/pthread_cond_init.3 projects/building-blocks/share/man/man3/pthread_mutex_init.3 projects/building-blocks/share/man/man3/pthread_mutexattr_getkind_np.3 projects/building-blocks/share/man/man3/pthread_rwlock_init.3 projects/building-blocks/share/man/man3/pthread_rwlockattr_getpshared.3 projects/building-blocks/share/man/man3/pthread_rwlockattr_init.3 projects/building-blocks/share/man/man3/pthread_rwlockattr_setpshared.3 projects/building-blocks/share/man/man4/Makefile projects/building-blocks/share/man/man4/ada.4 projects/building-blocks/share/man/man4/altera_atse.4 projects/building-blocks/share/man/man4/aout.4 projects/building-blocks/share/man/man4/ata.4 projects/building-blocks/share/man/man4/ath_ahb.4 projects/building-blocks/share/man/man4/ath_pci.4 projects/building-blocks/share/man/man4/audit.4 projects/building-blocks/share/man/man4/bhyve.4 (contents, props changed) projects/building-blocks/share/man/man4/carp.4 projects/building-blocks/share/man/man4/ch.4 projects/building-blocks/share/man/man4/crypto.4 projects/building-blocks/share/man/man4/ehci.4 projects/building-blocks/share/man/man4/geom.4 projects/building-blocks/share/man/man4/gpioled.4 projects/building-blocks/share/man/man4/hv_ata_pci_disengage.4 projects/building-blocks/share/man/man4/hv_kvp.4 projects/building-blocks/share/man/man4/hv_netvsc.4 projects/building-blocks/share/man/man4/hv_storvsc.4 projects/building-blocks/share/man/man4/hv_utils.4 projects/building-blocks/share/man/man4/hv_vmbus.4 projects/building-blocks/share/man/man4/igmp.4 projects/building-blocks/share/man/man4/iicbus.4 projects/building-blocks/share/man/man4/ip.4 projects/building-blocks/share/man/man4/ip6.4 projects/building-blocks/share/man/man4/ipheth.4 projects/building-blocks/share/man/man4/ips.4 projects/building-blocks/share/man/man4/iscsi_initiator.4 projects/building-blocks/share/man/man4/isp.4 projects/building-blocks/share/man/man4/ispfw.4 projects/building-blocks/share/man/man4/iwi.4 projects/building-blocks/share/man/man4/lagg.4 projects/building-blocks/share/man/man4/man4.i386/glxsb.4 projects/building-blocks/share/man/man4/man4.powerpc/smu.4 projects/building-blocks/share/man/man4/man4.powerpc/snd_ai2s.4 projects/building-blocks/share/man/man4/man4.powerpc/snd_davbus.4 projects/building-blocks/share/man/man4/mmc.4 projects/building-blocks/share/man/man4/mmcsd.4 projects/building-blocks/share/man/man4/mod_cc.4 projects/building-blocks/share/man/man4/mpr.4 projects/building-blocks/share/man/man4/mpt.4 projects/building-blocks/share/man/man4/mrsas.4 projects/building-blocks/share/man/man4/multicast.4 projects/building-blocks/share/man/man4/net80211.4 projects/building-blocks/share/man/man4/netmap.4 projects/building-blocks/share/man/man4/nfe.4 projects/building-blocks/share/man/man4/ng_ether_echo.4 projects/building-blocks/share/man/man4/ng_netflow.4 projects/building-blocks/share/man/man4/nvram2env.4 projects/building-blocks/share/man/man4/ohci.4 projects/building-blocks/share/man/man4/pass.4 projects/building-blocks/share/man/man4/pccbb.4 projects/building-blocks/share/man/man4/pflog.4 projects/building-blocks/share/man/man4/pfsync.4 projects/building-blocks/share/man/man4/pts.4 projects/building-blocks/share/man/man4/ral.4 projects/building-blocks/share/man/man4/rsu.4 projects/building-blocks/share/man/man4/rum.4 projects/building-blocks/share/man/man4/run.4 projects/building-blocks/share/man/man4/sa.4 projects/building-blocks/share/man/man4/send.4 projects/building-blocks/share/man/man4/sfxge.4 projects/building-blocks/share/man/man4/snd_hda.4 projects/building-blocks/share/man/man4/snd_ich.4 projects/building-blocks/share/man/man4/tap.4 projects/building-blocks/share/man/man4/tcp.4 projects/building-blocks/share/man/man4/tun.4 projects/building-blocks/share/man/man4/uhci.4 projects/building-blocks/share/man/man4/umass.4 projects/building-blocks/share/man/man4/ural.4 projects/building-blocks/share/man/man4/usfs.4 projects/building-blocks/share/man/man4/virtio_console.4 projects/building-blocks/share/man/man4/virtio_random.4 projects/building-blocks/share/man/man4/vxlan.4 projects/building-blocks/share/man/man4/wpi.4 projects/building-blocks/share/man/man4/wsp.4 projects/building-blocks/share/man/man5/periodic.conf.5 projects/building-blocks/share/man/man5/pf.conf.5 projects/building-blocks/share/man/man5/pf.os.5 projects/building-blocks/share/man/man5/rc.conf.5 projects/building-blocks/share/man/man5/services.5 projects/building-blocks/share/man/man5/src.conf.5 projects/building-blocks/share/man/man7/build.7 projects/building-blocks/share/man/man7/c99.7 projects/building-blocks/share/man/man7/crypto.7 projects/building-blocks/share/man/man7/environ.7 projects/building-blocks/share/man/man7/hier.7 projects/building-blocks/share/man/man7/tuning.7 projects/building-blocks/share/man/man8/rc.8 projects/building-blocks/share/man/man9/BUF_ISLOCKED.9 projects/building-blocks/share/man/man9/BUS_BIND_INTR.9 projects/building-blocks/share/man/man9/BUS_DESCRIBE_INTR.9 projects/building-blocks/share/man/man9/DB_COMMAND.9 projects/building-blocks/share/man/man9/EVENTHANDLER.9 projects/building-blocks/share/man/man9/Makefile projects/building-blocks/share/man/man9/VFS.9 projects/building-blocks/share/man/man9/VFS_CHECKEXP.9 projects/building-blocks/share/man/man9/VFS_FHTOVP.9 projects/building-blocks/share/man/man9/VFS_SET.9 projects/building-blocks/share/man/man9/VOP_LOCK.9 projects/building-blocks/share/man/man9/VOP_VPTOCNP.9 projects/building-blocks/share/man/man9/accf_data.9 projects/building-blocks/share/man/man9/accf_dns.9 projects/building-blocks/share/man/man9/acl.9 projects/building-blocks/share/man/man9/alq.9 projects/building-blocks/share/man/man9/devfs_set_cdevpriv.9 projects/building-blocks/share/man/man9/eventtimers.9 projects/building-blocks/share/man/man9/ieee80211_crypto.9 projects/building-blocks/share/man/man9/ifnet.9 projects/building-blocks/share/man/man9/kqueue.9 projects/building-blocks/share/man/man9/lock.9 projects/building-blocks/share/man/man9/locking.9 projects/building-blocks/share/man/man9/mbuf.9 projects/building-blocks/share/man/man9/mod_cc.9 projects/building-blocks/share/man/man9/refcount.9 projects/building-blocks/share/man/man9/usbdi.9 projects/building-blocks/share/man/man9/vm_page_busy.9 projects/building-blocks/share/man/man9/vnet.9 projects/building-blocks/share/man/man9/vnode.9 projects/building-blocks/share/man/man9/zone.9 projects/building-blocks/share/misc/committers-ports.dot projects/building-blocks/share/mk/bsd.info.mk projects/building-blocks/share/mk/bsd.kmod.mk projects/building-blocks/share/mk/bsd.lib.mk projects/building-blocks/share/mk/bsd.man.mk projects/building-blocks/share/mk/bsd.opts.mk projects/building-blocks/share/mk/bsd.progs.mk projects/building-blocks/share/mk/bsd.sys.mk projects/building-blocks/share/mk/src.libnames.mk projects/building-blocks/share/mk/src.opts.mk projects/building-blocks/sys/amd64/amd64/mem.c projects/building-blocks/sys/amd64/amd64/trap.c projects/building-blocks/sys/amd64/conf/GENERIC projects/building-blocks/sys/amd64/conf/NOTES projects/building-blocks/sys/amd64/ia32/ia32_sigtramp.S projects/building-blocks/sys/amd64/ia32/ia32_syscall.c projects/building-blocks/sys/amd64/include/vmm.h (contents, props changed) projects/building-blocks/sys/amd64/include/vmm_dev.h (contents, props changed) projects/building-blocks/sys/amd64/include/vmparam.h projects/building-blocks/sys/amd64/linux32/linux32_proto.h projects/building-blocks/sys/amd64/linux32/linux32_syscall.h projects/building-blocks/sys/amd64/linux32/linux32_syscalls.c projects/building-blocks/sys/amd64/linux32/linux32_sysent.c projects/building-blocks/sys/amd64/linux32/linux32_systrace_args.c projects/building-blocks/sys/amd64/linux32/syscalls.master projects/building-blocks/sys/amd64/vmm/amd/svm.c (contents, props changed) projects/building-blocks/sys/amd64/vmm/amd/vmcb.h (contents, props changed) projects/building-blocks/sys/amd64/vmm/intel/vmcs.c projects/building-blocks/sys/amd64/vmm/intel/vmcs.h projects/building-blocks/sys/amd64/vmm/intel/vmx.c projects/building-blocks/sys/amd64/vmm/intel/vmx_msr.c projects/building-blocks/sys/amd64/vmm/io/vatpic.c projects/building-blocks/sys/amd64/vmm/io/vhpet.c projects/building-blocks/sys/amd64/vmm/vmm.c projects/building-blocks/sys/amd64/vmm/vmm_dev.c projects/building-blocks/sys/amd64/vmm/vmm_ioport.c projects/building-blocks/sys/arm/allwinner/a20/std.a20 projects/building-blocks/sys/arm/allwinner/std.a10 projects/building-blocks/sys/arm/altera/socfpga/files.socfpga projects/building-blocks/sys/arm/altera/socfpga/std.socfpga projects/building-blocks/sys/arm/arm/db_trace.c projects/building-blocks/sys/arm/arm/dump_machdep.c projects/building-blocks/sys/arm/arm/exception.S projects/building-blocks/sys/arm/arm/gdb_machdep.c projects/building-blocks/sys/arm/arm/genassym.c projects/building-blocks/sys/arm/arm/gic.c projects/building-blocks/sys/arm/arm/identcpu.c projects/building-blocks/sys/arm/arm/intr.c projects/building-blocks/sys/arm/arm/machdep.c projects/building-blocks/sys/arm/arm/mp_machdep.c projects/building-blocks/sys/arm/arm/nexus.c projects/building-blocks/sys/arm/arm/stack_machdep.c projects/building-blocks/sys/arm/arm/swtch.S projects/building-blocks/sys/arm/arm/trap.c projects/building-blocks/sys/arm/arm/vfp.c projects/building-blocks/sys/arm/arm/vm_machdep.c projects/building-blocks/sys/arm/at91/at91_machdep.c projects/building-blocks/sys/arm/broadcom/bcm2835/bcm2835_bsc.c projects/building-blocks/sys/arm/broadcom/bcm2835/bcm2835_bscvar.h projects/building-blocks/sys/arm/broadcom/bcm2835/bcm2835_intr.c projects/building-blocks/sys/arm/broadcom/bcm2835/bcm2835_mbox.c projects/building-blocks/sys/arm/broadcom/bcm2835/bcm2835_mbox.h projects/building-blocks/sys/arm/broadcom/bcm2835/files.bcm2835 projects/building-blocks/sys/arm/broadcom/bcm2835/std.bcm2835 projects/building-blocks/sys/arm/conf/APALIS-IMX6 projects/building-blocks/sys/arm/conf/ARMADAXP projects/building-blocks/sys/arm/conf/BEAGLEBONE projects/building-blocks/sys/arm/conf/CHROMEBOOK-PEACH-PIT projects/building-blocks/sys/arm/conf/CNS11XXNAS projects/building-blocks/sys/arm/conf/CUBIEBOARD projects/building-blocks/sys/arm/conf/CUBIEBOARD2 projects/building-blocks/sys/arm/conf/DIGI-CCWMX53 projects/building-blocks/sys/arm/conf/DOCKSTAR projects/building-blocks/sys/arm/conf/DREAMPLUG-1001 projects/building-blocks/sys/arm/conf/EA3250 projects/building-blocks/sys/arm/conf/EFIKA_MX projects/building-blocks/sys/arm/conf/EXYNOS5.common projects/building-blocks/sys/arm/conf/HL201 projects/building-blocks/sys/arm/conf/IMX53 projects/building-blocks/sys/arm/conf/IMX53-QSB projects/building-blocks/sys/arm/conf/IMX6 projects/building-blocks/sys/arm/conf/PANDABOARD projects/building-blocks/sys/arm/conf/RK3188 projects/building-blocks/sys/arm/conf/RPI-B projects/building-blocks/sys/arm/conf/SAM9260EK projects/building-blocks/sys/arm/conf/SOCKIT projects/building-blocks/sys/arm/conf/SOCKIT-BERI projects/building-blocks/sys/arm/conf/VERSATILEPB projects/building-blocks/sys/arm/conf/VYBRID projects/building-blocks/sys/arm/conf/WANDBOARD-DUAL projects/building-blocks/sys/arm/conf/WANDBOARD-QUAD projects/building-blocks/sys/arm/conf/WANDBOARD-SOLO projects/building-blocks/sys/arm/conf/ZEDBOARD projects/building-blocks/sys/arm/freescale/imx/imx51_machdep.c projects/building-blocks/sys/arm/freescale/imx/imx53_machdep.c projects/building-blocks/sys/arm/freescale/imx/imx6_machdep.c projects/building-blocks/sys/arm/freescale/imx/std.imx51 projects/building-blocks/sys/arm/freescale/imx/std.imx53 projects/building-blocks/sys/arm/freescale/imx/std.imx6 projects/building-blocks/sys/arm/freescale/vybrid/std.vybrid projects/building-blocks/sys/arm/include/asm.h projects/building-blocks/sys/arm/include/cpuconf.h projects/building-blocks/sys/arm/include/cpufunc.h projects/building-blocks/sys/arm/include/db_machdep.h projects/building-blocks/sys/arm/include/elf.h projects/building-blocks/sys/arm/include/frame.h projects/building-blocks/sys/arm/include/intr.h projects/building-blocks/sys/arm/include/machdep.h projects/building-blocks/sys/arm/include/pcb.h projects/building-blocks/sys/arm/include/smp.h projects/building-blocks/sys/arm/include/sysreg.h projects/building-blocks/sys/arm/lpc/lpc_intc.c projects/building-blocks/sys/arm/mv/mpic.c projects/building-blocks/sys/arm/mv/std-pj4b.mv projects/building-blocks/sys/arm/rockchip/std.rk30xx projects/building-blocks/sys/arm/samsung/exynos/std.exynos5250 projects/building-blocks/sys/arm/samsung/exynos/std.exynos5420 projects/building-blocks/sys/arm/ti/aintc.c projects/building-blocks/sys/arm/ti/am335x/am335x_usbss.c projects/building-blocks/sys/arm/ti/std.ti projects/building-blocks/sys/arm/ti/ti_gpio.c projects/building-blocks/sys/arm/ti/ti_gpio.h projects/building-blocks/sys/arm/ti/ti_i2c.c projects/building-blocks/sys/arm/ti/ti_sdhci.c projects/building-blocks/sys/arm/ti/ti_wdt.c projects/building-blocks/sys/arm/xilinx/std.zynq7 projects/building-blocks/sys/boot/amd64/boot1.efi/Makefile projects/building-blocks/sys/boot/amd64/boot1.efi/generate-fat.sh projects/building-blocks/sys/boot/amd64/efi/Makefile projects/building-blocks/sys/boot/arm/uboot/Makefile projects/building-blocks/sys/boot/common/console.c projects/building-blocks/sys/boot/common/loader.8 projects/building-blocks/sys/boot/fdt/dts/arm/am335x.dtsi projects/building-blocks/sys/boot/fdt/dts/arm/rpi.dts projects/building-blocks/sys/boot/fdt/dts/arm/socfpga.dtsi projects/building-blocks/sys/boot/forth/brand.4th.8 projects/building-blocks/sys/boot/forth/delay.4th.8 projects/building-blocks/sys/boot/forth/loader.conf projects/building-blocks/sys/boot/forth/menu.4th.8 projects/building-blocks/sys/boot/forth/menusets.4th.8 projects/building-blocks/sys/boot/forth/version.4th.8 projects/building-blocks/sys/boot/i386/boot2/Makefile projects/building-blocks/sys/boot/i386/libi386/spinconsole.c projects/building-blocks/sys/boot/pc98/boot2/Makefile projects/building-blocks/sys/boot/powerpc/boot1.chrp/Makefile projects/building-blocks/sys/boot/powerpc/ofw/Makefile projects/building-blocks/sys/boot/powerpc/ps3/Makefile projects/building-blocks/sys/boot/powerpc/uboot/Makefile projects/building-blocks/sys/boot/uboot/common/main.c projects/building-blocks/sys/cam/ctl/ctl.c projects/building-blocks/sys/cam/ctl/ctl.h projects/building-blocks/sys/cam/ctl/ctl_backend.c projects/building-blocks/sys/cam/ctl/ctl_backend.h projects/building-blocks/sys/cam/ctl/ctl_backend_block.c projects/building-blocks/sys/cam/ctl/ctl_backend_ramdisk.c projects/building-blocks/sys/cam/ctl/ctl_frontend.c projects/building-blocks/sys/cam/ctl/ctl_frontend_cam_sim.c projects/building-blocks/sys/cam/ctl/ctl_frontend_internal.c projects/building-blocks/sys/cam/ctl/ctl_tpc.c projects/building-blocks/sys/cam/ctl/ctl_tpc.h projects/building-blocks/sys/cam/ctl/ctl_tpc_local.c projects/building-blocks/sys/cam/ctl/scsi_ctl.c projects/building-blocks/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dnode.c projects/building-blocks/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/spa_config.c projects/building-blocks/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/zvol.h projects/building-blocks/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev.c projects/building-blocks/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_ioctl.c projects/building-blocks/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vnops.c projects/building-blocks/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zio.c projects/building-blocks/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zvol.c projects/building-blocks/sys/cddl/dev/dtrace/amd64/dtrace_subr.c projects/building-blocks/sys/cddl/dev/dtrace/i386/dtrace_subr.c projects/building-blocks/sys/cddl/dev/dtrace/mips/dtrace_subr.c projects/building-blocks/sys/cddl/dev/dtrace/powerpc/dtrace_subr.c projects/building-blocks/sys/compat/linux/linux_futex.c projects/building-blocks/sys/compat/linux/linux_getcwd.c projects/building-blocks/sys/compat/linux/linux_socket.c projects/building-blocks/sys/conf/Makefile.amd64 projects/building-blocks/sys/conf/Makefile.arm projects/building-blocks/sys/conf/Makefile.i386 projects/building-blocks/sys/conf/Makefile.pc98 projects/building-blocks/sys/conf/NOTES projects/building-blocks/sys/conf/WITHOUT_SOURCELESS_UCODE projects/building-blocks/sys/conf/files projects/building-blocks/sys/conf/files.arm projects/building-blocks/sys/conf/kern.mk projects/building-blocks/sys/conf/kern.pre.mk projects/building-blocks/sys/conf/kmod.mk projects/building-blocks/sys/conf/newvers.sh projects/building-blocks/sys/conf/options projects/building-blocks/sys/conf/options.arm projects/building-blocks/sys/conf/options.i386 projects/building-blocks/sys/dev/ahci/ahci.c projects/building-blocks/sys/dev/ahci/ahci.h projects/building-blocks/sys/dev/ahci/ahci_pci.c projects/building-blocks/sys/dev/ahci/ahciem.c projects/building-blocks/sys/dev/ath/if_ath_sysctl.c projects/building-blocks/sys/dev/bce/if_bcefw.h projects/building-blocks/sys/dev/beri/virtio/network/if_vtbe.c projects/building-blocks/sys/dev/beri/virtio/virtio.c projects/building-blocks/sys/dev/beri/virtio/virtio_block.c projects/building-blocks/sys/dev/bge/if_bge.c projects/building-blocks/sys/dev/cpuctl/cpuctl.c projects/building-blocks/sys/dev/cxgb/ulp/tom/cxgb_listen.c projects/building-blocks/sys/dev/cxgbe/adapter.h projects/building-blocks/sys/dev/cxgbe/t4_l2t.c projects/building-blocks/sys/dev/cxgbe/t4_main.c projects/building-blocks/sys/dev/cxgbe/t4_sge.c projects/building-blocks/sys/dev/cxgbe/tom/t4_cpl_io.c projects/building-blocks/sys/dev/fdt/fdt_common.c projects/building-blocks/sys/dev/fxp/if_fxp.c projects/building-blocks/sys/dev/fxp/if_fxpreg.h projects/building-blocks/sys/dev/fxp/if_fxpvar.h projects/building-blocks/sys/dev/gpio/gpio_if.m projects/building-blocks/sys/dev/ipmi/ipmi_kcs.c projects/building-blocks/sys/dev/isci/isci_controller.c projects/building-blocks/sys/dev/isci/isci_sysctl.c projects/building-blocks/sys/dev/iscsi/iscsi.c projects/building-blocks/sys/dev/iwn/if_iwn.c projects/building-blocks/sys/dev/mmc/mmc.c projects/building-blocks/sys/dev/ofw/ofw_cpu.c projects/building-blocks/sys/dev/ofw/ofw_fdt.c projects/building-blocks/sys/dev/pci/pci.c projects/building-blocks/sys/dev/puc/pucdata.c projects/building-blocks/sys/dev/sdhci/sdhci.c projects/building-blocks/sys/dev/sdhci/sdhci.h projects/building-blocks/sys/dev/sdhci/sdhci_pci.c projects/building-blocks/sys/dev/uart/uart_bus_pci.c projects/building-blocks/sys/dev/usb/controller/xhci.c projects/building-blocks/sys/dev/usb/controller/xhci.h projects/building-blocks/sys/dev/usb/controller/xhci_pci.c projects/building-blocks/sys/dev/usb/quirk/usb_quirk.c projects/building-blocks/sys/dev/usb/usbdevs projects/building-blocks/sys/dev/virtio/mmio/virtio_mmio.c projects/building-blocks/sys/dev/virtio/network/if_vtnet.c projects/building-blocks/sys/dev/virtio/network/if_vtnetvar.h projects/building-blocks/sys/dev/vt/hw/vga/vt_vga.c projects/building-blocks/sys/dev/vt/vt.h projects/building-blocks/sys/dev/vt/vt_core.c projects/building-blocks/sys/dev/wpi/if_wpi.c projects/building-blocks/sys/dev/wpi/if_wpireg.h projects/building-blocks/sys/dev/xen/pci/xen_pci.c projects/building-blocks/sys/fs/ext2fs/ext2_vnops.c projects/building-blocks/sys/fs/msdosfs/msdosfs_vnops.c projects/building-blocks/sys/fs/nandfs/nandfs_vnops.c projects/building-blocks/sys/fs/nfs/nfs_commonkrpc.c projects/building-blocks/sys/fs/nfs/nfs_commonsubs.c projects/building-blocks/sys/fs/nfs/nfsport.h projects/building-blocks/sys/fs/nfsclient/nfs.h projects/building-blocks/sys/fs/nfsclient/nfs_clnode.c projects/building-blocks/sys/fs/nfsclient/nfs_clport.c projects/building-blocks/sys/fs/nfsclient/nfs_clvfsops.c projects/building-blocks/sys/fs/nfsclient/nfs_clvnops.c projects/building-blocks/sys/fs/nfsserver/nfs_nfsdport.c projects/building-blocks/sys/fs/nfsserver/nfs_nfsdstate.c projects/building-blocks/sys/fs/nullfs/null_subr.c projects/building-blocks/sys/fs/tmpfs/tmpfs_vnops.c projects/building-blocks/sys/geom/sched/README projects/building-blocks/sys/geom/sched/g_sched.c projects/building-blocks/sys/geom/sched/g_sched.h projects/building-blocks/sys/geom/sched/gs_rr.c projects/building-blocks/sys/i386/conf/GENERIC projects/building-blocks/sys/i386/conf/NOTES projects/building-blocks/sys/i386/conf/PAE projects/building-blocks/sys/i386/conf/XEN projects/building-blocks/sys/i386/i386/trap.c projects/building-blocks/sys/i386/linux/linux_proto.h projects/building-blocks/sys/i386/linux/linux_syscall.h projects/building-blocks/sys/i386/linux/linux_syscalls.c projects/building-blocks/sys/i386/linux/linux_sysent.c projects/building-blocks/sys/i386/linux/linux_systrace_args.c projects/building-blocks/sys/i386/linux/syscalls.master projects/building-blocks/sys/i386/xen/clock.c projects/building-blocks/sys/kern/kern_cons.c projects/building-blocks/sys/kern/kern_sig.c projects/building-blocks/sys/kern/kern_sysctl.c projects/building-blocks/sys/kern/subr_fattime.c projects/building-blocks/sys/kern/subr_module.c projects/building-blocks/sys/kern/uipc_sockbuf.c projects/building-blocks/sys/kern/uipc_socket.c projects/building-blocks/sys/kern/vfs_default.c projects/building-blocks/sys/kern/vfs_hash.c projects/building-blocks/sys/kern/vfs_vnops.c projects/building-blocks/sys/mips/beri/beri_machdep.c projects/building-blocks/sys/mips/include/elf.h projects/building-blocks/sys/mips/include/vmparam.h projects/building-blocks/sys/mips/mips/trap.c projects/building-blocks/sys/modules/Makefile projects/building-blocks/sys/modules/bios/smapi/Makefile projects/building-blocks/sys/modules/cryptodev/Makefile projects/building-blocks/sys/modules/cxgbe/if_cxgbe/Makefile projects/building-blocks/sys/modules/dtrace/Makefile projects/building-blocks/sys/modules/dtrace/dtraceall/dtraceall.c projects/building-blocks/sys/modules/geom/geom_sched/gs_sched/Makefile projects/building-blocks/sys/modules/geom/geom_sched/gsched_rr/Makefile projects/building-blocks/sys/modules/if_gif/Makefile projects/building-blocks/sys/modules/vmm/Makefile projects/building-blocks/sys/net/if_gif.c projects/building-blocks/sys/net/if_gif.h projects/building-blocks/sys/net/if_gre.c projects/building-blocks/sys/net/if_gre.h projects/building-blocks/sys/net/if_stf.c projects/building-blocks/sys/net80211/ieee80211_output.c projects/building-blocks/sys/net80211/ieee80211_power.c projects/building-blocks/sys/net80211/ieee80211_proto.h projects/building-blocks/sys/net80211/ieee80211_scan.c projects/building-blocks/sys/net80211/ieee80211_sta.c projects/building-blocks/sys/netinet/in_gif.c projects/building-blocks/sys/netinet/in_rss.c projects/building-blocks/sys/netinet/in_rss.h projects/building-blocks/sys/netinet/in_systm.h projects/building-blocks/sys/netinet/ip_gre.c projects/building-blocks/sys/netinet/ip_icmp.c projects/building-blocks/sys/netinet/ip_icmp.h projects/building-blocks/sys/netinet/sctp_usrreq.c projects/building-blocks/sys/netinet/sctputil.c projects/building-blocks/sys/netinet6/in6_gif.c projects/building-blocks/sys/netinet6/in6_pcbgroup.c projects/building-blocks/sys/netinet6/ip6_gre.c projects/building-blocks/sys/netinet6/udp6_usrreq.c projects/building-blocks/sys/netipsec/ipsec.c projects/building-blocks/sys/netipsec/ipsec.h projects/building-blocks/sys/netipsec/key.c projects/building-blocks/sys/netipsec/key_debug.c projects/building-blocks/sys/nfs/bootp_subr.c projects/building-blocks/sys/powerpc/aim/mmu_oea64.c projects/building-blocks/sys/powerpc/aim/trap.c projects/building-blocks/sys/powerpc/conf/GENERIC64 projects/building-blocks/sys/powerpc/ofw/ofw_machdep.c projects/building-blocks/sys/powerpc/pseries/xics.c projects/building-blocks/sys/sys/copyright.h projects/building-blocks/sys/sys/dtrace_bsd.h projects/building-blocks/sys/sys/elf32.h projects/building-blocks/sys/sys/elf64.h projects/building-blocks/sys/sys/elf_common.h projects/building-blocks/sys/sys/mbuf.h projects/building-blocks/sys/sys/param.h projects/building-blocks/sys/sys/sem.h projects/building-blocks/sys/sys/time.h projects/building-blocks/sys/sys/vnode.h projects/building-blocks/sys/teken/libteken/teken.3 projects/building-blocks/sys/ufs/ufs/ufs_vnops.c projects/building-blocks/sys/vm/uma_core.c projects/building-blocks/sys/vm/vm_page.c projects/building-blocks/sys/vm/vm_page.h projects/building-blocks/sys/vm/vm_phys.c projects/building-blocks/sys/vm/vm_phys.h projects/building-blocks/sys/x86/xen/xen_nexus.c projects/building-blocks/tools/build/mk/OptionalObsoleteFiles.inc projects/building-blocks/tools/build/options/WITHOUT_WARNS projects/building-blocks/tools/tools/ether_reflect/ether_reflect.1 projects/building-blocks/tools/tools/sysbuild/sysbuild.sh projects/building-blocks/tools/tools/vimage/vimage.8 projects/building-blocks/usr.bin/clang/bugpoint/Makefile projects/building-blocks/usr.bin/clang/clang/Makefile projects/building-blocks/usr.bin/clang/llc/Makefile projects/building-blocks/usr.bin/clang/lldb/Makefile projects/building-blocks/usr.bin/clang/lli/Makefile projects/building-blocks/usr.bin/clang/llvm-ar/Makefile projects/building-blocks/usr.bin/clang/llvm-dis/Makefile projects/building-blocks/usr.bin/clang/llvm-extract/Makefile projects/building-blocks/usr.bin/clang/llvm-link/Makefile projects/building-blocks/usr.bin/clang/llvm-mc/Makefile projects/building-blocks/usr.bin/clang/llvm-nm/Makefile projects/building-blocks/usr.bin/clang/llvm-objdump/Makefile projects/building-blocks/usr.bin/clang/llvm-rtdyld/Makefile projects/building-blocks/usr.bin/clang/macho-dump/Makefile projects/building-blocks/usr.bin/clang/opt/Makefile projects/building-blocks/usr.bin/clang/tblgen/Makefile projects/building-blocks/usr.bin/dpv/dpv.1 projects/building-blocks/usr.bin/iscsictl/iscsi.conf.5 projects/building-blocks/usr.bin/last/last.1 projects/building-blocks/usr.bin/man/man.1 projects/building-blocks/usr.bin/man/man.sh projects/building-blocks/usr.bin/mandoc/Makefile projects/building-blocks/usr.bin/mkcsmapper/mkcsmapper.1 projects/building-blocks/usr.bin/mkesdb/mkesdb.1 projects/building-blocks/usr.bin/patch/patch.c projects/building-blocks/usr.bin/patch/pch.c projects/building-blocks/usr.bin/patch/util.c projects/building-blocks/usr.bin/patch/util.h projects/building-blocks/usr.bin/rup/rup.1 projects/building-blocks/usr.bin/rusers/rusers.1 projects/building-blocks/usr.bin/rwall/rwall.1 projects/building-blocks/usr.bin/script/script.1 projects/building-blocks/usr.bin/seq/seq.1 projects/building-blocks/usr.bin/seq/seq.c projects/building-blocks/usr.bin/setchannel/setchannel.1 projects/building-blocks/usr.bin/showmount/showmount.8 projects/building-blocks/usr.bin/soeliminate/soeliminate.1 projects/building-blocks/usr.sbin/amd/Makefile projects/building-blocks/usr.sbin/bhyve/rtc.c projects/building-blocks/usr.sbin/bhyvectl/bhyvectl.c projects/building-blocks/usr.sbin/binmiscctl/binmiscctl.8 projects/building-blocks/usr.sbin/bluetooth/btpand/btpand.8 projects/building-blocks/usr.sbin/bsdinstall/bsdinstall.8 projects/building-blocks/usr.sbin/bsdinstall/scripts/zfsboot projects/building-blocks/usr.sbin/bsnmpd/modules/snmp_bridge/snmp_bridge.3 projects/building-blocks/usr.sbin/bsnmpd/modules/snmp_wlan/snmp_wlan.3 projects/building-blocks/usr.sbin/ctladm/ctladm.c projects/building-blocks/usr.sbin/ctld/login.c projects/building-blocks/usr.sbin/freebsd-update/freebsd-update.sh projects/building-blocks/usr.sbin/gpioctl/gpioctl.8 projects/building-blocks/usr.sbin/gpioctl/gpioctl.c projects/building-blocks/usr.sbin/gssd/gssd.8 projects/building-blocks/usr.sbin/iscsid/login.c projects/building-blocks/usr.sbin/jail/jail.8 projects/building-blocks/usr.sbin/kbdcontrol/kbdcontrol.1 projects/building-blocks/usr.sbin/kldxref/kldxref.c projects/building-blocks/usr.sbin/nandsim/nandsim.8 projects/building-blocks/usr.sbin/nfsd/nfsd.8 projects/building-blocks/usr.sbin/nfsuserd/nfsuserd.8 projects/building-blocks/usr.sbin/portsnap/phttpget/Makefile projects/building-blocks/usr.sbin/rpc.umntall/rpc.umntall.8 projects/building-blocks/usr.sbin/rtadvctl/rtadvctl.8 projects/building-blocks/usr.sbin/rtadvd/rtadvd.conf.5 Directory Properties: projects/building-blocks/ (props changed) projects/building-blocks/MAINTAINERS (props changed) projects/building-blocks/cddl/ (props changed) projects/building-blocks/cddl/contrib/opensolaris/ (props changed) projects/building-blocks/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/print/ (props changed) projects/building-blocks/cddl/contrib/opensolaris/cmd/zfs/ (props changed) projects/building-blocks/cddl/contrib/opensolaris/lib/libzfs/ (props changed) projects/building-blocks/contrib/apr/ (props changed) projects/building-blocks/contrib/apr-util/ (props changed) projects/building-blocks/contrib/atf/ (props changed) projects/building-blocks/contrib/binutils/ (props changed) projects/building-blocks/contrib/bmake/ (props changed) projects/building-blocks/contrib/byacc/ (props changed) projects/building-blocks/contrib/bzip2/ (props changed) projects/building-blocks/contrib/com_err/ (props changed) projects/building-blocks/contrib/compiler-rt/ (props changed) projects/building-blocks/contrib/dialog/ (props changed) projects/building-blocks/contrib/dtc/ (props changed) projects/building-blocks/contrib/ee/ (props changed) projects/building-blocks/contrib/elftoolchain/ (props changed) projects/building-blocks/contrib/expat/ (props changed) projects/building-blocks/contrib/file/ (props changed) projects/building-blocks/contrib/gcc/ (props changed) projects/building-blocks/contrib/gdb/ (props changed) projects/building-blocks/contrib/gdtoa/ (props changed) projects/building-blocks/contrib/groff/ (props changed) projects/building-blocks/contrib/ipfilter/ (props changed) projects/building-blocks/contrib/ipfilter/ml_ipl.c (props changed) projects/building-blocks/contrib/ipfilter/mlfk_ipl.c (props changed) projects/building-blocks/contrib/ipfilter/mlh_rule.c (props changed) projects/building-blocks/contrib/ipfilter/mli_ipl.c (props changed) projects/building-blocks/contrib/ipfilter/mln_ipl.c (props changed) projects/building-blocks/contrib/ipfilter/mls_ipl.c (props changed) projects/building-blocks/contrib/ldns/ (props changed) projects/building-blocks/contrib/less/ (props changed) projects/building-blocks/contrib/libarchive/ (props changed) projects/building-blocks/contrib/libarchive/cpio/ (props changed) projects/building-blocks/contrib/libarchive/libarchive/ (props changed) projects/building-blocks/contrib/libarchive/libarchive_fe/ (props changed) projects/building-blocks/contrib/libarchive/tar/ (props changed) projects/building-blocks/contrib/libc++/ (props changed) projects/building-blocks/contrib/libc-vis/ (props changed) projects/building-blocks/contrib/libcxxrt/ (props changed) projects/building-blocks/contrib/libexecinfo/ (props changed) projects/building-blocks/contrib/libpcap/ (props changed) projects/building-blocks/contrib/libstdc++/ (props changed) projects/building-blocks/contrib/libucl/ (props changed) projects/building-blocks/contrib/llvm/ (props changed) projects/building-blocks/contrib/llvm/tools/clang/ (props changed) projects/building-blocks/contrib/llvm/tools/lldb/ (props changed) projects/building-blocks/contrib/mdocml/ (props changed) projects/building-blocks/contrib/mtree/ (props changed) projects/building-blocks/contrib/ncurses/ (props changed) projects/building-blocks/contrib/netcat/ (props changed) projects/building-blocks/contrib/ntp/ (props changed) projects/building-blocks/contrib/nvi/ (props changed) projects/building-blocks/contrib/one-true-awk/ (props changed) projects/building-blocks/contrib/openbsm/ (props changed) projects/building-blocks/contrib/openpam/ (props changed) projects/building-blocks/contrib/openresolv/ (props changed) projects/building-blocks/contrib/pf/ (props changed) projects/building-blocks/contrib/sendmail/ (props changed) projects/building-blocks/contrib/serf/ (props changed) projects/building-blocks/contrib/sqlite3/ (props changed) projects/building-blocks/contrib/subversion/ (props changed) projects/building-blocks/contrib/tcpdump/ (props changed) projects/building-blocks/contrib/tcsh/ (props changed) projects/building-blocks/contrib/tnftp/ (props changed) projects/building-blocks/contrib/top/ (props changed) projects/building-blocks/contrib/top/install-sh (props changed) projects/building-blocks/contrib/tzcode/stdtime/ (props changed) projects/building-blocks/contrib/tzcode/zic/ (props changed) projects/building-blocks/contrib/tzdata/ (props changed) projects/building-blocks/contrib/unbound/ (props changed) projects/building-blocks/contrib/wpa/ (props changed) projects/building-blocks/contrib/xz/ (props changed) projects/building-blocks/crypto/heimdal/ (props changed) projects/building-blocks/crypto/openssh/ (props changed) projects/building-blocks/crypto/openssl/ (props changed) projects/building-blocks/etc/ (props changed) projects/building-blocks/gnu/lib/ (props changed) projects/building-blocks/gnu/usr.bin/binutils/ (props changed) projects/building-blocks/gnu/usr.bin/cc/cc_tools/ (props changed) projects/building-blocks/gnu/usr.bin/gdb/ (props changed) projects/building-blocks/include/ (props changed) projects/building-blocks/lib/clang/libllvmoption/Makefile (props changed) projects/building-blocks/lib/clang/libllvmsparcasmparser/Makefile (props changed) projects/building-blocks/lib/clang/libllvmsparccodegen/Makefile (props changed) projects/building-blocks/lib/clang/libllvmsparcdesc/Makefile (props changed) projects/building-blocks/lib/clang/libllvmsparcdisassembler/Makefile (props changed) projects/building-blocks/lib/clang/libllvmsparcinfo/Makefile (props changed) projects/building-blocks/lib/clang/libllvmsparcinstprinter/Makefile (props changed) projects/building-blocks/lib/libc/ (props changed) projects/building-blocks/lib/libc/stdtime/ (props changed) projects/building-blocks/lib/libutil/ (props changed) projects/building-blocks/lib/libvmmapi/ (props changed) projects/building-blocks/lib/libz/ (props changed) projects/building-blocks/sbin/ (props changed) projects/building-blocks/sbin/dumpon/ (props changed) projects/building-blocks/sbin/ipfw/ (props changed) projects/building-blocks/share/ (props changed) projects/building-blocks/share/examples/kld/random_adaptor/random_adaptor_example.c (props changed) projects/building-blocks/share/man/man4/ (props changed) projects/building-blocks/share/man/man4/iscsi.4 (props changed) projects/building-blocks/share/mk/bsd.arch.inc.mk (props changed) projects/building-blocks/share/zoneinfo/ (props changed) projects/building-blocks/sys/ (props changed) projects/building-blocks/sys/amd64/include/vmm_instruction_emul.h (props changed) projects/building-blocks/sys/amd64/include/xen/ (props changed) projects/building-blocks/sys/amd64/vmm/ (props changed) projects/building-blocks/sys/amd64/vmm/amd/npt.c (props changed) projects/building-blocks/sys/amd64/vmm/amd/npt.h (props changed) projects/building-blocks/sys/amd64/vmm/amd/svm.h (props changed) projects/building-blocks/sys/amd64/vmm/amd/svm_genassym.c (props changed) projects/building-blocks/sys/amd64/vmm/amd/svm_msr.c (props changed) projects/building-blocks/sys/amd64/vmm/amd/svm_msr.h (props changed) projects/building-blocks/sys/amd64/vmm/amd/svm_softc.h (props changed) projects/building-blocks/sys/amd64/vmm/amd/svm_support.S (props changed) projects/building-blocks/sys/amd64/vmm/amd/vmcb.c (props changed) projects/building-blocks/sys/boot/ (props changed) projects/building-blocks/sys/boot/i386/efi/ (props changed) projects/building-blocks/sys/boot/powerpc/boot1.chrp/ (props changed) projects/building-blocks/sys/boot/powerpc/ofw/ (props changed) projects/building-blocks/sys/cddl/contrib/opensolaris/ (props changed) projects/building-blocks/sys/conf/ (props changed) projects/building-blocks/sys/contrib/dev/acpica/ (props changed) projects/building-blocks/sys/contrib/dev/acpica/changes.txt (props changed) projects/building-blocks/sys/contrib/dev/acpica/common/ (props changed) projects/building-blocks/sys/contrib/dev/acpica/compiler/ (props changed) projects/building-blocks/sys/contrib/dev/acpica/components/debugger/ (props changed) projects/building-blocks/sys/contrib/dev/acpica/components/disassembler/ (props changed) projects/building-blocks/sys/contrib/dev/acpica/components/dispatcher/ (props changed) projects/building-blocks/sys/contrib/dev/acpica/components/events/ (props changed) projects/building-blocks/sys/contrib/dev/acpica/components/executer/ (props changed) projects/building-blocks/sys/contrib/dev/acpica/components/hardware/ (props changed) projects/building-blocks/sys/contrib/dev/acpica/components/namespace/ (props changed) projects/building-blocks/sys/contrib/dev/acpica/components/parser/ (props changed) projects/building-blocks/sys/contrib/dev/acpica/components/resources/ (props changed) projects/building-blocks/sys/contrib/dev/acpica/components/tables/ (props changed) projects/building-blocks/sys/contrib/dev/acpica/components/utilities/ (props changed) projects/building-blocks/sys/contrib/dev/acpica/include/ (props changed) projects/building-blocks/sys/contrib/dev/acpica/os_specific/ (props changed) projects/building-blocks/sys/contrib/ipfilter/ (props changed) projects/building-blocks/sys/contrib/ipfilter/netinet/ip_fil_freebsd.c (props changed) projects/building-blocks/sys/contrib/ipfilter/netinet/ip_raudio_pxy.c (props changed) projects/building-blocks/sys/contrib/libfdt/ (props changed) projects/building-blocks/sys/contrib/octeon-sdk/ (props changed) projects/building-blocks/sys/contrib/x86emu/ (props changed) projects/building-blocks/sys/contrib/xz-embedded/ (props changed) projects/building-blocks/sys/dev/bvm/ (props changed) projects/building-blocks/sys/dev/hyperv/ (props changed) projects/building-blocks/sys/gnu/dts/ (props changed) projects/building-blocks/sys/gnu/dts/arm/ (props changed) projects/building-blocks/sys/gnu/dts/include/dt-bindings/ (props changed) projects/building-blocks/sys/mips/beri/fdt_ic_if.m (props changed) projects/building-blocks/sys/modules/hyperv/ (props changed) projects/building-blocks/sys/modules/vmm/ (props changed) projects/building-blocks/sys/x86/include/acpica_machdep.h (props changed) projects/building-blocks/usr.bin/calendar/ (props changed) projects/building-blocks/usr.bin/mkimg/ (props changed) projects/building-blocks/usr.bin/procstat/ (props changed) projects/building-blocks/usr.sbin/bhyve/ (props changed) projects/building-blocks/usr.sbin/bhyvectl/ (props changed) projects/building-blocks/usr.sbin/bhyveload/ (props changed) projects/building-blocks/usr.sbin/jail/ (props changed) projects/building-blocks/usr.sbin/ndiscvt/ (props changed) projects/building-blocks/usr.sbin/rtadvctl/ (props changed) projects/building-blocks/usr.sbin/rtadvd/ (props changed) projects/building-blocks/usr.sbin/rtsold/ (props changed) projects/building-blocks/usr.sbin/zic/ (props changed) Modified: projects/building-blocks/COPYRIGHT ============================================================================== --- projects/building-blocks/COPYRIGHT Fri Jan 2 23:13:04 2015 (r276594) +++ projects/building-blocks/COPYRIGHT Fri Jan 2 23:27:16 2015 (r276595) @@ -4,7 +4,7 @@ The compilation of software known as FreeBSD is distributed under the following terms: -Copyright (c) 1992-2014 The FreeBSD Project. All rights reserved. +Copyright (c) 1992-2015 The FreeBSD Project. All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions Modified: projects/building-blocks/Makefile.inc1 ============================================================================== --- projects/building-blocks/Makefile.inc1 Fri Jan 2 23:13:04 2015 (r276594) +++ projects/building-blocks/Makefile.inc1 Fri Jan 2 23:27:16 2015 (r276595) @@ -260,7 +260,7 @@ BMAKE= MAKEOBJDIRPREFIX=${WORLDTMP} \ DESTDIR= \ BOOTSTRAPPING=${OSRELDATE} \ SSP_CFLAGS= \ - MK_HTML=no MK_INFO=no NO_LINT=yes MK_MAN=no \ + MK_HTML=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_EXTRAS=no MK_CLANG_FULL=no \ @@ -298,7 +298,7 @@ KTMAKE= TOOLS_PREFIX=${WORLDTMP} MAKEOB DESTDIR= \ BOOTSTRAPPING=${OSRELDATE} \ SSP_CFLAGS= \ - MK_HTML=no MK_INFO=no -DNO_LINT MK_MAN=no \ + MK_HTML=no -DNO_LINT MK_MAN=no \ -DNO_PIC MK_PROFILE=no -DNO_SHARED \ -DNO_CPU_CFLAGS MK_WARNS=no MK_CTF=no @@ -443,7 +443,7 @@ LIB32WMAKEFLAGS+= CC="${XCC} ${LIB32FLAG MK_TESTS=no LIB32WMAKE= ${LIB32WMAKEENV} ${MAKE} ${LIB32WMAKEFLAGS} \ - MK_MAN=no MK_INFO=no MK_HTML=no MK_HYPERV=no MK_BHYVE=no + MK_MAN=no MK_HTML=no MK_HYPERV=no MK_BHYVE=no LIB32IMAKE= ${LIB32WMAKE:NINSTALL=*:NDESTDIR=*:N_LDSCRIPTROOT=*} \ MK_TOOLCHAIN=no ${IMAKE_INSTALL} .endif @@ -595,7 +595,7 @@ _libraries: @echo ">>> stage 4.2: building libraries" @echo "--------------------------------------------------------------" ${_+_}cd ${.CURDIR}; \ - ${WMAKE} -DNO_FSCHG MK_HTML=no MK_INFO=no -DNO_LINT MK_MAN=no \ + ${WMAKE} -DNO_FSCHG MK_HTML=no -DNO_LINT MK_MAN=no \ MK_PROFILE=no MK_TESTS=no MK_TESTS_SUPPORT=${MK_TESTS} libraries _depend: @echo @@ -789,9 +789,6 @@ __installcheck_UGID: # # Required install tools to be saved in a scratch dir for safety. # -.if ${MK_INFO} != "no" -_install-info= install-info -.endif .if ${MK_ZONEINFO} != "no" _zoneinfo= zic tzsetup .endif @@ -1448,8 +1445,10 @@ _kgzip= usr.sbin/kgzip .endif # If we're given an XAS, don't build binutils. -.if ${XAS:M/*} == "" && ${MK_BINUTILS_BOOTSTRAP} != "no" +.if ${XAS:M/*} == "" +.if ${MK_BINUTILS_BOOTSTRAP} != "no" _binutils= gnu/usr.bin/binutils +.endif .if ${MK_ELFTOOLCHAIN_TOOLS} != "no" _elftctools= lib/libelftc \ usr.bin/addr2line \ @@ -1501,7 +1500,7 @@ NXBMAKE= ${NXBENV} ${MAKE} \ MACHINE=${TARGET} MACHINE_ARCH=${TARGET_ARCH} \ MK_DEBUG_FILES=no MK_GDB=no MK_TESTS=no \ SSP_CFLAGS= \ - MK_HTML=no MK_INFO=no NO_LINT=yes MK_MAN=no \ + MK_HTML=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_EXTRAS=no MK_CLANG_FULL=no \ @@ -2034,7 +2033,7 @@ XDEV_CPUTYPE?=${CPUTYPE} XDEV_CPUTYPE?=${TARGET_CPUTYPE} .endif -NOFUN=-DNO_FSCHG MK_HTML=no MK_INFO=no -DNO_LINT \ +NOFUN=-DNO_FSCHG MK_HTML=no -DNO_LINT \ MK_MAN=no MK_NLS=no MK_PROFILE=no \ MK_KERBEROS=no MK_RESCUE=no MK_TESTS=no MK_WARNS=no \ MK_DEBUG_FILES=no \ Modified: projects/building-blocks/ObsoleteFiles.inc ============================================================================== --- projects/building-blocks/ObsoleteFiles.inc Fri Jan 2 23:13:04 2015 (r276594) +++ projects/building-blocks/ObsoleteFiles.inc Fri Jan 2 23:27:16 2015 (r276595) @@ -38,6 +38,103 @@ # xargs -n1 | sort | uniq -d; # done +# 20150102: removal of texinfo +OLD_FILES+=usr/bin/info +OLD_FILES+=usr/bin/infokey +OLD_FILES+=usr/bin/install-info +OLD_FILES+=usr/bin/makeinfo +OLD_FILES+=usr/bin/texindex +OLD_FILES+=usr/share/info/am-utils.info.gz +OLD_FILES+=usr/share/info/as-utils.info.gz +OLD_FILES+=usr/share/info/binutils.info.gz +OLD_FILES+=usr/share/info/com_err.info.gz +OLD_FILES+=usr/share/info/diff.info.gz +OLD_FILES+=usr/share/info/gdb.info.gz +OLD_FILES+=usr/share/info/gdbint.info.gz +OLD_FILES+=usr/share/info/gperf.info.gz +OLD_FILES+=usr/share/info/grep.info.gz +OLD_FILES+=usr/share/info/groff.info.gz +OLD_FILES+=usr/share/info/heimdal.info.gz +OLD_FILES+=usr/share/info/history.info.gz +OLD_FILES+=usr/share/info/info-stnd.info.gz +OLD_FILES+=usr/share/info/info.info.gz +OLD_FILES+=usr/share/info/ld.info.gz +OLD_FILES+=usr/share/info/regex.info.gz +OLD_FILES+=usr/share/info/rluserman.info.gz +OLD_FILES+=usr/share/info/stabs.info.gz +OLD_FILES+=usr/share/info/texinfo.info.gz +OLD_FILES+=usr/share/man/man1/info.1.gz +OLD_FILES+=usr/share/man/man1/infokey.1.gz +OLD_FILES+=usr/share/man/man1/install-info.1.gz +OLD_FILES+=usr/share/man/man1/makeinfo.1.gz +OLD_FILES+=usr/share/man/man1/texindex.1.gz +OLD_FILES+=usr/share/man/man5/info.5.gz +OLD_FILES+=usr/share/man/man5/texinfo.5.gz +# 20141231: new clang import which bumps version from 3.4.1 to 3.5.0. +OLD_FILES+=usr/include/clang/3.4.1/__wmmintrin_aes.h +OLD_FILES+=usr/include/clang/3.4.1/__wmmintrin_pclmul.h +OLD_FILES+=usr/include/clang/3.4.1/altivec.h +OLD_FILES+=usr/include/clang/3.4.1/ammintrin.h +OLD_FILES+=usr/include/clang/3.4.1/arm_neon.h +OLD_FILES+=usr/include/clang/3.4.1/avx2intrin.h +OLD_FILES+=usr/include/clang/3.4.1/avxintrin.h +OLD_FILES+=usr/include/clang/3.4.1/bmi2intrin.h +OLD_FILES+=usr/include/clang/3.4.1/bmiintrin.h +OLD_FILES+=usr/include/clang/3.4.1/cpuid.h +OLD_FILES+=usr/include/clang/3.4.1/emmintrin.h +OLD_FILES+=usr/include/clang/3.4.1/f16cintrin.h +OLD_FILES+=usr/include/clang/3.4.1/fma4intrin.h +OLD_FILES+=usr/include/clang/3.4.1/fmaintrin.h +OLD_FILES+=usr/include/clang/3.4.1/immintrin.h +OLD_FILES+=usr/include/clang/3.4.1/lzcntintrin.h +OLD_FILES+=usr/include/clang/3.4.1/mm3dnow.h +OLD_FILES+=usr/include/clang/3.4.1/mm_malloc.h +OLD_FILES+=usr/include/clang/3.4.1/mmintrin.h +OLD_FILES+=usr/include/clang/3.4.1/module.map +OLD_FILES+=usr/include/clang/3.4.1/nmmintrin.h +OLD_FILES+=usr/include/clang/3.4.1/pmmintrin.h +OLD_FILES+=usr/include/clang/3.4.1/popcntintrin.h +OLD_FILES+=usr/include/clang/3.4.1/prfchwintrin.h +OLD_FILES+=usr/include/clang/3.4.1/rdseedintrin.h +OLD_FILES+=usr/include/clang/3.4.1/rtmintrin.h +OLD_FILES+=usr/include/clang/3.4.1/shaintrin.h +OLD_FILES+=usr/include/clang/3.4.1/smmintrin.h +OLD_FILES+=usr/include/clang/3.4.1/tbmintrin.h +OLD_FILES+=usr/include/clang/3.4.1/tmmintrin.h +OLD_FILES+=usr/include/clang/3.4.1/wmmintrin.h +OLD_FILES+=usr/include/clang/3.4.1/x86intrin.h +OLD_FILES+=usr/include/clang/3.4.1/xmmintrin.h +OLD_FILES+=usr/include/clang/3.4.1/xopintrin.h +OLD_DIRS+=usr/include/clang/3.4.1 +# 20141226: Remove gpib/ieee488 +OLD_FILES+=usr/include/dev/ieee488/ibfoo_int.h +OLD_FILES+=usr/include/dev/ieee488/tnt4882.h +OLD_FILES+=usr/include/dev/ieee488/ugpib.h +OLD_FILES+=usr/include/dev/ieee488/upd7210.h +OLD_DIRS+=usr/include/dev/ieee488 +OLD_FILES+=usr/include/gpib/gpib.h +OLD_DIRS+=usr/include/gpib +OLD_FILES+=usr/lib/libgpib.a +OLD_FILES+=usr/lib/libgpib_p.a +OLD_FILES+=usr/lib/libgpib.so +OLD_LIBS+=usr/lib/libgpib.so.3 +OLD_FILES+=usr/lib/libgpib_p.a +OLD_FILES+=share/man/man4/pcii.4.gz +OLD_FILES+=share/man/man4/gpib.4.gz +OLD_FILES+=share/man/man4/tnt4882.4.gz +.if ${TARGET_ARCH} == "amd64" || ${TARGET_ARCH} == "powerpc64" +OLD_FILES+=usr/lib32/libgpib.a +OLD_FILES+=usr/lib32/libgpib_p.a +OLD_FILES+=usr/lib32/libgpib.so +OLD_LIBS+=usr/lib32/libgpib.so.3 +.endif + +# 20141224: libxo moved to /lib +OLD_LIBS+=usr/lib/libxo.so.0 +# 20141223: remove in6_gif.h, in_gif.h and if_stf.h +OLD_FILES+=usr/include/net/if_stf.h +OLD_FILES+=usr/include/netinet/in_gif.h +OLD_FILES+=usr/include/netinet6/in6_gif.h # 20141202: update to mandoc CVS 20141201 OLD_FILES+=usr.bin/preconv OLD_FILES+=share/man/man1/preconv.1.gz Modified: projects/building-blocks/UPDATING ============================================================================== --- projects/building-blocks/UPDATING Fri Jan 2 23:13:04 2015 (r276594) +++ projects/building-blocks/UPDATING Fri Jan 2 23:27:16 2015 (r276595) @@ -31,6 +31,80 @@ NOTE TO PEOPLE WHO THINK THAT FreeBSD 11 disable the most expensive debugging functionality run "ln -s 'abort:false,junk:false' /etc/malloc.conf".) +20150102: + The GNU texinfo and GNU info pages have been removed. + To be able to view GNU info pages please install texinfo from ports. + +20141231: + Clang, llvm and lldb have been upgraded to 3.5.0 release. + + As of this release, a prerequisite for building clang, llvm and lldb is + a C++11 capable compiler and C++11 standard library. This means that to + be able to successfully build the cross-tools stage of buildworld, with + clang as the bootstrap compiler, your system compiler or cross compiler + should either be clang 3.3 or later, or gcc 4.8 or later, and your + system C++ library should be libc++, or libdstdc++ from gcc 4.8 or + later. + + On any standard FreeBSD 10.x or 11.x installation, where clang and + libc++ are on by default (that is, on x86 or arm), this should work out + of the box. + + On 9.x installations where clang is enabled by default, e.g. on x86 and + powerpc, libc++ will not be enabled by default, so libc++ should be + built (with clang) and installed first. If both clang and libc++ are + missing, build clang first, then use it to build libc++. + + On 8.x and earlier installations, upgrade to 9.x first, and then follow + the instructions for 9.x above. + + Sparc64 and mips users are unaffected, as they still use gcc 4.2.1 by + default, and do not build clang. + + Many embedded systems are resource constrained, and will not be able to + build clang in a reasonable time, or in some cases at all. In those + cases, cross building bootable systems on amd64 is a workaround. + + This new version of clang introduces a number of new warnings, of which + the following are most likely to appear: + + -Wabsolute-value + + This warns in two cases, for both C and C++: + * When the code is trying to take the absolute value of an unsigned + quantity, which is effectively a no-op, and almost never what was + intended. The code should be fixed, if at all possible. If you are + sure that the unsigned quantity can be safely cast to signed, without + loss of information or undefined behavior, you can add an explicit + cast, or disable the warning. + + * When the code is trying to take an absolute value, but the called + abs() variant is for the wrong type, which can lead to truncation. + If you want to disable the warning instead of fixing the code, please + make sure that truncation will not occur, or it might lead to unwanted + side-effects. + + -Wtautological-undefined-compare and + -Wundefined-bool-conversion + + These warn when C++ code is trying to compare 'this' against NULL, while + 'this' should never be NULL in well-defined C++ code. However, there is + some legacy (pre C++11) code out there, which actively abuses this + feature, which was less strictly defined in previous C++ versions. + + Squid and openjdk do this, for example. The warning can be turned off + for C++98 and earlier, but compiling the code in C++11 mode might result + in unexpected behavior; for example, the parts of the program that are + unreachable could be optimized away. + +20141222: + The old NFS client and server (kernel options NFSCLIENT, NFSSERVER) + kernel sources have been removed. The .h files remain, since some + utilities include them. This will need to be fixed later. + If "mount -t oldnfs ..." is attempted, it will fail. + If the "-o" option on mountd(8), nfsd(8) or nfsstat(1) is used, + the utilities will report errors. + 20141121: The handling of LOCAL_LIB_DIRS has been altered to skip addition of directories to top level SUBDIR variable when their parent @@ -106,6 +180,7 @@ NOTE TO PEOPLE WHO THINK THAT FreeBSD 11 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 them again. + UPDATE: see 20150102 entry on texinfo's removal 20140708: The GNU readline library is now an INTERNALLIB - that is, it is Modified: projects/building-blocks/bin/ln/symlink.7 ============================================================================== --- projects/building-blocks/bin/ln/symlink.7 Fri Jan 2 23:13:04 2015 (r276594) +++ projects/building-blocks/bin/ln/symlink.7 Fri Jan 2 23:27:16 2015 (r276595) @@ -29,7 +29,7 @@ .\" @(#)symlink.7 8.3 (Berkeley) 3/31/94 .\" $FreeBSD$ .\" -.Dd April 25, 2010 +.Dd December 29, 2014 .Dt SYMLINK 7 .Os .Sh NAME @@ -219,7 +219,7 @@ would change the ownership of .Dq Li slink itself. .Pp -There are four exceptions to this rule. +There are five exceptions to this rule. The .Xr mv 1 and @@ -262,13 +262,12 @@ a file tree.) .Pp The .Xr file 1 -command is also an exception to this rule. -The -.Xr file 1 -command does not follow symbolic links named as argument by default. -The -.Xr file 1 -command does follow symbolic links named as argument if +and +.Xr stat 1 +commands are also exceptions to this rule. +These +commands do not follow symbolic links named as argument by default, +but do follow symbolic links named as argument if the .Fl L option is specified. .Pp Modified: projects/building-blocks/bin/sh/error.c ============================================================================== --- projects/building-blocks/bin/sh/error.c Fri Jan 2 23:13:04 2015 (r276594) +++ projects/building-blocks/bin/sh/error.c Fri Jan 2 23:27:16 2015 (r276595) @@ -90,13 +90,14 @@ exraise(int e) /* - * Called from trap.c when a SIGINT is received. (If the user specifies - * that SIGINT is to be trapped or ignored using the trap builtin, then - * this routine is not called.) Suppressint is nonzero when interrupts - * are held using the INTOFF macro. If SIGINTs are not suppressed and - * the shell is not a root shell, then we want to be terminated if we - * get here, as if we were terminated directly by a SIGINT. Arrange for - * this here. + * Called from trap.c when a SIGINT is received and not suppressed, or when + * an interrupt is pending and interrupts are re-enabled using INTON. + * (If the user specifies that SIGINT is to be trapped or ignored using the + * trap builtin, then this routine is not called.) Suppressint is nonzero + * when interrupts are held using the INTOFF macro. If SIGINTs are not + * suppressed and the shell is not a root shell, then we want to be + * terminated if we get here, as if we were terminated directly by a SIGINT. + * Arrange for this here. */ void @@ -104,16 +105,6 @@ onint(void) { sigset_t sigs; - /* - * The !in_dotrap here is safe. The only way we can arrive here - * with in_dotrap set is that a trap handler set SIGINT to SIG_DFL - * and killed itself. - */ - - if (suppressint && !in_dotrap) { - intpending++; - return; - } intpending = 0; sigemptyset(&sigs); sigprocmask(SIG_SETMASK, &sigs, NULL); @@ -130,6 +121,7 @@ onint(void) else { signal(SIGINT, SIG_DFL); kill(getpid(), SIGINT); + _exit(128 + SIGINT); } } Modified: projects/building-blocks/bin/sh/error.h ============================================================================== --- projects/building-blocks/bin/sh/error.h Fri Jan 2 23:13:04 2015 (r276594) +++ projects/building-blocks/bin/sh/error.h Fri Jan 2 23:27:16 2015 (r276595) @@ -75,11 +75,12 @@ extern volatile sig_atomic_t intpending; #define is_int_on() suppressint #define SETINTON(s) suppressint = (s) #define FORCEINTON {suppressint = 0; if (intpending) onint();} +#define SET_PENDING_INT intpending = 1 #define CLEAR_PENDING_INT intpending = 0 #define int_pending() intpending void exraise(int) __dead2; -void onint(void); +void onint(void) __dead2; void warning(const char *, ...) __printflike(1, 2); void error(const char *, ...) __printf0like(1, 2) __dead2; void exerror(int, const char *, ...) __printf0like(2, 3) __dead2; Modified: projects/building-blocks/bin/sh/eval.c ============================================================================== --- projects/building-blocks/bin/sh/eval.c Fri Jan 2 23:13:04 2015 (r276594) +++ projects/building-blocks/bin/sh/eval.c Fri Jan 2 23:27:16 2015 (r276595) @@ -539,13 +539,13 @@ expredir(union node *n) case NFROMTO: case NAPPEND: case NCLOBBER: - expandarg(redir->nfile.fname, &fn, EXP_TILDE | EXP_REDIR); + expandarg(redir->nfile.fname, &fn, EXP_TILDE); redir->nfile.expfname = fn.list->text; break; case NFROMFD: case NTOFD: if (redir->ndup.vname) { - expandarg(redir->ndup.vname, &fn, EXP_TILDE | EXP_REDIR); + expandarg(redir->ndup.vname, &fn, EXP_TILDE); fixredir(redir, fn.list->text, 1); } break; Modified: projects/building-blocks/bin/sh/expand.c ============================================================================== --- projects/building-blocks/bin/sh/expand.c Fri Jan 2 23:13:04 2015 (r276594) +++ projects/building-blocks/bin/sh/expand.c Fri Jan 2 23:27:16 2015 (r276595) @@ -171,17 +171,12 @@ expandarg(union node *arg, struct arglis STPUTC('\0', expdest); p = grabstackstr(expdest); exparg.lastp = &exparg.list; - /* - * TODO - EXP_REDIR - */ if (flag & EXP_FULL) { ifsbreakup(p, &exparg); *exparg.lastp = NULL; exparg.lastp = &exparg.list; expandmeta(exparg.list, flag); } else { - if (flag & EXP_REDIR) /*XXX - for now, just remove escapes */ - rmescapes(p); sp = (struct strlist *)stalloc(sizeof (struct strlist)); sp->text = p; *exparg.lastp = sp; @@ -209,7 +204,7 @@ expandarg(union node *arg, struct arglis * expansion, and tilde expansion if requested via EXP_TILDE/EXP_VARTILDE. * Processing ends at a CTLENDVAR or CTLENDARI character as well as '\0'. * This is used to expand word in ${var+word} etc. - * If EXP_FULL, EXP_CASE or EXP_REDIR are set, keep and/or generate CTLESC + * If EXP_FULL or EXP_CASE are set, keep and/or generate CTLESC * characters to allow for further processing. * If EXP_FULL is set, also preserve CTLQUOTEMARK characters. */ @@ -217,7 +212,7 @@ static char * argstr(char *p, int flag) { char c; - int quotes = flag & (EXP_FULL | EXP_CASE | EXP_REDIR); /* do CTLESC */ + int quotes = flag & (EXP_FULL | EXP_CASE); /* do CTLESC */ int firsteq = 1; int split_lit; int lit_quoted; @@ -303,7 +298,7 @@ exptilde(char *p, int flag) char c, *startp = p; struct passwd *pw; char *home; - int quotes = flag & (EXP_FULL | EXP_CASE | EXP_REDIR); + int quotes = flag & (EXP_FULL | EXP_CASE); while ((c = *p) != '\0') { switch(c) { @@ -437,7 +432,7 @@ expbackq(union node *cmd, int quoted, in char lastc; int startloc = dest - stackblock(); char const *syntax = quoted? DQSYNTAX : BASESYNTAX; - int quotes = flag & (EXP_FULL | EXP_CASE | EXP_REDIR); + int quotes = flag & (EXP_FULL | EXP_CASE); size_t nnl; INTOFF; @@ -637,7 +632,7 @@ evalvar(char *p, int flag) int varlen; int varlenb; int easy; - int quotes = flag & (EXP_FULL | EXP_CASE | EXP_REDIR); + int quotes = flag & (EXP_FULL | EXP_CASE); varflags = (unsigned char)*p++; subtype = varflags & VSTYPE; @@ -862,7 +857,7 @@ varisset(const char *name, int nulok) static void strtodest(const char *p, int flag, int subtype, int quoted) { - if (flag & (EXP_FULL | EXP_CASE | EXP_REDIR) && subtype != VSLENGTH) + if (flag & (EXP_FULL | EXP_CASE) && subtype != VSLENGTH) STPUTS_QUOTES(p, quoted ? DQSYNTAX : BASESYNTAX, expdest); else STPUTS(p, expdest); @@ -1104,7 +1099,6 @@ expandmeta(struct strlist *str, int flag struct strlist **savelastp; struct strlist *sp; char c; - /* TODO - EXP_REDIR */ while (str) { savelastp = exparg.lastp; Modified: projects/building-blocks/bin/sh/expand.h ============================================================================== --- projects/building-blocks/bin/sh/expand.h Fri Jan 2 23:13:04 2015 (r276594) +++ projects/building-blocks/bin/sh/expand.h Fri Jan 2 23:27:16 2015 (r276595) @@ -50,7 +50,6 @@ struct arglist { #define EXP_FULL 0x1 /* perform word splitting & file globbing */ #define EXP_TILDE 0x2 /* do normal tilde expansion */ #define EXP_VARTILDE 0x4 /* expand tildes in an assignment */ -#define EXP_REDIR 0x8 /* file glob for a redirection (1 match only) */ #define EXP_CASE 0x10 /* keeps quotes around for CASE pattern */ #define EXP_SPLIT_LIT 0x20 /* IFS split literal text ${v+-a b c} */ #define EXP_LIT_QUOTED 0x40 /* for EXP_SPLIT_LIT, start off quoted */ Modified: projects/building-blocks/bin/sh/trap.c ============================================================================== --- projects/building-blocks/bin/sh/trap.c Fri Jan 2 23:13:04 2015 (r276594) +++ projects/building-blocks/bin/sh/trap.c Fri Jan 2 23:27:16 2015 (r276595) @@ -75,7 +75,7 @@ __FBSDID("$FreeBSD$"); static char sigmode[NSIG]; /* current value of signal */ volatile sig_atomic_t pendingsig; /* indicates some signal received */ volatile sig_atomic_t pendingsig_waitcmd; /* indicates SIGINT/SIGQUIT received */ -int in_dotrap; /* do we execute in a trap handler? */ +static int in_dotrap; /* do we execute in a trap handler? */ static char *volatile trap[NSIG]; /* trap handler commands */ static volatile sig_atomic_t gotsig[NSIG]; /* indicates specified signal received */ @@ -380,7 +380,15 @@ onsig(int signo) { if (signo == SIGINT && trap[SIGINT] == NULL) { - onint(); + /* + * The !in_dotrap here is safe. The only way we can arrive + * here with in_dotrap set is that a trap handler set SIGINT to + * SIG_DFL and killed itself. + */ + if (suppressint && !in_dotrap) + SET_PENDING_INT; + else + onint(); return; } Modified: projects/building-blocks/bin/sh/trap.h ============================================================================== --- projects/building-blocks/bin/sh/trap.h Fri Jan 2 23:13:04 2015 (r276594) +++ projects/building-blocks/bin/sh/trap.h Fri Jan 2 23:27:16 2015 (r276595) @@ -35,7 +35,6 @@ extern volatile sig_atomic_t pendingsig; extern volatile sig_atomic_t pendingsig_waitcmd; -extern int in_dotrap; void clear_traps(void); int have_traps(void); Modified: projects/building-blocks/cddl/contrib/opensolaris/cmd/zpool/zpool-features.7 ============================================================================== --- projects/building-blocks/cddl/contrib/opensolaris/cmd/zpool/zpool-features.7 Fri Jan 2 23:13:04 2015 (r276594) +++ projects/building-blocks/cddl/contrib/opensolaris/cmd/zpool/zpool-features.7 Fri Jan 2 23:27:16 2015 (r276595) @@ -443,7 +443,7 @@ This feature becomes .Sy active once a .Sy recordsize -property has been set larger than 128KB, and will return to being +property has been set larger than 128KB, and will return to being .Sy enabled once all filesystems that have ever had their recordsize larger than 128KB are destroyed. Modified: projects/building-blocks/cddl/contrib/opensolaris/cmd/zpool/zpool_main.c ============================================================================== --- projects/building-blocks/cddl/contrib/opensolaris/cmd/zpool/zpool_main.c Fri Jan 2 23:13:04 2015 (r276594) +++ projects/building-blocks/cddl/contrib/opensolaris/cmd/zpool/zpool_main.c Fri Jan 2 23:27:16 2015 (r276595) @@ -4509,11 +4509,12 @@ zpool_do_status(int argc, char **argv) } typedef struct upgrade_cbdata { - int cb_first; - char cb_poolname[ZPOOL_MAXNAMELEN]; - int cb_argc; - uint64_t cb_version; - char **cb_argv; + boolean_t cb_first; + boolean_t cb_unavail; + char cb_poolname[ZPOOL_MAXNAMELEN]; + int cb_argc; + uint64_t cb_version; + char **cb_argv; } upgrade_cbdata_t; #ifdef __FreeBSD__ @@ -4629,6 +4630,14 @@ upgrade_cb(zpool_handle_t *zhp, void *ar boolean_t printnl = B_FALSE; int ret; + if (zpool_get_state(zhp) == POOL_STATE_UNAVAIL) { + (void) fprintf(stderr, gettext("cannot upgrade '%s': pool is " + "currently unavailable.\n\n"), zpool_get_name(zhp)); + cbp->cb_unavail = B_TRUE; + /* Allow iteration to continue. */ + return (0); + } + config = zpool_get_config(zhp, NULL); verify(nvlist_lookup_uint64(config, ZPOOL_CONFIG_VERSION, &version) == 0); @@ -4690,12 +4699,41 @@ upgrade_cb(zpool_handle_t *zhp, void *ar } static int +upgrade_list_unavail(zpool_handle_t *zhp, void *arg) +{ + upgrade_cbdata_t *cbp = arg; + + if (zpool_get_state(zhp) == POOL_STATE_UNAVAIL) { + if (cbp->cb_first) { + (void) fprintf(stderr, gettext("The following pools " + "are unavailable and cannot be upgraded as this " + "time.\n\n")); + (void) fprintf(stderr, gettext("POOL\n")); + (void) fprintf(stderr, gettext("------------\n")); + cbp->cb_first = B_FALSE; + } + (void) printf(gettext("%s\n"), zpool_get_name(zhp)); + cbp->cb_unavail = B_TRUE; + } + return (0); +} + +static int upgrade_list_older_cb(zpool_handle_t *zhp, void *arg) { upgrade_cbdata_t *cbp = arg; nvlist_t *config; uint64_t version; + if (zpool_get_state(zhp) == POOL_STATE_UNAVAIL) { + /* + * This will have been reported by upgrade_list_unavail so + * just allow iteration to continue. + */ + cbp->cb_unavail = B_TRUE; + return (0); + } + config = zpool_get_config(zhp, NULL); verify(nvlist_lookup_uint64(config, ZPOOL_CONFIG_VERSION, &version) == 0); @@ -4729,6 +4767,15 @@ upgrade_list_disabled_cb(zpool_handle_t nvlist_t *config; uint64_t version; + if (zpool_get_state(zhp) == POOL_STATE_UNAVAIL) { + /* + * This will have been reported by upgrade_list_unavail so + * just allow iteration to continue. + */ + cbp->cb_unavail = B_TRUE; + return (0); + } + config = zpool_get_config(zhp, NULL); verify(nvlist_lookup_uint64(config, ZPOOL_CONFIG_VERSION, &version) == 0); @@ -4782,10 +4829,17 @@ upgrade_one(zpool_handle_t *zhp, void *d uint64_t cur_version; int ret; + if (zpool_get_state(zhp) == POOL_STATE_UNAVAIL) { + (void) fprintf(stderr, gettext("cannot upgrade '%s': pool is " + "is currently unavailable.\n\n"), zpool_get_name(zhp)); + cbp->cb_unavail = B_TRUE; + return (1); + } + if (strcmp("log", zpool_get_name(zhp)) == 0) { (void) printf(gettext("'log' is now a reserved word\n" "Pool 'log' must be renamed using export and import" - " to upgrade.\n")); + " to upgrade.\n\n")); return (1); } @@ -4829,7 +4883,7 @@ upgrade_one(zpool_handle_t *zhp, void *d #endif /* __FreeBSD __*/ } else if (cur_version == SPA_VERSION) { (void) printf(gettext("Pool '%s' already has all " - "supported features enabled.\n"), + "supported features enabled.\n\n"), zpool_get_name(zhp)); } } @@ -4986,11 +5040,13 @@ zpool_do_upgrade(int argc, char **argv) ret = zpool_iter(g_zfs, upgrade_cb, &cb); if (ret == 0 && cb.cb_first) { if (cb.cb_version == SPA_VERSION) { - (void) printf(gettext("All pools are already " - "formatted using feature flags.\n\n")); - (void) printf(gettext("Every feature flags " + (void) printf(gettext("All %spools are already " + "formatted using feature flags.\n\n"), + cb.cb_unavail ? gettext("available ") : ""); + (void) printf(gettext("Every %sfeature flags " "pool already has all supported features " - "enabled.\n")); + "enabled.\n"), + cb.cb_unavail ? gettext("available ") : ""); } else { (void) printf(gettext("All pools are already " "formatted with version %llu or higher.\n"), @@ -4999,12 +5055,21 @@ zpool_do_upgrade(int argc, char **argv) } } else if (argc == 0) { cb.cb_first = B_TRUE; + ret = zpool_iter(g_zfs, upgrade_list_unavail, &cb); + assert(ret == 0); + + if (!cb.cb_first) { + (void) fprintf(stderr, "\n"); + } + + cb.cb_first = B_TRUE; ret = zpool_iter(g_zfs, upgrade_list_older_cb, &cb); assert(ret == 0); if (cb.cb_first) { - (void) printf(gettext("All pools are formatted " - "using feature flags.\n\n")); + (void) printf(gettext("All %spools are formatted using " + "feature flags.\n\n"), cb.cb_unavail ? + gettext("available ") : ""); } else { (void) printf(gettext("\nUse 'zpool upgrade -v' " "for a list of available legacy versions.\n")); @@ -5015,13 +5080,14 @@ zpool_do_upgrade(int argc, char **argv) assert(ret == 0); if (cb.cb_first) { - (void) printf(gettext("Every feature flags pool has " - "all supported features enabled.\n")); + (void) printf(gettext("Every %sfeature flags pool has " + "all supported features enabled.\n"), + cb.cb_unavail ? gettext("available ") : ""); } else { (void) printf(gettext("\n")); } } else { - ret = for_each_pool(argc, argv, B_FALSE, NULL, + ret = for_each_pool(argc, argv, B_TRUE, NULL, upgrade_one, &cb); } Modified: projects/building-blocks/cddl/contrib/opensolaris/lib/libdtrace/common/drti.c ============================================================================== --- projects/building-blocks/cddl/contrib/opensolaris/lib/libdtrace/common/drti.c Fri Jan 2 23:13:04 2015 (r276594) +++ projects/building-blocks/cddl/contrib/opensolaris/lib/libdtrace/common/drti.c Fri Jan 2 23:27:16 2015 (r276595) @@ -127,6 +127,7 @@ dtrace_dof_init(void) int efd; char *s; size_t shstridx; + uint64_t aligned_filesz; #endif if (getenv("DTRACE_DOF_INIT_DISABLE") != NULL) @@ -171,6 +172,7 @@ dtrace_dof_init(void) if (s != NULL && strcmp(s, ".SUNW_dof") == 0) { dofdata = elf_getdata(scn, NULL); dof = dofdata->d_buf; + break; } } } @@ -182,7 +184,9 @@ dtrace_dof_init(void) } while ((char *) dof < (char *) dofdata->d_buf + dofdata->d_size) { - dof_next = (void *) ((char *) dof + dof->dofh_filesz); + aligned_filesz = (shdr.sh_addralign == 0 ? dof->dofh_filesz : + roundup2(dof->dofh_filesz, shdr.sh_addralign)); + dof_next = (void *) ((char *) dof + aligned_filesz); #endif if (dof->dofh_ident[DOF_ID_MAG0] != DOF_MAG_MAG0 || Modified: projects/building-blocks/cddl/contrib/opensolaris/lib/libdtrace/common/dt_link.c ============================================================================== --- projects/building-blocks/cddl/contrib/opensolaris/lib/libdtrace/common/dt_link.c Fri Jan 2 23:13:04 2015 (r276594) +++ projects/building-blocks/cddl/contrib/opensolaris/lib/libdtrace/common/dt_link.c Fri Jan 2 23:27:16 2015 (r276595) @@ -685,8 +685,8 @@ dump_elf64(dtrace_hdl_t *dtp, const dof_ elf_file.ehdr.e_machine = EM_ARM; #elif defined(__mips__) elf_file.ehdr.e_machine = EM_MIPS; -#elif defined(__powerpc__) - elf_file.ehdr.e_machine = EM_PPC; +#elif defined(__powerpc64__) + elf_file.ehdr.e_machine = EM_PPC64; #elif defined(__sparc) elf_file.ehdr.e_machine = EM_SPARCV9; #elif defined(__i386) || defined(__amd64) @@ -784,21 +784,32 @@ dump_elf64(dtrace_hdl_t *dtp, const dof_ static int dt_symtab_lookup(Elf_Data *data_sym, int nsym, uintptr_t addr, uint_t shn, - GElf_Sym *sym) + GElf_Sym *sym, int uses_funcdesc, Elf *elf) { int i, ret = -1; + Elf64_Addr symval; + Elf_Scn *opd_scn; + Elf_Data *opd_desc; GElf_Sym s; for (i = 0; i < nsym && gelf_getsym(data_sym, i, sym) != NULL; i++) { - if (GELF_ST_TYPE(sym->st_info) == STT_FUNC && - shn == sym->st_shndx && - sym->st_value <= addr && - addr < sym->st_value + sym->st_size) { - if (GELF_ST_BIND(sym->st_info) == STB_GLOBAL) - return (0); + if (GELF_ST_TYPE(sym->st_info) == STT_FUNC) { + symval = sym->st_value; + if (uses_funcdesc) { + opd_scn = elf_getscn(elf, sym->st_shndx); + opd_desc = elf_rawdata(opd_scn, NULL); + symval = + *(uint64_t*)((char *)opd_desc->d_buf + symval); + } + if ((uses_funcdesc || shn == sym->st_shndx) && + symval <= addr && + addr < symval + sym->st_size) { + if (GELF_ST_BIND(sym->st_info) == STB_GLOBAL) + return (0); - ret = 0; - s = *sym; + ret = 0; + s = *sym; + } } } @@ -1375,7 +1386,8 @@ process_obj(dtrace_hdl_t *dtp, const cha continue; if (dt_symtab_lookup(data_sym, isym, rela.r_offset, - shdr_rel.sh_info, &fsym) != 0) { + shdr_rel.sh_info, &fsym, + (emachine1 == EM_PPC64), elf) != 0) { dt_strtab_destroy(strtab); goto err; } @@ -1536,7 +1548,8 @@ process_obj(dtrace_hdl_t *dtp, const cha p = strhyphenate(p + 3); /* strlen("___") */ if (dt_symtab_lookup(data_sym, isym, rela.r_offset, - shdr_rel.sh_info, &fsym) != 0) + shdr_rel.sh_info, &fsym, + (emachine1 == EM_PPC64), elf) != 0) goto err; if (fsym.st_name > data_str->d_size) Modified: projects/building-blocks/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_pool.c ============================================================================== --- projects/building-blocks/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_pool.c Fri Jan 2 23:13:04 2015 (r276594) +++ projects/building-blocks/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_pool.c Fri Jan 2 23:27:16 2015 (r276595) @@ -256,7 +256,8 @@ zpool_get_prop(zpool_handle_t *zhp, zpoo break; case ZPOOL_PROP_HEALTH: - (void) strlcpy(buf, "FAULTED", len); + (void) strlcpy(buf, + zpool_pool_state_to_name(POOL_STATE_UNAVAIL), len); break; case ZPOOL_PROP_GUID: Modified: projects/building-blocks/cddl/usr.bin/ctfconvert/ctfconvert.1 ============================================================================== --- projects/building-blocks/cddl/usr.bin/ctfconvert/ctfconvert.1 Fri Jan 2 23:13:04 2015 (r276594) +++ projects/building-blocks/cddl/usr.bin/ctfconvert/ctfconvert.1 Fri Jan 2 23:27:16 2015 (r276595) @@ -74,8 +74,8 @@ Write the output to file in .Sh EXIT STATUS .Ex -std .Sh SEE ALSO -.Xr ctfmerge 1 , -.Xr ctfdump 1 +.Xr ctfdump 1 , +.Xr ctfmerge 1 .Sh HISTORY The .Nm Modified: projects/building-blocks/contrib/binutils/bfd/elf32-ppc.c ============================================================================== --- projects/building-blocks/contrib/binutils/bfd/elf32-ppc.c Fri Jan 2 23:13:04 2015 (r276594) +++ projects/building-blocks/contrib/binutils/bfd/elf32-ppc.c Fri Jan 2 23:27:16 2015 (r276595) @@ -6185,7 +6185,7 @@ ppc_elf_relocate_section (bfd *output_bf howto = NULL; if (r_type < R_PPC_max) howto = ppc_elf_howto_table[r_type]; - switch (r_type) + switch ((int) r_type) { default: (*_bfd_error_handler) Modified: projects/building-blocks/contrib/binutils/gas/config/tc-ppc.c ============================================================================== --- projects/building-blocks/contrib/binutils/gas/config/tc-ppc.c Fri Jan 2 23:13:04 2015 (r276594) +++ projects/building-blocks/contrib/binutils/gas/config/tc-ppc.c Fri Jan 2 23:27:16 2015 (r276595) @@ -1548,7 +1548,7 @@ ppc_insert_operand (unsigned long insn, errmsg = NULL; insn = (*operand->insert) (insn, (long) val, ppc_cpu, &errmsg); if (errmsg != (const char *) NULL) - as_bad_where (file, line, errmsg); + as_bad_where (file, line, "%s", errmsg); } else insn |= ((long) val & operand->bitm) << operand->shift; @@ -2279,7 +2279,7 @@ md_assemble (char *str) { insn = (*operand->insert) (insn, 0L, ppc_cpu, &errmsg); if (errmsg != (const char *) NULL) - as_bad (errmsg); + as_bad ("%s", errmsg); continue; } @@ -2292,7 +2292,7 @@ md_assemble (char *str) { insn = (*operand->insert) (insn, 0L, ppc_cpu, &errmsg); if (errmsg != (const char *) NULL) - as_bad (errmsg); + as_bad ("%s", errmsg); } if ((operand->flags & PPC_OPERAND_NEXT) != 0) next_opindex = *opindex_ptr + 1; Modified: projects/building-blocks/contrib/binutils/gas/expr.c ============================================================================== --- projects/building-blocks/contrib/binutils/gas/expr.c Fri Jan 2 23:13:04 2015 (r276594) +++ projects/building-blocks/contrib/binutils/gas/expr.c Fri Jan 2 23:27:16 2015 (r276595) @@ -1040,6 +1040,15 @@ operand (expressionS *expressionP, enum { for (i = 0; i < expressionP->X_add_number; ++i) generic_bignum[i] = ~generic_bignum[i]; + + /* Extend the bignum to at least the size of .octa. */ + if (expressionP->X_add_number < SIZE_OF_LARGE_NUMBER) + { + expressionP->X_add_number = SIZE_OF_LARGE_NUMBER; + for (; i < expressionP->X_add_number; ++i) + generic_bignum[i] = ~(LITTLENUM_TYPE) 0; + } + if (c == '-') for (i = 0; i < expressionP->X_add_number; ++i) { @@ -1050,14 +1059,12 @@ operand (expressionS *expressionP, enum } else if (c == '!') { - int nonzero = 0; for (i = 0; i < expressionP->X_add_number; ++i) - { - if (generic_bignum[i]) - nonzero = 1; - generic_bignum[i] = 0; - } - generic_bignum[0] = nonzero; + if (generic_bignum[i] != 0) + break; + expressionP->X_add_number = i >= expressionP->X_add_number; + expressionP->X_op = O_constant; + expressionP->X_unsigned = 1; } } else if (expressionP->X_op != O_illegal Modified: projects/building-blocks/contrib/binutils/gas/input-scrub.c ============================================================================== --- projects/building-blocks/contrib/binutils/gas/input-scrub.c Fri Jan 2 23:13:04 2015 (r276594) +++ projects/building-blocks/contrib/binutils/gas/input-scrub.c Fri Jan 2 23:27:16 2015 (r276595) @@ -335,7 +335,7 @@ input_scrub_next_buffer (char **bufp) if (partial_size) { - memcpy (buffer_start + BEFORE_SIZE, partial_where, + memmove (buffer_start + BEFORE_SIZE, partial_where, (unsigned int) partial_size); memcpy (buffer_start + BEFORE_SIZE, save_source, AFTER_SIZE); } Modified: projects/building-blocks/contrib/binutils/gas/read.c ============================================================================== --- projects/building-blocks/contrib/binutils/gas/read.c Fri Jan 2 23:13:04 2015 (r276594) +++ projects/building-blocks/contrib/binutils/gas/read.c Fri Jan 2 23:27:16 2015 (r276595) @@ -4117,15 +4117,32 @@ emit_expr (expressionS *exp, unsigned in unsigned int size; LITTLENUM_TYPE *nums; - know (nbytes % CHARS_PER_LITTLENUM == 0); - size = exp->X_add_number * CHARS_PER_LITTLENUM; if (nbytes < size) { - as_warn (_("bignum truncated to %d bytes"), nbytes); + int i = nbytes / CHARS_PER_LITTLENUM; + if (i != 0) + { + LITTLENUM_TYPE sign = 0; + if ((generic_bignum[--i] + & (1 << (LITTLENUM_NUMBER_OF_BITS - 1))) != 0) + sign = ~(LITTLENUM_TYPE) 0; + while (++i < exp->X_add_number) + if (generic_bignum[i] != sign) + break; + } + if (i < exp->X_add_number) + as_warn (_("bignum truncated to %d bytes"), nbytes); size = nbytes; } + if (nbytes == 1) + { + md_number_to_chars (p, (valueT) generic_bignum[0], 1); + return; + } + know (nbytes % CHARS_PER_LITTLENUM == 0); + if (target_big_endian) { while (nbytes > size) Modified: projects/building-blocks/contrib/bsnmp/lib/snmpcrypto.c ============================================================================== --- projects/building-blocks/contrib/bsnmp/lib/snmpcrypto.c Fri Jan 2 23:13:04 2015 (r276594) +++ projects/building-blocks/contrib/bsnmp/lib/snmpcrypto.c Fri Jan 2 23:27:16 2015 (r276595) @@ -366,7 +366,7 @@ snmp_pdu_decrypt(const struct snmp_pdu * return (SNMP_CODE_OK); } -int +enum snmp_code snmp_passwd_to_keys(struct snmp_user *user, char *passwd __unused) { if (user->auth_proto == SNMP_AUTH_NOAUTH && @@ -378,7 +378,7 @@ snmp_passwd_to_keys(struct snmp_user *us return (SNMP_CODE_FAILED); *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-projects@FreeBSD.ORG Sat Jan 3 13:41:54 2015 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 42EDC694; Sat, 3 Jan 2015 13:41:54 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 2FC491969; Sat, 3 Jan 2015 13:41:54 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id t03DfskE055933; Sat, 3 Jan 2015 13:41:54 GMT (envelope-from melifaro@FreeBSD.org) Received: (from melifaro@localhost) by svn.freebsd.org (8.14.9/8.14.9/Submit) id t03DfsC1055932; Sat, 3 Jan 2015 13:41:54 GMT (envelope-from melifaro@FreeBSD.org) Message-Id: <201501031341.t03DfsC1055932@svn.freebsd.org> X-Authentication-Warning: svn.freebsd.org: melifaro set sender to melifaro@FreeBSD.org using -f From: "Alexander V. Chernikov" Date: Sat, 3 Jan 2015 13:41:54 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r276619 - projects/routing/sys/netinet X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 03 Jan 2015 13:41:54 -0000 Author: melifaro Date: Sat Jan 3 13:41:53 2015 New Revision: 276619 URL: https://svnweb.freebsd.org/changeset/base/276619 Log: Finish r275628: remove remaining 'base' references. Modified: projects/routing/sys/netinet/in.c Modified: projects/routing/sys/netinet/in.c ============================================================================== --- projects/routing/sys/netinet/in.c Sat Jan 3 13:36:56 2015 (r276618) +++ projects/routing/sys/netinet/in.c Sat Jan 3 13:41:53 2015 (r276619) @@ -1012,20 +1012,19 @@ in_lltable_new(struct in_addr addr4, u_i if (lle == NULL) /* NB: caller generates msg */ return NULL; - lle->base.r_l3addr.addr4 = addr4; + lle->r_l3addr.addr4 = addr4; /* * For IPv4 this will trigger "arpresolve" to generate * an ARP request. */ - lle->base.la_expire = time_uptime; /* mark expired */ - lle->base.lle_refcnt = 1; - lle->base.lle_free = in_lltable_free; - LLE_LOCK_INIT(&lle->base); - callout_init_rw(&lle->base.la_timer, &lle->base.lle_lock, - CALLOUT_RETURNUNLOCKED); + lle->la_expire = time_uptime; /* mark expired */ + lle->lle_refcnt = 1; + lle->lle_free = in_lltable_free; + LLE_LOCK_INIT(lle); + callout_init_rw(&lle->la_timer, &lle->lle_lock, CALLOUT_RETURNUNLOCKED); - return (&lle->base); + return (lle); } #define IN_ARE_MASKED_ADDR_EQUAL(d, a, m) ( \ From owner-svn-src-projects@FreeBSD.ORG Sat Jan 3 14:09:36 2015 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 24577C49; Sat, 3 Jan 2015 14:09:36 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 10B571CAA; Sat, 3 Jan 2015 14:09:36 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id t03E9ZiI066241; Sat, 3 Jan 2015 14:09:35 GMT (envelope-from melifaro@FreeBSD.org) Received: (from melifaro@localhost) by svn.freebsd.org (8.14.9/8.14.9/Submit) id t03E9ZGb066240; Sat, 3 Jan 2015 14:09:35 GMT (envelope-from melifaro@FreeBSD.org) Message-Id: <201501031409.t03E9ZGb066240@svn.freebsd.org> X-Authentication-Warning: svn.freebsd.org: melifaro set sender to melifaro@FreeBSD.org using -f From: "Alexander V. Chernikov" Date: Sat, 3 Jan 2015 14:09:35 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r276620 - projects/routing/sys/netinet6 X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 03 Jan 2015 14:09:36 -0000 Author: melifaro Date: Sat Jan 3 14:09:35 2015 New Revision: 276620 URL: https://svnweb.freebsd.org/changeset/base/276620 Log: Finish r275628 #2: remove remaining 'base' references. Modified: projects/routing/sys/netinet6/in6.c Modified: projects/routing/sys/netinet6/in6.c ============================================================================== --- projects/routing/sys/netinet6/in6.c Sat Jan 3 13:41:53 2015 (r276619) +++ projects/routing/sys/netinet6/in6.c Sat Jan 3 14:09:35 2015 (r276620) @@ -2067,14 +2067,14 @@ in6_lltable_new(const struct in6_addr *a if (lle == NULL) /* NB: caller generates msg */ return NULL; - lle->base.r_l3addr.addr6 = *addr6; - lle->base.lle_refcnt = 1; - lle->base.lle_free = in6_lltable_free; - LLE_LOCK_INIT(&lle->base); - callout_init_rw(&lle->base.ln_timer_ch, &lle->base.lle_lock, + lle->r_l3addr.addr6 = *addr6; + lle->lle_refcnt = 1; + lle->lle_free = in6_lltable_free; + LLE_LOCK_INIT(lle); + callout_init_rw(&lle->ln_timer_ch, &lle->lle_lock, CALLOUT_RETURNUNLOCKED); - return (&lle->base); + return (lle); } static int From owner-svn-src-projects@FreeBSD.ORG Sat Jan 3 14:18:49 2015 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id C0215F6E; Sat, 3 Jan 2015 14:18:49 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id A93731E25; Sat, 3 Jan 2015 14:18:49 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id t03EInnv070948; Sat, 3 Jan 2015 14:18:49 GMT (envelope-from melifaro@FreeBSD.org) Received: (from melifaro@localhost) by svn.freebsd.org (8.14.9/8.14.9/Submit) id t03EInaQ070947; Sat, 3 Jan 2015 14:18:49 GMT (envelope-from melifaro@FreeBSD.org) Message-Id: <201501031418.t03EInaQ070947@svn.freebsd.org> X-Authentication-Warning: svn.freebsd.org: melifaro set sender to melifaro@FreeBSD.org using -f From: "Alexander V. Chernikov" Date: Sat, 3 Jan 2015 14:18:49 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r276621 - projects/routing/sys/netinet6 X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 03 Jan 2015 14:18:49 -0000 Author: melifaro Date: Sat Jan 3 14:18:48 2015 New Revision: 276621 URL: https://svnweb.freebsd.org/changeset/base/276621 Log: Since @ln is the result of LLTABLE6(ifp) lookup its originating interface must always be @ifp. So change ln->lle_tbl->llt_ifp to ifp. Modified: projects/routing/sys/netinet6/nd6_nbr.c Modified: projects/routing/sys/netinet6/nd6_nbr.c ============================================================================== --- projects/routing/sys/netinet6/nd6_nbr.c Sat Jan 3 14:09:35 2015 (r276620) +++ projects/routing/sys/netinet6/nd6_nbr.c Sat Jan 3 14:18:48 2015 (r276621) @@ -719,7 +719,7 @@ nd6_na_input(struct mbuf *m, int off, in ln->ln_byhint = 0; if (!ND6_LLINFO_PERMANENT(ln)) { nd6_llinfo_settimer_locked(ln, - (long)ND_IFINFO(ln->lle_tbl->llt_ifp)->reachable * hz); + (long)ND_IFINFO(ifp)->reachable * hz); } } else { ln->ln_state = ND6_LLINFO_STALE; @@ -831,10 +831,10 @@ nd6_na_input(struct mbuf *m, int off, in * is only called under the network software interrupt * context. However, we keep it just for safety. */ - dr = defrouter_lookup(in6, ln->lle_tbl->llt_ifp); + dr = defrouter_lookup(in6, ifp); if (dr) defrtrlist_del(dr); - else if (ND_IFINFO(ln->lle_tbl->llt_ifp)->flags & + else if (ND_IFINFO(ifp)->flags & ND6_IFF_ACCEPT_RTADV) { /* * Even if the neighbor is not in the default From owner-svn-src-projects@FreeBSD.ORG Sat Jan 3 16:04:32 2015 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 3B0AE4B1; Sat, 3 Jan 2015 16:04:32 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 264A43C9A; Sat, 3 Jan 2015 16:04:32 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id t03G4WOA022759; Sat, 3 Jan 2015 16:04:32 GMT (envelope-from melifaro@FreeBSD.org) Received: (from melifaro@localhost) by svn.freebsd.org (8.14.9/8.14.9/Submit) id t03G4TRa022748; Sat, 3 Jan 2015 16:04:29 GMT (envelope-from melifaro@FreeBSD.org) Message-Id: <201501031604.t03G4TRa022748@svn.freebsd.org> X-Authentication-Warning: svn.freebsd.org: melifaro set sender to melifaro@FreeBSD.org using -f From: "Alexander V. Chernikov" Date: Sat, 3 Jan 2015 16:04:29 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r276624 - in projects/routing/sys: net netinet netinet6 X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 03 Jan 2015 16:04:32 -0000 Author: melifaro Date: Sat Jan 3 16:04:28 2015 New Revision: 276624 URL: https://svnweb.freebsd.org/changeset/base/276624 Log: * Hide lltable implementation details in if_llatbl_var.h * Make most of lltable_* methods 'normal' functions instead of inline * Add lltable_get_() functions to access given lltable fields * Temporarily resurrect nd6_lookup() function Added: projects/routing/sys/net/if_llatbl_var.h (contents, props changed) Modified: projects/routing/sys/net/if_llatbl.c projects/routing/sys/net/if_llatbl.h projects/routing/sys/net/rt_nhops.c projects/routing/sys/netinet/if_ether.c projects/routing/sys/netinet/in.c projects/routing/sys/netinet/toecore.c projects/routing/sys/netinet6/in6.c projects/routing/sys/netinet6/nd6.c projects/routing/sys/netinet6/nd6.h Modified: projects/routing/sys/net/if_llatbl.c ============================================================================== --- projects/routing/sys/net/if_llatbl.c Sat Jan 3 15:39:04 2015 (r276623) +++ projects/routing/sys/net/if_llatbl.c Sat Jan 3 16:04:28 2015 (r276624) @@ -52,6 +52,7 @@ __FBSDID("$FreeBSD$"); #include #include +#include #include #include #include @@ -433,6 +434,64 @@ lltable_unlink(struct lltable *llt) } /* + * External methods used by lltable consumers + */ + +struct llentry * +lltable_create_lle(struct lltable *llt, u_int flags, + const void *paddr) +{ + + return (llt->llt_create(llt, flags, paddr)); +} + +int +lltable_delete_addr(struct lltable *llt, u_int flags, + const struct sockaddr *l3addr) +{ + + return llt->llt_delete_addr(llt, flags, l3addr); +} + +void +lltable_link_entry(struct lltable *llt, struct llentry *lle) +{ + + llt->llt_link_entry(llt, lle); +} + +void +lltable_unlink_entry(struct lltable *llt, struct llentry *lle) +{ + + llt->llt_unlink_entry(lle); +} + +void +lltable_fill_sa_entry(const struct llentry *lle, struct sockaddr *sa) +{ + struct lltable *llt; + + llt = lle->lle_tbl; + + llt->llt_fill_sa_entry(lle, sa); +} + +struct ifnet * +lltable_get_ifp(const struct lltable *llt) +{ + + return (llt->llt_ifp); +} + +int +lltable_get_af(const struct lltable *llt) +{ + + return (llt->llt_af); +} + +/* * Called in route_output when rtm_flags contains RTF_LLDATA. */ int Modified: projects/routing/sys/net/if_llatbl.h ============================================================================== --- projects/routing/sys/net/if_llatbl.h Sat Jan 3 15:39:04 2015 (r276623) +++ projects/routing/sys/net/if_llatbl.h Sat Jan 3 16:04:28 2015 (r276624) @@ -24,7 +24,6 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. */ -#include __FBSDID("$FreeBSD$"); #ifndef _NET_IF_LLATBL_H_ @@ -34,20 +33,9 @@ __FBSDID("$FreeBSD$"); #include struct ifnet; -struct sysctl_req; -struct rt_msghdr; -struct rt_addrinfo; - struct llentry; LIST_HEAD(llentries, llentry); -extern struct rwlock lltable_rwlock; -#define LLTABLE_RLOCK() rw_rlock(&lltable_rwlock) -#define LLTABLE_RUNLOCK() rw_runlock(&lltable_rwlock) -#define LLTABLE_WLOCK() rw_wlock(&lltable_rwlock) -#define LLTABLE_WUNLOCK() rw_wunlock(&lltable_rwlock) -#define LLTABLE_LOCK_ASSERT() rw_assert(&lltable_rwlock, RA_LOCKED) - struct llentry { /* FIELDS PROTECTED BY IFDATA LOCK */ LIST_ENTRY(llentry) lle_next; @@ -88,7 +76,6 @@ struct llentry { struct callout ln_timer_ch; struct callout la_timer; } lle_timer; - /* NB: struct sockaddr must immediately follow */ }; #define LLE_WLOCK(lle) rw_wlock(&(lle)->lle_lock) @@ -135,62 +122,6 @@ struct llentry { #define ln_timer_ch lle_timer.ln_timer_ch #define la_timer lle_timer.la_timer -#ifndef LLTBL_HASHTBL_SIZE -#define LLTBL_HASHTBL_SIZE 32 /* default 32 ? */ -#endif - -#ifndef LLTBL_HASHMASK -#define LLTBL_HASHMASK (LLTBL_HASHTBL_SIZE - 1) -#endif - -typedef struct llentry *(llt_lookup_t)(struct lltable *, u_int flags, - const void *paddr); -typedef struct llentry *(llt_create_t)(struct lltable *, u_int flags, - const void *paddr); -typedef int (llt_delete_addr_t)(struct lltable *, u_int flags, - const struct sockaddr *l3addr); -typedef int (llt_dump_entry_t)(struct lltable *, struct llentry *, - struct sysctl_req *); -typedef uint32_t (llt_hash_t)(const struct llentry *); -typedef int (llt_match_prefix_t)(const struct sockaddr *, - const struct sockaddr *, u_int, struct llentry *); -typedef void (llt_clear_entry_t)(struct lltable *, struct llentry *); -typedef void (llt_free_tbl_t)(struct lltable *); -typedef void (llt_link_entry_t)(struct lltable *, struct llentry *); -typedef void (llt_unlink_entry_t)(struct llentry *); -typedef int (llt_prepare_sentry_t)(struct lltable *, struct llentry *, - struct rt_addrinfo *); -typedef const void *(llt_get_sa_addr_t)(const struct sockaddr *l3addr); -typedef void (llt_fill_sa_entry_t)(const struct llentry *, struct sockaddr *); - -typedef int (llt_foreach_cb_t)(struct lltable *, struct llentry *, void *); -typedef int (llt_foreach_entry_t)(struct lltable *, llt_foreach_cb_t *, void *); - - -struct lltable { - SLIST_ENTRY(lltable) llt_link; - struct llentries lle_head[LLTBL_HASHTBL_SIZE]; - int llt_af; - struct ifnet *llt_ifp; - - llt_lookup_t *llt_lookup; - llt_create_t *llt_create; - llt_delete_addr_t *llt_delete_addr; - llt_dump_entry_t *llt_dump_entry; - llt_hash_t *llt_hash; - llt_match_prefix_t *llt_match_prefix; - llt_clear_entry_t *llt_clear_entry; - llt_foreach_entry_t *llt_foreach_entry; - llt_link_entry_t *llt_link_entry; - llt_unlink_entry_t *llt_unlink_entry; - llt_prepare_sentry_t *llt_prepare_static_entry; - llt_get_sa_addr_t *llt_get_sa_addr; - llt_fill_sa_entry_t *llt_fill_sa_entry; - llt_free_tbl_t *llt_free_tbl; -}; - -MALLOC_DECLARE(M_LLTABLE); - /* * LLE flags used by fast path code */ @@ -210,77 +141,6 @@ MALLOC_DECLARE(M_LLTABLE); #define LLE_UNLOCKED 0x0100 /* return lle unlocked */ #define LLE_EXCLUSIVE 0x0200 /* return lle wlocked */ -#define LLATBL_HASH(key, mask) \ - (((((((key >> 8) ^ key) >> 8) ^ key) >> 8) ^ key) & mask) - -void lltable_link(struct lltable *); -void lltable_free(struct lltable *); -void lltable_prefix_free(int, struct sockaddr *, - struct sockaddr *, u_int); -#if 0 -void lltable_drain(int); -#endif -int lltable_sysctl_dumparp(int, struct sysctl_req *); - -struct llentry *llentry_alloc(struct ifnet *, struct lltable *, - struct sockaddr_storage *); - -/* helper functions */ -size_t lltable_drop_entry_queue(struct llentry *); - -/* - * Generic link layer address lookup function. - */ -static __inline struct llentry * -lltable_lookup_lle(struct lltable *llt, u_int flags, - const void *paddr) -{ - - return (llt->llt_lookup(llt, flags, paddr)); -} - -static __inline struct llentry * -lltable_create_lle(struct lltable *llt, u_int flags, - const void *paddr) -{ - - return (llt->llt_create(llt, flags, paddr)); -} - -static __inline int -lltable_delete_addr(struct lltable *llt, u_int flags, - const struct sockaddr *l3addr) -{ - - return llt->llt_delete_addr(llt, flags, l3addr); -} - -static __inline void -lltable_link_entry(struct lltable *llt, struct llentry *lle) -{ - - llt->llt_link_entry(llt, lle); -} - -static __inline void -lltable_unlink_entry(struct lltable *llt, struct llentry *lle) -{ - - llt->llt_unlink_entry(lle); -} - -static __inline void -lltable_fill_sa_entry(const struct llentry *lle, struct sockaddr *sa) -{ - struct lltable *llt; - - llt = lle->lle_tbl; - - llt->llt_fill_sa_entry(lle, sa); -} - -int lla_rt_output(struct rt_msghdr *, struct rt_addrinfo *); - #include enum { LLENTRY_RESOLVED, @@ -290,4 +150,21 @@ enum { }; typedef void (*lle_event_fn)(void *, struct llentry *, int); EVENTHANDLER_DECLARE(lle_event, lle_event_fn); + +struct sysctl_req; +struct rt_msghdr; +struct rt_addrinfo; +int lltable_sysctl_dumparp(int af, struct sysctl_req *wr); +int lla_rt_output(struct rt_msghdr *, struct rt_addrinfo *); + +void lltable_fill_sa_entry(const struct llentry *lle, struct sockaddr *sa); +void lltable_prefix_free(int af, struct sockaddr *prefix, struct sockaddr *mask, + u_int flags); +struct ifnet *lltable_get_ifp(const struct lltable *llt); +int lltable_get_af(const struct lltable *llt); + +/* XXX: Remove after converting flowtable */ +struct llentry *llentry_alloc(struct ifnet *ifp, struct lltable *lt, + struct sockaddr_storage *dst); + #endif /* _NET_IF_LLATBL_H_ */ Added: projects/routing/sys/net/if_llatbl_var.h ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ projects/routing/sys/net/if_llatbl_var.h Sat Jan 3 16:04:28 2015 (r276624) @@ -0,0 +1,123 @@ +/* + * Copyright (c) 2014 Alexander V. Chernikov. 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 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 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. + */ +__FBSDID("$FreeBSD$"); + +#ifndef _NET_IF_LLATBL_VAR_H_ +#define _NET_IF_LLATBL_VAR_H_ + + +extern struct rwlock lltable_rwlock; +#define LLTABLE_RLOCK() rw_rlock(&lltable_rwlock) +#define LLTABLE_RUNLOCK() rw_runlock(&lltable_rwlock) +#define LLTABLE_WLOCK() rw_wlock(&lltable_rwlock) +#define LLTABLE_WUNLOCK() rw_wunlock(&lltable_rwlock) +#define LLTABLE_LOCK_ASSERT() rw_assert(&lltable_rwlock, RA_LOCKED) + +#ifndef LLTBL_HASHTBL_SIZE +#define LLTBL_HASHTBL_SIZE 32 /* default 32 ? */ +#endif + +#ifndef LLTBL_HASHMASK +#define LLTBL_HASHMASK (LLTBL_HASHTBL_SIZE - 1) +#endif + +#define LLATBL_HASH(key, mask) \ + (((((((key >> 8) ^ key) >> 8) ^ key) >> 8) ^ key) & mask) + +typedef struct llentry *(llt_lookup_t)(struct lltable *, u_int flags, + const void *paddr); +typedef struct llentry *(llt_create_t)(struct lltable *, u_int flags, + const void *paddr); +typedef int (llt_delete_addr_t)(struct lltable *, u_int flags, + const struct sockaddr *l3addr); +typedef int (llt_dump_entry_t)(struct lltable *, struct llentry *, + struct sysctl_req *); +typedef uint32_t (llt_hash_t)(const struct llentry *); +typedef int (llt_match_prefix_t)(const struct sockaddr *, + const struct sockaddr *, u_int, struct llentry *); +typedef void (llt_clear_entry_t)(struct lltable *, struct llentry *); +typedef void (llt_free_tbl_t)(struct lltable *); +typedef void (llt_link_entry_t)(struct lltable *, struct llentry *); +typedef void (llt_unlink_entry_t)(struct llentry *); +typedef int (llt_prepare_sentry_t)(struct lltable *, struct llentry *, + struct rt_addrinfo *); +typedef const void *(llt_get_sa_addr_t)(const struct sockaddr *l3addr); +typedef void (llt_fill_sa_entry_t)(const struct llentry *, struct sockaddr *); + +typedef int (llt_foreach_cb_t)(struct lltable *, struct llentry *, void *); +typedef int (llt_foreach_entry_t)(struct lltable *, llt_foreach_cb_t *, void *); + + +struct lltable { + SLIST_ENTRY(lltable) llt_link; + struct llentries lle_head[LLTBL_HASHTBL_SIZE]; + int llt_af; + struct ifnet *llt_ifp; + + llt_lookup_t *llt_lookup; + llt_create_t *llt_create; + llt_delete_addr_t *llt_delete_addr; + llt_dump_entry_t *llt_dump_entry; + llt_hash_t *llt_hash; + llt_match_prefix_t *llt_match_prefix; + llt_clear_entry_t *llt_clear_entry; + llt_foreach_entry_t *llt_foreach_entry; + llt_link_entry_t *llt_link_entry; + llt_unlink_entry_t *llt_unlink_entry; + llt_prepare_sentry_t *llt_prepare_static_entry; + llt_get_sa_addr_t *llt_get_sa_addr; + llt_fill_sa_entry_t *llt_fill_sa_entry; + llt_free_tbl_t *llt_free_tbl; +}; + +MALLOC_DECLARE(M_LLTABLE); + +void lltable_link(struct lltable *llt); +void lltable_free(struct lltable *llt); + +/* helper functions */ +size_t lltable_drop_entry_queue(struct llentry *); + +/* + * Generic link layer table methods. + */ + +static __inline struct llentry * +lltable_lookup_lle(struct lltable *llt, u_int flags, + const void *paddr) +{ + + return (llt->llt_lookup(llt, flags, paddr)); +} + +struct llentry *lltable_create_lle(struct lltable *llt, u_int flags, + const void *paddr); +int lltable_delete_addr(struct lltable *llt, u_int flags, + const struct sockaddr *l3addr); +void lltable_link_entry(struct lltable *llt, struct llentry *lle); +void lltable_unlink_entry(struct lltable *llt, struct llentry *lle); + + +#endif Modified: projects/routing/sys/net/rt_nhops.c ============================================================================== --- projects/routing/sys/net/rt_nhops.c Sat Jan 3 15:39:04 2015 (r276623) +++ projects/routing/sys/net/rt_nhops.c Sat Jan 3 16:04:28 2015 (r276624) @@ -74,6 +74,7 @@ #include #include +#include #include #include Modified: projects/routing/sys/netinet/if_ether.c ============================================================================== --- projects/routing/sys/netinet/if_ether.c Sat Jan 3 15:39:04 2015 (r276623) +++ projects/routing/sys/netinet/if_ether.c Sat Jan 3 16:04:28 2015 (r276624) @@ -66,6 +66,7 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include #ifdef INET #include Modified: projects/routing/sys/netinet/in.c ============================================================================== --- projects/routing/sys/netinet/in.c Sat Jan 3 15:39:04 2015 (r276623) +++ projects/routing/sys/netinet/in.c Sat Jan 3 16:04:28 2015 (r276624) @@ -56,6 +56,7 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include #include #include Modified: projects/routing/sys/netinet/toecore.c ============================================================================== --- projects/routing/sys/netinet/toecore.c Sat Jan 3 15:39:04 2015 (r276623) +++ projects/routing/sys/netinet/toecore.c Sat Jan 3 16:04:28 2015 (r276624) @@ -49,6 +49,7 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include #include @@ -397,8 +398,8 @@ toe_lle_event(void *arg __unused, struct LLE_WLOCK_ASSERT(lle); - ifp = lle->lle_tbl->llt_ifp; - sa_family = lle->lle_tbl->llt_af; + ifp = lltable_get_ifp(lle->lle_tbl); + sa_family = lltable_get_af(lle->lle_tbl); #if 0 /* XXX: Do not panic, ignore event instead */ Modified: projects/routing/sys/netinet6/in6.c ============================================================================== --- projects/routing/sys/netinet6/in6.c Sat Jan 3 15:39:04 2015 (r276623) +++ projects/routing/sys/netinet6/in6.c Sat Jan 3 16:04:28 2015 (r276624) @@ -95,6 +95,7 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include #include #include Modified: projects/routing/sys/netinet6/nd6.c ============================================================================== --- projects/routing/sys/netinet6/nd6.c Sat Jan 3 15:39:04 2015 (r276623) +++ projects/routing/sys/netinet6/nd6.c Sat Jan 3 16:04:28 2015 (r276624) @@ -68,6 +68,7 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include #include #include @@ -815,6 +816,15 @@ regen_tmpaddr(struct in6_ifaddr *ia6) return (-1); } + +struct llentry * +nd6_lookup(struct in6_addr *addr, u_int flags, struct ifnet *ifp) +{ + + return (lltable_lookup_lle(LLTABLE6(ifp), flags, addr)); +} + + /* * Nuke neighbor cache/prefix/default router management table, right before * ifp goes away. Modified: projects/routing/sys/netinet6/nd6.h ============================================================================== --- projects/routing/sys/netinet6/nd6.h Sat Jan 3 15:39:04 2015 (r276623) +++ projects/routing/sys/netinet6/nd6.h Sat Jan 3 16:04:28 2015 (r276624) @@ -403,7 +403,9 @@ _check_in6_addr_typecast(const struct in #define lltable_create_lle6(i, f, a) \ lltable_create_lle(LLTABLE6(i), (f), _check_in6_addr_typecast(a)) -#define nd6_lookup(a, f, i) lltable_lookup_lle6((i), (f), (a)) +struct llentry *nd6_lookup(struct in6_addr *addr, u_int flags, + struct ifnet *ifp); + #define ND6_EXCLUSIVE LLE_EXCLUSIVE From owner-svn-src-projects@FreeBSD.ORG Sat Jan 3 19:09:08 2015 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id BA3B1157; Sat, 3 Jan 2015 19:09:08 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id A696F3A73; Sat, 3 Jan 2015 19:09:08 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id t03J98je012475; Sat, 3 Jan 2015 19:09:08 GMT (envelope-from melifaro@FreeBSD.org) Received: (from melifaro@localhost) by svn.freebsd.org (8.14.9/8.14.9/Submit) id t03J973q012470; Sat, 3 Jan 2015 19:09:07 GMT (envelope-from melifaro@FreeBSD.org) Message-Id: <201501031909.t03J973q012470@svn.freebsd.org> X-Authentication-Warning: svn.freebsd.org: melifaro set sender to melifaro@FreeBSD.org using -f From: "Alexander V. Chernikov" Date: Sat, 3 Jan 2015 19:09:07 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r276631 - in projects/routing/sys: net netinet netinet6 X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 03 Jan 2015 19:09:08 -0000 Author: melifaro Date: Sat Jan 3 19:09:06 2015 New Revision: 276631 URL: https://svnweb.freebsd.org/changeset/base/276631 Log: * Use unified code for deleting entry by sockaddr instead of per-af one. * Remove now unused llt_delete_addr callback. Modified: projects/routing/sys/net/if_llatbl.c projects/routing/sys/net/if_llatbl_var.h projects/routing/sys/netinet/in.c projects/routing/sys/netinet6/in6.c Modified: projects/routing/sys/net/if_llatbl.c ============================================================================== --- projects/routing/sys/net/if_llatbl.c Sat Jan 3 18:38:46 2015 (r276630) +++ projects/routing/sys/net/if_llatbl.c Sat Jan 3 19:09:06 2015 (r276631) @@ -445,14 +445,6 @@ lltable_create_lle(struct lltable *llt, return (llt->llt_create(llt, flags, paddr)); } -int -lltable_delete_addr(struct lltable *llt, u_int flags, - const struct sockaddr *l3addr) -{ - - return llt->llt_delete_addr(llt, flags, l3addr); -} - void lltable_link_entry(struct lltable *llt, struct llentry *lle) { @@ -581,8 +573,34 @@ lla_rt_output(struct rt_msghdr *rtm, str break; case RTM_DELETE: - error = lltable_delete_addr(llt, 0, dst); - return (error == 0 ? 0 : ENOENT); + l3addr = llt->llt_get_sa_addr(dst); + + IF_AFDATA_CFG_WLOCK(ifp); + lle = lltable_lookup_lle(llt, LLE_UNLOCKED, l3addr); + + if (lle == NULL) { + IF_AFDATA_CFG_WUNLOCK(ifp); + return (ENOENT); + } + + /* Skipping LLE_IFADDR record */ + if ((lle->la_flags & LLE_IFADDR) != 0) { + IF_AFDATA_CFG_WUNLOCK(ifp); + return (0); + } + + LLE_WLOCK(lle); + IF_AFDATA_RUN_WLOCK(ifp); + lltable_unlink_entry(llt, lle); + IF_AFDATA_RUN_WUNLOCK(ifp); + IF_AFDATA_CFG_WUNLOCK(ifp); + +#ifdef DIAGNOSTIC + log(LOG_INFO, "ifaddr cache = %p is deleted\n", lle); +#endif + EVENTHANDLER_INVOKE(lle_event, lle, LLENTRY_DELETED); + llt->llt_clear_entry(llt, lle); + break; default: error = EINVAL; Modified: projects/routing/sys/net/if_llatbl_var.h ============================================================================== --- projects/routing/sys/net/if_llatbl_var.h Sat Jan 3 18:38:46 2015 (r276630) +++ projects/routing/sys/net/if_llatbl_var.h Sat Jan 3 19:09:06 2015 (r276631) @@ -50,8 +50,6 @@ typedef struct llentry *(llt_lookup_t)(s const void *paddr); typedef struct llentry *(llt_create_t)(struct lltable *, u_int flags, const void *paddr); -typedef int (llt_delete_addr_t)(struct lltable *, u_int flags, - const struct sockaddr *l3addr); typedef int (llt_dump_entry_t)(struct lltable *, struct llentry *, struct sysctl_req *); typedef uint32_t (llt_hash_t)(const struct llentry *); @@ -78,7 +76,6 @@ struct lltable { llt_lookup_t *llt_lookup; llt_create_t *llt_create; - llt_delete_addr_t *llt_delete_addr; llt_dump_entry_t *llt_dump_entry; llt_hash_t *llt_hash; llt_match_prefix_t *llt_match_prefix; @@ -114,8 +111,6 @@ lltable_lookup_lle(struct lltable *llt, struct llentry *lltable_create_lle(struct lltable *llt, u_int flags, const void *paddr); -int lltable_delete_addr(struct lltable *llt, u_int flags, - const struct sockaddr *l3addr); void lltable_link_entry(struct lltable *llt, struct llentry *lle); void lltable_unlink_entry(struct lltable *llt, struct llentry *lle); Modified: projects/routing/sys/netinet/in.c ============================================================================== --- projects/routing/sys/netinet/in.c Sat Jan 3 18:38:46 2015 (r276630) +++ projects/routing/sys/netinet/in.c Sat Jan 3 19:09:06 2015 (r276631) @@ -1138,50 +1138,6 @@ in_lltable_find_dst(struct lltable *llt, return (lle); } -static int -in_lltable_delete(struct lltable *llt, u_int flags, - const struct sockaddr *l3addr) -{ - const struct sockaddr_in *sin = (const struct sockaddr_in *)l3addr; - struct ifnet *ifp = llt->llt_ifp; - struct llentry *lle; - - IF_AFDATA_CFG_UNLOCK_ASSERT(ifp); - KASSERT(l3addr->sa_family == AF_INET, - ("sin_family %d", l3addr->sa_family)); - - IF_AFDATA_CFG_WLOCK(ifp); - lle = in_lltable_find_dst(llt, sin->sin_addr); - if (lle == NULL) { - IF_AFDATA_CFG_WUNLOCK(ifp); -#ifdef DIAGNOSTIC - log(LOG_INFO, "interface address is missing from cache = %p\n", - lle); -#endif - return (ENOENT); - } - - /* Skipping LLE_IFADDR record */ - if ((lle->la_flags & LLE_IFADDR) != 0 && (flags & LLE_IFADDR) == 0) { - IF_AFDATA_CFG_WUNLOCK(ifp); - return (0); - } - - LLE_WLOCK(lle); - IF_AFDATA_RUN_WLOCK(ifp); - lltable_unlink_entry(llt, lle); - IF_AFDATA_RUN_WUNLOCK(ifp); - IF_AFDATA_CFG_WUNLOCK(ifp); - - EVENTHANDLER_INVOKE(lle_event, lle, LLENTRY_DELETED); -#ifdef DIAGNOSTIC - log(LOG_INFO, "ifaddr cache = %p is deleted\n", lle); -#endif - llt->llt_clear_entry(llt, lle); - - return (0); -} - static struct llentry * in_lltable_create(struct lltable *llt, u_int flags, const void *paddr) { @@ -1315,7 +1271,6 @@ in_domifattach(struct ifnet *ifp) llt->llt_lookup = in_lltable_lookup; llt->llt_create = in_lltable_create; - llt->llt_delete_addr = in_lltable_delete; llt->llt_dump_entry = in_lltable_dump_entry; llt->llt_hash = in_lltable_hash; llt->llt_get_sa_addr = in_lltable_get_sa_addr; Modified: projects/routing/sys/netinet6/in6.c ============================================================================== --- projects/routing/sys/netinet6/in6.c Sat Jan 3 18:38:46 2015 (r276630) +++ projects/routing/sys/netinet6/in6.c Sat Jan 3 19:09:06 2015 (r276631) @@ -2185,49 +2185,6 @@ in6_lltable_find_dst(struct lltable *llt return (lle); } -static int -in6_lltable_delete(struct lltable *llt, u_int flags, - const struct sockaddr *l3addr) -{ - const struct sockaddr_in6 *sin6 = (const struct sockaddr_in6 *)l3addr; - struct ifnet *ifp; - struct llentry *lle; - - ifp = llt->llt_ifp; - - IF_AFDATA_CFG_UNLOCK_ASSERT(ifp); - KASSERT(l3addr->sa_family == AF_INET6, - ("sin_family %d", l3addr->sa_family)); - - IF_AFDATA_CFG_WLOCK(ifp); - lle = in6_lltable_find_dst(llt, &sin6->sin6_addr); - - if (lle == NULL) { - IF_AFDATA_CFG_WUNLOCK(ifp); - return (ENOENT); - } - - /* Skipping LLE_IFADDR record */ - if ((lle->la_flags & LLE_IFADDR) != 0 && (flags & LLE_IFADDR) == 0) { - IF_AFDATA_CFG_WUNLOCK(ifp); - return (0); - } - - LLE_WLOCK(lle); - IF_AFDATA_RUN_WLOCK(ifp); - lltable_unlink_entry(llt, lle); - IF_AFDATA_RUN_WUNLOCK(ifp); - IF_AFDATA_CFG_WUNLOCK(ifp); - -#ifdef DIAGNOSTIC - log(LOG_INFO, "ifaddr cache = %p is deleted\n", lle); -#endif - EVENTHANDLER_INVOKE(lle_event, lle, LLENTRY_DELETED); - llt->llt_clear_entry(llt, lle); - - return (0); -} - static struct llentry * in6_lltable_create(struct lltable *llt, u_int flags, const void *paddr) @@ -2389,7 +2346,6 @@ in6_domifattach(struct ifnet *ifp) llt->llt_lookup = in6_lltable_lookup; llt->llt_create = in6_lltable_create; - llt->llt_delete_addr = in6_lltable_delete; llt->llt_dump_entry = in6_lltable_dump_entry; llt->llt_hash = in6_lltable_hash; llt->llt_get_sa_addr = in6_lltable_get_sa_addr;