aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJie Zhang <jie.zhang@analog.com>2008-07-15 13:09:47 +0000
committerJie Zhang <jie.zhang@analog.com>2008-07-15 13:09:47 +0000
commitb0a0b9787e4bb82a555a54077f5df26a96e105a7 (patch)
treeb7d18592be65400d84121f00a203affeba443a28
parent4098af0f821e6de7251497a6f0a3ce39f24095da (diff)
downloadgdb-b0a0b9787e4bb82a555a54077f5df26a96e105a7.zip
gdb-b0a0b9787e4bb82a555a54077f5df26a96e105a7.tar.gz
gdb-b0a0b9787e4bb82a555a54077f5df26a96e105a7.tar.bz2
bfd/
* elf32-bfin.c (elf32_bfin_special_sections[]): New. (elf_backend_special_sections): Define. ld/ * emulparams/elf32bfinfd.sh (OTHER_SECTIONS): Define.
-rw-r--r--bfd/ChangeLog5
-rw-r--r--bfd/elf32-bfin.c9
-rw-r--r--ld/ChangeLog4
-rw-r--r--ld/emulparams/elf32bfinfd.sh20
4 files changed, 38 insertions, 0 deletions
diff --git a/bfd/ChangeLog b/bfd/ChangeLog
index 8df7d40..7f389af 100644
--- a/bfd/ChangeLog
+++ b/bfd/ChangeLog
@@ -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
diff --git a/bfd/elf32-bfin.c b/bfd/elf32-bfin.c
index f83abd2..b899b6e 100644
--- a/bfd/elf32-bfin.c
+++ b/bfd/elf32-bfin.c
@@ -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 }
+};
+
#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
diff --git a/ld/ChangeLog b/ld/ChangeLog
index ecc1a0a..4c5f7ae 100644
--- a/ld/ChangeLog
+++ b/ld/ChangeLog
@@ -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
diff --git a/ld/emulparams/elf32bfinfd.sh b/ld/emulparams/elf32bfinfd.sh
index 19ec748..e3ae57b 100644
--- a/ld/emulparams/elf32bfinfd.sh
+++ b/ld/emulparams/elf32bfinfd.sh
@@ -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)
+ }
+"