PR 22369
* coffgen.c (_bfd_coff_free_symbols): Fail if called on a non-COFF
file.
* cofflink.c (coff_link_check_archive_element): Skip non-COFF
members of an archive.
Expand and move the non_got_ref comment.
* elf64-ppc.c (ppc64_elf_adjust_dynamic_symbol): Likewise.
Expand and move the non_got_ref comment.
* elf64-ppc.c (ppc64_elf_adjust_dynamic_symbol): Likewise.
+2017-11-01 Nick Clifton <nickc@redhat.com>
+
+ PR 22369
+ * coffgen.c (_bfd_coff_free_symbols): Fail if called on a non-COFF
+ file.
+ * cofflink.c (coff_link_check_archive_element): Skip non-COFF
+ members of an archive.
+
2017-10-31 Nick Clifton <nickc@redhat.com>
PR 22373
2017-10-31 Nick Clifton <nickc@redhat.com>
PR 22373
}
obj_coff_external_syms (abfd) = syms;
}
obj_coff_external_syms (abfd) = syms;
bfd_boolean
_bfd_coff_free_symbols (bfd *abfd)
{
bfd_boolean
_bfd_coff_free_symbols (bfd *abfd)
{
+ if (! bfd_family_coff (abfd))
+ return FALSE;
+
if (obj_coff_external_syms (abfd) != NULL
&& ! obj_coff_keep_syms (abfd))
{
free (obj_coff_external_syms (abfd));
obj_coff_external_syms (abfd) = NULL;
}
if (obj_coff_external_syms (abfd) != NULL
&& ! obj_coff_keep_syms (abfd))
{
free (obj_coff_external_syms (abfd));
obj_coff_external_syms (abfd) = NULL;
}
if (obj_coff_strings (abfd) != NULL
&& ! obj_coff_keep_strings (abfd))
{
if (obj_coff_strings (abfd) != NULL
&& ! obj_coff_keep_strings (abfd))
{
obj_coff_strings (abfd) = NULL;
obj_coff_strings_len (abfd) = 0;
}
obj_coff_strings (abfd) = NULL;
obj_coff_strings_len (abfd) = 0;
}
if (h->type != bfd_link_hash_undefined)
return TRUE;
if (h->type != bfd_link_hash_undefined)
return TRUE;
+ /* PR 22369 - Skip non COFF objects in the archive. */
+ if (! bfd_family_coff (abfd))
+ return TRUE;
+
/* Include this element? */
if (!(*info->callbacks->add_archive_element) (info, abfd, name, &abfd))
return TRUE;
/* Include this element? */
if (!(*info->callbacks->add_archive_element) (info, abfd, name, &abfd))
return TRUE;
@itemx --all
Equivalent to specifying @option{--file-header},
@option{--program-headers}, @option{--sections}, @option{--symbols},
@itemx --all
Equivalent to specifying @option{--file-header},
@option{--program-headers}, @option{--sections}, @option{--symbols},
-@option{--relocs}, @option{--dynamic}, @option{--notes} and
-@option{--version-info}.
+@option{--relocs}, @option{--dynamic}, @option{--notes},
+@option{--version-info}, @option{--arch-specific}, @option{--unwind},
+@option{--section-groups} and @option{--histogram}.
+
+Note - this option does not enable @option{--use-dynamic} itself, so
+if that option is not present on the command line then dynamic symbols
+and dynamic relocs will not be displayed.
@item -h
@itemx --file-header
@item -h
@itemx --file-header
symbol hash tables in the file's dynamic section, rather than the
symbol table sections.
symbol hash tables in the file's dynamic section, rather than the
symbol table sections.
+When displaying relocations, this option makes @command{readelf}
+display the dynamic relocations rather than the static relocations.
+
@item -x <number or name>
@itemx --hex-dump=<number or name>
Displays the contents of the indicated section as a hexadecimal bytes.
@item -x <number or name>
@itemx --hex-dump=<number or name>
Displays the contents of the indicated section as a hexadecimal bytes.