buildgcc: Update to binutils-2.26.1 & Fix aarch64 build issue
- Update to the latest version of GNU binutils - Add a patch to undo the changes to binutils done by commit c1baaddf so that arm-trusted-firmware builds correctly again. Test: Build arm-trusted-firmware (ATF) with this patch. Build ATF with binutils 2.26.1 changing the '.align x,0' to '.align x', which changes the padding bytes to NOP instructions. Verify that everything except the padding bytes is the same. See https://sourceware.org/bugzilla/show_bug.cgi?id=20364 for more information about this issue. Change-Id: I559c863c307b4146f8be8ab44b15c9c606555544 Signed-off-by: Martin Roth <martinroth@google.com> Reviewed-on: https://review.coreboot.org/15711 Reviewed-by: Stefan Reinauer <stefan.reinauer@coreboot.org> Reviewed-by: Patrick Georgi <pgeorgi@google.com> Tested-by: build bot (Jenkins) Reviewed-by: Furquan Shaikh <furquan@google.com>
This commit is contained in:
32
util/crossgcc/patches/binutils-2.26.1_aarch.patch
Normal file
32
util/crossgcc/patches/binutils-2.26.1_aarch.patch
Normal file
@ -0,0 +1,32 @@
|
||||
diff -Naur binutils-2.26.1/gas/config/tc-aarch64.c binutils-2.26.1/gas/config/tc-aarch64.c
|
||||
--- binutils-2.26.1/gas/config/tc-aarch64.c 2016-01-25 01:51:06.000000000 -0700
|
||||
+++ binutils-2.26.1/gas/config/tc-aarch64.c 2016-07-14 10:05:37.667935255 -0600
|
||||
@@ -1857,12 +1857,7 @@
|
||||
return;
|
||||
}
|
||||
|
||||
- /* Sections are assumed to start aligned. In executable section, there is no
|
||||
- MAP_DATA symbol pending. So we only align the address during
|
||||
- MAP_DATA --> MAP_INSN transition.
|
||||
- For other sections, this is not guaranteed. */
|
||||
- enum mstate mapstate = seg_info (now_seg)->tc_segment_info_data.mapstate;
|
||||
- if (!need_pass_2 && subseg_text_p (now_seg) && mapstate == MAP_DATA)
|
||||
+ if (!need_pass_2)
|
||||
frag_align_code (2, 0);
|
||||
|
||||
#ifdef OBJ_ELF
|
||||
@@ -6040,14 +6035,6 @@
|
||||
|
||||
init_operand_error_report ();
|
||||
|
||||
- /* Sections are assumed to start aligned. In executable section, there is no
|
||||
- MAP_DATA symbol pending. So we only align the address during
|
||||
- MAP_DATA --> MAP_INSN transition.
|
||||
- For other sections, this is not guaranteed. */
|
||||
- enum mstate mapstate = seg_info (now_seg)->tc_segment_info_data.mapstate;
|
||||
- if (!need_pass_2 && subseg_text_p (now_seg) && mapstate == MAP_DATA)
|
||||
- frag_align_code (2, 0);
|
||||
-
|
||||
saved_cond = inst.cond;
|
||||
reset_aarch64_instruction (&inst);
|
||||
inst.cond = saved_cond;
|
Reference in New Issue
Block a user