+2002-11-14 Nick Clifton <nickc@redhat.com>
+
+ * readelf.c (process_program_headers): Add comment about return
+ value. Ensure that 0 is returned if the headers are not loaded.
+ (process_file): If process_section_headers failed to load the
+ headers disable any tests that rely upon them. Similarly for
+ process_program_headers.
+
2002-11-12 Nick Clifton <nickc@redhat.com>
* po/da.po: Updated Danish translation.
return 1;
}
+/* Returns 1 if the program headers were loaded. */
+
static int
process_program_headers (file)
FILE * file;
{
if (do_segments)
printf (_("\nThere are no program headers in this file.\n"));
- return 1;
+ return 0;
}
if (do_segments && !do_header)
return 1;
}
- process_section_headers (file);
+ if (! process_section_headers (file))
+ {
+ /* Without loaded section headers we
+ cannot process lots of things. */
+ do_unwind = do_version = do_dump = do_arch = 0;
- process_program_headers (file);
+ if (! do_using_dynamic)
+ do_syms = do_reloc = 0;
+ }
- process_dynamic_segment (file);
+ if (process_program_headers (file))
+ process_dynamic_segment (file);
process_relocs (file);