From 7ad6bf52d36b29e7ef1213cdd04202766bd02a9e Mon Sep 17 00:00:00 2001 From: Marcus Shawcroft Date: Sun, 22 Mar 2015 07:48:07 +0000 Subject: [AArch64] Remove padding before stub sections. Lower stub alignment from 8 to 4 bytes thus removing padding between input section content and stub section content. --- bfd/ChangeLog | 2 +- ld/ChangeLog | 5 +++++ ld/emultempl/aarch64elf.em | 2 +- ld/testsuite/ChangeLog | 5 +++++ ld/testsuite/ld-aarch64/erratum835769.d | 1 - 5 files changed, 12 insertions(+), 3 deletions(-) diff --git a/bfd/ChangeLog b/bfd/ChangeLog index 5cb54ac39c..8c790f7cea 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,4 +1,4 @@ -2015-03-24 Marcus Shawcroft +2015-03-25 Marcus Shawcroft * elfnn-aarch64.c (_bfd_aarch64_erratum_835769_scan): Update erratum count. diff --git a/ld/ChangeLog b/ld/ChangeLog index 3a6e3c3b0c..78750f238c 100644 --- a/ld/ChangeLog +++ b/ld/ChangeLog @@ -1,3 +1,8 @@ +2015-03-24 Marcus Shawcroft + + * emultempl/aarch64elf.em (_aarch64_add_stub_section): Set section + alignment to 2. + 2014-12-23 Tristan Gingold * configure: Regenerate. diff --git a/ld/emultempl/aarch64elf.em b/ld/emultempl/aarch64elf.em index 42e8056f67..8572e5e59a 100644 --- a/ld/emultempl/aarch64elf.em +++ b/ld/emultempl/aarch64elf.em @@ -170,7 +170,7 @@ elf${ELFSIZE}_aarch64_add_stub_section (const char *stub_sec_name, if (stub_sec == NULL) goto err_ret; - bfd_set_section_alignment (stub_file->the_bfd, stub_sec, 3); + bfd_set_section_alignment (stub_file->the_bfd, stub_sec, 2); output_section = input_section->output_section; os = lang_output_section_get (output_section); diff --git a/ld/testsuite/ChangeLog b/ld/testsuite/ChangeLog index 3c2df32fa6..eacc13ffea 100644 --- a/ld/testsuite/ChangeLog +++ b/ld/testsuite/ChangeLog @@ -1,3 +1,8 @@ +2015-03-25 Marcus Shawcroft + + * ld-aarch64/erratum835769.d: Adjust for removal of padding before + 835769 workaround stubs. + 2015-01-05 H.J. Lu PR ld/17773 diff --git a/ld/testsuite/ld-aarch64/erratum835769.d b/ld/testsuite/ld-aarch64/erratum835769.d index a0402365eb..1ff8d05718 100644 --- a/ld/testsuite/ld-aarch64/erratum835769.d +++ b/ld/testsuite/ld-aarch64/erratum835769.d @@ -32,7 +32,6 @@ Disassembly of section .text: [ \t0-9a-f]+:[ \t0-9a-z]+[ \t]+b[ \t]+[0-9a-f]+ <__erratum_835769_veneer_2> [ \t0-9a-f]+:[ \t]+aa0503e0[ \t]+mov[ \t]+x0, x5 [ \t0-9a-f]+:[ \t]+d65f03c0[ \t]+ret -[ \t0-9a-f]+:[ \t]+00000000[ \t]+.inst[ \t]+0x00000000 ; undefined [0-9a-f]+ <__erratum_835769_veneer_2>: [ \t0-9a-f]+:[ \t]+9b031885[ \t]+madd[ \t]+x5, x4, x3, x6 -- cgit v1.2.3