2010-05-21 Tristan Gingold <gingold@adacore.com>

* vms-alpha.c (_bfd_vms_slurp_eisd): Set SEC_HAS_CONTENTS and
	SEC_LOAD if isect has data.
	(vms_get_symbol_info): Refine the condition for 'T' type.
This commit is contained in:
Tristan Gingold 2010-05-21 13:19:34 +00:00
parent dd2d38b55f
commit c068d5be63
2 changed files with 14 additions and 5 deletions

View File

@ -1,3 +1,9 @@
2010-05-21 Tristan Gingold <gingold@adacore.com>
* vms-alpha.c (_bfd_vms_slurp_eisd): Set SEC_HAS_CONTENTS and
SEC_LOAD if isect has data.
(vms_get_symbol_info): Refine the condition for 'T' type.
2010-05-18 Tristan Gingold <gingold@adacore.com>
* vms-alpha.c (_bfd_vms_write_emh): New function.

View File

@ -547,12 +547,14 @@ _bfd_vms_slurp_eisd (bfd *abfd, unsigned int offset)
what's in each section without examining the data. This is
especially true of DWARF debug sections. */
bfd_flags = SEC_ALLOC;
if (vbn != 0)
bfd_flags |= SEC_HAS_CONTENTS | SEC_LOAD;
if (flags & EISD__M_EXE)
bfd_flags |= SEC_CODE | SEC_HAS_CONTENTS | SEC_LOAD;
bfd_flags |= SEC_CODE;
if (flags & EISD__M_NONSHRADR)
bfd_flags |= SEC_DATA | SEC_HAS_CONTENTS | SEC_LOAD;
bfd_flags |= SEC_DATA;
if (!(flags & EISD__M_WRT))
bfd_flags |= SEC_READONLY;
@ -561,10 +563,10 @@ _bfd_vms_slurp_eisd (bfd *abfd, unsigned int offset)
bfd_flags |= SEC_DATA;
if (flags & EISD__M_FIXUPVEC)
bfd_flags |= SEC_DATA | SEC_HAS_CONTENTS | SEC_LOAD;
bfd_flags |= SEC_DATA;
if (flags & EISD__M_CRF)
bfd_flags |= SEC_HAS_CONTENTS | SEC_LOAD;
bfd_flags |= SEC_DATA;
if (flags & EISD__M_GBL)
{
@ -8944,7 +8946,8 @@ vms_get_symbol_info (bfd * abfd ATTRIBUTE_UNUSED,
ret->type = 'U';
else if (bfd_is_ind_section (sec))
ret->type = 'I';
else if (bfd_get_section_flags (abfd, sec) & SEC_CODE)
else if ((symbol->flags & BSF_FUNCTION)
|| (bfd_get_section_flags (abfd, sec) & SEC_CODE))
ret->type = 'T';
else if (bfd_get_section_flags (abfd, sec) & SEC_DATA)
ret->type = 'D';