* elf32-bfin.c (elf32_bfin_special_sections[]): New.
	(elf_backend_special_sections): Define.

	ld/
	* emulparams/elf32bfinfd.sh (OTHER_SECTIONS): Define.
This commit is contained in:
Jie Zhang 2008-07-15 13:09:47 +00:00
parent 4098af0f82
commit b0a0b9787e
4 changed files with 38 additions and 0 deletions

View 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> 2008-07-13 Craig Silverstein <csilvers@google.com>
PR binutils/6743 PR binutils/6743

View File

@ -5572,6 +5572,14 @@ error_return:
free (internal_relocs); free (internal_relocs);
return FALSE; 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_SYM bfd_elf32_bfin_vec
#define TARGET_LITTLE_NAME "elf32-bfin" #define TARGET_LITTLE_NAME "elf32-bfin"
@ -5620,6 +5628,7 @@ error_return:
elf32_bfin_print_private_bfd_data elf32_bfin_print_private_bfd_data
#define elf_backend_reloc_type_class elf32_bfin_reloc_type_class #define elf_backend_reloc_type_class elf32_bfin_reloc_type_class
#define elf_backend_can_gc_sections 1 #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_can_refcount 1
#define elf_backend_want_got_plt 0 #define elf_backend_want_got_plt 0
#define elf_backend_plt_readonly 1 #define elf_backend_plt_readonly 1

View 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> 2008-07-12 Craig Silverstein <csilvers@google.com>
PR ld/6741 PR ld/6741

View File

@ -14,3 +14,23 @@ OTHER_READONLY_SECTIONS="
${RELOCATING+__ROFIXUP_END__ = .;} ${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)
}
"