From: Jeff Law Date: Tue, 15 Mar 1994 04:40:51 +0000 (+0000) Subject: * som (setup_sections): Set SEC_DEBUGGING and the section attributes X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=b486fb13bef51495396bf43c40aecd2d9d356b98;p=binutils-gdb.git * som (setup_sections): Set SEC_DEBUGGING and the section attributes for spaces and subspaces. --- diff --git a/bfd/ChangeLog b/bfd/ChangeLog index 9b6508df417..d323a19cb80 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,5 +1,8 @@ Mon Mar 14 11:41:23 1994 Jeffrey A. Law (law@snake.cs.utah.edu) + * som (setup_sections): Set SEC_DEBUGGING and the section attributes + for spaces and subspaces. + * som.c (som_bfd_count_ar_symbols): Fix typo. * som.c (som_object_setup): Set EXEC_P, D_PAGED, WP_TEXT, and diff --git a/bfd/som.c b/bfd/som.c index 3b32137d0e2..02c4dab56c9 100644 --- a/bfd/som.c +++ b/bfd/som.c @@ -1647,6 +1647,14 @@ setup_sections (abfd, file_hdr) if (!space_asect) goto error_return; + if (space.is_loadable == 0) + space_asect->flags |= SEC_DEBUGGING; + + /* Set up all the attributes for the space. */ + bfd_som_set_section_attributes (space_asect, space.is_defined, + space.is_private, space.sort_key, + space.space_number); + /* Now, read in the first subspace for this space */ if (bfd_seek (abfd, file_hdr->subspace_location + space.subspace_index * sizeof subspace, @@ -1695,6 +1703,12 @@ setup_sections (abfd, file_hdr) if (!subspace_asect) goto error_return; + /* Store private information about the section. */ + bfd_som_set_subsection_attributes (subspace_asect, space_asect, + subspace.access_control_bits, + subspace.sort_key, + subspace.quadrant); + /* Keep an easy mapping between subspaces and sections. */ som_section_data (subspace_asect)->subspace_index = total_subspaces++; @@ -1734,8 +1748,12 @@ setup_sections (abfd, file_hdr) subspace_asect->flags |= SEC_IS_COMMON; else if (subspace.subspace_length > 0) subspace_asect->flags |= SEC_HAS_CONTENTS; + if (subspace.is_loadable) subspace_asect->flags |= SEC_ALLOC | SEC_LOAD; + else + subspace_asect->flags |= SEC_DEBUGGING; + if (subspace.code_only) subspace_asect->flags |= SEC_CODE;