diff options
author | Tristan Gingold <gingold@adacore.com> | 2010-05-21 13:19:34 +0000 |
---|---|---|
committer | Tristan Gingold <gingold@adacore.com> | 2010-05-21 13:19:34 +0000 |
commit | c068d5be63b558c53cfb79369d225b2d5e87d0c5 (patch) | |
tree | acb78bdb61d63d6ec96d2b81ecaf2acd86211008 /bfd/vms-alpha.c | |
parent | dd2d38b55fc1479dabf9ae462a98b3d2ffeeb4ca (diff) | |
download | gdb-c068d5be63b558c53cfb79369d225b2d5e87d0c5.zip gdb-c068d5be63b558c53cfb79369d225b2d5e87d0c5.tar.gz gdb-c068d5be63b558c53cfb79369d225b2d5e87d0c5.tar.bz2 |
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.
Diffstat (limited to 'bfd/vms-alpha.c')
-rw-r--r-- | bfd/vms-alpha.c | 13 |
1 files changed, 8 insertions, 5 deletions
diff --git a/bfd/vms-alpha.c b/bfd/vms-alpha.c index 8d1d7cb..2c6a19c 100644 --- a/bfd/vms-alpha.c +++ b/bfd/vms-alpha.c @@ -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'; |