- printf ("%-12s", bfd_section_name (file, sec));
- rprint_number (8, size);
- printf (" ");
- rprint_number (8, bfd_section_vma (file, sec));
- printf ("\n");
+ if (bfd_section_vma (sec) > svi_maxvma)
+ svi_maxvma = bfd_section_vma (sec);
+ }
+}
+
+static void
+sysv_one_line (const char *name, bfd_size_type size, bfd_vma vma)
+{
+ printf ("%-*s ", svi_namelen, name);
+ rprint_number (svi_sizelen, size);
+ printf (" ");
+ rprint_number (svi_vmalen, vma);
+ printf ("\n");
+}
+
+static void
+sysv_internal_printer (bfd *file ATTRIBUTE_UNUSED, sec_ptr sec,
+ void *ignore ATTRIBUTE_UNUSED)
+{
+ flagword flags = bfd_section_flags (sec);
+ if (flags == 0)
+ return;
+
+ if ( ! bfd_is_abs_section (sec)
+ && ! bfd_is_com_section (sec)
+ && ! bfd_is_und_section (sec))
+ {
+ bfd_size_type size = bfd_section_size (sec);
+
+ svi_total += size;
+
+ sysv_one_line (bfd_section_name (sec),
+ size,
+ bfd_section_vma (sec));