From b486fb13bef51495396bf43c40aecd2d9d356b98 Mon Sep 17 00:00:00 2001 From: Jeff Law Date: Tue, 15 Mar 1994 04:40:51 +0000 Subject: [PATCH] * som (setup_sections): Set SEC_DEBUGGING and the section attributes for spaces and subspaces. --- bfd/ChangeLog | 3 +++ bfd/som.c | 18 ++++++++++++++++++ 2 files changed, 21 insertions(+) diff --git a/bfd/ChangeLog b/bfd/ChangeLog index 9b6508df41..d323a19cb8 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 3b32137d0e..02c4dab56c 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;