* emulparams/aarch64elf.sh: Define ELFSIZE=64.
	* emulparams/aarch64linux.sh: Ditto.
	* emultempl/aarch64elf.em (aarch64_elf_before_allocation):
	Replace elf64 with elf${ELFSIZE}.
	(elf64_aarch64_add_stub_section): Likewise.
	(build_section_lists): Likewise.
	(gld${EMULATION_NAME}_after_allocation): Likewise.
	(gld${EMULATION_NAME}_finish): Likewise.
	(aarch64_elf_create_output_section_statements): Likewise.
This commit is contained in:
Yufeng Zhang 2013-04-24 17:22:31 +00:00
parent 99059e56e2
commit 4390599b4e
4 changed files with 24 additions and 10 deletions

View File

@ -1,3 +1,15 @@
2013-04-24 Yufeng Zhang <yufeng.zhang@arm.com>
* emulparams/aarch64elf.sh: Define ELFSIZE=64.
* emulparams/aarch64linux.sh: Ditto.
* emultempl/aarch64elf.em (aarch64_elf_before_allocation):
Replace elf64 with elf${ELFSIZE}.
(elf64_aarch64_add_stub_section): Likewise.
(build_section_lists): Likewise.
(gld${EMULATION_NAME}_after_allocation): Likewise.
(gld${EMULATION_NAME}_finish): Likewise.
(aarch64_elf_create_output_section_statements): Likewise.
2013-04-24 Nick Clifton <nickc@redhat.com> 2013-04-24 Nick Clifton <nickc@redhat.com>
PR ld/15389 PR ld/15389

View File

@ -3,6 +3,7 @@ MACHINE=
NOP=0 NOP=0
SCRIPT_NAME=elf SCRIPT_NAME=elf
ELFSIZE=64
OUTPUT_FORMAT="elf64-littleaarch64" OUTPUT_FORMAT="elf64-littleaarch64"
BIG_OUTPUT_FORMAT="elf64-bigaarch64" BIG_OUTPUT_FORMAT="elf64-bigaarch64"
LITTLE_OUTPUT_FORMAT="elf64-littleaarch64" LITTLE_OUTPUT_FORMAT="elf64-littleaarch64"

View File

@ -3,6 +3,7 @@ MACHINE=
NOP=0 NOP=0
SCRIPT_NAME=elf SCRIPT_NAME=elf
ELFSIZE=64
OUTPUT_FORMAT="elf64-littleaarch64" OUTPUT_FORMAT="elf64-littleaarch64"
BIG_OUTPUT_FORMAT="elf64-bigaarch64" BIG_OUTPUT_FORMAT="elf64-bigaarch64"
LITTLE_OUTPUT_FORMAT="elf64-littleaarch64" LITTLE_OUTPUT_FORMAT="elf64-littleaarch64"

View File

@ -53,7 +53,7 @@ aarch64_elf_before_allocation (void)
LANG_FOR_EACH_INPUT_STATEMENT (is) LANG_FOR_EACH_INPUT_STATEMENT (is)
{ {
/* Initialise mapping tables for code/data. */ /* Initialise mapping tables for code/data. */
bfd_elf64_aarch64_init_maps (is->the_bfd); bfd_elf${ELFSIZE}_aarch64_init_maps (is->the_bfd);
} }
} }
@ -147,13 +147,13 @@ hook_in_stub (struct hook_stub_info *info, lang_statement_union_type **lp)
} }
/* Call-back for elf64_aarch64_size_stubs. */ /* Call-back for elf${ELFSIZE}_aarch64_size_stubs. */
/* Create a new stub section, and arrange for it to be linked /* Create a new stub section, and arrange for it to be linked
immediately after INPUT_SECTION. */ immediately after INPUT_SECTION. */
static asection * static asection *
elf64_aarch64_add_stub_section (const char *stub_sec_name, elf${ELFSIZE}_aarch64_add_stub_section (const char *stub_sec_name,
asection *input_section) asection *input_section)
{ {
asection *stub_sec; asection *stub_sec;
@ -191,7 +191,7 @@ elf64_aarch64_add_stub_section (const char *stub_sec_name,
return NULL; return NULL;
} }
/* Another call-back for elf_arm_size_stubs. */ /* Another call-back for elf${ELFSIZE}_aarch64_size_stubs. */
static void static void
gldaarch64_layout_sections_again (void) gldaarch64_layout_sections_again (void)
@ -214,7 +214,7 @@ build_section_lists (lang_statement_union_type *statement)
&& (i->flags & SEC_EXCLUDE) == 0 && (i->flags & SEC_EXCLUDE) == 0
&& i->output_section != NULL && i->output_section != NULL
&& i->output_section->owner == link_info.output_bfd) && i->output_section->owner == link_info.output_bfd)
elf64_aarch64_next_input_section (& link_info, i); elf${ELFSIZE}_aarch64_next_input_section (& link_info, i);
} }
} }
@ -232,7 +232,7 @@ gld${EMULATION_NAME}_after_allocation (void)
have to examine the relocs. */ have to examine the relocs. */
if (stub_file != NULL && !link_info.relocatable) if (stub_file != NULL && !link_info.relocatable)
{ {
int ret = elf64_aarch64_setup_section_lists (link_info.output_bfd, int ret = elf${ELFSIZE}_aarch64_setup_section_lists (link_info.output_bfd,
& link_info); & link_info);
if (ret != 0) if (ret != 0)
@ -246,11 +246,11 @@ gld${EMULATION_NAME}_after_allocation (void)
lang_for_each_statement (build_section_lists); lang_for_each_statement (build_section_lists);
/* Call into the BFD backend to do the real work. */ /* Call into the BFD backend to do the real work. */
if (! elf64_aarch64_size_stubs (link_info.output_bfd, if (! elf${ELFSIZE}_aarch64_size_stubs (link_info.output_bfd,
stub_file->the_bfd, stub_file->the_bfd,
& link_info, & link_info,
group_size, group_size,
& elf64_aarch64_add_stub_section, & elf${ELFSIZE}_aarch64_add_stub_section,
& gldaarch64_layout_sections_again)) & gldaarch64_layout_sections_again))
{ {
einfo ("%X%P: cannot size stub section: %E\n"); einfo ("%X%P: cannot size stub section: %E\n");
@ -271,7 +271,7 @@ gld${EMULATION_NAME}_finish (void)
/* Now build the linker stubs. */ /* Now build the linker stubs. */
if (stub_file->the_bfd->sections != NULL) if (stub_file->the_bfd->sections != NULL)
{ {
if (! elf64_aarch64_build_stubs (& link_info)) if (! elf${ELFSIZE}_aarch64_build_stubs (& link_info))
einfo ("%X%P: can not build stubs: %E\n"); einfo ("%X%P: can not build stubs: %E\n");
} }
} }
@ -294,7 +294,7 @@ aarch64_elf_create_output_section_statements (void)
return; return;
} }
bfd_elf64_aarch64_set_options (link_info.output_bfd, &link_info, bfd_elf${ELFSIZE}_aarch64_set_options (link_info.output_bfd, &link_info,
no_enum_size_warning, no_enum_size_warning,
no_wchar_size_warning, no_wchar_size_warning,
pic_veneer); pic_veneer);