This is the mail archive of the binutils@sourceware.org mailing list for the binutils project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [Patch]: Improve readelf for ia64/OpenVMS


Hi Tristan,

This patch makes readelf dumps most of them if the object file is an IA64/OpenVMS file.

A couple of minor niggles:


-		  error (_("no .dynamic section in the dynamic segment\n"));
+                  /* A corresponding .dynamic section is expected but on
+                     IA-64/OpenVMS.  */
+                  if (!is_ia64_vms ())
+                    error (_("no .dynamic section in the dynamic segment\n"));

I think that the comment here is incomplete. Maybe something like:


  /* A corresponding .dynamic section is expected, but
     on IA-64/OpenVMS it is OK for it to be missing.  */



+  printf (_("\nImage fixups for needed library #%d: %s - ident: %lx\n"),
+	  (int) fixup->fixup_needed,
+          fixup->needed < strtab_sz ? strtab + fixup->needed : "???",
+          (long) fixup->needed_ident);

If a value is out of range then you should let the reader know its exact numerical amount as this might help debugging. Ie I would suggest recoding the above as something like this:


const char * lib_name;

  if (fixup->needed < strtab_sz)
    lib_name = strtab + fixup->needed;
  else
    {
      warn ("corrupt library name index of %lx found in fixup entry",
            fixup->needed);
      lib_name = "???";
    }

  printf (_("\nImage fixups for needed library #%d: %s - ident: %lx\n"),
	  (int) fixup->fixup_needed, lib_name,
          (long) fixup->needed_ident);

Cheers
  Nick



Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]