Initial import of binutils 2.22 on the new vendor branch
[dragonfly.git] / tools / tools / chkmoddeps / pmoddeps.gdb
1 #!/usr/bin/env gdb -batch -x
2
3 set $start = (struct mod_metadata **)&__start_set_modmetadata_set
4 set $end = (struct mod_metadata **)&__stop_set_modmetadata_set
5
6 set $p = $start - 1
7 while $p + 1 < $end
8         set $p = $p + 1
9         set $d = *$p
10
11         if $d->md_type == 2
12                 printf "module %s\n", $d->md_cval
13         end
14         if $d->md_type == 1
15                 set $dp = (struct mod_depend *)$d->md_data
16
17                 printf "depend %s %d %d %d\n", $d->md_cval, \
18                         $dp->md_ver_minimum, \
19                         $dp->md_ver_preferred, \
20                         $dp->md_ver_maximum
21         end
22         if $d->md_type == 3
23                 set $dv = (struct mod_version *)$d->md_data
24
25                 printf "version %s %d\n", $d->md_cval, $dv->mv_version
26         end
27 end