From b41bc87bfc60d65d12dd07c2f6a2ee4dfe06c6e7 Mon Sep 17 00:00:00 2001 From: pfg Date: Wed, 24 Feb 2016 16:52:03 +0000 Subject: db(3): Fix aliasing warnings from modern GCC. Obtained from: NetBSD (CVS Rev. 1.20) --- lib/libc/db/btree/bt_split.c | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) (limited to 'lib') diff --git a/lib/libc/db/btree/bt_split.c b/lib/libc/db/btree/bt_split.c index f0db406..d42105d 100644 --- a/lib/libc/db/btree/bt_split.c +++ b/lib/libc/db/btree/bt_split.c @@ -236,9 +236,12 @@ __bt_split(BTREE *t, PAGE *sp, const DBT *key, const DBT *data, int flags, WR_BINTERNAL(dest, nksize ? nksize : bl->ksize, rchild->pgno, bl->flags & P_BIGKEY); memmove(dest, bl->bytes, nksize ? nksize : bl->ksize); - if (bl->flags & P_BIGKEY && - bt_preserve(t, *(pgno_t *)bl->bytes) == RET_ERROR) - goto err1; + if (bl->flags & P_BIGKEY) { + pgno_t pgno; + memcpy(&pgno, bl->bytes, sizeof(pgno)); + if (bt_preserve(t, pgno) == RET_ERROR) + goto err1; + } break; case P_RINTERNAL: /* @@ -544,9 +547,12 @@ bt_broot(BTREE *t, PAGE *h, PAGE *l, PAGE *r) * If the key is on an overflow page, mark the overflow chain * so it isn't deleted when the leaf copy of the key is deleted. */ - if (bl->flags & P_BIGKEY && - bt_preserve(t, *(pgno_t *)bl->bytes) == RET_ERROR) - return (RET_ERROR); + if (bl->flags & P_BIGKEY) { + pgno_t pgno; + memcpy(&pgno, bl->bytes, sizeof(pgno)); + if (bt_preserve(t, pgno) == RET_ERROR) + return (RET_ERROR); + } break; case P_BINTERNAL: bi = GETBINTERNAL(r, 0); -- cgit v1.1 From 78f743cc52efa55a9320befa717483937ebd1104 Mon Sep 17 00:00:00 2001 From: pfg Date: Wed, 24 Feb 2016 17:14:11 +0000 Subject: db(3): Fix aliasing warnings from modern GCC. While here also drop a malloc cast. Obtained from: NetBSD (CVS Rev. 1.18 - 1.20) --- lib/libc/db/recno/rec_put.c | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) (limited to 'lib') diff --git a/lib/libc/db/recno/rec_put.c b/lib/libc/db/recno/rec_put.c index 441cced..68e6e85 100644 --- a/lib/libc/db/recno/rec_put.c +++ b/lib/libc/db/recno/rec_put.c @@ -140,8 +140,7 @@ einval: errno = EINVAL; return (RET_ERROR); if (nrec > t->bt_nrecs + 1) { if (F_ISSET(t, R_FIXLEN)) { - if ((tdata.data = - (void *)malloc(t->bt_reclen)) == NULL) + if ((tdata.data = malloc(t->bt_reclen)) == NULL) return (RET_ERROR); tdata.size = t->bt_reclen; memset(tdata.data, t->bt_bval, tdata.size); @@ -208,7 +207,7 @@ __rec_iput(BTREE *t, recno_t nrec, const DBT *data, u_int flags) return (RET_ERROR); tdata.data = db; tdata.size = NOVFLSIZE; - *(pgno_t *)db = pg; + memcpy(db, &pg, sizeof(pg)); *(u_int32_t *)(db + sizeof(pgno_t)) = data->size; dflags = P_BIGDATA; data = &tdata; -- cgit v1.1 From b6e8f9c3c9fcf569619d378a4a843543699d85b9 Mon Sep 17 00:00:00 2001 From: bdrewery Date: Wed, 24 Feb 2016 17:18:35 +0000 Subject: DIRDEPS_BUILD: Update dependencies. Sponsored by: EMC / Isilon Storage Division --- lib/libcxxrt/Makefile.depend.host | 1 - 1 file changed, 1 deletion(-) (limited to 'lib') diff --git a/lib/libcxxrt/Makefile.depend.host b/lib/libcxxrt/Makefile.depend.host index 971c379..f80275d 100644 --- a/lib/libcxxrt/Makefile.depend.host +++ b/lib/libcxxrt/Makefile.depend.host @@ -2,7 +2,6 @@ # Autogenerated - do NOT edit! DIRDEPS = \ - usr.bin/clang/clang \ .include -- cgit v1.1 From 8501e83329accc052b6462596887a5e684460144 Mon Sep 17 00:00:00 2001 From: bdrewery Date: Wed, 24 Feb 2016 17:19:18 +0000 Subject: FAST_DEPEND: Always run depend via beforebuild which removes many hacks. This will generate dependencies rather than depending on the previous behavior of depending on the guessed OBJS: *.h dependecies or a user running 'make depend'. Experimentation showed that depending only on headers was not enough and prone to .ORDER errors. Downstream users may also have added dependencies into beforedepend or afterdepend targets. The safest way to ensure dependencies are generated before build is to run 'make depend' beforehand rather than just depending on DPSRCS+SRCS. Note that the OBJS_DEPEND_GUESS mechanism (a.k.a .if !exists(.depend) then foo.o: *.h) is still useful as it improves incremental builds with missing .depend.* files and allows 'make foo.o' to usually work, while this 'beforebuild: depend' ensures that the build will always find all dependencies. The 'make foo.o' case has no means of a 'beforebuild' hook. This also removes several hacks in the DIRDEPS_BUILD: - NO_INSTALL_INCLUDES is no longer needed as it mostly was to work around .ORDER problems with building the needed headers early. - DIRDEPS_BUILD: It is no longer necesarry to track "local dependencies" in Makefile.depend. These were only in Makefile.depend for 'clean builds' since nothing would generate the files due to skipping 'make depend' and early dependency bugs that have been fixed, such as adding headers into SRCS for the OBJS_DEPEND_GUESS mechanism. Normally if a .depend file does not exist then a dependency is added by bsd.lib.mk/bsd.prog.mk from OBJS: *.h. However, meta.autodep.mk creates a .depend file from created meta files and inserts that into Makefile.depend. It also only tracks *.[ch] files though which can miss some dependencies that are hooked into 'make depend'. This .depend that is created then breaks incremental builds due to the !exists(.depend) checks for OBJS_DEPEND_GUESS. The goal was to skip 'make depend' yet it only really works the first time. After that files are not generated as expected, which r288966 tried to address but was using buildfiles: rather than beforebuild: and was reverted in r291725. As noted previously, depending only on headers in beforebuild: would create .ORDER errors in some cases. meta.autodep.mk is still used to generate Makefile.depend though via: gendirdeps: Makefile.depend .END: gendirdeps This commit allows removing all of the "local dependencies" in Makefile.depend which cuts down on churn and removes some of the arch-dependent Makefile.depend files. The "local dependencies" were also problematic for bootstrapping. Sponsored by: EMC / Isilon Storage Division --- lib/clang/clang.build.mk | 4 ---- 1 file changed, 4 deletions(-) (limited to 'lib') diff --git a/lib/clang/clang.build.mk b/lib/clang/clang.build.mk index e90bd3f..62cdb81 100644 --- a/lib/clang/clang.build.mk +++ b/lib/clang/clang.build.mk @@ -237,7 +237,3 @@ Checkers.inc.h: ${CLANG_SRCS}/lib/StaticAnalyzer/Checkers/Checkers.td SRCS+= ${TGHDRS:C/$/.inc.h/} CLEANFILES+= ${TGHDRS:C/$/.inc.h/} ${TGHDRS:C/$/.inc.d/} - -# if we are not doing explicit 'make depend', there is -# nothing to cause these to be generated. -beforebuild: ${SRCS:M*.inc.h} -- cgit v1.1 From 2a891f1feb2e67ab5fdbb473405797c2efc34caf Mon Sep 17 00:00:00 2001 From: bdrewery Date: Wed, 24 Feb 2016 17:20:11 +0000 Subject: DIRDEPS_BUILD: Regenerate without local dependencies. These are no longer needed after the recent 'beforebuild: depend' changes and hooking DIRDEPS_BUILD into a subset of FAST_DEPEND which supports skipping 'make depend'. Sponsored by: EMC / Isilon Storage Division --- lib/clang/libclanganalysis/Makefile.depend | 174 -- lib/clang/libclangarcmigrate/Makefile.depend | 270 --- lib/clang/libclangast/Makefile.depend | 608 ----- lib/clang/libclangbasic/Makefile.depend | 52 - lib/clang/libclangcodegen/Makefile.depend | 618 ----- lib/clang/libclangdriver/Makefile.depend | 58 - lib/clang/libclangedit/Makefile.depend | 10 - lib/clang/libclangfrontend/Makefile.depend | 208 -- lib/clang/libclangfrontendtool/Makefile.depend | 12 - lib/clang/libclanglex/Makefile.depend | 68 - lib/clang/libclangparse/Makefile.depend | 238 -- lib/clang/libclangrewrite/Makefile.depend | 4 - lib/clang/libclangrewritefrontend/Makefile.depend | 34 - lib/clang/libclangsema/Makefile.depend | 706 ------ lib/clang/libclangserialization/Makefile.depend | 116 - .../libclangstaticanalyzercheckers/Makefile.depend | 766 ------ .../libclangstaticanalyzercore/Makefile.depend | 326 --- .../libclangstaticanalyzerfrontend/Makefile.depend | 50 - lib/clang/liblldbAPI/Makefile.depend | 148 -- lib/clang/liblldbBreakpoint/Makefile.depend | 26 - lib/clang/liblldbCommands/Makefile.depend | 58 - lib/clang/liblldbCore/Makefile.depend | 112 - lib/clang/liblldbDataFormatters/Makefile.depend | 206 -- lib/clang/liblldbExpression/Makefile.depend | 158 -- lib/clang/liblldbInterpreter/Makefile.depend | 114 - lib/clang/liblldbPluginABISysV_arm/Makefile.depend | 8 - .../liblldbPluginABISysV_arm64/Makefile.depend | 8 - .../liblldbPluginABISysV_i386/Makefile.depend | 8 - .../liblldbPluginABISysV_mips/Makefile.depend | 8 - .../liblldbPluginABISysV_mips64/Makefile.depend | 8 - lib/clang/liblldbPluginABISysV_ppc/Makefile.depend | 8 - .../liblldbPluginABISysV_ppc64/Makefile.depend | 8 - .../liblldbPluginABISysV_x86_64/Makefile.depend | 8 - .../liblldbPluginCXXItaniumABI/Makefile.depend | 8 - .../Makefile.depend | 2 - .../Makefile.depend | 2 - .../liblldbPluginJITLoaderGDB/Makefile.depend | 2 - .../liblldbPluginMemoryHistoryASan/Makefile.depend | 2 - .../liblldbPluginProcessFreeBSD/Makefile.depend | 4 - .../liblldbPluginProcessGDBRemote/Makefile.depend | 14 - .../liblldbPluginProcessUtility/Makefile.depend | 32 - .../liblldbPluginSymbolFileDWARF/Makefile.depend | 182 -- .../liblldbPluginSymbolFileSymtab/Makefile.depend | 4 - .../liblldbPluginSymbolVendorELF/Makefile.depend | 2 - lib/clang/liblldbSymbol/Makefile.depend | 104 - lib/clang/liblldbTarget/Makefile.depend | 78 - lib/clang/libllvmaarch64asmparser/Makefile.depend | 8 - lib/clang/libllvmaarch64codegen/Makefile.depend | 190 -- lib/clang/libllvmaarch64desc/Makefile.depend | 32 - .../libllvmaarch64disassembler/Makefile.depend | 14 - .../libllvmaarch64instprinter/Makefile.depend | 10 - lib/clang/libllvmaarch64utils/Makefile.depend | 6 - lib/clang/libllvmanalysis/Makefile.depend | 48 - lib/clang/libllvmarmasmparser/Makefile.depend | 8 - lib/clang/libllvmarmcodegen/Makefile.depend | 194 -- lib/clang/libllvmarmdesc/Makefile.depend | 50 - lib/clang/libllvmarmdisassembler/Makefile.depend | 8 - lib/clang/libllvmarminfo/Makefile.depend | 6 - lib/clang/libllvmarminstprinter/Makefile.depend | 8 - lib/clang/libllvmasmprinter/Makefile.depend | 2 - lib/clang/libllvmbitreader/Makefile.depend | 2 - lib/clang/libllvmcodegen/Makefile.depend | 30 - lib/clang/libllvmcore/Makefile.depend | 26 - lib/clang/libllvminstcombine/Makefile.depend | 26 - lib/clang/libllvminstrumentation/Makefile.depend | 16 - lib/clang/libllvminterpreter/Makefile.depend | 6 - lib/clang/libllvmipa/Makefile.depend | 10 - lib/clang/libllvmipo/Makefile.depend | 20 - lib/clang/libllvmlibdriver/Makefile.depend | 2 - lib/clang/libllvmlto/Makefile.depend | 2 - lib/clang/libllvmmipsasmparser/Makefile.depend | 8 - lib/clang/libllvmmipscodegen/Makefile.depend | 248 -- lib/clang/libllvmmipsdesc/Makefile.depend | 56 - lib/clang/libllvmmipsdisassembler/Makefile.depend | 8 - lib/clang/libllvmmipsinfo/Makefile.depend | 6 - lib/clang/libllvmmipsinstprinter/Makefile.depend | 8 - lib/clang/libllvmobjcarcopts/Makefile.depend | 2 - lib/clang/libllvmpasses/Makefile.depend | 2 - lib/clang/libllvmpowerpcasmparser/Makefile.depend | 8 - lib/clang/libllvmpowerpccodegen/Makefile.depend | 156 -- lib/clang/libllvmpowerpcdesc/Makefile.depend | 32 - .../libllvmpowerpcdisassembler/Makefile.depend | 8 - lib/clang/libllvmpowerpcinfo/Makefile.depend | 6 - .../libllvmpowerpcinstprinter/Makefile.depend | 8 - lib/clang/libllvmscalaropts/Makefile.depend | 76 - lib/clang/libllvmselectiondag/Makefile.depend | 14 - lib/clang/libllvmsparcasmparser/Makefile.depend | 8 - lib/clang/libllvmsparccodegen/Makefile.depend | 66 - lib/clang/libllvmsparcdesc/Makefile.depend | 26 - lib/clang/libllvmsparcdisassembler/Makefile.depend | 8 - lib/clang/libllvmsparcinfo/Makefile.depend | 6 - lib/clang/libllvmsparcinstprinter/Makefile.depend | 8 - lib/clang/libllvmtarget/Makefile.depend | 4 - lib/clang/libllvmtransformutils/Makefile.depend | 30 - lib/clang/libllvmvectorize/Makefile.depend | 6 - lib/clang/libllvmx86asmparser/Makefile.depend | 14 - lib/clang/libllvmx86codegen/Makefile.depend | 130 - lib/clang/libllvmx86desc/Makefile.depend | 54 - lib/clang/libllvmx86disassembler/Makefile.depend | 8 - lib/clang/libllvmx86info/Makefile.depend | 6 - lib/clang/libllvmx86instprinter/Makefile.depend | 22 - lib/libc++/Makefile.depend | 18 - lib/libc/Makefile.depend | 153 -- lib/libdwarf/Makefile.depend | 33 - lib/libedit/Makefile.depend | 45 - lib/libelf/Makefile.depend | 9 - lib/libfetch/Makefile.depend | 6 - lib/libipsec/Makefile.depend | 9 - lib/libmd/Makefile.depend | 24 - lib/libmilter/Makefile.depend | 36 - lib/libpcap/Makefile.depend | 15 - lib/librpcsvc/Makefile.depend | 42 - lib/libsm/Makefile.depend | 138 -- lib/libsmdb/Makefile.depend | 8 - lib/libsmutil/Makefile.depend | 12 - lib/libstand/Makefile.depend | 42 - lib/libsysdecode/Makefile.depend | 3 - lib/libunbound/Makefile.depend | 12 - lib/libypclnt/Makefile.depend | 33 - lib/ncurses/form/Makefile.depend | 117 - lib/ncurses/formw/Makefile.depend | 117 - lib/ncurses/menu/Makefile.depend | 78 - lib/ncurses/menuw/Makefile.depend | 78 - lib/ncurses/ncurses/Makefile.depend | 1779 -------------- lib/ncurses/ncursesw/Makefile.depend | 2511 -------------------- lib/ncurses/panel/Makefile.depend | 45 - lib/ncurses/panelw/Makefile.depend | 45 - 127 files changed, 12814 deletions(-) (limited to 'lib') diff --git a/lib/clang/libclanganalysis/Makefile.depend b/lib/clang/libclanganalysis/Makefile.depend index a3f2b86..264ede1 100644 --- a/lib/clang/libclanganalysis/Makefile.depend +++ b/lib/clang/libclanganalysis/Makefile.depend @@ -13,178 +13,4 @@ DIRDEPS = \ .if ${DEP_RELDIR} == ${_DEP_RELDIR} # local dependencies - needed for -jN in clean tree -AnalysisDeclContext.o: AttrList.inc.h -AnalysisDeclContext.o: Attrs.inc.h -AnalysisDeclContext.o: CommentCommandList.inc.h -AnalysisDeclContext.o: DeclNodes.inc.h -AnalysisDeclContext.o: DiagnosticCommonKinds.inc.h -AnalysisDeclContext.o: StmtNodes.inc.h -AnalysisDeclContext.po: AttrList.inc.h -AnalysisDeclContext.po: Attrs.inc.h -AnalysisDeclContext.po: CommentCommandList.inc.h -AnalysisDeclContext.po: DeclNodes.inc.h -AnalysisDeclContext.po: DiagnosticCommonKinds.inc.h -AnalysisDeclContext.po: StmtNodes.inc.h -BodyFarm.o: CommentCommandList.inc.h -BodyFarm.o: DeclNodes.inc.h -BodyFarm.o: DiagnosticCommonKinds.inc.h -BodyFarm.o: StmtNodes.inc.h -BodyFarm.po: CommentCommandList.inc.h -BodyFarm.po: DeclNodes.inc.h -BodyFarm.po: DiagnosticCommonKinds.inc.h -BodyFarm.po: StmtNodes.inc.h -CFG.o: AttrList.inc.h -CFG.o: Attrs.inc.h -CFG.o: CommentCommandList.inc.h -CFG.o: DeclNodes.inc.h -CFG.o: DiagnosticCommonKinds.inc.h -CFG.o: StmtNodes.inc.h -CFG.po: AttrList.inc.h -CFG.po: Attrs.inc.h -CFG.po: CommentCommandList.inc.h -CFG.po: DeclNodes.inc.h -CFG.po: DiagnosticCommonKinds.inc.h -CFG.po: StmtNodes.inc.h -CFGReachabilityAnalysis.o: StmtNodes.inc.h -CFGReachabilityAnalysis.po: StmtNodes.inc.h -CFGStmtMap.o: StmtNodes.inc.h -CFGStmtMap.po: StmtNodes.inc.h -CallGraph.o: AttrList.inc.h -CallGraph.o: AttrVisitor.inc.h -CallGraph.o: Attrs.inc.h -CallGraph.o: CommentCommandList.inc.h -CallGraph.o: DeclNodes.inc.h -CallGraph.o: DiagnosticCommonKinds.inc.h -CallGraph.o: StmtNodes.inc.h -CallGraph.po: AttrList.inc.h -CallGraph.po: AttrVisitor.inc.h -CallGraph.po: Attrs.inc.h -CallGraph.po: CommentCommandList.inc.h -CallGraph.po: DeclNodes.inc.h -CallGraph.po: DiagnosticCommonKinds.inc.h -CallGraph.po: StmtNodes.inc.h -CocoaConventions.o: DeclNodes.inc.h -CocoaConventions.o: DiagnosticCommonKinds.inc.h -CocoaConventions.po: DeclNodes.inc.h -CocoaConventions.po: DiagnosticCommonKinds.inc.h -Consumed.o: AttrList.inc.h -Consumed.o: AttrVisitor.inc.h -Consumed.o: Attrs.inc.h -Consumed.o: CommentCommandList.inc.h -Consumed.o: DeclNodes.inc.h -Consumed.o: DiagnosticCommonKinds.inc.h -Consumed.o: StmtNodes.inc.h -Consumed.po: AttrList.inc.h -Consumed.po: AttrVisitor.inc.h -Consumed.po: Attrs.inc.h -Consumed.po: CommentCommandList.inc.h -Consumed.po: DeclNodes.inc.h -Consumed.po: DiagnosticCommonKinds.inc.h -Consumed.po: StmtNodes.inc.h -Dominators.o: DeclNodes.inc.h -Dominators.o: DiagnosticCommonKinds.inc.h -Dominators.o: StmtNodes.inc.h -Dominators.po: DeclNodes.inc.h -Dominators.po: DiagnosticCommonKinds.inc.h -Dominators.po: StmtNodes.inc.h -FormatString.o: CommentCommandList.inc.h -FormatString.o: DeclNodes.inc.h -FormatString.o: DiagnosticCommonKinds.inc.h -FormatString.o: StmtNodes.inc.h -FormatString.po: CommentCommandList.inc.h -FormatString.po: DeclNodes.inc.h -FormatString.po: DiagnosticCommonKinds.inc.h -FormatString.po: StmtNodes.inc.h -LiveVariables.o: DeclNodes.inc.h -LiveVariables.o: DiagnosticCommonKinds.inc.h -LiveVariables.o: StmtNodes.inc.h -LiveVariables.po: DeclNodes.inc.h -LiveVariables.po: DiagnosticCommonKinds.inc.h -LiveVariables.po: StmtNodes.inc.h -ObjCNoReturn.o: CommentCommandList.inc.h -ObjCNoReturn.o: DeclNodes.inc.h -ObjCNoReturn.o: DiagnosticCommonKinds.inc.h -ObjCNoReturn.o: StmtNodes.inc.h -ObjCNoReturn.po: CommentCommandList.inc.h -ObjCNoReturn.po: DeclNodes.inc.h -ObjCNoReturn.po: DiagnosticCommonKinds.inc.h -ObjCNoReturn.po: StmtNodes.inc.h -PostOrderCFGView.o: DeclNodes.inc.h -PostOrderCFGView.o: DiagnosticCommonKinds.inc.h -PostOrderCFGView.o: StmtNodes.inc.h -PostOrderCFGView.po: DeclNodes.inc.h -PostOrderCFGView.po: DiagnosticCommonKinds.inc.h -PostOrderCFGView.po: StmtNodes.inc.h -PrintfFormatString.o: CommentCommandList.inc.h -PrintfFormatString.o: DeclNodes.inc.h -PrintfFormatString.o: DiagnosticCommonKinds.inc.h -PrintfFormatString.o: StmtNodes.inc.h -PrintfFormatString.po: CommentCommandList.inc.h -PrintfFormatString.po: DeclNodes.inc.h -PrintfFormatString.po: DiagnosticCommonKinds.inc.h -PrintfFormatString.po: StmtNodes.inc.h -ProgramPoint.o: DeclNodes.inc.h -ProgramPoint.o: DiagnosticCommonKinds.inc.h -ProgramPoint.o: StmtNodes.inc.h -ProgramPoint.po: DeclNodes.inc.h -ProgramPoint.po: DiagnosticCommonKinds.inc.h -ProgramPoint.po: StmtNodes.inc.h -PseudoConstantAnalysis.o: DeclNodes.inc.h -PseudoConstantAnalysis.o: DiagnosticCommonKinds.inc.h -PseudoConstantAnalysis.o: StmtNodes.inc.h -PseudoConstantAnalysis.po: DeclNodes.inc.h -PseudoConstantAnalysis.po: DiagnosticCommonKinds.inc.h -PseudoConstantAnalysis.po: StmtNodes.inc.h -ReachableCode.o: DeclNodes.inc.h -ReachableCode.o: DiagnosticCommonKinds.inc.h -ReachableCode.o: StmtNodes.inc.h -ReachableCode.po: DeclNodes.inc.h -ReachableCode.po: DiagnosticCommonKinds.inc.h -ReachableCode.po: StmtNodes.inc.h -ScanfFormatString.o: CommentCommandList.inc.h -ScanfFormatString.o: DeclNodes.inc.h -ScanfFormatString.o: DiagnosticCommonKinds.inc.h -ScanfFormatString.o: StmtNodes.inc.h -ScanfFormatString.po: CommentCommandList.inc.h -ScanfFormatString.po: DeclNodes.inc.h -ScanfFormatString.po: DiagnosticCommonKinds.inc.h -ScanfFormatString.po: StmtNodes.inc.h -ThreadSafety.o: AttrList.inc.h -ThreadSafety.o: Attrs.inc.h -ThreadSafety.o: DeclNodes.inc.h -ThreadSafety.o: DiagnosticCommonKinds.inc.h -ThreadSafety.o: StmtNodes.inc.h -ThreadSafety.po: AttrList.inc.h -ThreadSafety.po: Attrs.inc.h -ThreadSafety.po: DeclNodes.inc.h -ThreadSafety.po: DiagnosticCommonKinds.inc.h -ThreadSafety.po: StmtNodes.inc.h -ThreadSafetyCommon.o: AttrList.inc.h -ThreadSafetyCommon.o: Attrs.inc.h -ThreadSafetyCommon.o: DeclNodes.inc.h -ThreadSafetyCommon.o: DiagnosticCommonKinds.inc.h -ThreadSafetyCommon.o: StmtNodes.inc.h -ThreadSafetyCommon.po: AttrList.inc.h -ThreadSafetyCommon.po: Attrs.inc.h -ThreadSafetyCommon.po: DeclNodes.inc.h -ThreadSafetyCommon.po: DiagnosticCommonKinds.inc.h -ThreadSafetyCommon.po: StmtNodes.inc.h -ThreadSafetyTIL.o: DeclNodes.inc.h -ThreadSafetyTIL.o: DiagnosticCommonKinds.inc.h -ThreadSafetyTIL.o: StmtNodes.inc.h -ThreadSafetyTIL.po: DeclNodes.inc.h -ThreadSafetyTIL.po: DiagnosticCommonKinds.inc.h -ThreadSafetyTIL.po: StmtNodes.inc.h -UninitializedValues.o: AttrList.inc.h -UninitializedValues.o: Attrs.inc.h -UninitializedValues.o: CommentCommandList.inc.h -UninitializedValues.o: DeclNodes.inc.h -UninitializedValues.o: DiagnosticCommonKinds.inc.h -UninitializedValues.o: StmtNodes.inc.h -UninitializedValues.po: AttrList.inc.h -UninitializedValues.po: Attrs.inc.h -UninitializedValues.po: CommentCommandList.inc.h -UninitializedValues.po: DeclNodes.inc.h -UninitializedValues.po: DiagnosticCommonKinds.inc.h -UninitializedValues.po: StmtNodes.inc.h .endif diff --git a/lib/clang/libclangarcmigrate/Makefile.depend b/lib/clang/libclangarcmigrate/Makefile.depend index 70e0854..264ede1 100644 --- a/lib/clang/libclangarcmigrate/Makefile.depend +++ b/lib/clang/libclangarcmigrate/Makefile.depend @@ -13,274 +13,4 @@ DIRDEPS = \ .if ${DEP_RELDIR} == ${_DEP_RELDIR} # local dependencies - needed for -jN in clean tree -ARCMT.o: AttrList.inc.h -ARCMT.o: AttrParsedAttrList.inc.h -ARCMT.o: Attrs.inc.h -ARCMT.o: CommentCommandList.inc.h -ARCMT.o: DeclNodes.inc.h -ARCMT.o: DiagnosticCommonKinds.inc.h -ARCMT.o: DiagnosticGroups.inc.h -ARCMT.o: DiagnosticSemaKinds.inc.h -ARCMT.o: StmtNodes.inc.h -ARCMT.po: AttrList.inc.h -ARCMT.po: AttrParsedAttrList.inc.h -ARCMT.po: Attrs.inc.h -ARCMT.po: CommentCommandList.inc.h -ARCMT.po: DeclNodes.inc.h -ARCMT.po: DiagnosticCommonKinds.inc.h -ARCMT.po: DiagnosticGroups.inc.h -ARCMT.po: DiagnosticSemaKinds.inc.h -ARCMT.po: StmtNodes.inc.h -ARCMTActions.o: CommentCommandList.inc.h -ARCMTActions.o: DeclNodes.inc.h -ARCMTActions.o: DiagnosticCommonKinds.inc.h -ARCMTActions.o: StmtNodes.inc.h -ARCMTActions.po: CommentCommandList.inc.h -ARCMTActions.po: DeclNodes.inc.h -ARCMTActions.po: DiagnosticCommonKinds.inc.h -ARCMTActions.po: StmtNodes.inc.h -FileRemapper.o: DiagnosticCommonKinds.inc.h -FileRemapper.po: DiagnosticCommonKinds.inc.h -ObjCMT.o: AttrList.inc.h -ObjCMT.o: AttrVisitor.inc.h -ObjCMT.o: Attrs.inc.h -ObjCMT.o: CommentCommandList.inc.h -ObjCMT.o: DeclNodes.inc.h -ObjCMT.o: DiagnosticCommonKinds.inc.h -ObjCMT.o: StmtNodes.inc.h -ObjCMT.po: AttrList.inc.h -ObjCMT.po: AttrVisitor.inc.h -ObjCMT.po: Attrs.inc.h -ObjCMT.po: CommentCommandList.inc.h -ObjCMT.po: DeclNodes.inc.h -ObjCMT.po: DiagnosticCommonKinds.inc.h -ObjCMT.po: StmtNodes.inc.h -PlistReporter.o: DiagnosticCommonKinds.inc.h -PlistReporter.po: DiagnosticCommonKinds.inc.h -TransAPIUses.o: AttrList.inc.h -TransAPIUses.o: AttrVisitor.inc.h -TransAPIUses.o: Attrs.inc.h -TransAPIUses.o: CommentCommandList.inc.h -TransAPIUses.o: DeclNodes.inc.h -TransAPIUses.o: DiagnosticCommonKinds.inc.h -TransAPIUses.o: DiagnosticSemaKinds.inc.h -TransAPIUses.o: StmtNodes.inc.h -TransAPIUses.po: AttrList.inc.h -TransAPIUses.po: AttrVisitor.inc.h -TransAPIUses.po: Attrs.inc.h -TransAPIUses.po: CommentCommandList.inc.h -TransAPIUses.po: DeclNodes.inc.h -TransAPIUses.po: DiagnosticCommonKinds.inc.h -TransAPIUses.po: DiagnosticSemaKinds.inc.h -TransAPIUses.po: StmtNodes.inc.h -TransARCAssign.o: AttrList.inc.h -TransARCAssign.o: AttrVisitor.inc.h -TransARCAssign.o: Attrs.inc.h -TransARCAssign.o: CommentCommandList.inc.h -TransARCAssign.o: DeclNodes.inc.h -TransARCAssign.o: DiagnosticCommonKinds.inc.h -TransARCAssign.o: DiagnosticSemaKinds.inc.h -TransARCAssign.o: StmtNodes.inc.h -TransARCAssign.po: AttrList.inc.h -TransARCAssign.po: AttrVisitor.inc.h -TransARCAssign.po: Attrs.inc.h -TransARCAssign.po: CommentCommandList.inc.h -TransARCAssign.po: DeclNodes.inc.h -TransARCAssign.po: DiagnosticCommonKinds.inc.h -TransARCAssign.po: DiagnosticSemaKinds.inc.h -TransARCAssign.po: StmtNodes.inc.h -TransAutoreleasePool.o: AttrList.inc.h -TransAutoreleasePool.o: AttrVisitor.inc.h -TransAutoreleasePool.o: Attrs.inc.h -TransAutoreleasePool.o: CommentCommandList.inc.h -TransAutoreleasePool.o: DeclNodes.inc.h -TransAutoreleasePool.o: DiagnosticCommonKinds.inc.h -TransAutoreleasePool.o: DiagnosticSemaKinds.inc.h -TransAutoreleasePool.o: StmtNodes.inc.h -TransAutoreleasePool.po: AttrList.inc.h -TransAutoreleasePool.po: AttrVisitor.inc.h -TransAutoreleasePool.po: Attrs.inc.h -TransAutoreleasePool.po: CommentCommandList.inc.h -TransAutoreleasePool.po: DeclNodes.inc.h -TransAutoreleasePool.po: DiagnosticCommonKinds.inc.h -TransAutoreleasePool.po: DiagnosticSemaKinds.inc.h -TransAutoreleasePool.po: StmtNodes.inc.h -TransBlockObjCVariable.o: AttrList.inc.h -TransBlockObjCVariable.o: AttrVisitor.inc.h -TransBlockObjCVariable.o: Attrs.inc.h -TransBlockObjCVariable.o: CommentCommandList.inc.h -TransBlockObjCVariable.o: DeclNodes.inc.h -TransBlockObjCVariable.o: DiagnosticCommonKinds.inc.h -TransBlockObjCVariable.o: StmtNodes.inc.h -TransBlockObjCVariable.po: AttrList.inc.h -TransBlockObjCVariable.po: AttrVisitor.inc.h -TransBlockObjCVariable.po: Attrs.inc.h -TransBlockObjCVariable.po: CommentCommandList.inc.h -TransBlockObjCVariable.po: DeclNodes.inc.h -TransBlockObjCVariable.po: DiagnosticCommonKinds.inc.h -TransBlockObjCVariable.po: StmtNodes.inc.h -TransEmptyStatementsAndDealloc.o: AttrList.inc.h -TransEmptyStatementsAndDealloc.o: AttrVisitor.inc.h -TransEmptyStatementsAndDealloc.o: Attrs.inc.h -TransEmptyStatementsAndDealloc.o: CommentCommandList.inc.h -TransEmptyStatementsAndDealloc.o: DeclNodes.inc.h -TransEmptyStatementsAndDealloc.o: DiagnosticCommonKinds.inc.h -TransEmptyStatementsAndDealloc.o: StmtNodes.inc.h -TransEmptyStatementsAndDealloc.po: AttrList.inc.h -TransEmptyStatementsAndDealloc.po: AttrVisitor.inc.h -TransEmptyStatementsAndDealloc.po: Attrs.inc.h -TransEmptyStatementsAndDealloc.po: CommentCommandList.inc.h -TransEmptyStatementsAndDealloc.po: DeclNodes.inc.h -TransEmptyStatementsAndDealloc.po: DiagnosticCommonKinds.inc.h -TransEmptyStatementsAndDealloc.po: StmtNodes.inc.h -TransGCAttrs.o: AttrList.inc.h -TransGCAttrs.o: AttrVisitor.inc.h -TransGCAttrs.o: Attrs.inc.h -TransGCAttrs.o: CommentCommandList.inc.h -TransGCAttrs.o: DeclNodes.inc.h -TransGCAttrs.o: DiagnosticCommonKinds.inc.h -TransGCAttrs.o: DiagnosticSemaKinds.inc.h -TransGCAttrs.o: StmtNodes.inc.h -TransGCAttrs.po: AttrList.inc.h -TransGCAttrs.po: AttrVisitor.inc.h -TransGCAttrs.po: Attrs.inc.h -TransGCAttrs.po: CommentCommandList.inc.h -TransGCAttrs.po: DeclNodes.inc.h -TransGCAttrs.po: DiagnosticCommonKinds.inc.h -TransGCAttrs.po: DiagnosticSemaKinds.inc.h -TransGCAttrs.po: StmtNodes.inc.h -TransGCCalls.o: AttrList.inc.h -TransGCCalls.o: AttrVisitor.inc.h -TransGCCalls.o: Attrs.inc.h -TransGCCalls.o: CommentCommandList.inc.h -TransGCCalls.o: DeclNodes.inc.h -TransGCCalls.o: DiagnosticCommonKinds.inc.h -TransGCCalls.o: DiagnosticSemaKinds.inc.h -TransGCCalls.o: StmtNodes.inc.h -TransGCCalls.po: AttrList.inc.h -TransGCCalls.po: AttrVisitor.inc.h -TransGCCalls.po: Attrs.inc.h -TransGCCalls.po: CommentCommandList.inc.h -TransGCCalls.po: DeclNodes.inc.h -TransGCCalls.po: DiagnosticCommonKinds.inc.h -TransGCCalls.po: DiagnosticSemaKinds.inc.h -TransGCCalls.po: StmtNodes.inc.h -TransProperties.o: AttrList.inc.h -TransProperties.o: AttrVisitor.inc.h -TransProperties.o: Attrs.inc.h -TransProperties.o: DeclNodes.inc.h -TransProperties.o: DiagnosticCommonKinds.inc.h -TransProperties.o: DiagnosticSemaKinds.inc.h -TransProperties.o: StmtNodes.inc.h -TransProperties.po: AttrList.inc.h -TransProperties.po: AttrVisitor.inc.h -TransProperties.po: Attrs.inc.h -TransProperties.po: DeclNodes.inc.h -TransProperties.po: DiagnosticCommonKinds.inc.h -TransProperties.po: DiagnosticSemaKinds.inc.h -TransProperties.po: StmtNodes.inc.h -TransProtectedScope.o: AttrList.inc.h -TransProtectedScope.o: AttrVisitor.inc.h -TransProtectedScope.o: Attrs.inc.h -TransProtectedScope.o: CommentCommandList.inc.h -TransProtectedScope.o: DeclNodes.inc.h -TransProtectedScope.o: DiagnosticCommonKinds.inc.h -TransProtectedScope.o: DiagnosticSemaKinds.inc.h -TransProtectedScope.o: StmtNodes.inc.h -TransProtectedScope.po: AttrList.inc.h -TransProtectedScope.po: AttrVisitor.inc.h -TransProtectedScope.po: Attrs.inc.h -TransProtectedScope.po: CommentCommandList.inc.h -TransProtectedScope.po: DeclNodes.inc.h -TransProtectedScope.po: DiagnosticCommonKinds.inc.h -TransProtectedScope.po: DiagnosticSemaKinds.inc.h -TransProtectedScope.po: StmtNodes.inc.h -TransRetainReleaseDealloc.o: AttrList.inc.h -TransRetainReleaseDealloc.o: AttrVisitor.inc.h -TransRetainReleaseDealloc.o: Attrs.inc.h -TransRetainReleaseDealloc.o: CommentCommandList.inc.h -TransRetainReleaseDealloc.o: DeclNodes.inc.h -TransRetainReleaseDealloc.o: DiagnosticCommonKinds.inc.h -TransRetainReleaseDealloc.o: DiagnosticSemaKinds.inc.h -TransRetainReleaseDealloc.o: StmtNodes.inc.h -TransRetainReleaseDealloc.po: AttrList.inc.h -TransRetainReleaseDealloc.po: AttrVisitor.inc.h -TransRetainReleaseDealloc.po: Attrs.inc.h -TransRetainReleaseDealloc.po: CommentCommandList.inc.h -TransRetainReleaseDealloc.po: DeclNodes.inc.h -TransRetainReleaseDealloc.po: DiagnosticCommonKinds.inc.h -TransRetainReleaseDealloc.po: DiagnosticSemaKinds.inc.h -TransRetainReleaseDealloc.po: StmtNodes.inc.h -TransUnbridgedCasts.o: AttrList.inc.h -TransUnbridgedCasts.o: AttrVisitor.inc.h -TransUnbridgedCasts.o: Attrs.inc.h -TransUnbridgedCasts.o: CommentCommandList.inc.h -TransUnbridgedCasts.o: DeclNodes.inc.h -TransUnbridgedCasts.o: DiagnosticCommonKinds.inc.h -TransUnbridgedCasts.o: DiagnosticSemaKinds.inc.h -TransUnbridgedCasts.o: StmtNodes.inc.h -TransUnbridgedCasts.po: AttrList.inc.h -TransUnbridgedCasts.po: AttrVisitor.inc.h -TransUnbridgedCasts.po: Attrs.inc.h -TransUnbridgedCasts.po: CommentCommandList.inc.h -TransUnbridgedCasts.po: DeclNodes.inc.h -TransUnbridgedCasts.po: DiagnosticCommonKinds.inc.h -TransUnbridgedCasts.po: DiagnosticSemaKinds.inc.h -TransUnbridgedCasts.po: StmtNodes.inc.h -TransUnusedInitDelegate.o: AttrList.inc.h -TransUnusedInitDelegate.o: AttrVisitor.inc.h -TransUnusedInitDelegate.o: Attrs.inc.h -TransUnusedInitDelegate.o: CommentCommandList.inc.h -TransUnusedInitDelegate.o: DeclNodes.inc.h -TransUnusedInitDelegate.o: DiagnosticCommonKinds.inc.h -TransUnusedInitDelegate.o: DiagnosticSemaKinds.inc.h -TransUnusedInitDelegate.o: StmtNodes.inc.h -TransUnusedInitDelegate.po: AttrList.inc.h -TransUnusedInitDelegate.po: AttrVisitor.inc.h -TransUnusedInitDelegate.po: Attrs.inc.h -TransUnusedInitDelegate.po: CommentCommandList.inc.h -TransUnusedInitDelegate.po: DeclNodes.inc.h -TransUnusedInitDelegate.po: DiagnosticCommonKinds.inc.h -TransUnusedInitDelegate.po: DiagnosticSemaKinds.inc.h -TransUnusedInitDelegate.po: StmtNodes.inc.h -TransZeroOutPropsInDealloc.o: AttrList.inc.h -TransZeroOutPropsInDealloc.o: AttrVisitor.inc.h -TransZeroOutPropsInDealloc.o: Attrs.inc.h -TransZeroOutPropsInDealloc.o: CommentCommandList.inc.h -TransZeroOutPropsInDealloc.o: DeclNodes.inc.h -TransZeroOutPropsInDealloc.o: DiagnosticCommonKinds.inc.h -TransZeroOutPropsInDealloc.o: StmtNodes.inc.h -TransZeroOutPropsInDealloc.po: AttrList.inc.h -TransZeroOutPropsInDealloc.po: AttrVisitor.inc.h -TransZeroOutPropsInDealloc.po: Attrs.inc.h -TransZeroOutPropsInDealloc.po: CommentCommandList.inc.h -TransZeroOutPropsInDealloc.po: DeclNodes.inc.h -TransZeroOutPropsInDealloc.po: DiagnosticCommonKinds.inc.h -TransZeroOutPropsInDealloc.po: StmtNodes.inc.h -TransformActions.o: CommentCommandList.inc.h -TransformActions.o: DeclNodes.inc.h -TransformActions.o: DiagnosticCommonKinds.inc.h -TransformActions.o: StmtNodes.inc.h -TransformActions.po: CommentCommandList.inc.h -TransformActions.po: DeclNodes.inc.h -TransformActions.po: DiagnosticCommonKinds.inc.h -TransformActions.po: StmtNodes.inc.h -Transforms.o: AttrList.inc.h -Transforms.o: AttrParsedAttrList.inc.h -Transforms.o: AttrVisitor.inc.h -Transforms.o: Attrs.inc.h -Transforms.o: CommentCommandList.inc.h -Transforms.o: DeclNodes.inc.h -Transforms.o: DiagnosticCommonKinds.inc.h -Transforms.o: DiagnosticSemaKinds.inc.h -Transforms.o: StmtNodes.inc.h -Transforms.po: AttrList.inc.h -Transforms.po: AttrParsedAttrList.inc.h -Transforms.po: AttrVisitor.inc.h -Transforms.po: Attrs.inc.h -Transforms.po: CommentCommandList.inc.h -Transforms.po: DeclNodes.inc.h -Transforms.po: DiagnosticCommonKinds.inc.h -Transforms.po: DiagnosticSemaKinds.inc.h -Transforms.po: StmtNodes.inc.h .endif diff --git a/lib/clang/libclangast/Makefile.depend b/lib/clang/libclangast/Makefile.depend index 01a929b..264ede1 100644 --- a/lib/clang/libclangast/Makefile.depend +++ b/lib/clang/libclangast/Makefile.depend @@ -13,612 +13,4 @@ DIRDEPS = \ .if ${DEP_RELDIR} == ${_DEP_RELDIR} # local dependencies - needed for -jN in clean tree -APValue.o: AttrList.inc.h -APValue.o: Attrs.inc.h -APValue.o: CommentCommandList.inc.h -APValue.o: DeclNodes.inc.h -APValue.o: DiagnosticCommonKinds.inc.h -APValue.o: StmtNodes.inc.h -APValue.po: AttrList.inc.h -APValue.po: Attrs.inc.h -APValue.po: CommentCommandList.inc.h -APValue.po: DeclNodes.inc.h -APValue.po: DiagnosticCommonKinds.inc.h -APValue.po: StmtNodes.inc.h -ASTConsumer.o: DeclNodes.inc.h -ASTConsumer.o: DiagnosticCommonKinds.inc.h -ASTConsumer.po: DeclNodes.inc.h -ASTConsumer.po: DiagnosticCommonKinds.inc.h -ASTContext.o: AttrList.inc.h -ASTContext.o: AttrVisitor.inc.h -ASTContext.o: Attrs.inc.h -ASTContext.o: CommentCommandList.inc.h -ASTContext.o: CommentNodes.inc.h -ASTContext.o: DeclNodes.inc.h -ASTContext.o: DiagnosticCommonKinds.inc.h -ASTContext.o: StmtNodes.inc.h -ASTContext.po: AttrList.inc.h -ASTContext.po: AttrVisitor.inc.h -ASTContext.po: Attrs.inc.h -ASTContext.po: CommentCommandList.inc.h -ASTContext.po: CommentNodes.inc.h -ASTContext.po: DeclNodes.inc.h -ASTContext.po: DiagnosticCommonKinds.inc.h -ASTContext.po: StmtNodes.inc.h -ASTDiagnostic.o: AttrList.inc.h -ASTDiagnostic.o: Attrs.inc.h -ASTDiagnostic.o: CommentCommandList.inc.h -ASTDiagnostic.o: DeclNodes.inc.h -ASTDiagnostic.o: DiagnosticASTKinds.inc.h -ASTDiagnostic.o: DiagnosticCommonKinds.inc.h -ASTDiagnostic.o: StmtNodes.inc.h -ASTDiagnostic.po: AttrList.inc.h -ASTDiagnostic.po: Attrs.inc.h -ASTDiagnostic.po: CommentCommandList.inc.h -ASTDiagnostic.po: DeclNodes.inc.h -ASTDiagnostic.po: DiagnosticASTKinds.inc.h -ASTDiagnostic.po: DiagnosticCommonKinds.inc.h -ASTDiagnostic.po: StmtNodes.inc.h -ASTDumper.o: AttrDump.inc.h -ASTDumper.o: AttrList.inc.h -ASTDumper.o: Attrs.inc.h -ASTDumper.o: CommentCommandList.inc.h -ASTDumper.o: CommentNodes.inc.h -ASTDumper.o: DeclNodes.inc.h -ASTDumper.o: DiagnosticCommonKinds.inc.h -ASTDumper.o: StmtNodes.inc.h -ASTDumper.po: AttrDump.inc.h -ASTDumper.po: AttrList.inc.h -ASTDumper.po: Attrs.inc.h -ASTDumper.po: CommentCommandList.inc.h -ASTDumper.po: CommentNodes.inc.h -ASTDumper.po: DeclNodes.inc.h -ASTDumper.po: DiagnosticCommonKinds.inc.h -ASTDumper.po: StmtNodes.inc.h -ASTImporter.o: AttrList.inc.h -ASTImporter.o: Attrs.inc.h -ASTImporter.o: CommentCommandList.inc.h -ASTImporter.o: DeclNodes.inc.h -ASTImporter.o: DiagnosticASTKinds.inc.h -ASTImporter.o: DiagnosticCommonKinds.inc.h -ASTImporter.o: StmtNodes.inc.h -ASTImporter.po: AttrList.inc.h -ASTImporter.po: Attrs.inc.h -ASTImporter.po: CommentCommandList.inc.h -ASTImporter.po: DeclNodes.inc.h -ASTImporter.po: DiagnosticASTKinds.inc.h -ASTImporter.po: DiagnosticCommonKinds.inc.h -ASTImporter.po: StmtNodes.inc.h -ASTTypeTraits.o: AttrList.inc.h -ASTTypeTraits.o: Attrs.inc.h -ASTTypeTraits.o: CommentCommandList.inc.h -ASTTypeTraits.o: DeclNodes.inc.h -ASTTypeTraits.o: DiagnosticCommonKinds.inc.h -ASTTypeTraits.o: StmtNodes.inc.h -ASTTypeTraits.po: AttrList.inc.h -ASTTypeTraits.po: Attrs.inc.h -ASTTypeTraits.po: CommentCommandList.inc.h -ASTTypeTraits.po: DeclNodes.inc.h -ASTTypeTraits.po: DiagnosticCommonKinds.inc.h -ASTTypeTraits.po: StmtNodes.inc.h -AttrImpl.o: AttrImpl.inc.h -AttrImpl.o: AttrList.inc.h -AttrImpl.o: Attrs.inc.h -AttrImpl.o: CommentCommandList.inc.h -AttrImpl.o: DeclNodes.inc.h -AttrImpl.o: DiagnosticCommonKinds.inc.h -AttrImpl.o: StmtNodes.inc.h -AttrImpl.po: AttrImpl.inc.h -AttrImpl.po: AttrList.inc.h -AttrImpl.po: Attrs.inc.h -AttrImpl.po: CommentCommandList.inc.h -AttrImpl.po: DeclNodes.inc.h -AttrImpl.po: DiagnosticCommonKinds.inc.h -AttrImpl.po: StmtNodes.inc.h -CXXInheritance.o: AttrList.inc.h -CXXInheritance.o: Attrs.inc.h -CXXInheritance.o: CommentCommandList.inc.h -CXXInheritance.o: DeclNodes.inc.h -CXXInheritance.o: DiagnosticCommonKinds.inc.h -CXXInheritance.o: StmtNodes.inc.h -CXXInheritance.po: AttrList.inc.h -CXXInheritance.po: Attrs.inc.h -CXXInheritance.po: CommentCommandList.inc.h -CXXInheritance.po: DeclNodes.inc.h -CXXInheritance.po: DiagnosticCommonKinds.inc.h -CXXInheritance.po: StmtNodes.inc.h -Comment.o: AttrList.inc.h -Comment.o: Attrs.inc.h -Comment.o: CommentCommandList.inc.h -Comment.o: CommentNodes.inc.h -Comment.o: DeclNodes.inc.h -Comment.o: DiagnosticCommonKinds.inc.h -Comment.o: StmtNodes.inc.h -Comment.po: AttrList.inc.h -Comment.po: Attrs.inc.h -Comment.po: CommentCommandList.inc.h -Comment.po: CommentNodes.inc.h -Comment.po: DeclNodes.inc.h -Comment.po: DiagnosticCommonKinds.inc.h -Comment.po: StmtNodes.inc.h -CommentBriefParser.o: CommentCommandList.inc.h -CommentBriefParser.o: DiagnosticCommonKinds.inc.h -CommentBriefParser.po: CommentCommandList.inc.h -CommentBriefParser.po: DiagnosticCommonKinds.inc.h -CommentCommandTraits.o: CommentCommandInfo.inc.h -CommentCommandTraits.o: CommentCommandList.inc.h -CommentCommandTraits.po: CommentCommandInfo.inc.h -CommentCommandTraits.po: CommentCommandList.inc.h -CommentLexer.o: CommentCommandList.inc.h -CommentLexer.o: CommentHTMLNamedCharacterReferences.inc.h -CommentLexer.o: CommentHTMLTags.inc.h -CommentLexer.o: DiagnosticCommentKinds.inc.h -CommentLexer.o: DiagnosticCommonKinds.inc.h -CommentLexer.po: CommentCommandList.inc.h -CommentLexer.po: CommentHTMLNamedCharacterReferences.inc.h -CommentLexer.po: CommentHTMLTags.inc.h -CommentLexer.po: DiagnosticCommentKinds.inc.h -CommentLexer.po: DiagnosticCommonKinds.inc.h -CommentParser.o: CommentCommandList.inc.h -CommentParser.o: CommentNodes.inc.h -CommentParser.o: DeclNodes.inc.h -CommentParser.o: DiagnosticCommentKinds.inc.h -CommentParser.o: DiagnosticCommonKinds.inc.h -CommentParser.po: CommentCommandList.inc.h -CommentParser.po: CommentNodes.inc.h -CommentParser.po: DeclNodes.inc.h -CommentParser.po: DiagnosticCommentKinds.inc.h -CommentParser.po: DiagnosticCommonKinds.inc.h -CommentSema.o: AttrList.inc.h -CommentSema.o: Attrs.inc.h -CommentSema.o: CommentCommandList.inc.h -CommentSema.o: CommentHTMLTagsProperties.inc.h -CommentSema.o: CommentNodes.inc.h -CommentSema.o: DeclNodes.inc.h -CommentSema.o: DiagnosticCommentKinds.inc.h -CommentSema.o: DiagnosticCommonKinds.inc.h -CommentSema.o: StmtNodes.inc.h -CommentSema.po: AttrList.inc.h -CommentSema.po: Attrs.inc.h -CommentSema.po: CommentCommandList.inc.h -CommentSema.po: CommentHTMLTagsProperties.inc.h -CommentSema.po: CommentNodes.inc.h -CommentSema.po: DeclNodes.inc.h -CommentSema.po: DiagnosticCommentKinds.inc.h -CommentSema.po: DiagnosticCommonKinds.inc.h -CommentSema.po: StmtNodes.inc.h -Decl.o: AttrList.inc.h -Decl.o: Attrs.inc.h -Decl.o: CommentCommandList.inc.h -Decl.o: DeclNodes.inc.h -Decl.o: DiagnosticCommonKinds.inc.h -Decl.o: DiagnosticFrontendKinds.inc.h -Decl.o: StmtNodes.inc.h -Decl.po: AttrList.inc.h -Decl.po: Attrs.inc.h -Decl.po: CommentCommandList.inc.h -Decl.po: DeclNodes.inc.h -Decl.po: DiagnosticCommonKinds.inc.h -Decl.po: DiagnosticFrontendKinds.inc.h -Decl.po: StmtNodes.inc.h -DeclBase.o: AttrList.inc.h -DeclBase.o: Attrs.inc.h -DeclBase.o: CommentCommandList.inc.h -DeclBase.o: DeclNodes.inc.h -DeclBase.o: DiagnosticCommonKinds.inc.h -DeclBase.o: StmtNodes.inc.h -DeclBase.po: AttrList.inc.h -DeclBase.po: Attrs.inc.h -DeclBase.po: CommentCommandList.inc.h -DeclBase.po: DeclNodes.inc.h -DeclBase.po: DiagnosticCommonKinds.inc.h -DeclBase.po: StmtNodes.inc.h -DeclCXX.o: AttrList.inc.h -DeclCXX.o: Attrs.inc.h -DeclCXX.o: CommentCommandList.inc.h -DeclCXX.o: DeclNodes.inc.h -DeclCXX.o: DiagnosticCommonKinds.inc.h -DeclCXX.o: StmtNodes.inc.h -DeclCXX.po: AttrList.inc.h -DeclCXX.po: Attrs.inc.h -DeclCXX.po: CommentCommandList.inc.h -DeclCXX.po: DeclNodes.inc.h -DeclCXX.po: DiagnosticCommonKinds.inc.h -DeclCXX.po: StmtNodes.inc.h -DeclFriend.o: AttrList.inc.h -DeclFriend.o: Attrs.inc.h -DeclFriend.o: CommentCommandList.inc.h -DeclFriend.o: DeclNodes.inc.h -DeclFriend.o: DiagnosticCommonKinds.inc.h -DeclFriend.o: StmtNodes.inc.h -DeclFriend.po: AttrList.inc.h -DeclFriend.po: Attrs.inc.h -DeclFriend.po: CommentCommandList.inc.h -DeclFriend.po: DeclNodes.inc.h -DeclFriend.po: DiagnosticCommonKinds.inc.h -DeclFriend.po: StmtNodes.inc.h -DeclGroup.o: CommentCommandList.inc.h -DeclGroup.o: DeclNodes.inc.h -DeclGroup.o: DiagnosticCommonKinds.inc.h -DeclGroup.o: StmtNodes.inc.h -DeclGroup.po: CommentCommandList.inc.h -DeclGroup.po: DeclNodes.inc.h -DeclGroup.po: DiagnosticCommonKinds.inc.h -DeclGroup.po: StmtNodes.inc.h -DeclObjC.o: AttrList.inc.h -DeclObjC.o: Attrs.inc.h -DeclObjC.o: CommentCommandList.inc.h -DeclObjC.o: DeclNodes.inc.h -DeclObjC.o: DiagnosticCommonKinds.inc.h -DeclObjC.o: StmtNodes.inc.h -DeclObjC.po: AttrList.inc.h -DeclObjC.po: Attrs.inc.h -DeclObjC.po: CommentCommandList.inc.h -DeclObjC.po: DeclNodes.inc.h -DeclObjC.po: DiagnosticCommonKinds.inc.h -DeclObjC.po: StmtNodes.inc.h -DeclOpenMP.o: CommentCommandList.inc.h -DeclOpenMP.o: DeclNodes.inc.h -DeclOpenMP.o: DiagnosticCommonKinds.inc.h -DeclOpenMP.o: StmtNodes.inc.h -DeclOpenMP.po: CommentCommandList.inc.h -DeclOpenMP.po: DeclNodes.inc.h -DeclOpenMP.po: DiagnosticCommonKinds.inc.h -DeclOpenMP.po: StmtNodes.inc.h -DeclPrinter.o: AttrList.inc.h -DeclPrinter.o: Attrs.inc.h -DeclPrinter.o: CommentCommandList.inc.h -DeclPrinter.o: DeclNodes.inc.h -DeclPrinter.o: DiagnosticCommonKinds.inc.h -DeclPrinter.o: StmtNodes.inc.h -DeclPrinter.po: AttrList.inc.h -DeclPrinter.po: Attrs.inc.h -DeclPrinter.po: CommentCommandList.inc.h -DeclPrinter.po: DeclNodes.inc.h -DeclPrinter.po: DiagnosticCommonKinds.inc.h -DeclPrinter.po: StmtNodes.inc.h -DeclTemplate.o: AttrList.inc.h -DeclTemplate.o: Attrs.inc.h -DeclTemplate.o: CommentCommandList.inc.h -DeclTemplate.o: DeclNodes.inc.h -DeclTemplate.o: DiagnosticCommonKinds.inc.h -DeclTemplate.o: StmtNodes.inc.h -DeclTemplate.po: AttrList.inc.h -DeclTemplate.po: Attrs.inc.h -DeclTemplate.po: CommentCommandList.inc.h -DeclTemplate.po: DeclNodes.inc.h -DeclTemplate.po: DiagnosticCommonKinds.inc.h -DeclTemplate.po: StmtNodes.inc.h -DeclarationName.o: CommentCommandList.inc.h -DeclarationName.o: DeclNodes.inc.h -DeclarationName.o: DiagnosticCommonKinds.inc.h -DeclarationName.o: StmtNodes.inc.h -DeclarationName.po: CommentCommandList.inc.h -DeclarationName.po: DeclNodes.inc.h -DeclarationName.po: DiagnosticCommonKinds.inc.h -DeclarationName.po: StmtNodes.inc.h -Expr.o: AttrList.inc.h -Expr.o: Attrs.inc.h -Expr.o: CommentCommandList.inc.h -Expr.o: DeclNodes.inc.h -Expr.o: DiagnosticCommonKinds.inc.h -Expr.o: DiagnosticSemaKinds.inc.h -Expr.o: StmtNodes.inc.h -Expr.po: AttrList.inc.h -Expr.po: Attrs.inc.h -Expr.po: CommentCommandList.inc.h -Expr.po: DeclNodes.inc.h -Expr.po: DiagnosticCommonKinds.inc.h -Expr.po: DiagnosticSemaKinds.inc.h -Expr.po: StmtNodes.inc.h -ExprCXX.o: AttrList.inc.h -ExprCXX.o: Attrs.inc.h -ExprCXX.o: CommentCommandList.inc.h -ExprCXX.o: DeclNodes.inc.h -ExprCXX.o: DiagnosticCommonKinds.inc.h -ExprCXX.o: StmtNodes.inc.h -ExprCXX.po: AttrList.inc.h -ExprCXX.po: Attrs.inc.h -ExprCXX.po: CommentCommandList.inc.h -ExprCXX.po: DeclNodes.inc.h -ExprCXX.po: DiagnosticCommonKinds.inc.h -ExprCXX.po: StmtNodes.inc.h -ExprClassification.o: AttrList.inc.h -ExprClassification.o: Attrs.inc.h -ExprClassification.o: CommentCommandList.inc.h -ExprClassification.o: DeclNodes.inc.h -ExprClassification.o: DiagnosticCommonKinds.inc.h -ExprClassification.o: StmtNodes.inc.h -ExprClassification.po: AttrList.inc.h -ExprClassification.po: Attrs.inc.h -ExprClassification.po: CommentCommandList.inc.h -ExprClassification.po: DeclNodes.inc.h -ExprClassification.po: DiagnosticCommonKinds.inc.h -ExprClassification.po: StmtNodes.inc.h -ExprConstant.o: AttrList.inc.h -ExprConstant.o: Attrs.inc.h -ExprConstant.o: CommentCommandList.inc.h -ExprConstant.o: DeclNodes.inc.h -ExprConstant.o: DiagnosticASTKinds.inc.h -ExprConstant.o: DiagnosticCommonKinds.inc.h -ExprConstant.o: StmtNodes.inc.h -ExprConstant.po: AttrList.inc.h -ExprConstant.po: Attrs.inc.h -ExprConstant.po: CommentCommandList.inc.h -ExprConstant.po: DeclNodes.inc.h -ExprConstant.po: DiagnosticASTKinds.inc.h -ExprConstant.po: DiagnosticCommonKinds.inc.h -ExprConstant.po: StmtNodes.inc.h -ExternalASTSource.o: CommentCommandList.inc.h -ExternalASTSource.o: DeclNodes.inc.h -ExternalASTSource.o: DiagnosticCommonKinds.inc.h -ExternalASTSource.o: StmtNodes.inc.h -ExternalASTSource.po: CommentCommandList.inc.h -ExternalASTSource.po: DeclNodes.inc.h -ExternalASTSource.po: DiagnosticCommonKinds.inc.h -ExternalASTSource.po: StmtNodes.inc.h -InheritViz.o: AttrList.inc.h -InheritViz.o: Attrs.inc.h -InheritViz.o: CommentCommandList.inc.h -InheritViz.o: DeclNodes.inc.h -InheritViz.o: DiagnosticCommonKinds.inc.h -InheritViz.o: StmtNodes.inc.h -InheritViz.po: AttrList.inc.h -InheritViz.po: Attrs.inc.h -InheritViz.po: CommentCommandList.inc.h -InheritViz.po: DeclNodes.inc.h -InheritViz.po: DiagnosticCommonKinds.inc.h -InheritViz.po: StmtNodes.inc.h -ItaniumCXXABI.o: AttrList.inc.h -ItaniumCXXABI.o: Attrs.inc.h -ItaniumCXXABI.o: CommentCommandList.inc.h -ItaniumCXXABI.o: DeclNodes.inc.h -ItaniumCXXABI.o: DiagnosticCommonKinds.inc.h -ItaniumCXXABI.o: StmtNodes.inc.h -ItaniumCXXABI.po: AttrList.inc.h -ItaniumCXXABI.po: Attrs.inc.h -ItaniumCXXABI.po: CommentCommandList.inc.h -ItaniumCXXABI.po: DeclNodes.inc.h -ItaniumCXXABI.po: DiagnosticCommonKinds.inc.h -ItaniumCXXABI.po: StmtNodes.inc.h -ItaniumMangle.o: AttrList.inc.h -ItaniumMangle.o: Attrs.inc.h -ItaniumMangle.o: CommentCommandList.inc.h -ItaniumMangle.o: DeclNodes.inc.h -ItaniumMangle.o: DiagnosticCommonKinds.inc.h -ItaniumMangle.o: StmtNodes.inc.h -ItaniumMangle.po: AttrList.inc.h -ItaniumMangle.po: Attrs.inc.h -ItaniumMangle.po: CommentCommandList.inc.h -ItaniumMangle.po: DeclNodes.inc.h -ItaniumMangle.po: DiagnosticCommonKinds.inc.h -ItaniumMangle.po: StmtNodes.inc.h -Mangle.o: AttrList.inc.h -Mangle.o: Attrs.inc.h -Mangle.o: CommentCommandList.inc.h -Mangle.o: DeclNodes.inc.h -Mangle.o: DiagnosticCommonKinds.inc.h -Mangle.o: StmtNodes.inc.h -Mangle.po: AttrList.inc.h -Mangle.po: Attrs.inc.h -Mangle.po: CommentCommandList.inc.h -Mangle.po: DeclNodes.inc.h -Mangle.po: DiagnosticCommonKinds.inc.h -Mangle.po: StmtNodes.inc.h -MicrosoftCXXABI.o: AttrList.inc.h -MicrosoftCXXABI.o: Attrs.inc.h -MicrosoftCXXABI.o: CommentCommandList.inc.h -MicrosoftCXXABI.o: DeclNodes.inc.h -MicrosoftCXXABI.o: DiagnosticCommonKinds.inc.h -MicrosoftCXXABI.o: StmtNodes.inc.h -MicrosoftCXXABI.po: AttrList.inc.h -MicrosoftCXXABI.po: Attrs.inc.h -MicrosoftCXXABI.po: CommentCommandList.inc.h -MicrosoftCXXABI.po: DeclNodes.inc.h -MicrosoftCXXABI.po: DiagnosticCommonKinds.inc.h -MicrosoftCXXABI.po: StmtNodes.inc.h -MicrosoftMangle.o: AttrList.inc.h -MicrosoftMangle.o: Attrs.inc.h -MicrosoftMangle.o: CommentCommandList.inc.h -MicrosoftMangle.o: DeclNodes.inc.h -MicrosoftMangle.o: DiagnosticCommonKinds.inc.h -MicrosoftMangle.o: StmtNodes.inc.h -MicrosoftMangle.po: AttrList.inc.h -MicrosoftMangle.po: Attrs.inc.h -MicrosoftMangle.po: CommentCommandList.inc.h -MicrosoftMangle.po: DeclNodes.inc.h -MicrosoftMangle.po: DiagnosticCommonKinds.inc.h -MicrosoftMangle.po: StmtNodes.inc.h -NSAPI.o: CommentCommandList.inc.h -NSAPI.o: DeclNodes.inc.h -NSAPI.o: DiagnosticCommonKinds.inc.h -NSAPI.o: StmtNodes.inc.h -NSAPI.po: CommentCommandList.inc.h -NSAPI.po: DeclNodes.inc.h -NSAPI.po: DiagnosticCommonKinds.inc.h -NSAPI.po: StmtNodes.inc.h -NestedNameSpecifier.o: AttrList.inc.h -NestedNameSpecifier.o: Attrs.inc.h -NestedNameSpecifier.o: CommentCommandList.inc.h -NestedNameSpecifier.o: DeclNodes.inc.h -NestedNameSpecifier.o: DiagnosticCommonKinds.inc.h -NestedNameSpecifier.o: StmtNodes.inc.h -NestedNameSpecifier.po: AttrList.inc.h -NestedNameSpecifier.po: Attrs.inc.h -NestedNameSpecifier.po: CommentCommandList.inc.h -NestedNameSpecifier.po: DeclNodes.inc.h -NestedNameSpecifier.po: DiagnosticCommonKinds.inc.h -NestedNameSpecifier.po: StmtNodes.inc.h -ParentMap.o: DeclNodes.inc.h -ParentMap.o: DiagnosticCommonKinds.inc.h -ParentMap.o: StmtNodes.inc.h -ParentMap.po: DeclNodes.inc.h -ParentMap.po: DiagnosticCommonKinds.inc.h -ParentMap.po: StmtNodes.inc.h -RawCommentList.o: CommentCommandList.inc.h -RawCommentList.o: CommentNodes.inc.h -RawCommentList.o: DeclNodes.inc.h -RawCommentList.o: DiagnosticCommonKinds.inc.h -RawCommentList.o: StmtNodes.inc.h -RawCommentList.po: CommentCommandList.inc.h -RawCommentList.po: CommentNodes.inc.h -RawCommentList.po: DeclNodes.inc.h -RawCommentList.po: DiagnosticCommonKinds.inc.h -RawCommentList.po: StmtNodes.inc.h -RecordLayout.o: AttrList.inc.h -RecordLayout.o: Attrs.inc.h -RecordLayout.o: CommentCommandList.inc.h -RecordLayout.o: DeclNodes.inc.h -RecordLayout.o: DiagnosticCommonKinds.inc.h -RecordLayout.o: StmtNodes.inc.h -RecordLayout.po: AttrList.inc.h -RecordLayout.po: Attrs.inc.h -RecordLayout.po: CommentCommandList.inc.h -RecordLayout.po: DeclNodes.inc.h -RecordLayout.po: DiagnosticCommonKinds.inc.h -RecordLayout.po: StmtNodes.inc.h -RecordLayoutBuilder.o: AttrList.inc.h -RecordLayoutBuilder.o: Attrs.inc.h -RecordLayoutBuilder.o: CommentCommandList.inc.h -RecordLayoutBuilder.o: DeclNodes.inc.h -RecordLayoutBuilder.o: DiagnosticCommonKinds.inc.h -RecordLayoutBuilder.o: DiagnosticSemaKinds.inc.h -RecordLayoutBuilder.o: StmtNodes.inc.h -RecordLayoutBuilder.po: AttrList.inc.h -RecordLayoutBuilder.po: Attrs.inc.h -RecordLayoutBuilder.po: CommentCommandList.inc.h -RecordLayoutBuilder.po: DeclNodes.inc.h -RecordLayoutBuilder.po: DiagnosticCommonKinds.inc.h -RecordLayoutBuilder.po: DiagnosticSemaKinds.inc.h -RecordLayoutBuilder.po: StmtNodes.inc.h -SelectorLocationsKind.o: DeclNodes.inc.h -SelectorLocationsKind.o: DiagnosticCommonKinds.inc.h -SelectorLocationsKind.o: StmtNodes.inc.h -SelectorLocationsKind.po: DeclNodes.inc.h -SelectorLocationsKind.po: DiagnosticCommonKinds.inc.h -SelectorLocationsKind.po: StmtNodes.inc.h -Stmt.o: CommentCommandList.inc.h -Stmt.o: DeclNodes.inc.h -Stmt.o: DiagnosticASTKinds.inc.h -Stmt.o: DiagnosticCommonKinds.inc.h -Stmt.o: StmtNodes.inc.h -Stmt.po: CommentCommandList.inc.h -Stmt.po: DeclNodes.inc.h -Stmt.po: DiagnosticASTKinds.inc.h -Stmt.po: DiagnosticCommonKinds.inc.h -Stmt.po: StmtNodes.inc.h -StmtIterator.o: DeclNodes.inc.h -StmtIterator.o: DiagnosticCommonKinds.inc.h -StmtIterator.po: DeclNodes.inc.h -StmtIterator.po: DiagnosticCommonKinds.inc.h -StmtPrinter.o: AttrList.inc.h -StmtPrinter.o: Attrs.inc.h -StmtPrinter.o: CommentCommandList.inc.h -StmtPrinter.o: DeclNodes.inc.h -StmtPrinter.o: DiagnosticCommonKinds.inc.h -StmtPrinter.o: StmtNodes.inc.h -StmtPrinter.po: AttrList.inc.h -StmtPrinter.po: Attrs.inc.h -StmtPrinter.po: CommentCommandList.inc.h -StmtPrinter.po: DeclNodes.inc.h -StmtPrinter.po: DiagnosticCommonKinds.inc.h -StmtPrinter.po: StmtNodes.inc.h -StmtProfile.o: AttrList.inc.h -StmtProfile.o: Attrs.inc.h -StmtProfile.o: CommentCommandList.inc.h -StmtProfile.o: DeclNodes.inc.h -StmtProfile.o: DiagnosticCommonKinds.inc.h -StmtProfile.o: StmtNodes.inc.h -StmtProfile.po: AttrList.inc.h -StmtProfile.po: Attrs.inc.h -StmtProfile.po: CommentCommandList.inc.h -StmtProfile.po: DeclNodes.inc.h -StmtProfile.po: DiagnosticCommonKinds.inc.h -StmtProfile.po: StmtNodes.inc.h -StmtViz.o: DeclNodes.inc.h -StmtViz.o: DiagnosticCommonKinds.inc.h -StmtViz.o: StmtNodes.inc.h -StmtViz.po: DeclNodes.inc.h -StmtViz.po: DiagnosticCommonKinds.inc.h -StmtViz.po: StmtNodes.inc.h -TemplateBase.o: AttrList.inc.h -TemplateBase.o: Attrs.inc.h -TemplateBase.o: CommentCommandList.inc.h -TemplateBase.o: DeclNodes.inc.h -TemplateBase.o: DiagnosticCommonKinds.inc.h -TemplateBase.o: StmtNodes.inc.h -TemplateBase.po: AttrList.inc.h -TemplateBase.po: Attrs.inc.h -TemplateBase.po: CommentCommandList.inc.h -TemplateBase.po: DeclNodes.inc.h -TemplateBase.po: DiagnosticCommonKinds.inc.h -TemplateBase.po: StmtNodes.inc.h -TemplateName.o: AttrList.inc.h -TemplateName.o: Attrs.inc.h -TemplateName.o: DeclNodes.inc.h -TemplateName.o: DiagnosticCommonKinds.inc.h -TemplateName.o: StmtNodes.inc.h -TemplateName.po: AttrList.inc.h -TemplateName.po: Attrs.inc.h -TemplateName.po: DeclNodes.inc.h -TemplateName.po: DiagnosticCommonKinds.inc.h -TemplateName.po: StmtNodes.inc.h -Type.o: AttrList.inc.h -Type.o: Attrs.inc.h -Type.o: CommentCommandList.inc.h -Type.o: DeclNodes.inc.h -Type.o: DiagnosticCommonKinds.inc.h -Type.o: StmtNodes.inc.h -Type.po: AttrList.inc.h -Type.po: Attrs.inc.h -Type.po: CommentCommandList.inc.h -Type.po: DeclNodes.inc.h -Type.po: DiagnosticCommonKinds.inc.h -Type.po: StmtNodes.inc.h -TypeLoc.o: CommentCommandList.inc.h -TypeLoc.o: DeclNodes.inc.h -TypeLoc.o: DiagnosticCommonKinds.inc.h -TypeLoc.o: StmtNodes.inc.h -TypeLoc.po: CommentCommandList.inc.h -TypeLoc.po: DeclNodes.inc.h -TypeLoc.po: DiagnosticCommonKinds.inc.h -TypeLoc.po: StmtNodes.inc.h -TypePrinter.o: AttrList.inc.h -TypePrinter.o: Attrs.inc.h -TypePrinter.o: CommentCommandList.inc.h -TypePrinter.o: DeclNodes.inc.h -TypePrinter.o: DiagnosticCommonKinds.inc.h -TypePrinter.o: StmtNodes.inc.h -TypePrinter.po: AttrList.inc.h -TypePrinter.po: Attrs.inc.h -TypePrinter.po: CommentCommandList.inc.h -TypePrinter.po: DeclNodes.inc.h -TypePrinter.po: DiagnosticCommonKinds.inc.h -TypePrinter.po: StmtNodes.inc.h -VTTBuilder.o: AttrList.inc.h -VTTBuilder.o: Attrs.inc.h -VTTBuilder.o: CommentCommandList.inc.h -VTTBuilder.o: DeclNodes.inc.h -VTTBuilder.o: DiagnosticCommonKinds.inc.h -VTTBuilder.o: StmtNodes.inc.h -VTTBuilder.po: AttrList.inc.h -VTTBuilder.po: Attrs.inc.h -VTTBuilder.po: CommentCommandList.inc.h -VTTBuilder.po: DeclNodes.inc.h -VTTBuilder.po: DiagnosticCommonKinds.inc.h -VTTBuilder.po: StmtNodes.inc.h -VTableBuilder.o: AttrList.inc.h -VTableBuilder.o: Attrs.inc.h -VTableBuilder.o: CommentCommandList.inc.h -VTableBuilder.o: DeclNodes.inc.h -VTableBuilder.o: DiagnosticASTKinds.inc.h -VTableBuilder.o: DiagnosticCommonKinds.inc.h -VTableBuilder.o: StmtNodes.inc.h -VTableBuilder.po: AttrList.inc.h -VTableBuilder.po: Attrs.inc.h -VTableBuilder.po: CommentCommandList.inc.h -VTableBuilder.po: DeclNodes.inc.h -VTableBuilder.po: DiagnosticASTKinds.inc.h -VTableBuilder.po: DiagnosticCommonKinds.inc.h -VTableBuilder.po: StmtNodes.inc.h .endif diff --git a/lib/clang/libclangbasic/Makefile.depend b/lib/clang/libclangbasic/Makefile.depend index 1b845df..264ede1 100644 --- a/lib/clang/libclangbasic/Makefile.depend +++ b/lib/clang/libclangbasic/Makefile.depend @@ -13,56 +13,4 @@ DIRDEPS = \ .if ${DEP_RELDIR} == ${_DEP_RELDIR} # local dependencies - needed for -jN in clean tree -Attributes.o: AttrHasAttributeImpl.inc.h -Attributes.po: AttrHasAttributeImpl.inc.h -Diagnostic.o: DiagnosticCommonKinds.inc.h -Diagnostic.po: DiagnosticCommonKinds.inc.h -DiagnosticIDs.o: DiagnosticASTKinds.inc.h -DiagnosticIDs.o: DiagnosticAnalysisKinds.inc.h -DiagnosticIDs.o: DiagnosticCommentKinds.inc.h -DiagnosticIDs.o: DiagnosticCommonKinds.inc.h -DiagnosticIDs.o: DiagnosticDriverKinds.inc.h -DiagnosticIDs.o: DiagnosticFrontendKinds.inc.h -DiagnosticIDs.o: DiagnosticGroups.inc.h -DiagnosticIDs.o: DiagnosticLexKinds.inc.h -DiagnosticIDs.o: DiagnosticParseKinds.inc.h -DiagnosticIDs.o: DiagnosticSemaKinds.inc.h -DiagnosticIDs.o: DiagnosticSerializationKinds.inc.h -DiagnosticIDs.po: DiagnosticASTKinds.inc.h -DiagnosticIDs.po: DiagnosticAnalysisKinds.inc.h -DiagnosticIDs.po: DiagnosticCommentKinds.inc.h -DiagnosticIDs.po: DiagnosticCommonKinds.inc.h -DiagnosticIDs.po: DiagnosticDriverKinds.inc.h -DiagnosticIDs.po: DiagnosticFrontendKinds.inc.h -DiagnosticIDs.po: DiagnosticGroups.inc.h -DiagnosticIDs.po: DiagnosticLexKinds.inc.h -DiagnosticIDs.po: DiagnosticParseKinds.inc.h -DiagnosticIDs.po: DiagnosticSemaKinds.inc.h -DiagnosticIDs.po: DiagnosticSerializationKinds.inc.h -SourceManager.o: DiagnosticCommonKinds.inc.h -SourceManager.po: DiagnosticCommonKinds.inc.h -Targets.o: DiagnosticCommonKinds.inc.h -Targets.o: arm_neon.inc.h -Targets.po: DiagnosticCommonKinds.inc.h -Targets.po: arm_neon.inc.h -Warnings.o: DiagnosticASTKinds.inc.h -Warnings.o: DiagnosticAnalysisKinds.inc.h -Warnings.o: DiagnosticCommentKinds.inc.h -Warnings.o: DiagnosticCommonKinds.inc.h -Warnings.o: DiagnosticDriverKinds.inc.h -Warnings.o: DiagnosticFrontendKinds.inc.h -Warnings.o: DiagnosticLexKinds.inc.h -Warnings.o: DiagnosticParseKinds.inc.h -Warnings.o: DiagnosticSemaKinds.inc.h -Warnings.o: DiagnosticSerializationKinds.inc.h -Warnings.po: DiagnosticASTKinds.inc.h -Warnings.po: DiagnosticAnalysisKinds.inc.h -Warnings.po: DiagnosticCommentKinds.inc.h -Warnings.po: DiagnosticCommonKinds.inc.h -Warnings.po: DiagnosticDriverKinds.inc.h -Warnings.po: DiagnosticFrontendKinds.inc.h -Warnings.po: DiagnosticLexKinds.inc.h -Warnings.po: DiagnosticParseKinds.inc.h -Warnings.po: DiagnosticSemaKinds.inc.h -Warnings.po: DiagnosticSerializationKinds.inc.h .endif diff --git a/lib/clang/libclangcodegen/Makefile.depend b/lib/clang/libclangcodegen/Makefile.depend index 1a535fb..9a1b84e 100644 --- a/lib/clang/libclangcodegen/Makefile.depend +++ b/lib/clang/libclangcodegen/Makefile.depend @@ -14,622 +14,4 @@ DIRDEPS = \ .if ${DEP_RELDIR} == ${_DEP_RELDIR} # local dependencies - needed for -jN in clean tree -BackendUtil.o: DiagnosticCommonKinds.inc.h -BackendUtil.o: DiagnosticFrontendKinds.inc.h -BackendUtil.o: Intrinsics.inc.h -BackendUtil.po: DiagnosticCommonKinds.inc.h -BackendUtil.po: DiagnosticFrontendKinds.inc.h -BackendUtil.po: Intrinsics.inc.h -CGAtomic.o: AttrList.inc.h -CGAtomic.o: Attrs.inc.h -CGAtomic.o: CommentCommandList.inc.h -CGAtomic.o: DeclNodes.inc.h -CGAtomic.o: DiagnosticCommonKinds.inc.h -CGAtomic.o: Intrinsics.inc.h -CGAtomic.o: StmtNodes.inc.h -CGAtomic.po: AttrList.inc.h -CGAtomic.po: Attrs.inc.h -CGAtomic.po: CommentCommandList.inc.h -CGAtomic.po: DeclNodes.inc.h -CGAtomic.po: DiagnosticCommonKinds.inc.h -CGAtomic.po: Intrinsics.inc.h -CGAtomic.po: StmtNodes.inc.h -CGBlocks.o: AttrList.inc.h -CGBlocks.o: Attrs.inc.h -CGBlocks.o: CommentCommandList.inc.h -CGBlocks.o: DeclNodes.inc.h -CGBlocks.o: DiagnosticCommonKinds.inc.h -CGBlocks.o: StmtNodes.inc.h -CGBlocks.po: AttrList.inc.h -CGBlocks.po: Attrs.inc.h -CGBlocks.po: CommentCommandList.inc.h -CGBlocks.po: DeclNodes.inc.h -CGBlocks.po: DiagnosticCommonKinds.inc.h -CGBlocks.po: StmtNodes.inc.h -CGBuiltin.o: AttrList.inc.h -CGBuiltin.o: Attrs.inc.h -CGBuiltin.o: CommentCommandList.inc.h -CGBuiltin.o: DeclNodes.inc.h -CGBuiltin.o: DiagnosticCommonKinds.inc.h -CGBuiltin.o: Intrinsics.inc.h -CGBuiltin.o: StmtNodes.inc.h -CGBuiltin.o: arm_neon.inc.h -CGBuiltin.po: AttrList.inc.h -CGBuiltin.po: Attrs.inc.h -CGBuiltin.po: CommentCommandList.inc.h -CGBuiltin.po: DeclNodes.inc.h -CGBuiltin.po: DiagnosticCommonKinds.inc.h -CGBuiltin.po: Intrinsics.inc.h -CGBuiltin.po: StmtNodes.inc.h -CGBuiltin.po: arm_neon.inc.h -CGCUDANV.o: AttrList.inc.h -CGCUDANV.o: Attrs.inc.h -CGCUDANV.o: CommentCommandList.inc.h -CGCUDANV.o: DeclNodes.inc.h -CGCUDANV.o: DiagnosticCommonKinds.inc.h -CGCUDANV.o: StmtNodes.inc.h -CGCUDANV.po: AttrList.inc.h -CGCUDANV.po: Attrs.inc.h -CGCUDANV.po: CommentCommandList.inc.h -CGCUDANV.po: DeclNodes.inc.h -CGCUDANV.po: DiagnosticCommonKinds.inc.h -CGCUDANV.po: StmtNodes.inc.h -CGCUDARuntime.o: AttrList.inc.h -CGCUDARuntime.o: Attrs.inc.h -CGCUDARuntime.o: CommentCommandList.inc.h -CGCUDARuntime.o: DeclNodes.inc.h -CGCUDARuntime.o: DiagnosticCommonKinds.inc.h -CGCUDARuntime.o: StmtNodes.inc.h -CGCUDARuntime.po: AttrList.inc.h -CGCUDARuntime.po: Attrs.inc.h -CGCUDARuntime.po: CommentCommandList.inc.h -CGCUDARuntime.po: DeclNodes.inc.h -CGCUDARuntime.po: DiagnosticCommonKinds.inc.h -CGCUDARuntime.po: StmtNodes.inc.h -CGCXX.o: AttrList.inc.h -CGCXX.o: Attrs.inc.h -CGCXX.o: CommentCommandList.inc.h -CGCXX.o: DeclNodes.inc.h -CGCXX.o: DiagnosticCommonKinds.inc.h -CGCXX.o: StmtNodes.inc.h -CGCXX.po: AttrList.inc.h -CGCXX.po: Attrs.inc.h -CGCXX.po: CommentCommandList.inc.h -CGCXX.po: DeclNodes.inc.h -CGCXX.po: DiagnosticCommonKinds.inc.h -CGCXX.po: StmtNodes.inc.h -CGCXXABI.o: AttrList.inc.h -CGCXXABI.o: Attrs.inc.h -CGCXXABI.o: CommentCommandList.inc.h -CGCXXABI.o: DeclNodes.inc.h -CGCXXABI.o: DiagnosticCommonKinds.inc.h -CGCXXABI.o: StmtNodes.inc.h -CGCXXABI.po: AttrList.inc.h -CGCXXABI.po: Attrs.inc.h -CGCXXABI.po: CommentCommandList.inc.h -CGCXXABI.po: DeclNodes.inc.h -CGCXXABI.po: DiagnosticCommonKinds.inc.h -CGCXXABI.po: StmtNodes.inc.h -CGCall.o: AttrList.inc.h -CGCall.o: Attrs.inc.h -CGCall.o: CommentCommandList.inc.h -CGCall.o: DeclNodes.inc.h -CGCall.o: DiagnosticCommonKinds.inc.h -CGCall.o: Intrinsics.inc.h -CGCall.o: StmtNodes.inc.h -CGCall.po: AttrList.inc.h -CGCall.po: Attrs.inc.h -CGCall.po: CommentCommandList.inc.h -CGCall.po: DeclNodes.inc.h -CGCall.po: DiagnosticCommonKinds.inc.h -CGCall.po: Intrinsics.inc.h -CGCall.po: StmtNodes.inc.h -CGClass.o: AttrList.inc.h -CGClass.o: Attrs.inc.h -CGClass.o: CommentCommandList.inc.h -CGClass.o: DeclNodes.inc.h -CGClass.o: DiagnosticCommonKinds.inc.h -CGClass.o: Intrinsics.inc.h -CGClass.o: StmtNodes.inc.h -CGClass.o: arm_neon.inc.h -CGClass.po: AttrList.inc.h -CGClass.po: Attrs.inc.h -CGClass.po: CommentCommandList.inc.h -CGClass.po: DeclNodes.inc.h -CGClass.po: DiagnosticCommonKinds.inc.h -CGClass.po: Intrinsics.inc.h -CGClass.po: StmtNodes.inc.h -CGClass.po: arm_neon.inc.h -CGCleanup.o: AttrList.inc.h -CGCleanup.o: Attrs.inc.h -CGCleanup.o: CommentCommandList.inc.h -CGCleanup.o: DeclNodes.inc.h -CGCleanup.o: DiagnosticCommonKinds.inc.h -CGCleanup.o: StmtNodes.inc.h -CGCleanup.po: AttrList.inc.h -CGCleanup.po: Attrs.inc.h -CGCleanup.po: CommentCommandList.inc.h -CGCleanup.po: DeclNodes.inc.h -CGCleanup.po: DiagnosticCommonKinds.inc.h -CGCleanup.po: StmtNodes.inc.h -CGDebugInfo.o: AttrList.inc.h -CGDebugInfo.o: Attrs.inc.h -CGDebugInfo.o: CommentCommandList.inc.h -CGDebugInfo.o: DeclNodes.inc.h -CGDebugInfo.o: DiagnosticCommonKinds.inc.h -CGDebugInfo.o: Intrinsics.inc.h -CGDebugInfo.o: StmtNodes.inc.h -CGDebugInfo.po: AttrList.inc.h -CGDebugInfo.po: Attrs.inc.h -CGDebugInfo.po: CommentCommandList.inc.h -CGDebugInfo.po: DeclNodes.inc.h -CGDebugInfo.po: DiagnosticCommonKinds.inc.h -CGDebugInfo.po: Intrinsics.inc.h -CGDebugInfo.po: StmtNodes.inc.h -CGDecl.o: AttrList.inc.h -CGDecl.o: Attrs.inc.h -CGDecl.o: CommentCommandList.inc.h -CGDecl.o: DeclNodes.inc.h -CGDecl.o: DiagnosticCommonKinds.inc.h -CGDecl.o: Intrinsics.inc.h -CGDecl.o: StmtNodes.inc.h -CGDecl.po: AttrList.inc.h -CGDecl.po: Attrs.inc.h -CGDecl.po: CommentCommandList.inc.h -CGDecl.po: DeclNodes.inc.h -CGDecl.po: DiagnosticCommonKinds.inc.h -CGDecl.po: Intrinsics.inc.h -CGDecl.po: StmtNodes.inc.h -CGDeclCXX.o: AttrList.inc.h -CGDeclCXX.o: Attrs.inc.h -CGDeclCXX.o: CommentCommandList.inc.h -CGDeclCXX.o: DeclNodes.inc.h -CGDeclCXX.o: DiagnosticCommonKinds.inc.h -CGDeclCXX.o: Intrinsics.inc.h -CGDeclCXX.o: StmtNodes.inc.h -CGDeclCXX.po: AttrList.inc.h -CGDeclCXX.po: Attrs.inc.h -CGDeclCXX.po: CommentCommandList.inc.h -CGDeclCXX.po: DeclNodes.inc.h -CGDeclCXX.po: DiagnosticCommonKinds.inc.h -CGDeclCXX.po: Intrinsics.inc.h -CGDeclCXX.po: StmtNodes.inc.h -CGException.o: AttrList.inc.h -CGException.o: Attrs.inc.h -CGException.o: CommentCommandList.inc.h -CGException.o: DeclNodes.inc.h -CGException.o: DiagnosticCommonKinds.inc.h -CGException.o: Intrinsics.inc.h -CGException.o: StmtNodes.inc.h -CGException.o: arm_neon.inc.h -CGException.po: AttrList.inc.h -CGException.po: Attrs.inc.h -CGException.po: CommentCommandList.inc.h -CGException.po: DeclNodes.inc.h -CGException.po: DiagnosticCommonKinds.inc.h -CGException.po: Intrinsics.inc.h -CGException.po: StmtNodes.inc.h -CGException.po: arm_neon.inc.h -CGExpr.o: AttrList.inc.h -CGExpr.o: Attrs.inc.h -CGExpr.o: CommentCommandList.inc.h -CGExpr.o: DeclNodes.inc.h -CGExpr.o: DiagnosticCommonKinds.inc.h -CGExpr.o: Intrinsics.inc.h -CGExpr.o: StmtNodes.inc.h -CGExpr.po: AttrList.inc.h -CGExpr.po: Attrs.inc.h -CGExpr.po: CommentCommandList.inc.h -CGExpr.po: DeclNodes.inc.h -CGExpr.po: DiagnosticCommonKinds.inc.h -CGExpr.po: Intrinsics.inc.h -CGExpr.po: StmtNodes.inc.h -CGExprAgg.o: AttrList.inc.h -CGExprAgg.o: Attrs.inc.h -CGExprAgg.o: CommentCommandList.inc.h -CGExprAgg.o: DeclNodes.inc.h -CGExprAgg.o: DiagnosticCommonKinds.inc.h -CGExprAgg.o: Intrinsics.inc.h -CGExprAgg.o: StmtNodes.inc.h -CGExprAgg.po: AttrList.inc.h -CGExprAgg.po: Attrs.inc.h -CGExprAgg.po: CommentCommandList.inc.h -CGExprAgg.po: DeclNodes.inc.h -CGExprAgg.po: DiagnosticCommonKinds.inc.h -CGExprAgg.po: Intrinsics.inc.h -CGExprAgg.po: StmtNodes.inc.h -CGExprCXX.o: AttrList.inc.h -CGExprCXX.o: Attrs.inc.h -CGExprCXX.o: CommentCommandList.inc.h -CGExprCXX.o: DeclNodes.inc.h -CGExprCXX.o: DiagnosticCommonKinds.inc.h -CGExprCXX.o: Intrinsics.inc.h -CGExprCXX.o: StmtNodes.inc.h -CGExprCXX.po: AttrList.inc.h -CGExprCXX.po: Attrs.inc.h -CGExprCXX.po: CommentCommandList.inc.h -CGExprCXX.po: DeclNodes.inc.h -CGExprCXX.po: DiagnosticCommonKinds.inc.h -CGExprCXX.po: Intrinsics.inc.h -CGExprCXX.po: StmtNodes.inc.h -CGExprComplex.o: AttrList.inc.h -CGExprComplex.o: Attrs.inc.h -CGExprComplex.o: CommentCommandList.inc.h -CGExprComplex.o: DeclNodes.inc.h -CGExprComplex.o: DiagnosticCommonKinds.inc.h -CGExprComplex.o: StmtNodes.inc.h -CGExprComplex.po: AttrList.inc.h -CGExprComplex.po: Attrs.inc.h -CGExprComplex.po: CommentCommandList.inc.h -CGExprComplex.po: DeclNodes.inc.h -CGExprComplex.po: DiagnosticCommonKinds.inc.h -CGExprComplex.po: StmtNodes.inc.h -CGExprConstant.o: AttrList.inc.h -CGExprConstant.o: Attrs.inc.h -CGExprConstant.o: CommentCommandList.inc.h -CGExprConstant.o: DeclNodes.inc.h -CGExprConstant.o: DiagnosticCommonKinds.inc.h -CGExprConstant.o: StmtNodes.inc.h -CGExprConstant.po: AttrList.inc.h -CGExprConstant.po: Attrs.inc.h -CGExprConstant.po: CommentCommandList.inc.h -CGExprConstant.po: DeclNodes.inc.h -CGExprConstant.po: DiagnosticCommonKinds.inc.h -CGExprConstant.po: StmtNodes.inc.h -CGExprScalar.o: AttrList.inc.h -CGExprScalar.o: Attrs.inc.h -CGExprScalar.o: CommentCommandList.inc.h -CGExprScalar.o: DeclNodes.inc.h -CGExprScalar.o: DiagnosticCommonKinds.inc.h -CGExprScalar.o: Intrinsics.inc.h -CGExprScalar.o: StmtNodes.inc.h -CGExprScalar.po: AttrList.inc.h -CGExprScalar.po: Attrs.inc.h -CGExprScalar.po: CommentCommandList.inc.h -CGExprScalar.po: DeclNodes.inc.h -CGExprScalar.po: DiagnosticCommonKinds.inc.h -CGExprScalar.po: Intrinsics.inc.h -CGExprScalar.po: StmtNodes.inc.h -CGLoopInfo.o: AttrList.inc.h -CGLoopInfo.o: AttrParsedAttrList.inc.h -CGLoopInfo.o: Attrs.inc.h -CGLoopInfo.o: DeclNodes.inc.h -CGLoopInfo.o: DiagnosticCommonKinds.inc.h -CGLoopInfo.o: StmtNodes.inc.h -CGLoopInfo.po: AttrList.inc.h -CGLoopInfo.po: AttrParsedAttrList.inc.h -CGLoopInfo.po: Attrs.inc.h -CGLoopInfo.po: DeclNodes.inc.h -CGLoopInfo.po: DiagnosticCommonKinds.inc.h -CGLoopInfo.po: StmtNodes.inc.h -CGObjC.o: AttrList.inc.h -CGObjC.o: Attrs.inc.h -CGObjC.o: CommentCommandList.inc.h -CGObjC.o: DeclNodes.inc.h -CGObjC.o: DiagnosticCommonKinds.inc.h -CGObjC.o: StmtNodes.inc.h -CGObjC.po: AttrList.inc.h -CGObjC.po: Attrs.inc.h -CGObjC.po: CommentCommandList.inc.h -CGObjC.po: DeclNodes.inc.h -CGObjC.po: DiagnosticCommonKinds.inc.h -CGObjC.po: StmtNodes.inc.h -CGObjCGNU.o: AttrList.inc.h -CGObjCGNU.o: Attrs.inc.h -CGObjCGNU.o: CommentCommandList.inc.h -CGObjCGNU.o: DeclNodes.inc.h -CGObjCGNU.o: DiagnosticCommonKinds.inc.h -CGObjCGNU.o: Intrinsics.inc.h -CGObjCGNU.o: StmtNodes.inc.h -CGObjCGNU.po: AttrList.inc.h -CGObjCGNU.po: Attrs.inc.h -CGObjCGNU.po: CommentCommandList.inc.h -CGObjCGNU.po: DeclNodes.inc.h -CGObjCGNU.po: DiagnosticCommonKinds.inc.h -CGObjCGNU.po: Intrinsics.inc.h -CGObjCGNU.po: StmtNodes.inc.h -CGObjCMac.o: AttrList.inc.h -CGObjCMac.o: Attrs.inc.h -CGObjCMac.o: CommentCommandList.inc.h -CGObjCMac.o: DeclNodes.inc.h -CGObjCMac.o: DiagnosticCommonKinds.inc.h -CGObjCMac.o: Intrinsics.inc.h -CGObjCMac.o: StmtNodes.inc.h -CGObjCMac.po: AttrList.inc.h -CGObjCMac.po: Attrs.inc.h -CGObjCMac.po: CommentCommandList.inc.h -CGObjCMac.po: DeclNodes.inc.h -CGObjCMac.po: DiagnosticCommonKinds.inc.h -CGObjCMac.po: Intrinsics.inc.h -CGObjCMac.po: StmtNodes.inc.h -CGObjCRuntime.o: AttrList.inc.h -CGObjCRuntime.o: Attrs.inc.h -CGObjCRuntime.o: CommentCommandList.inc.h -CGObjCRuntime.o: DeclNodes.inc.h -CGObjCRuntime.o: DiagnosticCommonKinds.inc.h -CGObjCRuntime.o: StmtNodes.inc.h -CGObjCRuntime.po: AttrList.inc.h -CGObjCRuntime.po: Attrs.inc.h -CGObjCRuntime.po: CommentCommandList.inc.h -CGObjCRuntime.po: DeclNodes.inc.h -CGObjCRuntime.po: DiagnosticCommonKinds.inc.h -CGObjCRuntime.po: StmtNodes.inc.h -CGOpenCLRuntime.o: AttrList.inc.h -CGOpenCLRuntime.o: Attrs.inc.h -CGOpenCLRuntime.o: CommentCommandList.inc.h -CGOpenCLRuntime.o: DeclNodes.inc.h -CGOpenCLRuntime.o: DiagnosticCommonKinds.inc.h -CGOpenCLRuntime.o: StmtNodes.inc.h -CGOpenCLRuntime.po: AttrList.inc.h -CGOpenCLRuntime.po: Attrs.inc.h -CGOpenCLRuntime.po: CommentCommandList.inc.h -CGOpenCLRuntime.po: DeclNodes.inc.h -CGOpenCLRuntime.po: DiagnosticCommonKinds.inc.h -CGOpenCLRuntime.po: StmtNodes.inc.h -CGOpenMPRuntime.o: AttrList.inc.h -CGOpenMPRuntime.o: Attrs.inc.h -CGOpenMPRuntime.o: CommentCommandList.inc.h -CGOpenMPRuntime.o: DeclNodes.inc.h -CGOpenMPRuntime.o: DiagnosticCommonKinds.inc.h -CGOpenMPRuntime.o: StmtNodes.inc.h -CGOpenMPRuntime.po: AttrList.inc.h -CGOpenMPRuntime.po: Attrs.inc.h -CGOpenMPRuntime.po: CommentCommandList.inc.h -CGOpenMPRuntime.po: DeclNodes.inc.h -CGOpenMPRuntime.po: DiagnosticCommonKinds.inc.h -CGOpenMPRuntime.po: StmtNodes.inc.h -CGRecordLayoutBuilder.o: AttrList.inc.h -CGRecordLayoutBuilder.o: Attrs.inc.h -CGRecordLayoutBuilder.o: CommentCommandList.inc.h -CGRecordLayoutBuilder.o: DeclNodes.inc.h -CGRecordLayoutBuilder.o: DiagnosticCommonKinds.inc.h -CGRecordLayoutBuilder.o: StmtNodes.inc.h -CGRecordLayoutBuilder.po: AttrList.inc.h -CGRecordLayoutBuilder.po: Attrs.inc.h -CGRecordLayoutBuilder.po: CommentCommandList.inc.h -CGRecordLayoutBuilder.po: DeclNodes.inc.h -CGRecordLayoutBuilder.po: DiagnosticCommonKinds.inc.h -CGRecordLayoutBuilder.po: StmtNodes.inc.h -CGStmt.o: AttrList.inc.h -CGStmt.o: AttrParsedAttrList.inc.h -CGStmt.o: Attrs.inc.h -CGStmt.o: CommentCommandList.inc.h -CGStmt.o: DeclNodes.inc.h -CGStmt.o: DiagnosticCommonKinds.inc.h -CGStmt.o: DiagnosticSemaKinds.inc.h -CGStmt.o: Intrinsics.inc.h -CGStmt.o: StmtNodes.inc.h -CGStmt.po: AttrList.inc.h -CGStmt.po: AttrParsedAttrList.inc.h -CGStmt.po: Attrs.inc.h -CGStmt.po: CommentCommandList.inc.h -CGStmt.po: DeclNodes.inc.h -CGStmt.po: DiagnosticCommonKinds.inc.h -CGStmt.po: DiagnosticSemaKinds.inc.h -CGStmt.po: Intrinsics.inc.h -CGStmt.po: StmtNodes.inc.h -CGStmtOpenMP.o: AttrList.inc.h -CGStmtOpenMP.o: Attrs.inc.h -CGStmtOpenMP.o: CommentCommandList.inc.h -CGStmtOpenMP.o: DeclNodes.inc.h -CGStmtOpenMP.o: DiagnosticCommonKinds.inc.h -CGStmtOpenMP.o: StmtNodes.inc.h -CGStmtOpenMP.po: AttrList.inc.h -CGStmtOpenMP.po: Attrs.inc.h -CGStmtOpenMP.po: CommentCommandList.inc.h -CGStmtOpenMP.po: DeclNodes.inc.h -CGStmtOpenMP.po: DiagnosticCommonKinds.inc.h -CGStmtOpenMP.po: StmtNodes.inc.h -CGVTT.o: AttrList.inc.h -CGVTT.o: Attrs.inc.h -CGVTT.o: CommentCommandList.inc.h -CGVTT.o: DeclNodes.inc.h -CGVTT.o: DiagnosticCommonKinds.inc.h -CGVTT.o: StmtNodes.inc.h -CGVTT.po: AttrList.inc.h -CGVTT.po: Attrs.inc.h -CGVTT.po: CommentCommandList.inc.h -CGVTT.po: DeclNodes.inc.h -CGVTT.po: DiagnosticCommonKinds.inc.h -CGVTT.po: StmtNodes.inc.h -CGVTables.o: AttrList.inc.h -CGVTables.o: Attrs.inc.h -CGVTables.o: CommentCommandList.inc.h -CGVTables.o: DeclNodes.inc.h -CGVTables.o: DiagnosticCommonKinds.inc.h -CGVTables.o: StmtNodes.inc.h -CGVTables.po: AttrList.inc.h -CGVTables.po: Attrs.inc.h -CGVTables.po: CommentCommandList.inc.h -CGVTables.po: DeclNodes.inc.h -CGVTables.po: DiagnosticCommonKinds.inc.h -CGVTables.po: StmtNodes.inc.h -CodeGenABITypes.o: AttrList.inc.h -CodeGenABITypes.o: Attrs.inc.h -CodeGenABITypes.o: CommentCommandList.inc.h -CodeGenABITypes.o: DeclNodes.inc.h -CodeGenABITypes.o: DiagnosticCommonKinds.inc.h -CodeGenABITypes.o: StmtNodes.inc.h -CodeGenABITypes.po: AttrList.inc.h -CodeGenABITypes.po: Attrs.inc.h -CodeGenABITypes.po: CommentCommandList.inc.h -CodeGenABITypes.po: DeclNodes.inc.h -CodeGenABITypes.po: DiagnosticCommonKinds.inc.h -CodeGenABITypes.po: StmtNodes.inc.h -CodeGenAction.o: AttrList.inc.h -CodeGenAction.o: Attrs.inc.h -CodeGenAction.o: CommentCommandList.inc.h -CodeGenAction.o: DeclNodes.inc.h -CodeGenAction.o: DiagnosticCommonKinds.inc.h -CodeGenAction.o: DiagnosticFrontendKinds.inc.h -CodeGenAction.o: StmtNodes.inc.h -CodeGenAction.po: AttrList.inc.h -CodeGenAction.po: Attrs.inc.h -CodeGenAction.po: CommentCommandList.inc.h -CodeGenAction.po: DeclNodes.inc.h -CodeGenAction.po: DiagnosticCommonKinds.inc.h -CodeGenAction.po: DiagnosticFrontendKinds.inc.h -CodeGenAction.po: StmtNodes.inc.h -CodeGenFunction.o: AttrList.inc.h -CodeGenFunction.o: Attrs.inc.h -CodeGenFunction.o: CommentCommandList.inc.h -CodeGenFunction.o: DeclNodes.inc.h -CodeGenFunction.o: DiagnosticCommonKinds.inc.h -CodeGenFunction.o: Intrinsics.inc.h -CodeGenFunction.o: StmtNodes.inc.h -CodeGenFunction.po: AttrList.inc.h -CodeGenFunction.po: Attrs.inc.h -CodeGenFunction.po: CommentCommandList.inc.h -CodeGenFunction.po: DeclNodes.inc.h -CodeGenFunction.po: DiagnosticCommonKinds.inc.h -CodeGenFunction.po: Intrinsics.inc.h -CodeGenFunction.po: StmtNodes.inc.h -CodeGenModule.o: AttrList.inc.h -CodeGenModule.o: AttrVisitor.inc.h -CodeGenModule.o: Attrs.inc.h -CodeGenModule.o: CommentCommandList.inc.h -CodeGenModule.o: DeclNodes.inc.h -CodeGenModule.o: DiagnosticCommonKinds.inc.h -CodeGenModule.o: DiagnosticSemaKinds.inc.h -CodeGenModule.o: Intrinsics.inc.h -CodeGenModule.o: StmtNodes.inc.h -CodeGenModule.po: AttrList.inc.h -CodeGenModule.po: AttrVisitor.inc.h -CodeGenModule.po: Attrs.inc.h -CodeGenModule.po: CommentCommandList.inc.h -CodeGenModule.po: DeclNodes.inc.h -CodeGenModule.po: DiagnosticCommonKinds.inc.h -CodeGenModule.po: DiagnosticSemaKinds.inc.h -CodeGenModule.po: Intrinsics.inc.h -CodeGenModule.po: StmtNodes.inc.h -CodeGenPGO.o: AttrList.inc.h -CodeGenPGO.o: AttrVisitor.inc.h -CodeGenPGO.o: Attrs.inc.h -CodeGenPGO.o: CommentCommandList.inc.h -CodeGenPGO.o: DeclNodes.inc.h -CodeGenPGO.o: DiagnosticCommonKinds.inc.h -CodeGenPGO.o: Intrinsics.inc.h -CodeGenPGO.o: StmtNodes.inc.h -CodeGenPGO.po: AttrList.inc.h -CodeGenPGO.po: AttrVisitor.inc.h -CodeGenPGO.po: Attrs.inc.h -CodeGenPGO.po: CommentCommandList.inc.h -CodeGenPGO.po: DeclNodes.inc.h -CodeGenPGO.po: DiagnosticCommonKinds.inc.h -CodeGenPGO.po: Intrinsics.inc.h -CodeGenPGO.po: StmtNodes.inc.h -CodeGenTBAA.o: AttrList.inc.h -CodeGenTBAA.o: Attrs.inc.h -CodeGenTBAA.o: CommentCommandList.inc.h -CodeGenTBAA.o: DeclNodes.inc.h -CodeGenTBAA.o: DiagnosticCommonKinds.inc.h -CodeGenTBAA.o: StmtNodes.inc.h -CodeGenTBAA.po: AttrList.inc.h -CodeGenTBAA.po: Attrs.inc.h -CodeGenTBAA.po: CommentCommandList.inc.h -CodeGenTBAA.po: DeclNodes.inc.h -CodeGenTBAA.po: DiagnosticCommonKinds.inc.h -CodeGenTBAA.po: StmtNodes.inc.h -CodeGenTypes.o: AttrList.inc.h -CodeGenTypes.o: Attrs.inc.h -CodeGenTypes.o: CommentCommandList.inc.h -CodeGenTypes.o: DeclNodes.inc.h -CodeGenTypes.o: DiagnosticCommonKinds.inc.h -CodeGenTypes.o: StmtNodes.inc.h -CodeGenTypes.po: AttrList.inc.h -CodeGenTypes.po: Attrs.inc.h -CodeGenTypes.po: CommentCommandList.inc.h -CodeGenTypes.po: DeclNodes.inc.h -CodeGenTypes.po: DiagnosticCommonKinds.inc.h -CodeGenTypes.po: StmtNodes.inc.h -CoverageMappingGen.o: AttrList.inc.h -CoverageMappingGen.o: Attrs.inc.h -CoverageMappingGen.o: CommentCommandList.inc.h -CoverageMappingGen.o: DeclNodes.inc.h -CoverageMappingGen.o: DiagnosticCommonKinds.inc.h -CoverageMappingGen.o: StmtNodes.inc.h -CoverageMappingGen.po: AttrList.inc.h -CoverageMappingGen.po: Attrs.inc.h -CoverageMappingGen.po: CommentCommandList.inc.h -CoverageMappingGen.po: DeclNodes.inc.h -CoverageMappingGen.po: DiagnosticCommonKinds.inc.h -CoverageMappingGen.po: StmtNodes.inc.h -ItaniumCXXABI.o: AttrList.inc.h -ItaniumCXXABI.o: Attrs.inc.h -ItaniumCXXABI.o: CommentCommandList.inc.h -ItaniumCXXABI.o: DeclNodes.inc.h -ItaniumCXXABI.o: DiagnosticCommonKinds.inc.h -ItaniumCXXABI.o: Intrinsics.inc.h -ItaniumCXXABI.o: StmtNodes.inc.h -ItaniumCXXABI.po: AttrList.inc.h -ItaniumCXXABI.po: Attrs.inc.h -ItaniumCXXABI.po: CommentCommandList.inc.h -ItaniumCXXABI.po: DeclNodes.inc.h -ItaniumCXXABI.po: DiagnosticCommonKinds.inc.h -ItaniumCXXABI.po: Intrinsics.inc.h -ItaniumCXXABI.po: StmtNodes.inc.h -MicrosoftCXXABI.o: AttrList.inc.h -MicrosoftCXXABI.o: Attrs.inc.h -MicrosoftCXXABI.o: CommentCommandList.inc.h -MicrosoftCXXABI.o: DeclNodes.inc.h -MicrosoftCXXABI.o: DiagnosticCommonKinds.inc.h -MicrosoftCXXABI.o: Intrinsics.inc.h -MicrosoftCXXABI.o: StmtNodes.inc.h -MicrosoftCXXABI.po: AttrList.inc.h -MicrosoftCXXABI.po: Attrs.inc.h -MicrosoftCXXABI.po: CommentCommandList.inc.h -MicrosoftCXXABI.po: DeclNodes.inc.h -MicrosoftCXXABI.po: DiagnosticCommonKinds.inc.h -MicrosoftCXXABI.po: Intrinsics.inc.h -MicrosoftCXXABI.po: StmtNodes.inc.h -ModuleBuilder.o: AttrList.inc.h -ModuleBuilder.o: Attrs.inc.h -ModuleBuilder.o: CommentCommandList.inc.h -ModuleBuilder.o: DeclNodes.inc.h -ModuleBuilder.o: DiagnosticCommonKinds.inc.h -ModuleBuilder.o: StmtNodes.inc.h -ModuleBuilder.po: AttrList.inc.h -ModuleBuilder.po: Attrs.inc.h -ModuleBuilder.po: CommentCommandList.inc.h -ModuleBuilder.po: DeclNodes.inc.h -ModuleBuilder.po: DiagnosticCommonKinds.inc.h -ModuleBuilder.po: StmtNodes.inc.h -ObjectFilePCHContainerOperations.o: AttrList.inc.h -ObjectFilePCHContainerOperations.o: AttrVisitor.inc.h -ObjectFilePCHContainerOperations.o: Attrs.inc.h -ObjectFilePCHContainerOperations.o: CommentCommandList.inc.h -ObjectFilePCHContainerOperations.o: DeclNodes.inc.h -ObjectFilePCHContainerOperations.o: DiagnosticCommonKinds.inc.h -ObjectFilePCHContainerOperations.o: StmtNodes.inc.h -ObjectFilePCHContainerOperations.po: AttrList.inc.h -ObjectFilePCHContainerOperations.po: AttrVisitor.inc.h -ObjectFilePCHContainerOperations.po: Attrs.inc.h -ObjectFilePCHContainerOperations.po: CommentCommandList.inc.h -ObjectFilePCHContainerOperations.po: DeclNodes.inc.h -ObjectFilePCHContainerOperations.po: DiagnosticCommonKinds.inc.h -ObjectFilePCHContainerOperations.po: StmtNodes.inc.h -SanitizerMetadata.o: AttrList.inc.h -SanitizerMetadata.o: Attrs.inc.h -SanitizerMetadata.o: CommentCommandList.inc.h -SanitizerMetadata.o: DeclNodes.inc.h -SanitizerMetadata.o: DiagnosticCommonKinds.inc.h -SanitizerMetadata.o: StmtNodes.inc.h -SanitizerMetadata.po: AttrList.inc.h -SanitizerMetadata.po: Attrs.inc.h -SanitizerMetadata.po: CommentCommandList.inc.h -SanitizerMetadata.po: DeclNodes.inc.h -SanitizerMetadata.po: DiagnosticCommonKinds.inc.h -SanitizerMetadata.po: StmtNodes.inc.h -TargetInfo.o: AttrList.inc.h -TargetInfo.o: Attrs.inc.h -TargetInfo.o: CommentCommandList.inc.h -TargetInfo.o: DeclNodes.inc.h -TargetInfo.o: DiagnosticCommonKinds.inc.h -TargetInfo.o: StmtNodes.inc.h -TargetInfo.po: AttrList.inc.h -TargetInfo.po: Attrs.inc.h -TargetInfo.po: CommentCommandList.inc.h -TargetInfo.po: DeclNodes.inc.h -TargetInfo.po: DiagnosticCommonKinds.inc.h -TargetInfo.po: StmtNodes.inc.h .endif diff --git a/lib/clang/libclangdriver/Makefile.depend b/lib/clang/libclangdriver/Makefile.depend index 5aa7286..9a1b84e 100644 --- a/lib/clang/libclangdriver/Makefile.depend +++ b/lib/clang/libclangdriver/Makefile.depend @@ -14,62 +14,4 @@ DIRDEPS = \ .if ${DEP_RELDIR} == ${_DEP_RELDIR} # local dependencies - needed for -jN in clean tree -Compilation.o: DiagnosticCommonKinds.inc.h -Compilation.o: DiagnosticDriverKinds.inc.h -Compilation.o: Options.inc.h -Compilation.po: DiagnosticCommonKinds.inc.h -Compilation.po: DiagnosticDriverKinds.inc.h -Compilation.po: Options.inc.h -CrossWindowsToolChain.o: DiagnosticCommonKinds.inc.h -CrossWindowsToolChain.o: Options.inc.h -CrossWindowsToolChain.po: DiagnosticCommonKinds.inc.h -CrossWindowsToolChain.po: Options.inc.h -Driver.o: DiagnosticCommonKinds.inc.h -Driver.o: DiagnosticDriverKinds.inc.h -Driver.o: Options.inc.h -Driver.po: DiagnosticCommonKinds.inc.h -Driver.po: DiagnosticDriverKinds.inc.h -Driver.po: Options.inc.h -DriverOptions.o: Options.inc.h -DriverOptions.po: Options.inc.h -Job.o: DiagnosticCommonKinds.inc.h -Job.o: DiagnosticDriverKinds.inc.h -Job.po: DiagnosticCommonKinds.inc.h -Job.po: DiagnosticDriverKinds.inc.h -MSVCToolChain.o: DiagnosticCommonKinds.inc.h -MSVCToolChain.o: DiagnosticDriverKinds.inc.h -MSVCToolChain.o: Options.inc.h -MSVCToolChain.po: DiagnosticCommonKinds.inc.h -MSVCToolChain.po: DiagnosticDriverKinds.inc.h -MSVCToolChain.po: Options.inc.h -MinGWToolChain.o: DiagnosticCommonKinds.inc.h -MinGWToolChain.o: Options.inc.h -MinGWToolChain.po: DiagnosticCommonKinds.inc.h -MinGWToolChain.po: Options.inc.h -Multilib.o: Options.inc.h -Multilib.po: Options.inc.h -SanitizerArgs.o: DiagnosticCommonKinds.inc.h -SanitizerArgs.o: DiagnosticDriverKinds.inc.h -SanitizerArgs.o: Options.inc.h -SanitizerArgs.po: DiagnosticCommonKinds.inc.h -SanitizerArgs.po: DiagnosticDriverKinds.inc.h -SanitizerArgs.po: Options.inc.h -ToolChain.o: DiagnosticCommonKinds.inc.h -ToolChain.o: DiagnosticDriverKinds.inc.h -ToolChain.o: Options.inc.h -ToolChain.po: DiagnosticCommonKinds.inc.h -ToolChain.po: DiagnosticDriverKinds.inc.h -ToolChain.po: Options.inc.h -ToolChains.o: DiagnosticCommonKinds.inc.h -ToolChains.o: DiagnosticDriverKinds.inc.h -ToolChains.o: Options.inc.h -ToolChains.po: DiagnosticCommonKinds.inc.h -ToolChains.po: DiagnosticDriverKinds.inc.h -ToolChains.po: Options.inc.h -Tools.o: DiagnosticCommonKinds.inc.h -Tools.o: DiagnosticDriverKinds.inc.h -Tools.o: Options.inc.h -Tools.po: DiagnosticCommonKinds.inc.h -Tools.po: DiagnosticDriverKinds.inc.h -Tools.po: Options.inc.h .endif diff --git a/lib/clang/libclangedit/Makefile.depend b/lib/clang/libclangedit/Makefile.depend index 778a945..264ede1 100644 --- a/lib/clang/libclangedit/Makefile.depend +++ b/lib/clang/libclangedit/Makefile.depend @@ -13,14 +13,4 @@ DIRDEPS = \ .if ${DEP_RELDIR} == ${_DEP_RELDIR} # local dependencies - needed for -jN in clean tree -Commit.o: DiagnosticCommonKinds.inc.h -Commit.po: DiagnosticCommonKinds.inc.h -RewriteObjCFoundationAPI.o: CommentCommandList.inc.h -RewriteObjCFoundationAPI.o: DeclNodes.inc.h -RewriteObjCFoundationAPI.o: DiagnosticCommonKinds.inc.h -RewriteObjCFoundationAPI.o: StmtNodes.inc.h -RewriteObjCFoundationAPI.po: CommentCommandList.inc.h -RewriteObjCFoundationAPI.po: DeclNodes.inc.h -RewriteObjCFoundationAPI.po: DiagnosticCommonKinds.inc.h -RewriteObjCFoundationAPI.po: StmtNodes.inc.h .endif diff --git a/lib/clang/libclangfrontend/Makefile.depend b/lib/clang/libclangfrontend/Makefile.depend index 8605e39..9a1b84e 100644 --- a/lib/clang/libclangfrontend/Makefile.depend +++ b/lib/clang/libclangfrontend/Makefile.depend @@ -14,212 +14,4 @@ DIRDEPS = \ .if ${DEP_RELDIR} == ${_DEP_RELDIR} # local dependencies - needed for -jN in clean tree -ASTConsumers.o: AttrList.inc.h -ASTConsumers.o: AttrVisitor.inc.h -ASTConsumers.o: Attrs.inc.h -ASTConsumers.o: CommentCommandList.inc.h -ASTConsumers.o: DeclNodes.inc.h -ASTConsumers.o: DiagnosticCommonKinds.inc.h -ASTConsumers.o: StmtNodes.inc.h -ASTConsumers.po: AttrList.inc.h -ASTConsumers.po: AttrVisitor.inc.h -ASTConsumers.po: Attrs.inc.h -ASTConsumers.po: CommentCommandList.inc.h -ASTConsumers.po: DeclNodes.inc.h -ASTConsumers.po: DiagnosticCommonKinds.inc.h -ASTConsumers.po: StmtNodes.inc.h -ASTMerge.o: CommentCommandList.inc.h -ASTMerge.o: DeclNodes.inc.h -ASTMerge.o: DiagnosticASTKinds.inc.h -ASTMerge.o: DiagnosticCommonKinds.inc.h -ASTMerge.o: StmtNodes.inc.h -ASTMerge.po: CommentCommandList.inc.h -ASTMerge.po: DeclNodes.inc.h -ASTMerge.po: DiagnosticASTKinds.inc.h -ASTMerge.po: DiagnosticCommonKinds.inc.h -ASTMerge.po: StmtNodes.inc.h -ASTUnit.o: AttrList.inc.h -ASTUnit.o: AttrParsedAttrList.inc.h -ASTUnit.o: Attrs.inc.h -ASTUnit.o: CommentCommandList.inc.h -ASTUnit.o: DeclNodes.inc.h -ASTUnit.o: DiagnosticCommonKinds.inc.h -ASTUnit.o: DiagnosticFrontendKinds.inc.h -ASTUnit.o: StmtNodes.inc.h -ASTUnit.po: AttrList.inc.h -ASTUnit.po: AttrParsedAttrList.inc.h -ASTUnit.po: Attrs.inc.h -ASTUnit.po: CommentCommandList.inc.h -ASTUnit.po: DeclNodes.inc.h -ASTUnit.po: DiagnosticCommonKinds.inc.h -ASTUnit.po: DiagnosticFrontendKinds.inc.h -ASTUnit.po: StmtNodes.inc.h -CacheTokens.o: DiagnosticCommonKinds.inc.h -CacheTokens.po: DiagnosticCommonKinds.inc.h -ChainedDiagnosticConsumer.o: DiagnosticCommonKinds.inc.h -ChainedDiagnosticConsumer.po: DiagnosticCommonKinds.inc.h -ChainedIncludesSource.o: AttrList.inc.h -ChainedIncludesSource.o: AttrParsedAttrList.inc.h -ChainedIncludesSource.o: Attrs.inc.h -ChainedIncludesSource.o: CommentCommandList.inc.h -ChainedIncludesSource.o: DeclNodes.inc.h -ChainedIncludesSource.o: DiagnosticCommonKinds.inc.h -ChainedIncludesSource.o: StmtNodes.inc.h -ChainedIncludesSource.po: AttrList.inc.h -ChainedIncludesSource.po: AttrParsedAttrList.inc.h -ChainedIncludesSource.po: Attrs.inc.h -ChainedIncludesSource.po: CommentCommandList.inc.h -ChainedIncludesSource.po: DeclNodes.inc.h -ChainedIncludesSource.po: DiagnosticCommonKinds.inc.h -ChainedIncludesSource.po: StmtNodes.inc.h -CompilerInstance.o: AttrList.inc.h -CompilerInstance.o: AttrParsedAttrList.inc.h -CompilerInstance.o: Attrs.inc.h -CompilerInstance.o: CommentCommandList.inc.h -CompilerInstance.o: DeclNodes.inc.h -CompilerInstance.o: DiagnosticCommonKinds.inc.h -CompilerInstance.o: DiagnosticFrontendKinds.inc.h -CompilerInstance.o: StmtNodes.inc.h -CompilerInstance.po: AttrList.inc.h -CompilerInstance.po: AttrParsedAttrList.inc.h -CompilerInstance.po: Attrs.inc.h -CompilerInstance.po: CommentCommandList.inc.h -CompilerInstance.po: DeclNodes.inc.h -CompilerInstance.po: DiagnosticCommonKinds.inc.h -CompilerInstance.po: DiagnosticFrontendKinds.inc.h -CompilerInstance.po: StmtNodes.inc.h -CompilerInvocation.o: AttrList.inc.h -CompilerInvocation.o: AttrParsedAttrList.inc.h -CompilerInvocation.o: Attrs.inc.h -CompilerInvocation.o: DeclNodes.inc.h -CompilerInvocation.o: DiagnosticCommonKinds.inc.h -CompilerInvocation.o: DiagnosticDriverKinds.inc.h -CompilerInvocation.o: DiagnosticFrontendKinds.inc.h -CompilerInvocation.o: Options.inc.h -CompilerInvocation.o: StmtNodes.inc.h -CompilerInvocation.po: AttrList.inc.h -CompilerInvocation.po: AttrParsedAttrList.inc.h -CompilerInvocation.po: Attrs.inc.h -CompilerInvocation.po: DeclNodes.inc.h -CompilerInvocation.po: DiagnosticCommonKinds.inc.h -CompilerInvocation.po: DiagnosticDriverKinds.inc.h -CompilerInvocation.po: DiagnosticFrontendKinds.inc.h -CompilerInvocation.po: Options.inc.h -CompilerInvocation.po: StmtNodes.inc.h -CreateInvocationFromCommandLine.o: DiagnosticCommonKinds.inc.h -CreateInvocationFromCommandLine.o: DiagnosticFrontendKinds.inc.h -CreateInvocationFromCommandLine.o: Options.inc.h -CreateInvocationFromCommandLine.po: DiagnosticCommonKinds.inc.h -CreateInvocationFromCommandLine.po: DiagnosticFrontendKinds.inc.h -CreateInvocationFromCommandLine.po: Options.inc.h -DependencyFile.o: AttrList.inc.h -DependencyFile.o: AttrParsedAttrList.inc.h -DependencyFile.o: Attrs.inc.h -DependencyFile.o: DeclNodes.inc.h -DependencyFile.o: DiagnosticCommonKinds.inc.h -DependencyFile.o: DiagnosticFrontendKinds.inc.h -DependencyFile.o: DiagnosticLexKinds.inc.h -DependencyFile.o: StmtNodes.inc.h -DependencyFile.po: AttrList.inc.h -DependencyFile.po: AttrParsedAttrList.inc.h -DependencyFile.po: Attrs.inc.h -DependencyFile.po: DeclNodes.inc.h -DependencyFile.po: DiagnosticCommonKinds.inc.h -DependencyFile.po: DiagnosticFrontendKinds.inc.h -DependencyFile.po: DiagnosticLexKinds.inc.h -DependencyFile.po: StmtNodes.inc.h -DependencyGraph.o: DiagnosticCommonKinds.inc.h -DependencyGraph.o: DiagnosticFrontendKinds.inc.h -DependencyGraph.po: DiagnosticCommonKinds.inc.h -DependencyGraph.po: DiagnosticFrontendKinds.inc.h -DiagnosticRenderer.o: DiagnosticCommonKinds.inc.h -DiagnosticRenderer.po: DiagnosticCommonKinds.inc.h -FrontendAction.o: AttrList.inc.h -FrontendAction.o: AttrParsedAttrList.inc.h -FrontendAction.o: Attrs.inc.h -FrontendAction.o: CommentCommandList.inc.h -FrontendAction.o: DeclNodes.inc.h -FrontendAction.o: DiagnosticCommonKinds.inc.h -FrontendAction.o: DiagnosticFrontendKinds.inc.h -FrontendAction.o: StmtNodes.inc.h -FrontendAction.po: AttrList.inc.h -FrontendAction.po: AttrParsedAttrList.inc.h -FrontendAction.po: Attrs.inc.h -FrontendAction.po: CommentCommandList.inc.h -FrontendAction.po: DeclNodes.inc.h -FrontendAction.po: DiagnosticCommonKinds.inc.h -FrontendAction.po: DiagnosticFrontendKinds.inc.h -FrontendAction.po: StmtNodes.inc.h -FrontendActions.o: AttrList.inc.h -FrontendActions.o: AttrParsedAttrList.inc.h -FrontendActions.o: Attrs.inc.h -FrontendActions.o: CommentCommandList.inc.h -FrontendActions.o: DeclNodes.inc.h -FrontendActions.o: DiagnosticCommonKinds.inc.h -FrontendActions.o: DiagnosticFrontendKinds.inc.h -FrontendActions.o: StmtNodes.inc.h -FrontendActions.po: AttrList.inc.h -FrontendActions.po: AttrParsedAttrList.inc.h -FrontendActions.po: Attrs.inc.h -FrontendActions.po: CommentCommandList.inc.h -FrontendActions.po: DeclNodes.inc.h -FrontendActions.po: DiagnosticCommonKinds.inc.h -FrontendActions.po: DiagnosticFrontendKinds.inc.h -FrontendActions.po: StmtNodes.inc.h -HeaderIncludeGen.o: DiagnosticCommonKinds.inc.h -HeaderIncludeGen.o: DiagnosticFrontendKinds.inc.h -HeaderIncludeGen.po: DiagnosticCommonKinds.inc.h -HeaderIncludeGen.po: DiagnosticFrontendKinds.inc.h -InitHeaderSearch.o: DiagnosticCommonKinds.inc.h -InitHeaderSearch.po: DiagnosticCommonKinds.inc.h -InitPreprocessor.o: AttrList.inc.h -InitPreprocessor.o: AttrParsedAttrList.inc.h -InitPreprocessor.o: Attrs.inc.h -InitPreprocessor.o: DeclNodes.inc.h -InitPreprocessor.o: DiagnosticCommonKinds.inc.h -InitPreprocessor.o: DiagnosticFrontendKinds.inc.h -InitPreprocessor.o: StmtNodes.inc.h -InitPreprocessor.po: AttrList.inc.h -InitPreprocessor.po: AttrParsedAttrList.inc.h -InitPreprocessor.po: Attrs.inc.h -InitPreprocessor.po: DeclNodes.inc.h -InitPreprocessor.po: DiagnosticCommonKinds.inc.h -InitPreprocessor.po: DiagnosticFrontendKinds.inc.h -InitPreprocessor.po: StmtNodes.inc.h -LayoutOverrideSource.o: DeclNodes.inc.h -LayoutOverrideSource.o: DiagnosticCommonKinds.inc.h -LayoutOverrideSource.po: DeclNodes.inc.h -LayoutOverrideSource.po: DiagnosticCommonKinds.inc.h -LogDiagnosticPrinter.o: DiagnosticCommonKinds.inc.h -LogDiagnosticPrinter.po: DiagnosticCommonKinds.inc.h -ModuleDependencyCollector.o: AttrList.inc.h -ModuleDependencyCollector.o: AttrParsedAttrList.inc.h -ModuleDependencyCollector.o: Attrs.inc.h -ModuleDependencyCollector.o: DeclNodes.inc.h -ModuleDependencyCollector.o: DiagnosticCommonKinds.inc.h -ModuleDependencyCollector.o: StmtNodes.inc.h -ModuleDependencyCollector.po: AttrList.inc.h -ModuleDependencyCollector.po: AttrParsedAttrList.inc.h -ModuleDependencyCollector.po: Attrs.inc.h -ModuleDependencyCollector.po: DeclNodes.inc.h -ModuleDependencyCollector.po: DiagnosticCommonKinds.inc.h -ModuleDependencyCollector.po: StmtNodes.inc.h -MultiplexConsumer.o: DiagnosticCommonKinds.inc.h -MultiplexConsumer.po: DiagnosticCommonKinds.inc.h -PrintPreprocessedOutput.o: DiagnosticCommonKinds.inc.h -PrintPreprocessedOutput.po: DiagnosticCommonKinds.inc.h -SerializedDiagnosticPrinter.o: DiagnosticCommonKinds.inc.h -SerializedDiagnosticPrinter.o: DiagnosticFrontendKinds.inc.h -SerializedDiagnosticPrinter.po: DiagnosticCommonKinds.inc.h -SerializedDiagnosticPrinter.po: DiagnosticFrontendKinds.inc.h -TextDiagnostic.o: DiagnosticCommonKinds.inc.h -TextDiagnostic.po: DiagnosticCommonKinds.inc.h -TextDiagnosticBuffer.o: DiagnosticCommonKinds.inc.h -TextDiagnosticBuffer.po: DiagnosticCommonKinds.inc.h -TextDiagnosticPrinter.o: DiagnosticCommonKinds.inc.h -TextDiagnosticPrinter.po: DiagnosticCommonKinds.inc.h -VerifyDiagnosticConsumer.o: DiagnosticCommonKinds.inc.h -VerifyDiagnosticConsumer.o: DiagnosticFrontendKinds.inc.h -VerifyDiagnosticConsumer.po: DiagnosticCommonKinds.inc.h -VerifyDiagnosticConsumer.po: DiagnosticFrontendKinds.inc.h .endif diff --git a/lib/clang/libclangfrontendtool/Makefile.depend b/lib/clang/libclangfrontendtool/Makefile.depend index 78a5190..9a1b84e 100644 --- a/lib/clang/libclangfrontendtool/Makefile.depend +++ b/lib/clang/libclangfrontendtool/Makefile.depend @@ -14,16 +14,4 @@ DIRDEPS = \ .if ${DEP_RELDIR} == ${_DEP_RELDIR} # local dependencies - needed for -jN in clean tree -ExecuteCompilerInvocation.o: CommentCommandList.inc.h -ExecuteCompilerInvocation.o: DeclNodes.inc.h -ExecuteCompilerInvocation.o: DiagnosticCommonKinds.inc.h -ExecuteCompilerInvocation.o: DiagnosticFrontendKinds.inc.h -ExecuteCompilerInvocation.o: Options.inc.h -ExecuteCompilerInvocation.o: StmtNodes.inc.h -ExecuteCompilerInvocation.po: CommentCommandList.inc.h -ExecuteCompilerInvocation.po: DeclNodes.inc.h -ExecuteCompilerInvocation.po: DiagnosticCommonKinds.inc.h -ExecuteCompilerInvocation.po: DiagnosticFrontendKinds.inc.h -ExecuteCompilerInvocation.po: Options.inc.h -ExecuteCompilerInvocation.po: StmtNodes.inc.h .endif diff --git a/lib/clang/libclanglex/Makefile.depend b/lib/clang/libclanglex/Makefile.depend index be86cb7..264ede1 100644 --- a/lib/clang/libclanglex/Makefile.depend +++ b/lib/clang/libclanglex/Makefile.depend @@ -13,72 +13,4 @@ DIRDEPS = \ .if ${DEP_RELDIR} == ${_DEP_RELDIR} # local dependencies - needed for -jN in clean tree -HeaderSearch.o: DiagnosticCommonKinds.inc.h -HeaderSearch.o: DiagnosticLexKinds.inc.h -HeaderSearch.po: DiagnosticCommonKinds.inc.h -HeaderSearch.po: DiagnosticLexKinds.inc.h -Lexer.o: DiagnosticCommonKinds.inc.h -Lexer.o: DiagnosticLexKinds.inc.h -Lexer.po: DiagnosticCommonKinds.inc.h -Lexer.po: DiagnosticLexKinds.inc.h -LiteralSupport.o: DiagnosticCommonKinds.inc.h -LiteralSupport.o: DiagnosticLexKinds.inc.h -LiteralSupport.po: DiagnosticCommonKinds.inc.h -LiteralSupport.po: DiagnosticLexKinds.inc.h -MacroArgs.o: DiagnosticCommonKinds.inc.h -MacroArgs.o: DiagnosticLexKinds.inc.h -MacroArgs.po: DiagnosticCommonKinds.inc.h -MacroArgs.po: DiagnosticLexKinds.inc.h -MacroInfo.o: DiagnosticCommonKinds.inc.h -MacroInfo.po: DiagnosticCommonKinds.inc.h -ModuleMap.o: DiagnosticCommonKinds.inc.h -ModuleMap.o: DiagnosticLexKinds.inc.h -ModuleMap.po: DiagnosticCommonKinds.inc.h -ModuleMap.po: DiagnosticLexKinds.inc.h -PPCaching.o: DiagnosticCommonKinds.inc.h -PPCaching.po: DiagnosticCommonKinds.inc.h -PPCallbacks.o: DiagnosticCommonKinds.inc.h -PPCallbacks.po: DiagnosticCommonKinds.inc.h -PPConditionalDirectiveRecord.o: DiagnosticCommonKinds.inc.h -PPConditionalDirectiveRecord.po: DiagnosticCommonKinds.inc.h -PPDirectives.o: DiagnosticCommonKinds.inc.h -PPDirectives.o: DiagnosticLexKinds.inc.h -PPDirectives.po: DiagnosticCommonKinds.inc.h -PPDirectives.po: DiagnosticLexKinds.inc.h -PPExpressions.o: DiagnosticCommonKinds.inc.h -PPExpressions.o: DiagnosticLexKinds.inc.h -PPExpressions.po: DiagnosticCommonKinds.inc.h -PPExpressions.po: DiagnosticLexKinds.inc.h -PPLexerChange.o: DiagnosticCommonKinds.inc.h -PPLexerChange.o: DiagnosticLexKinds.inc.h -PPLexerChange.po: DiagnosticCommonKinds.inc.h -PPLexerChange.po: DiagnosticLexKinds.inc.h -PPMacroExpansion.o: DiagnosticCommonKinds.inc.h -PPMacroExpansion.o: DiagnosticLexKinds.inc.h -PPMacroExpansion.po: DiagnosticCommonKinds.inc.h -PPMacroExpansion.po: DiagnosticLexKinds.inc.h -PTHLexer.o: DiagnosticCommonKinds.inc.h -PTHLexer.o: DiagnosticLexKinds.inc.h -PTHLexer.po: DiagnosticCommonKinds.inc.h -PTHLexer.po: DiagnosticLexKinds.inc.h -Pragma.o: DiagnosticCommonKinds.inc.h -Pragma.o: DiagnosticLexKinds.inc.h -Pragma.po: DiagnosticCommonKinds.inc.h -Pragma.po: DiagnosticLexKinds.inc.h -PreprocessingRecord.o: DiagnosticCommonKinds.inc.h -PreprocessingRecord.po: DiagnosticCommonKinds.inc.h -Preprocessor.o: DiagnosticCommonKinds.inc.h -Preprocessor.o: DiagnosticLexKinds.inc.h -Preprocessor.po: DiagnosticCommonKinds.inc.h -Preprocessor.po: DiagnosticLexKinds.inc.h -PreprocessorLexer.o: DiagnosticCommonKinds.inc.h -PreprocessorLexer.o: DiagnosticLexKinds.inc.h -PreprocessorLexer.po: DiagnosticCommonKinds.inc.h -PreprocessorLexer.po: DiagnosticLexKinds.inc.h -TokenConcatenation.o: DiagnosticCommonKinds.inc.h -TokenConcatenation.po: DiagnosticCommonKinds.inc.h -TokenLexer.o: DiagnosticCommonKinds.inc.h -TokenLexer.o: DiagnosticLexKinds.inc.h -TokenLexer.po: DiagnosticCommonKinds.inc.h -TokenLexer.po: DiagnosticLexKinds.inc.h .endif diff --git a/lib/clang/libclangparse/Makefile.depend b/lib/clang/libclangparse/Makefile.depend index 9c2e889..264ede1 100644 --- a/lib/clang/libclangparse/Makefile.depend +++ b/lib/clang/libclangparse/Makefile.depend @@ -13,242 +13,4 @@ DIRDEPS = \ .if ${DEP_RELDIR} == ${_DEP_RELDIR} # local dependencies - needed for -jN in clean tree -ParseAST.o: AttrList.inc.h -ParseAST.o: AttrParsedAttrList.inc.h -ParseAST.o: Attrs.inc.h -ParseAST.o: CommentCommandList.inc.h -ParseAST.o: DeclNodes.inc.h -ParseAST.o: DiagnosticCommonKinds.inc.h -ParseAST.o: DiagnosticParseKinds.inc.h -ParseAST.o: StmtNodes.inc.h -ParseAST.po: AttrList.inc.h -ParseAST.po: AttrParsedAttrList.inc.h -ParseAST.po: Attrs.inc.h -ParseAST.po: CommentCommandList.inc.h -ParseAST.po: DeclNodes.inc.h -ParseAST.po: DiagnosticCommonKinds.inc.h -ParseAST.po: DiagnosticParseKinds.inc.h -ParseAST.po: StmtNodes.inc.h -ParseCXXInlineMethods.o: AttrList.inc.h -ParseCXXInlineMethods.o: AttrParsedAttrList.inc.h -ParseCXXInlineMethods.o: Attrs.inc.h -ParseCXXInlineMethods.o: DeclNodes.inc.h -ParseCXXInlineMethods.o: DiagnosticCommonKinds.inc.h -ParseCXXInlineMethods.o: DiagnosticParseKinds.inc.h -ParseCXXInlineMethods.o: StmtNodes.inc.h -ParseCXXInlineMethods.po: AttrList.inc.h -ParseCXXInlineMethods.po: AttrParsedAttrList.inc.h -ParseCXXInlineMethods.po: Attrs.inc.h -ParseCXXInlineMethods.po: DeclNodes.inc.h -ParseCXXInlineMethods.po: DiagnosticCommonKinds.inc.h -ParseCXXInlineMethods.po: DiagnosticParseKinds.inc.h -ParseCXXInlineMethods.po: StmtNodes.inc.h -ParseDecl.o: AttrList.inc.h -ParseDecl.o: AttrParsedAttrList.inc.h -ParseDecl.o: AttrParserStringSwitches.inc.h -ParseDecl.o: Attrs.inc.h -ParseDecl.o: CommentCommandList.inc.h -ParseDecl.o: DeclNodes.inc.h -ParseDecl.o: DiagnosticCommonKinds.inc.h -ParseDecl.o: DiagnosticParseKinds.inc.h -ParseDecl.o: StmtNodes.inc.h -ParseDecl.po: AttrList.inc.h -ParseDecl.po: AttrParsedAttrList.inc.h -ParseDecl.po: AttrParserStringSwitches.inc.h -ParseDecl.po: Attrs.inc.h -ParseDecl.po: CommentCommandList.inc.h -ParseDecl.po: DeclNodes.inc.h -ParseDecl.po: DiagnosticCommonKinds.inc.h -ParseDecl.po: DiagnosticParseKinds.inc.h -ParseDecl.po: StmtNodes.inc.h -ParseDeclCXX.o: AttrList.inc.h -ParseDeclCXX.o: AttrParsedAttrList.inc.h -ParseDeclCXX.o: Attrs.inc.h -ParseDeclCXX.o: CommentCommandList.inc.h -ParseDeclCXX.o: DeclNodes.inc.h -ParseDeclCXX.o: DiagnosticCommonKinds.inc.h -ParseDeclCXX.o: DiagnosticParseKinds.inc.h -ParseDeclCXX.o: DiagnosticSemaKinds.inc.h -ParseDeclCXX.o: StmtNodes.inc.h -ParseDeclCXX.po: AttrList.inc.h -ParseDeclCXX.po: AttrParsedAttrList.inc.h -ParseDeclCXX.po: Attrs.inc.h -ParseDeclCXX.po: CommentCommandList.inc.h -ParseDeclCXX.po: DeclNodes.inc.h -ParseDeclCXX.po: DiagnosticCommonKinds.inc.h -ParseDeclCXX.po: DiagnosticParseKinds.inc.h -ParseDeclCXX.po: DiagnosticSemaKinds.inc.h -ParseDeclCXX.po: StmtNodes.inc.h -ParseExpr.o: AttrList.inc.h -ParseExpr.o: AttrParsedAttrList.inc.h -ParseExpr.o: Attrs.inc.h -ParseExpr.o: CommentCommandList.inc.h -ParseExpr.o: DeclNodes.inc.h -ParseExpr.o: DiagnosticCommonKinds.inc.h -ParseExpr.o: DiagnosticParseKinds.inc.h -ParseExpr.o: StmtNodes.inc.h -ParseExpr.po: AttrList.inc.h -ParseExpr.po: AttrParsedAttrList.inc.h -ParseExpr.po: Attrs.inc.h -ParseExpr.po: CommentCommandList.inc.h -ParseExpr.po: DeclNodes.inc.h -ParseExpr.po: DiagnosticCommonKinds.inc.h -ParseExpr.po: DiagnosticParseKinds.inc.h -ParseExpr.po: StmtNodes.inc.h -ParseExprCXX.o: AttrList.inc.h -ParseExprCXX.o: AttrParsedAttrList.inc.h -ParseExprCXX.o: Attrs.inc.h -ParseExprCXX.o: CommentCommandList.inc.h -ParseExprCXX.o: DeclNodes.inc.h -ParseExprCXX.o: DiagnosticCommonKinds.inc.h -ParseExprCXX.o: DiagnosticParseKinds.inc.h -ParseExprCXX.o: StmtNodes.inc.h -ParseExprCXX.po: AttrList.inc.h -ParseExprCXX.po: AttrParsedAttrList.inc.h -ParseExprCXX.po: Attrs.inc.h -ParseExprCXX.po: CommentCommandList.inc.h -ParseExprCXX.po: DeclNodes.inc.h -ParseExprCXX.po: DiagnosticCommonKinds.inc.h -ParseExprCXX.po: DiagnosticParseKinds.inc.h -ParseExprCXX.po: StmtNodes.inc.h -ParseInit.o: AttrList.inc.h -ParseInit.o: AttrParsedAttrList.inc.h -ParseInit.o: Attrs.inc.h -ParseInit.o: DeclNodes.inc.h -ParseInit.o: DiagnosticCommonKinds.inc.h -ParseInit.o: DiagnosticParseKinds.inc.h -ParseInit.o: StmtNodes.inc.h -ParseInit.po: AttrList.inc.h -ParseInit.po: AttrParsedAttrList.inc.h -ParseInit.po: Attrs.inc.h -ParseInit.po: DeclNodes.inc.h -ParseInit.po: DiagnosticCommonKinds.inc.h -ParseInit.po: DiagnosticParseKinds.inc.h -ParseInit.po: StmtNodes.inc.h -ParseObjc.o: AttrList.inc.h -ParseObjc.o: AttrParsedAttrList.inc.h -ParseObjc.o: Attrs.inc.h -ParseObjc.o: CommentCommandList.inc.h -ParseObjc.o: DeclNodes.inc.h -ParseObjc.o: DiagnosticCommonKinds.inc.h -ParseObjc.o: DiagnosticParseKinds.inc.h -ParseObjc.o: StmtNodes.inc.h -ParseObjc.po: AttrList.inc.h -ParseObjc.po: AttrParsedAttrList.inc.h -ParseObjc.po: Attrs.inc.h -ParseObjc.po: CommentCommandList.inc.h -ParseObjc.po: DeclNodes.inc.h -ParseObjc.po: DiagnosticCommonKinds.inc.h -ParseObjc.po: DiagnosticParseKinds.inc.h -ParseObjc.po: StmtNodes.inc.h -ParseOpenMP.o: AttrList.inc.h -ParseOpenMP.o: AttrParsedAttrList.inc.h -ParseOpenMP.o: Attrs.inc.h -ParseOpenMP.o: CommentCommandList.inc.h -ParseOpenMP.o: DeclNodes.inc.h -ParseOpenMP.o: DiagnosticCommonKinds.inc.h -ParseOpenMP.o: DiagnosticParseKinds.inc.h -ParseOpenMP.o: StmtNodes.inc.h -ParseOpenMP.po: AttrList.inc.h -ParseOpenMP.po: AttrParsedAttrList.inc.h -ParseOpenMP.po: Attrs.inc.h -ParseOpenMP.po: CommentCommandList.inc.h -ParseOpenMP.po: DeclNodes.inc.h -ParseOpenMP.po: DiagnosticCommonKinds.inc.h -ParseOpenMP.po: DiagnosticParseKinds.inc.h -ParseOpenMP.po: StmtNodes.inc.h -ParsePragma.o: AttrList.inc.h -ParsePragma.o: AttrParsedAttrList.inc.h -ParsePragma.o: Attrs.inc.h -ParsePragma.o: CommentCommandList.inc.h -ParsePragma.o: DeclNodes.inc.h -ParsePragma.o: DiagnosticCommonKinds.inc.h -ParsePragma.o: DiagnosticParseKinds.inc.h -ParsePragma.o: StmtNodes.inc.h -ParsePragma.po: AttrList.inc.h -ParsePragma.po: AttrParsedAttrList.inc.h -ParsePragma.po: Attrs.inc.h -ParsePragma.po: CommentCommandList.inc.h -ParsePragma.po: DeclNodes.inc.h -ParsePragma.po: DiagnosticCommonKinds.inc.h -ParsePragma.po: DiagnosticParseKinds.inc.h -ParsePragma.po: StmtNodes.inc.h -ParseStmt.o: AttrList.inc.h -ParseStmt.o: AttrParsedAttrList.inc.h -ParseStmt.o: Attrs.inc.h -ParseStmt.o: CommentCommandList.inc.h -ParseStmt.o: DeclNodes.inc.h -ParseStmt.o: DiagnosticCommonKinds.inc.h -ParseStmt.o: DiagnosticParseKinds.inc.h -ParseStmt.o: StmtNodes.inc.h -ParseStmt.po: AttrList.inc.h -ParseStmt.po: AttrParsedAttrList.inc.h -ParseStmt.po: Attrs.inc.h -ParseStmt.po: CommentCommandList.inc.h -ParseStmt.po: DeclNodes.inc.h -ParseStmt.po: DiagnosticCommonKinds.inc.h -ParseStmt.po: DiagnosticParseKinds.inc.h -ParseStmt.po: StmtNodes.inc.h -ParseStmtAsm.o: AttrList.inc.h -ParseStmtAsm.o: AttrParsedAttrList.inc.h -ParseStmtAsm.o: Attrs.inc.h -ParseStmtAsm.o: CommentCommandList.inc.h -ParseStmtAsm.o: DeclNodes.inc.h -ParseStmtAsm.o: DiagnosticCommonKinds.inc.h -ParseStmtAsm.o: DiagnosticParseKinds.inc.h -ParseStmtAsm.o: StmtNodes.inc.h -ParseStmtAsm.po: AttrList.inc.h -ParseStmtAsm.po: AttrParsedAttrList.inc.h -ParseStmtAsm.po: Attrs.inc.h -ParseStmtAsm.po: CommentCommandList.inc.h -ParseStmtAsm.po: DeclNodes.inc.h -ParseStmtAsm.po: DiagnosticCommonKinds.inc.h -ParseStmtAsm.po: DiagnosticParseKinds.inc.h -ParseStmtAsm.po: StmtNodes.inc.h -ParseTemplate.o: AttrList.inc.h -ParseTemplate.o: AttrParsedAttrList.inc.h -ParseTemplate.o: Attrs.inc.h -ParseTemplate.o: CommentCommandList.inc.h -ParseTemplate.o: DeclNodes.inc.h -ParseTemplate.o: DiagnosticCommonKinds.inc.h -ParseTemplate.o: DiagnosticParseKinds.inc.h -ParseTemplate.o: StmtNodes.inc.h -ParseTemplate.po: AttrList.inc.h -ParseTemplate.po: AttrParsedAttrList.inc.h -ParseTemplate.po: Attrs.inc.h -ParseTemplate.po: CommentCommandList.inc.h -ParseTemplate.po: DeclNodes.inc.h -ParseTemplate.po: DiagnosticCommonKinds.inc.h -ParseTemplate.po: DiagnosticParseKinds.inc.h -ParseTemplate.po: StmtNodes.inc.h -ParseTentative.o: AttrList.inc.h -ParseTentative.o: AttrParsedAttrList.inc.h -ParseTentative.o: Attrs.inc.h -ParseTentative.o: DeclNodes.inc.h -ParseTentative.o: DiagnosticCommonKinds.inc.h -ParseTentative.o: DiagnosticParseKinds.inc.h -ParseTentative.o: StmtNodes.inc.h -ParseTentative.po: AttrList.inc.h -ParseTentative.po: AttrParsedAttrList.inc.h -ParseTentative.po: Attrs.inc.h -ParseTentative.po: DeclNodes.inc.h -ParseTentative.po: DiagnosticCommonKinds.inc.h -ParseTentative.po: DiagnosticParseKinds.inc.h -ParseTentative.po: StmtNodes.inc.h -Parser.o: AttrList.inc.h -Parser.o: AttrParsedAttrList.inc.h -Parser.o: Attrs.inc.h -Parser.o: CommentCommandList.inc.h -Parser.o: DeclNodes.inc.h -Parser.o: DiagnosticCommonKinds.inc.h -Parser.o: DiagnosticParseKinds.inc.h -Parser.o: StmtNodes.inc.h -Parser.po: AttrList.inc.h -Parser.po: AttrParsedAttrList.inc.h -Parser.po: Attrs.inc.h -Parser.po: CommentCommandList.inc.h -Parser.po: DeclNodes.inc.h -Parser.po: DiagnosticCommonKinds.inc.h -Parser.po: DiagnosticParseKinds.inc.h -Parser.po: StmtNodes.inc.h .endif diff --git a/lib/clang/libclangrewrite/Makefile.depend b/lib/clang/libclangrewrite/Makefile.depend index a6f8e9c..264ede1 100644 --- a/lib/clang/libclangrewrite/Makefile.depend +++ b/lib/clang/libclangrewrite/Makefile.depend @@ -13,8 +13,4 @@ DIRDEPS = \ .if ${DEP_RELDIR} == ${_DEP_RELDIR} # local dependencies - needed for -jN in clean tree -HTMLRewrite.o: DiagnosticCommonKinds.inc.h -HTMLRewrite.po: DiagnosticCommonKinds.inc.h -Rewriter.o: DiagnosticCommonKinds.inc.h -Rewriter.po: DiagnosticCommonKinds.inc.h .endif diff --git a/lib/clang/libclangrewritefrontend/Makefile.depend b/lib/clang/libclangrewritefrontend/Makefile.depend index 6bb290f..264ede1 100644 --- a/lib/clang/libclangrewritefrontend/Makefile.depend +++ b/lib/clang/libclangrewritefrontend/Makefile.depend @@ -13,38 +13,4 @@ DIRDEPS = \ .if ${DEP_RELDIR} == ${_DEP_RELDIR} # local dependencies - needed for -jN in clean tree -FixItRewriter.o: DiagnosticCommonKinds.inc.h -FixItRewriter.o: DiagnosticFrontendKinds.inc.h -FixItRewriter.po: DiagnosticCommonKinds.inc.h -FixItRewriter.po: DiagnosticFrontendKinds.inc.h -FrontendActions.o: AttrList.inc.h -FrontendActions.o: AttrParsedAttrList.inc.h -FrontendActions.o: Attrs.inc.h -FrontendActions.o: CommentCommandList.inc.h -FrontendActions.o: DeclNodes.inc.h -FrontendActions.o: DiagnosticCommonKinds.inc.h -FrontendActions.o: DiagnosticFrontendKinds.inc.h -FrontendActions.o: StmtNodes.inc.h -FrontendActions.po: AttrList.inc.h -FrontendActions.po: AttrParsedAttrList.inc.h -FrontendActions.po: Attrs.inc.h -FrontendActions.po: CommentCommandList.inc.h -FrontendActions.po: DeclNodes.inc.h -FrontendActions.po: DiagnosticCommonKinds.inc.h -FrontendActions.po: DiagnosticFrontendKinds.inc.h -FrontendActions.po: StmtNodes.inc.h -HTMLPrint.o: CommentCommandList.inc.h -HTMLPrint.o: DeclNodes.inc.h -HTMLPrint.o: DiagnosticCommonKinds.inc.h -HTMLPrint.o: StmtNodes.inc.h -HTMLPrint.po: CommentCommandList.inc.h -HTMLPrint.po: DeclNodes.inc.h -HTMLPrint.po: DiagnosticCommonKinds.inc.h -HTMLPrint.po: StmtNodes.inc.h -InclusionRewriter.o: DiagnosticCommonKinds.inc.h -InclusionRewriter.po: DiagnosticCommonKinds.inc.h -RewriteMacros.o: DiagnosticCommonKinds.inc.h -RewriteMacros.po: DiagnosticCommonKinds.inc.h -RewriteTest.o: DiagnosticCommonKinds.inc.h -RewriteTest.po: DiagnosticCommonKinds.inc.h .endif diff --git a/lib/clang/libclangsema/Makefile.depend b/lib/clang/libclangsema/Makefile.depend index 158b16d..264ede1 100644 --- a/lib/clang/libclangsema/Makefile.depend +++ b/lib/clang/libclangsema/Makefile.depend @@ -13,710 +13,4 @@ DIRDEPS = \ .if ${DEP_RELDIR} == ${_DEP_RELDIR} # local dependencies - needed for -jN in clean tree -AnalysisBasedWarnings.o: AttrList.inc.h -AnalysisBasedWarnings.o: AttrParsedAttrList.inc.h -AnalysisBasedWarnings.o: AttrVisitor.inc.h -AnalysisBasedWarnings.o: Attrs.inc.h -AnalysisBasedWarnings.o: CommentCommandList.inc.h -AnalysisBasedWarnings.o: DeclNodes.inc.h -AnalysisBasedWarnings.o: DiagnosticCommonKinds.inc.h -AnalysisBasedWarnings.o: DiagnosticSemaKinds.inc.h -AnalysisBasedWarnings.o: StmtNodes.inc.h -AnalysisBasedWarnings.po: AttrList.inc.h -AnalysisBasedWarnings.po: AttrParsedAttrList.inc.h -AnalysisBasedWarnings.po: AttrVisitor.inc.h -AnalysisBasedWarnings.po: Attrs.inc.h -AnalysisBasedWarnings.po: CommentCommandList.inc.h -AnalysisBasedWarnings.po: DeclNodes.inc.h -AnalysisBasedWarnings.po: DiagnosticCommonKinds.inc.h -AnalysisBasedWarnings.po: DiagnosticSemaKinds.inc.h -AnalysisBasedWarnings.po: StmtNodes.inc.h -AttributeList.o: AttrList.inc.h -AttributeList.o: AttrParsedAttrImpl.inc.h -AttributeList.o: AttrParsedAttrKinds.inc.h -AttributeList.o: AttrParsedAttrList.inc.h -AttributeList.o: AttrSpellingListIndex.inc.h -AttributeList.o: Attrs.inc.h -AttributeList.o: CommentCommandList.inc.h -AttributeList.o: DeclNodes.inc.h -AttributeList.o: DiagnosticCommonKinds.inc.h -AttributeList.o: DiagnosticSemaKinds.inc.h -AttributeList.o: StmtNodes.inc.h -AttributeList.po: AttrList.inc.h -AttributeList.po: AttrParsedAttrImpl.inc.h -AttributeList.po: AttrParsedAttrKinds.inc.h -AttributeList.po: AttrParsedAttrList.inc.h -AttributeList.po: AttrSpellingListIndex.inc.h -AttributeList.po: Attrs.inc.h -AttributeList.po: CommentCommandList.inc.h -AttributeList.po: DeclNodes.inc.h -AttributeList.po: DiagnosticCommonKinds.inc.h -AttributeList.po: DiagnosticSemaKinds.inc.h -AttributeList.po: StmtNodes.inc.h -CodeCompleteConsumer.o: AttrList.inc.h -CodeCompleteConsumer.o: AttrParsedAttrList.inc.h -CodeCompleteConsumer.o: Attrs.inc.h -CodeCompleteConsumer.o: DeclNodes.inc.h -CodeCompleteConsumer.o: DiagnosticCommonKinds.inc.h -CodeCompleteConsumer.o: StmtNodes.inc.h -CodeCompleteConsumer.po: AttrList.inc.h -CodeCompleteConsumer.po: AttrParsedAttrList.inc.h -CodeCompleteConsumer.po: Attrs.inc.h -CodeCompleteConsumer.po: DeclNodes.inc.h -CodeCompleteConsumer.po: DiagnosticCommonKinds.inc.h -CodeCompleteConsumer.po: StmtNodes.inc.h -DeclSpec.o: AttrList.inc.h -DeclSpec.o: AttrParsedAttrList.inc.h -DeclSpec.o: Attrs.inc.h -DeclSpec.o: CommentCommandList.inc.h -DeclSpec.o: DeclNodes.inc.h -DeclSpec.o: DiagnosticCommonKinds.inc.h -DeclSpec.o: DiagnosticParseKinds.inc.h -DeclSpec.o: DiagnosticSemaKinds.inc.h -DeclSpec.o: StmtNodes.inc.h -DeclSpec.po: AttrList.inc.h -DeclSpec.po: AttrParsedAttrList.inc.h -DeclSpec.po: Attrs.inc.h -DeclSpec.po: CommentCommandList.inc.h -DeclSpec.po: DeclNodes.inc.h -DeclSpec.po: DiagnosticCommonKinds.inc.h -DeclSpec.po: DiagnosticParseKinds.inc.h -DeclSpec.po: DiagnosticSemaKinds.inc.h -DeclSpec.po: StmtNodes.inc.h -DelayedDiagnostic.o: AttrList.inc.h -DelayedDiagnostic.o: AttrParsedAttrList.inc.h -DelayedDiagnostic.o: Attrs.inc.h -DelayedDiagnostic.o: DeclNodes.inc.h -DelayedDiagnostic.o: DiagnosticCommonKinds.inc.h -DelayedDiagnostic.o: StmtNodes.inc.h -DelayedDiagnostic.po: AttrList.inc.h -DelayedDiagnostic.po: AttrParsedAttrList.inc.h -DelayedDiagnostic.po: Attrs.inc.h -DelayedDiagnostic.po: DeclNodes.inc.h -DelayedDiagnostic.po: DiagnosticCommonKinds.inc.h -DelayedDiagnostic.po: StmtNodes.inc.h -IdentifierResolver.o: DeclNodes.inc.h -IdentifierResolver.o: DiagnosticCommonKinds.inc.h -IdentifierResolver.po: DeclNodes.inc.h -IdentifierResolver.po: DiagnosticCommonKinds.inc.h -JumpDiagnostics.o: AttrList.inc.h -JumpDiagnostics.o: AttrParsedAttrList.inc.h -JumpDiagnostics.o: Attrs.inc.h -JumpDiagnostics.o: CommentCommandList.inc.h -JumpDiagnostics.o: DeclNodes.inc.h -JumpDiagnostics.o: DiagnosticCommonKinds.inc.h -JumpDiagnostics.o: DiagnosticSemaKinds.inc.h -JumpDiagnostics.o: StmtNodes.inc.h -JumpDiagnostics.po: AttrList.inc.h -JumpDiagnostics.po: AttrParsedAttrList.inc.h -JumpDiagnostics.po: Attrs.inc.h -JumpDiagnostics.po: CommentCommandList.inc.h -JumpDiagnostics.po: DeclNodes.inc.h -JumpDiagnostics.po: DiagnosticCommonKinds.inc.h -JumpDiagnostics.po: DiagnosticSemaKinds.inc.h -JumpDiagnostics.po: StmtNodes.inc.h -MultiplexExternalSemaSource.o: AttrList.inc.h -MultiplexExternalSemaSource.o: AttrParsedAttrList.inc.h -MultiplexExternalSemaSource.o: Attrs.inc.h -MultiplexExternalSemaSource.o: DeclNodes.inc.h -MultiplexExternalSemaSource.o: DiagnosticCommonKinds.inc.h -MultiplexExternalSemaSource.o: StmtNodes.inc.h -MultiplexExternalSemaSource.po: AttrList.inc.h -MultiplexExternalSemaSource.po: AttrParsedAttrList.inc.h -MultiplexExternalSemaSource.po: Attrs.inc.h -MultiplexExternalSemaSource.po: DeclNodes.inc.h -MultiplexExternalSemaSource.po: DiagnosticCommonKinds.inc.h -MultiplexExternalSemaSource.po: StmtNodes.inc.h -Scope.o: DeclNodes.inc.h -Scope.o: DiagnosticCommonKinds.inc.h -Scope.po: DeclNodes.inc.h -Scope.po: DiagnosticCommonKinds.inc.h -ScopeInfo.o: AttrList.inc.h -ScopeInfo.o: Attrs.inc.h -ScopeInfo.o: DeclNodes.inc.h -ScopeInfo.o: DiagnosticCommonKinds.inc.h -ScopeInfo.o: StmtNodes.inc.h -ScopeInfo.po: AttrList.inc.h -ScopeInfo.po: Attrs.inc.h -ScopeInfo.po: DeclNodes.inc.h -ScopeInfo.po: DiagnosticCommonKinds.inc.h -ScopeInfo.po: StmtNodes.inc.h -Sema.o: AttrList.inc.h -Sema.o: AttrParsedAttrList.inc.h -Sema.o: Attrs.inc.h -Sema.o: CommentCommandList.inc.h -Sema.o: DeclNodes.inc.h -Sema.o: DiagnosticASTKinds.inc.h -Sema.o: DiagnosticCommonKinds.inc.h -Sema.o: DiagnosticSemaKinds.inc.h -Sema.o: StmtNodes.inc.h -Sema.po: AttrList.inc.h -Sema.po: AttrParsedAttrList.inc.h -Sema.po: Attrs.inc.h -Sema.po: CommentCommandList.inc.h -Sema.po: DeclNodes.inc.h -Sema.po: DiagnosticASTKinds.inc.h -Sema.po: DiagnosticCommonKinds.inc.h -Sema.po: DiagnosticSemaKinds.inc.h -Sema.po: StmtNodes.inc.h -SemaAccess.o: AttrList.inc.h -SemaAccess.o: AttrParsedAttrList.inc.h -SemaAccess.o: Attrs.inc.h -SemaAccess.o: CommentCommandList.inc.h -SemaAccess.o: DeclNodes.inc.h -SemaAccess.o: DiagnosticCommonKinds.inc.h -SemaAccess.o: DiagnosticSemaKinds.inc.h -SemaAccess.o: StmtNodes.inc.h -SemaAccess.po: AttrList.inc.h -SemaAccess.po: AttrParsedAttrList.inc.h -SemaAccess.po: Attrs.inc.h -SemaAccess.po: CommentCommandList.inc.h -SemaAccess.po: DeclNodes.inc.h -SemaAccess.po: DiagnosticCommonKinds.inc.h -SemaAccess.po: DiagnosticSemaKinds.inc.h -SemaAccess.po: StmtNodes.inc.h -SemaAttr.o: AttrList.inc.h -SemaAttr.o: AttrParsedAttrList.inc.h -SemaAttr.o: Attrs.inc.h -SemaAttr.o: CommentCommandList.inc.h -SemaAttr.o: DeclNodes.inc.h -SemaAttr.o: DiagnosticCommonKinds.inc.h -SemaAttr.o: DiagnosticSemaKinds.inc.h -SemaAttr.o: StmtNodes.inc.h -SemaAttr.po: AttrList.inc.h -SemaAttr.po: AttrParsedAttrList.inc.h -SemaAttr.po: Attrs.inc.h -SemaAttr.po: CommentCommandList.inc.h -SemaAttr.po: DeclNodes.inc.h -SemaAttr.po: DiagnosticCommonKinds.inc.h -SemaAttr.po: DiagnosticSemaKinds.inc.h -SemaAttr.po: StmtNodes.inc.h -SemaCUDA.o: AttrList.inc.h -SemaCUDA.o: AttrParsedAttrList.inc.h -SemaCUDA.o: Attrs.inc.h -SemaCUDA.o: CommentCommandList.inc.h -SemaCUDA.o: DeclNodes.inc.h -SemaCUDA.o: DiagnosticCommonKinds.inc.h -SemaCUDA.o: DiagnosticSemaKinds.inc.h -SemaCUDA.o: StmtNodes.inc.h -SemaCUDA.po: AttrList.inc.h -SemaCUDA.po: AttrParsedAttrList.inc.h -SemaCUDA.po: Attrs.inc.h -SemaCUDA.po: CommentCommandList.inc.h -SemaCUDA.po: DeclNodes.inc.h -SemaCUDA.po: DiagnosticCommonKinds.inc.h -SemaCUDA.po: DiagnosticSemaKinds.inc.h -SemaCUDA.po: StmtNodes.inc.h -SemaCXXScopeSpec.o: AttrList.inc.h -SemaCXXScopeSpec.o: AttrParsedAttrList.inc.h -SemaCXXScopeSpec.o: Attrs.inc.h -SemaCXXScopeSpec.o: CommentCommandList.inc.h -SemaCXXScopeSpec.o: DeclNodes.inc.h -SemaCXXScopeSpec.o: DiagnosticCommonKinds.inc.h -SemaCXXScopeSpec.o: DiagnosticSemaKinds.inc.h -SemaCXXScopeSpec.o: StmtNodes.inc.h -SemaCXXScopeSpec.po: AttrList.inc.h -SemaCXXScopeSpec.po: AttrParsedAttrList.inc.h -SemaCXXScopeSpec.po: Attrs.inc.h -SemaCXXScopeSpec.po: CommentCommandList.inc.h -SemaCXXScopeSpec.po: DeclNodes.inc.h -SemaCXXScopeSpec.po: DiagnosticCommonKinds.inc.h -SemaCXXScopeSpec.po: DiagnosticSemaKinds.inc.h -SemaCXXScopeSpec.po: StmtNodes.inc.h -SemaCast.o: AttrList.inc.h -SemaCast.o: AttrParsedAttrList.inc.h -SemaCast.o: Attrs.inc.h -SemaCast.o: CommentCommandList.inc.h -SemaCast.o: DeclNodes.inc.h -SemaCast.o: DiagnosticCommonKinds.inc.h -SemaCast.o: DiagnosticSemaKinds.inc.h -SemaCast.o: StmtNodes.inc.h -SemaCast.po: AttrList.inc.h -SemaCast.po: AttrParsedAttrList.inc.h -SemaCast.po: Attrs.inc.h -SemaCast.po: CommentCommandList.inc.h -SemaCast.po: DeclNodes.inc.h -SemaCast.po: DiagnosticCommonKinds.inc.h -SemaCast.po: DiagnosticSemaKinds.inc.h -SemaCast.po: StmtNodes.inc.h -SemaChecking.o: AttrList.inc.h -SemaChecking.o: AttrParsedAttrList.inc.h -SemaChecking.o: Attrs.inc.h -SemaChecking.o: CommentCommandList.inc.h -SemaChecking.o: DeclNodes.inc.h -SemaChecking.o: DiagnosticCommonKinds.inc.h -SemaChecking.o: DiagnosticSemaKinds.inc.h -SemaChecking.o: StmtNodes.inc.h -SemaChecking.o: arm_neon.inc.h -SemaChecking.po: AttrList.inc.h -SemaChecking.po: AttrParsedAttrList.inc.h -SemaChecking.po: Attrs.inc.h -SemaChecking.po: CommentCommandList.inc.h -SemaChecking.po: DeclNodes.inc.h -SemaChecking.po: DiagnosticCommonKinds.inc.h -SemaChecking.po: DiagnosticSemaKinds.inc.h -SemaChecking.po: StmtNodes.inc.h -SemaChecking.po: arm_neon.inc.h -SemaCodeComplete.o: AttrList.inc.h -SemaCodeComplete.o: AttrParsedAttrList.inc.h -SemaCodeComplete.o: Attrs.inc.h -SemaCodeComplete.o: CommentCommandList.inc.h -SemaCodeComplete.o: DeclNodes.inc.h -SemaCodeComplete.o: DiagnosticCommonKinds.inc.h -SemaCodeComplete.o: DiagnosticSemaKinds.inc.h -SemaCodeComplete.o: StmtNodes.inc.h -SemaCodeComplete.po: AttrList.inc.h -SemaCodeComplete.po: AttrParsedAttrList.inc.h -SemaCodeComplete.po: Attrs.inc.h -SemaCodeComplete.po: CommentCommandList.inc.h -SemaCodeComplete.po: DeclNodes.inc.h -SemaCodeComplete.po: DiagnosticCommonKinds.inc.h -SemaCodeComplete.po: DiagnosticSemaKinds.inc.h -SemaCodeComplete.po: StmtNodes.inc.h -SemaDecl.o: AttrList.inc.h -SemaDecl.o: AttrParsedAttrList.inc.h -SemaDecl.o: Attrs.inc.h -SemaDecl.o: CommentCommandList.inc.h -SemaDecl.o: DeclNodes.inc.h -SemaDecl.o: DiagnosticCommentKinds.inc.h -SemaDecl.o: DiagnosticCommonKinds.inc.h -SemaDecl.o: DiagnosticParseKinds.inc.h -SemaDecl.o: DiagnosticSemaKinds.inc.h -SemaDecl.o: StmtNodes.inc.h -SemaDecl.po: AttrList.inc.h -SemaDecl.po: AttrParsedAttrList.inc.h -SemaDecl.po: Attrs.inc.h -SemaDecl.po: CommentCommandList.inc.h -SemaDecl.po: DeclNodes.inc.h -SemaDecl.po: DiagnosticCommentKinds.inc.h -SemaDecl.po: DiagnosticCommonKinds.inc.h -SemaDecl.po: DiagnosticParseKinds.inc.h -SemaDecl.po: DiagnosticSemaKinds.inc.h -SemaDecl.po: StmtNodes.inc.h -SemaDeclAttr.o: AttrList.inc.h -SemaDeclAttr.o: AttrParsedAttrList.inc.h -SemaDeclAttr.o: Attrs.inc.h -SemaDeclAttr.o: CommentCommandList.inc.h -SemaDeclAttr.o: DeclNodes.inc.h -SemaDeclAttr.o: DiagnosticCommonKinds.inc.h -SemaDeclAttr.o: DiagnosticSemaKinds.inc.h -SemaDeclAttr.o: StmtNodes.inc.h -SemaDeclAttr.po: AttrList.inc.h -SemaDeclAttr.po: AttrParsedAttrList.inc.h -SemaDeclAttr.po: Attrs.inc.h -SemaDeclAttr.po: CommentCommandList.inc.h -SemaDeclAttr.po: DeclNodes.inc.h -SemaDeclAttr.po: DiagnosticCommonKinds.inc.h -SemaDeclAttr.po: DiagnosticSemaKinds.inc.h -SemaDeclAttr.po: StmtNodes.inc.h -SemaDeclCXX.o: AttrList.inc.h -SemaDeclCXX.o: AttrParsedAttrList.inc.h -SemaDeclCXX.o: AttrVisitor.inc.h -SemaDeclCXX.o: Attrs.inc.h -SemaDeclCXX.o: CommentCommandList.inc.h -SemaDeclCXX.o: DeclNodes.inc.h -SemaDeclCXX.o: DiagnosticCommonKinds.inc.h -SemaDeclCXX.o: DiagnosticSemaKinds.inc.h -SemaDeclCXX.o: StmtNodes.inc.h -SemaDeclCXX.po: AttrList.inc.h -SemaDeclCXX.po: AttrParsedAttrList.inc.h -SemaDeclCXX.po: AttrVisitor.inc.h -SemaDeclCXX.po: Attrs.inc.h -SemaDeclCXX.po: CommentCommandList.inc.h -SemaDeclCXX.po: DeclNodes.inc.h -SemaDeclCXX.po: DiagnosticCommonKinds.inc.h -SemaDeclCXX.po: DiagnosticSemaKinds.inc.h -SemaDeclCXX.po: StmtNodes.inc.h -SemaDeclObjC.o: AttrList.inc.h -SemaDeclObjC.o: AttrParsedAttrList.inc.h -SemaDeclObjC.o: AttrVisitor.inc.h -SemaDeclObjC.o: Attrs.inc.h -SemaDeclObjC.o: CommentCommandList.inc.h -SemaDeclObjC.o: DeclNodes.inc.h -SemaDeclObjC.o: DiagnosticCommonKinds.inc.h -SemaDeclObjC.o: DiagnosticSemaKinds.inc.h -SemaDeclObjC.o: StmtNodes.inc.h -SemaDeclObjC.po: AttrList.inc.h -SemaDeclObjC.po: AttrParsedAttrList.inc.h -SemaDeclObjC.po: AttrVisitor.inc.h -SemaDeclObjC.po: Attrs.inc.h -SemaDeclObjC.po: CommentCommandList.inc.h -SemaDeclObjC.po: DeclNodes.inc.h -SemaDeclObjC.po: DiagnosticCommonKinds.inc.h -SemaDeclObjC.po: DiagnosticSemaKinds.inc.h -SemaDeclObjC.po: StmtNodes.inc.h -SemaExceptionSpec.o: AttrList.inc.h -SemaExceptionSpec.o: AttrParsedAttrList.inc.h -SemaExceptionSpec.o: Attrs.inc.h -SemaExceptionSpec.o: CommentCommandList.inc.h -SemaExceptionSpec.o: DeclNodes.inc.h -SemaExceptionSpec.o: DiagnosticCommonKinds.inc.h -SemaExceptionSpec.o: DiagnosticSemaKinds.inc.h -SemaExceptionSpec.o: StmtNodes.inc.h -SemaExceptionSpec.po: AttrList.inc.h -SemaExceptionSpec.po: AttrParsedAttrList.inc.h -SemaExceptionSpec.po: Attrs.inc.h -SemaExceptionSpec.po: CommentCommandList.inc.h -SemaExceptionSpec.po: DeclNodes.inc.h -SemaExceptionSpec.po: DiagnosticCommonKinds.inc.h -SemaExceptionSpec.po: DiagnosticSemaKinds.inc.h -SemaExceptionSpec.po: StmtNodes.inc.h -SemaExpr.o: AttrList.inc.h -SemaExpr.o: AttrParsedAttrList.inc.h -SemaExpr.o: AttrVisitor.inc.h -SemaExpr.o: Attrs.inc.h -SemaExpr.o: CommentCommandList.inc.h -SemaExpr.o: DeclNodes.inc.h -SemaExpr.o: DiagnosticCommonKinds.inc.h -SemaExpr.o: DiagnosticSemaKinds.inc.h -SemaExpr.o: StmtNodes.inc.h -SemaExpr.po: AttrList.inc.h -SemaExpr.po: AttrParsedAttrList.inc.h -SemaExpr.po: AttrVisitor.inc.h -SemaExpr.po: Attrs.inc.h -SemaExpr.po: CommentCommandList.inc.h -SemaExpr.po: DeclNodes.inc.h -SemaExpr.po: DiagnosticCommonKinds.inc.h -SemaExpr.po: DiagnosticSemaKinds.inc.h -SemaExpr.po: StmtNodes.inc.h -SemaExprCXX.o: AttrList.inc.h -SemaExprCXX.o: AttrParsedAttrList.inc.h -SemaExprCXX.o: AttrVisitor.inc.h -SemaExprCXX.o: Attrs.inc.h -SemaExprCXX.o: CommentCommandList.inc.h -SemaExprCXX.o: DeclNodes.inc.h -SemaExprCXX.o: DiagnosticCommonKinds.inc.h -SemaExprCXX.o: DiagnosticSemaKinds.inc.h -SemaExprCXX.o: StmtNodes.inc.h -SemaExprCXX.po: AttrList.inc.h -SemaExprCXX.po: AttrParsedAttrList.inc.h -SemaExprCXX.po: AttrVisitor.inc.h -SemaExprCXX.po: Attrs.inc.h -SemaExprCXX.po: CommentCommandList.inc.h -SemaExprCXX.po: DeclNodes.inc.h -SemaExprCXX.po: DiagnosticCommonKinds.inc.h -SemaExprCXX.po: DiagnosticSemaKinds.inc.h -SemaExprCXX.po: StmtNodes.inc.h -SemaExprMember.o: AttrList.inc.h -SemaExprMember.o: AttrParsedAttrList.inc.h -SemaExprMember.o: Attrs.inc.h -SemaExprMember.o: CommentCommandList.inc.h -SemaExprMember.o: DeclNodes.inc.h -SemaExprMember.o: DiagnosticCommonKinds.inc.h -SemaExprMember.o: DiagnosticSemaKinds.inc.h -SemaExprMember.o: StmtNodes.inc.h -SemaExprMember.po: AttrList.inc.h -SemaExprMember.po: AttrParsedAttrList.inc.h -SemaExprMember.po: Attrs.inc.h -SemaExprMember.po: CommentCommandList.inc.h -SemaExprMember.po: DeclNodes.inc.h -SemaExprMember.po: DiagnosticCommonKinds.inc.h -SemaExprMember.po: DiagnosticSemaKinds.inc.h -SemaExprMember.po: StmtNodes.inc.h -SemaExprObjC.o: AttrList.inc.h -SemaExprObjC.o: AttrParsedAttrList.inc.h -SemaExprObjC.o: Attrs.inc.h -SemaExprObjC.o: CommentCommandList.inc.h -SemaExprObjC.o: DeclNodes.inc.h -SemaExprObjC.o: DiagnosticCommonKinds.inc.h -SemaExprObjC.o: DiagnosticSemaKinds.inc.h -SemaExprObjC.o: StmtNodes.inc.h -SemaExprObjC.po: AttrList.inc.h -SemaExprObjC.po: AttrParsedAttrList.inc.h -SemaExprObjC.po: Attrs.inc.h -SemaExprObjC.po: CommentCommandList.inc.h -SemaExprObjC.po: DeclNodes.inc.h -SemaExprObjC.po: DiagnosticCommonKinds.inc.h -SemaExprObjC.po: DiagnosticSemaKinds.inc.h -SemaExprObjC.po: StmtNodes.inc.h -SemaFixItUtils.o: AttrList.inc.h -SemaFixItUtils.o: AttrParsedAttrList.inc.h -SemaFixItUtils.o: Attrs.inc.h -SemaFixItUtils.o: CommentCommandList.inc.h -SemaFixItUtils.o: DeclNodes.inc.h -SemaFixItUtils.o: DiagnosticCommonKinds.inc.h -SemaFixItUtils.o: StmtNodes.inc.h -SemaFixItUtils.po: AttrList.inc.h -SemaFixItUtils.po: AttrParsedAttrList.inc.h -SemaFixItUtils.po: Attrs.inc.h -SemaFixItUtils.po: CommentCommandList.inc.h -SemaFixItUtils.po: DeclNodes.inc.h -SemaFixItUtils.po: DiagnosticCommonKinds.inc.h -SemaFixItUtils.po: StmtNodes.inc.h -SemaInit.o: AttrList.inc.h -SemaInit.o: AttrParsedAttrList.inc.h -SemaInit.o: Attrs.inc.h -SemaInit.o: CommentCommandList.inc.h -SemaInit.o: DeclNodes.inc.h -SemaInit.o: DiagnosticCommonKinds.inc.h -SemaInit.o: DiagnosticSemaKinds.inc.h -SemaInit.o: StmtNodes.inc.h -SemaInit.po: AttrList.inc.h -SemaInit.po: AttrParsedAttrList.inc.h -SemaInit.po: Attrs.inc.h -SemaInit.po: CommentCommandList.inc.h -SemaInit.po: DeclNodes.inc.h -SemaInit.po: DiagnosticCommonKinds.inc.h -SemaInit.po: DiagnosticSemaKinds.inc.h -SemaInit.po: StmtNodes.inc.h -SemaLambda.o: AttrList.inc.h -SemaLambda.o: AttrParsedAttrList.inc.h -SemaLambda.o: Attrs.inc.h -SemaLambda.o: CommentCommandList.inc.h -SemaLambda.o: DeclNodes.inc.h -SemaLambda.o: DiagnosticCommonKinds.inc.h -SemaLambda.o: DiagnosticSemaKinds.inc.h -SemaLambda.o: StmtNodes.inc.h -SemaLambda.po: AttrList.inc.h -SemaLambda.po: AttrParsedAttrList.inc.h -SemaLambda.po: Attrs.inc.h -SemaLambda.po: CommentCommandList.inc.h -SemaLambda.po: DeclNodes.inc.h -SemaLambda.po: DiagnosticCommonKinds.inc.h -SemaLambda.po: DiagnosticSemaKinds.inc.h -SemaLambda.po: StmtNodes.inc.h -SemaLookup.o: AttrList.inc.h -SemaLookup.o: AttrParsedAttrList.inc.h -SemaLookup.o: Attrs.inc.h -SemaLookup.o: CommentCommandList.inc.h -SemaLookup.o: DeclNodes.inc.h -SemaLookup.o: DiagnosticCommonKinds.inc.h -SemaLookup.o: DiagnosticSemaKinds.inc.h -SemaLookup.o: StmtNodes.inc.h -SemaLookup.po: AttrList.inc.h -SemaLookup.po: AttrParsedAttrList.inc.h -SemaLookup.po: Attrs.inc.h -SemaLookup.po: CommentCommandList.inc.h -SemaLookup.po: DeclNodes.inc.h -SemaLookup.po: DiagnosticCommonKinds.inc.h -SemaLookup.po: DiagnosticSemaKinds.inc.h -SemaLookup.po: StmtNodes.inc.h -SemaObjCProperty.o: AttrList.inc.h -SemaObjCProperty.o: AttrParsedAttrList.inc.h -SemaObjCProperty.o: Attrs.inc.h -SemaObjCProperty.o: CommentCommandList.inc.h -SemaObjCProperty.o: DeclNodes.inc.h -SemaObjCProperty.o: DiagnosticCommonKinds.inc.h -SemaObjCProperty.o: DiagnosticSemaKinds.inc.h -SemaObjCProperty.o: StmtNodes.inc.h -SemaObjCProperty.po: AttrList.inc.h -SemaObjCProperty.po: AttrParsedAttrList.inc.h -SemaObjCProperty.po: Attrs.inc.h -SemaObjCProperty.po: CommentCommandList.inc.h -SemaObjCProperty.po: DeclNodes.inc.h -SemaObjCProperty.po: DiagnosticCommonKinds.inc.h -SemaObjCProperty.po: DiagnosticSemaKinds.inc.h -SemaObjCProperty.po: StmtNodes.inc.h -SemaOpenMP.o: AttrList.inc.h -SemaOpenMP.o: AttrParsedAttrList.inc.h -SemaOpenMP.o: Attrs.inc.h -SemaOpenMP.o: CommentCommandList.inc.h -SemaOpenMP.o: DeclNodes.inc.h -SemaOpenMP.o: DiagnosticCommonKinds.inc.h -SemaOpenMP.o: DiagnosticSemaKinds.inc.h -SemaOpenMP.o: StmtNodes.inc.h -SemaOpenMP.po: AttrList.inc.h -SemaOpenMP.po: AttrParsedAttrList.inc.h -SemaOpenMP.po: Attrs.inc.h -SemaOpenMP.po: CommentCommandList.inc.h -SemaOpenMP.po: DeclNodes.inc.h -SemaOpenMP.po: DiagnosticCommonKinds.inc.h -SemaOpenMP.po: DiagnosticSemaKinds.inc.h -SemaOpenMP.po: StmtNodes.inc.h -SemaOverload.o: AttrList.inc.h -SemaOverload.o: AttrParsedAttrList.inc.h -SemaOverload.o: Attrs.inc.h -SemaOverload.o: CommentCommandList.inc.h -SemaOverload.o: DeclNodes.inc.h -SemaOverload.o: DiagnosticCommonKinds.inc.h -SemaOverload.o: DiagnosticSemaKinds.inc.h -SemaOverload.o: StmtNodes.inc.h -SemaOverload.po: AttrList.inc.h -SemaOverload.po: AttrParsedAttrList.inc.h -SemaOverload.po: Attrs.inc.h -SemaOverload.po: CommentCommandList.inc.h -SemaOverload.po: DeclNodes.inc.h -SemaOverload.po: DiagnosticCommonKinds.inc.h -SemaOverload.po: DiagnosticSemaKinds.inc.h -SemaOverload.po: StmtNodes.inc.h -SemaPseudoObject.o: AttrList.inc.h -SemaPseudoObject.o: AttrParsedAttrList.inc.h -SemaPseudoObject.o: Attrs.inc.h -SemaPseudoObject.o: CommentCommandList.inc.h -SemaPseudoObject.o: DeclNodes.inc.h -SemaPseudoObject.o: DiagnosticCommonKinds.inc.h -SemaPseudoObject.o: DiagnosticSemaKinds.inc.h -SemaPseudoObject.o: StmtNodes.inc.h -SemaPseudoObject.po: AttrList.inc.h -SemaPseudoObject.po: AttrParsedAttrList.inc.h -SemaPseudoObject.po: Attrs.inc.h -SemaPseudoObject.po: CommentCommandList.inc.h -SemaPseudoObject.po: DeclNodes.inc.h -SemaPseudoObject.po: DiagnosticCommonKinds.inc.h -SemaPseudoObject.po: DiagnosticSemaKinds.inc.h -SemaPseudoObject.po: StmtNodes.inc.h -SemaStmt.o: AttrList.inc.h -SemaStmt.o: AttrParsedAttrList.inc.h -SemaStmt.o: AttrVisitor.inc.h -SemaStmt.o: Attrs.inc.h -SemaStmt.o: CommentCommandList.inc.h -SemaStmt.o: DeclNodes.inc.h -SemaStmt.o: DiagnosticASTKinds.inc.h -SemaStmt.o: DiagnosticCommonKinds.inc.h -SemaStmt.o: DiagnosticSemaKinds.inc.h -SemaStmt.o: StmtNodes.inc.h -SemaStmt.po: AttrList.inc.h -SemaStmt.po: AttrParsedAttrList.inc.h -SemaStmt.po: AttrVisitor.inc.h -SemaStmt.po: Attrs.inc.h -SemaStmt.po: CommentCommandList.inc.h -SemaStmt.po: DeclNodes.inc.h -SemaStmt.po: DiagnosticASTKinds.inc.h -SemaStmt.po: DiagnosticCommonKinds.inc.h -SemaStmt.po: DiagnosticSemaKinds.inc.h -SemaStmt.po: StmtNodes.inc.h -SemaStmtAsm.o: AttrList.inc.h -SemaStmtAsm.o: AttrParsedAttrList.inc.h -SemaStmtAsm.o: Attrs.inc.h -SemaStmtAsm.o: CommentCommandList.inc.h -SemaStmtAsm.o: DeclNodes.inc.h -SemaStmtAsm.o: DiagnosticCommonKinds.inc.h -SemaStmtAsm.o: DiagnosticSemaKinds.inc.h -SemaStmtAsm.o: StmtNodes.inc.h -SemaStmtAsm.po: AttrList.inc.h -SemaStmtAsm.po: AttrParsedAttrList.inc.h -SemaStmtAsm.po: Attrs.inc.h -SemaStmtAsm.po: CommentCommandList.inc.h -SemaStmtAsm.po: DeclNodes.inc.h -SemaStmtAsm.po: DiagnosticCommonKinds.inc.h -SemaStmtAsm.po: DiagnosticSemaKinds.inc.h -SemaStmtAsm.po: StmtNodes.inc.h -SemaStmtAttr.o: AttrList.inc.h -SemaStmtAttr.o: AttrParsedAttrList.inc.h -SemaStmtAttr.o: Attrs.inc.h -SemaStmtAttr.o: CommentCommandList.inc.h -SemaStmtAttr.o: DeclNodes.inc.h -SemaStmtAttr.o: DiagnosticCommonKinds.inc.h -SemaStmtAttr.o: DiagnosticSemaKinds.inc.h -SemaStmtAttr.o: StmtNodes.inc.h -SemaStmtAttr.po: AttrList.inc.h -SemaStmtAttr.po: AttrParsedAttrList.inc.h -SemaStmtAttr.po: Attrs.inc.h -SemaStmtAttr.po: CommentCommandList.inc.h -SemaStmtAttr.po: DeclNodes.inc.h -SemaStmtAttr.po: DiagnosticCommonKinds.inc.h -SemaStmtAttr.po: DiagnosticSemaKinds.inc.h -SemaStmtAttr.po: StmtNodes.inc.h -SemaTemplate.o: AttrList.inc.h -SemaTemplate.o: AttrParsedAttrList.inc.h -SemaTemplate.o: AttrVisitor.inc.h -SemaTemplate.o: Attrs.inc.h -SemaTemplate.o: CommentCommandList.inc.h -SemaTemplate.o: DeclNodes.inc.h -SemaTemplate.o: DiagnosticCommonKinds.inc.h -SemaTemplate.o: DiagnosticSemaKinds.inc.h -SemaTemplate.o: StmtNodes.inc.h -SemaTemplate.po: AttrList.inc.h -SemaTemplate.po: AttrParsedAttrList.inc.h -SemaTemplate.po: AttrVisitor.inc.h -SemaTemplate.po: Attrs.inc.h -SemaTemplate.po: CommentCommandList.inc.h -SemaTemplate.po: DeclNodes.inc.h -SemaTemplate.po: DiagnosticCommonKinds.inc.h -SemaTemplate.po: DiagnosticSemaKinds.inc.h -SemaTemplate.po: StmtNodes.inc.h -SemaTemplateDeduction.o: AttrList.inc.h -SemaTemplateDeduction.o: AttrParsedAttrList.inc.h -SemaTemplateDeduction.o: Attrs.inc.h -SemaTemplateDeduction.o: CommentCommandList.inc.h -SemaTemplateDeduction.o: DeclNodes.inc.h -SemaTemplateDeduction.o: DiagnosticCommonKinds.inc.h -SemaTemplateDeduction.o: DiagnosticSemaKinds.inc.h -SemaTemplateDeduction.o: StmtNodes.inc.h -SemaTemplateDeduction.po: AttrList.inc.h -SemaTemplateDeduction.po: AttrParsedAttrList.inc.h -SemaTemplateDeduction.po: Attrs.inc.h -SemaTemplateDeduction.po: CommentCommandList.inc.h -SemaTemplateDeduction.po: DeclNodes.inc.h -SemaTemplateDeduction.po: DiagnosticCommonKinds.inc.h -SemaTemplateDeduction.po: DiagnosticSemaKinds.inc.h -SemaTemplateDeduction.po: StmtNodes.inc.h -SemaTemplateInstantiate.o: AttrList.inc.h -SemaTemplateInstantiate.o: AttrParsedAttrList.inc.h -SemaTemplateInstantiate.o: Attrs.inc.h -SemaTemplateInstantiate.o: CommentCommandList.inc.h -SemaTemplateInstantiate.o: DeclNodes.inc.h -SemaTemplateInstantiate.o: DiagnosticCommonKinds.inc.h -SemaTemplateInstantiate.o: DiagnosticSemaKinds.inc.h -SemaTemplateInstantiate.o: StmtNodes.inc.h -SemaTemplateInstantiate.po: AttrList.inc.h -SemaTemplateInstantiate.po: AttrParsedAttrList.inc.h -SemaTemplateInstantiate.po: Attrs.inc.h -SemaTemplateInstantiate.po: CommentCommandList.inc.h -SemaTemplateInstantiate.po: DeclNodes.inc.h -SemaTemplateInstantiate.po: DiagnosticCommonKinds.inc.h -SemaTemplateInstantiate.po: DiagnosticSemaKinds.inc.h -SemaTemplateInstantiate.po: StmtNodes.inc.h -SemaTemplateInstantiateDecl.o: AttrList.inc.h -SemaTemplateInstantiateDecl.o: AttrParsedAttrList.inc.h -SemaTemplateInstantiateDecl.o: AttrTemplateInstantiate.inc.h -SemaTemplateInstantiateDecl.o: Attrs.inc.h -SemaTemplateInstantiateDecl.o: CommentCommandList.inc.h -SemaTemplateInstantiateDecl.o: DeclNodes.inc.h -SemaTemplateInstantiateDecl.o: DiagnosticCommonKinds.inc.h -SemaTemplateInstantiateDecl.o: DiagnosticSemaKinds.inc.h -SemaTemplateInstantiateDecl.o: StmtNodes.inc.h -SemaTemplateInstantiateDecl.po: AttrList.inc.h -SemaTemplateInstantiateDecl.po: AttrParsedAttrList.inc.h -SemaTemplateInstantiateDecl.po: AttrTemplateInstantiate.inc.h -SemaTemplateInstantiateDecl.po: Attrs.inc.h -SemaTemplateInstantiateDecl.po: CommentCommandList.inc.h -SemaTemplateInstantiateDecl.po: DeclNodes.inc.h -SemaTemplateInstantiateDecl.po: DiagnosticCommonKinds.inc.h -SemaTemplateInstantiateDecl.po: DiagnosticSemaKinds.inc.h -SemaTemplateInstantiateDecl.po: StmtNodes.inc.h -SemaTemplateVariadic.o: AttrList.inc.h -SemaTemplateVariadic.o: AttrParsedAttrList.inc.h -SemaTemplateVariadic.o: AttrVisitor.inc.h -SemaTemplateVariadic.o: Attrs.inc.h -SemaTemplateVariadic.o: CommentCommandList.inc.h -SemaTemplateVariadic.o: DeclNodes.inc.h -SemaTemplateVariadic.o: DiagnosticCommonKinds.inc.h -SemaTemplateVariadic.o: DiagnosticSemaKinds.inc.h -SemaTemplateVariadic.o: StmtNodes.inc.h -SemaTemplateVariadic.po: AttrList.inc.h -SemaTemplateVariadic.po: AttrParsedAttrList.inc.h -SemaTemplateVariadic.po: AttrVisitor.inc.h -SemaTemplateVariadic.po: Attrs.inc.h -SemaTemplateVariadic.po: CommentCommandList.inc.h -SemaTemplateVariadic.po: DeclNodes.inc.h -SemaTemplateVariadic.po: DiagnosticCommonKinds.inc.h -SemaTemplateVariadic.po: DiagnosticSemaKinds.inc.h -SemaTemplateVariadic.po: StmtNodes.inc.h -SemaType.o: AttrList.inc.h -SemaType.o: AttrParsedAttrList.inc.h -SemaType.o: Attrs.inc.h -SemaType.o: CommentCommandList.inc.h -SemaType.o: DeclNodes.inc.h -SemaType.o: DiagnosticCommonKinds.inc.h -SemaType.o: DiagnosticParseKinds.inc.h -SemaType.o: DiagnosticSemaKinds.inc.h -SemaType.o: StmtNodes.inc.h -SemaType.po: AttrList.inc.h -SemaType.po: AttrParsedAttrList.inc.h -SemaType.po: Attrs.inc.h -SemaType.po: CommentCommandList.inc.h -SemaType.po: DeclNodes.inc.h -SemaType.po: DiagnosticCommonKinds.inc.h -SemaType.po: DiagnosticParseKinds.inc.h -SemaType.po: DiagnosticSemaKinds.inc.h -SemaType.po: StmtNodes.inc.h -TypeLocBuilder.o: CommentCommandList.inc.h -TypeLocBuilder.o: DeclNodes.inc.h -TypeLocBuilder.o: DiagnosticCommonKinds.inc.h -TypeLocBuilder.o: StmtNodes.inc.h -TypeLocBuilder.po: CommentCommandList.inc.h -TypeLocBuilder.po: DeclNodes.inc.h -TypeLocBuilder.po: DiagnosticCommonKinds.inc.h -TypeLocBuilder.po: StmtNodes.inc.h .endif diff --git a/lib/clang/libclangserialization/Makefile.depend b/lib/clang/libclangserialization/Makefile.depend index 6ee9d58..264ede1 100644 --- a/lib/clang/libclangserialization/Makefile.depend +++ b/lib/clang/libclangserialization/Makefile.depend @@ -13,120 +13,4 @@ DIRDEPS = \ .if ${DEP_RELDIR} == ${_DEP_RELDIR} # local dependencies - needed for -jN in clean tree -ASTCommon.o: AttrList.inc.h -ASTCommon.o: Attrs.inc.h -ASTCommon.o: CommentCommandList.inc.h -ASTCommon.o: DeclNodes.inc.h -ASTCommon.o: DiagnosticCommonKinds.inc.h -ASTCommon.o: StmtNodes.inc.h -ASTCommon.po: AttrList.inc.h -ASTCommon.po: Attrs.inc.h -ASTCommon.po: CommentCommandList.inc.h -ASTCommon.po: DeclNodes.inc.h -ASTCommon.po: DiagnosticCommonKinds.inc.h -ASTCommon.po: StmtNodes.inc.h -ASTReader.o: AttrList.inc.h -ASTReader.o: AttrParsedAttrList.inc.h -ASTReader.o: Attrs.inc.h -ASTReader.o: CommentCommandList.inc.h -ASTReader.o: DeclNodes.inc.h -ASTReader.o: DiagnosticCommonKinds.inc.h -ASTReader.o: DiagnosticSerializationKinds.inc.h -ASTReader.o: StmtNodes.inc.h -ASTReader.po: AttrList.inc.h -ASTReader.po: AttrParsedAttrList.inc.h -ASTReader.po: Attrs.inc.h -ASTReader.po: CommentCommandList.inc.h -ASTReader.po: DeclNodes.inc.h -ASTReader.po: DiagnosticCommonKinds.inc.h -ASTReader.po: DiagnosticSerializationKinds.inc.h -ASTReader.po: StmtNodes.inc.h -ASTReaderDecl.o: AttrList.inc.h -ASTReaderDecl.o: AttrPCHRead.inc.h -ASTReaderDecl.o: AttrParsedAttrList.inc.h -ASTReaderDecl.o: Attrs.inc.h -ASTReaderDecl.o: CommentCommandList.inc.h -ASTReaderDecl.o: DeclNodes.inc.h -ASTReaderDecl.o: DiagnosticCommonKinds.inc.h -ASTReaderDecl.o: DiagnosticSemaKinds.inc.h -ASTReaderDecl.o: StmtNodes.inc.h -ASTReaderDecl.po: AttrList.inc.h -ASTReaderDecl.po: AttrPCHRead.inc.h -ASTReaderDecl.po: AttrParsedAttrList.inc.h -ASTReaderDecl.po: Attrs.inc.h -ASTReaderDecl.po: CommentCommandList.inc.h -ASTReaderDecl.po: DeclNodes.inc.h -ASTReaderDecl.po: DiagnosticCommonKinds.inc.h -ASTReaderDecl.po: DiagnosticSemaKinds.inc.h -ASTReaderDecl.po: StmtNodes.inc.h -ASTReaderStmt.o: AttrList.inc.h -ASTReaderStmt.o: AttrParsedAttrList.inc.h -ASTReaderStmt.o: Attrs.inc.h -ASTReaderStmt.o: CommentCommandList.inc.h -ASTReaderStmt.o: DeclNodes.inc.h -ASTReaderStmt.o: DiagnosticCommonKinds.inc.h -ASTReaderStmt.o: StmtNodes.inc.h -ASTReaderStmt.po: AttrList.inc.h -ASTReaderStmt.po: AttrParsedAttrList.inc.h -ASTReaderStmt.po: Attrs.inc.h -ASTReaderStmt.po: CommentCommandList.inc.h -ASTReaderStmt.po: DeclNodes.inc.h -ASTReaderStmt.po: DiagnosticCommonKinds.inc.h -ASTReaderStmt.po: StmtNodes.inc.h -ASTWriter.o: AttrList.inc.h -ASTWriter.o: AttrPCHWrite.inc.h -ASTWriter.o: AttrParsedAttrList.inc.h -ASTWriter.o: Attrs.inc.h -ASTWriter.o: CommentCommandList.inc.h -ASTWriter.o: DeclNodes.inc.h -ASTWriter.o: DiagnosticCommonKinds.inc.h -ASTWriter.o: StmtNodes.inc.h -ASTWriter.po: AttrList.inc.h -ASTWriter.po: AttrPCHWrite.inc.h -ASTWriter.po: AttrParsedAttrList.inc.h -ASTWriter.po: Attrs.inc.h -ASTWriter.po: CommentCommandList.inc.h -ASTWriter.po: DeclNodes.inc.h -ASTWriter.po: DiagnosticCommonKinds.inc.h -ASTWriter.po: StmtNodes.inc.h -ASTWriterDecl.o: AttrList.inc.h -ASTWriterDecl.o: AttrParsedAttrList.inc.h -ASTWriterDecl.o: Attrs.inc.h -ASTWriterDecl.o: CommentCommandList.inc.h -ASTWriterDecl.o: DeclNodes.inc.h -ASTWriterDecl.o: DiagnosticCommonKinds.inc.h -ASTWriterDecl.o: StmtNodes.inc.h -ASTWriterDecl.po: AttrList.inc.h -ASTWriterDecl.po: AttrParsedAttrList.inc.h -ASTWriterDecl.po: Attrs.inc.h -ASTWriterDecl.po: CommentCommandList.inc.h -ASTWriterDecl.po: DeclNodes.inc.h -ASTWriterDecl.po: DiagnosticCommonKinds.inc.h -ASTWriterDecl.po: StmtNodes.inc.h -ASTWriterStmt.o: AttrList.inc.h -ASTWriterStmt.o: Attrs.inc.h -ASTWriterStmt.o: CommentCommandList.inc.h -ASTWriterStmt.o: DeclNodes.inc.h -ASTWriterStmt.o: DiagnosticCommonKinds.inc.h -ASTWriterStmt.o: StmtNodes.inc.h -ASTWriterStmt.po: AttrList.inc.h -ASTWriterStmt.po: Attrs.inc.h -ASTWriterStmt.po: CommentCommandList.inc.h -ASTWriterStmt.po: DeclNodes.inc.h -ASTWriterStmt.po: DiagnosticCommonKinds.inc.h -ASTWriterStmt.po: StmtNodes.inc.h -GeneratePCH.o: CommentCommandList.inc.h -GeneratePCH.o: DeclNodes.inc.h -GeneratePCH.o: DiagnosticCommonKinds.inc.h -GeneratePCH.o: StmtNodes.inc.h -GeneratePCH.po: CommentCommandList.inc.h -GeneratePCH.po: DeclNodes.inc.h -GeneratePCH.po: DiagnosticCommonKinds.inc.h -GeneratePCH.po: StmtNodes.inc.h -GlobalModuleIndex.o: DiagnosticCommonKinds.inc.h -GlobalModuleIndex.po: DiagnosticCommonKinds.inc.h -Module.o: DiagnosticCommonKinds.inc.h -Module.po: DiagnosticCommonKinds.inc.h -ModuleManager.o: DiagnosticCommonKinds.inc.h -ModuleManager.po: DiagnosticCommonKinds.inc.h .endif diff --git a/lib/clang/libclangstaticanalyzercheckers/Makefile.depend b/lib/clang/libclangstaticanalyzercheckers/Makefile.depend index cdb2b7a..264ede1 100644 --- a/lib/clang/libclangstaticanalyzercheckers/Makefile.depend +++ b/lib/clang/libclangstaticanalyzercheckers/Makefile.depend @@ -13,770 +13,4 @@ DIRDEPS = \ .if ${DEP_RELDIR} == ${_DEP_RELDIR} # local dependencies - needed for -jN in clean tree -AnalyzerStatsChecker.o: Checkers.inc.h -AnalyzerStatsChecker.o: CommentCommandList.inc.h -AnalyzerStatsChecker.o: DeclNodes.inc.h -AnalyzerStatsChecker.o: DiagnosticCommonKinds.inc.h -AnalyzerStatsChecker.o: StmtNodes.inc.h -AnalyzerStatsChecker.po: Checkers.inc.h -AnalyzerStatsChecker.po: CommentCommandList.inc.h -AnalyzerStatsChecker.po: DeclNodes.inc.h -AnalyzerStatsChecker.po: DiagnosticCommonKinds.inc.h -AnalyzerStatsChecker.po: StmtNodes.inc.h -ArrayBoundChecker.o: Checkers.inc.h -ArrayBoundChecker.o: CommentCommandList.inc.h -ArrayBoundChecker.o: DeclNodes.inc.h -ArrayBoundChecker.o: DiagnosticCommonKinds.inc.h -ArrayBoundChecker.o: StmtNodes.inc.h -ArrayBoundChecker.po: Checkers.inc.h -ArrayBoundChecker.po: CommentCommandList.inc.h -ArrayBoundChecker.po: DeclNodes.inc.h -ArrayBoundChecker.po: DiagnosticCommonKinds.inc.h -ArrayBoundChecker.po: StmtNodes.inc.h -ArrayBoundCheckerV2.o: Checkers.inc.h -ArrayBoundCheckerV2.o: CommentCommandList.inc.h -ArrayBoundCheckerV2.o: DeclNodes.inc.h -ArrayBoundCheckerV2.o: DiagnosticCommonKinds.inc.h -ArrayBoundCheckerV2.o: StmtNodes.inc.h -ArrayBoundCheckerV2.po: Checkers.inc.h -ArrayBoundCheckerV2.po: CommentCommandList.inc.h -ArrayBoundCheckerV2.po: DeclNodes.inc.h -ArrayBoundCheckerV2.po: DiagnosticCommonKinds.inc.h -ArrayBoundCheckerV2.po: StmtNodes.inc.h -BasicObjCFoundationChecks.o: AttrList.inc.h -BasicObjCFoundationChecks.o: Attrs.inc.h -BasicObjCFoundationChecks.o: Checkers.inc.h -BasicObjCFoundationChecks.o: CommentCommandList.inc.h -BasicObjCFoundationChecks.o: DeclNodes.inc.h -BasicObjCFoundationChecks.o: DiagnosticCommonKinds.inc.h -BasicObjCFoundationChecks.o: StmtNodes.inc.h -BasicObjCFoundationChecks.po: AttrList.inc.h -BasicObjCFoundationChecks.po: Attrs.inc.h -BasicObjCFoundationChecks.po: Checkers.inc.h -BasicObjCFoundationChecks.po: CommentCommandList.inc.h -BasicObjCFoundationChecks.po: DeclNodes.inc.h -BasicObjCFoundationChecks.po: DiagnosticCommonKinds.inc.h -BasicObjCFoundationChecks.po: StmtNodes.inc.h -BoolAssignmentChecker.o: Checkers.inc.h -BoolAssignmentChecker.o: CommentCommandList.inc.h -BoolAssignmentChecker.o: DeclNodes.inc.h -BoolAssignmentChecker.o: DiagnosticCommonKinds.inc.h -BoolAssignmentChecker.o: StmtNodes.inc.h -BoolAssignmentChecker.po: Checkers.inc.h -BoolAssignmentChecker.po: CommentCommandList.inc.h -BoolAssignmentChecker.po: DeclNodes.inc.h -BoolAssignmentChecker.po: DiagnosticCommonKinds.inc.h -BoolAssignmentChecker.po: StmtNodes.inc.h -BuiltinFunctionChecker.o: Checkers.inc.h -BuiltinFunctionChecker.o: CommentCommandList.inc.h -BuiltinFunctionChecker.o: DeclNodes.inc.h -BuiltinFunctionChecker.o: DiagnosticCommonKinds.inc.h -BuiltinFunctionChecker.o: StmtNodes.inc.h -BuiltinFunctionChecker.po: Checkers.inc.h -BuiltinFunctionChecker.po: CommentCommandList.inc.h -BuiltinFunctionChecker.po: DeclNodes.inc.h -BuiltinFunctionChecker.po: DiagnosticCommonKinds.inc.h -BuiltinFunctionChecker.po: StmtNodes.inc.h -CStringChecker.o: Checkers.inc.h -CStringChecker.o: CommentCommandList.inc.h -CStringChecker.o: DeclNodes.inc.h -CStringChecker.o: DiagnosticCommonKinds.inc.h -CStringChecker.o: StmtNodes.inc.h -CStringChecker.po: Checkers.inc.h -CStringChecker.po: CommentCommandList.inc.h -CStringChecker.po: DeclNodes.inc.h -CStringChecker.po: DiagnosticCommonKinds.inc.h -CStringChecker.po: StmtNodes.inc.h -CStringSyntaxChecker.o: Checkers.inc.h -CStringSyntaxChecker.o: CommentCommandList.inc.h -CStringSyntaxChecker.o: DeclNodes.inc.h -CStringSyntaxChecker.o: DiagnosticCommonKinds.inc.h -CStringSyntaxChecker.o: StmtNodes.inc.h -CStringSyntaxChecker.po: Checkers.inc.h -CStringSyntaxChecker.po: CommentCommandList.inc.h -CStringSyntaxChecker.po: DeclNodes.inc.h -CStringSyntaxChecker.po: DiagnosticCommonKinds.inc.h -CStringSyntaxChecker.po: StmtNodes.inc.h -CallAndMessageChecker.o: AttrList.inc.h -CallAndMessageChecker.o: Attrs.inc.h -CallAndMessageChecker.o: Checkers.inc.h -CallAndMessageChecker.o: CommentCommandList.inc.h -CallAndMessageChecker.o: DeclNodes.inc.h -CallAndMessageChecker.o: DiagnosticCommonKinds.inc.h -CallAndMessageChecker.o: StmtNodes.inc.h -CallAndMessageChecker.po: AttrList.inc.h -CallAndMessageChecker.po: Attrs.inc.h -CallAndMessageChecker.po: Checkers.inc.h -CallAndMessageChecker.po: CommentCommandList.inc.h -CallAndMessageChecker.po: DeclNodes.inc.h -CallAndMessageChecker.po: DiagnosticCommonKinds.inc.h -CallAndMessageChecker.po: StmtNodes.inc.h -CastSizeChecker.o: Checkers.inc.h -CastSizeChecker.o: CommentCommandList.inc.h -CastSizeChecker.o: DeclNodes.inc.h -CastSizeChecker.o: DiagnosticCommonKinds.inc.h -CastSizeChecker.o: StmtNodes.inc.h -CastSizeChecker.po: Checkers.inc.h -CastSizeChecker.po: CommentCommandList.inc.h -CastSizeChecker.po: DeclNodes.inc.h -CastSizeChecker.po: DiagnosticCommonKinds.inc.h -CastSizeChecker.po: StmtNodes.inc.h -CastToStructChecker.o: Checkers.inc.h -CastToStructChecker.o: CommentCommandList.inc.h -CastToStructChecker.o: DeclNodes.inc.h -CastToStructChecker.o: DiagnosticCommonKinds.inc.h -CastToStructChecker.o: StmtNodes.inc.h -CastToStructChecker.po: Checkers.inc.h -CastToStructChecker.po: CommentCommandList.inc.h -CastToStructChecker.po: DeclNodes.inc.h -CastToStructChecker.po: DiagnosticCommonKinds.inc.h -CastToStructChecker.po: StmtNodes.inc.h -CheckObjCDealloc.o: AttrList.inc.h -CheckObjCDealloc.o: Attrs.inc.h -CheckObjCDealloc.o: Checkers.inc.h -CheckObjCDealloc.o: CommentCommandList.inc.h -CheckObjCDealloc.o: DeclNodes.inc.h -CheckObjCDealloc.o: DiagnosticCommonKinds.inc.h -CheckObjCDealloc.o: StmtNodes.inc.h -CheckObjCDealloc.po: AttrList.inc.h -CheckObjCDealloc.po: Attrs.inc.h -CheckObjCDealloc.po: Checkers.inc.h -CheckObjCDealloc.po: CommentCommandList.inc.h -CheckObjCDealloc.po: DeclNodes.inc.h -CheckObjCDealloc.po: DiagnosticCommonKinds.inc.h -CheckObjCDealloc.po: StmtNodes.inc.h -CheckObjCInstMethSignature.o: Checkers.inc.h -CheckObjCInstMethSignature.o: CommentCommandList.inc.h -CheckObjCInstMethSignature.o: DeclNodes.inc.h -CheckObjCInstMethSignature.o: DiagnosticCommonKinds.inc.h -CheckObjCInstMethSignature.o: StmtNodes.inc.h -CheckObjCInstMethSignature.po: Checkers.inc.h -CheckObjCInstMethSignature.po: CommentCommandList.inc.h -CheckObjCInstMethSignature.po: DeclNodes.inc.h -CheckObjCInstMethSignature.po: DiagnosticCommonKinds.inc.h -CheckObjCInstMethSignature.po: StmtNodes.inc.h -CheckSecuritySyntaxOnly.o: Checkers.inc.h -CheckSecuritySyntaxOnly.o: CommentCommandList.inc.h -CheckSecuritySyntaxOnly.o: DeclNodes.inc.h -CheckSecuritySyntaxOnly.o: DiagnosticCommonKinds.inc.h -CheckSecuritySyntaxOnly.o: StmtNodes.inc.h -CheckSecuritySyntaxOnly.po: Checkers.inc.h -CheckSecuritySyntaxOnly.po: CommentCommandList.inc.h -CheckSecuritySyntaxOnly.po: DeclNodes.inc.h -CheckSecuritySyntaxOnly.po: DiagnosticCommonKinds.inc.h -CheckSecuritySyntaxOnly.po: StmtNodes.inc.h -CheckSizeofPointer.o: Checkers.inc.h -CheckSizeofPointer.o: CommentCommandList.inc.h -CheckSizeofPointer.o: DeclNodes.inc.h -CheckSizeofPointer.o: DiagnosticCommonKinds.inc.h -CheckSizeofPointer.o: StmtNodes.inc.h -CheckSizeofPointer.po: Checkers.inc.h -CheckSizeofPointer.po: CommentCommandList.inc.h -CheckSizeofPointer.po: DeclNodes.inc.h -CheckSizeofPointer.po: DiagnosticCommonKinds.inc.h -CheckSizeofPointer.po: StmtNodes.inc.h -ChrootChecker.o: Checkers.inc.h -ChrootChecker.o: CommentCommandList.inc.h -ChrootChecker.o: DeclNodes.inc.h -ChrootChecker.o: DiagnosticCommonKinds.inc.h -ChrootChecker.o: StmtNodes.inc.h -ChrootChecker.po: Checkers.inc.h -ChrootChecker.po: CommentCommandList.inc.h -ChrootChecker.po: DeclNodes.inc.h -ChrootChecker.po: DiagnosticCommonKinds.inc.h -ChrootChecker.po: StmtNodes.inc.h -ClangCheckers.o: Checkers.inc.h -ClangCheckers.o: CommentCommandList.inc.h -ClangCheckers.o: DeclNodes.inc.h -ClangCheckers.o: DiagnosticCommonKinds.inc.h -ClangCheckers.o: StmtNodes.inc.h -ClangCheckers.po: Checkers.inc.h -ClangCheckers.po: CommentCommandList.inc.h -ClangCheckers.po: DeclNodes.inc.h -ClangCheckers.po: DiagnosticCommonKinds.inc.h -ClangCheckers.po: StmtNodes.inc.h -DeadStoresChecker.o: AttrList.inc.h -DeadStoresChecker.o: AttrVisitor.inc.h -DeadStoresChecker.o: Attrs.inc.h -DeadStoresChecker.o: Checkers.inc.h -DeadStoresChecker.o: CommentCommandList.inc.h -DeadStoresChecker.o: DeclNodes.inc.h -DeadStoresChecker.o: DiagnosticCommonKinds.inc.h -DeadStoresChecker.o: StmtNodes.inc.h -DeadStoresChecker.po: AttrList.inc.h -DeadStoresChecker.po: AttrVisitor.inc.h -DeadStoresChecker.po: Attrs.inc.h -DeadStoresChecker.po: Checkers.inc.h -DeadStoresChecker.po: CommentCommandList.inc.h -DeadStoresChecker.po: DeclNodes.inc.h -DeadStoresChecker.po: DiagnosticCommonKinds.inc.h -DeadStoresChecker.po: StmtNodes.inc.h -DebugCheckers.o: AttrList.inc.h -DebugCheckers.o: AttrVisitor.inc.h -DebugCheckers.o: Attrs.inc.h -DebugCheckers.o: Checkers.inc.h -DebugCheckers.o: CommentCommandList.inc.h -DebugCheckers.o: DeclNodes.inc.h -DebugCheckers.o: DiagnosticCommonKinds.inc.h -DebugCheckers.o: StmtNodes.inc.h -DebugCheckers.po: AttrList.inc.h -DebugCheckers.po: AttrVisitor.inc.h -DebugCheckers.po: Attrs.inc.h -DebugCheckers.po: Checkers.inc.h -DebugCheckers.po: CommentCommandList.inc.h -DebugCheckers.po: DeclNodes.inc.h -DebugCheckers.po: DiagnosticCommonKinds.inc.h -DebugCheckers.po: StmtNodes.inc.h -DereferenceChecker.o: Checkers.inc.h -DereferenceChecker.o: CommentCommandList.inc.h -DereferenceChecker.o: DeclNodes.inc.h -DereferenceChecker.o: DiagnosticCommonKinds.inc.h -DereferenceChecker.o: StmtNodes.inc.h -DereferenceChecker.po: Checkers.inc.h -DereferenceChecker.po: CommentCommandList.inc.h -DereferenceChecker.po: DeclNodes.inc.h -DereferenceChecker.po: DiagnosticCommonKinds.inc.h -DereferenceChecker.po: StmtNodes.inc.h -DirectIvarAssignment.o: AttrList.inc.h -DirectIvarAssignment.o: Attrs.inc.h -DirectIvarAssignment.o: Checkers.inc.h -DirectIvarAssignment.o: CommentCommandList.inc.h -DirectIvarAssignment.o: DeclNodes.inc.h -DirectIvarAssignment.o: DiagnosticCommonKinds.inc.h -DirectIvarAssignment.o: StmtNodes.inc.h -DirectIvarAssignment.po: AttrList.inc.h -DirectIvarAssignment.po: Attrs.inc.h -DirectIvarAssignment.po: Checkers.inc.h -DirectIvarAssignment.po: CommentCommandList.inc.h -DirectIvarAssignment.po: DeclNodes.inc.h -DirectIvarAssignment.po: DiagnosticCommonKinds.inc.h -DirectIvarAssignment.po: StmtNodes.inc.h -DivZeroChecker.o: Checkers.inc.h -DivZeroChecker.o: CommentCommandList.inc.h -DivZeroChecker.o: DeclNodes.inc.h -DivZeroChecker.o: DiagnosticCommonKinds.inc.h -DivZeroChecker.o: StmtNodes.inc.h -DivZeroChecker.po: Checkers.inc.h -DivZeroChecker.po: CommentCommandList.inc.h -DivZeroChecker.po: DeclNodes.inc.h -DivZeroChecker.po: DiagnosticCommonKinds.inc.h -DivZeroChecker.po: StmtNodes.inc.h -DynamicTypePropagation.o: AttrList.inc.h -DynamicTypePropagation.o: Attrs.inc.h -DynamicTypePropagation.o: Checkers.inc.h -DynamicTypePropagation.o: CommentCommandList.inc.h -DynamicTypePropagation.o: DeclNodes.inc.h -DynamicTypePropagation.o: DiagnosticCommonKinds.inc.h -DynamicTypePropagation.o: StmtNodes.inc.h -DynamicTypePropagation.po: AttrList.inc.h -DynamicTypePropagation.po: Attrs.inc.h -DynamicTypePropagation.po: Checkers.inc.h -DynamicTypePropagation.po: CommentCommandList.inc.h -DynamicTypePropagation.po: DeclNodes.inc.h -DynamicTypePropagation.po: DiagnosticCommonKinds.inc.h -DynamicTypePropagation.po: StmtNodes.inc.h -ExprInspectionChecker.o: Checkers.inc.h -ExprInspectionChecker.o: CommentCommandList.inc.h -ExprInspectionChecker.o: DeclNodes.inc.h -ExprInspectionChecker.o: DiagnosticCommonKinds.inc.h -ExprInspectionChecker.o: StmtNodes.inc.h -ExprInspectionChecker.po: Checkers.inc.h -ExprInspectionChecker.po: CommentCommandList.inc.h -ExprInspectionChecker.po: DeclNodes.inc.h -ExprInspectionChecker.po: DiagnosticCommonKinds.inc.h -ExprInspectionChecker.po: StmtNodes.inc.h -FixedAddressChecker.o: Checkers.inc.h -FixedAddressChecker.o: CommentCommandList.inc.h -FixedAddressChecker.o: DeclNodes.inc.h -FixedAddressChecker.o: DiagnosticCommonKinds.inc.h -FixedAddressChecker.o: StmtNodes.inc.h -FixedAddressChecker.po: Checkers.inc.h -FixedAddressChecker.po: CommentCommandList.inc.h -FixedAddressChecker.po: DeclNodes.inc.h -FixedAddressChecker.po: DiagnosticCommonKinds.inc.h -FixedAddressChecker.po: StmtNodes.inc.h -GenericTaintChecker.o: AttrList.inc.h -GenericTaintChecker.o: Attrs.inc.h -GenericTaintChecker.o: Checkers.inc.h -GenericTaintChecker.o: CommentCommandList.inc.h -GenericTaintChecker.o: DeclNodes.inc.h -GenericTaintChecker.o: DiagnosticCommonKinds.inc.h -GenericTaintChecker.o: StmtNodes.inc.h -GenericTaintChecker.po: AttrList.inc.h -GenericTaintChecker.po: Attrs.inc.h -GenericTaintChecker.po: Checkers.inc.h -GenericTaintChecker.po: CommentCommandList.inc.h -GenericTaintChecker.po: DeclNodes.inc.h -GenericTaintChecker.po: DiagnosticCommonKinds.inc.h -GenericTaintChecker.po: StmtNodes.inc.h -IdenticalExprChecker.o: AttrList.inc.h -IdenticalExprChecker.o: AttrVisitor.inc.h -IdenticalExprChecker.o: Attrs.inc.h -IdenticalExprChecker.o: Checkers.inc.h -IdenticalExprChecker.o: CommentCommandList.inc.h -IdenticalExprChecker.o: DeclNodes.inc.h -IdenticalExprChecker.o: DiagnosticCommonKinds.inc.h -IdenticalExprChecker.o: StmtNodes.inc.h -IdenticalExprChecker.po: AttrList.inc.h -IdenticalExprChecker.po: AttrVisitor.inc.h -IdenticalExprChecker.po: Attrs.inc.h -IdenticalExprChecker.po: Checkers.inc.h -IdenticalExprChecker.po: CommentCommandList.inc.h -IdenticalExprChecker.po: DeclNodes.inc.h -IdenticalExprChecker.po: DiagnosticCommonKinds.inc.h -IdenticalExprChecker.po: StmtNodes.inc.h -IvarInvalidationChecker.o: AttrList.inc.h -IvarInvalidationChecker.o: Attrs.inc.h -IvarInvalidationChecker.o: Checkers.inc.h -IvarInvalidationChecker.o: CommentCommandList.inc.h -IvarInvalidationChecker.o: DeclNodes.inc.h -IvarInvalidationChecker.o: DiagnosticCommonKinds.inc.h -IvarInvalidationChecker.o: StmtNodes.inc.h -IvarInvalidationChecker.po: AttrList.inc.h -IvarInvalidationChecker.po: Attrs.inc.h -IvarInvalidationChecker.po: Checkers.inc.h -IvarInvalidationChecker.po: CommentCommandList.inc.h -IvarInvalidationChecker.po: DeclNodes.inc.h -IvarInvalidationChecker.po: DiagnosticCommonKinds.inc.h -IvarInvalidationChecker.po: StmtNodes.inc.h -LLVMConventionsChecker.o: AttrList.inc.h -LLVMConventionsChecker.o: Attrs.inc.h -LLVMConventionsChecker.o: Checkers.inc.h -LLVMConventionsChecker.o: CommentCommandList.inc.h -LLVMConventionsChecker.o: DeclNodes.inc.h -LLVMConventionsChecker.o: DiagnosticCommonKinds.inc.h -LLVMConventionsChecker.o: StmtNodes.inc.h -LLVMConventionsChecker.po: AttrList.inc.h -LLVMConventionsChecker.po: Attrs.inc.h -LLVMConventionsChecker.po: Checkers.inc.h -LLVMConventionsChecker.po: CommentCommandList.inc.h -LLVMConventionsChecker.po: DeclNodes.inc.h -LLVMConventionsChecker.po: DiagnosticCommonKinds.inc.h -LLVMConventionsChecker.po: StmtNodes.inc.h -MacOSKeychainAPIChecker.o: Checkers.inc.h -MacOSKeychainAPIChecker.o: CommentCommandList.inc.h -MacOSKeychainAPIChecker.o: DeclNodes.inc.h -MacOSKeychainAPIChecker.o: DiagnosticCommonKinds.inc.h -MacOSKeychainAPIChecker.o: StmtNodes.inc.h -MacOSKeychainAPIChecker.po: Checkers.inc.h -MacOSKeychainAPIChecker.po: CommentCommandList.inc.h -MacOSKeychainAPIChecker.po: DeclNodes.inc.h -MacOSKeychainAPIChecker.po: DiagnosticCommonKinds.inc.h -MacOSKeychainAPIChecker.po: StmtNodes.inc.h -MacOSXAPIChecker.o: Checkers.inc.h -MacOSXAPIChecker.o: CommentCommandList.inc.h -MacOSXAPIChecker.o: DeclNodes.inc.h -MacOSXAPIChecker.o: DiagnosticCommonKinds.inc.h -MacOSXAPIChecker.o: StmtNodes.inc.h -MacOSXAPIChecker.po: Checkers.inc.h -MacOSXAPIChecker.po: CommentCommandList.inc.h -MacOSXAPIChecker.po: DeclNodes.inc.h -MacOSXAPIChecker.po: DiagnosticCommonKinds.inc.h -MacOSXAPIChecker.po: StmtNodes.inc.h -MallocChecker.o: AttrList.inc.h -MallocChecker.o: Attrs.inc.h -MallocChecker.o: Checkers.inc.h -MallocChecker.o: CommentCommandList.inc.h -MallocChecker.o: DeclNodes.inc.h -MallocChecker.o: DiagnosticCommonKinds.inc.h -MallocChecker.o: StmtNodes.inc.h -MallocChecker.po: AttrList.inc.h -MallocChecker.po: Attrs.inc.h -MallocChecker.po: Checkers.inc.h -MallocChecker.po: CommentCommandList.inc.h -MallocChecker.po: DeclNodes.inc.h -MallocChecker.po: DiagnosticCommonKinds.inc.h -MallocChecker.po: StmtNodes.inc.h -MallocOverflowSecurityChecker.o: AttrList.inc.h -MallocOverflowSecurityChecker.o: Attrs.inc.h -MallocOverflowSecurityChecker.o: Checkers.inc.h -MallocOverflowSecurityChecker.o: CommentCommandList.inc.h -MallocOverflowSecurityChecker.o: DeclNodes.inc.h -MallocOverflowSecurityChecker.o: DiagnosticCommonKinds.inc.h -MallocOverflowSecurityChecker.o: StmtNodes.inc.h -MallocOverflowSecurityChecker.po: AttrList.inc.h -MallocOverflowSecurityChecker.po: Attrs.inc.h -MallocOverflowSecurityChecker.po: Checkers.inc.h -MallocOverflowSecurityChecker.po: CommentCommandList.inc.h -MallocOverflowSecurityChecker.po: DeclNodes.inc.h -MallocOverflowSecurityChecker.po: DiagnosticCommonKinds.inc.h -MallocOverflowSecurityChecker.po: StmtNodes.inc.h -MallocSizeofChecker.o: Checkers.inc.h -MallocSizeofChecker.o: CommentCommandList.inc.h -MallocSizeofChecker.o: DeclNodes.inc.h -MallocSizeofChecker.o: DiagnosticCommonKinds.inc.h -MallocSizeofChecker.o: StmtNodes.inc.h -MallocSizeofChecker.po: Checkers.inc.h -MallocSizeofChecker.po: CommentCommandList.inc.h -MallocSizeofChecker.po: DeclNodes.inc.h -MallocSizeofChecker.po: DiagnosticCommonKinds.inc.h -MallocSizeofChecker.po: StmtNodes.inc.h -NSAutoreleasePoolChecker.o: AttrList.inc.h -NSAutoreleasePoolChecker.o: Attrs.inc.h -NSAutoreleasePoolChecker.o: Checkers.inc.h -NSAutoreleasePoolChecker.o: CommentCommandList.inc.h -NSAutoreleasePoolChecker.o: DeclNodes.inc.h -NSAutoreleasePoolChecker.o: DiagnosticCommonKinds.inc.h -NSAutoreleasePoolChecker.o: StmtNodes.inc.h -NSAutoreleasePoolChecker.po: AttrList.inc.h -NSAutoreleasePoolChecker.po: Attrs.inc.h -NSAutoreleasePoolChecker.po: Checkers.inc.h -NSAutoreleasePoolChecker.po: CommentCommandList.inc.h -NSAutoreleasePoolChecker.po: DeclNodes.inc.h -NSAutoreleasePoolChecker.po: DiagnosticCommonKinds.inc.h -NSAutoreleasePoolChecker.po: StmtNodes.inc.h -NSErrorChecker.o: Checkers.inc.h -NSErrorChecker.o: CommentCommandList.inc.h -NSErrorChecker.o: DeclNodes.inc.h -NSErrorChecker.o: DiagnosticCommonKinds.inc.h -NSErrorChecker.o: StmtNodes.inc.h -NSErrorChecker.po: Checkers.inc.h -NSErrorChecker.po: CommentCommandList.inc.h -NSErrorChecker.po: DeclNodes.inc.h -NSErrorChecker.po: DiagnosticCommonKinds.inc.h -NSErrorChecker.po: StmtNodes.inc.h -NoReturnFunctionChecker.o: AttrList.inc.h -NoReturnFunctionChecker.o: Attrs.inc.h -NoReturnFunctionChecker.o: Checkers.inc.h -NoReturnFunctionChecker.o: CommentCommandList.inc.h -NoReturnFunctionChecker.o: DeclNodes.inc.h -NoReturnFunctionChecker.o: DiagnosticCommonKinds.inc.h -NoReturnFunctionChecker.o: StmtNodes.inc.h -NoReturnFunctionChecker.po: AttrList.inc.h -NoReturnFunctionChecker.po: Attrs.inc.h -NoReturnFunctionChecker.po: Checkers.inc.h -NoReturnFunctionChecker.po: CommentCommandList.inc.h -NoReturnFunctionChecker.po: DeclNodes.inc.h -NoReturnFunctionChecker.po: DiagnosticCommonKinds.inc.h -NoReturnFunctionChecker.po: StmtNodes.inc.h -NonNullParamChecker.o: AttrList.inc.h -NonNullParamChecker.o: Attrs.inc.h -NonNullParamChecker.o: Checkers.inc.h -NonNullParamChecker.o: CommentCommandList.inc.h -NonNullParamChecker.o: DeclNodes.inc.h -NonNullParamChecker.o: DiagnosticCommonKinds.inc.h -NonNullParamChecker.o: StmtNodes.inc.h -NonNullParamChecker.po: AttrList.inc.h -NonNullParamChecker.po: Attrs.inc.h -NonNullParamChecker.po: Checkers.inc.h -NonNullParamChecker.po: CommentCommandList.inc.h -NonNullParamChecker.po: DeclNodes.inc.h -NonNullParamChecker.po: DiagnosticCommonKinds.inc.h -NonNullParamChecker.po: StmtNodes.inc.h -ObjCAtSyncChecker.o: Checkers.inc.h -ObjCAtSyncChecker.o: CommentCommandList.inc.h -ObjCAtSyncChecker.o: DeclNodes.inc.h -ObjCAtSyncChecker.o: DiagnosticCommonKinds.inc.h -ObjCAtSyncChecker.o: StmtNodes.inc.h -ObjCAtSyncChecker.po: Checkers.inc.h -ObjCAtSyncChecker.po: CommentCommandList.inc.h -ObjCAtSyncChecker.po: DeclNodes.inc.h -ObjCAtSyncChecker.po: DiagnosticCommonKinds.inc.h -ObjCAtSyncChecker.po: StmtNodes.inc.h -ObjCContainersASTChecker.o: Checkers.inc.h -ObjCContainersASTChecker.o: CommentCommandList.inc.h -ObjCContainersASTChecker.o: DeclNodes.inc.h -ObjCContainersASTChecker.o: DiagnosticCommonKinds.inc.h -ObjCContainersASTChecker.o: StmtNodes.inc.h -ObjCContainersASTChecker.po: Checkers.inc.h -ObjCContainersASTChecker.po: CommentCommandList.inc.h -ObjCContainersASTChecker.po: DeclNodes.inc.h -ObjCContainersASTChecker.po: DiagnosticCommonKinds.inc.h -ObjCContainersASTChecker.po: StmtNodes.inc.h -ObjCContainersChecker.o: Checkers.inc.h -ObjCContainersChecker.o: CommentCommandList.inc.h -ObjCContainersChecker.o: DeclNodes.inc.h -ObjCContainersChecker.o: DiagnosticCommonKinds.inc.h -ObjCContainersChecker.o: StmtNodes.inc.h -ObjCContainersChecker.po: Checkers.inc.h -ObjCContainersChecker.po: CommentCommandList.inc.h -ObjCContainersChecker.po: DeclNodes.inc.h -ObjCContainersChecker.po: DiagnosticCommonKinds.inc.h -ObjCContainersChecker.po: StmtNodes.inc.h -ObjCMissingSuperCallChecker.o: AttrList.inc.h -ObjCMissingSuperCallChecker.o: AttrVisitor.inc.h -ObjCMissingSuperCallChecker.o: Attrs.inc.h -ObjCMissingSuperCallChecker.o: Checkers.inc.h -ObjCMissingSuperCallChecker.o: CommentCommandList.inc.h -ObjCMissingSuperCallChecker.o: DeclNodes.inc.h -ObjCMissingSuperCallChecker.o: DiagnosticCommonKinds.inc.h -ObjCMissingSuperCallChecker.o: StmtNodes.inc.h -ObjCMissingSuperCallChecker.po: AttrList.inc.h -ObjCMissingSuperCallChecker.po: AttrVisitor.inc.h -ObjCMissingSuperCallChecker.po: Attrs.inc.h -ObjCMissingSuperCallChecker.po: Checkers.inc.h -ObjCMissingSuperCallChecker.po: CommentCommandList.inc.h -ObjCMissingSuperCallChecker.po: DeclNodes.inc.h -ObjCMissingSuperCallChecker.po: DiagnosticCommonKinds.inc.h -ObjCMissingSuperCallChecker.po: StmtNodes.inc.h -ObjCSelfInitChecker.o: AttrList.inc.h -ObjCSelfInitChecker.o: Attrs.inc.h -ObjCSelfInitChecker.o: Checkers.inc.h -ObjCSelfInitChecker.o: CommentCommandList.inc.h -ObjCSelfInitChecker.o: DeclNodes.inc.h -ObjCSelfInitChecker.o: DiagnosticCommonKinds.inc.h -ObjCSelfInitChecker.o: StmtNodes.inc.h -ObjCSelfInitChecker.po: AttrList.inc.h -ObjCSelfInitChecker.po: Attrs.inc.h -ObjCSelfInitChecker.po: Checkers.inc.h -ObjCSelfInitChecker.po: CommentCommandList.inc.h -ObjCSelfInitChecker.po: DeclNodes.inc.h -ObjCSelfInitChecker.po: DiagnosticCommonKinds.inc.h -ObjCSelfInitChecker.po: StmtNodes.inc.h -ObjCUnusedIVarsChecker.o: AttrList.inc.h -ObjCUnusedIVarsChecker.o: Attrs.inc.h -ObjCUnusedIVarsChecker.o: Checkers.inc.h -ObjCUnusedIVarsChecker.o: CommentCommandList.inc.h -ObjCUnusedIVarsChecker.o: DeclNodes.inc.h -ObjCUnusedIVarsChecker.o: DiagnosticCommonKinds.inc.h -ObjCUnusedIVarsChecker.o: StmtNodes.inc.h -ObjCUnusedIVarsChecker.po: AttrList.inc.h -ObjCUnusedIVarsChecker.po: Attrs.inc.h -ObjCUnusedIVarsChecker.po: Checkers.inc.h -ObjCUnusedIVarsChecker.po: CommentCommandList.inc.h -ObjCUnusedIVarsChecker.po: DeclNodes.inc.h -ObjCUnusedIVarsChecker.po: DiagnosticCommonKinds.inc.h -ObjCUnusedIVarsChecker.po: StmtNodes.inc.h -PointerArithChecker.o: Checkers.inc.h -PointerArithChecker.o: CommentCommandList.inc.h -PointerArithChecker.o: DeclNodes.inc.h -PointerArithChecker.o: DiagnosticCommonKinds.inc.h -PointerArithChecker.o: StmtNodes.inc.h -PointerArithChecker.po: Checkers.inc.h -PointerArithChecker.po: CommentCommandList.inc.h -PointerArithChecker.po: DeclNodes.inc.h -PointerArithChecker.po: DiagnosticCommonKinds.inc.h -PointerArithChecker.po: StmtNodes.inc.h -PointerSubChecker.o: Checkers.inc.h -PointerSubChecker.o: CommentCommandList.inc.h -PointerSubChecker.o: DeclNodes.inc.h -PointerSubChecker.o: DiagnosticCommonKinds.inc.h -PointerSubChecker.o: StmtNodes.inc.h -PointerSubChecker.po: Checkers.inc.h -PointerSubChecker.po: CommentCommandList.inc.h -PointerSubChecker.po: DeclNodes.inc.h -PointerSubChecker.po: DiagnosticCommonKinds.inc.h -PointerSubChecker.po: StmtNodes.inc.h -PthreadLockChecker.o: Checkers.inc.h -PthreadLockChecker.o: CommentCommandList.inc.h -PthreadLockChecker.o: DeclNodes.inc.h -PthreadLockChecker.o: DiagnosticCommonKinds.inc.h -PthreadLockChecker.o: StmtNodes.inc.h -PthreadLockChecker.po: Checkers.inc.h -PthreadLockChecker.po: CommentCommandList.inc.h -PthreadLockChecker.po: DeclNodes.inc.h -PthreadLockChecker.po: DiagnosticCommonKinds.inc.h -PthreadLockChecker.po: StmtNodes.inc.h -RetainCountChecker.o: AttrList.inc.h -RetainCountChecker.o: Attrs.inc.h -RetainCountChecker.o: Checkers.inc.h -RetainCountChecker.o: CommentCommandList.inc.h -RetainCountChecker.o: DeclNodes.inc.h -RetainCountChecker.o: DiagnosticCommonKinds.inc.h -RetainCountChecker.o: StmtNodes.inc.h -RetainCountChecker.po: AttrList.inc.h -RetainCountChecker.po: Attrs.inc.h -RetainCountChecker.po: Checkers.inc.h -RetainCountChecker.po: CommentCommandList.inc.h -RetainCountChecker.po: DeclNodes.inc.h -RetainCountChecker.po: DiagnosticCommonKinds.inc.h -RetainCountChecker.po: StmtNodes.inc.h -ReturnPointerRangeChecker.o: Checkers.inc.h -ReturnPointerRangeChecker.o: CommentCommandList.inc.h -ReturnPointerRangeChecker.o: DeclNodes.inc.h -ReturnPointerRangeChecker.o: DiagnosticCommonKinds.inc.h -ReturnPointerRangeChecker.o: StmtNodes.inc.h -ReturnPointerRangeChecker.po: Checkers.inc.h -ReturnPointerRangeChecker.po: CommentCommandList.inc.h -ReturnPointerRangeChecker.po: DeclNodes.inc.h -ReturnPointerRangeChecker.po: DiagnosticCommonKinds.inc.h -ReturnPointerRangeChecker.po: StmtNodes.inc.h -ReturnUndefChecker.o: AttrList.inc.h -ReturnUndefChecker.o: Attrs.inc.h -ReturnUndefChecker.o: Checkers.inc.h -ReturnUndefChecker.o: CommentCommandList.inc.h -ReturnUndefChecker.o: DeclNodes.inc.h -ReturnUndefChecker.o: DiagnosticCommonKinds.inc.h -ReturnUndefChecker.o: StmtNodes.inc.h -ReturnUndefChecker.po: AttrList.inc.h -ReturnUndefChecker.po: Attrs.inc.h -ReturnUndefChecker.po: Checkers.inc.h -ReturnUndefChecker.po: CommentCommandList.inc.h -ReturnUndefChecker.po: DeclNodes.inc.h -ReturnUndefChecker.po: DiagnosticCommonKinds.inc.h -ReturnUndefChecker.po: StmtNodes.inc.h -SimpleStreamChecker.o: AttrList.inc.h -SimpleStreamChecker.o: Attrs.inc.h -SimpleStreamChecker.o: Checkers.inc.h -SimpleStreamChecker.o: CommentCommandList.inc.h -SimpleStreamChecker.o: DeclNodes.inc.h -SimpleStreamChecker.o: DiagnosticCommonKinds.inc.h -SimpleStreamChecker.o: StmtNodes.inc.h -SimpleStreamChecker.po: AttrList.inc.h -SimpleStreamChecker.po: Attrs.inc.h -SimpleStreamChecker.po: Checkers.inc.h -SimpleStreamChecker.po: CommentCommandList.inc.h -SimpleStreamChecker.po: DeclNodes.inc.h -SimpleStreamChecker.po: DiagnosticCommonKinds.inc.h -SimpleStreamChecker.po: StmtNodes.inc.h -StackAddrEscapeChecker.o: Checkers.inc.h -StackAddrEscapeChecker.o: CommentCommandList.inc.h -StackAddrEscapeChecker.o: DeclNodes.inc.h -StackAddrEscapeChecker.o: DiagnosticCommonKinds.inc.h -StackAddrEscapeChecker.o: StmtNodes.inc.h -StackAddrEscapeChecker.po: Checkers.inc.h -StackAddrEscapeChecker.po: CommentCommandList.inc.h -StackAddrEscapeChecker.po: DeclNodes.inc.h -StackAddrEscapeChecker.po: DiagnosticCommonKinds.inc.h -StackAddrEscapeChecker.po: StmtNodes.inc.h -StreamChecker.o: Checkers.inc.h -StreamChecker.o: CommentCommandList.inc.h -StreamChecker.o: DeclNodes.inc.h -StreamChecker.o: DiagnosticCommonKinds.inc.h -StreamChecker.o: StmtNodes.inc.h -StreamChecker.po: Checkers.inc.h -StreamChecker.po: CommentCommandList.inc.h -StreamChecker.po: DeclNodes.inc.h -StreamChecker.po: DiagnosticCommonKinds.inc.h -StreamChecker.po: StmtNodes.inc.h -TaintTesterChecker.o: Checkers.inc.h -TaintTesterChecker.o: CommentCommandList.inc.h -TaintTesterChecker.o: DeclNodes.inc.h -TaintTesterChecker.o: DiagnosticCommonKinds.inc.h -TaintTesterChecker.o: StmtNodes.inc.h -TaintTesterChecker.po: Checkers.inc.h -TaintTesterChecker.po: CommentCommandList.inc.h -TaintTesterChecker.po: DeclNodes.inc.h -TaintTesterChecker.po: DiagnosticCommonKinds.inc.h -TaintTesterChecker.po: StmtNodes.inc.h -TestAfterDivZeroChecker.o: AttrList.inc.h -TestAfterDivZeroChecker.o: Attrs.inc.h -TestAfterDivZeroChecker.o: Checkers.inc.h -TestAfterDivZeroChecker.o: CommentCommandList.inc.h -TestAfterDivZeroChecker.o: DeclNodes.inc.h -TestAfterDivZeroChecker.o: DiagnosticCommonKinds.inc.h -TestAfterDivZeroChecker.o: StmtNodes.inc.h -TestAfterDivZeroChecker.po: AttrList.inc.h -TestAfterDivZeroChecker.po: Attrs.inc.h -TestAfterDivZeroChecker.po: Checkers.inc.h -TestAfterDivZeroChecker.po: CommentCommandList.inc.h -TestAfterDivZeroChecker.po: DeclNodes.inc.h -TestAfterDivZeroChecker.po: DiagnosticCommonKinds.inc.h -TestAfterDivZeroChecker.po: StmtNodes.inc.h -TraversalChecker.o: AttrList.inc.h -TraversalChecker.o: Attrs.inc.h -TraversalChecker.o: Checkers.inc.h -TraversalChecker.o: CommentCommandList.inc.h -TraversalChecker.o: DeclNodes.inc.h -TraversalChecker.o: DiagnosticCommonKinds.inc.h -TraversalChecker.o: StmtNodes.inc.h -TraversalChecker.po: AttrList.inc.h -TraversalChecker.po: Attrs.inc.h -TraversalChecker.po: Checkers.inc.h -TraversalChecker.po: CommentCommandList.inc.h -TraversalChecker.po: DeclNodes.inc.h -TraversalChecker.po: DiagnosticCommonKinds.inc.h -TraversalChecker.po: StmtNodes.inc.h -UndefBranchChecker.o: Checkers.inc.h -UndefBranchChecker.o: CommentCommandList.inc.h -UndefBranchChecker.o: DeclNodes.inc.h -UndefBranchChecker.o: DiagnosticCommonKinds.inc.h -UndefBranchChecker.o: StmtNodes.inc.h -UndefBranchChecker.po: Checkers.inc.h -UndefBranchChecker.po: CommentCommandList.inc.h -UndefBranchChecker.po: DeclNodes.inc.h -UndefBranchChecker.po: DiagnosticCommonKinds.inc.h -UndefBranchChecker.po: StmtNodes.inc.h -UndefCapturedBlockVarChecker.o: AttrList.inc.h -UndefCapturedBlockVarChecker.o: Attrs.inc.h -UndefCapturedBlockVarChecker.o: Checkers.inc.h -UndefCapturedBlockVarChecker.o: CommentCommandList.inc.h -UndefCapturedBlockVarChecker.o: DeclNodes.inc.h -UndefCapturedBlockVarChecker.o: DiagnosticCommonKinds.inc.h -UndefCapturedBlockVarChecker.o: StmtNodes.inc.h -UndefCapturedBlockVarChecker.po: AttrList.inc.h -UndefCapturedBlockVarChecker.po: Attrs.inc.h -UndefCapturedBlockVarChecker.po: Checkers.inc.h -UndefCapturedBlockVarChecker.po: CommentCommandList.inc.h -UndefCapturedBlockVarChecker.po: DeclNodes.inc.h -UndefCapturedBlockVarChecker.po: DiagnosticCommonKinds.inc.h -UndefCapturedBlockVarChecker.po: StmtNodes.inc.h -UndefResultChecker.o: Checkers.inc.h -UndefResultChecker.o: CommentCommandList.inc.h -UndefResultChecker.o: DeclNodes.inc.h -UndefResultChecker.o: DiagnosticCommonKinds.inc.h -UndefResultChecker.o: StmtNodes.inc.h -UndefResultChecker.po: Checkers.inc.h -UndefResultChecker.po: CommentCommandList.inc.h -UndefResultChecker.po: DeclNodes.inc.h -UndefResultChecker.po: DiagnosticCommonKinds.inc.h -UndefResultChecker.po: StmtNodes.inc.h -UndefinedArraySubscriptChecker.o: AttrList.inc.h -UndefinedArraySubscriptChecker.o: Attrs.inc.h -UndefinedArraySubscriptChecker.o: Checkers.inc.h -UndefinedArraySubscriptChecker.o: CommentCommandList.inc.h -UndefinedArraySubscriptChecker.o: DeclNodes.inc.h -UndefinedArraySubscriptChecker.o: DiagnosticCommonKinds.inc.h -UndefinedArraySubscriptChecker.o: StmtNodes.inc.h -UndefinedArraySubscriptChecker.po: AttrList.inc.h -UndefinedArraySubscriptChecker.po: Attrs.inc.h -UndefinedArraySubscriptChecker.po: Checkers.inc.h -UndefinedArraySubscriptChecker.po: CommentCommandList.inc.h -UndefinedArraySubscriptChecker.po: DeclNodes.inc.h -UndefinedArraySubscriptChecker.po: DiagnosticCommonKinds.inc.h -UndefinedArraySubscriptChecker.po: StmtNodes.inc.h -UndefinedAssignmentChecker.o: Checkers.inc.h -UndefinedAssignmentChecker.o: CommentCommandList.inc.h -UndefinedAssignmentChecker.o: DeclNodes.inc.h -UndefinedAssignmentChecker.o: DiagnosticCommonKinds.inc.h -UndefinedAssignmentChecker.o: StmtNodes.inc.h -UndefinedAssignmentChecker.po: Checkers.inc.h -UndefinedAssignmentChecker.po: CommentCommandList.inc.h -UndefinedAssignmentChecker.po: DeclNodes.inc.h -UndefinedAssignmentChecker.po: DiagnosticCommonKinds.inc.h -UndefinedAssignmentChecker.po: StmtNodes.inc.h -UnixAPIChecker.o: Checkers.inc.h -UnixAPIChecker.o: CommentCommandList.inc.h -UnixAPIChecker.o: DeclNodes.inc.h -UnixAPIChecker.o: DiagnosticCommonKinds.inc.h -UnixAPIChecker.o: StmtNodes.inc.h -UnixAPIChecker.po: Checkers.inc.h -UnixAPIChecker.po: CommentCommandList.inc.h -UnixAPIChecker.po: DeclNodes.inc.h -UnixAPIChecker.po: DiagnosticCommonKinds.inc.h -UnixAPIChecker.po: StmtNodes.inc.h -UnreachableCodeChecker.o: Checkers.inc.h -UnreachableCodeChecker.o: CommentCommandList.inc.h -UnreachableCodeChecker.o: DeclNodes.inc.h -UnreachableCodeChecker.o: DiagnosticCommonKinds.inc.h -UnreachableCodeChecker.o: StmtNodes.inc.h -UnreachableCodeChecker.po: Checkers.inc.h -UnreachableCodeChecker.po: CommentCommandList.inc.h -UnreachableCodeChecker.po: DeclNodes.inc.h -UnreachableCodeChecker.po: DiagnosticCommonKinds.inc.h -UnreachableCodeChecker.po: StmtNodes.inc.h -VLASizeChecker.o: Checkers.inc.h -VLASizeChecker.o: CommentCommandList.inc.h -VLASizeChecker.o: DeclNodes.inc.h -VLASizeChecker.o: DiagnosticCommonKinds.inc.h -VLASizeChecker.o: StmtNodes.inc.h -VLASizeChecker.po: Checkers.inc.h -VLASizeChecker.po: CommentCommandList.inc.h -VLASizeChecker.po: DeclNodes.inc.h -VLASizeChecker.po: DiagnosticCommonKinds.inc.h -VLASizeChecker.po: StmtNodes.inc.h -VirtualCallChecker.o: AttrList.inc.h -VirtualCallChecker.o: Attrs.inc.h -VirtualCallChecker.o: Checkers.inc.h -VirtualCallChecker.o: CommentCommandList.inc.h -VirtualCallChecker.o: DeclNodes.inc.h -VirtualCallChecker.o: DiagnosticCommonKinds.inc.h -VirtualCallChecker.o: StmtNodes.inc.h -VirtualCallChecker.po: AttrList.inc.h -VirtualCallChecker.po: Attrs.inc.h -VirtualCallChecker.po: Checkers.inc.h -VirtualCallChecker.po: CommentCommandList.inc.h -VirtualCallChecker.po: DeclNodes.inc.h -VirtualCallChecker.po: DiagnosticCommonKinds.inc.h -VirtualCallChecker.po: StmtNodes.inc.h .endif diff --git a/lib/clang/libclangstaticanalyzercore/Makefile.depend b/lib/clang/libclangstaticanalyzercore/Makefile.depend index 5dfb2ffb..264ede1 100644 --- a/lib/clang/libclangstaticanalyzercore/Makefile.depend +++ b/lib/clang/libclangstaticanalyzercore/Makefile.depend @@ -13,330 +13,4 @@ DIRDEPS = \ .if ${DEP_RELDIR} == ${_DEP_RELDIR} # local dependencies - needed for -jN in clean tree -AnalysisManager.o: CommentCommandList.inc.h -AnalysisManager.o: DeclNodes.inc.h -AnalysisManager.o: DiagnosticCommonKinds.inc.h -AnalysisManager.o: StmtNodes.inc.h -AnalysisManager.po: CommentCommandList.inc.h -AnalysisManager.po: DeclNodes.inc.h -AnalysisManager.po: DiagnosticCommonKinds.inc.h -AnalysisManager.po: StmtNodes.inc.h -AnalyzerOptions.o: CommentCommandList.inc.h -AnalyzerOptions.o: DeclNodes.inc.h -AnalyzerOptions.o: DiagnosticCommonKinds.inc.h -AnalyzerOptions.o: StmtNodes.inc.h -AnalyzerOptions.po: CommentCommandList.inc.h -AnalyzerOptions.po: DeclNodes.inc.h -AnalyzerOptions.po: DiagnosticCommonKinds.inc.h -AnalyzerOptions.po: StmtNodes.inc.h -BasicValueFactory.o: CommentCommandList.inc.h -BasicValueFactory.o: DeclNodes.inc.h -BasicValueFactory.o: DiagnosticCommonKinds.inc.h -BasicValueFactory.o: StmtNodes.inc.h -BasicValueFactory.po: CommentCommandList.inc.h -BasicValueFactory.po: DeclNodes.inc.h -BasicValueFactory.po: DiagnosticCommonKinds.inc.h -BasicValueFactory.po: StmtNodes.inc.h -BugReporter.o: CommentCommandList.inc.h -BugReporter.o: DeclNodes.inc.h -BugReporter.o: DiagnosticCommonKinds.inc.h -BugReporter.o: StmtNodes.inc.h -BugReporter.po: CommentCommandList.inc.h -BugReporter.po: DeclNodes.inc.h -BugReporter.po: DiagnosticCommonKinds.inc.h -BugReporter.po: StmtNodes.inc.h -BugReporterVisitors.o: AttrList.inc.h -BugReporterVisitors.o: Attrs.inc.h -BugReporterVisitors.o: CommentCommandList.inc.h -BugReporterVisitors.o: DeclNodes.inc.h -BugReporterVisitors.o: DiagnosticCommonKinds.inc.h -BugReporterVisitors.o: StmtNodes.inc.h -BugReporterVisitors.po: AttrList.inc.h -BugReporterVisitors.po: Attrs.inc.h -BugReporterVisitors.po: CommentCommandList.inc.h -BugReporterVisitors.po: DeclNodes.inc.h -BugReporterVisitors.po: DiagnosticCommonKinds.inc.h -BugReporterVisitors.po: StmtNodes.inc.h -CallEvent.o: AttrList.inc.h -CallEvent.o: Attrs.inc.h -CallEvent.o: CommentCommandList.inc.h -CallEvent.o: DeclNodes.inc.h -CallEvent.o: DiagnosticCommonKinds.inc.h -CallEvent.o: StmtNodes.inc.h -CallEvent.po: AttrList.inc.h -CallEvent.po: Attrs.inc.h -CallEvent.po: CommentCommandList.inc.h -CallEvent.po: DeclNodes.inc.h -CallEvent.po: DiagnosticCommonKinds.inc.h -CallEvent.po: StmtNodes.inc.h -Checker.o: CommentCommandList.inc.h -Checker.o: DeclNodes.inc.h -Checker.o: DiagnosticCommonKinds.inc.h -Checker.o: StmtNodes.inc.h -Checker.po: CommentCommandList.inc.h -Checker.po: DeclNodes.inc.h -Checker.po: DiagnosticCommonKinds.inc.h -Checker.po: StmtNodes.inc.h -CheckerContext.o: CommentCommandList.inc.h -CheckerContext.o: DeclNodes.inc.h -CheckerContext.o: DiagnosticCommonKinds.inc.h -CheckerContext.o: StmtNodes.inc.h -CheckerContext.po: CommentCommandList.inc.h -CheckerContext.po: DeclNodes.inc.h -CheckerContext.po: DiagnosticCommonKinds.inc.h -CheckerContext.po: StmtNodes.inc.h -CheckerHelpers.o: DeclNodes.inc.h -CheckerHelpers.o: DiagnosticCommonKinds.inc.h -CheckerHelpers.o: StmtNodes.inc.h -CheckerHelpers.po: DeclNodes.inc.h -CheckerHelpers.po: DiagnosticCommonKinds.inc.h -CheckerHelpers.po: StmtNodes.inc.h -CheckerManager.o: AttrList.inc.h -CheckerManager.o: Attrs.inc.h -CheckerManager.o: CommentCommandList.inc.h -CheckerManager.o: DeclNodes.inc.h -CheckerManager.o: DiagnosticCommonKinds.inc.h -CheckerManager.o: StmtNodes.inc.h -CheckerManager.po: AttrList.inc.h -CheckerManager.po: Attrs.inc.h -CheckerManager.po: CommentCommandList.inc.h -CheckerManager.po: DeclNodes.inc.h -CheckerManager.po: DiagnosticCommonKinds.inc.h -CheckerManager.po: StmtNodes.inc.h -CheckerRegistry.o: CommentCommandList.inc.h -CheckerRegistry.o: DeclNodes.inc.h -CheckerRegistry.o: DiagnosticCommonKinds.inc.h -CheckerRegistry.o: DiagnosticFrontendKinds.inc.h -CheckerRegistry.o: StmtNodes.inc.h -CheckerRegistry.po: CommentCommandList.inc.h -CheckerRegistry.po: DeclNodes.inc.h -CheckerRegistry.po: DiagnosticCommonKinds.inc.h -CheckerRegistry.po: DiagnosticFrontendKinds.inc.h -CheckerRegistry.po: StmtNodes.inc.h -ConstraintManager.o: CommentCommandList.inc.h -ConstraintManager.o: DeclNodes.inc.h -ConstraintManager.o: DiagnosticCommonKinds.inc.h -ConstraintManager.o: StmtNodes.inc.h -ConstraintManager.po: CommentCommandList.inc.h -ConstraintManager.po: DeclNodes.inc.h -ConstraintManager.po: DiagnosticCommonKinds.inc.h -ConstraintManager.po: StmtNodes.inc.h -CoreEngine.o: CommentCommandList.inc.h -CoreEngine.o: DeclNodes.inc.h -CoreEngine.o: DiagnosticCommonKinds.inc.h -CoreEngine.o: StmtNodes.inc.h -CoreEngine.po: CommentCommandList.inc.h -CoreEngine.po: DeclNodes.inc.h -CoreEngine.po: DiagnosticCommonKinds.inc.h -CoreEngine.po: StmtNodes.inc.h -Environment.o: CommentCommandList.inc.h -Environment.o: DeclNodes.inc.h -Environment.o: DiagnosticCommonKinds.inc.h -Environment.o: StmtNodes.inc.h -Environment.po: CommentCommandList.inc.h -Environment.po: DeclNodes.inc.h -Environment.po: DiagnosticCommonKinds.inc.h -Environment.po: StmtNodes.inc.h -ExplodedGraph.o: AttrList.inc.h -ExplodedGraph.o: Attrs.inc.h -ExplodedGraph.o: CommentCommandList.inc.h -ExplodedGraph.o: DeclNodes.inc.h -ExplodedGraph.o: DiagnosticCommonKinds.inc.h -ExplodedGraph.o: StmtNodes.inc.h -ExplodedGraph.po: AttrList.inc.h -ExplodedGraph.po: Attrs.inc.h -ExplodedGraph.po: CommentCommandList.inc.h -ExplodedGraph.po: DeclNodes.inc.h -ExplodedGraph.po: DiagnosticCommonKinds.inc.h -ExplodedGraph.po: StmtNodes.inc.h -ExprEngine.o: AttrList.inc.h -ExprEngine.o: Attrs.inc.h -ExprEngine.o: CommentCommandList.inc.h -ExprEngine.o: DeclNodes.inc.h -ExprEngine.o: DiagnosticCommonKinds.inc.h -ExprEngine.o: StmtNodes.inc.h -ExprEngine.po: AttrList.inc.h -ExprEngine.po: Attrs.inc.h -ExprEngine.po: CommentCommandList.inc.h -ExprEngine.po: DeclNodes.inc.h -ExprEngine.po: DiagnosticCommonKinds.inc.h -ExprEngine.po: StmtNodes.inc.h -ExprEngineC.o: CommentCommandList.inc.h -ExprEngineC.o: DeclNodes.inc.h -ExprEngineC.o: DiagnosticCommonKinds.inc.h -ExprEngineC.o: StmtNodes.inc.h -ExprEngineC.po: CommentCommandList.inc.h -ExprEngineC.po: DeclNodes.inc.h -ExprEngineC.po: DiagnosticCommonKinds.inc.h -ExprEngineC.po: StmtNodes.inc.h -ExprEngineCXX.o: AttrList.inc.h -ExprEngineCXX.o: Attrs.inc.h -ExprEngineCXX.o: CommentCommandList.inc.h -ExprEngineCXX.o: DeclNodes.inc.h -ExprEngineCXX.o: DiagnosticCommonKinds.inc.h -ExprEngineCXX.o: StmtNodes.inc.h -ExprEngineCXX.po: AttrList.inc.h -ExprEngineCXX.po: Attrs.inc.h -ExprEngineCXX.po: CommentCommandList.inc.h -ExprEngineCXX.po: DeclNodes.inc.h -ExprEngineCXX.po: DiagnosticCommonKinds.inc.h -ExprEngineCXX.po: StmtNodes.inc.h -ExprEngineCallAndReturn.o: AttrList.inc.h -ExprEngineCallAndReturn.o: Attrs.inc.h -ExprEngineCallAndReturn.o: CommentCommandList.inc.h -ExprEngineCallAndReturn.o: DeclNodes.inc.h -ExprEngineCallAndReturn.o: DiagnosticCommonKinds.inc.h -ExprEngineCallAndReturn.o: StmtNodes.inc.h -ExprEngineCallAndReturn.po: AttrList.inc.h -ExprEngineCallAndReturn.po: Attrs.inc.h -ExprEngineCallAndReturn.po: CommentCommandList.inc.h -ExprEngineCallAndReturn.po: DeclNodes.inc.h -ExprEngineCallAndReturn.po: DiagnosticCommonKinds.inc.h -ExprEngineCallAndReturn.po: StmtNodes.inc.h -ExprEngineObjC.o: AttrList.inc.h -ExprEngineObjC.o: Attrs.inc.h -ExprEngineObjC.o: CommentCommandList.inc.h -ExprEngineObjC.o: DeclNodes.inc.h -ExprEngineObjC.o: DiagnosticCommonKinds.inc.h -ExprEngineObjC.o: StmtNodes.inc.h -ExprEngineObjC.po: AttrList.inc.h -ExprEngineObjC.po: Attrs.inc.h -ExprEngineObjC.po: CommentCommandList.inc.h -ExprEngineObjC.po: DeclNodes.inc.h -ExprEngineObjC.po: DiagnosticCommonKinds.inc.h -ExprEngineObjC.po: StmtNodes.inc.h -HTMLDiagnostics.o: CommentCommandList.inc.h -HTMLDiagnostics.o: DeclNodes.inc.h -HTMLDiagnostics.o: DiagnosticCommonKinds.inc.h -HTMLDiagnostics.o: StmtNodes.inc.h -HTMLDiagnostics.po: CommentCommandList.inc.h -HTMLDiagnostics.po: DeclNodes.inc.h -HTMLDiagnostics.po: DiagnosticCommonKinds.inc.h -HTMLDiagnostics.po: StmtNodes.inc.h -MemRegion.o: AttrList.inc.h -MemRegion.o: Attrs.inc.h -MemRegion.o: CommentCommandList.inc.h -MemRegion.o: DeclNodes.inc.h -MemRegion.o: DiagnosticCommonKinds.inc.h -MemRegion.o: StmtNodes.inc.h -MemRegion.po: AttrList.inc.h -MemRegion.po: Attrs.inc.h -MemRegion.po: CommentCommandList.inc.h -MemRegion.po: DeclNodes.inc.h -MemRegion.po: DiagnosticCommonKinds.inc.h -MemRegion.po: StmtNodes.inc.h -PathDiagnostic.o: AttrList.inc.h -PathDiagnostic.o: Attrs.inc.h -PathDiagnostic.o: CommentCommandList.inc.h -PathDiagnostic.o: DeclNodes.inc.h -PathDiagnostic.o: DiagnosticCommonKinds.inc.h -PathDiagnostic.o: StmtNodes.inc.h -PathDiagnostic.po: AttrList.inc.h -PathDiagnostic.po: Attrs.inc.h -PathDiagnostic.po: CommentCommandList.inc.h -PathDiagnostic.po: DeclNodes.inc.h -PathDiagnostic.po: DiagnosticCommonKinds.inc.h -PathDiagnostic.po: StmtNodes.inc.h -PlistDiagnostics.o: DeclNodes.inc.h -PlistDiagnostics.o: DiagnosticCommonKinds.inc.h -PlistDiagnostics.o: StmtNodes.inc.h -PlistDiagnostics.po: DeclNodes.inc.h -PlistDiagnostics.po: DiagnosticCommonKinds.inc.h -PlistDiagnostics.po: StmtNodes.inc.h -ProgramState.o: AttrList.inc.h -ProgramState.o: Attrs.inc.h -ProgramState.o: CommentCommandList.inc.h -ProgramState.o: DeclNodes.inc.h -ProgramState.o: DiagnosticCommonKinds.inc.h -ProgramState.o: StmtNodes.inc.h -ProgramState.po: AttrList.inc.h -ProgramState.po: Attrs.inc.h -ProgramState.po: CommentCommandList.inc.h -ProgramState.po: DeclNodes.inc.h -ProgramState.po: DiagnosticCommonKinds.inc.h -ProgramState.po: StmtNodes.inc.h -RangeConstraintManager.o: CommentCommandList.inc.h -RangeConstraintManager.o: DeclNodes.inc.h -RangeConstraintManager.o: DiagnosticCommonKinds.inc.h -RangeConstraintManager.o: StmtNodes.inc.h -RangeConstraintManager.po: CommentCommandList.inc.h -RangeConstraintManager.po: DeclNodes.inc.h -RangeConstraintManager.po: DiagnosticCommonKinds.inc.h -RangeConstraintManager.po: StmtNodes.inc.h -RegionStore.o: AttrList.inc.h -RegionStore.o: Attrs.inc.h -RegionStore.o: CommentCommandList.inc.h -RegionStore.o: DeclNodes.inc.h -RegionStore.o: DiagnosticCommonKinds.inc.h -RegionStore.o: StmtNodes.inc.h -RegionStore.po: AttrList.inc.h -RegionStore.po: Attrs.inc.h -RegionStore.po: CommentCommandList.inc.h -RegionStore.po: DeclNodes.inc.h -RegionStore.po: DiagnosticCommonKinds.inc.h -RegionStore.po: StmtNodes.inc.h -SValBuilder.o: AttrList.inc.h -SValBuilder.o: Attrs.inc.h -SValBuilder.o: CommentCommandList.inc.h -SValBuilder.o: DeclNodes.inc.h -SValBuilder.o: DiagnosticCommonKinds.inc.h -SValBuilder.o: StmtNodes.inc.h -SValBuilder.po: AttrList.inc.h -SValBuilder.po: Attrs.inc.h -SValBuilder.po: CommentCommandList.inc.h -SValBuilder.po: DeclNodes.inc.h -SValBuilder.po: DiagnosticCommonKinds.inc.h -SValBuilder.po: StmtNodes.inc.h -SVals.o: CommentCommandList.inc.h -SVals.o: DeclNodes.inc.h -SVals.o: DiagnosticCommonKinds.inc.h -SVals.o: StmtNodes.inc.h -SVals.po: CommentCommandList.inc.h -SVals.po: DeclNodes.inc.h -SVals.po: DiagnosticCommonKinds.inc.h -SVals.po: StmtNodes.inc.h -SimpleConstraintManager.o: CommentCommandList.inc.h -SimpleConstraintManager.o: DeclNodes.inc.h -SimpleConstraintManager.o: DiagnosticCommonKinds.inc.h -SimpleConstraintManager.o: StmtNodes.inc.h -SimpleConstraintManager.po: CommentCommandList.inc.h -SimpleConstraintManager.po: DeclNodes.inc.h -SimpleConstraintManager.po: DiagnosticCommonKinds.inc.h -SimpleConstraintManager.po: StmtNodes.inc.h -SimpleSValBuilder.o: CommentCommandList.inc.h -SimpleSValBuilder.o: DeclNodes.inc.h -SimpleSValBuilder.o: DiagnosticCommonKinds.inc.h -SimpleSValBuilder.o: StmtNodes.inc.h -SimpleSValBuilder.po: CommentCommandList.inc.h -SimpleSValBuilder.po: DeclNodes.inc.h -SimpleSValBuilder.po: DiagnosticCommonKinds.inc.h -SimpleSValBuilder.po: StmtNodes.inc.h -Store.o: AttrList.inc.h -Store.o: Attrs.inc.h -Store.o: CommentCommandList.inc.h -Store.o: DeclNodes.inc.h -Store.o: DiagnosticCommonKinds.inc.h -Store.o: StmtNodes.inc.h -Store.po: AttrList.inc.h -Store.po: Attrs.inc.h -Store.po: CommentCommandList.inc.h -Store.po: DeclNodes.inc.h -Store.po: DiagnosticCommonKinds.inc.h -Store.po: StmtNodes.inc.h -SubEngine.o: CommentCommandList.inc.h -SubEngine.o: DeclNodes.inc.h -SubEngine.o: DiagnosticCommonKinds.inc.h -SubEngine.o: StmtNodes.inc.h -SubEngine.po: CommentCommandList.inc.h -SubEngine.po: DeclNodes.inc.h -SubEngine.po: DiagnosticCommonKinds.inc.h -SubEngine.po: StmtNodes.inc.h -SymbolManager.o: CommentCommandList.inc.h -SymbolManager.o: DeclNodes.inc.h -SymbolManager.o: DiagnosticCommonKinds.inc.h -SymbolManager.o: StmtNodes.inc.h -SymbolManager.po: CommentCommandList.inc.h -SymbolManager.po: DeclNodes.inc.h -SymbolManager.po: DiagnosticCommonKinds.inc.h -SymbolManager.po: StmtNodes.inc.h .endif diff --git a/lib/clang/libclangstaticanalyzerfrontend/Makefile.depend b/lib/clang/libclangstaticanalyzerfrontend/Makefile.depend index 77ea2dd..264ede1 100644 --- a/lib/clang/libclangstaticanalyzerfrontend/Makefile.depend +++ b/lib/clang/libclangstaticanalyzerfrontend/Makefile.depend @@ -13,54 +13,4 @@ DIRDEPS = \ .if ${DEP_RELDIR} == ${_DEP_RELDIR} # local dependencies - needed for -jN in clean tree -AnalysisConsumer.o: AttrList.inc.h -AnalysisConsumer.o: AttrVisitor.inc.h -AnalysisConsumer.o: Attrs.inc.h -AnalysisConsumer.o: CommentCommandList.inc.h -AnalysisConsumer.o: DeclNodes.inc.h -AnalysisConsumer.o: DiagnosticCommonKinds.inc.h -AnalysisConsumer.o: StmtNodes.inc.h -AnalysisConsumer.po: AttrList.inc.h -AnalysisConsumer.po: AttrVisitor.inc.h -AnalysisConsumer.po: Attrs.inc.h -AnalysisConsumer.po: CommentCommandList.inc.h -AnalysisConsumer.po: DeclNodes.inc.h -AnalysisConsumer.po: DiagnosticCommonKinds.inc.h -AnalysisConsumer.po: StmtNodes.inc.h -CheckerRegistration.o: CommentCommandList.inc.h -CheckerRegistration.o: DeclNodes.inc.h -CheckerRegistration.o: DiagnosticCommonKinds.inc.h -CheckerRegistration.o: DiagnosticFrontendKinds.inc.h -CheckerRegistration.o: StmtNodes.inc.h -CheckerRegistration.po: CommentCommandList.inc.h -CheckerRegistration.po: DeclNodes.inc.h -CheckerRegistration.po: DiagnosticCommonKinds.inc.h -CheckerRegistration.po: DiagnosticFrontendKinds.inc.h -CheckerRegistration.po: StmtNodes.inc.h -FrontendActions.o: CommentCommandList.inc.h -FrontendActions.o: DeclNodes.inc.h -FrontendActions.o: DiagnosticCommonKinds.inc.h -FrontendActions.o: StmtNodes.inc.h -FrontendActions.po: CommentCommandList.inc.h -FrontendActions.po: DeclNodes.inc.h -FrontendActions.po: DiagnosticCommonKinds.inc.h -FrontendActions.po: StmtNodes.inc.h -ModelConsumer.o: DeclNodes.inc.h -ModelConsumer.o: DiagnosticCommonKinds.inc.h -ModelConsumer.po: DeclNodes.inc.h -ModelConsumer.po: DiagnosticCommonKinds.inc.h -ModelInjector.o: AttrList.inc.h -ModelInjector.o: AttrParsedAttrList.inc.h -ModelInjector.o: Attrs.inc.h -ModelInjector.o: CommentCommandList.inc.h -ModelInjector.o: DeclNodes.inc.h -ModelInjector.o: DiagnosticCommonKinds.inc.h -ModelInjector.o: StmtNodes.inc.h -ModelInjector.po: AttrList.inc.h -ModelInjector.po: AttrParsedAttrList.inc.h -ModelInjector.po: Attrs.inc.h -ModelInjector.po: CommentCommandList.inc.h -ModelInjector.po: DeclNodes.inc.h -ModelInjector.po: DiagnosticCommonKinds.inc.h -ModelInjector.po: StmtNodes.inc.h .endif diff --git a/lib/clang/liblldbAPI/Makefile.depend b/lib/clang/liblldbAPI/Makefile.depend index b2cd7b6..264ede1 100644 --- a/lib/clang/liblldbAPI/Makefile.depend +++ b/lib/clang/liblldbAPI/Makefile.depend @@ -13,152 +13,4 @@ DIRDEPS = \ .if ${DEP_RELDIR} == ${_DEP_RELDIR} # local dependencies - needed for -jN in clean tree -SBBlock.o: DiagnosticCommonKinds.inc.h -SBBlock.po: DiagnosticCommonKinds.inc.h -SBCompileUnit.o: DiagnosticCommonKinds.inc.h -SBCompileUnit.po: DiagnosticCommonKinds.inc.h -SBDebugger.o: AttrList.inc.h -SBDebugger.o: Attrs.inc.h -SBDebugger.o: CommentCommandList.inc.h -SBDebugger.o: DeclNodes.inc.h -SBDebugger.o: DiagnosticCommonKinds.inc.h -SBDebugger.o: StmtNodes.inc.h -SBDebugger.po: AttrList.inc.h -SBDebugger.po: Attrs.inc.h -SBDebugger.po: CommentCommandList.inc.h -SBDebugger.po: DeclNodes.inc.h -SBDebugger.po: DiagnosticCommonKinds.inc.h -SBDebugger.po: StmtNodes.inc.h -SBFrame.o: DiagnosticCommonKinds.inc.h -SBFrame.po: DiagnosticCommonKinds.inc.h -SBFunction.o: DiagnosticCommonKinds.inc.h -SBFunction.po: DiagnosticCommonKinds.inc.h -SBLanguageRuntime.o: DiagnosticCommonKinds.inc.h -SBLanguageRuntime.po: DiagnosticCommonKinds.inc.h -SBModule.o: CommentCommandList.inc.h -SBModule.o: DeclNodes.inc.h -SBModule.o: DiagnosticCommonKinds.inc.h -SBModule.o: StmtNodes.inc.h -SBModule.po: CommentCommandList.inc.h -SBModule.po: DeclNodes.inc.h -SBModule.po: DiagnosticCommonKinds.inc.h -SBModule.po: StmtNodes.inc.h -SBSymbolContext.o: DiagnosticCommonKinds.inc.h -SBSymbolContext.po: DiagnosticCommonKinds.inc.h -SBTarget.o: CommentCommandList.inc.h -SBTarget.o: DeclNodes.inc.h -SBTarget.o: DiagnosticCommonKinds.inc.h -SBTarget.o: StmtNodes.inc.h -SBTarget.po: CommentCommandList.inc.h -SBTarget.po: DeclNodes.inc.h -SBTarget.po: DiagnosticCommonKinds.inc.h -SBTarget.po: StmtNodes.inc.h -SBThread.o: DiagnosticCommonKinds.inc.h -SBThread.po: DiagnosticCommonKinds.inc.h -SBThreadPlan.o: DiagnosticCommonKinds.inc.h -SBThreadPlan.po: DiagnosticCommonKinds.inc.h -SBType.o: CommentCommandList.inc.h -SBType.o: DeclNodes.inc.h -SBType.o: DiagnosticCommonKinds.inc.h -SBType.o: StmtNodes.inc.h -SBType.po: CommentCommandList.inc.h -SBType.po: DeclNodes.inc.h -SBType.po: DiagnosticCommonKinds.inc.h -SBType.po: StmtNodes.inc.h -SBTypeCategory.o: AttrList.inc.h -SBTypeCategory.o: Attrs.inc.h -SBTypeCategory.o: CommentCommandList.inc.h -SBTypeCategory.o: DeclNodes.inc.h -SBTypeCategory.o: DiagnosticCommonKinds.inc.h -SBTypeCategory.o: StmtNodes.inc.h -SBTypeCategory.po: AttrList.inc.h -SBTypeCategory.po: Attrs.inc.h -SBTypeCategory.po: CommentCommandList.inc.h -SBTypeCategory.po: DeclNodes.inc.h -SBTypeCategory.po: DiagnosticCommonKinds.inc.h -SBTypeCategory.po: StmtNodes.inc.h -SBTypeEnumMember.o: DiagnosticCommonKinds.inc.h -SBTypeEnumMember.po: DiagnosticCommonKinds.inc.h -SBTypeFilter.o: AttrList.inc.h -SBTypeFilter.o: Attrs.inc.h -SBTypeFilter.o: CommentCommandList.inc.h -SBTypeFilter.o: DeclNodes.inc.h -SBTypeFilter.o: DiagnosticCommonKinds.inc.h -SBTypeFilter.o: StmtNodes.inc.h -SBTypeFilter.po: AttrList.inc.h -SBTypeFilter.po: Attrs.inc.h -SBTypeFilter.po: CommentCommandList.inc.h -SBTypeFilter.po: DeclNodes.inc.h -SBTypeFilter.po: DiagnosticCommonKinds.inc.h -SBTypeFilter.po: StmtNodes.inc.h -SBTypeFormat.o: AttrList.inc.h -SBTypeFormat.o: Attrs.inc.h -SBTypeFormat.o: CommentCommandList.inc.h -SBTypeFormat.o: DeclNodes.inc.h -SBTypeFormat.o: DiagnosticCommonKinds.inc.h -SBTypeFormat.o: StmtNodes.inc.h -SBTypeFormat.po: AttrList.inc.h -SBTypeFormat.po: Attrs.inc.h -SBTypeFormat.po: CommentCommandList.inc.h -SBTypeFormat.po: DeclNodes.inc.h -SBTypeFormat.po: DiagnosticCommonKinds.inc.h -SBTypeFormat.po: StmtNodes.inc.h -SBTypeNameSpecifier.o: AttrList.inc.h -SBTypeNameSpecifier.o: Attrs.inc.h -SBTypeNameSpecifier.o: CommentCommandList.inc.h -SBTypeNameSpecifier.o: DeclNodes.inc.h -SBTypeNameSpecifier.o: DiagnosticCommonKinds.inc.h -SBTypeNameSpecifier.o: StmtNodes.inc.h -SBTypeNameSpecifier.po: AttrList.inc.h -SBTypeNameSpecifier.po: Attrs.inc.h -SBTypeNameSpecifier.po: CommentCommandList.inc.h -SBTypeNameSpecifier.po: DeclNodes.inc.h -SBTypeNameSpecifier.po: DiagnosticCommonKinds.inc.h -SBTypeNameSpecifier.po: StmtNodes.inc.h -SBTypeSummary.o: AttrList.inc.h -SBTypeSummary.o: Attrs.inc.h -SBTypeSummary.o: CommentCommandList.inc.h -SBTypeSummary.o: DeclNodes.inc.h -SBTypeSummary.o: DiagnosticCommonKinds.inc.h -SBTypeSummary.o: StmtNodes.inc.h -SBTypeSummary.po: AttrList.inc.h -SBTypeSummary.po: Attrs.inc.h -SBTypeSummary.po: CommentCommandList.inc.h -SBTypeSummary.po: DeclNodes.inc.h -SBTypeSummary.po: DiagnosticCommonKinds.inc.h -SBTypeSummary.po: StmtNodes.inc.h -SBTypeSynthetic.o: AttrList.inc.h -SBTypeSynthetic.o: Attrs.inc.h -SBTypeSynthetic.o: CommentCommandList.inc.h -SBTypeSynthetic.o: DeclNodes.inc.h -SBTypeSynthetic.o: DiagnosticCommonKinds.inc.h -SBTypeSynthetic.o: StmtNodes.inc.h -SBTypeSynthetic.po: AttrList.inc.h -SBTypeSynthetic.po: Attrs.inc.h -SBTypeSynthetic.po: CommentCommandList.inc.h -SBTypeSynthetic.po: DeclNodes.inc.h -SBTypeSynthetic.po: DiagnosticCommonKinds.inc.h -SBTypeSynthetic.po: StmtNodes.inc.h -SBValue.o: AttrList.inc.h -SBValue.o: Attrs.inc.h -SBValue.o: CommentCommandList.inc.h -SBValue.o: DeclNodes.inc.h -SBValue.o: DiagnosticCommonKinds.inc.h -SBValue.o: StmtNodes.inc.h -SBValue.po: AttrList.inc.h -SBValue.po: Attrs.inc.h -SBValue.po: CommentCommandList.inc.h -SBValue.po: DeclNodes.inc.h -SBValue.po: DiagnosticCommonKinds.inc.h -SBValue.po: StmtNodes.inc.h -SBWatchpoint.o: DiagnosticCommonKinds.inc.h -SBWatchpoint.po: DiagnosticCommonKinds.inc.h -SystemInitializerFull.o: CommentCommandList.inc.h -SystemInitializerFull.o: DeclNodes.inc.h -SystemInitializerFull.o: DiagnosticCommonKinds.inc.h -SystemInitializerFull.o: StmtNodes.inc.h -SystemInitializerFull.po: CommentCommandList.inc.h -SystemInitializerFull.po: DeclNodes.inc.h -SystemInitializerFull.po: DiagnosticCommonKinds.inc.h -SystemInitializerFull.po: StmtNodes.inc.h .endif diff --git a/lib/clang/liblldbBreakpoint/Makefile.depend b/lib/clang/liblldbBreakpoint/Makefile.depend index 2dfc006..264ede1 100644 --- a/lib/clang/liblldbBreakpoint/Makefile.depend +++ b/lib/clang/liblldbBreakpoint/Makefile.depend @@ -13,30 +13,4 @@ DIRDEPS = \ .if ${DEP_RELDIR} == ${_DEP_RELDIR} # local dependencies - needed for -jN in clean tree -Breakpoint.o: DiagnosticCommonKinds.inc.h -Breakpoint.po: DiagnosticCommonKinds.inc.h -BreakpointLocation.o: DiagnosticCommonKinds.inc.h -BreakpointLocation.po: DiagnosticCommonKinds.inc.h -BreakpointOptions.o: DiagnosticCommonKinds.inc.h -BreakpointOptions.po: DiagnosticCommonKinds.inc.h -BreakpointResolver.o: DiagnosticCommonKinds.inc.h -BreakpointResolver.po: DiagnosticCommonKinds.inc.h -BreakpointResolverFileLine.o: DiagnosticCommonKinds.inc.h -BreakpointResolverFileLine.po: DiagnosticCommonKinds.inc.h -BreakpointResolverFileRegex.o: DiagnosticCommonKinds.inc.h -BreakpointResolverFileRegex.po: DiagnosticCommonKinds.inc.h -BreakpointResolverName.o: DiagnosticCommonKinds.inc.h -BreakpointResolverName.po: DiagnosticCommonKinds.inc.h -Watchpoint.o: CommentCommandList.inc.h -Watchpoint.o: DeclNodes.inc.h -Watchpoint.o: DiagnosticCommonKinds.inc.h -Watchpoint.o: StmtNodes.inc.h -Watchpoint.po: CommentCommandList.inc.h -Watchpoint.po: DeclNodes.inc.h -Watchpoint.po: DiagnosticCommonKinds.inc.h -Watchpoint.po: StmtNodes.inc.h -WatchpointList.o: DiagnosticCommonKinds.inc.h -WatchpointList.po: DiagnosticCommonKinds.inc.h -WatchpointOptions.o: DiagnosticCommonKinds.inc.h -WatchpointOptions.po: DiagnosticCommonKinds.inc.h .endif diff --git a/lib/clang/liblldbCommands/Makefile.depend b/lib/clang/liblldbCommands/Makefile.depend index e1d128a..264ede1 100644 --- a/lib/clang/liblldbCommands/Makefile.depend +++ b/lib/clang/liblldbCommands/Makefile.depend @@ -13,62 +13,4 @@ DIRDEPS = \ .if ${DEP_RELDIR} == ${_DEP_RELDIR} # local dependencies - needed for -jN in clean tree -CommandCompletions.o: DiagnosticCommonKinds.inc.h -CommandCompletions.po: DiagnosticCommonKinds.inc.h -CommandObjectArgs.o: CommentCommandList.inc.h -CommandObjectArgs.o: DeclNodes.inc.h -CommandObjectArgs.o: DiagnosticCommonKinds.inc.h -CommandObjectArgs.o: StmtNodes.inc.h -CommandObjectArgs.po: CommentCommandList.inc.h -CommandObjectArgs.po: DeclNodes.inc.h -CommandObjectArgs.po: DiagnosticCommonKinds.inc.h -CommandObjectArgs.po: StmtNodes.inc.h -CommandObjectBreakpoint.o: DiagnosticCommonKinds.inc.h -CommandObjectBreakpoint.po: DiagnosticCommonKinds.inc.h -CommandObjectDisassemble.o: DiagnosticCommonKinds.inc.h -CommandObjectDisassemble.po: DiagnosticCommonKinds.inc.h -CommandObjectExpression.o: DiagnosticCommonKinds.inc.h -CommandObjectExpression.po: DiagnosticCommonKinds.inc.h -CommandObjectFrame.o: AttrList.inc.h -CommandObjectFrame.o: Attrs.inc.h -CommandObjectFrame.o: CommentCommandList.inc.h -CommandObjectFrame.o: DeclNodes.inc.h -CommandObjectFrame.o: DiagnosticCommonKinds.inc.h -CommandObjectFrame.o: StmtNodes.inc.h -CommandObjectFrame.po: AttrList.inc.h -CommandObjectFrame.po: Attrs.inc.h -CommandObjectFrame.po: CommentCommandList.inc.h -CommandObjectFrame.po: DeclNodes.inc.h -CommandObjectFrame.po: DiagnosticCommonKinds.inc.h -CommandObjectFrame.po: StmtNodes.inc.h -CommandObjectLanguage.o: DiagnosticCommonKinds.inc.h -CommandObjectLanguage.po: DiagnosticCommonKinds.inc.h -CommandObjectLog.o: DiagnosticCommonKinds.inc.h -CommandObjectLog.po: DiagnosticCommonKinds.inc.h -CommandObjectMemory.o: DeclNodes.inc.h -CommandObjectMemory.o: DiagnosticCommonKinds.inc.h -CommandObjectMemory.po: DeclNodes.inc.h -CommandObjectMemory.po: DiagnosticCommonKinds.inc.h -CommandObjectSource.o: DiagnosticCommonKinds.inc.h -CommandObjectSource.po: DiagnosticCommonKinds.inc.h -CommandObjectTarget.o: DiagnosticCommonKinds.inc.h -CommandObjectTarget.po: DiagnosticCommonKinds.inc.h -CommandObjectThread.o: DiagnosticCommonKinds.inc.h -CommandObjectThread.po: DiagnosticCommonKinds.inc.h -CommandObjectType.o: AttrList.inc.h -CommandObjectType.o: Attrs.inc.h -CommandObjectType.o: CommentCommandList.inc.h -CommandObjectType.o: DeclNodes.inc.h -CommandObjectType.o: DiagnosticCommonKinds.inc.h -CommandObjectType.o: StmtNodes.inc.h -CommandObjectType.po: AttrList.inc.h -CommandObjectType.po: Attrs.inc.h -CommandObjectType.po: CommentCommandList.inc.h -CommandObjectType.po: DeclNodes.inc.h -CommandObjectType.po: DiagnosticCommonKinds.inc.h -CommandObjectType.po: StmtNodes.inc.h -CommandObjectWatchpoint.o: DiagnosticCommonKinds.inc.h -CommandObjectWatchpoint.po: DiagnosticCommonKinds.inc.h -CommandObjectWatchpointCommand.o: DiagnosticCommonKinds.inc.h -CommandObjectWatchpointCommand.po: DiagnosticCommonKinds.inc.h .endif diff --git a/lib/clang/liblldbCore/Makefile.depend b/lib/clang/liblldbCore/Makefile.depend index f48a002..fdb79da 100644 --- a/lib/clang/liblldbCore/Makefile.depend +++ b/lib/clang/liblldbCore/Makefile.depend @@ -16,116 +16,4 @@ DIRDEPS = \ .if ${DEP_RELDIR} == ${_DEP_RELDIR} # local dependencies - needed for -jN in clean tree -Address.o: DiagnosticCommonKinds.inc.h -Address.po: DiagnosticCommonKinds.inc.h -AddressResolverFileLine.o: DiagnosticCommonKinds.inc.h -AddressResolverFileLine.po: DiagnosticCommonKinds.inc.h -AddressResolverName.o: DiagnosticCommonKinds.inc.h -AddressResolverName.po: DiagnosticCommonKinds.inc.h -DataExtractor.o: CommentCommandList.inc.h -DataExtractor.o: DeclNodes.inc.h -DataExtractor.o: DiagnosticCommonKinds.inc.h -DataExtractor.o: StmtNodes.inc.h -DataExtractor.po: CommentCommandList.inc.h -DataExtractor.po: DeclNodes.inc.h -DataExtractor.po: DiagnosticCommonKinds.inc.h -DataExtractor.po: StmtNodes.inc.h -Debugger.o: AttrList.inc.h -Debugger.o: Attrs.inc.h -Debugger.o: CommentCommandList.inc.h -Debugger.o: DeclNodes.inc.h -Debugger.o: DiagnosticCommonKinds.inc.h -Debugger.o: StmtNodes.inc.h -Debugger.po: AttrList.inc.h -Debugger.po: Attrs.inc.h -Debugger.po: CommentCommandList.inc.h -Debugger.po: DeclNodes.inc.h -Debugger.po: DiagnosticCommonKinds.inc.h -Debugger.po: StmtNodes.inc.h -Disassembler.o: DiagnosticCommonKinds.inc.h -Disassembler.po: DiagnosticCommonKinds.inc.h -FileLineResolver.o: DiagnosticCommonKinds.inc.h -FileLineResolver.po: DiagnosticCommonKinds.inc.h -FormatEntity.o: AttrList.inc.h -FormatEntity.o: Attrs.inc.h -FormatEntity.o: CommentCommandList.inc.h -FormatEntity.o: DeclNodes.inc.h -FormatEntity.o: DiagnosticCommonKinds.inc.h -FormatEntity.o: StmtNodes.inc.h -FormatEntity.po: AttrList.inc.h -FormatEntity.po: Attrs.inc.h -FormatEntity.po: CommentCommandList.inc.h -FormatEntity.po: DeclNodes.inc.h -FormatEntity.po: DiagnosticCommonKinds.inc.h -FormatEntity.po: StmtNodes.inc.h -IOHandler.o: DiagnosticCommonKinds.inc.h -IOHandler.po: DiagnosticCommonKinds.inc.h -Mangled.o: DiagnosticCommonKinds.inc.h -Mangled.po: DiagnosticCommonKinds.inc.h -Module.o: CommentCommandList.inc.h -Module.o: DeclNodes.inc.h -Module.o: DiagnosticCommonKinds.inc.h -Module.o: StmtNodes.inc.h -Module.po: CommentCommandList.inc.h -Module.po: DeclNodes.inc.h -Module.po: DiagnosticCommonKinds.inc.h -Module.po: StmtNodes.inc.h -SearchFilter.o: DiagnosticCommonKinds.inc.h -SearchFilter.po: DiagnosticCommonKinds.inc.h -SourceManager.o: DiagnosticCommonKinds.inc.h -SourceManager.po: DiagnosticCommonKinds.inc.h -Value.o: CommentCommandList.inc.h -Value.o: DeclNodes.inc.h -Value.o: DiagnosticCommonKinds.inc.h -Value.o: StmtNodes.inc.h -Value.po: CommentCommandList.inc.h -Value.po: DeclNodes.inc.h -Value.po: DiagnosticCommonKinds.inc.h -Value.po: StmtNodes.inc.h -ValueObject.o: AttrList.inc.h -ValueObject.o: Attrs.inc.h -ValueObject.o: CommentCommandList.inc.h -ValueObject.o: DeclNodes.inc.h -ValueObject.o: DiagnosticCommonKinds.inc.h -ValueObject.o: StmtNodes.inc.h -ValueObject.po: AttrList.inc.h -ValueObject.po: Attrs.inc.h -ValueObject.po: CommentCommandList.inc.h -ValueObject.po: DeclNodes.inc.h -ValueObject.po: DiagnosticCommonKinds.inc.h -ValueObject.po: StmtNodes.inc.h -ValueObjectCast.o: DiagnosticCommonKinds.inc.h -ValueObjectCast.po: DiagnosticCommonKinds.inc.h -ValueObjectChild.o: DiagnosticCommonKinds.inc.h -ValueObjectChild.po: DiagnosticCommonKinds.inc.h -ValueObjectConstResult.o: DiagnosticCommonKinds.inc.h -ValueObjectConstResult.po: DiagnosticCommonKinds.inc.h -ValueObjectConstResultChild.o: CommentCommandList.inc.h -ValueObjectConstResultChild.o: DeclNodes.inc.h -ValueObjectConstResultChild.o: DiagnosticCommonKinds.inc.h -ValueObjectConstResultChild.o: StmtNodes.inc.h -ValueObjectConstResultChild.po: CommentCommandList.inc.h -ValueObjectConstResultChild.po: DeclNodes.inc.h -ValueObjectConstResultChild.po: DiagnosticCommonKinds.inc.h -ValueObjectConstResultChild.po: StmtNodes.inc.h -ValueObjectConstResultImpl.o: DiagnosticCommonKinds.inc.h -ValueObjectConstResultImpl.po: DiagnosticCommonKinds.inc.h -ValueObjectDynamicValue.o: DiagnosticCommonKinds.inc.h -ValueObjectDynamicValue.po: DiagnosticCommonKinds.inc.h -ValueObjectList.o: DiagnosticCommonKinds.inc.h -ValueObjectList.po: DiagnosticCommonKinds.inc.h -ValueObjectMemory.o: DiagnosticCommonKinds.inc.h -ValueObjectMemory.po: DiagnosticCommonKinds.inc.h -ValueObjectRegister.o: CommentCommandList.inc.h -ValueObjectRegister.o: DeclNodes.inc.h -ValueObjectRegister.o: DiagnosticCommonKinds.inc.h -ValueObjectRegister.o: StmtNodes.inc.h -ValueObjectRegister.po: CommentCommandList.inc.h -ValueObjectRegister.po: DeclNodes.inc.h -ValueObjectRegister.po: DiagnosticCommonKinds.inc.h -ValueObjectRegister.po: StmtNodes.inc.h -ValueObjectSyntheticFilter.o: DiagnosticCommonKinds.inc.h -ValueObjectSyntheticFilter.po: DiagnosticCommonKinds.inc.h -ValueObjectVariable.o: DiagnosticCommonKinds.inc.h -ValueObjectVariable.po: DiagnosticCommonKinds.inc.h .endif diff --git a/lib/clang/liblldbDataFormatters/Makefile.depend b/lib/clang/liblldbDataFormatters/Makefile.depend index 951ee74..264ede1 100644 --- a/lib/clang/liblldbDataFormatters/Makefile.depend +++ b/lib/clang/liblldbDataFormatters/Makefile.depend @@ -13,210 +13,4 @@ DIRDEPS = \ .if ${DEP_RELDIR} == ${_DEP_RELDIR} # local dependencies - needed for -jN in clean tree -CF.o: CommentCommandList.inc.h -CF.o: DeclNodes.inc.h -CF.o: DiagnosticCommonKinds.inc.h -CF.o: StmtNodes.inc.h -CF.po: CommentCommandList.inc.h -CF.po: DeclNodes.inc.h -CF.po: DiagnosticCommonKinds.inc.h -CF.po: StmtNodes.inc.h -CXXFormatterFunctions.o: CommentCommandList.inc.h -CXXFormatterFunctions.o: DeclNodes.inc.h -CXXFormatterFunctions.o: DiagnosticCommonKinds.inc.h -CXXFormatterFunctions.o: StmtNodes.inc.h -CXXFormatterFunctions.po: CommentCommandList.inc.h -CXXFormatterFunctions.po: DeclNodes.inc.h -CXXFormatterFunctions.po: DiagnosticCommonKinds.inc.h -CXXFormatterFunctions.po: StmtNodes.inc.h -Cocoa.o: CommentCommandList.inc.h -Cocoa.o: DeclNodes.inc.h -Cocoa.o: DiagnosticCommonKinds.inc.h -Cocoa.o: StmtNodes.inc.h -Cocoa.po: CommentCommandList.inc.h -Cocoa.po: DeclNodes.inc.h -Cocoa.po: DiagnosticCommonKinds.inc.h -Cocoa.po: StmtNodes.inc.h -DataVisualization.o: AttrList.inc.h -DataVisualization.o: Attrs.inc.h -DataVisualization.o: CommentCommandList.inc.h -DataVisualization.o: DeclNodes.inc.h -DataVisualization.o: DiagnosticCommonKinds.inc.h -DataVisualization.o: StmtNodes.inc.h -DataVisualization.po: AttrList.inc.h -DataVisualization.po: Attrs.inc.h -DataVisualization.po: CommentCommandList.inc.h -DataVisualization.po: DeclNodes.inc.h -DataVisualization.po: DiagnosticCommonKinds.inc.h -DataVisualization.po: StmtNodes.inc.h -FormatCache.o: DiagnosticCommonKinds.inc.h -FormatCache.po: DiagnosticCommonKinds.inc.h -FormatClasses.o: DiagnosticCommonKinds.inc.h -FormatClasses.po: DiagnosticCommonKinds.inc.h -FormatManager.o: AttrList.inc.h -FormatManager.o: Attrs.inc.h -FormatManager.o: CommentCommandList.inc.h -FormatManager.o: DeclNodes.inc.h -FormatManager.o: DiagnosticCommonKinds.inc.h -FormatManager.o: StmtNodes.inc.h -FormatManager.po: AttrList.inc.h -FormatManager.po: Attrs.inc.h -FormatManager.po: CommentCommandList.inc.h -FormatManager.po: DeclNodes.inc.h -FormatManager.po: DiagnosticCommonKinds.inc.h -FormatManager.po: StmtNodes.inc.h -LibCxx.o: CommentCommandList.inc.h -LibCxx.o: DeclNodes.inc.h -LibCxx.o: DiagnosticCommonKinds.inc.h -LibCxx.o: StmtNodes.inc.h -LibCxx.po: CommentCommandList.inc.h -LibCxx.po: DeclNodes.inc.h -LibCxx.po: DiagnosticCommonKinds.inc.h -LibCxx.po: StmtNodes.inc.h -LibCxxInitializerList.o: CommentCommandList.inc.h -LibCxxInitializerList.o: DeclNodes.inc.h -LibCxxInitializerList.o: DiagnosticCommonKinds.inc.h -LibCxxInitializerList.o: StmtNodes.inc.h -LibCxxInitializerList.po: CommentCommandList.inc.h -LibCxxInitializerList.po: DeclNodes.inc.h -LibCxxInitializerList.po: DiagnosticCommonKinds.inc.h -LibCxxInitializerList.po: StmtNodes.inc.h -LibCxxList.o: CommentCommandList.inc.h -LibCxxList.o: DeclNodes.inc.h -LibCxxList.o: DiagnosticCommonKinds.inc.h -LibCxxList.o: StmtNodes.inc.h -LibCxxList.po: CommentCommandList.inc.h -LibCxxList.po: DeclNodes.inc.h -LibCxxList.po: DiagnosticCommonKinds.inc.h -LibCxxList.po: StmtNodes.inc.h -LibCxxMap.o: CommentCommandList.inc.h -LibCxxMap.o: DeclNodes.inc.h -LibCxxMap.o: DiagnosticCommonKinds.inc.h -LibCxxMap.o: StmtNodes.inc.h -LibCxxMap.po: CommentCommandList.inc.h -LibCxxMap.po: DeclNodes.inc.h -LibCxxMap.po: DiagnosticCommonKinds.inc.h -LibCxxMap.po: StmtNodes.inc.h -LibCxxUnorderedMap.o: CommentCommandList.inc.h -LibCxxUnorderedMap.o: DeclNodes.inc.h -LibCxxUnorderedMap.o: DiagnosticCommonKinds.inc.h -LibCxxUnorderedMap.o: StmtNodes.inc.h -LibCxxUnorderedMap.po: CommentCommandList.inc.h -LibCxxUnorderedMap.po: DeclNodes.inc.h -LibCxxUnorderedMap.po: DiagnosticCommonKinds.inc.h -LibCxxUnorderedMap.po: StmtNodes.inc.h -LibCxxVector.o: CommentCommandList.inc.h -LibCxxVector.o: DeclNodes.inc.h -LibCxxVector.o: DiagnosticCommonKinds.inc.h -LibCxxVector.o: StmtNodes.inc.h -LibCxxVector.po: CommentCommandList.inc.h -LibCxxVector.po: DeclNodes.inc.h -LibCxxVector.po: DiagnosticCommonKinds.inc.h -LibCxxVector.po: StmtNodes.inc.h -LibStdcpp.o: CommentCommandList.inc.h -LibStdcpp.o: DeclNodes.inc.h -LibStdcpp.o: DiagnosticCommonKinds.inc.h -LibStdcpp.o: StmtNodes.inc.h -LibStdcpp.po: CommentCommandList.inc.h -LibStdcpp.po: DeclNodes.inc.h -LibStdcpp.po: DiagnosticCommonKinds.inc.h -LibStdcpp.po: StmtNodes.inc.h -NSArray.o: CommentCommandList.inc.h -NSArray.o: DeclNodes.inc.h -NSArray.o: DiagnosticCommonKinds.inc.h -NSArray.o: StmtNodes.inc.h -NSArray.po: CommentCommandList.inc.h -NSArray.po: DeclNodes.inc.h -NSArray.po: DiagnosticCommonKinds.inc.h -NSArray.po: StmtNodes.inc.h -NSDictionary.o: AttrList.inc.h -NSDictionary.o: Attrs.inc.h -NSDictionary.o: CommentCommandList.inc.h -NSDictionary.o: DeclNodes.inc.h -NSDictionary.o: DiagnosticCommonKinds.inc.h -NSDictionary.o: StmtNodes.inc.h -NSDictionary.po: AttrList.inc.h -NSDictionary.po: Attrs.inc.h -NSDictionary.po: CommentCommandList.inc.h -NSDictionary.po: DeclNodes.inc.h -NSDictionary.po: DiagnosticCommonKinds.inc.h -NSDictionary.po: StmtNodes.inc.h -NSIndexPath.o: CommentCommandList.inc.h -NSIndexPath.o: DeclNodes.inc.h -NSIndexPath.o: DiagnosticCommonKinds.inc.h -NSIndexPath.o: StmtNodes.inc.h -NSIndexPath.po: CommentCommandList.inc.h -NSIndexPath.po: DeclNodes.inc.h -NSIndexPath.po: DiagnosticCommonKinds.inc.h -NSIndexPath.po: StmtNodes.inc.h -NSSet.o: CommentCommandList.inc.h -NSSet.o: DeclNodes.inc.h -NSSet.o: DiagnosticCommonKinds.inc.h -NSSet.o: StmtNodes.inc.h -NSSet.po: CommentCommandList.inc.h -NSSet.po: DeclNodes.inc.h -NSSet.po: DiagnosticCommonKinds.inc.h -NSSet.po: StmtNodes.inc.h -StringPrinter.o: DiagnosticCommonKinds.inc.h -StringPrinter.po: DiagnosticCommonKinds.inc.h -TypeCategory.o: AttrList.inc.h -TypeCategory.o: Attrs.inc.h -TypeCategory.o: CommentCommandList.inc.h -TypeCategory.o: DeclNodes.inc.h -TypeCategory.o: DiagnosticCommonKinds.inc.h -TypeCategory.o: StmtNodes.inc.h -TypeCategory.po: AttrList.inc.h -TypeCategory.po: Attrs.inc.h -TypeCategory.po: CommentCommandList.inc.h -TypeCategory.po: DeclNodes.inc.h -TypeCategory.po: DiagnosticCommonKinds.inc.h -TypeCategory.po: StmtNodes.inc.h -TypeCategoryMap.o: AttrList.inc.h -TypeCategoryMap.o: Attrs.inc.h -TypeCategoryMap.o: CommentCommandList.inc.h -TypeCategoryMap.o: DeclNodes.inc.h -TypeCategoryMap.o: DiagnosticCommonKinds.inc.h -TypeCategoryMap.o: StmtNodes.inc.h -TypeCategoryMap.po: AttrList.inc.h -TypeCategoryMap.po: Attrs.inc.h -TypeCategoryMap.po: CommentCommandList.inc.h -TypeCategoryMap.po: DeclNodes.inc.h -TypeCategoryMap.po: DiagnosticCommonKinds.inc.h -TypeCategoryMap.po: StmtNodes.inc.h -TypeFormat.o: AttrList.inc.h -TypeFormat.o: Attrs.inc.h -TypeFormat.o: CommentCommandList.inc.h -TypeFormat.o: DeclNodes.inc.h -TypeFormat.o: DiagnosticCommonKinds.inc.h -TypeFormat.o: StmtNodes.inc.h -TypeFormat.po: AttrList.inc.h -TypeFormat.po: Attrs.inc.h -TypeFormat.po: CommentCommandList.inc.h -TypeFormat.po: DeclNodes.inc.h -TypeFormat.po: DiagnosticCommonKinds.inc.h -TypeFormat.po: StmtNodes.inc.h -TypeSummary.o: DiagnosticCommonKinds.inc.h -TypeSummary.po: DiagnosticCommonKinds.inc.h -TypeSynthetic.o: DiagnosticCommonKinds.inc.h -TypeSynthetic.po: DiagnosticCommonKinds.inc.h -ValueObjectPrinter.o: AttrList.inc.h -ValueObjectPrinter.o: Attrs.inc.h -ValueObjectPrinter.o: CommentCommandList.inc.h -ValueObjectPrinter.o: DeclNodes.inc.h -ValueObjectPrinter.o: DiagnosticCommonKinds.inc.h -ValueObjectPrinter.o: StmtNodes.inc.h -ValueObjectPrinter.po: AttrList.inc.h -ValueObjectPrinter.po: Attrs.inc.h -ValueObjectPrinter.po: CommentCommandList.inc.h -ValueObjectPrinter.po: DeclNodes.inc.h -ValueObjectPrinter.po: DiagnosticCommonKinds.inc.h -ValueObjectPrinter.po: StmtNodes.inc.h -VectorType.o: CommentCommandList.inc.h -VectorType.o: DeclNodes.inc.h -VectorType.o: DiagnosticCommonKinds.inc.h -VectorType.o: StmtNodes.inc.h -VectorType.po: CommentCommandList.inc.h -VectorType.po: DeclNodes.inc.h -VectorType.po: DiagnosticCommonKinds.inc.h -VectorType.po: StmtNodes.inc.h .endif diff --git a/lib/clang/liblldbExpression/Makefile.depend b/lib/clang/liblldbExpression/Makefile.depend index 097e8f7..9a1b84e 100644 --- a/lib/clang/liblldbExpression/Makefile.depend +++ b/lib/clang/liblldbExpression/Makefile.depend @@ -14,162 +14,4 @@ DIRDEPS = \ .if ${DEP_RELDIR} == ${_DEP_RELDIR} # local dependencies - needed for -jN in clean tree -ASTDumper.o: AttrList.inc.h -ASTDumper.o: Attrs.inc.h -ASTDumper.o: DeclNodes.inc.h -ASTDumper.o: DiagnosticCommonKinds.inc.h -ASTDumper.o: StmtNodes.inc.h -ASTDumper.po: AttrList.inc.h -ASTDumper.po: Attrs.inc.h -ASTDumper.po: DeclNodes.inc.h -ASTDumper.po: DiagnosticCommonKinds.inc.h -ASTDumper.po: StmtNodes.inc.h -ASTResultSynthesizer.o: AttrList.inc.h -ASTResultSynthesizer.o: AttrParsedAttrList.inc.h -ASTResultSynthesizer.o: Attrs.inc.h -ASTResultSynthesizer.o: CommentCommandList.inc.h -ASTResultSynthesizer.o: DeclNodes.inc.h -ASTResultSynthesizer.o: DiagnosticCommonKinds.inc.h -ASTResultSynthesizer.o: DiagnosticSemaKinds.inc.h -ASTResultSynthesizer.o: StmtNodes.inc.h -ASTResultSynthesizer.po: AttrList.inc.h -ASTResultSynthesizer.po: AttrParsedAttrList.inc.h -ASTResultSynthesizer.po: Attrs.inc.h -ASTResultSynthesizer.po: CommentCommandList.inc.h -ASTResultSynthesizer.po: DeclNodes.inc.h -ASTResultSynthesizer.po: DiagnosticCommonKinds.inc.h -ASTResultSynthesizer.po: DiagnosticSemaKinds.inc.h -ASTResultSynthesizer.po: StmtNodes.inc.h -ASTStructExtractor.o: AttrList.inc.h -ASTStructExtractor.o: AttrParsedAttrList.inc.h -ASTStructExtractor.o: Attrs.inc.h -ASTStructExtractor.o: CommentCommandList.inc.h -ASTStructExtractor.o: DeclNodes.inc.h -ASTStructExtractor.o: DiagnosticCommonKinds.inc.h -ASTStructExtractor.o: StmtNodes.inc.h -ASTStructExtractor.po: AttrList.inc.h -ASTStructExtractor.po: AttrParsedAttrList.inc.h -ASTStructExtractor.po: Attrs.inc.h -ASTStructExtractor.po: CommentCommandList.inc.h -ASTStructExtractor.po: DeclNodes.inc.h -ASTStructExtractor.po: DiagnosticCommonKinds.inc.h -ASTStructExtractor.po: StmtNodes.inc.h -ClangASTSource.o: AttrList.inc.h -ClangASTSource.o: Attrs.inc.h -ClangASTSource.o: CommentCommandList.inc.h -ClangASTSource.o: DeclNodes.inc.h -ClangASTSource.o: DiagnosticCommonKinds.inc.h -ClangASTSource.o: StmtNodes.inc.h -ClangASTSource.po: AttrList.inc.h -ClangASTSource.po: Attrs.inc.h -ClangASTSource.po: CommentCommandList.inc.h -ClangASTSource.po: DeclNodes.inc.h -ClangASTSource.po: DiagnosticCommonKinds.inc.h -ClangASTSource.po: StmtNodes.inc.h -ClangExpressionDeclMap.o: AttrList.inc.h -ClangExpressionDeclMap.o: Attrs.inc.h -ClangExpressionDeclMap.o: CommentCommandList.inc.h -ClangExpressionDeclMap.o: DeclNodes.inc.h -ClangExpressionDeclMap.o: DiagnosticCommonKinds.inc.h -ClangExpressionDeclMap.o: StmtNodes.inc.h -ClangExpressionDeclMap.po: AttrList.inc.h -ClangExpressionDeclMap.po: Attrs.inc.h -ClangExpressionDeclMap.po: CommentCommandList.inc.h -ClangExpressionDeclMap.po: DeclNodes.inc.h -ClangExpressionDeclMap.po: DiagnosticCommonKinds.inc.h -ClangExpressionDeclMap.po: StmtNodes.inc.h -ClangExpressionParser.o: CommentCommandList.inc.h -ClangExpressionParser.o: DeclNodes.inc.h -ClangExpressionParser.o: DiagnosticCommonKinds.inc.h -ClangExpressionParser.o: DiagnosticFrontendKinds.inc.h -ClangExpressionParser.o: StmtNodes.inc.h -ClangExpressionParser.po: CommentCommandList.inc.h -ClangExpressionParser.po: DeclNodes.inc.h -ClangExpressionParser.po: DiagnosticCommonKinds.inc.h -ClangExpressionParser.po: DiagnosticFrontendKinds.inc.h -ClangExpressionParser.po: StmtNodes.inc.h -ClangExpressionVariable.o: CommentCommandList.inc.h -ClangExpressionVariable.o: DeclNodes.inc.h -ClangExpressionVariable.o: DiagnosticCommonKinds.inc.h -ClangExpressionVariable.o: StmtNodes.inc.h -ClangExpressionVariable.po: CommentCommandList.inc.h -ClangExpressionVariable.po: DeclNodes.inc.h -ClangExpressionVariable.po: DiagnosticCommonKinds.inc.h -ClangExpressionVariable.po: StmtNodes.inc.h -ClangFunction.o: AttrList.inc.h -ClangFunction.o: Attrs.inc.h -ClangFunction.o: CommentCommandList.inc.h -ClangFunction.o: DeclNodes.inc.h -ClangFunction.o: DiagnosticCommonKinds.inc.h -ClangFunction.o: StmtNodes.inc.h -ClangFunction.po: AttrList.inc.h -ClangFunction.po: Attrs.inc.h -ClangFunction.po: CommentCommandList.inc.h -ClangFunction.po: DeclNodes.inc.h -ClangFunction.po: DiagnosticCommonKinds.inc.h -ClangFunction.po: StmtNodes.inc.h -ClangModulesDeclVendor.o: AttrList.inc.h -ClangModulesDeclVendor.o: AttrParsedAttrList.inc.h -ClangModulesDeclVendor.o: Attrs.inc.h -ClangModulesDeclVendor.o: CommentCommandList.inc.h -ClangModulesDeclVendor.o: DeclNodes.inc.h -ClangModulesDeclVendor.o: DiagnosticCommonKinds.inc.h -ClangModulesDeclVendor.o: StmtNodes.inc.h -ClangModulesDeclVendor.po: AttrList.inc.h -ClangModulesDeclVendor.po: AttrParsedAttrList.inc.h -ClangModulesDeclVendor.po: Attrs.inc.h -ClangModulesDeclVendor.po: CommentCommandList.inc.h -ClangModulesDeclVendor.po: DeclNodes.inc.h -ClangModulesDeclVendor.po: DiagnosticCommonKinds.inc.h -ClangModulesDeclVendor.po: StmtNodes.inc.h -ClangPersistentVariables.o: DiagnosticCommonKinds.inc.h -ClangPersistentVariables.po: DiagnosticCommonKinds.inc.h -ClangUserExpression.o: AttrList.inc.h -ClangUserExpression.o: Attrs.inc.h -ClangUserExpression.o: CommentCommandList.inc.h -ClangUserExpression.o: DeclNodes.inc.h -ClangUserExpression.o: DiagnosticCommonKinds.inc.h -ClangUserExpression.o: StmtNodes.inc.h -ClangUserExpression.po: AttrList.inc.h -ClangUserExpression.po: Attrs.inc.h -ClangUserExpression.po: CommentCommandList.inc.h -ClangUserExpression.po: DeclNodes.inc.h -ClangUserExpression.po: DiagnosticCommonKinds.inc.h -ClangUserExpression.po: StmtNodes.inc.h -ClangUtilityFunction.o: DeclNodes.inc.h -ClangUtilityFunction.o: DiagnosticCommonKinds.inc.h -ClangUtilityFunction.po: DeclNodes.inc.h -ClangUtilityFunction.po: DiagnosticCommonKinds.inc.h -DWARFExpression.o: DeclNodes.inc.h -DWARFExpression.o: DiagnosticCommonKinds.inc.h -DWARFExpression.po: DeclNodes.inc.h -DWARFExpression.po: DiagnosticCommonKinds.inc.h -ExpressionSourceCode.o: DiagnosticCommonKinds.inc.h -ExpressionSourceCode.po: DiagnosticCommonKinds.inc.h -IRDynamicChecks.o: DiagnosticCommonKinds.inc.h -IRDynamicChecks.po: DiagnosticCommonKinds.inc.h -IRExecutionUnit.o: DiagnosticCommonKinds.inc.h -IRExecutionUnit.po: DiagnosticCommonKinds.inc.h -IRForTarget.o: CommentCommandList.inc.h -IRForTarget.o: DeclNodes.inc.h -IRForTarget.o: DiagnosticCommonKinds.inc.h -IRForTarget.o: Intrinsics.inc.h -IRForTarget.o: StmtNodes.inc.h -IRForTarget.po: CommentCommandList.inc.h -IRForTarget.po: DeclNodes.inc.h -IRForTarget.po: DiagnosticCommonKinds.inc.h -IRForTarget.po: Intrinsics.inc.h -IRForTarget.po: StmtNodes.inc.h -IRInterpreter.o: DiagnosticCommonKinds.inc.h -IRInterpreter.o: Intrinsics.inc.h -IRInterpreter.po: DiagnosticCommonKinds.inc.h -IRInterpreter.po: Intrinsics.inc.h -Materializer.o: CommentCommandList.inc.h -Materializer.o: DeclNodes.inc.h -Materializer.o: DiagnosticCommonKinds.inc.h -Materializer.o: StmtNodes.inc.h -Materializer.po: CommentCommandList.inc.h -Materializer.po: DeclNodes.inc.h -Materializer.po: DiagnosticCommonKinds.inc.h -Materializer.po: StmtNodes.inc.h .endif diff --git a/lib/clang/liblldbInterpreter/Makefile.depend b/lib/clang/liblldbInterpreter/Makefile.depend index c780fa8..709e511 100644 --- a/lib/clang/liblldbInterpreter/Makefile.depend +++ b/lib/clang/liblldbInterpreter/Makefile.depend @@ -14,118 +14,4 @@ DIRDEPS = \ .if ${DEP_RELDIR} == ${_DEP_RELDIR} # local dependencies - needed for -jN in clean tree -Args.o: AttrList.inc.h -Args.o: Attrs.inc.h -Args.o: CommentCommandList.inc.h -Args.o: DeclNodes.inc.h -Args.o: DiagnosticCommonKinds.inc.h -Args.o: StmtNodes.inc.h -Args.po: AttrList.inc.h -Args.po: Attrs.inc.h -Args.po: CommentCommandList.inc.h -Args.po: DeclNodes.inc.h -Args.po: DiagnosticCommonKinds.inc.h -Args.po: StmtNodes.inc.h -CommandInterpreter.o: DiagnosticCommonKinds.inc.h -CommandInterpreter.po: DiagnosticCommonKinds.inc.h -CommandObject.o: AttrList.inc.h -CommandObject.o: Attrs.inc.h -CommandObject.o: CommentCommandList.inc.h -CommandObject.o: DeclNodes.inc.h -CommandObject.o: DiagnosticCommonKinds.inc.h -CommandObject.o: StmtNodes.inc.h -CommandObject.po: AttrList.inc.h -CommandObject.po: Attrs.inc.h -CommandObject.po: CommentCommandList.inc.h -CommandObject.po: DeclNodes.inc.h -CommandObject.po: DiagnosticCommonKinds.inc.h -CommandObject.po: StmtNodes.inc.h -CommandObjectScript.o: AttrList.inc.h -CommandObjectScript.o: Attrs.inc.h -CommandObjectScript.o: CommentCommandList.inc.h -CommandObjectScript.o: DeclNodes.inc.h -CommandObjectScript.o: DiagnosticCommonKinds.inc.h -CommandObjectScript.o: StmtNodes.inc.h -CommandObjectScript.po: AttrList.inc.h -CommandObjectScript.po: Attrs.inc.h -CommandObjectScript.po: CommentCommandList.inc.h -CommandObjectScript.po: DeclNodes.inc.h -CommandObjectScript.po: DiagnosticCommonKinds.inc.h -CommandObjectScript.po: StmtNodes.inc.h -OptionGroupValueObjectDisplay.o: DiagnosticCommonKinds.inc.h -OptionGroupValueObjectDisplay.po: DiagnosticCommonKinds.inc.h -OptionGroupVariable.o: AttrList.inc.h -OptionGroupVariable.o: Attrs.inc.h -OptionGroupVariable.o: CommentCommandList.inc.h -OptionGroupVariable.o: DeclNodes.inc.h -OptionGroupVariable.o: DiagnosticCommonKinds.inc.h -OptionGroupVariable.o: StmtNodes.inc.h -OptionGroupVariable.po: AttrList.inc.h -OptionGroupVariable.po: Attrs.inc.h -OptionGroupVariable.po: CommentCommandList.inc.h -OptionGroupVariable.po: DeclNodes.inc.h -OptionGroupVariable.po: DiagnosticCommonKinds.inc.h -OptionGroupVariable.po: StmtNodes.inc.h -OptionValueArch.o: AttrList.inc.h -OptionValueArch.o: Attrs.inc.h -OptionValueArch.o: CommentCommandList.inc.h -OptionValueArch.o: DeclNodes.inc.h -OptionValueArch.o: DiagnosticCommonKinds.inc.h -OptionValueArch.o: StmtNodes.inc.h -OptionValueArch.po: AttrList.inc.h -OptionValueArch.po: Attrs.inc.h -OptionValueArch.po: CommentCommandList.inc.h -OptionValueArch.po: DeclNodes.inc.h -OptionValueArch.po: DiagnosticCommonKinds.inc.h -OptionValueArch.po: StmtNodes.inc.h -OptionValueDictionary.o: AttrList.inc.h -OptionValueDictionary.o: Attrs.inc.h -OptionValueDictionary.o: CommentCommandList.inc.h -OptionValueDictionary.o: DeclNodes.inc.h -OptionValueDictionary.o: DiagnosticCommonKinds.inc.h -OptionValueDictionary.o: StmtNodes.inc.h -OptionValueDictionary.po: AttrList.inc.h -OptionValueDictionary.po: Attrs.inc.h -OptionValueDictionary.po: CommentCommandList.inc.h -OptionValueDictionary.po: DeclNodes.inc.h -OptionValueDictionary.po: DiagnosticCommonKinds.inc.h -OptionValueDictionary.po: StmtNodes.inc.h -OptionValueFileSpec.o: AttrList.inc.h -OptionValueFileSpec.o: Attrs.inc.h -OptionValueFileSpec.o: CommentCommandList.inc.h -OptionValueFileSpec.o: DeclNodes.inc.h -OptionValueFileSpec.o: DiagnosticCommonKinds.inc.h -OptionValueFileSpec.o: StmtNodes.inc.h -OptionValueFileSpec.po: AttrList.inc.h -OptionValueFileSpec.po: Attrs.inc.h -OptionValueFileSpec.po: CommentCommandList.inc.h -OptionValueFileSpec.po: DeclNodes.inc.h -OptionValueFileSpec.po: DiagnosticCommonKinds.inc.h -OptionValueFileSpec.po: StmtNodes.inc.h -OptionValueFormat.o: AttrList.inc.h -OptionValueFormat.o: Attrs.inc.h -OptionValueFormat.o: CommentCommandList.inc.h -OptionValueFormat.o: DeclNodes.inc.h -OptionValueFormat.o: DiagnosticCommonKinds.inc.h -OptionValueFormat.o: StmtNodes.inc.h -OptionValueFormat.po: AttrList.inc.h -OptionValueFormat.po: Attrs.inc.h -OptionValueFormat.po: CommentCommandList.inc.h -OptionValueFormat.po: DeclNodes.inc.h -OptionValueFormat.po: DiagnosticCommonKinds.inc.h -OptionValueFormat.po: StmtNodes.inc.h -OptionValueLanguage.o: AttrList.inc.h -OptionValueLanguage.o: Attrs.inc.h -OptionValueLanguage.o: CommentCommandList.inc.h -OptionValueLanguage.o: DeclNodes.inc.h -OptionValueLanguage.o: DiagnosticCommonKinds.inc.h -OptionValueLanguage.o: StmtNodes.inc.h -OptionValueLanguage.po: AttrList.inc.h -OptionValueLanguage.po: Attrs.inc.h -OptionValueLanguage.po: CommentCommandList.inc.h -OptionValueLanguage.po: DeclNodes.inc.h -OptionValueLanguage.po: DiagnosticCommonKinds.inc.h -OptionValueLanguage.po: StmtNodes.inc.h -Property.o: DiagnosticCommonKinds.inc.h -Property.po: DiagnosticCommonKinds.inc.h .endif diff --git a/lib/clang/liblldbPluginABISysV_arm/Makefile.depend b/lib/clang/liblldbPluginABISysV_arm/Makefile.depend index a5e736f..264ede1 100644 --- a/lib/clang/liblldbPluginABISysV_arm/Makefile.depend +++ b/lib/clang/liblldbPluginABISysV_arm/Makefile.depend @@ -13,12 +13,4 @@ DIRDEPS = \ .if ${DEP_RELDIR} == ${_DEP_RELDIR} # local dependencies - needed for -jN in clean tree -ABISysV_arm.o: CommentCommandList.inc.h -ABISysV_arm.o: DeclNodes.inc.h -ABISysV_arm.o: DiagnosticCommonKinds.inc.h -ABISysV_arm.o: StmtNodes.inc.h -ABISysV_arm.po: CommentCommandList.inc.h -ABISysV_arm.po: DeclNodes.inc.h -ABISysV_arm.po: DiagnosticCommonKinds.inc.h -ABISysV_arm.po: StmtNodes.inc.h .endif diff --git a/lib/clang/liblldbPluginABISysV_arm64/Makefile.depend b/lib/clang/liblldbPluginABISysV_arm64/Makefile.depend index 90d6b63..264ede1 100644 --- a/lib/clang/liblldbPluginABISysV_arm64/Makefile.depend +++ b/lib/clang/liblldbPluginABISysV_arm64/Makefile.depend @@ -13,12 +13,4 @@ DIRDEPS = \ .if ${DEP_RELDIR} == ${_DEP_RELDIR} # local dependencies - needed for -jN in clean tree -ABISysV_arm64.o: CommentCommandList.inc.h -ABISysV_arm64.o: DeclNodes.inc.h -ABISysV_arm64.o: DiagnosticCommonKinds.inc.h -ABISysV_arm64.o: StmtNodes.inc.h -ABISysV_arm64.po: CommentCommandList.inc.h -ABISysV_arm64.po: DeclNodes.inc.h -ABISysV_arm64.po: DiagnosticCommonKinds.inc.h -ABISysV_arm64.po: StmtNodes.inc.h .endif diff --git a/lib/clang/liblldbPluginABISysV_i386/Makefile.depend b/lib/clang/liblldbPluginABISysV_i386/Makefile.depend index c7685d3..264ede1 100644 --- a/lib/clang/liblldbPluginABISysV_i386/Makefile.depend +++ b/lib/clang/liblldbPluginABISysV_i386/Makefile.depend @@ -13,12 +13,4 @@ DIRDEPS = \ .if ${DEP_RELDIR} == ${_DEP_RELDIR} # local dependencies - needed for -jN in clean tree -ABISysV_i386.o: CommentCommandList.inc.h -ABISysV_i386.o: DeclNodes.inc.h -ABISysV_i386.o: DiagnosticCommonKinds.inc.h -ABISysV_i386.o: StmtNodes.inc.h -ABISysV_i386.po: CommentCommandList.inc.h -ABISysV_i386.po: DeclNodes.inc.h -ABISysV_i386.po: DiagnosticCommonKinds.inc.h -ABISysV_i386.po: StmtNodes.inc.h .endif diff --git a/lib/clang/liblldbPluginABISysV_mips/Makefile.depend b/lib/clang/liblldbPluginABISysV_mips/Makefile.depend index 00072db..264ede1 100644 --- a/lib/clang/liblldbPluginABISysV_mips/Makefile.depend +++ b/lib/clang/liblldbPluginABISysV_mips/Makefile.depend @@ -13,12 +13,4 @@ DIRDEPS = \ .if ${DEP_RELDIR} == ${_DEP_RELDIR} # local dependencies - needed for -jN in clean tree -ABISysV_mips.o: CommentCommandList.inc.h -ABISysV_mips.o: DeclNodes.inc.h -ABISysV_mips.o: DiagnosticCommonKinds.inc.h -ABISysV_mips.o: StmtNodes.inc.h -ABISysV_mips.po: CommentCommandList.inc.h -ABISysV_mips.po: DeclNodes.inc.h -ABISysV_mips.po: DiagnosticCommonKinds.inc.h -ABISysV_mips.po: StmtNodes.inc.h .endif diff --git a/lib/clang/liblldbPluginABISysV_mips64/Makefile.depend b/lib/clang/liblldbPluginABISysV_mips64/Makefile.depend index 49c95aa..264ede1 100644 --- a/lib/clang/liblldbPluginABISysV_mips64/Makefile.depend +++ b/lib/clang/liblldbPluginABISysV_mips64/Makefile.depend @@ -13,12 +13,4 @@ DIRDEPS = \ .if ${DEP_RELDIR} == ${_DEP_RELDIR} # local dependencies - needed for -jN in clean tree -ABISysV_mips64.o: CommentCommandList.inc.h -ABISysV_mips64.o: DeclNodes.inc.h -ABISysV_mips64.o: DiagnosticCommonKinds.inc.h -ABISysV_mips64.o: StmtNodes.inc.h -ABISysV_mips64.po: CommentCommandList.inc.h -ABISysV_mips64.po: DeclNodes.inc.h -ABISysV_mips64.po: DiagnosticCommonKinds.inc.h -ABISysV_mips64.po: StmtNodes.inc.h .endif diff --git a/lib/clang/liblldbPluginABISysV_ppc/Makefile.depend b/lib/clang/liblldbPluginABISysV_ppc/Makefile.depend index 99d245e..264ede1 100644 --- a/lib/clang/liblldbPluginABISysV_ppc/Makefile.depend +++ b/lib/clang/liblldbPluginABISysV_ppc/Makefile.depend @@ -13,12 +13,4 @@ DIRDEPS = \ .if ${DEP_RELDIR} == ${_DEP_RELDIR} # local dependencies - needed for -jN in clean tree -ABISysV_ppc.o: CommentCommandList.inc.h -ABISysV_ppc.o: DeclNodes.inc.h -ABISysV_ppc.o: DiagnosticCommonKinds.inc.h -ABISysV_ppc.o: StmtNodes.inc.h -ABISysV_ppc.po: CommentCommandList.inc.h -ABISysV_ppc.po: DeclNodes.inc.h -ABISysV_ppc.po: DiagnosticCommonKinds.inc.h -ABISysV_ppc.po: StmtNodes.inc.h .endif diff --git a/lib/clang/liblldbPluginABISysV_ppc64/Makefile.depend b/lib/clang/liblldbPluginABISysV_ppc64/Makefile.depend index 7b45794..264ede1 100644 --- a/lib/clang/liblldbPluginABISysV_ppc64/Makefile.depend +++ b/lib/clang/liblldbPluginABISysV_ppc64/Makefile.depend @@ -13,12 +13,4 @@ DIRDEPS = \ .if ${DEP_RELDIR} == ${_DEP_RELDIR} # local dependencies - needed for -jN in clean tree -ABISysV_ppc64.o: CommentCommandList.inc.h -ABISysV_ppc64.o: DeclNodes.inc.h -ABISysV_ppc64.o: DiagnosticCommonKinds.inc.h -ABISysV_ppc64.o: StmtNodes.inc.h -ABISysV_ppc64.po: CommentCommandList.inc.h -ABISysV_ppc64.po: DeclNodes.inc.h -ABISysV_ppc64.po: DiagnosticCommonKinds.inc.h -ABISysV_ppc64.po: StmtNodes.inc.h .endif diff --git a/lib/clang/liblldbPluginABISysV_x86_64/Makefile.depend b/lib/clang/liblldbPluginABISysV_x86_64/Makefile.depend index 219b76f..264ede1 100644 --- a/lib/clang/liblldbPluginABISysV_x86_64/Makefile.depend +++ b/lib/clang/liblldbPluginABISysV_x86_64/Makefile.depend @@ -13,12 +13,4 @@ DIRDEPS = \ .if ${DEP_RELDIR} == ${_DEP_RELDIR} # local dependencies - needed for -jN in clean tree -ABISysV_x86_64.o: CommentCommandList.inc.h -ABISysV_x86_64.o: DeclNodes.inc.h -ABISysV_x86_64.o: DiagnosticCommonKinds.inc.h -ABISysV_x86_64.o: StmtNodes.inc.h -ABISysV_x86_64.po: CommentCommandList.inc.h -ABISysV_x86_64.po: DeclNodes.inc.h -ABISysV_x86_64.po: DiagnosticCommonKinds.inc.h -ABISysV_x86_64.po: StmtNodes.inc.h .endif diff --git a/lib/clang/liblldbPluginCXXItaniumABI/Makefile.depend b/lib/clang/liblldbPluginCXXItaniumABI/Makefile.depend index 2307823..264ede1 100644 --- a/lib/clang/liblldbPluginCXXItaniumABI/Makefile.depend +++ b/lib/clang/liblldbPluginCXXItaniumABI/Makefile.depend @@ -13,12 +13,4 @@ DIRDEPS = \ .if ${DEP_RELDIR} == ${_DEP_RELDIR} # local dependencies - needed for -jN in clean tree -ItaniumABILanguageRuntime.o: CommentCommandList.inc.h -ItaniumABILanguageRuntime.o: DeclNodes.inc.h -ItaniumABILanguageRuntime.o: DiagnosticCommonKinds.inc.h -ItaniumABILanguageRuntime.o: StmtNodes.inc.h -ItaniumABILanguageRuntime.po: CommentCommandList.inc.h -ItaniumABILanguageRuntime.po: DeclNodes.inc.h -ItaniumABILanguageRuntime.po: DiagnosticCommonKinds.inc.h -ItaniumABILanguageRuntime.po: StmtNodes.inc.h .endif diff --git a/lib/clang/liblldbPluginDynamicLoaderPosixDYLD/Makefile.depend b/lib/clang/liblldbPluginDynamicLoaderPosixDYLD/Makefile.depend index b3a3a61..264ede1 100644 --- a/lib/clang/liblldbPluginDynamicLoaderPosixDYLD/Makefile.depend +++ b/lib/clang/liblldbPluginDynamicLoaderPosixDYLD/Makefile.depend @@ -13,6 +13,4 @@ DIRDEPS = \ .if ${DEP_RELDIR} == ${_DEP_RELDIR} # local dependencies - needed for -jN in clean tree -DynamicLoaderPOSIXDYLD.o: DiagnosticCommonKinds.inc.h -DynamicLoaderPOSIXDYLD.po: DiagnosticCommonKinds.inc.h .endif diff --git a/lib/clang/liblldbPluginInstrumentationRuntimeAddressSanitizer/Makefile.depend b/lib/clang/liblldbPluginInstrumentationRuntimeAddressSanitizer/Makefile.depend index 627c2cc..264ede1 100644 --- a/lib/clang/liblldbPluginInstrumentationRuntimeAddressSanitizer/Makefile.depend +++ b/lib/clang/liblldbPluginInstrumentationRuntimeAddressSanitizer/Makefile.depend @@ -13,6 +13,4 @@ DIRDEPS = \ .if ${DEP_RELDIR} == ${_DEP_RELDIR} # local dependencies - needed for -jN in clean tree -AddressSanitizerRuntime.o: DiagnosticCommonKinds.inc.h -AddressSanitizerRuntime.po: DiagnosticCommonKinds.inc.h .endif diff --git a/lib/clang/liblldbPluginJITLoaderGDB/Makefile.depend b/lib/clang/liblldbPluginJITLoaderGDB/Makefile.depend index fc64e4a..264ede1 100644 --- a/lib/clang/liblldbPluginJITLoaderGDB/Makefile.depend +++ b/lib/clang/liblldbPluginJITLoaderGDB/Makefile.depend @@ -13,6 +13,4 @@ DIRDEPS = \ .if ${DEP_RELDIR} == ${_DEP_RELDIR} # local dependencies - needed for -jN in clean tree -JITLoaderGDB.o: DiagnosticCommonKinds.inc.h -JITLoaderGDB.po: DiagnosticCommonKinds.inc.h .endif diff --git a/lib/clang/liblldbPluginMemoryHistoryASan/Makefile.depend b/lib/clang/liblldbPluginMemoryHistoryASan/Makefile.depend index c514f27..264ede1 100644 --- a/lib/clang/liblldbPluginMemoryHistoryASan/Makefile.depend +++ b/lib/clang/liblldbPluginMemoryHistoryASan/Makefile.depend @@ -13,6 +13,4 @@ DIRDEPS = \ .if ${DEP_RELDIR} == ${_DEP_RELDIR} # local dependencies - needed for -jN in clean tree -MemoryHistoryASan.o: DiagnosticCommonKinds.inc.h -MemoryHistoryASan.po: DiagnosticCommonKinds.inc.h .endif diff --git a/lib/clang/liblldbPluginProcessFreeBSD/Makefile.depend b/lib/clang/liblldbPluginProcessFreeBSD/Makefile.depend index a384d93..264ede1 100644 --- a/lib/clang/liblldbPluginProcessFreeBSD/Makefile.depend +++ b/lib/clang/liblldbPluginProcessFreeBSD/Makefile.depend @@ -13,8 +13,4 @@ DIRDEPS = \ .if ${DEP_RELDIR} == ${_DEP_RELDIR} # local dependencies - needed for -jN in clean tree -POSIXThread.o: DiagnosticCommonKinds.inc.h -POSIXThread.po: DiagnosticCommonKinds.inc.h -ProcessPOSIX.o: DiagnosticCommonKinds.inc.h -ProcessPOSIX.po: DiagnosticCommonKinds.inc.h .endif diff --git a/lib/clang/liblldbPluginProcessGDBRemote/Makefile.depend b/lib/clang/liblldbPluginProcessGDBRemote/Makefile.depend index 10a0dc2..264ede1 100644 --- a/lib/clang/liblldbPluginProcessGDBRemote/Makefile.depend +++ b/lib/clang/liblldbPluginProcessGDBRemote/Makefile.depend @@ -13,18 +13,4 @@ DIRDEPS = \ .if ${DEP_RELDIR} == ${_DEP_RELDIR} # local dependencies - needed for -jN in clean tree -ProcessGDBRemote.o: AttrList.inc.h -ProcessGDBRemote.o: Attrs.inc.h -ProcessGDBRemote.o: CommentCommandList.inc.h -ProcessGDBRemote.o: DeclNodes.inc.h -ProcessGDBRemote.o: DiagnosticCommonKinds.inc.h -ProcessGDBRemote.o: StmtNodes.inc.h -ProcessGDBRemote.po: AttrList.inc.h -ProcessGDBRemote.po: Attrs.inc.h -ProcessGDBRemote.po: CommentCommandList.inc.h -ProcessGDBRemote.po: DeclNodes.inc.h -ProcessGDBRemote.po: DiagnosticCommonKinds.inc.h -ProcessGDBRemote.po: StmtNodes.inc.h -ThreadGDBRemote.o: DiagnosticCommonKinds.inc.h -ThreadGDBRemote.po: DiagnosticCommonKinds.inc.h .endif diff --git a/lib/clang/liblldbPluginProcessUtility/Makefile.depend b/lib/clang/liblldbPluginProcessUtility/Makefile.depend index 06a1433..264ede1 100644 --- a/lib/clang/liblldbPluginProcessUtility/Makefile.depend +++ b/lib/clang/liblldbPluginProcessUtility/Makefile.depend @@ -13,36 +13,4 @@ DIRDEPS = \ .if ${DEP_RELDIR} == ${_DEP_RELDIR} # local dependencies - needed for -jN in clean tree -DynamicRegisterInfo.o: AttrList.inc.h -DynamicRegisterInfo.o: Attrs.inc.h -DynamicRegisterInfo.o: CommentCommandList.inc.h -DynamicRegisterInfo.o: DeclNodes.inc.h -DynamicRegisterInfo.o: DiagnosticCommonKinds.inc.h -DynamicRegisterInfo.o: StmtNodes.inc.h -DynamicRegisterInfo.po: AttrList.inc.h -DynamicRegisterInfo.po: Attrs.inc.h -DynamicRegisterInfo.po: CommentCommandList.inc.h -DynamicRegisterInfo.po: DeclNodes.inc.h -DynamicRegisterInfo.po: DiagnosticCommonKinds.inc.h -DynamicRegisterInfo.po: StmtNodes.inc.h -InferiorCallPOSIX.o: CommentCommandList.inc.h -InferiorCallPOSIX.o: DeclNodes.inc.h -InferiorCallPOSIX.o: DiagnosticCommonKinds.inc.h -InferiorCallPOSIX.o: StmtNodes.inc.h -InferiorCallPOSIX.po: CommentCommandList.inc.h -InferiorCallPOSIX.po: DeclNodes.inc.h -InferiorCallPOSIX.po: DiagnosticCommonKinds.inc.h -InferiorCallPOSIX.po: StmtNodes.inc.h -RegisterContextDummy.o: DiagnosticCommonKinds.inc.h -RegisterContextDummy.po: DiagnosticCommonKinds.inc.h -RegisterContextHistory.o: DiagnosticCommonKinds.inc.h -RegisterContextHistory.po: DiagnosticCommonKinds.inc.h -RegisterContextLLDB.o: DiagnosticCommonKinds.inc.h -RegisterContextLLDB.po: DiagnosticCommonKinds.inc.h -StopInfoMachException.o: DiagnosticCommonKinds.inc.h -StopInfoMachException.po: DiagnosticCommonKinds.inc.h -UnwindLLDB.o: DiagnosticCommonKinds.inc.h -UnwindLLDB.po: DiagnosticCommonKinds.inc.h -UnwindMacOSXFrameBackchain.o: DiagnosticCommonKinds.inc.h -UnwindMacOSXFrameBackchain.po: DiagnosticCommonKinds.inc.h .endif diff --git a/lib/clang/liblldbPluginSymbolFileDWARF/Makefile.depend b/lib/clang/liblldbPluginSymbolFileDWARF/Makefile.depend index bd5227d..9a1b84e 100644 --- a/lib/clang/liblldbPluginSymbolFileDWARF/Makefile.depend +++ b/lib/clang/liblldbPluginSymbolFileDWARF/Makefile.depend @@ -14,186 +14,4 @@ DIRDEPS = \ .if ${DEP_RELDIR} == ${_DEP_RELDIR} # local dependencies - needed for -jN in clean tree -DWARFAbbreviationDeclaration.o: CommentCommandList.inc.h -DWARFAbbreviationDeclaration.o: DeclNodes.inc.h -DWARFAbbreviationDeclaration.o: DiagnosticCommonKinds.inc.h -DWARFAbbreviationDeclaration.o: StmtNodes.inc.h -DWARFAbbreviationDeclaration.po: CommentCommandList.inc.h -DWARFAbbreviationDeclaration.po: DeclNodes.inc.h -DWARFAbbreviationDeclaration.po: DiagnosticCommonKinds.inc.h -DWARFAbbreviationDeclaration.po: StmtNodes.inc.h -DWARFCompileUnit.o: CommentCommandList.inc.h -DWARFCompileUnit.o: DeclNodes.inc.h -DWARFCompileUnit.o: DiagnosticCommonKinds.inc.h -DWARFCompileUnit.o: StmtNodes.inc.h -DWARFCompileUnit.po: CommentCommandList.inc.h -DWARFCompileUnit.po: DeclNodes.inc.h -DWARFCompileUnit.po: DiagnosticCommonKinds.inc.h -DWARFCompileUnit.po: StmtNodes.inc.h -DWARFDIECollection.o: CommentCommandList.inc.h -DWARFDIECollection.o: DeclNodes.inc.h -DWARFDIECollection.o: DiagnosticCommonKinds.inc.h -DWARFDIECollection.o: StmtNodes.inc.h -DWARFDIECollection.po: CommentCommandList.inc.h -DWARFDIECollection.po: DeclNodes.inc.h -DWARFDIECollection.po: DiagnosticCommonKinds.inc.h -DWARFDIECollection.po: StmtNodes.inc.h -DWARFDebugAbbrev.o: CommentCommandList.inc.h -DWARFDebugAbbrev.o: DeclNodes.inc.h -DWARFDebugAbbrev.o: DiagnosticCommonKinds.inc.h -DWARFDebugAbbrev.o: StmtNodes.inc.h -DWARFDebugAbbrev.po: CommentCommandList.inc.h -DWARFDebugAbbrev.po: DeclNodes.inc.h -DWARFDebugAbbrev.po: DiagnosticCommonKinds.inc.h -DWARFDebugAbbrev.po: StmtNodes.inc.h -DWARFDebugArangeSet.o: CommentCommandList.inc.h -DWARFDebugArangeSet.o: DeclNodes.inc.h -DWARFDebugArangeSet.o: DiagnosticCommonKinds.inc.h -DWARFDebugArangeSet.o: StmtNodes.inc.h -DWARFDebugArangeSet.po: CommentCommandList.inc.h -DWARFDebugArangeSet.po: DeclNodes.inc.h -DWARFDebugArangeSet.po: DiagnosticCommonKinds.inc.h -DWARFDebugArangeSet.po: StmtNodes.inc.h -DWARFDebugAranges.o: CommentCommandList.inc.h -DWARFDebugAranges.o: DeclNodes.inc.h -DWARFDebugAranges.o: DiagnosticCommonKinds.inc.h -DWARFDebugAranges.o: StmtNodes.inc.h -DWARFDebugAranges.po: CommentCommandList.inc.h -DWARFDebugAranges.po: DeclNodes.inc.h -DWARFDebugAranges.po: DiagnosticCommonKinds.inc.h -DWARFDebugAranges.po: StmtNodes.inc.h -DWARFDebugInfo.o: CommentCommandList.inc.h -DWARFDebugInfo.o: DeclNodes.inc.h -DWARFDebugInfo.o: DiagnosticCommonKinds.inc.h -DWARFDebugInfo.o: StmtNodes.inc.h -DWARFDebugInfo.po: CommentCommandList.inc.h -DWARFDebugInfo.po: DeclNodes.inc.h -DWARFDebugInfo.po: DiagnosticCommonKinds.inc.h -DWARFDebugInfo.po: StmtNodes.inc.h -DWARFDebugInfoEntry.o: CommentCommandList.inc.h -DWARFDebugInfoEntry.o: DeclNodes.inc.h -DWARFDebugInfoEntry.o: DiagnosticCommonKinds.inc.h -DWARFDebugInfoEntry.o: StmtNodes.inc.h -DWARFDebugInfoEntry.po: CommentCommandList.inc.h -DWARFDebugInfoEntry.po: DeclNodes.inc.h -DWARFDebugInfoEntry.po: DiagnosticCommonKinds.inc.h -DWARFDebugInfoEntry.po: StmtNodes.inc.h -DWARFDebugLine.o: CommentCommandList.inc.h -DWARFDebugLine.o: DeclNodes.inc.h -DWARFDebugLine.o: DiagnosticCommonKinds.inc.h -DWARFDebugLine.o: StmtNodes.inc.h -DWARFDebugLine.po: CommentCommandList.inc.h -DWARFDebugLine.po: DeclNodes.inc.h -DWARFDebugLine.po: DiagnosticCommonKinds.inc.h -DWARFDebugLine.po: StmtNodes.inc.h -DWARFDebugMacinfo.o: CommentCommandList.inc.h -DWARFDebugMacinfo.o: DeclNodes.inc.h -DWARFDebugMacinfo.o: DiagnosticCommonKinds.inc.h -DWARFDebugMacinfo.o: StmtNodes.inc.h -DWARFDebugMacinfo.po: CommentCommandList.inc.h -DWARFDebugMacinfo.po: DeclNodes.inc.h -DWARFDebugMacinfo.po: DiagnosticCommonKinds.inc.h -DWARFDebugMacinfo.po: StmtNodes.inc.h -DWARFDebugMacinfoEntry.o: CommentCommandList.inc.h -DWARFDebugMacinfoEntry.o: DeclNodes.inc.h -DWARFDebugMacinfoEntry.o: DiagnosticCommonKinds.inc.h -DWARFDebugMacinfoEntry.o: StmtNodes.inc.h -DWARFDebugMacinfoEntry.po: CommentCommandList.inc.h -DWARFDebugMacinfoEntry.po: DeclNodes.inc.h -DWARFDebugMacinfoEntry.po: DiagnosticCommonKinds.inc.h -DWARFDebugMacinfoEntry.po: StmtNodes.inc.h -DWARFDebugPubnames.o: CommentCommandList.inc.h -DWARFDebugPubnames.o: DeclNodes.inc.h -DWARFDebugPubnames.o: DiagnosticCommonKinds.inc.h -DWARFDebugPubnames.o: StmtNodes.inc.h -DWARFDebugPubnames.po: CommentCommandList.inc.h -DWARFDebugPubnames.po: DeclNodes.inc.h -DWARFDebugPubnames.po: DiagnosticCommonKinds.inc.h -DWARFDebugPubnames.po: StmtNodes.inc.h -DWARFDebugPubnamesSet.o: CommentCommandList.inc.h -DWARFDebugPubnamesSet.o: DeclNodes.inc.h -DWARFDebugPubnamesSet.o: DiagnosticCommonKinds.inc.h -DWARFDebugPubnamesSet.o: StmtNodes.inc.h -DWARFDebugPubnamesSet.po: CommentCommandList.inc.h -DWARFDebugPubnamesSet.po: DeclNodes.inc.h -DWARFDebugPubnamesSet.po: DiagnosticCommonKinds.inc.h -DWARFDebugPubnamesSet.po: StmtNodes.inc.h -DWARFDebugRanges.o: CommentCommandList.inc.h -DWARFDebugRanges.o: DeclNodes.inc.h -DWARFDebugRanges.o: DiagnosticCommonKinds.inc.h -DWARFDebugRanges.o: StmtNodes.inc.h -DWARFDebugRanges.po: CommentCommandList.inc.h -DWARFDebugRanges.po: DeclNodes.inc.h -DWARFDebugRanges.po: DiagnosticCommonKinds.inc.h -DWARFDebugRanges.po: StmtNodes.inc.h -DWARFFormValue.o: CommentCommandList.inc.h -DWARFFormValue.o: DeclNodes.inc.h -DWARFFormValue.o: DiagnosticCommonKinds.inc.h -DWARFFormValue.o: StmtNodes.inc.h -DWARFFormValue.po: CommentCommandList.inc.h -DWARFFormValue.po: DeclNodes.inc.h -DWARFFormValue.po: DiagnosticCommonKinds.inc.h -DWARFFormValue.po: StmtNodes.inc.h -DWARFLocationDescription.o: CommentCommandList.inc.h -DWARFLocationDescription.o: DeclNodes.inc.h -DWARFLocationDescription.o: DiagnosticCommonKinds.inc.h -DWARFLocationDescription.o: StmtNodes.inc.h -DWARFLocationDescription.po: CommentCommandList.inc.h -DWARFLocationDescription.po: DeclNodes.inc.h -DWARFLocationDescription.po: DiagnosticCommonKinds.inc.h -DWARFLocationDescription.po: StmtNodes.inc.h -DWARFLocationList.o: CommentCommandList.inc.h -DWARFLocationList.o: DeclNodes.inc.h -DWARFLocationList.o: DiagnosticCommonKinds.inc.h -DWARFLocationList.o: StmtNodes.inc.h -DWARFLocationList.po: CommentCommandList.inc.h -DWARFLocationList.po: DeclNodes.inc.h -DWARFLocationList.po: DiagnosticCommonKinds.inc.h -DWARFLocationList.po: StmtNodes.inc.h -LogChannelDWARF.o: CommentCommandList.inc.h -LogChannelDWARF.o: DeclNodes.inc.h -LogChannelDWARF.o: DiagnosticCommonKinds.inc.h -LogChannelDWARF.o: StmtNodes.inc.h -LogChannelDWARF.po: CommentCommandList.inc.h -LogChannelDWARF.po: DeclNodes.inc.h -LogChannelDWARF.po: DiagnosticCommonKinds.inc.h -LogChannelDWARF.po: StmtNodes.inc.h -NameToDIE.o: CommentCommandList.inc.h -NameToDIE.o: DeclNodes.inc.h -NameToDIE.o: DiagnosticCommonKinds.inc.h -NameToDIE.o: StmtNodes.inc.h -NameToDIE.po: CommentCommandList.inc.h -NameToDIE.po: DeclNodes.inc.h -NameToDIE.po: DiagnosticCommonKinds.inc.h -NameToDIE.po: StmtNodes.inc.h -SymbolFileDWARF.o: AttrList.inc.h -SymbolFileDWARF.o: AttrParsedAttrList.inc.h -SymbolFileDWARF.o: Attrs.inc.h -SymbolFileDWARF.o: CommentCommandList.inc.h -SymbolFileDWARF.o: DeclNodes.inc.h -SymbolFileDWARF.o: DiagnosticCommonKinds.inc.h -SymbolFileDWARF.o: StmtNodes.inc.h -SymbolFileDWARF.po: AttrList.inc.h -SymbolFileDWARF.po: AttrParsedAttrList.inc.h -SymbolFileDWARF.po: Attrs.inc.h -SymbolFileDWARF.po: CommentCommandList.inc.h -SymbolFileDWARF.po: DeclNodes.inc.h -SymbolFileDWARF.po: DiagnosticCommonKinds.inc.h -SymbolFileDWARF.po: StmtNodes.inc.h -SymbolFileDWARFDebugMap.o: CommentCommandList.inc.h -SymbolFileDWARFDebugMap.o: DeclNodes.inc.h -SymbolFileDWARFDebugMap.o: DiagnosticCommonKinds.inc.h -SymbolFileDWARFDebugMap.o: StmtNodes.inc.h -SymbolFileDWARFDebugMap.po: CommentCommandList.inc.h -SymbolFileDWARFDebugMap.po: DeclNodes.inc.h -SymbolFileDWARFDebugMap.po: DiagnosticCommonKinds.inc.h -SymbolFileDWARFDebugMap.po: StmtNodes.inc.h -UniqueDWARFASTType.o: CommentCommandList.inc.h -UniqueDWARFASTType.o: DeclNodes.inc.h -UniqueDWARFASTType.o: DiagnosticCommonKinds.inc.h -UniqueDWARFASTType.o: StmtNodes.inc.h -UniqueDWARFASTType.po: CommentCommandList.inc.h -UniqueDWARFASTType.po: DeclNodes.inc.h -UniqueDWARFASTType.po: DiagnosticCommonKinds.inc.h -UniqueDWARFASTType.po: StmtNodes.inc.h .endif diff --git a/lib/clang/liblldbPluginSymbolFileSymtab/Makefile.depend b/lib/clang/liblldbPluginSymbolFileSymtab/Makefile.depend index 4231228..264ede1 100644 --- a/lib/clang/liblldbPluginSymbolFileSymtab/Makefile.depend +++ b/lib/clang/liblldbPluginSymbolFileSymtab/Makefile.depend @@ -13,8 +13,4 @@ DIRDEPS = \ .if ${DEP_RELDIR} == ${_DEP_RELDIR} # local dependencies - needed for -jN in clean tree -SymbolFileSymtab.o: DeclNodes.inc.h -SymbolFileSymtab.o: DiagnosticCommonKinds.inc.h -SymbolFileSymtab.po: DeclNodes.inc.h -SymbolFileSymtab.po: DiagnosticCommonKinds.inc.h .endif diff --git a/lib/clang/liblldbPluginSymbolVendorELF/Makefile.depend b/lib/clang/liblldbPluginSymbolVendorELF/Makefile.depend index 810f65c..264ede1 100644 --- a/lib/clang/liblldbPluginSymbolVendorELF/Makefile.depend +++ b/lib/clang/liblldbPluginSymbolVendorELF/Makefile.depend @@ -13,6 +13,4 @@ DIRDEPS = \ .if ${DEP_RELDIR} == ${_DEP_RELDIR} # local dependencies - needed for -jN in clean tree -SymbolVendorELF.o: DiagnosticCommonKinds.inc.h -SymbolVendorELF.po: DiagnosticCommonKinds.inc.h .endif diff --git a/lib/clang/liblldbSymbol/Makefile.depend b/lib/clang/liblldbSymbol/Makefile.depend index aa337b3..264ede1 100644 --- a/lib/clang/liblldbSymbol/Makefile.depend +++ b/lib/clang/liblldbSymbol/Makefile.depend @@ -13,108 +13,4 @@ DIRDEPS = \ .if ${DEP_RELDIR} == ${_DEP_RELDIR} # local dependencies - needed for -jN in clean tree -Block.o: DiagnosticCommonKinds.inc.h -Block.po: DiagnosticCommonKinds.inc.h -ClangASTContext.o: AttrList.inc.h -ClangASTContext.o: Attrs.inc.h -ClangASTContext.o: CommentCommandList.inc.h -ClangASTContext.o: DeclNodes.inc.h -ClangASTContext.o: DiagnosticCommonKinds.inc.h -ClangASTContext.o: StmtNodes.inc.h -ClangASTContext.po: AttrList.inc.h -ClangASTContext.po: Attrs.inc.h -ClangASTContext.po: CommentCommandList.inc.h -ClangASTContext.po: DeclNodes.inc.h -ClangASTContext.po: DiagnosticCommonKinds.inc.h -ClangASTContext.po: StmtNodes.inc.h -ClangASTImporter.o: AttrList.inc.h -ClangASTImporter.o: Attrs.inc.h -ClangASTImporter.o: CommentCommandList.inc.h -ClangASTImporter.o: DeclNodes.inc.h -ClangASTImporter.o: DiagnosticCommonKinds.inc.h -ClangASTImporter.o: StmtNodes.inc.h -ClangASTImporter.po: AttrList.inc.h -ClangASTImporter.po: Attrs.inc.h -ClangASTImporter.po: CommentCommandList.inc.h -ClangASTImporter.po: DeclNodes.inc.h -ClangASTImporter.po: DiagnosticCommonKinds.inc.h -ClangASTImporter.po: StmtNodes.inc.h -ClangASTType.o: AttrList.inc.h -ClangASTType.o: Attrs.inc.h -ClangASTType.o: CommentCommandList.inc.h -ClangASTType.o: DeclNodes.inc.h -ClangASTType.o: DiagnosticCommonKinds.inc.h -ClangASTType.o: StmtNodes.inc.h -ClangASTType.po: AttrList.inc.h -ClangASTType.po: Attrs.inc.h -ClangASTType.po: CommentCommandList.inc.h -ClangASTType.po: DeclNodes.inc.h -ClangASTType.po: DiagnosticCommonKinds.inc.h -ClangASTType.po: StmtNodes.inc.h -ClangExternalASTSourceCallbacks.o: DeclNodes.inc.h -ClangExternalASTSourceCallbacks.o: DiagnosticCommonKinds.inc.h -ClangExternalASTSourceCallbacks.po: DeclNodes.inc.h -ClangExternalASTSourceCallbacks.po: DiagnosticCommonKinds.inc.h -ClangExternalASTSourceCommon.o: DeclNodes.inc.h -ClangExternalASTSourceCommon.o: DiagnosticCommonKinds.inc.h -ClangExternalASTSourceCommon.po: DeclNodes.inc.h -ClangExternalASTSourceCommon.po: DiagnosticCommonKinds.inc.h -ClangNamespaceDecl.o: DeclNodes.inc.h -ClangNamespaceDecl.o: DiagnosticCommonKinds.inc.h -ClangNamespaceDecl.po: DeclNodes.inc.h -ClangNamespaceDecl.po: DiagnosticCommonKinds.inc.h -CompileUnit.o: DiagnosticCommonKinds.inc.h -CompileUnit.po: DiagnosticCommonKinds.inc.h -Function.o: DiagnosticCommonKinds.inc.h -Function.po: DiagnosticCommonKinds.inc.h -LineEntry.o: DiagnosticCommonKinds.inc.h -LineEntry.po: DiagnosticCommonKinds.inc.h -LineTable.o: DiagnosticCommonKinds.inc.h -LineTable.po: DiagnosticCommonKinds.inc.h -ObjectFile.o: DiagnosticCommonKinds.inc.h -ObjectFile.po: DiagnosticCommonKinds.inc.h -Symbol.o: DiagnosticCommonKinds.inc.h -Symbol.po: DiagnosticCommonKinds.inc.h -SymbolContext.o: CommentCommandList.inc.h -SymbolContext.o: DeclNodes.inc.h -SymbolContext.o: DiagnosticCommonKinds.inc.h -SymbolContext.o: StmtNodes.inc.h -SymbolContext.po: CommentCommandList.inc.h -SymbolContext.po: DeclNodes.inc.h -SymbolContext.po: DiagnosticCommonKinds.inc.h -SymbolContext.po: StmtNodes.inc.h -SymbolFile.o: DiagnosticCommonKinds.inc.h -SymbolFile.po: DiagnosticCommonKinds.inc.h -SymbolVendor.o: DiagnosticCommonKinds.inc.h -SymbolVendor.po: DiagnosticCommonKinds.inc.h -Symtab.o: DiagnosticCommonKinds.inc.h -Symtab.po: DiagnosticCommonKinds.inc.h -Type.o: CommentCommandList.inc.h -Type.o: DeclNodes.inc.h -Type.o: DiagnosticCommonKinds.inc.h -Type.o: StmtNodes.inc.h -Type.po: CommentCommandList.inc.h -Type.po: DeclNodes.inc.h -Type.po: DiagnosticCommonKinds.inc.h -Type.po: StmtNodes.inc.h -TypeList.o: AttrList.inc.h -TypeList.o: Attrs.inc.h -TypeList.o: CommentCommandList.inc.h -TypeList.o: DeclNodes.inc.h -TypeList.o: DiagnosticCommonKinds.inc.h -TypeList.o: StmtNodes.inc.h -TypeList.po: AttrList.inc.h -TypeList.po: Attrs.inc.h -TypeList.po: CommentCommandList.inc.h -TypeList.po: DeclNodes.inc.h -TypeList.po: DiagnosticCommonKinds.inc.h -TypeList.po: StmtNodes.inc.h -Variable.o: DiagnosticCommonKinds.inc.h -Variable.po: DiagnosticCommonKinds.inc.h -VariableList.o: DiagnosticCommonKinds.inc.h -VariableList.po: DiagnosticCommonKinds.inc.h -VerifyDecl.o: DeclNodes.inc.h -VerifyDecl.o: DiagnosticCommonKinds.inc.h -VerifyDecl.po: DeclNodes.inc.h -VerifyDecl.po: DiagnosticCommonKinds.inc.h .endif diff --git a/lib/clang/liblldbTarget/Makefile.depend b/lib/clang/liblldbTarget/Makefile.depend index 811b401..264ede1 100644 --- a/lib/clang/liblldbTarget/Makefile.depend +++ b/lib/clang/liblldbTarget/Makefile.depend @@ -13,82 +13,4 @@ DIRDEPS = \ .if ${DEP_RELDIR} == ${_DEP_RELDIR} # local dependencies - needed for -jN in clean tree -ABI.o: DiagnosticCommonKinds.inc.h -ABI.po: DiagnosticCommonKinds.inc.h -CPPLanguageRuntime.o: DiagnosticCommonKinds.inc.h -CPPLanguageRuntime.po: DiagnosticCommonKinds.inc.h -LanguageRuntime.o: DiagnosticCommonKinds.inc.h -LanguageRuntime.po: DiagnosticCommonKinds.inc.h -ObjCLanguageRuntime.o: CommentCommandList.inc.h -ObjCLanguageRuntime.o: DeclNodes.inc.h -ObjCLanguageRuntime.o: DiagnosticCommonKinds.inc.h -ObjCLanguageRuntime.o: StmtNodes.inc.h -ObjCLanguageRuntime.po: CommentCommandList.inc.h -ObjCLanguageRuntime.po: DeclNodes.inc.h -ObjCLanguageRuntime.po: DiagnosticCommonKinds.inc.h -ObjCLanguageRuntime.po: StmtNodes.inc.h -Process.o: DiagnosticCommonKinds.inc.h -Process.po: DiagnosticCommonKinds.inc.h -SectionLoadList.o: DiagnosticCommonKinds.inc.h -SectionLoadList.po: DiagnosticCommonKinds.inc.h -StackFrame.o: DiagnosticCommonKinds.inc.h -StackFrame.po: DiagnosticCommonKinds.inc.h -StackFrameList.o: DiagnosticCommonKinds.inc.h -StackFrameList.po: DiagnosticCommonKinds.inc.h -StackID.o: DiagnosticCommonKinds.inc.h -StackID.po: DiagnosticCommonKinds.inc.h -StopInfo.o: DiagnosticCommonKinds.inc.h -StopInfo.po: DiagnosticCommonKinds.inc.h -Target.o: CommentCommandList.inc.h -Target.o: DeclNodes.inc.h -Target.o: DiagnosticCommonKinds.inc.h -Target.o: StmtNodes.inc.h -Target.po: CommentCommandList.inc.h -Target.po: DeclNodes.inc.h -Target.po: DiagnosticCommonKinds.inc.h -Target.po: StmtNodes.inc.h -Thread.o: DiagnosticCommonKinds.inc.h -Thread.po: DiagnosticCommonKinds.inc.h -ThreadList.o: DiagnosticCommonKinds.inc.h -ThreadList.po: DiagnosticCommonKinds.inc.h -ThreadPlan.o: DiagnosticCommonKinds.inc.h -ThreadPlan.po: DiagnosticCommonKinds.inc.h -ThreadPlanBase.o: DiagnosticCommonKinds.inc.h -ThreadPlanBase.po: DiagnosticCommonKinds.inc.h -ThreadPlanCallFunction.o: DiagnosticCommonKinds.inc.h -ThreadPlanCallFunction.po: DiagnosticCommonKinds.inc.h -ThreadPlanCallFunctionUsingABI.o: DiagnosticCommonKinds.inc.h -ThreadPlanCallFunctionUsingABI.po: DiagnosticCommonKinds.inc.h -ThreadPlanCallUserExpression.o: DiagnosticCommonKinds.inc.h -ThreadPlanCallUserExpression.po: DiagnosticCommonKinds.inc.h -ThreadPlanPython.o: DiagnosticCommonKinds.inc.h -ThreadPlanPython.po: DiagnosticCommonKinds.inc.h -ThreadPlanRunToAddress.o: DiagnosticCommonKinds.inc.h -ThreadPlanRunToAddress.po: DiagnosticCommonKinds.inc.h -ThreadPlanShouldStopHere.o: DiagnosticCommonKinds.inc.h -ThreadPlanShouldStopHere.po: DiagnosticCommonKinds.inc.h -ThreadPlanStepInRange.o: DiagnosticCommonKinds.inc.h -ThreadPlanStepInRange.po: DiagnosticCommonKinds.inc.h -ThreadPlanStepInstruction.o: DiagnosticCommonKinds.inc.h -ThreadPlanStepInstruction.po: DiagnosticCommonKinds.inc.h -ThreadPlanStepOut.o: DiagnosticCommonKinds.inc.h -ThreadPlanStepOut.po: DiagnosticCommonKinds.inc.h -ThreadPlanStepOverBreakpoint.o: DiagnosticCommonKinds.inc.h -ThreadPlanStepOverBreakpoint.po: DiagnosticCommonKinds.inc.h -ThreadPlanStepOverRange.o: DiagnosticCommonKinds.inc.h -ThreadPlanStepOverRange.po: DiagnosticCommonKinds.inc.h -ThreadPlanStepRange.o: DiagnosticCommonKinds.inc.h -ThreadPlanStepRange.po: DiagnosticCommonKinds.inc.h -ThreadPlanStepThrough.o: DiagnosticCommonKinds.inc.h -ThreadPlanStepThrough.po: DiagnosticCommonKinds.inc.h -ThreadPlanStepUntil.o: DiagnosticCommonKinds.inc.h -ThreadPlanStepUntil.po: DiagnosticCommonKinds.inc.h -ThreadPlanTracer.o: CommentCommandList.inc.h -ThreadPlanTracer.o: DeclNodes.inc.h -ThreadPlanTracer.o: DiagnosticCommonKinds.inc.h -ThreadPlanTracer.o: StmtNodes.inc.h -ThreadPlanTracer.po: CommentCommandList.inc.h -ThreadPlanTracer.po: DeclNodes.inc.h -ThreadPlanTracer.po: DiagnosticCommonKinds.inc.h -ThreadPlanTracer.po: StmtNodes.inc.h .endif diff --git a/lib/clang/libllvmaarch64asmparser/Makefile.depend b/lib/clang/libllvmaarch64asmparser/Makefile.depend index 745dfbc..385072f 100644 --- a/lib/clang/libllvmaarch64asmparser/Makefile.depend +++ b/lib/clang/libllvmaarch64asmparser/Makefile.depend @@ -13,12 +13,4 @@ DIRDEPS = \ .if ${DEP_RELDIR} == ${_DEP_RELDIR} # local dependencies - needed for -jN in clean tree -AArch64AsmParser.o: AArch64GenAsmMatcher.inc.h -AArch64AsmParser.o: AArch64GenInstrInfo.inc.h -AArch64AsmParser.o: AArch64GenRegisterInfo.inc.h -AArch64AsmParser.o: AArch64GenSubtargetInfo.inc.h -AArch64AsmParser.po: AArch64GenAsmMatcher.inc.h -AArch64AsmParser.po: AArch64GenInstrInfo.inc.h -AArch64AsmParser.po: AArch64GenRegisterInfo.inc.h -AArch64AsmParser.po: AArch64GenSubtargetInfo.inc.h .endif diff --git a/lib/clang/libllvmaarch64codegen/Makefile.depend b/lib/clang/libllvmaarch64codegen/Makefile.depend index 56b7560..385072f 100644 --- a/lib/clang/libllvmaarch64codegen/Makefile.depend +++ b/lib/clang/libllvmaarch64codegen/Makefile.depend @@ -13,194 +13,4 @@ DIRDEPS = \ .if ${DEP_RELDIR} == ${_DEP_RELDIR} # local dependencies - needed for -jN in clean tree -AArch64A53Fix835769.o: AArch64GenInstrInfo.inc.h -AArch64A53Fix835769.o: AArch64GenRegisterInfo.inc.h -AArch64A53Fix835769.o: AArch64GenSubtargetInfo.inc.h -AArch64A53Fix835769.po: AArch64GenInstrInfo.inc.h -AArch64A53Fix835769.po: AArch64GenRegisterInfo.inc.h -AArch64A53Fix835769.po: AArch64GenSubtargetInfo.inc.h -AArch64A57FPLoadBalancing.o: AArch64GenInstrInfo.inc.h -AArch64A57FPLoadBalancing.o: AArch64GenRegisterInfo.inc.h -AArch64A57FPLoadBalancing.o: AArch64GenSubtargetInfo.inc.h -AArch64A57FPLoadBalancing.po: AArch64GenInstrInfo.inc.h -AArch64A57FPLoadBalancing.po: AArch64GenRegisterInfo.inc.h -AArch64A57FPLoadBalancing.po: AArch64GenSubtargetInfo.inc.h -AArch64AddressTypePromotion.o: AArch64GenInstrInfo.inc.h -AArch64AddressTypePromotion.o: AArch64GenRegisterInfo.inc.h -AArch64AddressTypePromotion.o: AArch64GenSubtargetInfo.inc.h -AArch64AddressTypePromotion.po: AArch64GenInstrInfo.inc.h -AArch64AddressTypePromotion.po: AArch64GenRegisterInfo.inc.h -AArch64AddressTypePromotion.po: AArch64GenSubtargetInfo.inc.h -AArch64AdvSIMDScalarPass.o: AArch64GenInstrInfo.inc.h -AArch64AdvSIMDScalarPass.o: AArch64GenRegisterInfo.inc.h -AArch64AdvSIMDScalarPass.o: AArch64GenSubtargetInfo.inc.h -AArch64AdvSIMDScalarPass.po: AArch64GenInstrInfo.inc.h -AArch64AdvSIMDScalarPass.po: AArch64GenRegisterInfo.inc.h -AArch64AdvSIMDScalarPass.po: AArch64GenSubtargetInfo.inc.h -AArch64AsmPrinter.o: AArch64GenInstrInfo.inc.h -AArch64AsmPrinter.o: AArch64GenMCPseudoLowering.inc.h -AArch64AsmPrinter.o: AArch64GenRegisterInfo.inc.h -AArch64AsmPrinter.o: AArch64GenSubtargetInfo.inc.h -AArch64AsmPrinter.po: AArch64GenInstrInfo.inc.h -AArch64AsmPrinter.po: AArch64GenMCPseudoLowering.inc.h -AArch64AsmPrinter.po: AArch64GenRegisterInfo.inc.h -AArch64AsmPrinter.po: AArch64GenSubtargetInfo.inc.h -AArch64BranchRelaxation.o: AArch64GenInstrInfo.inc.h -AArch64BranchRelaxation.o: AArch64GenRegisterInfo.inc.h -AArch64BranchRelaxation.o: AArch64GenSubtargetInfo.inc.h -AArch64BranchRelaxation.po: AArch64GenInstrInfo.inc.h -AArch64BranchRelaxation.po: AArch64GenRegisterInfo.inc.h -AArch64BranchRelaxation.po: AArch64GenSubtargetInfo.inc.h -AArch64CleanupLocalDynamicTLSPass.o: AArch64GenInstrInfo.inc.h -AArch64CleanupLocalDynamicTLSPass.o: AArch64GenRegisterInfo.inc.h -AArch64CleanupLocalDynamicTLSPass.o: AArch64GenSubtargetInfo.inc.h -AArch64CleanupLocalDynamicTLSPass.po: AArch64GenInstrInfo.inc.h -AArch64CleanupLocalDynamicTLSPass.po: AArch64GenRegisterInfo.inc.h -AArch64CleanupLocalDynamicTLSPass.po: AArch64GenSubtargetInfo.inc.h -AArch64CollectLOH.o: AArch64GenInstrInfo.inc.h -AArch64CollectLOH.o: AArch64GenRegisterInfo.inc.h -AArch64CollectLOH.o: AArch64GenSubtargetInfo.inc.h -AArch64CollectLOH.po: AArch64GenInstrInfo.inc.h -AArch64CollectLOH.po: AArch64GenRegisterInfo.inc.h -AArch64CollectLOH.po: AArch64GenSubtargetInfo.inc.h -AArch64ConditionOptimizer.o: AArch64GenInstrInfo.inc.h -AArch64ConditionOptimizer.o: AArch64GenRegisterInfo.inc.h -AArch64ConditionOptimizer.o: AArch64GenSubtargetInfo.inc.h -AArch64ConditionOptimizer.po: AArch64GenInstrInfo.inc.h -AArch64ConditionOptimizer.po: AArch64GenRegisterInfo.inc.h -AArch64ConditionOptimizer.po: AArch64GenSubtargetInfo.inc.h -AArch64ConditionalCompares.o: AArch64GenInstrInfo.inc.h -AArch64ConditionalCompares.o: AArch64GenRegisterInfo.inc.h -AArch64ConditionalCompares.o: AArch64GenSubtargetInfo.inc.h -AArch64ConditionalCompares.po: AArch64GenInstrInfo.inc.h -AArch64ConditionalCompares.po: AArch64GenRegisterInfo.inc.h -AArch64ConditionalCompares.po: AArch64GenSubtargetInfo.inc.h -AArch64DeadRegisterDefinitionsPass.o: AArch64GenInstrInfo.inc.h -AArch64DeadRegisterDefinitionsPass.o: AArch64GenRegisterInfo.inc.h -AArch64DeadRegisterDefinitionsPass.o: AArch64GenSubtargetInfo.inc.h -AArch64DeadRegisterDefinitionsPass.po: AArch64GenInstrInfo.inc.h -AArch64DeadRegisterDefinitionsPass.po: AArch64GenRegisterInfo.inc.h -AArch64DeadRegisterDefinitionsPass.po: AArch64GenSubtargetInfo.inc.h -AArch64ExpandPseudoInsts.o: AArch64GenInstrInfo.inc.h -AArch64ExpandPseudoInsts.o: AArch64GenRegisterInfo.inc.h -AArch64ExpandPseudoInsts.o: AArch64GenSubtargetInfo.inc.h -AArch64ExpandPseudoInsts.po: AArch64GenInstrInfo.inc.h -AArch64ExpandPseudoInsts.po: AArch64GenRegisterInfo.inc.h -AArch64ExpandPseudoInsts.po: AArch64GenSubtargetInfo.inc.h -AArch64FastISel.o: AArch64GenCallingConv.inc.h -AArch64FastISel.o: AArch64GenFastISel.inc.h -AArch64FastISel.o: AArch64GenInstrInfo.inc.h -AArch64FastISel.o: AArch64GenRegisterInfo.inc.h -AArch64FastISel.o: AArch64GenSubtargetInfo.inc.h -AArch64FastISel.o: Intrinsics.inc.h -AArch64FastISel.po: AArch64GenCallingConv.inc.h -AArch64FastISel.po: AArch64GenFastISel.inc.h -AArch64FastISel.po: AArch64GenInstrInfo.inc.h -AArch64FastISel.po: AArch64GenRegisterInfo.inc.h -AArch64FastISel.po: AArch64GenSubtargetInfo.inc.h -AArch64FastISel.po: Intrinsics.inc.h -AArch64FrameLowering.o: AArch64GenInstrInfo.inc.h -AArch64FrameLowering.o: AArch64GenRegisterInfo.inc.h -AArch64FrameLowering.o: AArch64GenSubtargetInfo.inc.h -AArch64FrameLowering.po: AArch64GenInstrInfo.inc.h -AArch64FrameLowering.po: AArch64GenRegisterInfo.inc.h -AArch64FrameLowering.po: AArch64GenSubtargetInfo.inc.h -AArch64ISelDAGToDAG.o: AArch64GenDAGISel.inc.h -AArch64ISelDAGToDAG.o: AArch64GenInstrInfo.inc.h -AArch64ISelDAGToDAG.o: AArch64GenRegisterInfo.inc.h -AArch64ISelDAGToDAG.o: AArch64GenSubtargetInfo.inc.h -AArch64ISelDAGToDAG.o: Intrinsics.inc.h -AArch64ISelDAGToDAG.po: AArch64GenDAGISel.inc.h -AArch64ISelDAGToDAG.po: AArch64GenInstrInfo.inc.h -AArch64ISelDAGToDAG.po: AArch64GenRegisterInfo.inc.h -AArch64ISelDAGToDAG.po: AArch64GenSubtargetInfo.inc.h -AArch64ISelDAGToDAG.po: Intrinsics.inc.h -AArch64ISelLowering.o: AArch64GenCallingConv.inc.h -AArch64ISelLowering.o: AArch64GenInstrInfo.inc.h -AArch64ISelLowering.o: AArch64GenRegisterInfo.inc.h -AArch64ISelLowering.o: AArch64GenSubtargetInfo.inc.h -AArch64ISelLowering.o: Intrinsics.inc.h -AArch64ISelLowering.po: AArch64GenCallingConv.inc.h -AArch64ISelLowering.po: AArch64GenInstrInfo.inc.h -AArch64ISelLowering.po: AArch64GenRegisterInfo.inc.h -AArch64ISelLowering.po: AArch64GenSubtargetInfo.inc.h -AArch64ISelLowering.po: Intrinsics.inc.h -AArch64InstrInfo.o: AArch64GenInstrInfo.inc.h -AArch64InstrInfo.o: AArch64GenRegisterInfo.inc.h -AArch64InstrInfo.o: AArch64GenSubtargetInfo.inc.h -AArch64InstrInfo.po: AArch64GenInstrInfo.inc.h -AArch64InstrInfo.po: AArch64GenRegisterInfo.inc.h -AArch64InstrInfo.po: AArch64GenSubtargetInfo.inc.h -AArch64LoadStoreOptimizer.o: AArch64GenInstrInfo.inc.h -AArch64LoadStoreOptimizer.o: AArch64GenRegisterInfo.inc.h -AArch64LoadStoreOptimizer.o: AArch64GenSubtargetInfo.inc.h -AArch64LoadStoreOptimizer.po: AArch64GenInstrInfo.inc.h -AArch64LoadStoreOptimizer.po: AArch64GenRegisterInfo.inc.h -AArch64LoadStoreOptimizer.po: AArch64GenSubtargetInfo.inc.h -AArch64MCInstLower.o: AArch64GenInstrInfo.inc.h -AArch64MCInstLower.o: AArch64GenRegisterInfo.inc.h -AArch64MCInstLower.o: AArch64GenSubtargetInfo.inc.h -AArch64MCInstLower.po: AArch64GenInstrInfo.inc.h -AArch64MCInstLower.po: AArch64GenRegisterInfo.inc.h -AArch64MCInstLower.po: AArch64GenSubtargetInfo.inc.h -AArch64PBQPRegAlloc.o: AArch64GenInstrInfo.inc.h -AArch64PBQPRegAlloc.o: AArch64GenRegisterInfo.inc.h -AArch64PBQPRegAlloc.o: AArch64GenSubtargetInfo.inc.h -AArch64PBQPRegAlloc.po: AArch64GenInstrInfo.inc.h -AArch64PBQPRegAlloc.po: AArch64GenRegisterInfo.inc.h -AArch64PBQPRegAlloc.po: AArch64GenSubtargetInfo.inc.h -AArch64PromoteConstant.o: AArch64GenInstrInfo.inc.h -AArch64PromoteConstant.o: AArch64GenRegisterInfo.inc.h -AArch64PromoteConstant.o: AArch64GenSubtargetInfo.inc.h -AArch64PromoteConstant.o: Intrinsics.inc.h -AArch64PromoteConstant.po: AArch64GenInstrInfo.inc.h -AArch64PromoteConstant.po: AArch64GenRegisterInfo.inc.h -AArch64PromoteConstant.po: AArch64GenSubtargetInfo.inc.h -AArch64PromoteConstant.po: Intrinsics.inc.h -AArch64RegisterInfo.o: AArch64GenInstrInfo.inc.h -AArch64RegisterInfo.o: AArch64GenRegisterInfo.inc.h -AArch64RegisterInfo.o: AArch64GenSubtargetInfo.inc.h -AArch64RegisterInfo.po: AArch64GenInstrInfo.inc.h -AArch64RegisterInfo.po: AArch64GenRegisterInfo.inc.h -AArch64RegisterInfo.po: AArch64GenSubtargetInfo.inc.h -AArch64SelectionDAGInfo.o: AArch64GenInstrInfo.inc.h -AArch64SelectionDAGInfo.o: AArch64GenRegisterInfo.inc.h -AArch64SelectionDAGInfo.o: AArch64GenSubtargetInfo.inc.h -AArch64SelectionDAGInfo.po: AArch64GenInstrInfo.inc.h -AArch64SelectionDAGInfo.po: AArch64GenRegisterInfo.inc.h -AArch64SelectionDAGInfo.po: AArch64GenSubtargetInfo.inc.h -AArch64StorePairSuppress.o: AArch64GenInstrInfo.inc.h -AArch64StorePairSuppress.o: AArch64GenRegisterInfo.inc.h -AArch64StorePairSuppress.o: AArch64GenSubtargetInfo.inc.h -AArch64StorePairSuppress.po: AArch64GenInstrInfo.inc.h -AArch64StorePairSuppress.po: AArch64GenRegisterInfo.inc.h -AArch64StorePairSuppress.po: AArch64GenSubtargetInfo.inc.h -AArch64Subtarget.o: AArch64GenInstrInfo.inc.h -AArch64Subtarget.o: AArch64GenRegisterInfo.inc.h -AArch64Subtarget.o: AArch64GenSubtargetInfo.inc.h -AArch64Subtarget.po: AArch64GenInstrInfo.inc.h -AArch64Subtarget.po: AArch64GenRegisterInfo.inc.h -AArch64Subtarget.po: AArch64GenSubtargetInfo.inc.h -AArch64TargetMachine.o: AArch64GenInstrInfo.inc.h -AArch64TargetMachine.o: AArch64GenRegisterInfo.inc.h -AArch64TargetMachine.o: AArch64GenSubtargetInfo.inc.h -AArch64TargetMachine.o: Intrinsics.inc.h -AArch64TargetMachine.po: AArch64GenInstrInfo.inc.h -AArch64TargetMachine.po: AArch64GenRegisterInfo.inc.h -AArch64TargetMachine.po: AArch64GenSubtargetInfo.inc.h -AArch64TargetMachine.po: Intrinsics.inc.h -AArch64TargetObjectFile.o: AArch64GenInstrInfo.inc.h -AArch64TargetObjectFile.o: AArch64GenRegisterInfo.inc.h -AArch64TargetObjectFile.o: AArch64GenSubtargetInfo.inc.h -AArch64TargetObjectFile.po: AArch64GenInstrInfo.inc.h -AArch64TargetObjectFile.po: AArch64GenRegisterInfo.inc.h -AArch64TargetObjectFile.po: AArch64GenSubtargetInfo.inc.h -AArch64TargetTransformInfo.o: AArch64GenInstrInfo.inc.h -AArch64TargetTransformInfo.o: AArch64GenRegisterInfo.inc.h -AArch64TargetTransformInfo.o: AArch64GenSubtargetInfo.inc.h -AArch64TargetTransformInfo.o: Intrinsics.inc.h -AArch64TargetTransformInfo.po: AArch64GenInstrInfo.inc.h -AArch64TargetTransformInfo.po: AArch64GenRegisterInfo.inc.h -AArch64TargetTransformInfo.po: AArch64GenSubtargetInfo.inc.h -AArch64TargetTransformInfo.po: Intrinsics.inc.h .endif diff --git a/lib/clang/libllvmaarch64desc/Makefile.depend b/lib/clang/libllvmaarch64desc/Makefile.depend index b21faa8..385072f 100644 --- a/lib/clang/libllvmaarch64desc/Makefile.depend +++ b/lib/clang/libllvmaarch64desc/Makefile.depend @@ -13,36 +13,4 @@ DIRDEPS = \ .if ${DEP_RELDIR} == ${_DEP_RELDIR} # local dependencies - needed for -jN in clean tree -AArch64AsmBackend.o: AArch64GenInstrInfo.inc.h -AArch64AsmBackend.o: AArch64GenRegisterInfo.inc.h -AArch64AsmBackend.o: AArch64GenSubtargetInfo.inc.h -AArch64AsmBackend.po: AArch64GenInstrInfo.inc.h -AArch64AsmBackend.po: AArch64GenRegisterInfo.inc.h -AArch64AsmBackend.po: AArch64GenSubtargetInfo.inc.h -AArch64ELFObjectWriter.o: AArch64GenInstrInfo.inc.h -AArch64ELFObjectWriter.o: AArch64GenRegisterInfo.inc.h -AArch64ELFObjectWriter.o: AArch64GenSubtargetInfo.inc.h -AArch64ELFObjectWriter.po: AArch64GenInstrInfo.inc.h -AArch64ELFObjectWriter.po: AArch64GenRegisterInfo.inc.h -AArch64ELFObjectWriter.po: AArch64GenSubtargetInfo.inc.h -AArch64MCCodeEmitter.o: AArch64GenInstrInfo.inc.h -AArch64MCCodeEmitter.o: AArch64GenMCCodeEmitter.inc.h -AArch64MCCodeEmitter.o: AArch64GenRegisterInfo.inc.h -AArch64MCCodeEmitter.o: AArch64GenSubtargetInfo.inc.h -AArch64MCCodeEmitter.po: AArch64GenInstrInfo.inc.h -AArch64MCCodeEmitter.po: AArch64GenMCCodeEmitter.inc.h -AArch64MCCodeEmitter.po: AArch64GenRegisterInfo.inc.h -AArch64MCCodeEmitter.po: AArch64GenSubtargetInfo.inc.h -AArch64MCTargetDesc.o: AArch64GenInstrInfo.inc.h -AArch64MCTargetDesc.o: AArch64GenRegisterInfo.inc.h -AArch64MCTargetDesc.o: AArch64GenSubtargetInfo.inc.h -AArch64MCTargetDesc.po: AArch64GenInstrInfo.inc.h -AArch64MCTargetDesc.po: AArch64GenRegisterInfo.inc.h -AArch64MCTargetDesc.po: AArch64GenSubtargetInfo.inc.h -AArch64MachObjectWriter.o: AArch64GenInstrInfo.inc.h -AArch64MachObjectWriter.o: AArch64GenRegisterInfo.inc.h -AArch64MachObjectWriter.o: AArch64GenSubtargetInfo.inc.h -AArch64MachObjectWriter.po: AArch64GenInstrInfo.inc.h -AArch64MachObjectWriter.po: AArch64GenRegisterInfo.inc.h -AArch64MachObjectWriter.po: AArch64GenSubtargetInfo.inc.h .endif diff --git a/lib/clang/libllvmaarch64disassembler/Makefile.depend b/lib/clang/libllvmaarch64disassembler/Makefile.depend index bbe0f2e..385072f 100644 --- a/lib/clang/libllvmaarch64disassembler/Makefile.depend +++ b/lib/clang/libllvmaarch64disassembler/Makefile.depend @@ -13,18 +13,4 @@ DIRDEPS = \ .if ${DEP_RELDIR} == ${_DEP_RELDIR} # local dependencies - needed for -jN in clean tree -AArch64Disassembler.o: AArch64GenDisassemblerTables.inc.h -AArch64Disassembler.o: AArch64GenInstrInfo.inc.h -AArch64Disassembler.o: AArch64GenRegisterInfo.inc.h -AArch64Disassembler.o: AArch64GenSubtargetInfo.inc.h -AArch64Disassembler.po: AArch64GenDisassemblerTables.inc.h -AArch64Disassembler.po: AArch64GenInstrInfo.inc.h -AArch64Disassembler.po: AArch64GenRegisterInfo.inc.h -AArch64Disassembler.po: AArch64GenSubtargetInfo.inc.h -AArch64ExternalSymbolizer.o: AArch64GenInstrInfo.inc.h -AArch64ExternalSymbolizer.o: AArch64GenRegisterInfo.inc.h -AArch64ExternalSymbolizer.o: AArch64GenSubtargetInfo.inc.h -AArch64ExternalSymbolizer.po: AArch64GenInstrInfo.inc.h -AArch64ExternalSymbolizer.po: AArch64GenRegisterInfo.inc.h -AArch64ExternalSymbolizer.po: AArch64GenSubtargetInfo.inc.h .endif diff --git a/lib/clang/libllvmaarch64instprinter/Makefile.depend b/lib/clang/libllvmaarch64instprinter/Makefile.depend index 56c8d39..385072f 100644 --- a/lib/clang/libllvmaarch64instprinter/Makefile.depend +++ b/lib/clang/libllvmaarch64instprinter/Makefile.depend @@ -13,14 +13,4 @@ DIRDEPS = \ .if ${DEP_RELDIR} == ${_DEP_RELDIR} # local dependencies - needed for -jN in clean tree -AArch64InstPrinter.o: AArch64GenAsmWriter.inc.h -AArch64InstPrinter.o: AArch64GenAsmWriter1.inc.h -AArch64InstPrinter.o: AArch64GenInstrInfo.inc.h -AArch64InstPrinter.o: AArch64GenRegisterInfo.inc.h -AArch64InstPrinter.o: AArch64GenSubtargetInfo.inc.h -AArch64InstPrinter.po: AArch64GenAsmWriter.inc.h -AArch64InstPrinter.po: AArch64GenAsmWriter1.inc.h -AArch64InstPrinter.po: AArch64GenInstrInfo.inc.h -AArch64InstPrinter.po: AArch64GenRegisterInfo.inc.h -AArch64InstPrinter.po: AArch64GenSubtargetInfo.inc.h .endif diff --git a/lib/clang/libllvmaarch64utils/Makefile.depend b/lib/clang/libllvmaarch64utils/Makefile.depend index c7f43d4..385072f 100644 --- a/lib/clang/libllvmaarch64utils/Makefile.depend +++ b/lib/clang/libllvmaarch64utils/Makefile.depend @@ -13,10 +13,4 @@ DIRDEPS = \ .if ${DEP_RELDIR} == ${_DEP_RELDIR} # local dependencies - needed for -jN in clean tree -AArch64BaseInfo.o: AArch64GenInstrInfo.inc.h -AArch64BaseInfo.o: AArch64GenRegisterInfo.inc.h -AArch64BaseInfo.o: AArch64GenSubtargetInfo.inc.h -AArch64BaseInfo.po: AArch64GenInstrInfo.inc.h -AArch64BaseInfo.po: AArch64GenRegisterInfo.inc.h -AArch64BaseInfo.po: AArch64GenSubtargetInfo.inc.h .endif diff --git a/lib/clang/libllvmanalysis/Makefile.depend b/lib/clang/libllvmanalysis/Makefile.depend index 6c96816..385072f 100644 --- a/lib/clang/libllvmanalysis/Makefile.depend +++ b/lib/clang/libllvmanalysis/Makefile.depend @@ -13,52 +13,4 @@ DIRDEPS = \ .if ${DEP_RELDIR} == ${_DEP_RELDIR} # local dependencies - needed for -jN in clean tree -AliasAnalysis.o: Intrinsics.inc.h -AliasAnalysis.po: Intrinsics.inc.h -AliasSetTracker.o: Intrinsics.inc.h -AliasSetTracker.po: Intrinsics.inc.h -AssumptionCache.o: Intrinsics.inc.h -AssumptionCache.po: Intrinsics.inc.h -BasicAliasAnalysis.o: Intrinsics.inc.h -BasicAliasAnalysis.po: Intrinsics.inc.h -CFLAliasAnalysis.o: Intrinsics.inc.h -CFLAliasAnalysis.po: Intrinsics.inc.h -CodeMetrics.o: Intrinsics.inc.h -CodeMetrics.po: Intrinsics.inc.h -ConstantFolding.o: Intrinsics.inc.h -ConstantFolding.po: Intrinsics.inc.h -CostModel.o: Intrinsics.inc.h -CostModel.po: Intrinsics.inc.h -DivergenceAnalysis.o: Intrinsics.inc.h -DivergenceAnalysis.po: Intrinsics.inc.h -InstCount.o: Intrinsics.inc.h -InstCount.po: Intrinsics.inc.h -InstructionSimplify.o: Intrinsics.inc.h -InstructionSimplify.po: Intrinsics.inc.h -LazyCallGraph.o: Intrinsics.inc.h -LazyCallGraph.po: Intrinsics.inc.h -LazyValueInfo.o: Intrinsics.inc.h -LazyValueInfo.po: Intrinsics.inc.h -Lint.o: Intrinsics.inc.h -Lint.po: Intrinsics.inc.h -Loads.o: Intrinsics.inc.h -Loads.po: Intrinsics.inc.h -LoopAccessAnalysis.o: Intrinsics.inc.h -LoopAccessAnalysis.po: Intrinsics.inc.h -MemoryBuiltins.o: Intrinsics.inc.h -MemoryBuiltins.po: Intrinsics.inc.h -MemoryDependenceAnalysis.o: Intrinsics.inc.h -MemoryDependenceAnalysis.po: Intrinsics.inc.h -MemoryLocation.o: Intrinsics.inc.h -MemoryLocation.po: Intrinsics.inc.h -PtrUseVisitor.o: Intrinsics.inc.h -PtrUseVisitor.po: Intrinsics.inc.h -ScalarEvolutionExpander.o: Intrinsics.inc.h -ScalarEvolutionExpander.po: Intrinsics.inc.h -TargetTransformInfo.o: Intrinsics.inc.h -TargetTransformInfo.po: Intrinsics.inc.h -ValueTracking.o: Intrinsics.inc.h -ValueTracking.po: Intrinsics.inc.h -VectorUtils.o: Intrinsics.inc.h -VectorUtils.po: Intrinsics.inc.h .endif diff --git a/lib/clang/libllvmarmasmparser/Makefile.depend b/lib/clang/libllvmarmasmparser/Makefile.depend index 6fa25b5..385072f 100644 --- a/lib/clang/libllvmarmasmparser/Makefile.depend +++ b/lib/clang/libllvmarmasmparser/Makefile.depend @@ -13,12 +13,4 @@ DIRDEPS = \ .if ${DEP_RELDIR} == ${_DEP_RELDIR} # local dependencies - needed for -jN in clean tree -ARMAsmParser.o: ARMGenAsmMatcher.inc.h -ARMAsmParser.o: ARMGenInstrInfo.inc.h -ARMAsmParser.o: ARMGenRegisterInfo.inc.h -ARMAsmParser.o: ARMGenSubtargetInfo.inc.h -ARMAsmParser.po: ARMGenAsmMatcher.inc.h -ARMAsmParser.po: ARMGenInstrInfo.inc.h -ARMAsmParser.po: ARMGenRegisterInfo.inc.h -ARMAsmParser.po: ARMGenSubtargetInfo.inc.h .endif diff --git a/lib/clang/libllvmarmcodegen/Makefile.depend b/lib/clang/libllvmarmcodegen/Makefile.depend index 9819e3b..385072f 100644 --- a/lib/clang/libllvmarmcodegen/Makefile.depend +++ b/lib/clang/libllvmarmcodegen/Makefile.depend @@ -13,198 +13,4 @@ DIRDEPS = \ .if ${DEP_RELDIR} == ${_DEP_RELDIR} # local dependencies - needed for -jN in clean tree -A15SDOptimizer.o: ARMGenInstrInfo.inc.h -A15SDOptimizer.o: ARMGenRegisterInfo.inc.h -A15SDOptimizer.o: ARMGenSubtargetInfo.inc.h -A15SDOptimizer.po: ARMGenInstrInfo.inc.h -A15SDOptimizer.po: ARMGenRegisterInfo.inc.h -A15SDOptimizer.po: ARMGenSubtargetInfo.inc.h -ARMAsmPrinter.o: ARMGenInstrInfo.inc.h -ARMAsmPrinter.o: ARMGenMCPseudoLowering.inc.h -ARMAsmPrinter.o: ARMGenRegisterInfo.inc.h -ARMAsmPrinter.o: ARMGenSubtargetInfo.inc.h -ARMAsmPrinter.po: ARMGenInstrInfo.inc.h -ARMAsmPrinter.po: ARMGenMCPseudoLowering.inc.h -ARMAsmPrinter.po: ARMGenRegisterInfo.inc.h -ARMAsmPrinter.po: ARMGenSubtargetInfo.inc.h -ARMBaseInstrInfo.o: ARMGenInstrInfo.inc.h -ARMBaseInstrInfo.o: ARMGenRegisterInfo.inc.h -ARMBaseInstrInfo.o: ARMGenSubtargetInfo.inc.h -ARMBaseInstrInfo.po: ARMGenInstrInfo.inc.h -ARMBaseInstrInfo.po: ARMGenRegisterInfo.inc.h -ARMBaseInstrInfo.po: ARMGenSubtargetInfo.inc.h -ARMBaseRegisterInfo.o: ARMGenInstrInfo.inc.h -ARMBaseRegisterInfo.o: ARMGenRegisterInfo.inc.h -ARMBaseRegisterInfo.o: ARMGenSubtargetInfo.inc.h -ARMBaseRegisterInfo.po: ARMGenInstrInfo.inc.h -ARMBaseRegisterInfo.po: ARMGenRegisterInfo.inc.h -ARMBaseRegisterInfo.po: ARMGenSubtargetInfo.inc.h -ARMConstantIslandPass.o: ARMGenInstrInfo.inc.h -ARMConstantIslandPass.o: ARMGenRegisterInfo.inc.h -ARMConstantIslandPass.o: ARMGenSubtargetInfo.inc.h -ARMConstantIslandPass.po: ARMGenInstrInfo.inc.h -ARMConstantIslandPass.po: ARMGenRegisterInfo.inc.h -ARMConstantIslandPass.po: ARMGenSubtargetInfo.inc.h -ARMExpandPseudoInsts.o: ARMGenInstrInfo.inc.h -ARMExpandPseudoInsts.o: ARMGenRegisterInfo.inc.h -ARMExpandPseudoInsts.o: ARMGenSubtargetInfo.inc.h -ARMExpandPseudoInsts.po: ARMGenInstrInfo.inc.h -ARMExpandPseudoInsts.po: ARMGenRegisterInfo.inc.h -ARMExpandPseudoInsts.po: ARMGenSubtargetInfo.inc.h -ARMFastISel.o: ARMGenCallingConv.inc.h -ARMFastISel.o: ARMGenFastISel.inc.h -ARMFastISel.o: ARMGenInstrInfo.inc.h -ARMFastISel.o: ARMGenRegisterInfo.inc.h -ARMFastISel.o: ARMGenSubtargetInfo.inc.h -ARMFastISel.o: Intrinsics.inc.h -ARMFastISel.po: ARMGenCallingConv.inc.h -ARMFastISel.po: ARMGenFastISel.inc.h -ARMFastISel.po: ARMGenInstrInfo.inc.h -ARMFastISel.po: ARMGenRegisterInfo.inc.h -ARMFastISel.po: ARMGenSubtargetInfo.inc.h -ARMFastISel.po: Intrinsics.inc.h -ARMFrameLowering.o: ARMGenInstrInfo.inc.h -ARMFrameLowering.o: ARMGenRegisterInfo.inc.h -ARMFrameLowering.o: ARMGenSubtargetInfo.inc.h -ARMFrameLowering.po: ARMGenInstrInfo.inc.h -ARMFrameLowering.po: ARMGenRegisterInfo.inc.h -ARMFrameLowering.po: ARMGenSubtargetInfo.inc.h -ARMHazardRecognizer.o: ARMGenInstrInfo.inc.h -ARMHazardRecognizer.o: ARMGenRegisterInfo.inc.h -ARMHazardRecognizer.o: ARMGenSubtargetInfo.inc.h -ARMHazardRecognizer.po: ARMGenInstrInfo.inc.h -ARMHazardRecognizer.po: ARMGenRegisterInfo.inc.h -ARMHazardRecognizer.po: ARMGenSubtargetInfo.inc.h -ARMISelDAGToDAG.o: ARMGenDAGISel.inc.h -ARMISelDAGToDAG.o: ARMGenInstrInfo.inc.h -ARMISelDAGToDAG.o: ARMGenRegisterInfo.inc.h -ARMISelDAGToDAG.o: ARMGenSubtargetInfo.inc.h -ARMISelDAGToDAG.o: Intrinsics.inc.h -ARMISelDAGToDAG.po: ARMGenDAGISel.inc.h -ARMISelDAGToDAG.po: ARMGenInstrInfo.inc.h -ARMISelDAGToDAG.po: ARMGenRegisterInfo.inc.h -ARMISelDAGToDAG.po: ARMGenSubtargetInfo.inc.h -ARMISelDAGToDAG.po: Intrinsics.inc.h -ARMISelLowering.o: ARMGenCallingConv.inc.h -ARMISelLowering.o: ARMGenInstrInfo.inc.h -ARMISelLowering.o: ARMGenRegisterInfo.inc.h -ARMISelLowering.o: ARMGenSubtargetInfo.inc.h -ARMISelLowering.o: Intrinsics.inc.h -ARMISelLowering.po: ARMGenCallingConv.inc.h -ARMISelLowering.po: ARMGenInstrInfo.inc.h -ARMISelLowering.po: ARMGenRegisterInfo.inc.h -ARMISelLowering.po: ARMGenSubtargetInfo.inc.h -ARMISelLowering.po: Intrinsics.inc.h -ARMInstrInfo.o: ARMGenInstrInfo.inc.h -ARMInstrInfo.o: ARMGenRegisterInfo.inc.h -ARMInstrInfo.o: ARMGenSubtargetInfo.inc.h -ARMInstrInfo.po: ARMGenInstrInfo.inc.h -ARMInstrInfo.po: ARMGenRegisterInfo.inc.h -ARMInstrInfo.po: ARMGenSubtargetInfo.inc.h -ARMLoadStoreOptimizer.o: ARMGenInstrInfo.inc.h -ARMLoadStoreOptimizer.o: ARMGenRegisterInfo.inc.h -ARMLoadStoreOptimizer.o: ARMGenSubtargetInfo.inc.h -ARMLoadStoreOptimizer.po: ARMGenInstrInfo.inc.h -ARMLoadStoreOptimizer.po: ARMGenRegisterInfo.inc.h -ARMLoadStoreOptimizer.po: ARMGenSubtargetInfo.inc.h -ARMMCInstLower.o: ARMGenInstrInfo.inc.h -ARMMCInstLower.o: ARMGenRegisterInfo.inc.h -ARMMCInstLower.o: ARMGenSubtargetInfo.inc.h -ARMMCInstLower.po: ARMGenInstrInfo.inc.h -ARMMCInstLower.po: ARMGenRegisterInfo.inc.h -ARMMCInstLower.po: ARMGenSubtargetInfo.inc.h -ARMMachineFunctionInfo.o: ARMGenInstrInfo.inc.h -ARMMachineFunctionInfo.o: ARMGenRegisterInfo.inc.h -ARMMachineFunctionInfo.o: ARMGenSubtargetInfo.inc.h -ARMMachineFunctionInfo.po: ARMGenInstrInfo.inc.h -ARMMachineFunctionInfo.po: ARMGenRegisterInfo.inc.h -ARMMachineFunctionInfo.po: ARMGenSubtargetInfo.inc.h -ARMOptimizeBarriersPass.o: ARMGenInstrInfo.inc.h -ARMOptimizeBarriersPass.o: ARMGenRegisterInfo.inc.h -ARMOptimizeBarriersPass.o: ARMGenSubtargetInfo.inc.h -ARMOptimizeBarriersPass.po: ARMGenInstrInfo.inc.h -ARMOptimizeBarriersPass.po: ARMGenRegisterInfo.inc.h -ARMOptimizeBarriersPass.po: ARMGenSubtargetInfo.inc.h -ARMRegisterInfo.o: ARMGenInstrInfo.inc.h -ARMRegisterInfo.o: ARMGenRegisterInfo.inc.h -ARMRegisterInfo.o: ARMGenSubtargetInfo.inc.h -ARMRegisterInfo.po: ARMGenInstrInfo.inc.h -ARMRegisterInfo.po: ARMGenRegisterInfo.inc.h -ARMRegisterInfo.po: ARMGenSubtargetInfo.inc.h -ARMSelectionDAGInfo.o: ARMGenInstrInfo.inc.h -ARMSelectionDAGInfo.o: ARMGenRegisterInfo.inc.h -ARMSelectionDAGInfo.o: ARMGenSubtargetInfo.inc.h -ARMSelectionDAGInfo.po: ARMGenInstrInfo.inc.h -ARMSelectionDAGInfo.po: ARMGenRegisterInfo.inc.h -ARMSelectionDAGInfo.po: ARMGenSubtargetInfo.inc.h -ARMSubtarget.o: ARMGenInstrInfo.inc.h -ARMSubtarget.o: ARMGenRegisterInfo.inc.h -ARMSubtarget.o: ARMGenSubtargetInfo.inc.h -ARMSubtarget.po: ARMGenInstrInfo.inc.h -ARMSubtarget.po: ARMGenRegisterInfo.inc.h -ARMSubtarget.po: ARMGenSubtargetInfo.inc.h -ARMTargetMachine.o: ARMGenInstrInfo.inc.h -ARMTargetMachine.o: ARMGenRegisterInfo.inc.h -ARMTargetMachine.o: ARMGenSubtargetInfo.inc.h -ARMTargetMachine.o: Intrinsics.inc.h -ARMTargetMachine.po: ARMGenInstrInfo.inc.h -ARMTargetMachine.po: ARMGenRegisterInfo.inc.h -ARMTargetMachine.po: ARMGenSubtargetInfo.inc.h -ARMTargetMachine.po: Intrinsics.inc.h -ARMTargetObjectFile.o: ARMGenInstrInfo.inc.h -ARMTargetObjectFile.o: ARMGenRegisterInfo.inc.h -ARMTargetObjectFile.o: ARMGenSubtargetInfo.inc.h -ARMTargetObjectFile.po: ARMGenInstrInfo.inc.h -ARMTargetObjectFile.po: ARMGenRegisterInfo.inc.h -ARMTargetObjectFile.po: ARMGenSubtargetInfo.inc.h -ARMTargetTransformInfo.o: ARMGenInstrInfo.inc.h -ARMTargetTransformInfo.o: ARMGenRegisterInfo.inc.h -ARMTargetTransformInfo.o: ARMGenSubtargetInfo.inc.h -ARMTargetTransformInfo.o: Intrinsics.inc.h -ARMTargetTransformInfo.po: ARMGenInstrInfo.inc.h -ARMTargetTransformInfo.po: ARMGenRegisterInfo.inc.h -ARMTargetTransformInfo.po: ARMGenSubtargetInfo.inc.h -ARMTargetTransformInfo.po: Intrinsics.inc.h -MLxExpansionPass.o: ARMGenInstrInfo.inc.h -MLxExpansionPass.o: ARMGenRegisterInfo.inc.h -MLxExpansionPass.o: ARMGenSubtargetInfo.inc.h -MLxExpansionPass.po: ARMGenInstrInfo.inc.h -MLxExpansionPass.po: ARMGenRegisterInfo.inc.h -MLxExpansionPass.po: ARMGenSubtargetInfo.inc.h -Thumb1FrameLowering.o: ARMGenInstrInfo.inc.h -Thumb1FrameLowering.o: ARMGenRegisterInfo.inc.h -Thumb1FrameLowering.o: ARMGenSubtargetInfo.inc.h -Thumb1FrameLowering.po: ARMGenInstrInfo.inc.h -Thumb1FrameLowering.po: ARMGenRegisterInfo.inc.h -Thumb1FrameLowering.po: ARMGenSubtargetInfo.inc.h -Thumb1InstrInfo.o: ARMGenInstrInfo.inc.h -Thumb1InstrInfo.o: ARMGenRegisterInfo.inc.h -Thumb1InstrInfo.o: ARMGenSubtargetInfo.inc.h -Thumb1InstrInfo.po: ARMGenInstrInfo.inc.h -Thumb1InstrInfo.po: ARMGenRegisterInfo.inc.h -Thumb1InstrInfo.po: ARMGenSubtargetInfo.inc.h -Thumb2ITBlockPass.o: ARMGenInstrInfo.inc.h -Thumb2ITBlockPass.o: ARMGenRegisterInfo.inc.h -Thumb2ITBlockPass.o: ARMGenSubtargetInfo.inc.h -Thumb2ITBlockPass.po: ARMGenInstrInfo.inc.h -Thumb2ITBlockPass.po: ARMGenRegisterInfo.inc.h -Thumb2ITBlockPass.po: ARMGenSubtargetInfo.inc.h -Thumb2InstrInfo.o: ARMGenInstrInfo.inc.h -Thumb2InstrInfo.o: ARMGenRegisterInfo.inc.h -Thumb2InstrInfo.o: ARMGenSubtargetInfo.inc.h -Thumb2InstrInfo.po: ARMGenInstrInfo.inc.h -Thumb2InstrInfo.po: ARMGenRegisterInfo.inc.h -Thumb2InstrInfo.po: ARMGenSubtargetInfo.inc.h -Thumb2SizeReduction.o: ARMGenInstrInfo.inc.h -Thumb2SizeReduction.o: ARMGenRegisterInfo.inc.h -Thumb2SizeReduction.o: ARMGenSubtargetInfo.inc.h -Thumb2SizeReduction.po: ARMGenInstrInfo.inc.h -Thumb2SizeReduction.po: ARMGenRegisterInfo.inc.h -Thumb2SizeReduction.po: ARMGenSubtargetInfo.inc.h -ThumbRegisterInfo.o: ARMGenInstrInfo.inc.h -ThumbRegisterInfo.o: ARMGenRegisterInfo.inc.h -ThumbRegisterInfo.o: ARMGenSubtargetInfo.inc.h -ThumbRegisterInfo.po: ARMGenInstrInfo.inc.h -ThumbRegisterInfo.po: ARMGenRegisterInfo.inc.h -ThumbRegisterInfo.po: ARMGenSubtargetInfo.inc.h .endif diff --git a/lib/clang/libllvmarmdesc/Makefile.depend b/lib/clang/libllvmarmdesc/Makefile.depend index 1d70a65..385072f 100644 --- a/lib/clang/libllvmarmdesc/Makefile.depend +++ b/lib/clang/libllvmarmdesc/Makefile.depend @@ -13,54 +13,4 @@ DIRDEPS = \ .if ${DEP_RELDIR} == ${_DEP_RELDIR} # local dependencies - needed for -jN in clean tree -ARMAsmBackend.o: ARMGenInstrInfo.inc.h -ARMAsmBackend.o: ARMGenRegisterInfo.inc.h -ARMAsmBackend.o: ARMGenSubtargetInfo.inc.h -ARMAsmBackend.po: ARMGenInstrInfo.inc.h -ARMAsmBackend.po: ARMGenRegisterInfo.inc.h -ARMAsmBackend.po: ARMGenSubtargetInfo.inc.h -ARMELFObjectWriter.o: ARMGenInstrInfo.inc.h -ARMELFObjectWriter.o: ARMGenRegisterInfo.inc.h -ARMELFObjectWriter.o: ARMGenSubtargetInfo.inc.h -ARMELFObjectWriter.po: ARMGenInstrInfo.inc.h -ARMELFObjectWriter.po: ARMGenRegisterInfo.inc.h -ARMELFObjectWriter.po: ARMGenSubtargetInfo.inc.h -ARMELFStreamer.o: ARMGenInstrInfo.inc.h -ARMELFStreamer.o: ARMGenRegisterInfo.inc.h -ARMELFStreamer.o: ARMGenSubtargetInfo.inc.h -ARMELFStreamer.po: ARMGenInstrInfo.inc.h -ARMELFStreamer.po: ARMGenRegisterInfo.inc.h -ARMELFStreamer.po: ARMGenSubtargetInfo.inc.h -ARMMCCodeEmitter.o: ARMGenInstrInfo.inc.h -ARMMCCodeEmitter.o: ARMGenMCCodeEmitter.inc.h -ARMMCCodeEmitter.o: ARMGenRegisterInfo.inc.h -ARMMCCodeEmitter.o: ARMGenSubtargetInfo.inc.h -ARMMCCodeEmitter.po: ARMGenInstrInfo.inc.h -ARMMCCodeEmitter.po: ARMGenMCCodeEmitter.inc.h -ARMMCCodeEmitter.po: ARMGenRegisterInfo.inc.h -ARMMCCodeEmitter.po: ARMGenSubtargetInfo.inc.h -ARMMCTargetDesc.o: ARMGenInstrInfo.inc.h -ARMMCTargetDesc.o: ARMGenRegisterInfo.inc.h -ARMMCTargetDesc.o: ARMGenSubtargetInfo.inc.h -ARMMCTargetDesc.po: ARMGenInstrInfo.inc.h -ARMMCTargetDesc.po: ARMGenRegisterInfo.inc.h -ARMMCTargetDesc.po: ARMGenSubtargetInfo.inc.h -ARMMachORelocationInfo.o: ARMGenInstrInfo.inc.h -ARMMachORelocationInfo.o: ARMGenRegisterInfo.inc.h -ARMMachORelocationInfo.o: ARMGenSubtargetInfo.inc.h -ARMMachORelocationInfo.po: ARMGenInstrInfo.inc.h -ARMMachORelocationInfo.po: ARMGenRegisterInfo.inc.h -ARMMachORelocationInfo.po: ARMGenSubtargetInfo.inc.h -ARMMachObjectWriter.o: ARMGenInstrInfo.inc.h -ARMMachObjectWriter.o: ARMGenRegisterInfo.inc.h -ARMMachObjectWriter.o: ARMGenSubtargetInfo.inc.h -ARMMachObjectWriter.po: ARMGenInstrInfo.inc.h -ARMMachObjectWriter.po: ARMGenRegisterInfo.inc.h -ARMMachObjectWriter.po: ARMGenSubtargetInfo.inc.h -ARMWinCOFFStreamer.o: ARMGenInstrInfo.inc.h -ARMWinCOFFStreamer.o: ARMGenRegisterInfo.inc.h -ARMWinCOFFStreamer.o: ARMGenSubtargetInfo.inc.h -ARMWinCOFFStreamer.po: ARMGenInstrInfo.inc.h -ARMWinCOFFStreamer.po: ARMGenRegisterInfo.inc.h -ARMWinCOFFStreamer.po: ARMGenSubtargetInfo.inc.h .endif diff --git a/lib/clang/libllvmarmdisassembler/Makefile.depend b/lib/clang/libllvmarmdisassembler/Makefile.depend index 59787f1..385072f 100644 --- a/lib/clang/libllvmarmdisassembler/Makefile.depend +++ b/lib/clang/libllvmarmdisassembler/Makefile.depend @@ -13,12 +13,4 @@ DIRDEPS = \ .if ${DEP_RELDIR} == ${_DEP_RELDIR} # local dependencies - needed for -jN in clean tree -ARMDisassembler.o: ARMGenDisassemblerTables.inc.h -ARMDisassembler.o: ARMGenInstrInfo.inc.h -ARMDisassembler.o: ARMGenRegisterInfo.inc.h -ARMDisassembler.o: ARMGenSubtargetInfo.inc.h -ARMDisassembler.po: ARMGenDisassemblerTables.inc.h -ARMDisassembler.po: ARMGenInstrInfo.inc.h -ARMDisassembler.po: ARMGenRegisterInfo.inc.h -ARMDisassembler.po: ARMGenSubtargetInfo.inc.h .endif diff --git a/lib/clang/libllvmarminfo/Makefile.depend b/lib/clang/libllvmarminfo/Makefile.depend index eb09777..385072f 100644 --- a/lib/clang/libllvmarminfo/Makefile.depend +++ b/lib/clang/libllvmarminfo/Makefile.depend @@ -13,10 +13,4 @@ DIRDEPS = \ .if ${DEP_RELDIR} == ${_DEP_RELDIR} # local dependencies - needed for -jN in clean tree -ARMTargetInfo.o: ARMGenInstrInfo.inc.h -ARMTargetInfo.o: ARMGenRegisterInfo.inc.h -ARMTargetInfo.o: ARMGenSubtargetInfo.inc.h -ARMTargetInfo.po: ARMGenInstrInfo.inc.h -ARMTargetInfo.po: ARMGenRegisterInfo.inc.h -ARMTargetInfo.po: ARMGenSubtargetInfo.inc.h .endif diff --git a/lib/clang/libllvmarminstprinter/Makefile.depend b/lib/clang/libllvmarminstprinter/Makefile.depend index ba60d06..385072f 100644 --- a/lib/clang/libllvmarminstprinter/Makefile.depend +++ b/lib/clang/libllvmarminstprinter/Makefile.depend @@ -13,12 +13,4 @@ DIRDEPS = \ .if ${DEP_RELDIR} == ${_DEP_RELDIR} # local dependencies - needed for -jN in clean tree -ARMInstPrinter.o: ARMGenAsmWriter.inc.h -ARMInstPrinter.o: ARMGenInstrInfo.inc.h -ARMInstPrinter.o: ARMGenRegisterInfo.inc.h -ARMInstPrinter.o: ARMGenSubtargetInfo.inc.h -ARMInstPrinter.po: ARMGenAsmWriter.inc.h -ARMInstPrinter.po: ARMGenInstrInfo.inc.h -ARMInstPrinter.po: ARMGenRegisterInfo.inc.h -ARMInstPrinter.po: ARMGenSubtargetInfo.inc.h .endif diff --git a/lib/clang/libllvmasmprinter/Makefile.depend b/lib/clang/libllvmasmprinter/Makefile.depend index ed98ab4..385072f 100644 --- a/lib/clang/libllvmasmprinter/Makefile.depend +++ b/lib/clang/libllvmasmprinter/Makefile.depend @@ -13,6 +13,4 @@ DIRDEPS = \ .if ${DEP_RELDIR} == ${_DEP_RELDIR} # local dependencies - needed for -jN in clean tree -ErlangGCPrinter.o: Intrinsics.inc.h -ErlangGCPrinter.po: Intrinsics.inc.h .endif diff --git a/lib/clang/libllvmbitreader/Makefile.depend b/lib/clang/libllvmbitreader/Makefile.depend index 387067c..385072f 100644 --- a/lib/clang/libllvmbitreader/Makefile.depend +++ b/lib/clang/libllvmbitreader/Makefile.depend @@ -13,6 +13,4 @@ DIRDEPS = \ .if ${DEP_RELDIR} == ${_DEP_RELDIR} # local dependencies - needed for -jN in clean tree -BitcodeReader.o: Intrinsics.inc.h -BitcodeReader.po: Intrinsics.inc.h .endif diff --git a/lib/clang/libllvmcodegen/Makefile.depend b/lib/clang/libllvmcodegen/Makefile.depend index 888f72f..385072f 100644 --- a/lib/clang/libllvmcodegen/Makefile.depend +++ b/lib/clang/libllvmcodegen/Makefile.depend @@ -13,34 +13,4 @@ DIRDEPS = \ .if ${DEP_RELDIR} == ${_DEP_RELDIR} # local dependencies - needed for -jN in clean tree -Analysis.o: Intrinsics.inc.h -Analysis.po: Intrinsics.inc.h -AtomicExpandPass.o: Intrinsics.inc.h -AtomicExpandPass.po: Intrinsics.inc.h -BasicTargetTransformInfo.o: Intrinsics.inc.h -BasicTargetTransformInfo.po: Intrinsics.inc.h -CodeGenPrepare.o: Intrinsics.inc.h -CodeGenPrepare.po: Intrinsics.inc.h -DwarfEHPrepare.o: Intrinsics.inc.h -DwarfEHPrepare.po: Intrinsics.inc.h -GCRootLowering.o: Intrinsics.inc.h -GCRootLowering.po: Intrinsics.inc.h -GlobalMerge.o: Intrinsics.inc.h -GlobalMerge.po: Intrinsics.inc.h -IntrinsicLowering.o: Intrinsics.inc.h -IntrinsicLowering.po: Intrinsics.inc.h -LLVMTargetMachine.o: Intrinsics.inc.h -LLVMTargetMachine.po: Intrinsics.inc.h -LocalStackSlotAllocation.o: Intrinsics.inc.h -LocalStackSlotAllocation.po: Intrinsics.inc.h -ShadowStackGC.o: Intrinsics.inc.h -ShadowStackGC.po: Intrinsics.inc.h -ShadowStackGCLowering.o: Intrinsics.inc.h -ShadowStackGCLowering.po: Intrinsics.inc.h -SjLjEHPrepare.o: Intrinsics.inc.h -SjLjEHPrepare.po: Intrinsics.inc.h -StackProtector.o: Intrinsics.inc.h -StackProtector.po: Intrinsics.inc.h -WinEHPrepare.o: Intrinsics.inc.h -WinEHPrepare.po: Intrinsics.inc.h .endif diff --git a/lib/clang/libllvmcore/Makefile.depend b/lib/clang/libllvmcore/Makefile.depend index 7393881..385072f 100644 --- a/lib/clang/libllvmcore/Makefile.depend +++ b/lib/clang/libllvmcore/Makefile.depend @@ -13,30 +13,4 @@ DIRDEPS = \ .if ${DEP_RELDIR} == ${_DEP_RELDIR} # local dependencies - needed for -jN in clean tree -AsmWriter.o: Intrinsics.inc.h -AsmWriter.po: Intrinsics.inc.h -AutoUpgrade.o: Intrinsics.inc.h -AutoUpgrade.po: Intrinsics.inc.h -BasicBlock.o: Intrinsics.inc.h -BasicBlock.po: Intrinsics.inc.h -ConstantFold.o: Intrinsics.inc.h -ConstantFold.po: Intrinsics.inc.h -Core.o: Intrinsics.inc.h -Core.po: Intrinsics.inc.h -DIBuilder.o: Intrinsics.inc.h -DIBuilder.po: Intrinsics.inc.h -DebugInfo.o: Intrinsics.inc.h -DebugInfo.po: Intrinsics.inc.h -Function.o: Intrinsics.inc.h -Function.po: Intrinsics.inc.h -IRBuilder.o: Intrinsics.inc.h -IRBuilder.po: Intrinsics.inc.h -IntrinsicInst.o: Intrinsics.inc.h -IntrinsicInst.po: Intrinsics.inc.h -Statepoint.o: Intrinsics.inc.h -Statepoint.po: Intrinsics.inc.h -Value.o: Intrinsics.inc.h -Value.po: Intrinsics.inc.h -Verifier.o: Intrinsics.inc.h -Verifier.po: Intrinsics.inc.h .endif diff --git a/lib/clang/libllvminstcombine/Makefile.depend b/lib/clang/libllvminstcombine/Makefile.depend index d2df3e5..385072f 100644 --- a/lib/clang/libllvminstcombine/Makefile.depend +++ b/lib/clang/libllvminstcombine/Makefile.depend @@ -13,30 +13,4 @@ DIRDEPS = \ .if ${DEP_RELDIR} == ${_DEP_RELDIR} # local dependencies - needed for -jN in clean tree -InstCombineAddSub.o: Intrinsics.inc.h -InstCombineAddSub.po: Intrinsics.inc.h -InstCombineAndOrXor.o: Intrinsics.inc.h -InstCombineAndOrXor.po: Intrinsics.inc.h -InstCombineCalls.o: Intrinsics.inc.h -InstCombineCalls.po: Intrinsics.inc.h -InstCombineCasts.o: Intrinsics.inc.h -InstCombineCasts.po: Intrinsics.inc.h -InstCombineCompares.o: Intrinsics.inc.h -InstCombineCompares.po: Intrinsics.inc.h -InstCombineLoadStoreAlloca.o: Intrinsics.inc.h -InstCombineLoadStoreAlloca.po: Intrinsics.inc.h -InstCombineMulDivRem.o: Intrinsics.inc.h -InstCombineMulDivRem.po: Intrinsics.inc.h -InstCombinePHI.o: Intrinsics.inc.h -InstCombinePHI.po: Intrinsics.inc.h -InstCombineSelect.o: Intrinsics.inc.h -InstCombineSelect.po: Intrinsics.inc.h -InstCombineShifts.o: Intrinsics.inc.h -InstCombineShifts.po: Intrinsics.inc.h -InstCombineSimplifyDemanded.o: Intrinsics.inc.h -InstCombineSimplifyDemanded.po: Intrinsics.inc.h -InstCombineVectorOps.o: Intrinsics.inc.h -InstCombineVectorOps.po: Intrinsics.inc.h -InstructionCombining.o: Intrinsics.inc.h -InstructionCombining.po: Intrinsics.inc.h .endif diff --git a/lib/clang/libllvminstrumentation/Makefile.depend b/lib/clang/libllvminstrumentation/Makefile.depend index 2718ddd..385072f 100644 --- a/lib/clang/libllvminstrumentation/Makefile.depend +++ b/lib/clang/libllvminstrumentation/Makefile.depend @@ -13,20 +13,4 @@ DIRDEPS = \ .if ${DEP_RELDIR} == ${_DEP_RELDIR} # local dependencies - needed for -jN in clean tree -AddressSanitizer.o: Intrinsics.inc.h -AddressSanitizer.po: Intrinsics.inc.h -BoundsChecking.o: Intrinsics.inc.h -BoundsChecking.po: Intrinsics.inc.h -DataFlowSanitizer.o: Intrinsics.inc.h -DataFlowSanitizer.po: Intrinsics.inc.h -GCOVProfiling.o: Intrinsics.inc.h -GCOVProfiling.po: Intrinsics.inc.h -InstrProfiling.o: Intrinsics.inc.h -InstrProfiling.po: Intrinsics.inc.h -MemorySanitizer.o: Intrinsics.inc.h -MemorySanitizer.po: Intrinsics.inc.h -SafeStack.o: Intrinsics.inc.h -SafeStack.po: Intrinsics.inc.h -ThreadSanitizer.o: Intrinsics.inc.h -ThreadSanitizer.po: Intrinsics.inc.h .endif diff --git a/lib/clang/libllvminterpreter/Makefile.depend b/lib/clang/libllvminterpreter/Makefile.depend index ff32938..385072f 100644 --- a/lib/clang/libllvminterpreter/Makefile.depend +++ b/lib/clang/libllvminterpreter/Makefile.depend @@ -13,10 +13,4 @@ DIRDEPS = \ .if ${DEP_RELDIR} == ${_DEP_RELDIR} # local dependencies - needed for -jN in clean tree -Execution.o: Intrinsics.inc.h -Execution.po: Intrinsics.inc.h -ExternalFunctions.o: Intrinsics.inc.h -ExternalFunctions.po: Intrinsics.inc.h -Interpreter.o: Intrinsics.inc.h -Interpreter.po: Intrinsics.inc.h .endif diff --git a/lib/clang/libllvmipa/Makefile.depend b/lib/clang/libllvmipa/Makefile.depend index b534e62..385072f 100644 --- a/lib/clang/libllvmipa/Makefile.depend +++ b/lib/clang/libllvmipa/Makefile.depend @@ -13,14 +13,4 @@ DIRDEPS = \ .if ${DEP_RELDIR} == ${_DEP_RELDIR} # local dependencies - needed for -jN in clean tree -CallGraph.o: Intrinsics.inc.h -CallGraph.po: Intrinsics.inc.h -CallGraphSCCPass.o: Intrinsics.inc.h -CallGraphSCCPass.po: Intrinsics.inc.h -CallPrinter.o: Intrinsics.inc.h -CallPrinter.po: Intrinsics.inc.h -GlobalsModRef.o: Intrinsics.inc.h -GlobalsModRef.po: Intrinsics.inc.h -InlineCost.o: Intrinsics.inc.h -InlineCost.po: Intrinsics.inc.h .endif diff --git a/lib/clang/libllvmipo/Makefile.depend b/lib/clang/libllvmipo/Makefile.depend index 84342a0..385072f 100644 --- a/lib/clang/libllvmipo/Makefile.depend +++ b/lib/clang/libllvmipo/Makefile.depend @@ -13,24 +13,4 @@ DIRDEPS = \ .if ${DEP_RELDIR} == ${_DEP_RELDIR} # local dependencies - needed for -jN in clean tree -ArgumentPromotion.o: Intrinsics.inc.h -ArgumentPromotion.po: Intrinsics.inc.h -DeadArgumentElimination.o: Intrinsics.inc.h -DeadArgumentElimination.po: Intrinsics.inc.h -FunctionAttrs.o: Intrinsics.inc.h -FunctionAttrs.po: Intrinsics.inc.h -GlobalOpt.o: Intrinsics.inc.h -GlobalOpt.po: Intrinsics.inc.h -InlineAlways.o: Intrinsics.inc.h -InlineAlways.po: Intrinsics.inc.h -InlineSimple.o: Intrinsics.inc.h -InlineSimple.po: Intrinsics.inc.h -Inliner.o: Intrinsics.inc.h -Inliner.po: Intrinsics.inc.h -Internalize.o: Intrinsics.inc.h -Internalize.po: Intrinsics.inc.h -LowerBitSets.o: Intrinsics.inc.h -LowerBitSets.po: Intrinsics.inc.h -PruneEH.o: Intrinsics.inc.h -PruneEH.po: Intrinsics.inc.h .endif diff --git a/lib/clang/libllvmlibdriver/Makefile.depend b/lib/clang/libllvmlibdriver/Makefile.depend index 731ea8a..385072f 100644 --- a/lib/clang/libllvmlibdriver/Makefile.depend +++ b/lib/clang/libllvmlibdriver/Makefile.depend @@ -13,6 +13,4 @@ DIRDEPS = \ .if ${DEP_RELDIR} == ${_DEP_RELDIR} # local dependencies - needed for -jN in clean tree -LibDriver.o: Options.inc.h -LibDriver.po: Options.inc.h .endif diff --git a/lib/clang/libllvmlto/Makefile.depend b/lib/clang/libllvmlto/Makefile.depend index 642380b..385072f 100644 --- a/lib/clang/libllvmlto/Makefile.depend +++ b/lib/clang/libllvmlto/Makefile.depend @@ -13,6 +13,4 @@ DIRDEPS = \ .if ${DEP_RELDIR} == ${_DEP_RELDIR} # local dependencies - needed for -jN in clean tree -LTOCodeGenerator.o: Intrinsics.inc.h -LTOCodeGenerator.po: Intrinsics.inc.h .endif diff --git a/lib/clang/libllvmmipsasmparser/Makefile.depend b/lib/clang/libllvmmipsasmparser/Makefile.depend index 541f726..385072f 100644 --- a/lib/clang/libllvmmipsasmparser/Makefile.depend +++ b/lib/clang/libllvmmipsasmparser/Makefile.depend @@ -13,12 +13,4 @@ DIRDEPS = \ .if ${DEP_RELDIR} == ${_DEP_RELDIR} # local dependencies - needed for -jN in clean tree -MipsAsmParser.o: MipsGenAsmMatcher.inc.h -MipsAsmParser.o: MipsGenInstrInfo.inc.h -MipsAsmParser.o: MipsGenRegisterInfo.inc.h -MipsAsmParser.o: MipsGenSubtargetInfo.inc.h -MipsAsmParser.po: MipsGenAsmMatcher.inc.h -MipsAsmParser.po: MipsGenInstrInfo.inc.h -MipsAsmParser.po: MipsGenRegisterInfo.inc.h -MipsAsmParser.po: MipsGenSubtargetInfo.inc.h .endif diff --git a/lib/clang/libllvmmipscodegen/Makefile.depend b/lib/clang/libllvmmipscodegen/Makefile.depend index 30c9f8f..385072f 100644 --- a/lib/clang/libllvmmipscodegen/Makefile.depend +++ b/lib/clang/libllvmmipscodegen/Makefile.depend @@ -13,252 +13,4 @@ DIRDEPS = \ .if ${DEP_RELDIR} == ${_DEP_RELDIR} # local dependencies - needed for -jN in clean tree -Mips16FrameLowering.o: MipsGenInstrInfo.inc.h -Mips16FrameLowering.o: MipsGenRegisterInfo.inc.h -Mips16FrameLowering.o: MipsGenSubtargetInfo.inc.h -Mips16FrameLowering.po: MipsGenInstrInfo.inc.h -Mips16FrameLowering.po: MipsGenRegisterInfo.inc.h -Mips16FrameLowering.po: MipsGenSubtargetInfo.inc.h -Mips16HardFloat.o: Intrinsics.inc.h -Mips16HardFloat.o: MipsGenInstrInfo.inc.h -Mips16HardFloat.o: MipsGenRegisterInfo.inc.h -Mips16HardFloat.o: MipsGenSubtargetInfo.inc.h -Mips16HardFloat.po: Intrinsics.inc.h -Mips16HardFloat.po: MipsGenInstrInfo.inc.h -Mips16HardFloat.po: MipsGenRegisterInfo.inc.h -Mips16HardFloat.po: MipsGenSubtargetInfo.inc.h -Mips16ISelDAGToDAG.o: Intrinsics.inc.h -Mips16ISelDAGToDAG.o: MipsGenDAGISel.inc.h -Mips16ISelDAGToDAG.o: MipsGenInstrInfo.inc.h -Mips16ISelDAGToDAG.o: MipsGenRegisterInfo.inc.h -Mips16ISelDAGToDAG.o: MipsGenSubtargetInfo.inc.h -Mips16ISelDAGToDAG.po: Intrinsics.inc.h -Mips16ISelDAGToDAG.po: MipsGenDAGISel.inc.h -Mips16ISelDAGToDAG.po: MipsGenInstrInfo.inc.h -Mips16ISelDAGToDAG.po: MipsGenRegisterInfo.inc.h -Mips16ISelDAGToDAG.po: MipsGenSubtargetInfo.inc.h -Mips16ISelLowering.o: Intrinsics.inc.h -Mips16ISelLowering.o: MipsGenInstrInfo.inc.h -Mips16ISelLowering.o: MipsGenRegisterInfo.inc.h -Mips16ISelLowering.o: MipsGenSubtargetInfo.inc.h -Mips16ISelLowering.po: Intrinsics.inc.h -Mips16ISelLowering.po: MipsGenInstrInfo.inc.h -Mips16ISelLowering.po: MipsGenRegisterInfo.inc.h -Mips16ISelLowering.po: MipsGenSubtargetInfo.inc.h -Mips16InstrInfo.o: Intrinsics.inc.h -Mips16InstrInfo.o: MipsGenInstrInfo.inc.h -Mips16InstrInfo.o: MipsGenRegisterInfo.inc.h -Mips16InstrInfo.o: MipsGenSubtargetInfo.inc.h -Mips16InstrInfo.po: Intrinsics.inc.h -Mips16InstrInfo.po: MipsGenInstrInfo.inc.h -Mips16InstrInfo.po: MipsGenRegisterInfo.inc.h -Mips16InstrInfo.po: MipsGenSubtargetInfo.inc.h -Mips16RegisterInfo.o: MipsGenInstrInfo.inc.h -Mips16RegisterInfo.o: MipsGenRegisterInfo.inc.h -Mips16RegisterInfo.o: MipsGenSubtargetInfo.inc.h -Mips16RegisterInfo.po: MipsGenInstrInfo.inc.h -Mips16RegisterInfo.po: MipsGenRegisterInfo.inc.h -Mips16RegisterInfo.po: MipsGenSubtargetInfo.inc.h -MipsAnalyzeImmediate.o: MipsGenInstrInfo.inc.h -MipsAnalyzeImmediate.o: MipsGenRegisterInfo.inc.h -MipsAnalyzeImmediate.o: MipsGenSubtargetInfo.inc.h -MipsAnalyzeImmediate.po: MipsGenInstrInfo.inc.h -MipsAnalyzeImmediate.po: MipsGenRegisterInfo.inc.h -MipsAnalyzeImmediate.po: MipsGenSubtargetInfo.inc.h -MipsAsmPrinter.o: Intrinsics.inc.h -MipsAsmPrinter.o: MipsGenInstrInfo.inc.h -MipsAsmPrinter.o: MipsGenMCPseudoLowering.inc.h -MipsAsmPrinter.o: MipsGenRegisterInfo.inc.h -MipsAsmPrinter.o: MipsGenSubtargetInfo.inc.h -MipsAsmPrinter.po: Intrinsics.inc.h -MipsAsmPrinter.po: MipsGenInstrInfo.inc.h -MipsAsmPrinter.po: MipsGenMCPseudoLowering.inc.h -MipsAsmPrinter.po: MipsGenRegisterInfo.inc.h -MipsAsmPrinter.po: MipsGenSubtargetInfo.inc.h -MipsCCState.o: MipsGenInstrInfo.inc.h -MipsCCState.o: MipsGenRegisterInfo.inc.h -MipsCCState.o: MipsGenSubtargetInfo.inc.h -MipsCCState.po: MipsGenInstrInfo.inc.h -MipsCCState.po: MipsGenRegisterInfo.inc.h -MipsCCState.po: MipsGenSubtargetInfo.inc.h -MipsConstantIslandPass.o: Intrinsics.inc.h -MipsConstantIslandPass.o: MipsGenInstrInfo.inc.h -MipsConstantIslandPass.o: MipsGenRegisterInfo.inc.h -MipsConstantIslandPass.o: MipsGenSubtargetInfo.inc.h -MipsConstantIslandPass.po: Intrinsics.inc.h -MipsConstantIslandPass.po: MipsGenInstrInfo.inc.h -MipsConstantIslandPass.po: MipsGenRegisterInfo.inc.h -MipsConstantIslandPass.po: MipsGenSubtargetInfo.inc.h -MipsDelaySlotFiller.o: Intrinsics.inc.h -MipsDelaySlotFiller.o: MipsGenInstrInfo.inc.h -MipsDelaySlotFiller.o: MipsGenRegisterInfo.inc.h -MipsDelaySlotFiller.o: MipsGenSubtargetInfo.inc.h -MipsDelaySlotFiller.po: Intrinsics.inc.h -MipsDelaySlotFiller.po: MipsGenInstrInfo.inc.h -MipsDelaySlotFiller.po: MipsGenRegisterInfo.inc.h -MipsDelaySlotFiller.po: MipsGenSubtargetInfo.inc.h -MipsFastISel.o: Intrinsics.inc.h -MipsFastISel.o: MipsGenCallingConv.inc.h -MipsFastISel.o: MipsGenFastISel.inc.h -MipsFastISel.o: MipsGenInstrInfo.inc.h -MipsFastISel.o: MipsGenRegisterInfo.inc.h -MipsFastISel.o: MipsGenSubtargetInfo.inc.h -MipsFastISel.po: Intrinsics.inc.h -MipsFastISel.po: MipsGenCallingConv.inc.h -MipsFastISel.po: MipsGenFastISel.inc.h -MipsFastISel.po: MipsGenInstrInfo.inc.h -MipsFastISel.po: MipsGenRegisterInfo.inc.h -MipsFastISel.po: MipsGenSubtargetInfo.inc.h -MipsFrameLowering.o: Intrinsics.inc.h -MipsFrameLowering.o: MipsGenInstrInfo.inc.h -MipsFrameLowering.o: MipsGenRegisterInfo.inc.h -MipsFrameLowering.o: MipsGenSubtargetInfo.inc.h -MipsFrameLowering.po: Intrinsics.inc.h -MipsFrameLowering.po: MipsGenInstrInfo.inc.h -MipsFrameLowering.po: MipsGenRegisterInfo.inc.h -MipsFrameLowering.po: MipsGenSubtargetInfo.inc.h -MipsISelDAGToDAG.o: Intrinsics.inc.h -MipsISelDAGToDAG.o: MipsGenDAGISel.inc.h -MipsISelDAGToDAG.o: MipsGenInstrInfo.inc.h -MipsISelDAGToDAG.o: MipsGenRegisterInfo.inc.h -MipsISelDAGToDAG.o: MipsGenSubtargetInfo.inc.h -MipsISelDAGToDAG.po: Intrinsics.inc.h -MipsISelDAGToDAG.po: MipsGenDAGISel.inc.h -MipsISelDAGToDAG.po: MipsGenInstrInfo.inc.h -MipsISelDAGToDAG.po: MipsGenRegisterInfo.inc.h -MipsISelDAGToDAG.po: MipsGenSubtargetInfo.inc.h -MipsISelLowering.o: Intrinsics.inc.h -MipsISelLowering.o: MipsGenCallingConv.inc.h -MipsISelLowering.o: MipsGenInstrInfo.inc.h -MipsISelLowering.o: MipsGenRegisterInfo.inc.h -MipsISelLowering.o: MipsGenSubtargetInfo.inc.h -MipsISelLowering.po: Intrinsics.inc.h -MipsISelLowering.po: MipsGenCallingConv.inc.h -MipsISelLowering.po: MipsGenInstrInfo.inc.h -MipsISelLowering.po: MipsGenRegisterInfo.inc.h -MipsISelLowering.po: MipsGenSubtargetInfo.inc.h -MipsInstrInfo.o: MipsGenInstrInfo.inc.h -MipsInstrInfo.o: MipsGenRegisterInfo.inc.h -MipsInstrInfo.o: MipsGenSubtargetInfo.inc.h -MipsInstrInfo.po: MipsGenInstrInfo.inc.h -MipsInstrInfo.po: MipsGenRegisterInfo.inc.h -MipsInstrInfo.po: MipsGenSubtargetInfo.inc.h -MipsLongBranch.o: Intrinsics.inc.h -MipsLongBranch.o: MipsGenInstrInfo.inc.h -MipsLongBranch.o: MipsGenRegisterInfo.inc.h -MipsLongBranch.o: MipsGenSubtargetInfo.inc.h -MipsLongBranch.po: Intrinsics.inc.h -MipsLongBranch.po: MipsGenInstrInfo.inc.h -MipsLongBranch.po: MipsGenRegisterInfo.inc.h -MipsLongBranch.po: MipsGenSubtargetInfo.inc.h -MipsMCInstLower.o: MipsGenInstrInfo.inc.h -MipsMCInstLower.o: MipsGenRegisterInfo.inc.h -MipsMCInstLower.o: MipsGenSubtargetInfo.inc.h -MipsMCInstLower.po: MipsGenInstrInfo.inc.h -MipsMCInstLower.po: MipsGenRegisterInfo.inc.h -MipsMCInstLower.po: MipsGenSubtargetInfo.inc.h -MipsMachineFunction.o: Intrinsics.inc.h -MipsMachineFunction.o: MipsGenInstrInfo.inc.h -MipsMachineFunction.o: MipsGenRegisterInfo.inc.h -MipsMachineFunction.o: MipsGenSubtargetInfo.inc.h -MipsMachineFunction.po: Intrinsics.inc.h -MipsMachineFunction.po: MipsGenInstrInfo.inc.h -MipsMachineFunction.po: MipsGenRegisterInfo.inc.h -MipsMachineFunction.po: MipsGenSubtargetInfo.inc.h -MipsModuleISelDAGToDAG.o: Intrinsics.inc.h -MipsModuleISelDAGToDAG.o: MipsGenInstrInfo.inc.h -MipsModuleISelDAGToDAG.o: MipsGenRegisterInfo.inc.h -MipsModuleISelDAGToDAG.o: MipsGenSubtargetInfo.inc.h -MipsModuleISelDAGToDAG.po: Intrinsics.inc.h -MipsModuleISelDAGToDAG.po: MipsGenInstrInfo.inc.h -MipsModuleISelDAGToDAG.po: MipsGenRegisterInfo.inc.h -MipsModuleISelDAGToDAG.po: MipsGenSubtargetInfo.inc.h -MipsOptimizePICCall.o: Intrinsics.inc.h -MipsOptimizePICCall.o: MipsGenInstrInfo.inc.h -MipsOptimizePICCall.o: MipsGenRegisterInfo.inc.h -MipsOptimizePICCall.o: MipsGenSubtargetInfo.inc.h -MipsOptimizePICCall.po: Intrinsics.inc.h -MipsOptimizePICCall.po: MipsGenInstrInfo.inc.h -MipsOptimizePICCall.po: MipsGenRegisterInfo.inc.h -MipsOptimizePICCall.po: MipsGenSubtargetInfo.inc.h -MipsOs16.o: MipsGenInstrInfo.inc.h -MipsOs16.o: MipsGenRegisterInfo.inc.h -MipsOs16.o: MipsGenSubtargetInfo.inc.h -MipsOs16.po: MipsGenInstrInfo.inc.h -MipsOs16.po: MipsGenRegisterInfo.inc.h -MipsOs16.po: MipsGenSubtargetInfo.inc.h -MipsRegisterInfo.o: Intrinsics.inc.h -MipsRegisterInfo.o: MipsGenInstrInfo.inc.h -MipsRegisterInfo.o: MipsGenRegisterInfo.inc.h -MipsRegisterInfo.o: MipsGenSubtargetInfo.inc.h -MipsRegisterInfo.po: Intrinsics.inc.h -MipsRegisterInfo.po: MipsGenInstrInfo.inc.h -MipsRegisterInfo.po: MipsGenRegisterInfo.inc.h -MipsRegisterInfo.po: MipsGenSubtargetInfo.inc.h -MipsSEFrameLowering.o: MipsGenInstrInfo.inc.h -MipsSEFrameLowering.o: MipsGenRegisterInfo.inc.h -MipsSEFrameLowering.o: MipsGenSubtargetInfo.inc.h -MipsSEFrameLowering.po: MipsGenInstrInfo.inc.h -MipsSEFrameLowering.po: MipsGenRegisterInfo.inc.h -MipsSEFrameLowering.po: MipsGenSubtargetInfo.inc.h -MipsSEISelDAGToDAG.o: Intrinsics.inc.h -MipsSEISelDAGToDAG.o: MipsGenDAGISel.inc.h -MipsSEISelDAGToDAG.o: MipsGenInstrInfo.inc.h -MipsSEISelDAGToDAG.o: MipsGenRegisterInfo.inc.h -MipsSEISelDAGToDAG.o: MipsGenSubtargetInfo.inc.h -MipsSEISelDAGToDAG.po: Intrinsics.inc.h -MipsSEISelDAGToDAG.po: MipsGenDAGISel.inc.h -MipsSEISelDAGToDAG.po: MipsGenInstrInfo.inc.h -MipsSEISelDAGToDAG.po: MipsGenRegisterInfo.inc.h -MipsSEISelDAGToDAG.po: MipsGenSubtargetInfo.inc.h -MipsSEISelLowering.o: Intrinsics.inc.h -MipsSEISelLowering.o: MipsGenInstrInfo.inc.h -MipsSEISelLowering.o: MipsGenRegisterInfo.inc.h -MipsSEISelLowering.o: MipsGenSubtargetInfo.inc.h -MipsSEISelLowering.po: Intrinsics.inc.h -MipsSEISelLowering.po: MipsGenInstrInfo.inc.h -MipsSEISelLowering.po: MipsGenRegisterInfo.inc.h -MipsSEISelLowering.po: MipsGenSubtargetInfo.inc.h -MipsSEInstrInfo.o: Intrinsics.inc.h -MipsSEInstrInfo.o: MipsGenInstrInfo.inc.h -MipsSEInstrInfo.o: MipsGenRegisterInfo.inc.h -MipsSEInstrInfo.o: MipsGenSubtargetInfo.inc.h -MipsSEInstrInfo.po: Intrinsics.inc.h -MipsSEInstrInfo.po: MipsGenInstrInfo.inc.h -MipsSEInstrInfo.po: MipsGenRegisterInfo.inc.h -MipsSEInstrInfo.po: MipsGenSubtargetInfo.inc.h -MipsSERegisterInfo.o: Intrinsics.inc.h -MipsSERegisterInfo.o: MipsGenInstrInfo.inc.h -MipsSERegisterInfo.o: MipsGenRegisterInfo.inc.h -MipsSERegisterInfo.o: MipsGenSubtargetInfo.inc.h -MipsSERegisterInfo.po: Intrinsics.inc.h -MipsSERegisterInfo.po: MipsGenInstrInfo.inc.h -MipsSERegisterInfo.po: MipsGenRegisterInfo.inc.h -MipsSERegisterInfo.po: MipsGenSubtargetInfo.inc.h -MipsSubtarget.o: Intrinsics.inc.h -MipsSubtarget.o: MipsGenInstrInfo.inc.h -MipsSubtarget.o: MipsGenRegisterInfo.inc.h -MipsSubtarget.o: MipsGenSubtargetInfo.inc.h -MipsSubtarget.po: Intrinsics.inc.h -MipsSubtarget.po: MipsGenInstrInfo.inc.h -MipsSubtarget.po: MipsGenRegisterInfo.inc.h -MipsSubtarget.po: MipsGenSubtargetInfo.inc.h -MipsTargetMachine.o: Intrinsics.inc.h -MipsTargetMachine.o: MipsGenDAGISel.inc.h -MipsTargetMachine.o: MipsGenInstrInfo.inc.h -MipsTargetMachine.o: MipsGenRegisterInfo.inc.h -MipsTargetMachine.o: MipsGenSubtargetInfo.inc.h -MipsTargetMachine.po: Intrinsics.inc.h -MipsTargetMachine.po: MipsGenDAGISel.inc.h -MipsTargetMachine.po: MipsGenInstrInfo.inc.h -MipsTargetMachine.po: MipsGenRegisterInfo.inc.h -MipsTargetMachine.po: MipsGenSubtargetInfo.inc.h -MipsTargetObjectFile.o: Intrinsics.inc.h -MipsTargetObjectFile.o: MipsGenInstrInfo.inc.h -MipsTargetObjectFile.o: MipsGenRegisterInfo.inc.h -MipsTargetObjectFile.o: MipsGenSubtargetInfo.inc.h -MipsTargetObjectFile.po: Intrinsics.inc.h -MipsTargetObjectFile.po: MipsGenInstrInfo.inc.h -MipsTargetObjectFile.po: MipsGenRegisterInfo.inc.h -MipsTargetObjectFile.po: MipsGenSubtargetInfo.inc.h .endif diff --git a/lib/clang/libllvmmipsdesc/Makefile.depend b/lib/clang/libllvmmipsdesc/Makefile.depend index ccc26d1..385072f 100644 --- a/lib/clang/libllvmmipsdesc/Makefile.depend +++ b/lib/clang/libllvmmipsdesc/Makefile.depend @@ -13,60 +13,4 @@ DIRDEPS = \ .if ${DEP_RELDIR} == ${_DEP_RELDIR} # local dependencies - needed for -jN in clean tree -MipsABIInfo.o: MipsGenInstrInfo.inc.h -MipsABIInfo.o: MipsGenRegisterInfo.inc.h -MipsABIInfo.o: MipsGenSubtargetInfo.inc.h -MipsABIInfo.po: MipsGenInstrInfo.inc.h -MipsABIInfo.po: MipsGenRegisterInfo.inc.h -MipsABIInfo.po: MipsGenSubtargetInfo.inc.h -MipsAsmBackend.o: MipsGenInstrInfo.inc.h -MipsAsmBackend.o: MipsGenRegisterInfo.inc.h -MipsAsmBackend.o: MipsGenSubtargetInfo.inc.h -MipsAsmBackend.po: MipsGenInstrInfo.inc.h -MipsAsmBackend.po: MipsGenRegisterInfo.inc.h -MipsAsmBackend.po: MipsGenSubtargetInfo.inc.h -MipsELFObjectWriter.o: MipsGenInstrInfo.inc.h -MipsELFObjectWriter.o: MipsGenRegisterInfo.inc.h -MipsELFObjectWriter.o: MipsGenSubtargetInfo.inc.h -MipsELFObjectWriter.po: MipsGenInstrInfo.inc.h -MipsELFObjectWriter.po: MipsGenRegisterInfo.inc.h -MipsELFObjectWriter.po: MipsGenSubtargetInfo.inc.h -MipsELFStreamer.o: MipsGenInstrInfo.inc.h -MipsELFStreamer.o: MipsGenRegisterInfo.inc.h -MipsELFStreamer.o: MipsGenSubtargetInfo.inc.h -MipsELFStreamer.po: MipsGenInstrInfo.inc.h -MipsELFStreamer.po: MipsGenRegisterInfo.inc.h -MipsELFStreamer.po: MipsGenSubtargetInfo.inc.h -MipsMCCodeEmitter.o: MipsGenInstrInfo.inc.h -MipsMCCodeEmitter.o: MipsGenMCCodeEmitter.inc.h -MipsMCCodeEmitter.o: MipsGenRegisterInfo.inc.h -MipsMCCodeEmitter.o: MipsGenSubtargetInfo.inc.h -MipsMCCodeEmitter.po: MipsGenInstrInfo.inc.h -MipsMCCodeEmitter.po: MipsGenMCCodeEmitter.inc.h -MipsMCCodeEmitter.po: MipsGenRegisterInfo.inc.h -MipsMCCodeEmitter.po: MipsGenSubtargetInfo.inc.h -MipsMCTargetDesc.o: MipsGenInstrInfo.inc.h -MipsMCTargetDesc.o: MipsGenRegisterInfo.inc.h -MipsMCTargetDesc.o: MipsGenSubtargetInfo.inc.h -MipsMCTargetDesc.po: MipsGenInstrInfo.inc.h -MipsMCTargetDesc.po: MipsGenRegisterInfo.inc.h -MipsMCTargetDesc.po: MipsGenSubtargetInfo.inc.h -MipsNaClELFStreamer.o: MipsGenInstrInfo.inc.h -MipsNaClELFStreamer.o: MipsGenRegisterInfo.inc.h -MipsNaClELFStreamer.o: MipsGenSubtargetInfo.inc.h -MipsNaClELFStreamer.po: MipsGenInstrInfo.inc.h -MipsNaClELFStreamer.po: MipsGenRegisterInfo.inc.h -MipsNaClELFStreamer.po: MipsGenSubtargetInfo.inc.h -MipsOptionRecord.o: MipsGenInstrInfo.inc.h -MipsOptionRecord.o: MipsGenRegisterInfo.inc.h -MipsOptionRecord.o: MipsGenSubtargetInfo.inc.h -MipsOptionRecord.po: MipsGenInstrInfo.inc.h -MipsOptionRecord.po: MipsGenRegisterInfo.inc.h -MipsOptionRecord.po: MipsGenSubtargetInfo.inc.h -MipsTargetStreamer.o: MipsGenInstrInfo.inc.h -MipsTargetStreamer.o: MipsGenRegisterInfo.inc.h -MipsTargetStreamer.o: MipsGenSubtargetInfo.inc.h -MipsTargetStreamer.po: MipsGenInstrInfo.inc.h -MipsTargetStreamer.po: MipsGenRegisterInfo.inc.h -MipsTargetStreamer.po: MipsGenSubtargetInfo.inc.h .endif diff --git a/lib/clang/libllvmmipsdisassembler/Makefile.depend b/lib/clang/libllvmmipsdisassembler/Makefile.depend index 5e10f87..385072f 100644 --- a/lib/clang/libllvmmipsdisassembler/Makefile.depend +++ b/lib/clang/libllvmmipsdisassembler/Makefile.depend @@ -13,12 +13,4 @@ DIRDEPS = \ .if ${DEP_RELDIR} == ${_DEP_RELDIR} # local dependencies - needed for -jN in clean tree -MipsDisassembler.o: MipsGenDisassemblerTables.inc.h -MipsDisassembler.o: MipsGenInstrInfo.inc.h -MipsDisassembler.o: MipsGenRegisterInfo.inc.h -MipsDisassembler.o: MipsGenSubtargetInfo.inc.h -MipsDisassembler.po: MipsGenDisassemblerTables.inc.h -MipsDisassembler.po: MipsGenInstrInfo.inc.h -MipsDisassembler.po: MipsGenRegisterInfo.inc.h -MipsDisassembler.po: MipsGenSubtargetInfo.inc.h .endif diff --git a/lib/clang/libllvmmipsinfo/Makefile.depend b/lib/clang/libllvmmipsinfo/Makefile.depend index 04d7394..385072f 100644 --- a/lib/clang/libllvmmipsinfo/Makefile.depend +++ b/lib/clang/libllvmmipsinfo/Makefile.depend @@ -13,10 +13,4 @@ DIRDEPS = \ .if ${DEP_RELDIR} == ${_DEP_RELDIR} # local dependencies - needed for -jN in clean tree -MipsTargetInfo.o: MipsGenInstrInfo.inc.h -MipsTargetInfo.o: MipsGenRegisterInfo.inc.h -MipsTargetInfo.o: MipsGenSubtargetInfo.inc.h -MipsTargetInfo.po: MipsGenInstrInfo.inc.h -MipsTargetInfo.po: MipsGenRegisterInfo.inc.h -MipsTargetInfo.po: MipsGenSubtargetInfo.inc.h .endif diff --git a/lib/clang/libllvmmipsinstprinter/Makefile.depend b/lib/clang/libllvmmipsinstprinter/Makefile.depend index 2426018..385072f 100644 --- a/lib/clang/libllvmmipsinstprinter/Makefile.depend +++ b/lib/clang/libllvmmipsinstprinter/Makefile.depend @@ -13,12 +13,4 @@ DIRDEPS = \ .if ${DEP_RELDIR} == ${_DEP_RELDIR} # local dependencies - needed for -jN in clean tree -MipsInstPrinter.o: MipsGenAsmWriter.inc.h -MipsInstPrinter.o: MipsGenInstrInfo.inc.h -MipsInstPrinter.o: MipsGenRegisterInfo.inc.h -MipsInstPrinter.o: MipsGenSubtargetInfo.inc.h -MipsInstPrinter.po: MipsGenAsmWriter.inc.h -MipsInstPrinter.po: MipsGenInstrInfo.inc.h -MipsInstPrinter.po: MipsGenRegisterInfo.inc.h -MipsInstPrinter.po: MipsGenSubtargetInfo.inc.h .endif diff --git a/lib/clang/libllvmobjcarcopts/Makefile.depend b/lib/clang/libllvmobjcarcopts/Makefile.depend index d71c7bc..385072f 100644 --- a/lib/clang/libllvmobjcarcopts/Makefile.depend +++ b/lib/clang/libllvmobjcarcopts/Makefile.depend @@ -13,6 +13,4 @@ DIRDEPS = \ .if ${DEP_RELDIR} == ${_DEP_RELDIR} # local dependencies - needed for -jN in clean tree -ARCInstKind.o: Intrinsics.inc.h -ARCInstKind.po: Intrinsics.inc.h .endif diff --git a/lib/clang/libllvmpasses/Makefile.depend b/lib/clang/libllvmpasses/Makefile.depend index c40b54a..385072f 100644 --- a/lib/clang/libllvmpasses/Makefile.depend +++ b/lib/clang/libllvmpasses/Makefile.depend @@ -13,6 +13,4 @@ DIRDEPS = \ .if ${DEP_RELDIR} == ${_DEP_RELDIR} # local dependencies - needed for -jN in clean tree -PassBuilder.o: Intrinsics.inc.h -PassBuilder.po: Intrinsics.inc.h .endif diff --git a/lib/clang/libllvmpowerpcasmparser/Makefile.depend b/lib/clang/libllvmpowerpcasmparser/Makefile.depend index 6a84c65..385072f 100644 --- a/lib/clang/libllvmpowerpcasmparser/Makefile.depend +++ b/lib/clang/libllvmpowerpcasmparser/Makefile.depend @@ -13,12 +13,4 @@ DIRDEPS = \ .if ${DEP_RELDIR} == ${_DEP_RELDIR} # local dependencies - needed for -jN in clean tree -PPCAsmParser.o: PPCGenAsmMatcher.inc.h -PPCAsmParser.o: PPCGenInstrInfo.inc.h -PPCAsmParser.o: PPCGenRegisterInfo.inc.h -PPCAsmParser.o: PPCGenSubtargetInfo.inc.h -PPCAsmParser.po: PPCGenAsmMatcher.inc.h -PPCAsmParser.po: PPCGenInstrInfo.inc.h -PPCAsmParser.po: PPCGenRegisterInfo.inc.h -PPCAsmParser.po: PPCGenSubtargetInfo.inc.h .endif diff --git a/lib/clang/libllvmpowerpccodegen/Makefile.depend b/lib/clang/libllvmpowerpccodegen/Makefile.depend index 6b3e1d6..385072f 100644 --- a/lib/clang/libllvmpowerpccodegen/Makefile.depend +++ b/lib/clang/libllvmpowerpccodegen/Makefile.depend @@ -13,160 +13,4 @@ DIRDEPS = \ .if ${DEP_RELDIR} == ${_DEP_RELDIR} # local dependencies - needed for -jN in clean tree -PPCAsmPrinter.o: PPCGenInstrInfo.inc.h -PPCAsmPrinter.o: PPCGenRegisterInfo.inc.h -PPCAsmPrinter.o: PPCGenSubtargetInfo.inc.h -PPCAsmPrinter.po: PPCGenInstrInfo.inc.h -PPCAsmPrinter.po: PPCGenRegisterInfo.inc.h -PPCAsmPrinter.po: PPCGenSubtargetInfo.inc.h -PPCBranchSelector.o: PPCGenInstrInfo.inc.h -PPCBranchSelector.o: PPCGenRegisterInfo.inc.h -PPCBranchSelector.o: PPCGenSubtargetInfo.inc.h -PPCBranchSelector.po: PPCGenInstrInfo.inc.h -PPCBranchSelector.po: PPCGenRegisterInfo.inc.h -PPCBranchSelector.po: PPCGenSubtargetInfo.inc.h -PPCCTRLoops.o: Intrinsics.inc.h -PPCCTRLoops.o: PPCGenInstrInfo.inc.h -PPCCTRLoops.o: PPCGenRegisterInfo.inc.h -PPCCTRLoops.o: PPCGenSubtargetInfo.inc.h -PPCCTRLoops.po: Intrinsics.inc.h -PPCCTRLoops.po: PPCGenInstrInfo.inc.h -PPCCTRLoops.po: PPCGenRegisterInfo.inc.h -PPCCTRLoops.po: PPCGenSubtargetInfo.inc.h -PPCEarlyReturn.o: PPCGenInstrInfo.inc.h -PPCEarlyReturn.o: PPCGenRegisterInfo.inc.h -PPCEarlyReturn.o: PPCGenSubtargetInfo.inc.h -PPCEarlyReturn.po: PPCGenInstrInfo.inc.h -PPCEarlyReturn.po: PPCGenRegisterInfo.inc.h -PPCEarlyReturn.po: PPCGenSubtargetInfo.inc.h -PPCFastISel.o: Intrinsics.inc.h -PPCFastISel.o: PPCGenCallingConv.inc.h -PPCFastISel.o: PPCGenFastISel.inc.h -PPCFastISel.o: PPCGenInstrInfo.inc.h -PPCFastISel.o: PPCGenRegisterInfo.inc.h -PPCFastISel.o: PPCGenSubtargetInfo.inc.h -PPCFastISel.po: Intrinsics.inc.h -PPCFastISel.po: PPCGenCallingConv.inc.h -PPCFastISel.po: PPCGenFastISel.inc.h -PPCFastISel.po: PPCGenInstrInfo.inc.h -PPCFastISel.po: PPCGenRegisterInfo.inc.h -PPCFastISel.po: PPCGenSubtargetInfo.inc.h -PPCFrameLowering.o: PPCGenInstrInfo.inc.h -PPCFrameLowering.o: PPCGenRegisterInfo.inc.h -PPCFrameLowering.o: PPCGenSubtargetInfo.inc.h -PPCFrameLowering.po: PPCGenInstrInfo.inc.h -PPCFrameLowering.po: PPCGenRegisterInfo.inc.h -PPCFrameLowering.po: PPCGenSubtargetInfo.inc.h -PPCHazardRecognizers.o: PPCGenInstrInfo.inc.h -PPCHazardRecognizers.o: PPCGenRegisterInfo.inc.h -PPCHazardRecognizers.o: PPCGenSubtargetInfo.inc.h -PPCHazardRecognizers.po: PPCGenInstrInfo.inc.h -PPCHazardRecognizers.po: PPCGenRegisterInfo.inc.h -PPCHazardRecognizers.po: PPCGenSubtargetInfo.inc.h -PPCISelDAGToDAG.o: Intrinsics.inc.h -PPCISelDAGToDAG.o: PPCGenDAGISel.inc.h -PPCISelDAGToDAG.o: PPCGenInstrInfo.inc.h -PPCISelDAGToDAG.o: PPCGenRegisterInfo.inc.h -PPCISelDAGToDAG.o: PPCGenSubtargetInfo.inc.h -PPCISelDAGToDAG.po: Intrinsics.inc.h -PPCISelDAGToDAG.po: PPCGenDAGISel.inc.h -PPCISelDAGToDAG.po: PPCGenInstrInfo.inc.h -PPCISelDAGToDAG.po: PPCGenRegisterInfo.inc.h -PPCISelDAGToDAG.po: PPCGenSubtargetInfo.inc.h -PPCISelLowering.o: Intrinsics.inc.h -PPCISelLowering.o: PPCGenCallingConv.inc.h -PPCISelLowering.o: PPCGenInstrInfo.inc.h -PPCISelLowering.o: PPCGenRegisterInfo.inc.h -PPCISelLowering.o: PPCGenSubtargetInfo.inc.h -PPCISelLowering.po: Intrinsics.inc.h -PPCISelLowering.po: PPCGenCallingConv.inc.h -PPCISelLowering.po: PPCGenInstrInfo.inc.h -PPCISelLowering.po: PPCGenRegisterInfo.inc.h -PPCISelLowering.po: PPCGenSubtargetInfo.inc.h -PPCInstrInfo.o: PPCGenInstrInfo.inc.h -PPCInstrInfo.o: PPCGenRegisterInfo.inc.h -PPCInstrInfo.o: PPCGenSubtargetInfo.inc.h -PPCInstrInfo.po: PPCGenInstrInfo.inc.h -PPCInstrInfo.po: PPCGenRegisterInfo.inc.h -PPCInstrInfo.po: PPCGenSubtargetInfo.inc.h -PPCLoopDataPrefetch.o: Intrinsics.inc.h -PPCLoopDataPrefetch.o: PPCGenInstrInfo.inc.h -PPCLoopDataPrefetch.o: PPCGenRegisterInfo.inc.h -PPCLoopDataPrefetch.o: PPCGenSubtargetInfo.inc.h -PPCLoopDataPrefetch.po: Intrinsics.inc.h -PPCLoopDataPrefetch.po: PPCGenInstrInfo.inc.h -PPCLoopDataPrefetch.po: PPCGenRegisterInfo.inc.h -PPCLoopDataPrefetch.po: PPCGenSubtargetInfo.inc.h -PPCLoopPreIncPrep.o: Intrinsics.inc.h -PPCLoopPreIncPrep.o: PPCGenInstrInfo.inc.h -PPCLoopPreIncPrep.o: PPCGenRegisterInfo.inc.h -PPCLoopPreIncPrep.o: PPCGenSubtargetInfo.inc.h -PPCLoopPreIncPrep.po: Intrinsics.inc.h -PPCLoopPreIncPrep.po: PPCGenInstrInfo.inc.h -PPCLoopPreIncPrep.po: PPCGenRegisterInfo.inc.h -PPCLoopPreIncPrep.po: PPCGenSubtargetInfo.inc.h -PPCMCInstLower.o: PPCGenInstrInfo.inc.h -PPCMCInstLower.o: PPCGenRegisterInfo.inc.h -PPCMCInstLower.o: PPCGenSubtargetInfo.inc.h -PPCMCInstLower.po: PPCGenInstrInfo.inc.h -PPCMCInstLower.po: PPCGenRegisterInfo.inc.h -PPCMCInstLower.po: PPCGenSubtargetInfo.inc.h -PPCRegisterInfo.o: PPCGenInstrInfo.inc.h -PPCRegisterInfo.o: PPCGenRegisterInfo.inc.h -PPCRegisterInfo.o: PPCGenSubtargetInfo.inc.h -PPCRegisterInfo.po: PPCGenInstrInfo.inc.h -PPCRegisterInfo.po: PPCGenRegisterInfo.inc.h -PPCRegisterInfo.po: PPCGenSubtargetInfo.inc.h -PPCSubtarget.o: PPCGenInstrInfo.inc.h -PPCSubtarget.o: PPCGenRegisterInfo.inc.h -PPCSubtarget.o: PPCGenSubtargetInfo.inc.h -PPCSubtarget.po: PPCGenInstrInfo.inc.h -PPCSubtarget.po: PPCGenRegisterInfo.inc.h -PPCSubtarget.po: PPCGenSubtargetInfo.inc.h -PPCTLSDynamicCall.o: PPCGenInstrInfo.inc.h -PPCTLSDynamicCall.o: PPCGenRegisterInfo.inc.h -PPCTLSDynamicCall.o: PPCGenSubtargetInfo.inc.h -PPCTLSDynamicCall.po: PPCGenInstrInfo.inc.h -PPCTLSDynamicCall.po: PPCGenRegisterInfo.inc.h -PPCTLSDynamicCall.po: PPCGenSubtargetInfo.inc.h -PPCTOCRegDeps.o: PPCGenInstrInfo.inc.h -PPCTOCRegDeps.o: PPCGenRegisterInfo.inc.h -PPCTOCRegDeps.o: PPCGenSubtargetInfo.inc.h -PPCTOCRegDeps.po: PPCGenInstrInfo.inc.h -PPCTOCRegDeps.po: PPCGenRegisterInfo.inc.h -PPCTOCRegDeps.po: PPCGenSubtargetInfo.inc.h -PPCTargetMachine.o: Intrinsics.inc.h -PPCTargetMachine.o: PPCGenInstrInfo.inc.h -PPCTargetMachine.o: PPCGenRegisterInfo.inc.h -PPCTargetMachine.o: PPCGenSubtargetInfo.inc.h -PPCTargetMachine.po: Intrinsics.inc.h -PPCTargetMachine.po: PPCGenInstrInfo.inc.h -PPCTargetMachine.po: PPCGenRegisterInfo.inc.h -PPCTargetMachine.po: PPCGenSubtargetInfo.inc.h -PPCTargetTransformInfo.o: Intrinsics.inc.h -PPCTargetTransformInfo.o: PPCGenInstrInfo.inc.h -PPCTargetTransformInfo.o: PPCGenRegisterInfo.inc.h -PPCTargetTransformInfo.o: PPCGenSubtargetInfo.inc.h -PPCTargetTransformInfo.po: Intrinsics.inc.h -PPCTargetTransformInfo.po: PPCGenInstrInfo.inc.h -PPCTargetTransformInfo.po: PPCGenRegisterInfo.inc.h -PPCTargetTransformInfo.po: PPCGenSubtargetInfo.inc.h -PPCVSXCopy.o: PPCGenInstrInfo.inc.h -PPCVSXCopy.o: PPCGenRegisterInfo.inc.h -PPCVSXCopy.o: PPCGenSubtargetInfo.inc.h -PPCVSXCopy.po: PPCGenInstrInfo.inc.h -PPCVSXCopy.po: PPCGenRegisterInfo.inc.h -PPCVSXCopy.po: PPCGenSubtargetInfo.inc.h -PPCVSXFMAMutate.o: PPCGenInstrInfo.inc.h -PPCVSXFMAMutate.o: PPCGenRegisterInfo.inc.h -PPCVSXFMAMutate.o: PPCGenSubtargetInfo.inc.h -PPCVSXFMAMutate.po: PPCGenInstrInfo.inc.h -PPCVSXFMAMutate.po: PPCGenRegisterInfo.inc.h -PPCVSXFMAMutate.po: PPCGenSubtargetInfo.inc.h -PPCVSXSwapRemoval.o: PPCGenInstrInfo.inc.h -PPCVSXSwapRemoval.o: PPCGenRegisterInfo.inc.h -PPCVSXSwapRemoval.o: PPCGenSubtargetInfo.inc.h -PPCVSXSwapRemoval.po: PPCGenInstrInfo.inc.h -PPCVSXSwapRemoval.po: PPCGenRegisterInfo.inc.h -PPCVSXSwapRemoval.po: PPCGenSubtargetInfo.inc.h .endif diff --git a/lib/clang/libllvmpowerpcdesc/Makefile.depend b/lib/clang/libllvmpowerpcdesc/Makefile.depend index cb4da9d..385072f 100644 --- a/lib/clang/libllvmpowerpcdesc/Makefile.depend +++ b/lib/clang/libllvmpowerpcdesc/Makefile.depend @@ -13,36 +13,4 @@ DIRDEPS = \ .if ${DEP_RELDIR} == ${_DEP_RELDIR} # local dependencies - needed for -jN in clean tree -PPCAsmBackend.o: PPCGenInstrInfo.inc.h -PPCAsmBackend.o: PPCGenRegisterInfo.inc.h -PPCAsmBackend.o: PPCGenSubtargetInfo.inc.h -PPCAsmBackend.po: PPCGenInstrInfo.inc.h -PPCAsmBackend.po: PPCGenRegisterInfo.inc.h -PPCAsmBackend.po: PPCGenSubtargetInfo.inc.h -PPCELFObjectWriter.o: PPCGenInstrInfo.inc.h -PPCELFObjectWriter.o: PPCGenRegisterInfo.inc.h -PPCELFObjectWriter.o: PPCGenSubtargetInfo.inc.h -PPCELFObjectWriter.po: PPCGenInstrInfo.inc.h -PPCELFObjectWriter.po: PPCGenRegisterInfo.inc.h -PPCELFObjectWriter.po: PPCGenSubtargetInfo.inc.h -PPCMCCodeEmitter.o: PPCGenInstrInfo.inc.h -PPCMCCodeEmitter.o: PPCGenMCCodeEmitter.inc.h -PPCMCCodeEmitter.o: PPCGenRegisterInfo.inc.h -PPCMCCodeEmitter.o: PPCGenSubtargetInfo.inc.h -PPCMCCodeEmitter.po: PPCGenInstrInfo.inc.h -PPCMCCodeEmitter.po: PPCGenMCCodeEmitter.inc.h -PPCMCCodeEmitter.po: PPCGenRegisterInfo.inc.h -PPCMCCodeEmitter.po: PPCGenSubtargetInfo.inc.h -PPCMCTargetDesc.o: PPCGenInstrInfo.inc.h -PPCMCTargetDesc.o: PPCGenRegisterInfo.inc.h -PPCMCTargetDesc.o: PPCGenSubtargetInfo.inc.h -PPCMCTargetDesc.po: PPCGenInstrInfo.inc.h -PPCMCTargetDesc.po: PPCGenRegisterInfo.inc.h -PPCMCTargetDesc.po: PPCGenSubtargetInfo.inc.h -PPCMachObjectWriter.o: PPCGenInstrInfo.inc.h -PPCMachObjectWriter.o: PPCGenRegisterInfo.inc.h -PPCMachObjectWriter.o: PPCGenSubtargetInfo.inc.h -PPCMachObjectWriter.po: PPCGenInstrInfo.inc.h -PPCMachObjectWriter.po: PPCGenRegisterInfo.inc.h -PPCMachObjectWriter.po: PPCGenSubtargetInfo.inc.h .endif diff --git a/lib/clang/libllvmpowerpcdisassembler/Makefile.depend b/lib/clang/libllvmpowerpcdisassembler/Makefile.depend index ae1219e..385072f 100644 --- a/lib/clang/libllvmpowerpcdisassembler/Makefile.depend +++ b/lib/clang/libllvmpowerpcdisassembler/Makefile.depend @@ -13,12 +13,4 @@ DIRDEPS = \ .if ${DEP_RELDIR} == ${_DEP_RELDIR} # local dependencies - needed for -jN in clean tree -PPCDisassembler.o: PPCGenDisassemblerTables.inc.h -PPCDisassembler.o: PPCGenInstrInfo.inc.h -PPCDisassembler.o: PPCGenRegisterInfo.inc.h -PPCDisassembler.o: PPCGenSubtargetInfo.inc.h -PPCDisassembler.po: PPCGenDisassemblerTables.inc.h -PPCDisassembler.po: PPCGenInstrInfo.inc.h -PPCDisassembler.po: PPCGenRegisterInfo.inc.h -PPCDisassembler.po: PPCGenSubtargetInfo.inc.h .endif diff --git a/lib/clang/libllvmpowerpcinfo/Makefile.depend b/lib/clang/libllvmpowerpcinfo/Makefile.depend index 2b87d9d..385072f 100644 --- a/lib/clang/libllvmpowerpcinfo/Makefile.depend +++ b/lib/clang/libllvmpowerpcinfo/Makefile.depend @@ -13,10 +13,4 @@ DIRDEPS = \ .if ${DEP_RELDIR} == ${_DEP_RELDIR} # local dependencies - needed for -jN in clean tree -PowerPCTargetInfo.o: PPCGenInstrInfo.inc.h -PowerPCTargetInfo.o: PPCGenRegisterInfo.inc.h -PowerPCTargetInfo.o: PPCGenSubtargetInfo.inc.h -PowerPCTargetInfo.po: PPCGenInstrInfo.inc.h -PowerPCTargetInfo.po: PPCGenRegisterInfo.inc.h -PowerPCTargetInfo.po: PPCGenSubtargetInfo.inc.h .endif diff --git a/lib/clang/libllvmpowerpcinstprinter/Makefile.depend b/lib/clang/libllvmpowerpcinstprinter/Makefile.depend index 9ddadfa..385072f 100644 --- a/lib/clang/libllvmpowerpcinstprinter/Makefile.depend +++ b/lib/clang/libllvmpowerpcinstprinter/Makefile.depend @@ -13,12 +13,4 @@ DIRDEPS = \ .if ${DEP_RELDIR} == ${_DEP_RELDIR} # local dependencies - needed for -jN in clean tree -PPCInstPrinter.o: PPCGenAsmWriter.inc.h -PPCInstPrinter.o: PPCGenInstrInfo.inc.h -PPCInstPrinter.o: PPCGenRegisterInfo.inc.h -PPCInstPrinter.o: PPCGenSubtargetInfo.inc.h -PPCInstPrinter.po: PPCGenAsmWriter.inc.h -PPCInstPrinter.po: PPCGenInstrInfo.inc.h -PPCInstPrinter.po: PPCGenRegisterInfo.inc.h -PPCInstPrinter.po: PPCGenSubtargetInfo.inc.h .endif diff --git a/lib/clang/libllvmscalaropts/Makefile.depend b/lib/clang/libllvmscalaropts/Makefile.depend index 3c665f0..385072f 100644 --- a/lib/clang/libllvmscalaropts/Makefile.depend +++ b/lib/clang/libllvmscalaropts/Makefile.depend @@ -13,80 +13,4 @@ DIRDEPS = \ .if ${DEP_RELDIR} == ${_DEP_RELDIR} # local dependencies - needed for -jN in clean tree -ADCE.o: Intrinsics.inc.h -ADCE.po: Intrinsics.inc.h -AlignmentFromAssumptions.o: Intrinsics.inc.h -AlignmentFromAssumptions.po: Intrinsics.inc.h -BDCE.o: Intrinsics.inc.h -BDCE.po: Intrinsics.inc.h -ConstantHoisting.o: Intrinsics.inc.h -ConstantHoisting.po: Intrinsics.inc.h -DeadStoreElimination.o: Intrinsics.inc.h -DeadStoreElimination.po: Intrinsics.inc.h -EarlyCSE.o: Intrinsics.inc.h -EarlyCSE.po: Intrinsics.inc.h -GVN.o: Intrinsics.inc.h -GVN.po: Intrinsics.inc.h -IndVarSimplify.o: Intrinsics.inc.h -IndVarSimplify.po: Intrinsics.inc.h -InductiveRangeCheckElimination.o: Intrinsics.inc.h -InductiveRangeCheckElimination.po: Intrinsics.inc.h -JumpThreading.o: Intrinsics.inc.h -JumpThreading.po: Intrinsics.inc.h -LICM.o: Intrinsics.inc.h -LICM.po: Intrinsics.inc.h -LoopIdiomRecognize.o: Intrinsics.inc.h -LoopIdiomRecognize.po: Intrinsics.inc.h -LoopInterchange.o: Intrinsics.inc.h -LoopInterchange.po: Intrinsics.inc.h -LoopRerollPass.o: Intrinsics.inc.h -LoopRerollPass.po: Intrinsics.inc.h -LoopRotation.o: Intrinsics.inc.h -LoopRotation.po: Intrinsics.inc.h -LoopStrengthReduce.o: Intrinsics.inc.h -LoopStrengthReduce.po: Intrinsics.inc.h -LoopUnrollPass.o: Intrinsics.inc.h -LoopUnrollPass.po: Intrinsics.inc.h -LoopUnswitch.o: Intrinsics.inc.h -LoopUnswitch.po: Intrinsics.inc.h -LowerAtomic.o: Intrinsics.inc.h -LowerAtomic.po: Intrinsics.inc.h -LowerExpectIntrinsic.o: Intrinsics.inc.h -LowerExpectIntrinsic.po: Intrinsics.inc.h -MemCpyOptimizer.o: Intrinsics.inc.h -MemCpyOptimizer.po: Intrinsics.inc.h -MergedLoadStoreMotion.o: Intrinsics.inc.h -MergedLoadStoreMotion.po: Intrinsics.inc.h -NaryReassociate.o: Intrinsics.inc.h -NaryReassociate.po: Intrinsics.inc.h -PartiallyInlineLibCalls.o: Intrinsics.inc.h -PartiallyInlineLibCalls.po: Intrinsics.inc.h -PlaceSafepoints.o: Intrinsics.inc.h -PlaceSafepoints.po: Intrinsics.inc.h -Reassociate.o: Intrinsics.inc.h -Reassociate.po: Intrinsics.inc.h -RewriteStatepointsForGC.o: Intrinsics.inc.h -RewriteStatepointsForGC.po: Intrinsics.inc.h -SCCP.o: Intrinsics.inc.h -SCCP.po: Intrinsics.inc.h -SROA.o: Intrinsics.inc.h -SROA.po: Intrinsics.inc.h -ScalarReplAggregates.o: Intrinsics.inc.h -ScalarReplAggregates.po: Intrinsics.inc.h -Scalarizer.o: Intrinsics.inc.h -Scalarizer.po: Intrinsics.inc.h -SeparateConstOffsetFromGEP.o: Intrinsics.inc.h -SeparateConstOffsetFromGEP.po: Intrinsics.inc.h -SimplifyCFGPass.o: Intrinsics.inc.h -SimplifyCFGPass.po: Intrinsics.inc.h -Sink.o: Intrinsics.inc.h -Sink.po: Intrinsics.inc.h -SpeculativeExecution.o: Intrinsics.inc.h -SpeculativeExecution.po: Intrinsics.inc.h -StraightLineStrengthReduce.o: Intrinsics.inc.h -StraightLineStrengthReduce.po: Intrinsics.inc.h -StructurizeCFG.o: Intrinsics.inc.h -StructurizeCFG.po: Intrinsics.inc.h -TailRecursionElimination.o: Intrinsics.inc.h -TailRecursionElimination.po: Intrinsics.inc.h .endif diff --git a/lib/clang/libllvmselectiondag/Makefile.depend b/lib/clang/libllvmselectiondag/Makefile.depend index 9dbab9a..385072f 100644 --- a/lib/clang/libllvmselectiondag/Makefile.depend +++ b/lib/clang/libllvmselectiondag/Makefile.depend @@ -13,18 +13,4 @@ DIRDEPS = \ .if ${DEP_RELDIR} == ${_DEP_RELDIR} # local dependencies - needed for -jN in clean tree -FastISel.o: Intrinsics.inc.h -FastISel.po: Intrinsics.inc.h -FunctionLoweringInfo.o: Intrinsics.inc.h -FunctionLoweringInfo.po: Intrinsics.inc.h -SelectionDAG.o: Intrinsics.inc.h -SelectionDAG.po: Intrinsics.inc.h -SelectionDAGBuilder.o: Intrinsics.inc.h -SelectionDAGBuilder.po: Intrinsics.inc.h -SelectionDAGDumper.o: Intrinsics.inc.h -SelectionDAGDumper.po: Intrinsics.inc.h -SelectionDAGISel.o: Intrinsics.inc.h -SelectionDAGISel.po: Intrinsics.inc.h -StatepointLowering.o: Intrinsics.inc.h -StatepointLowering.po: Intrinsics.inc.h .endif diff --git a/lib/clang/libllvmsparcasmparser/Makefile.depend b/lib/clang/libllvmsparcasmparser/Makefile.depend index 256ccd8..385072f 100644 --- a/lib/clang/libllvmsparcasmparser/Makefile.depend +++ b/lib/clang/libllvmsparcasmparser/Makefile.depend @@ -13,12 +13,4 @@ DIRDEPS = \ .if ${DEP_RELDIR} == ${_DEP_RELDIR} # local dependencies - needed for -jN in clean tree -SparcAsmParser.o: SparcGenAsmMatcher.inc.h -SparcAsmParser.o: SparcGenInstrInfo.inc.h -SparcAsmParser.o: SparcGenRegisterInfo.inc.h -SparcAsmParser.o: SparcGenSubtargetInfo.inc.h -SparcAsmParser.po: SparcGenAsmMatcher.inc.h -SparcAsmParser.po: SparcGenInstrInfo.inc.h -SparcAsmParser.po: SparcGenRegisterInfo.inc.h -SparcAsmParser.po: SparcGenSubtargetInfo.inc.h .endif diff --git a/lib/clang/libllvmsparccodegen/Makefile.depend b/lib/clang/libllvmsparccodegen/Makefile.depend index 64226f6..385072f 100644 --- a/lib/clang/libllvmsparccodegen/Makefile.depend +++ b/lib/clang/libllvmsparccodegen/Makefile.depend @@ -13,70 +13,4 @@ DIRDEPS = \ .if ${DEP_RELDIR} == ${_DEP_RELDIR} # local dependencies - needed for -jN in clean tree -DelaySlotFiller.o: SparcGenInstrInfo.inc.h -DelaySlotFiller.o: SparcGenRegisterInfo.inc.h -DelaySlotFiller.o: SparcGenSubtargetInfo.inc.h -DelaySlotFiller.po: SparcGenInstrInfo.inc.h -DelaySlotFiller.po: SparcGenRegisterInfo.inc.h -DelaySlotFiller.po: SparcGenSubtargetInfo.inc.h -SparcAsmPrinter.o: SparcGenInstrInfo.inc.h -SparcAsmPrinter.o: SparcGenRegisterInfo.inc.h -SparcAsmPrinter.o: SparcGenSubtargetInfo.inc.h -SparcAsmPrinter.po: SparcGenInstrInfo.inc.h -SparcAsmPrinter.po: SparcGenRegisterInfo.inc.h -SparcAsmPrinter.po: SparcGenSubtargetInfo.inc.h -SparcFrameLowering.o: SparcGenInstrInfo.inc.h -SparcFrameLowering.o: SparcGenRegisterInfo.inc.h -SparcFrameLowering.o: SparcGenSubtargetInfo.inc.h -SparcFrameLowering.po: SparcGenInstrInfo.inc.h -SparcFrameLowering.po: SparcGenRegisterInfo.inc.h -SparcFrameLowering.po: SparcGenSubtargetInfo.inc.h -SparcISelDAGToDAG.o: Intrinsics.inc.h -SparcISelDAGToDAG.o: SparcGenDAGISel.inc.h -SparcISelDAGToDAG.o: SparcGenInstrInfo.inc.h -SparcISelDAGToDAG.o: SparcGenRegisterInfo.inc.h -SparcISelDAGToDAG.o: SparcGenSubtargetInfo.inc.h -SparcISelDAGToDAG.po: Intrinsics.inc.h -SparcISelDAGToDAG.po: SparcGenDAGISel.inc.h -SparcISelDAGToDAG.po: SparcGenInstrInfo.inc.h -SparcISelDAGToDAG.po: SparcGenRegisterInfo.inc.h -SparcISelDAGToDAG.po: SparcGenSubtargetInfo.inc.h -SparcISelLowering.o: SparcGenCallingConv.inc.h -SparcISelLowering.o: SparcGenInstrInfo.inc.h -SparcISelLowering.o: SparcGenRegisterInfo.inc.h -SparcISelLowering.o: SparcGenSubtargetInfo.inc.h -SparcISelLowering.po: SparcGenCallingConv.inc.h -SparcISelLowering.po: SparcGenInstrInfo.inc.h -SparcISelLowering.po: SparcGenRegisterInfo.inc.h -SparcISelLowering.po: SparcGenSubtargetInfo.inc.h -SparcInstrInfo.o: SparcGenInstrInfo.inc.h -SparcInstrInfo.o: SparcGenRegisterInfo.inc.h -SparcInstrInfo.o: SparcGenSubtargetInfo.inc.h -SparcInstrInfo.po: SparcGenInstrInfo.inc.h -SparcInstrInfo.po: SparcGenRegisterInfo.inc.h -SparcInstrInfo.po: SparcGenSubtargetInfo.inc.h -SparcMCInstLower.o: SparcGenInstrInfo.inc.h -SparcMCInstLower.o: SparcGenRegisterInfo.inc.h -SparcMCInstLower.o: SparcGenSubtargetInfo.inc.h -SparcMCInstLower.po: SparcGenInstrInfo.inc.h -SparcMCInstLower.po: SparcGenRegisterInfo.inc.h -SparcMCInstLower.po: SparcGenSubtargetInfo.inc.h -SparcRegisterInfo.o: SparcGenInstrInfo.inc.h -SparcRegisterInfo.o: SparcGenRegisterInfo.inc.h -SparcRegisterInfo.o: SparcGenSubtargetInfo.inc.h -SparcRegisterInfo.po: SparcGenInstrInfo.inc.h -SparcRegisterInfo.po: SparcGenRegisterInfo.inc.h -SparcRegisterInfo.po: SparcGenSubtargetInfo.inc.h -SparcSubtarget.o: SparcGenInstrInfo.inc.h -SparcSubtarget.o: SparcGenRegisterInfo.inc.h -SparcSubtarget.o: SparcGenSubtargetInfo.inc.h -SparcSubtarget.po: SparcGenInstrInfo.inc.h -SparcSubtarget.po: SparcGenRegisterInfo.inc.h -SparcSubtarget.po: SparcGenSubtargetInfo.inc.h -SparcTargetMachine.o: SparcGenInstrInfo.inc.h -SparcTargetMachine.o: SparcGenRegisterInfo.inc.h -SparcTargetMachine.o: SparcGenSubtargetInfo.inc.h -SparcTargetMachine.po: SparcGenInstrInfo.inc.h -SparcTargetMachine.po: SparcGenRegisterInfo.inc.h -SparcTargetMachine.po: SparcGenSubtargetInfo.inc.h .endif diff --git a/lib/clang/libllvmsparcdesc/Makefile.depend b/lib/clang/libllvmsparcdesc/Makefile.depend index 5b5db5f..385072f 100644 --- a/lib/clang/libllvmsparcdesc/Makefile.depend +++ b/lib/clang/libllvmsparcdesc/Makefile.depend @@ -13,30 +13,4 @@ DIRDEPS = \ .if ${DEP_RELDIR} == ${_DEP_RELDIR} # local dependencies - needed for -jN in clean tree -SparcAsmBackend.o: SparcGenInstrInfo.inc.h -SparcAsmBackend.o: SparcGenRegisterInfo.inc.h -SparcAsmBackend.o: SparcGenSubtargetInfo.inc.h -SparcAsmBackend.po: SparcGenInstrInfo.inc.h -SparcAsmBackend.po: SparcGenRegisterInfo.inc.h -SparcAsmBackend.po: SparcGenSubtargetInfo.inc.h -SparcELFObjectWriter.o: SparcGenInstrInfo.inc.h -SparcELFObjectWriter.o: SparcGenRegisterInfo.inc.h -SparcELFObjectWriter.o: SparcGenSubtargetInfo.inc.h -SparcELFObjectWriter.po: SparcGenInstrInfo.inc.h -SparcELFObjectWriter.po: SparcGenRegisterInfo.inc.h -SparcELFObjectWriter.po: SparcGenSubtargetInfo.inc.h -SparcMCCodeEmitter.o: SparcGenInstrInfo.inc.h -SparcMCCodeEmitter.o: SparcGenMCCodeEmitter.inc.h -SparcMCCodeEmitter.o: SparcGenRegisterInfo.inc.h -SparcMCCodeEmitter.o: SparcGenSubtargetInfo.inc.h -SparcMCCodeEmitter.po: SparcGenInstrInfo.inc.h -SparcMCCodeEmitter.po: SparcGenMCCodeEmitter.inc.h -SparcMCCodeEmitter.po: SparcGenRegisterInfo.inc.h -SparcMCCodeEmitter.po: SparcGenSubtargetInfo.inc.h -SparcMCTargetDesc.o: SparcGenInstrInfo.inc.h -SparcMCTargetDesc.o: SparcGenRegisterInfo.inc.h -SparcMCTargetDesc.o: SparcGenSubtargetInfo.inc.h -SparcMCTargetDesc.po: SparcGenInstrInfo.inc.h -SparcMCTargetDesc.po: SparcGenRegisterInfo.inc.h -SparcMCTargetDesc.po: SparcGenSubtargetInfo.inc.h .endif diff --git a/lib/clang/libllvmsparcdisassembler/Makefile.depend b/lib/clang/libllvmsparcdisassembler/Makefile.depend index 213789e..385072f 100644 --- a/lib/clang/libllvmsparcdisassembler/Makefile.depend +++ b/lib/clang/libllvmsparcdisassembler/Makefile.depend @@ -13,12 +13,4 @@ DIRDEPS = \ .if ${DEP_RELDIR} == ${_DEP_RELDIR} # local dependencies - needed for -jN in clean tree -SparcDisassembler.o: SparcGenDisassemblerTables.inc.h -SparcDisassembler.o: SparcGenInstrInfo.inc.h -SparcDisassembler.o: SparcGenRegisterInfo.inc.h -SparcDisassembler.o: SparcGenSubtargetInfo.inc.h -SparcDisassembler.po: SparcGenDisassemblerTables.inc.h -SparcDisassembler.po: SparcGenInstrInfo.inc.h -SparcDisassembler.po: SparcGenRegisterInfo.inc.h -SparcDisassembler.po: SparcGenSubtargetInfo.inc.h .endif diff --git a/lib/clang/libllvmsparcinfo/Makefile.depend b/lib/clang/libllvmsparcinfo/Makefile.depend index ac56ca5..385072f 100644 --- a/lib/clang/libllvmsparcinfo/Makefile.depend +++ b/lib/clang/libllvmsparcinfo/Makefile.depend @@ -13,10 +13,4 @@ DIRDEPS = \ .if ${DEP_RELDIR} == ${_DEP_RELDIR} # local dependencies - needed for -jN in clean tree -SparcTargetInfo.o: SparcGenInstrInfo.inc.h -SparcTargetInfo.o: SparcGenRegisterInfo.inc.h -SparcTargetInfo.o: SparcGenSubtargetInfo.inc.h -SparcTargetInfo.po: SparcGenInstrInfo.inc.h -SparcTargetInfo.po: SparcGenRegisterInfo.inc.h -SparcTargetInfo.po: SparcGenSubtargetInfo.inc.h .endif diff --git a/lib/clang/libllvmsparcinstprinter/Makefile.depend b/lib/clang/libllvmsparcinstprinter/Makefile.depend index 6571fb4..385072f 100644 --- a/lib/clang/libllvmsparcinstprinter/Makefile.depend +++ b/lib/clang/libllvmsparcinstprinter/Makefile.depend @@ -13,12 +13,4 @@ DIRDEPS = \ .if ${DEP_RELDIR} == ${_DEP_RELDIR} # local dependencies - needed for -jN in clean tree -SparcInstPrinter.o: SparcGenAsmWriter.inc.h -SparcInstPrinter.o: SparcGenInstrInfo.inc.h -SparcInstPrinter.o: SparcGenRegisterInfo.inc.h -SparcInstPrinter.o: SparcGenSubtargetInfo.inc.h -SparcInstPrinter.po: SparcGenAsmWriter.inc.h -SparcInstPrinter.po: SparcGenInstrInfo.inc.h -SparcInstPrinter.po: SparcGenRegisterInfo.inc.h -SparcInstPrinter.po: SparcGenSubtargetInfo.inc.h .endif diff --git a/lib/clang/libllvmtarget/Makefile.depend b/lib/clang/libllvmtarget/Makefile.depend index afcaff0..385072f 100644 --- a/lib/clang/libllvmtarget/Makefile.depend +++ b/lib/clang/libllvmtarget/Makefile.depend @@ -13,8 +13,4 @@ DIRDEPS = \ .if ${DEP_RELDIR} == ${_DEP_RELDIR} # local dependencies - needed for -jN in clean tree -TargetMachine.o: Intrinsics.inc.h -TargetMachine.po: Intrinsics.inc.h -TargetMachineC.o: Intrinsics.inc.h -TargetMachineC.po: Intrinsics.inc.h .endif diff --git a/lib/clang/libllvmtransformutils/Makefile.depend b/lib/clang/libllvmtransformutils/Makefile.depend index 7d4d09d..385072f 100644 --- a/lib/clang/libllvmtransformutils/Makefile.depend +++ b/lib/clang/libllvmtransformutils/Makefile.depend @@ -13,34 +13,4 @@ DIRDEPS = \ .if ${DEP_RELDIR} == ${_DEP_RELDIR} # local dependencies - needed for -jN in clean tree -BasicBlockUtils.o: Intrinsics.inc.h -BasicBlockUtils.po: Intrinsics.inc.h -BuildLibCalls.o: Intrinsics.inc.h -BuildLibCalls.po: Intrinsics.inc.h -CloneFunction.o: Intrinsics.inc.h -CloneFunction.po: Intrinsics.inc.h -CodeExtractor.o: Intrinsics.inc.h -CodeExtractor.po: Intrinsics.inc.h -GlobalStatus.o: Intrinsics.inc.h -GlobalStatus.po: Intrinsics.inc.h -InlineFunction.o: Intrinsics.inc.h -InlineFunction.po: Intrinsics.inc.h -IntegerDivision.o: Intrinsics.inc.h -IntegerDivision.po: Intrinsics.inc.h -Local.o: Intrinsics.inc.h -Local.po: Intrinsics.inc.h -LoopSimplify.o: Intrinsics.inc.h -LoopSimplify.po: Intrinsics.inc.h -LoopUtils.o: Intrinsics.inc.h -LoopUtils.po: Intrinsics.inc.h -PromoteMemoryToRegister.o: Intrinsics.inc.h -PromoteMemoryToRegister.po: Intrinsics.inc.h -SSAUpdater.o: Intrinsics.inc.h -SSAUpdater.po: Intrinsics.inc.h -SimplifyCFG.o: Intrinsics.inc.h -SimplifyCFG.po: Intrinsics.inc.h -SimplifyIndVar.o: Intrinsics.inc.h -SimplifyIndVar.po: Intrinsics.inc.h -SimplifyLibCalls.o: Intrinsics.inc.h -SimplifyLibCalls.po: Intrinsics.inc.h .endif diff --git a/lib/clang/libllvmvectorize/Makefile.depend b/lib/clang/libllvmvectorize/Makefile.depend index daeb031..385072f 100644 --- a/lib/clang/libllvmvectorize/Makefile.depend +++ b/lib/clang/libllvmvectorize/Makefile.depend @@ -13,10 +13,4 @@ DIRDEPS = \ .if ${DEP_RELDIR} == ${_DEP_RELDIR} # local dependencies - needed for -jN in clean tree -BBVectorize.o: Intrinsics.inc.h -BBVectorize.po: Intrinsics.inc.h -LoopVectorize.o: Intrinsics.inc.h -LoopVectorize.po: Intrinsics.inc.h -SLPVectorizer.o: Intrinsics.inc.h -SLPVectorizer.po: Intrinsics.inc.h .endif diff --git a/lib/clang/libllvmx86asmparser/Makefile.depend b/lib/clang/libllvmx86asmparser/Makefile.depend index d4b04c6..385072f 100644 --- a/lib/clang/libllvmx86asmparser/Makefile.depend +++ b/lib/clang/libllvmx86asmparser/Makefile.depend @@ -13,18 +13,4 @@ DIRDEPS = \ .if ${DEP_RELDIR} == ${_DEP_RELDIR} # local dependencies - needed for -jN in clean tree -X86AsmInstrumentation.o: X86GenInstrInfo.inc.h -X86AsmInstrumentation.o: X86GenRegisterInfo.inc.h -X86AsmInstrumentation.o: X86GenSubtargetInfo.inc.h -X86AsmInstrumentation.po: X86GenInstrInfo.inc.h -X86AsmInstrumentation.po: X86GenRegisterInfo.inc.h -X86AsmInstrumentation.po: X86GenSubtargetInfo.inc.h -X86AsmParser.o: X86GenAsmMatcher.inc.h -X86AsmParser.o: X86GenInstrInfo.inc.h -X86AsmParser.o: X86GenRegisterInfo.inc.h -X86AsmParser.o: X86GenSubtargetInfo.inc.h -X86AsmParser.po: X86GenAsmMatcher.inc.h -X86AsmParser.po: X86GenInstrInfo.inc.h -X86AsmParser.po: X86GenRegisterInfo.inc.h -X86AsmParser.po: X86GenSubtargetInfo.inc.h .endif diff --git a/lib/clang/libllvmx86codegen/Makefile.depend b/lib/clang/libllvmx86codegen/Makefile.depend index ad7daaf..385072f 100644 --- a/lib/clang/libllvmx86codegen/Makefile.depend +++ b/lib/clang/libllvmx86codegen/Makefile.depend @@ -13,134 +13,4 @@ DIRDEPS = \ .if ${DEP_RELDIR} == ${_DEP_RELDIR} # local dependencies - needed for -jN in clean tree -X86AsmPrinter.o: X86GenInstrInfo.inc.h -X86AsmPrinter.o: X86GenRegisterInfo.inc.h -X86AsmPrinter.o: X86GenSubtargetInfo.inc.h -X86AsmPrinter.po: X86GenInstrInfo.inc.h -X86AsmPrinter.po: X86GenRegisterInfo.inc.h -X86AsmPrinter.po: X86GenSubtargetInfo.inc.h -X86CallFrameOptimization.o: X86GenInstrInfo.inc.h -X86CallFrameOptimization.o: X86GenRegisterInfo.inc.h -X86CallFrameOptimization.o: X86GenSubtargetInfo.inc.h -X86CallFrameOptimization.po: X86GenInstrInfo.inc.h -X86CallFrameOptimization.po: X86GenRegisterInfo.inc.h -X86CallFrameOptimization.po: X86GenSubtargetInfo.inc.h -X86ExpandPseudo.o: X86GenInstrInfo.inc.h -X86ExpandPseudo.o: X86GenRegisterInfo.inc.h -X86ExpandPseudo.o: X86GenSubtargetInfo.inc.h -X86ExpandPseudo.po: X86GenInstrInfo.inc.h -X86ExpandPseudo.po: X86GenRegisterInfo.inc.h -X86ExpandPseudo.po: X86GenSubtargetInfo.inc.h -X86FastISel.o: Intrinsics.inc.h -X86FastISel.o: X86GenCallingConv.inc.h -X86FastISel.o: X86GenFastISel.inc.h -X86FastISel.o: X86GenInstrInfo.inc.h -X86FastISel.o: X86GenRegisterInfo.inc.h -X86FastISel.o: X86GenSubtargetInfo.inc.h -X86FastISel.po: Intrinsics.inc.h -X86FastISel.po: X86GenCallingConv.inc.h -X86FastISel.po: X86GenFastISel.inc.h -X86FastISel.po: X86GenInstrInfo.inc.h -X86FastISel.po: X86GenRegisterInfo.inc.h -X86FastISel.po: X86GenSubtargetInfo.inc.h -X86FixupLEAs.o: X86GenInstrInfo.inc.h -X86FixupLEAs.o: X86GenRegisterInfo.inc.h -X86FixupLEAs.o: X86GenSubtargetInfo.inc.h -X86FixupLEAs.po: X86GenInstrInfo.inc.h -X86FixupLEAs.po: X86GenRegisterInfo.inc.h -X86FixupLEAs.po: X86GenSubtargetInfo.inc.h -X86FloatingPoint.o: X86GenInstrInfo.inc.h -X86FloatingPoint.o: X86GenRegisterInfo.inc.h -X86FloatingPoint.o: X86GenSubtargetInfo.inc.h -X86FloatingPoint.po: X86GenInstrInfo.inc.h -X86FloatingPoint.po: X86GenRegisterInfo.inc.h -X86FloatingPoint.po: X86GenSubtargetInfo.inc.h -X86FrameLowering.o: X86GenInstrInfo.inc.h -X86FrameLowering.o: X86GenRegisterInfo.inc.h -X86FrameLowering.o: X86GenSubtargetInfo.inc.h -X86FrameLowering.po: X86GenInstrInfo.inc.h -X86FrameLowering.po: X86GenRegisterInfo.inc.h -X86FrameLowering.po: X86GenSubtargetInfo.inc.h -X86ISelDAGToDAG.o: Intrinsics.inc.h -X86ISelDAGToDAG.o: X86GenDAGISel.inc.h -X86ISelDAGToDAG.o: X86GenInstrInfo.inc.h -X86ISelDAGToDAG.o: X86GenRegisterInfo.inc.h -X86ISelDAGToDAG.o: X86GenSubtargetInfo.inc.h -X86ISelDAGToDAG.po: Intrinsics.inc.h -X86ISelDAGToDAG.po: X86GenDAGISel.inc.h -X86ISelDAGToDAG.po: X86GenInstrInfo.inc.h -X86ISelDAGToDAG.po: X86GenRegisterInfo.inc.h -X86ISelDAGToDAG.po: X86GenSubtargetInfo.inc.h -X86ISelLowering.o: Intrinsics.inc.h -X86ISelLowering.o: X86GenCallingConv.inc.h -X86ISelLowering.o: X86GenInstrInfo.inc.h -X86ISelLowering.o: X86GenRegisterInfo.inc.h -X86ISelLowering.o: X86GenSubtargetInfo.inc.h -X86ISelLowering.po: Intrinsics.inc.h -X86ISelLowering.po: X86GenCallingConv.inc.h -X86ISelLowering.po: X86GenInstrInfo.inc.h -X86ISelLowering.po: X86GenRegisterInfo.inc.h -X86ISelLowering.po: X86GenSubtargetInfo.inc.h -X86InstrInfo.o: X86GenInstrInfo.inc.h -X86InstrInfo.o: X86GenRegisterInfo.inc.h -X86InstrInfo.o: X86GenSubtargetInfo.inc.h -X86InstrInfo.po: X86GenInstrInfo.inc.h -X86InstrInfo.po: X86GenRegisterInfo.inc.h -X86InstrInfo.po: X86GenSubtargetInfo.inc.h -X86MCInstLower.o: X86GenInstrInfo.inc.h -X86MCInstLower.o: X86GenRegisterInfo.inc.h -X86MCInstLower.o: X86GenSubtargetInfo.inc.h -X86MCInstLower.po: X86GenInstrInfo.inc.h -X86MCInstLower.po: X86GenRegisterInfo.inc.h -X86MCInstLower.po: X86GenSubtargetInfo.inc.h -X86MachineFunctionInfo.o: X86GenRegisterInfo.inc.h -X86MachineFunctionInfo.po: X86GenRegisterInfo.inc.h -X86PadShortFunction.o: X86GenInstrInfo.inc.h -X86PadShortFunction.o: X86GenRegisterInfo.inc.h -X86PadShortFunction.o: X86GenSubtargetInfo.inc.h -X86PadShortFunction.po: X86GenInstrInfo.inc.h -X86PadShortFunction.po: X86GenRegisterInfo.inc.h -X86PadShortFunction.po: X86GenSubtargetInfo.inc.h -X86RegisterInfo.o: X86GenInstrInfo.inc.h -X86RegisterInfo.o: X86GenRegisterInfo.inc.h -X86RegisterInfo.o: X86GenSubtargetInfo.inc.h -X86RegisterInfo.po: X86GenInstrInfo.inc.h -X86RegisterInfo.po: X86GenRegisterInfo.inc.h -X86RegisterInfo.po: X86GenSubtargetInfo.inc.h -X86SelectionDAGInfo.o: X86GenInstrInfo.inc.h -X86SelectionDAGInfo.o: X86GenRegisterInfo.inc.h -X86SelectionDAGInfo.o: X86GenSubtargetInfo.inc.h -X86SelectionDAGInfo.po: X86GenInstrInfo.inc.h -X86SelectionDAGInfo.po: X86GenRegisterInfo.inc.h -X86SelectionDAGInfo.po: X86GenSubtargetInfo.inc.h -X86Subtarget.o: X86GenInstrInfo.inc.h -X86Subtarget.o: X86GenRegisterInfo.inc.h -X86Subtarget.o: X86GenSubtargetInfo.inc.h -X86Subtarget.po: X86GenInstrInfo.inc.h -X86Subtarget.po: X86GenRegisterInfo.inc.h -X86Subtarget.po: X86GenSubtargetInfo.inc.h -X86TargetMachine.o: Intrinsics.inc.h -X86TargetMachine.o: X86GenInstrInfo.inc.h -X86TargetMachine.o: X86GenRegisterInfo.inc.h -X86TargetMachine.o: X86GenSubtargetInfo.inc.h -X86TargetMachine.po: Intrinsics.inc.h -X86TargetMachine.po: X86GenInstrInfo.inc.h -X86TargetMachine.po: X86GenRegisterInfo.inc.h -X86TargetMachine.po: X86GenSubtargetInfo.inc.h -X86TargetTransformInfo.o: Intrinsics.inc.h -X86TargetTransformInfo.o: X86GenInstrInfo.inc.h -X86TargetTransformInfo.o: X86GenRegisterInfo.inc.h -X86TargetTransformInfo.o: X86GenSubtargetInfo.inc.h -X86TargetTransformInfo.po: Intrinsics.inc.h -X86TargetTransformInfo.po: X86GenInstrInfo.inc.h -X86TargetTransformInfo.po: X86GenRegisterInfo.inc.h -X86TargetTransformInfo.po: X86GenSubtargetInfo.inc.h -X86VZeroUpper.o: X86GenInstrInfo.inc.h -X86VZeroUpper.o: X86GenRegisterInfo.inc.h -X86VZeroUpper.o: X86GenSubtargetInfo.inc.h -X86VZeroUpper.po: X86GenInstrInfo.inc.h -X86VZeroUpper.po: X86GenRegisterInfo.inc.h -X86VZeroUpper.po: X86GenSubtargetInfo.inc.h -X86WinEHState.o: Intrinsics.inc.h -X86WinEHState.po: Intrinsics.inc.h .endif diff --git a/lib/clang/libllvmx86desc/Makefile.depend b/lib/clang/libllvmx86desc/Makefile.depend index b68230d..385072f 100644 --- a/lib/clang/libllvmx86desc/Makefile.depend +++ b/lib/clang/libllvmx86desc/Makefile.depend @@ -13,58 +13,4 @@ DIRDEPS = \ .if ${DEP_RELDIR} == ${_DEP_RELDIR} # local dependencies - needed for -jN in clean tree -X86AsmBackend.o: X86GenInstrInfo.inc.h -X86AsmBackend.o: X86GenRegisterInfo.inc.h -X86AsmBackend.o: X86GenSubtargetInfo.inc.h -X86AsmBackend.po: X86GenInstrInfo.inc.h -X86AsmBackend.po: X86GenRegisterInfo.inc.h -X86AsmBackend.po: X86GenSubtargetInfo.inc.h -X86ELFObjectWriter.o: X86GenInstrInfo.inc.h -X86ELFObjectWriter.o: X86GenRegisterInfo.inc.h -X86ELFObjectWriter.o: X86GenSubtargetInfo.inc.h -X86ELFObjectWriter.po: X86GenInstrInfo.inc.h -X86ELFObjectWriter.po: X86GenRegisterInfo.inc.h -X86ELFObjectWriter.po: X86GenSubtargetInfo.inc.h -X86ELFRelocationInfo.o: X86GenInstrInfo.inc.h -X86ELFRelocationInfo.o: X86GenRegisterInfo.inc.h -X86ELFRelocationInfo.o: X86GenSubtargetInfo.inc.h -X86ELFRelocationInfo.po: X86GenInstrInfo.inc.h -X86ELFRelocationInfo.po: X86GenRegisterInfo.inc.h -X86ELFRelocationInfo.po: X86GenSubtargetInfo.inc.h -X86MCCodeEmitter.o: X86GenInstrInfo.inc.h -X86MCCodeEmitter.o: X86GenRegisterInfo.inc.h -X86MCCodeEmitter.o: X86GenSubtargetInfo.inc.h -X86MCCodeEmitter.po: X86GenInstrInfo.inc.h -X86MCCodeEmitter.po: X86GenRegisterInfo.inc.h -X86MCCodeEmitter.po: X86GenSubtargetInfo.inc.h -X86MCTargetDesc.o: X86GenInstrInfo.inc.h -X86MCTargetDesc.o: X86GenRegisterInfo.inc.h -X86MCTargetDesc.o: X86GenSubtargetInfo.inc.h -X86MCTargetDesc.po: X86GenInstrInfo.inc.h -X86MCTargetDesc.po: X86GenRegisterInfo.inc.h -X86MCTargetDesc.po: X86GenSubtargetInfo.inc.h -X86MachORelocationInfo.o: X86GenInstrInfo.inc.h -X86MachORelocationInfo.o: X86GenRegisterInfo.inc.h -X86MachORelocationInfo.o: X86GenSubtargetInfo.inc.h -X86MachORelocationInfo.po: X86GenInstrInfo.inc.h -X86MachORelocationInfo.po: X86GenRegisterInfo.inc.h -X86MachORelocationInfo.po: X86GenSubtargetInfo.inc.h -X86MachObjectWriter.o: X86GenInstrInfo.inc.h -X86MachObjectWriter.o: X86GenRegisterInfo.inc.h -X86MachObjectWriter.o: X86GenSubtargetInfo.inc.h -X86MachObjectWriter.po: X86GenInstrInfo.inc.h -X86MachObjectWriter.po: X86GenRegisterInfo.inc.h -X86MachObjectWriter.po: X86GenSubtargetInfo.inc.h -X86WinCOFFObjectWriter.o: X86GenInstrInfo.inc.h -X86WinCOFFObjectWriter.o: X86GenRegisterInfo.inc.h -X86WinCOFFObjectWriter.o: X86GenSubtargetInfo.inc.h -X86WinCOFFObjectWriter.po: X86GenInstrInfo.inc.h -X86WinCOFFObjectWriter.po: X86GenRegisterInfo.inc.h -X86WinCOFFObjectWriter.po: X86GenSubtargetInfo.inc.h -X86WinCOFFStreamer.o: X86GenInstrInfo.inc.h -X86WinCOFFStreamer.o: X86GenRegisterInfo.inc.h -X86WinCOFFStreamer.o: X86GenSubtargetInfo.inc.h -X86WinCOFFStreamer.po: X86GenInstrInfo.inc.h -X86WinCOFFStreamer.po: X86GenRegisterInfo.inc.h -X86WinCOFFStreamer.po: X86GenSubtargetInfo.inc.h .endif diff --git a/lib/clang/libllvmx86disassembler/Makefile.depend b/lib/clang/libllvmx86disassembler/Makefile.depend index 6f0ac76..385072f 100644 --- a/lib/clang/libllvmx86disassembler/Makefile.depend +++ b/lib/clang/libllvmx86disassembler/Makefile.depend @@ -13,12 +13,4 @@ DIRDEPS = \ .if ${DEP_RELDIR} == ${_DEP_RELDIR} # local dependencies - needed for -jN in clean tree -X86Disassembler.o: X86GenInstrInfo.inc.h -X86Disassembler.o: X86GenRegisterInfo.inc.h -X86Disassembler.o: X86GenSubtargetInfo.inc.h -X86Disassembler.po: X86GenInstrInfo.inc.h -X86Disassembler.po: X86GenRegisterInfo.inc.h -X86Disassembler.po: X86GenSubtargetInfo.inc.h -X86DisassemblerDecoder.o: X86GenDisassemblerTables.inc.h -X86DisassemblerDecoder.po: X86GenDisassemblerTables.inc.h .endif diff --git a/lib/clang/libllvmx86info/Makefile.depend b/lib/clang/libllvmx86info/Makefile.depend index 511a4d1..385072f 100644 --- a/lib/clang/libllvmx86info/Makefile.depend +++ b/lib/clang/libllvmx86info/Makefile.depend @@ -13,10 +13,4 @@ DIRDEPS = \ .if ${DEP_RELDIR} == ${_DEP_RELDIR} # local dependencies - needed for -jN in clean tree -X86TargetInfo.o: X86GenInstrInfo.inc.h -X86TargetInfo.o: X86GenRegisterInfo.inc.h -X86TargetInfo.o: X86GenSubtargetInfo.inc.h -X86TargetInfo.po: X86GenInstrInfo.inc.h -X86TargetInfo.po: X86GenRegisterInfo.inc.h -X86TargetInfo.po: X86GenSubtargetInfo.inc.h .endif diff --git a/lib/clang/libllvmx86instprinter/Makefile.depend b/lib/clang/libllvmx86instprinter/Makefile.depend index dfc7c0f..385072f 100644 --- a/lib/clang/libllvmx86instprinter/Makefile.depend +++ b/lib/clang/libllvmx86instprinter/Makefile.depend @@ -13,26 +13,4 @@ DIRDEPS = \ .if ${DEP_RELDIR} == ${_DEP_RELDIR} # local dependencies - needed for -jN in clean tree -X86ATTInstPrinter.o: X86GenAsmWriter.inc.h -X86ATTInstPrinter.o: X86GenInstrInfo.inc.h -X86ATTInstPrinter.o: X86GenRegisterInfo.inc.h -X86ATTInstPrinter.o: X86GenSubtargetInfo.inc.h -X86ATTInstPrinter.po: X86GenAsmWriter.inc.h -X86ATTInstPrinter.po: X86GenInstrInfo.inc.h -X86ATTInstPrinter.po: X86GenRegisterInfo.inc.h -X86ATTInstPrinter.po: X86GenSubtargetInfo.inc.h -X86InstComments.o: X86GenInstrInfo.inc.h -X86InstComments.o: X86GenRegisterInfo.inc.h -X86InstComments.o: X86GenSubtargetInfo.inc.h -X86InstComments.po: X86GenInstrInfo.inc.h -X86InstComments.po: X86GenRegisterInfo.inc.h -X86InstComments.po: X86GenSubtargetInfo.inc.h -X86IntelInstPrinter.o: X86GenAsmWriter1.inc.h -X86IntelInstPrinter.o: X86GenInstrInfo.inc.h -X86IntelInstPrinter.o: X86GenRegisterInfo.inc.h -X86IntelInstPrinter.o: X86GenSubtargetInfo.inc.h -X86IntelInstPrinter.po: X86GenAsmWriter1.inc.h -X86IntelInstPrinter.po: X86GenInstrInfo.inc.h -X86IntelInstPrinter.po: X86GenRegisterInfo.inc.h -X86IntelInstPrinter.po: X86GenSubtargetInfo.inc.h .endif diff --git a/lib/libc++/Makefile.depend b/lib/libc++/Makefile.depend index 39735a8..c609e5d 100644 --- a/lib/libc++/Makefile.depend +++ b/lib/libc++/Makefile.depend @@ -17,22 +17,4 @@ DIRDEPS = \ .if ${DEP_RELDIR} == ${_DEP_RELDIR} # local dependencies - needed for -jN in clean tree -cxxrt_auxhelper.o: cxxrt_auxhelper.cc -cxxrt_auxhelper.po: cxxrt_auxhelper.cc -cxxrt_dynamic_cast.o: cxxrt_dynamic_cast.cc -cxxrt_dynamic_cast.po: cxxrt_dynamic_cast.cc -cxxrt_exception.o: cxxrt_exception.cc -cxxrt_exception.po: cxxrt_exception.cc -cxxrt_guard.o: cxxrt_guard.cc -cxxrt_guard.po: cxxrt_guard.cc -cxxrt_libelftc_dem_gnu3.o: cxxrt_libelftc_dem_gnu3.c -cxxrt_libelftc_dem_gnu3.po: cxxrt_libelftc_dem_gnu3.c -cxxrt_memory.o: cxxrt_memory.cc -cxxrt_memory.po: cxxrt_memory.cc -cxxrt_stdexcept.o: cxxrt_stdexcept.cc -cxxrt_stdexcept.po: cxxrt_stdexcept.cc -cxxrt_terminate.o: cxxrt_terminate.cc -cxxrt_terminate.po: cxxrt_terminate.cc -cxxrt_typeinfo.o: cxxrt_typeinfo.cc -cxxrt_typeinfo.po: cxxrt_typeinfo.cc .endif diff --git a/lib/libc/Makefile.depend b/lib/libc/Makefile.depend index 02168e8..c38d79a 100644 --- a/lib/libc/Makefile.depend +++ b/lib/libc/Makefile.depend @@ -15,157 +15,4 @@ DIRDEPS = \ .if ${DEP_RELDIR} == ${_DEP_RELDIR} # local dependencies - needed for -jN in clean tree -cancelpoints_sem.So: cancelpoints_sem.c -cancelpoints_sem.o: cancelpoints_sem.c -cancelpoints_sem.po: cancelpoints_sem.c -cancelpoints_sem_new.So: cancelpoints_sem_new.c -cancelpoints_sem_new.o: cancelpoints_sem_new.c -cancelpoints_sem_new.po: cancelpoints_sem_new.c -crypt_clnt.So: crypt.h -crypt_clnt.So: crypt_clnt.c -crypt_clnt.o: crypt.h -crypt_clnt.o: crypt_clnt.c -crypt_clnt.po: crypt.h -crypt_clnt.po: crypt_clnt.c -crypt_xdr.So: crypt.h -crypt_xdr.So: crypt_xdr.c -crypt_xdr.o: crypt.h -crypt_xdr.o: crypt_xdr.c -crypt_xdr.po: crypt.h -crypt_xdr.po: crypt_xdr.c -gdtoa_dmisc.So: gdtoa_dmisc.c -gdtoa_dmisc.o: gdtoa_dmisc.c -gdtoa_dmisc.po: gdtoa_dmisc.c -gdtoa_dtoa.So: gdtoa_dtoa.c -gdtoa_dtoa.o: gdtoa_dtoa.c -gdtoa_dtoa.po: gdtoa_dtoa.c -gdtoa_gdtoa.So: gdtoa_gdtoa.c -gdtoa_gdtoa.o: gdtoa_gdtoa.c -gdtoa_gdtoa.po: gdtoa_gdtoa.c -gdtoa_gethex.So: gdtoa_gethex.c -gdtoa_gethex.o: gdtoa_gethex.c -gdtoa_gethex.po: gdtoa_gethex.c -gdtoa_gmisc.So: gdtoa_gmisc.c -gdtoa_gmisc.o: gdtoa_gmisc.c -gdtoa_gmisc.po: gdtoa_gmisc.c -gdtoa_hd_init.So: gdtoa_hd_init.c -gdtoa_hd_init.o: gdtoa_hd_init.c -gdtoa_hd_init.po: gdtoa_hd_init.c -gdtoa_hexnan.So: gdtoa_hexnan.c -gdtoa_hexnan.o: gdtoa_hexnan.c -gdtoa_hexnan.po: gdtoa_hexnan.c -gdtoa_misc.So: gdtoa_misc.c -gdtoa_misc.o: gdtoa_misc.c -gdtoa_misc.po: gdtoa_misc.c -gdtoa_smisc.So: gdtoa_smisc.c -gdtoa_smisc.o: gdtoa_smisc.c -gdtoa_smisc.po: gdtoa_smisc.c -gdtoa_strtod.So: gdtoa_strtod.c -gdtoa_strtod.o: gdtoa_strtod.c -gdtoa_strtod.po: gdtoa_strtod.c -gdtoa_strtodg.So: gdtoa_strtodg.c -gdtoa_strtodg.o: gdtoa_strtodg.c -gdtoa_strtodg.po: gdtoa_strtodg.c -gdtoa_strtof.So: gdtoa_strtof.c -gdtoa_strtof.o: gdtoa_strtof.c -gdtoa_strtof.po: gdtoa_strtof.c -gdtoa_strtord.So: gdtoa_strtord.c -gdtoa_strtord.o: gdtoa_strtord.c -gdtoa_strtord.po: gdtoa_strtord.c -gdtoa_strtorx.So: gdtoa_strtorx.c -gdtoa_strtorx.o: gdtoa_strtorx.c -gdtoa_strtorx.po: gdtoa_strtorx.c -gdtoa_sum.So: gdtoa_sum.c -gdtoa_sum.o: gdtoa_sum.c -gdtoa_sum.po: gdtoa_sum.c -gdtoa_ulp.So: gdtoa_ulp.c -gdtoa_ulp.o: gdtoa_ulp.c -gdtoa_ulp.po: gdtoa_ulp.c -jemalloc_arena.So: jemalloc_arena.c -jemalloc_arena.o: jemalloc_arena.c -jemalloc_arena.po: jemalloc_arena.c -jemalloc_atomic.So: jemalloc_atomic.c -jemalloc_atomic.o: jemalloc_atomic.c -jemalloc_atomic.po: jemalloc_atomic.c -jemalloc_base.So: jemalloc_base.c -jemalloc_base.o: jemalloc_base.c -jemalloc_base.po: jemalloc_base.c -jemalloc_bitmap.So: jemalloc_bitmap.c -jemalloc_bitmap.o: jemalloc_bitmap.c -jemalloc_bitmap.po: jemalloc_bitmap.c -jemalloc_chunk.So: jemalloc_chunk.c -jemalloc_chunk.o: jemalloc_chunk.c -jemalloc_chunk.po: jemalloc_chunk.c -jemalloc_chunk_dss.So: jemalloc_chunk_dss.c -jemalloc_chunk_dss.o: jemalloc_chunk_dss.c -jemalloc_chunk_dss.po: jemalloc_chunk_dss.c -jemalloc_chunk_mmap.So: jemalloc_chunk_mmap.c -jemalloc_chunk_mmap.o: jemalloc_chunk_mmap.c -jemalloc_chunk_mmap.po: jemalloc_chunk_mmap.c -jemalloc_ckh.So: jemalloc_ckh.c -jemalloc_ckh.o: jemalloc_ckh.c -jemalloc_ckh.po: jemalloc_ckh.c -jemalloc_ctl.So: jemalloc_ctl.c -jemalloc_ctl.o: jemalloc_ctl.c -jemalloc_ctl.po: jemalloc_ctl.c -jemalloc_extent.So: jemalloc_extent.c -jemalloc_extent.o: jemalloc_extent.c -jemalloc_extent.po: jemalloc_extent.c -jemalloc_hash.So: jemalloc_hash.c -jemalloc_hash.o: jemalloc_hash.c -jemalloc_hash.po: jemalloc_hash.c -jemalloc_huge.So: jemalloc_huge.c -jemalloc_huge.o: jemalloc_huge.c -jemalloc_huge.po: jemalloc_huge.c -jemalloc_jemalloc.So: jemalloc_jemalloc.c -jemalloc_jemalloc.o: jemalloc_jemalloc.c -jemalloc_jemalloc.po: jemalloc_jemalloc.c -jemalloc_mb.So: jemalloc_mb.c -jemalloc_mb.o: jemalloc_mb.c -jemalloc_mb.po: jemalloc_mb.c -jemalloc_mutex.So: jemalloc_mutex.c -jemalloc_mutex.o: jemalloc_mutex.c -jemalloc_mutex.po: jemalloc_mutex.c -jemalloc_pages.So: jemalloc_pages.c -jemalloc_pages.o: jemalloc_pages.c -jemalloc_pages.po: jemalloc_pages.c -jemalloc_prof.So: jemalloc_prof.c -jemalloc_prof.o: jemalloc_prof.c -jemalloc_prof.po: jemalloc_prof.c -jemalloc_quarantine.So: jemalloc_quarantine.c -jemalloc_quarantine.o: jemalloc_quarantine.c -jemalloc_quarantine.po: jemalloc_quarantine.c -jemalloc_rtree.So: jemalloc_rtree.c -jemalloc_rtree.o: jemalloc_rtree.c -jemalloc_rtree.po: jemalloc_rtree.c -jemalloc_stats.So: jemalloc_stats.c -jemalloc_stats.o: jemalloc_stats.c -jemalloc_stats.po: jemalloc_stats.c -jemalloc_tcache.So: jemalloc_tcache.c -jemalloc_tcache.o: jemalloc_tcache.c -jemalloc_tcache.po: jemalloc_tcache.c -jemalloc_tsd.So: jemalloc_tsd.c -jemalloc_tsd.o: jemalloc_tsd.c -jemalloc_tsd.po: jemalloc_tsd.c -jemalloc_util.So: jemalloc_util.c -jemalloc_util.o: jemalloc_util.c -jemalloc_util.po: jemalloc_util.c -nslexer.So: nslexer.c -nslexer.So: nsparser.h -nslexer.o: nslexer.c -nslexer.o: nsparser.h -nslexer.po: nslexer.c -nslexer.po: nsparser.h -nsparser.So: nsparser.c -nsparser.o: nsparser.c -nsparser.po: nsparser.c -subr_acl_nfs4.So: subr_acl_nfs4.c -subr_acl_nfs4.o: subr_acl_nfs4.c -subr_acl_nfs4.po: subr_acl_nfs4.c -yp_xdr.So: yp.h -yp_xdr.So: yp_xdr.c -yp_xdr.o: yp.h -yp_xdr.o: yp_xdr.c -yp_xdr.po: yp.h -yp_xdr.po: yp_xdr.c .endif diff --git a/lib/libdwarf/Makefile.depend b/lib/libdwarf/Makefile.depend index ea167ef..b767569 100644 --- a/lib/libdwarf/Makefile.depend +++ b/lib/libdwarf/Makefile.depend @@ -16,37 +16,4 @@ DIRDEPS = \ .if ${DEP_RELDIR} == ${_DEP_RELDIR} # local dependencies - needed for -jN in clean tree -dwarf_funcs.So: dwarf_funcs.c -dwarf_funcs.o: dwarf_funcs.c -dwarf_funcs.po: dwarf_funcs.c -dwarf_pro_funcs.So: dwarf_pro_funcs.c -dwarf_pro_funcs.o: dwarf_pro_funcs.c -dwarf_pro_funcs.po: dwarf_pro_funcs.c -dwarf_pro_pubnames.So: dwarf_pro_pubnames.c -dwarf_pro_pubnames.o: dwarf_pro_pubnames.c -dwarf_pro_pubnames.po: dwarf_pro_pubnames.c -dwarf_pro_types.So: dwarf_pro_types.c -dwarf_pro_types.o: dwarf_pro_types.c -dwarf_pro_types.po: dwarf_pro_types.c -dwarf_pro_vars.So: dwarf_pro_vars.c -dwarf_pro_vars.o: dwarf_pro_vars.c -dwarf_pro_vars.po: dwarf_pro_vars.c -dwarf_pro_weaks.So: dwarf_pro_weaks.c -dwarf_pro_weaks.o: dwarf_pro_weaks.c -dwarf_pro_weaks.po: dwarf_pro_weaks.c -dwarf_pubnames.So: dwarf_pubnames.c -dwarf_pubnames.o: dwarf_pubnames.c -dwarf_pubnames.po: dwarf_pubnames.c -dwarf_pubtypes.So: dwarf_pubtypes.c -dwarf_pubtypes.o: dwarf_pubtypes.c -dwarf_pubtypes.po: dwarf_pubtypes.c -dwarf_types.So: dwarf_types.c -dwarf_types.o: dwarf_types.c -dwarf_types.po: dwarf_types.c -dwarf_vars.So: dwarf_vars.c -dwarf_vars.o: dwarf_vars.c -dwarf_vars.po: dwarf_vars.c -dwarf_weaks.So: dwarf_weaks.c -dwarf_weaks.o: dwarf_weaks.c -dwarf_weaks.po: dwarf_weaks.c .endif diff --git a/lib/libedit/Makefile.depend b/lib/libedit/Makefile.depend index 607ebe0..59bc828 100644 --- a/lib/libedit/Makefile.depend +++ b/lib/libedit/Makefile.depend @@ -16,49 +16,4 @@ DIRDEPS = \ .if ${DEP_RELDIR} == ${_DEP_RELDIR} # local dependencies - needed for -jN in clean tree -editline.So: common.h -editline.So: editline.c -editline.So: emacs.h -editline.So: fcns.c -editline.So: fcns.h -editline.So: help.c -editline.So: help.h -editline.So: vi.h -editline.o: common.h -editline.o: editline.c -editline.o: emacs.h -editline.o: fcns.c -editline.o: fcns.h -editline.o: help.c -editline.o: help.h -editline.o: vi.h -editline.po: common.h -editline.po: editline.c -editline.po: emacs.h -editline.po: fcns.c -editline.po: fcns.h -editline.po: help.c -editline.po: help.h -editline.po: vi.h -historyn.So: historyn.c -historyn.o: historyn.c -historyn.po: historyn.c -readline.So: common.h -readline.So: emacs.h -readline.So: fcns.h -readline.So: help.h -readline.So: vi.h -readline.o: common.h -readline.o: emacs.h -readline.o: fcns.h -readline.o: help.h -readline.o: vi.h -readline.po: common.h -readline.po: emacs.h -readline.po: fcns.h -readline.po: help.h -readline.po: vi.h -tokenizern.So: tokenizern.c -tokenizern.o: tokenizern.c -tokenizern.po: tokenizern.c .endif diff --git a/lib/libelf/Makefile.depend b/lib/libelf/Makefile.depend index 814c094..3646e2e 100644 --- a/lib/libelf/Makefile.depend +++ b/lib/libelf/Makefile.depend @@ -15,13 +15,4 @@ DIRDEPS = \ .if ${DEP_RELDIR} == ${_DEP_RELDIR} # local dependencies - needed for -jN in clean tree -libelf_convert.So: libelf_convert.c -libelf_convert.o: libelf_convert.c -libelf_convert.po: libelf_convert.c -libelf_fsize.So: libelf_fsize.c -libelf_fsize.o: libelf_fsize.c -libelf_fsize.po: libelf_fsize.c -libelf_msize.So: libelf_msize.c -libelf_msize.o: libelf_msize.c -libelf_msize.po: libelf_msize.c .endif diff --git a/lib/libfetch/Makefile.depend b/lib/libfetch/Makefile.depend index 3de4148..9d5105e 100644 --- a/lib/libfetch/Makefile.depend +++ b/lib/libfetch/Makefile.depend @@ -17,10 +17,4 @@ DIRDEPS = \ .if ${DEP_RELDIR} == ${_DEP_RELDIR} # local dependencies - needed for -jN in clean tree -ftp.So: ftperr.h -ftp.o: ftperr.h -ftp.po: ftperr.h -http.So: httperr.h -http.o: httperr.h -http.po: httperr.h .endif diff --git a/lib/libipsec/Makefile.depend b/lib/libipsec/Makefile.depend index 7583d24..75e2766 100644 --- a/lib/libipsec/Makefile.depend +++ b/lib/libipsec/Makefile.depend @@ -17,13 +17,4 @@ DIRDEPS = \ .if ${DEP_RELDIR} == ${_DEP_RELDIR} # local dependencies - needed for -jN in clean tree -policy_parse.So: policy_parse.c -policy_parse.o: policy_parse.c -policy_parse.po: policy_parse.c -policy_token.So: policy_token.c -policy_token.So: y.tab.h -policy_token.o: policy_token.c -policy_token.o: y.tab.h -policy_token.po: policy_token.c -policy_token.po: y.tab.h .endif diff --git a/lib/libmd/Makefile.depend b/lib/libmd/Makefile.depend index e3acaaf..3646e2e 100644 --- a/lib/libmd/Makefile.depend +++ b/lib/libmd/Makefile.depend @@ -15,28 +15,4 @@ DIRDEPS = \ .if ${DEP_RELDIR} == ${_DEP_RELDIR} # local dependencies - needed for -jN in clean tree -md4hl.So: md4hl.c -md4hl.o: md4hl.c -md4hl.po: md4hl.c -md5hl.So: md5hl.c -md5hl.o: md5hl.c -md5hl.po: md5hl.c -rmd160hl.So: rmd160hl.c -rmd160hl.o: rmd160hl.c -rmd160hl.po: rmd160hl.c -sha0hl.So: sha0hl.c -sha0hl.o: sha0hl.c -sha0hl.po: sha0hl.c -sha1hl.So: sha1hl.c -sha1hl.o: sha1hl.c -sha1hl.po: sha1hl.c -sha256hl.So: sha256hl.c -sha256hl.o: sha256hl.c -sha256hl.po: sha256hl.c -sha384hl.So: sha384hl.c -sha384hl.o: sha384hl.c -sha384hl.po: sha384hl.c -sha512hl.So: sha512hl.c -sha512hl.o: sha512hl.c -sha512hl.po: sha512hl.c .endif diff --git a/lib/libmilter/Makefile.depend b/lib/libmilter/Makefile.depend index b1db669..54c1f6f 100644 --- a/lib/libmilter/Makefile.depend +++ b/lib/libmilter/Makefile.depend @@ -16,40 +16,4 @@ DIRDEPS = \ .if ${DEP_RELDIR} == ${_DEP_RELDIR} # local dependencies - needed for -jN in clean tree -comm.So: sm_os.h -comm.o: sm_os.h -comm.po: sm_os.h -engine.So: sm_os.h -engine.o: sm_os.h -engine.po: sm_os.h -errstring.So: sm_os.h -errstring.o: sm_os.h -errstring.po: sm_os.h -handler.So: sm_os.h -handler.o: sm_os.h -handler.po: sm_os.h -listener.So: sm_os.h -listener.o: sm_os.h -listener.po: sm_os.h -main.So: sm_os.h -main.o: sm_os.h -main.po: sm_os.h -monitor.So: sm_os.h -monitor.o: sm_os.h -monitor.po: sm_os.h -signal.So: sm_os.h -signal.o: sm_os.h -signal.po: sm_os.h -sm_gethost.So: sm_os.h -sm_gethost.o: sm_os.h -sm_gethost.po: sm_os.h -smfi.So: sm_os.h -smfi.o: sm_os.h -smfi.po: sm_os.h -strl.So: sm_os.h -strl.o: sm_os.h -strl.po: sm_os.h -worker.So: sm_os.h -worker.o: sm_os.h -worker.po: sm_os.h .endif diff --git a/lib/libpcap/Makefile.depend b/lib/libpcap/Makefile.depend index 7dd09cc..75e2766 100644 --- a/lib/libpcap/Makefile.depend +++ b/lib/libpcap/Makefile.depend @@ -17,19 +17,4 @@ DIRDEPS = \ .if ${DEP_RELDIR} == ${_DEP_RELDIR} # local dependencies - needed for -jN in clean tree -grammar.So: grammar.c -grammar.o: grammar.c -grammar.po: grammar.c -pcap.So: version.h -pcap.o: version.h -pcap.po: version.h -scanner.So: scanner.c -scanner.So: tokdefs.h -scanner.o: scanner.c -scanner.o: tokdefs.h -scanner.po: scanner.c -scanner.po: tokdefs.h -version.So: version.c -version.o: version.c -version.po: version.c .endif diff --git a/lib/librpcsvc/Makefile.depend b/lib/librpcsvc/Makefile.depend index 0c8b021..ddd5dbd 100644 --- a/lib/librpcsvc/Makefile.depend +++ b/lib/librpcsvc/Makefile.depend @@ -17,46 +17,4 @@ DIRDEPS = \ .if ${DEP_RELDIR} == ${_DEP_RELDIR} # local dependencies - needed for -jN in clean tree -klm_prot_xdr.So: klm_prot_xdr.c -klm_prot_xdr.o: klm_prot_xdr.c -klm_prot_xdr.po: klm_prot_xdr.c -mount_xdr.So: mount_xdr.c -mount_xdr.o: mount_xdr.c -mount_xdr.po: mount_xdr.c -nfs_prot_xdr.So: nfs_prot_xdr.c -nfs_prot_xdr.o: nfs_prot_xdr.c -nfs_prot_xdr.po: nfs_prot_xdr.c -nlm_prot_xdr.So: nlm_prot_xdr.c -nlm_prot_xdr.o: nlm_prot_xdr.c -nlm_prot_xdr.po: nlm_prot_xdr.c -rex_xdr.So: rex_xdr.c -rex_xdr.o: rex_xdr.c -rex_xdr.po: rex_xdr.c -rnusers_xdr.So: rnusers_xdr.c -rnusers_xdr.o: rnusers_xdr.c -rnusers_xdr.po: rnusers_xdr.c -rquota_xdr.So: rquota_xdr.c -rquota_xdr.o: rquota_xdr.c -rquota_xdr.po: rquota_xdr.c -rstat_xdr.So: rstat_xdr.c -rstat_xdr.o: rstat_xdr.c -rstat_xdr.po: rstat_xdr.c -rwall_xdr.So: rwall_xdr.c -rwall_xdr.o: rwall_xdr.c -rwall_xdr.po: rwall_xdr.c -sm_inter_xdr.So: sm_inter_xdr.c -sm_inter_xdr.o: sm_inter_xdr.c -sm_inter_xdr.po: sm_inter_xdr.c -spray_xdr.So: spray_xdr.c -spray_xdr.o: spray_xdr.c -spray_xdr.po: spray_xdr.c -yppasswd_xdr.So: yppasswd_xdr.c -yppasswd_xdr.o: yppasswd_xdr.c -yppasswd_xdr.po: yppasswd_xdr.c -ypupdate_prot_xdr.So: ypupdate_prot_xdr.c -ypupdate_prot_xdr.o: ypupdate_prot_xdr.c -ypupdate_prot_xdr.po: ypupdate_prot_xdr.c -ypxfrd_xdr.So: ypxfrd_xdr.c -ypxfrd_xdr.o: ypxfrd_xdr.c -ypxfrd_xdr.po: ypxfrd_xdr.c .endif diff --git a/lib/libsm/Makefile.depend b/lib/libsm/Makefile.depend index 661f59f..18be76b 100644 --- a/lib/libsm/Makefile.depend +++ b/lib/libsm/Makefile.depend @@ -10,142 +10,4 @@ DIRDEPS = \ .if ${DEP_RELDIR} == ${_DEP_RELDIR} # local dependencies - needed for -jN in clean tree -assert.o: sm_os.h -assert.po: sm_os.h -cf.o: sm_os.h -cf.po: sm_os.h -clock.o: sm_os.h -clock.po: sm_os.h -clrerr.o: sm_os.h -clrerr.po: sm_os.h -config.o: sm_os.h -config.po: sm_os.h -debug.o: sm_os.h -debug.po: sm_os.h -errstring.o: sm_os.h -errstring.po: sm_os.h -exc.o: sm_os.h -exc.po: sm_os.h -fclose.o: sm_os.h -fclose.po: sm_os.h -feof.o: sm_os.h -feof.po: sm_os.h -ferror.o: sm_os.h -ferror.po: sm_os.h -fflush.o: sm_os.h -fflush.po: sm_os.h -fget.o: sm_os.h -fget.po: sm_os.h -findfp.o: sm_os.h -findfp.po: sm_os.h -flags.o: sm_os.h -flags.po: sm_os.h -fopen.o: sm_os.h -fopen.po: sm_os.h -fpos.o: sm_os.h -fpos.po: sm_os.h -fprintf.o: sm_os.h -fprintf.po: sm_os.h -fpurge.o: sm_os.h -fpurge.po: sm_os.h -fput.o: sm_os.h -fput.po: sm_os.h -fread.o: sm_os.h -fread.po: sm_os.h -fscanf.o: sm_os.h -fscanf.po: sm_os.h -fseek.o: sm_os.h -fseek.po: sm_os.h -fvwrite.o: sm_os.h -fvwrite.po: sm_os.h -fwalk.o: sm_os.h -fwalk.po: sm_os.h -fwrite.o: sm_os.h -fwrite.po: sm_os.h -get.o: sm_os.h -get.po: sm_os.h -heap.o: sm_os.h -heap.po: sm_os.h -inet6_ntop.o: sm_os.h -inet6_ntop.po: sm_os.h -ldap.o: sm_os.h -ldap.po: sm_os.h -makebuf.o: sm_os.h -makebuf.po: sm_os.h -match.o: sm_os.h -match.po: sm_os.h -mbdb.o: sm_os.h -mbdb.po: sm_os.h -memstat.o: sm_os.h -memstat.po: sm_os.h -mpeix.o: sm_os.h -mpeix.po: sm_os.h -niprop.o: sm_os.h -niprop.po: sm_os.h -put.o: sm_os.h -put.po: sm_os.h -refill.o: sm_os.h -refill.po: sm_os.h -rewind.o: sm_os.h -rewind.po: sm_os.h -rpool.o: sm_os.h -rpool.po: sm_os.h -sem.o: sm_os.h -sem.po: sm_os.h -setvbuf.o: sm_os.h -setvbuf.po: sm_os.h -shm.o: sm_os.h -shm.po: sm_os.h -signal.o: sm_os.h -signal.po: sm_os.h -smstdio.o: sm_os.h -smstdio.po: sm_os.h -snprintf.o: sm_os.h -snprintf.po: sm_os.h -sscanf.o: sm_os.h -sscanf.po: sm_os.h -stdio.o: sm_os.h -stdio.po: sm_os.h -strcasecmp.o: sm_os.h -strcasecmp.po: sm_os.h -strdup.o: sm_os.h -strdup.po: sm_os.h -strerror.o: sm_os.h -strerror.po: sm_os.h -strexit.o: sm_os.h -strexit.po: sm_os.h -string.o: sm_os.h -string.po: sm_os.h -stringf.o: sm_os.h -stringf.po: sm_os.h -strio.o: sm_os.h -strio.po: sm_os.h -strl.o: sm_os.h -strl.po: sm_os.h -strrevcmp.o: sm_os.h -strrevcmp.po: sm_os.h -strto.o: sm_os.h -strto.po: sm_os.h -test.o: sm_os.h -test.po: sm_os.h -ungetc.o: sm_os.h -ungetc.po: sm_os.h -util.o: sm_os.h -util.po: sm_os.h -vasprintf.o: sm_os.h -vasprintf.po: sm_os.h -vfprintf.o: sm_os.h -vfprintf.po: sm_os.h -vfscanf.o: sm_os.h -vfscanf.po: sm_os.h -vprintf.o: sm_os.h -vprintf.po: sm_os.h -vsnprintf.o: sm_os.h -vsnprintf.po: sm_os.h -wbuf.o: sm_os.h -wbuf.po: sm_os.h -wsetup.o: sm_os.h -wsetup.po: sm_os.h -xtrap.o: sm_os.h -xtrap.po: sm_os.h .endif diff --git a/lib/libsmdb/Makefile.depend b/lib/libsmdb/Makefile.depend index 302046a..18be76b 100644 --- a/lib/libsmdb/Makefile.depend +++ b/lib/libsmdb/Makefile.depend @@ -10,12 +10,4 @@ DIRDEPS = \ .if ${DEP_RELDIR} == ${_DEP_RELDIR} # local dependencies - needed for -jN in clean tree -smdb.o: sm_os.h -smdb.po: sm_os.h -smdb1.o: sm_os.h -smdb1.po: sm_os.h -smdb2.o: sm_os.h -smdb2.po: sm_os.h -smndbm.o: sm_os.h -smndbm.po: sm_os.h .endif diff --git a/lib/libsmutil/Makefile.depend b/lib/libsmutil/Makefile.depend index c3fe50f..56ba329 100644 --- a/lib/libsmutil/Makefile.depend +++ b/lib/libsmutil/Makefile.depend @@ -11,16 +11,4 @@ DIRDEPS = \ .if ${DEP_RELDIR} == ${_DEP_RELDIR} # local dependencies - needed for -jN in clean tree -cf.o: sm_os.h -cf.po: sm_os.h -debug.o: sm_os.h -debug.po: sm_os.h -err.o: sm_os.h -err.po: sm_os.h -lockfile.o: sm_os.h -lockfile.po: sm_os.h -safefile.o: sm_os.h -safefile.po: sm_os.h -snprintf.o: sm_os.h -snprintf.po: sm_os.h .endif diff --git a/lib/libstand/Makefile.depend b/lib/libstand/Makefile.depend index 57cd80c..1d86fce 100644 --- a/lib/libstand/Makefile.depend +++ b/lib/libstand/Makefile.depend @@ -12,46 +12,4 @@ DIRDEPS = \ .if ${DEP_RELDIR} == ${_DEP_RELDIR} # local dependencies - needed for -jN in clean tree -_bzlib.o: _bzlib.c -_bzlib.o: libstand_bzlib_private.h -_bzlib.po: _bzlib.c -_bzlib.po: libstand_bzlib_private.h -_crctable.o: _crctable.c -_crctable.o: libstand_bzlib_private.h -_crctable.po: _crctable.c -_crctable.po: libstand_bzlib_private.h -_decompress.o: _decompress.c -_decompress.o: libstand_bzlib_private.h -_decompress.po: _decompress.c -_decompress.po: libstand_bzlib_private.h -_huffman.o: _huffman.c -_huffman.o: libstand_bzlib_private.h -_huffman.po: _huffman.c -_huffman.po: libstand_bzlib_private.h -_infback.o: _infback.c -_infback.o: libstand_zutil.h -_infback.po: _infback.c -_infback.po: libstand_zutil.h -_inffast.o: _inffast.c -_inffast.o: libstand_zutil.h -_inffast.po: _inffast.c -_inffast.po: libstand_zutil.h -_inflate.o: _inflate.c -_inflate.o: libstand_zutil.h -_inflate.po: _inflate.c -_inflate.po: libstand_zutil.h -_inftrees.o: _inftrees.c -_inftrees.o: libstand_zutil.h -_inftrees.po: _inftrees.c -_inftrees.po: libstand_zutil.h -_randtable.o: _randtable.c -_randtable.o: libstand_bzlib_private.h -_randtable.po: _randtable.c -_randtable.po: libstand_bzlib_private.h -_zutil.o: _zutil.c -_zutil.o: libstand_gzguts.h -_zutil.o: libstand_zutil.h -_zutil.po: _zutil.c -_zutil.po: libstand_gzguts.h -_zutil.po: libstand_zutil.h .endif diff --git a/lib/libsysdecode/Makefile.depend b/lib/libsysdecode/Makefile.depend index 653f526..1061516 100644 --- a/lib/libsysdecode/Makefile.depend +++ b/lib/libsysdecode/Makefile.depend @@ -16,7 +16,4 @@ DIRDEPS = \ .if ${DEP_RELDIR} == ${_DEP_RELDIR} # local dependencies - needed for -jN in clean tree -ioctl.So: ioctl.c -ioctl.o: ioctl.c -ioctl.po: ioctl.c .endif diff --git a/lib/libunbound/Makefile.depend b/lib/libunbound/Makefile.depend index 900e3ea..cf41f1c 100644 --- a/lib/libunbound/Makefile.depend +++ b/lib/libunbound/Makefile.depend @@ -20,16 +20,4 @@ DIRDEPS = \ .if ${DEP_RELDIR} == ${_DEP_RELDIR} # local dependencies - needed for -jN in clean tree -config_file.So: configparser.h -config_file.o: configparser.h -config_file.po: configparser.h -configlexer.So: configlexer.c -configlexer.So: configparser.h -configlexer.o: configlexer.c -configlexer.o: configparser.h -configlexer.po: configlexer.c -configlexer.po: configparser.h -configparser.So: configparser.c -configparser.o: configparser.c -configparser.po: configparser.c .endif diff --git a/lib/libypclnt/Makefile.depend b/lib/libypclnt/Makefile.depend index 8ee531b..ddd5dbd 100644 --- a/lib/libypclnt/Makefile.depend +++ b/lib/libypclnt/Makefile.depend @@ -17,37 +17,4 @@ DIRDEPS = \ .if ${DEP_RELDIR} == ${_DEP_RELDIR} # local dependencies - needed for -jN in clean tree -yp_clnt.So: yp.h -yp_clnt.So: yp_clnt.c -yp_clnt.o: yp.h -yp_clnt.o: yp_clnt.c -yp_clnt.po: yp.h -yp_clnt.po: yp_clnt.c -ypclnt_passwd.So: yppasswd_private.h -ypclnt_passwd.o: yppasswd_private.h -ypclnt_passwd.po: yppasswd_private.h -yppasswd_clnt.So: yppasswd.h -yppasswd_clnt.So: yppasswd_clnt.c -yppasswd_clnt.o: yppasswd.h -yppasswd_clnt.o: yppasswd_clnt.c -yppasswd_clnt.po: yppasswd.h -yppasswd_clnt.po: yppasswd_clnt.c -yppasswd_private_clnt.So: yppasswd_private.h -yppasswd_private_clnt.So: yppasswd_private_clnt.c -yppasswd_private_clnt.o: yppasswd_private.h -yppasswd_private_clnt.o: yppasswd_private_clnt.c -yppasswd_private_clnt.po: yppasswd_private.h -yppasswd_private_clnt.po: yppasswd_private_clnt.c -yppasswd_private_xdr.So: yppasswd_private.h -yppasswd_private_xdr.So: yppasswd_private_xdr.c -yppasswd_private_xdr.o: yppasswd_private.h -yppasswd_private_xdr.o: yppasswd_private_xdr.c -yppasswd_private_xdr.po: yppasswd_private.h -yppasswd_private_xdr.po: yppasswd_private_xdr.c -yppasswd_xdr.So: yppasswd.h -yppasswd_xdr.So: yppasswd_xdr.c -yppasswd_xdr.o: yppasswd.h -yppasswd_xdr.o: yppasswd_xdr.c -yppasswd_xdr.po: yppasswd.h -yppasswd_xdr.po: yppasswd_xdr.c .endif diff --git a/lib/ncurses/form/Makefile.depend b/lib/ncurses/form/Makefile.depend index 6956fec..8ba6d1d 100644 --- a/lib/ncurses/form/Makefile.depend +++ b/lib/ncurses/form/Makefile.depend @@ -17,121 +17,4 @@ DIRDEPS = \ .if ${DEP_RELDIR} == ${_DEP_RELDIR} # local dependencies - needed for -jN in clean tree -fld_arg.So: ncurses_def.h -fld_arg.o: ncurses_def.h -fld_arg.po: ncurses_def.h -fld_attr.So: ncurses_def.h -fld_attr.o: ncurses_def.h -fld_attr.po: ncurses_def.h -fld_current.So: ncurses_def.h -fld_current.o: ncurses_def.h -fld_current.po: ncurses_def.h -fld_def.So: ncurses_def.h -fld_def.o: ncurses_def.h -fld_def.po: ncurses_def.h -fld_dup.So: ncurses_def.h -fld_dup.o: ncurses_def.h -fld_dup.po: ncurses_def.h -fld_ftchoice.So: ncurses_def.h -fld_ftchoice.o: ncurses_def.h -fld_ftchoice.po: ncurses_def.h -fld_ftlink.So: ncurses_def.h -fld_ftlink.o: ncurses_def.h -fld_ftlink.po: ncurses_def.h -fld_info.So: ncurses_def.h -fld_info.o: ncurses_def.h -fld_info.po: ncurses_def.h -fld_just.So: ncurses_def.h -fld_just.o: ncurses_def.h -fld_just.po: ncurses_def.h -fld_link.So: ncurses_def.h -fld_link.o: ncurses_def.h -fld_link.po: ncurses_def.h -fld_max.So: ncurses_def.h -fld_max.o: ncurses_def.h -fld_max.po: ncurses_def.h -fld_move.So: ncurses_def.h -fld_move.o: ncurses_def.h -fld_move.po: ncurses_def.h -fld_newftyp.So: ncurses_def.h -fld_newftyp.o: ncurses_def.h -fld_newftyp.po: ncurses_def.h -fld_opts.So: ncurses_def.h -fld_opts.o: ncurses_def.h -fld_opts.po: ncurses_def.h -fld_pad.So: ncurses_def.h -fld_pad.o: ncurses_def.h -fld_pad.po: ncurses_def.h -fld_page.So: ncurses_def.h -fld_page.o: ncurses_def.h -fld_page.po: ncurses_def.h -fld_stat.So: ncurses_def.h -fld_stat.o: ncurses_def.h -fld_stat.po: ncurses_def.h -fld_type.So: ncurses_def.h -fld_type.o: ncurses_def.h -fld_type.po: ncurses_def.h -fld_user.So: ncurses_def.h -fld_user.o: ncurses_def.h -fld_user.po: ncurses_def.h -frm_cursor.So: ncurses_def.h -frm_cursor.o: ncurses_def.h -frm_cursor.po: ncurses_def.h -frm_data.So: ncurses_def.h -frm_data.o: ncurses_def.h -frm_data.po: ncurses_def.h -frm_def.So: ncurses_def.h -frm_def.o: ncurses_def.h -frm_def.po: ncurses_def.h -frm_driver.So: ncurses_def.h -frm_driver.o: ncurses_def.h -frm_driver.po: ncurses_def.h -frm_hook.So: ncurses_def.h -frm_hook.o: ncurses_def.h -frm_hook.po: ncurses_def.h -frm_opts.So: ncurses_def.h -frm_opts.o: ncurses_def.h -frm_opts.po: ncurses_def.h -frm_page.So: ncurses_def.h -frm_page.o: ncurses_def.h -frm_page.po: ncurses_def.h -frm_post.So: ncurses_def.h -frm_post.o: ncurses_def.h -frm_post.po: ncurses_def.h -frm_req_name.So: ncurses_def.h -frm_req_name.o: ncurses_def.h -frm_req_name.po: ncurses_def.h -frm_scale.So: ncurses_def.h -frm_scale.o: ncurses_def.h -frm_scale.po: ncurses_def.h -frm_sub.So: ncurses_def.h -frm_sub.o: ncurses_def.h -frm_sub.po: ncurses_def.h -frm_user.So: ncurses_def.h -frm_user.o: ncurses_def.h -frm_user.po: ncurses_def.h -frm_win.So: ncurses_def.h -frm_win.o: ncurses_def.h -frm_win.po: ncurses_def.h -fty_alnum.So: ncurses_def.h -fty_alnum.o: ncurses_def.h -fty_alnum.po: ncurses_def.h -fty_alpha.So: ncurses_def.h -fty_alpha.o: ncurses_def.h -fty_alpha.po: ncurses_def.h -fty_enum.So: ncurses_def.h -fty_enum.o: ncurses_def.h -fty_enum.po: ncurses_def.h -fty_int.So: ncurses_def.h -fty_int.o: ncurses_def.h -fty_int.po: ncurses_def.h -fty_ipv4.So: ncurses_def.h -fty_ipv4.o: ncurses_def.h -fty_ipv4.po: ncurses_def.h -fty_num.So: ncurses_def.h -fty_num.o: ncurses_def.h -fty_num.po: ncurses_def.h -fty_regex.So: ncurses_def.h -fty_regex.o: ncurses_def.h -fty_regex.po: ncurses_def.h .endif diff --git a/lib/ncurses/formw/Makefile.depend b/lib/ncurses/formw/Makefile.depend index 767a760..59bc828 100644 --- a/lib/ncurses/formw/Makefile.depend +++ b/lib/ncurses/formw/Makefile.depend @@ -16,121 +16,4 @@ DIRDEPS = \ .if ${DEP_RELDIR} == ${_DEP_RELDIR} # local dependencies - needed for -jN in clean tree -fld_arg.So: ncurses_def.h -fld_arg.o: ncurses_def.h -fld_arg.po: ncurses_def.h -fld_attr.So: ncurses_def.h -fld_attr.o: ncurses_def.h -fld_attr.po: ncurses_def.h -fld_current.So: ncurses_def.h -fld_current.o: ncurses_def.h -fld_current.po: ncurses_def.h -fld_def.So: ncurses_def.h -fld_def.o: ncurses_def.h -fld_def.po: ncurses_def.h -fld_dup.So: ncurses_def.h -fld_dup.o: ncurses_def.h -fld_dup.po: ncurses_def.h -fld_ftchoice.So: ncurses_def.h -fld_ftchoice.o: ncurses_def.h -fld_ftchoice.po: ncurses_def.h -fld_ftlink.So: ncurses_def.h -fld_ftlink.o: ncurses_def.h -fld_ftlink.po: ncurses_def.h -fld_info.So: ncurses_def.h -fld_info.o: ncurses_def.h -fld_info.po: ncurses_def.h -fld_just.So: ncurses_def.h -fld_just.o: ncurses_def.h -fld_just.po: ncurses_def.h -fld_link.So: ncurses_def.h -fld_link.o: ncurses_def.h -fld_link.po: ncurses_def.h -fld_max.So: ncurses_def.h -fld_max.o: ncurses_def.h -fld_max.po: ncurses_def.h -fld_move.So: ncurses_def.h -fld_move.o: ncurses_def.h -fld_move.po: ncurses_def.h -fld_newftyp.So: ncurses_def.h -fld_newftyp.o: ncurses_def.h -fld_newftyp.po: ncurses_def.h -fld_opts.So: ncurses_def.h -fld_opts.o: ncurses_def.h -fld_opts.po: ncurses_def.h -fld_pad.So: ncurses_def.h -fld_pad.o: ncurses_def.h -fld_pad.po: ncurses_def.h -fld_page.So: ncurses_def.h -fld_page.o: ncurses_def.h -fld_page.po: ncurses_def.h -fld_stat.So: ncurses_def.h -fld_stat.o: ncurses_def.h -fld_stat.po: ncurses_def.h -fld_type.So: ncurses_def.h -fld_type.o: ncurses_def.h -fld_type.po: ncurses_def.h -fld_user.So: ncurses_def.h -fld_user.o: ncurses_def.h -fld_user.po: ncurses_def.h -frm_cursor.So: ncurses_def.h -frm_cursor.o: ncurses_def.h -frm_cursor.po: ncurses_def.h -frm_data.So: ncurses_def.h -frm_data.o: ncurses_def.h -frm_data.po: ncurses_def.h -frm_def.So: ncurses_def.h -frm_def.o: ncurses_def.h -frm_def.po: ncurses_def.h -frm_driver.So: ncurses_def.h -frm_driver.o: ncurses_def.h -frm_driver.po: ncurses_def.h -frm_hook.So: ncurses_def.h -frm_hook.o: ncurses_def.h -frm_hook.po: ncurses_def.h -frm_opts.So: ncurses_def.h -frm_opts.o: ncurses_def.h -frm_opts.po: ncurses_def.h -frm_page.So: ncurses_def.h -frm_page.o: ncurses_def.h -frm_page.po: ncurses_def.h -frm_post.So: ncurses_def.h -frm_post.o: ncurses_def.h -frm_post.po: ncurses_def.h -frm_req_name.So: ncurses_def.h -frm_req_name.o: ncurses_def.h -frm_req_name.po: ncurses_def.h -frm_scale.So: ncurses_def.h -frm_scale.o: ncurses_def.h -frm_scale.po: ncurses_def.h -frm_sub.So: ncurses_def.h -frm_sub.o: ncurses_def.h -frm_sub.po: ncurses_def.h -frm_user.So: ncurses_def.h -frm_user.o: ncurses_def.h -frm_user.po: ncurses_def.h -frm_win.So: ncurses_def.h -frm_win.o: ncurses_def.h -frm_win.po: ncurses_def.h -fty_alnum.So: ncurses_def.h -fty_alnum.o: ncurses_def.h -fty_alnum.po: ncurses_def.h -fty_alpha.So: ncurses_def.h -fty_alpha.o: ncurses_def.h -fty_alpha.po: ncurses_def.h -fty_enum.So: ncurses_def.h -fty_enum.o: ncurses_def.h -fty_enum.po: ncurses_def.h -fty_int.So: ncurses_def.h -fty_int.o: ncurses_def.h -fty_int.po: ncurses_def.h -fty_ipv4.So: ncurses_def.h -fty_ipv4.o: ncurses_def.h -fty_ipv4.po: ncurses_def.h -fty_num.So: ncurses_def.h -fty_num.o: ncurses_def.h -fty_num.po: ncurses_def.h -fty_regex.So: ncurses_def.h -fty_regex.o: ncurses_def.h -fty_regex.po: ncurses_def.h .endif diff --git a/lib/ncurses/menu/Makefile.depend b/lib/ncurses/menu/Makefile.depend index fa2fcb4..8ba6d1d 100644 --- a/lib/ncurses/menu/Makefile.depend +++ b/lib/ncurses/menu/Makefile.depend @@ -17,82 +17,4 @@ DIRDEPS = \ .if ${DEP_RELDIR} == ${_DEP_RELDIR} # local dependencies - needed for -jN in clean tree -m_attribs.So: ncurses_def.h -m_attribs.o: ncurses_def.h -m_attribs.po: ncurses_def.h -m_cursor.So: ncurses_def.h -m_cursor.o: ncurses_def.h -m_cursor.po: ncurses_def.h -m_driver.So: ncurses_def.h -m_driver.o: ncurses_def.h -m_driver.po: ncurses_def.h -m_format.So: ncurses_def.h -m_format.o: ncurses_def.h -m_format.po: ncurses_def.h -m_global.So: ncurses_def.h -m_global.o: ncurses_def.h -m_global.po: ncurses_def.h -m_hook.So: ncurses_def.h -m_hook.o: ncurses_def.h -m_hook.po: ncurses_def.h -m_item_cur.So: ncurses_def.h -m_item_cur.o: ncurses_def.h -m_item_cur.po: ncurses_def.h -m_item_nam.So: ncurses_def.h -m_item_nam.o: ncurses_def.h -m_item_nam.po: ncurses_def.h -m_item_new.So: ncurses_def.h -m_item_new.o: ncurses_def.h -m_item_new.po: ncurses_def.h -m_item_opt.So: ncurses_def.h -m_item_opt.o: ncurses_def.h -m_item_opt.po: ncurses_def.h -m_item_top.So: ncurses_def.h -m_item_top.o: ncurses_def.h -m_item_top.po: ncurses_def.h -m_item_use.So: ncurses_def.h -m_item_use.o: ncurses_def.h -m_item_use.po: ncurses_def.h -m_item_val.So: ncurses_def.h -m_item_val.o: ncurses_def.h -m_item_val.po: ncurses_def.h -m_item_vis.So: ncurses_def.h -m_item_vis.o: ncurses_def.h -m_item_vis.po: ncurses_def.h -m_items.So: ncurses_def.h -m_items.o: ncurses_def.h -m_items.po: ncurses_def.h -m_new.So: ncurses_def.h -m_new.o: ncurses_def.h -m_new.po: ncurses_def.h -m_opts.So: ncurses_def.h -m_opts.o: ncurses_def.h -m_opts.po: ncurses_def.h -m_pad.So: ncurses_def.h -m_pad.o: ncurses_def.h -m_pad.po: ncurses_def.h -m_pattern.So: ncurses_def.h -m_pattern.o: ncurses_def.h -m_pattern.po: ncurses_def.h -m_post.So: ncurses_def.h -m_post.o: ncurses_def.h -m_post.po: ncurses_def.h -m_req_name.So: ncurses_def.h -m_req_name.o: ncurses_def.h -m_req_name.po: ncurses_def.h -m_scale.So: ncurses_def.h -m_scale.o: ncurses_def.h -m_scale.po: ncurses_def.h -m_spacing.So: ncurses_def.h -m_spacing.o: ncurses_def.h -m_spacing.po: ncurses_def.h -m_sub.So: ncurses_def.h -m_sub.o: ncurses_def.h -m_sub.po: ncurses_def.h -m_userptr.So: ncurses_def.h -m_userptr.o: ncurses_def.h -m_userptr.po: ncurses_def.h -m_win.So: ncurses_def.h -m_win.o: ncurses_def.h -m_win.po: ncurses_def.h .endif diff --git a/lib/ncurses/menuw/Makefile.depend b/lib/ncurses/menuw/Makefile.depend index 6d65e74..59bc828 100644 --- a/lib/ncurses/menuw/Makefile.depend +++ b/lib/ncurses/menuw/Makefile.depend @@ -16,82 +16,4 @@ DIRDEPS = \ .if ${DEP_RELDIR} == ${_DEP_RELDIR} # local dependencies - needed for -jN in clean tree -m_attribs.So: ncurses_def.h -m_attribs.o: ncurses_def.h -m_attribs.po: ncurses_def.h -m_cursor.So: ncurses_def.h -m_cursor.o: ncurses_def.h -m_cursor.po: ncurses_def.h -m_driver.So: ncurses_def.h -m_driver.o: ncurses_def.h -m_driver.po: ncurses_def.h -m_format.So: ncurses_def.h -m_format.o: ncurses_def.h -m_format.po: ncurses_def.h -m_global.So: ncurses_def.h -m_global.o: ncurses_def.h -m_global.po: ncurses_def.h -m_hook.So: ncurses_def.h -m_hook.o: ncurses_def.h -m_hook.po: ncurses_def.h -m_item_cur.So: ncurses_def.h -m_item_cur.o: ncurses_def.h -m_item_cur.po: ncurses_def.h -m_item_nam.So: ncurses_def.h -m_item_nam.o: ncurses_def.h -m_item_nam.po: ncurses_def.h -m_item_new.So: ncurses_def.h -m_item_new.o: ncurses_def.h -m_item_new.po: ncurses_def.h -m_item_opt.So: ncurses_def.h -m_item_opt.o: ncurses_def.h -m_item_opt.po: ncurses_def.h -m_item_top.So: ncurses_def.h -m_item_top.o: ncurses_def.h -m_item_top.po: ncurses_def.h -m_item_use.So: ncurses_def.h -m_item_use.o: ncurses_def.h -m_item_use.po: ncurses_def.h -m_item_val.So: ncurses_def.h -m_item_val.o: ncurses_def.h -m_item_val.po: ncurses_def.h -m_item_vis.So: ncurses_def.h -m_item_vis.o: ncurses_def.h -m_item_vis.po: ncurses_def.h -m_items.So: ncurses_def.h -m_items.o: ncurses_def.h -m_items.po: ncurses_def.h -m_new.So: ncurses_def.h -m_new.o: ncurses_def.h -m_new.po: ncurses_def.h -m_opts.So: ncurses_def.h -m_opts.o: ncurses_def.h -m_opts.po: ncurses_def.h -m_pad.So: ncurses_def.h -m_pad.o: ncurses_def.h -m_pad.po: ncurses_def.h -m_pattern.So: ncurses_def.h -m_pattern.o: ncurses_def.h -m_pattern.po: ncurses_def.h -m_post.So: ncurses_def.h -m_post.o: ncurses_def.h -m_post.po: ncurses_def.h -m_req_name.So: ncurses_def.h -m_req_name.o: ncurses_def.h -m_req_name.po: ncurses_def.h -m_scale.So: ncurses_def.h -m_scale.o: ncurses_def.h -m_scale.po: ncurses_def.h -m_spacing.So: ncurses_def.h -m_spacing.o: ncurses_def.h -m_spacing.po: ncurses_def.h -m_sub.So: ncurses_def.h -m_sub.o: ncurses_def.h -m_sub.po: ncurses_def.h -m_userptr.So: ncurses_def.h -m_userptr.o: ncurses_def.h -m_userptr.po: ncurses_def.h -m_win.So: ncurses_def.h -m_win.o: ncurses_def.h -m_win.po: ncurses_def.h .endif diff --git a/lib/ncurses/ncurses/Makefile.depend b/lib/ncurses/ncurses/Makefile.depend index 8ad41a6..59bc828 100644 --- a/lib/ncurses/ncurses/Makefile.depend +++ b/lib/ncurses/ncurses/Makefile.depend @@ -16,1783 +16,4 @@ DIRDEPS = \ .if ${DEP_RELDIR} == ${_DEP_RELDIR} # local dependencies - needed for -jN in clean tree -access.So: curses.h -access.So: ncurses_def.h -access.So: term.h -access.So: unctrl.h -access.o: curses.h -access.o: ncurses_def.h -access.o: term.h -access.o: unctrl.h -access.po: curses.h -access.po: ncurses_def.h -access.po: term.h -access.po: unctrl.h -add_tries.So: curses.h -add_tries.So: ncurses_def.h -add_tries.So: term.h -add_tries.So: unctrl.h -add_tries.o: curses.h -add_tries.o: ncurses_def.h -add_tries.o: term.h -add_tries.o: unctrl.h -add_tries.po: curses.h -add_tries.po: ncurses_def.h -add_tries.po: term.h -add_tries.po: unctrl.h -alloc_entry.So: curses.h -alloc_entry.So: ncurses_def.h -alloc_entry.So: term.h -alloc_entry.So: unctrl.h -alloc_entry.o: curses.h -alloc_entry.o: ncurses_def.h -alloc_entry.o: term.h -alloc_entry.o: unctrl.h -alloc_entry.po: curses.h -alloc_entry.po: ncurses_def.h -alloc_entry.po: term.h -alloc_entry.po: unctrl.h -alloc_ttype.So: curses.h -alloc_ttype.So: ncurses_def.h -alloc_ttype.So: term.h -alloc_ttype.So: unctrl.h -alloc_ttype.o: curses.h -alloc_ttype.o: ncurses_def.h -alloc_ttype.o: term.h -alloc_ttype.o: unctrl.h -alloc_ttype.po: curses.h -alloc_ttype.po: ncurses_def.h -alloc_ttype.po: term.h -alloc_ttype.po: unctrl.h -captoinfo.So: curses.h -captoinfo.So: ncurses_def.h -captoinfo.So: term.h -captoinfo.So: unctrl.h -captoinfo.o: curses.h -captoinfo.o: ncurses_def.h -captoinfo.o: term.h -captoinfo.o: unctrl.h -captoinfo.po: curses.h -captoinfo.po: ncurses_def.h -captoinfo.po: term.h -captoinfo.po: unctrl.h -codes.So: codes.c -codes.So: curses.h -codes.So: ncurses_def.h -codes.So: term.h -codes.So: unctrl.h -codes.o: codes.c -codes.o: curses.h -codes.o: ncurses_def.h -codes.o: term.h -codes.o: unctrl.h -codes.po: codes.c -codes.po: curses.h -codes.po: ncurses_def.h -codes.po: term.h -codes.po: unctrl.h -comp_captab.So: comp_captab.c -comp_captab.So: curses.h -comp_captab.So: hashsize.h -comp_captab.So: ncurses_def.h -comp_captab.So: term.h -comp_captab.So: unctrl.h -comp_captab.o: comp_captab.c -comp_captab.o: curses.h -comp_captab.o: hashsize.h -comp_captab.o: ncurses_def.h -comp_captab.o: term.h -comp_captab.o: unctrl.h -comp_captab.po: comp_captab.c -comp_captab.po: curses.h -comp_captab.po: hashsize.h -comp_captab.po: ncurses_def.h -comp_captab.po: term.h -comp_captab.po: unctrl.h -comp_error.So: curses.h -comp_error.So: ncurses_def.h -comp_error.So: term.h -comp_error.So: unctrl.h -comp_error.o: curses.h -comp_error.o: ncurses_def.h -comp_error.o: term.h -comp_error.o: unctrl.h -comp_error.po: curses.h -comp_error.po: ncurses_def.h -comp_error.po: term.h -comp_error.po: unctrl.h -comp_expand.So: curses.h -comp_expand.So: ncurses_def.h -comp_expand.So: term.h -comp_expand.So: unctrl.h -comp_expand.o: curses.h -comp_expand.o: ncurses_def.h -comp_expand.o: term.h -comp_expand.o: unctrl.h -comp_expand.po: curses.h -comp_expand.po: ncurses_def.h -comp_expand.po: term.h -comp_expand.po: unctrl.h -comp_hash.So: curses.h -comp_hash.So: hashsize.h -comp_hash.So: ncurses_def.h -comp_hash.So: term.h -comp_hash.So: unctrl.h -comp_hash.o: curses.h -comp_hash.o: hashsize.h -comp_hash.o: ncurses_def.h -comp_hash.o: term.h -comp_hash.o: unctrl.h -comp_hash.po: curses.h -comp_hash.po: hashsize.h -comp_hash.po: ncurses_def.h -comp_hash.po: term.h -comp_hash.po: unctrl.h -comp_parse.So: curses.h -comp_parse.So: ncurses_def.h -comp_parse.So: term.h -comp_parse.So: unctrl.h -comp_parse.o: curses.h -comp_parse.o: ncurses_def.h -comp_parse.o: term.h -comp_parse.o: unctrl.h -comp_parse.po: curses.h -comp_parse.po: ncurses_def.h -comp_parse.po: term.h -comp_parse.po: unctrl.h -comp_scan.So: curses.h -comp_scan.So: ncurses_def.h -comp_scan.So: term.h -comp_scan.So: unctrl.h -comp_scan.o: curses.h -comp_scan.o: ncurses_def.h -comp_scan.o: term.h -comp_scan.o: unctrl.h -comp_scan.po: curses.h -comp_scan.po: ncurses_def.h -comp_scan.po: term.h -comp_scan.po: unctrl.h -db_iterator.So: curses.h -db_iterator.So: ncurses_def.h -db_iterator.So: term.h -db_iterator.So: unctrl.h -db_iterator.o: curses.h -db_iterator.o: ncurses_def.h -db_iterator.o: term.h -db_iterator.o: unctrl.h -db_iterator.po: curses.h -db_iterator.po: ncurses_def.h -db_iterator.po: term.h -db_iterator.po: unctrl.h -define_key.So: curses.h -define_key.So: ncurses_def.h -define_key.So: term.h -define_key.So: unctrl.h -define_key.o: curses.h -define_key.o: ncurses_def.h -define_key.o: term.h -define_key.o: unctrl.h -define_key.po: curses.h -define_key.po: ncurses_def.h -define_key.po: term.h -define_key.po: unctrl.h -doalloc.So: curses.h -doalloc.So: ncurses_def.h -doalloc.So: term.h -doalloc.So: unctrl.h -doalloc.o: curses.h -doalloc.o: ncurses_def.h -doalloc.o: term.h -doalloc.o: unctrl.h -doalloc.po: curses.h -doalloc.po: ncurses_def.h -doalloc.po: term.h -doalloc.po: unctrl.h -entries.So: curses.h -entries.So: ncurses_def.h -entries.So: term.h -entries.So: unctrl.h -entries.o: curses.h -entries.o: ncurses_def.h -entries.o: term.h -entries.o: unctrl.h -entries.po: curses.h -entries.po: ncurses_def.h -entries.po: term.h -entries.po: unctrl.h -expanded.So: curses.h -expanded.So: expanded.c -expanded.So: ncurses_def.h -expanded.So: term.h -expanded.So: unctrl.h -expanded.o: curses.h -expanded.o: expanded.c -expanded.o: ncurses_def.h -expanded.o: term.h -expanded.o: unctrl.h -expanded.po: curses.h -expanded.po: expanded.c -expanded.po: ncurses_def.h -expanded.po: term.h -expanded.po: unctrl.h -fallback.So: curses.h -fallback.So: fallback.c -fallback.So: ncurses_def.h -fallback.So: term.h -fallback.So: unctrl.h -fallback.o: curses.h -fallback.o: fallback.c -fallback.o: ncurses_def.h -fallback.o: term.h -fallback.o: unctrl.h -fallback.po: curses.h -fallback.po: fallback.c -fallback.po: ncurses_def.h -fallback.po: term.h -fallback.po: unctrl.h -free_ttype.So: curses.h -free_ttype.So: ncurses_def.h -free_ttype.So: term.h -free_ttype.So: unctrl.h -free_ttype.o: curses.h -free_ttype.o: ncurses_def.h -free_ttype.o: term.h -free_ttype.o: unctrl.h -free_ttype.po: curses.h -free_ttype.po: ncurses_def.h -free_ttype.po: term.h -free_ttype.po: unctrl.h -getenv_num.So: curses.h -getenv_num.So: ncurses_def.h -getenv_num.So: term.h -getenv_num.So: unctrl.h -getenv_num.o: curses.h -getenv_num.o: ncurses_def.h -getenv_num.o: term.h -getenv_num.o: unctrl.h -getenv_num.po: curses.h -getenv_num.po: ncurses_def.h -getenv_num.po: term.h -getenv_num.po: unctrl.h -hardscroll.So: curses.h -hardscroll.So: ncurses_def.h -hardscroll.So: term.h -hardscroll.So: unctrl.h -hardscroll.o: curses.h -hardscroll.o: ncurses_def.h -hardscroll.o: term.h -hardscroll.o: unctrl.h -hardscroll.po: curses.h -hardscroll.po: ncurses_def.h -hardscroll.po: term.h -hardscroll.po: unctrl.h -hashed_db.So: curses.h -hashed_db.So: ncurses_def.h -hashed_db.So: term.h -hashed_db.So: unctrl.h -hashed_db.o: curses.h -hashed_db.o: ncurses_def.h -hashed_db.o: term.h -hashed_db.o: unctrl.h -hashed_db.po: curses.h -hashed_db.po: ncurses_def.h -hashed_db.po: term.h -hashed_db.po: unctrl.h -hashmap.So: curses.h -hashmap.So: ncurses_def.h -hashmap.So: term.h -hashmap.So: unctrl.h -hashmap.o: curses.h -hashmap.o: ncurses_def.h -hashmap.o: term.h -hashmap.o: unctrl.h -hashmap.po: curses.h -hashmap.po: ncurses_def.h -hashmap.po: term.h -hashmap.po: unctrl.h -home_terminfo.So: curses.h -home_terminfo.So: ncurses_def.h -home_terminfo.So: term.h -home_terminfo.So: unctrl.h -home_terminfo.o: curses.h -home_terminfo.o: ncurses_def.h -home_terminfo.o: term.h -home_terminfo.o: unctrl.h -home_terminfo.po: curses.h -home_terminfo.po: ncurses_def.h -home_terminfo.po: term.h -home_terminfo.po: unctrl.h -init_keytry.So: curses.h -init_keytry.So: init_keytry.h -init_keytry.So: ncurses_def.h -init_keytry.So: term.h -init_keytry.So: unctrl.h -init_keytry.o: curses.h -init_keytry.o: init_keytry.h -init_keytry.o: ncurses_def.h -init_keytry.o: term.h -init_keytry.o: unctrl.h -init_keytry.po: curses.h -init_keytry.po: init_keytry.h -init_keytry.po: ncurses_def.h -init_keytry.po: term.h -init_keytry.po: unctrl.h -key_defined.So: curses.h -key_defined.So: ncurses_def.h -key_defined.So: term.h -key_defined.So: unctrl.h -key_defined.o: curses.h -key_defined.o: ncurses_def.h -key_defined.o: term.h -key_defined.o: unctrl.h -key_defined.po: curses.h -key_defined.po: ncurses_def.h -key_defined.po: term.h -key_defined.po: unctrl.h -keybound.So: curses.h -keybound.So: ncurses_def.h -keybound.So: term.h -keybound.So: unctrl.h -keybound.o: curses.h -keybound.o: ncurses_def.h -keybound.o: term.h -keybound.o: unctrl.h -keybound.po: curses.h -keybound.po: ncurses_def.h -keybound.po: term.h -keybound.po: unctrl.h -keyok.So: curses.h -keyok.So: ncurses_def.h -keyok.So: term.h -keyok.So: unctrl.h -keyok.o: curses.h -keyok.o: ncurses_def.h -keyok.o: term.h -keyok.o: unctrl.h -keyok.po: curses.h -keyok.po: ncurses_def.h -keyok.po: term.h -keyok.po: unctrl.h -legacy_coding.So: curses.h -legacy_coding.So: ncurses_def.h -legacy_coding.So: term.h -legacy_coding.So: unctrl.h -legacy_coding.o: curses.h -legacy_coding.o: ncurses_def.h -legacy_coding.o: term.h -legacy_coding.o: unctrl.h -legacy_coding.po: curses.h -legacy_coding.po: ncurses_def.h -legacy_coding.po: term.h -legacy_coding.po: unctrl.h -lib_acs.So: curses.h -lib_acs.So: ncurses_def.h -lib_acs.So: term.h -lib_acs.So: unctrl.h -lib_acs.o: curses.h -lib_acs.o: ncurses_def.h -lib_acs.o: term.h -lib_acs.o: unctrl.h -lib_acs.po: curses.h -lib_acs.po: ncurses_def.h -lib_acs.po: term.h -lib_acs.po: unctrl.h -lib_addch.So: curses.h -lib_addch.So: ncurses_def.h -lib_addch.So: term.h -lib_addch.So: unctrl.h -lib_addch.o: curses.h -lib_addch.o: ncurses_def.h -lib_addch.o: term.h -lib_addch.o: unctrl.h -lib_addch.po: curses.h -lib_addch.po: ncurses_def.h -lib_addch.po: term.h -lib_addch.po: unctrl.h -lib_addstr.So: curses.h -lib_addstr.So: ncurses_def.h -lib_addstr.So: term.h -lib_addstr.So: unctrl.h -lib_addstr.o: curses.h -lib_addstr.o: ncurses_def.h -lib_addstr.o: term.h -lib_addstr.o: unctrl.h -lib_addstr.po: curses.h -lib_addstr.po: ncurses_def.h -lib_addstr.po: term.h -lib_addstr.po: unctrl.h -lib_baudrate.So: curses.h -lib_baudrate.So: ncurses_def.h -lib_baudrate.So: term.h -lib_baudrate.So: termcap.h -lib_baudrate.So: unctrl.h -lib_baudrate.o: curses.h -lib_baudrate.o: ncurses_def.h -lib_baudrate.o: term.h -lib_baudrate.o: termcap.h -lib_baudrate.o: unctrl.h -lib_baudrate.po: curses.h -lib_baudrate.po: ncurses_def.h -lib_baudrate.po: term.h -lib_baudrate.po: termcap.h -lib_baudrate.po: unctrl.h -lib_beep.So: curses.h -lib_beep.So: ncurses_def.h -lib_beep.So: term.h -lib_beep.So: unctrl.h -lib_beep.o: curses.h -lib_beep.o: ncurses_def.h -lib_beep.o: term.h -lib_beep.o: unctrl.h -lib_beep.po: curses.h -lib_beep.po: ncurses_def.h -lib_beep.po: term.h -lib_beep.po: unctrl.h -lib_bkgd.So: curses.h -lib_bkgd.So: ncurses_def.h -lib_bkgd.So: term.h -lib_bkgd.So: unctrl.h -lib_bkgd.o: curses.h -lib_bkgd.o: ncurses_def.h -lib_bkgd.o: term.h -lib_bkgd.o: unctrl.h -lib_bkgd.po: curses.h -lib_bkgd.po: ncurses_def.h -lib_bkgd.po: term.h -lib_bkgd.po: unctrl.h -lib_box.So: curses.h -lib_box.So: ncurses_def.h -lib_box.So: term.h -lib_box.So: unctrl.h -lib_box.o: curses.h -lib_box.o: ncurses_def.h -lib_box.o: term.h -lib_box.o: unctrl.h -lib_box.po: curses.h -lib_box.po: ncurses_def.h -lib_box.po: term.h -lib_box.po: unctrl.h -lib_chgat.So: curses.h -lib_chgat.So: ncurses_def.h -lib_chgat.So: term.h -lib_chgat.So: unctrl.h -lib_chgat.o: curses.h -lib_chgat.o: ncurses_def.h -lib_chgat.o: term.h -lib_chgat.o: unctrl.h -lib_chgat.po: curses.h -lib_chgat.po: ncurses_def.h -lib_chgat.po: term.h -lib_chgat.po: unctrl.h -lib_clear.So: curses.h -lib_clear.So: ncurses_def.h -lib_clear.So: term.h -lib_clear.So: unctrl.h -lib_clear.o: curses.h -lib_clear.o: ncurses_def.h -lib_clear.o: term.h -lib_clear.o: unctrl.h -lib_clear.po: curses.h -lib_clear.po: ncurses_def.h -lib_clear.po: term.h -lib_clear.po: unctrl.h -lib_clearok.So: curses.h -lib_clearok.So: ncurses_def.h -lib_clearok.So: term.h -lib_clearok.So: unctrl.h -lib_clearok.o: curses.h -lib_clearok.o: ncurses_def.h -lib_clearok.o: term.h -lib_clearok.o: unctrl.h -lib_clearok.po: curses.h -lib_clearok.po: ncurses_def.h -lib_clearok.po: term.h -lib_clearok.po: unctrl.h -lib_clrbot.So: curses.h -lib_clrbot.So: ncurses_def.h -lib_clrbot.So: term.h -lib_clrbot.So: unctrl.h -lib_clrbot.o: curses.h -lib_clrbot.o: ncurses_def.h -lib_clrbot.o: term.h -lib_clrbot.o: unctrl.h -lib_clrbot.po: curses.h -lib_clrbot.po: ncurses_def.h -lib_clrbot.po: term.h -lib_clrbot.po: unctrl.h -lib_clreol.So: curses.h -lib_clreol.So: ncurses_def.h -lib_clreol.So: term.h -lib_clreol.So: unctrl.h -lib_clreol.o: curses.h -lib_clreol.o: ncurses_def.h -lib_clreol.o: term.h -lib_clreol.o: unctrl.h -lib_clreol.po: curses.h -lib_clreol.po: ncurses_def.h -lib_clreol.po: term.h -lib_clreol.po: unctrl.h -lib_color.So: curses.h -lib_color.So: ncurses_def.h -lib_color.So: term.h -lib_color.So: unctrl.h -lib_color.o: curses.h -lib_color.o: ncurses_def.h -lib_color.o: term.h -lib_color.o: unctrl.h -lib_color.po: curses.h -lib_color.po: ncurses_def.h -lib_color.po: term.h -lib_color.po: unctrl.h -lib_colorset.So: curses.h -lib_colorset.So: ncurses_def.h -lib_colorset.So: term.h -lib_colorset.So: unctrl.h -lib_colorset.o: curses.h -lib_colorset.o: ncurses_def.h -lib_colorset.o: term.h -lib_colorset.o: unctrl.h -lib_colorset.po: curses.h -lib_colorset.po: ncurses_def.h -lib_colorset.po: term.h -lib_colorset.po: unctrl.h -lib_cur_term.So: curses.h -lib_cur_term.So: ncurses_def.h -lib_cur_term.So: term.h -lib_cur_term.So: termcap.h -lib_cur_term.So: unctrl.h -lib_cur_term.o: curses.h -lib_cur_term.o: ncurses_def.h -lib_cur_term.o: term.h -lib_cur_term.o: termcap.h -lib_cur_term.o: unctrl.h -lib_cur_term.po: curses.h -lib_cur_term.po: ncurses_def.h -lib_cur_term.po: term.h -lib_cur_term.po: termcap.h -lib_cur_term.po: unctrl.h -lib_data.So: curses.h -lib_data.So: ncurses_def.h -lib_data.So: term.h -lib_data.So: unctrl.h -lib_data.o: curses.h -lib_data.o: ncurses_def.h -lib_data.o: term.h -lib_data.o: unctrl.h -lib_data.po: curses.h -lib_data.po: ncurses_def.h -lib_data.po: term.h -lib_data.po: unctrl.h -lib_delch.So: curses.h -lib_delch.So: ncurses_def.h -lib_delch.So: term.h -lib_delch.So: unctrl.h -lib_delch.o: curses.h -lib_delch.o: ncurses_def.h -lib_delch.o: term.h -lib_delch.o: unctrl.h -lib_delch.po: curses.h -lib_delch.po: ncurses_def.h -lib_delch.po: term.h -lib_delch.po: unctrl.h -lib_delwin.So: curses.h -lib_delwin.So: ncurses_def.h -lib_delwin.So: term.h -lib_delwin.So: unctrl.h -lib_delwin.o: curses.h -lib_delwin.o: ncurses_def.h -lib_delwin.o: term.h -lib_delwin.o: unctrl.h -lib_delwin.po: curses.h -lib_delwin.po: ncurses_def.h -lib_delwin.po: term.h -lib_delwin.po: unctrl.h -lib_dft_fgbg.So: curses.h -lib_dft_fgbg.So: ncurses_def.h -lib_dft_fgbg.So: term.h -lib_dft_fgbg.So: unctrl.h -lib_dft_fgbg.o: curses.h -lib_dft_fgbg.o: ncurses_def.h -lib_dft_fgbg.o: term.h -lib_dft_fgbg.o: unctrl.h -lib_dft_fgbg.po: curses.h -lib_dft_fgbg.po: ncurses_def.h -lib_dft_fgbg.po: term.h -lib_dft_fgbg.po: unctrl.h -lib_echo.So: curses.h -lib_echo.So: ncurses_def.h -lib_echo.So: term.h -lib_echo.So: unctrl.h -lib_echo.o: curses.h -lib_echo.o: ncurses_def.h -lib_echo.o: term.h -lib_echo.o: unctrl.h -lib_echo.po: curses.h -lib_echo.po: ncurses_def.h -lib_echo.po: term.h -lib_echo.po: unctrl.h -lib_endwin.So: curses.h -lib_endwin.So: ncurses_def.h -lib_endwin.So: term.h -lib_endwin.So: unctrl.h -lib_endwin.o: curses.h -lib_endwin.o: ncurses_def.h -lib_endwin.o: term.h -lib_endwin.o: unctrl.h -lib_endwin.po: curses.h -lib_endwin.po: ncurses_def.h -lib_endwin.po: term.h -lib_endwin.po: unctrl.h -lib_erase.So: curses.h -lib_erase.So: ncurses_def.h -lib_erase.So: term.h -lib_erase.So: unctrl.h -lib_erase.o: curses.h -lib_erase.o: ncurses_def.h -lib_erase.o: term.h -lib_erase.o: unctrl.h -lib_erase.po: curses.h -lib_erase.po: ncurses_def.h -lib_erase.po: term.h -lib_erase.po: unctrl.h -lib_flash.So: curses.h -lib_flash.So: ncurses_def.h -lib_flash.So: term.h -lib_flash.So: unctrl.h -lib_flash.o: curses.h -lib_flash.o: ncurses_def.h -lib_flash.o: term.h -lib_flash.o: unctrl.h -lib_flash.po: curses.h -lib_flash.po: ncurses_def.h -lib_flash.po: term.h -lib_flash.po: unctrl.h -lib_freeall.So: curses.h -lib_freeall.So: ncurses_def.h -lib_freeall.So: term.h -lib_freeall.So: unctrl.h -lib_freeall.o: curses.h -lib_freeall.o: ncurses_def.h -lib_freeall.o: term.h -lib_freeall.o: unctrl.h -lib_freeall.po: curses.h -lib_freeall.po: ncurses_def.h -lib_freeall.po: term.h -lib_freeall.po: unctrl.h -lib_gen.So: curses.h -lib_gen.So: lib_gen.c -lib_gen.So: ncurses_def.h -lib_gen.So: term.h -lib_gen.So: unctrl.h -lib_gen.o: curses.h -lib_gen.o: lib_gen.c -lib_gen.o: ncurses_def.h -lib_gen.o: term.h -lib_gen.o: unctrl.h -lib_gen.po: curses.h -lib_gen.po: lib_gen.c -lib_gen.po: ncurses_def.h -lib_gen.po: term.h -lib_gen.po: unctrl.h -lib_getch.So: curses.h -lib_getch.So: ncurses_def.h -lib_getch.So: term.h -lib_getch.So: unctrl.h -lib_getch.o: curses.h -lib_getch.o: ncurses_def.h -lib_getch.o: term.h -lib_getch.o: unctrl.h -lib_getch.po: curses.h -lib_getch.po: ncurses_def.h -lib_getch.po: term.h -lib_getch.po: unctrl.h -lib_getstr.So: curses.h -lib_getstr.So: ncurses_def.h -lib_getstr.So: term.h -lib_getstr.So: unctrl.h -lib_getstr.o: curses.h -lib_getstr.o: ncurses_def.h -lib_getstr.o: term.h -lib_getstr.o: unctrl.h -lib_getstr.po: curses.h -lib_getstr.po: ncurses_def.h -lib_getstr.po: term.h -lib_getstr.po: unctrl.h -lib_has_cap.So: curses.h -lib_has_cap.So: ncurses_def.h -lib_has_cap.So: term.h -lib_has_cap.So: unctrl.h -lib_has_cap.o: curses.h -lib_has_cap.o: ncurses_def.h -lib_has_cap.o: term.h -lib_has_cap.o: unctrl.h -lib_has_cap.po: curses.h -lib_has_cap.po: ncurses_def.h -lib_has_cap.po: term.h -lib_has_cap.po: unctrl.h -lib_hline.So: curses.h -lib_hline.So: ncurses_def.h -lib_hline.So: term.h -lib_hline.So: unctrl.h -lib_hline.o: curses.h -lib_hline.o: ncurses_def.h -lib_hline.o: term.h -lib_hline.o: unctrl.h -lib_hline.po: curses.h -lib_hline.po: ncurses_def.h -lib_hline.po: term.h -lib_hline.po: unctrl.h -lib_immedok.So: curses.h -lib_immedok.So: ncurses_def.h -lib_immedok.So: term.h -lib_immedok.So: unctrl.h -lib_immedok.o: curses.h -lib_immedok.o: ncurses_def.h -lib_immedok.o: term.h -lib_immedok.o: unctrl.h -lib_immedok.po: curses.h -lib_immedok.po: ncurses_def.h -lib_immedok.po: term.h -lib_immedok.po: unctrl.h -lib_inchstr.So: curses.h -lib_inchstr.So: ncurses_def.h -lib_inchstr.So: term.h -lib_inchstr.So: unctrl.h -lib_inchstr.o: curses.h -lib_inchstr.o: ncurses_def.h -lib_inchstr.o: term.h -lib_inchstr.o: unctrl.h -lib_inchstr.po: curses.h -lib_inchstr.po: ncurses_def.h -lib_inchstr.po: term.h -lib_inchstr.po: unctrl.h -lib_initscr.So: curses.h -lib_initscr.So: ncurses_def.h -lib_initscr.So: term.h -lib_initscr.So: unctrl.h -lib_initscr.o: curses.h -lib_initscr.o: ncurses_def.h -lib_initscr.o: term.h -lib_initscr.o: unctrl.h -lib_initscr.po: curses.h -lib_initscr.po: ncurses_def.h -lib_initscr.po: term.h -lib_initscr.po: unctrl.h -lib_insch.So: curses.h -lib_insch.So: ncurses_def.h -lib_insch.So: term.h -lib_insch.So: unctrl.h -lib_insch.o: curses.h -lib_insch.o: ncurses_def.h -lib_insch.o: term.h -lib_insch.o: unctrl.h -lib_insch.po: curses.h -lib_insch.po: ncurses_def.h -lib_insch.po: term.h -lib_insch.po: unctrl.h -lib_insdel.So: curses.h -lib_insdel.So: ncurses_def.h -lib_insdel.So: term.h -lib_insdel.So: unctrl.h -lib_insdel.o: curses.h -lib_insdel.o: ncurses_def.h -lib_insdel.o: term.h -lib_insdel.o: unctrl.h -lib_insdel.po: curses.h -lib_insdel.po: ncurses_def.h -lib_insdel.po: term.h -lib_insdel.po: unctrl.h -lib_insnstr.So: curses.h -lib_insnstr.So: ncurses_def.h -lib_insnstr.So: term.h -lib_insnstr.So: unctrl.h -lib_insnstr.o: curses.h -lib_insnstr.o: ncurses_def.h -lib_insnstr.o: term.h -lib_insnstr.o: unctrl.h -lib_insnstr.po: curses.h -lib_insnstr.po: ncurses_def.h -lib_insnstr.po: term.h -lib_insnstr.po: unctrl.h -lib_instr.So: curses.h -lib_instr.So: ncurses_def.h -lib_instr.So: term.h -lib_instr.So: unctrl.h -lib_instr.o: curses.h -lib_instr.o: ncurses_def.h -lib_instr.o: term.h -lib_instr.o: unctrl.h -lib_instr.po: curses.h -lib_instr.po: ncurses_def.h -lib_instr.po: term.h -lib_instr.po: unctrl.h -lib_isendwin.So: curses.h -lib_isendwin.So: ncurses_def.h -lib_isendwin.So: term.h -lib_isendwin.So: unctrl.h -lib_isendwin.o: curses.h -lib_isendwin.o: ncurses_def.h -lib_isendwin.o: term.h -lib_isendwin.o: unctrl.h -lib_isendwin.po: curses.h -lib_isendwin.po: ncurses_def.h -lib_isendwin.po: term.h -lib_isendwin.po: unctrl.h -lib_kernel.So: curses.h -lib_kernel.So: ncurses_def.h -lib_kernel.So: term.h -lib_kernel.So: unctrl.h -lib_kernel.o: curses.h -lib_kernel.o: ncurses_def.h -lib_kernel.o: term.h -lib_kernel.o: unctrl.h -lib_kernel.po: curses.h -lib_kernel.po: ncurses_def.h -lib_kernel.po: term.h -lib_kernel.po: unctrl.h -lib_keyname.So: curses.h -lib_keyname.So: lib_keyname.c -lib_keyname.So: ncurses_def.h -lib_keyname.So: term.h -lib_keyname.So: unctrl.h -lib_keyname.o: curses.h -lib_keyname.o: lib_keyname.c -lib_keyname.o: ncurses_def.h -lib_keyname.o: term.h -lib_keyname.o: unctrl.h -lib_keyname.po: curses.h -lib_keyname.po: lib_keyname.c -lib_keyname.po: ncurses_def.h -lib_keyname.po: term.h -lib_keyname.po: unctrl.h -lib_leaveok.So: curses.h -lib_leaveok.So: ncurses_def.h -lib_leaveok.So: term.h -lib_leaveok.So: unctrl.h -lib_leaveok.o: curses.h -lib_leaveok.o: ncurses_def.h -lib_leaveok.o: term.h -lib_leaveok.o: unctrl.h -lib_leaveok.po: curses.h -lib_leaveok.po: ncurses_def.h -lib_leaveok.po: term.h -lib_leaveok.po: unctrl.h -lib_longname.So: curses.h -lib_longname.So: ncurses_def.h -lib_longname.So: term.h -lib_longname.So: unctrl.h -lib_longname.o: curses.h -lib_longname.o: ncurses_def.h -lib_longname.o: term.h -lib_longname.o: unctrl.h -lib_longname.po: curses.h -lib_longname.po: ncurses_def.h -lib_longname.po: term.h -lib_longname.po: unctrl.h -lib_mouse.So: curses.h -lib_mouse.So: ncurses_def.h -lib_mouse.So: term.h -lib_mouse.So: unctrl.h -lib_mouse.o: curses.h -lib_mouse.o: ncurses_def.h -lib_mouse.o: term.h -lib_mouse.o: unctrl.h -lib_mouse.po: curses.h -lib_mouse.po: ncurses_def.h -lib_mouse.po: term.h -lib_mouse.po: unctrl.h -lib_move.So: curses.h -lib_move.So: ncurses_def.h -lib_move.So: term.h -lib_move.So: unctrl.h -lib_move.o: curses.h -lib_move.o: ncurses_def.h -lib_move.o: term.h -lib_move.o: unctrl.h -lib_move.po: curses.h -lib_move.po: ncurses_def.h -lib_move.po: term.h -lib_move.po: unctrl.h -lib_mvcur.So: curses.h -lib_mvcur.So: ncurses_def.h -lib_mvcur.So: term.h -lib_mvcur.So: unctrl.h -lib_mvcur.o: curses.h -lib_mvcur.o: ncurses_def.h -lib_mvcur.o: term.h -lib_mvcur.o: unctrl.h -lib_mvcur.po: curses.h -lib_mvcur.po: ncurses_def.h -lib_mvcur.po: term.h -lib_mvcur.po: unctrl.h -lib_mvwin.So: curses.h -lib_mvwin.So: ncurses_def.h -lib_mvwin.So: term.h -lib_mvwin.So: unctrl.h -lib_mvwin.o: curses.h -lib_mvwin.o: ncurses_def.h -lib_mvwin.o: term.h -lib_mvwin.o: unctrl.h -lib_mvwin.po: curses.h -lib_mvwin.po: ncurses_def.h -lib_mvwin.po: term.h -lib_mvwin.po: unctrl.h -lib_napms.So: curses.h -lib_napms.So: ncurses_def.h -lib_napms.So: term.h -lib_napms.So: unctrl.h -lib_napms.o: curses.h -lib_napms.o: ncurses_def.h -lib_napms.o: term.h -lib_napms.o: unctrl.h -lib_napms.po: curses.h -lib_napms.po: ncurses_def.h -lib_napms.po: term.h -lib_napms.po: unctrl.h -lib_newterm.So: curses.h -lib_newterm.So: ncurses_def.h -lib_newterm.So: term.h -lib_newterm.So: unctrl.h -lib_newterm.o: curses.h -lib_newterm.o: ncurses_def.h -lib_newterm.o: term.h -lib_newterm.o: unctrl.h -lib_newterm.po: curses.h -lib_newterm.po: ncurses_def.h -lib_newterm.po: term.h -lib_newterm.po: unctrl.h -lib_newwin.So: curses.h -lib_newwin.So: ncurses_def.h -lib_newwin.So: term.h -lib_newwin.So: unctrl.h -lib_newwin.o: curses.h -lib_newwin.o: ncurses_def.h -lib_newwin.o: term.h -lib_newwin.o: unctrl.h -lib_newwin.po: curses.h -lib_newwin.po: ncurses_def.h -lib_newwin.po: term.h -lib_newwin.po: unctrl.h -lib_nl.So: curses.h -lib_nl.So: ncurses_def.h -lib_nl.So: term.h -lib_nl.So: unctrl.h -lib_nl.o: curses.h -lib_nl.o: ncurses_def.h -lib_nl.o: term.h -lib_nl.o: unctrl.h -lib_nl.po: curses.h -lib_nl.po: ncurses_def.h -lib_nl.po: term.h -lib_nl.po: unctrl.h -lib_options.So: curses.h -lib_options.So: ncurses_def.h -lib_options.So: term.h -lib_options.So: unctrl.h -lib_options.o: curses.h -lib_options.o: ncurses_def.h -lib_options.o: term.h -lib_options.o: unctrl.h -lib_options.po: curses.h -lib_options.po: ncurses_def.h -lib_options.po: term.h -lib_options.po: unctrl.h -lib_overlay.So: curses.h -lib_overlay.So: ncurses_def.h -lib_overlay.So: term.h -lib_overlay.So: unctrl.h -lib_overlay.o: curses.h -lib_overlay.o: ncurses_def.h -lib_overlay.o: term.h -lib_overlay.o: unctrl.h -lib_overlay.po: curses.h -lib_overlay.po: ncurses_def.h -lib_overlay.po: term.h -lib_overlay.po: unctrl.h -lib_pad.So: curses.h -lib_pad.So: ncurses_def.h -lib_pad.So: term.h -lib_pad.So: unctrl.h -lib_pad.o: curses.h -lib_pad.o: ncurses_def.h -lib_pad.o: term.h -lib_pad.o: unctrl.h -lib_pad.po: curses.h -lib_pad.po: ncurses_def.h -lib_pad.po: term.h -lib_pad.po: unctrl.h -lib_print.So: curses.h -lib_print.So: ncurses_def.h -lib_print.So: term.h -lib_print.So: unctrl.h -lib_print.o: curses.h -lib_print.o: ncurses_def.h -lib_print.o: term.h -lib_print.o: unctrl.h -lib_print.po: curses.h -lib_print.po: ncurses_def.h -lib_print.po: term.h -lib_print.po: unctrl.h -lib_printw.So: curses.h -lib_printw.So: ncurses_def.h -lib_printw.So: term.h -lib_printw.So: unctrl.h -lib_printw.o: curses.h -lib_printw.o: ncurses_def.h -lib_printw.o: term.h -lib_printw.o: unctrl.h -lib_printw.po: curses.h -lib_printw.po: ncurses_def.h -lib_printw.po: term.h -lib_printw.po: unctrl.h -lib_raw.So: curses.h -lib_raw.So: ncurses_def.h -lib_raw.So: term.h -lib_raw.So: unctrl.h -lib_raw.o: curses.h -lib_raw.o: ncurses_def.h -lib_raw.o: term.h -lib_raw.o: unctrl.h -lib_raw.po: curses.h -lib_raw.po: ncurses_def.h -lib_raw.po: term.h -lib_raw.po: unctrl.h -lib_redrawln.So: curses.h -lib_redrawln.So: ncurses_def.h -lib_redrawln.So: term.h -lib_redrawln.So: unctrl.h -lib_redrawln.o: curses.h -lib_redrawln.o: ncurses_def.h -lib_redrawln.o: term.h -lib_redrawln.o: unctrl.h -lib_redrawln.po: curses.h -lib_redrawln.po: ncurses_def.h -lib_redrawln.po: term.h -lib_redrawln.po: unctrl.h -lib_refresh.So: curses.h -lib_refresh.So: ncurses_def.h -lib_refresh.So: term.h -lib_refresh.So: unctrl.h -lib_refresh.o: curses.h -lib_refresh.o: ncurses_def.h -lib_refresh.o: term.h -lib_refresh.o: unctrl.h -lib_refresh.po: curses.h -lib_refresh.po: ncurses_def.h -lib_refresh.po: term.h -lib_refresh.po: unctrl.h -lib_restart.So: curses.h -lib_restart.So: ncurses_def.h -lib_restart.So: term.h -lib_restart.So: unctrl.h -lib_restart.o: curses.h -lib_restart.o: ncurses_def.h -lib_restart.o: term.h -lib_restart.o: unctrl.h -lib_restart.po: curses.h -lib_restart.po: ncurses_def.h -lib_restart.po: term.h -lib_restart.po: unctrl.h -lib_scanw.So: curses.h -lib_scanw.So: ncurses_def.h -lib_scanw.So: term.h -lib_scanw.So: unctrl.h -lib_scanw.o: curses.h -lib_scanw.o: ncurses_def.h -lib_scanw.o: term.h -lib_scanw.o: unctrl.h -lib_scanw.po: curses.h -lib_scanw.po: ncurses_def.h -lib_scanw.po: term.h -lib_scanw.po: unctrl.h -lib_screen.So: curses.h -lib_screen.So: ncurses_def.h -lib_screen.So: term.h -lib_screen.So: unctrl.h -lib_screen.o: curses.h -lib_screen.o: ncurses_def.h -lib_screen.o: term.h -lib_screen.o: unctrl.h -lib_screen.po: curses.h -lib_screen.po: ncurses_def.h -lib_screen.po: term.h -lib_screen.po: unctrl.h -lib_scroll.So: curses.h -lib_scroll.So: ncurses_def.h -lib_scroll.So: term.h -lib_scroll.So: unctrl.h -lib_scroll.o: curses.h -lib_scroll.o: ncurses_def.h -lib_scroll.o: term.h -lib_scroll.o: unctrl.h -lib_scroll.po: curses.h -lib_scroll.po: ncurses_def.h -lib_scroll.po: term.h -lib_scroll.po: unctrl.h -lib_scrollok.So: curses.h -lib_scrollok.So: ncurses_def.h -lib_scrollok.So: term.h -lib_scrollok.So: unctrl.h -lib_scrollok.o: curses.h -lib_scrollok.o: ncurses_def.h -lib_scrollok.o: term.h -lib_scrollok.o: unctrl.h -lib_scrollok.po: curses.h -lib_scrollok.po: ncurses_def.h -lib_scrollok.po: term.h -lib_scrollok.po: unctrl.h -lib_scrreg.So: curses.h -lib_scrreg.So: ncurses_def.h -lib_scrreg.So: term.h -lib_scrreg.So: unctrl.h -lib_scrreg.o: curses.h -lib_scrreg.o: ncurses_def.h -lib_scrreg.o: term.h -lib_scrreg.o: unctrl.h -lib_scrreg.po: curses.h -lib_scrreg.po: ncurses_def.h -lib_scrreg.po: term.h -lib_scrreg.po: unctrl.h -lib_set_term.So: curses.h -lib_set_term.So: ncurses_def.h -lib_set_term.So: term.h -lib_set_term.So: unctrl.h -lib_set_term.o: curses.h -lib_set_term.o: ncurses_def.h -lib_set_term.o: term.h -lib_set_term.o: unctrl.h -lib_set_term.po: curses.h -lib_set_term.po: ncurses_def.h -lib_set_term.po: term.h -lib_set_term.po: unctrl.h -lib_setup.So: curses.h -lib_setup.So: ncurses_def.h -lib_setup.So: term.h -lib_setup.So: unctrl.h -lib_setup.o: curses.h -lib_setup.o: ncurses_def.h -lib_setup.o: term.h -lib_setup.o: unctrl.h -lib_setup.po: curses.h -lib_setup.po: ncurses_def.h -lib_setup.po: term.h -lib_setup.po: unctrl.h -lib_slk.So: curses.h -lib_slk.So: ncurses_def.h -lib_slk.So: term.h -lib_slk.So: unctrl.h -lib_slk.o: curses.h -lib_slk.o: ncurses_def.h -lib_slk.o: term.h -lib_slk.o: unctrl.h -lib_slk.po: curses.h -lib_slk.po: ncurses_def.h -lib_slk.po: term.h -lib_slk.po: unctrl.h -lib_slkatr_set.So: curses.h -lib_slkatr_set.So: ncurses_def.h -lib_slkatr_set.So: term.h -lib_slkatr_set.So: unctrl.h -lib_slkatr_set.o: curses.h -lib_slkatr_set.o: ncurses_def.h -lib_slkatr_set.o: term.h -lib_slkatr_set.o: unctrl.h -lib_slkatr_set.po: curses.h -lib_slkatr_set.po: ncurses_def.h -lib_slkatr_set.po: term.h -lib_slkatr_set.po: unctrl.h -lib_slkatrof.So: curses.h -lib_slkatrof.So: ncurses_def.h -lib_slkatrof.So: term.h -lib_slkatrof.So: unctrl.h -lib_slkatrof.o: curses.h -lib_slkatrof.o: ncurses_def.h -lib_slkatrof.o: term.h -lib_slkatrof.o: unctrl.h -lib_slkatrof.po: curses.h -lib_slkatrof.po: ncurses_def.h -lib_slkatrof.po: term.h -lib_slkatrof.po: unctrl.h -lib_slkatron.So: curses.h -lib_slkatron.So: ncurses_def.h -lib_slkatron.So: term.h -lib_slkatron.So: unctrl.h -lib_slkatron.o: curses.h -lib_slkatron.o: ncurses_def.h -lib_slkatron.o: term.h -lib_slkatron.o: unctrl.h -lib_slkatron.po: curses.h -lib_slkatron.po: ncurses_def.h -lib_slkatron.po: term.h -lib_slkatron.po: unctrl.h -lib_slkatrset.So: curses.h -lib_slkatrset.So: ncurses_def.h -lib_slkatrset.So: term.h -lib_slkatrset.So: unctrl.h -lib_slkatrset.o: curses.h -lib_slkatrset.o: ncurses_def.h -lib_slkatrset.o: term.h -lib_slkatrset.o: unctrl.h -lib_slkatrset.po: curses.h -lib_slkatrset.po: ncurses_def.h -lib_slkatrset.po: term.h -lib_slkatrset.po: unctrl.h -lib_slkattr.So: curses.h -lib_slkattr.So: ncurses_def.h -lib_slkattr.So: term.h -lib_slkattr.So: unctrl.h -lib_slkattr.o: curses.h -lib_slkattr.o: ncurses_def.h -lib_slkattr.o: term.h -lib_slkattr.o: unctrl.h -lib_slkattr.po: curses.h -lib_slkattr.po: ncurses_def.h -lib_slkattr.po: term.h -lib_slkattr.po: unctrl.h -lib_slkclear.So: curses.h -lib_slkclear.So: ncurses_def.h -lib_slkclear.So: term.h -lib_slkclear.So: unctrl.h -lib_slkclear.o: curses.h -lib_slkclear.o: ncurses_def.h -lib_slkclear.o: term.h -lib_slkclear.o: unctrl.h -lib_slkclear.po: curses.h -lib_slkclear.po: ncurses_def.h -lib_slkclear.po: term.h -lib_slkclear.po: unctrl.h -lib_slkcolor.So: curses.h -lib_slkcolor.So: ncurses_def.h -lib_slkcolor.So: term.h -lib_slkcolor.So: unctrl.h -lib_slkcolor.o: curses.h -lib_slkcolor.o: ncurses_def.h -lib_slkcolor.o: term.h -lib_slkcolor.o: unctrl.h -lib_slkcolor.po: curses.h -lib_slkcolor.po: ncurses_def.h -lib_slkcolor.po: term.h -lib_slkcolor.po: unctrl.h -lib_slkinit.So: curses.h -lib_slkinit.So: ncurses_def.h -lib_slkinit.So: term.h -lib_slkinit.So: unctrl.h -lib_slkinit.o: curses.h -lib_slkinit.o: ncurses_def.h -lib_slkinit.o: term.h -lib_slkinit.o: unctrl.h -lib_slkinit.po: curses.h -lib_slkinit.po: ncurses_def.h -lib_slkinit.po: term.h -lib_slkinit.po: unctrl.h -lib_slklab.So: curses.h -lib_slklab.So: ncurses_def.h -lib_slklab.So: term.h -lib_slklab.So: unctrl.h -lib_slklab.o: curses.h -lib_slklab.o: ncurses_def.h -lib_slklab.o: term.h -lib_slklab.o: unctrl.h -lib_slklab.po: curses.h -lib_slklab.po: ncurses_def.h -lib_slklab.po: term.h -lib_slklab.po: unctrl.h -lib_slkrefr.So: curses.h -lib_slkrefr.So: ncurses_def.h -lib_slkrefr.So: term.h -lib_slkrefr.So: unctrl.h -lib_slkrefr.o: curses.h -lib_slkrefr.o: ncurses_def.h -lib_slkrefr.o: term.h -lib_slkrefr.o: unctrl.h -lib_slkrefr.po: curses.h -lib_slkrefr.po: ncurses_def.h -lib_slkrefr.po: term.h -lib_slkrefr.po: unctrl.h -lib_slkset.So: curses.h -lib_slkset.So: ncurses_def.h -lib_slkset.So: term.h -lib_slkset.So: unctrl.h -lib_slkset.o: curses.h -lib_slkset.o: ncurses_def.h -lib_slkset.o: term.h -lib_slkset.o: unctrl.h -lib_slkset.po: curses.h -lib_slkset.po: ncurses_def.h -lib_slkset.po: term.h -lib_slkset.po: unctrl.h -lib_slktouch.So: curses.h -lib_slktouch.So: ncurses_def.h -lib_slktouch.So: term.h -lib_slktouch.So: unctrl.h -lib_slktouch.o: curses.h -lib_slktouch.o: ncurses_def.h -lib_slktouch.o: term.h -lib_slktouch.o: unctrl.h -lib_slktouch.po: curses.h -lib_slktouch.po: ncurses_def.h -lib_slktouch.po: term.h -lib_slktouch.po: unctrl.h -lib_termcap.So: curses.h -lib_termcap.So: ncurses_def.h -lib_termcap.So: term.h -lib_termcap.So: termcap.h -lib_termcap.So: unctrl.h -lib_termcap.o: curses.h -lib_termcap.o: ncurses_def.h -lib_termcap.o: term.h -lib_termcap.o: termcap.h -lib_termcap.o: unctrl.h -lib_termcap.po: curses.h -lib_termcap.po: ncurses_def.h -lib_termcap.po: term.h -lib_termcap.po: termcap.h -lib_termcap.po: unctrl.h -lib_termname.So: curses.h -lib_termname.So: ncurses_def.h -lib_termname.So: term.h -lib_termname.So: unctrl.h -lib_termname.o: curses.h -lib_termname.o: ncurses_def.h -lib_termname.o: term.h -lib_termname.o: unctrl.h -lib_termname.po: curses.h -lib_termname.po: ncurses_def.h -lib_termname.po: term.h -lib_termname.po: unctrl.h -lib_tgoto.So: curses.h -lib_tgoto.So: ncurses_def.h -lib_tgoto.So: term.h -lib_tgoto.So: termcap.h -lib_tgoto.So: unctrl.h -lib_tgoto.o: curses.h -lib_tgoto.o: ncurses_def.h -lib_tgoto.o: term.h -lib_tgoto.o: termcap.h -lib_tgoto.o: unctrl.h -lib_tgoto.po: curses.h -lib_tgoto.po: ncurses_def.h -lib_tgoto.po: term.h -lib_tgoto.po: termcap.h -lib_tgoto.po: unctrl.h -lib_ti.So: curses.h -lib_ti.So: ncurses_def.h -lib_ti.So: term.h -lib_ti.So: unctrl.h -lib_ti.o: curses.h -lib_ti.o: ncurses_def.h -lib_ti.o: term.h -lib_ti.o: unctrl.h -lib_ti.po: curses.h -lib_ti.po: ncurses_def.h -lib_ti.po: term.h -lib_ti.po: unctrl.h -lib_touch.So: curses.h -lib_touch.So: ncurses_def.h -lib_touch.So: term.h -lib_touch.So: unctrl.h -lib_touch.o: curses.h -lib_touch.o: ncurses_def.h -lib_touch.o: term.h -lib_touch.o: unctrl.h -lib_touch.po: curses.h -lib_touch.po: ncurses_def.h -lib_touch.po: term.h -lib_touch.po: unctrl.h -lib_tparm.So: curses.h -lib_tparm.So: ncurses_def.h -lib_tparm.So: term.h -lib_tparm.So: unctrl.h -lib_tparm.o: curses.h -lib_tparm.o: ncurses_def.h -lib_tparm.o: term.h -lib_tparm.o: unctrl.h -lib_tparm.po: curses.h -lib_tparm.po: ncurses_def.h -lib_tparm.po: term.h -lib_tparm.po: unctrl.h -lib_tputs.So: curses.h -lib_tputs.So: ncurses_def.h -lib_tputs.So: term.h -lib_tputs.So: termcap.h -lib_tputs.So: unctrl.h -lib_tputs.o: curses.h -lib_tputs.o: ncurses_def.h -lib_tputs.o: term.h -lib_tputs.o: termcap.h -lib_tputs.o: unctrl.h -lib_tputs.po: curses.h -lib_tputs.po: ncurses_def.h -lib_tputs.po: term.h -lib_tputs.po: termcap.h -lib_tputs.po: unctrl.h -lib_trace.So: curses.h -lib_trace.So: ncurses_def.h -lib_trace.So: term.h -lib_trace.So: unctrl.h -lib_trace.o: curses.h -lib_trace.o: ncurses_def.h -lib_trace.o: term.h -lib_trace.o: unctrl.h -lib_trace.po: curses.h -lib_trace.po: ncurses_def.h -lib_trace.po: term.h -lib_trace.po: unctrl.h -lib_tstp.So: curses.h -lib_tstp.So: ncurses_def.h -lib_tstp.So: term.h -lib_tstp.So: unctrl.h -lib_tstp.o: curses.h -lib_tstp.o: ncurses_def.h -lib_tstp.o: term.h -lib_tstp.o: unctrl.h -lib_tstp.po: curses.h -lib_tstp.po: ncurses_def.h -lib_tstp.po: term.h -lib_tstp.po: unctrl.h -lib_ttyflags.So: curses.h -lib_ttyflags.So: ncurses_def.h -lib_ttyflags.So: term.h -lib_ttyflags.So: unctrl.h -lib_ttyflags.o: curses.h -lib_ttyflags.o: ncurses_def.h -lib_ttyflags.o: term.h -lib_ttyflags.o: unctrl.h -lib_ttyflags.po: curses.h -lib_ttyflags.po: ncurses_def.h -lib_ttyflags.po: term.h -lib_ttyflags.po: unctrl.h -lib_twait.So: curses.h -lib_twait.So: ncurses_def.h -lib_twait.So: term.h -lib_twait.So: unctrl.h -lib_twait.o: curses.h -lib_twait.o: ncurses_def.h -lib_twait.o: term.h -lib_twait.o: unctrl.h -lib_twait.po: curses.h -lib_twait.po: ncurses_def.h -lib_twait.po: term.h -lib_twait.po: unctrl.h -lib_ungetch.So: curses.h -lib_ungetch.So: ncurses_def.h -lib_ungetch.So: term.h -lib_ungetch.So: unctrl.h -lib_ungetch.o: curses.h -lib_ungetch.o: ncurses_def.h -lib_ungetch.o: term.h -lib_ungetch.o: unctrl.h -lib_ungetch.po: curses.h -lib_ungetch.po: ncurses_def.h -lib_ungetch.po: term.h -lib_ungetch.po: unctrl.h -lib_vidattr.So: curses.h -lib_vidattr.So: ncurses_def.h -lib_vidattr.So: term.h -lib_vidattr.So: unctrl.h -lib_vidattr.o: curses.h -lib_vidattr.o: ncurses_def.h -lib_vidattr.o: term.h -lib_vidattr.o: unctrl.h -lib_vidattr.po: curses.h -lib_vidattr.po: ncurses_def.h -lib_vidattr.po: term.h -lib_vidattr.po: unctrl.h -lib_vline.So: curses.h -lib_vline.So: ncurses_def.h -lib_vline.So: term.h -lib_vline.So: unctrl.h -lib_vline.o: curses.h -lib_vline.o: ncurses_def.h -lib_vline.o: term.h -lib_vline.o: unctrl.h -lib_vline.po: curses.h -lib_vline.po: ncurses_def.h -lib_vline.po: term.h -lib_vline.po: unctrl.h -lib_wattroff.So: curses.h -lib_wattroff.So: ncurses_def.h -lib_wattroff.So: term.h -lib_wattroff.So: unctrl.h -lib_wattroff.o: curses.h -lib_wattroff.o: ncurses_def.h -lib_wattroff.o: term.h -lib_wattroff.o: unctrl.h -lib_wattroff.po: curses.h -lib_wattroff.po: ncurses_def.h -lib_wattroff.po: term.h -lib_wattroff.po: unctrl.h -lib_wattron.So: curses.h -lib_wattron.So: ncurses_def.h -lib_wattron.So: term.h -lib_wattron.So: unctrl.h -lib_wattron.o: curses.h -lib_wattron.o: ncurses_def.h -lib_wattron.o: term.h -lib_wattron.o: unctrl.h -lib_wattron.po: curses.h -lib_wattron.po: ncurses_def.h -lib_wattron.po: term.h -lib_wattron.po: unctrl.h -lib_winch.So: curses.h -lib_winch.So: ncurses_def.h -lib_winch.So: term.h -lib_winch.So: unctrl.h -lib_winch.o: curses.h -lib_winch.o: ncurses_def.h -lib_winch.o: term.h -lib_winch.o: unctrl.h -lib_winch.po: curses.h -lib_winch.po: ncurses_def.h -lib_winch.po: term.h -lib_winch.po: unctrl.h -lib_window.So: curses.h -lib_window.So: ncurses_def.h -lib_window.So: term.h -lib_window.So: unctrl.h -lib_window.o: curses.h -lib_window.o: ncurses_def.h -lib_window.o: term.h -lib_window.o: unctrl.h -lib_window.po: curses.h -lib_window.po: ncurses_def.h -lib_window.po: term.h -lib_window.po: unctrl.h -name_match.So: curses.h -name_match.So: ncurses_def.h -name_match.So: term.h -name_match.So: unctrl.h -name_match.o: curses.h -name_match.o: ncurses_def.h -name_match.o: term.h -name_match.o: unctrl.h -name_match.po: curses.h -name_match.po: ncurses_def.h -name_match.po: term.h -name_match.po: unctrl.h -names.So: curses.h -names.So: names.c -names.So: ncurses_def.h -names.So: term.h -names.So: unctrl.h -names.o: curses.h -names.o: names.c -names.o: ncurses_def.h -names.o: term.h -names.o: unctrl.h -names.po: curses.h -names.po: names.c -names.po: ncurses_def.h -names.po: term.h -names.po: unctrl.h -nc_panel.So: curses.h -nc_panel.So: ncurses_def.h -nc_panel.So: term.h -nc_panel.So: unctrl.h -nc_panel.o: curses.h -nc_panel.o: ncurses_def.h -nc_panel.o: term.h -nc_panel.o: unctrl.h -nc_panel.po: curses.h -nc_panel.po: ncurses_def.h -nc_panel.po: term.h -nc_panel.po: unctrl.h -obsolete.So: curses.h -obsolete.So: ncurses_def.h -obsolete.So: term.h -obsolete.So: unctrl.h -obsolete.o: curses.h -obsolete.o: ncurses_def.h -obsolete.o: term.h -obsolete.o: unctrl.h -obsolete.po: curses.h -obsolete.po: ncurses_def.h -obsolete.po: term.h -obsolete.po: unctrl.h -parse_entry.So: curses.h -parse_entry.So: ncurses_def.h -parse_entry.So: parametrized.h -parse_entry.So: term.h -parse_entry.So: unctrl.h -parse_entry.o: curses.h -parse_entry.o: ncurses_def.h -parse_entry.o: parametrized.h -parse_entry.o: term.h -parse_entry.o: unctrl.h -parse_entry.po: curses.h -parse_entry.po: ncurses_def.h -parse_entry.po: parametrized.h -parse_entry.po: term.h -parse_entry.po: unctrl.h -read_entry.So: curses.h -read_entry.So: ncurses_def.h -read_entry.So: term.h -read_entry.So: unctrl.h -read_entry.o: curses.h -read_entry.o: ncurses_def.h -read_entry.o: term.h -read_entry.o: unctrl.h -read_entry.po: curses.h -read_entry.po: ncurses_def.h -read_entry.po: term.h -read_entry.po: unctrl.h -resizeterm.So: curses.h -resizeterm.So: ncurses_def.h -resizeterm.So: term.h -resizeterm.So: unctrl.h -resizeterm.o: curses.h -resizeterm.o: ncurses_def.h -resizeterm.o: term.h -resizeterm.o: unctrl.h -resizeterm.po: curses.h -resizeterm.po: ncurses_def.h -resizeterm.po: term.h -resizeterm.po: unctrl.h -safe_sprintf.So: curses.h -safe_sprintf.So: ncurses_def.h -safe_sprintf.So: term.h -safe_sprintf.So: unctrl.h -safe_sprintf.o: curses.h -safe_sprintf.o: ncurses_def.h -safe_sprintf.o: term.h -safe_sprintf.o: unctrl.h -safe_sprintf.po: curses.h -safe_sprintf.po: ncurses_def.h -safe_sprintf.po: term.h -safe_sprintf.po: unctrl.h -strings.So: curses.h -strings.So: ncurses_def.h -strings.So: term.h -strings.So: unctrl.h -strings.o: curses.h -strings.o: ncurses_def.h -strings.o: term.h -strings.o: unctrl.h -strings.po: curses.h -strings.po: ncurses_def.h -strings.po: term.h -strings.po: unctrl.h -termcap.So: curses.h -termcap.So: ncurses_def.h -termcap.So: term.h -termcap.So: unctrl.h -termcap.o: curses.h -termcap.o: ncurses_def.h -termcap.o: term.h -termcap.o: unctrl.h -termcap.po: curses.h -termcap.po: ncurses_def.h -termcap.po: term.h -termcap.po: unctrl.h -tries.So: curses.h -tries.So: ncurses_def.h -tries.So: term.h -tries.So: unctrl.h -tries.o: curses.h -tries.o: ncurses_def.h -tries.o: term.h -tries.o: unctrl.h -tries.po: curses.h -tries.po: ncurses_def.h -tries.po: term.h -tries.po: unctrl.h -trim_sgr0.So: curses.h -trim_sgr0.So: ncurses_def.h -trim_sgr0.So: term.h -trim_sgr0.So: unctrl.h -trim_sgr0.o: curses.h -trim_sgr0.o: ncurses_def.h -trim_sgr0.o: term.h -trim_sgr0.o: unctrl.h -trim_sgr0.po: curses.h -trim_sgr0.po: ncurses_def.h -trim_sgr0.po: term.h -trim_sgr0.po: unctrl.h -tty_update.So: curses.h -tty_update.So: ncurses_def.h -tty_update.So: term.h -tty_update.So: unctrl.h -tty_update.o: curses.h -tty_update.o: ncurses_def.h -tty_update.o: term.h -tty_update.o: unctrl.h -tty_update.po: curses.h -tty_update.po: ncurses_def.h -tty_update.po: term.h -tty_update.po: unctrl.h -unctrl.So: curses.h -unctrl.So: ncurses_def.h -unctrl.So: term.h -unctrl.So: unctrl.c -unctrl.So: unctrl.h -unctrl.o: curses.h -unctrl.o: ncurses_def.h -unctrl.o: term.h -unctrl.o: unctrl.c -unctrl.o: unctrl.h -unctrl.po: curses.h -unctrl.po: ncurses_def.h -unctrl.po: term.h -unctrl.po: unctrl.c -unctrl.po: unctrl.h -version.So: curses.h -version.So: ncurses_def.h -version.So: term.h -version.So: unctrl.h -version.o: curses.h -version.o: ncurses_def.h -version.o: term.h -version.o: unctrl.h -version.po: curses.h -version.po: ncurses_def.h -version.po: term.h -version.po: unctrl.h -visbuf.So: curses.h -visbuf.So: ncurses_def.h -visbuf.So: term.h -visbuf.So: unctrl.h -visbuf.o: curses.h -visbuf.o: ncurses_def.h -visbuf.o: term.h -visbuf.o: unctrl.h -visbuf.po: curses.h -visbuf.po: ncurses_def.h -visbuf.po: term.h -visbuf.po: unctrl.h -vsscanf.So: curses.h -vsscanf.So: ncurses_def.h -vsscanf.So: term.h -vsscanf.So: unctrl.h -vsscanf.o: curses.h -vsscanf.o: ncurses_def.h -vsscanf.o: term.h -vsscanf.o: unctrl.h -vsscanf.po: curses.h -vsscanf.po: ncurses_def.h -vsscanf.po: term.h -vsscanf.po: unctrl.h -wresize.So: curses.h -wresize.So: ncurses_def.h -wresize.So: term.h -wresize.So: unctrl.h -wresize.o: curses.h -wresize.o: ncurses_def.h -wresize.o: term.h -wresize.o: unctrl.h -wresize.po: curses.h -wresize.po: ncurses_def.h -wresize.po: term.h -wresize.po: unctrl.h -write_entry.So: curses.h -write_entry.So: ncurses_def.h -write_entry.So: term.h -write_entry.So: unctrl.h -write_entry.o: curses.h -write_entry.o: ncurses_def.h -write_entry.o: term.h -write_entry.o: unctrl.h -write_entry.po: curses.h -write_entry.po: ncurses_def.h -write_entry.po: term.h -write_entry.po: unctrl.h .endif diff --git a/lib/ncurses/ncursesw/Makefile.depend b/lib/ncurses/ncursesw/Makefile.depend index b6ffa95..3646e2e 100644 --- a/lib/ncurses/ncursesw/Makefile.depend +++ b/lib/ncurses/ncursesw/Makefile.depend @@ -15,2515 +15,4 @@ DIRDEPS = \ .if ${DEP_RELDIR} == ${_DEP_RELDIR} # local dependencies - needed for -jN in clean tree -access.So: curses.h -access.So: ncurses_def.h -access.So: ncurses_dll.h -access.So: term.h -access.So: unctrl.h -access.o: curses.h -access.o: ncurses_def.h -access.o: ncurses_dll.h -access.o: term.h -access.o: unctrl.h -access.po: curses.h -access.po: ncurses_def.h -access.po: ncurses_dll.h -access.po: term.h -access.po: unctrl.h -add_tries.So: curses.h -add_tries.So: ncurses_def.h -add_tries.So: ncurses_dll.h -add_tries.So: term.h -add_tries.So: unctrl.h -add_tries.o: curses.h -add_tries.o: ncurses_def.h -add_tries.o: ncurses_dll.h -add_tries.o: term.h -add_tries.o: unctrl.h -add_tries.po: curses.h -add_tries.po: ncurses_def.h -add_tries.po: ncurses_dll.h -add_tries.po: term.h -add_tries.po: unctrl.h -alloc_entry.So: curses.h -alloc_entry.So: ncurses_def.h -alloc_entry.So: ncurses_dll.h -alloc_entry.So: term.h -alloc_entry.So: unctrl.h -alloc_entry.o: curses.h -alloc_entry.o: ncurses_def.h -alloc_entry.o: ncurses_dll.h -alloc_entry.o: term.h -alloc_entry.o: unctrl.h -alloc_entry.po: curses.h -alloc_entry.po: ncurses_def.h -alloc_entry.po: ncurses_dll.h -alloc_entry.po: term.h -alloc_entry.po: unctrl.h -alloc_ttype.So: curses.h -alloc_ttype.So: ncurses_def.h -alloc_ttype.So: ncurses_dll.h -alloc_ttype.So: term.h -alloc_ttype.So: unctrl.h -alloc_ttype.o: curses.h -alloc_ttype.o: ncurses_def.h -alloc_ttype.o: ncurses_dll.h -alloc_ttype.o: term.h -alloc_ttype.o: unctrl.h -alloc_ttype.po: curses.h -alloc_ttype.po: ncurses_def.h -alloc_ttype.po: ncurses_dll.h -alloc_ttype.po: term.h -alloc_ttype.po: unctrl.h -captoinfo.So: curses.h -captoinfo.So: ncurses_def.h -captoinfo.So: ncurses_dll.h -captoinfo.So: term.h -captoinfo.So: unctrl.h -captoinfo.o: curses.h -captoinfo.o: ncurses_def.h -captoinfo.o: ncurses_dll.h -captoinfo.o: term.h -captoinfo.o: unctrl.h -captoinfo.po: curses.h -captoinfo.po: ncurses_def.h -captoinfo.po: ncurses_dll.h -captoinfo.po: term.h -captoinfo.po: unctrl.h -charable.So: curses.h -charable.So: ncurses_def.h -charable.So: ncurses_dll.h -charable.So: term.h -charable.So: unctrl.h -charable.o: curses.h -charable.o: ncurses_def.h -charable.o: ncurses_dll.h -charable.o: term.h -charable.o: unctrl.h -charable.po: curses.h -charable.po: ncurses_def.h -charable.po: ncurses_dll.h -charable.po: term.h -charable.po: unctrl.h -codes.So: codes.c -codes.So: curses.h -codes.So: ncurses_def.h -codes.So: ncurses_dll.h -codes.So: term.h -codes.So: unctrl.h -codes.o: codes.c -codes.o: curses.h -codes.o: ncurses_def.h -codes.o: ncurses_dll.h -codes.o: term.h -codes.o: unctrl.h -codes.po: codes.c -codes.po: curses.h -codes.po: ncurses_def.h -codes.po: ncurses_dll.h -codes.po: term.h -codes.po: unctrl.h -comp_captab.So: comp_captab.c -comp_captab.So: curses.h -comp_captab.So: hashsize.h -comp_captab.So: ncurses_def.h -comp_captab.So: ncurses_dll.h -comp_captab.So: term.h -comp_captab.So: unctrl.h -comp_captab.o: comp_captab.c -comp_captab.o: curses.h -comp_captab.o: hashsize.h -comp_captab.o: ncurses_def.h -comp_captab.o: ncurses_dll.h -comp_captab.o: term.h -comp_captab.o: unctrl.h -comp_captab.po: comp_captab.c -comp_captab.po: curses.h -comp_captab.po: hashsize.h -comp_captab.po: ncurses_def.h -comp_captab.po: ncurses_dll.h -comp_captab.po: term.h -comp_captab.po: unctrl.h -comp_error.So: curses.h -comp_error.So: ncurses_def.h -comp_error.So: ncurses_dll.h -comp_error.So: term.h -comp_error.So: unctrl.h -comp_error.o: curses.h -comp_error.o: ncurses_def.h -comp_error.o: ncurses_dll.h -comp_error.o: term.h -comp_error.o: unctrl.h -comp_error.po: curses.h -comp_error.po: ncurses_def.h -comp_error.po: ncurses_dll.h -comp_error.po: term.h -comp_error.po: unctrl.h -comp_expand.So: curses.h -comp_expand.So: ncurses_def.h -comp_expand.So: ncurses_dll.h -comp_expand.So: term.h -comp_expand.So: unctrl.h -comp_expand.o: curses.h -comp_expand.o: ncurses_def.h -comp_expand.o: ncurses_dll.h -comp_expand.o: term.h -comp_expand.o: unctrl.h -comp_expand.po: curses.h -comp_expand.po: ncurses_def.h -comp_expand.po: ncurses_dll.h -comp_expand.po: term.h -comp_expand.po: unctrl.h -comp_hash.So: curses.h -comp_hash.So: hashsize.h -comp_hash.So: ncurses_def.h -comp_hash.So: ncurses_dll.h -comp_hash.So: term.h -comp_hash.So: unctrl.h -comp_hash.o: curses.h -comp_hash.o: hashsize.h -comp_hash.o: ncurses_def.h -comp_hash.o: ncurses_dll.h -comp_hash.o: term.h -comp_hash.o: unctrl.h -comp_hash.po: curses.h -comp_hash.po: hashsize.h -comp_hash.po: ncurses_def.h -comp_hash.po: ncurses_dll.h -comp_hash.po: term.h -comp_hash.po: unctrl.h -comp_parse.So: curses.h -comp_parse.So: ncurses_def.h -comp_parse.So: ncurses_dll.h -comp_parse.So: term.h -comp_parse.So: unctrl.h -comp_parse.o: curses.h -comp_parse.o: ncurses_def.h -comp_parse.o: ncurses_dll.h -comp_parse.o: term.h -comp_parse.o: unctrl.h -comp_parse.po: curses.h -comp_parse.po: ncurses_def.h -comp_parse.po: ncurses_dll.h -comp_parse.po: term.h -comp_parse.po: unctrl.h -comp_scan.So: curses.h -comp_scan.So: ncurses_def.h -comp_scan.So: ncurses_dll.h -comp_scan.So: term.h -comp_scan.So: unctrl.h -comp_scan.o: curses.h -comp_scan.o: ncurses_def.h -comp_scan.o: ncurses_dll.h -comp_scan.o: term.h -comp_scan.o: unctrl.h -comp_scan.po: curses.h -comp_scan.po: ncurses_def.h -comp_scan.po: ncurses_dll.h -comp_scan.po: term.h -comp_scan.po: unctrl.h -db_iterator.So: curses.h -db_iterator.So: ncurses_def.h -db_iterator.So: ncurses_dll.h -db_iterator.So: term.h -db_iterator.So: unctrl.h -db_iterator.o: curses.h -db_iterator.o: ncurses_def.h -db_iterator.o: ncurses_dll.h -db_iterator.o: term.h -db_iterator.o: unctrl.h -db_iterator.po: curses.h -db_iterator.po: ncurses_def.h -db_iterator.po: ncurses_dll.h -db_iterator.po: term.h -db_iterator.po: unctrl.h -define_key.So: curses.h -define_key.So: ncurses_def.h -define_key.So: ncurses_dll.h -define_key.So: term.h -define_key.So: unctrl.h -define_key.o: curses.h -define_key.o: ncurses_def.h -define_key.o: ncurses_dll.h -define_key.o: term.h -define_key.o: unctrl.h -define_key.po: curses.h -define_key.po: ncurses_def.h -define_key.po: ncurses_dll.h -define_key.po: term.h -define_key.po: unctrl.h -doalloc.So: curses.h -doalloc.So: ncurses_def.h -doalloc.So: ncurses_dll.h -doalloc.So: term.h -doalloc.So: unctrl.h -doalloc.o: curses.h -doalloc.o: ncurses_def.h -doalloc.o: ncurses_dll.h -doalloc.o: term.h -doalloc.o: unctrl.h -doalloc.po: curses.h -doalloc.po: ncurses_def.h -doalloc.po: ncurses_dll.h -doalloc.po: term.h -doalloc.po: unctrl.h -entries.So: curses.h -entries.So: ncurses_def.h -entries.So: ncurses_dll.h -entries.So: term.h -entries.So: unctrl.h -entries.o: curses.h -entries.o: ncurses_def.h -entries.o: ncurses_dll.h -entries.o: term.h -entries.o: unctrl.h -entries.po: curses.h -entries.po: ncurses_def.h -entries.po: ncurses_dll.h -entries.po: term.h -entries.po: unctrl.h -expanded.So: curses.h -expanded.So: expanded.c -expanded.So: ncurses_def.h -expanded.So: ncurses_dll.h -expanded.So: term.h -expanded.So: unctrl.h -expanded.o: curses.h -expanded.o: expanded.c -expanded.o: ncurses_def.h -expanded.o: ncurses_dll.h -expanded.o: term.h -expanded.o: unctrl.h -expanded.po: curses.h -expanded.po: expanded.c -expanded.po: ncurses_def.h -expanded.po: ncurses_dll.h -expanded.po: term.h -expanded.po: unctrl.h -fallback.So: curses.h -fallback.So: fallback.c -fallback.So: ncurses_def.h -fallback.So: ncurses_dll.h -fallback.So: term.h -fallback.So: unctrl.h -fallback.o: curses.h -fallback.o: fallback.c -fallback.o: ncurses_def.h -fallback.o: ncurses_dll.h -fallback.o: term.h -fallback.o: unctrl.h -fallback.po: curses.h -fallback.po: fallback.c -fallback.po: ncurses_def.h -fallback.po: ncurses_dll.h -fallback.po: term.h -fallback.po: unctrl.h -free_ttype.So: curses.h -free_ttype.So: ncurses_def.h -free_ttype.So: ncurses_dll.h -free_ttype.So: term.h -free_ttype.So: unctrl.h -free_ttype.o: curses.h -free_ttype.o: ncurses_def.h -free_ttype.o: ncurses_dll.h -free_ttype.o: term.h -free_ttype.o: unctrl.h -free_ttype.po: curses.h -free_ttype.po: ncurses_def.h -free_ttype.po: ncurses_dll.h -free_ttype.po: term.h -free_ttype.po: unctrl.h -getenv_num.So: curses.h -getenv_num.So: ncurses_def.h -getenv_num.So: ncurses_dll.h -getenv_num.So: term.h -getenv_num.So: unctrl.h -getenv_num.o: curses.h -getenv_num.o: ncurses_def.h -getenv_num.o: ncurses_dll.h -getenv_num.o: term.h -getenv_num.o: unctrl.h -getenv_num.po: curses.h -getenv_num.po: ncurses_def.h -getenv_num.po: ncurses_dll.h -getenv_num.po: term.h -getenv_num.po: unctrl.h -hardscroll.So: curses.h -hardscroll.So: ncurses_def.h -hardscroll.So: ncurses_dll.h -hardscroll.So: term.h -hardscroll.So: unctrl.h -hardscroll.o: curses.h -hardscroll.o: ncurses_def.h -hardscroll.o: ncurses_dll.h -hardscroll.o: term.h -hardscroll.o: unctrl.h -hardscroll.po: curses.h -hardscroll.po: ncurses_def.h -hardscroll.po: ncurses_dll.h -hardscroll.po: term.h -hardscroll.po: unctrl.h -hashed_db.So: curses.h -hashed_db.So: ncurses_def.h -hashed_db.So: ncurses_dll.h -hashed_db.So: term.h -hashed_db.So: unctrl.h -hashed_db.o: curses.h -hashed_db.o: ncurses_def.h -hashed_db.o: ncurses_dll.h -hashed_db.o: term.h -hashed_db.o: unctrl.h -hashed_db.po: curses.h -hashed_db.po: ncurses_def.h -hashed_db.po: ncurses_dll.h -hashed_db.po: term.h -hashed_db.po: unctrl.h -hashmap.So: curses.h -hashmap.So: ncurses_def.h -hashmap.So: ncurses_dll.h -hashmap.So: term.h -hashmap.So: unctrl.h -hashmap.o: curses.h -hashmap.o: ncurses_def.h -hashmap.o: ncurses_dll.h -hashmap.o: term.h -hashmap.o: unctrl.h -hashmap.po: curses.h -hashmap.po: ncurses_def.h -hashmap.po: ncurses_dll.h -hashmap.po: term.h -hashmap.po: unctrl.h -home_terminfo.So: curses.h -home_terminfo.So: ncurses_def.h -home_terminfo.So: ncurses_dll.h -home_terminfo.So: term.h -home_terminfo.So: unctrl.h -home_terminfo.o: curses.h -home_terminfo.o: ncurses_def.h -home_terminfo.o: ncurses_dll.h -home_terminfo.o: term.h -home_terminfo.o: unctrl.h -home_terminfo.po: curses.h -home_terminfo.po: ncurses_def.h -home_terminfo.po: ncurses_dll.h -home_terminfo.po: term.h -home_terminfo.po: unctrl.h -init_keytry.So: curses.h -init_keytry.So: init_keytry.h -init_keytry.So: ncurses_def.h -init_keytry.So: ncurses_dll.h -init_keytry.So: term.h -init_keytry.So: unctrl.h -init_keytry.o: curses.h -init_keytry.o: init_keytry.h -init_keytry.o: ncurses_def.h -init_keytry.o: ncurses_dll.h -init_keytry.o: term.h -init_keytry.o: unctrl.h -init_keytry.po: curses.h -init_keytry.po: init_keytry.h -init_keytry.po: ncurses_def.h -init_keytry.po: ncurses_dll.h -init_keytry.po: term.h -init_keytry.po: unctrl.h -key_defined.So: curses.h -key_defined.So: ncurses_def.h -key_defined.So: ncurses_dll.h -key_defined.So: term.h -key_defined.So: unctrl.h -key_defined.o: curses.h -key_defined.o: ncurses_def.h -key_defined.o: ncurses_dll.h -key_defined.o: term.h -key_defined.o: unctrl.h -key_defined.po: curses.h -key_defined.po: ncurses_def.h -key_defined.po: ncurses_dll.h -key_defined.po: term.h -key_defined.po: unctrl.h -keybound.So: curses.h -keybound.So: ncurses_def.h -keybound.So: ncurses_dll.h -keybound.So: term.h -keybound.So: unctrl.h -keybound.o: curses.h -keybound.o: ncurses_def.h -keybound.o: ncurses_dll.h -keybound.o: term.h -keybound.o: unctrl.h -keybound.po: curses.h -keybound.po: ncurses_def.h -keybound.po: ncurses_dll.h -keybound.po: term.h -keybound.po: unctrl.h -keyok.So: curses.h -keyok.So: ncurses_def.h -keyok.So: ncurses_dll.h -keyok.So: term.h -keyok.So: unctrl.h -keyok.o: curses.h -keyok.o: ncurses_def.h -keyok.o: ncurses_dll.h -keyok.o: term.h -keyok.o: unctrl.h -keyok.po: curses.h -keyok.po: ncurses_def.h -keyok.po: ncurses_dll.h -keyok.po: term.h -keyok.po: unctrl.h -legacy_coding.So: curses.h -legacy_coding.So: ncurses_def.h -legacy_coding.So: ncurses_dll.h -legacy_coding.So: term.h -legacy_coding.So: unctrl.h -legacy_coding.o: curses.h -legacy_coding.o: ncurses_def.h -legacy_coding.o: ncurses_dll.h -legacy_coding.o: term.h -legacy_coding.o: unctrl.h -legacy_coding.po: curses.h -legacy_coding.po: ncurses_def.h -legacy_coding.po: ncurses_dll.h -legacy_coding.po: term.h -legacy_coding.po: unctrl.h -lib_acs.So: curses.h -lib_acs.So: ncurses_def.h -lib_acs.So: ncurses_dll.h -lib_acs.So: term.h -lib_acs.So: unctrl.h -lib_acs.o: curses.h -lib_acs.o: ncurses_def.h -lib_acs.o: ncurses_dll.h -lib_acs.o: term.h -lib_acs.o: unctrl.h -lib_acs.po: curses.h -lib_acs.po: ncurses_def.h -lib_acs.po: ncurses_dll.h -lib_acs.po: term.h -lib_acs.po: unctrl.h -lib_add_wch.So: curses.h -lib_add_wch.So: ncurses_def.h -lib_add_wch.So: ncurses_dll.h -lib_add_wch.So: term.h -lib_add_wch.So: unctrl.h -lib_add_wch.o: curses.h -lib_add_wch.o: ncurses_def.h -lib_add_wch.o: ncurses_dll.h -lib_add_wch.o: term.h -lib_add_wch.o: unctrl.h -lib_add_wch.po: curses.h -lib_add_wch.po: ncurses_def.h -lib_add_wch.po: ncurses_dll.h -lib_add_wch.po: term.h -lib_add_wch.po: unctrl.h -lib_addch.So: curses.h -lib_addch.So: ncurses_def.h -lib_addch.So: ncurses_dll.h -lib_addch.So: term.h -lib_addch.So: unctrl.h -lib_addch.o: curses.h -lib_addch.o: ncurses_def.h -lib_addch.o: ncurses_dll.h -lib_addch.o: term.h -lib_addch.o: unctrl.h -lib_addch.po: curses.h -lib_addch.po: ncurses_def.h -lib_addch.po: ncurses_dll.h -lib_addch.po: term.h -lib_addch.po: unctrl.h -lib_addstr.So: curses.h -lib_addstr.So: ncurses_def.h -lib_addstr.So: ncurses_dll.h -lib_addstr.So: term.h -lib_addstr.So: unctrl.h -lib_addstr.o: curses.h -lib_addstr.o: ncurses_def.h -lib_addstr.o: ncurses_dll.h -lib_addstr.o: term.h -lib_addstr.o: unctrl.h -lib_addstr.po: curses.h -lib_addstr.po: ncurses_def.h -lib_addstr.po: ncurses_dll.h -lib_addstr.po: term.h -lib_addstr.po: unctrl.h -lib_baudrate.So: curses.h -lib_baudrate.So: ncurses_def.h -lib_baudrate.So: ncurses_dll.h -lib_baudrate.So: term.h -lib_baudrate.So: termcap.h -lib_baudrate.So: unctrl.h -lib_baudrate.o: curses.h -lib_baudrate.o: ncurses_def.h -lib_baudrate.o: ncurses_dll.h -lib_baudrate.o: term.h -lib_baudrate.o: termcap.h -lib_baudrate.o: unctrl.h -lib_baudrate.po: curses.h -lib_baudrate.po: ncurses_def.h -lib_baudrate.po: ncurses_dll.h -lib_baudrate.po: term.h -lib_baudrate.po: termcap.h -lib_baudrate.po: unctrl.h -lib_beep.So: curses.h -lib_beep.So: ncurses_def.h -lib_beep.So: ncurses_dll.h -lib_beep.So: term.h -lib_beep.So: unctrl.h -lib_beep.o: curses.h -lib_beep.o: ncurses_def.h -lib_beep.o: ncurses_dll.h -lib_beep.o: term.h -lib_beep.o: unctrl.h -lib_beep.po: curses.h -lib_beep.po: ncurses_def.h -lib_beep.po: ncurses_dll.h -lib_beep.po: term.h -lib_beep.po: unctrl.h -lib_bkgd.So: curses.h -lib_bkgd.So: ncurses_def.h -lib_bkgd.So: ncurses_dll.h -lib_bkgd.So: term.h -lib_bkgd.So: unctrl.h -lib_bkgd.o: curses.h -lib_bkgd.o: ncurses_def.h -lib_bkgd.o: ncurses_dll.h -lib_bkgd.o: term.h -lib_bkgd.o: unctrl.h -lib_bkgd.po: curses.h -lib_bkgd.po: ncurses_def.h -lib_bkgd.po: ncurses_dll.h -lib_bkgd.po: term.h -lib_bkgd.po: unctrl.h -lib_box.So: curses.h -lib_box.So: ncurses_def.h -lib_box.So: ncurses_dll.h -lib_box.So: term.h -lib_box.So: unctrl.h -lib_box.o: curses.h -lib_box.o: ncurses_def.h -lib_box.o: ncurses_dll.h -lib_box.o: term.h -lib_box.o: unctrl.h -lib_box.po: curses.h -lib_box.po: ncurses_def.h -lib_box.po: ncurses_dll.h -lib_box.po: term.h -lib_box.po: unctrl.h -lib_box_set.So: curses.h -lib_box_set.So: ncurses_def.h -lib_box_set.So: ncurses_dll.h -lib_box_set.So: term.h -lib_box_set.So: unctrl.h -lib_box_set.o: curses.h -lib_box_set.o: ncurses_def.h -lib_box_set.o: ncurses_dll.h -lib_box_set.o: term.h -lib_box_set.o: unctrl.h -lib_box_set.po: curses.h -lib_box_set.po: ncurses_def.h -lib_box_set.po: ncurses_dll.h -lib_box_set.po: term.h -lib_box_set.po: unctrl.h -lib_cchar.So: curses.h -lib_cchar.So: ncurses_def.h -lib_cchar.So: ncurses_dll.h -lib_cchar.So: term.h -lib_cchar.So: unctrl.h -lib_cchar.o: curses.h -lib_cchar.o: ncurses_def.h -lib_cchar.o: ncurses_dll.h -lib_cchar.o: term.h -lib_cchar.o: unctrl.h -lib_cchar.po: curses.h -lib_cchar.po: ncurses_def.h -lib_cchar.po: ncurses_dll.h -lib_cchar.po: term.h -lib_cchar.po: unctrl.h -lib_chgat.So: curses.h -lib_chgat.So: ncurses_def.h -lib_chgat.So: ncurses_dll.h -lib_chgat.So: term.h -lib_chgat.So: unctrl.h -lib_chgat.o: curses.h -lib_chgat.o: ncurses_def.h -lib_chgat.o: ncurses_dll.h -lib_chgat.o: term.h -lib_chgat.o: unctrl.h -lib_chgat.po: curses.h -lib_chgat.po: ncurses_def.h -lib_chgat.po: ncurses_dll.h -lib_chgat.po: term.h -lib_chgat.po: unctrl.h -lib_clear.So: curses.h -lib_clear.So: ncurses_def.h -lib_clear.So: ncurses_dll.h -lib_clear.So: term.h -lib_clear.So: unctrl.h -lib_clear.o: curses.h -lib_clear.o: ncurses_def.h -lib_clear.o: ncurses_dll.h -lib_clear.o: term.h -lib_clear.o: unctrl.h -lib_clear.po: curses.h -lib_clear.po: ncurses_def.h -lib_clear.po: ncurses_dll.h -lib_clear.po: term.h -lib_clear.po: unctrl.h -lib_clearok.So: curses.h -lib_clearok.So: ncurses_def.h -lib_clearok.So: ncurses_dll.h -lib_clearok.So: term.h -lib_clearok.So: unctrl.h -lib_clearok.o: curses.h -lib_clearok.o: ncurses_def.h -lib_clearok.o: ncurses_dll.h -lib_clearok.o: term.h -lib_clearok.o: unctrl.h -lib_clearok.po: curses.h -lib_clearok.po: ncurses_def.h -lib_clearok.po: ncurses_dll.h -lib_clearok.po: term.h -lib_clearok.po: unctrl.h -lib_clrbot.So: curses.h -lib_clrbot.So: ncurses_def.h -lib_clrbot.So: ncurses_dll.h -lib_clrbot.So: term.h -lib_clrbot.So: unctrl.h -lib_clrbot.o: curses.h -lib_clrbot.o: ncurses_def.h -lib_clrbot.o: ncurses_dll.h -lib_clrbot.o: term.h -lib_clrbot.o: unctrl.h -lib_clrbot.po: curses.h -lib_clrbot.po: ncurses_def.h -lib_clrbot.po: ncurses_dll.h -lib_clrbot.po: term.h -lib_clrbot.po: unctrl.h -lib_clreol.So: curses.h -lib_clreol.So: ncurses_def.h -lib_clreol.So: ncurses_dll.h -lib_clreol.So: term.h -lib_clreol.So: unctrl.h -lib_clreol.o: curses.h -lib_clreol.o: ncurses_def.h -lib_clreol.o: ncurses_dll.h -lib_clreol.o: term.h -lib_clreol.o: unctrl.h -lib_clreol.po: curses.h -lib_clreol.po: ncurses_def.h -lib_clreol.po: ncurses_dll.h -lib_clreol.po: term.h -lib_clreol.po: unctrl.h -lib_color.So: curses.h -lib_color.So: ncurses_def.h -lib_color.So: ncurses_dll.h -lib_color.So: term.h -lib_color.So: unctrl.h -lib_color.o: curses.h -lib_color.o: ncurses_def.h -lib_color.o: ncurses_dll.h -lib_color.o: term.h -lib_color.o: unctrl.h -lib_color.po: curses.h -lib_color.po: ncurses_def.h -lib_color.po: ncurses_dll.h -lib_color.po: term.h -lib_color.po: unctrl.h -lib_colorset.So: curses.h -lib_colorset.So: ncurses_def.h -lib_colorset.So: ncurses_dll.h -lib_colorset.So: term.h -lib_colorset.So: unctrl.h -lib_colorset.o: curses.h -lib_colorset.o: ncurses_def.h -lib_colorset.o: ncurses_dll.h -lib_colorset.o: term.h -lib_colorset.o: unctrl.h -lib_colorset.po: curses.h -lib_colorset.po: ncurses_def.h -lib_colorset.po: ncurses_dll.h -lib_colorset.po: term.h -lib_colorset.po: unctrl.h -lib_cur_term.So: curses.h -lib_cur_term.So: ncurses_def.h -lib_cur_term.So: ncurses_dll.h -lib_cur_term.So: term.h -lib_cur_term.So: termcap.h -lib_cur_term.So: unctrl.h -lib_cur_term.o: curses.h -lib_cur_term.o: ncurses_def.h -lib_cur_term.o: ncurses_dll.h -lib_cur_term.o: term.h -lib_cur_term.o: termcap.h -lib_cur_term.o: unctrl.h -lib_cur_term.po: curses.h -lib_cur_term.po: ncurses_def.h -lib_cur_term.po: ncurses_dll.h -lib_cur_term.po: term.h -lib_cur_term.po: termcap.h -lib_cur_term.po: unctrl.h -lib_data.So: curses.h -lib_data.So: ncurses_def.h -lib_data.So: ncurses_dll.h -lib_data.So: term.h -lib_data.So: unctrl.h -lib_data.o: curses.h -lib_data.o: ncurses_def.h -lib_data.o: ncurses_dll.h -lib_data.o: term.h -lib_data.o: unctrl.h -lib_data.po: curses.h -lib_data.po: ncurses_def.h -lib_data.po: ncurses_dll.h -lib_data.po: term.h -lib_data.po: unctrl.h -lib_delch.So: curses.h -lib_delch.So: ncurses_def.h -lib_delch.So: ncurses_dll.h -lib_delch.So: term.h -lib_delch.So: unctrl.h -lib_delch.o: curses.h -lib_delch.o: ncurses_def.h -lib_delch.o: ncurses_dll.h -lib_delch.o: term.h -lib_delch.o: unctrl.h -lib_delch.po: curses.h -lib_delch.po: ncurses_def.h -lib_delch.po: ncurses_dll.h -lib_delch.po: term.h -lib_delch.po: unctrl.h -lib_delwin.So: curses.h -lib_delwin.So: ncurses_def.h -lib_delwin.So: ncurses_dll.h -lib_delwin.So: term.h -lib_delwin.So: unctrl.h -lib_delwin.o: curses.h -lib_delwin.o: ncurses_def.h -lib_delwin.o: ncurses_dll.h -lib_delwin.o: term.h -lib_delwin.o: unctrl.h -lib_delwin.po: curses.h -lib_delwin.po: ncurses_def.h -lib_delwin.po: ncurses_dll.h -lib_delwin.po: term.h -lib_delwin.po: unctrl.h -lib_dft_fgbg.So: curses.h -lib_dft_fgbg.So: ncurses_def.h -lib_dft_fgbg.So: ncurses_dll.h -lib_dft_fgbg.So: term.h -lib_dft_fgbg.So: unctrl.h -lib_dft_fgbg.o: curses.h -lib_dft_fgbg.o: ncurses_def.h -lib_dft_fgbg.o: ncurses_dll.h -lib_dft_fgbg.o: term.h -lib_dft_fgbg.o: unctrl.h -lib_dft_fgbg.po: curses.h -lib_dft_fgbg.po: ncurses_def.h -lib_dft_fgbg.po: ncurses_dll.h -lib_dft_fgbg.po: term.h -lib_dft_fgbg.po: unctrl.h -lib_echo.So: curses.h -lib_echo.So: ncurses_def.h -lib_echo.So: ncurses_dll.h -lib_echo.So: term.h -lib_echo.So: unctrl.h -lib_echo.o: curses.h -lib_echo.o: ncurses_def.h -lib_echo.o: ncurses_dll.h -lib_echo.o: term.h -lib_echo.o: unctrl.h -lib_echo.po: curses.h -lib_echo.po: ncurses_def.h -lib_echo.po: ncurses_dll.h -lib_echo.po: term.h -lib_echo.po: unctrl.h -lib_endwin.So: curses.h -lib_endwin.So: ncurses_def.h -lib_endwin.So: ncurses_dll.h -lib_endwin.So: term.h -lib_endwin.So: unctrl.h -lib_endwin.o: curses.h -lib_endwin.o: ncurses_def.h -lib_endwin.o: ncurses_dll.h -lib_endwin.o: term.h -lib_endwin.o: unctrl.h -lib_endwin.po: curses.h -lib_endwin.po: ncurses_def.h -lib_endwin.po: ncurses_dll.h -lib_endwin.po: term.h -lib_endwin.po: unctrl.h -lib_erase.So: curses.h -lib_erase.So: ncurses_def.h -lib_erase.So: ncurses_dll.h -lib_erase.So: term.h -lib_erase.So: unctrl.h -lib_erase.o: curses.h -lib_erase.o: ncurses_def.h -lib_erase.o: ncurses_dll.h -lib_erase.o: term.h -lib_erase.o: unctrl.h -lib_erase.po: curses.h -lib_erase.po: ncurses_def.h -lib_erase.po: ncurses_dll.h -lib_erase.po: term.h -lib_erase.po: unctrl.h -lib_erasewchar.So: curses.h -lib_erasewchar.So: ncurses_def.h -lib_erasewchar.So: ncurses_dll.h -lib_erasewchar.So: term.h -lib_erasewchar.So: unctrl.h -lib_erasewchar.o: curses.h -lib_erasewchar.o: ncurses_def.h -lib_erasewchar.o: ncurses_dll.h -lib_erasewchar.o: term.h -lib_erasewchar.o: unctrl.h -lib_erasewchar.po: curses.h -lib_erasewchar.po: ncurses_def.h -lib_erasewchar.po: ncurses_dll.h -lib_erasewchar.po: term.h -lib_erasewchar.po: unctrl.h -lib_flash.So: curses.h -lib_flash.So: ncurses_def.h -lib_flash.So: ncurses_dll.h -lib_flash.So: term.h -lib_flash.So: unctrl.h -lib_flash.o: curses.h -lib_flash.o: ncurses_def.h -lib_flash.o: ncurses_dll.h -lib_flash.o: term.h -lib_flash.o: unctrl.h -lib_flash.po: curses.h -lib_flash.po: ncurses_def.h -lib_flash.po: ncurses_dll.h -lib_flash.po: term.h -lib_flash.po: unctrl.h -lib_freeall.So: curses.h -lib_freeall.So: ncurses_def.h -lib_freeall.So: ncurses_dll.h -lib_freeall.So: term.h -lib_freeall.So: unctrl.h -lib_freeall.o: curses.h -lib_freeall.o: ncurses_def.h -lib_freeall.o: ncurses_dll.h -lib_freeall.o: term.h -lib_freeall.o: unctrl.h -lib_freeall.po: curses.h -lib_freeall.po: ncurses_def.h -lib_freeall.po: ncurses_dll.h -lib_freeall.po: term.h -lib_freeall.po: unctrl.h -lib_gen.So: curses.h -lib_gen.So: lib_gen.c -lib_gen.So: ncurses_def.h -lib_gen.So: ncurses_dll.h -lib_gen.So: term.h -lib_gen.So: unctrl.h -lib_gen.o: curses.h -lib_gen.o: lib_gen.c -lib_gen.o: ncurses_def.h -lib_gen.o: ncurses_dll.h -lib_gen.o: term.h -lib_gen.o: unctrl.h -lib_gen.po: curses.h -lib_gen.po: lib_gen.c -lib_gen.po: ncurses_def.h -lib_gen.po: ncurses_dll.h -lib_gen.po: term.h -lib_gen.po: unctrl.h -lib_get_wch.So: curses.h -lib_get_wch.So: ncurses_def.h -lib_get_wch.So: ncurses_dll.h -lib_get_wch.So: term.h -lib_get_wch.So: unctrl.h -lib_get_wch.o: curses.h -lib_get_wch.o: ncurses_def.h -lib_get_wch.o: ncurses_dll.h -lib_get_wch.o: term.h -lib_get_wch.o: unctrl.h -lib_get_wch.po: curses.h -lib_get_wch.po: ncurses_def.h -lib_get_wch.po: ncurses_dll.h -lib_get_wch.po: term.h -lib_get_wch.po: unctrl.h -lib_get_wstr.So: curses.h -lib_get_wstr.So: ncurses_def.h -lib_get_wstr.So: ncurses_dll.h -lib_get_wstr.So: term.h -lib_get_wstr.So: unctrl.h -lib_get_wstr.o: curses.h -lib_get_wstr.o: ncurses_def.h -lib_get_wstr.o: ncurses_dll.h -lib_get_wstr.o: term.h -lib_get_wstr.o: unctrl.h -lib_get_wstr.po: curses.h -lib_get_wstr.po: ncurses_def.h -lib_get_wstr.po: ncurses_dll.h -lib_get_wstr.po: term.h -lib_get_wstr.po: unctrl.h -lib_getch.So: curses.h -lib_getch.So: ncurses_def.h -lib_getch.So: ncurses_dll.h -lib_getch.So: term.h -lib_getch.So: unctrl.h -lib_getch.o: curses.h -lib_getch.o: ncurses_def.h -lib_getch.o: ncurses_dll.h -lib_getch.o: term.h -lib_getch.o: unctrl.h -lib_getch.po: curses.h -lib_getch.po: ncurses_def.h -lib_getch.po: ncurses_dll.h -lib_getch.po: term.h -lib_getch.po: unctrl.h -lib_getstr.So: curses.h -lib_getstr.So: ncurses_def.h -lib_getstr.So: ncurses_dll.h -lib_getstr.So: term.h -lib_getstr.So: unctrl.h -lib_getstr.o: curses.h -lib_getstr.o: ncurses_def.h -lib_getstr.o: ncurses_dll.h -lib_getstr.o: term.h -lib_getstr.o: unctrl.h -lib_getstr.po: curses.h -lib_getstr.po: ncurses_def.h -lib_getstr.po: ncurses_dll.h -lib_getstr.po: term.h -lib_getstr.po: unctrl.h -lib_has_cap.So: curses.h -lib_has_cap.So: ncurses_def.h -lib_has_cap.So: ncurses_dll.h -lib_has_cap.So: term.h -lib_has_cap.So: unctrl.h -lib_has_cap.o: curses.h -lib_has_cap.o: ncurses_def.h -lib_has_cap.o: ncurses_dll.h -lib_has_cap.o: term.h -lib_has_cap.o: unctrl.h -lib_has_cap.po: curses.h -lib_has_cap.po: ncurses_def.h -lib_has_cap.po: ncurses_dll.h -lib_has_cap.po: term.h -lib_has_cap.po: unctrl.h -lib_hline.So: curses.h -lib_hline.So: ncurses_def.h -lib_hline.So: ncurses_dll.h -lib_hline.So: term.h -lib_hline.So: unctrl.h -lib_hline.o: curses.h -lib_hline.o: ncurses_def.h -lib_hline.o: ncurses_dll.h -lib_hline.o: term.h -lib_hline.o: unctrl.h -lib_hline.po: curses.h -lib_hline.po: ncurses_def.h -lib_hline.po: ncurses_dll.h -lib_hline.po: term.h -lib_hline.po: unctrl.h -lib_hline_set.So: curses.h -lib_hline_set.So: ncurses_def.h -lib_hline_set.So: ncurses_dll.h -lib_hline_set.So: term.h -lib_hline_set.So: unctrl.h -lib_hline_set.o: curses.h -lib_hline_set.o: ncurses_def.h -lib_hline_set.o: ncurses_dll.h -lib_hline_set.o: term.h -lib_hline_set.o: unctrl.h -lib_hline_set.po: curses.h -lib_hline_set.po: ncurses_def.h -lib_hline_set.po: ncurses_dll.h -lib_hline_set.po: term.h -lib_hline_set.po: unctrl.h -lib_immedok.So: curses.h -lib_immedok.So: ncurses_def.h -lib_immedok.So: ncurses_dll.h -lib_immedok.So: term.h -lib_immedok.So: unctrl.h -lib_immedok.o: curses.h -lib_immedok.o: ncurses_def.h -lib_immedok.o: ncurses_dll.h -lib_immedok.o: term.h -lib_immedok.o: unctrl.h -lib_immedok.po: curses.h -lib_immedok.po: ncurses_def.h -lib_immedok.po: ncurses_dll.h -lib_immedok.po: term.h -lib_immedok.po: unctrl.h -lib_in_wch.So: curses.h -lib_in_wch.So: ncurses_def.h -lib_in_wch.So: ncurses_dll.h -lib_in_wch.So: term.h -lib_in_wch.So: unctrl.h -lib_in_wch.o: curses.h -lib_in_wch.o: ncurses_def.h -lib_in_wch.o: ncurses_dll.h -lib_in_wch.o: term.h -lib_in_wch.o: unctrl.h -lib_in_wch.po: curses.h -lib_in_wch.po: ncurses_def.h -lib_in_wch.po: ncurses_dll.h -lib_in_wch.po: term.h -lib_in_wch.po: unctrl.h -lib_in_wchnstr.So: curses.h -lib_in_wchnstr.So: ncurses_def.h -lib_in_wchnstr.So: ncurses_dll.h -lib_in_wchnstr.So: term.h -lib_in_wchnstr.So: unctrl.h -lib_in_wchnstr.o: curses.h -lib_in_wchnstr.o: ncurses_def.h -lib_in_wchnstr.o: ncurses_dll.h -lib_in_wchnstr.o: term.h -lib_in_wchnstr.o: unctrl.h -lib_in_wchnstr.po: curses.h -lib_in_wchnstr.po: ncurses_def.h -lib_in_wchnstr.po: ncurses_dll.h -lib_in_wchnstr.po: term.h -lib_in_wchnstr.po: unctrl.h -lib_inchstr.So: curses.h -lib_inchstr.So: ncurses_def.h -lib_inchstr.So: ncurses_dll.h -lib_inchstr.So: term.h -lib_inchstr.So: unctrl.h -lib_inchstr.o: curses.h -lib_inchstr.o: ncurses_def.h -lib_inchstr.o: ncurses_dll.h -lib_inchstr.o: term.h -lib_inchstr.o: unctrl.h -lib_inchstr.po: curses.h -lib_inchstr.po: ncurses_def.h -lib_inchstr.po: ncurses_dll.h -lib_inchstr.po: term.h -lib_inchstr.po: unctrl.h -lib_initscr.So: curses.h -lib_initscr.So: ncurses_def.h -lib_initscr.So: ncurses_dll.h -lib_initscr.So: term.h -lib_initscr.So: unctrl.h -lib_initscr.o: curses.h -lib_initscr.o: ncurses_def.h -lib_initscr.o: ncurses_dll.h -lib_initscr.o: term.h -lib_initscr.o: unctrl.h -lib_initscr.po: curses.h -lib_initscr.po: ncurses_def.h -lib_initscr.po: ncurses_dll.h -lib_initscr.po: term.h -lib_initscr.po: unctrl.h -lib_ins_wch.So: curses.h -lib_ins_wch.So: ncurses_def.h -lib_ins_wch.So: ncurses_dll.h -lib_ins_wch.So: term.h -lib_ins_wch.So: unctrl.h -lib_ins_wch.o: curses.h -lib_ins_wch.o: ncurses_def.h -lib_ins_wch.o: ncurses_dll.h -lib_ins_wch.o: term.h -lib_ins_wch.o: unctrl.h -lib_ins_wch.po: curses.h -lib_ins_wch.po: ncurses_def.h -lib_ins_wch.po: ncurses_dll.h -lib_ins_wch.po: term.h -lib_ins_wch.po: unctrl.h -lib_insch.So: curses.h -lib_insch.So: ncurses_def.h -lib_insch.So: ncurses_dll.h -lib_insch.So: term.h -lib_insch.So: unctrl.h -lib_insch.o: curses.h -lib_insch.o: ncurses_def.h -lib_insch.o: ncurses_dll.h -lib_insch.o: term.h -lib_insch.o: unctrl.h -lib_insch.po: curses.h -lib_insch.po: ncurses_def.h -lib_insch.po: ncurses_dll.h -lib_insch.po: term.h -lib_insch.po: unctrl.h -lib_insdel.So: curses.h -lib_insdel.So: ncurses_def.h -lib_insdel.So: ncurses_dll.h -lib_insdel.So: term.h -lib_insdel.So: unctrl.h -lib_insdel.o: curses.h -lib_insdel.o: ncurses_def.h -lib_insdel.o: ncurses_dll.h -lib_insdel.o: term.h -lib_insdel.o: unctrl.h -lib_insdel.po: curses.h -lib_insdel.po: ncurses_def.h -lib_insdel.po: ncurses_dll.h -lib_insdel.po: term.h -lib_insdel.po: unctrl.h -lib_insnstr.So: curses.h -lib_insnstr.So: ncurses_def.h -lib_insnstr.So: ncurses_dll.h -lib_insnstr.So: term.h -lib_insnstr.So: unctrl.h -lib_insnstr.o: curses.h -lib_insnstr.o: ncurses_def.h -lib_insnstr.o: ncurses_dll.h -lib_insnstr.o: term.h -lib_insnstr.o: unctrl.h -lib_insnstr.po: curses.h -lib_insnstr.po: ncurses_def.h -lib_insnstr.po: ncurses_dll.h -lib_insnstr.po: term.h -lib_insnstr.po: unctrl.h -lib_instr.So: curses.h -lib_instr.So: ncurses_def.h -lib_instr.So: ncurses_dll.h -lib_instr.So: term.h -lib_instr.So: unctrl.h -lib_instr.o: curses.h -lib_instr.o: ncurses_def.h -lib_instr.o: ncurses_dll.h -lib_instr.o: term.h -lib_instr.o: unctrl.h -lib_instr.po: curses.h -lib_instr.po: ncurses_def.h -lib_instr.po: ncurses_dll.h -lib_instr.po: term.h -lib_instr.po: unctrl.h -lib_inwstr.So: curses.h -lib_inwstr.So: ncurses_def.h -lib_inwstr.So: ncurses_dll.h -lib_inwstr.So: term.h -lib_inwstr.So: unctrl.h -lib_inwstr.o: curses.h -lib_inwstr.o: ncurses_def.h -lib_inwstr.o: ncurses_dll.h -lib_inwstr.o: term.h -lib_inwstr.o: unctrl.h -lib_inwstr.po: curses.h -lib_inwstr.po: ncurses_def.h -lib_inwstr.po: ncurses_dll.h -lib_inwstr.po: term.h -lib_inwstr.po: unctrl.h -lib_isendwin.So: curses.h -lib_isendwin.So: ncurses_def.h -lib_isendwin.So: ncurses_dll.h -lib_isendwin.So: term.h -lib_isendwin.So: unctrl.h -lib_isendwin.o: curses.h -lib_isendwin.o: ncurses_def.h -lib_isendwin.o: ncurses_dll.h -lib_isendwin.o: term.h -lib_isendwin.o: unctrl.h -lib_isendwin.po: curses.h -lib_isendwin.po: ncurses_def.h -lib_isendwin.po: ncurses_dll.h -lib_isendwin.po: term.h -lib_isendwin.po: unctrl.h -lib_kernel.So: curses.h -lib_kernel.So: ncurses_def.h -lib_kernel.So: ncurses_dll.h -lib_kernel.So: term.h -lib_kernel.So: unctrl.h -lib_kernel.o: curses.h -lib_kernel.o: ncurses_def.h -lib_kernel.o: ncurses_dll.h -lib_kernel.o: term.h -lib_kernel.o: unctrl.h -lib_kernel.po: curses.h -lib_kernel.po: ncurses_def.h -lib_kernel.po: ncurses_dll.h -lib_kernel.po: term.h -lib_kernel.po: unctrl.h -lib_key_name.So: curses.h -lib_key_name.So: ncurses_def.h -lib_key_name.So: ncurses_dll.h -lib_key_name.So: term.h -lib_key_name.So: unctrl.h -lib_key_name.o: curses.h -lib_key_name.o: ncurses_def.h -lib_key_name.o: ncurses_dll.h -lib_key_name.o: term.h -lib_key_name.o: unctrl.h -lib_key_name.po: curses.h -lib_key_name.po: ncurses_def.h -lib_key_name.po: ncurses_dll.h -lib_key_name.po: term.h -lib_key_name.po: unctrl.h -lib_keyname.So: curses.h -lib_keyname.So: lib_keyname.c -lib_keyname.So: ncurses_def.h -lib_keyname.So: ncurses_dll.h -lib_keyname.So: term.h -lib_keyname.So: unctrl.h -lib_keyname.o: curses.h -lib_keyname.o: lib_keyname.c -lib_keyname.o: ncurses_def.h -lib_keyname.o: ncurses_dll.h -lib_keyname.o: term.h -lib_keyname.o: unctrl.h -lib_keyname.po: curses.h -lib_keyname.po: lib_keyname.c -lib_keyname.po: ncurses_def.h -lib_keyname.po: ncurses_dll.h -lib_keyname.po: term.h -lib_keyname.po: unctrl.h -lib_leaveok.So: curses.h -lib_leaveok.So: ncurses_def.h -lib_leaveok.So: ncurses_dll.h -lib_leaveok.So: term.h -lib_leaveok.So: unctrl.h -lib_leaveok.o: curses.h -lib_leaveok.o: ncurses_def.h -lib_leaveok.o: ncurses_dll.h -lib_leaveok.o: term.h -lib_leaveok.o: unctrl.h -lib_leaveok.po: curses.h -lib_leaveok.po: ncurses_def.h -lib_leaveok.po: ncurses_dll.h -lib_leaveok.po: term.h -lib_leaveok.po: unctrl.h -lib_longname.So: curses.h -lib_longname.So: ncurses_def.h -lib_longname.So: ncurses_dll.h -lib_longname.So: term.h -lib_longname.So: unctrl.h -lib_longname.o: curses.h -lib_longname.o: ncurses_def.h -lib_longname.o: ncurses_dll.h -lib_longname.o: term.h -lib_longname.o: unctrl.h -lib_longname.po: curses.h -lib_longname.po: ncurses_def.h -lib_longname.po: ncurses_dll.h -lib_longname.po: term.h -lib_longname.po: unctrl.h -lib_mouse.So: curses.h -lib_mouse.So: ncurses_def.h -lib_mouse.So: ncurses_dll.h -lib_mouse.So: term.h -lib_mouse.So: unctrl.h -lib_mouse.o: curses.h -lib_mouse.o: ncurses_def.h -lib_mouse.o: ncurses_dll.h -lib_mouse.o: term.h -lib_mouse.o: unctrl.h -lib_mouse.po: curses.h -lib_mouse.po: ncurses_def.h -lib_mouse.po: ncurses_dll.h -lib_mouse.po: term.h -lib_mouse.po: unctrl.h -lib_move.So: curses.h -lib_move.So: ncurses_def.h -lib_move.So: ncurses_dll.h -lib_move.So: term.h -lib_move.So: unctrl.h -lib_move.o: curses.h -lib_move.o: ncurses_def.h -lib_move.o: ncurses_dll.h -lib_move.o: term.h -lib_move.o: unctrl.h -lib_move.po: curses.h -lib_move.po: ncurses_def.h -lib_move.po: ncurses_dll.h -lib_move.po: term.h -lib_move.po: unctrl.h -lib_mvcur.So: curses.h -lib_mvcur.So: ncurses_def.h -lib_mvcur.So: ncurses_dll.h -lib_mvcur.So: term.h -lib_mvcur.So: unctrl.h -lib_mvcur.o: curses.h -lib_mvcur.o: ncurses_def.h -lib_mvcur.o: ncurses_dll.h -lib_mvcur.o: term.h -lib_mvcur.o: unctrl.h -lib_mvcur.po: curses.h -lib_mvcur.po: ncurses_def.h -lib_mvcur.po: ncurses_dll.h -lib_mvcur.po: term.h -lib_mvcur.po: unctrl.h -lib_mvwin.So: curses.h -lib_mvwin.So: ncurses_def.h -lib_mvwin.So: ncurses_dll.h -lib_mvwin.So: term.h -lib_mvwin.So: unctrl.h -lib_mvwin.o: curses.h -lib_mvwin.o: ncurses_def.h -lib_mvwin.o: ncurses_dll.h -lib_mvwin.o: term.h -lib_mvwin.o: unctrl.h -lib_mvwin.po: curses.h -lib_mvwin.po: ncurses_def.h -lib_mvwin.po: ncurses_dll.h -lib_mvwin.po: term.h -lib_mvwin.po: unctrl.h -lib_napms.So: curses.h -lib_napms.So: ncurses_def.h -lib_napms.So: ncurses_dll.h -lib_napms.So: term.h -lib_napms.So: unctrl.h -lib_napms.o: curses.h -lib_napms.o: ncurses_def.h -lib_napms.o: ncurses_dll.h -lib_napms.o: term.h -lib_napms.o: unctrl.h -lib_napms.po: curses.h -lib_napms.po: ncurses_def.h -lib_napms.po: ncurses_dll.h -lib_napms.po: term.h -lib_napms.po: unctrl.h -lib_newterm.So: curses.h -lib_newterm.So: ncurses_def.h -lib_newterm.So: ncurses_dll.h -lib_newterm.So: term.h -lib_newterm.So: unctrl.h -lib_newterm.o: curses.h -lib_newterm.o: ncurses_def.h -lib_newterm.o: ncurses_dll.h -lib_newterm.o: term.h -lib_newterm.o: unctrl.h -lib_newterm.po: curses.h -lib_newterm.po: ncurses_def.h -lib_newterm.po: ncurses_dll.h -lib_newterm.po: term.h -lib_newterm.po: unctrl.h -lib_newwin.So: curses.h -lib_newwin.So: ncurses_def.h -lib_newwin.So: ncurses_dll.h -lib_newwin.So: term.h -lib_newwin.So: unctrl.h -lib_newwin.o: curses.h -lib_newwin.o: ncurses_def.h -lib_newwin.o: ncurses_dll.h -lib_newwin.o: term.h -lib_newwin.o: unctrl.h -lib_newwin.po: curses.h -lib_newwin.po: ncurses_def.h -lib_newwin.po: ncurses_dll.h -lib_newwin.po: term.h -lib_newwin.po: unctrl.h -lib_nl.So: curses.h -lib_nl.So: ncurses_def.h -lib_nl.So: ncurses_dll.h -lib_nl.So: term.h -lib_nl.So: unctrl.h -lib_nl.o: curses.h -lib_nl.o: ncurses_def.h -lib_nl.o: ncurses_dll.h -lib_nl.o: term.h -lib_nl.o: unctrl.h -lib_nl.po: curses.h -lib_nl.po: ncurses_def.h -lib_nl.po: ncurses_dll.h -lib_nl.po: term.h -lib_nl.po: unctrl.h -lib_options.So: curses.h -lib_options.So: ncurses_def.h -lib_options.So: ncurses_dll.h -lib_options.So: term.h -lib_options.So: unctrl.h -lib_options.o: curses.h -lib_options.o: ncurses_def.h -lib_options.o: ncurses_dll.h -lib_options.o: term.h -lib_options.o: unctrl.h -lib_options.po: curses.h -lib_options.po: ncurses_def.h -lib_options.po: ncurses_dll.h -lib_options.po: term.h -lib_options.po: unctrl.h -lib_overlay.So: curses.h -lib_overlay.So: ncurses_def.h -lib_overlay.So: ncurses_dll.h -lib_overlay.So: term.h -lib_overlay.So: unctrl.h -lib_overlay.o: curses.h -lib_overlay.o: ncurses_def.h -lib_overlay.o: ncurses_dll.h -lib_overlay.o: term.h -lib_overlay.o: unctrl.h -lib_overlay.po: curses.h -lib_overlay.po: ncurses_def.h -lib_overlay.po: ncurses_dll.h -lib_overlay.po: term.h -lib_overlay.po: unctrl.h -lib_pad.So: curses.h -lib_pad.So: ncurses_def.h -lib_pad.So: ncurses_dll.h -lib_pad.So: term.h -lib_pad.So: unctrl.h -lib_pad.o: curses.h -lib_pad.o: ncurses_def.h -lib_pad.o: ncurses_dll.h -lib_pad.o: term.h -lib_pad.o: unctrl.h -lib_pad.po: curses.h -lib_pad.po: ncurses_def.h -lib_pad.po: ncurses_dll.h -lib_pad.po: term.h -lib_pad.po: unctrl.h -lib_pecho_wchar.So: curses.h -lib_pecho_wchar.So: ncurses_def.h -lib_pecho_wchar.So: ncurses_dll.h -lib_pecho_wchar.So: term.h -lib_pecho_wchar.So: unctrl.h -lib_pecho_wchar.o: curses.h -lib_pecho_wchar.o: ncurses_def.h -lib_pecho_wchar.o: ncurses_dll.h -lib_pecho_wchar.o: term.h -lib_pecho_wchar.o: unctrl.h -lib_pecho_wchar.po: curses.h -lib_pecho_wchar.po: ncurses_def.h -lib_pecho_wchar.po: ncurses_dll.h -lib_pecho_wchar.po: term.h -lib_pecho_wchar.po: unctrl.h -lib_print.So: curses.h -lib_print.So: ncurses_def.h -lib_print.So: ncurses_dll.h -lib_print.So: term.h -lib_print.So: unctrl.h -lib_print.o: curses.h -lib_print.o: ncurses_def.h -lib_print.o: ncurses_dll.h -lib_print.o: term.h -lib_print.o: unctrl.h -lib_print.po: curses.h -lib_print.po: ncurses_def.h -lib_print.po: ncurses_dll.h -lib_print.po: term.h -lib_print.po: unctrl.h -lib_printw.So: curses.h -lib_printw.So: ncurses_def.h -lib_printw.So: ncurses_dll.h -lib_printw.So: term.h -lib_printw.So: unctrl.h -lib_printw.o: curses.h -lib_printw.o: ncurses_def.h -lib_printw.o: ncurses_dll.h -lib_printw.o: term.h -lib_printw.o: unctrl.h -lib_printw.po: curses.h -lib_printw.po: ncurses_def.h -lib_printw.po: ncurses_dll.h -lib_printw.po: term.h -lib_printw.po: unctrl.h -lib_raw.So: curses.h -lib_raw.So: ncurses_def.h -lib_raw.So: ncurses_dll.h -lib_raw.So: term.h -lib_raw.So: unctrl.h -lib_raw.o: curses.h -lib_raw.o: ncurses_def.h -lib_raw.o: ncurses_dll.h -lib_raw.o: term.h -lib_raw.o: unctrl.h -lib_raw.po: curses.h -lib_raw.po: ncurses_def.h -lib_raw.po: ncurses_dll.h -lib_raw.po: term.h -lib_raw.po: unctrl.h -lib_redrawln.So: curses.h -lib_redrawln.So: ncurses_def.h -lib_redrawln.So: ncurses_dll.h -lib_redrawln.So: term.h -lib_redrawln.So: unctrl.h -lib_redrawln.o: curses.h -lib_redrawln.o: ncurses_def.h -lib_redrawln.o: ncurses_dll.h -lib_redrawln.o: term.h -lib_redrawln.o: unctrl.h -lib_redrawln.po: curses.h -lib_redrawln.po: ncurses_def.h -lib_redrawln.po: ncurses_dll.h -lib_redrawln.po: term.h -lib_redrawln.po: unctrl.h -lib_refresh.So: curses.h -lib_refresh.So: ncurses_def.h -lib_refresh.So: ncurses_dll.h -lib_refresh.So: term.h -lib_refresh.So: unctrl.h -lib_refresh.o: curses.h -lib_refresh.o: ncurses_def.h -lib_refresh.o: ncurses_dll.h -lib_refresh.o: term.h -lib_refresh.o: unctrl.h -lib_refresh.po: curses.h -lib_refresh.po: ncurses_def.h -lib_refresh.po: ncurses_dll.h -lib_refresh.po: term.h -lib_refresh.po: unctrl.h -lib_restart.So: curses.h -lib_restart.So: ncurses_def.h -lib_restart.So: ncurses_dll.h -lib_restart.So: term.h -lib_restart.So: unctrl.h -lib_restart.o: curses.h -lib_restart.o: ncurses_def.h -lib_restart.o: ncurses_dll.h -lib_restart.o: term.h -lib_restart.o: unctrl.h -lib_restart.po: curses.h -lib_restart.po: ncurses_def.h -lib_restart.po: ncurses_dll.h -lib_restart.po: term.h -lib_restart.po: unctrl.h -lib_scanw.So: curses.h -lib_scanw.So: ncurses_def.h -lib_scanw.So: ncurses_dll.h -lib_scanw.So: term.h -lib_scanw.So: unctrl.h -lib_scanw.o: curses.h -lib_scanw.o: ncurses_def.h -lib_scanw.o: ncurses_dll.h -lib_scanw.o: term.h -lib_scanw.o: unctrl.h -lib_scanw.po: curses.h -lib_scanw.po: ncurses_def.h -lib_scanw.po: ncurses_dll.h -lib_scanw.po: term.h -lib_scanw.po: unctrl.h -lib_screen.So: curses.h -lib_screen.So: ncurses_def.h -lib_screen.So: ncurses_dll.h -lib_screen.So: term.h -lib_screen.So: unctrl.h -lib_screen.o: curses.h -lib_screen.o: ncurses_def.h -lib_screen.o: ncurses_dll.h -lib_screen.o: term.h -lib_screen.o: unctrl.h -lib_screen.po: curses.h -lib_screen.po: ncurses_def.h -lib_screen.po: ncurses_dll.h -lib_screen.po: term.h -lib_screen.po: unctrl.h -lib_scroll.So: curses.h -lib_scroll.So: ncurses_def.h -lib_scroll.So: ncurses_dll.h -lib_scroll.So: term.h -lib_scroll.So: unctrl.h -lib_scroll.o: curses.h -lib_scroll.o: ncurses_def.h -lib_scroll.o: ncurses_dll.h -lib_scroll.o: term.h -lib_scroll.o: unctrl.h -lib_scroll.po: curses.h -lib_scroll.po: ncurses_def.h -lib_scroll.po: ncurses_dll.h -lib_scroll.po: term.h -lib_scroll.po: unctrl.h -lib_scrollok.So: curses.h -lib_scrollok.So: ncurses_def.h -lib_scrollok.So: ncurses_dll.h -lib_scrollok.So: term.h -lib_scrollok.So: unctrl.h -lib_scrollok.o: curses.h -lib_scrollok.o: ncurses_def.h -lib_scrollok.o: ncurses_dll.h -lib_scrollok.o: term.h -lib_scrollok.o: unctrl.h -lib_scrollok.po: curses.h -lib_scrollok.po: ncurses_def.h -lib_scrollok.po: ncurses_dll.h -lib_scrollok.po: term.h -lib_scrollok.po: unctrl.h -lib_scrreg.So: curses.h -lib_scrreg.So: ncurses_def.h -lib_scrreg.So: ncurses_dll.h -lib_scrreg.So: term.h -lib_scrreg.So: unctrl.h -lib_scrreg.o: curses.h -lib_scrreg.o: ncurses_def.h -lib_scrreg.o: ncurses_dll.h -lib_scrreg.o: term.h -lib_scrreg.o: unctrl.h -lib_scrreg.po: curses.h -lib_scrreg.po: ncurses_def.h -lib_scrreg.po: ncurses_dll.h -lib_scrreg.po: term.h -lib_scrreg.po: unctrl.h -lib_set_term.So: curses.h -lib_set_term.So: ncurses_def.h -lib_set_term.So: ncurses_dll.h -lib_set_term.So: term.h -lib_set_term.So: unctrl.h -lib_set_term.o: curses.h -lib_set_term.o: ncurses_def.h -lib_set_term.o: ncurses_dll.h -lib_set_term.o: term.h -lib_set_term.o: unctrl.h -lib_set_term.po: curses.h -lib_set_term.po: ncurses_def.h -lib_set_term.po: ncurses_dll.h -lib_set_term.po: term.h -lib_set_term.po: unctrl.h -lib_setup.So: curses.h -lib_setup.So: ncurses_def.h -lib_setup.So: ncurses_dll.h -lib_setup.So: term.h -lib_setup.So: unctrl.h -lib_setup.o: curses.h -lib_setup.o: ncurses_def.h -lib_setup.o: ncurses_dll.h -lib_setup.o: term.h -lib_setup.o: unctrl.h -lib_setup.po: curses.h -lib_setup.po: ncurses_def.h -lib_setup.po: ncurses_dll.h -lib_setup.po: term.h -lib_setup.po: unctrl.h -lib_slk.So: curses.h -lib_slk.So: ncurses_def.h -lib_slk.So: ncurses_dll.h -lib_slk.So: term.h -lib_slk.So: unctrl.h -lib_slk.o: curses.h -lib_slk.o: ncurses_def.h -lib_slk.o: ncurses_dll.h -lib_slk.o: term.h -lib_slk.o: unctrl.h -lib_slk.po: curses.h -lib_slk.po: ncurses_def.h -lib_slk.po: ncurses_dll.h -lib_slk.po: term.h -lib_slk.po: unctrl.h -lib_slk_wset.So: curses.h -lib_slk_wset.So: ncurses_def.h -lib_slk_wset.So: ncurses_dll.h -lib_slk_wset.So: term.h -lib_slk_wset.So: unctrl.h -lib_slk_wset.o: curses.h -lib_slk_wset.o: ncurses_def.h -lib_slk_wset.o: ncurses_dll.h -lib_slk_wset.o: term.h -lib_slk_wset.o: unctrl.h -lib_slk_wset.po: curses.h -lib_slk_wset.po: ncurses_def.h -lib_slk_wset.po: ncurses_dll.h -lib_slk_wset.po: term.h -lib_slk_wset.po: unctrl.h -lib_slkatr_set.So: curses.h -lib_slkatr_set.So: ncurses_def.h -lib_slkatr_set.So: ncurses_dll.h -lib_slkatr_set.So: term.h -lib_slkatr_set.So: unctrl.h -lib_slkatr_set.o: curses.h -lib_slkatr_set.o: ncurses_def.h -lib_slkatr_set.o: ncurses_dll.h -lib_slkatr_set.o: term.h -lib_slkatr_set.o: unctrl.h -lib_slkatr_set.po: curses.h -lib_slkatr_set.po: ncurses_def.h -lib_slkatr_set.po: ncurses_dll.h -lib_slkatr_set.po: term.h -lib_slkatr_set.po: unctrl.h -lib_slkatrof.So: curses.h -lib_slkatrof.So: ncurses_def.h -lib_slkatrof.So: ncurses_dll.h -lib_slkatrof.So: term.h -lib_slkatrof.So: unctrl.h -lib_slkatrof.o: curses.h -lib_slkatrof.o: ncurses_def.h -lib_slkatrof.o: ncurses_dll.h -lib_slkatrof.o: term.h -lib_slkatrof.o: unctrl.h -lib_slkatrof.po: curses.h -lib_slkatrof.po: ncurses_def.h -lib_slkatrof.po: ncurses_dll.h -lib_slkatrof.po: term.h -lib_slkatrof.po: unctrl.h -lib_slkatron.So: curses.h -lib_slkatron.So: ncurses_def.h -lib_slkatron.So: ncurses_dll.h -lib_slkatron.So: term.h -lib_slkatron.So: unctrl.h -lib_slkatron.o: curses.h -lib_slkatron.o: ncurses_def.h -lib_slkatron.o: ncurses_dll.h -lib_slkatron.o: term.h -lib_slkatron.o: unctrl.h -lib_slkatron.po: curses.h -lib_slkatron.po: ncurses_def.h -lib_slkatron.po: ncurses_dll.h -lib_slkatron.po: term.h -lib_slkatron.po: unctrl.h -lib_slkatrset.So: curses.h -lib_slkatrset.So: ncurses_def.h -lib_slkatrset.So: ncurses_dll.h -lib_slkatrset.So: term.h -lib_slkatrset.So: unctrl.h -lib_slkatrset.o: curses.h -lib_slkatrset.o: ncurses_def.h -lib_slkatrset.o: ncurses_dll.h -lib_slkatrset.o: term.h -lib_slkatrset.o: unctrl.h -lib_slkatrset.po: curses.h -lib_slkatrset.po: ncurses_def.h -lib_slkatrset.po: ncurses_dll.h -lib_slkatrset.po: term.h -lib_slkatrset.po: unctrl.h -lib_slkattr.So: curses.h -lib_slkattr.So: ncurses_def.h -lib_slkattr.So: ncurses_dll.h -lib_slkattr.So: term.h -lib_slkattr.So: unctrl.h -lib_slkattr.o: curses.h -lib_slkattr.o: ncurses_def.h -lib_slkattr.o: ncurses_dll.h -lib_slkattr.o: term.h -lib_slkattr.o: unctrl.h -lib_slkattr.po: curses.h -lib_slkattr.po: ncurses_def.h -lib_slkattr.po: ncurses_dll.h -lib_slkattr.po: term.h -lib_slkattr.po: unctrl.h -lib_slkclear.So: curses.h -lib_slkclear.So: ncurses_def.h -lib_slkclear.So: ncurses_dll.h -lib_slkclear.So: term.h -lib_slkclear.So: unctrl.h -lib_slkclear.o: curses.h -lib_slkclear.o: ncurses_def.h -lib_slkclear.o: ncurses_dll.h -lib_slkclear.o: term.h -lib_slkclear.o: unctrl.h -lib_slkclear.po: curses.h -lib_slkclear.po: ncurses_def.h -lib_slkclear.po: ncurses_dll.h -lib_slkclear.po: term.h -lib_slkclear.po: unctrl.h -lib_slkcolor.So: curses.h -lib_slkcolor.So: ncurses_def.h -lib_slkcolor.So: ncurses_dll.h -lib_slkcolor.So: term.h -lib_slkcolor.So: unctrl.h -lib_slkcolor.o: curses.h -lib_slkcolor.o: ncurses_def.h -lib_slkcolor.o: ncurses_dll.h -lib_slkcolor.o: term.h -lib_slkcolor.o: unctrl.h -lib_slkcolor.po: curses.h -lib_slkcolor.po: ncurses_def.h -lib_slkcolor.po: ncurses_dll.h -lib_slkcolor.po: term.h -lib_slkcolor.po: unctrl.h -lib_slkinit.So: curses.h -lib_slkinit.So: ncurses_def.h -lib_slkinit.So: ncurses_dll.h -lib_slkinit.So: term.h -lib_slkinit.So: unctrl.h -lib_slkinit.o: curses.h -lib_slkinit.o: ncurses_def.h -lib_slkinit.o: ncurses_dll.h -lib_slkinit.o: term.h -lib_slkinit.o: unctrl.h -lib_slkinit.po: curses.h -lib_slkinit.po: ncurses_def.h -lib_slkinit.po: ncurses_dll.h -lib_slkinit.po: term.h -lib_slkinit.po: unctrl.h -lib_slklab.So: curses.h -lib_slklab.So: ncurses_def.h -lib_slklab.So: ncurses_dll.h -lib_slklab.So: term.h -lib_slklab.So: unctrl.h -lib_slklab.o: curses.h -lib_slklab.o: ncurses_def.h -lib_slklab.o: ncurses_dll.h -lib_slklab.o: term.h -lib_slklab.o: unctrl.h -lib_slklab.po: curses.h -lib_slklab.po: ncurses_def.h -lib_slklab.po: ncurses_dll.h -lib_slklab.po: term.h -lib_slklab.po: unctrl.h -lib_slkrefr.So: curses.h -lib_slkrefr.So: ncurses_def.h -lib_slkrefr.So: ncurses_dll.h -lib_slkrefr.So: term.h -lib_slkrefr.So: unctrl.h -lib_slkrefr.o: curses.h -lib_slkrefr.o: ncurses_def.h -lib_slkrefr.o: ncurses_dll.h -lib_slkrefr.o: term.h -lib_slkrefr.o: unctrl.h -lib_slkrefr.po: curses.h -lib_slkrefr.po: ncurses_def.h -lib_slkrefr.po: ncurses_dll.h -lib_slkrefr.po: term.h -lib_slkrefr.po: unctrl.h -lib_slkset.So: curses.h -lib_slkset.So: ncurses_def.h -lib_slkset.So: ncurses_dll.h -lib_slkset.So: term.h -lib_slkset.So: unctrl.h -lib_slkset.o: curses.h -lib_slkset.o: ncurses_def.h -lib_slkset.o: ncurses_dll.h -lib_slkset.o: term.h -lib_slkset.o: unctrl.h -lib_slkset.po: curses.h -lib_slkset.po: ncurses_def.h -lib_slkset.po: ncurses_dll.h -lib_slkset.po: term.h -lib_slkset.po: unctrl.h -lib_slktouch.So: curses.h -lib_slktouch.So: ncurses_def.h -lib_slktouch.So: ncurses_dll.h -lib_slktouch.So: term.h -lib_slktouch.So: unctrl.h -lib_slktouch.o: curses.h -lib_slktouch.o: ncurses_def.h -lib_slktouch.o: ncurses_dll.h -lib_slktouch.o: term.h -lib_slktouch.o: unctrl.h -lib_slktouch.po: curses.h -lib_slktouch.po: ncurses_def.h -lib_slktouch.po: ncurses_dll.h -lib_slktouch.po: term.h -lib_slktouch.po: unctrl.h -lib_termcap.So: curses.h -lib_termcap.So: ncurses_def.h -lib_termcap.So: ncurses_dll.h -lib_termcap.So: term.h -lib_termcap.So: termcap.h -lib_termcap.So: unctrl.h -lib_termcap.o: curses.h -lib_termcap.o: ncurses_def.h -lib_termcap.o: ncurses_dll.h -lib_termcap.o: term.h -lib_termcap.o: termcap.h -lib_termcap.o: unctrl.h -lib_termcap.po: curses.h -lib_termcap.po: ncurses_def.h -lib_termcap.po: ncurses_dll.h -lib_termcap.po: term.h -lib_termcap.po: termcap.h -lib_termcap.po: unctrl.h -lib_termname.So: curses.h -lib_termname.So: ncurses_def.h -lib_termname.So: ncurses_dll.h -lib_termname.So: term.h -lib_termname.So: unctrl.h -lib_termname.o: curses.h -lib_termname.o: ncurses_def.h -lib_termname.o: ncurses_dll.h -lib_termname.o: term.h -lib_termname.o: unctrl.h -lib_termname.po: curses.h -lib_termname.po: ncurses_def.h -lib_termname.po: ncurses_dll.h -lib_termname.po: term.h -lib_termname.po: unctrl.h -lib_tgoto.So: curses.h -lib_tgoto.So: ncurses_def.h -lib_tgoto.So: ncurses_dll.h -lib_tgoto.So: term.h -lib_tgoto.So: termcap.h -lib_tgoto.So: unctrl.h -lib_tgoto.o: curses.h -lib_tgoto.o: ncurses_def.h -lib_tgoto.o: ncurses_dll.h -lib_tgoto.o: term.h -lib_tgoto.o: termcap.h -lib_tgoto.o: unctrl.h -lib_tgoto.po: curses.h -lib_tgoto.po: ncurses_def.h -lib_tgoto.po: ncurses_dll.h -lib_tgoto.po: term.h -lib_tgoto.po: termcap.h -lib_tgoto.po: unctrl.h -lib_ti.So: curses.h -lib_ti.So: ncurses_def.h -lib_ti.So: ncurses_dll.h -lib_ti.So: term.h -lib_ti.So: unctrl.h -lib_ti.o: curses.h -lib_ti.o: ncurses_def.h -lib_ti.o: ncurses_dll.h -lib_ti.o: term.h -lib_ti.o: unctrl.h -lib_ti.po: curses.h -lib_ti.po: ncurses_def.h -lib_ti.po: ncurses_dll.h -lib_ti.po: term.h -lib_ti.po: unctrl.h -lib_touch.So: curses.h -lib_touch.So: ncurses_def.h -lib_touch.So: ncurses_dll.h -lib_touch.So: term.h -lib_touch.So: unctrl.h -lib_touch.o: curses.h -lib_touch.o: ncurses_def.h -lib_touch.o: ncurses_dll.h -lib_touch.o: term.h -lib_touch.o: unctrl.h -lib_touch.po: curses.h -lib_touch.po: ncurses_def.h -lib_touch.po: ncurses_dll.h -lib_touch.po: term.h -lib_touch.po: unctrl.h -lib_tparm.So: curses.h -lib_tparm.So: ncurses_def.h -lib_tparm.So: ncurses_dll.h -lib_tparm.So: term.h -lib_tparm.So: unctrl.h -lib_tparm.o: curses.h -lib_tparm.o: ncurses_def.h -lib_tparm.o: ncurses_dll.h -lib_tparm.o: term.h -lib_tparm.o: unctrl.h -lib_tparm.po: curses.h -lib_tparm.po: ncurses_def.h -lib_tparm.po: ncurses_dll.h -lib_tparm.po: term.h -lib_tparm.po: unctrl.h -lib_tputs.So: curses.h -lib_tputs.So: ncurses_def.h -lib_tputs.So: ncurses_dll.h -lib_tputs.So: term.h -lib_tputs.So: termcap.h -lib_tputs.So: unctrl.h -lib_tputs.o: curses.h -lib_tputs.o: ncurses_def.h -lib_tputs.o: ncurses_dll.h -lib_tputs.o: term.h -lib_tputs.o: termcap.h -lib_tputs.o: unctrl.h -lib_tputs.po: curses.h -lib_tputs.po: ncurses_def.h -lib_tputs.po: ncurses_dll.h -lib_tputs.po: term.h -lib_tputs.po: termcap.h -lib_tputs.po: unctrl.h -lib_trace.So: curses.h -lib_trace.So: ncurses_def.h -lib_trace.So: ncurses_dll.h -lib_trace.So: term.h -lib_trace.So: unctrl.h -lib_trace.o: curses.h -lib_trace.o: ncurses_def.h -lib_trace.o: ncurses_dll.h -lib_trace.o: term.h -lib_trace.o: unctrl.h -lib_trace.po: curses.h -lib_trace.po: ncurses_def.h -lib_trace.po: ncurses_dll.h -lib_trace.po: term.h -lib_trace.po: unctrl.h -lib_tstp.So: curses.h -lib_tstp.So: ncurses_def.h -lib_tstp.So: ncurses_dll.h -lib_tstp.So: term.h -lib_tstp.So: unctrl.h -lib_tstp.o: curses.h -lib_tstp.o: ncurses_def.h -lib_tstp.o: ncurses_dll.h -lib_tstp.o: term.h -lib_tstp.o: unctrl.h -lib_tstp.po: curses.h -lib_tstp.po: ncurses_def.h -lib_tstp.po: ncurses_dll.h -lib_tstp.po: term.h -lib_tstp.po: unctrl.h -lib_ttyflags.So: curses.h -lib_ttyflags.So: ncurses_def.h -lib_ttyflags.So: ncurses_dll.h -lib_ttyflags.So: term.h -lib_ttyflags.So: unctrl.h -lib_ttyflags.o: curses.h -lib_ttyflags.o: ncurses_def.h -lib_ttyflags.o: ncurses_dll.h -lib_ttyflags.o: term.h -lib_ttyflags.o: unctrl.h -lib_ttyflags.po: curses.h -lib_ttyflags.po: ncurses_def.h -lib_ttyflags.po: ncurses_dll.h -lib_ttyflags.po: term.h -lib_ttyflags.po: unctrl.h -lib_twait.So: curses.h -lib_twait.So: ncurses_def.h -lib_twait.So: ncurses_dll.h -lib_twait.So: term.h -lib_twait.So: unctrl.h -lib_twait.o: curses.h -lib_twait.o: ncurses_def.h -lib_twait.o: ncurses_dll.h -lib_twait.o: term.h -lib_twait.o: unctrl.h -lib_twait.po: curses.h -lib_twait.po: ncurses_def.h -lib_twait.po: ncurses_dll.h -lib_twait.po: term.h -lib_twait.po: unctrl.h -lib_unget_wch.So: curses.h -lib_unget_wch.So: ncurses_def.h -lib_unget_wch.So: ncurses_dll.h -lib_unget_wch.So: term.h -lib_unget_wch.So: unctrl.h -lib_unget_wch.o: curses.h -lib_unget_wch.o: ncurses_def.h -lib_unget_wch.o: ncurses_dll.h -lib_unget_wch.o: term.h -lib_unget_wch.o: unctrl.h -lib_unget_wch.po: curses.h -lib_unget_wch.po: ncurses_def.h -lib_unget_wch.po: ncurses_dll.h -lib_unget_wch.po: term.h -lib_unget_wch.po: unctrl.h -lib_ungetch.So: curses.h -lib_ungetch.So: ncurses_def.h -lib_ungetch.So: ncurses_dll.h -lib_ungetch.So: term.h -lib_ungetch.So: unctrl.h -lib_ungetch.o: curses.h -lib_ungetch.o: ncurses_def.h -lib_ungetch.o: ncurses_dll.h -lib_ungetch.o: term.h -lib_ungetch.o: unctrl.h -lib_ungetch.po: curses.h -lib_ungetch.po: ncurses_def.h -lib_ungetch.po: ncurses_dll.h -lib_ungetch.po: term.h -lib_ungetch.po: unctrl.h -lib_vid_attr.So: curses.h -lib_vid_attr.So: ncurses_def.h -lib_vid_attr.So: ncurses_dll.h -lib_vid_attr.So: term.h -lib_vid_attr.So: unctrl.h -lib_vid_attr.o: curses.h -lib_vid_attr.o: ncurses_def.h -lib_vid_attr.o: ncurses_dll.h -lib_vid_attr.o: term.h -lib_vid_attr.o: unctrl.h -lib_vid_attr.po: curses.h -lib_vid_attr.po: ncurses_def.h -lib_vid_attr.po: ncurses_dll.h -lib_vid_attr.po: term.h -lib_vid_attr.po: unctrl.h -lib_vidattr.So: curses.h -lib_vidattr.So: ncurses_def.h -lib_vidattr.So: ncurses_dll.h -lib_vidattr.So: term.h -lib_vidattr.So: unctrl.h -lib_vidattr.o: curses.h -lib_vidattr.o: ncurses_def.h -lib_vidattr.o: ncurses_dll.h -lib_vidattr.o: term.h -lib_vidattr.o: unctrl.h -lib_vidattr.po: curses.h -lib_vidattr.po: ncurses_def.h -lib_vidattr.po: ncurses_dll.h -lib_vidattr.po: term.h -lib_vidattr.po: unctrl.h -lib_vline.So: curses.h -lib_vline.So: ncurses_def.h -lib_vline.So: ncurses_dll.h -lib_vline.So: term.h -lib_vline.So: unctrl.h -lib_vline.o: curses.h -lib_vline.o: ncurses_def.h -lib_vline.o: ncurses_dll.h -lib_vline.o: term.h -lib_vline.o: unctrl.h -lib_vline.po: curses.h -lib_vline.po: ncurses_def.h -lib_vline.po: ncurses_dll.h -lib_vline.po: term.h -lib_vline.po: unctrl.h -lib_vline_set.So: curses.h -lib_vline_set.So: ncurses_def.h -lib_vline_set.So: ncurses_dll.h -lib_vline_set.So: term.h -lib_vline_set.So: unctrl.h -lib_vline_set.o: curses.h -lib_vline_set.o: ncurses_def.h -lib_vline_set.o: ncurses_dll.h -lib_vline_set.o: term.h -lib_vline_set.o: unctrl.h -lib_vline_set.po: curses.h -lib_vline_set.po: ncurses_def.h -lib_vline_set.po: ncurses_dll.h -lib_vline_set.po: term.h -lib_vline_set.po: unctrl.h -lib_wacs.So: curses.h -lib_wacs.So: ncurses_def.h -lib_wacs.So: ncurses_dll.h -lib_wacs.So: term.h -lib_wacs.So: unctrl.h -lib_wacs.o: curses.h -lib_wacs.o: ncurses_def.h -lib_wacs.o: ncurses_dll.h -lib_wacs.o: term.h -lib_wacs.o: unctrl.h -lib_wacs.po: curses.h -lib_wacs.po: ncurses_def.h -lib_wacs.po: ncurses_dll.h -lib_wacs.po: term.h -lib_wacs.po: unctrl.h -lib_wattroff.So: curses.h -lib_wattroff.So: ncurses_def.h -lib_wattroff.So: ncurses_dll.h -lib_wattroff.So: term.h -lib_wattroff.So: unctrl.h -lib_wattroff.o: curses.h -lib_wattroff.o: ncurses_def.h -lib_wattroff.o: ncurses_dll.h -lib_wattroff.o: term.h -lib_wattroff.o: unctrl.h -lib_wattroff.po: curses.h -lib_wattroff.po: ncurses_def.h -lib_wattroff.po: ncurses_dll.h -lib_wattroff.po: term.h -lib_wattroff.po: unctrl.h -lib_wattron.So: curses.h -lib_wattron.So: ncurses_def.h -lib_wattron.So: ncurses_dll.h -lib_wattron.So: term.h -lib_wattron.So: unctrl.h -lib_wattron.o: curses.h -lib_wattron.o: ncurses_def.h -lib_wattron.o: ncurses_dll.h -lib_wattron.o: term.h -lib_wattron.o: unctrl.h -lib_wattron.po: curses.h -lib_wattron.po: ncurses_def.h -lib_wattron.po: ncurses_dll.h -lib_wattron.po: term.h -lib_wattron.po: unctrl.h -lib_winch.So: curses.h -lib_winch.So: ncurses_def.h -lib_winch.So: ncurses_dll.h -lib_winch.So: term.h -lib_winch.So: unctrl.h -lib_winch.o: curses.h -lib_winch.o: ncurses_def.h -lib_winch.o: ncurses_dll.h -lib_winch.o: term.h -lib_winch.o: unctrl.h -lib_winch.po: curses.h -lib_winch.po: ncurses_def.h -lib_winch.po: ncurses_dll.h -lib_winch.po: term.h -lib_winch.po: unctrl.h -lib_window.So: curses.h -lib_window.So: ncurses_def.h -lib_window.So: ncurses_dll.h -lib_window.So: term.h -lib_window.So: unctrl.h -lib_window.o: curses.h -lib_window.o: ncurses_def.h -lib_window.o: ncurses_dll.h -lib_window.o: term.h -lib_window.o: unctrl.h -lib_window.po: curses.h -lib_window.po: ncurses_def.h -lib_window.po: ncurses_dll.h -lib_window.po: term.h -lib_window.po: unctrl.h -lib_wunctrl.So: curses.h -lib_wunctrl.So: ncurses_def.h -lib_wunctrl.So: ncurses_dll.h -lib_wunctrl.So: term.h -lib_wunctrl.So: unctrl.h -lib_wunctrl.o: curses.h -lib_wunctrl.o: ncurses_def.h -lib_wunctrl.o: ncurses_dll.h -lib_wunctrl.o: term.h -lib_wunctrl.o: unctrl.h -lib_wunctrl.po: curses.h -lib_wunctrl.po: ncurses_def.h -lib_wunctrl.po: ncurses_dll.h -lib_wunctrl.po: term.h -lib_wunctrl.po: unctrl.h -name_match.So: curses.h -name_match.So: ncurses_def.h -name_match.So: ncurses_dll.h -name_match.So: term.h -name_match.So: unctrl.h -name_match.o: curses.h -name_match.o: ncurses_def.h -name_match.o: ncurses_dll.h -name_match.o: term.h -name_match.o: unctrl.h -name_match.po: curses.h -name_match.po: ncurses_def.h -name_match.po: ncurses_dll.h -name_match.po: term.h -name_match.po: unctrl.h -names.So: curses.h -names.So: names.c -names.So: ncurses_def.h -names.So: ncurses_dll.h -names.So: term.h -names.So: unctrl.h -names.o: curses.h -names.o: names.c -names.o: ncurses_def.h -names.o: ncurses_dll.h -names.o: term.h -names.o: unctrl.h -names.po: curses.h -names.po: names.c -names.po: ncurses_def.h -names.po: ncurses_dll.h -names.po: term.h -names.po: unctrl.h -nc_panel.So: curses.h -nc_panel.So: ncurses_def.h -nc_panel.So: ncurses_dll.h -nc_panel.So: term.h -nc_panel.So: unctrl.h -nc_panel.o: curses.h -nc_panel.o: ncurses_def.h -nc_panel.o: ncurses_dll.h -nc_panel.o: term.h -nc_panel.o: unctrl.h -nc_panel.po: curses.h -nc_panel.po: ncurses_def.h -nc_panel.po: ncurses_dll.h -nc_panel.po: term.h -nc_panel.po: unctrl.h -obsolete.So: curses.h -obsolete.So: ncurses_def.h -obsolete.So: ncurses_dll.h -obsolete.So: term.h -obsolete.So: unctrl.h -obsolete.o: curses.h -obsolete.o: ncurses_def.h -obsolete.o: ncurses_dll.h -obsolete.o: term.h -obsolete.o: unctrl.h -obsolete.po: curses.h -obsolete.po: ncurses_def.h -obsolete.po: ncurses_dll.h -obsolete.po: term.h -obsolete.po: unctrl.h -parse_entry.So: curses.h -parse_entry.So: ncurses_def.h -parse_entry.So: ncurses_dll.h -parse_entry.So: parametrized.h -parse_entry.So: term.h -parse_entry.So: unctrl.h -parse_entry.o: curses.h -parse_entry.o: ncurses_def.h -parse_entry.o: ncurses_dll.h -parse_entry.o: parametrized.h -parse_entry.o: term.h -parse_entry.o: unctrl.h -parse_entry.po: curses.h -parse_entry.po: ncurses_def.h -parse_entry.po: ncurses_dll.h -parse_entry.po: parametrized.h -parse_entry.po: term.h -parse_entry.po: unctrl.h -read_entry.So: curses.h -read_entry.So: ncurses_def.h -read_entry.So: ncurses_dll.h -read_entry.So: term.h -read_entry.So: unctrl.h -read_entry.o: curses.h -read_entry.o: ncurses_def.h -read_entry.o: ncurses_dll.h -read_entry.o: term.h -read_entry.o: unctrl.h -read_entry.po: curses.h -read_entry.po: ncurses_def.h -read_entry.po: ncurses_dll.h -read_entry.po: term.h -read_entry.po: unctrl.h -resizeterm.So: curses.h -resizeterm.So: ncurses_def.h -resizeterm.So: ncurses_dll.h -resizeterm.So: term.h -resizeterm.So: unctrl.h -resizeterm.o: curses.h -resizeterm.o: ncurses_def.h -resizeterm.o: ncurses_dll.h -resizeterm.o: term.h -resizeterm.o: unctrl.h -resizeterm.po: curses.h -resizeterm.po: ncurses_def.h -resizeterm.po: ncurses_dll.h -resizeterm.po: term.h -resizeterm.po: unctrl.h -safe_sprintf.So: curses.h -safe_sprintf.So: ncurses_def.h -safe_sprintf.So: ncurses_dll.h -safe_sprintf.So: term.h -safe_sprintf.So: unctrl.h -safe_sprintf.o: curses.h -safe_sprintf.o: ncurses_def.h -safe_sprintf.o: ncurses_dll.h -safe_sprintf.o: term.h -safe_sprintf.o: unctrl.h -safe_sprintf.po: curses.h -safe_sprintf.po: ncurses_def.h -safe_sprintf.po: ncurses_dll.h -safe_sprintf.po: term.h -safe_sprintf.po: unctrl.h -strings.So: curses.h -strings.So: ncurses_def.h -strings.So: ncurses_dll.h -strings.So: term.h -strings.So: unctrl.h -strings.o: curses.h -strings.o: ncurses_def.h -strings.o: ncurses_dll.h -strings.o: term.h -strings.o: unctrl.h -strings.po: curses.h -strings.po: ncurses_def.h -strings.po: ncurses_dll.h -strings.po: term.h -strings.po: unctrl.h -termcap.So: curses.h -termcap.So: ncurses_def.h -termcap.So: ncurses_dll.h -termcap.So: term.h -termcap.So: unctrl.h -termcap.o: curses.h -termcap.o: ncurses_def.h -termcap.o: ncurses_dll.h -termcap.o: term.h -termcap.o: unctrl.h -termcap.po: curses.h -termcap.po: ncurses_def.h -termcap.po: ncurses_dll.h -termcap.po: term.h -termcap.po: unctrl.h -tries.So: curses.h -tries.So: ncurses_def.h -tries.So: ncurses_dll.h -tries.So: term.h -tries.So: unctrl.h -tries.o: curses.h -tries.o: ncurses_def.h -tries.o: ncurses_dll.h -tries.o: term.h -tries.o: unctrl.h -tries.po: curses.h -tries.po: ncurses_def.h -tries.po: ncurses_dll.h -tries.po: term.h -tries.po: unctrl.h -trim_sgr0.So: curses.h -trim_sgr0.So: ncurses_def.h -trim_sgr0.So: ncurses_dll.h -trim_sgr0.So: term.h -trim_sgr0.So: unctrl.h -trim_sgr0.o: curses.h -trim_sgr0.o: ncurses_def.h -trim_sgr0.o: ncurses_dll.h -trim_sgr0.o: term.h -trim_sgr0.o: unctrl.h -trim_sgr0.po: curses.h -trim_sgr0.po: ncurses_def.h -trim_sgr0.po: ncurses_dll.h -trim_sgr0.po: term.h -trim_sgr0.po: unctrl.h -tty_update.So: curses.h -tty_update.So: ncurses_def.h -tty_update.So: ncurses_dll.h -tty_update.So: term.h -tty_update.So: unctrl.h -tty_update.o: curses.h -tty_update.o: ncurses_def.h -tty_update.o: ncurses_dll.h -tty_update.o: term.h -tty_update.o: unctrl.h -tty_update.po: curses.h -tty_update.po: ncurses_def.h -tty_update.po: ncurses_dll.h -tty_update.po: term.h -tty_update.po: unctrl.h -unctrl.So: curses.h -unctrl.So: ncurses_def.h -unctrl.So: ncurses_dll.h -unctrl.So: term.h -unctrl.So: unctrl.c -unctrl.So: unctrl.h -unctrl.o: curses.h -unctrl.o: ncurses_def.h -unctrl.o: ncurses_dll.h -unctrl.o: term.h -unctrl.o: unctrl.c -unctrl.o: unctrl.h -unctrl.po: curses.h -unctrl.po: ncurses_def.h -unctrl.po: ncurses_dll.h -unctrl.po: term.h -unctrl.po: unctrl.c -unctrl.po: unctrl.h -version.So: curses.h -version.So: ncurses_def.h -version.So: ncurses_dll.h -version.So: term.h -version.So: unctrl.h -version.o: curses.h -version.o: ncurses_def.h -version.o: ncurses_dll.h -version.o: term.h -version.o: unctrl.h -version.po: curses.h -version.po: ncurses_def.h -version.po: ncurses_dll.h -version.po: term.h -version.po: unctrl.h -visbuf.So: curses.h -visbuf.So: ncurses_def.h -visbuf.So: ncurses_dll.h -visbuf.So: term.h -visbuf.So: unctrl.h -visbuf.o: curses.h -visbuf.o: ncurses_def.h -visbuf.o: ncurses_dll.h -visbuf.o: term.h -visbuf.o: unctrl.h -visbuf.po: curses.h -visbuf.po: ncurses_def.h -visbuf.po: ncurses_dll.h -visbuf.po: term.h -visbuf.po: unctrl.h -vsscanf.So: curses.h -vsscanf.So: ncurses_def.h -vsscanf.So: ncurses_dll.h -vsscanf.So: term.h -vsscanf.So: unctrl.h -vsscanf.o: curses.h -vsscanf.o: ncurses_def.h -vsscanf.o: ncurses_dll.h -vsscanf.o: term.h -vsscanf.o: unctrl.h -vsscanf.po: curses.h -vsscanf.po: ncurses_def.h -vsscanf.po: ncurses_dll.h -vsscanf.po: term.h -vsscanf.po: unctrl.h -wresize.So: curses.h -wresize.So: ncurses_def.h -wresize.So: ncurses_dll.h -wresize.So: term.h -wresize.So: unctrl.h -wresize.o: curses.h -wresize.o: ncurses_def.h -wresize.o: ncurses_dll.h -wresize.o: term.h -wresize.o: unctrl.h -wresize.po: curses.h -wresize.po: ncurses_def.h -wresize.po: ncurses_dll.h -wresize.po: term.h -wresize.po: unctrl.h -write_entry.So: curses.h -write_entry.So: ncurses_def.h -write_entry.So: ncurses_dll.h -write_entry.So: term.h -write_entry.So: unctrl.h -write_entry.o: curses.h -write_entry.o: ncurses_def.h -write_entry.o: ncurses_dll.h -write_entry.o: term.h -write_entry.o: unctrl.h -write_entry.po: curses.h -write_entry.po: ncurses_def.h -write_entry.po: ncurses_dll.h -write_entry.po: term.h -write_entry.po: unctrl.h .endif diff --git a/lib/ncurses/panel/Makefile.depend b/lib/ncurses/panel/Makefile.depend index 7ed28bc..8ba6d1d 100644 --- a/lib/ncurses/panel/Makefile.depend +++ b/lib/ncurses/panel/Makefile.depend @@ -17,49 +17,4 @@ DIRDEPS = \ .if ${DEP_RELDIR} == ${_DEP_RELDIR} # local dependencies - needed for -jN in clean tree -p_above.So: ncurses_def.h -p_above.o: ncurses_def.h -p_above.po: ncurses_def.h -p_below.So: ncurses_def.h -p_below.o: ncurses_def.h -p_below.po: ncurses_def.h -p_bottom.So: ncurses_def.h -p_bottom.o: ncurses_def.h -p_bottom.po: ncurses_def.h -p_delete.So: ncurses_def.h -p_delete.o: ncurses_def.h -p_delete.po: ncurses_def.h -p_hidden.So: ncurses_def.h -p_hidden.o: ncurses_def.h -p_hidden.po: ncurses_def.h -p_hide.So: ncurses_def.h -p_hide.o: ncurses_def.h -p_hide.po: ncurses_def.h -p_move.So: ncurses_def.h -p_move.o: ncurses_def.h -p_move.po: ncurses_def.h -p_new.So: ncurses_def.h -p_new.o: ncurses_def.h -p_new.po: ncurses_def.h -p_replace.So: ncurses_def.h -p_replace.o: ncurses_def.h -p_replace.po: ncurses_def.h -p_show.So: ncurses_def.h -p_show.o: ncurses_def.h -p_show.po: ncurses_def.h -p_top.So: ncurses_def.h -p_top.o: ncurses_def.h -p_top.po: ncurses_def.h -p_update.So: ncurses_def.h -p_update.o: ncurses_def.h -p_update.po: ncurses_def.h -p_user.So: ncurses_def.h -p_user.o: ncurses_def.h -p_user.po: ncurses_def.h -p_win.So: ncurses_def.h -p_win.o: ncurses_def.h -p_win.po: ncurses_def.h -panel.So: ncurses_def.h -panel.o: ncurses_def.h -panel.po: ncurses_def.h .endif diff --git a/lib/ncurses/panelw/Makefile.depend b/lib/ncurses/panelw/Makefile.depend index 0bb0107..59bc828 100644 --- a/lib/ncurses/panelw/Makefile.depend +++ b/lib/ncurses/panelw/Makefile.depend @@ -16,49 +16,4 @@ DIRDEPS = \ .if ${DEP_RELDIR} == ${_DEP_RELDIR} # local dependencies - needed for -jN in clean tree -p_above.So: ncurses_def.h -p_above.o: ncurses_def.h -p_above.po: ncurses_def.h -p_below.So: ncurses_def.h -p_below.o: ncurses_def.h -p_below.po: ncurses_def.h -p_bottom.So: ncurses_def.h -p_bottom.o: ncurses_def.h -p_bottom.po: ncurses_def.h -p_delete.So: ncurses_def.h -p_delete.o: ncurses_def.h -p_delete.po: ncurses_def.h -p_hidden.So: ncurses_def.h -p_hidden.o: ncurses_def.h -p_hidden.po: ncurses_def.h -p_hide.So: ncurses_def.h -p_hide.o: ncurses_def.h -p_hide.po: ncurses_def.h -p_move.So: ncurses_def.h -p_move.o: ncurses_def.h -p_move.po: ncurses_def.h -p_new.So: ncurses_def.h -p_new.o: ncurses_def.h -p_new.po: ncurses_def.h -p_replace.So: ncurses_def.h -p_replace.o: ncurses_def.h -p_replace.po: ncurses_def.h -p_show.So: ncurses_def.h -p_show.o: ncurses_def.h -p_show.po: ncurses_def.h -p_top.So: ncurses_def.h -p_top.o: ncurses_def.h -p_top.po: ncurses_def.h -p_update.So: ncurses_def.h -p_update.o: ncurses_def.h -p_update.po: ncurses_def.h -p_user.So: ncurses_def.h -p_user.o: ncurses_def.h -p_user.po: ncurses_def.h -p_win.So: ncurses_def.h -p_win.o: ncurses_def.h -p_win.po: ncurses_def.h -panel.So: ncurses_def.h -panel.o: ncurses_def.h -panel.po: ncurses_def.h .endif -- cgit v1.1 From 023f14d65b31db71d1a4e6655205dd919bfeb5fb Mon Sep 17 00:00:00 2001 From: oshogbo Date: Thu, 25 Feb 2016 18:23:40 +0000 Subject: Convert casperd(8) daemon to the libcasper. After calling the cap_init(3) function Casper will fork from it's original process, using pdfork(2). Forking from a process has a lot of advantages: 1. We have the same cwd as the original process. 2. The same uid, gid and groups. 3. The same MAC labels. 4. The same descriptor table. 5. The same routing table. 6. The same umask. 7. The same cpuset(1). From now services are also in form of libraries. We also removed libcapsicum at all and converts existing program using Casper to new architecture. Discussed with: pjd, jonathan, ed, drysdale@google.com, emaste Partially reviewed by: drysdale@google.com, bdrewery Approved by: pjd (mentor) Differential Revision: https://reviews.freebsd.org/D4277 --- lib/Makefile | 5 +- lib/libc/posix1e/posix1e.3 | 4 +- lib/libcapsicum/Makefile | 46 -- lib/libcapsicum/Makefile.depend | 19 - lib/libcapsicum/libcapsicum.3 | 300 ---------- lib/libcapsicum/libcapsicum.c | 266 --------- lib/libcapsicum/libcapsicum.h | 115 ---- lib/libcapsicum/libcapsicum_dns.c | 365 ------------ lib/libcapsicum/libcapsicum_dns.h | 57 -- lib/libcapsicum/libcapsicum_grp.c | 438 -------------- lib/libcapsicum/libcapsicum_grp.h | 57 -- lib/libcapsicum/libcapsicum_impl.h | 39 -- lib/libcapsicum/libcapsicum_pwd.c | 391 ------------ lib/libcapsicum/libcapsicum_pwd.h | 57 -- lib/libcapsicum/libcapsicum_random.c | 80 --- lib/libcapsicum/libcapsicum_random.h | 37 -- lib/libcapsicum/libcapsicum_service.c | 97 --- lib/libcapsicum/libcapsicum_service.h | 40 -- lib/libcapsicum/libcapsicum_sysctl.c | 86 --- lib/libcapsicum/libcapsicum_sysctl.h | 43 -- lib/libcasper/Makefile | 19 +- lib/libcasper/libcasper.c | 441 -------------- lib/libcasper/libcasper.h | 70 --- lib/libcasper/libcasper/Makefile | 38 ++ lib/libcasper/libcasper/libcasper.3 | 295 +++++++++ lib/libcasper/libcasper/libcasper.c | 337 +++++++++++ lib/libcasper/libcasper/libcasper.h | 115 ++++ lib/libcasper/libcasper/libcasper_impl.c | 44 ++ lib/libcasper/libcasper/libcasper_impl.h | 82 +++ lib/libcasper/libcasper/libcasper_service.c | 277 +++++++++ lib/libcasper/libcasper/libcasper_service.h | 60 ++ lib/libcasper/libcasper/service.c | 394 +++++++++++++ lib/libcasper/libcasper/zygote.c | 223 +++++++ lib/libcasper/libcasper/zygote.h | 41 ++ lib/libcasper/libcasper_impl.h | 46 -- lib/libcasper/services/Makefile | 9 + lib/libcasper/services/cap_dns/Makefile | 20 + lib/libcasper/services/cap_dns/cap_dns.c | 761 ++++++++++++++++++++++++ lib/libcasper/services/cap_dns/cap_dns.h | 57 ++ lib/libcasper/services/cap_grp/Makefile | 20 + lib/libcasper/services/cap_grp/cap_grp.c | 787 +++++++++++++++++++++++++ lib/libcasper/services/cap_grp/cap_grp.h | 57 ++ lib/libcasper/services/cap_pwd/Makefile | 20 + lib/libcasper/services/cap_pwd/cap_pwd.c | 783 ++++++++++++++++++++++++ lib/libcasper/services/cap_pwd/cap_pwd.h | 57 ++ lib/libcasper/services/cap_random/Makefile | 20 + lib/libcasper/services/cap_random/cap_random.c | 117 ++++ lib/libcasper/services/cap_random/cap_random.h | 37 ++ lib/libcasper/services/cap_sysctl/Makefile | 20 + lib/libcasper/services/cap_sysctl/cap_sysctl.c | 293 +++++++++ lib/libcasper/services/cap_sysctl/cap_sysctl.h | 43 ++ 51 files changed, 5013 insertions(+), 3112 deletions(-) delete mode 100644 lib/libcapsicum/Makefile delete mode 100644 lib/libcapsicum/Makefile.depend delete mode 100644 lib/libcapsicum/libcapsicum.3 delete mode 100644 lib/libcapsicum/libcapsicum.c delete mode 100644 lib/libcapsicum/libcapsicum.h delete mode 100644 lib/libcapsicum/libcapsicum_dns.c delete mode 100644 lib/libcapsicum/libcapsicum_dns.h delete mode 100644 lib/libcapsicum/libcapsicum_grp.c delete mode 100644 lib/libcapsicum/libcapsicum_grp.h delete mode 100644 lib/libcapsicum/libcapsicum_impl.h delete mode 100644 lib/libcapsicum/libcapsicum_pwd.c delete mode 100644 lib/libcapsicum/libcapsicum_pwd.h delete mode 100644 lib/libcapsicum/libcapsicum_random.c delete mode 100644 lib/libcapsicum/libcapsicum_random.h delete mode 100644 lib/libcapsicum/libcapsicum_service.c delete mode 100644 lib/libcapsicum/libcapsicum_service.h delete mode 100644 lib/libcapsicum/libcapsicum_sysctl.c delete mode 100644 lib/libcapsicum/libcapsicum_sysctl.h delete mode 100644 lib/libcasper/libcasper.c delete mode 100644 lib/libcasper/libcasper.h create mode 100644 lib/libcasper/libcasper/Makefile create mode 100644 lib/libcasper/libcasper/libcasper.3 create mode 100644 lib/libcasper/libcasper/libcasper.c create mode 100644 lib/libcasper/libcasper/libcasper.h create mode 100644 lib/libcasper/libcasper/libcasper_impl.c create mode 100644 lib/libcasper/libcasper/libcasper_impl.h create mode 100644 lib/libcasper/libcasper/libcasper_service.c create mode 100644 lib/libcasper/libcasper/libcasper_service.h create mode 100644 lib/libcasper/libcasper/service.c create mode 100644 lib/libcasper/libcasper/zygote.c create mode 100644 lib/libcasper/libcasper/zygote.h delete mode 100644 lib/libcasper/libcasper_impl.h create mode 100644 lib/libcasper/services/Makefile create mode 100644 lib/libcasper/services/cap_dns/Makefile create mode 100644 lib/libcasper/services/cap_dns/cap_dns.c create mode 100644 lib/libcasper/services/cap_dns/cap_dns.h create mode 100644 lib/libcasper/services/cap_grp/Makefile create mode 100644 lib/libcasper/services/cap_grp/cap_grp.c create mode 100644 lib/libcasper/services/cap_grp/cap_grp.h create mode 100644 lib/libcasper/services/cap_pwd/Makefile create mode 100644 lib/libcasper/services/cap_pwd/cap_pwd.c create mode 100644 lib/libcasper/services/cap_pwd/cap_pwd.h create mode 100644 lib/libcasper/services/cap_random/Makefile create mode 100644 lib/libcasper/services/cap_random/cap_random.c create mode 100644 lib/libcasper/services/cap_random/cap_random.h create mode 100644 lib/libcasper/services/cap_sysctl/Makefile create mode 100644 lib/libcasper/services/cap_sysctl/cap_sysctl.c create mode 100644 lib/libcasper/services/cap_sysctl/cap_sysctl.h (limited to 'lib') diff --git a/lib/Makefile b/lib/Makefile index 699aa6a..cfa0ea9 100644 --- a/lib/Makefile +++ b/lib/Makefile @@ -36,7 +36,6 @@ SUBDIR= ${SUBDIR_ORDERED} \ libbz2 \ libcalendar \ libcam \ - ${_libcapsicum} \ ${_libcasper} \ ${_libcom_err} \ libcompat \ @@ -135,8 +134,7 @@ SUBDIR_DEPEND_libbsnmp= ${_libnetgraph} SUBDIR_DEPEND_libc++:= libcxxrt SUBDIR_DEPEND_libc= libcompiler_rt SUBDIR_DEPEND_libcam= libsbuf -SUBDIR_DEPEND_libcapsicum= libnv -SUBDIR_DEPEND_libcasper= libcapsicum libnv libpjdlog +SUBDIR_DEPEND_libcasper= libnv SUBDIR_DEPEND_libdevstat= libkvm SUBDIR_DEPEND_libdpv= libfigpar ncurses libutil SUBDIR_DEPEND_libedit= ncurses @@ -171,7 +169,6 @@ _libbsnmp= libbsnmp .endif .if ${MK_CASPER} != "no" -_libcapsicum= libcapsicum _libcasper= libcasper .endif diff --git a/lib/libc/posix1e/posix1e.3 b/lib/libc/posix1e/posix1e.3 index 257b6f5..02fb3ef 100644 --- a/lib/libc/posix1e/posix1e.3 +++ b/lib/libc/posix1e/posix1e.3 @@ -25,7 +25,7 @@ .\" .\" $FreeBSD$ .\" -.Dd April 15, 2014 +.Dd February 25, 2016 .Dt POSIX1E 3 .Os .Sh NAME @@ -94,7 +94,7 @@ for mandatory access control labels. .Xr acl 3 , .Xr extattr 3 , .Xr libbsm 3 , -.Xr libcapsicum 3 , +.Xr libcasper 3 , .Xr mac 3 , .Xr capsicum 4 , .Xr ffs 7 , diff --git a/lib/libcapsicum/Makefile b/lib/libcapsicum/Makefile deleted file mode 100644 index 6ee5bb8..0000000 --- a/lib/libcapsicum/Makefile +++ /dev/null @@ -1,46 +0,0 @@ -# $FreeBSD$ - -LIB= capsicum - -SHLIB_MAJOR= 0 -SHLIBDIR?= /lib - -SRCS= libcapsicum.c -SRCS+= libcapsicum_dns.c -SRCS+= libcapsicum_grp.c -SRCS+= libcapsicum_pwd.c -SRCS+= libcapsicum_random.c -SRCS+= libcapsicum_service.c -SRCS+= libcapsicum_sysctl.c - -INCS= libcapsicum.h -INCS+= libcapsicum_dns.h -INCS+= libcapsicum_grp.h -INCS+= libcapsicum_pwd.h -INCS+= libcapsicum_random.h -INCS+= libcapsicum_service.h -INCS+= libcapsicum_sysctl.h - -LIBADD= nv - -CFLAGS+=-I${.CURDIR} -CFLAGS+=-I${.CURDIR}/../libnv - -WARNS?= 6 - -MAN+= libcapsicum.3 - -MLINKS+=libcapsicum.3 cap_init.3 -MLINKS+=libcapsicum.3 cap_wrap.3 -MLINKS+=libcapsicum.3 cap_unwrap.3 -MLINKS+=libcapsicum.3 cap_sock.3 -MLINKS+=libcapsicum.3 cap_clone.3 -MLINKS+=libcapsicum.3 cap_close.3 -MLINKS+=libcapsicum.3 cap_limit_get.3 -MLINKS+=libcapsicum.3 cap_limit_set.3 -MLINKS+=libcapsicum.3 cap_send_nvlist.3 -MLINKS+=libcapsicum.3 cap_recv_nvlist.3 -MLINKS+=libcapsicum.3 cap_xfer_nvlist.3 -MLINKS+=libcapsicum.3 cap_service_open.3 - -.include diff --git a/lib/libcapsicum/Makefile.depend b/lib/libcapsicum/Makefile.depend deleted file mode 100644 index 4f7989b..0000000 --- a/lib/libcapsicum/Makefile.depend +++ /dev/null @@ -1,19 +0,0 @@ -# $FreeBSD$ -# Autogenerated - do NOT edit! - -DIRDEPS = \ - gnu/lib/csu \ - gnu/lib/libgcc \ - include \ - include/xlocale \ - lib/${CSU_DIR} \ - lib/libc \ - lib/libcompiler_rt \ - lib/libnv \ - - -.include - -.if ${DEP_RELDIR} == ${_DEP_RELDIR} -# local dependencies - needed for -jN in clean tree -.endif diff --git a/lib/libcapsicum/libcapsicum.3 b/lib/libcapsicum/libcapsicum.3 deleted file mode 100644 index cbfd214..0000000 --- a/lib/libcapsicum/libcapsicum.3 +++ /dev/null @@ -1,300 +0,0 @@ -.\" Copyright (c) 2013 The FreeBSD Foundation -.\" All rights reserved. -.\" -.\" This documentation was written by Pawel Jakub Dawidek under sponsorship -.\" from the FreeBSD Foundation. -.\" -.\" 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 AUTHORS 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 AUTHORS OR CONTRIBUTORS BE LIABLE -.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS -.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) -.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY -.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF -.\" SUCH DAMAGE. -.\" -.\" $FreeBSD$ -.\" -.Dd May 2, 2015 -.Dt LIBCAPSICUM 3 -.Os -.Sh NAME -.Nm cap_init , -.Nm cap_wrap , -.Nm cap_unwrap , -.Nm cap_sock , -.Nm cap_clone , -.Nm cap_close , -.Nm cap_limit_get , -.Nm cap_limit_set , -.Nm cap_send_nvlist , -.Nm cap_recv_nvlist , -.Nm cap_xfer_nvlist , -.Nm cap_service_open -.Nd "library for handling application capabilities" -.Sh LIBRARY -.Lb libcapsicum -.Sh SYNOPSIS -.In libcapsicum.h -.In nv.h -.Ft "cap_channel_t *" -.Fn cap_init "void" -.Ft "cap_channel_t *" -.Fn cap_wrap "int sock" -.Ft "int" -.Fn cap_unwrap "cap_channel_t *chan" -.Ft "int" -.Fn cap_sock "const cap_channel_t *chan" -.Ft "cap_channel_t *" -.Fn cap_clone "const cap_channel_t *chan" -.Ft "void" -.Fn cap_close "cap_channel_t *chan" -.Ft "int" -.Fn cap_limit_get "const cap_channel_t *chan" "nvlist_t **limitsp" -.Ft "int" -.Fn cap_limit_set "const cap_channel_t *chan" "nvlist_t *limits" -.Ft "int" -.Fn cap_send_nvlist "const cap_channel_t *chan" "const nvlist_t *nvl" -.Ft "nvlist_t *" -.Fn cap_recv_nvlist "const cap_channel_t *chan" "int flags" -.Ft "nvlist_t *" -.Fn cap_xfer_nvlist "const cap_channel_t *chan" "nvlist_t *nvl" "int flags" -.In libcapsicum_service.h -.Ft "cap_channel_t *" -.Fn cap_service_open "const cap_channel_t *chan" "const char *name" -.Sh DESCRIPTION -The -.Nm libcapsicum -library allows to manage application capabilities through the -.Xr casperd 8 -daemon. -.Pp -The application capability (represented by the -.Vt cap_channel_t -type) is a communication channel between the caller and the -.Xr casperd 8 -daemon or an instance of one of its services. -A capability to the -.Xr casperd 8 -daemon obtained with the -.Fn cap_init -function allows to create capabilities to casper's services via the -.Fn cap_service_open -function. -.Pp -The -.Fn cap_init -function opens capability to the -.Xr casperd 8 -daemon. -.Pp -The -.Fn cap_wrap -function creates -.Vt cap_channel_t -based on the given socket. -The function is used when capability is inherited through -.Xr execve 2 -or send over -.Xr unix 4 -domain socket as a regular file descriptor and has to be represented as -.Vt cap_channel_t -again. -.Pp -The -.Fn cap_unwrap -function is the opposite of the -.Fn cap_wrap -function. -It frees the -.Vt cap_channel_t -structure and returns -.Xr unix 4 -domain socket associated with it. -.Pp -The -.Fn cap_clone -function clones the given capability. -.Pp -The -.Fn cap_close -function closes the given capability. -.Pp -The -.Fn cap_sock -function returns -.Xr unix 4 -domain socket descriptor associated with the given capability for use with -system calls like -.Xr kevent 2 , -.Xr poll 2 -and -.Xr select 2 . -.Pp -The -.Fn cap_limit_get -function stores current limits of the given capability in the -.Fa limitsp -argument. -If the function return -.Va 0 -and -.Dv NULL -is stored in -.Fa limitsp -it means there are no limits set. -.Pp -The -.Fn cap_limit_set -function sets limits for the given capability. -The limits are provided as nvlist. -The exact format depends on the service the capability represents. -.Pp -The -.Fn cap_send_nvlist -function sends the given nvlist over the given capability. -This is low level interface to communicate with casper services. -Most services should provide higher level API. -.Pp -The -.Fn cap_recv_nvlist -function receives the given nvlist over the given capability. -The -.Fa flags -argument defines what type the top nvlist is expected to be. -If the nvlist flags do not match the flags passed to -.Fn cap_recv_nvlist , -the nvlist will not be returned. -.Pp -The -.Fn cap_xfer_nvlist -function sends the given nvlist, destroys it and receives new nvlist in -response over the given capability. -The -.Fa flags -argument defines what type the top nvlist is expected to be. -If the nvlist flags do not match the flags passed to -.Fn cap_xfer_nvlist , -the nvlist will not be returned. -It does not matter if the function succeeds or fails, the nvlist given -for sending will always be destroyed once the function returns. -.Pp -The -.Fn cap_service_open -function opens casper service of the given name through casper capability -obtained via the -.Fn cap_init -function. -The function returns capability that provides access to opened service. -.Sh RETURN VALUES -The -.Fn cap_clone , -.Fn cap_init , -.Fn cap_recv_nvlist , -.Fn cap_service_open , -.Fn cap_wrap -and -.Fn cap_xfer_nvlist -functions return -.Dv NULL -and set the -.Va errno -variable on failure. -.Pp -The -.Fn cap_limit_get , -.Fn cap_limit_set -and -.Fn cap_send_nvlist -functions return -.Dv -1 -and set the -.Va errno -variable on failure. -.Pp -The -.Fn cap_close , -.Fn cap_sock -and -.Fn cap_unwrap -functions always succeed. -.Sh EXAMPLES -The following example first opens capability to the -.Xr casperd 8 -daemon, then using this capability creates new capability to the -.Nm system.dns -casper service and uses the latter capability to resolve IP address. -.Bd -literal -cap_channel_t *capcas, *capdns; -nvlist_t *limits; -const char *ipstr = "127.0.0.1"; -struct in_addr ip; -struct hostent *hp; - -/* Open capability to the Casper daemon. */ -capcas = cap_init(); -if (capcas == NULL) - err(1, "Unable to contact Casper daemon"); - -/* Enter capability mode sandbox. */ -if (cap_enter() < 0 && errno != ENOSYS) - err(1, "Unable to enter capability mode"); - -/* Use Casper capability to create capability to the system.dns service. */ -capdns = cap_service_open(capcas, "system.dns"); -if (capdns == NULL) - err(1, "Unable to open system.dns service"); - -/* Close Casper capability, we don't need it anymore. */ -cap_close(capcas); - -/* Limit system.dns to reverse DNS lookups and IPv4 addresses. */ -limits = nvlist_create(0); -nvlist_add_string(limits, "type", "ADDR"); -nvlist_add_number(limits, "family", (uint64_t)AF_INET); -if (cap_limit_set(capdns, limits) < 0) - err(1, "Unable to limit access to the system.dns service"); - -/* Convert IP address in C-string to in_addr. */ -if (!inet_aton(ipstr, &ip)) - errx(1, "Unable to parse IP address %s.", ipstr); - -/* Find hostname for the given IP address. */ -hp = cap_gethostbyaddr(capdns, (const void *)&ip, sizeof(ip), AF_INET); -if (hp == NULL) - errx(1, "No name associated with %s.", ipstr); - -printf("Name associated with %s is %s.\\n", ipstr, hp->h_name); -.Ed -.Sh SEE ALSO -.Xr cap_enter 2 , -.Xr execve 2 , -.Xr kevent 2 , -.Xr poll 2 , -.Xr select 2 , -.Xr cap_gethostbyaddr 3 , -.Xr err 3 , -.Xr gethostbyaddr 3 , -.Xr inet_aton 3 , -.Xr nv 3 , -.Xr capsicum 4 , -.Xr unix 4 , -.Xr casperd 8 -.Sh AUTHORS -The -.Nm libcapsicum -library was implemented by -.An Pawel Jakub Dawidek Aq Mt pawel@dawidek.net -under sponsorship from the FreeBSD Foundation. diff --git a/lib/libcapsicum/libcapsicum.c b/lib/libcapsicum/libcapsicum.c deleted file mode 100644 index 8c4d04d..0000000 --- a/lib/libcapsicum/libcapsicum.c +++ /dev/null @@ -1,266 +0,0 @@ -/*- - * Copyright (c) 2012-2013 The FreeBSD Foundation - * All rights reserved. - * - * This software was developed by Pawel Jakub Dawidek under sponsorship from - * the FreeBSD Foundation. - * - * 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 AUTHORS 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 AUTHORS 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 - -#include -#include -#include -#include -#include -#include -#include - -#include "libcapsicum.h" -#include "libcapsicum_impl.h" - -/* - * Structure describing communication channel between two separated processes. - */ -#define CAP_CHANNEL_MAGIC 0xcac8a31 -struct cap_channel { - /* - * Magic value helps to ensure that a pointer to the right structure is - * passed to our functions. - */ - int cch_magic; - /* Socket descriptor for IPC. */ - int cch_sock; -}; - -bool -fd_is_valid(int fd) -{ - - return (fcntl(fd, F_GETFL) != -1 || errno != EBADF); -} - -cap_channel_t * -cap_init(void) -{ - cap_channel_t *chan; - struct sockaddr_un sun; - int serrno, sock; - - bzero(&sun, sizeof(sun)); - sun.sun_family = AF_UNIX; - strlcpy(sun.sun_path, CASPER_SOCKPATH, sizeof(sun.sun_path)); - sun.sun_len = SUN_LEN(&sun); - - sock = socket(AF_UNIX, SOCK_STREAM, 0); - if (sock == -1) - return (NULL); - if (connect(sock, (struct sockaddr *)&sun, sizeof(sun)) < 0) { - serrno = errno; - close(sock); - errno = serrno; - return (NULL); - } - chan = cap_wrap(sock); - if (chan == NULL) { - serrno = errno; - close(sock); - errno = serrno; - return (NULL); - } - return (chan); -} - -cap_channel_t * -cap_wrap(int sock) -{ - cap_channel_t *chan; - - if (!fd_is_valid(sock)) - return (NULL); - - chan = malloc(sizeof(*chan)); - if (chan != NULL) { - chan->cch_sock = sock; - chan->cch_magic = CAP_CHANNEL_MAGIC; - } - - return (chan); -} - -int -cap_unwrap(cap_channel_t *chan) -{ - int sock; - - assert(chan != NULL); - assert(chan->cch_magic == CAP_CHANNEL_MAGIC); - - sock = chan->cch_sock; - chan->cch_magic = 0; - free(chan); - - return (sock); -} - -cap_channel_t * -cap_clone(const cap_channel_t *chan) -{ - cap_channel_t *newchan; - nvlist_t *nvl; - int newsock; - - assert(chan != NULL); - assert(chan->cch_magic == CAP_CHANNEL_MAGIC); - - nvl = nvlist_create(0); - nvlist_add_string(nvl, "cmd", "clone"); - nvl = cap_xfer_nvlist(chan, nvl, 0); - if (nvl == NULL) - return (NULL); - if (nvlist_get_number(nvl, "error") != 0) { - errno = (int)nvlist_get_number(nvl, "error"); - nvlist_destroy(nvl); - return (NULL); - } - newsock = nvlist_take_descriptor(nvl, "sock"); - nvlist_destroy(nvl); - newchan = cap_wrap(newsock); - if (newchan == NULL) { - int serrno; - - serrno = errno; - close(newsock); - errno = serrno; - } - - return (newchan); -} - -void -cap_close(cap_channel_t *chan) -{ - - assert(chan != NULL); - assert(chan->cch_magic == CAP_CHANNEL_MAGIC); - - chan->cch_magic = 0; - close(chan->cch_sock); - free(chan); -} - -int -cap_sock(const cap_channel_t *chan) -{ - - assert(chan != NULL); - assert(chan->cch_magic == CAP_CHANNEL_MAGIC); - - return (chan->cch_sock); -} - -int -cap_limit_set(const cap_channel_t *chan, nvlist_t *limits) -{ - nvlist_t *nvlmsg; - int error; - - nvlmsg = nvlist_create(0); - nvlist_add_string(nvlmsg, "cmd", "limit_set"); - nvlist_add_nvlist(nvlmsg, "limits", limits); - nvlmsg = cap_xfer_nvlist(chan, nvlmsg, 0); - if (nvlmsg == NULL) { - nvlist_destroy(limits); - return (-1); - } - error = (int)nvlist_get_number(nvlmsg, "error"); - nvlist_destroy(nvlmsg); - nvlist_destroy(limits); - if (error != 0) { - errno = error; - return (-1); - } - return (0); -} - -int -cap_limit_get(const cap_channel_t *chan, nvlist_t **limitsp) -{ - nvlist_t *nvlmsg; - int error; - - nvlmsg = nvlist_create(0); - nvlist_add_string(nvlmsg, "cmd", "limit_get"); - nvlmsg = cap_xfer_nvlist(chan, nvlmsg, 0); - if (nvlmsg == NULL) - return (-1); - error = (int)nvlist_get_number(nvlmsg, "error"); - if (error != 0) { - nvlist_destroy(nvlmsg); - errno = error; - return (-1); - } - if (nvlist_exists_null(nvlmsg, "limits")) - *limitsp = NULL; - else - *limitsp = nvlist_take_nvlist(nvlmsg, "limits"); - nvlist_destroy(nvlmsg); - return (0); -} - -int -cap_send_nvlist(const cap_channel_t *chan, const nvlist_t *nvl) -{ - - assert(chan != NULL); - assert(chan->cch_magic == CAP_CHANNEL_MAGIC); - - return (nvlist_send(chan->cch_sock, nvl)); -} - -nvlist_t * -cap_recv_nvlist(const cap_channel_t *chan, int flags) -{ - - assert(chan != NULL); - assert(chan->cch_magic == CAP_CHANNEL_MAGIC); - - return (nvlist_recv(chan->cch_sock, flags)); -} - -nvlist_t * -cap_xfer_nvlist(const cap_channel_t *chan, nvlist_t *nvl, int flags) -{ - - assert(chan != NULL); - assert(chan->cch_magic == CAP_CHANNEL_MAGIC); - - return (nvlist_xfer(chan->cch_sock, nvl, flags)); -} diff --git a/lib/libcapsicum/libcapsicum.h b/lib/libcapsicum/libcapsicum.h deleted file mode 100644 index c7110d8..0000000 --- a/lib/libcapsicum/libcapsicum.h +++ /dev/null @@ -1,115 +0,0 @@ -/*- - * Copyright (c) 2012-2013 The FreeBSD Foundation - * All rights reserved. - * - * This software was developed by Pawel Jakub Dawidek under sponsorship from - * the FreeBSD Foundation. - * - * 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 AUTHORS 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 AUTHORS 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 _LIBCAPSICUM_H_ -#define _LIBCAPSICUM_H_ - -#ifndef _NVLIST_T_DECLARED -#define _NVLIST_T_DECLARED -struct nvlist; - -typedef struct nvlist nvlist_t; -#endif - -#ifndef _CAP_CHANNEL_T_DECLARED -#define _CAP_CHANNEL_T_DECLARED -struct cap_channel; - -typedef struct cap_channel cap_channel_t; -#endif - -/* - * The function opens unrestricted communication channel to Casper. - */ -cap_channel_t *cap_init(void); - -/* - * The function creates cap_channel_t based on the given socket. - */ -cap_channel_t *cap_wrap(int sock); - -/* - * The function returns communication socket and frees cap_channel_t. - */ -int cap_unwrap(cap_channel_t *chan); - -/* - * The function clones the given capability. - */ -cap_channel_t *cap_clone(const cap_channel_t *chan); - -/* - * The function closes the given capability. - */ -void cap_close(cap_channel_t *chan); - -/* - * The function returns socket descriptor associated with the given - * cap_channel_t for use with select(2)/kqueue(2)/etc. - */ -int cap_sock(const cap_channel_t *chan); - -/* - * The function limits the given capability. - * It always destroys 'limits' on return. - */ -int cap_limit_set(const cap_channel_t *chan, nvlist_t *limits); - -/* - * The function returns current limits of the given capability. - */ -int cap_limit_get(const cap_channel_t *chan, nvlist_t **limitsp); - -#ifdef TODO -/* - * The function registers a service within provided Casper's capability. - * It will run with the same privileges the process has at the time of - * calling this function. - */ -int cap_service_register(cap_channel_t *chan, const char *name, - cap_func_t *func); -#endif - -/* - * Function sends nvlist over the given capability. - */ -int cap_send_nvlist(const cap_channel_t *chan, const nvlist_t *nvl); -/* - * Function receives nvlist over the given capability. - */ -nvlist_t *cap_recv_nvlist(const cap_channel_t *chan, int flags); -/* - * Function sends the given nvlist, destroys it and receives new nvlist in - * response over the given capability. - */ -nvlist_t *cap_xfer_nvlist(const cap_channel_t *chan, nvlist_t *nvl, int flags); - -#endif /* !_LIBCAPSICUM_H_ */ diff --git a/lib/libcapsicum/libcapsicum_dns.c b/lib/libcapsicum/libcapsicum_dns.c deleted file mode 100644 index 5f54283..0000000 --- a/lib/libcapsicum/libcapsicum_dns.c +++ /dev/null @@ -1,365 +0,0 @@ -/*- - * Copyright (c) 2012-2013 The FreeBSD Foundation - * All rights reserved. - * - * This software was developed by Pawel Jakub Dawidek under sponsorship from - * the FreeBSD Foundation. - * - * 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 AUTHORS 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 AUTHORS 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 -#include -#include - -#include "libcapsicum.h" -#include "libcapsicum_dns.h" - -static struct hostent hent; - -static void -hostent_free(struct hostent *hp) -{ - unsigned int ii; - - free(hp->h_name); - hp->h_name = NULL; - if (hp->h_aliases != NULL) { - for (ii = 0; hp->h_aliases[ii] != NULL; ii++) - free(hp->h_aliases[ii]); - free(hp->h_aliases); - hp->h_aliases = NULL; - } - if (hp->h_addr_list != NULL) { - for (ii = 0; hp->h_addr_list[ii] != NULL; ii++) - free(hp->h_addr_list[ii]); - free(hp->h_addr_list); - hp->h_addr_list = NULL; - } -} - -static struct hostent * -hostent_unpack(const nvlist_t *nvl, struct hostent *hp) -{ - unsigned int ii, nitems; - char nvlname[64]; - int n; - - hostent_free(hp); - - hp->h_name = strdup(nvlist_get_string(nvl, "name")); - if (hp->h_name == NULL) - goto fail; - hp->h_addrtype = (int)nvlist_get_number(nvl, "addrtype"); - hp->h_length = (int)nvlist_get_number(nvl, "length"); - - nitems = (unsigned int)nvlist_get_number(nvl, "naliases"); - hp->h_aliases = calloc(sizeof(hp->h_aliases[0]), nitems + 1); - if (hp->h_aliases == NULL) - goto fail; - for (ii = 0; ii < nitems; ii++) { - n = snprintf(nvlname, sizeof(nvlname), "alias%u", ii); - assert(n > 0 && n < (int)sizeof(nvlname)); - hp->h_aliases[ii] = - strdup(nvlist_get_string(nvl, nvlname)); - if (hp->h_aliases[ii] == NULL) - goto fail; - } - hp->h_aliases[ii] = NULL; - - nitems = (unsigned int)nvlist_get_number(nvl, "naddrs"); - hp->h_addr_list = calloc(sizeof(hp->h_addr_list[0]), nitems + 1); - if (hp->h_addr_list == NULL) - goto fail; - for (ii = 0; ii < nitems; ii++) { - hp->h_addr_list[ii] = malloc(hp->h_length); - if (hp->h_addr_list[ii] == NULL) - goto fail; - n = snprintf(nvlname, sizeof(nvlname), "addr%u", ii); - assert(n > 0 && n < (int)sizeof(nvlname)); - bcopy(nvlist_get_binary(nvl, nvlname, NULL), - hp->h_addr_list[ii], hp->h_length); - } - hp->h_addr_list[ii] = NULL; - - return (hp); -fail: - hostent_free(hp); - h_errno = NO_RECOVERY; - return (NULL); -} - -struct hostent * -cap_gethostbyname(cap_channel_t *chan, const char *name) -{ - - return (cap_gethostbyname2(chan, name, AF_INET)); -} - -struct hostent * -cap_gethostbyname2(cap_channel_t *chan, const char *name, int type) -{ - struct hostent *hp; - nvlist_t *nvl; - - nvl = nvlist_create(0); - nvlist_add_string(nvl, "cmd", "gethostbyname"); - nvlist_add_number(nvl, "family", (uint64_t)type); - nvlist_add_string(nvl, "name", name); - nvl = cap_xfer_nvlist(chan, nvl, 0); - if (nvl == NULL) { - h_errno = NO_RECOVERY; - return (NULL); - } - if (nvlist_get_number(nvl, "error") != 0) { - h_errno = (int)nvlist_get_number(nvl, "error"); - nvlist_destroy(nvl); - return (NULL); - } - - hp = hostent_unpack(nvl, &hent); - nvlist_destroy(nvl); - return (hp); -} - -struct hostent * -cap_gethostbyaddr(cap_channel_t *chan, const void *addr, socklen_t len, - int type) -{ - struct hostent *hp; - nvlist_t *nvl; - - nvl = nvlist_create(0); - nvlist_add_string(nvl, "cmd", "gethostbyaddr"); - nvlist_add_binary(nvl, "addr", addr, (size_t)len); - nvlist_add_number(nvl, "family", (uint64_t)type); - nvl = cap_xfer_nvlist(chan, nvl, 0); - if (nvl == NULL) { - h_errno = NO_RECOVERY; - return (NULL); - } - if (nvlist_get_number(nvl, "error") != 0) { - h_errno = (int)nvlist_get_number(nvl, "error"); - nvlist_destroy(nvl); - return (NULL); - } - hp = hostent_unpack(nvl, &hent); - nvlist_destroy(nvl); - return (hp); -} - -static struct addrinfo * -addrinfo_unpack(const nvlist_t *nvl) -{ - struct addrinfo *ai; - const void *addr; - size_t addrlen; - const char *canonname; - - addr = nvlist_get_binary(nvl, "ai_addr", &addrlen); - ai = malloc(sizeof(*ai) + addrlen); - if (ai == NULL) - return (NULL); - ai->ai_flags = (int)nvlist_get_number(nvl, "ai_flags"); - ai->ai_family = (int)nvlist_get_number(nvl, "ai_family"); - ai->ai_socktype = (int)nvlist_get_number(nvl, "ai_socktype"); - ai->ai_protocol = (int)nvlist_get_number(nvl, "ai_protocol"); - ai->ai_addrlen = (socklen_t)addrlen; - canonname = nvlist_get_string(nvl, "ai_canonname"); - if (canonname != NULL) { - ai->ai_canonname = strdup(canonname); - if (ai->ai_canonname == NULL) { - free(ai); - return (NULL); - } - } else { - ai->ai_canonname = NULL; - } - ai->ai_addr = (void *)(ai + 1); - bcopy(addr, ai->ai_addr, addrlen); - ai->ai_next = NULL; - - return (ai); -} - -int -cap_getaddrinfo(cap_channel_t *chan, const char *hostname, const char *servname, - const struct addrinfo *hints, struct addrinfo **res) -{ - struct addrinfo *firstai, *prevai, *curai; - unsigned int ii; - const nvlist_t *nvlai; - char nvlname[64]; - nvlist_t *nvl; - int error, n; - - nvl = nvlist_create(0); - nvlist_add_string(nvl, "cmd", "getaddrinfo"); - nvlist_add_string(nvl, "hostname", hostname); - nvlist_add_string(nvl, "servname", servname); - if (hints != NULL) { - nvlist_add_number(nvl, "hints.ai_flags", - (uint64_t)hints->ai_flags); - nvlist_add_number(nvl, "hints.ai_family", - (uint64_t)hints->ai_family); - nvlist_add_number(nvl, "hints.ai_socktype", - (uint64_t)hints->ai_socktype); - nvlist_add_number(nvl, "hints.ai_protocol", - (uint64_t)hints->ai_protocol); - } - nvl = cap_xfer_nvlist(chan, nvl, 0); - if (nvl == NULL) - return (EAI_MEMORY); - if (nvlist_get_number(nvl, "error") != 0) { - error = (int)nvlist_get_number(nvl, "error"); - nvlist_destroy(nvl); - return (error); - } - - nvlai = NULL; - firstai = prevai = curai = NULL; - for (ii = 0; ; ii++) { - n = snprintf(nvlname, sizeof(nvlname), "res%u", ii); - assert(n > 0 && n < (int)sizeof(nvlname)); - if (!nvlist_exists_nvlist(nvl, nvlname)) - break; - nvlai = nvlist_get_nvlist(nvl, nvlname); - curai = addrinfo_unpack(nvlai); - if (curai == NULL) - break; - if (prevai != NULL) - prevai->ai_next = curai; - else if (firstai == NULL) - firstai = curai; - prevai = curai; - } - nvlist_destroy(nvl); - if (curai == NULL && nvlai != NULL) { - if (firstai == NULL) - freeaddrinfo(firstai); - return (EAI_MEMORY); - } - - *res = firstai; - return (0); -} - -int -cap_getnameinfo(cap_channel_t *chan, const struct sockaddr *sa, socklen_t salen, - char *host, size_t hostlen, char *serv, size_t servlen, int flags) -{ - nvlist_t *nvl; - int error; - - nvl = nvlist_create(0); - nvlist_add_string(nvl, "cmd", "getnameinfo"); - nvlist_add_number(nvl, "hostlen", (uint64_t)hostlen); - nvlist_add_number(nvl, "servlen", (uint64_t)servlen); - nvlist_add_binary(nvl, "sa", sa, (size_t)salen); - nvlist_add_number(nvl, "flags", (uint64_t)flags); - nvl = cap_xfer_nvlist(chan, nvl, 0); - if (nvl == NULL) - return (EAI_MEMORY); - if (nvlist_get_number(nvl, "error") != 0) { - error = (int)nvlist_get_number(nvl, "error"); - nvlist_destroy(nvl); - return (error); - } - - if (host != NULL) - strlcpy(host, nvlist_get_string(nvl, "host"), hostlen + 1); - if (serv != NULL) - strlcpy(serv, nvlist_get_string(nvl, "serv"), servlen + 1); - nvlist_destroy(nvl); - return (0); -} - -static void -limit_remove(nvlist_t *limits, const char *prefix) -{ - const char *name; - size_t prefixlen; - void *cookie; - - prefixlen = strlen(prefix); -again: - cookie = NULL; - while ((name = nvlist_next(limits, NULL, &cookie)) != NULL) { - if (strncmp(name, prefix, prefixlen) == 0) { - nvlist_free(limits, name); - goto again; - } - } -} - -int -cap_dns_type_limit(cap_channel_t *chan, const char * const *types, - size_t ntypes) -{ - nvlist_t *limits; - unsigned int i; - char nvlname[64]; - int n; - - if (cap_limit_get(chan, &limits) < 0) - return (-1); - if (limits == NULL) - limits = nvlist_create(0); - else - limit_remove(limits, "type"); - for (i = 0; i < ntypes; i++) { - n = snprintf(nvlname, sizeof(nvlname), "type%u", i); - assert(n > 0 && n < (int)sizeof(nvlname)); - nvlist_add_string(limits, nvlname, types[i]); - } - return (cap_limit_set(chan, limits)); -} - -int -cap_dns_family_limit(cap_channel_t *chan, const int *families, - size_t nfamilies) -{ - nvlist_t *limits; - unsigned int i; - char nvlname[64]; - int n; - - if (cap_limit_get(chan, &limits) < 0) - return (-1); - if (limits == NULL) - limits = nvlist_create(0); - else - limit_remove(limits, "family"); - for (i = 0; i < nfamilies; i++) { - n = snprintf(nvlname, sizeof(nvlname), "family%u", i); - assert(n > 0 && n < (int)sizeof(nvlname)); - nvlist_add_number(limits, nvlname, (uint64_t)families[i]); - } - return (cap_limit_set(chan, limits)); -} diff --git a/lib/libcapsicum/libcapsicum_dns.h b/lib/libcapsicum/libcapsicum_dns.h deleted file mode 100644 index 0223510..0000000 --- a/lib/libcapsicum/libcapsicum_dns.h +++ /dev/null @@ -1,57 +0,0 @@ -/*- - * Copyright (c) 2012 The FreeBSD Foundation - * All rights reserved. - * - * This software was developed by Pawel Jakub Dawidek under sponsorship from - * the FreeBSD Foundation. - * - * 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 AUTHORS 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 AUTHORS 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 _LIBCAPSICUM_DNS_H_ -#define _LIBCAPSICUM_DNS_H_ - -#include /* socklen_t */ - -struct addrinfo; -struct hostent; - -struct hostent *cap_gethostbyname(cap_channel_t *chan, const char *name); -struct hostent *cap_gethostbyname2(cap_channel_t *chan, const char *name, - int type); -struct hostent *cap_gethostbyaddr(cap_channel_t *chan, const void *addr, - socklen_t len, int type); - -int cap_getaddrinfo(cap_channel_t *chan, const char *hostname, - const char *servname, const struct addrinfo *hints, struct addrinfo **res); -int cap_getnameinfo(cap_channel_t *chan, const struct sockaddr *sa, - socklen_t salen, char *host, size_t hostlen, char *serv, size_t servlen, - int flags); - -int cap_dns_type_limit(cap_channel_t *chan, const char * const *types, - size_t ntypes); -int cap_dns_family_limit(cap_channel_t *chan, const int *families, - size_t nfamilies); - -#endif /* !_LIBCAPSICUM_DNS_H_ */ diff --git a/lib/libcapsicum/libcapsicum_grp.c b/lib/libcapsicum/libcapsicum_grp.c deleted file mode 100644 index 44d573e..0000000 --- a/lib/libcapsicum/libcapsicum_grp.c +++ /dev/null @@ -1,438 +0,0 @@ -/*- - * Copyright (c) 2013 The FreeBSD Foundation - * All rights reserved. - * - * This software was developed by Pawel Jakub Dawidek under sponsorship from - * the FreeBSD Foundation. - * - * 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 AUTHORS 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 AUTHORS 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 -#include -#include -#include -#include -#include - -#include "libcapsicum.h" -#include "libcapsicum_grp.h" - -static struct group ggrp; -static char *gbuffer; -static size_t gbufsize; - -static int -group_resize(void) -{ - char *buf; - - if (gbufsize == 0) - gbufsize = 1024; - else - gbufsize *= 2; - - buf = gbuffer; - gbuffer = realloc(buf, gbufsize); - if (gbuffer == NULL) { - free(buf); - gbufsize = 0; - return (ENOMEM); - } - memset(gbuffer, 0, gbufsize); - - return (0); -} - -static int -group_unpack_string(const nvlist_t *nvl, const char *fieldname, char **fieldp, - char **bufferp, size_t *bufsizep) -{ - const char *str; - size_t len; - - str = nvlist_get_string(nvl, fieldname); - len = strlcpy(*bufferp, str, *bufsizep); - if (len >= *bufsizep) - return (ERANGE); - *fieldp = *bufferp; - *bufferp += len + 1; - *bufsizep -= len + 1; - - return (0); -} - -static int -group_unpack_members(const nvlist_t *nvl, char ***fieldp, char **bufferp, - size_t *bufsizep) -{ - const char *mem; - char **outstrs, *str, nvlname[64]; - size_t nmem, datasize, strsize; - unsigned int ii; - int n; - - if (!nvlist_exists_number(nvl, "gr_nmem")) { - datasize = _ALIGNBYTES + sizeof(char *); - if (datasize >= *bufsizep) - return (ERANGE); - outstrs = (char **)_ALIGN(*bufferp); - outstrs[0] = NULL; - *fieldp = outstrs; - *bufferp += datasize; - *bufsizep -= datasize; - return (0); - } - - nmem = (size_t)nvlist_get_number(nvl, "gr_nmem"); - datasize = _ALIGNBYTES + sizeof(char *) * (nmem + 1); - for (ii = 0; ii < nmem; ii++) { - n = snprintf(nvlname, sizeof(nvlname), "gr_mem[%u]", ii); - assert(n > 0 && n < (int)sizeof(nvlname)); - mem = dnvlist_get_string(nvl, nvlname, NULL); - if (mem == NULL) - return (EINVAL); - datasize += strlen(mem) + 1; - } - - if (datasize >= *bufsizep) - return (ERANGE); - - outstrs = (char **)_ALIGN(*bufferp); - str = (char *)outstrs + sizeof(char *) * (nmem + 1); - for (ii = 0; ii < nmem; ii++) { - n = snprintf(nvlname, sizeof(nvlname), "gr_mem[%u]", ii); - assert(n > 0 && n < (int)sizeof(nvlname)); - mem = nvlist_get_string(nvl, nvlname); - strsize = strlen(mem) + 1; - memcpy(str, mem, strsize); - outstrs[ii] = str; - str += strsize; - } - assert(ii == nmem); - outstrs[ii] = NULL; - - *fieldp = outstrs; - *bufferp += datasize; - *bufsizep -= datasize; - - return (0); -} - -static int -group_unpack(const nvlist_t *nvl, struct group *grp, char *buffer, - size_t bufsize) -{ - int error; - - if (!nvlist_exists_string(nvl, "gr_name")) - return (EINVAL); - - memset(grp, 0, sizeof(*grp)); - - error = group_unpack_string(nvl, "gr_name", &grp->gr_name, &buffer, - &bufsize); - if (error != 0) - return (error); - error = group_unpack_string(nvl, "gr_passwd", &grp->gr_passwd, &buffer, - &bufsize); - if (error != 0) - return (error); - grp->gr_gid = (gid_t)nvlist_get_number(nvl, "gr_gid"); - error = group_unpack_members(nvl, &grp->gr_mem, &buffer, &bufsize); - if (error != 0) - return (error); - - return (0); -} - -static int -cap_getgrcommon_r(cap_channel_t *chan, const char *cmd, const char *name, - gid_t gid, struct group *grp, char *buffer, size_t bufsize, - struct group **result) -{ - nvlist_t *nvl; - bool getgr_r; - int error; - - nvl = nvlist_create(0); - nvlist_add_string(nvl, "cmd", cmd); - if (strcmp(cmd, "getgrent") == 0 || strcmp(cmd, "getgrent_r") == 0) { - /* Add nothing. */ - } else if (strcmp(cmd, "getgrnam") == 0 || - strcmp(cmd, "getgrnam_r") == 0) { - nvlist_add_string(nvl, "name", name); - } else if (strcmp(cmd, "getgrgid") == 0 || - strcmp(cmd, "getgrgid_r") == 0) { - nvlist_add_number(nvl, "gid", (uint64_t)gid); - } else { - abort(); - } - nvl = cap_xfer_nvlist(chan, nvl, 0); - if (nvl == NULL) { - assert(errno != 0); - *result = NULL; - return (errno); - } - error = (int)nvlist_get_number(nvl, "error"); - if (error != 0) { - nvlist_destroy(nvl); - *result = NULL; - return (error); - } - - if (!nvlist_exists_string(nvl, "gr_name")) { - /* Not found. */ - nvlist_destroy(nvl); - *result = NULL; - return (0); - } - - getgr_r = (strcmp(cmd, "getgrent_r") == 0 || - strcmp(cmd, "getgrnam_r") == 0 || strcmp(cmd, "getgrgid_r") == 0); - - for (;;) { - error = group_unpack(nvl, grp, buffer, bufsize); - if (getgr_r || error != ERANGE) - break; - assert(buffer == gbuffer); - assert(bufsize == gbufsize); - error = group_resize(); - if (error != 0) - break; - /* Update pointers after resize. */ - buffer = gbuffer; - bufsize = gbufsize; - } - - nvlist_destroy(nvl); - - if (error == 0) - *result = grp; - else - *result = NULL; - - return (error); -} - -static struct group * -cap_getgrcommon(cap_channel_t *chan, const char *cmd, const char *name, - gid_t gid) -{ - struct group *result; - int error, serrno; - - serrno = errno; - - error = cap_getgrcommon_r(chan, cmd, name, gid, &ggrp, gbuffer, - gbufsize, &result); - if (error != 0) { - errno = error; - return (NULL); - } - - errno = serrno; - - return (result); -} - -struct group * -cap_getgrent(cap_channel_t *chan) -{ - - return (cap_getgrcommon(chan, "getgrent", NULL, 0)); -} - -struct group * -cap_getgrnam(cap_channel_t *chan, const char *name) -{ - - return (cap_getgrcommon(chan, "getgrnam", name, 0)); -} - -struct group * -cap_getgrgid(cap_channel_t *chan, gid_t gid) -{ - - return (cap_getgrcommon(chan, "getgrgid", NULL, gid)); -} - -int -cap_getgrent_r(cap_channel_t *chan, struct group *grp, char *buffer, - size_t bufsize, struct group **result) -{ - - return (cap_getgrcommon_r(chan, "getgrent_r", NULL, 0, grp, buffer, - bufsize, result)); -} - -int -cap_getgrnam_r(cap_channel_t *chan, const char *name, struct group *grp, - char *buffer, size_t bufsize, struct group **result) -{ - - return (cap_getgrcommon_r(chan, "getgrnam_r", name, 0, grp, buffer, - bufsize, result)); -} - -int -cap_getgrgid_r(cap_channel_t *chan, gid_t gid, struct group *grp, char *buffer, - size_t bufsize, struct group **result) -{ - - return (cap_getgrcommon_r(chan, "getgrgid_r", NULL, gid, grp, buffer, - bufsize, result)); -} - -int -cap_setgroupent(cap_channel_t *chan, int stayopen) -{ - nvlist_t *nvl; - - nvl = nvlist_create(0); - nvlist_add_string(nvl, "cmd", "setgroupent"); - nvlist_add_bool(nvl, "stayopen", stayopen != 0); - nvl = cap_xfer_nvlist(chan, nvl, 0); - if (nvl == NULL) - return (0); - if (nvlist_get_number(nvl, "error") != 0) { - errno = nvlist_get_number(nvl, "error"); - nvlist_destroy(nvl); - return (0); - } - nvlist_destroy(nvl); - - return (1); -} - -int -cap_setgrent(cap_channel_t *chan) -{ - nvlist_t *nvl; - - nvl = nvlist_create(0); - nvlist_add_string(nvl, "cmd", "setgrent"); - nvl = cap_xfer_nvlist(chan, nvl, 0); - if (nvl == NULL) - return (0); - if (nvlist_get_number(nvl, "error") != 0) { - errno = nvlist_get_number(nvl, "error"); - nvlist_destroy(nvl); - return (0); - } - nvlist_destroy(nvl); - - return (1); -} - -void -cap_endgrent(cap_channel_t *chan) -{ - nvlist_t *nvl; - - nvl = nvlist_create(0); - nvlist_add_string(nvl, "cmd", "endgrent"); - /* Ignore any errors, we have no way to report them. */ - nvlist_destroy(cap_xfer_nvlist(chan, nvl, 0)); -} - -int -cap_grp_limit_cmds(cap_channel_t *chan, const char * const *cmds, size_t ncmds) -{ - nvlist_t *limits, *nvl; - unsigned int i; - - if (cap_limit_get(chan, &limits) < 0) - return (-1); - if (limits == NULL) { - limits = nvlist_create(0); - } else { - if (nvlist_exists_nvlist(limits, "cmds")) - nvlist_free_nvlist(limits, "cmds"); - } - nvl = nvlist_create(0); - for (i = 0; i < ncmds; i++) - nvlist_add_null(nvl, cmds[i]); - nvlist_move_nvlist(limits, "cmds", nvl); - return (cap_limit_set(chan, limits)); -} - -int -cap_grp_limit_fields(cap_channel_t *chan, const char * const *fields, - size_t nfields) -{ - nvlist_t *limits, *nvl; - unsigned int i; - - if (cap_limit_get(chan, &limits) < 0) - return (-1); - if (limits == NULL) { - limits = nvlist_create(0); - } else { - if (nvlist_exists_nvlist(limits, "fields")) - nvlist_free_nvlist(limits, "fields"); - } - nvl = nvlist_create(0); - for (i = 0; i < nfields; i++) - nvlist_add_null(nvl, fields[i]); - nvlist_move_nvlist(limits, "fields", nvl); - return (cap_limit_set(chan, limits)); -} - -int -cap_grp_limit_groups(cap_channel_t *chan, const char * const *names, - size_t nnames, gid_t *gids, size_t ngids) -{ - nvlist_t *limits, *groups; - unsigned int i; - char nvlname[64]; - int n; - - if (cap_limit_get(chan, &limits) < 0) - return (-1); - if (limits == NULL) { - limits = nvlist_create(0); - } else { - if (nvlist_exists_nvlist(limits, "groups")) - nvlist_free_nvlist(limits, "groups"); - } - groups = nvlist_create(0); - for (i = 0; i < ngids; i++) { - n = snprintf(nvlname, sizeof(nvlname), "gid%u", i); - assert(n > 0 && n < (int)sizeof(nvlname)); - nvlist_add_number(groups, nvlname, (uint64_t)gids[i]); - } - for (i = 0; i < nnames; i++) { - n = snprintf(nvlname, sizeof(nvlname), "gid%u", i); - assert(n > 0 && n < (int)sizeof(nvlname)); - nvlist_add_string(groups, nvlname, names[i]); - } - nvlist_move_nvlist(limits, "groups", groups); - return (cap_limit_set(chan, limits)); -} diff --git a/lib/libcapsicum/libcapsicum_grp.h b/lib/libcapsicum/libcapsicum_grp.h deleted file mode 100644 index e0b44f0..0000000 --- a/lib/libcapsicum/libcapsicum_grp.h +++ /dev/null @@ -1,57 +0,0 @@ -/*- - * Copyright (c) 2013 The FreeBSD Foundation - * All rights reserved. - * - * This software was developed by Pawel Jakub Dawidek under sponsorship from - * the FreeBSD Foundation. - * - * 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 AUTHORS 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 AUTHORS 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 _LIBCAPSICUM_GRP_H_ -#define _LIBCAPSICUM_GRP_H_ - -struct group *cap_getgrent(cap_channel_t *chan); -struct group *cap_getgrnam(cap_channel_t *chan, const char *name); -struct group *cap_getgrgid(cap_channel_t *chan, gid_t gid); - -int cap_getgrent_r(cap_channel_t *chan, struct group *grp, char *buffer, - size_t bufsize, struct group **result); -int cap_getgrnam_r(cap_channel_t *chan, const char *name, struct group *grp, - char *buffer, size_t bufsize, struct group **result); -int cap_getgrgid_r(cap_channel_t *chan, gid_t gid, struct group *grp, - char *buffer, size_t bufsize, struct group **result); - -int cap_setgroupent(cap_channel_t *chan, int stayopen); -int cap_setgrent(cap_channel_t *chan); -void cap_endgrent(cap_channel_t *chan); - -int cap_grp_limit_cmds(cap_channel_t *chan, const char * const *cmds, - size_t ncmds); -int cap_grp_limit_fields(cap_channel_t *chan, const char * const *fields, - size_t nfields); -int cap_grp_limit_groups(cap_channel_t *chan, const char * const *names, - size_t nnames, gid_t *gids, size_t ngids); - -#endif /* !_LIBCAPSICUM_GRP_H_ */ diff --git a/lib/libcapsicum/libcapsicum_impl.h b/lib/libcapsicum/libcapsicum_impl.h deleted file mode 100644 index ce6f49f..0000000 --- a/lib/libcapsicum/libcapsicum_impl.h +++ /dev/null @@ -1,39 +0,0 @@ -/*- - * Copyright (c) 2012-2013 The FreeBSD Foundation - * All rights reserved. - * - * This software was developed by Pawel Jakub Dawidek under sponsorship from - * the FreeBSD Foundation. - * - * 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 AUTHORS 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 AUTHORS 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 _LIBCAPSICUM_IMPL_H_ -#define _LIBCAPSICUM_IMPL_H_ - -#define CASPER_SOCKPATH "/var/run/casper" - -bool fd_is_valid(int fd); - -#endif /* !_LIBCAPSICUM_IMPL_H_ */ diff --git a/lib/libcapsicum/libcapsicum_pwd.c b/lib/libcapsicum/libcapsicum_pwd.c deleted file mode 100644 index 5b44c34..0000000 --- a/lib/libcapsicum/libcapsicum_pwd.c +++ /dev/null @@ -1,391 +0,0 @@ -/*- - * Copyright (c) 2013 The FreeBSD Foundation - * All rights reserved. - * - * This software was developed by Pawel Jakub Dawidek under sponsorship from - * the FreeBSD Foundation. - * - * 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 AUTHORS 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 AUTHORS 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 -#include -#include -#include -#include - -#include "libcapsicum.h" -#include "libcapsicum_pwd.h" - -static struct passwd gpwd; -static char *gbuffer; -static size_t gbufsize; - -static int -passwd_resize(void) -{ - char *buf; - - if (gbufsize == 0) - gbufsize = 1024; - else - gbufsize *= 2; - - buf = gbuffer; - gbuffer = realloc(buf, gbufsize); - if (gbuffer == NULL) { - free(buf); - gbufsize = 0; - return (ENOMEM); - } - memset(gbuffer, 0, gbufsize); - - return (0); -} - -static int -passwd_unpack_string(const nvlist_t *nvl, const char *fieldname, char **fieldp, - char **bufferp, size_t *bufsizep) -{ - const char *str; - size_t len; - - str = nvlist_get_string(nvl, fieldname); - len = strlcpy(*bufferp, str, *bufsizep); - if (len >= *bufsizep) - return (ERANGE); - *fieldp = *bufferp; - *bufferp += len + 1; - *bufsizep -= len + 1; - - return (0); -} - -static int -passwd_unpack(const nvlist_t *nvl, struct passwd *pwd, char *buffer, - size_t bufsize) -{ - int error; - - if (!nvlist_exists_string(nvl, "pw_name")) - return (EINVAL); - - memset(pwd, 0, sizeof(*pwd)); - - error = passwd_unpack_string(nvl, "pw_name", &pwd->pw_name, &buffer, - &bufsize); - if (error != 0) - return (error); - pwd->pw_uid = (uid_t)nvlist_get_number(nvl, "pw_uid"); - pwd->pw_gid = (gid_t)nvlist_get_number(nvl, "pw_gid"); - pwd->pw_change = (time_t)nvlist_get_number(nvl, "pw_change"); - error = passwd_unpack_string(nvl, "pw_passwd", &pwd->pw_passwd, &buffer, - &bufsize); - if (error != 0) - return (error); - error = passwd_unpack_string(nvl, "pw_class", &pwd->pw_class, &buffer, - &bufsize); - if (error != 0) - return (error); - error = passwd_unpack_string(nvl, "pw_gecos", &pwd->pw_gecos, &buffer, - &bufsize); - if (error != 0) - return (error); - error = passwd_unpack_string(nvl, "pw_dir", &pwd->pw_dir, &buffer, - &bufsize); - if (error != 0) - return (error); - error = passwd_unpack_string(nvl, "pw_shell", &pwd->pw_shell, &buffer, - &bufsize); - if (error != 0) - return (error); - pwd->pw_expire = (time_t)nvlist_get_number(nvl, "pw_expire"); - pwd->pw_fields = (int)nvlist_get_number(nvl, "pw_fields"); - - return (0); -} - -static int -cap_getpwcommon_r(cap_channel_t *chan, const char *cmd, const char *login, - uid_t uid, struct passwd *pwd, char *buffer, size_t bufsize, - struct passwd **result) -{ - nvlist_t *nvl; - bool getpw_r; - int error; - - nvl = nvlist_create(0); - nvlist_add_string(nvl, "cmd", cmd); - if (strcmp(cmd, "getpwent") == 0 || strcmp(cmd, "getpwent_r") == 0) { - /* Add nothing. */ - } else if (strcmp(cmd, "getpwnam") == 0 || - strcmp(cmd, "getpwnam_r") == 0) { - nvlist_add_string(nvl, "name", login); - } else if (strcmp(cmd, "getpwuid") == 0 || - strcmp(cmd, "getpwuid_r") == 0) { - nvlist_add_number(nvl, "uid", (uint64_t)uid); - } else { - abort(); - } - nvl = cap_xfer_nvlist(chan, nvl, 0); - if (nvl == NULL) { - assert(errno != 0); - *result = NULL; - return (errno); - } - error = (int)nvlist_get_number(nvl, "error"); - if (error != 0) { - nvlist_destroy(nvl); - *result = NULL; - return (error); - } - - if (!nvlist_exists_string(nvl, "pw_name")) { - /* Not found. */ - nvlist_destroy(nvl); - *result = NULL; - return (0); - } - - getpw_r = (strcmp(cmd, "getpwent_r") == 0 || - strcmp(cmd, "getpwnam_r") == 0 || strcmp(cmd, "getpwuid_r") == 0); - - for (;;) { - error = passwd_unpack(nvl, pwd, buffer, bufsize); - if (getpw_r || error != ERANGE) - break; - assert(buffer == gbuffer); - assert(bufsize == gbufsize); - error = passwd_resize(); - if (error != 0) - break; - /* Update pointers after resize. */ - buffer = gbuffer; - bufsize = gbufsize; - } - - nvlist_destroy(nvl); - - if (error == 0) - *result = pwd; - else - *result = NULL; - - return (error); -} - -static struct passwd * -cap_getpwcommon(cap_channel_t *chan, const char *cmd, const char *login, - uid_t uid) -{ - struct passwd *result; - int error, serrno; - - serrno = errno; - - error = cap_getpwcommon_r(chan, cmd, login, uid, &gpwd, gbuffer, - gbufsize, &result); - if (error != 0) { - errno = error; - return (NULL); - } - - errno = serrno; - - return (result); -} - -struct passwd * -cap_getpwent(cap_channel_t *chan) -{ - - return (cap_getpwcommon(chan, "getpwent", NULL, 0)); -} - -struct passwd * -cap_getpwnam(cap_channel_t *chan, const char *login) -{ - - return (cap_getpwcommon(chan, "getpwnam", login, 0)); -} - -struct passwd * -cap_getpwuid(cap_channel_t *chan, uid_t uid) -{ - - return (cap_getpwcommon(chan, "getpwuid", NULL, uid)); -} - -int -cap_getpwent_r(cap_channel_t *chan, struct passwd *pwd, char *buffer, - size_t bufsize, struct passwd **result) -{ - - return (cap_getpwcommon_r(chan, "getpwent_r", NULL, 0, pwd, buffer, - bufsize, result)); -} - -int -cap_getpwnam_r(cap_channel_t *chan, const char *name, struct passwd *pwd, - char *buffer, size_t bufsize, struct passwd **result) -{ - - return (cap_getpwcommon_r(chan, "getpwnam_r", name, 0, pwd, buffer, - bufsize, result)); -} - -int -cap_getpwuid_r(cap_channel_t *chan, uid_t uid, struct passwd *pwd, char *buffer, - size_t bufsize, struct passwd **result) -{ - - return (cap_getpwcommon_r(chan, "getpwuid_r", NULL, uid, pwd, buffer, - bufsize, result)); -} - -int -cap_setpassent(cap_channel_t *chan, int stayopen) -{ - nvlist_t *nvl; - - nvl = nvlist_create(0); - nvlist_add_string(nvl, "cmd", "setpassent"); - nvlist_add_bool(nvl, "stayopen", stayopen != 0); - nvl = cap_xfer_nvlist(chan, nvl, 0); - if (nvl == NULL) - return (0); - if (nvlist_get_number(nvl, "error") != 0) { - errno = nvlist_get_number(nvl, "error"); - nvlist_destroy(nvl); - return (0); - } - nvlist_destroy(nvl); - - return (1); -} - -static void -cap_set_end_pwent(cap_channel_t *chan, const char *cmd) -{ - nvlist_t *nvl; - - nvl = nvlist_create(0); - nvlist_add_string(nvl, "cmd", cmd); - /* Ignore any errors, we have no way to report them. */ - nvlist_destroy(cap_xfer_nvlist(chan, nvl, 0)); -} - -void -cap_setpwent(cap_channel_t *chan) -{ - - cap_set_end_pwent(chan, "setpwent"); -} - -void -cap_endpwent(cap_channel_t *chan) -{ - - cap_set_end_pwent(chan, "endpwent"); -} - -int -cap_pwd_limit_cmds(cap_channel_t *chan, const char * const *cmds, size_t ncmds) -{ - nvlist_t *limits, *nvl; - unsigned int i; - - if (cap_limit_get(chan, &limits) < 0) - return (-1); - if (limits == NULL) { - limits = nvlist_create(0); - } else { - if (nvlist_exists_nvlist(limits, "cmds")) - nvlist_free_nvlist(limits, "cmds"); - } - nvl = nvlist_create(0); - for (i = 0; i < ncmds; i++) - nvlist_add_null(nvl, cmds[i]); - nvlist_move_nvlist(limits, "cmds", nvl); - return (cap_limit_set(chan, limits)); -} - -int -cap_pwd_limit_fields(cap_channel_t *chan, const char * const *fields, - size_t nfields) -{ - nvlist_t *limits, *nvl; - unsigned int i; - - if (cap_limit_get(chan, &limits) < 0) - return (-1); - if (limits == NULL) { - limits = nvlist_create(0); - } else { - if (nvlist_exists_nvlist(limits, "fields")) - nvlist_free_nvlist(limits, "fields"); - } - nvl = nvlist_create(0); - for (i = 0; i < nfields; i++) - nvlist_add_null(nvl, fields[i]); - nvlist_move_nvlist(limits, "fields", nvl); - return (cap_limit_set(chan, limits)); -} - -int -cap_pwd_limit_users(cap_channel_t *chan, const char * const *names, - size_t nnames, uid_t *uids, size_t nuids) -{ - nvlist_t *limits, *users; - char nvlname[64]; - unsigned int i; - int n; - - if (cap_limit_get(chan, &limits) < 0) - return (-1); - if (limits == NULL) { - limits = nvlist_create(0); - } else { - if (nvlist_exists_nvlist(limits, "users")) - nvlist_free_nvlist(limits, "users"); - } - users = nvlist_create(0); - for (i = 0; i < nuids; i++) { - n = snprintf(nvlname, sizeof(nvlname), "uid%u", i); - assert(n > 0 && n < (int)sizeof(nvlname)); - nvlist_add_number(users, nvlname, (uint64_t)uids[i]); - } - for (i = 0; i < nnames; i++) { - n = snprintf(nvlname, sizeof(nvlname), "name%u", i); - assert(n > 0 && n < (int)sizeof(nvlname)); - nvlist_add_string(users, nvlname, names[i]); - } - nvlist_move_nvlist(limits, "users", users); - return (cap_limit_set(chan, limits)); -} diff --git a/lib/libcapsicum/libcapsicum_pwd.h b/lib/libcapsicum/libcapsicum_pwd.h deleted file mode 100644 index 960a490..0000000 --- a/lib/libcapsicum/libcapsicum_pwd.h +++ /dev/null @@ -1,57 +0,0 @@ -/*- - * Copyright (c) 2013 The FreeBSD Foundation - * All rights reserved. - * - * This software was developed by Pawel Jakub Dawidek under sponsorship from - * the FreeBSD Foundation. - * - * 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 AUTHORS 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 AUTHORS 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 _LIBCAPSICUM_PWD_H_ -#define _LIBCAPSICUM_PWD_H_ - -struct passwd *cap_getpwent(cap_channel_t *chan); -struct passwd *cap_getpwnam(cap_channel_t *chan, const char *login); -struct passwd *cap_getpwuid(cap_channel_t *chan, uid_t uid); - -int cap_getpwent_r(cap_channel_t *chan, struct passwd *pwd, char *buffer, - size_t bufsize, struct passwd **result); -int cap_getpwnam_r(cap_channel_t *chan, const char *name, struct passwd *pwd, - char *buffer, size_t bufsize, struct passwd **result); -int cap_getpwuid_r(cap_channel_t *chan, uid_t uid, struct passwd *pwd, - char *buffer, size_t bufsize, struct passwd **result); - -int cap_setpassent(cap_channel_t *chan, int stayopen); -void cap_setpwent(cap_channel_t *chan); -void cap_endpwent(cap_channel_t *chan); - -int cap_pwd_limit_cmds(cap_channel_t *chan, const char * const *cmds, - size_t ncmds); -int cap_pwd_limit_fields(cap_channel_t *chan, const char * const *fields, - size_t nfields); -int cap_pwd_limit_users(cap_channel_t *chan, const char * const *names, - size_t nnames, uid_t *uids, size_t nuids); - -#endif /* !_LIBCAPSICUM_PWD_H_ */ diff --git a/lib/libcapsicum/libcapsicum_random.c b/lib/libcapsicum/libcapsicum_random.c deleted file mode 100644 index 2a7b109..0000000 --- a/lib/libcapsicum/libcapsicum_random.c +++ /dev/null @@ -1,80 +0,0 @@ -/*- - * Copyright (c) 2013 The FreeBSD Foundation - * All rights reserved. - * - * This software was developed by Pawel Jakub Dawidek under sponsorship from - * the FreeBSD Foundation. - * - * 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 AUTHORS 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 AUTHORS 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 - -#include "libcapsicum.h" -#include "libcapsicum_random.h" - -#define MAXSIZE (1024 * 1024) - -int -cap_random_buf(cap_channel_t *chan, void *buf, size_t nbytes) -{ - nvlist_t *nvl; - const void *randbuf; - uint8_t *ptr; - size_t left, randbufsize; - - left = nbytes; - ptr = buf; - - while (left > 0) { - nvl = nvlist_create(0); - nvlist_add_string(nvl, "cmd", "generate"); - nvlist_add_number(nvl, "size", - (uint64_t)(left > MAXSIZE ? MAXSIZE : left)); - nvl = cap_xfer_nvlist(chan, nvl, 0); - if (nvl == NULL) - return (-1); - if (nvlist_get_number(nvl, "error") != 0) { - errno = (int)nvlist_get_number(nvl, "error"); - nvlist_destroy(nvl); - return (-1); - } - - randbuf = nvlist_get_binary(nvl, "data", &randbufsize); - memcpy(ptr, randbuf, randbufsize); - - nvlist_destroy(nvl); - - ptr += randbufsize; - assert(left >= randbufsize); - left -= randbufsize; - } - - return (0); -} diff --git a/lib/libcapsicum/libcapsicum_random.h b/lib/libcapsicum/libcapsicum_random.h deleted file mode 100644 index 672afa0..0000000 --- a/lib/libcapsicum/libcapsicum_random.h +++ /dev/null @@ -1,37 +0,0 @@ -/*- - * Copyright (c) 2013 The FreeBSD Foundation - * All rights reserved. - * - * This software was developed by Pawel Jakub Dawidek under sponsorship from - * the FreeBSD Foundation. - * - * 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 AUTHORS 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 AUTHORS 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 _LIBCAPSICUM_RANDOM_H_ -#define _LIBCAPSICUM_RANDOM_H_ - -int cap_random_buf(cap_channel_t *chan, void *buf, size_t nbytes); - -#endif /* !_LIBCAPSICUM_RANDOM_H_ */ diff --git a/lib/libcapsicum/libcapsicum_service.c b/lib/libcapsicum/libcapsicum_service.c deleted file mode 100644 index 6b6ceea..0000000 --- a/lib/libcapsicum/libcapsicum_service.c +++ /dev/null @@ -1,97 +0,0 @@ -/*- - * Copyright (c) 2013 The FreeBSD Foundation - * All rights reserved. - * - * This software was developed by Pawel Jakub Dawidek under sponsorship from - * the FreeBSD Foundation. - * - * 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 AUTHORS 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 AUTHORS 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 -#include - -#include "msgio.h" - -#include "libcapsicum.h" -#include "libcapsicum_impl.h" -#include "libcapsicum_service.h" - -cap_channel_t * -cap_service_open(const cap_channel_t *chan, const char *name) -{ - cap_channel_t *newchan; - nvlist_t *nvl; - int sock, error; - - sock = -1; - - nvl = nvlist_create(0); - nvlist_add_string(nvl, "cmd", "open"); - nvlist_add_string(nvl, "service", name); - if (fd_is_valid(STDERR_FILENO)) - nvlist_add_descriptor(nvl, "stderrfd", STDERR_FILENO); - nvl = cap_xfer_nvlist(chan, nvl, 0); - if (nvl == NULL) - return (NULL); - error = (int)nvlist_get_number(nvl, "error"); - if (error != 0) { - nvlist_destroy(nvl); - errno = error; - return (NULL); - } - sock = nvlist_take_descriptor(nvl, "chanfd"); - assert(sock >= 0); - nvlist_destroy(nvl); - nvl = NULL; - if (cred_send(sock) == -1) - goto fail; - newchan = cap_wrap(sock); - if (newchan == NULL) - goto fail; - return (newchan); -fail: - error = errno; - close(sock); - errno = error; - return (NULL); -} - -int -cap_service_limit(const cap_channel_t *chan, const char * const *names, - size_t nnames) -{ - nvlist_t *limits; - unsigned int i; - - limits = nvlist_create(0); - for (i = 0; i < nnames; i++) - nvlist_add_null(limits, names[i]); - return (cap_limit_set(chan, limits)); -} diff --git a/lib/libcapsicum/libcapsicum_service.h b/lib/libcapsicum/libcapsicum_service.h deleted file mode 100644 index 05c654f..0000000 --- a/lib/libcapsicum/libcapsicum_service.h +++ /dev/null @@ -1,40 +0,0 @@ -/*- - * Copyright (c) 2013 The FreeBSD Foundation - * All rights reserved. - * - * This software was developed by Pawel Jakub Dawidek under sponsorship from - * the FreeBSD Foundation. - * - * 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 AUTHORS 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 AUTHORS 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 _LIBCAPSICUM_SERVICE_H_ -#define _LIBCAPSICUM_SERVICE_H_ - -cap_channel_t *cap_service_open(const cap_channel_t *chan, const char *name); - -int cap_service_limit(const cap_channel_t *chan, const char * const *names, - size_t nnames); - -#endif /* !_LIBCAPSICUM_SERVICE_H_ */ diff --git a/lib/libcapsicum/libcapsicum_sysctl.c b/lib/libcapsicum/libcapsicum_sysctl.c deleted file mode 100644 index 3f1ccd9..0000000 --- a/lib/libcapsicum/libcapsicum_sysctl.c +++ /dev/null @@ -1,86 +0,0 @@ -/*- - * Copyright (c) 2013 The FreeBSD Foundation - * All rights reserved. - * - * This software was developed by Pawel Jakub Dawidek under sponsorship from - * the FreeBSD Foundation. - * - * 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 AUTHORS 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 AUTHORS 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 "libcapsicum.h" -#include "libcapsicum_sysctl.h" - -int -cap_sysctlbyname(cap_channel_t *chan, const char *name, void *oldp, - size_t *oldlenp, const void *newp, size_t newlen) -{ - nvlist_t *nvl; - const uint8_t *retoldp; - uint8_t operation; - size_t oldlen; - - operation = 0; - if (oldp != NULL) - operation |= CAP_SYSCTL_READ; - if (newp != NULL) - operation |= CAP_SYSCTL_WRITE; - - nvl = nvlist_create(0); - nvlist_add_string(nvl, "cmd", "sysctl"); - nvlist_add_string(nvl, "name", name); - nvlist_add_number(nvl, "operation", (uint64_t)operation); - if (oldp == NULL && oldlenp != NULL) - nvlist_add_null(nvl, "justsize"); - else if (oldlenp != NULL) - nvlist_add_number(nvl, "oldlen", (uint64_t)*oldlenp); - if (newp != NULL) - nvlist_add_binary(nvl, "newp", newp, newlen); - nvl = cap_xfer_nvlist(chan, nvl, 0); - if (nvl == NULL) - return (-1); - if (nvlist_get_number(nvl, "error") != 0) { - errno = (int)nvlist_get_number(nvl, "error"); - nvlist_destroy(nvl); - return (-1); - } - - if (oldp == NULL && oldlenp != NULL) { - *oldlenp = (size_t)nvlist_get_number(nvl, "oldlen"); - } else if (oldp != NULL) { - retoldp = nvlist_get_binary(nvl, "oldp", &oldlen); - memcpy(oldp, retoldp, oldlen); - if (oldlenp != NULL) - *oldlenp = oldlen; - } - nvlist_destroy(nvl); - - return (0); -} diff --git a/lib/libcapsicum/libcapsicum_sysctl.h b/lib/libcapsicum/libcapsicum_sysctl.h deleted file mode 100644 index d0df143..0000000 --- a/lib/libcapsicum/libcapsicum_sysctl.h +++ /dev/null @@ -1,43 +0,0 @@ -/*- - * Copyright (c) 2013 The FreeBSD Foundation - * All rights reserved. - * - * This software was developed by Pawel Jakub Dawidek under sponsorship from - * the FreeBSD Foundation. - * - * 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 AUTHORS 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 AUTHORS 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 _LIBCAPSICUM_SYSCTL_H_ -#define _LIBCAPSICUM_SYSCTL_H_ - -#define CAP_SYSCTL_READ 0x01 -#define CAP_SYSCTL_WRITE 0x02 -#define CAP_SYSCTL_RDWR (CAP_SYSCTL_READ | CAP_SYSCTL_WRITE) -#define CAP_SYSCTL_RECURSIVE 0x04 - -int cap_sysctlbyname(cap_channel_t *chan, const char *name, void *oldp, - size_t *oldlenp, const void *newp, size_t newlen); - -#endif /* !_LIBCAPSICUM_SYSCTL_H_ */ diff --git a/lib/libcasper/Makefile b/lib/libcasper/Makefile index e57accd..af0701b 100644 --- a/lib/libcasper/Makefile +++ b/lib/libcasper/Makefile @@ -1,19 +1,6 @@ # $FreeBSD$ -LIB= casper +SUBDIR= libcasper +SUBDIR+= services -SHLIB_MAJOR= 0 -SHLIBDIR?= /lib - -SRCS= libcasper.c -INCS= libcasper.h - -LIBADD= capsicum nv pjdlog - -CFLAGS+=-I${.CURDIR} -CFLAGS+=-I${.CURDIR}/../libpjdlog -CFLAGS+=-I${.CURDIR}/../../sbin/casper - -WARNS?= 6 - -.include +.include diff --git a/lib/libcasper/libcasper.c b/lib/libcasper/libcasper.c deleted file mode 100644 index e241888..0000000 --- a/lib/libcasper/libcasper.c +++ /dev/null @@ -1,441 +0,0 @@ -/*- - * Copyright (c) 2013 The FreeBSD Foundation - * All rights reserved. - * - * This software was developed by Pawel Jakub Dawidek under sponsorship from - * the FreeBSD Foundation. - * - * 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 AUTHORS 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 AUTHORS 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 -#include -#include -#include - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include -#include -#include -#include - -/* - * Currently there is only one service_connection per service. - * In the future we may want multiple connections from multiple clients - * per one service instance, but it has to be carefully designed. - * The problem is that we may restrict/sandbox service instance according - * to the limits provided. When new connection comes in with different - * limits we won't be able to access requested resources. - * Not to mention one process will serve to mutiple mutually untrusted - * clients and compromise of this service instance by one of its clients - * can lead to compromise of the other clients. - */ - -/* - * Client connections to the given service. - */ -#define SERVICE_CONNECTION_MAGIC 0x5e91c0ec -struct service_connection { - int sc_magic; - cap_channel_t *sc_chan; - nvlist_t *sc_limits; - TAILQ_ENTRY(service_connection) sc_next; -}; - -#define SERVICE_MAGIC 0x5e91ce -struct service { - int s_magic; - char *s_name; - service_limit_func_t *s_limit; - service_command_func_t *s_command; - TAILQ_HEAD(, service_connection) s_connections; -}; - -struct service * -service_alloc(const char *name, service_limit_func_t *limitfunc, - service_command_func_t *commandfunc) -{ - struct service *service; - - service = malloc(sizeof(*service)); - if (service == NULL) - return (NULL); - service->s_name = strdup(name); - if (service->s_name == NULL) { - free(service); - return (NULL); - } - service->s_limit = limitfunc; - service->s_command = commandfunc; - TAILQ_INIT(&service->s_connections); - service->s_magic = SERVICE_MAGIC; - - return (service); -} - -void -service_free(struct service *service) -{ - struct service_connection *sconn; - - PJDLOG_ASSERT(service->s_magic == SERVICE_MAGIC); - - service->s_magic = 0; - while ((sconn = service_connection_first(service)) != NULL) - service_connection_remove(service, sconn); - free(service->s_name); - free(service); -} - -struct service_connection * -service_connection_add(struct service *service, int sock, - const nvlist_t *limits) -{ - struct service_connection *sconn; - int serrno; - - PJDLOG_ASSERT(service->s_magic == SERVICE_MAGIC); - - sconn = malloc(sizeof(*sconn)); - if (sconn == NULL) { - pjdlog_error("Unable to allocate memory for service connection."); - return (NULL); - } - sconn->sc_chan = cap_wrap(sock); - if (sconn->sc_chan == NULL) { - serrno = errno; - pjdlog_error("Unable to wrap communication channel."); - free(sconn); - errno = serrno; - return (NULL); - } - if (limits == NULL) { - sconn->sc_limits = NULL; - } else { - sconn->sc_limits = nvlist_clone(limits); - if (sconn->sc_limits == NULL) { - serrno = errno; - pjdlog_error("Unable to clone limits."); - (void)cap_unwrap(sconn->sc_chan); - free(sconn); - errno = serrno; - return (NULL); - } - } - sconn->sc_magic = SERVICE_CONNECTION_MAGIC; - TAILQ_INSERT_TAIL(&service->s_connections, sconn, sc_next); - return (sconn); -} - -void -service_connection_remove(struct service *service, - struct service_connection *sconn) -{ - - PJDLOG_ASSERT(service->s_magic == SERVICE_MAGIC); - PJDLOG_ASSERT(sconn->sc_magic == SERVICE_CONNECTION_MAGIC); - - TAILQ_REMOVE(&service->s_connections, sconn, sc_next); - sconn->sc_magic = 0; - nvlist_destroy(sconn->sc_limits); - cap_close(sconn->sc_chan); - free(sconn); -} - -int -service_connection_clone(struct service *service, - struct service_connection *sconn) -{ - struct service_connection *newsconn; - int serrno, sock[2]; - - if (socketpair(PF_UNIX, SOCK_STREAM | SOCK_NONBLOCK, 0, sock) < 0) - return (-1); - - newsconn = service_connection_add(service, sock[0], - service_connection_get_limits(sconn)); - if (newsconn == NULL) { - serrno = errno; - close(sock[0]); - close(sock[1]); - errno = serrno; - return (-1); - } - - return (sock[1]); -} - -struct service_connection * -service_connection_first(struct service *service) -{ - struct service_connection *sconn; - - PJDLOG_ASSERT(service->s_magic == SERVICE_MAGIC); - - sconn = TAILQ_FIRST(&service->s_connections); - PJDLOG_ASSERT(sconn == NULL || - sconn->sc_magic == SERVICE_CONNECTION_MAGIC); - return (sconn); -} - -struct service_connection * -service_connection_next(struct service_connection *sconn) -{ - - PJDLOG_ASSERT(sconn->sc_magic == SERVICE_CONNECTION_MAGIC); - - sconn = TAILQ_NEXT(sconn, sc_next); - PJDLOG_ASSERT(sconn == NULL || - sconn->sc_magic == SERVICE_CONNECTION_MAGIC); - return (sconn); -} - -cap_channel_t * -service_connection_get_chan(const struct service_connection *sconn) -{ - - PJDLOG_ASSERT(sconn->sc_magic == SERVICE_CONNECTION_MAGIC); - - return (sconn->sc_chan); -} - -int -service_connection_get_sock(const struct service_connection *sconn) -{ - - PJDLOG_ASSERT(sconn->sc_magic == SERVICE_CONNECTION_MAGIC); - - return (cap_sock(sconn->sc_chan)); -} - -const nvlist_t * -service_connection_get_limits(const struct service_connection *sconn) -{ - - PJDLOG_ASSERT(sconn->sc_magic == SERVICE_CONNECTION_MAGIC); - - return (sconn->sc_limits); -} - -void -service_connection_set_limits(struct service_connection *sconn, - nvlist_t *limits) -{ - - PJDLOG_ASSERT(sconn->sc_magic == SERVICE_CONNECTION_MAGIC); - - nvlist_destroy(sconn->sc_limits); - sconn->sc_limits = limits; -} - -#if 0 -static void -casper_message_connection(struct service *service, const nvlist_t *nvl) -{ - - service_connection_add(&service->s_connections, - nvlist_get_descriptor(nvl, "sock")); -} - -static void -casper_message(const cap_channel_t *capcas, struct service *service) -{ - const char *cmd; - nvlist_t *nvl; - - nvl = cap_recv_nvlist(capcas, 0); - if (nvl == NULL) - pjdlog_exit(1, "Unable to receive message from Casper"); - cmd = nvlist_get_string(nvl, "cmd"); - if (strcmp(cmd, "connection") == 0) - casper_message_connection(service, nvl); - else - PJDLOG_ABORT("Unknown command from Casper: %s.", cmd); -} -#endif - -void -service_message(struct service *service, struct service_connection *sconn) -{ - nvlist_t *nvlin, *nvlout; - const char *cmd; - int error; - - nvlin = cap_recv_nvlist(service_connection_get_chan(sconn), 0); - if (nvlin == NULL) { - if (errno == ENOTCONN) { - pjdlog_debug(1, "Connection closed by the client."); - } else { - pjdlog_errno(LOG_ERR, - "Unable to receive message from client"); - } - service_connection_remove(service, sconn); - return; - } - - error = EDOOFUS; - nvlout = nvlist_create(0); - - cmd = nvlist_get_string(nvlin, "cmd"); - pjdlog_debug(1, "Command received from client: %s.", cmd); - if (pjdlog_debug_get() >= 2) - nvlist_fdump(nvlin, stderr); - if (strcmp(cmd, "limit_set") == 0) { - nvlist_t *nvllim; - - nvllim = nvlist_take_nvlist(nvlin, "limits"); - error = service->s_limit(service_connection_get_limits(sconn), - nvllim); - if (error == 0) { - service_connection_set_limits(sconn, nvllim); - /* Function consumes nvllim. */ - } else { - nvlist_destroy(nvllim); - } - } else if (strcmp(cmd, "limit_get") == 0) { - const nvlist_t *nvllim; - - nvllim = service_connection_get_limits(sconn); - if (nvllim != NULL) - nvlist_add_nvlist(nvlout, "limits", nvllim); - else - nvlist_add_null(nvlout, "limits"); - error = 0; - } else if (strcmp(cmd, "clone") == 0) { - int sock; - - sock = service_connection_clone(service, sconn); - if (sock == -1) { - error = errno; - } else { - nvlist_move_descriptor(nvlout, "sock", sock); - error = 0; - } - } else { - error = service->s_command(cmd, - service_connection_get_limits(sconn), nvlin, nvlout); - } - - nvlist_destroy(nvlin); - nvlist_add_number(nvlout, "error", (uint64_t)error); - pjdlog_debug(1, "Sending reply to client (error=%d).", error); - if (pjdlog_debug_get() >= 2) - nvlist_fdump(nvlout, stderr); - - if (cap_send_nvlist(service_connection_get_chan(sconn), nvlout) == -1) { - pjdlog_errno(LOG_ERR, "Unable to send message to client"); - service_connection_remove(service, sconn); - } - - nvlist_destroy(nvlout); -} - -static int -fd_add(fd_set *fdsp, int maxfd, int fd) -{ - - FD_SET(fd, fdsp); - return (fd > maxfd ? fd : maxfd); -} - -int -service_start(const char *name, int sock, service_limit_func_t *limitfunc, - service_command_func_t *commandfunc, int argc, char *argv[]) -{ - struct service *service; - struct service_connection *sconn, *sconntmp; - fd_set fds; - int maxfd, nfds, serrno; - - assert(argc == 2); - - pjdlog_init(PJDLOG_MODE_STD); - pjdlog_debug_set(atoi(argv[1])); - - service = service_alloc(name, limitfunc, commandfunc); - if (service == NULL) - return (errno); - if (service_connection_add(service, sock, NULL) == NULL) { - serrno = errno; - service_free(service); - return (serrno); - } - - for (;;) { - FD_ZERO(&fds); - maxfd = -1; - for (sconn = service_connection_first(service); sconn != NULL; - sconn = service_connection_next(sconn)) { - maxfd = fd_add(&fds, maxfd, - service_connection_get_sock(sconn)); - } - - PJDLOG_ASSERT(maxfd >= 0); - PJDLOG_ASSERT(maxfd + 1 <= (int)FD_SETSIZE); - nfds = select(maxfd + 1, &fds, NULL, NULL, NULL); - if (nfds < 0) { - if (errno != EINTR) - pjdlog_errno(LOG_ERR, "select() failed"); - continue; - } else if (nfds == 0) { - /* Timeout. */ - PJDLOG_ABORT("select() timeout"); - continue; - } - - for (sconn = service_connection_first(service); sconn != NULL; - sconn = sconntmp) { - /* - * Prepare for connection to be removed from the list - * on failure. - */ - sconntmp = service_connection_next(sconn); - if (FD_ISSET(service_connection_get_sock(sconn), &fds)) - service_message(service, sconn); - } - if (service_connection_first(service) == NULL) { - /* - * No connections left, exiting. - */ - break; - } - } - - return (0); -} diff --git a/lib/libcasper/libcasper.h b/lib/libcasper/libcasper.h deleted file mode 100644 index 91d6027..0000000 --- a/lib/libcasper/libcasper.h +++ /dev/null @@ -1,70 +0,0 @@ -/*- - * Copyright (c) 2013 The FreeBSD Foundation - * All rights reserved. - * - * This software was developed by Pawel Jakub Dawidek under sponsorship from - * the FreeBSD Foundation. - * - * 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 AUTHORS 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 AUTHORS 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 _LIBCASPER_H_ -#define _LIBCASPER_H_ - -#ifndef _NVLIST_T_DECLARED -#define _NVLIST_T_DECLARED -struct nvlist; - -typedef struct nvlist nvlist_t; -#endif - -#define PARENT_FILENO 3 -#define EXECUTABLE_FILENO 4 -#define PROC_FILENO 5 - -struct service; -struct service_connection; - -typedef int service_limit_func_t(const nvlist_t *, const nvlist_t *); -typedef int service_command_func_t(const char *cmd, const nvlist_t *, - nvlist_t *, nvlist_t *); - -struct service_connection *service_connection_add(struct service *service, - int sock, const nvlist_t *limits); -void service_connection_remove(struct service *service, - struct service_connection *sconn); -int service_connection_clone(struct service *service, - struct service_connection *sconn); -struct service_connection *service_connection_first(struct service *service); -struct service_connection *service_connection_next(struct service_connection *sconn); -cap_channel_t *service_connection_get_chan(const struct service_connection *sconn); -int service_connection_get_sock(const struct service_connection *sconn); -const nvlist_t *service_connection_get_limits(const struct service_connection *sconn); -void service_connection_set_limits(struct service_connection *sconn, - nvlist_t *limits); - -int service_start(const char *name, int sock, service_limit_func_t *limitfunc, - service_command_func_t *commandfunc, int argc, char *argv[]); - -#endif /* !_LIBCASPER_H_ */ diff --git a/lib/libcasper/libcasper/Makefile b/lib/libcasper/libcasper/Makefile new file mode 100644 index 0000000..2a123ac --- /dev/null +++ b/lib/libcasper/libcasper/Makefile @@ -0,0 +1,38 @@ +# $FreeBSD$ + +LIB= casper + +SHLIB_MAJOR= 0 +SHLIBDIR?= /lib + +SRCS= libcasper.c +SRCS+= libcasper_impl.c +SRCS+= libcasper_service.c +SRCS+= service.c +SRCS+= zygote.c + +INCS= libcasper.h +INCS+= libcasper_service.h + +LIBADD= nv + +CFLAGS+=-I${.CURDIR} + +WARNS?= 6 + +MAN+= libcasper.3 + +MLINKS+=libcasper.3 cap_init.3 +MLINKS+=libcasper.3 cap_wrap.3 +MLINKS+=libcasper.3 cap_unwrap.3 +MLINKS+=libcasper.3 cap_sock.3 +MLINKS+=libcasper.3 cap_clone.3 +MLINKS+=libcasper.3 cap_close.3 +MLINKS+=libcasper.3 cap_limit_get.3 +MLINKS+=libcasper.3 cap_limit_set.3 +MLINKS+=libcasper.3 cap_send_nvlist.3 +MLINKS+=libcasper.3 cap_recv_nvlist.3 +MLINKS+=libcasper.3 cap_xfer_nvlist.3 +MLINKS+=libcasper.3 cap_service_open.3 + +.include diff --git a/lib/libcasper/libcasper/libcasper.3 b/lib/libcasper/libcasper/libcasper.3 new file mode 100644 index 0000000..220b5b3 --- /dev/null +++ b/lib/libcasper/libcasper/libcasper.3 @@ -0,0 +1,295 @@ +.\" Copyright (c) 2013 The FreeBSD Foundation +.\" All rights reserved. +.\" +.\" This documentation was written by Pawel Jakub Dawidek under sponsorship +.\" from the FreeBSD Foundation. +.\" +.\" 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 AUTHORS 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 AUTHORS OR CONTRIBUTORS BE LIABLE +.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +.\" SUCH DAMAGE. +.\" +.\" $FreeBSD$ +.\" +.Dd February 25, 2016 +.Dt LIBCASPER 3 +.Os +.Sh NAME +.Nm cap_init , +.Nm cap_wrap , +.Nm cap_unwrap , +.Nm cap_sock , +.Nm cap_clone , +.Nm cap_close , +.Nm cap_limit_get , +.Nm cap_limit_set , +.Nm cap_send_nvlist , +.Nm cap_recv_nvlist , +.Nm cap_xfer_nvlist , +.Nm cap_service_open +.Nd "library for handling application capabilities" +.Sh LIBRARY +.Lb libcasper +.Sh SYNOPSIS +.In libcasper.h +.In nv.h +.Ft "cap_channel_t *" +.Fn cap_init "void" +.Ft "cap_channel_t *" +.Fn cap_wrap "int sock" +.Ft "int" +.Fn cap_unwrap "cap_channel_t *chan" +.Ft "int" +.Fn cap_sock "const cap_channel_t *chan" +.Ft "cap_channel_t *" +.Fn cap_clone "const cap_channel_t *chan" +.Ft "void" +.Fn cap_close "cap_channel_t *chan" +.Ft "int" +.Fn cap_limit_get "const cap_channel_t *chan" "nvlist_t **limitsp" +.Ft "int" +.Fn cap_limit_set "const cap_channel_t *chan" "nvlist_t *limits" +.Ft "int" +.Fn cap_send_nvlist "const cap_channel_t *chan" "const nvlist_t *nvl" +.Ft "nvlist_t *" +.Fn cap_recv_nvlist "const cap_channel_t *chan" "int flags" +.Ft "nvlist_t *" +.Fn cap_xfer_nvlist "const cap_channel_t *chan" "nvlist_t *nvl" "int flags" +.Ft "cap_channel_t *" +.Fn cap_service_open "const cap_channel_t *chan" "const char *name" +.Sh DESCRIPTION +The +.Nm libcapsicum +library allows to manage application capabilities through the casper process. +.Pp +The application capability (represented by the +.Vt cap_channel_t +type) is a communication channel between the caller and the casper process +daemon or an instance of one of its services. +A capability to the casper process obtained with the +.Fn cap_init +function allows to create capabilities to casper's services via the +.Fn cap_service_open +function. +.Pp +The +.Fn cap_init +function opens capability to the casper process. +.Pp +The +.Fn cap_wrap +function creates +.Vt cap_channel_t +based on the given socket. +The function is used when capability is inherited through +.Xr execve 2 +or send over +.Xr unix 4 +domain socket as a regular file descriptor and has to be represented as +.Vt cap_channel_t +again. +.Pp +The +.Fn cap_unwrap +function is the opposite of the +.Fn cap_wrap +function. +It frees the +.Vt cap_channel_t +structure and returns +.Xr unix 4 +domain socket associated with it. +.Pp +The +.Fn cap_clone +function clones the given capability. +.Pp +The +.Fn cap_close +function closes the given capability. +.Pp +The +.Fn cap_sock +function returns +.Xr unix 4 +domain socket descriptor associated with the given capability for use with +system calls like +.Xr kevent 2 , +.Xr poll 2 +and +.Xr select 2 . +.Pp +The +.Fn cap_limit_get +function stores current limits of the given capability in the +.Fa limitsp +argument. +If the function return +.Va 0 +and +.Dv NULL +is stored in +.Fa limitsp +it means there are no limits set. +.Pp +The +.Fn cap_limit_set +function sets limits for the given capability. +The limits are provided as nvlist. +The exact format depends on the service the capability represents. +.Pp +The +.Fn cap_send_nvlist +function sends the given nvlist over the given capability. +This is low level interface to communicate with casper services. +Most services should provide higher level API. +.Pp +The +.Fn cap_recv_nvlist +function receives the given nvlist over the given capability. +The +.Fa flags +argument defines what type the top nvlist is expected to be. +If the nvlist flags do not match the flags passed to +.Fn cap_recv_nvlist , +the nvlist will not be returned. +.Pp +The +.Fn cap_xfer_nvlist +function sends the given nvlist, destroys it and receives new nvlist in +response over the given capability. +The +.Fa flags +argument defines what type the top nvlist is expected to be. +If the nvlist flags do not match the flags passed to +.Fn cap_xfer_nvlist , +the nvlist will not be returned. +It does not matter if the function succeeds or fails, the nvlist given +for sending will always be destroyed once the function returns. +.Pp +The +.Fn cap_service_open +function opens casper service of the given name through casper capability +obtained via the +.Fn cap_init +function. +The function returns capability that provides access to opened service. +.Sh RETURN VALUES +The +.Fn cap_clone , +.Fn cap_init , +.Fn cap_recv_nvlist , +.Fn cap_service_open , +.Fn cap_wrap +and +.Fn cap_xfer_nvlist +functions return +.Dv NULL +and set the +.Va errno +variable on failure. +.Pp +The +.Fn cap_limit_get , +.Fn cap_limit_set +and +.Fn cap_send_nvlist +functions return +.Dv -1 +and set the +.Va errno +variable on failure. +.Pp +The +.Fn cap_close , +.Fn cap_sock +and +.Fn cap_unwrap +functions always succeed. +.Sh EXAMPLES +The following example first opens capability to the casper then using this +capability creates new capability to the +.Nm system.dns +casper service and uses the latter capability to resolve IP address. +.Bd -literal +cap_channel_t *capcas, *capdns; +nvlist_t *limits; +const char *ipstr = "127.0.0.1"; +struct in_addr ip; +struct hostent *hp; + +/* Open capability to the Casper. */ +capcas = cap_init(); +if (capcas == NULL) + err(1, "Unable to contact Casper"); + +/* Enter capability mode sandbox. */ +if (cap_enter() < 0 && errno != ENOSYS) + err(1, "Unable to enter capability mode"); + +/* Use Casper capability to create capability to the system.dns service. */ +capdns = cap_service_open(capcas, "system.dns"); +if (capdns == NULL) + err(1, "Unable to open system.dns service"); + +/* Close Casper capability, we don't need it anymore. */ +cap_close(capcas); + +/* Limit system.dns to reverse DNS lookups and IPv4 addresses. */ +limits = nvlist_create(0); +nvlist_add_string(limits, "type", "ADDR"); +nvlist_add_number(limits, "family", (uint64_t)AF_INET); +if (cap_limit_set(capdns, limits) < 0) + err(1, "Unable to limit access to the system.dns service"); + +/* Convert IP address in C-string to in_addr. */ +if (!inet_aton(ipstr, &ip)) + errx(1, "Unable to parse IP address %s.", ipstr); + +/* Find hostname for the given IP address. */ +hp = cap_gethostbyaddr(capdns, (const void *)&ip, sizeof(ip), AF_INET); +if (hp == NULL) + errx(1, "No name associated with %s.", ipstr); + +printf("Name associated with %s is %s.\\n", ipstr, hp->h_name); +.Ed +.Sh SEE ALSO +.Xr cap_enter 2 , +.Xr execve 2 , +.Xr kevent 2 , +.Xr poll 2 , +.Xr select 2 , +.Xr cap_gethostbyaddr 3 , +.Xr err 3 , +.Xr gethostbyaddr 3 , +.Xr inet_aton 3 , +.Xr nv 3 , +.Xr capsicum 4 , +.Xr unix 4 +.Sh AUTHORS +The +.Nm libcasper +library was implemented by +.An Pawel Jakub Dawidek Aq Mt pawel@dawidek.net +under sponsorship from the FreeBSD Foundation. +The +.Nm libcasper +new architecture was implemented by +.An Mariusz Zaborski Aq Mt oshogbo@FreeBSD.org +. diff --git a/lib/libcasper/libcasper/libcasper.c b/lib/libcasper/libcasper/libcasper.c new file mode 100644 index 0000000..f23d8b1 --- /dev/null +++ b/lib/libcasper/libcasper/libcasper.c @@ -0,0 +1,337 @@ +/*- + * Copyright (c) 2012-2013 The FreeBSD Foundation + * Copyright (c) 2015 Mariusz Zaborski + * All rights reserved. + * + * This software was developed by Pawel Jakub Dawidek under sponsorship from + * the FreeBSD Foundation. + * + * 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 AUTHORS 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 AUTHORS 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 + +#include +#include +#include +#include +#include +#include + +#include "libcasper.h" +#include "libcasper_impl.h" + +/* + * Structure describing communication channel between two separated processes. + */ +#define CAP_CHANNEL_MAGIC 0xcac8a31 +struct cap_channel { + /* + * Magic value helps to ensure that a pointer to the right structure is + * passed to our functions. + */ + int cch_magic; + /* Socket descriptor for IPC. */ + int cch_sock; + /* Process descriptor for casper. */ + int cch_pd; +}; + +static bool +cap_add_pd(cap_channel_t *chan, int pd) +{ + + if (!fd_is_valid(pd)) + return (false); + chan->cch_pd = pd; + return (true); +} + +cap_channel_t * +cap_init(void) +{ + pid_t pid; + int sock[2], serrno, pfd; + bool ret; + cap_channel_t *chan; + + if (socketpair(PF_UNIX, SOCK_STREAM | SOCK_NONBLOCK, 0, + sock) == -1) { + return (NULL); + } + + pid = pdfork(&pfd, 0); + if (pid == 0) { + /* Parent. */ + close(sock[0]); + casper_main_loop(sock[1]); + /* NOTREACHED. */ + } else if (pid > 0) { + /* Child. */ + close(sock[1]); + chan = cap_wrap(sock[0]); + if (chan == NULL) { + serrno = errno; + close(sock[0]); + close(pfd); + errno = serrno; + return (NULL); + } + ret = cap_add_pd(chan, pfd); + assert(ret); + return (chan); + } + + /* Error. */ + serrno = errno; + close(sock[0]); + close(sock[1]); + errno = serrno; + return (NULL); +} + +cap_channel_t * +cap_wrap(int sock) +{ + cap_channel_t *chan; + + if (!fd_is_valid(sock)) + return (NULL); + + chan = malloc(sizeof(*chan)); + if (chan != NULL) { + chan->cch_sock = sock; + chan->cch_pd = -1; + chan->cch_magic = CAP_CHANNEL_MAGIC; + } + + return (chan); +} + +int +cap_unwrap(cap_channel_t *chan) +{ + int sock; + + assert(chan != NULL); + assert(chan->cch_magic == CAP_CHANNEL_MAGIC); + + sock = chan->cch_sock; + if (chan->cch_pd != -1) + close(chan->cch_pd); + chan->cch_magic = 0; + free(chan); + + return (sock); +} + +cap_channel_t * +cap_clone(const cap_channel_t *chan) +{ + cap_channel_t *newchan; + nvlist_t *nvl; + int newsock; + + assert(chan != NULL); + assert(chan->cch_magic == CAP_CHANNEL_MAGIC); + + nvl = nvlist_create(0); + nvlist_add_string(nvl, "cmd", "clone"); + nvl = cap_xfer_nvlist(chan, nvl, 0); + if (nvl == NULL) + return (NULL); + if (nvlist_get_number(nvl, "error") != 0) { + errno = (int)nvlist_get_number(nvl, "error"); + nvlist_destroy(nvl); + return (NULL); + } + newsock = nvlist_take_descriptor(nvl, "sock"); + nvlist_destroy(nvl); + newchan = cap_wrap(newsock); + if (newchan == NULL) { + int serrno; + + serrno = errno; + close(newsock); + errno = serrno; + } + + return (newchan); +} + +void +cap_close(cap_channel_t *chan) +{ + + assert(chan != NULL); + assert(chan->cch_magic == CAP_CHANNEL_MAGIC); + + chan->cch_magic = 0; + if (chan->cch_pd != -1) + close(chan->cch_pd); + close(chan->cch_sock); + free(chan); +} + +int +cap_sock(const cap_channel_t *chan) +{ + + assert(chan != NULL); + assert(chan->cch_magic == CAP_CHANNEL_MAGIC); + + return (chan->cch_sock); +} + +int +cap_limit_set(const cap_channel_t *chan, nvlist_t *limits) +{ + nvlist_t *nvlmsg; + int error; + + nvlmsg = nvlist_create(0); + nvlist_add_string(nvlmsg, "cmd", "limit_set"); + nvlist_add_nvlist(nvlmsg, "limits", limits); + nvlmsg = cap_xfer_nvlist(chan, nvlmsg, 0); + if (nvlmsg == NULL) { + nvlist_destroy(limits); + return (-1); + } + error = (int)nvlist_get_number(nvlmsg, "error"); + nvlist_destroy(nvlmsg); + nvlist_destroy(limits); + if (error != 0) { + errno = error; + return (-1); + } + return (0); +} + +int +cap_limit_get(const cap_channel_t *chan, nvlist_t **limitsp) +{ + nvlist_t *nvlmsg; + int error; + + nvlmsg = nvlist_create(0); + nvlist_add_string(nvlmsg, "cmd", "limit_get"); + nvlmsg = cap_xfer_nvlist(chan, nvlmsg, 0); + if (nvlmsg == NULL) + return (-1); + error = (int)nvlist_get_number(nvlmsg, "error"); + if (error != 0) { + nvlist_destroy(nvlmsg); + errno = error; + return (-1); + } + if (nvlist_exists_null(nvlmsg, "limits")) + *limitsp = NULL; + else + *limitsp = nvlist_take_nvlist(nvlmsg, "limits"); + nvlist_destroy(nvlmsg); + return (0); +} + +int +cap_send_nvlist(const cap_channel_t *chan, const nvlist_t *nvl) +{ + + assert(chan != NULL); + assert(chan->cch_magic == CAP_CHANNEL_MAGIC); + + return (nvlist_send(chan->cch_sock, nvl)); +} + +nvlist_t * +cap_recv_nvlist(const cap_channel_t *chan, int flags) +{ + + assert(chan != NULL); + assert(chan->cch_magic == CAP_CHANNEL_MAGIC); + + return (nvlist_recv(chan->cch_sock, flags)); +} + +nvlist_t * +cap_xfer_nvlist(const cap_channel_t *chan, nvlist_t *nvl, int flags) +{ + + assert(chan != NULL); + assert(chan->cch_magic == CAP_CHANNEL_MAGIC); + + return (nvlist_xfer(chan->cch_sock, nvl, flags)); +} + +cap_channel_t * +cap_service_open(const cap_channel_t *chan, const char *name) +{ + cap_channel_t *newchan; + nvlist_t *nvl; + int sock, error; + + sock = -1; + + nvl = nvlist_create(0); + nvlist_add_string(nvl, "cmd", "open"); + nvlist_add_string(nvl, "service", name); + nvl = cap_xfer_nvlist(chan, nvl, 0); + if (nvl == NULL) + return (NULL); + error = (int)nvlist_get_number(nvl, "error"); + if (error != 0) { + nvlist_destroy(nvl); + errno = error; + return (NULL); + } + sock = nvlist_take_descriptor(nvl, "chanfd"); + assert(sock >= 0); + nvlist_destroy(nvl); + nvl = NULL; + newchan = cap_wrap(sock); + if (newchan == NULL) + goto fail; + return (newchan); +fail: + error = errno; + close(sock); + errno = error; + return (NULL); +} + +int +cap_service_limit(const cap_channel_t *chan, const char * const *names, + size_t nnames) +{ + nvlist_t *limits; + unsigned int i; + + limits = nvlist_create(0); + for (i = 0; i < nnames; i++) + nvlist_add_null(limits, names[i]); + return (cap_limit_set(chan, limits)); +} diff --git a/lib/libcasper/libcasper/libcasper.h b/lib/libcasper/libcasper/libcasper.h new file mode 100644 index 0000000..2d6f158 --- /dev/null +++ b/lib/libcasper/libcasper/libcasper.h @@ -0,0 +1,115 @@ +/*- + * Copyright (c) 2012-2013 The FreeBSD Foundation + * Copyright (c) 2015 Mariusz Zaborski + * All rights reserved. + * + * This software was developed by Pawel Jakub Dawidek under sponsorship from + * the FreeBSD Foundation. + * + * 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 AUTHORS 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 AUTHORS 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 _LIBCASPER_H_ +#define _LIBCASPER_H_ + +#include + +#ifndef _NVLIST_T_DECLARED +#define _NVLIST_T_DECLARED +struct nvlist; + +typedef struct nvlist nvlist_t; +#endif + +#ifndef _CAP_CHANNEL_T_DECLARED +#define _CAP_CHANNEL_T_DECLARED +struct cap_channel; + +typedef struct cap_channel cap_channel_t; +#endif + +/* + * The functions opens unrestricted communication channel to Casper. + */ +cap_channel_t *cap_init(void); + +/* + * The functions to communicate with service. + */ +cap_channel_t *cap_service_open(const cap_channel_t *chan, const char *name); +int cap_service_limit(const cap_channel_t *chan, + const char * const *names, size_t nnames); + +/* + * The function creates cap_channel_t based on the given socket. + */ +cap_channel_t *cap_wrap(int sock); + +/* + * The function returns communication socket and frees cap_channel_t. + */ +int cap_unwrap(cap_channel_t *chan); + +/* + * The function clones the given capability. + */ +cap_channel_t *cap_clone(const cap_channel_t *chan); + +/* + * The function closes the given capability. + */ +void cap_close(cap_channel_t *chan); + +/* + * The function returns socket descriptor associated with the given + * cap_channel_t for use with select(2)/kqueue(2)/etc. + */ +int cap_sock(const cap_channel_t *chan); + +/* + * The function limits the given capability. + * It always destroys 'limits' on return. + */ +int cap_limit_set(const cap_channel_t *chan, nvlist_t *limits); + +/* + * The function returns current limits of the given capability. + */ +int cap_limit_get(const cap_channel_t *chan, nvlist_t **limitsp); + +/* + * Function sends nvlist over the given capability. + */ +int cap_send_nvlist(const cap_channel_t *chan, const nvlist_t *nvl); +/* + * Function receives nvlist over the given capability. + */ +nvlist_t *cap_recv_nvlist(const cap_channel_t *chan, int flags); +/* + * Function sends the given nvlist, destroys it and receives new nvlist in + * response over the given capability. + */ +nvlist_t *cap_xfer_nvlist(const cap_channel_t *chan, nvlist_t *nvl, int flags); + +#endif /* !_LIBCASPER_H_ */ diff --git a/lib/libcasper/libcasper/libcasper_impl.c b/lib/libcasper/libcasper/libcasper_impl.c new file mode 100644 index 0000000..57d4899 --- /dev/null +++ b/lib/libcasper/libcasper/libcasper_impl.c @@ -0,0 +1,44 @@ +/*- + * Copyright (c) 2013 The FreeBSD Foundation + * Copyright (c) 2015 Mariusz Zaborski + * All rights reserved. + * + * This software was developed by Pawel Jakub Dawidek under sponsorship from + * the FreeBSD Foundation. + * + * 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 AUTHORS 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 AUTHORS 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 "libcasper_impl.h" + +bool +fd_is_valid(int fd) +{ + + return (fcntl(fd, F_GETFL) != -1 || errno != EBADF); +} diff --git a/lib/libcasper/libcasper/libcasper_impl.h b/lib/libcasper/libcasper/libcasper_impl.h new file mode 100644 index 0000000..bf2e6ce --- /dev/null +++ b/lib/libcasper/libcasper/libcasper_impl.h @@ -0,0 +1,82 @@ +/*- + * Copyright (c) 2013 The FreeBSD Foundation + * Copyright (c) 2015 Mariusz Zaborski + * All rights reserved. + * + * This software was developed by Pawel Jakub Dawidek under sponsorship from + * the FreeBSD Foundation. + * + * 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 AUTHORS 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 AUTHORS 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 _LIBCASPER_IMPL_H_ +#define _LIBCASPER_IMPL_H_ + +#include + +#include "libcasper.h" +#include "libcasper_service.h" + +struct service; +struct service_connection; + +bool fd_is_valid(int fd); + +/* Private service functions. */ +struct service *service_alloc(const char *name, + service_limit_func_t *limitfunc, + service_command_func_t *commandfunc); +void service_free(struct service *service); +void service_message(struct service *service, + struct service_connection *sconn); +void service_start(struct service *service, int sock); +const char *service_name(struct service *service); + +/* Private service connection functions. */ +struct service_connection *service_connection_add(struct service *service, + int sock, const nvlist_t *limits); +void service_connection_remove( + struct service *service, + struct service_connection *sconn); +int service_connection_clone( + struct service *service, + struct service_connection *sconn); +struct service_connection *service_connection_first( + struct service *service); +struct service_connection *service_connection_next( + struct service_connection *sconn); +cap_channel_t *service_connection_get_chan( + const struct service_connection *sconn); +int service_connection_get_sock( + const struct service_connection *sconn); +const nvlist_t *service_connection_get_limits( + const struct service_connection *sconn); +void service_connection_set_limits( + struct service_connection *sconn, + nvlist_t *limits); + +/* Private libcasper functions. */ +void casper_main_loop(int fd); + +#endif /* !_LIBCASPER_IMPL_H_ */ diff --git a/lib/libcasper/libcasper/libcasper_service.c b/lib/libcasper/libcasper/libcasper_service.c new file mode 100644 index 0000000..5b1c7c8 --- /dev/null +++ b/lib/libcasper/libcasper/libcasper_service.c @@ -0,0 +1,277 @@ +/*- + * Copyright (c) 2012 The FreeBSD Foundation + * Copyright (c) 2015 Mariusz Zaborski + * All rights reserved. + * + * This software was developed by Pawel Jakub Dawidek under sponsorship from + * the FreeBSD Foundation. + * + * 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 AUTHORS 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 AUTHORS 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 + +#include +#include +#include +#include +#include +#include +#include + +#include "libcasper_impl.h" +#include "zygote.h" + +struct casper_service { + struct service *cs_service; + TAILQ_ENTRY(casper_service) cs_next; +}; + +static TAILQ_HEAD(, casper_service) casper_services = + TAILQ_HEAD_INITIALIZER(casper_services); + +#define CORE_CASPER_NAME "core.casper" +#define CSERVICE_IS_CORE(service) \ + (strcmp(service_name(service->cs_service), CORE_CASPER_NAME) == 0) + +static struct casper_service * +service_find(const char *name) +{ + struct casper_service *casserv; + + TAILQ_FOREACH(casserv, &casper_services, cs_next) { + if (strcmp(service_name(casserv->cs_service), name) == 0) + break; + } + return (casserv); +} + +struct casper_service * +service_register(const char *name, service_limit_func_t *limitfunc, + service_command_func_t *commandfunc) +{ + struct casper_service *casserv; + + if (commandfunc == NULL) + return (NULL); + if (name == NULL || name[0] == '\0') + return (NULL); + if (service_find(name) != NULL) + return (NULL); + + casserv = malloc(sizeof(*casserv)); + if (casserv == NULL) + return (NULL); + + casserv->cs_service = service_alloc(name, limitfunc, commandfunc); + if (casserv->cs_service == NULL) { + free(casserv); + return (NULL); + } + TAILQ_INSERT_TAIL(&casper_services, casserv, cs_next); + + return (casserv); +} + +static bool +casper_allowed_service(const nvlist_t *limits, const char *service) +{ + + if (limits == NULL) + return (true); + + if (nvlist_exists_null(limits, service)) + return (true); + + return (false); +} + +static int +casper_limit(const nvlist_t *oldlimits, const nvlist_t *newlimits) +{ + const char *name; + int type; + void *cookie; + + cookie = NULL; + while ((name = nvlist_next(newlimits, &type, &cookie)) != NULL) { + if (type != NV_TYPE_NULL) + return (EINVAL); + if (!casper_allowed_service(oldlimits, name)) + return (ENOTCAPABLE); + } + + return (0); +} + +static void +service_execute(int chanfd) +{ + struct service *service; + nvlist_t *nvl; + int procfd; + + nvl = nvlist_recv(chanfd, 0); + if (nvl == NULL) + exit(1); + service = (struct service *)(uintptr_t)nvlist_take_number(nvl, + "service"); + //XXX: We should remove this? + procfd = nvlist_take_descriptor(nvl, "procfd"); + nvlist_destroy(nvl); + + service_start(service, chanfd); + /* Not reached. */ + exit(1); +} + +static int +casper_command(const char *cmd, const nvlist_t *limits, nvlist_t *nvlin, + nvlist_t *nvlout) +{ + struct casper_service *casserv; + const char *servname; + nvlist_t *nvl; + int chanfd, procfd, error; + + if (strcmp(cmd, "open") != 0) + return (EINVAL); + if (!nvlist_exists_string(nvlin, "service")) + return (EINVAL); + + servname = nvlist_get_string(nvlin, "service"); + casserv = service_find(servname); + if (casserv == NULL) + return (ENOENT); + + if (!casper_allowed_service(limits, servname)) + return (ENOTCAPABLE); + + if (zygote_clone(service_execute, &chanfd, &procfd) == -1) + return (errno); + + nvl = nvlist_create(0); + nvlist_add_number(nvl, "service", + (uint64_t)(uintptr_t)casserv->cs_service); + nvlist_move_descriptor(nvl, "procfd", procfd); + if (nvlist_send(chanfd, nvl) == -1) { + error = errno; + nvlist_destroy(nvl); + close(chanfd); + return (error); + } + nvlist_destroy(nvl); + + nvlist_move_descriptor(nvlout, "chanfd", chanfd); + + return (0); +} + +static void +service_register_core(int fd) +{ + struct casper_service *casserv; + struct service_connection *sconn; + + casserv = service_register(CORE_CASPER_NAME, casper_limit, + casper_command); + sconn = service_connection_add(casserv->cs_service, fd, NULL); + if (sconn == NULL) { + close(fd); + abort(); + } +} + +void +casper_main_loop(int fd) +{ + fd_set fds; + struct casper_service *casserv; + struct service_connection *sconn, *sconntmp; + int sock, maxfd, ret; + + if (zygote_init() < 0) + exit(1); + + /* + * Register core services. + */ + service_register_core(fd); + + for (;;) { + FD_ZERO(&fds); + FD_SET(fd, &fds); + maxfd = -1; + TAILQ_FOREACH(casserv, &casper_services, cs_next) { + /* We handle only core services. */ + if (!CSERVICE_IS_CORE(casserv)) + continue; + for (sconn = service_connection_first(casserv->cs_service); + sconn != NULL; + sconn = service_connection_next(sconn)) { + sock = service_connection_get_sock(sconn); + FD_SET(sock, &fds); + maxfd = sock > maxfd ? sock : maxfd; + } + } + if (maxfd == -1) { + /* Nothing to do. */ + exit(0); + } + maxfd++; + + + assert(maxfd <= (int)FD_SETSIZE); + ret = select(maxfd, &fds, NULL, NULL, NULL); + assert(ret == -1 || ret > 0); /* select() cannot timeout */ + if (ret == -1) { + if (errno == EINTR) + continue; + exit(1); + } + + TAILQ_FOREACH(casserv, &casper_services, cs_next) { + /* We handle only core services. */ + if (!CSERVICE_IS_CORE(casserv)) + continue; + for (sconn = service_connection_first(casserv->cs_service); + sconn != NULL; sconn = sconntmp) { + /* + * Prepare for connection to be removed from + * the list on failure. + */ + sconntmp = service_connection_next(sconn); + sock = service_connection_get_sock(sconn); + if (FD_ISSET(sock, &fds)) { + service_message(casserv->cs_service, + sconn); + } + } + } + } +} diff --git a/lib/libcasper/libcasper/libcasper_service.h b/lib/libcasper/libcasper/libcasper_service.h new file mode 100644 index 0000000..4efbeb2 --- /dev/null +++ b/lib/libcasper/libcasper/libcasper_service.h @@ -0,0 +1,60 @@ +/*- + * Copyright (c) 2013 The FreeBSD Foundation + * Copyright (c) 2015 Mariusz Zaborski + * All rights reserved. + * + * This software was developed by Pawel Jakub Dawidek under sponsorship from + * the FreeBSD Foundation. + * + * 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 AUTHORS 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 AUTHORS 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 _LIBCASPER_SERVICE_H_ +#define _LIBCASPER_SERVICE_H_ + +#ifndef _NVLIST_T_DECLARED +#define _NVLIST_T_DECLARED +struct nvlist; + +typedef struct nvlist nvlist_t; +#endif + +typedef int service_limit_func_t(const nvlist_t *, const nvlist_t *); +typedef int service_command_func_t(const char *cmd, const nvlist_t *, + nvlist_t *, nvlist_t *); + +struct casper_service *service_register(const char *name, + service_limit_func_t *limitfunc, service_command_func_t *commandfunc); + +#define __constructor __attribute__((constructor)) +#define CREATE_SERVICE(name, limit_func, command_func) \ + static __constructor void \ + init_casper_service(void) \ + { \ + \ + (void)service_register(name, limit_func, \ + command_func); \ + } + +#endif /* !_LIBCASPER_SERVICE_H_ */ diff --git a/lib/libcasper/libcasper/service.c b/lib/libcasper/libcasper/service.c new file mode 100644 index 0000000..e02d7d9 --- /dev/null +++ b/lib/libcasper/libcasper/service.c @@ -0,0 +1,394 @@ +/*- + * Copyright (c) 2013 The FreeBSD Foundation + * Copyright (c) 2015 Mariusz Zaborski + * All rights reserved. + * + * This software was developed by Pawel Jakub Dawidek under sponsorship from + * the FreeBSD Foundation. + * + * 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 AUTHORS 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 AUTHORS 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 + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include "libcasper.h" +#include "libcasper_impl.h" + +/* + * Currently there is only one service_connection per service. + * In the future we may want multiple connections from multiple clients + * per one service instance, but it has to be carefully designed. + * The problem is that we may restrict/sandbox service instance according + * to the limits provided. When new connection comes in with different + * limits we won't be able to access requested resources. + * Not to mention one process will serve to mutiple mutually untrusted + * clients and compromise of this service instance by one of its clients + * can lead to compromise of the other clients. + */ + +/* + * Client connections to the given service. + */ +#define SERVICE_CONNECTION_MAGIC 0x5e91c0ec +struct service_connection { + int sc_magic; + cap_channel_t *sc_chan; + nvlist_t *sc_limits; + TAILQ_ENTRY(service_connection) sc_next; +}; + +#define SERVICE_MAGIC 0x5e91ce +struct service { + int s_magic; + char *s_name; + service_limit_func_t *s_limit; + service_command_func_t *s_command; + TAILQ_HEAD(, service_connection) s_connections; +}; + +struct service * +service_alloc(const char *name, service_limit_func_t *limitfunc, + service_command_func_t *commandfunc) +{ + struct service *service; + + service = malloc(sizeof(*service)); + if (service == NULL) + return (NULL); + service->s_name = strdup(name); + if (service->s_name == NULL) { + free(service); + return (NULL); + } + service->s_limit = limitfunc; + service->s_command = commandfunc; + TAILQ_INIT(&service->s_connections); + service->s_magic = SERVICE_MAGIC; + + return (service); +} + +void +service_free(struct service *service) +{ + struct service_connection *sconn; + + assert(service->s_magic == SERVICE_MAGIC); + + service->s_magic = 0; + while ((sconn = service_connection_first(service)) != NULL) + service_connection_remove(service, sconn); + free(service->s_name); + free(service); +} + +struct service_connection * +service_connection_add(struct service *service, int sock, + const nvlist_t *limits) +{ + struct service_connection *sconn; + int serrno; + + assert(service->s_magic == SERVICE_MAGIC); + + sconn = malloc(sizeof(*sconn)); + if (sconn == NULL) + return (NULL); + sconn->sc_chan = cap_wrap(sock); + if (sconn->sc_chan == NULL) { + serrno = errno; + free(sconn); + errno = serrno; + return (NULL); + } + if (limits == NULL) { + sconn->sc_limits = NULL; + } else { + sconn->sc_limits = nvlist_clone(limits); + if (sconn->sc_limits == NULL) { + serrno = errno; + (void)cap_unwrap(sconn->sc_chan); + free(sconn); + errno = serrno; + return (NULL); + } + } + sconn->sc_magic = SERVICE_CONNECTION_MAGIC; + TAILQ_INSERT_TAIL(&service->s_connections, sconn, sc_next); + return (sconn); +} + +void +service_connection_remove(struct service *service, + struct service_connection *sconn) +{ + + assert(service->s_magic == SERVICE_MAGIC); + assert(sconn->sc_magic == SERVICE_CONNECTION_MAGIC); + + TAILQ_REMOVE(&service->s_connections, sconn, sc_next); + sconn->sc_magic = 0; + nvlist_destroy(sconn->sc_limits); + cap_close(sconn->sc_chan); + free(sconn); +} + +int +service_connection_clone(struct service *service, + struct service_connection *sconn) +{ + struct service_connection *newsconn; + int serrno, sock[2]; + + if (socketpair(PF_UNIX, SOCK_STREAM | SOCK_NONBLOCK, 0, sock) < 0) + return (-1); + + newsconn = service_connection_add(service, sock[0], + service_connection_get_limits(sconn)); + if (newsconn == NULL) { + serrno = errno; + close(sock[0]); + close(sock[1]); + errno = serrno; + return (-1); + } + + return (sock[1]); +} + +struct service_connection * +service_connection_first(struct service *service) +{ + struct service_connection *sconn; + + assert(service->s_magic == SERVICE_MAGIC); + + sconn = TAILQ_FIRST(&service->s_connections); + assert(sconn == NULL || + sconn->sc_magic == SERVICE_CONNECTION_MAGIC); + return (sconn); +} + +struct service_connection * +service_connection_next(struct service_connection *sconn) +{ + + assert(sconn->sc_magic == SERVICE_CONNECTION_MAGIC); + + sconn = TAILQ_NEXT(sconn, sc_next); + assert(sconn == NULL || + sconn->sc_magic == SERVICE_CONNECTION_MAGIC); + return (sconn); +} + +cap_channel_t * +service_connection_get_chan(const struct service_connection *sconn) +{ + + assert(sconn->sc_magic == SERVICE_CONNECTION_MAGIC); + + return (sconn->sc_chan); +} + +int +service_connection_get_sock(const struct service_connection *sconn) +{ + + assert(sconn->sc_magic == SERVICE_CONNECTION_MAGIC); + + return (cap_sock(sconn->sc_chan)); +} + +const nvlist_t * +service_connection_get_limits(const struct service_connection *sconn) +{ + + assert(sconn->sc_magic == SERVICE_CONNECTION_MAGIC); + + return (sconn->sc_limits); +} + +void +service_connection_set_limits(struct service_connection *sconn, + nvlist_t *limits) +{ + + assert(sconn->sc_magic == SERVICE_CONNECTION_MAGIC); + + nvlist_destroy(sconn->sc_limits); + sconn->sc_limits = limits; +} + +void +service_message(struct service *service, struct service_connection *sconn) +{ + nvlist_t *nvlin, *nvlout; + const char *cmd; + int error; + + nvlin = cap_recv_nvlist(service_connection_get_chan(sconn), 0); + if (nvlin == NULL) { + service_connection_remove(service, sconn); + return; + } + + error = EDOOFUS; + nvlout = nvlist_create(0); + + cmd = nvlist_get_string(nvlin, "cmd"); + if (strcmp(cmd, "limit_set") == 0) { + nvlist_t *nvllim; + + nvllim = nvlist_take_nvlist(nvlin, "limits"); + if (service->s_limit == NULL) { + error = EOPNOTSUPP; + } else { + error = service->s_limit( + service_connection_get_limits(sconn), nvllim); + } + if (error == 0) { + service_connection_set_limits(sconn, nvllim); + /* Function consumes nvllim. */ + } else { + nvlist_destroy(nvllim); + } + } else if (strcmp(cmd, "limit_get") == 0) { + const nvlist_t *nvllim; + + nvllim = service_connection_get_limits(sconn); + if (nvllim != NULL) + nvlist_add_nvlist(nvlout, "limits", nvllim); + else + nvlist_add_null(nvlout, "limits"); + error = 0; + } else if (strcmp(cmd, "clone") == 0) { + int sock; + + sock = service_connection_clone(service, sconn); + if (sock == -1) { + error = errno; + } else { + nvlist_move_descriptor(nvlout, "sock", sock); + error = 0; + } + } else { + error = service->s_command(cmd, + service_connection_get_limits(sconn), nvlin, nvlout); + } + + nvlist_destroy(nvlin); + nvlist_add_number(nvlout, "error", (uint64_t)error); + + if (cap_send_nvlist(service_connection_get_chan(sconn), nvlout) == -1) + service_connection_remove(service, sconn); + + nvlist_destroy(nvlout); +} + +static int +fd_add(fd_set *fdsp, int maxfd, int fd) +{ + + FD_SET(fd, fdsp); + return (fd > maxfd ? fd : maxfd); +} + +const char * +service_name(struct service *service) +{ + + assert(service->s_magic == SERVICE_MAGIC); + return (service->s_name); +} + +void +service_start(struct service *service, int sock) +{ + struct service_connection *sconn, *sconntmp; + fd_set fds; + int maxfd, nfds; + + assert(service != NULL); + assert(service->s_magic == SERVICE_MAGIC); + setproctitle("%s", service->s_name); + if (service_connection_add(service, sock, NULL) == NULL) + exit(1); + + for (;;) { + FD_ZERO(&fds); + maxfd = -1; + for (sconn = service_connection_first(service); sconn != NULL; + sconn = service_connection_next(sconn)) { + maxfd = fd_add(&fds, maxfd, + service_connection_get_sock(sconn)); + } + + assert(maxfd >= 0); + assert(maxfd + 1 <= (int)FD_SETSIZE); + nfds = select(maxfd + 1, &fds, NULL, NULL, NULL); + if (nfds < 0) { + if (errno != EINTR) + exit(1); + continue; + } else if (nfds == 0) { + /* Timeout. */ + abort(); + } + + for (sconn = service_connection_first(service); sconn != NULL; + sconn = sconntmp) { + /* + * Prepare for connection to be removed from the list + * on failure. + */ + sconntmp = service_connection_next(sconn); + if (FD_ISSET(service_connection_get_sock(sconn), &fds)) + service_message(service, sconn); + } + if (service_connection_first(service) == NULL) { + /* + * No connections left, exiting. + */ + break; + } + } + + exit(0); +} diff --git a/lib/libcasper/libcasper/zygote.c b/lib/libcasper/libcasper/zygote.c new file mode 100644 index 0000000..e554a3e --- /dev/null +++ b/lib/libcasper/libcasper/zygote.c @@ -0,0 +1,223 @@ +/*- + * Copyright (c) 2012 The FreeBSD Foundation + * Copyright (c) 2015 Mariusz Zaborski + * All rights reserved. + * + * This software was developed by Pawel Jakub Dawidek under sponsorship from + * the FreeBSD Foundation. + * + * 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 AUTHORS 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 AUTHORS 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 +#include + +#include +#include +#include +#include +#include +#include +#include +#include + +#include "zygote.h" + +/* Zygote info. */ +static int zygote_sock = -1; + +static void +stdnull(void) +{ + int fd; + + fd = open(_PATH_DEVNULL, O_RDWR); + if (fd == -1) + errx(1, "Unable to open %s", _PATH_DEVNULL); + + if (setsid() == -1) + errx(1, "Unable to detach from session"); + + if (dup2(fd, STDIN_FILENO) == -1) + errx(1, "Unable to cover stdin"); + if (dup2(fd, STDOUT_FILENO) == -1) + errx(1, "Unable to cover stdout"); + if (dup2(fd, STDERR_FILENO) == -1) + errx(1, "Unable to cover stderr"); + + close(fd); +} + +int +zygote_clone(zygote_func_t *func, int *chanfdp, int *procfdp) +{ + nvlist_t *nvl; + int error; + + if (zygote_sock == -1) { + /* Zygote didn't start. */ + errno = ENXIO; + return (-1); + } + + nvl = nvlist_create(0); + nvlist_add_number(nvl, "func", (uint64_t)(uintptr_t)func); + nvl = nvlist_xfer(zygote_sock, nvl, 0); + if (nvl == NULL) + return (-1); + if (nvlist_exists_number(nvl, "error")) { + error = (int)nvlist_get_number(nvl, "error"); + nvlist_destroy(nvl); + errno = error; + return (-1); + } + + *chanfdp = nvlist_take_descriptor(nvl, "chanfd"); + *procfdp = nvlist_take_descriptor(nvl, "procfd"); + + nvlist_destroy(nvl); + return (0); +} + +/* + * This function creates sandboxes on-demand whoever has access to it via + * 'sock' socket. Function sends two descriptors to the caller: process + * descriptor of the sandbox and socket pair descriptor for communication + * between sandbox and its owner. + */ +static void +zygote_main(int sock) +{ + int error, fd, procfd; + int chanfd[2]; + nvlist_t *nvlin, *nvlout; + zygote_func_t *func; + pid_t pid; + + assert(sock > STDERR_FILENO); + + setproctitle("zygote"); + + stdnull(); + for (fd = STDERR_FILENO + 1; fd < sock; fd++) + close(fd); + closefrom(sock + 1); + + for (;;) { + nvlin = nvlist_recv(sock, 0); + if (nvlin == NULL) { + if (errno == ENOTCONN) { + /* Casper exited. */ + exit(0); + } + continue; + } + func = (zygote_func_t *)(uintptr_t)nvlist_get_number(nvlin, + "func"); + nvlist_destroy(nvlin); + + /* + * Someone is requesting a new process, create one. + */ + procfd = -1; + chanfd[0] = -1; + chanfd[1] = -1; + error = 0; + if (socketpair(PF_UNIX, SOCK_STREAM | SOCK_NONBLOCK, 0, + chanfd) == -1) { + error = errno; + goto send; + } + pid = pdfork(&procfd, 0); + switch (pid) { + case -1: + /* Failure. */ + error = errno; + break; + case 0: + /* Child. */ + close(sock); + close(chanfd[0]); + func(chanfd[1]); + /* NOTREACHED */ + exit(1); + default: + /* Parent. */ + close(chanfd[1]); + break; + } +send: + nvlout = nvlist_create(0); + if (error != 0) { + nvlist_add_number(nvlout, "error", (uint64_t)error); + if (chanfd[0] >= 0) + close(chanfd[0]); + if (procfd >= 0) + close(procfd); + } else { + nvlist_move_descriptor(nvlout, "chanfd", chanfd[0]); + nvlist_move_descriptor(nvlout, "procfd", procfd); + } + (void)nvlist_send(sock, nvlout); + nvlist_destroy(nvlout); + } + /* NOTREACHED */ +} + +int +zygote_init(void) +{ + int serrno, sp[2]; + pid_t pid; + + if (socketpair(PF_UNIX, SOCK_STREAM | SOCK_NONBLOCK, 0, sp) == -1) + return (-1); + + pid = fork(); + switch (pid) { + case -1: + /* Failure. */ + serrno = errno; + close(sp[0]); + close(sp[1]); + errno = serrno; + return (-1); + case 0: + /* Child. */ + close(sp[0]); + zygote_main(sp[1]); + /* NOTREACHED */ + abort(); + default: + /* Parent. */ + zygote_sock = sp[0]; + close(sp[1]); + return (0); + } + /* NOTREACHED */ +} diff --git a/lib/libcasper/libcasper/zygote.h b/lib/libcasper/libcasper/zygote.h new file mode 100644 index 0000000..e147287 --- /dev/null +++ b/lib/libcasper/libcasper/zygote.h @@ -0,0 +1,41 @@ +/*- + * Copyright (c) 2012 The FreeBSD Foundation + * Copyright (c) 2015 Mariusz Zaborski + * All rights reserved. + * + * This software was developed by Pawel Jakub Dawidek under sponsorship from + * the FreeBSD Foundation. + * + * 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 AUTHORS 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 AUTHORS 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 _ZYGOTE_H_ +#define _ZYGOTE_H_ + +typedef void zygote_func_t(int); + +int zygote_init(void); +int zygote_clone(zygote_func_t *func, int *chanfdp, int *procfdp); + +#endif /* !_ZYGOTE_H_ */ diff --git a/lib/libcasper/libcasper_impl.h b/lib/libcasper/libcasper_impl.h deleted file mode 100644 index 320f21a..0000000 --- a/lib/libcasper/libcasper_impl.h +++ /dev/null @@ -1,46 +0,0 @@ -/*- - * Copyright (c) 2013 The FreeBSD Foundation - * All rights reserved. - * - * This software was developed by Pawel Jakub Dawidek under sponsorship from - * the FreeBSD Foundation. - * - * 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 AUTHORS 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 AUTHORS 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 _LIBCASPER_IMPL_H_ -#define _LIBCASPER_IMPL_H_ - -#include "libcasper.h" - -struct service; -struct service_connection; - -struct service * service_alloc(const char *name, - service_limit_func_t *limitfunc, service_command_func_t *commandfunc); -void service_free(struct service *service); - -void service_message(struct service *service, struct service_connection *sconn); - -#endif /* !_LIBCASPER_IMPL_H_ */ diff --git a/lib/libcasper/services/Makefile b/lib/libcasper/services/Makefile new file mode 100644 index 0000000..39b79af --- /dev/null +++ b/lib/libcasper/services/Makefile @@ -0,0 +1,9 @@ +# $FreeBSD$ + +SUBDIR= cap_dns +SUBDIR+= cap_grp +SUBDIR+= cap_pwd +SUBDIR+= cap_random +SUBDIR+= cap_sysctl + +.include diff --git a/lib/libcasper/services/cap_dns/Makefile b/lib/libcasper/services/cap_dns/Makefile new file mode 100644 index 0000000..871975d --- /dev/null +++ b/lib/libcasper/services/cap_dns/Makefile @@ -0,0 +1,20 @@ +# $FreeBSD$ + +LIB= cap_dns + +SHLIB_MAJOR= 0 +SHLIBDIR?= /lib/casper +INCSDIR?= ${INCLUDEDIR}/casper + +SRCS= cap_dns.c + +INCS= cap_dns.h + +LIBADD= nv + +CFLAGS+=-I${.CURDIR} +CFLAGS+=-I${.CURDIR}/../libcasper + +WARNS?= 6 + +.include diff --git a/lib/libcasper/services/cap_dns/cap_dns.c b/lib/libcasper/services/cap_dns/cap_dns.c new file mode 100644 index 0000000..873af4c --- /dev/null +++ b/lib/libcasper/services/cap_dns/cap_dns.c @@ -0,0 +1,761 @@ +/*- + * Copyright (c) 2012-2013 The FreeBSD Foundation + * All rights reserved. + * + * This software was developed by Pawel Jakub Dawidek under sponsorship from + * the FreeBSD Foundation. + * + * 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 AUTHORS 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 AUTHORS 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 +#include +#include +#include +#include +#include + +#include +#include + +#include "cap_dns.h" + +static struct hostent hent; + +static void +hostent_free(struct hostent *hp) +{ + unsigned int ii; + + free(hp->h_name); + hp->h_name = NULL; + if (hp->h_aliases != NULL) { + for (ii = 0; hp->h_aliases[ii] != NULL; ii++) + free(hp->h_aliases[ii]); + free(hp->h_aliases); + hp->h_aliases = NULL; + } + if (hp->h_addr_list != NULL) { + for (ii = 0; hp->h_addr_list[ii] != NULL; ii++) + free(hp->h_addr_list[ii]); + free(hp->h_addr_list); + hp->h_addr_list = NULL; + } +} + +static struct hostent * +hostent_unpack(const nvlist_t *nvl, struct hostent *hp) +{ + unsigned int ii, nitems; + char nvlname[64]; + int n; + + hostent_free(hp); + + hp->h_name = strdup(nvlist_get_string(nvl, "name")); + if (hp->h_name == NULL) + goto fail; + hp->h_addrtype = (int)nvlist_get_number(nvl, "addrtype"); + hp->h_length = (int)nvlist_get_number(nvl, "length"); + + nitems = (unsigned int)nvlist_get_number(nvl, "naliases"); + hp->h_aliases = calloc(sizeof(hp->h_aliases[0]), nitems + 1); + if (hp->h_aliases == NULL) + goto fail; + for (ii = 0; ii < nitems; ii++) { + n = snprintf(nvlname, sizeof(nvlname), "alias%u", ii); + assert(n > 0 && n < (int)sizeof(nvlname)); + hp->h_aliases[ii] = + strdup(nvlist_get_string(nvl, nvlname)); + if (hp->h_aliases[ii] == NULL) + goto fail; + } + hp->h_aliases[ii] = NULL; + + nitems = (unsigned int)nvlist_get_number(nvl, "naddrs"); + hp->h_addr_list = calloc(sizeof(hp->h_addr_list[0]), nitems + 1); + if (hp->h_addr_list == NULL) + goto fail; + for (ii = 0; ii < nitems; ii++) { + hp->h_addr_list[ii] = malloc(hp->h_length); + if (hp->h_addr_list[ii] == NULL) + goto fail; + n = snprintf(nvlname, sizeof(nvlname), "addr%u", ii); + assert(n > 0 && n < (int)sizeof(nvlname)); + bcopy(nvlist_get_binary(nvl, nvlname, NULL), + hp->h_addr_list[ii], hp->h_length); + } + hp->h_addr_list[ii] = NULL; + + return (hp); +fail: + hostent_free(hp); + h_errno = NO_RECOVERY; + return (NULL); +} + +struct hostent * +cap_gethostbyname(cap_channel_t *chan, const char *name) +{ + + return (cap_gethostbyname2(chan, name, AF_INET)); +} + +struct hostent * +cap_gethostbyname2(cap_channel_t *chan, const char *name, int type) +{ + struct hostent *hp; + nvlist_t *nvl; + + nvl = nvlist_create(0); + nvlist_add_string(nvl, "cmd", "gethostbyname"); + nvlist_add_number(nvl, "family", (uint64_t)type); + nvlist_add_string(nvl, "name", name); + nvl = cap_xfer_nvlist(chan, nvl, 0); + if (nvl == NULL) { + h_errno = NO_RECOVERY; + return (NULL); + } + if (nvlist_get_number(nvl, "error") != 0) { + h_errno = (int)nvlist_get_number(nvl, "error"); + nvlist_destroy(nvl); + return (NULL); + } + + hp = hostent_unpack(nvl, &hent); + nvlist_destroy(nvl); + return (hp); +} + +struct hostent * +cap_gethostbyaddr(cap_channel_t *chan, const void *addr, socklen_t len, + int type) +{ + struct hostent *hp; + nvlist_t *nvl; + + nvl = nvlist_create(0); + nvlist_add_string(nvl, "cmd", "gethostbyaddr"); + nvlist_add_binary(nvl, "addr", addr, (size_t)len); + nvlist_add_number(nvl, "family", (uint64_t)type); + nvl = cap_xfer_nvlist(chan, nvl, 0); + if (nvl == NULL) { + h_errno = NO_RECOVERY; + return (NULL); + } + if (nvlist_get_number(nvl, "error") != 0) { + h_errno = (int)nvlist_get_number(nvl, "error"); + nvlist_destroy(nvl); + return (NULL); + } + hp = hostent_unpack(nvl, &hent); + nvlist_destroy(nvl); + return (hp); +} + +static struct addrinfo * +addrinfo_unpack(const nvlist_t *nvl) +{ + struct addrinfo *ai; + const void *addr; + size_t addrlen; + const char *canonname; + + addr = nvlist_get_binary(nvl, "ai_addr", &addrlen); + ai = malloc(sizeof(*ai) + addrlen); + if (ai == NULL) + return (NULL); + ai->ai_flags = (int)nvlist_get_number(nvl, "ai_flags"); + ai->ai_family = (int)nvlist_get_number(nvl, "ai_family"); + ai->ai_socktype = (int)nvlist_get_number(nvl, "ai_socktype"); + ai->ai_protocol = (int)nvlist_get_number(nvl, "ai_protocol"); + ai->ai_addrlen = (socklen_t)addrlen; + canonname = dnvlist_get_string(nvl, "ai_canonname", NULL); + if (canonname != NULL) { + ai->ai_canonname = strdup(canonname); + if (ai->ai_canonname == NULL) { + free(ai); + return (NULL); + } + } else { + ai->ai_canonname = NULL; + } + ai->ai_addr = (void *)(ai + 1); + bcopy(addr, ai->ai_addr, addrlen); + ai->ai_next = NULL; + + return (ai); +} + +int +cap_getaddrinfo(cap_channel_t *chan, const char *hostname, const char *servname, + const struct addrinfo *hints, struct addrinfo **res) +{ + struct addrinfo *firstai, *prevai, *curai; + unsigned int ii; + const nvlist_t *nvlai; + char nvlname[64]; + nvlist_t *nvl; + int error, n; + + nvl = nvlist_create(0); + nvlist_add_string(nvl, "cmd", "getaddrinfo"); + if (hostname != NULL) + nvlist_add_string(nvl, "hostname", hostname); + if (servname != NULL) + nvlist_add_string(nvl, "servname", servname); + if (hints != NULL) { + nvlist_add_number(nvl, "hints.ai_flags", + (uint64_t)hints->ai_flags); + nvlist_add_number(nvl, "hints.ai_family", + (uint64_t)hints->ai_family); + nvlist_add_number(nvl, "hints.ai_socktype", + (uint64_t)hints->ai_socktype); + nvlist_add_number(nvl, "hints.ai_protocol", + (uint64_t)hints->ai_protocol); + } + nvl = cap_xfer_nvlist(chan, nvl, 0); + if (nvl == NULL) + return (EAI_MEMORY); + if (nvlist_get_number(nvl, "error") != 0) { + error = (int)nvlist_get_number(nvl, "error"); + nvlist_destroy(nvl); + return (error); + } + + nvlai = NULL; + firstai = prevai = curai = NULL; + for (ii = 0; ; ii++) { + n = snprintf(nvlname, sizeof(nvlname), "res%u", ii); + assert(n > 0 && n < (int)sizeof(nvlname)); + if (!nvlist_exists_nvlist(nvl, nvlname)) + break; + nvlai = nvlist_get_nvlist(nvl, nvlname); + curai = addrinfo_unpack(nvlai); + if (curai == NULL) + break; + if (prevai != NULL) + prevai->ai_next = curai; + else if (firstai == NULL) + firstai = curai; + prevai = curai; + } + nvlist_destroy(nvl); + if (curai == NULL && nvlai != NULL) { + if (firstai == NULL) + freeaddrinfo(firstai); + return (EAI_MEMORY); + } + + *res = firstai; + return (0); +} + +int +cap_getnameinfo(cap_channel_t *chan, const struct sockaddr *sa, socklen_t salen, + char *host, size_t hostlen, char *serv, size_t servlen, int flags) +{ + nvlist_t *nvl; + int error; + + nvl = nvlist_create(0); + nvlist_add_string(nvl, "cmd", "getnameinfo"); + nvlist_add_number(nvl, "hostlen", (uint64_t)hostlen); + nvlist_add_number(nvl, "servlen", (uint64_t)servlen); + nvlist_add_binary(nvl, "sa", sa, (size_t)salen); + nvlist_add_number(nvl, "flags", (uint64_t)flags); + nvl = cap_xfer_nvlist(chan, nvl, 0); + if (nvl == NULL) + return (EAI_MEMORY); + if (nvlist_get_number(nvl, "error") != 0) { + error = (int)nvlist_get_number(nvl, "error"); + nvlist_destroy(nvl); + return (error); + } + + if (host != NULL && nvlist_exists_string(nvl, "host")) + strlcpy(host, nvlist_get_string(nvl, "host"), hostlen + 1); + if (serv != NULL && nvlist_exists_string(nvl, "serv")) + strlcpy(serv, nvlist_get_string(nvl, "serv"), servlen + 1); + nvlist_destroy(nvl); + return (0); +} + +static void +limit_remove(nvlist_t *limits, const char *prefix) +{ + const char *name; + size_t prefixlen; + void *cookie; + + prefixlen = strlen(prefix); +again: + cookie = NULL; + while ((name = nvlist_next(limits, NULL, &cookie)) != NULL) { + if (strncmp(name, prefix, prefixlen) == 0) { + nvlist_free(limits, name); + goto again; + } + } +} + +int +cap_dns_type_limit(cap_channel_t *chan, const char * const *types, + size_t ntypes) +{ + nvlist_t *limits; + unsigned int i; + char nvlname[64]; + int n; + + if (cap_limit_get(chan, &limits) < 0) + return (-1); + if (limits == NULL) + limits = nvlist_create(0); + else + limit_remove(limits, "type"); + for (i = 0; i < ntypes; i++) { + n = snprintf(nvlname, sizeof(nvlname), "type%u", i); + assert(n > 0 && n < (int)sizeof(nvlname)); + nvlist_add_string(limits, nvlname, types[i]); + } + return (cap_limit_set(chan, limits)); +} + +int +cap_dns_family_limit(cap_channel_t *chan, const int *families, + size_t nfamilies) +{ + nvlist_t *limits; + unsigned int i; + char nvlname[64]; + int n; + + if (cap_limit_get(chan, &limits) < 0) + return (-1); + if (limits == NULL) + limits = nvlist_create(0); + else + limit_remove(limits, "family"); + for (i = 0; i < nfamilies; i++) { + n = snprintf(nvlname, sizeof(nvlname), "family%u", i); + assert(n > 0 && n < (int)sizeof(nvlname)); + nvlist_add_number(limits, nvlname, (uint64_t)families[i]); + } + return (cap_limit_set(chan, limits)); +} + +/* + * Service functions. + */ +static bool +dns_allowed_type(const nvlist_t *limits, const char *type) +{ + const char *name; + bool notypes; + void *cookie; + + if (limits == NULL) + return (true); + + notypes = true; + cookie = NULL; + while ((name = nvlist_next(limits, NULL, &cookie)) != NULL) { + if (strncmp(name, "type", sizeof("type") - 1) != 0) + continue; + notypes = false; + if (strcmp(nvlist_get_string(limits, name), type) == 0) + return (true); + } + + /* If there are no types at all, allow any type. */ + if (notypes) + return (true); + + return (false); +} + +static bool +dns_allowed_family(const nvlist_t *limits, int family) +{ + const char *name; + bool nofamilies; + void *cookie; + + if (limits == NULL) + return (true); + + nofamilies = true; + cookie = NULL; + while ((name = nvlist_next(limits, NULL, &cookie)) != NULL) { + if (strncmp(name, "family", sizeof("family") - 1) != 0) + continue; + nofamilies = false; + if (family == AF_UNSPEC) + continue; + if (nvlist_get_number(limits, name) == (uint64_t)family) + return (true); + } + + /* If there are no families at all, allow any family. */ + if (nofamilies) + return (true); + + return (false); +} + +static void +hostent_pack(const struct hostent *hp, nvlist_t *nvl) +{ + unsigned int ii; + char nvlname[64]; + int n; + + nvlist_add_string(nvl, "name", hp->h_name); + nvlist_add_number(nvl, "addrtype", (uint64_t)hp->h_addrtype); + nvlist_add_number(nvl, "length", (uint64_t)hp->h_length); + + if (hp->h_aliases == NULL) { + nvlist_add_number(nvl, "naliases", 0); + } else { + for (ii = 0; hp->h_aliases[ii] != NULL; ii++) { + n = snprintf(nvlname, sizeof(nvlname), "alias%u", ii); + assert(n > 0 && n < (int)sizeof(nvlname)); + nvlist_add_string(nvl, nvlname, hp->h_aliases[ii]); + } + nvlist_add_number(nvl, "naliases", (uint64_t)ii); + } + + if (hp->h_addr_list == NULL) { + nvlist_add_number(nvl, "naddrs", 0); + } else { + for (ii = 0; hp->h_addr_list[ii] != NULL; ii++) { + n = snprintf(nvlname, sizeof(nvlname), "addr%u", ii); + assert(n > 0 && n < (int)sizeof(nvlname)); + nvlist_add_binary(nvl, nvlname, hp->h_addr_list[ii], + (size_t)hp->h_length); + } + nvlist_add_number(nvl, "naddrs", (uint64_t)ii); + } +} + +static int +dns_gethostbyname(const nvlist_t *limits, const nvlist_t *nvlin, + nvlist_t *nvlout) +{ + struct hostent *hp; + int family; + + if (!dns_allowed_type(limits, "NAME")) + return (NO_RECOVERY); + + family = (int)nvlist_get_number(nvlin, "family"); + + if (!dns_allowed_family(limits, family)) + return (NO_RECOVERY); + + hp = gethostbyname2(nvlist_get_string(nvlin, "name"), family); + if (hp == NULL) + return (h_errno); + hostent_pack(hp, nvlout); + return (0); +} + +static int +dns_gethostbyaddr(const nvlist_t *limits, const nvlist_t *nvlin, + nvlist_t *nvlout) +{ + struct hostent *hp; + const void *addr; + size_t addrsize; + int family; + + if (!dns_allowed_type(limits, "ADDR")) + return (NO_RECOVERY); + + family = (int)nvlist_get_number(nvlin, "family"); + + if (!dns_allowed_family(limits, family)) + return (NO_RECOVERY); + + addr = nvlist_get_binary(nvlin, "addr", &addrsize); + hp = gethostbyaddr(addr, (socklen_t)addrsize, family); + if (hp == NULL) + return (h_errno); + hostent_pack(hp, nvlout); + return (0); +} + +static int +dns_getnameinfo(const nvlist_t *limits, const nvlist_t *nvlin, nvlist_t *nvlout) +{ + struct sockaddr_storage sast; + const void *sabin; + char *host, *serv; + size_t sabinsize, hostlen, servlen; + socklen_t salen; + int error, flags; + + if (!dns_allowed_type(limits, "NAME")) + return (NO_RECOVERY); + + error = 0; + host = serv = NULL; + memset(&sast, 0, sizeof(sast)); + + hostlen = (size_t)nvlist_get_number(nvlin, "hostlen"); + servlen = (size_t)nvlist_get_number(nvlin, "servlen"); + + if (hostlen > 0) { + host = calloc(1, hostlen + 1); + if (host == NULL) { + error = EAI_MEMORY; + goto out; + } + } + if (servlen > 0) { + serv = calloc(1, servlen + 1); + if (serv == NULL) { + error = EAI_MEMORY; + goto out; + } + } + + sabin = nvlist_get_binary(nvlin, "sa", &sabinsize); + if (sabinsize > sizeof(sast)) { + error = EAI_FAIL; + goto out; + } + + memcpy(&sast, sabin, sabinsize); + salen = (socklen_t)sabinsize; + + if ((sast.ss_family != AF_INET || + salen != sizeof(struct sockaddr_in)) && + (sast.ss_family != AF_INET6 || + salen != sizeof(struct sockaddr_in6))) { + error = EAI_FAIL; + goto out; + } + + if (!dns_allowed_family(limits, (int)sast.ss_family)) { + error = NO_RECOVERY; + goto out; + } + + flags = (int)nvlist_get_number(nvlin, "flags"); + + error = getnameinfo((struct sockaddr *)&sast, salen, host, hostlen, + serv, servlen, flags); + if (error != 0) + goto out; + + if (host != NULL) + nvlist_move_string(nvlout, "host", host); + if (serv != NULL) + nvlist_move_string(nvlout, "serv", serv); +out: + if (error != 0) { + free(host); + free(serv); + } + return (error); +} + +static nvlist_t * +addrinfo_pack(const struct addrinfo *ai) +{ + nvlist_t *nvl; + + nvl = nvlist_create(0); + nvlist_add_number(nvl, "ai_flags", (uint64_t)ai->ai_flags); + nvlist_add_number(nvl, "ai_family", (uint64_t)ai->ai_family); + nvlist_add_number(nvl, "ai_socktype", (uint64_t)ai->ai_socktype); + nvlist_add_number(nvl, "ai_protocol", (uint64_t)ai->ai_protocol); + nvlist_add_binary(nvl, "ai_addr", ai->ai_addr, (size_t)ai->ai_addrlen); + if (ai->ai_canonname != NULL) + nvlist_add_string(nvl, "ai_canonname", ai->ai_canonname); + + return (nvl); +} + +static int +dns_getaddrinfo(const nvlist_t *limits, const nvlist_t *nvlin, nvlist_t *nvlout) +{ + struct addrinfo hints, *hintsp, *res, *cur; + const char *hostname, *servname; + char nvlname[64]; + nvlist_t *elem; + unsigned int ii; + int error, family, n; + + if (!dns_allowed_type(limits, "ADDR")) + return (NO_RECOVERY); + + hostname = dnvlist_get_string(nvlin, "hostname", NULL); + servname = dnvlist_get_string(nvlin, "servname", NULL); + if (nvlist_exists_number(nvlin, "hints.ai_flags")) { + hints.ai_flags = (int)nvlist_get_number(nvlin, + "hints.ai_flags"); + hints.ai_family = (int)nvlist_get_number(nvlin, + "hints.ai_family"); + hints.ai_socktype = (int)nvlist_get_number(nvlin, + "hints.ai_socktype"); + hints.ai_protocol = (int)nvlist_get_number(nvlin, + "hints.ai_protocol"); + hints.ai_addrlen = 0; + hints.ai_addr = NULL; + hints.ai_canonname = NULL; + hintsp = &hints; + family = hints.ai_family; + } else { + hintsp = NULL; + family = AF_UNSPEC; + } + + if (!dns_allowed_family(limits, family)) + return (NO_RECOVERY); + + error = getaddrinfo(hostname, servname, hintsp, &res); + if (error != 0) + goto out; + + for (cur = res, ii = 0; cur != NULL; cur = cur->ai_next, ii++) { + elem = addrinfo_pack(cur); + n = snprintf(nvlname, sizeof(nvlname), "res%u", ii); + assert(n > 0 && n < (int)sizeof(nvlname)); + nvlist_move_nvlist(nvlout, nvlname, elem); + } + + freeaddrinfo(res); + error = 0; +out: + return (error); +} + +static bool +limit_has_entry(const nvlist_t *limits, const char *prefix) +{ + const char *name; + size_t prefixlen; + void *cookie; + + if (limits == NULL) + return (false); + + prefixlen = strlen(prefix); + + cookie = NULL; + while ((name = nvlist_next(limits, NULL, &cookie)) != NULL) { + if (strncmp(name, prefix, prefixlen) == 0) + return (true); + } + + return (false); +} + +static int +dns_limit(const nvlist_t *oldlimits, const nvlist_t *newlimits) +{ + const char *name; + void *cookie; + int nvtype; + bool hastype, hasfamily; + + hastype = false; + hasfamily = false; + + cookie = NULL; + while ((name = nvlist_next(newlimits, &nvtype, &cookie)) != NULL) { + if (nvtype == NV_TYPE_STRING) { + const char *type; + + if (strncmp(name, "type", sizeof("type") - 1) != 0) + return (EINVAL); + type = nvlist_get_string(newlimits, name); + if (strcmp(type, "ADDR") != 0 && + strcmp(type, "NAME") != 0) { + return (EINVAL); + } + if (!dns_allowed_type(oldlimits, type)) + return (ENOTCAPABLE); + hastype = true; + } else if (nvtype == NV_TYPE_NUMBER) { + int family; + + if (strncmp(name, "family", sizeof("family") - 1) != 0) + return (EINVAL); + family = (int)nvlist_get_number(newlimits, name); + if (!dns_allowed_family(oldlimits, family)) + return (ENOTCAPABLE); + hasfamily = true; + } else { + return (EINVAL); + } + } + + /* + * If the new limit doesn't mention type or family we have to + * check if the current limit does have those. Missing type or + * family in the limit means that all types or families are + * allowed. + */ + if (!hastype) { + if (limit_has_entry(oldlimits, "type")) + return (ENOTCAPABLE); + } + if (!hasfamily) { + if (limit_has_entry(oldlimits, "family")) + return (ENOTCAPABLE); + } + + return (0); +} + +static int +dns_command(const char *cmd, const nvlist_t *limits, nvlist_t *nvlin, + nvlist_t *nvlout) +{ + int error; + + if (strcmp(cmd, "gethostbyname") == 0) + error = dns_gethostbyname(limits, nvlin, nvlout); + else if (strcmp(cmd, "gethostbyaddr") == 0) + error = dns_gethostbyaddr(limits, nvlin, nvlout); + else if (strcmp(cmd, "getnameinfo") == 0) + error = dns_getnameinfo(limits, nvlin, nvlout); + else if (strcmp(cmd, "getaddrinfo") == 0) + error = dns_getaddrinfo(limits, nvlin, nvlout); + else + error = NO_RECOVERY; + + return (error); +} + +CREATE_SERVICE("system.dns", dns_limit, dns_command); diff --git a/lib/libcasper/services/cap_dns/cap_dns.h b/lib/libcasper/services/cap_dns/cap_dns.h new file mode 100644 index 0000000..ea37542 --- /dev/null +++ b/lib/libcasper/services/cap_dns/cap_dns.h @@ -0,0 +1,57 @@ +/*- + * Copyright (c) 2012 The FreeBSD Foundation + * All rights reserved. + * + * This software was developed by Pawel Jakub Dawidek under sponsorship from + * the FreeBSD Foundation. + * + * 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 AUTHORS 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 AUTHORS 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 _CAP_DNS_H_ +#define _CAP_DNS_H_ + +#include /* socklen_t */ + +struct addrinfo; +struct hostent; + +struct hostent *cap_gethostbyname(cap_channel_t *chan, const char *name); +struct hostent *cap_gethostbyname2(cap_channel_t *chan, const char *name, + int type); +struct hostent *cap_gethostbyaddr(cap_channel_t *chan, const void *addr, + socklen_t len, int type); + +int cap_getaddrinfo(cap_channel_t *chan, const char *hostname, + const char *servname, const struct addrinfo *hints, struct addrinfo **res); +int cap_getnameinfo(cap_channel_t *chan, const struct sockaddr *sa, + socklen_t salen, char *host, size_t hostlen, char *serv, size_t servlen, + int flags); + +int cap_dns_type_limit(cap_channel_t *chan, const char * const *types, + size_t ntypes); +int cap_dns_family_limit(cap_channel_t *chan, const int *families, + size_t nfamilies); + +#endif /* !_CAP_DNS_H_ */ diff --git a/lib/libcasper/services/cap_grp/Makefile b/lib/libcasper/services/cap_grp/Makefile new file mode 100644 index 0000000..81b9477 --- /dev/null +++ b/lib/libcasper/services/cap_grp/Makefile @@ -0,0 +1,20 @@ +# $FreeBSD$ + +LIB= cap_grp + +SHLIB_MAJOR= 0 +SHLIBDIR?= /lib/casper +INCSDIR?= ${INCLUDEDIR}/casper + +SRCS= cap_grp.c + +INCS= cap_grp.h + +LIBADD= nv + +CFLAGS+=-I${.CURDIR} +CFLAGS+=-I${.CURDIR}/../libcasper + +WARNS?= 6 + +.include diff --git a/lib/libcasper/services/cap_grp/cap_grp.c b/lib/libcasper/services/cap_grp/cap_grp.c new file mode 100644 index 0000000..d358cea --- /dev/null +++ b/lib/libcasper/services/cap_grp/cap_grp.c @@ -0,0 +1,787 @@ +/*- + * Copyright (c) 2013 The FreeBSD Foundation + * All rights reserved. + * + * This software was developed by Pawel Jakub Dawidek under sponsorship from + * the FreeBSD Foundation. + * + * 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 AUTHORS 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 AUTHORS 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 +#include +#include +#include +#include + +#include +#include + +#include "cap_grp.h" + +static struct group ggrp; +static char *gbuffer; +static size_t gbufsize; + +static int +group_resize(void) +{ + char *buf; + + if (gbufsize == 0) + gbufsize = 1024; + else + gbufsize *= 2; + + buf = gbuffer; + gbuffer = realloc(buf, gbufsize); + if (gbuffer == NULL) { + free(buf); + gbufsize = 0; + return (ENOMEM); + } + memset(gbuffer, 0, gbufsize); + + return (0); +} + +static int +group_unpack_string(const nvlist_t *nvl, const char *fieldname, char **fieldp, + char **bufferp, size_t *bufsizep) +{ + const char *str; + size_t len; + + str = nvlist_get_string(nvl, fieldname); + len = strlcpy(*bufferp, str, *bufsizep); + if (len >= *bufsizep) + return (ERANGE); + *fieldp = *bufferp; + *bufferp += len + 1; + *bufsizep -= len + 1; + + return (0); +} + +static int +group_unpack_members(const nvlist_t *nvl, char ***fieldp, char **bufferp, + size_t *bufsizep) +{ + const char *mem; + char **outstrs, *str, nvlname[64]; + size_t nmem, datasize, strsize; + unsigned int ii; + int n; + + if (!nvlist_exists_number(nvl, "gr_nmem")) { + datasize = _ALIGNBYTES + sizeof(char *); + if (datasize >= *bufsizep) + return (ERANGE); + outstrs = (char **)_ALIGN(*bufferp); + outstrs[0] = NULL; + *fieldp = outstrs; + *bufferp += datasize; + *bufsizep -= datasize; + return (0); + } + + nmem = (size_t)nvlist_get_number(nvl, "gr_nmem"); + datasize = _ALIGNBYTES + sizeof(char *) * (nmem + 1); + for (ii = 0; ii < nmem; ii++) { + n = snprintf(nvlname, sizeof(nvlname), "gr_mem[%u]", ii); + assert(n > 0 && n < (int)sizeof(nvlname)); + mem = dnvlist_get_string(nvl, nvlname, NULL); + if (mem == NULL) + return (EINVAL); + datasize += strlen(mem) + 1; + } + + if (datasize >= *bufsizep) + return (ERANGE); + + outstrs = (char **)_ALIGN(*bufferp); + str = (char *)outstrs + sizeof(char *) * (nmem + 1); + for (ii = 0; ii < nmem; ii++) { + n = snprintf(nvlname, sizeof(nvlname), "gr_mem[%u]", ii); + assert(n > 0 && n < (int)sizeof(nvlname)); + mem = nvlist_get_string(nvl, nvlname); + strsize = strlen(mem) + 1; + memcpy(str, mem, strsize); + outstrs[ii] = str; + str += strsize; + } + assert(ii == nmem); + outstrs[ii] = NULL; + + *fieldp = outstrs; + *bufferp += datasize; + *bufsizep -= datasize; + + return (0); +} + +static int +group_unpack(const nvlist_t *nvl, struct group *grp, char *buffer, + size_t bufsize) +{ + int error; + + if (!nvlist_exists_string(nvl, "gr_name")) + return (EINVAL); + + memset(grp, 0, sizeof(*grp)); + + error = group_unpack_string(nvl, "gr_name", &grp->gr_name, &buffer, + &bufsize); + if (error != 0) + return (error); + error = group_unpack_string(nvl, "gr_passwd", &grp->gr_passwd, &buffer, + &bufsize); + if (error != 0) + return (error); + grp->gr_gid = (gid_t)nvlist_get_number(nvl, "gr_gid"); + error = group_unpack_members(nvl, &grp->gr_mem, &buffer, &bufsize); + if (error != 0) + return (error); + + return (0); +} + +static int +cap_getgrcommon_r(cap_channel_t *chan, const char *cmd, const char *name, + gid_t gid, struct group *grp, char *buffer, size_t bufsize, + struct group **result) +{ + nvlist_t *nvl; + bool getgr_r; + int error; + + nvl = nvlist_create(0); + nvlist_add_string(nvl, "cmd", cmd); + if (strcmp(cmd, "getgrent") == 0 || strcmp(cmd, "getgrent_r") == 0) { + /* Add nothing. */ + } else if (strcmp(cmd, "getgrnam") == 0 || + strcmp(cmd, "getgrnam_r") == 0) { + nvlist_add_string(nvl, "name", name); + } else if (strcmp(cmd, "getgrgid") == 0 || + strcmp(cmd, "getgrgid_r") == 0) { + nvlist_add_number(nvl, "gid", (uint64_t)gid); + } else { + abort(); + } + nvl = cap_xfer_nvlist(chan, nvl, 0); + if (nvl == NULL) { + assert(errno != 0); + *result = NULL; + return (errno); + } + error = (int)nvlist_get_number(nvl, "error"); + if (error != 0) { + nvlist_destroy(nvl); + *result = NULL; + return (error); + } + + if (!nvlist_exists_string(nvl, "gr_name")) { + /* Not found. */ + nvlist_destroy(nvl); + *result = NULL; + return (0); + } + + getgr_r = (strcmp(cmd, "getgrent_r") == 0 || + strcmp(cmd, "getgrnam_r") == 0 || strcmp(cmd, "getgrgid_r") == 0); + + for (;;) { + error = group_unpack(nvl, grp, buffer, bufsize); + if (getgr_r || error != ERANGE) + break; + assert(buffer == gbuffer); + assert(bufsize == gbufsize); + error = group_resize(); + if (error != 0) + break; + /* Update pointers after resize. */ + buffer = gbuffer; + bufsize = gbufsize; + } + + nvlist_destroy(nvl); + + if (error == 0) + *result = grp; + else + *result = NULL; + + return (error); +} + +static struct group * +cap_getgrcommon(cap_channel_t *chan, const char *cmd, const char *name, + gid_t gid) +{ + struct group *result; + int error, serrno; + + serrno = errno; + + error = cap_getgrcommon_r(chan, cmd, name, gid, &ggrp, gbuffer, + gbufsize, &result); + if (error != 0) { + errno = error; + return (NULL); + } + + errno = serrno; + + return (result); +} + +struct group * +cap_getgrent(cap_channel_t *chan) +{ + + return (cap_getgrcommon(chan, "getgrent", NULL, 0)); +} + +struct group * +cap_getgrnam(cap_channel_t *chan, const char *name) +{ + + return (cap_getgrcommon(chan, "getgrnam", name, 0)); +} + +struct group * +cap_getgrgid(cap_channel_t *chan, gid_t gid) +{ + + return (cap_getgrcommon(chan, "getgrgid", NULL, gid)); +} + +int +cap_getgrent_r(cap_channel_t *chan, struct group *grp, char *buffer, + size_t bufsize, struct group **result) +{ + + return (cap_getgrcommon_r(chan, "getgrent_r", NULL, 0, grp, buffer, + bufsize, result)); +} + +int +cap_getgrnam_r(cap_channel_t *chan, const char *name, struct group *grp, + char *buffer, size_t bufsize, struct group **result) +{ + + return (cap_getgrcommon_r(chan, "getgrnam_r", name, 0, grp, buffer, + bufsize, result)); +} + +int +cap_getgrgid_r(cap_channel_t *chan, gid_t gid, struct group *grp, char *buffer, + size_t bufsize, struct group **result) +{ + + return (cap_getgrcommon_r(chan, "getgrgid_r", NULL, gid, grp, buffer, + bufsize, result)); +} + +int +cap_setgroupent(cap_channel_t *chan, int stayopen) +{ + nvlist_t *nvl; + + nvl = nvlist_create(0); + nvlist_add_string(nvl, "cmd", "setgroupent"); + nvlist_add_bool(nvl, "stayopen", stayopen != 0); + nvl = cap_xfer_nvlist(chan, nvl, 0); + if (nvl == NULL) + return (0); + if (nvlist_get_number(nvl, "error") != 0) { + errno = nvlist_get_number(nvl, "error"); + nvlist_destroy(nvl); + return (0); + } + nvlist_destroy(nvl); + + return (1); +} + +int +cap_setgrent(cap_channel_t *chan) +{ + nvlist_t *nvl; + + nvl = nvlist_create(0); + nvlist_add_string(nvl, "cmd", "setgrent"); + nvl = cap_xfer_nvlist(chan, nvl, 0); + if (nvl == NULL) + return (0); + if (nvlist_get_number(nvl, "error") != 0) { + errno = nvlist_get_number(nvl, "error"); + nvlist_destroy(nvl); + return (0); + } + nvlist_destroy(nvl); + + return (1); +} + +void +cap_endgrent(cap_channel_t *chan) +{ + nvlist_t *nvl; + + nvl = nvlist_create(0); + nvlist_add_string(nvl, "cmd", "endgrent"); + /* Ignore any errors, we have no way to report them. */ + nvlist_destroy(cap_xfer_nvlist(chan, nvl, 0)); +} + +int +cap_grp_limit_cmds(cap_channel_t *chan, const char * const *cmds, size_t ncmds) +{ + nvlist_t *limits, *nvl; + unsigned int i; + + if (cap_limit_get(chan, &limits) < 0) + return (-1); + if (limits == NULL) { + limits = nvlist_create(0); + } else { + if (nvlist_exists_nvlist(limits, "cmds")) + nvlist_free_nvlist(limits, "cmds"); + } + nvl = nvlist_create(0); + for (i = 0; i < ncmds; i++) + nvlist_add_null(nvl, cmds[i]); + nvlist_move_nvlist(limits, "cmds", nvl); + return (cap_limit_set(chan, limits)); +} + +int +cap_grp_limit_fields(cap_channel_t *chan, const char * const *fields, + size_t nfields) +{ + nvlist_t *limits, *nvl; + unsigned int i; + + if (cap_limit_get(chan, &limits) < 0) + return (-1); + if (limits == NULL) { + limits = nvlist_create(0); + } else { + if (nvlist_exists_nvlist(limits, "fields")) + nvlist_free_nvlist(limits, "fields"); + } + nvl = nvlist_create(0); + for (i = 0; i < nfields; i++) + nvlist_add_null(nvl, fields[i]); + nvlist_move_nvlist(limits, "fields", nvl); + return (cap_limit_set(chan, limits)); +} + +int +cap_grp_limit_groups(cap_channel_t *chan, const char * const *names, + size_t nnames, gid_t *gids, size_t ngids) +{ + nvlist_t *limits, *groups; + unsigned int i; + char nvlname[64]; + int n; + + if (cap_limit_get(chan, &limits) < 0) + return (-1); + if (limits == NULL) { + limits = nvlist_create(0); + } else { + if (nvlist_exists_nvlist(limits, "groups")) + nvlist_free_nvlist(limits, "groups"); + } + groups = nvlist_create(0); + for (i = 0; i < ngids; i++) { + n = snprintf(nvlname, sizeof(nvlname), "gid%u", i); + assert(n > 0 && n < (int)sizeof(nvlname)); + nvlist_add_number(groups, nvlname, (uint64_t)gids[i]); + } + for (i = 0; i < nnames; i++) { + n = snprintf(nvlname, sizeof(nvlname), "gid%u", i); + assert(n > 0 && n < (int)sizeof(nvlname)); + nvlist_add_string(groups, nvlname, names[i]); + } + nvlist_move_nvlist(limits, "groups", groups); + return (cap_limit_set(chan, limits)); +} + +/* + * Service functions. + */ +static bool +grp_allowed_cmd(const nvlist_t *limits, const char *cmd) +{ + + if (limits == NULL) + return (true); + + /* + * If no limit was set on allowed commands, then all commands + * are allowed. + */ + if (!nvlist_exists_nvlist(limits, "cmds")) + return (true); + + limits = nvlist_get_nvlist(limits, "cmds"); + return (nvlist_exists_null(limits, cmd)); +} + +static int +grp_allowed_cmds(const nvlist_t *oldlimits, const nvlist_t *newlimits) +{ + const char *name; + void *cookie; + int type; + + cookie = NULL; + while ((name = nvlist_next(newlimits, &type, &cookie)) != NULL) { + if (type != NV_TYPE_NULL) + return (EINVAL); + if (!grp_allowed_cmd(oldlimits, name)) + return (ENOTCAPABLE); + } + + return (0); +} + +static bool +grp_allowed_group(const nvlist_t *limits, const char *gname, gid_t gid) +{ + const char *name; + void *cookie; + int type; + + if (limits == NULL) + return (true); + + /* + * If no limit was set on allowed groups, then all groups are allowed. + */ + if (!nvlist_exists_nvlist(limits, "groups")) + return (true); + + limits = nvlist_get_nvlist(limits, "groups"); + cookie = NULL; + while ((name = nvlist_next(limits, &type, &cookie)) != NULL) { + switch (type) { + case NV_TYPE_NUMBER: + if (gid != (gid_t)-1 && + nvlist_get_number(limits, name) == (uint64_t)gid) { + return (true); + } + break; + case NV_TYPE_STRING: + if (gname != NULL && + strcmp(nvlist_get_string(limits, name), + gname) == 0) { + return (true); + } + break; + default: + abort(); + } + } + + return (false); +} + +static int +grp_allowed_groups(const nvlist_t *oldlimits, const nvlist_t *newlimits) +{ + const char *name, *gname; + void *cookie; + gid_t gid; + int type; + + cookie = NULL; + while ((name = nvlist_next(newlimits, &type, &cookie)) != NULL) { + switch (type) { + case NV_TYPE_NUMBER: + gid = (gid_t)nvlist_get_number(newlimits, name); + gname = NULL; + break; + case NV_TYPE_STRING: + gid = (gid_t)-1; + gname = nvlist_get_string(newlimits, name); + break; + default: + return (EINVAL); + } + if (!grp_allowed_group(oldlimits, gname, gid)) + return (ENOTCAPABLE); + } + + return (0); +} + +static bool +grp_allowed_field(const nvlist_t *limits, const char *field) +{ + + if (limits == NULL) + return (true); + + /* + * If no limit was set on allowed fields, then all fields are allowed. + */ + if (!nvlist_exists_nvlist(limits, "fields")) + return (true); + + limits = nvlist_get_nvlist(limits, "fields"); + return (nvlist_exists_null(limits, field)); +} + +static int +grp_allowed_fields(const nvlist_t *oldlimits, const nvlist_t *newlimits) +{ + const char *name; + void *cookie; + int type; + + cookie = NULL; + while ((name = nvlist_next(newlimits, &type, &cookie)) != NULL) { + if (type != NV_TYPE_NULL) + return (EINVAL); + if (!grp_allowed_field(oldlimits, name)) + return (ENOTCAPABLE); + } + + return (0); +} + +static bool +grp_pack(const nvlist_t *limits, const struct group *grp, nvlist_t *nvl) +{ + char nvlname[64]; + int n; + + if (grp == NULL) + return (true); + + /* + * If either name or GID is allowed, we allow it. + */ + if (!grp_allowed_group(limits, grp->gr_name, grp->gr_gid)) + return (false); + + if (grp_allowed_field(limits, "gr_name")) + nvlist_add_string(nvl, "gr_name", grp->gr_name); + else + nvlist_add_string(nvl, "gr_name", ""); + if (grp_allowed_field(limits, "gr_passwd")) + nvlist_add_string(nvl, "gr_passwd", grp->gr_passwd); + else + nvlist_add_string(nvl, "gr_passwd", ""); + if (grp_allowed_field(limits, "gr_gid")) + nvlist_add_number(nvl, "gr_gid", (uint64_t)grp->gr_gid); + else + nvlist_add_number(nvl, "gr_gid", (uint64_t)-1); + if (grp_allowed_field(limits, "gr_mem") && grp->gr_mem[0] != NULL) { + unsigned int ngroups; + + for (ngroups = 0; grp->gr_mem[ngroups] != NULL; ngroups++) { + n = snprintf(nvlname, sizeof(nvlname), "gr_mem[%u]", + ngroups); + assert(n > 0 && n < (ssize_t)sizeof(nvlname)); + nvlist_add_string(nvl, nvlname, grp->gr_mem[ngroups]); + } + nvlist_add_number(nvl, "gr_nmem", (uint64_t)ngroups); + } + + return (true); +} + +static int +grp_getgrent(const nvlist_t *limits, const nvlist_t *nvlin __unused, + nvlist_t *nvlout) +{ + struct group *grp; + + for (;;) { + errno = 0; + grp = getgrent(); + if (errno != 0) + return (errno); + if (grp_pack(limits, grp, nvlout)) + return (0); + } + + /* NOTREACHED */ +} + +static int +grp_getgrnam(const nvlist_t *limits, const nvlist_t *nvlin, nvlist_t *nvlout) +{ + struct group *grp; + const char *name; + + if (!nvlist_exists_string(nvlin, "name")) + return (EINVAL); + name = nvlist_get_string(nvlin, "name"); + assert(name != NULL); + + errno = 0; + grp = getgrnam(name); + if (errno != 0) + return (errno); + + (void)grp_pack(limits, grp, nvlout); + + return (0); +} + +static int +grp_getgrgid(const nvlist_t *limits, const nvlist_t *nvlin, nvlist_t *nvlout) +{ + struct group *grp; + gid_t gid; + + if (!nvlist_exists_number(nvlin, "gid")) + return (EINVAL); + + gid = (gid_t)nvlist_get_number(nvlin, "gid"); + + errno = 0; + grp = getgrgid(gid); + if (errno != 0) + return (errno); + + (void)grp_pack(limits, grp, nvlout); + + return (0); +} + +static int +grp_setgroupent(const nvlist_t *limits __unused, const nvlist_t *nvlin, + nvlist_t *nvlout __unused) +{ + int stayopen; + + if (!nvlist_exists_bool(nvlin, "stayopen")) + return (EINVAL); + + stayopen = nvlist_get_bool(nvlin, "stayopen") ? 1 : 0; + + return (setgroupent(stayopen) == 0 ? EFAULT : 0); +} + +static int +grp_setgrent(const nvlist_t *limits __unused, const nvlist_t *nvlin __unused, + nvlist_t *nvlout __unused) +{ + + return (setgrent() == 0 ? EFAULT : 0); +} + +static int +grp_endgrent(const nvlist_t *limits __unused, const nvlist_t *nvlin __unused, + nvlist_t *nvlout __unused) +{ + + endgrent(); + + return (0); +} + +static int +grp_limit(const nvlist_t *oldlimits, const nvlist_t *newlimits) +{ + const nvlist_t *limits; + const char *name; + void *cookie; + int error, type; + + if (oldlimits != NULL && nvlist_exists_nvlist(oldlimits, "cmds") && + !nvlist_exists_nvlist(newlimits, "cmds")) { + return (ENOTCAPABLE); + } + if (oldlimits != NULL && nvlist_exists_nvlist(oldlimits, "fields") && + !nvlist_exists_nvlist(newlimits, "fields")) { + return (ENOTCAPABLE); + } + if (oldlimits != NULL && nvlist_exists_nvlist(oldlimits, "groups") && + !nvlist_exists_nvlist(newlimits, "groups")) { + return (ENOTCAPABLE); + } + + cookie = NULL; + while ((name = nvlist_next(newlimits, &type, &cookie)) != NULL) { + if (type != NV_TYPE_NVLIST) + return (EINVAL); + limits = nvlist_get_nvlist(newlimits, name); + if (strcmp(name, "cmds") == 0) + error = grp_allowed_cmds(oldlimits, limits); + else if (strcmp(name, "fields") == 0) + error = grp_allowed_fields(oldlimits, limits); + else if (strcmp(name, "groups") == 0) + error = grp_allowed_groups(oldlimits, limits); + else + error = EINVAL; + if (error != 0) + return (error); + } + + return (0); +} + +static int +grp_command(const char *cmd, const nvlist_t *limits, nvlist_t *nvlin, + nvlist_t *nvlout) +{ + int error; + + if (!grp_allowed_cmd(limits, cmd)) + return (ENOTCAPABLE); + + if (strcmp(cmd, "getgrent") == 0 || strcmp(cmd, "getgrent_r") == 0) + error = grp_getgrent(limits, nvlin, nvlout); + else if (strcmp(cmd, "getgrnam") == 0 || strcmp(cmd, "getgrnam_r") == 0) + error = grp_getgrnam(limits, nvlin, nvlout); + else if (strcmp(cmd, "getgrgid") == 0 || strcmp(cmd, "getgrgid_r") == 0) + error = grp_getgrgid(limits, nvlin, nvlout); + else if (strcmp(cmd, "setgroupent") == 0) + error = grp_setgroupent(limits, nvlin, nvlout); + else if (strcmp(cmd, "setgrent") == 0) + error = grp_setgrent(limits, nvlin, nvlout); + else if (strcmp(cmd, "endgrent") == 0) + error = grp_endgrent(limits, nvlin, nvlout); + else + error = EINVAL; + + return (error); +} + +CREATE_SERVICE("system.grp", grp_limit, grp_command); diff --git a/lib/libcasper/services/cap_grp/cap_grp.h b/lib/libcasper/services/cap_grp/cap_grp.h new file mode 100644 index 0000000..68595c1 --- /dev/null +++ b/lib/libcasper/services/cap_grp/cap_grp.h @@ -0,0 +1,57 @@ +/*- + * Copyright (c) 2013 The FreeBSD Foundation + * All rights reserved. + * + * This software was developed by Pawel Jakub Dawidek under sponsorship from + * the FreeBSD Foundation. + * + * 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 AUTHORS 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 AUTHORS 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 _CAP_GRP_H_ +#define _CAP_GRP_H_ + +struct group *cap_getgrent(cap_channel_t *chan); +struct group *cap_getgrnam(cap_channel_t *chan, const char *name); +struct group *cap_getgrgid(cap_channel_t *chan, gid_t gid); + +int cap_getgrent_r(cap_channel_t *chan, struct group *grp, char *buffer, + size_t bufsize, struct group **result); +int cap_getgrnam_r(cap_channel_t *chan, const char *name, struct group *grp, + char *buffer, size_t bufsize, struct group **result); +int cap_getgrgid_r(cap_channel_t *chan, gid_t gid, struct group *grp, + char *buffer, size_t bufsize, struct group **result); + +int cap_setgroupent(cap_channel_t *chan, int stayopen); +int cap_setgrent(cap_channel_t *chan); +void cap_endgrent(cap_channel_t *chan); + +int cap_grp_limit_cmds(cap_channel_t *chan, const char * const *cmds, + size_t ncmds); +int cap_grp_limit_fields(cap_channel_t *chan, const char * const *fields, + size_t nfields); +int cap_grp_limit_groups(cap_channel_t *chan, const char * const *names, + size_t nnames, gid_t *gids, size_t ngids); + +#endif /* !_CAP_GRP_H_ */ diff --git a/lib/libcasper/services/cap_pwd/Makefile b/lib/libcasper/services/cap_pwd/Makefile new file mode 100644 index 0000000..34b8a12 --- /dev/null +++ b/lib/libcasper/services/cap_pwd/Makefile @@ -0,0 +1,20 @@ +# $FreeBSD$ + +LIB= cap_pwd + +SHLIB_MAJOR= 0 +SHLIBDIR?= /lib/casper +INCSDIR?= ${INCLUDEDIR}/casper + +SRCS= cap_pwd.c + +INCS= cap_pwd.h + +LIBADD= nv + +CFLAGS+=-I${.CURDIR} +CFLAGS+=-I${.CURDIR}/../libcasper + +WARNS?= 6 + +.include diff --git a/lib/libcasper/services/cap_pwd/cap_pwd.c b/lib/libcasper/services/cap_pwd/cap_pwd.c new file mode 100644 index 0000000..254e244 --- /dev/null +++ b/lib/libcasper/services/cap_pwd/cap_pwd.c @@ -0,0 +1,783 @@ +/*- + * Copyright (c) 2013 The FreeBSD Foundation + * All rights reserved. + * + * This software was developed by Pawel Jakub Dawidek under sponsorship from + * the FreeBSD Foundation. + * + * 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 AUTHORS 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 AUTHORS 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 +#include +#include +#include +#include + +#include +#include + +#include "cap_pwd.h" + +static struct passwd gpwd; +static char *gbuffer; +static size_t gbufsize; + +static int +passwd_resize(void) +{ + char *buf; + + if (gbufsize == 0) + gbufsize = 1024; + else + gbufsize *= 2; + + buf = gbuffer; + gbuffer = realloc(buf, gbufsize); + if (gbuffer == NULL) { + free(buf); + gbufsize = 0; + return (ENOMEM); + } + memset(gbuffer, 0, gbufsize); + + return (0); +} + +static int +passwd_unpack_string(const nvlist_t *nvl, const char *fieldname, char **fieldp, + char **bufferp, size_t *bufsizep) +{ + const char *str; + size_t len; + + str = nvlist_get_string(nvl, fieldname); + len = strlcpy(*bufferp, str, *bufsizep); + if (len >= *bufsizep) + return (ERANGE); + *fieldp = *bufferp; + *bufferp += len + 1; + *bufsizep -= len + 1; + + return (0); +} + +static int +passwd_unpack(const nvlist_t *nvl, struct passwd *pwd, char *buffer, + size_t bufsize) +{ + int error; + + if (!nvlist_exists_string(nvl, "pw_name")) + return (EINVAL); + + memset(pwd, 0, sizeof(*pwd)); + + error = passwd_unpack_string(nvl, "pw_name", &pwd->pw_name, &buffer, + &bufsize); + if (error != 0) + return (error); + pwd->pw_uid = (uid_t)nvlist_get_number(nvl, "pw_uid"); + pwd->pw_gid = (gid_t)nvlist_get_number(nvl, "pw_gid"); + pwd->pw_change = (time_t)nvlist_get_number(nvl, "pw_change"); + error = passwd_unpack_string(nvl, "pw_passwd", &pwd->pw_passwd, &buffer, + &bufsize); + if (error != 0) + return (error); + error = passwd_unpack_string(nvl, "pw_class", &pwd->pw_class, &buffer, + &bufsize); + if (error != 0) + return (error); + error = passwd_unpack_string(nvl, "pw_gecos", &pwd->pw_gecos, &buffer, + &bufsize); + if (error != 0) + return (error); + error = passwd_unpack_string(nvl, "pw_dir", &pwd->pw_dir, &buffer, + &bufsize); + if (error != 0) + return (error); + error = passwd_unpack_string(nvl, "pw_shell", &pwd->pw_shell, &buffer, + &bufsize); + if (error != 0) + return (error); + pwd->pw_expire = (time_t)nvlist_get_number(nvl, "pw_expire"); + pwd->pw_fields = (int)nvlist_get_number(nvl, "pw_fields"); + + return (0); +} + +static int +cap_getpwcommon_r(cap_channel_t *chan, const char *cmd, const char *login, + uid_t uid, struct passwd *pwd, char *buffer, size_t bufsize, + struct passwd **result) +{ + nvlist_t *nvl; + bool getpw_r; + int error; + + nvl = nvlist_create(0); + nvlist_add_string(nvl, "cmd", cmd); + if (strcmp(cmd, "getpwent") == 0 || strcmp(cmd, "getpwent_r") == 0) { + /* Add nothing. */ + } else if (strcmp(cmd, "getpwnam") == 0 || + strcmp(cmd, "getpwnam_r") == 0) { + nvlist_add_string(nvl, "name", login); + } else if (strcmp(cmd, "getpwuid") == 0 || + strcmp(cmd, "getpwuid_r") == 0) { + nvlist_add_number(nvl, "uid", (uint64_t)uid); + } else { + abort(); + } + nvl = cap_xfer_nvlist(chan, nvl, 0); + if (nvl == NULL) { + assert(errno != 0); + *result = NULL; + return (errno); + } + error = (int)nvlist_get_number(nvl, "error"); + if (error != 0) { + nvlist_destroy(nvl); + *result = NULL; + return (error); + } + + if (!nvlist_exists_string(nvl, "pw_name")) { + /* Not found. */ + nvlist_destroy(nvl); + *result = NULL; + return (0); + } + + getpw_r = (strcmp(cmd, "getpwent_r") == 0 || + strcmp(cmd, "getpwnam_r") == 0 || strcmp(cmd, "getpwuid_r") == 0); + + for (;;) { + error = passwd_unpack(nvl, pwd, buffer, bufsize); + if (getpw_r || error != ERANGE) + break; + assert(buffer == gbuffer); + assert(bufsize == gbufsize); + error = passwd_resize(); + if (error != 0) + break; + /* Update pointers after resize. */ + buffer = gbuffer; + bufsize = gbufsize; + } + + nvlist_destroy(nvl); + + if (error == 0) + *result = pwd; + else + *result = NULL; + + return (error); +} + +static struct passwd * +cap_getpwcommon(cap_channel_t *chan, const char *cmd, const char *login, + uid_t uid) +{ + struct passwd *result; + int error, serrno; + + serrno = errno; + + error = cap_getpwcommon_r(chan, cmd, login, uid, &gpwd, gbuffer, + gbufsize, &result); + if (error != 0) { + errno = error; + return (NULL); + } + + errno = serrno; + + return (result); +} + +struct passwd * +cap_getpwent(cap_channel_t *chan) +{ + + return (cap_getpwcommon(chan, "getpwent", NULL, 0)); +} + +struct passwd * +cap_getpwnam(cap_channel_t *chan, const char *login) +{ + + return (cap_getpwcommon(chan, "getpwnam", login, 0)); +} + +struct passwd * +cap_getpwuid(cap_channel_t *chan, uid_t uid) +{ + + return (cap_getpwcommon(chan, "getpwuid", NULL, uid)); +} + +int +cap_getpwent_r(cap_channel_t *chan, struct passwd *pwd, char *buffer, + size_t bufsize, struct passwd **result) +{ + + return (cap_getpwcommon_r(chan, "getpwent_r", NULL, 0, pwd, buffer, + bufsize, result)); +} + +int +cap_getpwnam_r(cap_channel_t *chan, const char *name, struct passwd *pwd, + char *buffer, size_t bufsize, struct passwd **result) +{ + + return (cap_getpwcommon_r(chan, "getpwnam_r", name, 0, pwd, buffer, + bufsize, result)); +} + +int +cap_getpwuid_r(cap_channel_t *chan, uid_t uid, struct passwd *pwd, char *buffer, + size_t bufsize, struct passwd **result) +{ + + return (cap_getpwcommon_r(chan, "getpwuid_r", NULL, uid, pwd, buffer, + bufsize, result)); +} + +int +cap_setpassent(cap_channel_t *chan, int stayopen) +{ + nvlist_t *nvl; + + nvl = nvlist_create(0); + nvlist_add_string(nvl, "cmd", "setpassent"); + nvlist_add_bool(nvl, "stayopen", stayopen != 0); + nvl = cap_xfer_nvlist(chan, nvl, 0); + if (nvl == NULL) + return (0); + if (nvlist_get_number(nvl, "error") != 0) { + errno = nvlist_get_number(nvl, "error"); + nvlist_destroy(nvl); + return (0); + } + nvlist_destroy(nvl); + + return (1); +} + +static void +cap_set_end_pwent(cap_channel_t *chan, const char *cmd) +{ + nvlist_t *nvl; + + nvl = nvlist_create(0); + nvlist_add_string(nvl, "cmd", cmd); + /* Ignore any errors, we have no way to report them. */ + nvlist_destroy(cap_xfer_nvlist(chan, nvl, 0)); +} + +void +cap_setpwent(cap_channel_t *chan) +{ + + cap_set_end_pwent(chan, "setpwent"); +} + +void +cap_endpwent(cap_channel_t *chan) +{ + + cap_set_end_pwent(chan, "endpwent"); +} + +int +cap_pwd_limit_cmds(cap_channel_t *chan, const char * const *cmds, size_t ncmds) +{ + nvlist_t *limits, *nvl; + unsigned int i; + + if (cap_limit_get(chan, &limits) < 0) + return (-1); + if (limits == NULL) { + limits = nvlist_create(0); + } else { + if (nvlist_exists_nvlist(limits, "cmds")) + nvlist_free_nvlist(limits, "cmds"); + } + nvl = nvlist_create(0); + for (i = 0; i < ncmds; i++) + nvlist_add_null(nvl, cmds[i]); + nvlist_move_nvlist(limits, "cmds", nvl); + return (cap_limit_set(chan, limits)); +} + +int +cap_pwd_limit_fields(cap_channel_t *chan, const char * const *fields, + size_t nfields) +{ + nvlist_t *limits, *nvl; + unsigned int i; + + if (cap_limit_get(chan, &limits) < 0) + return (-1); + if (limits == NULL) { + limits = nvlist_create(0); + } else { + if (nvlist_exists_nvlist(limits, "fields")) + nvlist_free_nvlist(limits, "fields"); + } + nvl = nvlist_create(0); + for (i = 0; i < nfields; i++) + nvlist_add_null(nvl, fields[i]); + nvlist_move_nvlist(limits, "fields", nvl); + return (cap_limit_set(chan, limits)); +} + +int +cap_pwd_limit_users(cap_channel_t *chan, const char * const *names, + size_t nnames, uid_t *uids, size_t nuids) +{ + nvlist_t *limits, *users; + char nvlname[64]; + unsigned int i; + int n; + + if (cap_limit_get(chan, &limits) < 0) + return (-1); + if (limits == NULL) { + limits = nvlist_create(0); + } else { + if (nvlist_exists_nvlist(limits, "users")) + nvlist_free_nvlist(limits, "users"); + } + users = nvlist_create(0); + for (i = 0; i < nuids; i++) { + n = snprintf(nvlname, sizeof(nvlname), "uid%u", i); + assert(n > 0 && n < (int)sizeof(nvlname)); + nvlist_add_number(users, nvlname, (uint64_t)uids[i]); + } + for (i = 0; i < nnames; i++) { + n = snprintf(nvlname, sizeof(nvlname), "name%u", i); + assert(n > 0 && n < (int)sizeof(nvlname)); + nvlist_add_string(users, nvlname, names[i]); + } + nvlist_move_nvlist(limits, "users", users); + return (cap_limit_set(chan, limits)); +} + + +/* + * Service functions. + */ +static bool +pwd_allowed_cmd(const nvlist_t *limits, const char *cmd) +{ + + if (limits == NULL) + return (true); + + /* + * If no limit was set on allowed commands, then all commands + * are allowed. + */ + if (!nvlist_exists_nvlist(limits, "cmds")) + return (true); + + limits = nvlist_get_nvlist(limits, "cmds"); + return (nvlist_exists_null(limits, cmd)); +} + +static int +pwd_allowed_cmds(const nvlist_t *oldlimits, const nvlist_t *newlimits) +{ + const char *name; + void *cookie; + int type; + + cookie = NULL; + while ((name = nvlist_next(newlimits, &type, &cookie)) != NULL) { + if (type != NV_TYPE_NULL) + return (EINVAL); + if (!pwd_allowed_cmd(oldlimits, name)) + return (ENOTCAPABLE); + } + + return (0); +} + +static bool +pwd_allowed_user(const nvlist_t *limits, const char *uname, uid_t uid) +{ + const char *name; + void *cookie; + int type; + + if (limits == NULL) + return (true); + + /* + * If no limit was set on allowed users, then all users are allowed. + */ + if (!nvlist_exists_nvlist(limits, "users")) + return (true); + + limits = nvlist_get_nvlist(limits, "users"); + cookie = NULL; + while ((name = nvlist_next(limits, &type, &cookie)) != NULL) { + switch (type) { + case NV_TYPE_NUMBER: + if (uid != (uid_t)-1 && + nvlist_get_number(limits, name) == (uint64_t)uid) { + return (true); + } + break; + case NV_TYPE_STRING: + if (uname != NULL && + strcmp(nvlist_get_string(limits, name), + uname) == 0) { + return (true); + } + break; + default: + abort(); + } + } + + return (false); +} + +static int +pwd_allowed_users(const nvlist_t *oldlimits, const nvlist_t *newlimits) +{ + const char *name, *uname; + void *cookie; + uid_t uid; + int type; + + cookie = NULL; + while ((name = nvlist_next(newlimits, &type, &cookie)) != NULL) { + switch (type) { + case NV_TYPE_NUMBER: + uid = (uid_t)nvlist_get_number(newlimits, name); + uname = NULL; + break; + case NV_TYPE_STRING: + uid = (uid_t)-1; + uname = nvlist_get_string(newlimits, name); + break; + default: + return (EINVAL); + } + if (!pwd_allowed_user(oldlimits, uname, uid)) + return (ENOTCAPABLE); + } + + return (0); +} + +static bool +pwd_allowed_field(const nvlist_t *limits, const char *field) +{ + + if (limits == NULL) + return (true); + + /* + * If no limit was set on allowed fields, then all fields are allowed. + */ + if (!nvlist_exists_nvlist(limits, "fields")) + return (true); + + limits = nvlist_get_nvlist(limits, "fields"); + return (nvlist_exists_null(limits, field)); +} + +static int +pwd_allowed_fields(const nvlist_t *oldlimits, const nvlist_t *newlimits) +{ + const char *name; + void *cookie; + int type; + + cookie = NULL; + while ((name = nvlist_next(newlimits, &type, &cookie)) != NULL) { + if (type != NV_TYPE_NULL) + return (EINVAL); + if (!pwd_allowed_field(oldlimits, name)) + return (ENOTCAPABLE); + } + + return (0); +} + +static bool +pwd_pack(const nvlist_t *limits, const struct passwd *pwd, nvlist_t *nvl) +{ + int fields; + + if (pwd == NULL) + return (true); + + /* + * If either name or UID is allowed, we allow it. + */ + if (!pwd_allowed_user(limits, pwd->pw_name, pwd->pw_uid)) + return (false); + + fields = pwd->pw_fields; + + if (pwd_allowed_field(limits, "pw_name")) { + nvlist_add_string(nvl, "pw_name", pwd->pw_name); + } else { + nvlist_add_string(nvl, "pw_name", ""); + fields &= ~_PWF_NAME; + } + if (pwd_allowed_field(limits, "pw_uid")) { + nvlist_add_number(nvl, "pw_uid", (uint64_t)pwd->pw_uid); + } else { + nvlist_add_number(nvl, "pw_uid", (uint64_t)-1); + fields &= ~_PWF_UID; + } + if (pwd_allowed_field(limits, "pw_gid")) { + nvlist_add_number(nvl, "pw_gid", (uint64_t)pwd->pw_gid); + } else { + nvlist_add_number(nvl, "pw_gid", (uint64_t)-1); + fields &= ~_PWF_GID; + } + if (pwd_allowed_field(limits, "pw_change")) { + nvlist_add_number(nvl, "pw_change", (uint64_t)pwd->pw_change); + } else { + nvlist_add_number(nvl, "pw_change", (uint64_t)0); + fields &= ~_PWF_CHANGE; + } + if (pwd_allowed_field(limits, "pw_passwd")) { + nvlist_add_string(nvl, "pw_passwd", pwd->pw_passwd); + } else { + nvlist_add_string(nvl, "pw_passwd", ""); + fields &= ~_PWF_PASSWD; + } + if (pwd_allowed_field(limits, "pw_class")) { + nvlist_add_string(nvl, "pw_class", pwd->pw_class); + } else { + nvlist_add_string(nvl, "pw_class", ""); + fields &= ~_PWF_CLASS; + } + if (pwd_allowed_field(limits, "pw_gecos")) { + nvlist_add_string(nvl, "pw_gecos", pwd->pw_gecos); + } else { + nvlist_add_string(nvl, "pw_gecos", ""); + fields &= ~_PWF_GECOS; + } + if (pwd_allowed_field(limits, "pw_dir")) { + nvlist_add_string(nvl, "pw_dir", pwd->pw_dir); + } else { + nvlist_add_string(nvl, "pw_dir", ""); + fields &= ~_PWF_DIR; + } + if (pwd_allowed_field(limits, "pw_shell")) { + nvlist_add_string(nvl, "pw_shell", pwd->pw_shell); + } else { + nvlist_add_string(nvl, "pw_shell", ""); + fields &= ~_PWF_SHELL; + } + if (pwd_allowed_field(limits, "pw_expire")) { + nvlist_add_number(nvl, "pw_expire", (uint64_t)pwd->pw_expire); + } else { + nvlist_add_number(nvl, "pw_expire", (uint64_t)0); + fields &= ~_PWF_EXPIRE; + } + nvlist_add_number(nvl, "pw_fields", (uint64_t)fields); + + return (true); +} + +static int +pwd_getpwent(const nvlist_t *limits, const nvlist_t *nvlin __unused, + nvlist_t *nvlout) +{ + struct passwd *pwd; + + for (;;) { + errno = 0; + pwd = getpwent(); + if (errno != 0) + return (errno); + if (pwd_pack(limits, pwd, nvlout)) + return (0); + } + + /* NOTREACHED */ +} + +static int +pwd_getpwnam(const nvlist_t *limits, const nvlist_t *nvlin, nvlist_t *nvlout) +{ + struct passwd *pwd; + const char *name; + + if (!nvlist_exists_string(nvlin, "name")) + return (EINVAL); + name = nvlist_get_string(nvlin, "name"); + assert(name != NULL); + + errno = 0; + pwd = getpwnam(name); + if (errno != 0) + return (errno); + + (void)pwd_pack(limits, pwd, nvlout); + + return (0); +} + +static int +pwd_getpwuid(const nvlist_t *limits, const nvlist_t *nvlin, nvlist_t *nvlout) +{ + struct passwd *pwd; + uid_t uid; + + if (!nvlist_exists_number(nvlin, "uid")) + return (EINVAL); + + uid = (uid_t)nvlist_get_number(nvlin, "uid"); + + errno = 0; + pwd = getpwuid(uid); + if (errno != 0) + return (errno); + + (void)pwd_pack(limits, pwd, nvlout); + + return (0); +} + +static int +pwd_setpassent(const nvlist_t *limits __unused, const nvlist_t *nvlin, + nvlist_t *nvlout __unused) +{ + int stayopen; + + if (!nvlist_exists_bool(nvlin, "stayopen")) + return (EINVAL); + + stayopen = nvlist_get_bool(nvlin, "stayopen") ? 1 : 0; + + return (setpassent(stayopen) == 0 ? EFAULT : 0); +} + +static int +pwd_setpwent(const nvlist_t *limits __unused, const nvlist_t *nvlin __unused, + nvlist_t *nvlout __unused) +{ + + setpwent(); + + return (0); +} + +static int +pwd_endpwent(const nvlist_t *limits __unused, const nvlist_t *nvlin __unused, + nvlist_t *nvlout __unused) +{ + + endpwent(); + + return (0); +} + +static int +pwd_limit(const nvlist_t *oldlimits, const nvlist_t *newlimits) +{ + const nvlist_t *limits; + const char *name; + void *cookie; + int error, type; + + if (oldlimits != NULL && nvlist_exists_nvlist(oldlimits, "cmds") && + !nvlist_exists_nvlist(newlimits, "cmds")) { + return (ENOTCAPABLE); + } + if (oldlimits != NULL && nvlist_exists_nvlist(oldlimits, "fields") && + !nvlist_exists_nvlist(newlimits, "fields")) { + return (ENOTCAPABLE); + } + if (oldlimits != NULL && nvlist_exists_nvlist(oldlimits, "users") && + !nvlist_exists_nvlist(newlimits, "users")) { + return (ENOTCAPABLE); + } + + cookie = NULL; + while ((name = nvlist_next(newlimits, &type, &cookie)) != NULL) { + if (type != NV_TYPE_NVLIST) + return (EINVAL); + limits = nvlist_get_nvlist(newlimits, name); + if (strcmp(name, "cmds") == 0) + error = pwd_allowed_cmds(oldlimits, limits); + else if (strcmp(name, "fields") == 0) + error = pwd_allowed_fields(oldlimits, limits); + else if (strcmp(name, "users") == 0) + error = pwd_allowed_users(oldlimits, limits); + else + error = EINVAL; + if (error != 0) + return (error); + } + + return (0); +} + +static int +pwd_command(const char *cmd, const nvlist_t *limits, nvlist_t *nvlin, + nvlist_t *nvlout) +{ + int error; + + if (!pwd_allowed_cmd(limits, cmd)) + return (ENOTCAPABLE); + + if (strcmp(cmd, "getpwent") == 0 || strcmp(cmd, "getpwent_r") == 0) + error = pwd_getpwent(limits, nvlin, nvlout); + else if (strcmp(cmd, "getpwnam") == 0 || strcmp(cmd, "getpwnam_r") == 0) + error = pwd_getpwnam(limits, nvlin, nvlout); + else if (strcmp(cmd, "getpwuid") == 0 || strcmp(cmd, "getpwuid_r") == 0) + error = pwd_getpwuid(limits, nvlin, nvlout); + else if (strcmp(cmd, "setpassent") == 0) + error = pwd_setpassent(limits, nvlin, nvlout); + else if (strcmp(cmd, "setpwent") == 0) + error = pwd_setpwent(limits, nvlin, nvlout); + else if (strcmp(cmd, "endpwent") == 0) + error = pwd_endpwent(limits, nvlin, nvlout); + else + error = EINVAL; + + return (error); +} + +CREATE_SERVICE("system.pwd", pwd_limit, pwd_command); diff --git a/lib/libcasper/services/cap_pwd/cap_pwd.h b/lib/libcasper/services/cap_pwd/cap_pwd.h new file mode 100644 index 0000000..a75fba7 --- /dev/null +++ b/lib/libcasper/services/cap_pwd/cap_pwd.h @@ -0,0 +1,57 @@ +/*- + * Copyright (c) 2013 The FreeBSD Foundation + * All rights reserved. + * + * This software was developed by Pawel Jakub Dawidek under sponsorship from + * the FreeBSD Foundation. + * + * 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 AUTHORS 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 AUTHORS 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 _CAP_PWD_H_ +#define _CAP_PWD_H_ + +struct passwd *cap_getpwent(cap_channel_t *chan); +struct passwd *cap_getpwnam(cap_channel_t *chan, const char *login); +struct passwd *cap_getpwuid(cap_channel_t *chan, uid_t uid); + +int cap_getpwent_r(cap_channel_t *chan, struct passwd *pwd, char *buffer, + size_t bufsize, struct passwd **result); +int cap_getpwnam_r(cap_channel_t *chan, const char *name, struct passwd *pwd, + char *buffer, size_t bufsize, struct passwd **result); +int cap_getpwuid_r(cap_channel_t *chan, uid_t uid, struct passwd *pwd, + char *buffer, size_t bufsize, struct passwd **result); + +int cap_setpassent(cap_channel_t *chan, int stayopen); +void cap_setpwent(cap_channel_t *chan); +void cap_endpwent(cap_channel_t *chan); + +int cap_pwd_limit_cmds(cap_channel_t *chan, const char * const *cmds, + size_t ncmds); +int cap_pwd_limit_fields(cap_channel_t *chan, const char * const *fields, + size_t nfields); +int cap_pwd_limit_users(cap_channel_t *chan, const char * const *names, + size_t nnames, uid_t *uids, size_t nuids); + +#endif /* !_CAP_PWD_H_ */ diff --git a/lib/libcasper/services/cap_random/Makefile b/lib/libcasper/services/cap_random/Makefile new file mode 100644 index 0000000..2447236 --- /dev/null +++ b/lib/libcasper/services/cap_random/Makefile @@ -0,0 +1,20 @@ +# $FreeBSD$ + +LIB= cap_random + +SHLIB_MAJOR= 0 +SHLIBDIR?= /lib/casper +INCSDIR?= ${INCLUDEDIR}/casper + +SRCS= cap_random.c + +INCS= cap_random.h + +LIBADD= nv + +CFLAGS+=-I${.CURDIR} +CFLAGS+=-I${.CURDIR}/../libcasper + +WARNS?= 6 + +.include diff --git a/lib/libcasper/services/cap_random/cap_random.c b/lib/libcasper/services/cap_random/cap_random.c new file mode 100644 index 0000000..d19fe96 --- /dev/null +++ b/lib/libcasper/services/cap_random/cap_random.c @@ -0,0 +1,117 @@ +/*- + * Copyright (c) 2013 The FreeBSD Foundation + * All rights reserved. + * + * This software was developed by Pawel Jakub Dawidek under sponsorship from + * the FreeBSD Foundation. + * + * 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 AUTHORS 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 AUTHORS 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 +#include +#include + +#include +#include + +#include "cap_random.h" + +#define MAXSIZE (1024 * 1024) + +int +cap_random_buf(cap_channel_t *chan, void *buf, size_t nbytes) +{ + nvlist_t *nvl; + const void *randbuf; + uint8_t *ptr; + size_t left, randbufsize; + + left = nbytes; + ptr = buf; + + while (left > 0) { + nvl = nvlist_create(0); + nvlist_add_string(nvl, "cmd", "generate"); + nvlist_add_number(nvl, "size", + (uint64_t)(left > MAXSIZE ? MAXSIZE : left)); + nvl = cap_xfer_nvlist(chan, nvl, 0); + if (nvl == NULL) + return (-1); + if (nvlist_get_number(nvl, "error") != 0) { + errno = (int)nvlist_get_number(nvl, "error"); + nvlist_destroy(nvl); + return (-1); + } + + randbuf = nvlist_get_binary(nvl, "data", &randbufsize); + memcpy(ptr, randbuf, randbufsize); + + nvlist_destroy(nvl); + + ptr += randbufsize; + assert(left >= randbufsize); + left -= randbufsize; + } + + return (0); +} + +/* + * Service functions. + */ + +static int +random_command(const char *cmd, const nvlist_t *limits __unused, + nvlist_t *nvlin, nvlist_t *nvlout) +{ + void *data; + size_t size; + + if (strcmp(cmd, "generate") != 0) + return (EINVAL); + if (!nvlist_exists_number(nvlin, "size")) + return (EINVAL); + + size = (size_t)nvlist_get_number(nvlin, "size"); + if (size == 0 || size > MAXSIZE) + return (EINVAL); + + data = malloc(size); + if (data == NULL) + return (ENOMEM); + + arc4random_buf(data, size); + + nvlist_move_binary(nvlout, "data", data, size); + + return (0); +} + +CREATE_SERVICE("system.random", NULL, random_command); diff --git a/lib/libcasper/services/cap_random/cap_random.h b/lib/libcasper/services/cap_random/cap_random.h new file mode 100644 index 0000000..2039b5f --- /dev/null +++ b/lib/libcasper/services/cap_random/cap_random.h @@ -0,0 +1,37 @@ +/*- + * Copyright (c) 2013 The FreeBSD Foundation + * All rights reserved. + * + * This software was developed by Pawel Jakub Dawidek under sponsorship from + * the FreeBSD Foundation. + * + * 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 AUTHORS 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 AUTHORS 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 _CAP_RANDOM_H_ +#define _CAP_RANDOM_H_ + +int cap_random_buf(cap_channel_t *chan, void *buf, size_t nbytes); + +#endif /* !_CAP_RANDOM_H_ */ diff --git a/lib/libcasper/services/cap_sysctl/Makefile b/lib/libcasper/services/cap_sysctl/Makefile new file mode 100644 index 0000000..779ed7e --- /dev/null +++ b/lib/libcasper/services/cap_sysctl/Makefile @@ -0,0 +1,20 @@ +# $FreeBSD$ + +LIB= cap_sysctl + +SHLIB_MAJOR= 0 +SHLIBDIR?= /lib/casper +INCSDIR?= ${INCLUDEDIR}/casper + +SRCS= cap_sysctl.c + +INCS= cap_sysctl.h + +LIBADD= nv + +CFLAGS+=-I${.CURDIR} +CFLAGS+=-I${.CURDIR}/../libcasper + +WARNS?= 6 + +.include diff --git a/lib/libcasper/services/cap_sysctl/cap_sysctl.c b/lib/libcasper/services/cap_sysctl/cap_sysctl.c new file mode 100644 index 0000000..7611d64 --- /dev/null +++ b/lib/libcasper/services/cap_sysctl/cap_sysctl.c @@ -0,0 +1,293 @@ +/*- + * Copyright (c) 2013 The FreeBSD Foundation + * All rights reserved. + * + * This software was developed by Pawel Jakub Dawidek under sponsorship from + * the FreeBSD Foundation. + * + * 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 AUTHORS 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 AUTHORS 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 +#include +#include +#include + +#include +#include + +#include "cap_sysctl.h" + +int +cap_sysctlbyname(cap_channel_t *chan, const char *name, void *oldp, + size_t *oldlenp, const void *newp, size_t newlen) +{ + nvlist_t *nvl; + const uint8_t *retoldp; + uint8_t operation; + size_t oldlen; + + operation = 0; + if (oldp != NULL) + operation |= CAP_SYSCTL_READ; + if (newp != NULL) + operation |= CAP_SYSCTL_WRITE; + + nvl = nvlist_create(0); + nvlist_add_string(nvl, "cmd", "sysctl"); + nvlist_add_string(nvl, "name", name); + nvlist_add_number(nvl, "operation", (uint64_t)operation); + if (oldp == NULL && oldlenp != NULL) + nvlist_add_null(nvl, "justsize"); + else if (oldlenp != NULL) + nvlist_add_number(nvl, "oldlen", (uint64_t)*oldlenp); + if (newp != NULL) + nvlist_add_binary(nvl, "newp", newp, newlen); + nvl = cap_xfer_nvlist(chan, nvl, 0); + if (nvl == NULL) + return (-1); + if (nvlist_get_number(nvl, "error") != 0) { + errno = (int)nvlist_get_number(nvl, "error"); + nvlist_destroy(nvl); + return (-1); + } + + if (oldp == NULL && oldlenp != NULL) { + *oldlenp = (size_t)nvlist_get_number(nvl, "oldlen"); + } else if (oldp != NULL) { + retoldp = nvlist_get_binary(nvl, "oldp", &oldlen); + memcpy(oldp, retoldp, oldlen); + if (oldlenp != NULL) + *oldlenp = oldlen; + } + nvlist_destroy(nvl); + + return (0); +} + +/* + * Service functions. + */ +static int +sysctl_check_one(const nvlist_t *nvl, bool islimit) +{ + const char *name; + void *cookie; + int type; + unsigned int fields; + + /* NULL nvl is of course invalid. */ + if (nvl == NULL) + return (EINVAL); + if (nvlist_error(nvl) != 0) + return (nvlist_error(nvl)); + +#define HAS_NAME 0x01 +#define HAS_OPERATION 0x02 + + fields = 0; + cookie = NULL; + while ((name = nvlist_next(nvl, &type, &cookie)) != NULL) { + /* We accept only one 'name' and one 'operation' in nvl. */ + if (strcmp(name, "name") == 0) { + if (type != NV_TYPE_STRING) + return (EINVAL); + /* Only one 'name' can be present. */ + if ((fields & HAS_NAME) != 0) + return (EINVAL); + fields |= HAS_NAME; + } else if (strcmp(name, "operation") == 0) { + uint64_t operation; + + if (type != NV_TYPE_NUMBER) + return (EINVAL); + /* + * We accept only CAP_SYSCTL_READ and + * CAP_SYSCTL_WRITE flags. + */ + operation = nvlist_get_number(nvl, name); + if ((operation & ~(CAP_SYSCTL_RDWR)) != 0) + return (EINVAL); + /* ...but there has to be at least one of them. */ + if ((operation & (CAP_SYSCTL_RDWR)) == 0) + return (EINVAL); + /* Only one 'operation' can be present. */ + if ((fields & HAS_OPERATION) != 0) + return (EINVAL); + fields |= HAS_OPERATION; + } else if (islimit) { + /* If this is limit, there can be no other fields. */ + return (EINVAL); + } + } + + /* Both fields has to be there. */ + if (fields != (HAS_NAME | HAS_OPERATION)) + return (EINVAL); + +#undef HAS_OPERATION +#undef HAS_NAME + + return (0); +} + +static bool +sysctl_allowed(const nvlist_t *limits, const char *chname, uint64_t choperation) +{ + uint64_t operation; + const char *name; + void *cookie; + int type; + + if (limits == NULL) + return (true); + + cookie = NULL; + while ((name = nvlist_next(limits, &type, &cookie)) != NULL) { + assert(type == NV_TYPE_NUMBER); + + operation = nvlist_get_number(limits, name); + if ((operation & choperation) != choperation) + continue; + + if ((operation & CAP_SYSCTL_RECURSIVE) == 0) { + if (strcmp(name, chname) != 0) + continue; + } else { + size_t namelen; + + namelen = strlen(name); + if (strncmp(name, chname, namelen) != 0) + continue; + if (chname[namelen] != '.' && chname[namelen] != '\0') + continue; + } + + return (true); + } + + return (false); +} + +static int +sysctl_limit(const nvlist_t *oldlimits, const nvlist_t *newlimits) +{ + const char *name; + void *cookie; + uint64_t operation; + int type; + + cookie = NULL; + while ((name = nvlist_next(newlimits, &type, &cookie)) != NULL) { + if (type != NV_TYPE_NUMBER) + return (EINVAL); + operation = nvlist_get_number(newlimits, name); + if ((operation & ~(CAP_SYSCTL_RDWR | CAP_SYSCTL_RECURSIVE)) != 0) + return (EINVAL); + if ((operation & (CAP_SYSCTL_RDWR | CAP_SYSCTL_RECURSIVE)) == 0) + return (EINVAL); + if (!sysctl_allowed(oldlimits, name, operation)) + return (ENOTCAPABLE); + } + + return (0); +} + +static int +sysctl_command(const char *cmd, const nvlist_t *limits, nvlist_t *nvlin, + nvlist_t *nvlout) +{ + const char *name; + const void *newp; + void *oldp; + uint64_t operation; + size_t oldlen, newlen; + size_t *oldlenp; + int error; + + if (strcmp(cmd, "sysctl") != 0) + return (EINVAL); + error = sysctl_check_one(nvlin, false); + if (error != 0) + return (error); + + name = nvlist_get_string(nvlin, "name"); + operation = nvlist_get_number(nvlin, "operation"); + if (!sysctl_allowed(limits, name, operation)) + return (ENOTCAPABLE); + + if ((operation & CAP_SYSCTL_WRITE) != 0) { + if (!nvlist_exists_binary(nvlin, "newp")) + return (EINVAL); + newp = nvlist_get_binary(nvlin, "newp", &newlen); + assert(newp != NULL && newlen > 0); + } else { + newp = NULL; + newlen = 0; + } + + if ((operation & CAP_SYSCTL_READ) != 0) { + if (nvlist_exists_null(nvlin, "justsize")) { + oldp = NULL; + oldlen = 0; + oldlenp = &oldlen; + } else { + if (!nvlist_exists_number(nvlin, "oldlen")) + return (EINVAL); + oldlen = (size_t)nvlist_get_number(nvlin, "oldlen"); + if (oldlen == 0) + return (EINVAL); + oldp = calloc(1, oldlen); + if (oldp == NULL) + return (ENOMEM); + oldlenp = &oldlen; + } + } else { + oldp = NULL; + oldlen = 0; + oldlenp = NULL; + } + + if (sysctlbyname(name, oldp, oldlenp, newp, newlen) == -1) { + error = errno; + free(oldp); + return (error); + } + + if ((operation & CAP_SYSCTL_READ) != 0) { + if (nvlist_exists_null(nvlin, "justsize")) + nvlist_add_number(nvlout, "oldlen", (uint64_t)oldlen); + else + nvlist_move_binary(nvlout, "oldp", oldp, oldlen); + } + + return (0); +} + +CREATE_SERVICE("system.sysctl", sysctl_limit, sysctl_command); diff --git a/lib/libcasper/services/cap_sysctl/cap_sysctl.h b/lib/libcasper/services/cap_sysctl/cap_sysctl.h new file mode 100644 index 0000000..2af6d21 --- /dev/null +++ b/lib/libcasper/services/cap_sysctl/cap_sysctl.h @@ -0,0 +1,43 @@ +/*- + * Copyright (c) 2013 The FreeBSD Foundation + * All rights reserved. + * + * This software was developed by Pawel Jakub Dawidek under sponsorship from + * the FreeBSD Foundation. + * + * 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 AUTHORS 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 AUTHORS 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 _CAP_SYSCTL_H_ +#define _CAP_SYSCTL_H_ + +#define CAP_SYSCTL_READ 0x01 +#define CAP_SYSCTL_WRITE 0x02 +#define CAP_SYSCTL_RDWR (CAP_SYSCTL_READ | CAP_SYSCTL_WRITE) +#define CAP_SYSCTL_RECURSIVE 0x04 + +int cap_sysctlbyname(cap_channel_t *chan, const char *name, void *oldp, + size_t *oldlenp, const void *newp, size_t newlen); + +#endif /* !_CAP_SYSCTL_H_ */ -- cgit v1.1 From 99edb47f05ad02c131a5a8a8e42f3c8afa9bb3a5 Mon Sep 17 00:00:00 2001 From: pfg Date: Fri, 26 Feb 2016 14:39:39 +0000 Subject: rpc: fix failure to clear string by passing the wrong size to memset. Noted by NetBSD's PR/21014 Obtained from: NetBSD (CVS Rev. 1.24, 1.25) MFC after: 1 month --- lib/libc/rpc/svc_simple.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'lib') diff --git a/lib/libc/rpc/svc_simple.c b/lib/libc/rpc/svc_simple.c index 9ce3f8d..1c60950 100644 --- a/lib/libc/rpc/svc_simple.c +++ b/lib/libc/rpc/svc_simple.c @@ -272,7 +272,7 @@ universal(struct svc_req *rqstp, SVCXPRT *transp) /* decode arguments into a CLEAN buffer */ xdrbuf = pl->p_xdrbuf; /* Zero the arguments: reqd ! */ - (void) memset(xdrbuf, 0, sizeof (pl->p_recvsz)); + (void) memset(xdrbuf, 0, (size_t)pl->p_recvsz); /* * Assuming that sizeof (xdrbuf) would be enough * for the arguments; if not then the program -- cgit v1.1 From a837eb5ff117da69b6a71f4a2691d69727c4a2a1 Mon Sep 17 00:00:00 2001 From: nwhitehorn Date: Fri, 26 Feb 2016 20:25:26 +0000 Subject: Make FPSCR definition endian clean. PR: 207526 Submitted by: Simon Byrne Obtained from: Julia MFC after: 1 month --- lib/msun/powerpc/fenv.h | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'lib') diff --git a/lib/msun/powerpc/fenv.h b/lib/msun/powerpc/fenv.h index b96fdee..33de375 100644 --- a/lib/msun/powerpc/fenv.h +++ b/lib/msun/powerpc/fenv.h @@ -97,8 +97,13 @@ extern const fenv_t __fe_dfl_env; union __fpscr { double __d; struct { +#if _BYTE_ORDER == _LITTLE_ENDIAN + fenv_t __reg; + __uint32_t __junk; +#else __uint32_t __junk; fenv_t __reg; +#endif } __bits; }; -- cgit v1.1 From f300000fe3f8618c02619b391a7461449830742e Mon Sep 17 00:00:00 2001 From: nwhitehorn Date: Fri, 26 Feb 2016 20:38:23 +0000 Subject: Make unions in PowerPC libc endian-safe. --- lib/libc/powerpc/_fpmath.h | 7 +++++++ lib/libc/powerpc/gen/infinity.c | 17 +++++++++++++++-- lib/libc/powerpc64/_fpmath.h | 7 +++++++ lib/libc/powerpc64/gen/infinity.c | 17 +++++++++++++++-- 4 files changed, 44 insertions(+), 4 deletions(-) (limited to 'lib') diff --git a/lib/libc/powerpc/_fpmath.h b/lib/libc/powerpc/_fpmath.h index 6d80eb4..4b7971e 100644 --- a/lib/libc/powerpc/_fpmath.h +++ b/lib/libc/powerpc/_fpmath.h @@ -29,10 +29,17 @@ union IEEEl2bits { long double e; struct { +#if _BYTE_ORDER == _LITTLE_ENDIAN + unsigned int manl :32; + unsigned int manh :20; + unsigned int exp :11; + unsigned int sign :1; +#else /* _BYTE_ORDER == _LITTLE_ENDIAN */ unsigned int sign :1; unsigned int exp :11; unsigned int manh :20; unsigned int manl :32; +#endif } bits; }; diff --git a/lib/libc/powerpc/gen/infinity.c b/lib/libc/powerpc/gen/infinity.c index cf1695e..f532438 100644 --- a/lib/libc/powerpc/gen/infinity.c +++ b/lib/libc/powerpc/gen/infinity.c @@ -11,7 +11,20 @@ __FBSDID("$FreeBSD$"); #include /* bytes for +Infinity on powerpc */ -const union __infinity_un __infinity = { { 0x7f, 0xf0, 0, 0, 0, 0, 0, 0 } }; +const union __infinity_un __infinity = { +#if BYTE_ORDER == BIG_ENDIAN + { 0x7f, 0xf0, 0, 0, 0, 0, 0, 0 } +#else + { 0, 0, 0, 0, 0, 0, 0xf0, 0x7f } +#endif +}; /* bytes for NaN */ -const union __nan_un __nan = { { 0xff, 0xc0, 0, 0 } }; +const union __nan_un __nan = { +#if BYTE_ORDER == BIG_ENDIAN + {0xff, 0xc0, 0, 0} +#else + { 0, 0, 0xc0, 0xff } +#endif +}; + diff --git a/lib/libc/powerpc64/_fpmath.h b/lib/libc/powerpc64/_fpmath.h index 6d80eb4..4b7971e 100644 --- a/lib/libc/powerpc64/_fpmath.h +++ b/lib/libc/powerpc64/_fpmath.h @@ -29,10 +29,17 @@ union IEEEl2bits { long double e; struct { +#if _BYTE_ORDER == _LITTLE_ENDIAN + unsigned int manl :32; + unsigned int manh :20; + unsigned int exp :11; + unsigned int sign :1; +#else /* _BYTE_ORDER == _LITTLE_ENDIAN */ unsigned int sign :1; unsigned int exp :11; unsigned int manh :20; unsigned int manl :32; +#endif } bits; }; diff --git a/lib/libc/powerpc64/gen/infinity.c b/lib/libc/powerpc64/gen/infinity.c index cf1695e..f532438 100644 --- a/lib/libc/powerpc64/gen/infinity.c +++ b/lib/libc/powerpc64/gen/infinity.c @@ -11,7 +11,20 @@ __FBSDID("$FreeBSD$"); #include /* bytes for +Infinity on powerpc */ -const union __infinity_un __infinity = { { 0x7f, 0xf0, 0, 0, 0, 0, 0, 0 } }; +const union __infinity_un __infinity = { +#if BYTE_ORDER == BIG_ENDIAN + { 0x7f, 0xf0, 0, 0, 0, 0, 0, 0 } +#else + { 0, 0, 0, 0, 0, 0, 0xf0, 0x7f } +#endif +}; /* bytes for NaN */ -const union __nan_un __nan = { { 0xff, 0xc0, 0, 0 } }; +const union __nan_un __nan = { +#if BYTE_ORDER == BIG_ENDIAN + {0xff, 0xc0, 0, 0} +#else + { 0, 0, 0xc0, 0xff } +#endif +}; + -- cgit v1.1 From 4366da955a18c6ee7ac9d82fc4613f2177559deb Mon Sep 17 00:00:00 2001 From: bdrewery Date: Fri, 26 Feb 2016 22:14:04 +0000 Subject: These can build in parallel. Sponsored by: EMC / Isilon Storage Division --- lib/libcasper/Makefile | 2 ++ lib/libcasper/services/Makefile | 2 ++ 2 files changed, 4 insertions(+) (limited to 'lib') diff --git a/lib/libcasper/Makefile b/lib/libcasper/Makefile index af0701b..97cf1df 100644 --- a/lib/libcasper/Makefile +++ b/lib/libcasper/Makefile @@ -3,4 +3,6 @@ SUBDIR= libcasper SUBDIR+= services +SUBDIR_PARALLEL= + .include diff --git a/lib/libcasper/services/Makefile b/lib/libcasper/services/Makefile index 39b79af..c80e589 100644 --- a/lib/libcasper/services/Makefile +++ b/lib/libcasper/services/Makefile @@ -6,4 +6,6 @@ SUBDIR+= cap_pwd SUBDIR+= cap_random SUBDIR+= cap_sysctl +SUBDIR_PARALLEL= + .include -- cgit v1.1 From d4b483601fd46cf00eddda3dea9f60b60ec69a4a Mon Sep 17 00:00:00 2001 From: bdrewery Date: Fri, 26 Feb 2016 22:14:08 +0000 Subject: Remove unneeded lines. - WARNS can be inherited from lib/Makefile.inc - CFLAGS referred to a non-existent directory and this shouldn't be needed anyhow due to the build picking up includes from WORLDTMP. Sponsored by: EMC / Isilon Storage Division --- lib/libcasper/Makefile.inc | 3 +++ lib/libcasper/libcasper/Makefile | 2 -- lib/libcasper/services/Makefile.inc | 3 +++ lib/libcasper/services/cap_dns/Makefile | 3 --- lib/libcasper/services/cap_grp/Makefile | 3 --- lib/libcasper/services/cap_pwd/Makefile | 3 --- lib/libcasper/services/cap_random/Makefile | 3 --- lib/libcasper/services/cap_sysctl/Makefile | 3 --- 8 files changed, 6 insertions(+), 17 deletions(-) create mode 100644 lib/libcasper/Makefile.inc create mode 100644 lib/libcasper/services/Makefile.inc (limited to 'lib') diff --git a/lib/libcasper/Makefile.inc b/lib/libcasper/Makefile.inc new file mode 100644 index 0000000..265f86d --- /dev/null +++ b/lib/libcasper/Makefile.inc @@ -0,0 +1,3 @@ +# $FreeBSD$ + +.include "../Makefile.inc" diff --git a/lib/libcasper/libcasper/Makefile b/lib/libcasper/libcasper/Makefile index 2a123ac..6fbdffb 100644 --- a/lib/libcasper/libcasper/Makefile +++ b/lib/libcasper/libcasper/Makefile @@ -18,8 +18,6 @@ LIBADD= nv CFLAGS+=-I${.CURDIR} -WARNS?= 6 - MAN+= libcasper.3 MLINKS+=libcasper.3 cap_init.3 diff --git a/lib/libcasper/services/Makefile.inc b/lib/libcasper/services/Makefile.inc new file mode 100644 index 0000000..265f86d --- /dev/null +++ b/lib/libcasper/services/Makefile.inc @@ -0,0 +1,3 @@ +# $FreeBSD$ + +.include "../Makefile.inc" diff --git a/lib/libcasper/services/cap_dns/Makefile b/lib/libcasper/services/cap_dns/Makefile index 871975d..c52f6bf 100644 --- a/lib/libcasper/services/cap_dns/Makefile +++ b/lib/libcasper/services/cap_dns/Makefile @@ -13,8 +13,5 @@ INCS= cap_dns.h LIBADD= nv CFLAGS+=-I${.CURDIR} -CFLAGS+=-I${.CURDIR}/../libcasper - -WARNS?= 6 .include diff --git a/lib/libcasper/services/cap_grp/Makefile b/lib/libcasper/services/cap_grp/Makefile index 81b9477..8a552d2 100644 --- a/lib/libcasper/services/cap_grp/Makefile +++ b/lib/libcasper/services/cap_grp/Makefile @@ -13,8 +13,5 @@ INCS= cap_grp.h LIBADD= nv CFLAGS+=-I${.CURDIR} -CFLAGS+=-I${.CURDIR}/../libcasper - -WARNS?= 6 .include diff --git a/lib/libcasper/services/cap_pwd/Makefile b/lib/libcasper/services/cap_pwd/Makefile index 34b8a12..294ce7e 100644 --- a/lib/libcasper/services/cap_pwd/Makefile +++ b/lib/libcasper/services/cap_pwd/Makefile @@ -13,8 +13,5 @@ INCS= cap_pwd.h LIBADD= nv CFLAGS+=-I${.CURDIR} -CFLAGS+=-I${.CURDIR}/../libcasper - -WARNS?= 6 .include diff --git a/lib/libcasper/services/cap_random/Makefile b/lib/libcasper/services/cap_random/Makefile index 2447236..61dcc6c 100644 --- a/lib/libcasper/services/cap_random/Makefile +++ b/lib/libcasper/services/cap_random/Makefile @@ -13,8 +13,5 @@ INCS= cap_random.h LIBADD= nv CFLAGS+=-I${.CURDIR} -CFLAGS+=-I${.CURDIR}/../libcasper - -WARNS?= 6 .include diff --git a/lib/libcasper/services/cap_sysctl/Makefile b/lib/libcasper/services/cap_sysctl/Makefile index 779ed7e..ba3a4b3 100644 --- a/lib/libcasper/services/cap_sysctl/Makefile +++ b/lib/libcasper/services/cap_sysctl/Makefile @@ -13,8 +13,5 @@ INCS= cap_sysctl.h LIBADD= nv CFLAGS+=-I${.CURDIR} -CFLAGS+=-I${.CURDIR}/../libcasper - -WARNS?= 6 .include -- cgit v1.1 From eb3588c7b64f9eaf9e4af1ab727930873116f1fa Mon Sep 17 00:00:00 2001 From: bdrewery Date: Fri, 26 Feb 2016 22:14:15 +0000 Subject: Update dependencies. Sponsored by: EMC / Isilon Storage Division --- lib/libcasper/Makefile.depend | 21 --------------------- lib/libcasper/libcasper/Makefile.depend | 19 +++++++++++++++++++ lib/libcasper/services/cap_dns/Makefile.depend | 20 ++++++++++++++++++++ lib/libcasper/services/cap_grp/Makefile.depend | 20 ++++++++++++++++++++ lib/libcasper/services/cap_pwd/Makefile.depend | 20 ++++++++++++++++++++ lib/libcasper/services/cap_random/Makefile.depend | 20 ++++++++++++++++++++ lib/libcasper/services/cap_sysctl/Makefile.depend | 20 ++++++++++++++++++++ 7 files changed, 119 insertions(+), 21 deletions(-) delete mode 100644 lib/libcasper/Makefile.depend create mode 100644 lib/libcasper/libcasper/Makefile.depend create mode 100644 lib/libcasper/services/cap_dns/Makefile.depend create mode 100644 lib/libcasper/services/cap_grp/Makefile.depend create mode 100644 lib/libcasper/services/cap_pwd/Makefile.depend create mode 100644 lib/libcasper/services/cap_random/Makefile.depend create mode 100644 lib/libcasper/services/cap_sysctl/Makefile.depend (limited to 'lib') diff --git a/lib/libcasper/Makefile.depend b/lib/libcasper/Makefile.depend deleted file mode 100644 index 529a2cf..0000000 --- a/lib/libcasper/Makefile.depend +++ /dev/null @@ -1,21 +0,0 @@ -# $FreeBSD$ -# Autogenerated - do NOT edit! - -DIRDEPS = \ - gnu/lib/csu \ - gnu/lib/libgcc \ - include \ - include/xlocale \ - lib/${CSU_DIR} \ - lib/libc \ - lib/libcapsicum \ - lib/libcompiler_rt \ - lib/libnv \ - lib/libpjdlog \ - - -.include - -.if ${DEP_RELDIR} == ${_DEP_RELDIR} -# local dependencies - needed for -jN in clean tree -.endif diff --git a/lib/libcasper/libcasper/Makefile.depend b/lib/libcasper/libcasper/Makefile.depend new file mode 100644 index 0000000..4f7989b --- /dev/null +++ b/lib/libcasper/libcasper/Makefile.depend @@ -0,0 +1,19 @@ +# $FreeBSD$ +# Autogenerated - do NOT edit! + +DIRDEPS = \ + gnu/lib/csu \ + gnu/lib/libgcc \ + include \ + include/xlocale \ + lib/${CSU_DIR} \ + lib/libc \ + lib/libcompiler_rt \ + lib/libnv \ + + +.include + +.if ${DEP_RELDIR} == ${_DEP_RELDIR} +# local dependencies - needed for -jN in clean tree +.endif diff --git a/lib/libcasper/services/cap_dns/Makefile.depend b/lib/libcasper/services/cap_dns/Makefile.depend new file mode 100644 index 0000000..fcd8169 --- /dev/null +++ b/lib/libcasper/services/cap_dns/Makefile.depend @@ -0,0 +1,20 @@ +# $FreeBSD$ +# Autogenerated - do NOT edit! + +DIRDEPS = \ + gnu/lib/csu \ + gnu/lib/libgcc \ + include \ + include/xlocale \ + lib/${CSU_DIR} \ + lib/libc \ + lib/libcasper/libcasper \ + lib/libcompiler_rt \ + lib/libnv \ + + +.include + +.if ${DEP_RELDIR} == ${_DEP_RELDIR} +# local dependencies - needed for -jN in clean tree +.endif diff --git a/lib/libcasper/services/cap_grp/Makefile.depend b/lib/libcasper/services/cap_grp/Makefile.depend new file mode 100644 index 0000000..fcd8169 --- /dev/null +++ b/lib/libcasper/services/cap_grp/Makefile.depend @@ -0,0 +1,20 @@ +# $FreeBSD$ +# Autogenerated - do NOT edit! + +DIRDEPS = \ + gnu/lib/csu \ + gnu/lib/libgcc \ + include \ + include/xlocale \ + lib/${CSU_DIR} \ + lib/libc \ + lib/libcasper/libcasper \ + lib/libcompiler_rt \ + lib/libnv \ + + +.include + +.if ${DEP_RELDIR} == ${_DEP_RELDIR} +# local dependencies - needed for -jN in clean tree +.endif diff --git a/lib/libcasper/services/cap_pwd/Makefile.depend b/lib/libcasper/services/cap_pwd/Makefile.depend new file mode 100644 index 0000000..fcd8169 --- /dev/null +++ b/lib/libcasper/services/cap_pwd/Makefile.depend @@ -0,0 +1,20 @@ +# $FreeBSD$ +# Autogenerated - do NOT edit! + +DIRDEPS = \ + gnu/lib/csu \ + gnu/lib/libgcc \ + include \ + include/xlocale \ + lib/${CSU_DIR} \ + lib/libc \ + lib/libcasper/libcasper \ + lib/libcompiler_rt \ + lib/libnv \ + + +.include + +.if ${DEP_RELDIR} == ${_DEP_RELDIR} +# local dependencies - needed for -jN in clean tree +.endif diff --git a/lib/libcasper/services/cap_random/Makefile.depend b/lib/libcasper/services/cap_random/Makefile.depend new file mode 100644 index 0000000..fcd8169 --- /dev/null +++ b/lib/libcasper/services/cap_random/Makefile.depend @@ -0,0 +1,20 @@ +# $FreeBSD$ +# Autogenerated - do NOT edit! + +DIRDEPS = \ + gnu/lib/csu \ + gnu/lib/libgcc \ + include \ + include/xlocale \ + lib/${CSU_DIR} \ + lib/libc \ + lib/libcasper/libcasper \ + lib/libcompiler_rt \ + lib/libnv \ + + +.include + +.if ${DEP_RELDIR} == ${_DEP_RELDIR} +# local dependencies - needed for -jN in clean tree +.endif diff --git a/lib/libcasper/services/cap_sysctl/Makefile.depend b/lib/libcasper/services/cap_sysctl/Makefile.depend new file mode 100644 index 0000000..fcd8169 --- /dev/null +++ b/lib/libcasper/services/cap_sysctl/Makefile.depend @@ -0,0 +1,20 @@ +# $FreeBSD$ +# Autogenerated - do NOT edit! + +DIRDEPS = \ + gnu/lib/csu \ + gnu/lib/libgcc \ + include \ + include/xlocale \ + lib/${CSU_DIR} \ + lib/libc \ + lib/libcasper/libcasper \ + lib/libcompiler_rt \ + lib/libnv \ + + +.include + +.if ${DEP_RELDIR} == ${_DEP_RELDIR} +# local dependencies - needed for -jN in clean tree +.endif -- cgit v1.1 From d1a77ae76f4de813093a3ede5d8d2a5a8000afdb Mon Sep 17 00:00:00 2001 From: bdrewery Date: Fri, 26 Feb 2016 22:14:19 +0000 Subject: Make it clear that the "size" argument is for the dst string. The rest of the manpage already referenced 'dstsize' but did not rename the variable in the prototype in r257646. MFC after: 3 days Sponsored by: EMC / Isilon Storage Division --- lib/libc/string/strlcpy.3 | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'lib') diff --git a/lib/libc/string/strlcpy.3 b/lib/libc/string/strlcpy.3 index 76bf6b7..30a7588 100644 --- a/lib/libc/string/strlcpy.3 +++ b/lib/libc/string/strlcpy.3 @@ -27,7 +27,7 @@ .\" .\" $FreeBSD$ .\" -.Dd November 4, 2013 +.Dd February 26, 2016 .Dt STRLCPY 3 .Os .Sh NAME @@ -39,9 +39,9 @@ .Sh SYNOPSIS .In string.h .Ft size_t -.Fn strlcpy "char * restrict dst" "const char * restrict src" "size_t size" +.Fn strlcpy "char * restrict dst" "const char * restrict src" "size_t dstsize" .Ft size_t -.Fn strlcat "char * restrict dst" "const char * restrict src" "size_t size" +.Fn strlcat "char * restrict dst" "const char * restrict src" "size_t dstsize" .Sh DESCRIPTION The .Fn strlcpy -- cgit v1.1 From dd3505eed7c44b2fb3c77b1e4b5a321b20fe9175 Mon Sep 17 00:00:00 2001 From: bdrewery Date: Fri, 26 Feb 2016 22:14:23 +0000 Subject: Remove WARNS inherited fine by ../Makefile.inc. Sponsored by: EMC / Isilon Storage Division --- lib/libdpv/Makefile | 2 -- lib/libfigpar/Makefile | 2 -- lib/libgpio/Makefile | 2 -- lib/libnv/Makefile | 2 -- lib/libpjdlog/Makefile | 2 -- lib/libproc/Makefile.inc | 3 +++ lib/libproc/tests/Makefile | 2 -- 7 files changed, 3 insertions(+), 12 deletions(-) create mode 100644 lib/libproc/Makefile.inc (limited to 'lib') diff --git a/lib/libdpv/Makefile b/lib/libdpv/Makefile index f2dc481..3a9921c 100644 --- a/lib/libdpv/Makefile +++ b/lib/libdpv/Makefile @@ -12,6 +12,4 @@ SRCS= dialog_util.c dialogrc.c dprompt.c dpv.c status.c util.c CFLAGS+= -I${.CURDIR} -WARNS?= 6 - .include diff --git a/lib/libfigpar/Makefile b/lib/libfigpar/Makefile index 6f01966..bb24da3 100644 --- a/lib/libfigpar/Makefile +++ b/lib/libfigpar/Makefile @@ -16,6 +16,4 @@ CFLAGS+= -I${.CURDIR} SRCS= figpar.c string_m.c -WARNS?= 6 - .include diff --git a/lib/libgpio/Makefile b/lib/libgpio/Makefile index 4393c79..94118d6 100644 --- a/lib/libgpio/Makefile +++ b/lib/libgpio/Makefile @@ -31,6 +31,4 @@ MLINKS= gpio.3 gpio_open.3 \ gpio.3 gpio_pin_invout.3 \ gpio.3 gpio_pin_pulsate.3 -WARNS?= 6 - .include diff --git a/lib/libnv/Makefile b/lib/libnv/Makefile index 38ec009..f0ed8c4 100644 --- a/lib/libnv/Makefile +++ b/lib/libnv/Makefile @@ -15,8 +15,6 @@ SRCS+= msgio.c SRCS+= nvlist.c SRCS+= nvpair.c -WARNS?= 6 - .if ${MK_TESTS} != "no" SUBDIR+= tests .endif diff --git a/lib/libpjdlog/Makefile b/lib/libpjdlog/Makefile index e44f53b..ead5619 100644 --- a/lib/libpjdlog/Makefile +++ b/lib/libpjdlog/Makefile @@ -15,6 +15,4 @@ CFLAGS+=-I${.CURDIR} LIBADD= util -WARNS?= 6 - .include diff --git a/lib/libproc/Makefile.inc b/lib/libproc/Makefile.inc new file mode 100644 index 0000000..265f86d --- /dev/null +++ b/lib/libproc/Makefile.inc @@ -0,0 +1,3 @@ +# $FreeBSD$ + +.include "../Makefile.inc" diff --git a/lib/libproc/tests/Makefile b/lib/libproc/tests/Makefile index c4a8471..d48250e 100644 --- a/lib/libproc/tests/Makefile +++ b/lib/libproc/tests/Makefile @@ -12,6 +12,4 @@ LIBADD= elf proc rtld_db util # for testing symbol lookup. STRIP= -WARNS?= 6 - .include -- cgit v1.1 From d7f6887db1d8636b06229571ab22520a61fd1396 Mon Sep 17 00:00:00 2001 From: pfg Date: Fri, 26 Feb 2016 23:25:21 +0000 Subject: RPC: update the getrpcbyname() definition to include a const qualifier. Add const qualifier making getrpcbyname() and getrpcbyname_r() prototypes match those used in latest Sun RPC code (TI-RPC 2.3). Obtained from: NetBSD --- lib/libc/rpc/getrpcent.3 | 4 ++-- lib/libc/rpc/getrpcent.c | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) (limited to 'lib') diff --git a/lib/libc/rpc/getrpcent.3 b/lib/libc/rpc/getrpcent.3 index 1a999eb..e36d31c 100644 --- a/lib/libc/rpc/getrpcent.3 +++ b/lib/libc/rpc/getrpcent.3 @@ -2,7 +2,7 @@ .\" $NetBSD: getrpcent.3,v 1.6 1998/02/05 18:49:06 perry Exp $ .\" $FreeBSD$ .\" -.Dd December 14, 1987 +.Dd February 26, 2016 .Dt GETRPCENT 3 .Os .Sh NAME @@ -19,7 +19,7 @@ .Ft struct rpcent * .Fn getrpcent void .Ft struct rpcent * -.Fn getrpcbyname "char *name" +.Fn getrpcbyname "const char *name" .Ft struct rpcent * .Fn getrpcbynumber "int number" .Ft void diff --git a/lib/libc/rpc/getrpcent.c b/lib/libc/rpc/getrpcent.c index 72c5da8..2bfe1ab 100644 --- a/lib/libc/rpc/getrpcent.c +++ b/lib/libc/rpc/getrpcent.c @@ -969,7 +969,7 @@ getrpc(int (*fn)(union key, struct rpcent *, char *, size_t, struct rpcent **), } struct rpcent * -getrpcbyname(char *name) +getrpcbyname(const char *name) { union key key; -- cgit v1.1 From e76eb4255b957aa73f6228dd8d525d1946e3707d Mon Sep 17 00:00:00 2001 From: kib Date: Sun, 28 Feb 2016 17:52:33 +0000 Subject: Implement process-shared locks support for libthr.so.3, without breaking the ABI. Special value is stored in the lock pointer to indicate shared lock, and offline page in the shared memory is allocated to store the actual lock. Reviewed by: vangyzen (previous version) Discussed with: deischen, emaste, jhb, rwatson, Martin Simmons Tested by: pho Sponsored by: The FreeBSD Foundation --- lib/libthr/thread/Makefile.inc | 1 + lib/libthr/thread/thr_barrier.c | 65 +++-- lib/libthr/thread/thr_barrierattr.c | 10 +- lib/libthr/thread/thr_cond.c | 97 ++++--- lib/libthr/thread/thr_condattr.c | 11 +- lib/libthr/thread/thr_create.c | 12 +- lib/libthr/thread/thr_init.c | 14 +- lib/libthr/thread/thr_mutex.c | 516 +++++++++++++++++++++++------------- lib/libthr/thread/thr_mutexattr.c | 13 +- lib/libthr/thread/thr_private.h | 33 ++- lib/libthr/thread/thr_pshared.c | 223 ++++++++++++++++ lib/libthr/thread/thr_rwlock.c | 60 +++-- lib/libthr/thread/thr_rwlockattr.c | 40 ++- 13 files changed, 788 insertions(+), 307 deletions(-) create mode 100644 lib/libthr/thread/thr_pshared.c (limited to 'lib') diff --git a/lib/libthr/thread/Makefile.inc b/lib/libthr/thread/Makefile.inc index 1a7c63d..795ed39 100644 --- a/lib/libthr/thread/Makefile.inc +++ b/lib/libthr/thread/Makefile.inc @@ -36,6 +36,7 @@ SRCS+= \ thr_mutexattr.c \ thr_once.c \ thr_printf.c \ + thr_pshared.c \ thr_pspinlock.c \ thr_resume_np.c \ thr_rtld.c \ diff --git a/lib/libthr/thread/thr_barrier.c b/lib/libthr/thread/thr_barrier.c index 10b6346..45ca41a 100644 --- a/lib/libthr/thread/thr_barrier.c +++ b/lib/libthr/thread/thr_barrier.c @@ -41,14 +41,25 @@ __weak_reference(_pthread_barrier_destroy, pthread_barrier_destroy); int _pthread_barrier_destroy(pthread_barrier_t *barrier) { - pthread_barrier_t bar; - struct pthread *curthread; + pthread_barrier_t bar; + struct pthread *curthread; + int pshared; if (barrier == NULL || *barrier == NULL) return (EINVAL); + if (*barrier == THR_PSHARED_PTR) { + bar = __thr_pshared_offpage(barrier, 0); + if (bar == NULL) { + *barrier = NULL; + return (0); + } + pshared = 1; + } else { + bar = *barrier; + pshared = 0; + } curthread = _get_curthread(); - bar = *barrier; THR_UMUTEX_LOCK(curthread, &bar->b_lock); if (bar->b_destroying) { THR_UMUTEX_UNLOCK(curthread, &bar->b_lock); @@ -71,37 +82,52 @@ _pthread_barrier_destroy(pthread_barrier_t *barrier) THR_UMUTEX_UNLOCK(curthread, &bar->b_lock); *barrier = NULL; - free(bar); + if (pshared) + __thr_pshared_destroy(barrier); + else + free(bar); return (0); } int _pthread_barrier_init(pthread_barrier_t *barrier, - const pthread_barrierattr_t *attr, unsigned count) + const pthread_barrierattr_t *attr, unsigned count) { - pthread_barrier_t bar; - - (void)attr; + pthread_barrier_t bar; + int pshared; if (barrier == NULL || count <= 0) return (EINVAL); - bar = calloc(1, sizeof(struct pthread_barrier)); - if (bar == NULL) - return (ENOMEM); + if (attr == NULL || *attr == NULL || + (*attr)->pshared == PTHREAD_PROCESS_PRIVATE) { + bar = calloc(1, sizeof(struct pthread_barrier)); + if (bar == NULL) + return (ENOMEM); + *barrier = bar; + pshared = 0; + } else { + bar = __thr_pshared_offpage(barrier, 1); + if (bar == NULL) + return (EFAULT); + *barrier = THR_PSHARED_PTR; + pshared = 1; + } _thr_umutex_init(&bar->b_lock); _thr_ucond_init(&bar->b_cv); - bar->b_count = count; - *barrier = bar; - + if (pshared) { + bar->b_lock.m_flags |= USYNC_PROCESS_SHARED; + bar->b_cv.c_flags |= USYNC_PROCESS_SHARED; + } + bar->b_count = count; return (0); } int _pthread_barrier_wait(pthread_barrier_t *barrier) { - struct pthread *curthread = _get_curthread(); + struct pthread *curthread; pthread_barrier_t bar; int64_t cycle; int ret; @@ -109,7 +135,14 @@ _pthread_barrier_wait(pthread_barrier_t *barrier) if (barrier == NULL || *barrier == NULL) return (EINVAL); - bar = *barrier; + if (*barrier == THR_PSHARED_PTR) { + bar = __thr_pshared_offpage(barrier, 0); + if (bar == NULL) + return (EINVAL); + } else { + bar = *barrier; + } + curthread = _get_curthread(); THR_UMUTEX_LOCK(curthread, &bar->b_lock); if (++bar->b_waiters == bar->b_count) { /* Current thread is lastest thread */ diff --git a/lib/libthr/thread/thr_barrierattr.c b/lib/libthr/thread/thr_barrierattr.c index 32b9723..e98a66f 100644 --- a/lib/libthr/thread/thr_barrierattr.c +++ b/lib/libthr/thread/thr_barrierattr.c @@ -56,7 +56,7 @@ _pthread_barrierattr_destroy(pthread_barrierattr_t *attr) int _pthread_barrierattr_getpshared(const pthread_barrierattr_t *attr, - int *pshared) + int *pshared) { if (attr == NULL || *attr == NULL) @@ -84,11 +84,9 @@ int _pthread_barrierattr_setpshared(pthread_barrierattr_t *attr, int pshared) { - if (attr == NULL || *attr == NULL) - return (EINVAL); - - /* Only PTHREAD_PROCESS_PRIVATE is supported. */ - if (pshared != PTHREAD_PROCESS_PRIVATE) + if (attr == NULL || *attr == NULL || + (pshared != PTHREAD_PROCESS_PRIVATE && + pshared != PTHREAD_PROCESS_SHARED)) return (EINVAL); (*attr)->pshared = pshared; diff --git a/lib/libthr/thread/thr_cond.c b/lib/libthr/thread/thr_cond.c index 71b4293..934f9a0 100644 --- a/lib/libthr/thread/thr_cond.c +++ b/lib/libthr/thread/thr_cond.c @@ -1,7 +1,11 @@ /* * Copyright (c) 2005 David Xu + * Copyright (c) 2015 The FreeBSD Foundation * All rights reserved. * + * Portions of this software were developed by Konstantin Belousov + * under sponsorship from the FreeBSD Foundation. + * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: @@ -63,29 +67,45 @@ __weak_reference(_pthread_cond_broadcast, pthread_cond_broadcast); #define CV_PSHARED(cvp) (((cvp)->__flags & USYNC_PROCESS_SHARED) != 0) +static void +cond_init_body(struct pthread_cond *cvp, const struct pthread_cond_attr *cattr) +{ + + if (cattr == NULL) { + cvp->__clock_id = CLOCK_REALTIME; + } else { + if (cattr->c_pshared) + cvp->__flags |= USYNC_PROCESS_SHARED; + cvp->__clock_id = cattr->c_clockid; + } +} + static int cond_init(pthread_cond_t *cond, const pthread_condattr_t *cond_attr) { - struct pthread_cond *cvp; - int error = 0; - - if ((cvp = (pthread_cond_t) - calloc(1, sizeof(struct pthread_cond))) == NULL) { - error = ENOMEM; + struct pthread_cond *cvp; + const struct pthread_cond_attr *cattr; + int pshared; + + cattr = cond_attr != NULL ? *cond_attr : NULL; + if (cattr == NULL || cattr->c_pshared == PTHREAD_PROCESS_PRIVATE) { + pshared = 0; + cvp = calloc(1, sizeof(struct pthread_cond)); + if (cvp == NULL) + return (ENOMEM); } else { - /* - * Initialise the condition variable structure: - */ - if (cond_attr == NULL || *cond_attr == NULL) { - cvp->__clock_id = CLOCK_REALTIME; - } else { - if ((*cond_attr)->c_pshared) - cvp->__flags |= USYNC_PROCESS_SHARED; - cvp->__clock_id = (*cond_attr)->c_clockid; - } - *cond = cvp; + pshared = 1; + cvp = __thr_pshared_offpage(cond, 1); + if (cvp == NULL) + return (EFAULT); } - return (error); + + /* + * Initialise the condition variable structure: + */ + cond_init_body(cvp, cattr); + *cond = pshared ? THR_PSHARED_PTR : cvp; + return (0); } static int @@ -106,7 +126,11 @@ init_static(struct pthread *thread, pthread_cond_t *cond) } #define CHECK_AND_INIT_COND \ - if (__predict_false((cvp = (*cond)) <= THR_COND_DESTROYED)) { \ + if (*cond == THR_PSHARED_PTR) { \ + cvp = __thr_pshared_offpage(cond, 0); \ + if (cvp == NULL) \ + return (EINVAL); \ + } else if (__predict_false((cvp = (*cond)) <= THR_COND_DESTROYED)) { \ if (cvp == THR_COND_INITIALIZER) { \ int ret; \ ret = init_static(_get_curthread(), cond); \ @@ -129,21 +153,22 @@ _pthread_cond_init(pthread_cond_t *cond, const pthread_condattr_t *cond_attr) int _pthread_cond_destroy(pthread_cond_t *cond) { - struct pthread_cond *cvp; - int error = 0; + struct pthread_cond *cvp; + int error; - if ((cvp = *cond) == THR_COND_INITIALIZER) - error = 0; - else if (cvp == THR_COND_DESTROYED) + error = 0; + if (*cond == THR_PSHARED_PTR) { + cvp = __thr_pshared_offpage(cond, 0); + if (cvp != NULL) + __thr_pshared_destroy(cond); + *cond = THR_COND_DESTROYED; + } else if ((cvp = *cond) == THR_COND_INITIALIZER) { + /* nothing */ + } else if (cvp == THR_COND_DESTROYED) { error = EINVAL; - else { + } else { cvp = *cond; *cond = THR_COND_DESTROYED; - - /* - * Free the memory allocated for the condition - * variable structure: - */ free(cvp); } return (error); @@ -297,7 +322,13 @@ cond_wait_common(pthread_cond_t *cond, pthread_mutex_t *mutex, CHECK_AND_INIT_COND - mp = *mutex; + if (*mutex == THR_PSHARED_PTR) { + mp = __thr_pshared_offpage(mutex, 0); + if (mp == NULL) + return (EINVAL); + } else { + mp = *mutex; + } if ((error = _mutex_owned(curthread, mp)) != 0) return (error); @@ -385,7 +416,7 @@ cond_signal_common(pthread_cond_t *cond) td = _sleepq_first(sq); mp = td->mutex_obj; cvp->__has_user_waiters = _sleepq_remove(sq, td); - if (mp->m_owner == curthread) { + if (mp->m_owner == TID(curthread)) { if (curthread->nwaiter_defer >= MAX_DEFER_WAITERS) { _thr_wake_all(curthread->defer_waiters, curthread->nwaiter_defer); @@ -417,7 +448,7 @@ drop_cb(struct pthread *td, void *arg) struct pthread *curthread = ba->curthread; mp = td->mutex_obj; - if (mp->m_owner == curthread) { + if (mp->m_owner == TID(curthread)) { if (curthread->nwaiter_defer >= MAX_DEFER_WAITERS) { _thr_wake_all(curthread->defer_waiters, curthread->nwaiter_defer); diff --git a/lib/libthr/thread/thr_condattr.c b/lib/libthr/thread/thr_condattr.c index 52b9f51..7ce827b 100644 --- a/lib/libthr/thread/thr_condattr.c +++ b/lib/libthr/thread/thr_condattr.c @@ -105,20 +105,21 @@ _pthread_condattr_setclock(pthread_condattr_t *attr, clockid_t clock_id) int _pthread_condattr_getpshared(const pthread_condattr_t *attr, int *pshared) { + if (attr == NULL || *attr == NULL) return (EINVAL); - - *pshared = PTHREAD_PROCESS_PRIVATE; + *pshared = (*attr)->c_pshared; return (0); } int _pthread_condattr_setpshared(pthread_condattr_t *attr, int pshared) { - if (attr == NULL || *attr == NULL) - return (EINVAL); - if (pshared != PTHREAD_PROCESS_PRIVATE) + if (attr == NULL || *attr == NULL || + (pshared != PTHREAD_PROCESS_PRIVATE && + pshared != PTHREAD_PROCESS_SHARED)) return (EINVAL); + (*attr)->c_pshared = pshared; return (0); } diff --git a/lib/libthr/thread/thr_create.c b/lib/libthr/thread/thr_create.c index 701a1bd..81a95da 100644 --- a/lib/libthr/thread/thr_create.c +++ b/lib/libthr/thread/thr_create.c @@ -56,12 +56,12 @@ _pthread_create(pthread_t * thread, const pthread_attr_t * attr, struct thr_param param; struct sched_param sched_param; struct rtprio rtp; - int ret = 0, locked, create_suspended; sigset_t set, oset; - cpuset_t *cpusetp = NULL; - int cpusetsize = 0; - int old_stack_prot; + cpuset_t *cpusetp; + int i, cpusetsize, create_suspended, locked, old_stack_prot, ret; + cpusetp = NULL; + ret = cpusetsize = 0; _thr_check_init(); /* @@ -118,8 +118,8 @@ _pthread_create(pthread_t * thread, const pthread_attr_t * attr, new_thread->cancel_enable = 1; new_thread->cancel_async = 0; /* Initialize the mutex queue: */ - TAILQ_INIT(&new_thread->mutexq); - TAILQ_INIT(&new_thread->pp_mutexq); + for (i = 0; i < TMQ_NITEMS; i++) + TAILQ_INIT(&new_thread->mq[i]); /* Initialise hooks in the thread structure: */ if (new_thread->attr.suspend == THR_CREATE_SUSPENDED) { diff --git a/lib/libthr/thread/thr_init.c b/lib/libthr/thread/thr_init.c index e0400e4..3c81299 100644 --- a/lib/libthr/thread/thr_init.c +++ b/lib/libthr/thread/thr_init.c @@ -91,13 +91,15 @@ struct pthread_attr _pthread_attr_default = { struct pthread_mutex_attr _pthread_mutexattr_default = { .m_type = PTHREAD_MUTEX_DEFAULT, .m_protocol = PTHREAD_PRIO_NONE, - .m_ceiling = 0 + .m_ceiling = 0, + .m_pshared = PTHREAD_PROCESS_PRIVATE, }; struct pthread_mutex_attr _pthread_mutexattr_adaptive_default = { .m_type = PTHREAD_MUTEX_ADAPTIVE_NP, .m_protocol = PTHREAD_PRIO_NONE, - .m_ceiling = 0 + .m_ceiling = 0, + .m_pshared = PTHREAD_PROCESS_PRIVATE, }; /* Default condition variable attributes: */ @@ -387,6 +389,7 @@ static void init_main_thread(struct pthread *thread) { struct sched_param sched_param; + int i; /* Setup the thread attributes. */ thr_self(&thread->tid); @@ -428,9 +431,9 @@ init_main_thread(struct pthread *thread) thread->cancel_enable = 1; thread->cancel_async = 0; - /* Initialize the mutex queue: */ - TAILQ_INIT(&thread->mutexq); - TAILQ_INIT(&thread->pp_mutexq); + /* Initialize the mutex queues */ + for (i = 0; i < TMQ_NITEMS; i++) + TAILQ_INIT(&thread->mq[i]); thread->state = PS_RUNNING; @@ -463,6 +466,7 @@ init_private(void) _thr_once_init(); _thr_spinlock_init(); _thr_list_init(); + __thr_pshared_init(); _thr_wake_addr_init(); _sleepq_init(); _single_thread = NULL; diff --git a/lib/libthr/thread/thr_mutex.c b/lib/libthr/thread/thr_mutex.c index 26e8776..30a8be2 100644 --- a/lib/libthr/thread/thr_mutex.c +++ b/lib/libthr/thread/thr_mutex.c @@ -1,8 +1,13 @@ /* * Copyright (c) 1995 John Birrell . * Copyright (c) 2006 David Xu . + * Copyright (c) 2015 The FreeBSD Foundation + * * All rights reserved. * + * Portions of this software were developed by Konstantin Belousov + * under sponsorship from the FreeBSD Foundation. + * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: @@ -45,26 +50,6 @@ #include "thr_private.h" -#if defined(_PTHREADS_INVARIANTS) -#define MUTEX_INIT_LINK(m) do { \ - (m)->m_qe.tqe_prev = NULL; \ - (m)->m_qe.tqe_next = NULL; \ -} while (0) -#define MUTEX_ASSERT_IS_OWNED(m) do { \ - if (__predict_false((m)->m_qe.tqe_prev == NULL))\ - PANIC("mutex is not on list"); \ -} while (0) -#define MUTEX_ASSERT_NOT_OWNED(m) do { \ - if (__predict_false((m)->m_qe.tqe_prev != NULL || \ - (m)->m_qe.tqe_next != NULL)) \ - PANIC("mutex is on list"); \ -} while (0) -#else -#define MUTEX_INIT_LINK(m) -#define MUTEX_ASSERT_IS_OWNED(m) -#define MUTEX_ASSERT_NOT_OWNED(m) -#endif - /* * For adaptive mutexes, how many times to spin doing trylock2 * before entering the kernel to block @@ -122,36 +107,71 @@ __strong_reference(__pthread_mutex_setyieldloops_np, _pthread_mutex_setyieldloop __weak_reference(_pthread_mutex_getyieldloops_np, pthread_mutex_getyieldloops_np); __weak_reference(_pthread_mutex_isowned_np, pthread_mutex_isowned_np); +static void +mutex_init_link(struct pthread_mutex *m) +{ + +#if defined(_PTHREADS_INVARIANTS) + m->m_qe.tqe_prev = NULL; + m->m_qe.tqe_next = NULL; + m->m_pqe.tqe_prev = NULL; + m->m_pqe.tqe_next = NULL; +#endif +} + +static void +mutex_assert_is_owned(struct pthread_mutex *m) +{ + +#if defined(_PTHREADS_INVARIANTS) + if (__predict_false(m->m_qe.tqe_prev == NULL)) + PANIC("mutex is not on list"); +#endif +} + +static void +mutex_assert_not_owned(struct pthread_mutex *m) +{ + +#if defined(_PTHREADS_INVARIANTS) + if (__predict_false(m->m_qe.tqe_prev != NULL || + m->m_qe.tqe_next != NULL)) + PANIC("mutex is on list"); +#endif +} + static int -mutex_init(pthread_mutex_t *mutex, - const struct pthread_mutex_attr *mutex_attr, - void *(calloc_cb)(size_t, size_t)) +is_pshared_mutex(struct pthread_mutex *m) { - const struct pthread_mutex_attr *attr; - struct pthread_mutex *pmutex; - if (mutex_attr == NULL) { - attr = &_pthread_mutexattr_default; - } else { - attr = mutex_attr; - if (attr->m_type < PTHREAD_MUTEX_ERRORCHECK || - attr->m_type >= PTHREAD_MUTEX_TYPE_MAX) - return (EINVAL); - if (attr->m_protocol < PTHREAD_PRIO_NONE || - attr->m_protocol > PTHREAD_PRIO_PROTECT) - return (EINVAL); - } - if ((pmutex = (pthread_mutex_t) - calloc_cb(1, sizeof(struct pthread_mutex))) == NULL) - return (ENOMEM); + return ((m->m_lock.m_flags & USYNC_PROCESS_SHARED) != 0); +} + +static int +mutex_check_attr(const struct pthread_mutex_attr *attr) +{ + + if (attr->m_type < PTHREAD_MUTEX_ERRORCHECK || + attr->m_type >= PTHREAD_MUTEX_TYPE_MAX) + return (EINVAL); + if (attr->m_protocol < PTHREAD_PRIO_NONE || + attr->m_protocol > PTHREAD_PRIO_PROTECT) + return (EINVAL); + return (0); +} + +static void +mutex_init_body(struct pthread_mutex *pmutex, + const struct pthread_mutex_attr *attr) +{ pmutex->m_flags = attr->m_type; - pmutex->m_owner = NULL; + pmutex->m_owner = 0; pmutex->m_count = 0; pmutex->m_spinloops = 0; pmutex->m_yieldloops = 0; - MUTEX_INIT_LINK(pmutex); - switch(attr->m_protocol) { + mutex_init_link(pmutex); + switch (attr->m_protocol) { case PTHREAD_PRIO_NONE: pmutex->m_lock.m_owner = UMUTEX_UNOWNED; pmutex->m_lock.m_flags = 0; @@ -166,13 +186,37 @@ mutex_init(pthread_mutex_t *mutex, pmutex->m_lock.m_ceilings[0] = attr->m_ceiling; break; } + if (attr->m_pshared == PTHREAD_PROCESS_SHARED) + pmutex->m_lock.m_flags |= USYNC_PROCESS_SHARED; if (PMUTEX_TYPE(pmutex->m_flags) == PTHREAD_MUTEX_ADAPTIVE_NP) { pmutex->m_spinloops = _thr_spinloops ? _thr_spinloops: MUTEX_ADAPTIVE_SPINS; pmutex->m_yieldloops = _thr_yieldloops; } +} +static int +mutex_init(pthread_mutex_t *mutex, + const struct pthread_mutex_attr *mutex_attr, + void *(calloc_cb)(size_t, size_t)) +{ + const struct pthread_mutex_attr *attr; + struct pthread_mutex *pmutex; + int error; + + if (mutex_attr == NULL) { + attr = &_pthread_mutexattr_default; + } else { + attr = mutex_attr; + error = mutex_check_attr(attr); + if (error != 0) + return (error); + } + if ((pmutex = (pthread_mutex_t) + calloc_cb(1, sizeof(struct pthread_mutex))) == NULL) + return (ENOMEM); + mutex_init_body(pmutex, attr); *mutex = pmutex; return (0); } @@ -187,7 +231,8 @@ init_static(struct pthread *thread, pthread_mutex_t *mutex) if (*mutex == THR_MUTEX_INITIALIZER) ret = mutex_init(mutex, &_pthread_mutexattr_default, calloc); else if (*mutex == THR_ADAPTIVE_MUTEX_INITIALIZER) - ret = mutex_init(mutex, &_pthread_mutexattr_adaptive_default, calloc); + ret = mutex_init(mutex, &_pthread_mutexattr_adaptive_default, + calloc); else ret = 0; THR_LOCK_RELEASE(thread, &_mutex_static_lock); @@ -200,7 +245,7 @@ set_inherited_priority(struct pthread *curthread, struct pthread_mutex *m) { struct pthread_mutex *m2; - m2 = TAILQ_LAST(&curthread->pp_mutexq, mutex_queue); + m2 = TAILQ_LAST(&curthread->mq[TMQ_NORM_PP], mutex_queue); if (m2 != NULL) m->m_lock.m_ceilings[1] = m2->m_lock.m_ceilings[0]; else @@ -211,7 +256,25 @@ int __pthread_mutex_init(pthread_mutex_t *mutex, const pthread_mutexattr_t *mutex_attr) { - return mutex_init(mutex, mutex_attr ? *mutex_attr : NULL, calloc); + struct pthread_mutex *pmtx; + int ret; + + if (mutex_attr != NULL) { + ret = mutex_check_attr(*mutex_attr); + if (ret != 0) + return (ret); + } + if (mutex_attr == NULL || + (*mutex_attr)->m_pshared == PTHREAD_PROCESS_PRIVATE) { + return (mutex_init(mutex, mutex_attr ? *mutex_attr : NULL, + calloc)); + } + pmtx = __thr_pshared_offpage(mutex, 1); + if (pmtx == NULL) + return (EFAULT); + *mutex = THR_PSHARED_PTR; + mutex_init_body(pmtx, *mutex_attr); + return (0); } /* This function is used internally by malloc. */ @@ -222,7 +285,8 @@ _pthread_mutex_init_calloc_cb(pthread_mutex_t *mutex, static const struct pthread_mutex_attr attr = { .m_type = PTHREAD_MUTEX_NORMAL, .m_protocol = PTHREAD_PRIO_NONE, - .m_ceiling = 0 + .m_ceiling = 0, + .m_pshared = PTHREAD_PROCESS_PRIVATE, }; int ret; @@ -232,31 +296,44 @@ _pthread_mutex_init_calloc_cb(pthread_mutex_t *mutex, return (ret); } -void -_mutex_fork(struct pthread *curthread) +/* + * Fix mutex ownership for child process. + * + * Process private mutex ownership is transmitted from the forking + * thread to the child process. + * + * Process shared mutex should not be inherited because owner is + * forking thread which is in parent process, they are removed from + * the owned mutex list. + */ +static void +queue_fork(struct pthread *curthread, struct mutex_queue *q, + struct mutex_queue *qp, uint bit) { struct pthread_mutex *m; - /* - * Fix mutex ownership for child process. - * note that process shared mutex should not - * be inherited because owner is forking thread - * which is in parent process, they should be - * removed from the owned mutex list, current, - * process shared mutex is not supported, so I - * am not worried. - */ + TAILQ_INIT(q); + TAILQ_FOREACH(m, qp, m_pqe) { + TAILQ_INSERT_TAIL(q, m, m_qe); + m->m_lock.m_owner = TID(curthread) | bit; + m->m_owner = TID(curthread); + } +} + +void +_mutex_fork(struct pthread *curthread) +{ - TAILQ_FOREACH(m, &curthread->mutexq, m_qe) - m->m_lock.m_owner = TID(curthread); - TAILQ_FOREACH(m, &curthread->pp_mutexq, m_qe) - m->m_lock.m_owner = TID(curthread) | UMUTEX_CONTESTED; + queue_fork(curthread, &curthread->mq[TMQ_NORM], + &curthread->mq[TMQ_NORM_PRIV], 0); + queue_fork(curthread, &curthread->mq[TMQ_NORM_PP], + &curthread->mq[TMQ_NORM_PP_PRIV], UMUTEX_CONTESTED); } int _pthread_mutex_destroy(pthread_mutex_t *mutex) { - pthread_mutex_t m; + pthread_mutex_t m, m1; int ret; m = *mutex; @@ -265,11 +342,20 @@ _pthread_mutex_destroy(pthread_mutex_t *mutex) } else if (m == THR_MUTEX_DESTROYED) { ret = EINVAL; } else { - if (m->m_owner != NULL) { + if (m == THR_PSHARED_PTR) { + m1 = __thr_pshared_offpage(mutex, 0); + if (m1 != NULL) { + mutex_assert_not_owned(m1); + __thr_pshared_destroy(mutex); + } + *mutex = THR_MUTEX_DESTROYED; + return (0); + } + if (m->m_owner != 0) { ret = EBUSY; } else { *mutex = THR_MUTEX_DESTROYED; - MUTEX_ASSERT_NOT_OWNED(m); + mutex_assert_not_owned(m); free(m); ret = 0; } @@ -278,54 +364,87 @@ _pthread_mutex_destroy(pthread_mutex_t *mutex) return (ret); } -#define ENQUEUE_MUTEX(curthread, m) \ - do { \ - (m)->m_owner = curthread; \ - /* Add to the list of owned mutexes: */ \ - MUTEX_ASSERT_NOT_OWNED((m)); \ - if (((m)->m_lock.m_flags & UMUTEX_PRIO_PROTECT) == 0) \ - TAILQ_INSERT_TAIL(&curthread->mutexq, (m), m_qe);\ - else \ - TAILQ_INSERT_TAIL(&curthread->pp_mutexq, (m), m_qe);\ - } while (0) - -#define DEQUEUE_MUTEX(curthread, m) \ - (m)->m_owner = NULL; \ - MUTEX_ASSERT_IS_OWNED(m); \ - if (__predict_true(((m)->m_lock.m_flags & UMUTEX_PRIO_PROTECT) == 0)) \ - TAILQ_REMOVE(&curthread->mutexq, (m), m_qe); \ - else { \ - TAILQ_REMOVE(&curthread->pp_mutexq, (m), m_qe); \ - set_inherited_priority(curthread, m); \ - } \ - MUTEX_INIT_LINK(m); - -#define CHECK_AND_INIT_MUTEX \ - if (__predict_false((m = *mutex) <= THR_MUTEX_DESTROYED)) { \ - if (m == THR_MUTEX_DESTROYED) \ - return (EINVAL); \ - int ret; \ - ret = init_static(_get_curthread(), mutex); \ - if (ret) \ - return (ret); \ - m = *mutex; \ - } +static int +mutex_qidx(struct pthread_mutex *m) +{ + + if ((m->m_lock.m_flags & UMUTEX_PRIO_PROTECT) == 0) + return (TMQ_NORM); + return (TMQ_NORM_PP); +} + +static void +enqueue_mutex(struct pthread *curthread, struct pthread_mutex *m) +{ + int qidx; + + m->m_owner = TID(curthread); + /* Add to the list of owned mutexes: */ + mutex_assert_not_owned(m); + qidx = mutex_qidx(m); + TAILQ_INSERT_TAIL(&curthread->mq[qidx], m, m_qe); + if (!is_pshared_mutex(m)) + TAILQ_INSERT_TAIL(&curthread->mq[qidx + 1], m, m_pqe); +} + +static void +dequeue_mutex(struct pthread *curthread, struct pthread_mutex *m) +{ + int qidx; + + m->m_owner = 0; + mutex_assert_is_owned(m); + qidx = mutex_qidx(m); + TAILQ_REMOVE(&curthread->mq[qidx], m, m_qe); + if (!is_pshared_mutex(m)) + TAILQ_REMOVE(&curthread->mq[qidx + 1], m, m_pqe); + if ((m->m_lock.m_flags & UMUTEX_PRIO_PROTECT) != 0) + set_inherited_priority(curthread, m); + mutex_init_link(m); +} static int -mutex_trylock_common(pthread_mutex_t *mutex) +check_and_init_mutex(pthread_mutex_t *mutex, struct pthread_mutex **m) { - struct pthread *curthread = _get_curthread(); - struct pthread_mutex *m = *mutex; + int ret; + + *m = *mutex; + ret = 0; + if (*m == THR_PSHARED_PTR) { + *m = __thr_pshared_offpage(mutex, 0); + if (*m == NULL) + ret = EINVAL; + } else if (__predict_false(*m <= THR_MUTEX_DESTROYED)) { + if (*m == THR_MUTEX_DESTROYED) { + ret = EINVAL; + } else { + ret = init_static(_get_curthread(), mutex); + if (ret == 0) + *m = *mutex; + } + } + return (ret); +} + +int +__pthread_mutex_trylock(pthread_mutex_t *mutex) +{ + struct pthread *curthread; + struct pthread_mutex *m; uint32_t id; int ret; + ret = check_and_init_mutex(mutex, &m); + if (ret != 0) + return (ret); + curthread = _get_curthread(); id = TID(curthread); if (m->m_flags & PMUTEX_FLAG_PRIVATE) THR_CRITICAL_ENTER(curthread); ret = _thr_umutex_trylock(&m->m_lock, id); if (__predict_true(ret == 0)) { - ENQUEUE_MUTEX(curthread, m); - } else if (m->m_owner == curthread) { + enqueue_mutex(curthread, m); + } else if (m->m_owner == id) { ret = mutex_self_trylock(m); } /* else {} */ if (ret && (m->m_flags & PMUTEX_FLAG_PRIVATE)) @@ -333,16 +452,6 @@ mutex_trylock_common(pthread_mutex_t *mutex) return (ret); } -int -__pthread_mutex_trylock(pthread_mutex_t *mutex) -{ - struct pthread_mutex *m; - - CHECK_AND_INIT_MUTEX - - return (mutex_trylock_common(mutex)); -} - static int mutex_lock_sleep(struct pthread *curthread, struct pthread_mutex *m, const struct timespec *abstime) @@ -351,10 +460,10 @@ mutex_lock_sleep(struct pthread *curthread, struct pthread_mutex *m, int count; int ret; - if (m->m_owner == curthread) - return mutex_self_lock(m, abstime); - id = TID(curthread); + if (m->m_owner == id) + return (mutex_self_lock(m, abstime)); + /* * For adaptive mutexes, spin for a bit in the expectation * that if the application requests this mutex type then @@ -406,7 +515,7 @@ sleep_in_kernel: } done: if (ret == 0) - ENQUEUE_MUTEX(curthread, m); + enqueue_mutex(curthread, m); return (ret); } @@ -421,7 +530,7 @@ mutex_lock_common(struct pthread_mutex *m, if (!cvattach && m->m_flags & PMUTEX_FLAG_PRIVATE) THR_CRITICAL_ENTER(curthread); if (_thr_umutex_trylock2(&m->m_lock, TID(curthread)) == 0) { - ENQUEUE_MUTEX(curthread, m); + enqueue_mutex(curthread, m); ret = 0; } else { ret = mutex_lock_sleep(curthread, m, abstime); @@ -434,25 +543,28 @@ mutex_lock_common(struct pthread_mutex *m, int __pthread_mutex_lock(pthread_mutex_t *mutex) { - struct pthread_mutex *m; + struct pthread_mutex *m; + int ret; _thr_check_init(); - - CHECK_AND_INIT_MUTEX - - return (mutex_lock_common(m, NULL, 0)); + ret = check_and_init_mutex(mutex, &m); + if (ret == 0) + ret = mutex_lock_common(m, NULL, 0); + return (ret); } int -__pthread_mutex_timedlock(pthread_mutex_t *mutex, const struct timespec *abstime) +__pthread_mutex_timedlock(pthread_mutex_t *mutex, + const struct timespec *abstime) { - struct pthread_mutex *m; + struct pthread_mutex *m; + int ret; _thr_check_init(); - - CHECK_AND_INIT_MUTEX - - return (mutex_lock_common(m, abstime, 0)); + ret = check_and_init_mutex(mutex, &m); + if (ret == 0) + ret = mutex_lock_common(m, abstime, 0); + return (ret); } int @@ -460,7 +572,13 @@ _pthread_mutex_unlock(pthread_mutex_t *mutex) { struct pthread_mutex *mp; - mp = *mutex; + if (*mutex == THR_PSHARED_PTR) { + mp = __thr_pshared_offpage(mutex, 0); + if (mp == NULL) + return (EINVAL); + } else { + mp = *mutex; + } return (mutex_unlock_common(mp, 0, NULL)); } @@ -493,7 +611,7 @@ _mutex_cv_attach(struct pthread_mutex *m, int count) { struct pthread *curthread = _get_curthread(); - ENQUEUE_MUTEX(curthread, m); + enqueue_mutex(curthread, m); m->m_count = count; return (0); } @@ -513,7 +631,7 @@ _mutex_cv_detach(struct pthread_mutex *mp, int *recurse) */ *recurse = mp->m_count; mp->m_count = 0; - DEQUEUE_MUTEX(curthread, mp); + dequeue_mutex(curthread, mp); /* Will this happen in real-world ? */ if ((mp->m_flags & PMUTEX_FLAG_DEFERED) != 0) { @@ -641,14 +759,15 @@ mutex_unlock_common(struct pthread_mutex *m, int cv, int *mtx_defer) return (EPERM); } + id = TID(curthread); + /* * Check if the running thread is not the owner of the mutex. */ - if (__predict_false(m->m_owner != curthread)) + if (__predict_false(m->m_owner != id)) return (EPERM); error = 0; - id = TID(curthread); if (__predict_false( PMUTEX_TYPE(m->m_flags) == PTHREAD_MUTEX_RECURSIVE && m->m_count > 0)) { @@ -660,7 +779,7 @@ mutex_unlock_common(struct pthread_mutex *m, int cv, int *mtx_defer) } else defered = 0; - DEQUEUE_MUTEX(curthread, m); + dequeue_mutex(curthread, m); error = _thr_umutex_unlock2(&m->m_lock, id, mtx_defer); if (mtx_defer == NULL && defered) { @@ -676,54 +795,85 @@ mutex_unlock_common(struct pthread_mutex *m, int cv, int *mtx_defer) int _pthread_mutex_getprioceiling(pthread_mutex_t *mutex, - int *prioceiling) + int *prioceiling) { struct pthread_mutex *m; - int ret; - m = *mutex; - if ((m <= THR_MUTEX_DESTROYED) || - (m->m_lock.m_flags & UMUTEX_PRIO_PROTECT) == 0) - ret = EINVAL; - else { - *prioceiling = m->m_lock.m_ceilings[0]; - ret = 0; + if (*mutex == THR_PSHARED_PTR) { + m = __thr_pshared_offpage(mutex, 0); + if (m == NULL) + return (EINVAL); + } else { + m = *mutex; + if (m <= THR_MUTEX_DESTROYED) + return (EINVAL); } - - return (ret); + if ((m->m_lock.m_flags & UMUTEX_PRIO_PROTECT) == 0) + return (EINVAL); + *prioceiling = m->m_lock.m_ceilings[0]; + return (0); } int _pthread_mutex_setprioceiling(pthread_mutex_t *mutex, - int ceiling, int *old_ceiling) + int ceiling, int *old_ceiling) { - struct pthread *curthread = _get_curthread(); + struct pthread *curthread; struct pthread_mutex *m, *m1, *m2; + struct mutex_queue *q, *qp; int ret; - m = *mutex; - if ((m <= THR_MUTEX_DESTROYED) || - (m->m_lock.m_flags & UMUTEX_PRIO_PROTECT) == 0) + if (*mutex == THR_PSHARED_PTR) { + m = __thr_pshared_offpage(mutex, 0); + if (m == NULL) + return (EINVAL); + } else { + m = *mutex; + if (m <= THR_MUTEX_DESTROYED) + return (EINVAL); + } + if ((m->m_lock.m_flags & UMUTEX_PRIO_PROTECT) == 0) return (EINVAL); ret = __thr_umutex_set_ceiling(&m->m_lock, ceiling, old_ceiling); if (ret != 0) return (ret); - if (m->m_owner == curthread) { - MUTEX_ASSERT_IS_OWNED(m); + curthread = _get_curthread(); + if (m->m_owner == TID(curthread)) { + mutex_assert_is_owned(m); m1 = TAILQ_PREV(m, mutex_queue, m_qe); m2 = TAILQ_NEXT(m, m_qe); if ((m1 != NULL && m1->m_lock.m_ceilings[0] > (u_int)ceiling) || (m2 != NULL && m2->m_lock.m_ceilings[0] < (u_int)ceiling)) { - TAILQ_REMOVE(&curthread->pp_mutexq, m, m_qe); - TAILQ_FOREACH(m2, &curthread->pp_mutexq, m_qe) { + q = &curthread->mq[TMQ_NORM_PP]; + qp = &curthread->mq[TMQ_NORM_PP_PRIV]; + TAILQ_REMOVE(q, m, m_qe); + if (!is_pshared_mutex(m)) + TAILQ_REMOVE(qp, m, m_pqe); + TAILQ_FOREACH(m2, q, m_qe) { if (m2->m_lock.m_ceilings[0] > (u_int)ceiling) { TAILQ_INSERT_BEFORE(m2, m, m_qe); + if (!is_pshared_mutex(m)) { + while (m2 != NULL && + is_pshared_mutex(m2)) { + m2 = TAILQ_PREV(m2, + mutex_queue, m_qe); + } + if (m2 == NULL) { + TAILQ_INSERT_HEAD(qp, + m, m_pqe); + } else { + TAILQ_INSERT_BEFORE(m2, + m, m_pqe); + } + } return (0); } } - TAILQ_INSERT_TAIL(&curthread->pp_mutexq, m, m_qe); + TAILQ_INSERT_TAIL(q, m, m_qe); + if (!is_pshared_mutex(m)) + TAILQ_INSERT_TAIL(qp, m, m_pqe); } } return (0); @@ -732,44 +882,48 @@ _pthread_mutex_setprioceiling(pthread_mutex_t *mutex, int _pthread_mutex_getspinloops_np(pthread_mutex_t *mutex, int *count) { - struct pthread_mutex *m; - - CHECK_AND_INIT_MUTEX + struct pthread_mutex *m; + int ret; - *count = m->m_spinloops; - return (0); + ret = check_and_init_mutex(mutex, &m); + if (ret == 0) + *count = m->m_spinloops; + return (ret); } int __pthread_mutex_setspinloops_np(pthread_mutex_t *mutex, int count) { - struct pthread_mutex *m; - - CHECK_AND_INIT_MUTEX + struct pthread_mutex *m; + int ret; - m->m_spinloops = count; - return (0); + ret = check_and_init_mutex(mutex, &m); + if (ret == 0) + m->m_spinloops = count; + return (ret); } int _pthread_mutex_getyieldloops_np(pthread_mutex_t *mutex, int *count) { - struct pthread_mutex *m; - - CHECK_AND_INIT_MUTEX + struct pthread_mutex *m; + int ret; - *count = m->m_yieldloops; - return (0); + ret = check_and_init_mutex(mutex, &m); + if (ret == 0) + *count = m->m_yieldloops; + return (ret); } int __pthread_mutex_setyieldloops_np(pthread_mutex_t *mutex, int count) { - struct pthread_mutex *m; - - CHECK_AND_INIT_MUTEX + struct pthread_mutex *m; + int ret; - m->m_yieldloops = count; + ret = check_and_init_mutex(mutex, &m); + if (ret == 0) + m->m_yieldloops = count; return (0); } @@ -778,10 +932,16 @@ _pthread_mutex_isowned_np(pthread_mutex_t *mutex) { struct pthread_mutex *m; - m = *mutex; - if (m <= THR_MUTEX_DESTROYED) - return (0); - return (m->m_owner == _get_curthread()); + if (*mutex == THR_PSHARED_PTR) { + m = __thr_pshared_offpage(mutex, 0); + if (m == NULL) + return (0); + } else { + m = *mutex; + if (m <= THR_MUTEX_DESTROYED) + return (0); + } + return (m->m_owner == TID(_get_curthread())); } int @@ -792,7 +952,7 @@ _mutex_owned(struct pthread *curthread, const struct pthread_mutex *mp) return (EINVAL); return (EPERM); } - if (mp->m_owner != curthread) + if (mp->m_owner != TID(curthread)) return (EPERM); return (0); } diff --git a/lib/libthr/thread/thr_mutexattr.c b/lib/libthr/thread/thr_mutexattr.c index 7c48ed22..fa349cf 100644 --- a/lib/libthr/thread/thr_mutexattr.c +++ b/lib/libthr/thread/thr_mutexattr.c @@ -176,8 +176,7 @@ _pthread_mutexattr_getpshared(const pthread_mutexattr_t *attr, if (attr == NULL || *attr == NULL) return (EINVAL); - - *pshared = PTHREAD_PROCESS_PRIVATE; + *pshared = (*attr)->m_pshared; return (0); } @@ -185,13 +184,11 @@ int _pthread_mutexattr_setpshared(pthread_mutexattr_t *attr, int pshared) { - if (attr == NULL || *attr == NULL) + if (attr == NULL || *attr == NULL || + (pshared != PTHREAD_PROCESS_PRIVATE && + pshared != PTHREAD_PROCESS_SHARED)) return (EINVAL); - - /* Only PTHREAD_PROCESS_PRIVATE is supported. */ - if (pshared != PTHREAD_PROCESS_PRIVATE) - return (EINVAL); - + (*attr)->m_pshared = pshared; return (0); } diff --git a/lib/libthr/thread/thr_private.h b/lib/libthr/thread/thr_private.h index 6020e07..31f8e6c 100644 --- a/lib/libthr/thread/thr_private.h +++ b/lib/libthr/thread/thr_private.h @@ -126,6 +126,10 @@ TAILQ_HEAD(mutex_queue, pthread_mutex); } \ } while (0) +/* Magic cookie set for shared pthread locks and cv's pointers */ +#define THR_PSHARED_PTR \ + ((void *)(uintptr_t)((1ULL << (NBBY * sizeof(long) - 1)) | 1)) + /* XXX These values should be same as those defined in pthread.h */ #define THR_MUTEX_INITIALIZER ((struct pthread_mutex *)NULL) #define THR_ADAPTIVE_MUTEX_INITIALIZER ((struct pthread_mutex *)1) @@ -148,20 +152,24 @@ struct pthread_mutex { */ struct umutex m_lock; int m_flags; - struct pthread *m_owner; + uint32_t m_owner; int m_count; int m_spinloops; int m_yieldloops; /* - * Link for all mutexes a thread currently owns. + * Link for all mutexes a thread currently owns, of the same + * prio type. */ TAILQ_ENTRY(pthread_mutex) m_qe; + /* Link for all private mutexes a thread currently owns. */ + TAILQ_ENTRY(pthread_mutex) m_pqe; }; struct pthread_mutex_attr { enum pthread_mutextype m_type; int m_protocol; int m_ceiling; + int m_pshared; }; #define PTHREAD_MUTEXATTR_STATIC_INITIALIZER \ @@ -313,7 +321,7 @@ struct pthread_rwlockattr { struct pthread_rwlock { struct urwlock lock; - struct pthread *owner; + uint32_t owner; }; /* @@ -467,11 +475,16 @@ struct pthread { #define TLFLAGS_IN_TDLIST 0x0002 /* thread in all thread list */ #define TLFLAGS_IN_GCLIST 0x0004 /* thread in gc list */ - /* Queue of currently owned NORMAL or PRIO_INHERIT type mutexes. */ - struct mutex_queue mutexq; - - /* Queue of all owned PRIO_PROTECT mutexes. */ - struct mutex_queue pp_mutexq; + /* + * Queues of the owned mutexes. Private queue must have index + * + 1 of the corresponding full queue. + */ +#define TMQ_NORM 0 /* NORMAL or PRIO_INHERIT normal */ +#define TMQ_NORM_PRIV 1 /* NORMAL or PRIO_INHERIT normal priv */ +#define TMQ_NORM_PP 2 /* PRIO_PROTECT normal mutexes */ +#define TMQ_NORM_PP_PRIV 3 /* PRIO_PROTECT normal priv */ +#define TMQ_NITEMS 4 + struct mutex_queue mq[TMQ_NITEMS]; void *ret; struct pthread_specific_elem *specific; @@ -936,6 +949,10 @@ void __thr_spinlock(struct _spinlock *lck); struct tcb *_tcb_ctor(struct pthread *, int); void _tcb_dtor(struct tcb *); +void __thr_pshared_init(void) __hidden; +void *__thr_pshared_offpage(void *key, int doalloc) __hidden; +void __thr_pshared_destroy(void *key) __hidden; + __END_DECLS #endif /* !_THR_PRIVATE_H */ diff --git a/lib/libthr/thread/thr_pshared.c b/lib/libthr/thread/thr_pshared.c new file mode 100644 index 0000000..d40346d --- /dev/null +++ b/lib/libthr/thread/thr_pshared.c @@ -0,0 +1,223 @@ +/*- + * Copyright (c) 2015 The FreeBSD Foundation + * + * This software was developed by Konstantin Belousov + * under sponsorship from the FreeBSD Foundation. + * + * 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 "namespace.h" +#include +#include "un-namespace.h" + +#include "thr_private.h" + +struct psh { + LIST_ENTRY(psh) link; + void *key; + void *val; +}; + +LIST_HEAD(pshared_hash_head, psh); +#define HASH_SIZE 128 +static struct pshared_hash_head pshared_hash[HASH_SIZE]; +#define PSHARED_KEY_HASH(key) (((unsigned long)(key) >> 8) % HASH_SIZE) +/* XXXKIB: lock could be split to per-hash chain, if appears contested */ +static struct urwlock pshared_lock = DEFAULT_URWLOCK; + +void +__thr_pshared_init(void) +{ + int i; + + _thr_urwlock_init(&pshared_lock); + for (i = 0; i < HASH_SIZE; i++) + LIST_INIT(&pshared_hash[i]); +} + +static void +pshared_rlock(struct pthread *curthread) +{ + + curthread->locklevel++; + _thr_rwl_rdlock(&pshared_lock); +} + +static void +pshared_wlock(struct pthread *curthread) +{ + + curthread->locklevel++; + _thr_rwl_wrlock(&pshared_lock); +} + +static void +pshared_unlock(struct pthread *curthread) +{ + + _thr_rwl_unlock(&pshared_lock); + curthread->locklevel--; + _thr_ast(curthread); +} + +static void +pshared_gc(struct pthread *curthread) +{ + struct pshared_hash_head *hd; + struct psh *h, *h1; + int error, i; + + pshared_wlock(curthread); + for (i = 0; i < HASH_SIZE; i++) { + hd = &pshared_hash[i]; + LIST_FOREACH_SAFE(h, hd, link, h1) { + error = _umtx_op(NULL, UMTX_OP_SHM, UMTX_SHM_ALIVE, + h->val, NULL); + if (error == 0) + continue; + LIST_REMOVE(h, link); + munmap(h->val, PAGE_SIZE); + free(h); + } + } + pshared_unlock(curthread); +} + +static void * +pshared_lookup(void *key) +{ + struct pshared_hash_head *hd; + struct psh *h; + + hd = &pshared_hash[PSHARED_KEY_HASH(key)]; + LIST_FOREACH(h, hd, link) { + if (h->key == key) + return (h->val); + } + return (NULL); +} + +static int +pshared_insert(void *key, void **val) +{ + struct pshared_hash_head *hd; + struct psh *h; + + hd = &pshared_hash[PSHARED_KEY_HASH(key)]; + LIST_FOREACH(h, hd, link) { + if (h->key == key) { + if (h->val != *val) { + munmap(*val, PAGE_SIZE); + *val = h->val; + } + return (1); + } + } + + h = malloc(sizeof(*h)); + if (h == NULL) + return (0); + h->key = key; + h->val = *val; + LIST_INSERT_HEAD(hd, h, link); + return (1); +} + +static void * +pshared_remove(void *key) +{ + struct pshared_hash_head *hd; + struct psh *h; + void *val; + + hd = &pshared_hash[PSHARED_KEY_HASH(key)]; + LIST_FOREACH(h, hd, link) { + if (h->key == key) { + LIST_REMOVE(h, link); + val = h->val; + free(h); + return (val); + } + } + return (NULL); +} + +static void +pshared_clean(void *key, void *val) +{ + + if (val != NULL) + munmap(val, PAGE_SIZE); + _umtx_op(NULL, UMTX_OP_SHM, UMTX_SHM_DESTROY, key, NULL); +} + +void * +__thr_pshared_offpage(void *key, int doalloc) +{ + struct pthread *curthread; + void *res; + int fd, ins_done; + + curthread = _get_curthread(); + pshared_rlock(curthread); + res = pshared_lookup(key); + pshared_unlock(curthread); + if (res != NULL) + return (res); + fd = _umtx_op(NULL, UMTX_OP_SHM, doalloc ? UMTX_SHM_CREAT : + UMTX_SHM_LOOKUP, key, NULL); + if (fd == -1) + return (NULL); + res = mmap(NULL, PAGE_SIZE, PROT_READ | PROT_WRITE, MAP_SHARED, fd, 0); + close(fd); + if (res == MAP_FAILED) + return (NULL); + pshared_wlock(curthread); + ins_done = pshared_insert(key, &res); + pshared_unlock(curthread); + if (!ins_done) { + pshared_clean(key, res); + res = NULL; + } + return (res); +} + +void +__thr_pshared_destroy(void *key) +{ + struct pthread *curthread; + void *val; + + curthread = _get_curthread(); + pshared_wlock(curthread); + val = pshared_remove(key); + pshared_unlock(curthread); + pshared_clean(key, val); + pshared_gc(curthread); +} diff --git a/lib/libthr/thread/thr_rwlock.c b/lib/libthr/thread/thr_rwlock.c index 397663e..aadd0e9 100644 --- a/lib/libthr/thread/thr_rwlock.c +++ b/lib/libthr/thread/thr_rwlock.c @@ -46,7 +46,12 @@ __weak_reference(_pthread_rwlock_wrlock, pthread_rwlock_wrlock); __weak_reference(_pthread_rwlock_timedwrlock, pthread_rwlock_timedwrlock); #define CHECK_AND_INIT_RWLOCK \ - if (__predict_false((prwlock = (*rwlock)) <= THR_RWLOCK_DESTROYED)) { \ + if (*rwlock == THR_PSHARED_PTR) { \ + prwlock = __thr_pshared_offpage(rwlock, 0); \ + if (prwlock == NULL) \ + return (EINVAL); \ + } else if (__predict_false((prwlock = (*rwlock)) <= \ + THR_RWLOCK_DESTROYED)) { \ if (prwlock == THR_RWLOCK_INITIALIZER) { \ int ret; \ ret = init_static(_get_curthread(), rwlock); \ @@ -63,14 +68,23 @@ __weak_reference(_pthread_rwlock_timedwrlock, pthread_rwlock_timedwrlock); */ static int -rwlock_init(pthread_rwlock_t *rwlock, const pthread_rwlockattr_t *attr __unused) +rwlock_init(pthread_rwlock_t *rwlock, const pthread_rwlockattr_t *attr) { pthread_rwlock_t prwlock; - prwlock = (pthread_rwlock_t)calloc(1, sizeof(struct pthread_rwlock)); - if (prwlock == NULL) - return (ENOMEM); - *rwlock = prwlock; + if (attr == NULL || *attr == NULL || + (*attr)->pshared == PTHREAD_PROCESS_PRIVATE) { + prwlock = calloc(1, sizeof(struct pthread_rwlock)); + if (prwlock == NULL) + return (ENOMEM); + *rwlock = prwlock; + } else { + prwlock = __thr_pshared_offpage(rwlock, 1); + if (prwlock == NULL) + return (EFAULT); + prwlock->lock.rw_flags |= USYNC_PROCESS_SHARED; + *rwlock = THR_PSHARED_PTR; + } return (0); } @@ -85,9 +99,12 @@ _pthread_rwlock_destroy (pthread_rwlock_t *rwlock) ret = 0; else if (prwlock == THR_RWLOCK_DESTROYED) ret = EINVAL; - else { + else if (prwlock == THR_PSHARED_PTR) { + *rwlock = THR_RWLOCK_DESTROYED; + __thr_pshared_destroy(rwlock); + ret = 0; + } else { *rwlock = THR_RWLOCK_DESTROYED; - free(prwlock); ret = 0; } @@ -112,8 +129,9 @@ init_static(struct pthread *thread, pthread_rwlock_t *rwlock) } int -_pthread_rwlock_init (pthread_rwlock_t *rwlock, const pthread_rwlockattr_t *attr) +_pthread_rwlock_init(pthread_rwlock_t *rwlock, const pthread_rwlockattr_t *attr) { + *rwlock = NULL; return (rwlock_init(rwlock, attr)); } @@ -235,7 +253,7 @@ _pthread_rwlock_trywrlock (pthread_rwlock_t *rwlock) ret = _thr_rwlock_trywrlock(&prwlock->lock); if (ret == 0) - prwlock->owner = curthread; + prwlock->owner = TID(curthread); return (ret); } @@ -254,19 +272,19 @@ rwlock_wrlock_common (pthread_rwlock_t *rwlock, const struct timespec *abstime) */ ret = _thr_rwlock_trywrlock(&prwlock->lock); if (ret == 0) { - prwlock->owner = curthread; + prwlock->owner = TID(curthread); return (ret); } if (__predict_false(abstime && - (abstime->tv_nsec >= 1000000000 || abstime->tv_nsec < 0))) + (abstime->tv_nsec >= 1000000000 || abstime->tv_nsec < 0))) return (EINVAL); for (;;) { /* goto kernel and lock it */ ret = __thr_rwlock_wrlock(&prwlock->lock, abstime); if (ret == 0) { - prwlock->owner = curthread; + prwlock->owner = TID(curthread); break; } @@ -276,7 +294,7 @@ rwlock_wrlock_common (pthread_rwlock_t *rwlock, const struct timespec *abstime) /* if interrupted, try to lock it in userland again. */ if (_thr_rwlock_trywrlock(&prwlock->lock) == 0) { ret = 0; - prwlock->owner = curthread; + prwlock->owner = TID(curthread); break; } } @@ -297,23 +315,29 @@ _pthread_rwlock_timedwrlock (pthread_rwlock_t *rwlock, } int -_pthread_rwlock_unlock (pthread_rwlock_t *rwlock) +_pthread_rwlock_unlock(pthread_rwlock_t *rwlock) { struct pthread *curthread = _get_curthread(); pthread_rwlock_t prwlock; int ret; int32_t state; - prwlock = *rwlock; + if (*rwlock == THR_PSHARED_PTR) { + prwlock = __thr_pshared_offpage(rwlock, 0); + if (prwlock == NULL) + return (EINVAL); + } else { + prwlock = *rwlock; + } if (__predict_false(prwlock <= THR_RWLOCK_DESTROYED)) return (EINVAL); state = prwlock->lock.rw_state; if (state & URWLOCK_WRITE_OWNER) { - if (__predict_false(prwlock->owner != curthread)) + if (__predict_false(prwlock->owner != TID(curthread))) return (EPERM); - prwlock->owner = NULL; + prwlock->owner = 0; } ret = _thr_rwlock_unlock(&prwlock->lock); diff --git a/lib/libthr/thread/thr_rwlockattr.c b/lib/libthr/thread/thr_rwlockattr.c index 73ccdc9..b9e442e 100644 --- a/lib/libthr/thread/thr_rwlockattr.c +++ b/lib/libthr/thread/thr_rwlockattr.c @@ -45,25 +45,21 @@ _pthread_rwlockattr_destroy(pthread_rwlockattr_t *rwlockattr) pthread_rwlockattr_t prwlockattr; if (rwlockattr == NULL) - return(EINVAL); - + return (EINVAL); prwlockattr = *rwlockattr; - if (prwlockattr == NULL) - return(EINVAL); - + return (EINVAL); free(prwlockattr); - - return(0); + return (0); } int _pthread_rwlockattr_getpshared(const pthread_rwlockattr_t *rwlockattr, - int *pshared) + int *pshared) { - *pshared = (*rwlockattr)->pshared; - return(0); + *pshared = (*rwlockattr)->pshared; + return (0); } int @@ -72,28 +68,24 @@ _pthread_rwlockattr_init(pthread_rwlockattr_t *rwlockattr) pthread_rwlockattr_t prwlockattr; if (rwlockattr == NULL) - return(EINVAL); - - prwlockattr = (pthread_rwlockattr_t) - malloc(sizeof(struct pthread_rwlockattr)); + return (EINVAL); + prwlockattr = malloc(sizeof(struct pthread_rwlockattr)); if (prwlockattr == NULL) - return(ENOMEM); + return (ENOMEM); - prwlockattr->pshared = PTHREAD_PROCESS_PRIVATE; - *rwlockattr = prwlockattr; - - return(0); + prwlockattr->pshared = PTHREAD_PROCESS_PRIVATE; + *rwlockattr = prwlockattr; + return (0); } int _pthread_rwlockattr_setpshared(pthread_rwlockattr_t *rwlockattr, int pshared) { - /* Only PTHREAD_PROCESS_PRIVATE is supported. */ - if (pshared != PTHREAD_PROCESS_PRIVATE) - return(EINVAL); + if (pshared != PTHREAD_PROCESS_PRIVATE && + pshared != PTHREAD_PROCESS_SHARED) + return (EINVAL); (*rwlockattr)->pshared = pshared; - - return(0); + return (0); } -- cgit v1.1 From e28ddc5231156d3896be4960ce5ac4a6281bcb35 Mon Sep 17 00:00:00 2001 From: pfg Date: Mon, 29 Feb 2016 00:15:25 +0000 Subject: MFV r296159 Sync our libedit with NetBSD's libedit 2016-02-27. Obtained from: NetBSD --- lib/libedit/Makefile | 5 +- lib/libedit/TEST/tc1.c | 16 ++--- lib/libedit/TEST/wtc1.c | 9 ++- lib/libedit/chared.c | 42 +++++++----- lib/libedit/chared.h | 29 +++----- lib/libedit/chartype.c | 35 ++++++++-- lib/libedit/chartype.h | 23 +++---- lib/libedit/common.c | 115 ++++++++++++++++--------------- lib/libedit/config.h | 10 +-- lib/libedit/edit/readline/readline.h | 14 ++-- lib/libedit/editline.3 | 64 ++++++++++++++---- lib/libedit/el.c | 33 +++++---- lib/libedit/el.h | 16 ++--- lib/libedit/eln.c | 53 +++++++-------- lib/libedit/emacs.c | 49 +++++++------- lib/libedit/filecomplete.c | 25 +++---- lib/libedit/hist.c | 6 +- lib/libedit/hist.h | 6 +- lib/libedit/histedit.h | 17 +---- lib/libedit/history.c | 41 ++++++----- lib/libedit/keymacro.c | 26 +++---- lib/libedit/makelist | 12 ++-- lib/libedit/map.c | 33 +++++---- lib/libedit/parse.c | 17 +++-- lib/libedit/prompt.c | 4 +- lib/libedit/prompt.h | 6 +- lib/libedit/read.c | 118 ++++++++++++++++---------------- lib/libedit/read.h | 6 +- lib/libedit/readline.c | 63 +++++++++-------- lib/libedit/refresh.c | 33 +++++---- lib/libedit/refresh.h | 6 +- lib/libedit/search.c | 34 +++++----- lib/libedit/search.h | 8 +-- lib/libedit/sig.c | 13 ++-- lib/libedit/sig.h | 4 +- lib/libedit/sys.h | 24 +++---- lib/libedit/terminal.c | 78 ++++++++++++--------- lib/libedit/terminal.h | 8 +-- lib/libedit/tokenizer.c | 11 +-- lib/libedit/tty.c | 33 +++++---- lib/libedit/tty.h | 7 +- lib/libedit/vi.c | 127 ++++++++++++++++++----------------- 42 files changed, 684 insertions(+), 595 deletions(-) (limited to 'lib') diff --git a/lib/libedit/Makefile b/lib/libedit/Makefile index 8a97ce0..4a20143 100644 --- a/lib/libedit/Makefile +++ b/lib/libedit/Makefile @@ -1,4 +1,4 @@ -# $NetBSD: Makefile,v 1.37 2009/01/18 12:17:49 lukem Exp $ +# $NetBSD: Makefile,v 1.55 2016/02/24 14:25:38 christos Exp $ # @(#)Makefile 8.1 (Berkeley) 6/4/93 # $FreeBSD$ @@ -6,7 +6,7 @@ LIB= edit SHLIB_MAJOR= 7 SHLIBDIR?= /lib -OSRCS= chared.c common.c el.c emacs.c fcns.c filecomplete.c help.c \ +OSRCS= chared.c common.c el.c eln.c emacs.c fcns.c filecomplete.c help.c \ hist.c keymacro.c map.c chartype.c \ parse.c prompt.c read.c refresh.c search.c sig.c terminal.c tty.c vi.c @@ -34,7 +34,6 @@ CLEANFILES+= common.h editline.c emacs.h fcns.c fcns.h help.c help.h vi.h INCS= histedit.h -OSRCS+= eln.c SRCS+= tokenizern.c historyn.c CLEANFILES+= tokenizern.c historyn.c CFLAGS+= -I. -I${.CURDIR} -I${.CURDIR}/edit -DWIDECHAR diff --git a/lib/libedit/TEST/tc1.c b/lib/libedit/TEST/tc1.c index 1969973..1dca813 100644 --- a/lib/libedit/TEST/tc1.c +++ b/lib/libedit/TEST/tc1.c @@ -1,4 +1,4 @@ -/* $NetBSD: tc1.c,v 1.6 2014/06/18 20:12:15 christos Exp $ */ +/* $NetBSD: tc1.c,v 1.7 2016/02/17 19:47:49 christos Exp $ */ /*- * Copyright (c) 1992, 1993 @@ -42,7 +42,7 @@ __COPYRIGHT("@(#) Copyright (c) 1992, 1993\n\ #if 0 static char sccsid[] = "@(#)test.c 8.1 (Berkeley) 6/4/93"; #else -__RCSID("$NetBSD: tc1.c,v 1.6 2014/06/18 20:12:15 christos Exp $"); +__RCSID("$NetBSD: tc1.c,v 1.7 2016/02/17 19:47:49 christos Exp $"); #endif #endif /* not lint && not SCCSID */ __FBSDID("$FreeBSD$"); @@ -50,15 +50,15 @@ __FBSDID("$FreeBSD$"); /* * test.c: A little test program */ -#include -#include -#include #include #include -#include -#include #include #include +#include +#include +#include +#include +#include #include "histedit.h" @@ -158,7 +158,7 @@ main(int argc, char *argv[]) /* Add a user-defined function */ el_set(el, EL_ADDFN, "ed-complete", "Complete argument", complete); - /* Bind tab to it */ + /* Bind tab to it */ el_set(el, EL_BIND, "^I", "ed-complete", NULL); /* diff --git a/lib/libedit/TEST/wtc1.c b/lib/libedit/TEST/wtc1.c index ec5574b..c4a2376 100644 --- a/lib/libedit/TEST/wtc1.c +++ b/lib/libedit/TEST/wtc1.c @@ -5,13 +5,16 @@ __FBSDID("$FreeBSD$"); #include #include #include -#include #include -#include -#include #include +#include #include #include +#include +#include +#include +#include +#include #include "../histedit.h" diff --git a/lib/libedit/chared.c b/lib/libedit/chared.c index 2b57051..9ec618e 100644 --- a/lib/libedit/chared.c +++ b/lib/libedit/chared.c @@ -1,4 +1,4 @@ -/* $NetBSD: chared.c,v 1.40 2014/06/18 18:12:28 christos Exp $ */ +/* $NetBSD: chared.c,v 1.49 2016/02/24 14:29:21 christos Exp $ */ /*- * Copyright (c) 1992, 1993 @@ -37,7 +37,7 @@ #if 0 static char sccsid[] = "@(#)chared.c 8.1 (Berkeley) 6/4/93"; #else -__RCSID("$NetBSD: chared.c,v 1.40 2014/06/18 18:12:28 christos Exp $"); +__RCSID("$NetBSD: chared.c,v 1.49 2016/02/24 14:29:21 christos Exp $"); #endif #endif /* not lint && not SCCSID */ #include @@ -46,8 +46,12 @@ __FBSDID("$FreeBSD$"); /* * chared.c: Character editor utilities */ +#include #include +#include + #include "el.h" +#include "common.h" private void ch__clearmacro (EditLine *); @@ -201,7 +205,7 @@ c_delbefore1(EditLine *el) * Return if p is part of a word according to emacs */ protected int -ce__isword(Int p) +ce__isword(wint_t p) { return Isalnum(p) || Strchr(STR("*?_-.[]~="), p) != NULL; } @@ -211,7 +215,7 @@ ce__isword(Int p) * Return if p is part of a word according to vi */ protected int -cv__isword(Int p) +cv__isword(wint_t p) { if (Isalnum(p) || p == '_') return 1; @@ -225,7 +229,7 @@ cv__isword(Int p) * Return if p is part of a big word according to vi */ protected int -cv__isWord(Int p) +cv__isWord(wint_t p) { return !Isspace(p); } @@ -235,7 +239,7 @@ cv__isWord(Int p) * Find the previous word */ protected Char * -c__prev_word(Char *p, Char *low, int n, int (*wtest)(Int)) +c__prev_word(Char *p, Char *low, int n, int (*wtest)(wint_t)) { p--; @@ -259,7 +263,7 @@ c__prev_word(Char *p, Char *low, int n, int (*wtest)(Int)) * Find the next word */ protected Char * -c__next_word(Char *p, Char *high, int n, int (*wtest)(Int)) +c__next_word(Char *p, Char *high, int n, int (*wtest)(wint_t)) { while (n--) { while ((p < high) && !(*wtest)(*p)) @@ -277,7 +281,7 @@ c__next_word(Char *p, Char *high, int n, int (*wtest)(Int)) * Find the next word vi style */ protected Char * -cv_next_word(EditLine *el, Char *p, Char *high, int n, int (*wtest)(Int)) +cv_next_word(EditLine *el, Char *p, Char *high, int n, int (*wtest)(wint_t)) { int test; @@ -306,7 +310,7 @@ cv_next_word(EditLine *el, Char *p, Char *high, int n, int (*wtest)(Int)) * Find the previous word vi style */ protected Char * -cv_prev_word(Char *p, Char *low, int n, int (*wtest)(Int)) +cv_prev_word(Char *p, Char *low, int n, int (*wtest)(wint_t)) { int test; @@ -370,7 +374,7 @@ cv_delfini(EditLine *el) * Go to the end of this word according to vi */ protected Char * -cv__endword(Char *p, Char *high, int n, int (*wtest)(Int)) +cv__endword(Char *p, Char *high, int n, int (*wtest)(wint_t)) { int test; @@ -524,7 +528,7 @@ ch_enlargebufs(EditLine *el, size_t addlen) /* zero the newly added memory, leave old data in */ (void) memset(&newbuffer[sz], 0, (newsz - sz) * sizeof(*newbuffer)); - + oldbuf = el->el_line.buffer; el->el_line.buffer = newbuffer; @@ -573,7 +577,7 @@ ch_enlargebufs(EditLine *el, size_t addlen) el->el_chared.c_redo.lim = newbuffer + (el->el_chared.c_redo.lim - el->el_chared.c_redo.buf); el->el_chared.c_redo.buf = newbuffer; - + if (!hist_enlargebuf(el, sz, newsz)) return 0; @@ -673,9 +677,9 @@ out: protected int c_gets(EditLine *el, Char *buf, const Char *prompt) { - Char ch; + wchar_t wch; ssize_t len; - Char *cp = el->el_line.buffer; + Char *cp = el->el_line.buffer, ch; if (prompt) { len = (ssize_t)Strlen(prompt); @@ -690,26 +694,28 @@ c_gets(EditLine *el, Char *buf, const Char *prompt) el->el_line.lastchar = cp + 1; re_refresh(el); - if (FUN(el,getc)(el, &ch) != 1) { + if (el_wgetc(el, &wch) != 1) { ed_end_of_file(el, 0); len = -1; break; } + ch = (Char)wch; switch (ch) { - case 0010: /* Delete and backspace */ + case L'\b': /* Delete and backspace */ case 0177: if (len == 0) { len = -1; break; } + len--; cp--; continue; case 0033: /* ESC */ - case '\r': /* Newline */ - case '\n': + case L'\r': /* Newline */ + case L'\n': buf[len] = ch; break; diff --git a/lib/libedit/chared.h b/lib/libedit/chared.h index 909adac..458e671 100644 --- a/lib/libedit/chared.h +++ b/lib/libedit/chared.h @@ -1,4 +1,4 @@ -/* $NetBSD: chared.h,v 1.22 2014/06/18 18:12:28 christos Exp $ */ +/* $NetBSD: chared.h,v 1.27 2016/02/16 22:53:14 christos Exp $ */ /*- * Copyright (c) 1992, 1993 @@ -41,11 +41,6 @@ #ifndef _h_el_chared #define _h_el_chared -#include -#include - -#include "histedit.h" - #define EL_MAXMACRO 10 /* @@ -140,24 +135,18 @@ typedef struct el_chared_t { #define MODE_REPLACE 1 #define MODE_REPLACE_1 2 -#include "common.h" -#include "vi.h" -#include "emacs.h" -#include "search.h" -#include "fcns.h" - -protected int cv__isword(Int); -protected int cv__isWord(Int); +protected int cv__isword(wint_t); +protected int cv__isWord(wint_t); protected void cv_delfini(EditLine *); -protected Char *cv__endword(Char *, Char *, int, int (*)(Int)); -protected int ce__isword(Int); +protected Char *cv__endword(Char *, Char *, int, int (*)(wint_t)); +protected int ce__isword(wint_t); protected void cv_undo(EditLine *); protected void cv_yank(EditLine *, const Char *, int); -protected Char *cv_next_word(EditLine*, Char *, Char *, int, int (*)(Int)); -protected Char *cv_prev_word(Char *, Char *, int, int (*)(Int)); -protected Char *c__next_word(Char *, Char *, int, int (*)(Int)); -protected Char *c__prev_word(Char *, Char *, int, int (*)(Int)); +protected Char *cv_next_word(EditLine*, Char *, Char *, int, int (*)(wint_t)); +protected Char *cv_prev_word(Char *, Char *, int, int (*)(wint_t)); +protected Char *c__next_word(Char *, Char *, int, int (*)(wint_t)); +protected Char *c__prev_word(Char *, Char *, int, int (*)(wint_t)); protected void c_insert(EditLine *, int); protected void c_delbefore(EditLine *, int); protected void c_delbefore1(EditLine *); diff --git a/lib/libedit/chartype.c b/lib/libedit/chartype.c index c240c8c..9cb54ac 100644 --- a/lib/libedit/chartype.c +++ b/lib/libedit/chartype.c @@ -1,4 +1,4 @@ -/* $NetBSD: chartype.c,v 1.12 2015/02/22 02:16:19 christos Exp $ */ +/* $NetBSD: chartype.c,v 1.23 2016/02/28 23:02:24 christos Exp $ */ /*- * Copyright (c) 2009 The NetBSD Foundation, Inc. @@ -31,13 +31,16 @@ */ #include "config.h" #if !defined(lint) && !defined(SCCSID) -__RCSID("$NetBSD: chartype.c,v 1.12 2015/02/22 02:16:19 christos Exp $"); +__RCSID("$NetBSD: chartype.c,v 1.23 2016/02/28 23:02:24 christos Exp $"); #endif /* not lint && not SCCSID */ #include __FBSDID("$FreeBSD$"); -#include "el.h" +#include #include +#include + +#include "el.h" #define CT_BUFSIZ ((size_t)1024) @@ -68,7 +71,7 @@ ct_conv_wbuff_resize(ct_buffer_t *conv, size_t wsize) { void *p; - if (wsize <= conv->wsize) + if (wsize <= conv->wsize) return 0; conv->wsize = wsize; @@ -206,6 +209,28 @@ ct_encode_char(char *dst, size_t len, Char c) } return l; } + +size_t +ct_mbrtowc(wchar_t *wc, const char *s, size_t n) +{ + mbstate_t mbs; + /* This only works because UTF-8 is stateless */ + memset(&mbs, 0, sizeof(mbs)); + return mbrtowc(wc, s, n, &mbs); +} + +#else + +size_t +ct_mbrtowc(wchar_t *wc, const char *s, size_t n) + if (s == NULL) + return 0; + if (n == 0) + return (size_t)-2; + if (wc != NULL) + *wc = *s; + return *s != '\0'; +} #endif protected const Char * @@ -329,7 +354,7 @@ ct_visual_char(Char *dst, size_t len, Char c) return c > 0xffff ? 8 : 7; #else *dst++ = '\\'; -#define tooctaldigit(v) ((v) + '0') +#define tooctaldigit(v) (Char)((v) + '0') *dst++ = tooctaldigit(((unsigned int) c >> 6) & 0x7); *dst++ = tooctaldigit(((unsigned int) c >> 3) & 0x7); *dst++ = tooctaldigit(((unsigned int) c ) & 0x7); diff --git a/lib/libedit/chartype.h b/lib/libedit/chartype.h index 17ca5f3..44ef33a 100644 --- a/lib/libedit/chartype.h +++ b/lib/libedit/chartype.h @@ -1,4 +1,4 @@ -/* $NetBSD: chartype.h,v 1.15 2015/05/17 13:14:41 christos Exp $ */ +/* $NetBSD: chartype.h,v 1.23 2016/02/24 17:20:01 christos Exp $ */ /*- * Copyright (c) 2009 The NetBSD Foundation, Inc. @@ -32,7 +32,6 @@ #define _h_chartype_f - #ifdef WIDECHAR /* Ideally we should also test the value of the define to see if it @@ -55,21 +54,18 @@ #warning Build environment does not support non-BMP characters #endif -#define ct_mbtowc mbtowc -#define ct_mbtowc_reset mbtowc(0,0,(size_t)0) +#define ct_wctob wctob #define ct_wctomb wctomb #define ct_wctomb_reset wctomb(0,0) #define ct_wcstombs wcstombs #define ct_mbstowcs mbstowcs #define Char wchar_t -#define Int wint_t #define FUN(prefix,rest) prefix ## _w ## rest #define FUNW(type) type ## _w #define TYPE(type) type ## W -#define FCHAR "%lc" #define FSTR "%ls" -#define STR(x) L ## x +#define STR(x) L ## x #define UC(c) c #define Isalpha(x) iswalpha(x) #define Isalnum(x) iswalnum(x) @@ -110,21 +106,18 @@ Width(wchar_t c) #else /* NARROW */ -#define ct_mbtowc error -#define ct_mbtowc_reset +#define ct_wctob(w) ((int)(w)) #define ct_wctomb error -#define ct_wctomb_reset +#define ct_wctomb_reset #define ct_wcstombs(a, b, c) (strncpy(a, b, c), strlen(a)) #define ct_mbstowcs(a, b, c) (strncpy(a, b, c), strlen(a)) #define Char char -#define Int int #define FUN(prefix,rest) prefix ## _ ## rest #define FUNW(type) type #define TYPE(type) type -#define FCHAR "%c" #define FSTR "%s" -#define STR(x) x +#define STR(x) x #define UC(c) (unsigned char)(c) #define Isalpha(x) isalpha((unsigned char)x) @@ -213,7 +206,7 @@ protected size_t ct_enc_width(Char); #define VISUAL_WIDTH_MAX ((size_t)8) /* The terminal is thought of in terms of X columns by Y lines. In the cases - * where a wide character takes up more than one column, the adjacent + * where a wide character takes up more than one column, the adjacent * occupied column entries will contain this faux character. */ #define MB_FILL_CHAR ((Char)-1) @@ -245,5 +238,7 @@ protected const Char *ct_visual_string(const Char *); protected int ct_chr_class(Char c); #endif +size_t ct_mbrtowc(wchar_t *, const char *, size_t); + #endif /* _chartype_f */ diff --git a/lib/libedit/common.c b/lib/libedit/common.c index fc09a9b..26e4289 100644 --- a/lib/libedit/common.c +++ b/lib/libedit/common.c @@ -1,4 +1,4 @@ -/* $NetBSD: common.c,v 1.29 2012/03/24 20:08:43 christos Exp $ */ +/* $NetBSD: common.c,v 1.39 2016/02/24 14:25:38 christos Exp $ */ /*- * Copyright (c) 1992, 1993 @@ -37,7 +37,7 @@ #if 0 static char sccsid[] = "@(#)common.c 8.1 (Berkeley) 6/4/93"; #else -__RCSID("$NetBSD: common.c,v 1.29 2012/03/24 20:08:43 christos Exp $"); +__RCSID("$NetBSD: common.c,v 1.39 2016/02/24 14:25:38 christos Exp $"); #endif #endif /* not lint && not SCCSID */ #include @@ -46,7 +46,13 @@ __FBSDID("$FreeBSD$"); /* * common.c: Common Editor functions */ +#include +#include + #include "el.h" +#include "common.h" +#include "parse.h" +#include "vi.h" /* ed_end_of_file(): * Indicate end of file @@ -54,7 +60,7 @@ __FBSDID("$FreeBSD$"); */ protected el_action_t /*ARGSUSED*/ -ed_end_of_file(EditLine *el, Int c __attribute__((__unused__))) +ed_end_of_file(EditLine *el, wint_t c __attribute__((__unused__))) { re_goto_bottom(el); @@ -68,7 +74,7 @@ ed_end_of_file(EditLine *el, Int c __attribute__((__unused__))) * Insert a character [bound to all insert keys] */ protected el_action_t -ed_insert(EditLine *el, Int c) +ed_insert(EditLine *el, wint_t c) { int count = el->el_state.argument; @@ -87,14 +93,14 @@ ed_insert(EditLine *el, Int c) || el->el_line.cursor >= el->el_line.lastchar) c_insert(el, 1); - *el->el_line.cursor++ = c; + *el->el_line.cursor++ = (Char)c; re_fastaddc(el); /* fast refresh for one char. */ } else { if (el->el_state.inputmode != MODE_REPLACE_1) c_insert(el, el->el_state.argument); while (count-- && el->el_line.cursor < el->el_line.lastchar) - *el->el_line.cursor++ = c; + *el->el_line.cursor++ = (Char)c; re_refresh(el); } @@ -111,7 +117,7 @@ ed_insert(EditLine *el, Int c) */ protected el_action_t /*ARGSUSED*/ -ed_delete_prev_word(EditLine *el, Int c __attribute__((__unused__))) +ed_delete_prev_word(EditLine *el, wint_t c __attribute__((__unused__))) { Char *cp, *p, *kp; @@ -139,7 +145,7 @@ ed_delete_prev_word(EditLine *el, Int c __attribute__((__unused__))) */ protected el_action_t /*ARGSUSED*/ -ed_delete_next_char(EditLine *el, Int c __attribute__((__unused__))) +ed_delete_next_char(EditLine *el, wint_t c __attribute__((__unused__))) { #ifdef DEBUG_EDIT #define EL el->el_line @@ -186,7 +192,7 @@ ed_delete_next_char(EditLine *el, Int c __attribute__((__unused__))) */ protected el_action_t /*ARGSUSED*/ -ed_kill_line(EditLine *el, Int c __attribute__((__unused__))) +ed_kill_line(EditLine *el, wint_t c __attribute__((__unused__))) { Char *kp, *cp; @@ -207,7 +213,7 @@ ed_kill_line(EditLine *el, Int c __attribute__((__unused__))) */ protected el_action_t /*ARGSUSED*/ -ed_move_to_end(EditLine *el, Int c __attribute__((__unused__))) +ed_move_to_end(EditLine *el, wint_t c __attribute__((__unused__))) { el->el_line.cursor = el->el_line.lastchar; @@ -230,7 +236,7 @@ ed_move_to_end(EditLine *el, Int c __attribute__((__unused__))) */ protected el_action_t /*ARGSUSED*/ -ed_move_to_beg(EditLine *el, Int c __attribute__((__unused__))) +ed_move_to_beg(EditLine *el, wint_t c __attribute__((__unused__))) { el->el_line.cursor = el->el_line.buffer; @@ -253,7 +259,7 @@ ed_move_to_beg(EditLine *el, Int c __attribute__((__unused__))) * [^T] [^T] */ protected el_action_t -ed_transpose_chars(EditLine *el, Int c) +ed_transpose_chars(EditLine *el, wint_t c) { if (el->el_line.cursor < el->el_line.lastchar) { @@ -266,7 +272,7 @@ ed_transpose_chars(EditLine *el, Int c) /* must have at least two chars entered */ c = el->el_line.cursor[-2]; el->el_line.cursor[-2] = el->el_line.cursor[-1]; - el->el_line.cursor[-1] = c; + el->el_line.cursor[-1] = (Char)c; return CC_REFRESH; } else return CC_ERROR; @@ -279,7 +285,7 @@ ed_transpose_chars(EditLine *el, Int c) */ protected el_action_t /*ARGSUSED*/ -ed_next_char(EditLine *el, Int c __attribute__((__unused__))) +ed_next_char(EditLine *el, wint_t c __attribute__((__unused__))) { Char *lim = el->el_line.lastchar; @@ -308,7 +314,7 @@ ed_next_char(EditLine *el, Int c __attribute__((__unused__))) */ protected el_action_t /*ARGSUSED*/ -ed_prev_word(EditLine *el, Int c __attribute__((__unused__))) +ed_prev_word(EditLine *el, wint_t c __attribute__((__unused__))) { if (el->el_line.cursor == el->el_line.buffer) @@ -334,7 +340,7 @@ ed_prev_word(EditLine *el, Int c __attribute__((__unused__))) */ protected el_action_t /*ARGSUSED*/ -ed_prev_char(EditLine *el, Int c __attribute__((__unused__))) +ed_prev_char(EditLine *el, wint_t c __attribute__((__unused__))) { if (el->el_line.cursor > el->el_line.buffer) { @@ -358,14 +364,12 @@ ed_prev_char(EditLine *el, Int c __attribute__((__unused__))) * [^V] [^V] */ protected el_action_t -ed_quoted_insert(EditLine *el, Int c) +ed_quoted_insert(EditLine *el, wint_t c) { int num; - Char tc; tty_quotemode(el); - num = FUN(el,getc)(el, &tc); - c = tc; + num = el_wgetc(el, &c); tty_noquotemode(el); if (num == 1) return ed_insert(el, c); @@ -378,7 +382,7 @@ ed_quoted_insert(EditLine *el, Int c) * Adds to argument or enters a digit */ protected el_action_t -ed_digit(EditLine *el, Int c) +ed_digit(EditLine *el, wint_t c) { if (!Isdigit(c)) @@ -406,7 +410,7 @@ ed_digit(EditLine *el, Int c) * For ESC-n */ protected el_action_t -ed_argument_digit(EditLine *el, Int c) +ed_argument_digit(EditLine *el, wint_t c) { if (!Isdigit(c)) @@ -432,7 +436,7 @@ ed_argument_digit(EditLine *el, Int c) protected el_action_t /*ARGSUSED*/ ed_unassigned(EditLine *el __attribute__((__unused__)), - Int c __attribute__((__unused__))) + wint_t c __attribute__((__unused__))) { return CC_ERROR; @@ -449,8 +453,8 @@ ed_unassigned(EditLine *el __attribute__((__unused__)), */ protected el_action_t /*ARGSUSED*/ -ed_tty_sigint(EditLine *el __attribute__((__unused__)), - Int c __attribute__((__unused__))) +ed_tty_sigint(EditLine *el __attribute__((__unused__)), + wint_t c __attribute__((__unused__))) { return CC_NORM; @@ -463,8 +467,8 @@ ed_tty_sigint(EditLine *el __attribute__((__unused__)), */ protected el_action_t /*ARGSUSED*/ -ed_tty_dsusp(EditLine *el __attribute__((__unused__)), - Int c __attribute__((__unused__))) +ed_tty_dsusp(EditLine *el __attribute__((__unused__)), + wint_t c __attribute__((__unused__))) { return CC_NORM; @@ -477,8 +481,8 @@ ed_tty_dsusp(EditLine *el __attribute__((__unused__)), */ protected el_action_t /*ARGSUSED*/ -ed_tty_flush_output(EditLine *el __attribute__((__unused__)), - Int c __attribute__((__unused__))) +ed_tty_flush_output(EditLine *el __attribute__((__unused__)), + wint_t c __attribute__((__unused__))) { return CC_NORM; @@ -491,8 +495,8 @@ ed_tty_flush_output(EditLine *el __attribute__((__unused__)), */ protected el_action_t /*ARGSUSED*/ -ed_tty_sigquit(EditLine *el __attribute__((__unused__)), - Int c __attribute__((__unused__))) +ed_tty_sigquit(EditLine *el __attribute__((__unused__)), + wint_t c __attribute__((__unused__))) { return CC_NORM; @@ -505,8 +509,8 @@ ed_tty_sigquit(EditLine *el __attribute__((__unused__)), */ protected el_action_t /*ARGSUSED*/ -ed_tty_sigtstp(EditLine *el __attribute__((__unused__)), - Int c __attribute__((__unused__))) +ed_tty_sigtstp(EditLine *el __attribute__((__unused__)), + wint_t c __attribute__((__unused__))) { return CC_NORM; @@ -519,8 +523,8 @@ ed_tty_sigtstp(EditLine *el __attribute__((__unused__)), */ protected el_action_t /*ARGSUSED*/ -ed_tty_stop_output(EditLine *el __attribute__((__unused__)), - Int c __attribute__((__unused__))) +ed_tty_stop_output(EditLine *el __attribute__((__unused__)), + wint_t c __attribute__((__unused__))) { return CC_NORM; @@ -533,8 +537,8 @@ ed_tty_stop_output(EditLine *el __attribute__((__unused__)), */ protected el_action_t /*ARGSUSED*/ -ed_tty_start_output(EditLine *el __attribute__((__unused__)), - Int c __attribute__((__unused__))) +ed_tty_start_output(EditLine *el __attribute__((__unused__)), + wint_t c __attribute__((__unused__))) { return CC_NORM; @@ -547,7 +551,7 @@ ed_tty_start_output(EditLine *el __attribute__((__unused__)), */ protected el_action_t /*ARGSUSED*/ -ed_newline(EditLine *el, Int c __attribute__((__unused__))) +ed_newline(EditLine *el, wint_t c __attribute__((__unused__))) { re_goto_bottom(el); @@ -563,7 +567,7 @@ ed_newline(EditLine *el, Int c __attribute__((__unused__))) */ protected el_action_t /*ARGSUSED*/ -ed_delete_prev_char(EditLine *el, Int c __attribute__((__unused__))) +ed_delete_prev_char(EditLine *el, wint_t c __attribute__((__unused__))) { if (el->el_line.cursor <= el->el_line.buffer) @@ -583,7 +587,7 @@ ed_delete_prev_char(EditLine *el, Int c __attribute__((__unused__))) */ protected el_action_t /*ARGSUSED*/ -ed_clear_screen(EditLine *el, Int c __attribute__((__unused__))) +ed_clear_screen(EditLine *el, wint_t c __attribute__((__unused__))) { terminal_clear_screen(el); /* clear the whole real screen */ @@ -598,8 +602,8 @@ ed_clear_screen(EditLine *el, Int c __attribute__((__unused__))) */ protected el_action_t /*ARGSUSED*/ -ed_redisplay(EditLine *el __attribute__((__unused__)), - Int c __attribute__((__unused__))) +ed_redisplay(EditLine *el __attribute__((__unused__)), + wint_t c __attribute__((__unused__))) { return CC_REDISPLAY; @@ -612,7 +616,7 @@ ed_redisplay(EditLine *el __attribute__((__unused__)), */ protected el_action_t /*ARGSUSED*/ -ed_start_over(EditLine *el, Int c __attribute__((__unused__))) +ed_start_over(EditLine *el, wint_t c __attribute__((__unused__))) { ch_reset(el, 0); @@ -626,8 +630,8 @@ ed_start_over(EditLine *el, Int c __attribute__((__unused__))) */ protected el_action_t /*ARGSUSED*/ -ed_sequence_lead_in(EditLine *el __attribute__((__unused__)), - Int c __attribute__((__unused__))) +ed_sequence_lead_in(EditLine *el __attribute__((__unused__)), + wint_t c __attribute__((__unused__))) { return CC_NORM; @@ -640,7 +644,7 @@ ed_sequence_lead_in(EditLine *el __attribute__((__unused__)), */ protected el_action_t /*ARGSUSED*/ -ed_prev_history(EditLine *el, Int c __attribute__((__unused__))) +ed_prev_history(EditLine *el, wint_t c __attribute__((__unused__))) { char beep = 0; int sv_event = el->el_history.eventno; @@ -660,7 +664,6 @@ ed_prev_history(EditLine *el, Int c __attribute__((__unused__))) if (hist_get(el) == CC_ERROR) { if (el->el_map.type == MAP_VI) { el->el_history.eventno = sv_event; - } beep = 1; /* el->el_history.eventno was fixed by first call */ @@ -678,7 +681,7 @@ ed_prev_history(EditLine *el, Int c __attribute__((__unused__))) */ protected el_action_t /*ARGSUSED*/ -ed_next_history(EditLine *el, Int c __attribute__((__unused__))) +ed_next_history(EditLine *el, wint_t c __attribute__((__unused__))) { el_action_t beep = CC_REFRESH, rval; @@ -705,11 +708,11 @@ ed_next_history(EditLine *el, Int c __attribute__((__unused__))) */ protected el_action_t /*ARGSUSED*/ -ed_search_prev_history(EditLine *el, Int c __attribute__((__unused__))) +ed_search_prev_history(EditLine *el, wint_t c __attribute__((__unused__))) { const Char *hp; int h; - bool_t found = 0; + int found = 0; el->el_chared.c_vcmd.action = NOP; el->el_chared.c_undo.len = -1; @@ -748,7 +751,7 @@ ed_search_prev_history(EditLine *el, Int c __attribute__((__unused__))) (el->el_line.lastchar - el->el_line.buffer)) || hp[el->el_line.lastchar - el->el_line.buffer]) && c_hmatch(el, hp)) { - found++; + found = 1; break; } h++; @@ -773,11 +776,11 @@ ed_search_prev_history(EditLine *el, Int c __attribute__((__unused__))) */ protected el_action_t /*ARGSUSED*/ -ed_search_next_history(EditLine *el, Int c __attribute__((__unused__))) +ed_search_next_history(EditLine *el, wint_t c __attribute__((__unused__))) { const Char *hp; int h; - bool_t found = 0; + int found = 0; el->el_chared.c_vcmd.action = NOP; el->el_chared.c_undo.len = -1; @@ -827,7 +830,7 @@ ed_search_next_history(EditLine *el, Int c __attribute__((__unused__))) */ protected el_action_t /*ARGSUSED*/ -ed_prev_line(EditLine *el, Int c __attribute__((__unused__))) +ed_prev_line(EditLine *el, wint_t c __attribute__((__unused__))) { Char *ptr; int nchars = c_hpos(el); @@ -870,7 +873,7 @@ ed_prev_line(EditLine *el, Int c __attribute__((__unused__))) */ protected el_action_t /*ARGSUSED*/ -ed_next_line(EditLine *el, Int c __attribute__((__unused__))) +ed_next_line(EditLine *el, wint_t c __attribute__((__unused__))) { Char *ptr; int nchars = c_hpos(el); @@ -904,7 +907,7 @@ ed_next_line(EditLine *el, Int c __attribute__((__unused__))) */ protected el_action_t /*ARGSUSED*/ -ed_command(EditLine *el, Int c __attribute__((__unused__))) +ed_command(EditLine *el, wint_t c __attribute__((__unused__))) { Char tmpbuf[EL_BUFSIZ]; int tmplen; diff --git a/lib/libedit/config.h b/lib/libedit/config.h index 526869f..ccc2855 100644 --- a/lib/libedit/config.h +++ b/lib/libedit/config.h @@ -21,8 +21,8 @@ /* Define to 1 if you have the header file. */ #define HAVE_FCNTL_H 1 -/* Define to 1 if you have the `fgetln' function. */ -#define HAVE_FGETLN 1 +/* Define to 1 if you have the `getline' function. */ +#define HAVE_GETLINE 1 /* Define to 1 if you have the `fork' function. */ #define HAVE_FORK 1 @@ -188,9 +188,6 @@ /* Define to 1 if you have the `vis' function. */ #define HAVE_VIS 1 -/* Define to 1 if you have the `wcsdup' function. */ -#define HAVE_WCSDUP 1 - /* Define to 1 if `fork' works. */ #define HAVE_WORKING_FORK 1 @@ -257,6 +254,9 @@ /* Version number of package */ #define VERSION "3.0" +/* Define to 1 if the system provides the SIZE_MAX constant */ +#define HAVE_SIZE_MAX 1 + /* Define to 1 if you want wide-character code */ /* #undef WIDECHAR */ diff --git a/lib/libedit/edit/readline/readline.h b/lib/libedit/edit/readline/readline.h index e25781b..34ded0f 100644 --- a/lib/libedit/edit/readline/readline.h +++ b/lib/libedit/edit/readline/readline.h @@ -1,4 +1,4 @@ -/* $NetBSD: readline.h,v 1.37 2015/06/02 15:36:45 christos Exp $ */ +/* $NetBSD: readline.h,v 1.39 2016/02/17 19:47:49 christos Exp $ */ /*- * Copyright (c) 1997 The NetBSD Foundation, Inc. @@ -55,7 +55,7 @@ typedef void *histdata_t; typedef struct _hist_entry { const char *line; - histdata_t data; + histdata_t data; } HIST_ENTRY; typedef struct _keymap_entry { @@ -89,7 +89,7 @@ typedef KEYMAP_ENTRY *Keymap; #define RUBOUT 0x7f #define ABORT_CHAR CTRL('G') -#define RL_READLINE_VERSION 0x0402 +#define RL_READLINE_VERSION 0x0402 #define RL_PROMPT_START_IGNORE '\1' #define RL_PROMPT_END_IGNORE '\2' @@ -98,7 +98,7 @@ typedef KEYMAP_ENTRY *Keymap; extern "C" { #endif extern const char *rl_library_version; -extern int rl_readline_version; +extern int rl_readline_version; extern char *rl_readline_name; extern FILE *rl_instream; extern FILE *rl_outstream; @@ -199,10 +199,10 @@ int rl_add_defun(const char *, rl_command_func_t *, int); HISTORY_STATE *history_get_history_state(void); void rl_get_screen_size(int *, int *); void rl_set_screen_size(int, int); -char *rl_filename_completion_function (const char *, int); +char *rl_filename_completion_function (const char *, int); int _rl_abort_internal(void); int _rl_qsort_string_compare(char **, char **); -char **rl_completion_matches(const char *, rl_compentry_func_t *); +char **rl_completion_matches(const char *, rl_compentry_func_t *); void rl_forced_update_display(void); int rl_set_prompt(const char *); int rl_on_new_line(void); @@ -218,6 +218,8 @@ int rl_generic_bind(int, const char *, const char *, Keymap); int rl_bind_key_in_map(int, rl_command_func_t *, Keymap); void rl_cleanup_after_signal(void); void rl_free_line_state(void); +int rl_set_keyboard_input_timeout(int); + #ifdef __cplusplus } #endif diff --git a/lib/libedit/editline.3 b/lib/libedit/editline.3 index 05ee76e..0234b0d 100644 --- a/lib/libedit/editline.3 +++ b/lib/libedit/editline.3 @@ -1,4 +1,4 @@ -.\" $NetBSD: editline.3,v 1.85 2015/11/03 21:36:59 christos Exp $ +.\" $NetBSD: editline.3,v 1.88 2016/02/25 14:59:22 wiz Exp $ .\" .\" Copyright (c) 1997-2014 The NetBSD Foundation, Inc. .\" All rights reserved. @@ -28,7 +28,7 @@ .\" .\" $FreeBSD$ .\" -.Dd November 3, 2015 +.Dd February 24, 2016 .Dt EDITLINE 3 .Os .Sh NAME @@ -72,7 +72,7 @@ .Nm tok_wreset , .Nm tok_line , .Nm tok_wline , -.Nm tok_str +.Nm tok_str , .Nm tok_wstr .Nd line editor, history and tokenization functions .Sh LIBRARY @@ -130,9 +130,9 @@ .Ft void .Fn el_wdeletestr "EditLine *e" "int count" .Ft History * -.Fn history_init +.Fn history_init void .Ft HistoryW * -.Fn history_winit +.Fn history_winit void .Ft void .Fn history_end "History *h" .Ft void @@ -175,6 +175,16 @@ library (which needs the library). Programs should be linked with .Fl ledit ltermcap . +.Pp +The +.Nm +library respects the +.Ev LC_CTYPE +locale set by the application program and never uses +.Xr setlocale 3 +to change the locale. +The only locales supported are UTF-8 and the default C or POSIX locale. +If any other locale is set, behaviour is undefined. .Sh LINE EDITING FUNCTIONS The line editing functions use a common data structure, .Fa EditLine , @@ -240,14 +250,42 @@ contains the error code that caused it. The return value may not remain valid across calls to .Fn el_gets and must be copied if the data is to be retained. +.It Fn el_wgetc +Read a wide character from the tty, respecting the current locale, +or from the input stream written by +.Fn el_wpush +and +.Fn el_push +if that is not empty, and store it in +.Fa ch . +If an invalid or incomplete character is found, it is discarded, +.Va errno +is set to +.Er EILSEQ , +and the next character is read and stored in +.Fa ch . +Returns 1 if a valid character was read, 0 on end of file, or \-1 on +.Xr read 2 +failure. +In the latter case, +.Va errno +is set to indicate the error. .It Fn el_getc -Read a character from the tty. -.Fa ch -is modified to contain the character read. -Returns the number of characters read if successful, \-1 otherwise, -in which case -.Dv errno -can be inspected for the cause. +Read a wide character as described for +.Fn el_wgetc +and return 0 on end of file or \-1 on failure. +If the wide character can be represented as a single-byte character, +convert it with +.Xr wctob 3 , +store the result in +.Fa ch , +and return 1; otherwise, set +.Va errno +to +.Er ERANGE +and return \-1. +In the C or POSIX locale, this simply reads a byte, but for any other +locale, including UTF-8, this is rarely useful. .It Fn el_push Pushes .Fa str @@ -746,7 +784,7 @@ to the last new element of the history. .It Dv H_ENTER , Fa "const char *str" Add .Fa str -as a new element to the history, and, if necessary, +as a new element to the history and, if necessary, removing the oldest entry to keep the list to the created size. If .Dv H_SETUNIQUE diff --git a/lib/libedit/el.c b/lib/libedit/el.c index 65bd86b..81020b1 100644 --- a/lib/libedit/el.c +++ b/lib/libedit/el.c @@ -1,4 +1,4 @@ -/* $NetBSD: el.c,v 1.74 2015/12/08 12:56:55 christos Exp $ */ +/* $NetBSD: el.c,v 1.83 2016/02/24 17:13:22 christos Exp $ */ /*- * Copyright (c) 1992, 1993 @@ -37,7 +37,7 @@ #if 0 static char sccsid[] = "@(#)el.c 8.2 (Berkeley) 1/3/94"; #else -__RCSID("$NetBSD: el.c,v 1.74 2015/12/08 12:56:55 christos Exp $"); +__RCSID("$NetBSD: el.c,v 1.83 2016/02/24 17:13:22 christos Exp $"); #endif #endif /* not lint && not SCCSID */ #include @@ -48,13 +48,17 @@ __FBSDID("$FreeBSD$"); */ #include #include -#include -#include -#include #include +#include +#include +#include +#ifdef WIDECHAR #include #include +#endif + #include "el.h" +#include "parse.h" /* el_init(): * Initialize editline and set default parameters. @@ -95,12 +99,10 @@ el_init_fd(const char *prog, FILE *fin, FILE *fout, FILE *ferr, * Initialize all the modules. Order is important!!! */ el->el_flags = 0; -#ifdef WIDECHAR if (setlocale(LC_CTYPE, NULL) != NULL){ if (strcmp(nl_langinfo(CODESET), "UTF-8") == 0) el->el_flags |= CHARSET_IS_UTF8; } -#endif if (terminal_init(el) == -1) { el_free(el->el_prog); @@ -209,7 +211,7 @@ FUN(el,set)(EditLine *el, int op, ...) el_pfunc_t p = va_arg(ap, el_pfunc_t); int c = va_arg(ap, int); - rv = prompt_set(el, p, c, op, 1); + rv = prompt_set(el, p, (Char)c, op, 1); break; } @@ -308,7 +310,6 @@ FUN(el,set)(EditLine *el, int op, ...) { el_rfunc_t rc = va_arg(ap, el_rfunc_t); rv = el_read_setfn(el, rc); - el->el_flags &= ~NARROW_READ; break; } @@ -437,7 +438,7 @@ FUN(el,get)(EditLine *el, int op, ...) char *argv[20]; int i; - for (i = 1; i < (int)__arraycount(argv); i++) + for (i = 1; i < (int)__arraycount(argv); i++) if ((argv[i] = va_arg(ap, char *)) == NULL) break; @@ -514,6 +515,7 @@ el_source(EditLine *el, const char *fname) { FILE *fp; size_t len; + ssize_t slen; char *ptr; char *path = NULL; const Char *dptr; @@ -550,15 +552,17 @@ el_source(EditLine *el, const char *fname) return -1; } - while ((ptr = fgetln(fp, &len)) != NULL) { + ptr = NULL; + len = 0; + while ((slen = getline(&ptr, &len, fp)) != -1) { if (*ptr == '\n') continue; /* Empty line. */ + if (slen > 0 && ptr[--slen] == '\n') + ptr[slen] = '\0'; + dptr = ct_decode_string(ptr, &el->el_scratch); if (!dptr) continue; - if (len > 0 && dptr[len - 1] == '\n') - --len; - /* loop until first non-space char or EOL */ while (*dptr != '\0' && Isspace(*dptr)) dptr++; @@ -567,6 +571,7 @@ el_source(EditLine *el, const char *fname) if ((error = parse_line(el, dptr)) == -1) break; } + free(ptr); el_free(path); (void) fclose(fp); diff --git a/lib/libedit/el.h b/lib/libedit/el.h index ed3d2ef..d6b69fc 100644 --- a/lib/libedit/el.h +++ b/lib/libedit/el.h @@ -1,4 +1,4 @@ -/* $NetBSD: el.h,v 1.25 2011/07/29 23:44:44 christos Exp $ */ +/* $NetBSD: el.h,v 1.34 2016/02/24 17:13:22 christos Exp $ */ /*- * Copyright (c) 1992, 1993 @@ -49,8 +49,6 @@ #include "histedit.h" #include "chartype.h" -#include -#include #define EL_BUFSIZ ((size_t)1024) /* Maximum line size */ @@ -59,11 +57,7 @@ #define EDIT_DISABLED 0x04 #define UNBUFFERED 0x08 #define CHARSET_IS_UTF8 0x10 -#define IGNORE_EXTCHARS 0x20 /* Ignore characters read > 0xff */ #define NARROW_HISTORY 0x40 -#define NARROW_READ 0x80 - -typedef int bool_t; /* True or not */ typedef unsigned char el_action_t; /* Index to command array */ @@ -73,7 +67,7 @@ typedef struct coord_t { /* Position on the screen */ } coord_t; typedef struct el_line_t { - Char *buffer; /* Input line */ + Char *buffer; /* Input line */ Char *cursor; /* Cursor position */ Char *lastchar; /* Last character */ const Char *limit; /* Max position */ @@ -88,7 +82,7 @@ typedef struct el_state_t { int argument; /* Numeric argument */ int metanext; /* Is the next char a meta char */ el_action_t lastcmd; /* Previous command */ - el_action_t thiscmd; /* this command */ + el_action_t thiscmd; /* this command */ Char thisch; /* char that generated it */ } el_state_t; @@ -105,13 +99,11 @@ typedef struct el_state_t { #include "terminal.h" #include "refresh.h" #include "chared.h" -#include "common.h" #include "search.h" #include "hist.h" +#include "fcns.h" /* el_func_t is needed for map.h */ #include "map.h" -#include "parse.h" #include "sig.h" -#include "help.h" #include "read.h" struct editline { diff --git a/lib/libedit/eln.c b/lib/libedit/eln.c index 013aa3e..d35e742 100644 --- a/lib/libedit/eln.c +++ b/lib/libedit/eln.c @@ -1,4 +1,4 @@ -/* $NetBSD: eln.c,v 1.19 2015/05/18 15:07:04 christos Exp $ */ +/* $NetBSD: eln.c,v 1.28 2016/02/28 23:02:24 christos Exp $ */ /*- * Copyright (c) 2009 The NetBSD Foundation, Inc. @@ -12,13 +12,6 @@ * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by the NetBSD - * Foundation, Inc. and its contributors. - * 4. Neither the name of The NetBSD Foundation nor the names of its - * contributors may be used to endorse or promote products derived - * from this software without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED @@ -34,36 +27,40 @@ */ #include "config.h" #if !defined(lint) && !defined(SCCSID) -__RCSID("$NetBSD: eln.c,v 1.19 2015/05/18 15:07:04 christos Exp $"); +__RCSID("$NetBSD: eln.c,v 1.28 2016/02/28 23:02:24 christos Exp $"); #endif /* not lint && not SCCSID */ #include __FBSDID("$FreeBSD$"); -#include "histedit.h" -#include "el.h" -#include "read.h" +#include #include #include #include +#include "el.h" + public int el_getc(EditLine *el, char *cp) { int num_read; wchar_t wc = 0; - if (!(el->el_flags & CHARSET_IS_UTF8)) - el->el_flags |= IGNORE_EXTCHARS; - num_read = el_wgetc (el, &wc); - if (!(el->el_flags & CHARSET_IS_UTF8)) - el->el_flags &= ~IGNORE_EXTCHARS; - - if (num_read > 0) - *cp = (char)wc; - return num_read; + num_read = el_wgetc(el, &wc); + *cp = '\0'; + if (num_read <= 0) + return num_read; + num_read = ct_wctob(wc); + if (num_read == EOF) { + errno = ERANGE; + return -1; + } else { + *cp = (char)num_read; + return 1; + } } +#ifdef WIDECHAR public void el_push(EditLine *el, const char *str) { @@ -78,17 +75,15 @@ el_gets(EditLine *el, int *nread) { const wchar_t *tmp; - if (!(el->el_flags & CHARSET_IS_UTF8)) - el->el_flags |= IGNORE_EXTCHARS; tmp = el_wgets(el, nread); if (tmp != NULL) { + int i; size_t nwread = 0; - for (int i = 0; i < *nread; i++) + + for (i = 0; i < *nread; i++) nwread += ct_enc_width(tmp[i]); *nread = (int)nwread; } - if (!(el->el_flags & CHARSET_IS_UTF8)) - el->el_flags &= ~IGNORE_EXTCHARS; return ct_encode_string(tmp, &el->el_lgcyconv); } @@ -233,7 +228,7 @@ el_set(EditLine *el, int op, ...) ret = -1; goto out; } - // XXX: The two strdup's leak + /* XXX: The two strdup's leak */ ret = map_addfunc(el, Strdup(wargv[0]), Strdup(wargv[1]), func); ct_free_argv(wargv); @@ -247,10 +242,8 @@ el_set(EditLine *el, int op, ...) break; } - /* XXX: do we need to change el_rfunc_t? */ case EL_GETCFN: /* el_rfunc_t */ ret = el_wset(el, op, va_arg(ap, el_rfunc_t)); - el->el_flags |= NARROW_READ; break; case EL_CLIENTDATA: /* void * */ @@ -344,7 +337,6 @@ el_get(EditLine *el, int op, ...) break; } - /* XXX: do we need to change el_rfunc_t? */ case EL_GETCFN: /* el_rfunc_t */ ret = el_wget(el, op, va_arg(ap, el_rfunc_t *)); break; @@ -399,3 +391,4 @@ el_insertstr(EditLine *el, const char *str) { return el_winsertstr(el, ct_decode_string(str, &el->el_lgcyconv)); } +#endif /* WIDECHAR */ diff --git a/lib/libedit/emacs.c b/lib/libedit/emacs.c index c1c30d6..6c86b9e 100644 --- a/lib/libedit/emacs.c +++ b/lib/libedit/emacs.c @@ -1,4 +1,4 @@ -/* $NetBSD: emacs.c,v 1.25 2011/07/29 15:16:33 christos Exp $ */ +/* $NetBSD: emacs.c,v 1.32 2016/02/16 22:53:14 christos Exp $ */ /*- * Copyright (c) 1992, 1993 @@ -37,7 +37,7 @@ #if 0 static char sccsid[] = "@(#)emacs.c 8.1 (Berkeley) 6/4/93"; #else -__RCSID("$NetBSD: emacs.c,v 1.25 2011/07/29 15:16:33 christos Exp $"); +__RCSID("$NetBSD: emacs.c,v 1.32 2016/02/16 22:53:14 christos Exp $"); #endif #endif /* not lint && not SCCSID */ #include @@ -46,7 +46,10 @@ __FBSDID("$FreeBSD$"); /* * emacs.c: Emacs functions */ +#include + #include "el.h" +#include "emacs.h" /* em_delete_or_list(): * Delete character under cursor or list completions if at end of line @@ -54,7 +57,7 @@ __FBSDID("$FreeBSD$"); */ protected el_action_t /*ARGSUSED*/ -em_delete_or_list(EditLine *el, Int c) +em_delete_or_list(EditLine *el, wint_t c) { if (el->el_line.cursor == el->el_line.lastchar) { @@ -90,7 +93,7 @@ em_delete_or_list(EditLine *el, Int c) */ protected el_action_t /*ARGSUSED*/ -em_delete_next_word(EditLine *el, Int c __attribute__((__unused__))) +em_delete_next_word(EditLine *el, wint_t c __attribute__((__unused__))) { Char *cp, *p, *kp; @@ -119,7 +122,7 @@ em_delete_next_word(EditLine *el, Int c __attribute__((__unused__))) */ protected el_action_t /*ARGSUSED*/ -em_yank(EditLine *el, Int c __attribute__((__unused__))) +em_yank(EditLine *el, wint_t c __attribute__((__unused__))) { Char *kp, *cp; @@ -155,7 +158,7 @@ em_yank(EditLine *el, Int c __attribute__((__unused__))) */ protected el_action_t /*ARGSUSED*/ -em_kill_line(EditLine *el, Int c __attribute__((__unused__))) +em_kill_line(EditLine *el, wint_t c __attribute__((__unused__))) { Char *kp, *cp; @@ -177,7 +180,7 @@ em_kill_line(EditLine *el, Int c __attribute__((__unused__))) */ protected el_action_t /*ARGSUSED*/ -em_kill_region(EditLine *el, Int c __attribute__((__unused__))) +em_kill_region(EditLine *el, wint_t c __attribute__((__unused__))) { Char *kp, *cp; @@ -210,7 +213,7 @@ em_kill_region(EditLine *el, Int c __attribute__((__unused__))) */ protected el_action_t /*ARGSUSED*/ -em_copy_region(EditLine *el, Int c __attribute__((__unused__))) +em_copy_region(EditLine *el, wint_t c __attribute__((__unused__))) { Char *kp, *cp; @@ -239,14 +242,14 @@ em_copy_region(EditLine *el, Int c __attribute__((__unused__))) * Gosling emacs transpose chars [^T] */ protected el_action_t -em_gosmacs_transpose(EditLine *el, Int c) +em_gosmacs_transpose(EditLine *el, wint_t c) { if (el->el_line.cursor > &el->el_line.buffer[1]) { /* must have at least two chars entered */ c = el->el_line.cursor[-2]; el->el_line.cursor[-2] = el->el_line.cursor[-1]; - el->el_line.cursor[-1] = c; + el->el_line.cursor[-1] = (Char)c; return CC_REFRESH; } else return CC_ERROR; @@ -259,7 +262,7 @@ em_gosmacs_transpose(EditLine *el, Int c) */ protected el_action_t /*ARGSUSED*/ -em_next_word(EditLine *el, Int c __attribute__((__unused__))) +em_next_word(EditLine *el, wint_t c __attribute__((__unused__))) { if (el->el_line.cursor == el->el_line.lastchar) return CC_ERROR; @@ -284,7 +287,7 @@ em_next_word(EditLine *el, Int c __attribute__((__unused__))) */ protected el_action_t /*ARGSUSED*/ -em_upper_case(EditLine *el, Int c __attribute__((__unused__))) +em_upper_case(EditLine *el, wint_t c __attribute__((__unused__))) { Char *cp, *ep; @@ -308,7 +311,7 @@ em_upper_case(EditLine *el, Int c __attribute__((__unused__))) */ protected el_action_t /*ARGSUSED*/ -em_capitol_case(EditLine *el, Int c __attribute__((__unused__))) +em_capitol_case(EditLine *el, wint_t c __attribute__((__unused__))) { Char *cp, *ep; @@ -340,7 +343,7 @@ em_capitol_case(EditLine *el, Int c __attribute__((__unused__))) */ protected el_action_t /*ARGSUSED*/ -em_lower_case(EditLine *el, Int c __attribute__((__unused__))) +em_lower_case(EditLine *el, wint_t c __attribute__((__unused__))) { Char *cp, *ep; @@ -364,7 +367,7 @@ em_lower_case(EditLine *el, Int c __attribute__((__unused__))) */ protected el_action_t /*ARGSUSED*/ -em_set_mark(EditLine *el, Int c __attribute__((__unused__))) +em_set_mark(EditLine *el, wint_t c __attribute__((__unused__))) { el->el_chared.c_kill.mark = el->el_line.cursor; @@ -378,7 +381,7 @@ em_set_mark(EditLine *el, Int c __attribute__((__unused__))) */ protected el_action_t /*ARGSUSED*/ -em_exchange_mark(EditLine *el, Int c __attribute__((__unused__))) +em_exchange_mark(EditLine *el, wint_t c __attribute__((__unused__))) { Char *cp; @@ -395,7 +398,7 @@ em_exchange_mark(EditLine *el, Int c __attribute__((__unused__))) */ protected el_action_t /*ARGSUSED*/ -em_universal_argument(EditLine *el, Int c __attribute__((__unused__))) +em_universal_argument(EditLine *el, wint_t c __attribute__((__unused__))) { /* multiply current argument by 4 */ if (el->el_state.argument > 1000000) @@ -412,7 +415,7 @@ em_universal_argument(EditLine *el, Int c __attribute__((__unused__))) */ protected el_action_t /*ARGSUSED*/ -em_meta_next(EditLine *el, Int c __attribute__((__unused__))) +em_meta_next(EditLine *el, wint_t c __attribute__((__unused__))) { el->el_state.metanext = 1; @@ -425,7 +428,7 @@ em_meta_next(EditLine *el, Int c __attribute__((__unused__))) */ protected el_action_t /*ARGSUSED*/ -em_toggle_overwrite(EditLine *el, Int c __attribute__((__unused__))) +em_toggle_overwrite(EditLine *el, wint_t c __attribute__((__unused__))) { el->el_state.inputmode = (el->el_state.inputmode == MODE_INSERT) ? @@ -439,7 +442,7 @@ em_toggle_overwrite(EditLine *el, Int c __attribute__((__unused__))) */ protected el_action_t /*ARGSUSED*/ -em_copy_prev_word(EditLine *el, Int c __attribute__((__unused__))) +em_copy_prev_word(EditLine *el, wint_t c __attribute__((__unused__))) { Char *cp, *oldc, *dp; @@ -466,7 +469,7 @@ em_copy_prev_word(EditLine *el, Int c __attribute__((__unused__))) */ protected el_action_t /*ARGSUSED*/ -em_inc_search_next(EditLine *el, Int c __attribute__((__unused__))) +em_inc_search_next(EditLine *el, wint_t c __attribute__((__unused__))) { el->el_search.patlen = 0; @@ -479,7 +482,7 @@ em_inc_search_next(EditLine *el, Int c __attribute__((__unused__))) */ protected el_action_t /*ARGSUSED*/ -em_inc_search_prev(EditLine *el, Int c __attribute__((__unused__))) +em_inc_search_prev(EditLine *el, wint_t c __attribute__((__unused__))) { el->el_search.patlen = 0; @@ -493,7 +496,7 @@ em_inc_search_prev(EditLine *el, Int c __attribute__((__unused__))) */ protected el_action_t /*ARGSUSED*/ -em_delete_prev_char(EditLine *el, Int c __attribute__((__unused__))) +em_delete_prev_char(EditLine *el, wint_t c __attribute__((__unused__))) { if (el->el_line.cursor <= el->el_line.buffer) diff --git a/lib/libedit/filecomplete.c b/lib/libedit/filecomplete.c index 10d44e4..007ca73 100644 --- a/lib/libedit/filecomplete.c +++ b/lib/libedit/filecomplete.c @@ -1,4 +1,4 @@ -/* $NetBSD: filecomplete.c,v 1.34 2014/10/18 15:07:02 riz Exp $ */ +/* $NetBSD: filecomplete.c,v 1.40 2016/02/17 19:47:49 christos Exp $ */ /*- * Copyright (c) 1997 The NetBSD Foundation, Inc. @@ -31,27 +31,24 @@ #include "config.h" #if !defined(lint) && !defined(SCCSID) -__RCSID("$NetBSD: filecomplete.c,v 1.34 2014/10/18 15:07:02 riz Exp $"); +__RCSID("$NetBSD: filecomplete.c,v 1.40 2016/02/17 19:47:49 christos Exp $"); #endif /* not lint && not SCCSID */ #include __FBSDID("$FreeBSD$"); #include #include -#include #include -#include +#include +#include +#include #include -#include +#include #include +#include #include -#include -#include -#include #include "el.h" -#include "fcns.h" /* for EL_NUM_FCNS */ -#include "histedit.h" #include "filecomplete.h" static const Char break_chars[] = { ' ', '\t', '\n', '"', '\\', '\'', '`', '@', @@ -100,9 +97,9 @@ fn_tilde_expand(const char *txt) } if (temp[0] == 0) { #ifdef HAVE_GETPW_R_POSIX - if (getpwuid_r(getuid(), &pwres, pwbuf, sizeof(pwbuf), + if (getpwuid_r(getuid(), &pwres, pwbuf, sizeof(pwbuf), &pass) != 0) - pass = NULL; + pass = NULL; #elif HAVE_GETPW_R_DRAFT pass = getpwuid_r(getuid(), &pwres, pwbuf, sizeof(pwbuf)); #else @@ -484,7 +481,7 @@ fn_complete(EditLine *el, cur_off - (int)len, cur_off); } else matches = 0; - if (!attempted_completion_function || + if (!attempted_completion_function || (over != NULL && !*over && !matches)) matches = completion_matches( ct_encode_string(dequoted_temp ? dequoted_temp : temp, @@ -543,7 +540,7 @@ fn_complete(EditLine *el, } /* matches[1] through matches[i-1] are available */ matches_num = (size_t)(i - 1); - + /* newline to get on next line from command line */ (void)fprintf(el->el_outfile, "\n"); diff --git a/lib/libedit/hist.c b/lib/libedit/hist.c index 66cfd312..bcabe68 100644 --- a/lib/libedit/hist.c +++ b/lib/libedit/hist.c @@ -1,4 +1,4 @@ -/* $NetBSD: hist.c,v 1.20 2011/07/29 15:16:33 christos Exp $ */ +/* $NetBSD: hist.c,v 1.24 2016/02/16 22:53:14 christos Exp $ */ /*- * Copyright (c) 1992, 1993 @@ -37,7 +37,7 @@ #if 0 static char sccsid[] = "@(#)hist.c 8.1 (Berkeley) 6/4/93"; #else -__RCSID("$NetBSD: hist.c,v 1.20 2011/07/29 15:16:33 christos Exp $"); +__RCSID("$NetBSD: hist.c,v 1.24 2016/02/16 22:53:14 christos Exp $"); #endif #endif /* not lint && not SCCSID */ #include @@ -47,6 +47,8 @@ __FBSDID("$FreeBSD$"); * hist.c: History access functions */ #include +#include + #include "el.h" /* hist_init(): diff --git a/lib/libedit/hist.h b/lib/libedit/hist.h index 6ca6877..23b1e03 100644 --- a/lib/libedit/hist.h +++ b/lib/libedit/hist.h @@ -1,4 +1,4 @@ -/* $NetBSD: hist.h,v 1.15 2016/01/30 15:05:27 christos Exp $ */ +/* $NetBSD: hist.h,v 1.18 2016/02/17 19:47:49 christos Exp $ */ /*- * Copyright (c) 1992, 1993 @@ -41,8 +41,6 @@ #ifndef _h_el_hist #define _h_el_hist -#include "histedit.h" - typedef int (*hist_fun_t)(void *, TYPE(HistEvent) *, int, ...); typedef struct el_history_t { @@ -83,7 +81,7 @@ protected int hist_set(EditLine *, hist_fun_t, void *); protected int hist_command(EditLine *, int, const Char **); protected int hist_enlargebuf(EditLine *, size_t, size_t); #ifdef WIDECHAR -protected wchar_t *hist_convert(EditLine *, int, void *); +protected wchar_t *hist_convert(EditLine *, int, void *); #endif #endif /* _h_el_hist */ diff --git a/lib/libedit/histedit.h b/lib/libedit/histedit.h index bed186e..e5449ed 100644 --- a/lib/libedit/histedit.h +++ b/lib/libedit/histedit.h @@ -1,4 +1,4 @@ -/* $NetBSD: histedit.h,v 1.53 2014/06/18 18:12:28 christos Exp $ */ +/* $NetBSD: histedit.h,v 1.55 2016/02/17 19:47:49 christos Exp $ */ /*- * Copyright (c) 1992, 1993 @@ -130,7 +130,7 @@ unsigned char _el_fn_sh_complete(EditLine *, int); * For operations that support set or set/get, the argument types listed are for * the "set" operation. For "get", each listed type must be a pointer. * E.g. EL_EDITMODE takes an int when set, but an int* when get. - * + * * Operations that only support "get" have the correct argument types listed. */ #define EL_PROMPT 0 /* , prompt_func); set/get */ @@ -143,7 +143,7 @@ unsigned char _el_fn_sh_complete(EditLine *, int); #define EL_ECHOTC 7 /* , const Char *, ..., NULL); set */ #define EL_SETTY 8 /* , const Char *, ..., NULL); set */ #define EL_ADDFN 9 /* , const Char *, const Char, set */ - /* el_func_t); */ + /* el_func_t); */ #define EL_HIST 10 /* , hist_fun_t, const void *); set */ #define EL_EDITMODE 11 /* , int); set/get */ #define EL_RPROMPT 12 /* , prompt_func); set/get */ @@ -251,21 +251,10 @@ int tok_str(Tokenizer *, const char *, /* * Begin Wide Character Support */ -#ifdef __linux__ -/* Apparently we need _GNU_SOURCE defined to get access to wcsdup on Linux */ -#ifndef _GNU_SOURCE -#define _GNU_SOURCE -#endif -#endif - #include #include /* - * Wide character versions - */ - -/* * ==== Editing ==== */ typedef struct lineinfow { diff --git a/lib/libedit/history.c b/lib/libedit/history.c index 6e225e9..d97a797 100644 --- a/lib/libedit/history.c +++ b/lib/libedit/history.c @@ -1,4 +1,4 @@ -/* $NetBSD: history.c,v 1.47 2014/05/11 01:05:17 christos Exp $ */ +/* $NetBSD: history.c,v 1.52 2016/02/17 19:47:49 christos Exp $ */ /*- * Copyright (c) 1992, 1993 @@ -37,7 +37,7 @@ #if 0 static char sccsid[] = "@(#)history.c 8.1 (Berkeley) 6/4/93"; #else -__RCSID("$NetBSD: history.c,v 1.47 2014/05/11 01:05:17 christos Exp $"); +__RCSID("$NetBSD: history.c,v 1.52 2016/02/17 19:47:49 christos Exp $"); #endif #endif /* not lint && not SCCSID */ #include @@ -46,11 +46,11 @@ __FBSDID("$FreeBSD$"); /* * hist.c: TYPE(History) access functions */ -#include -#include +#include #include +#include +#include #include -#include static const char hist_cookie[] = "_HiStOrY_V2_\n"; @@ -439,7 +439,7 @@ history_def_del(void *p, TYPE(HistEvent) *ev __attribute__((__unused__)), */ /* ARGSUSED */ private void -history_def_delete(history_t *h, +history_def_delete(history_t *h, TYPE(HistEvent) *ev __attribute__((__unused__)), hentry_t *hp) { HistEventPrivate *evp = (void *)&hp->ev; @@ -734,7 +734,9 @@ history_load(TYPE(History) *h, const char *fname) { FILE *fp; char *line; - size_t sz, max_size; + size_t llen; + ssize_t sz; + size_t max_size; char *ptr; int i = -1; TYPE(HistEvent) ev; @@ -745,26 +747,23 @@ history_load(TYPE(History) *h, const char *fname) if ((fp = fopen(fname, "r")) == NULL) return i; - if ((line = fgetln(fp, &sz)) == NULL) + line = NULL; + llen = 0; + if ((sz = getline(&line, &llen, fp)) == -1) goto done; - if (strncmp(line, hist_cookie, sz) != 0) + if (strncmp(line, hist_cookie, (size_t)sz) != 0) goto done; ptr = h_malloc((max_size = 1024) * sizeof(*ptr)); if (ptr == NULL) goto done; - for (i = 0; (line = fgetln(fp, &sz)) != NULL; i++) { - char c = line[sz]; - - if (sz != 0 && line[sz - 1] == '\n') + for (i = 0; (sz = getline(&line, &llen, fp)) != -1; i++) { + if (sz > 0 && line[sz - 1] == '\n') line[--sz] = '\0'; - else - line[sz] = '\0'; - - if (max_size < sz) { + if (max_size < (size_t)sz) { char *nptr; - max_size = (sz + 1024) & (size_t)~1023; + max_size = ((size_t)sz + 1024) & (size_t)~1023; nptr = h_realloc(ptr, max_size * sizeof(*ptr)); if (nptr == NULL) { i = -1; @@ -773,7 +772,6 @@ history_load(TYPE(History) *h, const char *fname) ptr = nptr; } (void) strunvis(ptr, line); - line[sz] = c; if (HENTER(h, &ev, ct_decode_string(ptr, &conv)) == -1) { i = -1; goto oomem; @@ -782,6 +780,7 @@ history_load(TYPE(History) *h, const char *fname) oomem: h_free(ptr); done: + free(line); (void) fclose(fp); return i; } @@ -813,8 +812,8 @@ history_save_fp(TYPE(History) *h, FILE *fp) retval != -1; retval = HPREV(h, &ev), i++) { str = ct_encode_string(ev.str, &conv); - len = strlen(str) * 4; - if (len >= max_size) { + len = strlen(str) * 4 + 1; + if (len > max_size) { char *nptr; max_size = (len + 1024) & (size_t)~1023; nptr = h_realloc(ptr, max_size * sizeof(*ptr)); diff --git a/lib/libedit/keymacro.c b/lib/libedit/keymacro.c index 1a1bdd5..e10ed7f 100644 --- a/lib/libedit/keymacro.c +++ b/lib/libedit/keymacro.c @@ -1,4 +1,4 @@ -/* $NetBSD: keymacro.c,v 1.7 2011/08/16 16:25:15 christos Exp $ */ +/* $NetBSD: keymacro.c,v 1.14 2016/02/24 14:25:38 christos Exp $ */ /*- * Copyright (c) 1992, 1993 @@ -37,7 +37,7 @@ #if 0 static char sccsid[] = "@(#)key.c 8.1 (Berkeley) 6/4/93"; #else -__RCSID("$NetBSD: keymacro.c,v 1.7 2011/08/16 16:25:15 christos Exp $"); +__RCSID("$NetBSD: keymacro.c,v 1.14 2016/02/24 14:25:38 christos Exp $"); #endif #endif /* not lint && not SCCSID */ #include @@ -65,8 +65,8 @@ __FBSDID("$FreeBSD$"); * 1) It is not possible to have one key that is a * substr of another. */ -#include #include +#include #include "el.h" @@ -75,10 +75,10 @@ __FBSDID("$FreeBSD$"); * linked list of these node elements */ struct keymacro_node_t { - Char ch; /* single character of key */ + Char ch; /* single character of key */ int type; /* node type */ keymacro_value_t val; /* command code or pointer to str, */ - /* if this is a leaf */ + /* if this is a leaf */ struct keymacro_node_t *next; /* ptr to next char of this key */ struct keymacro_node_t *sibling;/* ptr to another key with same prefix*/ }; @@ -87,7 +87,7 @@ private int node_trav(EditLine *, keymacro_node_t *, Char *, keymacro_value_t *); private int node__try(EditLine *, keymacro_node_t *, const Char *, keymacro_value_t *, int); -private keymacro_node_t *node__get(Int); +private keymacro_node_t *node__get(wint_t); private void node__free(keymacro_node_t *); private void node__put(EditLine *, keymacro_node_t *); private int node__delete(EditLine *, keymacro_node_t **, @@ -277,21 +277,23 @@ keymacro_print(EditLine *el, const Char *key) /* node_trav(): * recursively traverses node in tree until match or mismatch is - * found. May read in more characters. + * found. May read in more characters. */ private int node_trav(EditLine *el, keymacro_node_t *ptr, Char *ch, keymacro_value_t *val) { + wchar_t wc; if (ptr->ch == *ch) { /* match found */ if (ptr->next) { /* key not complete so get next char */ - if (FUN(el,getc)(el, ch) != 1) {/* if EOF or error */ + if (el_wgetc(el, &wc) != 1) {/* if EOF or error */ val->cmd = ED_END_OF_FILE; return XK_CMD; /* PWP: Pretend we just read an end-of-file */ } + *ch = (Char)wc; return node_trav(el, ptr->next, ch, val); } else { *val = ptr->val; @@ -314,7 +316,7 @@ node_trav(EditLine *el, keymacro_node_t *ptr, Char *ch, keymacro_value_t *val) /* node__try(): - * Find a node that matches *str or allocate a new one + * Find a node that matches *str or allocate a new one */ private int node__try(EditLine *el, keymacro_node_t *ptr, const Char *str, @@ -460,14 +462,14 @@ node__put(EditLine *el, keymacro_node_t *ptr) * Returns pointer to a keymacro_node_t for ch. */ private keymacro_node_t * -node__get(Int ch) +node__get(wint_t ch) { keymacro_node_t *ptr; ptr = el_malloc(sizeof(*ptr)); if (ptr == NULL) return NULL; - ptr->ch = ch; + ptr->ch = (Char)ch; ptr->type = XK_NOD; ptr->val.str = NULL; ptr->next = NULL; @@ -596,7 +598,7 @@ keymacro_kprint(EditLine *el, const Char *key, keymacro_value_t *val, int ntype) case XK_STR: case XK_EXE: (void) keymacro__decode_str(val->str, unparsbuf, - sizeof(unparsbuf), + sizeof(unparsbuf), ntype == XK_STR ? "\"\"" : "[]"); (void) fprintf(el->el_outfile, fmt, ct_encode_string(key, &el->el_scratch), unparsbuf); diff --git a/lib/libedit/makelist b/lib/libedit/makelist index ec3292f..4cb65bc 100644 --- a/lib/libedit/makelist +++ b/lib/libedit/makelist @@ -62,7 +62,7 @@ case $FLAG in #include "${FILES}" _EOF ;; - + -h) set - `echo $FILES | sed -e 's/\\./_/g'` hdr="_h_`basename $1`" @@ -79,7 +79,8 @@ _EOF # XXX: need a space between name and prototype so that -fc and -fh # parsing is much easier # - printf("protected el_action_t\t%s (EditLine *, Int);\n", name); + printf("protected el_action_t\t%s (EditLine *, wint_t);\n", + name); } } END { @@ -94,7 +95,7 @@ _EOF BEGIN { printf("/* Automatically generated file, do not edit */\n"); printf("#include \"config.h\"\n#include \"el.h\"\n"); - printf("#include \"chartype.h\"\n"); + printf("#include \"help.h\"\n"); printf("private const struct el_bindings_t el_func_help[] = {\n"); low = "abcdefghijklmnopqrstuvwxyz_"; high = "ABCDEFGHIJKLMNOPQRSTUVWXYZ_"; @@ -163,7 +164,7 @@ _EOF END { printf("#define\t%-30.30s\t%3d\n", "EL_NUM_FCNS", count); - printf("typedef el_action_t (*el_func_t)(EditLine *, Int);"); + printf("typedef el_action_t (*el_func_t)(EditLine *, wint_t);"); printf("\nprotected const el_func_t* func__get(void);\n"); printf("#endif /* _h_fcns_c */\n"); }' @@ -176,6 +177,9 @@ _EOF BEGIN { printf("/* Automatically generated file, do not edit */\n"); printf("#include \"config.h\"\n#include \"el.h\"\n"); + printf("#include \"common.h\"\n"); + printf("#include \"emacs.h\"\n"); + printf("#include \"vi.h\"\n"); printf("private const el_func_t el_func[] = {"); maxlen = 80; needn = 1; diff --git a/lib/libedit/map.c b/lib/libedit/map.c index 03bb3d8..2d4475c 100644 --- a/lib/libedit/map.c +++ b/lib/libedit/map.c @@ -1,4 +1,4 @@ -/* $NetBSD: map.c,v 1.35 2015/05/14 10:44:15 christos Exp $ */ +/* $NetBSD: map.c,v 1.43 2016/02/17 19:47:49 christos Exp $ */ /*- * Copyright (c) 1992, 1993 @@ -37,7 +37,7 @@ #if 0 static char sccsid[] = "@(#)map.c 8.1 (Berkeley) 6/4/93"; #else -__RCSID("$NetBSD: map.c,v 1.35 2015/05/14 10:44:15 christos Exp $"); +__RCSID("$NetBSD: map.c,v 1.43 2016/02/17 19:47:49 christos Exp $"); #endif #endif /* not lint && not SCCSID */ #include @@ -46,11 +46,16 @@ __FBSDID("$FreeBSD$"); /* * map.c: Editor function definitions */ +#include #include +#include + #include "el.h" +#include "help.h" +#include "parse.h" private void map_print_key(EditLine *, el_action_t *, const Char *); -private void map_print_some_keys(EditLine *, el_action_t *, Int, Int); +private void map_print_some_keys(EditLine *, el_action_t *, wint_t, wint_t); private void map_print_all_keys(EditLine *); private void map_init_nls(EditLine *); private void map_init_meta(EditLine *); @@ -1144,19 +1149,19 @@ map_print_key(EditLine *el, el_action_t *map, const Char *in) * Print keys from first to last */ private void -map_print_some_keys(EditLine *el, el_action_t *map, Int first, Int last) +map_print_some_keys(EditLine *el, el_action_t *map, wint_t first, wint_t last) { el_bindings_t *bp, *ep; Char firstbuf[2], lastbuf[2]; char unparsbuf[EL_BUFSIZ], extrabuf[EL_BUFSIZ]; - firstbuf[0] = first; + firstbuf[0] = (Char)first; firstbuf[1] = 0; - lastbuf[0] = last; + lastbuf[0] = (Char)last; lastbuf[1] = 0; if (map[first] == ED_UNASSIGNED) { if (first == last) { - (void) keymacro__decode_str(firstbuf, unparsbuf, + (void) keymacro__decode_str(firstbuf, unparsbuf, sizeof(unparsbuf), STRQQ); (void) fprintf(el->el_outfile, "%-15s-> is undefined\n", unparsbuf); @@ -1167,14 +1172,14 @@ map_print_some_keys(EditLine *el, el_action_t *map, Int first, Int last) for (bp = el->el_map.help; bp < ep; bp++) { if (bp->func == map[first]) { if (first == last) { - (void) keymacro__decode_str(firstbuf, unparsbuf, + (void) keymacro__decode_str(firstbuf, unparsbuf, sizeof(unparsbuf), STRQQ); (void) fprintf(el->el_outfile, "%-15s-> " FSTR "\n", unparsbuf, bp->name); } else { - (void) keymacro__decode_str(firstbuf, unparsbuf, + (void) keymacro__decode_str(firstbuf, unparsbuf, sizeof(unparsbuf), STRQQ); - (void) keymacro__decode_str(lastbuf, extrabuf, + (void) keymacro__decode_str(lastbuf, extrabuf, sizeof(extrabuf), STRQQ); (void) fprintf(el->el_outfile, "%-4s to %-7s-> " FSTR "\n", @@ -1185,14 +1190,14 @@ map_print_some_keys(EditLine *el, el_action_t *map, Int first, Int last) } #ifdef MAP_DEBUG if (map == el->el_map.key) { - (void) keymacro__decode_str(firstbuf, unparsbuf, + (void) keymacro__decode_str(firstbuf, unparsbuf, sizeof(unparsbuf), STRQQ); (void) fprintf(el->el_outfile, "BUG!!! %s isn't bound to anything.\n", unparsbuf); (void) fprintf(el->el_outfile, "el->el_map.key[%d] == %d\n", first, el->el_map.key[first]); } else { - (void) keymacro__decode_str(firstbuf, unparsbuf, + (void) keymacro__decode_str(firstbuf, unparsbuf, sizeof(unparsbuf), STRQQ); (void) fprintf(el->el_outfile, "BUG!!! %s isn't bound to anything.\n", unparsbuf); @@ -1302,8 +1307,8 @@ map_bind(EditLine *el, int argc, const Char **argv) return 0; default: (void) fprintf(el->el_errfile, - "" FSTR ": Invalid switch `" FCHAR "'.\n", - argv[0], (Int)p[1]); + "" FSTR ": Invalid switch `%lc'.\n", + argv[0], (wint_t)p[1]); } else break; diff --git a/lib/libedit/parse.c b/lib/libedit/parse.c index 1c19cc7..1b7bdb4 100644 --- a/lib/libedit/parse.c +++ b/lib/libedit/parse.c @@ -1,4 +1,4 @@ -/* $NetBSD: parse.c,v 1.27 2014/07/06 18:15:34 christos Exp $ */ +/* $NetBSD: parse.c,v 1.35 2016/02/17 19:47:49 christos Exp $ */ /*- * Copyright (c) 1992, 1993 @@ -37,7 +37,7 @@ #if 0 static char sccsid[] = "@(#)parse.c 8.1 (Berkeley) 6/4/93"; #else -__RCSID("$NetBSD: parse.c,v 1.27 2014/07/06 18:15:34 christos Exp $"); +__RCSID("$NetBSD: parse.c,v 1.35 2016/02/17 19:47:49 christos Exp $"); #endif #endif /* not lint && not SCCSID */ #include @@ -56,16 +56,19 @@ __FBSDID("$FreeBSD$"); * settc * setty */ -#include "el.h" #include +#include + +#include "el.h" +#include "parse.h" private const struct { const Char *name; int (*func)(EditLine *, int, const Char **); } cmds[] = { - { STR("bind"), map_bind }, + { STR("bind"), map_bind }, { STR("echotc"), terminal_echotc }, - { STR("edit"), el_editmode }, + { STR("edit"), el_editmode }, { STR("history"), hist_command }, { STR("telltc"), terminal_telltc }, { STR("settc"), terminal_settc }, @@ -141,7 +144,7 @@ protected int parse__escape(const Char **ptr) { const Char *p; - Int c; + wint_t c; p = *ptr; @@ -253,7 +256,7 @@ parse__string(Char *out, const Char *in) case '^': if ((n = parse__escape(&in)) == -1) return NULL; - *out++ = n; + *out++ = (Char)n; break; case 'M': diff --git a/lib/libedit/prompt.c b/lib/libedit/prompt.c index 3696d0c..afd75bd 100644 --- a/lib/libedit/prompt.c +++ b/lib/libedit/prompt.c @@ -1,4 +1,4 @@ -/* $NetBSD: prompt.c,v 1.20 2011/07/29 15:16:33 christos Exp $ */ +/* $NetBSD: prompt.c,v 1.23 2016/02/16 15:53:48 christos Exp $ */ /*- * Copyright (c) 1992, 1993 @@ -37,7 +37,7 @@ #if 0 static char sccsid[] = "@(#)prompt.c 8.1 (Berkeley) 6/4/93"; #else -__RCSID("$NetBSD: prompt.c,v 1.20 2011/07/29 15:16:33 christos Exp $"); +__RCSID("$NetBSD: prompt.c,v 1.23 2016/02/16 15:53:48 christos Exp $"); #endif #endif /* not lint && not SCCSID */ #include diff --git a/lib/libedit/prompt.h b/lib/libedit/prompt.h index 260c818..5e14b76 100644 --- a/lib/libedit/prompt.h +++ b/lib/libedit/prompt.h @@ -1,4 +1,4 @@ -/* $NetBSD: prompt.h,v 1.10 2009/12/30 22:37:40 christos Exp $ */ +/* $NetBSD: prompt.h,v 1.13 2016/02/17 19:47:49 christos Exp $ */ /*- * Copyright (c) 1992, 1993 @@ -41,15 +41,13 @@ #ifndef _h_el_prompt #define _h_el_prompt -#include "histedit.h" - typedef Char *(*el_pfunc_t)(EditLine *); typedef struct el_prompt_t { el_pfunc_t p_func; /* Function to return the prompt */ coord_t p_pos; /* position in the line after prompt */ Char p_ignore; /* character to start/end literal */ - int p_wide; + int p_wide; } el_prompt_t; protected void prompt_print(EditLine *, int); diff --git a/lib/libedit/read.c b/lib/libedit/read.c index 9740599..ba2c07a 100644 --- a/lib/libedit/read.c +++ b/lib/libedit/read.c @@ -1,4 +1,4 @@ -/* $NetBSD: read.c,v 1.71 2014/07/06 18:15:34 christos Exp $ */ +/* $NetBSD: read.c,v 1.85 2016/02/24 17:20:01 christos Exp $ */ /*- * Copyright (c) 1992, 1993 @@ -37,7 +37,7 @@ #if 0 static char sccsid[] = "@(#)read.c 8.1 (Berkeley) 6/4/93"; #else -__RCSID("$NetBSD: read.c,v 1.71 2014/07/06 18:15:34 christos Exp $"); +__RCSID("$NetBSD: read.c,v 1.85 2016/02/24 17:20:01 christos Exp $"); #endif #endif /* not lint && not SCCSID */ #include @@ -47,18 +47,21 @@ __FBSDID("$FreeBSD$"); * read.c: Clean this junk up! This is horrible code. * Terminal read functions */ +#include #include #include -#include -#include #include +#include +#include +#include + #include "el.h" #define OKCMD -1 /* must be -1! */ private int read__fixio(int, int); private int read_preread(EditLine *); -private int read_char(EditLine *, Char *); +private int read_char(EditLine *, wchar_t *); private int read_getcmd(EditLine *, el_action_t *, Char *); private void read_pop(c_macro_t *); @@ -241,18 +244,21 @@ FUN(el,push)(EditLine *el, const Char *str) private int read_getcmd(EditLine *el, el_action_t *cmdnum, Char *ch) { + static const Char meta = (Char)0x80; el_action_t cmd; + wchar_t wc; int num; el->el_errno = 0; do { - if ((num = FUN(el,getc)(el, ch)) != 1) {/* if EOF or error */ + if ((num = el_wgetc(el, &wc)) != 1) {/* if EOF or error */ el->el_errno = num == 0 ? 0 : errno; return 0; /* not OKCMD */ } + *ch = (Char)wc; #ifdef KANJI - if ((*ch & 0200)) { + if ((*ch & meta)) { el->el_state.metanext = 0; cmd = CcViMap[' ']; break; @@ -261,7 +267,7 @@ read_getcmd(EditLine *el, el_action_t *cmdnum, Char *ch) if (el->el_state.metanext) { el->el_state.metanext = 0; - *ch |= 0200; + *ch |= meta; } #ifdef WIDECHAR if (*ch >= N_KEYS) @@ -296,29 +302,17 @@ read_getcmd(EditLine *el, el_action_t *cmdnum, Char *ch) return OKCMD; } -#ifdef WIDECHAR -/* utf8_islead(): - * Test whether a byte is a leading byte of a UTF-8 sequence. - */ -private int -utf8_islead(int c) -{ - return c < 0x80 || /* single byte char */ - (c >= 0xc2 && c <= 0xf4); /* start of multibyte sequence */ -} -#endif - /* read_char(): * Read a character from the tty. */ private int -read_char(EditLine *el, Char *cp) +read_char(EditLine *el, wchar_t *cp) { ssize_t num_read; int tried = 0; char cbuf[MB_LEN_MAX]; size_t cbp = 0; - int bytes = 0; + int save_errno = errno; again: el->el_signal->sig_no = 0; @@ -334,50 +328,59 @@ read_char(EditLine *el, Char *cp) default: break; } - if (!tried && read__fixio(el->el_infd, e) == 0) + if (!tried && read__fixio(el->el_infd, e) == 0) { + errno = save_errno; tried = 1; - else { + } else { errno = e; - *cp = '\0'; + *cp = L'\0'; return -1; } } /* Test for EOF */ if (num_read == 0) { - errno = 0; - *cp = '\0'; + *cp = L'\0'; return 0; } -#ifdef WIDECHAR - if (el->el_flags & CHARSET_IS_UTF8) { - if (!utf8_islead((unsigned char)cbuf[0])) - goto again; /* discard the byte we read and try again */ + for (;;) { + ++cbp; - if ((bytes = ct_mbtowc(cp, cbuf, cbp)) == -1) { - ct_mbtowc_reset; - if (cbp >= MB_LEN_MAX) { /* "shouldn't happen" */ + switch (ct_mbrtowc(cp, cbuf, cbp)) { + case (size_t)-1: + if (cbp > 1) { + /* + * Invalid sequence, discard all bytes + * except the last one. + */ + cbuf[0] = cbuf[cbp - 1]; + cbp = 0; + break; + } else { + /* Invalid byte, discard it. */ + cbp = 0; + goto again; + } + case (size_t)-2: + /* + * We don't support other multibyte charsets. + * The second condition shouldn't happen + * and is here merely for additional safety. + */ + if ((el->el_flags & CHARSET_IS_UTF8) == 0 || + cbp >= MB_LEN_MAX) { errno = EILSEQ; - *cp = '\0'; + *cp = L'\0'; return -1; } + /* Incomplete sequence, read another byte. */ goto again; + default: + /* Valid character, process it. */ + return 1; } - } else if (isascii((unsigned char)cbuf[0]) || - /* we don't support other multibyte charsets */ - ++cbp != 1 || - /* Try non-ASCII characters in a 8-bit character set */ - (bytes = ct_mbtowc(cp, cbuf, cbp)) != 1) -#endif - *cp = (unsigned char)cbuf[0]; - - if ((el->el_flags & IGNORE_EXTCHARS) && bytes > 1) { - cbp = 0; /* skip this character */ - goto again; } - - return (int)num_read; } /* read_pop(): @@ -395,11 +398,11 @@ read_pop(c_macro_t *ma) ma->offset = 0; } -/* el_getc(): - * Read a character +/* el_wgetc(): + * Read a wide character */ public int -FUN(el,getc)(EditLine *el, Char *cp) +el_wgetc(EditLine *el, wchar_t *cp) { int num_read; c_macro_t *ma = &el->el_chared.c_macro; @@ -441,12 +444,8 @@ FUN(el,getc)(EditLine *el, Char *cp) num_read = (*el->el_read.read_char)(el, cp); if (num_read < 0) el->el_errno = errno; -#ifdef WIDECHAR - if (el->el_flags & NARROW_READ) - *cp = *(char *)(void *)cp; -#endif #ifdef DEBUG_READ - (void) fprintf(el->el_errfile, "Got it %c\n", *cp); + (void) fprintf(el->el_errfile, "Got it %lc\n", *cp); #endif /* DEBUG_READ */ return num_read; } @@ -487,6 +486,7 @@ FUN(el,gets)(EditLine *el, int *nread) int retval; el_action_t cmdnum = 0; int num; /* how many chars we have read at NL */ + wchar_t wc; Char ch, *cp; int crlf = 0; int nrb; @@ -502,7 +502,8 @@ FUN(el,gets)(EditLine *el, int *nread) size_t idx; cp = el->el_line.buffer; - while ((num = (*el->el_read.read_char)(el, cp)) == 1) { + while ((num = (*el->el_read.read_char)(el, &wc)) == 1) { + *cp = (Char)wc; /* make sure there is space for next character */ if (cp + 1 >= el->el_line.limit) { idx = (size_t)(cp - el->el_line.buffer); @@ -554,7 +555,8 @@ FUN(el,gets)(EditLine *el, int *nread) terminal__flush(el); - while ((num = (*el->el_read.read_char)(el, cp)) == 1) { + while ((num = (*el->el_read.read_char)(el, &wc)) == 1) { + *cp = (Char)wc; /* make sure there is space next character */ if (cp + 1 >= el->el_line.limit) { idx = (size_t)(cp - el->el_line.buffer); diff --git a/lib/libedit/read.h b/lib/libedit/read.h index fa2a611..bf43053 100644 --- a/lib/libedit/read.h +++ b/lib/libedit/read.h @@ -1,4 +1,4 @@ -/* $NetBSD: read.h,v 1.7 2009/12/30 22:37:40 christos Exp $ */ +/* $NetBSD: read.h,v 1.9 2016/02/24 17:13:22 christos Exp $ */ /*- * Copyright (c) 2001 The NetBSD Foundation, Inc. @@ -37,12 +37,12 @@ #ifndef _h_el_read #define _h_el_read -typedef int (*el_rfunc_t)(EditLine *, Char *); +typedef int (*el_rfunc_t)(EditLine *, wchar_t *); typedef struct el_read_t { el_rfunc_t read_char; /* Function to read a character */ } el_read_t; - + protected int read_init(EditLine *); protected void read_prepare(EditLine *); protected void read_finish(EditLine *); diff --git a/lib/libedit/readline.c b/lib/libedit/readline.c index caddb9f..00ea369 100644 --- a/lib/libedit/readline.c +++ b/lib/libedit/readline.c @@ -1,4 +1,4 @@ -/* $NetBSD: readline.c,v 1.117 2015/06/02 15:35:31 christos Exp $ */ +/* $NetBSD: readline.c,v 1.126 2016/02/24 17:13:22 christos Exp $ */ /*- * Copyright (c) 1997 The NetBSD Foundation, Inc. @@ -31,30 +31,29 @@ #include "config.h" #if !defined(lint) && !defined(SCCSID) -__RCSID("$NetBSD: readline.c,v 1.117 2015/06/02 15:35:31 christos Exp $"); +__RCSID("$NetBSD: readline.c,v 1.126 2016/02/24 17:13:22 christos Exp $"); #endif /* not lint && not SCCSID */ #include __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 "readline/readline.h" #include "el.h" -#include "fcns.h" /* for EL_NUM_FCNS */ -#include "histedit.h" #include "filecomplete.h" void rl_prep_terminal(int); @@ -169,13 +168,13 @@ static jmp_buf topbuf; static unsigned char _el_rl_complete(EditLine *, int); static unsigned char _el_rl_tstp(EditLine *, int); static char *_get_prompt(EditLine *); -static int _getc_function(EditLine *, char *); +static int _getc_function(EditLine *, wchar_t *); static HIST_ENTRY *_move_history(int); static int _history_expand_command(const char *, size_t, size_t, char **); static char *_rl_compat_sub(const char *, const char *, const char *, int); -static int _rl_event_read_char(EditLine *, char *); +static int _rl_event_read_char(EditLine *, wchar_t *); static void _rl_update_pos(void); @@ -212,14 +211,14 @@ _move_history(int op) */ static int /*ARGSUSED*/ -_getc_function(EditLine *el __attribute__((__unused__)), char *c) +_getc_function(EditLine *el __attribute__((__unused__)), wchar_t *c) { int i; i = (*rl_getc_function)(NULL); if (i == -1) return 0; - *c = (char)i; + *c = (wchar_t)i; return 1; } @@ -269,7 +268,7 @@ rl_set_prompt(const char *prompt) if (!prompt) prompt = ""; - if (rl_prompt != NULL && strcmp(rl_prompt, prompt) == 0) + if (rl_prompt != NULL && strcmp(rl_prompt, prompt) == 0) return 0; if (rl_prompt) el_free(rl_prompt); @@ -363,7 +362,7 @@ rl_initialize(void) "ReadLine compatible suspend function", _el_rl_tstp); el_set(e, EL_BIND, "^Z", "rl_tstp", NULL); - + /* * Set some readline compatible key-bindings. */ @@ -2010,7 +2009,7 @@ rl_callback_read_char(void) } } -void +void rl_callback_handler_install(const char *prompt, rl_vcpfunc_t *linefunc) { if (e == NULL) { @@ -2019,9 +2018,9 @@ rl_callback_handler_install(const char *prompt, rl_vcpfunc_t *linefunc) (void)rl_set_prompt(prompt); rl_linefunc = linefunc; el_set(e, EL_UNBUFFERED, 1); -} +} -void +void rl_callback_handler_remove(void) { el_set(e, EL_UNBUFFERED, 0); @@ -2102,12 +2101,14 @@ rl_stuff_char(int c) } static int -_rl_event_read_char(EditLine *el, char *cp) +_rl_event_read_char(EditLine *el, wchar_t *wc) { + char ch; int n; ssize_t num_read = 0; - *cp = '\0'; + ch = '\0'; + *wc = L'\0'; while (rl_event_hook) { (*rl_event_hook)(); @@ -2116,7 +2117,7 @@ _rl_event_read_char(EditLine *el, char *cp) if (ioctl(el->el_infd, FIONREAD, &n) < 0) return -1; if (n) - num_read = read(el->el_infd, cp, (size_t)1); + num_read = read(el->el_infd, &ch, (size_t)1); else num_read = 0; #elif defined(F_SETFL) && defined(O_NDELAY) @@ -2124,12 +2125,12 @@ _rl_event_read_char(EditLine *el, char *cp) return -1; if (fcntl(el->el_infd, F_SETFL, n|O_NDELAY) < 0) return -1; - num_read = read(el->el_infd, cp, 1); + num_read = read(el->el_infd, &ch, 1); if (fcntl(el->el_infd, F_SETFL, n)) return -1; #else /* not non-blocking, but what you gonna do? */ - num_read = read(el->el_infd, cp, 1); + num_read = read(el->el_infd, &ch, 1); return -1; #endif @@ -2141,6 +2142,7 @@ _rl_event_read_char(EditLine *el, char *cp) } if (!rl_event_hook) el_set(el, EL_GETCFN, EL_BUILTIN_GETCFN); + *wc = (wchar_t)ch; return (int)num_read; } @@ -2203,7 +2205,7 @@ rl_completion_matches(const char *str, rl_compentry_func_t *fun) } qsort(&list[1], len - 1, sizeof(*list), (int (*)(const void *, const void *)) strcmp); - min = SIZE_T_MAX; + min = SIZE_MAX; for (i = 1, a = list[i]; i < len - 1; i++, a = b) { b = list[i + 1]; for (j = 0; a[j] && a[j] == b[j]; j++) @@ -2221,7 +2223,7 @@ rl_completion_matches(const char *str, rl_compentry_func_t *fun) list[0][min] = '\0'; } return list; - + out: el_free(list); return NULL; @@ -2325,3 +2327,10 @@ void rl_free_line_state(void) { } + +int +/*ARGSUSED*/ +rl_set_keyboard_input_timeout(int u __attribute__((__unused__))) +{ + return 0; +} diff --git a/lib/libedit/refresh.c b/lib/libedit/refresh.c index c85e845..e6f629a 100644 --- a/lib/libedit/refresh.c +++ b/lib/libedit/refresh.c @@ -1,4 +1,4 @@ -/* $NetBSD: refresh.c,v 1.37 2011/07/29 23:44:45 christos Exp $ */ +/* $NetBSD: refresh.c,v 1.44 2016/02/17 19:47:49 christos Exp $ */ /*- * Copyright (c) 1992, 1993 @@ -37,7 +37,7 @@ #if 0 static char sccsid[] = "@(#)refresh.c 8.1 (Berkeley) 6/4/93"; #else -__RCSID("$NetBSD: refresh.c,v 1.37 2011/07/29 23:44:45 christos Exp $"); +__RCSID("$NetBSD: refresh.c,v 1.44 2016/02/17 19:47:49 christos Exp $"); #endif #endif /* not lint && not SCCSID */ #include @@ -47,18 +47,17 @@ __FBSDID("$FreeBSD$"); * refresh.c: Lower level screen refreshing functions */ #include -#include -#include #include +#include #include "el.h" private void re_nextline(EditLine *); -private void re_addc(EditLine *, Int); +private void re_addc(EditLine *, wint_t); private void re_update_line(EditLine *, Char *, Char *, int); private void re_insert (EditLine *, Char *, int, int, Char *, int); private void re_delete(EditLine *, Char *, int, int, int); -private void re_fastputc(EditLine *, Int); +private void re_fastputc(EditLine *, wint_t); private void re_clear_eol(EditLine *, int, int, int); private void re__strncopy(Char *, Char *, size_t); private void re__copy_and_pad(Char *, const Char *, size_t); @@ -66,7 +65,7 @@ private void re__copy_and_pad(Char *, const Char *, size_t); #ifdef DEBUG_REFRESH private void re_printstr(EditLine *, const char *, char *, char *); #define __F el->el_errfile -#define ELRE_ASSERT(a, b, c) do \ +#define ELRE_ASSERT(a, b, c) do \ if (/*CONSTCOND*/ a) { \ (void) fprintf b; \ c; \ @@ -112,7 +111,7 @@ re_nextline(EditLine *el) for(i = 1; i < lins; i++) el->el_vdisplay[i - 1] = el->el_vdisplay[i]; - firstline[0] = '\0'; /* empty the string */ + firstline[0] = '\0'; /* empty the string */ el->el_vdisplay[i - 1] = firstline; } else el->el_refresh.r_cursor.v++; @@ -127,7 +126,7 @@ re_nextline(EditLine *el) * Draw c, expanding tabs, control chars etc. */ private void -re_addc(EditLine *el, Int c) +re_addc(EditLine *el, wint_t c) { switch (ct_chr_class((Char)c)) { case CHTYPE_TAB: /* expand the tab */ @@ -163,16 +162,16 @@ re_addc(EditLine *el, Int c) * Draw the character given */ protected void -re_putc(EditLine *el, Int c, int shift) +re_putc(EditLine *el, wint_t c, int shift) { int i, w = Width(c); - ELRE_DEBUG(1, (__F, "printing %5x '%c'\r\n", c, c)); + ELRE_DEBUG(1, (__F, "printing %5x '%lc'\r\n", c, c)); while (shift && (el->el_refresh.r_cursor.h + w > el->el_terminal.t_size.h)) re_putc(el, ' ', 1); el->el_vdisplay[el->el_refresh.r_cursor.v] - [el->el_refresh.r_cursor.h] = c; + [el->el_refresh.r_cursor.h] = (Char)c; /* assumes !shift is only used for single-column chars */ i = w; while (--i > 0) @@ -194,7 +193,7 @@ re_putc(EditLine *el, Int c, int shift) /* re_refresh(): * draws the new virtual screen image from the current input - * line, then goes line-by-line changing the real image to the new + * line, then goes line-by-line changing the real image to the new * virtual image. The routine to re-draw a line can be replaced * easily in hopes of a smarter one being placed there. */ @@ -453,7 +452,7 @@ re__strncopy(Char *a, Char *b, size_t n) * in order to make sure that we have cleared the previous contents of * the line. fx and sx is the number of characters inserted or deleted * in the first or second diff, diff is the difference between the - * number of characters between the new and old line. + * number of characters between the new and old line. */ private void re_clear_eol(EditLine *el, int fx, int sx, int diff) @@ -1054,14 +1053,14 @@ re_refresh_cursor(EditLine *el) * Add a character fast. */ private void -re_fastputc(EditLine *el, Int c) +re_fastputc(EditLine *el, wint_t c) { int w = Width((Char)c); while (w > 1 && el->el_cursor.h + w > el->el_terminal.t_size.h) re_fastputc(el, ' '); terminal__putc(el, c); - el->el_display[el->el_cursor.v][el->el_cursor.h++] = c; + el->el_display[el->el_cursor.v][el->el_cursor.h++] = (Char)c; while (--w > 0) el->el_display[el->el_cursor.v][el->el_cursor.h++] = MB_FILL_CHAR; @@ -1079,7 +1078,7 @@ re_fastputc(EditLine *el, Int c) if (el->el_cursor.v + 1 >= el->el_terminal.t_size.v) { int i, lins = el->el_terminal.t_size.v; Char *firstline = el->el_display[0]; - + for(i = 1; i < lins; i++) el->el_display[i - 1] = el->el_display[i]; diff --git a/lib/libedit/refresh.h b/lib/libedit/refresh.h index 71a1587..b9c4b30 100644 --- a/lib/libedit/refresh.h +++ b/lib/libedit/refresh.h @@ -1,4 +1,4 @@ -/* $NetBSD: refresh.h,v 1.6 2009/12/30 22:37:40 christos Exp $ */ +/* $NetBSD: refresh.h,v 1.9 2016/02/16 15:53:48 christos Exp $ */ /*- * Copyright (c) 1992, 1993 @@ -41,15 +41,13 @@ #ifndef _h_el_refresh #define _h_el_refresh -#include "histedit.h" - typedef struct { coord_t r_cursor; /* Refresh cursor position */ int r_oldcv; /* Vertical locations */ int r_newcv; } el_refresh_t; -protected void re_putc(EditLine *, Int, int); +protected void re_putc(EditLine *, wint_t, int); protected void re_clear_lines(EditLine *); protected void re_clear_display(EditLine *); protected void re_refresh(EditLine *); diff --git a/lib/libedit/search.c b/lib/libedit/search.c index df9999c..53ad6ef 100644 --- a/lib/libedit/search.c +++ b/lib/libedit/search.c @@ -1,4 +1,4 @@ -/* $NetBSD: search.c,v 1.31 2016/01/30 04:02:51 christos Exp $ */ +/* $NetBSD: search.c,v 1.39 2016/02/24 14:25:38 christos Exp $ */ /*- * Copyright (c) 1992, 1993 @@ -37,7 +37,7 @@ #if 0 static char sccsid[] = "@(#)search.c 8.1 (Berkeley) 6/4/93"; #else -__RCSID("$NetBSD: search.c,v 1.31 2016/01/30 04:02:51 christos Exp $"); +__RCSID("$NetBSD: search.c,v 1.39 2016/02/24 14:25:38 christos Exp $"); #endif #endif /* not lint && not SCCSID */ #include @@ -47,12 +47,15 @@ __FBSDID("$FreeBSD$"); * search.c: History and character search functions */ #include +#include #if defined(REGEX) #include #elif defined(REGEXP) #include #endif + #include "el.h" +#include "common.h" /* * Adjust cursor in vi mode to include the character under it @@ -211,8 +214,9 @@ ce_inc_search(EditLine *el, int dir) STRbck[] = {'b', 'c', 'k', '\0'}; static Char pchar = ':';/* ':' = normal, '?' = failed */ static Char endcmd[2] = {'\0', '\0'}; - Char ch, *ocursor = el->el_line.cursor, oldpchar = pchar; + Char *ocursor = el->el_line.cursor, oldpchar = pchar, ch; const Char *cp; + wchar_t wch; el_action_t ret = CC_NORM; @@ -251,9 +255,11 @@ ce_inc_search(EditLine *el, int dir) *el->el_line.lastchar = '\0'; re_refresh(el); - if (FUN(el,getc)(el, &ch) != 1) + if (el_wgetc(el, &wch) != 1) return ed_end_of_file(el, 0); + ch = (Char)wch; + switch (el->el_map.current[(unsigned char) ch]) { case ED_INSERT: case ED_DIGIT: @@ -347,14 +353,14 @@ ce_inc_search(EditLine *el, int dir) /* Can't search if unmatched '[' */ for (cp = &el->el_search.patbuf[el->el_search.patlen-1], - ch = ']'; + ch = L']'; cp >= &el->el_search.patbuf[LEN]; cp--) if (*cp == '[' || *cp == ']') { ch = *cp; break; } - if (el->el_search.patlen > LEN && ch != '[') { + if (el->el_search.patlen > LEN && ch != L'[') { if (redo && newdir == dir) { if (pchar == '?') { /* wrap around */ el->el_history.eventno = @@ -569,7 +575,7 @@ ce_search_line(EditLine *el, int dir) * Vi repeat search */ protected el_action_t -cv_repeat_srch(EditLine *el, Int c) +cv_repeat_srch(EditLine *el, wint_t c) { #ifdef SDEBUG @@ -595,35 +601,33 @@ cv_repeat_srch(EditLine *el, Int c) * Vi character search */ protected el_action_t -cv_csearch(EditLine *el, int direction, Int ch, int count, int tflag) +cv_csearch(EditLine *el, int direction, wint_t ch, int count, int tflag) { Char *cp; if (ch == 0) return CC_ERROR; - if (ch == (Int)-1) { - Char c; - if (FUN(el,getc)(el, &c) != 1) + if (ch == (wint_t)-1) { + if (el_wgetc(el, &ch) != 1) return ed_end_of_file(el, 0); - ch = c; } /* Save for ';' and ',' commands */ - el->el_search.chacha = ch; + el->el_search.chacha = (Char)ch; el->el_search.chadir = direction; el->el_search.chatflg = (char)tflag; cp = el->el_line.cursor; while (count--) { - if ((Int)*cp == ch) + if ((wint_t)*cp == ch) cp += direction; for (;;cp += direction) { if (cp >= el->el_line.lastchar) return CC_ERROR; if (cp < el->el_line.buffer) return CC_ERROR; - if ((Int)*cp == ch) + if ((wint_t)*cp == ch) break; } } diff --git a/lib/libedit/search.h b/lib/libedit/search.h index 02c8f5d..1e745bd 100644 --- a/lib/libedit/search.h +++ b/lib/libedit/search.h @@ -1,4 +1,4 @@ -/* $NetBSD: search.h,v 1.9 2009/12/30 22:37:40 christos Exp $ */ +/* $NetBSD: search.h,v 1.12 2016/02/16 15:53:48 christos Exp $ */ /*- * Copyright (c) 1992, 1993 @@ -41,8 +41,6 @@ #ifndef _h_el_search #define _h_el_search -#include "histedit.h" - typedef struct el_search_t { Char *patbuf; /* The pattern buffer */ size_t patlen; /* Length of the pattern buffer */ @@ -61,7 +59,7 @@ protected void c_setpat(EditLine *); protected el_action_t ce_inc_search(EditLine *, int); protected el_action_t cv_search(EditLine *, int); protected el_action_t ce_search_line(EditLine *, int); -protected el_action_t cv_repeat_srch(EditLine *, Int); -protected el_action_t cv_csearch(EditLine *, int, Int, int, int); +protected el_action_t cv_repeat_srch(EditLine *, wint_t); +protected el_action_t cv_csearch(EditLine *, int, wint_t, int, int); #endif /* _h_el_search */ diff --git a/lib/libedit/sig.c b/lib/libedit/sig.c index babec69..f37a12e 100644 --- a/lib/libedit/sig.c +++ b/lib/libedit/sig.c @@ -1,4 +1,4 @@ -/* $NetBSD: sig.c,v 1.17 2011/07/28 20:50:55 christos Exp $ */ +/* $NetBSD: sig.c,v 1.24 2016/02/16 19:08:41 christos Exp $ */ /*- * Copyright (c) 1992, 1993 @@ -37,7 +37,7 @@ #if 0 static char sccsid[] = "@(#)sig.c 8.1 (Berkeley) 6/4/93"; #else -__RCSID("$NetBSD: sig.c,v 1.17 2011/07/28 20:50:55 christos Exp $"); +__RCSID("$NetBSD: sig.c,v 1.24 2016/02/16 19:08:41 christos Exp $"); #endif #endif /* not lint && not SCCSID */ #include @@ -48,9 +48,12 @@ __FBSDID("$FreeBSD$"); * our policy is to trap all signals, set a good state * and pass the ball to our caller. */ -#include "el.h" +#include #include +#include "el.h" +#include "common.h" + private EditLine *sel = NULL; private const int sighdl[] = { @@ -70,9 +73,10 @@ private void sig_handler(int); private void sig_handler(int signo) { - int i; + int i, save_errno; sigset_t nset, oset; + save_errno = errno; (void) sigemptyset(&nset); (void) sigaddset(&nset, signo); (void) sigprocmask(SIG_BLOCK, &nset, &oset); @@ -106,6 +110,7 @@ sig_handler(int signo) sigemptyset(&sel->el_signal->sig_action[i].sa_mask); (void) sigprocmask(SIG_SETMASK, &oset, NULL); (void) kill(0, signo); + errno = save_errno; } diff --git a/lib/libedit/sig.h b/lib/libedit/sig.h index a096681..34ec1da 100644 --- a/lib/libedit/sig.h +++ b/lib/libedit/sig.h @@ -1,4 +1,4 @@ -/* $NetBSD: sig.h,v 1.8 2009/02/19 15:20:22 christos Exp $ */ +/* $NetBSD: sig.h,v 1.10 2016/02/16 15:53:48 christos Exp $ */ /*- * Copyright (c) 1992, 1993 @@ -43,8 +43,6 @@ #include -#include "histedit.h" - /* * Define here all the signals we are going to handle * The _DO macro is used to iterate in the source code diff --git a/lib/libedit/sys.h b/lib/libedit/sys.h index d005ffd..3807c95 100644 --- a/lib/libedit/sys.h +++ b/lib/libedit/sys.h @@ -1,4 +1,4 @@ -/* $NetBSD: sys.h,v 1.17 2011/09/28 14:08:04 christos Exp $ */ +/* $NetBSD: sys.h,v 1.23 2016/02/17 19:47:49 christos Exp $ */ /*- * Copyright (c) 1992, 1993 @@ -58,7 +58,7 @@ # define __END_DECLS # endif #endif - + #ifndef public # define public /* Externally visible functions/variables */ #endif @@ -88,14 +88,9 @@ size_t strlcat(char *dst, const char *src, size_t size); size_t strlcpy(char *dst, const char *src, size_t size); #endif -#ifndef HAVE_FGETLN -#define fgetln libedit_fgetln -char *fgetln(FILE *fp, size_t *len); -#endif - -#ifndef HAVE_WCSDUP -#include -wchar_t *wcsdup(const wchar_t *); +#ifndef HAVE_GETLINE +#define getline libedit_getline +ssize_t getline(char **line, size_t *len, FILE *fp); #endif #ifndef _DIAGASSERT @@ -110,13 +105,18 @@ wchar_t *wcsdup(const wchar_t *); typedef unsigned int u_int32_t; #endif -#ifndef SIZE_T_MAX -#define SIZE_T_MAX ((size_t)-1) +#ifndef HAVE_SIZE_MAX +#define SIZE_MAX ((size_t)-1) #endif #define REGEX /* Use POSIX.2 regular expression functions */ #undef REGEXP /* Use UNIX V8 regular expression functions */ +#ifndef WIDECHAR +#define setlocale(c, l) /*LINTED*/NULL +#define nl_langinfo(i) "" +#endif + #if defined(__sun) extern int tgetent(char *, const char *); extern int tgetflag(char *); diff --git a/lib/libedit/terminal.c b/lib/libedit/terminal.c index 0709d53..be76960 100644 --- a/lib/libedit/terminal.c +++ b/lib/libedit/terminal.c @@ -1,4 +1,4 @@ -/* $NetBSD: terminal.c,v 1.14 2012/05/30 18:21:14 christos Exp $ */ +/* $NetBSD: terminal.c,v 1.22 2016/02/17 19:47:49 christos Exp $ */ /*- * Copyright (c) 1992, 1993 @@ -37,7 +37,7 @@ #if 0 static char sccsid[] = "@(#)term.c 8.2 (Berkeley) 4/30/95"; #else -__RCSID("$NetBSD: terminal.c,v 1.14 2012/05/30 18:21:14 christos Exp $"); +__RCSID("$NetBSD: terminal.c,v 1.22 2016/02/17 19:47:49 christos Exp $"); #endif #endif /* not lint && not SCCSID */ #include @@ -48,12 +48,14 @@ __FBSDID("$FreeBSD$"); * We have to declare a static variable here, since the * termcap putchar routine does not take an argument! */ -#include +#include +#include +#include #include -#include +#include #include +#include #include -#include #ifdef HAVE_TERMCAP_H #include #endif @@ -67,9 +69,6 @@ __FBSDID("$FreeBSD$"); #if defined(HAVE_TERM_H) && !defined(__sun) && !defined(HAVE_TERMCAP_H) #include #endif - -#include -#include #ifdef _REENTRANT #include @@ -274,31 +273,45 @@ terminal_init(EditLine *el) el->el_terminal.t_buf = el_malloc(TC_BUFSIZE * sizeof(*el->el_terminal.t_buf)); if (el->el_terminal.t_buf == NULL) - return -1; + goto fail1; el->el_terminal.t_cap = el_malloc(TC_BUFSIZE * sizeof(*el->el_terminal.t_cap)); if (el->el_terminal.t_cap == NULL) - return -1; + goto fail2; el->el_terminal.t_fkey = el_malloc(A_K_NKEYS * sizeof(*el->el_terminal.t_fkey)); if (el->el_terminal.t_fkey == NULL) - return -1; + goto fail3; el->el_terminal.t_loc = 0; el->el_terminal.t_str = el_malloc(T_str * sizeof(*el->el_terminal.t_str)); if (el->el_terminal.t_str == NULL) - return -1; + goto fail4; (void) memset(el->el_terminal.t_str, 0, T_str * sizeof(*el->el_terminal.t_str)); el->el_terminal.t_val = el_malloc(T_val * sizeof(*el->el_terminal.t_val)); if (el->el_terminal.t_val == NULL) - return -1; + goto fail5; (void) memset(el->el_terminal.t_val, 0, T_val * sizeof(*el->el_terminal.t_val)); (void) terminal_set(el, NULL); terminal_init_arrow(el); return 0; +fail5: + free(el->el_terminal.t_str); + el->el_terminal.t_str = NULL; +fail4: + free(el->el_terminal.t_fkey); + el->el_terminal.t_fkey = NULL; +fail3: + free(el->el_terminal.t_cap); + el->el_terminal.t_cap = NULL; +fail2: + free(el->el_terminal.t_buf); + el->el_terminal.t_buf = NULL; +fail1: + return -1; } /* terminal_end(): @@ -420,14 +433,14 @@ terminal_alloc_display(EditLine *el) b = el_malloc(sizeof(*b) * (size_t)(c->v + 1)); if (b == NULL) - return -1; + goto done; for (i = 0; i < c->v; i++) { b[i] = el_malloc(sizeof(**b) * (size_t)(c->h + 1)); if (b[i] == NULL) { while (--i >= 0) el_free(b[i]); el_free(b); - return -1; + goto done; } } b[c->v] = NULL; @@ -435,19 +448,22 @@ terminal_alloc_display(EditLine *el) b = el_malloc(sizeof(*b) * (size_t)(c->v + 1)); if (b == NULL) - return -1; + goto done; for (i = 0; i < c->v; i++) { b[i] = el_malloc(sizeof(**b) * (size_t)(c->h + 1)); if (b[i] == NULL) { while (--i >= 0) el_free(b[i]); el_free(b); - return -1; + goto done; } } b[c->v] = NULL; el->el_vdisplay = b; return 0; +done: + terminal_free_display(el); + return -1; } @@ -479,7 +495,7 @@ terminal_free_display(EditLine *el) /* terminal_move_to_line(): * move to line (first line == 0) - * as efficiently as possible + * as efficiently as possible */ protected void terminal_move_to_line(EditLine *el, int where) @@ -492,8 +508,7 @@ terminal_move_to_line(EditLine *el, int where) if (where > el->el_terminal.t_size.v) { #ifdef DEBUG_SCREEN (void) fprintf(el->el_errfile, - "terminal_move_to_line: where is ridiculous: %d\r\n", - where); + "%s: where is ridiculous: %d\r\n", __func__, where); #endif /* DEBUG_SCREEN */ return; } @@ -559,8 +574,7 @@ mc_again: if (where > el->el_terminal.t_size.h) { #ifdef DEBUG_SCREEN (void) fprintf(el->el_errfile, - "terminal_move_to_char: where is riduculous: %d\r\n", - where); + "%s: where is ridiculous: %d\r\n", __func__, where); #endif /* DEBUG_SCREEN */ return; } @@ -596,7 +610,7 @@ mc_again: i < (where & ~0x7); i += 8) terminal__putc(el, - '\t'); + '\t'); /* then tab over */ el->el_cursor.h = where & ~0x7; } @@ -654,7 +668,7 @@ terminal_overwrite(EditLine *el, const Char *cp, size_t n) if (n > (size_t)el->el_terminal.t_size.h) { #ifdef DEBUG_SCREEN (void) fprintf(el->el_errfile, - "terminal_overwrite: n is riduculous: %d\r\n", n); + "%s: n is ridiculous: %d\r\n", __func__, n); #endif /* DEBUG_SCREEN */ return; } @@ -710,7 +724,7 @@ terminal_deletechars(EditLine *el, int num) if (num > el->el_terminal.t_size.h) { #ifdef DEBUG_SCREEN (void) fprintf(el->el_errfile, - "terminal_deletechars: num is riduculous: %d\r\n", num); + "%s: num is ridiculous: %d\r\n", __func__, num); #endif /* DEBUG_SCREEN */ return; } @@ -751,7 +765,7 @@ terminal_insertwrite(EditLine *el, Char *cp, int num) if (num > el->el_terminal.t_size.h) { #ifdef DEBUG_SCREEN (void) fprintf(el->el_errfile, - "StartInsert: num is riduculous: %d\r\n", num); + "%s: num is ridiculous: %d\r\n", __func__, num); #endif /* DEBUG_SCREEN */ return; } @@ -1241,13 +1255,13 @@ terminal_tputs(EditLine *el, const char *cap, int affcnt) * Add a character */ protected int -terminal__putc(EditLine *el, Int c) +terminal__putc(EditLine *el, wint_t c) { char buf[MB_LEN_MAX +1]; ssize_t i; - if (c == (Int)MB_FILL_CHAR) + if (c == (wint_t)MB_FILL_CHAR) return 0; - i = ct_encode_char(buf, (size_t)MB_LEN_MAX, c); + i = ct_encode_char(buf, (size_t)MB_LEN_MAX, (Char)c); if (i <= 0) return (int)i; buf[i] = '\0'; @@ -1268,10 +1282,10 @@ terminal__flush(EditLine *el) * Write the given character out, in a human readable form */ protected void -terminal_writec(EditLine *el, Int c) +terminal_writec(EditLine *el, wint_t c) { Char visbuf[VISUAL_WIDTH_MAX +1]; - ssize_t vcnt = ct_visual_char(visbuf, VISUAL_WIDTH_MAX, c); + ssize_t vcnt = ct_visual_char(visbuf, VISUAL_WIDTH_MAX, (Char)c); if (vcnt < 0) vcnt = 0; visbuf[vcnt] = '\0'; @@ -1285,7 +1299,7 @@ terminal_writec(EditLine *el, Int c) */ protected int /*ARGSUSED*/ -terminal_telltc(EditLine *el, int argc __attribute__((__unused__)), +terminal_telltc(EditLine *el, int argc __attribute__((__unused__)), const Char **argv __attribute__((__unused__))) { const struct termcapstr *t; diff --git a/lib/libedit/terminal.h b/lib/libedit/terminal.h index f26f5e1..9c66c19 100644 --- a/lib/libedit/terminal.h +++ b/lib/libedit/terminal.h @@ -1,4 +1,4 @@ -/* $NetBSD: terminal.h,v 1.4 2012/03/24 20:09:30 christos Exp $ */ +/* $NetBSD: terminal.h,v 1.7 2016/02/16 15:53:48 christos Exp $ */ /*- * Copyright (c) 1992, 1993 @@ -41,8 +41,6 @@ #ifndef _h_el_terminal #define _h_el_terminal -#include "histedit.h" - typedef struct { /* Symbolic function key bindings */ const Char *name; /* name of the key */ int key; /* Index in termcap table */ @@ -105,8 +103,8 @@ protected int terminal_settc(EditLine *, int, const Char **); protected int terminal_gettc(EditLine *, int, char **); protected int terminal_telltc(EditLine *, int, const Char **); protected int terminal_echotc(EditLine *, int, const Char **); -protected void terminal_writec(EditLine *, Int); -protected int terminal__putc(EditLine *, Int); +protected void terminal_writec(EditLine *, wint_t); +protected int terminal__putc(EditLine *, wint_t); protected void terminal__flush(EditLine *); /* diff --git a/lib/libedit/tokenizer.c b/lib/libedit/tokenizer.c index f5171c4..23f940f 100644 --- a/lib/libedit/tokenizer.c +++ b/lib/libedit/tokenizer.c @@ -1,4 +1,4 @@ -/* $NetBSD: tokenizer.c,v 1.22 2016/01/30 04:02:51 christos Exp $ */ +/* $NetBSD: tokenizer.c,v 1.24 2016/02/17 19:47:49 christos Exp $ */ /*- * Copyright (c) 1992, 1993 @@ -37,7 +37,7 @@ #if 0 static char sccsid[] = "@(#)tokenizer.c 8.1 (Berkeley) 6/4/93"; #else -__RCSID("$NetBSD: tokenizer.c,v 1.22 2016/01/30 04:02:51 christos Exp $"); +__RCSID("$NetBSD: tokenizer.c,v 1.24 2016/02/17 19:47:49 christos Exp $"); #endif #endif /* not lint && not SCCSID */ #include @@ -47,8 +47,9 @@ __FBSDID("$FreeBSD$"); /* * tokenize.c: Bourne shell like tokenizer */ -#include #include +#include + #include "histedit.h" #include "chartype.h" @@ -415,8 +416,10 @@ FUN(tok,line)(TYPE(Tokenizer) *tok, const TYPE(LineInfo) *line, Char **p; tok->amax += AINCR; p = tok_realloc(tok->argv, tok->amax * sizeof(*p)); - if (p == NULL) + if (p == NULL) { + tok->amax -= AINCR; return -1; + } tok->argv = p; } } diff --git a/lib/libedit/tty.c b/lib/libedit/tty.c index a508e43..7cfa6d1 100644 --- a/lib/libedit/tty.c +++ b/lib/libedit/tty.c @@ -1,4 +1,4 @@ -/* $NetBSD: tty.c,v 1.49 2015/12/08 16:53:27 gson Exp $ */ +/* $NetBSD: tty.c,v 1.58 2016/02/27 18:13:21 christos Exp $ */ /*- * Copyright (c) 1992, 1993 @@ -37,7 +37,7 @@ #if 0 static char sccsid[] = "@(#)tty.c 8.1 (Berkeley) 6/4/93"; #else -__RCSID("$NetBSD: tty.c,v 1.49 2015/12/08 16:53:27 gson Exp $"); +__RCSID("$NetBSD: tty.c,v 1.58 2016/02/27 18:13:21 christos Exp $"); #endif #endif /* not lint && not SCCSID */ #include @@ -48,11 +48,13 @@ __FBSDID("$FreeBSD$"); */ #include #include -#include /* for isatty */ -#include /* for ffs */ #include /* for abort */ +#include +#include /* for ffs */ +#include /* for isatty */ + #include "el.h" -#include "tty.h" +#include "parse.h" typedef struct ttymodes_t { const char *m_name; @@ -61,7 +63,7 @@ typedef struct ttymodes_t { } ttymodes_t; typedef struct ttymap_t { - Int nch, och; /* Internal and termio rep of chars */ + wint_t nch, och; /* Internal and termio rep of chars */ el_action_t bind[3]; /* emacs, vi, and vi-cmd */ } ttymap_t; @@ -157,7 +159,7 @@ private const ttymap_t tty_map[] = { {C_LNEXT, VLNEXT, {ED_QUOTED_INSERT, ED_QUOTED_INSERT, ED_UNASSIGNED}}, #endif /* VLNEXT */ - {(Int)-1, (Int)-1, + {(wint_t)-1, (wint_t)-1, {ED_UNASSIGNED, ED_UNASSIGNED, ED_UNASSIGNED}} }; @@ -498,6 +500,7 @@ tty_setup(EditLine *el) { int rst = 1; + el->el_tty.t_initialized = 0; if (el->el_flags & EDIT_DISABLED) return 0; @@ -560,6 +563,7 @@ tty_setup(EditLine *el) tty__setchar(&el->el_tty.t_ed, el->el_tty.t_c[ED_IO]); tty_bind_char(el, 1); + el->el_tty.t_initialized = 1; return 0; } @@ -585,6 +589,9 @@ tty_end(EditLine *el) if (el->el_flags & EDIT_DISABLED) return; + if (el->el_tty.t_initialized) + return; + if (tty_setty(el, TCSAFLUSH, &el->el_tty.t_or) == -1) { #ifdef DEBUG_TTY (void) fprintf(el->el_errfile, @@ -904,9 +911,9 @@ tty_bind_char(EditLine *el, int force) dalt = NULL; } - for (tp = tty_map; tp->nch != (Int)-1; tp++) { - new[0] = t_n[tp->nch]; - old[0] = t_o[tp->och]; + for (tp = tty_map; tp->nch != (wint_t)-1; tp++) { + new[0] = (Char)t_n[tp->nch]; + old[0] = (Char)t_o[tp->och]; if (new[0] == old[0] && !force) continue; /* Put the old default binding back, and set the new binding */ @@ -978,7 +985,7 @@ tty_update_char(EditLine *el, int mode, int c) { /* tty_rawmode(): - * Set terminal into 1 character at a time mode. + * Set terminal into 1 character at a time mode. */ protected int tty_rawmode(EditLine *el) @@ -1176,8 +1183,8 @@ tty_stty(EditLine *el, int argc __attribute__((__unused__)), const Char **argv) break; default: (void) fprintf(el->el_errfile, - "%s: Unknown switch `" FCHAR "'.\n", - name, (Int)argv[0][1]); + "%s: Unknown switch `%lc'.\n", + name, (wint_t)argv[0][1]); return -1; } diff --git a/lib/libedit/tty.h b/lib/libedit/tty.h index b1fc76e..9694393 100644 --- a/lib/libedit/tty.h +++ b/lib/libedit/tty.h @@ -1,4 +1,4 @@ -/* $NetBSD: tty.h,v 1.15 2014/05/19 19:54:12 christos Exp $ */ +/* $NetBSD: tty.h,v 1.19 2016/02/27 18:13:21 christos Exp $ */ /*- * Copyright (c) 1992, 1993 @@ -41,8 +41,6 @@ #ifndef _h_el_tty #define _h_el_tty -#include "sys.h" -#include "histedit.h" #include #include @@ -475,8 +473,9 @@ typedef struct { int t_tabs; int t_eight; speed_t t_speed; - int t_mode; + unsigned char t_mode; unsigned char t_vdisable; + unsigned char t_initialized; } el_tty_t; diff --git a/lib/libedit/vi.c b/lib/libedit/vi.c index 0a426fd..be35a8e 100644 --- a/lib/libedit/vi.c +++ b/lib/libedit/vi.c @@ -1,4 +1,4 @@ -/* $NetBSD: vi.c,v 1.47 2015/10/21 21:45:30 christos Exp $ */ +/* $NetBSD: vi.c,v 1.54 2016/02/17 19:47:49 christos Exp $ */ /*- * Copyright (c) 1992, 1993 @@ -33,16 +33,11 @@ */ #include "config.h" -#include -#include -#include -#include - #if !defined(lint) && !defined(SCCSID) #if 0 static char sccsid[] = "@(#)vi.c 8.1 (Berkeley) 6/4/93"; #else -__RCSID("$NetBSD: vi.c,v 1.47 2015/10/21 21:45:30 christos Exp $"); +__RCSID("$NetBSD: vi.c,v 1.54 2016/02/17 19:47:49 christos Exp $"); #endif #endif /* not lint && not SCCSID */ #include @@ -51,21 +46,31 @@ __FBSDID("$FreeBSD$"); /* * vi.c: Vi mode commands. */ +#include +#include +#include +#include +#include +#include + #include "el.h" +#include "common.h" +#include "emacs.h" +#include "vi.h" -private el_action_t cv_action(EditLine *, Int); -private el_action_t cv_paste(EditLine *, Int); +private el_action_t cv_action(EditLine *, wint_t); +private el_action_t cv_paste(EditLine *, wint_t); /* cv_action(): * Handle vi actions. */ private el_action_t -cv_action(EditLine *el, Int c) +cv_action(EditLine *el, wint_t c) { if (el->el_chared.c_vcmd.action != NOP) { /* 'cc', 'dd' and (possibly) friends */ - if (c != (Int)el->el_chared.c_vcmd.action) + if (c != (wint_t)el->el_chared.c_vcmd.action) return CC_ERROR; if (!(c & YANK)) @@ -92,7 +97,7 @@ cv_action(EditLine *el, Int c) * Paste previous deletion before or after the cursor */ private el_action_t -cv_paste(EditLine *el, Int c) +cv_paste(EditLine *el, wint_t c) { c_kill_t *k = &el->el_chared.c_kill; size_t len = (size_t)(k->last - k->buf); @@ -124,7 +129,7 @@ cv_paste(EditLine *el, Int c) */ protected el_action_t /*ARGSUSED*/ -vi_paste_next(EditLine *el, Int c __attribute__((__unused__))) +vi_paste_next(EditLine *el, wint_t c __attribute__((__unused__))) { return cv_paste(el, 0); @@ -137,7 +142,7 @@ vi_paste_next(EditLine *el, Int c __attribute__((__unused__))) */ protected el_action_t /*ARGSUSED*/ -vi_paste_prev(EditLine *el, Int c __attribute__((__unused__))) +vi_paste_prev(EditLine *el, wint_t c __attribute__((__unused__))) { return cv_paste(el, 1); @@ -150,7 +155,7 @@ vi_paste_prev(EditLine *el, Int c __attribute__((__unused__))) */ protected el_action_t /*ARGSUSED*/ -vi_prev_big_word(EditLine *el, Int c __attribute__((__unused__))) +vi_prev_big_word(EditLine *el, wint_t c __attribute__((__unused__))) { if (el->el_line.cursor == el->el_line.buffer) @@ -175,7 +180,7 @@ vi_prev_big_word(EditLine *el, Int c __attribute__((__unused__))) */ protected el_action_t /*ARGSUSED*/ -vi_prev_word(EditLine *el, Int c __attribute__((__unused__))) +vi_prev_word(EditLine *el, wint_t c __attribute__((__unused__))) { if (el->el_line.cursor == el->el_line.buffer) @@ -200,7 +205,7 @@ vi_prev_word(EditLine *el, Int c __attribute__((__unused__))) */ protected el_action_t /*ARGSUSED*/ -vi_next_big_word(EditLine *el, Int c __attribute__((__unused__))) +vi_next_big_word(EditLine *el, wint_t c __attribute__((__unused__))) { if (el->el_line.cursor >= el->el_line.lastchar - 1) @@ -224,7 +229,7 @@ vi_next_big_word(EditLine *el, Int c __attribute__((__unused__))) */ protected el_action_t /*ARGSUSED*/ -vi_next_word(EditLine *el, Int c __attribute__((__unused__))) +vi_next_word(EditLine *el, wint_t c __attribute__((__unused__))) { if (el->el_line.cursor >= el->el_line.lastchar - 1) @@ -247,7 +252,7 @@ vi_next_word(EditLine *el, Int c __attribute__((__unused__))) * [~] */ protected el_action_t -vi_change_case(EditLine *el, Int c) +vi_change_case(EditLine *el, wint_t c) { int i; @@ -279,7 +284,7 @@ vi_change_case(EditLine *el, Int c) */ protected el_action_t /*ARGSUSED*/ -vi_change_meta(EditLine *el, Int c __attribute__((__unused__))) +vi_change_meta(EditLine *el, wint_t c __attribute__((__unused__))) { /* @@ -296,7 +301,7 @@ vi_change_meta(EditLine *el, Int c __attribute__((__unused__))) */ protected el_action_t /*ARGSUSED*/ -vi_insert_at_bol(EditLine *el, Int c __attribute__((__unused__))) +vi_insert_at_bol(EditLine *el, wint_t c __attribute__((__unused__))) { el->el_line.cursor = el->el_line.buffer; @@ -312,7 +317,7 @@ vi_insert_at_bol(EditLine *el, Int c __attribute__((__unused__))) */ protected el_action_t /*ARGSUSED*/ -vi_replace_char(EditLine *el, Int c __attribute__((__unused__))) +vi_replace_char(EditLine *el, wint_t c __attribute__((__unused__))) { if (el->el_line.cursor >= el->el_line.lastchar) @@ -331,7 +336,7 @@ vi_replace_char(EditLine *el, Int c __attribute__((__unused__))) */ protected el_action_t /*ARGSUSED*/ -vi_replace_mode(EditLine *el, Int c __attribute__((__unused__))) +vi_replace_mode(EditLine *el, wint_t c __attribute__((__unused__))) { el->el_map.current = el->el_map.key; @@ -347,7 +352,7 @@ vi_replace_mode(EditLine *el, Int c __attribute__((__unused__))) */ protected el_action_t /*ARGSUSED*/ -vi_substitute_char(EditLine *el, Int c __attribute__((__unused__))) +vi_substitute_char(EditLine *el, wint_t c __attribute__((__unused__))) { c_delafter(el, el->el_state.argument); @@ -362,7 +367,7 @@ vi_substitute_char(EditLine *el, Int c __attribute__((__unused__))) */ protected el_action_t /*ARGSUSED*/ -vi_substitute_line(EditLine *el, Int c __attribute__((__unused__))) +vi_substitute_line(EditLine *el, wint_t c __attribute__((__unused__))) { cv_undo(el); @@ -380,7 +385,7 @@ vi_substitute_line(EditLine *el, Int c __attribute__((__unused__))) */ protected el_action_t /*ARGSUSED*/ -vi_change_to_eol(EditLine *el, Int c __attribute__((__unused__))) +vi_change_to_eol(EditLine *el, wint_t c __attribute__((__unused__))) { cv_undo(el); @@ -398,7 +403,7 @@ vi_change_to_eol(EditLine *el, Int c __attribute__((__unused__))) */ protected el_action_t /*ARGSUSED*/ -vi_insert(EditLine *el, Int c __attribute__((__unused__))) +vi_insert(EditLine *el, wint_t c __attribute__((__unused__))) { el->el_map.current = el->el_map.key; @@ -413,7 +418,7 @@ vi_insert(EditLine *el, Int c __attribute__((__unused__))) */ protected el_action_t /*ARGSUSED*/ -vi_add(EditLine *el, Int c __attribute__((__unused__))) +vi_add(EditLine *el, wint_t c __attribute__((__unused__))) { int ret; @@ -438,7 +443,7 @@ vi_add(EditLine *el, Int c __attribute__((__unused__))) */ protected el_action_t /*ARGSUSED*/ -vi_add_at_eol(EditLine *el, Int c __attribute__((__unused__))) +vi_add_at_eol(EditLine *el, wint_t c __attribute__((__unused__))) { el->el_map.current = el->el_map.key; @@ -454,7 +459,7 @@ vi_add_at_eol(EditLine *el, Int c __attribute__((__unused__))) */ protected el_action_t /*ARGSUSED*/ -vi_delete_meta(EditLine *el, Int c __attribute__((__unused__))) +vi_delete_meta(EditLine *el, wint_t c __attribute__((__unused__))) { return cv_action(el, DELETE); @@ -467,7 +472,7 @@ vi_delete_meta(EditLine *el, Int c __attribute__((__unused__))) */ protected el_action_t /*ARGSUSED*/ -vi_end_big_word(EditLine *el, Int c __attribute__((__unused__))) +vi_end_big_word(EditLine *el, wint_t c __attribute__((__unused__))) { if (el->el_line.cursor == el->el_line.lastchar) @@ -491,7 +496,7 @@ vi_end_big_word(EditLine *el, Int c __attribute__((__unused__))) */ protected el_action_t /*ARGSUSED*/ -vi_end_word(EditLine *el, Int c __attribute__((__unused__))) +vi_end_word(EditLine *el, wint_t c __attribute__((__unused__))) { if (el->el_line.cursor == el->el_line.lastchar) @@ -515,7 +520,7 @@ vi_end_word(EditLine *el, Int c __attribute__((__unused__))) */ protected el_action_t /*ARGSUSED*/ -vi_undo(EditLine *el, Int c __attribute__((__unused__))) +vi_undo(EditLine *el, wint_t c __attribute__((__unused__))) { c_undo_t un = el->el_chared.c_undo; @@ -542,7 +547,7 @@ vi_undo(EditLine *el, Int c __attribute__((__unused__))) */ protected el_action_t /*ARGSUSED*/ -vi_command_mode(EditLine *el, Int c __attribute__((__unused__))) +vi_command_mode(EditLine *el, wint_t c __attribute__((__unused__))) { /* [Esc] cancels pending action */ @@ -566,7 +571,7 @@ vi_command_mode(EditLine *el, Int c __attribute__((__unused__))) * [0] */ protected el_action_t -vi_zero(EditLine *el, Int c) +vi_zero(EditLine *el, wint_t c) { if (el->el_state.doingarg) @@ -582,12 +587,12 @@ vi_zero(EditLine *el, Int c) /* vi_delete_prev_char(): - * Vi move to previous character (backspace) + * Vi move to previous character (backspace) * [^H] in insert mode only */ protected el_action_t /*ARGSUSED*/ -vi_delete_prev_char(EditLine *el, Int c __attribute__((__unused__))) +vi_delete_prev_char(EditLine *el, wint_t c __attribute__((__unused__))) { if (el->el_line.cursor <= el->el_line.buffer) @@ -605,7 +610,7 @@ vi_delete_prev_char(EditLine *el, Int c __attribute__((__unused__))) */ protected el_action_t /*ARGSUSED*/ -vi_list_or_eof(EditLine *el, Int c) +vi_list_or_eof(EditLine *el, wint_t c) { if (el->el_line.cursor == el->el_line.lastchar) { @@ -642,7 +647,7 @@ vi_list_or_eof(EditLine *el, Int c) */ protected el_action_t /*ARGSUSED*/ -vi_kill_line_prev(EditLine *el, Int c __attribute__((__unused__))) +vi_kill_line_prev(EditLine *el, wint_t c __attribute__((__unused__))) { Char *kp, *cp; @@ -663,7 +668,7 @@ vi_kill_line_prev(EditLine *el, Int c __attribute__((__unused__))) */ protected el_action_t /*ARGSUSED*/ -vi_search_prev(EditLine *el, Int c __attribute__((__unused__))) +vi_search_prev(EditLine *el, wint_t c __attribute__((__unused__))) { return cv_search(el, ED_SEARCH_PREV_HISTORY); @@ -676,7 +681,7 @@ vi_search_prev(EditLine *el, Int c __attribute__((__unused__))) */ protected el_action_t /*ARGSUSED*/ -vi_search_next(EditLine *el, Int c __attribute__((__unused__))) +vi_search_next(EditLine *el, wint_t c __attribute__((__unused__))) { return cv_search(el, ED_SEARCH_NEXT_HISTORY); @@ -689,7 +694,7 @@ vi_search_next(EditLine *el, Int c __attribute__((__unused__))) */ protected el_action_t /*ARGSUSED*/ -vi_repeat_search_next(EditLine *el, Int c __attribute__((__unused__))) +vi_repeat_search_next(EditLine *el, wint_t c __attribute__((__unused__))) { if (el->el_search.patlen == 0) @@ -705,7 +710,7 @@ vi_repeat_search_next(EditLine *el, Int c __attribute__((__unused__))) */ /*ARGSUSED*/ protected el_action_t -vi_repeat_search_prev(EditLine *el, Int c __attribute__((__unused__))) +vi_repeat_search_prev(EditLine *el, wint_t c __attribute__((__unused__))) { if (el->el_search.patlen == 0) @@ -723,7 +728,7 @@ vi_repeat_search_prev(EditLine *el, Int c __attribute__((__unused__))) */ protected el_action_t /*ARGSUSED*/ -vi_next_char(EditLine *el, Int c __attribute__((__unused__))) +vi_next_char(EditLine *el, wint_t c __attribute__((__unused__))) { return cv_csearch(el, CHAR_FWD, -1, el->el_state.argument, 0); } @@ -735,7 +740,7 @@ vi_next_char(EditLine *el, Int c __attribute__((__unused__))) */ protected el_action_t /*ARGSUSED*/ -vi_prev_char(EditLine *el, Int c __attribute__((__unused__))) +vi_prev_char(EditLine *el, wint_t c __attribute__((__unused__))) { return cv_csearch(el, CHAR_BACK, -1, el->el_state.argument, 0); } @@ -747,7 +752,7 @@ vi_prev_char(EditLine *el, Int c __attribute__((__unused__))) */ protected el_action_t /*ARGSUSED*/ -vi_to_next_char(EditLine *el, Int c __attribute__((__unused__))) +vi_to_next_char(EditLine *el, wint_t c __attribute__((__unused__))) { return cv_csearch(el, CHAR_FWD, -1, el->el_state.argument, 1); } @@ -759,7 +764,7 @@ vi_to_next_char(EditLine *el, Int c __attribute__((__unused__))) */ protected el_action_t /*ARGSUSED*/ -vi_to_prev_char(EditLine *el, Int c __attribute__((__unused__))) +vi_to_prev_char(EditLine *el, wint_t c __attribute__((__unused__))) { return cv_csearch(el, CHAR_BACK, -1, el->el_state.argument, 1); } @@ -771,7 +776,7 @@ vi_to_prev_char(EditLine *el, Int c __attribute__((__unused__))) */ protected el_action_t /*ARGSUSED*/ -vi_repeat_next_char(EditLine *el, Int c __attribute__((__unused__))) +vi_repeat_next_char(EditLine *el, wint_t c __attribute__((__unused__))) { return cv_csearch(el, el->el_search.chadir, el->el_search.chacha, @@ -785,7 +790,7 @@ vi_repeat_next_char(EditLine *el, Int c __attribute__((__unused__))) */ protected el_action_t /*ARGSUSED*/ -vi_repeat_prev_char(EditLine *el, Int c __attribute__((__unused__))) +vi_repeat_prev_char(EditLine *el, wint_t c __attribute__((__unused__))) { el_action_t r; int dir = el->el_search.chadir; @@ -803,7 +808,7 @@ vi_repeat_prev_char(EditLine *el, Int c __attribute__((__unused__))) */ protected el_action_t /*ARGSUSED*/ -vi_match(EditLine *el, Int c __attribute__((__unused__))) +vi_match(EditLine *el, wint_t c __attribute__((__unused__))) { const Char match_chars[] = STR("()[]{}"); Char *cp; @@ -850,7 +855,7 @@ vi_match(EditLine *el, Int c __attribute__((__unused__))) */ protected el_action_t /*ARGSUSED*/ -vi_undo_line(EditLine *el, Int c __attribute__((__unused__))) +vi_undo_line(EditLine *el, wint_t c __attribute__((__unused__))) { cv_undo(el); @@ -864,7 +869,7 @@ vi_undo_line(EditLine *el, Int c __attribute__((__unused__))) */ protected el_action_t /*ARGSUSED*/ -vi_to_column(EditLine *el, Int c __attribute__((__unused__))) +vi_to_column(EditLine *el, wint_t c __attribute__((__unused__))) { el->el_line.cursor = el->el_line.buffer; @@ -878,7 +883,7 @@ vi_to_column(EditLine *el, Int c __attribute__((__unused__))) */ protected el_action_t /*ARGSUSED*/ -vi_yank_end(EditLine *el, Int c __attribute__((__unused__))) +vi_yank_end(EditLine *el, wint_t c __attribute__((__unused__))) { cv_yank(el, el->el_line.cursor, @@ -892,7 +897,7 @@ vi_yank_end(EditLine *el, Int c __attribute__((__unused__))) */ protected el_action_t /*ARGSUSED*/ -vi_yank(EditLine *el, Int c __attribute__((__unused__))) +vi_yank(EditLine *el, wint_t c __attribute__((__unused__))) { return cv_action(el, YANK); @@ -904,7 +909,7 @@ vi_yank(EditLine *el, Int c __attribute__((__unused__))) */ protected el_action_t /*ARGSUSED*/ -vi_comment_out(EditLine *el, Int c __attribute__((__unused__))) +vi_comment_out(EditLine *el, wint_t c __attribute__((__unused__))) { el->el_line.cursor = el->el_line.buffer; @@ -922,7 +927,7 @@ vi_comment_out(EditLine *el, Int c __attribute__((__unused__))) */ protected el_action_t /*ARGSUSED*/ -vi_alias(EditLine *el, Int c __attribute__((__unused__))) +vi_alias(EditLine *el, wint_t c __attribute__((__unused__))) { char alias_name[3]; const char *alias_text; @@ -948,7 +953,7 @@ vi_alias(EditLine *el, Int c __attribute__((__unused__))) */ protected el_action_t /*ARGSUSED*/ -vi_to_history_line(EditLine *el, Int c __attribute__((__unused__))) +vi_to_history_line(EditLine *el, wint_t c __attribute__((__unused__))) { int sv_event_no = el->el_history.eventno; el_action_t rval; @@ -974,7 +979,7 @@ vi_to_history_line(EditLine *el, Int c __attribute__((__unused__))) el->el_history.eventno = 1; if (hist_get(el) == CC_ERROR) return CC_ERROR; - el->el_history.eventno = 1 + el->el_history.ev.num + el->el_history.eventno = 1 + el->el_history.ev.num - el->el_state.argument; if (el->el_history.eventno < 0) { el->el_history.eventno = sv_event_no; @@ -993,7 +998,7 @@ vi_to_history_line(EditLine *el, Int c __attribute__((__unused__))) */ protected el_action_t /*ARGSUSED*/ -vi_histedit(EditLine *el, Int c __attribute__((__unused__))) +vi_histedit(EditLine *el, wint_t c __attribute__((__unused__))) { int fd; pid_t pid; @@ -1077,7 +1082,7 @@ error: */ protected el_action_t /*ARGSUSED*/ -vi_history_word(EditLine *el, Int c __attribute__((__unused__))) +vi_history_word(EditLine *el, wint_t c __attribute__((__unused__))) { const Char *wp = HIST_FIRST(el); const Char *wep, *wsp; @@ -1127,7 +1132,7 @@ vi_history_word(EditLine *el, Int c __attribute__((__unused__))) */ protected el_action_t /*ARGSUSED*/ -vi_redo(EditLine *el, Int c __attribute__((__unused__))) +vi_redo(EditLine *el, wint_t c __attribute__((__unused__))) { c_redo_t *r = &el->el_chared.c_redo; -- cgit v1.1 From 1241d8a2e45773187207a7eba17fbe32d622c116 Mon Sep 17 00:00:00 2001 From: trasz Date: Mon, 29 Feb 2016 16:52:06 +0000 Subject: Fix typos in .Xrs. MFC after: 1 month Sponsored by: The FreeBSD Foundation --- lib/libc/posix1e/acl.3 | 2 +- lib/libc/posix1e/acl_delete_flag_np.3 | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) (limited to 'lib') diff --git a/lib/libc/posix1e/acl.3 b/lib/libc/posix1e/acl.3 index d37cd14..2c7ebd6 100644 --- a/lib/libc/posix1e/acl.3 +++ b/lib/libc/posix1e/acl.3 @@ -209,7 +209,7 @@ This function is described in and may be used to set the tag type of an ACL. .It Fn acl_strip_np This function is described in -.Xr acl-strip_np 3 , +.Xr acl_strip_np 3 , and may be used to remove extended entries from an ACL. .It Xo .Fn acl_to_text , diff --git a/lib/libc/posix1e/acl_delete_flag_np.3 b/lib/libc/posix1e/acl_delete_flag_np.3 index 6a613eb..3e298a4 100644 --- a/lib/libc/posix1e/acl_delete_flag_np.3 +++ b/lib/libc/posix1e/acl_delete_flag_np.3 @@ -64,7 +64,7 @@ value. .Sh SEE ALSO .Xr acl 3 , .Xr acl_add_flag_np 3 , -.Xr acl_clear_flag_nps 3 , +.Xr acl_clear_flags_np 3 , .Xr acl_get_flagset_np 3 , .Xr acl_set_flagset_np 3 , .Xr posix1e 3 -- cgit v1.1 From f47a3ea623c557f630291b361ce6e4cfb6583cf9 Mon Sep 17 00:00:00 2001 From: trasz Date: Mon, 29 Feb 2016 17:19:15 +0000 Subject: sendmsg(3) -> sendmsg(2) MFC after: 1 month Sponsored by: The FreeBSD Foundation --- lib/libc/net/sctp_recvmsg.3 | 2 +- lib/libc/net/sctp_sendmsg.3 | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) (limited to 'lib') diff --git a/lib/libc/net/sctp_recvmsg.3 b/lib/libc/net/sctp_recvmsg.3 index 945797d..a8b0734 100644 --- a/lib/libc/net/sctp_recvmsg.3 +++ b/lib/libc/net/sctp_recvmsg.3 @@ -285,10 +285,10 @@ is not connected and is a one-to-one style socket. .Xr getsockopt 2 , .Xr recv 2 , .Xr select 2 , +.Xr sendmsg 2 , .Xr setsockopt 2 , .Xr socket 2 , .Xr write 2 , .Xr sctp_send 3 , .Xr sctp_sendmsg 3 , -.Xr sendmsg 3 , .Xr sctp 4 diff --git a/lib/libc/net/sctp_sendmsg.3 b/lib/libc/net/sctp_sendmsg.3 index bc61061..65f790a 100644 --- a/lib/libc/net/sctp_sendmsg.3 +++ b/lib/libc/net/sctp_sendmsg.3 @@ -314,10 +314,10 @@ is not connected and is a one-to-one style socket. .Xr getsockopt 2 , .Xr recv 2 , .Xr select 2 , +.Xr sendmsg 2 , .Xr socket 2 , .Xr write 2 , .Xr sctp_connectx 3 , -.Xr sendmsg 3 , .Xr sctp 4 .Sh BUGS Because in the one-to-many style socket -- cgit v1.1 From 5f38b5213a7e25221a3f3c6b4b20d55d5e02d4bb Mon Sep 17 00:00:00 2001 From: trasz Date: Mon, 29 Feb 2016 17:20:04 +0000 Subject: sysconf(2) -> sysconf(3) MFC after: 1 month Sponsored by: The FreeBSD Foundation --- lib/libc/sys/getdtablesize.2 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'lib') diff --git a/lib/libc/sys/getdtablesize.2 b/lib/libc/sys/getdtablesize.2 index d52da83..c471891 100644 --- a/lib/libc/sys/getdtablesize.2 +++ b/lib/libc/sys/getdtablesize.2 @@ -54,7 +54,7 @@ if the limit was lowered after they were opened. .Xr closefrom 2 , .Xr dup 2 , .Xr getrlimit 2 , -.Xr sysconf 2 +.Xr sysconf 3 .Sh HISTORY The .Fn getdtablesize -- cgit v1.1 From 3835e904017b37184642a786170ca2f5f42ece72 Mon Sep 17 00:00:00 2001 From: trasz Date: Mon, 29 Feb 2016 17:20:37 +0000 Subject: Fix typo. MFC after: 1 month Sponsored by: The FreeBSD Foundation --- lib/libmt/mt.3 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'lib') diff --git a/lib/libmt/mt.3 b/lib/libmt/mt.3 index eaf0194..39a4d65 100644 --- a/lib/libmt/mt.3 +++ b/lib/libmt/mt.3 @@ -183,7 +183,7 @@ The and .Fn mt_char_handler functions are designed to work with the -.Xr libbbsdxml 3 +.Xr libbsdxml 3 library, which is an XML parsing library. The user data for the XML parser should be set with .Fn XML_SetUserData -- cgit v1.1 From 4f6959f72d7d7853be8c77ed181530af2bd243db Mon Sep 17 00:00:00 2001 From: trasz Date: Mon, 29 Feb 2016 17:22:34 +0000 Subject: kenv(8) -> kenv(1) MFC after: 1 month Sponsored by: The FreeBSD Foundation --- lib/libc/sys/reboot.2 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'lib') diff --git a/lib/libc/sys/reboot.2 b/lib/libc/sys/reboot.2 index df4a0ec..ce8cc71 100644 --- a/lib/libc/sys/reboot.2 +++ b/lib/libc/sys/reboot.2 @@ -118,7 +118,7 @@ Instead of rebooting, unmount all filesystems except the one containing currently-running executable, and mount root filesystem using the same mechanism which is used during normal boot, based on vfs.root.mountfrom -.Xr kenv 8 +.Xr kenv 1 variable. .It Dv RB_RDONLY Initially mount the root file system read-only. -- cgit v1.1 From 5f758d0d5b191cd87877dd9669210ba46c2fe6ba Mon Sep 17 00:00:00 2001 From: trasz Date: Mon, 29 Feb 2016 17:34:54 +0000 Subject: errno(3) -> errno(2) MFC after: 1 month Sponsored by: The FreeBSD Foundation --- lib/libsysdecode/sysdecode_abi_to_freebsd_errno.3 | 8 ++++---- lib/libthr/libthr.3 | 3 +-- 2 files changed, 5 insertions(+), 6 deletions(-) (limited to 'lib') diff --git a/lib/libsysdecode/sysdecode_abi_to_freebsd_errno.3 b/lib/libsysdecode/sysdecode_abi_to_freebsd_errno.3 index 74826f8..fdee211 100644 --- a/lib/libsysdecode/sysdecode_abi_to_freebsd_errno.3 +++ b/lib/libsysdecode/sysdecode_abi_to_freebsd_errno.3 @@ -43,7 +43,7 @@ The .Fn sysdecode_abi_to_freebsd_errno function returns the native -.Xr errno 3 +.Xr errno 2 value that corresponds to the error indicated by .Fa error for the process ABI @@ -60,19 +60,19 @@ The function the error value for the process ABI .Fa abi that corresponds to the native -.Xr errno 3 +.Xr errno 2 value .Fa error . If .Fa error does not identify a valid -.Xr errno 3 +.Xr errno 2 error, .Dv INT_MAX is returned. .Pp Note that the mappings between native -.Xr errno 3 +.Xr errno 2 values and errors for other ABIs are not exhaustive. If a mapping does not exist, these functions return diff --git a/lib/libthr/libthr.3 b/lib/libthr/libthr.3 index 8108e2f..fdd8ef1 100644 --- a/lib/libthr/libthr.3 +++ b/lib/libthr/libthr.3 @@ -235,12 +235,11 @@ logs. .Xr ktrace 1 , .Xr ld-elf.so.1 1 , .Xr getrlimit 2 , +.Xr errno 2 , .Xr umtx 2 , .Xr dlclose 3 , .Xr dlopen 3 , -.Xr errno 3 , .Xr getenv 3 , -.Xr libc 3 , .Xr pthread_attr 3 , .Xr pthread_attr_setstacksize 3 , .Xr pthread_create 3 , -- cgit v1.1 From ac01d0e42d905f1758cecc124bcf65024cb3a2d4 Mon Sep 17 00:00:00 2001 From: jasone Date: Mon, 29 Feb 2016 19:10:32 +0000 Subject: Update jemalloc to 4.1.0. Add missing Symbol.map entry for __aligned_alloc. Add weak-->strong symbol binding for {malloc_stats_print,mallctl,mallctlnametomib,mallctlbymib} --> {__malloc_stats_print,__mallctl,__mallctlnametomib,__mallctlbymib}. These bindings complete the set necessary to allow applications to replace all malloc-related symbols. --- lib/libc/stdlib/jemalloc/Makefile.inc | 4 ++-- lib/libc/stdlib/jemalloc/Symbol.map | 5 +++++ 2 files changed, 7 insertions(+), 2 deletions(-) (limited to 'lib') diff --git a/lib/libc/stdlib/jemalloc/Makefile.inc b/lib/libc/stdlib/jemalloc/Makefile.inc index f322f98..8c4c12a 100644 --- a/lib/libc/stdlib/jemalloc/Makefile.inc +++ b/lib/libc/stdlib/jemalloc/Makefile.inc @@ -4,8 +4,8 @@ JEMALLOCSRCS:= jemalloc.c arena.c atomic.c base.c bitmap.c chunk.c \ chunk_dss.c chunk_mmap.c ckh.c ctl.c extent.c hash.c huge.c mb.c \ - mutex.c pages.c prof.c quarantine.c rtree.c stats.c tcache.c tsd.c \ - util.c + mutex.c nstime.c pages.c prng.c prof.c quarantine.c rtree.c stats.c \ + tcache.c ticker.c tsd.c util.c SYM_MAPS+=${LIBC_SRCTOP}/stdlib/jemalloc/Symbol.map diff --git a/lib/libc/stdlib/jemalloc/Symbol.map b/lib/libc/stdlib/jemalloc/Symbol.map index c073068..087ca53 100644 --- a/lib/libc/stdlib/jemalloc/Symbol.map +++ b/lib/libc/stdlib/jemalloc/Symbol.map @@ -54,6 +54,11 @@ FBSD_1.3 { FBSD_1.4 { sdallocx; __sdallocx; + __aligned_alloc; + __malloc_stats_print; + __mallctl; + __mallctlnametomib; + __mallctlbymib; }; FBSDprivate_1.0 { -- cgit v1.1 From 066348e6cd0f94cfb518e0a42b6130591129d3cf Mon Sep 17 00:00:00 2001 From: trasz Date: Tue, 1 Mar 2016 11:34:44 +0000 Subject: Connect pmc.haswellxeon(3) to the build; looks like it was missed in r279829. MFC after: 1 month Sponsored by: The FreeBSD Foundation --- lib/libpmc/Makefile | 1 + 1 file changed, 1 insertion(+) (limited to 'lib') diff --git a/lib/libpmc/Makefile b/lib/libpmc/Makefile index 4227794..b240070 100644 --- a/lib/libpmc/Makefile +++ b/lib/libpmc/Makefile @@ -31,6 +31,7 @@ MAN+= pmc.corei7.3 MAN+= pmc.corei7uc.3 MAN+= pmc.haswell.3 MAN+= pmc.haswelluc.3 +MAN+= pmc.haswellxeon.3 MAN+= pmc.iaf.3 MAN+= pmc.ivybridge.3 MAN+= pmc.ivybridgexeon.3 -- cgit v1.1 From ac7a1d6753fdf33b970359a74fffe286a60968fb Mon Sep 17 00:00:00 2001 From: kib Date: Tue, 1 Mar 2016 15:21:01 +0000 Subject: Add two comments explaining the fine points of the hash implementation. Reviewed by: emaste Sponsored by: The FreeBSD Foundation Differential revision: https://reviews.freebsd.org/D5490 --- lib/libthr/thread/thr_pshared.c | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) (limited to 'lib') diff --git a/lib/libthr/thread/thr_pshared.c b/lib/libthr/thread/thr_pshared.c index d40346d..e8ccf1c 100644 --- a/lib/libthr/thread/thr_pshared.c +++ b/lib/libthr/thread/thr_pshared.c @@ -86,6 +86,16 @@ pshared_unlock(struct pthread *curthread) _thr_ast(curthread); } +/* + * Among all processes sharing a lock only one executes + * pthread_lock_destroy(). Other processes still have the hash and + * mapped off-page. + * + * Mitigate the problem by checking the liveness of all hashed keys + * periodically. Right now this is executed on each + * pthread_lock_destroy(), but may be done less often if found to be + * too time-consuming. + */ static void pshared_gc(struct pthread *curthread) { @@ -131,6 +141,27 @@ pshared_insert(void *key, void **val) hd = &pshared_hash[PSHARED_KEY_HASH(key)]; LIST_FOREACH(h, hd, link) { + /* + * When the key already exists in the hash, we should + * return either the new (just mapped) or old (hashed) + * val, and the other val should be unmapped to avoid + * address space leak. + * + * If two threads perform lock of the same object + * which is not yet stored in the pshared_hash, then + * the val already inserted by the first thread should + * be returned, and the second val freed (order is by + * the pshared_lock()). Otherwise, if we unmap the + * value obtained from the hash, the first thread + * might operate on an unmapped off-page object. + * + * There is still an issue: if hashed key was unmapped + * and then other page is mapped at the same key + * address, the hash would return the old val. I + * decided to handle the race of simultaneous hash + * insertion, leaving the unlikely remap problem + * unaddressed. + */ if (h->key == key) { if (h->val != *val) { munmap(*val, PAGE_SIZE); -- cgit v1.1 From 0e774f6016f1dfb6a8f55462cc815c3b4da580b2 Mon Sep 17 00:00:00 2001 From: pfg Date: Tue, 1 Mar 2016 19:15:34 +0000 Subject: mbtowc(3): set errno to EILSEQ if an incomplete character is passed. According to POSIX, The mbtowc() function shall fail if: [EILSEQ] An invalid character sequence is detected. Reviewed by: bapt Differential Revision: https://reviews.freebsd.org/D5496 Obtained from: OpenBSD (Ingo Schwarze) MFC after: 1 month --- lib/libc/locale/mbtowc.c | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) (limited to 'lib') diff --git a/lib/libc/locale/mbtowc.c b/lib/libc/locale/mbtowc.c index 70fc19e..376d6cf 100644 --- a/lib/libc/locale/mbtowc.c +++ b/lib/libc/locale/mbtowc.c @@ -32,6 +32,7 @@ #include __FBSDID("$FreeBSD$"); +#include #include #include #include "mblocal.h" @@ -49,9 +50,15 @@ mbtowc_l(wchar_t * __restrict pwc, const char * __restrict s, size_t n, locale_t return (0); } rval = XLOCALE_CTYPE(locale)->__mbrtowc(pwc, s, n, &locale->mbtowc); - if (rval == (size_t)-1 || rval == (size_t)-2) + switch (rval) { + case (size_t)-2: + errno = EILSEQ; + /* FALLTHROUGH */ + case (size_t)-1: return (-1); - return ((int)rval); + default: + return ((int)rval); + } } int mbtowc(wchar_t * __restrict pwc, const char * __restrict s, size_t n) -- cgit v1.1