aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIan Lance Taylor <ian@airs.com>1993-09-23 15:14:12 +0000
committerIan Lance Taylor <ian@airs.com>1993-09-23 15:14:12 +0000
commitd6e5f9500061c1be7be5395af4d59963c2a26b0a (patch)
tree52e48a275cdb3d2f4b97b1ee301338258131987e
parent0c28fe8dd4fb7b6814d477a57db0de05011a62ff (diff)
downloadgdb-d6e5f9500061c1be7be5395af4d59963c2a26b0a.zip
gdb-d6e5f9500061c1be7be5395af4d59963c2a26b0a.tar.gz
gdb-d6e5f9500061c1be7be5395af4d59963c2a26b0a.tar.bz2
* section.c (SEC_DEBUGGING): New section flag.
* elfcode.h (bfd_section_from_shdr): If section is SHT_PROGBITS, and the name starts with .debug, .line or .stab, set SEC_DEBUGGING. * elf32-target.h (TARGET_BIG_SYM, TARGET_LITTLE_SYM): Added SEC_DEBUGGING to section_flags. * elf64-target.h (TARGET_BIG_SYM, TARGET_LITTLE_SYM): Added SEC_DEBUGGING and SEC_CODE to section_flags. * bfd-in2.h: Updated.
-rw-r--r--bfd/ChangeLog12
-rw-r--r--bfd/elf32-target.h4
-rw-r--r--bfd/elf64-target.h4
-rw-r--r--bfd/elfcode.h7
4 files changed, 23 insertions, 4 deletions
diff --git a/bfd/ChangeLog b/bfd/ChangeLog
index fbcdf5b..1f25aa1 100644
--- a/bfd/ChangeLog
+++ b/bfd/ChangeLog
@@ -1,3 +1,15 @@
+Thu Sep 23 10:48:27 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
+
+ * section.c (SEC_DEBUGGING): New section flag.
+ * elfcode.h (bfd_section_from_shdr): If section is SHT_PROGBITS,
+ and the name starts with .debug, .line or .stab, set
+ SEC_DEBUGGING.
+ * elf32-target.h (TARGET_BIG_SYM, TARGET_LITTLE_SYM): Added
+ SEC_DEBUGGING to section_flags.
+ * elf64-target.h (TARGET_BIG_SYM, TARGET_LITTLE_SYM): Added
+ SEC_DEBUGGING and SEC_CODE to section_flags.
+ * bfd-in2.h: Updated.
+
Wed Sep 22 16:34:14 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
* bfd.c (tdata): Add lynx_core_data.
diff --git a/bfd/elf32-target.h b/bfd/elf32-target.h
index 47b5249..1c1662b 100644
--- a/bfd/elf32-target.h
+++ b/bfd/elf32-target.h
@@ -120,7 +120,7 @@ bfd_target TARGET_BIG_SYM =
/* section_flags: mask of all section flags */
(SEC_HAS_CONTENTS | SEC_ALLOC | SEC_LOAD | SEC_RELOC | SEC_READONLY |
- SEC_CODE | SEC_DATA),
+ SEC_CODE | SEC_DATA | SEC_DEBUGGING),
/* leading_symbol_char: is the first char of a user symbol
predictable, and if so what is it */
@@ -202,7 +202,7 @@ bfd_target TARGET_LITTLE_SYM =
/* section_flags: mask of all section flags */
(SEC_HAS_CONTENTS | SEC_ALLOC | SEC_LOAD | SEC_RELOC | SEC_READONLY |
- SEC_CODE | SEC_DATA),
+ SEC_CODE | SEC_DATA | SEC_DEBUGGING),
/* leading_symbol_char: is the first char of a user symbol
predictable, and if so what is it */
diff --git a/bfd/elf64-target.h b/bfd/elf64-target.h
index fd5f5e1..d7ee425 100644
--- a/bfd/elf64-target.h
+++ b/bfd/elf64-target.h
@@ -98,7 +98,7 @@ bfd_target TARGET_BIG_SYM =
/* section_flags: mask of all section flags */
(SEC_HAS_CONTENTS | SEC_ALLOC | SEC_LOAD | SEC_RELOC | SEC_READONLY |
- SEC_CODE | SEC_DATA),
+ SEC_CODE | SEC_DATA | SEC_DEBUGGING),
/* leading_symbol_char: is the first char of a user symbol
predictable, and if so what is it */
@@ -180,7 +180,7 @@ bfd_target TARGET_LITTLE_SYM =
/* section_flags: mask of all section flags */
(SEC_HAS_CONTENTS | SEC_ALLOC | SEC_LOAD | SEC_RELOC | SEC_READONLY |
- SEC_DATA),
+ SEC_CODE | SEC_DATA | SEC_DEBUGGING),
/* leading_symbol_char: is the first char of a user symbol
predictable, and if so what is it */
diff --git a/bfd/elfcode.h b/bfd/elfcode.h
index 1e234e2..4e86628 100644
--- a/bfd/elfcode.h
+++ b/bfd/elfcode.h
@@ -485,6 +485,13 @@ DEFUN (bfd_section_from_shdr, (abfd, shindex),
else if (newsect->flags & SEC_ALLOC)
newsect->flags |= SEC_DATA;
+ /* The debugging sections appear to recognized only by
+ name. */
+ if (strncmp (name, ".debug", sizeof ".debug" - 1) == 0
+ || strncmp (name, ".line", sizeof ".line" - 1) == 0
+ || strncmp (name, ".stab", sizeof ".stab" - 1) == 0)
+ newsect->flags |= SEC_DEBUGGING;
+
hdr->rawdata = (void *) newsect;
}
else