# Examples of using gdb's command language to print out various gdb data
# structures.

define list-objfiles
  set $obj = object_files
  printf "objfile    bfd        msyms  name\n"
  while $obj != 0
    printf "0x%-8x 0x%-8x %6d %s\n", $obj, $obj->obfd, \
      $obj->minimal_symbol_count, $obj->name
    set var $obj = $obj->next
  end
end
document list-objfiles
Print a table of the current objfiles.
end

define print-values
  printf "Location  Offset        Size  Lazy   Contents0-3  Lval\n"
  set $val = $arg0
  while $val != 0
    printf "%8x  %6d  %10d  %4d  %12x  ", $val->location.address, \
      $val->offset, \
      $val->type->length, $val->lazy, $val->aligner.contents[0]
    output $val->lval
    printf "\n"
    set $val = $val->next
  end
end
document print-values
Print a list of values.
Takes one argument, the value to print, and prints all the values which
are chained through the next field.  Thus the most recently created values
will be listed first.  The "Contents0-3" field gives the first "int"
of the VALUE_CONTENTS; not the entire contents.
end