mirror of
https://sourceware.org/git/binutils-gdb.git
synced 2025-02-23 13:21:43 +08:00
2010-01-11 Tristan Gingold <gingold@adacore.com>
* archive.c (bfd_slurp_armap): Also check for Mach-O sorted armap.
This commit is contained in:
parent
2c610e4b46
commit
cba0723b0f
@ -1,3 +1,7 @@
|
||||
2010-01-11 Tristan Gingold <gingold@adacore.com>
|
||||
|
||||
* archive.c (bfd_slurp_armap): Also check for Mach-O sorted armap.
|
||||
|
||||
2010-01-11 Nick Clifton <nickc@redhat.com>
|
||||
|
||||
* elf32-v850.c (v850_elf_perform_relocation): Fix overflow
|
||||
|
@ -1054,6 +1054,24 @@ bfd_slurp_armap (bfd *abfd)
|
||||
return FALSE;
|
||||
#endif
|
||||
}
|
||||
else if (CONST_STRNEQ (nextname, "#1/20 "))
|
||||
{
|
||||
/* Mach-O has a special name for armap when the map is sorted by name.
|
||||
However because this name has a space it is slightly more difficult
|
||||
to check it. */
|
||||
struct ar_hdr hdr;
|
||||
char extname[21];
|
||||
|
||||
if (bfd_bread (&hdr, sizeof (hdr), abfd) != sizeof (hdr))
|
||||
return FALSE;
|
||||
/* Read the extended name. We know its length. */
|
||||
if (bfd_bread (extname, 20, abfd) != 20)
|
||||
return FALSE;
|
||||
if (bfd_seek (abfd, (file_ptr) -(sizeof (hdr) + 20), SEEK_CUR) != 0)
|
||||
return FALSE;
|
||||
if (CONST_STRNEQ (extname, "__.SYMDEF SORTED"))
|
||||
return do_slurp_bsd_armap (abfd);
|
||||
}
|
||||
|
||||
bfd_has_map (abfd) = FALSE;
|
||||
return TRUE;
|
||||
|
Loading…
Reference in New Issue
Block a user