* elf32-m68hc12.c (elf32_m68hc12_special_sections): New for hc11.
authorStephane Carrez <stcarrez@nerim.fr>
Sat, 6 Sep 2003 20:55:50 +0000 (20:55 +0000)
committerStephane Carrez <stcarrez@nerim.fr>
Sat, 6 Sep 2003 20:55:50 +0000 (20:55 +0000)
(elf_backend_special_sections): Define.a

PR savannah/4950:
* elf32-m68hc11.c (elf32_m68hc11_special_sections): The .vectors
section is read-only.

bfd/ChangeLog
bfd/elf32-m68hc11.c
bfd/elf32-m68hc12.c

index 7353bdd5cf46fa48ad508c7aef8142d18bd09b26..5b463bf61c1a71ac14268443ca5c76652bc85dc1 100644 (file)
@@ -1,3 +1,12 @@
+2003-09-06  Stephane Carrez  <stcarrez@nerim.fr>
+
+       * elf32-m68hc12.c (elf32_m68hc12_special_sections): New for hc11.
+       (elf_backend_special_sections): Define.a
+
+       PR savannah/4950:
+       * elf32-m68hc11.c (elf32_m68hc11_special_sections): The .vectors
+       section is read-only.
+
 2003-09-04  Nick Clifton  <nickc@redhat.com>
 
        * archures.c (bfd_mach_v850e1): Define.
index b9d9bfc312f31b5bffa651214356be9848b830dd..2844b487a401aa270d1af8f5e8d31d6ce2ec9287 100644 (file)
@@ -1285,7 +1285,7 @@ m68hc11_elf_relax_delete_bytes (abfd, sec, addr, count)
    - The .page0 is a data section that is mapped in [0x0000..0x00FF].
      Page0 accesses are faster on the M68HC11. Soft registers used by GCC-m6811
      are located in .page0.
-   - The .vectors is the data section that represents the interrupt
+   - The .vectors is the section that represents the interrupt
      vectors.  */
 static struct bfd_elf_special_section const elf32_m68hc11_special_sections[]=
 {
@@ -1296,7 +1296,7 @@ static struct bfd_elf_special_section const elf32_m68hc11_special_sections[]=
   { ".page0",          0,      NULL,   0,
     SHT_PROGBITS,      SHF_ALLOC + SHF_WRITE },
   { ".vectors",                0,      NULL,   0,
-    SHT_PROGBITS,      SHF_ALLOC + SHF_WRITE },
+    SHT_PROGBITS,      SHF_ALLOC },
   { NULL,              0,      NULL,   0,
     0,                 0 }
 };
index 54fdca2827753e02dadc7dbd2cec4aab6668d1c9..3074935cc83f1ff1cb116d534ac4f1d69df7f6f3 100644 (file)
@@ -538,6 +538,25 @@ m68hc12_elf_set_mach_from_flags (abfd)
   return TRUE;
 }
 
+/* Specific sections:
+   - The .page0 is a data section that is mapped in [0x0000..0x00FF].
+     Page0 accesses are faster on the M68HC12.
+   - The .vectors is the section that represents the interrupt
+     vectors.  */
+static struct bfd_elf_special_section const elf32_m68hc12_special_sections[]=
+{
+  { ".eeprom",         0,      NULL,   0,
+    SHT_PROGBITS,      SHF_ALLOC + SHF_WRITE },
+  { ".softregs",       0,      NULL,   0,
+    SHT_NOBITS,        SHF_ALLOC + SHF_WRITE },
+  { ".page0",          0,      NULL,   0,
+    SHT_PROGBITS,      SHF_ALLOC + SHF_WRITE },
+  { ".vectors",                0,      NULL,   0,
+    SHT_PROGBITS,      SHF_ALLOC },
+  { NULL,              0,      NULL,   0,
+    0,                 0 }
+};
+\f
 #define ELF_ARCH               bfd_arch_m68hc12
 #define ELF_MACHINE_CODE       EM_68HC12
 #define ELF_MAXPAGESIZE                0x1000
@@ -554,6 +573,7 @@ m68hc12_elf_set_mach_from_flags (abfd)
 #define elf_backend_object_p           m68hc12_elf_set_mach_from_flags
 #define elf_backend_final_write_processing     0
 #define elf_backend_can_gc_sections            1
+#define elf_backend_special_sections elf32_m68hc12_special_sections
 #define elf_backend_post_process_headers     elf32_m68hc11_post_process_headers
 #define elf_backend_add_symbol_hook  elf32_m68hc11_add_symbol_hook