diff --git a/bfd/ChangeLog b/bfd/ChangeLog index fbcdf5b841..1f25aa14bf 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 47b52491ad..1c1662b742 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 fd5f5e1180..d7ee425aae 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 1e234e2daa..4e86628f92 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