mirror of
https://github.com/bminor/binutils-gdb.git
synced 2025-12-26 01:07:52 +00:00
2010-05-14 Tristan Gingold <gingold@adacore.com>
* vms-alpha.c (alpha_vms_object_p): Accept header size of 0. (_bfd_vms_get_object_record): Handle align byte only in the foreign case.
This commit is contained in:
@@ -1,3 +1,9 @@
|
||||
2010-05-14 Tristan Gingold <gingold@adacore.com>
|
||||
|
||||
* vms-alpha.c (alpha_vms_object_p): Accept header size of 0.
|
||||
(_bfd_vms_get_object_record): Handle align byte only in the
|
||||
foreign case.
|
||||
|
||||
2010-05-14 Tristan Gingold <gingold@adacore.com>
|
||||
|
||||
* vms-lib.c (_bfd_vms_lib_ia64_archive_p): New function.
|
||||
|
||||
@@ -759,7 +759,7 @@ _bfd_vms_get_object_record (bfd *abfd)
|
||||
vms_debug2 ((8, "_bfd_vms_get_obj_record\n"));
|
||||
|
||||
/* Skip alignment byte if the current position is odd. */
|
||||
if (bfd_tell (abfd) & 1)
|
||||
if (PRIV (recrd.file_format) == FF_FOREIGN && (bfd_tell (abfd) & 1))
|
||||
{
|
||||
if (bfd_bread (PRIV (recrd.buf), 1, abfd) != 1)
|
||||
{
|
||||
@@ -2450,6 +2450,10 @@ alpha_vms_object_p (bfd *abfd)
|
||||
/* Extract the header size. */
|
||||
PRIV (recrd.rec_size) = bfd_getl32 (buf + EIHD__L_SIZE);
|
||||
|
||||
/* The header size is 0 for DSF files. */
|
||||
if (PRIV (recrd.rec_size) == 0)
|
||||
PRIV (recrd.rec_size) = sizeof (struct vms_eihd);
|
||||
|
||||
if (PRIV (recrd.rec_size) > PRIV (recrd.buf_size))
|
||||
{
|
||||
buf = bfd_realloc_or_free (buf, PRIV (recrd.rec_size));
|
||||
|
||||
Reference in New Issue
Block a user