diff options
author | Alexey Neyman <stilor@att.net> | 2017-05-07 22:12:08 (GMT) |
---|---|---|
committer | Alexey Neyman <stilor@att.net> | 2017-07-08 17:56:29 (GMT) |
commit | 0a654319f9a1d0ebaacb5572139f72c7f236b100 (patch) | |
tree | 476bcec92e75d294e4189d45725569c91dbc766d /packages/binutils/2.23.2/901-xtensa-gas-first-frag-alignment.patch | |
parent | 8f8e131d566af1f577d8fb6e62e6f121b7955472 (diff) |
First stab at gen-versions.sh
Signed-off-by: Alexey Neyman <stilor@att.net>
Diffstat (limited to 'packages/binutils/2.23.2/901-xtensa-gas-first-frag-alignment.patch')
-rw-r--r-- | packages/binutils/2.23.2/901-xtensa-gas-first-frag-alignment.patch | 51 |
1 files changed, 51 insertions, 0 deletions
diff --git a/packages/binutils/2.23.2/901-xtensa-gas-first-frag-alignment.patch b/packages/binutils/2.23.2/901-xtensa-gas-first-frag-alignment.patch new file mode 100644 index 0000000..e1c2d85 --- /dev/null +++ b/packages/binutils/2.23.2/901-xtensa-gas-first-frag-alignment.patch @@ -0,0 +1,51 @@ +From a35d5e823fdfe8a6e7e05ca8e3fb8bb5697335b1 Mon Sep 17 00:00:00 2001 +From: Max Filippov <jcmvbkbc@gmail.com> +Date: Tue, 15 Apr 2014 19:12:46 +0400 +Subject: [PATCH] Fix alignment for the first section frag on xtensa + +Linking object files produced by partial linking with link-time +relaxation enabled sometimes fails with the following error message: + +dangerous relocation: call8: misaligned call target: (.text.unlikely+0x63) + +This happens because no basic block with an XTENSA_PROP_ALIGN flag in the +property table is generated for the first basic block, even if the +.align directive is present. +It was believed that the first frag alignment could be derived from the +section alignment, but this was not implemented for the partial linking +case: after partial linking first frag of a section may become not +first, but no additional alignment frag is inserted before it. +Basic block for such frag may be merged with previous basic block into +extended basic block during relaxation pass losing its alignment +restrictions. + +Fix this by always recording alignment for the first section frag. + +2014-04-22 Max Filippov <jcmvbkbc@gmail.com> + +gas/ + * config/tc-xtensa.c (xtensa_handle_align): record alignment for the + first section frag. + +--- +Backported from: a35d5e823fdfe8a6e7e05ca8e3fb8bb5697335b1 +Changes to Changelog files and tests are dropped. + + gas/config/tc-xtensa.c | 1 - + 1 file changed, 1 deletion(-) + +diff --git a/gas/config/tc-xtensa.c b/gas/config/tc-xtensa.c +index ea23c96..58ace38 100644 +--- a/gas/config/tc-xtensa.c ++++ b/gas/config/tc-xtensa.c +@@ -5609,7 +5609,6 @@ xtensa_handle_align (fragS *fragP) + && ! fragP->tc_frag_data.is_literal + && (fragP->fr_type == rs_align + || fragP->fr_type == rs_align_code) +- && fragP->fr_address + fragP->fr_fix > 0 + && fragP->fr_offset > 0 + && now_seg != bss_section) + { +-- +1.8.1.4 + |