Now that dlg@ implemented 'show struct' using CTF, which makes it
available in GENERIC kernel we can retire DDB_STRUCTINFO.

Diff below does that, ok?

Index: conf/files
===================================================================
RCS file: /cvs/src/sys/conf/files,v
retrieving revision 1.651
diff -u -p -r1.651 files
--- conf/files  11 Aug 2017 20:50:15 -0000      1.651
+++ conf/files  11 Sep 2017 09:56:09 -0000
@@ -609,7 +609,6 @@ file ddb/db_lex.c                   ddb
 file ddb/db_output.c                   ddb
 file ddb/db_prof.c                     ddb & ddbprof & !gprof
 file ddb/db_run.c                      ddb
-file ddb/db_struct.c                   ddb & ddb_struct
 file ddb/db_sym.c                      ddb
 file ddb/db_trap.c                     ddb
 file ddb/db_variables.c                        ddb
Index: ddb//db_command.c
===================================================================
RCS file: /cvs/src/sys/ddb/db_command.c,v
retrieving revision 1.76
diff -u -p -r1.76 db_command.c
--- ddb//db_command.c   6 Sep 2017 04:47:26 -0000       1.76
+++ ddb//db_command.c   11 Sep 2017 09:03:36 -0000
@@ -581,9 +581,6 @@ struct db_command db_show_cmds[] = {
        { "nfsnode",    db_nfsnode_print_cmd,   0,      NULL },
 #endif
        { "object",     db_object_print_cmd,    0,      NULL },
-#ifdef DDB_STRUCT
-       { "offset",     db_struct_offset_cmd,   CS_OWN, NULL },
-#endif
        { "page",       db_page_print_cmd,      0,      NULL },
        { "panic",      db_show_panic_cmd,      0,      NULL },
        { "pool",       db_pool_print_cmd,      0,      NULL },
Index: ddb//db_struct.c
===================================================================
RCS file: ddb//db_struct.c
diff -N ddb//db_struct.c
--- ddb//db_struct.c    1 Sep 2015 05:26:10 -0000       1.4
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,277 +0,0 @@
-/*     $OpenBSD: db_struct.c,v 1.4 2015/09/01 05:26:10 jsg Exp $       */
-
-/*
- * Copyright (c) 2009 Miodrag Vallat.
- *
- * Permission to use, copy, modify, and distribute this software for any
- * purpose with or without fee is hereby granted, provided that the above
- * copyright notice and this permission notice appear in all copies.
- *
- * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
- * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
- * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
- * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
- * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
- * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
- * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- */
-
-/*
- * ddb routines to describe struct information
- */
-
-#include <sys/param.h>
-#include <sys/systm.h>
-
-#include <machine/db_machdep.h>
-
-#include <ddb/db_lex.h>
-#include <ddb/db_output.h>
-#include <ddb/db_access.h>
-#include <ddb/db_command.h>
-#include <ddb/db_extern.h>
-#include <ddb/db_interface.h>
-#include <ddb/db_var.h>
-
-#include "db_structinfo.h"
-
-void   db_struct_print_field(uint, int, db_expr_t);
-
-/*
- * Flags to pass db_struct_printf().
- */
-
-#define        DBSP_STRUCT_NAME        0x01    /* prepend struct name */
-#define        DBSP_VALUE              0x02    /* display field value */
-
-void
-db_struct_print_field(uint fidx, int flags, db_expr_t baseaddr)
-{
-       const struct ddb_field_info *field;
-       const struct ddb_struct_info *struc;
-       db_expr_t value;
-       uint tmp;
-       size_t namelen;
-       int width, basecol, curcol;
-       char tmpfmt[28];
-
-       field = &ddb_field_info[fidx];
-       basecol = 0;
-
-       if (ISSET(flags, DBSP_STRUCT_NAME)) {
-               struc = &ddb_struct_info[field->sidx];
-               namelen = strlen(ddb_structfield_strings + struc->name);
-               db_printf("%-30s ", ddb_structfield_strings + struc->name);
-               if (namelen > 30)
-                       basecol += namelen + 1;
-               else
-                       basecol += 30 + 1;
-       }
-
-       namelen = strlen(ddb_structfield_strings + field->name);
-       if (field->nitems == 1) {
-               db_printf("%-30s ", ddb_structfield_strings + field->name);
-               if (namelen > 30)
-                       basecol += namelen + 1;
-               else
-                       basecol += 30 + 1;
-       } else {
-               width = 30 - 2;
-               tmp = field->nitems;
-               while (tmp != 0) {
-                       width--;
-                       tmp /= 10;
-               }
-               if (namelen >= width) {
-                       db_printf("%s[%hu] ",
-                           ddb_structfield_strings + field->name,
-                           field->nitems);
-                       basecol += namelen + (30 - width) + 1;
-               } else {
-                       db_printf("%s[%hu]%*s ",
-                           ddb_structfield_strings + field->name,
-                           field->nitems, width - (int)namelen, "");
-                       /* namelen + (30-width) + (width-namelen) + 1 */
-                       basecol += 30 + 1;
-               }
-       }
-
-       if (field->size == 0) {
-               db_printf("bitfield");
-               /* basecol irrelevant from there on */
-       } else {
-               snprintf(tmpfmt, sizeof tmpfmt, "%u", (u_int)field->size);
-               basecol += strlen(tmpfmt) + 1;
-               db_printf("%s ", tmpfmt);
-       }
-
-       if (ISSET(flags, DBSP_VALUE)) {
-               /* only print the field value if it has a friendly size. */
-               switch (field->size) {
-               case 1:
-                       width = 4;
-                       break;
-               case 2:
-                       width = 8;
-                       break;
-               case 4:
-                       width = 12;
-                       break;
-#ifdef __LP64__
-               case 8:
-                       width = 20;
-                       break;
-#endif
-               default:
-                       width = 0;
-               }
-               if (width != 0) {
-                       baseaddr += field->offs;
-                       curcol = basecol;
-                       for (tmp = field->nitems; tmp != 0; tmp--) {
-                               value = db_get_value(baseaddr, field->size,
-                                   FALSE); /* assume unsigned */
-                               db_format(tmpfmt, sizeof tmpfmt, (long)value,
-                                   DB_FORMAT_N, 0, width);
-                               if (field->nitems > 1)
-                                       db_printf("%s", tmpfmt);
-                               else
-                                       db_printf("%20s", tmpfmt);
-                               baseaddr += field->size;
-
-                               /*
-                                * Try to fit array elements on as few lines
-                                * as possible.
-                                */
-                               if (field->nitems > 1 && tmp > 1) {
-                                       curcol += width + 1;
-                                       if (basecol >= db_max_width ||
-                                           curcol + width >= db_max_width) {
-                                               /* new line */
-                                               db_printf("\n");
-                                               if (basecol + width >=
-                                                   db_max_width) {
-                                                       db_printf("\t");
-                                                       curcol = 8;
-                                               } else {
-                                                       db_printf("%*s",
-                                                           basecol, "");
-                                                       curcol = basecol;
-                                               }
-                                       } else
-                                               db_printf(" ");
-                               }
-                       }
-               }
-       }
-
-       db_printf("\n");
-}
-
-
-/*
- * show offset <value>: displays the list of struct fields which exist
- * at that particular offset from the beginning of the struct.
- */
-void
-db_struct_offset_cmd(db_expr_t addr, int have_addr, db_expr_t count,
-    char *modifiers)
-{
-       db_expr_t offset = 0;
-       const struct ddb_field_offsets *field;
-       const ddb_field_off *fidx;
-       uint oidx;
-       int width;
-       char tmpfmt[28];
-
-       /*
-        * Read the offset from the debuggger input.
-        * We don't want to get it from the standard parsing code, because
-        * this would set `dot' to this value, which doesn't make sense.
-        */
-
-       if (!db_expression(&offset) || offset < 0) {
-               db_printf("not a valid offset\n");
-               db_flush_lex();
-               return;
-       }
-
-       db_skip_to_eol();
-
-       for (field = ddb_field_offsets, oidx = 0; oidx < NOFFS; field++, oidx++)
-               if (field->offs == (size_t)offset)
-                       break;
-
-       if (oidx == NOFFS) {
-               width = 0;
-               db_format(tmpfmt, sizeof tmpfmt, (long)offset,
-                   DB_FORMAT_N, 0, width);
-               db_printf("no known structure element at offset %-*s\n",
-                   width, tmpfmt);
-               db_flush_lex();
-               return;
-       }
-
-       db_printf("%-30s %-30s size\n", "struct", "member");
-       for (fidx = ddb_fields_by_offset + field->list; *fidx != 0; fidx++)
-               db_struct_print_field(*fidx, DBSP_STRUCT_NAME, 0);
-}
-
-/*
- * show struct <struct name> [addr]: displays the data starting at addr
- * (`dot' if unspecified) as a struct of the given type.
- */
-void
-db_struct_layout_cmd(db_expr_t addr, int have_addr, db_expr_t count,
-    char *modifiers)
-{
-       const struct ddb_struct_info *struc;
-       uint sidx, fidx;
-       int t;
-
-       /*
-        * Read the struct name from the debugger input.
-        */
-
-       t = db_read_token();
-       if (t != tIDENT) {
-               db_printf("Bad struct name\n");
-               db_flush_lex();
-               return;
-       }
-
-       for (struc = ddb_struct_info, sidx = 0; sidx < NSTRUCT;
-           struc++, sidx++)
-               if (strcmp(ddb_structfield_strings + struc->name,
-                   db_tok_string) == 0)
-                       break;
-
-       if (sidx == NSTRUCT) {
-               db_printf("unknown struct %s\n", db_tok_string);
-               db_flush_lex();
-               return;
-       }
-
-       /*
-        * Read the address, if any, from the debugger input.
-        * In that case, update `dot' value.
-        */
-
-       if (db_expression(&addr)) {
-               db_dot = (db_addr_t)addr;
-               db_last_addr = db_dot;
-       } else
-               addr = (db_expr_t)db_dot;
-
-       db_skip_to_eol();
-
-       /*
-        * Display the structure contents.
-        */
-
-       db_printf("struct %s at %p (%u bytes)\n",
-           ddb_structfield_strings + struc->name, (void *)addr,
-           (u_int)struc->size);
-       for (fidx = struc->fmin; fidx <= struc->fmax; fidx++)
-               db_struct_print_field(fidx, DBSP_VALUE, addr);
-}
Index: ddb//db_structinfo.c
===================================================================
RCS file: ddb//db_structinfo.c
diff -N ddb//db_structinfo.c
--- ddb//db_structinfo.c        29 Jul 2017 08:50:42 -0000      1.16
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,106 +0,0 @@
-/* $OpenBSD: db_structinfo.c,v 1.16 2017/07/29 08:50:42 zhuk Exp $ */
-/* public domain */
-/*
- * This file is intended to be compiled with debug information,
- * which is then translated by parse_debug.awk into support data
- * for ddb.
- */
-
-#include <sys/param.h>
-#include <sys/systm.h>
-
-#include <sys/device.h>
-#include <sys/proc.h>
-#include <sys/user.h>
-#include <sys/acct.h>
-#include <sys/buf.h>
-#include <sys/conf.h>
-#include <sys/disk.h>
-#include <sys/disklabel.h>
-#include <sys/dirent.h>
-#include <sys/evcount.h>
-#include <sys/event.h>
-#include <sys/eventvar.h>
-#include <sys/exec.h>
-#include <sys/extent.h>
-#include <sys/fcntl.h>
-#include <sys/file.h>
-#include <sys/filedesc.h>
-#include <sys/gpio.h>
-#include <sys/hotplug.h>
-#include <sys/ipc.h>
-#include <sys/kcore.h>
-#include <sys/kthread.h>
-#include <sys/ktrace.h>
-#include <sys/lock.h>
-#include <sys/lockf.h>
-#include <sys/malloc.h>
-#include <sys/mbuf.h>
-#include <sys/memrange.h>
-#include <sys/mman.h>
-#include <sys/mount.h>
-#include <sys/msg.h>
-#include <sys/msgbuf.h>
-#include <sys/namei.h>
-#include <sys/pipe.h>
-#include <sys/pool.h>
-#include <sys/protosw.h>
-#include <sys/ptrace.h>
-#include <sys/queue.h>
-#include <sys/resource.h>
-#include <sys/resourcevar.h>
-#include <sys/rwlock.h>
-#include <sys/sched.h>
-#include <sys/select.h>
-#include <sys/selinfo.h>
-#include <sys/sem.h>
-#include <sys/sensors.h>
-#include <sys/shm.h>
-#include <sys/siginfo.h>
-#include <sys/signal.h>
-#include <sys/signalvar.h>
-#include <sys/socket.h>
-#include <sys/socketvar.h>
-#include <sys/stat.h>
-#include <sys/statvfs.h>
-#include <sys/swap.h>
-#include <sys/syscall.h>
-#include <sys/syscallargs.h>
-#include <sys/sysctl.h>
-#include <sys/syslog.h>
-#include <sys/termios.h>
-#include <sys/time.h>
-#include <sys/timeout.h>
-#include <sys/timetc.h>
-#include <sys/tprintf.h>
-#include <sys/tree.h>
-#include <sys/tty.h>
-#include <sys/ucred.h>
-#include <sys/uio.h>
-#include <sys/un.h>
-#include <sys/unpcb.h>
-#include <sys/utsname.h>
-#include <sys/vmmeter.h>
-#include <sys/vnode.h>
-#include <sys/wait.h>
-
-#include <machine/cpu.h>
-#include <machine/conf.h>
-#include <machine/mutex.h>
-
-#include <uvm/uvm.h>
-
-/* XXX add filesystem includes there */
-
-#include <sys/ataio.h>
-#include <sys/audioio.h>
-#include <sys/cdio.h>
-#include <sys/chio.h>
-#include <sys/dkio.h>
-#include <sys/filio.h>
-#include <sys/mtio.h>
-#include <sys/pciio.h>
-#include <sys/radioio.h>
-#include <sys/scsiio.h>
-#include <sys/sockio.h>
-#include <sys/videoio.h>
Index: ddb//parse_structinfo.pl
===================================================================
RCS file: ddb//parse_structinfo.pl
diff -N ddb//parse_structinfo.pl
--- ddb//parse_structinfo.pl    29 Apr 2015 06:06:38 -0000      1.3
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,390 +0,0 @@
-#!/usr/bin/perl
-#      $OpenBSD: parse_structinfo.pl,v 1.3 2015/04/29 06:06:38 guenther Exp $
-#
-# Copyright (c) 2009 Miodrag Vallat.
-# Copyright (c) 2013 Philip Guenther.
-#
-# Permission to use, copy, modify, and distribute this software for any
-# purpose with or without fee is hereby granted, provided that the above
-# copyright notice and this permission notice appear in all copies.
-#
-# THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
-# WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
-# MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
-# ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
-# WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
-# ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
-# OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-#
-
-# This ugly script parses the output of objdump -g in order to extract
-# structure layout information, to be used by ddb.
-#
-# The output of this script is the following static data:
-# - for each struct:
-#   - its name
-#   - its size (individual element size if an array)
-#   - the number of elements in the array (1 if not)
-#   - its first and last field indexes
-# - for each field:
-#   - its name
-#   - its offset and size
-#   - the index of the struct it is member of
-# This allows fast struct -> field information retrieval.
-#
-# To retrieve information from a field size or offset, we also output
-# the following reverse arrays:
-# - for each offset, in ascending order, a variable length list of field
-#   indexes.
-# - for each size, in ascending order, a variable length list of field
-#   indexes.
-#
-# The compromise here is that I want to minimize linear searches. Memory
-# use is considered secondary, hence the back `pointer' to the struct in the
-# fields array.
-
-use strict;
-use warnings;
-use integer;
-use IO::File;
-
-use constant MAX_COLUMN => 72;
-
-my $depth = 0;
-my $ignore = 0;
-
-my $cur_struct;
-
-my $max_offs = 0;
-my $max_fsize = 0;
-my $max_ssize = 0;
-
-# Variables used in generating the raw, textual output
-my $txt;               # IO::File to write to
-my @id2struct;         # mapping of objdump's struct ids to @structs idxes
-my @subfield;          # list of subfields to dump at the end
-
-# count of how many times each literal string appears
-my %strings;
-my @strings_by_len;
-sub add_string
-{
-    my $string = shift;
-    if ($strings{$string}++ == 0) {
-       push @{ $strings_by_len[ length $string ] }, $string;
-    }
-}
-
-my @structs;
-
-my %offs_to_fields;
-my %size_to_fields;
-my @fields = ( {
-       name    => "",
-       offs    => 0,
-       size    => 0,
-       items   => 0,
-       struct  => 0,
-    } );
-sub new_field
-{
-    my($name, $offs, $size, $items, $id) = @_;
-
-    $items //= 1;
-    add_string($name);
-    push @fields, {
-           name        => $name,
-           offs        => $offs,
-           size        => $size,
-           items       => $items,
-           struct      => scalar(@structs),
-       };
-    $max_offs = $offs  if $offs > $max_offs;
-    $max_fsize = $size if $size > $max_fsize;
-    push @{ $offs_to_fields{$offs} }, $#fields;
-    push @{ $size_to_fields{$size} }, $#fields;
-    if ($txt) {
-       raw($offs, $size * $items, $cur_struct->{name}, $name);
-       if (defined $id) {
-           push @subfield, [ $cur_struct->{name}, $name, $offs, $id ];
-       }
-    }
-}
-
-# Generate textual output for those who are ddb challenged.
-$txt = IO::File->new("db_structinfo.txt", "w")
-                       or warn "$0: unable to create db_structinfo.txt: $!";
-sub raw {
-    my($offs, $size, $struct, $member) = @_;
-    $txt->print(join("\t", $offs, $size, $offs+$size, $struct, $member), "\n");
-}
-$txt and $txt->print(join("\t", qw(offset size next struct member)), "\n");
-
-
-while (<>) {
-    chomp;     # strip record separator
-    if (m!^struct (\w+) \{ /\* size (\d+) id (\d+) !) {
-       $depth = 1;
-       $cur_struct = {
-               name     => $1,
-               size     => $2,
-               fieldmin => scalar(@fields)
-           };
-       $id2struct[$3] = scalar(@structs);
-       next
-    }
-
-    if (/^};/) {
-       if ($depth == 0) {
-           $ignore--;
-           next
-       }
-       $depth = 0;
-       if (scalar(@fields) == $cur_struct->{fieldmin}) {
-           # empty struct, ignore it
-           undef $cur_struct;
-           next
-       }
-       $cur_struct->{fieldmax} = $#fields;
-       add_string( $cur_struct->{name} );
-       $max_ssize = $cur_struct->{size} if $cur_struct->{size} > $max_ssize;
-       push @structs, $cur_struct;
-       next
-    }
-
-    next if /\{.*\}/;          # single line enum
-
-    if (/\{/) {
-       # subcomponent
-       if ($depth) {
-           $depth++;
-       } else {
-           $ignore++;
-       }
-       next
-    }
-
-    if (/\}/) {
-       if ($ignore) {
-           $ignore--;
-           next
-       }
-       $depth--;
-       next if $depth != 1;
-       # FALL THROUGH
-    }
-
-    if (/bitsize (\d+), bitpos (\d+)/) {
-       next if $ignore;
-       next if $depth != 1;
-
-       # Bitfields are a PITA... From a ddb point of view, we can't really
-       # access storage units smaller than a byte.
-       # So we'll report all bitfields as having size 0, and the
-       # rounded down byte position where they start.
-       my $cursize = ($1 % 8) ? 0 : ($1 / 8);
-       my $curoffs = $2 / 8;
-
-       # Try and gather the field name.
-       # The most common case: not a function pointer or array
-       if (m!\s(\**)(\w+);\s/\* bitsize!) {
-           my $pointer = $1 ne "";
-           my $name = $2;
-           # check for a struct id to match up
-           my($id) = !$pointer && m!/\* id (\d+) \*/.*;!;
-           new_field($name, $curoffs, $cursize, 1, $id);
-           next
-       }
-
-       # How about a function pointer?
-       if (m!\s\**\(\*+(\w+)\) \(/\* unknown \*/\);\s/\* bitsize!) {
-           new_field($1, $curoffs, $cursize);
-           next
-       }
-
-       # Maybe it's an array
-       if (m!\s(\**)([][:\w]+);\s/\* bitsize!) {
-           my $pointer = $1 ne "";
-           my $name = $2;
-           my $items = 1;
-           while ($name =~ s/\[(\d+)\]:\w+//) {
-               $items *= $1;
-           }
-           # check for a struct id to match up
-           my($id) = !$pointer && m!/\* id (\d+) \*/.*;!;
-           new_field($name, $curoffs, $cursize / $items, $items, $id);
-           next
-       }
-
-       # skip any anonymous unions {
-       next if m!\}; /\*!;
-
-       # Should be nothing left
-       print STDERR "unknown member type: $_\n";
-       next
-    }
-}
-
-# Do all the subfield processing
-# XXX Should recurse into subsub...fields?
-foreach my $sf (@subfield) {
-    my($struct_name, $name, $offs, $id) = @$sf;
-    my $s = $id2struct[$id];
-
-    # We don't remember unions.  No point in doing so
-    next if !defined $s;
-
-    my $struct = $structs[$s];
-    foreach my $i ($struct->{fieldmin} .. $struct->{fieldmax}) {
-       my $f = $fields[$i];
-       raw($offs + $f->{offs}, $f->{size} * $f->{items},
-                       $struct_name, "$name.$f->{name}");
-    }
-}
-
-# Pick a type for ddb_field_off: if the offsets and sizes are all less than
-# 65536 then we'll use u_short, otherwise u_int.
-my $f_type = "u_short";
-if ($max_offs > 65535 || $max_fsize > 65535 || $max_ssize > 65535) {
-    $f_type = "u_int";
-    print STDERR "Using u_int for struct/field sizes and offsets\n";
-}
-
-
-print <<EOM;
-/*
- * THIS IS A GENERATED FILE.  DO NOT EDIT!
- */
-
-#include <sys/param.h>
-#include <sys/types.h>
-
-typedef $f_type ddb_field_off;
-
-struct ddb_struct_info {
-       u_short name;
-       ddb_field_off size;
-       u_short fmin, fmax;
-};
-struct ddb_field_info {
-       u_short name;
-       u_short sidx;
-       ddb_field_off offs;
-       ddb_field_off size;
-       u_short nitems;
-};
-struct ddb_field_offsets {
-       ddb_field_off offs;
-       u_short list;
-};
-struct ddb_field_sizes {
-       ddb_field_off size;
-       u_short list;
-};
-EOM
-
-my $prefix = qq(static const char ddb_structfield_strings[] =\n\t"\\0);
-my %string_to_offset = ( "" => 0 );
-my $soff = 1;
-for (my $len = $#strings_by_len; $len > 0; $len--) {
-    foreach my $string (@{ $strings_by_len[$len] }) {
-       next if exists $string_to_offset{$string};
-       my $off = $string_to_offset{$string} = $soff;
-       $soff += $len + 1;      # for the NUL
-       print $prefix, $string;
-       $prefix = qq(\\0"\n\t");
-
-       # check for suffixes that are also strings
-       for (my $o = 1; $o < $len; $o++) {
-           my $sstr = substr($string, $o);
-           next unless exists $strings{$sstr};
-           next if exists $string_to_offset{$sstr};
-           $string_to_offset{$sstr} = $off + $o;
-           #print STDERR "found $sstr inside $string\n";
-       }
-    }
-}
-print qq(";\n);
-
-sub resolve_string
-{
-    my $string = shift;
-    if (! exists $string_to_offset{$string}) {
-       die "no mapping for $string";
-    }
-    return $string_to_offset{$string};
-}
-
-# Check for overflow and, if so, print some stats
-if ($soff > 65535 || @structs > 65535 || @fields > 65535) {
-    print STDERR <<EOM;
-ERROR: value out of range of u_short  Time to change types?
-
-max string offset: $soff
-max field offset: $max_offs
-max field size: $max_fsize
-max struct size: $max_ssize
-number of structs: ${\scalar(@structs)}
-number of fields: ${\scalar(@fields)}
-EOM
-    exit 1
-}
-
-
-print "#define NSTRUCT ", scalar(@structs), "\n";
-print "static const struct ddb_struct_info ddb_struct_info[NSTRUCT] = {\n";
-
-foreach my $s (@structs) {
-    my $name = resolve_string($s->{name});
-    print "\t{ ",
-       join(", ", $name, @{$s}{qw( size fieldmin fieldmax )}),
-        " },\n";
-}
-printf "};\n\n";
-
-print "#define NFIELD ", scalar(@fields), "\n";
-print "static const struct ddb_field_info ddb_field_info[NFIELD] = {\n";
-foreach my $f (@fields) {
-    my $name = resolve_string($f->{name});
-    print "\t{ ",
-       join(", ", $name, @{$f}{qw( struct offs size items )}),
-        " },\n";
-}
-printf "};\n\n";
-
-
-# Given a mapping from values to fields that have that value, generate
-# two C arrays: one containing lists of fields with each value, in order;
-# the other indexing into that one for each value.  I.e., to get the
-# fields that have a given value, find the value in the second array and
-# then iterate from where that points into the first array until you hit
-# an entry with field==0.
-sub print_reverse_mapping
-{
-    my($prefix, $map, $max) = @_;
-    print "static const ddb_field_off ddb_fields_by_${prefix}[] = {";
-    my @heads;
-    my $w = 0;
-    foreach my $val (sort { $a <=> $b } keys %$map) {
-       push @heads, [$val, $w];
-       foreach my $field (@{ $map->{$val} }, 0) {
-           print( ($w++ % 10) == 0 ? "\n\t" : " ", $field, ",");
-       }
-    }
-    print "\n};\n\n";
-    print "#define $max ", scalar(@heads), "\n";
-    print "static const struct ddb_field_${prefix}s",
-               " ddb_field_${prefix}s[$max] = {\n";
-    foreach my $h (@heads) {
-       print "\t{ $h->[0], $h->[1] },\n";
-    }
-    print "};\n";
-}
-
-# reverse arrays
-print_reverse_mapping("offset", \%offs_to_fields, "NOFFS");
-print "\n";
-
-# The size->field mapping isn't used by ddb currently, so don't output it
-# print_reverse_mapping("size", \%size_to_fields, "NSIZES");
-
Index: arch/alpha/conf/Makefile.alpha
===================================================================
RCS file: /cvs/src/sys/arch/alpha/conf/Makefile.alpha,v
retrieving revision 1.107
diff -u -p -r1.107 Makefile.alpha
--- arch/alpha/conf/Makefile.alpha      12 Aug 2017 20:26:11 -0000      1.107
+++ arch/alpha/conf/Makefile.alpha      11 Sep 2017 09:04:51 -0000
@@ -45,12 +45,6 @@ CFLAGS=              ${DEBUG} ${CWARNFLAGS} ${CMACHF
 AFLAGS=                -D_LOCORE -x assembler-with-cpp ${CWARNFLAGS} 
${CMACHFLAGS}
 LINKFLAGS=     -T ld.script -X -N -G 4 --warn-common -nopie
 
-.if ${IDENT:M-DDDB_STRUCT}
-DB_STRUCTINFO= db_structinfo.h
-.else
-DB_STRUCTINFO=
-.endif
-
 HOSTCC?=       ${CC}
 HOSTED_CPPFLAGS=${CPPFLAGS:S/^-nostdinc$//}
 HOSTED_CFLAGS= ${CFLAGS}
@@ -134,7 +128,7 @@ vers.o: ${SYSTEM_DEP:Ngap.o}
        ${CC} ${CFLAGS} ${CPPFLAGS} ${PROF} -c vers.c
 
 clean:
-       rm -f *bsd *bsd.gdb *.[dio] [a-z]*.s assym.* ${DB_STRUCTINFO} \
+       rm -f *bsd *bsd.gdb *.[dio] [a-z]*.s assym.* \
            gap.link ld.script lorder makegap.sh param.c
 
 cleandir: clean
@@ -142,11 +136,6 @@ cleandir: clean
 
 depend obj:
 
-db_structinfo.h: $S/ddb/db_structinfo.c $S/ddb/parse_structinfo.pl
-       ${CC} ${CFLAGS} ${CPPFLAGS} -MT $@ -gstabs -c $S/ddb/db_structinfo.c
-       objdump -g db_structinfo.o | perl $S/ddb/parse_structinfo.pl > $@
-       rm -f db_structinfo.o
-
 locore0.o: ${_machdir}/${_mach}/locore0.S assym.h
 locore.o: ${_machdir}/${_mach}/locore.s assym.h
 
@@ -156,19 +145,5 @@ newinstall:
            sha256 -h /var/db/kernel.SHA256 /bsd
 
 install: update-link newinstall
-
-# pull in the dependency information
-.if !empty(DB_STRUCTINFO) && !exists(${DB_STRUCTINFO})
- ${SYSTEM_OBJ}: ${DB_STRUCTINFO}
-.endif
-.ifnmake clean
-. for o in ${SYSTEM_OBJ:Ngap.o} assym.h ${DB_STRUCTINFO}
-.  if exists(${o:R}.d)
-.   include "${o:R}.d"
-.  elif exists($o)
-    .PHONY: $o
-.  endif
-. endfor
-.endif
 
 %RULES
Index: arch/amd64/conf/Makefile.amd64
===================================================================
RCS file: /cvs/src/sys/arch/amd64/conf/Makefile.amd64,v
retrieving revision 1.92
diff -u -p -r1.92 Makefile.amd64
--- arch/amd64/conf/Makefile.amd64      12 Aug 2017 20:26:11 -0000      1.92
+++ arch/amd64/conf/Makefile.amd64      11 Sep 2017 09:05:10 -0000
@@ -51,12 +51,6 @@ CFLAGS=              ${DEBUG} ${CWARNFLAGS} ${CMACHF
 AFLAGS=                -D_LOCORE -x assembler-with-cpp ${CWARNFLAGS} 
${CMACHFLAGS}
 LINKFLAGS=     -T ld.script -X --warn-common -nopie
 
-.if ${IDENT:M-DDDB_STRUCT}
-DB_STRUCTINFO= db_structinfo.h
-.else
-DB_STRUCTINFO=
-.endif
-
 HOSTCC?=       ${CC}
 HOSTED_CPPFLAGS=${CPPFLAGS:S/^-nostdinc$//}
 HOSTED_CFLAGS= ${CFLAGS}
@@ -140,7 +134,7 @@ vers.o: ${SYSTEM_DEP:Ngap.o}
        ${CC} ${CFLAGS} ${CPPFLAGS} ${PROF} -c vers.c
 
 clean:
-       rm -f *bsd *bsd.gdb *.[dio] [a-z]*.s assym.* ${DB_STRUCTINFO} \
+       rm -f *bsd *bsd.gdb *.[dio] [a-z]*.s assym.* \
            gap.link ld.script lorder makegap.sh param.c
 
 cleandir: clean
@@ -148,11 +142,6 @@ cleandir: clean
 
 depend obj:
 
-db_structinfo.h: $S/ddb/db_structinfo.c $S/ddb/parse_structinfo.pl
-       ${CC} ${CFLAGS} ${CPPFLAGS} -MT $@ -gstabs -c $S/ddb/db_structinfo.c
-       objdump -g db_structinfo.o | perl $S/ddb/parse_structinfo.pl > $@
-       rm -f db_structinfo.o
-
 locore0.o: ${_machdir}/${_mach}/locore0.S assym.h
 locore.o mutex.o vector.o copy.o spl.o: assym.h
 mptramp.o acpi_wakecode.o vmm_support.o: assym.h
@@ -163,19 +152,5 @@ newinstall:
            sha256 -h /var/db/kernel.SHA256 /bsd
 
 install: update-link newinstall
-
-# pull in the dependency information
-.if !empty(DB_STRUCTINFO) && !exists(${DB_STRUCTINFO})
- ${SYSTEM_OBJ}: ${DB_STRUCTINFO}
-.endif
-.ifnmake clean
-. for o in ${SYSTEM_OBJ:Ngap.o} assym.h ${DB_STRUCTINFO}
-.  if exists(${o:R}.d)
-.   include "${o:R}.d"
-.  elif exists($o)
-    .PHONY: $o
-.  endif
-. endfor
-.endif
 
 %RULES
Index: arch/arm64/conf/Makefile.arm64
===================================================================
RCS file: /cvs/src/sys/arch/arm64/conf/Makefile.arm64,v
retrieving revision 1.21
diff -u -p -r1.21 Makefile.arm64
--- arch/arm64/conf/Makefile.arm64      12 Aug 2017 20:26:11 -0000      1.21
+++ arch/arm64/conf/Makefile.arm64      11 Sep 2017 09:09:04 -0000
@@ -46,12 +46,6 @@ CFLAGS=              ${DEBUG} ${CWARNFLAGS} ${CMACHF
 AFLAGS=                -D_LOCORE -x assembler-with-cpp ${CWARNFLAGS} 
${CMACHFLAGS}
 LINKFLAGS=     -T ld.script -X --warn-common -nopie
 
-.if ${IDENT:M-DDDB_STRUCT}
-DB_STRUCTINFO= db_structinfo.h
-.else
-DB_STRUCTINFO=
-.endif
-
 HOSTCC?=       ${CC}
 HOSTED_CPPFLAGS=${CPPFLAGS:S/^-nostdinc$//}
 HOSTED_CFLAGS= ${CFLAGS}
@@ -140,7 +134,7 @@ vers.o: ${SYSTEM_DEP:Ngap.o}
        ${CC} ${CFLAGS} ${CPPFLAGS} ${PROF} -c vers.c
 
 clean:
-       rm -f *bsd *bsd.gdb *.[dio] [a-z]*.s assym.* ${DB_STRUCTINFO} \
+       rm -f *bsd *bsd.gdb *.[dio] [a-z]*.s assym.* \
            gap.link ld.script lorder makegap.sh param.c
 
 cleandir: clean
@@ -148,11 +142,6 @@ cleandir: clean
 
 depend obj:
 
-db_structinfo.h: $S/ddb/db_structinfo.c $S/ddb/parse_structinfo.pl
-       ${CC} ${CFLAGS} ${CPPFLAGS} -MT $@ -gstabs -c $S/ddb/db_structinfo.c
-       objdump -g db_structinfo.o | perl $S/ddb/parse_structinfo.pl > $@
-       rm -f db_structinfo.o
-
 locore0.o: ${_archdir}/${_arch}/locore0.S assym.h
 in_cksum_arm.o fiq_subr.o bcopyinout.o copystr.o sigcode.o copy.o: assym.h
 vectors.o cpuswitch.o exception.o bcopy_page.o irq_dispatch.o support.o: 
assym.h
@@ -164,21 +153,6 @@ newinstall:
            sha256 -h /var/db/kernel.SHA256 /bsd
 
 install: update-link newinstall
-
-# pull in the dependency information
-.if !empty(DB_STRUCTINFO) && !exists(${DB_STRUCTINFO})
- ${SYSTEM_OBJ}: ${DB_STRUCTINFO}
-.endif
-.ifnmake clean
-. for o in ${SYSTEM_OBJ:Ngap.o} assym.h ${DB_STRUCTINFO}
-.  if exists(${o:R}.d)
-.   include "${o:R}.d"
-.  elif exists($o)
-    .PHONY: $o
-.  endif
-. endfor
-.endif
-
 
 ## for qemu this is where ram is located
 RAM_ADDR?=0x40000000
Index: arch/armv7/conf/Makefile.armv7
===================================================================
RCS file: /cvs/src/sys/arch/armv7/conf/Makefile.armv7,v
retrieving revision 1.34
diff -u -p -r1.34 Makefile.armv7
--- arch/armv7/conf/Makefile.armv7      12 Aug 2017 20:26:11 -0000      1.34
+++ arch/armv7/conf/Makefile.armv7      11 Sep 2017 09:27:28 -0000
@@ -43,12 +43,6 @@ CFLAGS=              ${DEBUG} ${CWARNFLAGS} ${CMACHF
 AFLAGS=                -D_LOCORE -x assembler-with-cpp ${CWARNFLAGS} 
${CMACHFLAGS}
 LINKFLAGS=     -T ld.script --warn-common -nopie
 
-.if ${IDENT:M-DDDB_STRUCT}
-DB_STRUCTINFO= db_structinfo.h
-.else
-DB_STRUCTINFO=
-.endif
-
 HOSTCC?=       ${CC}
 HOSTED_CPPFLAGS=${CPPFLAGS:S/^-nostdinc$//}
 HOSTED_CFLAGS= ${CFLAGS}
@@ -139,7 +133,7 @@ vers.o: ${SYSTEM_DEP:Ngap.o}
        ${CC} ${CFLAGS} ${CPPFLAGS} ${PROF} -c vers.c
 
 clean:
-       rm -f *bsd *bsd.gdb *.[dio] [a-z]*.s assym.* ${DB_STRUCTINFO} \
+       rm -f *bsd *bsd.gdb *.[dio] [a-z]*.s assym.* \
            gap.link ld.script lorder makegap.sh param.c
 
 cleandir: clean
@@ -147,11 +141,6 @@ cleandir: clean
 
 depend obj:
 
-db_structinfo.h: $S/ddb/db_structinfo.c $S/ddb/parse_structinfo.pl
-       ${CC} ${CFLAGS} ${CPPFLAGS} -MT $@ -gstabs -c $S/ddb/db_structinfo.c
-       objdump -g db_structinfo.o | perl $S/ddb/parse_structinfo.pl > $@
-       rm -f db_structinfo.o
-
 locore0.o: ${_machdir}/${_mach}/locore0.S assym.h
 in_cksum_arm.o fiq_subr.o bcopyinout.o copystr.o sigcode.o: assym.h
 vectors.o cpuswitch7.o exception.o bcopy_page.o irq_dispatch.o: assym.h
@@ -163,21 +152,6 @@ newinstall:
            sha256 -h /var/db/kernel.SHA256 /bsd
 
 install: update-link newinstall
-
-# pull in the dependency information
-.if !empty(DB_STRUCTINFO) && !exists(${DB_STRUCTINFO})
- ${SYSTEM_OBJ}: ${DB_STRUCTINFO}
-.endif
-.ifnmake clean
-. for o in ${SYSTEM_OBJ:Ngap.o} assym.h ${DB_STRUCTINFO}
-.  if exists(${o:R}.d)
-.   include "${o:R}.d"
-.  elif exists($o)
-    .PHONY: $o
-.  endif
-. endfor
-.endif
-
 
 # until we get native booting working, put this in the tree.
 KERNADDR_OMAP=0x80300000
Index: arch/hppa/conf/Makefile.hppa
===================================================================
RCS file: /cvs/src/sys/arch/hppa/conf/Makefile.hppa,v
retrieving revision 1.101
diff -u -p -r1.101 Makefile.hppa
--- arch/hppa/conf/Makefile.hppa        12 Aug 2017 20:26:11 -0000      1.101
+++ arch/hppa/conf/Makefile.hppa        11 Sep 2017 09:09:33 -0000
@@ -53,12 +53,6 @@ CFLAGS+=     -mpa-risc-2-0
 CFLAGS+=       -mpa-risc-1-1
 .endif
 
-.if ${IDENT:M-DDDB_STRUCT}
-DB_STRUCTINFO= db_structinfo.h
-.else
-DB_STRUCTINFO=
-.endif
-
 HOSTCC?=       ${CC}
 HOSTED_CPPFLAGS=${CPPFLAGS:S/^-nostdinc$//}
 HOSTED_CFLAGS= ${CFLAGS}
@@ -142,7 +136,7 @@ vers.o: ${SYSTEM_DEP:Ngap.o}
        ${CC} ${CFLAGS} ${CPPFLAGS} ${PROF} -c vers.c
 
 clean:
-       rm -f *bsd *bsd.gdb *.[dio] [a-z]*.s assym.* ${DB_STRUCTINFO} \
+       rm -f *bsd *bsd.gdb *.[dio] [a-z]*.s assym.* \
            gap.link ld.script lorder makegap.sh param.c
 
 cleandir: clean
@@ -150,11 +144,6 @@ cleandir: clean
 
 depend obj:
 
-db_structinfo.h: $S/ddb/db_structinfo.c $S/ddb/parse_structinfo.pl
-       ${CC} ${CFLAGS} ${CPPFLAGS} -MT $@ -gstabs -c $S/ddb/db_structinfo.c
-       objdump -g db_structinfo.o | perl $S/ddb/parse_structinfo.pl > $@
-       rm -f db_structinfo.o
-
 locore0.o: ${_machdir}/${_mach}/locore0.S assym.h
 locore.o: ${_machdir}/${_mach}/locore.S assym.h
 fpemu.o spcopy.o: assym.h
@@ -165,19 +154,5 @@ newinstall:
            sha256 -h /var/db/kernel.SHA256 /bsd
 
 install: update-link newinstall
-
-# pull in the dependency information
-.if !empty(DB_STRUCTINFO) && !exists(${DB_STRUCTINFO})
- ${SYSTEM_OBJ}: ${DB_STRUCTINFO}
-.endif
-.ifnmake clean
-. for o in ${SYSTEM_OBJ:Ngap.o} assym.h ${DB_STRUCTINFO}
-.  if exists(${o:R}.d)
-.   include "${o:R}.d"
-.  elif exists($o)
-    .PHONY: $o
-.  endif
-. endfor
-.endif
 
 %RULES
Index: arch/i386/conf/Makefile.i386
===================================================================
RCS file: /cvs/src/sys/arch/i386/conf/Makefile.i386,v
retrieving revision 1.117
diff -u -p -r1.117 Makefile.i386
--- arch/i386/conf/Makefile.i386        12 Aug 2017 20:26:11 -0000      1.117
+++ arch/i386/conf/Makefile.i386        11 Sep 2017 09:09:48 -0000
@@ -53,12 +53,6 @@ AFLAGS+=     -m32
 LINKFLAGS+= -melf_i386_obsd
 .endif
 
-.if ${IDENT:M-DDDB_STRUCT}
-DB_STRUCTINFO= db_structinfo.h
-.else
-DB_STRUCTINFO=
-.endif
-
 HOSTCC?=       ${CC}
 HOSTED_CPPFLAGS=${CPPFLAGS:S/^-nostdinc$//}
 HOSTED_CFLAGS= ${CFLAGS}
@@ -142,7 +136,7 @@ vers.o: ${SYSTEM_DEP:Ngap.o}
        ${CC} ${CFLAGS} ${CPPFLAGS} ${PROF} -c vers.c
 
 clean:
-       rm -f *bsd *bsd.gdb *.[dio] [a-z]*.s assym.* ${DB_STRUCTINFO} \
+       rm -f *bsd *bsd.gdb *.[dio] [a-z]*.s assym.* \
            gap.link ld.script lorder makegap.sh param.c
 
 cleandir: clean
@@ -150,11 +144,6 @@ cleandir: clean
 
 depend obj:
 
-db_structinfo.h: $S/ddb/db_structinfo.c $S/ddb/parse_structinfo.pl
-       ${CC} ${CFLAGS} ${CPPFLAGS} -MT $@ -gstabs -c $S/ddb/db_structinfo.c
-       objdump -g db_structinfo.o | perl $S/ddb/parse_structinfo.pl > $@
-       rm -f db_structinfo.o
-
 locore0.o: ${_machdir}/${_mach}/locore0.S assym.h
 locore.o mutex.o in_cksum.o mptramp.o: assym.h
 kvm86call.o acpi_wakecode.o vmm_support.o: assym.h
@@ -165,19 +154,5 @@ newinstall:
            sha256 -h /var/db/kernel.SHA256 /bsd
 
 install: update-link newinstall
-
-# pull in the dependency information
-.if !empty(DB_STRUCTINFO) && !exists(${DB_STRUCTINFO})
- ${SYSTEM_OBJ}: ${DB_STRUCTINFO}
-.endif
-.ifnmake clean
-. for o in ${SYSTEM_OBJ:Ngap.o} assym.h ${DB_STRUCTINFO}
-.  if exists(${o:R}.d)
-.   include "${o:R}.d"
-.  elif exists($o)
-    .PHONY: $o
-.  endif
-. endfor
-.endif
 
 %RULES
Index: arch/landisk/conf/Makefile.landisk
===================================================================
RCS file: /cvs/src/sys/arch/landisk/conf/Makefile.landisk,v
retrieving revision 1.73
diff -u -p -r1.73 Makefile.landisk
--- arch/landisk/conf/Makefile.landisk  12 Aug 2017 20:26:11 -0000      1.73
+++ arch/landisk/conf/Makefile.landisk  11 Sep 2017 09:10:05 -0000
@@ -45,12 +45,6 @@ CFLAGS=              ${DEBUG} ${CWARNFLAGS} ${CMACHF
 AFLAGS=                -D_LOCORE -x assembler-with-cpp ${CWARNFLAGS} 
${CMACHFLAGS}
 LINKFLAGS=     -N -Ttext 0x8c002000 -e start --warn-common -nopie
 
-.if ${IDENT:M-DDDB_STRUCT}
-DB_STRUCTINFO= db_structinfo.h
-.else
-DB_STRUCTINFO=
-.endif
-
 HOSTCC?=       ${CC}
 HOSTED_CPPFLAGS=${CPPFLAGS:S/^-nostdinc$//}
 HOSTED_CFLAGS= ${CFLAGS}
@@ -134,7 +128,7 @@ vers.o: ${SYSTEM_DEP:Ngap.o}
        ${CC} ${CFLAGS} ${CPPFLAGS} ${PROF} -c vers.c
 
 clean:
-       rm -f *bsd *bsd.gdb *.[dio] [a-z]*.s assym.* ${DB_STRUCTINFO} \
+       rm -f *bsd *bsd.gdb *.[dio] [a-z]*.s assym.* \
            gap.link ld.script lorder makegap.sh param.c
 
 cleandir: clean
@@ -142,11 +136,6 @@ cleandir: clean
 
 depend obj:
 
-db_structinfo.h: $S/ddb/db_structinfo.c $S/ddb/parse_structinfo.pl
-       ${CC} ${CFLAGS} ${CPPFLAGS} -MT $@ -gstabs -c $S/ddb/db_structinfo.c
-       objdump -g db_structinfo.o | perl $S/ddb/parse_structinfo.pl > $@
-       rm -f db_structinfo.o
-
 locore.o: ${_machdir}/${_mach}/locore.S assym.h
 locore0.o: ${_machdir}/${_mach}/locore0.S assym.h
 locore_subr.o vectors.o in_cksum.o: assym.h
@@ -157,19 +146,5 @@ newinstall:
            sha256 -h /var/db/kernel.SHA256 /bsd
 
 install: update-link newinstall
-
-# pull in the dependency information
-.if !empty(DB_STRUCTINFO) && !exists(${DB_STRUCTINFO})
- ${SYSTEM_OBJ}: ${DB_STRUCTINFO}
-.endif
-.ifnmake clean
-. for o in ${SYSTEM_OBJ:Ngap.o} assym.h ${DB_STRUCTINFO}
-.  if exists(${o:R}.d)
-.   include "${o:R}.d"
-.  elif exists($o)
-    .PHONY: $o
-.  endif
-. endfor
-.endif
 
 %RULES
Index: arch/loongson/conf/Makefile.loongson
===================================================================
RCS file: /cvs/src/sys/arch/loongson/conf/Makefile.loongson,v
retrieving revision 1.66
diff -u -p -r1.66 Makefile.loongson
--- arch/loongson/conf/Makefile.loongson        12 Aug 2017 20:26:11 -0000      
1.66
+++ arch/loongson/conf/Makefile.loongson        11 Sep 2017 09:10:19 -0000
@@ -50,12 +50,6 @@ CFLAGS=              ${DEBUG} ${CWARNFLAGS} ${CMACHF
 AFLAGS=                -D_LOCORE -x assembler-with-cpp ${CWARNFLAGS} 
${CMACHFLAGS}
 LINKFLAGS=     -e start -T ld.script -Ttext=${LINK_ADDRESS} -warn-common -nopie
 
-.if ${IDENT:M-DDDB_STRUCT}
-DB_STRUCTINFO= db_structinfo.h
-.else
-DB_STRUCTINFO=
-.endif
-
 HOSTCC?=       ${CC}
 HOSTED_CPPFLAGS=${CPPFLAGS:S/^-nostdinc$//}
 HOSTED_CFLAGS= ${CFLAGS}
@@ -143,7 +137,7 @@ vers.o: ${SYSTEM_DEP:Ngap.o}
        ${CC} ${CFLAGS} ${CPPFLAGS} ${PROF} -c vers.c
 
 clean:
-       rm -f *bsd *bsd.gdb *.[dio] [a-z]*.s assym.* ${DB_STRUCTINFO} \
+       rm -f *bsd *bsd.gdb *.[dio] [a-z]*.s assym.* \
            gap.link ld.script lorder makegap.sh param.c
 
 cleandir: clean
@@ -155,11 +149,6 @@ symbols.sort: ${_machdir}/${_mach}/symbo
 
 depend obj:
 
-db_structinfo.h: $S/ddb/db_structinfo.c $S/ddb/parse_structinfo.pl
-       ${CC} ${CFLAGS} ${CPPFLAGS} -MT $@ -gstabs -c $S/ddb/db_structinfo.c
-       objdump -g db_structinfo.o | perl $S/ddb/parse_structinfo.pl > $@
-       rm -f db_structinfo.o
-
 locore0.o: ${_machdir}/${_mach}/locore0.S assym.h
 context.o cp0access.o exception.o locore.o: assym.h
 lcore_access.o lcore_ddb.o lcore_float.o tlbhandler.o: assym.h
@@ -171,19 +160,5 @@ newinstall:
            sha256 -h /var/db/kernel.SHA256 /bsd
 
 install: update-link newinstall
-
-# pull in the dependency information
-.if !empty(DB_STRUCTINFO) && !exists(${DB_STRUCTINFO})
- ${SYSTEM_OBJ}: ${DB_STRUCTINFO}
-.endif
-.ifnmake clean
-. for o in ${SYSTEM_OBJ:Ngap.o} assym.h ${DB_STRUCTINFO}
-.  if exists(${o:R}.d)
-.   include "${o:R}.d"
-.  elif exists($o)
-    .PHONY: $o
-.  endif
-. endfor
-.endif
 
 %RULES
Index: arch/luna88k/conf/Makefile.luna88k
===================================================================
RCS file: /cvs/src/sys/arch/luna88k/conf/Makefile.luna88k,v
retrieving revision 1.76
diff -u -p -r1.76 Makefile.luna88k
--- arch/luna88k/conf/Makefile.luna88k  12 Aug 2017 20:26:11 -0000      1.76
+++ arch/luna88k/conf/Makefile.luna88k  11 Sep 2017 09:10:36 -0000
@@ -45,12 +45,6 @@ CFLAGS=              ${DEBUG} ${CWARNFLAGS} ${CMACHF
 AFLAGS=                -D_LOCORE -x assembler-with-cpp ${CWARNFLAGS} 
${CMACHFLAGS}
 LINKFLAGS=     -T ld.script -Ttext 0x80000 -e __start -X -N --warn-common 
-nopie
 
-.if ${IDENT:M-DDDB_STRUCT}
-DB_STRUCTINFO= db_structinfo.h
-.else
-DB_STRUCTINFO=
-.endif
-
 HOSTCC?=       ${CC}
 HOSTED_CPPFLAGS=${CPPFLAGS:S/^-nostdinc$//}
 HOSTED_CFLAGS= ${CFLAGS}
@@ -138,7 +132,7 @@ vers.o: ${SYSTEM_DEP:Ngap.o}
        ${CC} ${CFLAGS} ${CPPFLAGS} ${PROF} -c vers.c
 
 clean:
-       rm -f *bsd *bsd.gdb *.[dio] [a-z]*.s assym.* ${DB_STRUCTINFO} \
+       rm -f *bsd *bsd.gdb *.[dio] [a-z]*.s assym.* \
            gap.link ld.script lorder makegap.sh param.c
 
 cleandir: clean
@@ -146,11 +140,6 @@ cleandir: clean
 
 depend obj:
 
-db_structinfo.h: $S/ddb/db_structinfo.c $S/ddb/parse_structinfo.pl
-       ${CC} ${CFLAGS} ${CPPFLAGS} -MT $@ -gstabs -c $S/ddb/db_structinfo.c
-       objdump -g db_structinfo.o | perl $S/ddb/parse_structinfo.pl > $@
-       rm -f db_structinfo.o
-
 locore0.o: ${_machdir}/${_mach}/locore0.S assym.h
 locore.o eh.o mutex.o process.o subr.o: assym.h
 
@@ -160,19 +149,5 @@ newinstall:
            sha256 -h /var/db/kernel.SHA256 /bsd
 
 install: update-link newinstall
-
-# pull in the dependency information
-.if !empty(DB_STRUCTINFO) && !exists(${DB_STRUCTINFO})
- ${SYSTEM_OBJ}: ${DB_STRUCTINFO}
-.endif
-.ifnmake clean
-. for o in ${SYSTEM_OBJ:Ngap.o} assym.h ${DB_STRUCTINFO}
-.  if exists(${o:R}.d)
-.   include "${o:R}.d"
-.  elif exists($o)
-    .PHONY: $o
-.  endif
-. endfor
-.endif
 
 %RULES
Index: arch/macppc/conf/Makefile.macppc
===================================================================
RCS file: /cvs/src/sys/arch/macppc/conf/Makefile.macppc,v
retrieving revision 1.90
diff -u -p -r1.90 Makefile.macppc
--- arch/macppc/conf/Makefile.macppc    12 Aug 2017 20:26:11 -0000      1.90
+++ arch/macppc/conf/Makefile.macppc    11 Sep 2017 09:10:50 -0000
@@ -45,12 +45,6 @@ CFLAGS=              ${DEBUG} ${CWARNFLAGS} ${CMACHF
 AFLAGS=                -D_LOCORE ${CMACHFLAGS}
 LINKFLAGS=     -N -Ttext 100114 -e start --warn-common -nopie
 
-.if ${IDENT:M-DDDB_STRUCT}
-DB_STRUCTINFO= db_structinfo.h
-.else
-DB_STRUCTINFO=
-.endif
-
 HOSTCC?=       ${CC}
 HOSTED_CPPFLAGS=${CPPFLAGS:S/^-nostdinc$//}
 HOSTED_CFLAGS= ${CFLAGS}
@@ -134,7 +128,7 @@ vers.o: ${SYSTEM_DEP:Ngap.o}
        ${CC} ${CFLAGS} ${CPPFLAGS} ${PROF} -c vers.c
 
 clean:
-       rm -f *bsd *bsd.gdb *.[dio] [a-z]*.s assym.* ${DB_STRUCTINFO} \
+       rm -f *bsd *bsd.gdb *.[dio] [a-z]*.s assym.* \
            gap.link ld.script lorder makegap.sh param.c
 
 cleandir: clean
@@ -142,11 +136,6 @@ cleandir: clean
 
 depend obj:
 
-db_structinfo.h: $S/ddb/db_structinfo.c $S/ddb/parse_structinfo.pl
-       ${CC} ${CFLAGS} ${CPPFLAGS} -MT $@ -gstabs -c $S/ddb/db_structinfo.c
-       objdump -g db_structinfo.o | perl $S/ddb/parse_structinfo.pl > $@
-       rm -f db_structinfo.o
-
 locore0.o: ${_machdir}/${_mach}/locore0.S assym.h
 locore.o: ${_machdir}/${_mach}/locore.S assym.h
 mutex.o: assym.h
@@ -157,19 +146,5 @@ newinstall:
            sha256 -h /var/db/kernel.SHA256 /bsd
 
 install: update-link newinstall
-
-# pull in the dependency information
-.if !empty(DB_STRUCTINFO) && !exists(${DB_STRUCTINFO})
- ${SYSTEM_OBJ}: ${DB_STRUCTINFO}
-.endif
-.ifnmake clean
-. for o in ${SYSTEM_OBJ:Ngap.o} assym.h ${DB_STRUCTINFO}
-.  if exists(${o:R}.d)
-.   include "${o:R}.d"
-.  elif exists($o)
-    .PHONY: $o
-.  endif
-. endfor
-.endif
 
 %RULES
Index: arch/octeon/conf/Makefile.octeon
===================================================================
RCS file: /cvs/src/sys/arch/octeon/conf/Makefile.octeon,v
retrieving revision 1.45
diff -u -p -r1.45 Makefile.octeon
--- arch/octeon/conf/Makefile.octeon    19 Aug 2017 12:52:32 -0000      1.45
+++ arch/octeon/conf/Makefile.octeon    11 Sep 2017 09:11:05 -0000
@@ -50,12 +50,6 @@ CFLAGS=              ${DEBUG} ${CWARNFLAGS} ${CMACHF
 AFLAGS=                -D_LOCORE -x assembler-with-cpp ${CWARNFLAGS} 
${CMACHFLAGS}
 LINKFLAGS=     -e start -T ld.script -Ttext=${LINK_ADDRESS} --warn-common 
-nopie
 
-.if ${IDENT:M-DDDB_STRUCT}
-DB_STRUCTINFO= db_structinfo.h
-.else
-DB_STRUCTINFO=
-.endif
-
 HOSTCC?=       ${CC}
 HOSTED_CPPFLAGS=${CPPFLAGS:S/^-nostdinc$//}
 HOSTED_CFLAGS= ${CFLAGS}
@@ -143,7 +137,7 @@ vers.o: ${SYSTEM_DEP:Ngap.o}
        ${CC} ${CFLAGS} ${CPPFLAGS} ${PROF} -c vers.c
 
 clean:
-       rm -f *bsd *bsd.gdb *.[dio] [a-z]*.s assym.* ${DB_STRUCTINFO} \
+       rm -f *bsd *bsd.gdb *.[dio] [a-z]*.s assym.* \
            gap.link ld.script lorder makegap.sh param.c
 
 cleandir: clean
@@ -155,11 +149,6 @@ symbols.sort: ${_machdir}/${_mach}/symbo
 
 depend obj:
 
-db_structinfo.h: $S/ddb/db_structinfo.c $S/ddb/parse_structinfo.pl
-       ${CC} ${CFLAGS} ${CPPFLAGS} -MT $@ -gstabs -c $S/ddb/db_structinfo.c
-       objdump -g db_structinfo.o | perl $S/ddb/parse_structinfo.pl > $@
-       rm -f db_structinfo.o
-
 locore0.o: ${_machdir}/${_mach}/locore0.S assym.h
 context.o cp0access.o exception.o locore.o: assym.h
 lcore_access.o lcore_ddb.o lcore_float.o tlbhandler.o: assym.h
@@ -171,19 +160,5 @@ newinstall:
            sha256 -h /var/db/kernel.SHA256 /bsd
 
 install: update-link newinstall
-
-# pull in the dependency information
-.if !empty(DB_STRUCTINFO) && !exists(${DB_STRUCTINFO})
- ${SYSTEM_OBJ}: ${DB_STRUCTINFO}
-.endif
-.ifnmake clean
-. for o in ${SYSTEM_OBJ:Ngap.o} assym.h ${DB_STRUCTINFO}
-.  if exists(${o:R}.d)
-.   include "${o:R}.d"
-.  elif exists($o)
-    .PHONY: $o
-.  endif
-. endfor
-.endif
 
 %RULES
Index: arch/sgi/conf/Makefile.sgi
===================================================================
RCS file: /cvs/src/sys/arch/sgi/conf/Makefile.sgi,v
retrieving revision 1.90
diff -u -p -r1.90 Makefile.sgi
--- arch/sgi/conf/Makefile.sgi  12 Aug 2017 20:26:11 -0000      1.90
+++ arch/sgi/conf/Makefile.sgi  11 Sep 2017 09:11:22 -0000
@@ -50,12 +50,6 @@ CFLAGS=              ${DEBUG} ${CWARNFLAGS} ${CMACHF
 AFLAGS=                -D_LOCORE -x assembler-with-cpp ${CWARNFLAGS} 
${CMACHFLAGS}
 LINKFLAGS=     -e start -T ld.script -Ttext=${LINK_ADDRESS} --warn-common 
-nopie
 
-.if ${IDENT:M-DDDB_STRUCT}
-DB_STRUCTINFO= db_structinfo.h
-.else
-DB_STRUCTINFO=
-.endif
-
 HOSTCC?=       ${CC}
 HOSTED_CPPFLAGS=${CPPFLAGS:S/^-nostdinc$//}
 HOSTED_CFLAGS= ${CFLAGS}
@@ -143,7 +137,7 @@ vers.o: ${SYSTEM_DEP:Ngap.o}
        ${CC} ${CFLAGS} ${CPPFLAGS} ${PROF} -c vers.c
 
 clean:
-       rm -f *bsd *bsd.gdb *.[dio] [a-z]*.s assym.* ${DB_STRUCTINFO} \
+       rm -f *bsd *bsd.gdb *.[dio] [a-z]*.s assym.* \
            gap.link ld.script lorder makegap.sh param.c
 
 cleandir: clean
@@ -155,11 +149,6 @@ symbols.sort: ${_machdir}/${_mach}/symbo
 
 depend obj:
 
-db_structinfo.h: $S/ddb/db_structinfo.c $S/ddb/parse_structinfo.pl
-       ${CC} ${CFLAGS} ${CPPFLAGS} -MT $@ -gstabs -c $S/ddb/db_structinfo.c
-       objdump -g db_structinfo.o | perl $S/ddb/parse_structinfo.pl > $@
-       rm -f db_structinfo.o
-
 locore0.o: ${_machdir}/${_mach}/locore0.S assym.h
 context.o cp0access.o exception.o exception_tfp.o: assym.h
 lcore_access.o lcore_ddb.o lcore_float.o locore.o: assym.h
@@ -172,19 +161,5 @@ newinstall:
            sha256 -h /var/db/kernel.SHA256 /bsd
 
 install: update-link newinstall
-
-# pull in the dependency information
-.if !empty(DB_STRUCTINFO) && !exists(${DB_STRUCTINFO})
- ${SYSTEM_OBJ}: ${DB_STRUCTINFO}
-.endif
-.ifnmake clean
-. for o in ${SYSTEM_OBJ:Ngap.o} assym.h ${DB_STRUCTINFO}
-.  if exists(${o:R}.d)
-.   include "${o:R}.d"
-.  elif exists($o)
-    .PHONY: $o
-.  endif
-. endfor
-.endif
 
 %RULES
Index: arch/socppc/conf/Makefile.socppc
===================================================================
RCS file: /cvs/src/sys/arch/socppc/conf/Makefile.socppc,v
retrieving revision 1.56
diff -u -p -r1.56 Makefile.socppc
--- arch/socppc/conf/Makefile.socppc    12 Aug 2017 20:26:11 -0000      1.56
+++ arch/socppc/conf/Makefile.socppc    11 Sep 2017 09:11:37 -0000
@@ -41,12 +41,6 @@ CFLAGS=              ${DEBUG} ${CWARNFLAGS} ${CMACHF
 AFLAGS=                -D_LOCORE ${CMACHFLAGS}
 LINKFLAGS=     -N -Ttext 200000 -e start --warn-common -nopie
 
-.if ${IDENT:M-DDDB_STRUCT}
-DB_STRUCTINFO= db_structinfo.h
-.else
-DB_STRUCTINFO=
-.endif
-
 HOSTCC?=       ${CC}
 HOSTED_CPPFLAGS=${CPPFLAGS:S/^-nostdinc$//}
 HOSTED_CFLAGS= ${CFLAGS}
@@ -118,18 +112,13 @@ vers.o: ${SYSTEM_DEP:Ngap.o}
        ${CC} ${CFLAGS} ${CPPFLAGS} ${PROF} -c vers.c
 
 clean:
-       rm -f *bsd *bsd.gdb *.[dio] [a-z]*.s assym.* ${DB_STRUCTINFO} param.c
+       rm -f *bsd *bsd.gdb *.[dio] [a-z]*.s assym.* param.c
 
 cleandir: clean
        rm -f Makefile *.h ioconf.c options machine ${_mach} vers.c
 
 depend obj:
 
-db_structinfo.h: $S/ddb/db_structinfo.c $S/ddb/parse_structinfo.pl
-       ${CC} ${CFLAGS} ${CPPFLAGS} -MT $@ -gstabs -c $S/ddb/db_structinfo.c
-       objdump -g db_structinfo.o | perl $S/ddb/parse_structinfo.pl > $@
-       rm -f db_structinfo.o
-
 locore.o: ${_machdir}/${_mach}/locore.S assym.h
 mutex.o: assym.h
 
@@ -142,20 +131,6 @@ install-kernel-${MACHINE_NAME}:
        cmp -s bsd /bsd || ln -f /bsd /obsd
        umask 077; cp bsd /nbsd
        mv /nbsd /bsd
-.endif
-
-# pull in the dependency information
-.if !empty(DB_STRUCTINFO) && !exists(${DB_STRUCTINFO})
- ${SYSTEM_OBJ}: ${DB_STRUCTINFO}
-.endif
-.ifnmake clean
-. for o in ${SYSTEM_OBJ:Ngap.o} assym.h ${DB_STRUCTINFO}
-.  if exists(${o:R}.d)
-.   include "${o:R}.d"
-.  elif exists($o)
-    .PHONY: $o
-.  endif
-. endfor
 .endif
 
 %RULES
Index: arch/sparc64/conf/Makefile.sparc64
===================================================================
RCS file: /cvs/src/sys/arch/sparc64/conf/Makefile.sparc64,v
retrieving revision 1.93
diff -u -p -r1.93 Makefile.sparc64
--- arch/sparc64/conf/Makefile.sparc64  12 Aug 2017 20:26:11 -0000      1.93
+++ arch/sparc64/conf/Makefile.sparc64  11 Sep 2017 09:11:59 -0000
@@ -43,12 +43,6 @@ CFLAGS=              ${DEBUG} ${CWARNFLAGS} ${CMACHF
 AFLAGS=                -D_LOCORE -x assembler-with-cpp ${CWARNFLAGS} 
${CMACHFLAGS}
 LINKFLAGS=     -n -T ld.script --warn-common -nopie
 
-.if ${IDENT:M-DDDB_STRUCT}
-DB_STRUCTINFO= db_structinfo.h
-.else
-DB_STRUCTINFO=
-.endif
-
 HOSTCC?=       ${CC}
 HOSTED_CPPFLAGS=${CPPFLAGS:S/^-nostdinc$//}
 HOSTED_CFLAGS= ${CFLAGS}
@@ -132,7 +126,7 @@ vers.o: ${SYSTEM_DEP:Ngap.o}
        ${CC} ${CFLAGS} ${CPPFLAGS} ${PROF} -c vers.c
 
 clean:
-       rm -f *bsd *bsd.gdb *.[dio] [a-z]*.s assym.* ${DB_STRUCTINFO} \
+       rm -f *bsd *bsd.gdb *.[dio] [a-z]*.s assym.* \
            gap.link ld.script lorder makegap.sh param.c
 
 cleandir: clean
@@ -140,11 +134,6 @@ cleandir: clean
 
 depend obj:
 
-db_structinfo.h: $S/ddb/db_structinfo.c $S/ddb/parse_structinfo.pl
-       ${CC} ${CFLAGS} ${CPPFLAGS} -MT $@ -gstabs -c $S/ddb/db_structinfo.c
-       objdump -g db_structinfo.o | perl $S/ddb/parse_structinfo.pl > $@
-       rm -f db_structinfo.o
-
 locore.o: ${_machdir}/${_mach}/locore.s assym.h
 hvcall.o in_cksum.o mutex.o: assym.h
 
@@ -154,19 +143,5 @@ newinstall:
            sha256 -h /var/db/kernel.SHA256 /bsd
 
 install: update-link newinstall
-
-# pull in the dependency information
-.if !empty(DB_STRUCTINFO) && !exists(${DB_STRUCTINFO})
- ${SYSTEM_OBJ}: ${DB_STRUCTINFO}
-.endif
-.ifnmake clean
-. for o in ${SYSTEM_OBJ:Ngap.o} assym.h ${DB_STRUCTINFO}
-.  if exists(${o:R}.d)
-.   include "${o:R}.d"
-.  elif exists($o)
-    .PHONY: $o
-.  endif
-. endfor
-.endif
 
 %RULES

Reply via email to