Module Name: src
Committed By: martin
Date: Fri Apr 30 14:07:02 UTC 2021
Modified Files:
src/bin/pax [netbsd-9]: extern.h options.c
src/sbin/newfs_udf [netbsd-9]: newfs_udf.h udf_create.c
src/usr.bin/config [netbsd-9]: defs.h main.c scan.l
src/usr.bin/make [netbsd-9]: main.c make.h
Log Message:
Pull up following revision(s) (requested by mrg in ticket #1263):
bin/pax/options.c: revision 1.119
usr.bin/config/scan.l: revision 1.32
usr.bin/make/main.c: revision 1.274
bin/pax/extern.h: revision 1.60
usr.bin/config/defs.h: revision 1.106
usr.bin/make/make.h: revision 1.105
sbin/newfs_udf/udf_create.c: revision 1.27 (patch)
sbin/newfs_udf/newfs_udf.h: revision 1.7 (patch)
usr.bin/config/main.c: revision 1.100
Avoid depending on common symbols.
To generate a diff of this commit:
cvs rdiff -u -r1.59 -r1.59.36.1 src/bin/pax/extern.h
cvs rdiff -u -r1.118 -r1.118.18.1 src/bin/pax/options.c
cvs rdiff -u -r1.6 -r1.6.2.1 src/sbin/newfs_udf/newfs_udf.h
cvs rdiff -u -r1.26 -r1.26.2.1 src/sbin/newfs_udf/udf_create.c
cvs rdiff -u -r1.104.2.1 -r1.104.2.2 src/usr.bin/config/defs.h
cvs rdiff -u -r1.98.2.1 -r1.98.2.2 src/usr.bin/config/main.c
cvs rdiff -u -r1.26.16.2 -r1.26.16.3 src/usr.bin/config/scan.l
cvs rdiff -u -r1.273 -r1.273.6.1 src/usr.bin/make/main.c
cvs rdiff -u -r1.104 -r1.104.6.1 src/usr.bin/make/make.h
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: src/bin/pax/extern.h
diff -u src/bin/pax/extern.h:1.59 src/bin/pax/extern.h:1.59.36.1
--- src/bin/pax/extern.h:1.59 Thu Aug 9 08:09:21 2012
+++ src/bin/pax/extern.h Fri Apr 30 14:07:02 2021
@@ -1,4 +1,4 @@
-/* $NetBSD: extern.h,v 1.59 2012/08/09 08:09:21 christos Exp $ */
+/* $NetBSD: extern.h,v 1.59.36.1 2021/04/30 14:07:02 martin Exp $ */
/*-
* Copyright (c) 1992 Keith Muller.
@@ -204,9 +204,8 @@ void options(int, char **);
OPLIST * opt_next(void);
int bad_opt(void);
int mkpath(char *);
-char *chdname;
#if !HAVE_NBTOOL_CONFIG_H
-int do_chroot;
+extern int do_chroot;
#endif
/*
Index: src/bin/pax/options.c
diff -u src/bin/pax/options.c:1.118 src/bin/pax/options.c:1.118.18.1
--- src/bin/pax/options.c:1.118 Sat Dec 19 18:45:52 2015
+++ src/bin/pax/options.c Fri Apr 30 14:07:02 2021
@@ -1,4 +1,4 @@
-/* $NetBSD: options.c,v 1.118 2015/12/19 18:45:52 christos Exp $ */
+/* $NetBSD: options.c,v 1.118.18.1 2021/04/30 14:07:02 martin Exp $ */
/*-
* Copyright (c) 1992 Keith Muller.
@@ -42,7 +42,7 @@
#if 0
static char sccsid[] = "@(#)options.c 8.2 (Berkeley) 4/18/94";
#else
-__RCSID("$NetBSD: options.c,v 1.118 2015/12/19 18:45:52 christos Exp $");
+__RCSID("$NetBSD: options.c,v 1.118.18.1 2021/04/30 14:07:02 martin Exp $");
#endif
#endif /* not lint */
@@ -74,6 +74,11 @@ __RCSID("$NetBSD: options.c,v 1.118 2015
#include "mtree.h"
#endif /* SMALL */
+char *chdname;
+#if !HAVE_NBTOOL_CONFIG_H
+int do_chroot;
+#endif
+
/*
* Routines which handle command line options
*/
Index: src/sbin/newfs_udf/newfs_udf.h
diff -u src/sbin/newfs_udf/newfs_udf.h:1.6 src/sbin/newfs_udf/newfs_udf.h:1.6.2.1
--- src/sbin/newfs_udf/newfs_udf.h:1.6 Sun Jun 30 11:38:16 2019
+++ src/sbin/newfs_udf/newfs_udf.h Fri Apr 30 14:07:02 2021
@@ -1,4 +1,4 @@
-/* $NetBSD: newfs_udf.h,v 1.6 2019/06/30 11:38:16 sevan Exp $ */
+/* $NetBSD: newfs_udf.h,v 1.6.2.1 2021/04/30 14:07:02 martin Exp $ */
/*
* Copyright (c) 2006, 2008, 2013 Reinoud Zandijk
@@ -54,10 +54,6 @@ extern int meta_perc;
extern float meta_fract;
-/* shared structure between udf_create.c users */
-struct udf_create_context context;
-struct udf_disclayout layout;
-
/* prototypes */
int udf_write_sector(void *sector, uint64_t location);
int udf_update_trackinfo(struct mmc_discinfo *di, struct mmc_trackinfo *ti);
Index: src/sbin/newfs_udf/udf_create.c
diff -u src/sbin/newfs_udf/udf_create.c:1.26 src/sbin/newfs_udf/udf_create.c:1.26.2.1
--- src/sbin/newfs_udf/udf_create.c:1.26 Sun Dec 9 17:52:48 2018
+++ src/sbin/newfs_udf/udf_create.c Fri Apr 30 14:07:02 2021
@@ -1,4 +1,4 @@
-/* $NetBSD: udf_create.c,v 1.26 2018/12/09 17:52:48 christos Exp $ */
+/* $NetBSD: udf_create.c,v 1.26.2.1 2021/04/30 14:07:02 martin Exp $ */
/*
* Copyright (c) 2006, 2008 Reinoud Zandijk
@@ -30,7 +30,7 @@
#endif
#include <sys/cdefs.h>
-__RCSID("$NetBSD: udf_create.c,v 1.26 2018/12/09 17:52:48 christos Exp $");
+__RCSID("$NetBSD: udf_create.c,v 1.26.2.1 2021/04/30 14:07:02 martin Exp $");
#include <stdio.h>
#include <stdlib.h>
@@ -52,6 +52,10 @@ __RCSID("$NetBSD: udf_create.c,v 1.26 20
# endif
#endif
+/* shared structure between udf_create.c users */
+struct udf_create_context context;
+struct udf_disclayout layout;
+
/*
* NOTE that there is some overlap between this code and the udf kernel fs.
* This is intentially though it might better be factored out one day.
Index: src/usr.bin/config/defs.h
diff -u src/usr.bin/config/defs.h:1.104.2.1 src/usr.bin/config/defs.h:1.104.2.2
--- src/usr.bin/config/defs.h:1.104.2.1 Mon Mar 9 15:22:21 2020
+++ src/usr.bin/config/defs.h Fri Apr 30 14:07:02 2021
@@ -1,4 +1,4 @@
-/* $NetBSD: defs.h,v 1.104.2.1 2020/03/09 15:22:21 martin Exp $ */
+/* $NetBSD: defs.h,v 1.104.2.2 2021/04/30 14:07:02 martin Exp $ */
/*
* Copyright (c) 1992, 1993
@@ -437,80 +437,88 @@ struct devm {
*/
struct hashtab;
-int lkmmode;
-const char *conffile; /* source file, e.g., "GENERIC.sparc" */
-const char *machine; /* machine type, e.g., "sparc" or "sun3" */
-const char *machinearch; /* machine arch, e.g., "sparc" or "m68k" */
-struct nvlist *machinesubarches;
+extern int lkmmode;
+extern const char *conffile; /* source file, e.g., "GENERIC.sparc" */
+extern const char *machine; /* machine type, e.g., "sparc" or "sun3" */
+extern const char *machinearch; /* machine arch, e.g., "sparc" or "m68k" */
+extern struct nvlist *machinesubarches;
/* machine subarches, e.g., "sun68k" or "hpc" */
-const char *ioconfname; /* ioconf name, mutually exclusive to machine */
-const char *srcdir; /* path to source directory (rel. to build) */
-const char *builddir; /* path to build directory */
-const char *defbuilddir; /* default build directory */
-const char *ident; /* kernel "ident"ification string */
-int errors; /* counts calls to error() */
-int minmaxusers; /* minimum "maxusers" parameter */
-int defmaxusers; /* default "maxusers" parameter */
-int maxmaxusers; /* default "maxusers" parameter */
-int maxusers; /* configuration's "maxusers" parameter */
-int maxpartitions; /* configuration's "maxpartitions" parameter */
-int version; /* version of the configuration file */
-struct nvlist *options; /* options */
-struct nvlist *fsoptions; /* filesystems */
-struct nvlist *mkoptions; /* makeoptions */
-struct nvlist *appmkoptions; /* appending mkoptions */
-struct nvlist *condmkoptions; /* conditional makeoption table */
-struct hashtab *devbasetab; /* devbase lookup */
-struct hashtab *devroottab; /* attach at root lookup */
-struct hashtab *devatab; /* devbase attachment lookup */
-struct hashtab *devitab; /* device instance lookup */
-struct hashtab *deaddevitab; /* removed instances lookup */
-struct hashtab *selecttab; /* selects things that are "optional foo" */
-struct hashtab *needcnttab; /* retains names marked "needs-count" */
-struct hashtab *opttab; /* table of configured options */
-struct hashtab *fsopttab; /* table of configured file systems */
-struct dlhash *defopttab; /* options that have been "defopt"'d */
-struct dlhash *defflagtab; /* options that have been "defflag"'d */
-struct dlhash *defparamtab; /* options that have been "defparam"'d */
-struct dlhash *defoptlint; /* lint values for options */
-struct nvhash *deffstab; /* defined file systems */
-struct dlhash *optfiletab; /* "defopt"'d option .h files */
-struct hashtab *attrtab; /* attributes (locators, etc.) */
-struct hashtab *attrdeptab; /* attribute dependencies */
-struct hashtab *bdevmtab; /* block devm lookup */
-struct hashtab *cdevmtab; /* character devm lookup */
-
-TAILQ_HEAD(, devbase) allbases; /* list of all devbase structures */
-TAILQ_HEAD(, deva) alldevas; /* list of all devbase attachments */
-TAILQ_HEAD(conftq, config) allcf; /* list of configured kernels */
-TAILQ_HEAD(, devi) alldevi, /* list of all instances */
- allpseudo; /* list of all pseudo-devices */
-TAILQ_HEAD(, devm) alldevms; /* list of all device-majors */
-TAILQ_HEAD(, pspec) allpspecs; /* list of all parent specs */
-int ndevi; /* number of devi's (before packing) */
-int npspecs; /* number of parent specs */
-devmajor_t maxbdevm; /* max number of block major */
-devmajor_t maxcdevm; /* max number of character major */
-int do_devsw; /* 0 if pre-devsw config */
-int oktopackage; /* 0 before setmachine() */
-int devilevel; /* used for devi->i_level */
-
-struct filelist allfiles; /* list of all kernel source files */
-struct filelist allcfiles; /* list of all .c files */
-struct filelist allsfiles; /* list of all .S files */
-struct filelist allofiles; /* list of all .o files */
-
-struct prefixlist prefixes, /* prefix stack */
- allprefixes; /* all prefixes used (after popped) */
-struct prefixlist buildprefixes, /* build prefix stack */
- allbuildprefixes;/* all build prefixes used (after popped) */
-SLIST_HEAD(, prefix) curdirs; /* curdir stack */
+extern const char *ioconfname; /* ioconf name, mutually exclusive to machine */
+extern const char *srcdir; /* path to source directory (rel. to build) */
+extern const char *builddir; /* path to build directory */
+extern const char *defbuilddir; /* default build directory */
+extern const char *ident; /* kernel "ident"ification string */
+extern int errors; /* counts calls to error() */
+extern int minmaxusers; /* minimum "maxusers" parameter */
+extern int defmaxusers; /* default "maxusers" parameter */
+extern int maxmaxusers; /* default "maxusers" parameter */
+extern int maxusers; /* configuration's "maxusers" parameter */
+extern int maxpartitions; /* configuration's "maxpartitions" parameter */
+extern int version; /* version of the configuration file */
+extern struct nvlist *options; /* options */
+extern struct nvlist *fsoptions; /* filesystems */
+extern struct nvlist *mkoptions; /* makeoptions */
+extern struct nvlist *appmkoptions; /* appending mkoptions */
+extern struct nvlist *condmkoptions; /* conditional makeoption table */
+extern struct hashtab *devbasetab; /* devbase lookup */
+extern struct hashtab *devroottab; /* attach at root lookup */
+extern struct hashtab *devatab; /* devbase attachment lookup */
+extern struct hashtab *devitab; /* device instance lookup */
+extern struct hashtab *deaddevitab; /* removed instances lookup */
+extern struct hashtab *selecttab; /* selects things that are "optional foo" */
+extern struct hashtab *needcnttab; /* retains names marked "needs-count" */
+extern struct hashtab *opttab; /* table of configured options */
+extern struct hashtab *fsopttab; /* table of configured file systems */
+extern struct dlhash *defopttab; /* options that have been "defopt"'d */
+extern struct dlhash *defflagtab; /* options that have been "defflag"'d */
+extern struct dlhash *defparamtab; /* options that have been "defparam"'d */
+extern struct dlhash *defoptlint; /* lint values for options */
+extern struct nvhash *deffstab; /* defined file systems */
+extern struct dlhash *optfiletab; /* "defopt"'d option .h files */
+extern struct hashtab *attrtab; /* attributes (locators, etc.) */
+extern struct hashtab *attrdeptab; /* attribute dependencies */
+extern struct hashtab *bdevmtab; /* block devm lookup */
+extern struct hashtab *cdevmtab; /* character devm lookup */
+
+TAILQ_HEAD(devbasetq, devbase);
+TAILQ_HEAD(devatq, deva);
+TAILQ_HEAD(conftq, config);
+TAILQ_HEAD(devitq, devi);
+TAILQ_HEAD(devmtq, devm);
+TAILQ_HEAD(pspectq, pspec);
+
+extern struct devbasetq allbases; /* list of all devbase structures */
+extern struct devatq alldevas; /* list of all devbase attachments */
+extern struct conftq allcf; /* list of configured kernels */
+extern struct devitq alldevi, /* list of all instances */
+ allpseudo; /* list of all pseudo-devices */
+extern struct devmtq alldevms; /* list of all device-majors */
+extern struct pspectq allpspecs; /* list of all parent specs */
+extern int ndevi; /* number of devi's (before packing) */
+extern int npspecs; /* number of parent specs */
+extern devmajor_t maxbdevm; /* max number of block major */
+extern devmajor_t maxcdevm; /* max number of character major */
+extern int do_devsw; /* 0 if pre-devsw config */
+extern int oktopackage; /* 0 before setmachine() */
+extern int devilevel; /* used for devi->i_level */
+
+extern struct filelist allfiles; /* list of all kernel source files */
+extern struct filelist allcfiles; /* list of all .c files */
+extern struct filelist allsfiles; /* list of all .S files */
+extern struct filelist allofiles; /* list of all .o files */
+
+extern struct prefixlist prefixes, /* prefix stack */
+ allprefixes; /* all prefixes used
+ * (after popped) */
+extern struct prefixlist buildprefixes, /* build prefix stack */
+ allbuildprefixes;/* all build prefixes used
+ * (after popped) */
extern struct attr allattr;
-struct devi **packed; /* arrayified table for packed devi's */
-size_t npacked; /* size of packed table, <= ndevi */
+extern struct devi **packed; /* arrayified table for packed devi's */
+extern size_t npacked; /* size of packed table, <= ndevi */
-struct { /* loc[] table for config */
+extern struct locators { /* loc[] table for config */
const char **vec;
int used;
} locators;
Index: src/usr.bin/config/main.c
diff -u src/usr.bin/config/main.c:1.98.2.1 src/usr.bin/config/main.c:1.98.2.2
--- src/usr.bin/config/main.c:1.98.2.1 Mon Mar 9 15:22:21 2020
+++ src/usr.bin/config/main.c Fri Apr 30 14:07:02 2021
@@ -1,4 +1,4 @@
-/* $NetBSD: main.c,v 1.98.2.1 2020/03/09 15:22:21 martin Exp $ */
+/* $NetBSD: main.c,v 1.98.2.2 2021/04/30 14:07:02 martin Exp $ */
/*
* Copyright (c) 1992, 1993
@@ -45,7 +45,7 @@
#endif
#include <sys/cdefs.h>
-__RCSID("$NetBSD: main.c,v 1.98.2.1 2020/03/09 15:22:21 martin Exp $");
+__RCSID("$NetBSD: main.c,v 1.98.2.2 2021/04/30 14:07:02 martin Exp $");
#ifndef MAKE_BOOTSTRAP
#include <sys/cdefs.h>
@@ -86,6 +86,78 @@ COPYRIGHT("@(#) Copyright (c) 1992, 1993
#define LINE_MAX 1024
#endif
+struct devbasetq allbases;
+struct devatq alldevas;
+struct conftq allcf;
+struct devitq alldevi, allpseudo;
+struct devmtq alldevms;
+struct pspectq allpspecs;
+
+struct devi **packed;
+size_t npacked;
+
+struct locators locators;
+
+int lkmmode;
+const char *conffile; /* source file, e.g., "GENERIC.sparc" */
+const char *machine; /* machine type, e.g., "sparc" or "sun3" */
+const char *machinearch; /* machine arch, e.g., "sparc" or "m68k" */
+struct nvlist *machinesubarches;
+ /* machine subarches, e.g., "sun68k" or "hpc" */
+const char *ioconfname; /* ioconf name, mutually exclusive to machine */
+const char *srcdir; /* path to source directory (rel. to build) */
+const char *builddir; /* path to build directory */
+const char *defbuilddir; /* default build directory */
+const char *ident; /* kernel "ident"ification string */
+int errors; /* counts calls to error() */
+int minmaxusers; /* minimum "maxusers" parameter */
+int defmaxusers; /* default "maxusers" parameter */
+int maxmaxusers; /* default "maxusers" parameter */
+int maxusers; /* configuration's "maxusers" parameter */
+int maxpartitions; /* configuration's "maxpartitions" parameter */
+int version; /* version of the configuration file */
+struct nvlist *options; /* options */
+struct nvlist *fsoptions; /* filesystems */
+struct nvlist *mkoptions; /* makeoptions */
+struct nvlist *appmkoptions; /* appending mkoptions */
+struct nvlist *condmkoptions; /* conditional makeoption table */
+struct hashtab *devbasetab; /* devbase lookup */
+struct hashtab *devroottab; /* attach at root lookup */
+struct hashtab *devatab; /* devbase attachment lookup */
+struct hashtab *deaddevitab; /* removed instances lookup */
+struct hashtab *selecttab; /* selects things that are "optional foo" */
+struct hashtab *needcnttab; /* retains names marked "needs-count" */
+struct hashtab *opttab; /* table of configured options */
+struct hashtab *fsopttab; /* table of configured file systems */
+struct dlhash *defopttab; /* options that have been "defopt"'d */
+struct dlhash *defflagtab; /* options that have been "defflag"'d */
+struct dlhash *defparamtab; /* options that have been "defparam"'d */
+struct dlhash *defoptlint; /* lint values for options */
+struct nvhash *deffstab; /* defined file systems */
+struct dlhash *optfiletab; /* "defopt"'d option .h files */
+struct hashtab *attrtab; /* attributes (locators, etc.) */
+struct hashtab *attrdeptab; /* attribute dependencies */
+struct hashtab *bdevmtab; /* block devm lookup */
+struct hashtab *cdevmtab; /* character devm lookup */
+
+int ndevi; /* number of devi's (before packing) */
+int npspecs; /* number of parent specs */
+devmajor_t maxbdevm; /* max number of block major */
+devmajor_t maxcdevm; /* max number of character major */
+int do_devsw; /* 0 if pre-devsw config */
+int oktopackage; /* 0 before setmachine() */
+int devilevel; /* used for devi->i_level */
+
+struct filelist allfiles; /* list of all kernel source files */
+struct filelist allcfiles; /* list of all .c files */
+struct filelist allsfiles; /* list of all .S files */
+struct filelist allofiles; /* list of all .o files */
+
+struct prefixlist prefixes, /* prefix stack */
+ allprefixes; /* all prefixes used (after popped) */
+struct prefixlist buildprefixes, /* build prefix stack */
+ allbuildprefixes;/* all build prefixes used (after popped) */
+
int vflag; /* verbose output */
int Pflag; /* pack locators */
int Lflag; /* lint config generation */
Index: src/usr.bin/config/scan.l
diff -u src/usr.bin/config/scan.l:1.26.16.2 src/usr.bin/config/scan.l:1.26.16.3
--- src/usr.bin/config/scan.l:1.26.16.2 Mon Mar 9 18:28:14 2020
+++ src/usr.bin/config/scan.l Fri Apr 30 14:07:02 2021
@@ -1,5 +1,5 @@
%{
-/* $NetBSD: scan.l,v 1.26.16.2 2020/03/09 18:28:14 martin Exp $ */
+/* $NetBSD: scan.l,v 1.26.16.3 2021/04/30 14:07:02 martin Exp $ */
/*
* Copyright (c) 1992, 1993
@@ -42,7 +42,7 @@
*/
#include <sys/cdefs.h>
-__RCSID("$NetBSD: scan.l,v 1.26.16.2 2020/03/09 18:28:14 martin Exp $");
+__RCSID("$NetBSD: scan.l,v 1.26.16.3 2021/04/30 14:07:02 martin Exp $");
#include <sys/param.h>
#include <errno.h>
@@ -117,6 +117,7 @@ static int endinclude(void);
static int getincludepath(void);
static int getcurifdef(void);
+SLIST_HEAD(, prefix) curdirs; /* curdir stack */
%}
Index: src/usr.bin/make/main.c
diff -u src/usr.bin/make/main.c:1.273 src/usr.bin/make/main.c:1.273.6.1
--- src/usr.bin/make/main.c:1.273 Sat Oct 28 21:54:54 2017
+++ src/usr.bin/make/main.c Fri Apr 30 14:07:02 2021
@@ -1,4 +1,4 @@
-/* $NetBSD: main.c,v 1.273 2017/10/28 21:54:54 sjg Exp $ */
+/* $NetBSD: main.c,v 1.273.6.1 2021/04/30 14:07:02 martin Exp $ */
/*
* Copyright (c) 1988, 1989, 1990, 1993
@@ -69,7 +69,7 @@
*/
#ifndef MAKE_NATIVE
-static char rcsid[] = "$NetBSD: main.c,v 1.273 2017/10/28 21:54:54 sjg Exp $";
+static char rcsid[] = "$NetBSD: main.c,v 1.273.6.1 2021/04/30 14:07:02 martin Exp $";
#else
#include <sys/cdefs.h>
#ifndef lint
@@ -81,7 +81,7 @@ __COPYRIGHT("@(#) Copyright (c) 1988, 19
#if 0
static char sccsid[] = "@(#)main.c 8.3 (Berkeley) 3/19/94";
#else
-__RCSID("$NetBSD: main.c,v 1.273 2017/10/28 21:54:54 sjg Exp $");
+__RCSID("$NetBSD: main.c,v 1.273.6.1 2021/04/30 14:07:02 martin Exp $");
#endif
#endif /* not lint */
#endif
@@ -195,6 +195,8 @@ char *makeDependfile;
pid_t myPid;
int makelevel;
+FILE *debug_file;
+
Boolean forceJobs = FALSE;
extern Lst parseIncPath;
Index: src/usr.bin/make/make.h
diff -u src/usr.bin/make/make.h:1.104 src/usr.bin/make/make.h:1.104.6.1
--- src/usr.bin/make/make.h:1.104 Mon Feb 12 21:38:09 2018
+++ src/usr.bin/make/make.h Fri Apr 30 14:07:02 2021
@@ -1,4 +1,4 @@
-/* $NetBSD: make.h,v 1.104 2018/02/12 21:38:09 sjg Exp $ */
+/* $NetBSD: make.h,v 1.104.6.1 2021/04/30 14:07:02 martin Exp $ */
/*
* Copyright (c) 1988, 1989, 1990, 1993
@@ -448,7 +448,7 @@ extern pid_t myPid;
* There is one bit per module. It is up to the module what debug
* information to print.
*/
-FILE *debug_file; /* Output written here - default stdout */
+extern FILE *debug_file; /* Output written here - default stdout */
extern int debug;
#define DEBUG_ARCH 0x00001
#define DEBUG_COND 0x00002