bfd/
authorJie Zhang <jie.zhang@analog.com>
Tue, 15 Jul 2008 13:09:47 +0000 (13:09 +0000)
committerJie Zhang <jie.zhang@analog.com>
Tue, 15 Jul 2008 13:09:47 +0000 (13:09 +0000)
* elf32-bfin.c (elf32_bfin_special_sections[]): New.
(elf_backend_special_sections): Define.

ld/
* emulparams/elf32bfinfd.sh (OTHER_SECTIONS): Define.

bfd/ChangeLog
bfd/elf32-bfin.c
ld/ChangeLog
ld/emulparams/elf32bfinfd.sh

index 8df7d40388c0fe3063093a993227c3447ac5b064..7f389af006346f2552d3e9ebe487163c884fb400 100644 (file)
@@ -1,3 +1,8 @@
+2008-07-15  Jie Zhang  <jie.zhang@analog.com>
+
+       * elf32-bfin.c (elf32_bfin_special_sections[]): New.
+       (elf_backend_special_sections): Define.
+
 2008-07-13  Craig Silverstein  <csilvers@google.com>
 
        PR binutils/6743
index f83abd28acc6d89d2bd9298d43d8f8026741e8ff..b899b6e9eea0709dd755e45f52a7a9c720ce6666 100644 (file)
@@ -5572,6 +5572,14 @@ error_return:
     free (internal_relocs);
   return FALSE;
 }
+
+struct bfd_elf_special_section const elf32_bfin_special_sections[] =
+{
+  { ".l1.text",                8, -2, SHT_PROGBITS, SHF_ALLOC + SHF_EXECINSTR },
+  { ".l1.data",                8, -2, SHT_PROGBITS, SHF_ALLOC + SHF_WRITE },
+  { NULL,              0,  0, 0,            0 }
+};
+
 \f
 #define TARGET_LITTLE_SYM              bfd_elf32_bfin_vec
 #define TARGET_LITTLE_NAME             "elf32-bfin"
@@ -5620,6 +5628,7 @@ error_return:
                                         elf32_bfin_print_private_bfd_data
 #define elf_backend_reloc_type_class    elf32_bfin_reloc_type_class
 #define elf_backend_can_gc_sections 1
+#define elf_backend_special_sections   elf32_bfin_special_sections
 #define elf_backend_can_refcount 1
 #define elf_backend_want_got_plt 0
 #define elf_backend_plt_readonly 1
index ecc1a0a3d0b120d646b7d781fd79433ea674a3b9..4c5f7aed2931242b3f23a8094a6ca17afbe9ace0 100644 (file)
@@ -1,3 +1,7 @@
+2008-07-15  Jie Zhang  <jie.zhang@analog.com>
+
+       * emulparams/elf32bfinfd.sh (OTHER_SECTIONS): Define.
+
 2008-07-12  Craig Silverstein  <csilvers@google.com>
 
        PR ld/6741
index 19ec748b7fb983ba675bf981b76c011e8c42a3ac..e3ae57b072e28c0378b6821c3d4aefaa125fc86c 100644 (file)
@@ -14,3 +14,23 @@ OTHER_READONLY_SECTIONS="
     ${RELOCATING+__ROFIXUP_END__ = .;}
   }
 "
+# 0xff700000, 0xff800000, 0xff900000 and 0xffa00000 are also used in
+# Dynamic linker and linux kernel. They need to be keep synchronized.
+OTHER_SECTIONS="
+  .l1.data 0xff700000  :
+  {
+    *(.l1.data)
+  }
+  .l1.data.A 0xff800000        :
+  {
+    *(.l1.data.A)
+  }
+  .l1.data.B 0xff900000        :
+  {
+    *(.l1.data.B)
+  }
+  .l1.text  0xffa00000 :
+  {
+    *(.l1.text)
+  }
+"