summaryrefslogtreecommitdiffstats
path: root/binutils-2.24
Commit message (Collapse)AuthorAgeFilesLines
* Backport to fix race condition calling select_as_default_target()Andrew Hsieh2015-03-301-1/+1
| | | | | | | | | | | 2015-03-03 Cary Coutant <ccoutant@google.com> gold/ * parameters.cc (Parameters::set_target_once): Call Target::select_as_default_target just once from here... (set_parameters_target): ...instead of from here. Change-Id: Ic4b1503b1bb453b9812188e0a98482bc489d9197
* Fix as to ignore --save-tempsAndrew Hsieh2015-03-301-0/+7
| | | | | | | | | | | mips/gcc4.6 is now built with binutils-2.24 to be consistant with gcc4.8 and gcc4.9 on nan handling. Unfortunately gcc4.6 pass on -save-temps to not recognized by "as". gcc4.6 is normally built with binutils-2.21 which has fix for as to accept but ignore -save-temps. This CL catptures the same fix in binutils-2.21 Change-Id: I58095a67810f2bcf6e7594383002247a9491a901
* Fix buildAndrew Hsieh2015-03-021-1/+1
| | | | | | | | 1. revert https://android-review.googlesource.com/#/c/38591. 2. add a few constants from ToT 3. fix a typo about pthread_mutexattr_settype Change-Id: I55a829e7907658f920aedbf1100c6d9b1a93052b
* [2.24][2.25] Fix race condition causing assertRong Xu2015-02-186-7/+25
| | | | | | | | | | | | | | | | | | | | | | | Backport trunk commit 635aa that fixes race condition causing assert in Eh_frame_hdr::do_sized_write(). 2014-09-23 Taiju Tsuiki <tzik@google.com> Cary Coutant <ccoutant@google.com> gold/ * gold.cc (queue_final_tasks): Add Write_sections_task as a * blocker on input_sections_blocker. * layout.cc (Write_sections_task::locks): Unblock input_sections_blocker_. * layout.h (Write_sections_task::Write_sections_task): Add input_sections_blocker. * testsuite/Makefile.am (exception_x86_64_bnd_test): Add * gcctestdir/ld to DEPENDENCIES. * testsuite/Makefile.in: Regenerate. Change-Id: I17a0f2aaf565b775f92f4806c4abcbea5d2dd803
* Fix extraneous warning about executable stack.Cary Coutant2014-12-022-3/+17
| | | | | | | | | | | | | | | | | | | | PR gold/17578 notes that gold will print a warning about an executable stack when the -z execstack option is given, even when there is no --warn_execstack option. The warning is completely useless and unexpected, since the user explicitly requested an executable stack, and did not even ask for warnings. This patch fixes that, and adds an extra warning when --warn_execstack and -z noexecstack are both given and an input file requires an executable stack. gold/ PR gold/17578 * layout.cc (Layout::layout_gnu_stack): Don't warn when -z execstack is given. (Layout::create_executable_stack_info): Warn when -z noexecstack is given but some inputs require executable stack. Change-Id: I7b15682af81d3c52057473d347f83a768e087ffa
* Fixed Cortex-A53 Erratum 835769 -- LD segfaults with unordered maps.Tejas Belagod2014-12-021-0/+27
| | | | | | | | | | | | | | | | | | | | | The BFD/LD patch for Cortex-A53 erratum 835769 (https://sourceware.org/ml/binutils/2014-10/msg00199.html) does not handle a particular case of the AArch64 ELF ABI where mapping symbols are allowed to be unordered in the symbol table (not in address order). The unordering causes section maps to be traversed with incorrect span boundaries (in the erratum scanning function) which causes memory faults. The attached patch fixes this issue by ordering the section maps by their 'vma' before starting to traverse them. While this is not an issue with a the GNU toolchain, it is a potential issue with Clang/LLVM. We have observed at least one case where LLVM generates an ELF object with mapping symbols unordered in the symbol table and causes a fault. We have been unable to construct a test case with the GNU toolchain. We have verified by manual inspection the correctness of the traversal with this patch for an LLVM-generated ELF object which triggered this issue. This patch has been bootstrapped on aarch64-linux and regressed. Change-Id: I75622055b01eeb3038d5600c9eea395585e54aca
* [2.24][2.25] Backport prevent user links ARM ELF binary into an AARCH64 ELF ↵Lai Wei-Chih2014-11-282-0/+9
| | | | | | | | | | | | | | | executable. Prevent the linker from generating a seg-fault when the user attempts to link an ARM ELF binary into an AARCH64 ELF executable. 2014-03-12 Nick Clifton <nickc@redhat.com> PR ld/16671 * elf32-arm.c (elf32_arm_add_symbol_hook): Check for ARM format before testing for vxworks. Change-Id: Ibc81a168b85f70422d428d857b8de0c71e2824ed
* [2.24] Cortex-A53 erratum 835769 linker workaroundRong Xu2014-10-3111-8/+830
| | | | | | | This is ported from upstream binutils 2.24 branch commit: cde98f8566e14f52b896abc92c357cdd14717505 Change-Id: Ic5af0a8a8f77444d418d16713e5d6ae490ee8adf
* Merge "Add missing mtc1, mthc1, mfhc1 instructions to Ingenic's MXU patch."Andrew Hsieh2014-09-033-0/+18
|\
| * Add missing mtc1, mthc1, mfhc1 instructions to Ingenic's MXU patch.Andrew Bennett2014-08-293-0/+18
| | | | | | | | Change-Id: Ib83ffec3512b8306458d6ea608f730d08f5b1c10
* | Merge "Add support for Ingenic's MXU."Andrew Hsieh2014-09-0311-15/+1209
|\|
| * Add support for Ingenic's MXU.Andrew Bennett2014-08-2911-15/+1209
| | | | | | | | Change-Id: Ibc79d4e05b92b9f23a0b1a381d94c588f56a0749
* | [2.24][2.25] Fix __preinit_array_start not aligned properly in 64-bit.Lai Wei-Chih2014-08-141-1/+1
|/ | | | | | | For 64-bit address space, it should be 8-bytes aligned. 'ALIGNMENT' will be expanded to '64 / 8' for 64-bit and '32 / 8' for 32-bit. Change-Id: I7bbbf04a9b4e68a342201ec7c04f67497e3fa3a1
* Update Binutils 2.24 to include mips32r6, mips64r6 and MSA changes.Steve Ellcey2014-07-03461-2777/+26107
| | | | Change-Id: I24f28bc29dff188ba059388d8d5478f51da56a12
* Merge "[2.24] Fix assert failure with --emit-relocs and .eh_frame sections ↵Andrew Hsieh2014-06-021-22/+22
|\ | | | | | | by backporting the following patch from mainline:"
| * [2.24] Fix assert failure with --emit-relocs and .eh_frame sections by ↵Alexander Ivchenko2014-06-021-22/+22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | backporting the following patch from mainline: 2013-11-06 Cary Coutant <ccoutant@google.com> PR gold/15758 * object.cc (Sized_relobj_file::do_layout): Handle .eh_frame sections before reloc sections. Change-Id: I964471340806597252c5e4695c65a7b87b2ebb39 Signed-off-by: Alexander Ivchenko <alexander.ivchenko@intel.com>
* | [2.23, 2.24] Backport of two patches for Gold that fix the issue withAlexander Ivchenko2014-05-281-2/+6
|/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | linking using -fpie and -mcmodel=large. Both patches are already in 2.24 upstream branch. https://sourceware.org/bugzilla/show_bug.cgi?id=16945 https://sourceware.org/bugzilla/show_bug.cgi?id=16870 commit c23dd3426c75fbf7fa9f30a4082be034818967c1 Author: H.J. Lu <hjl.tools@gmail.com> Date: Tue May 27 12:19:33 2014 -0700 Properly handle 64-bit GOT relocations This patch fixes 2 issues: 1. Since the GOT offset is always negative, we need to use signed int to support 64-bit GOT relocations. 2. R_X86_64_PLTOFF64 uses the address of GLOBAL_OFFSET_TABLE, which is the address of the .got.plt section, not the .got section. commit 7849f6d8dc37fc3da2fec06ac1d47afbe4b81059 Author: Cary Coutant <ccoutant@google.com> Date: Wed Apr 23 15:17:16 2014 -0700 Add missing break statement for case elfcpp::R_X86_64_PLTOFF64. gold/ * x86_64.cc (Target_x86_64::Relocate::relocate): Add missing break. Change-Id: Icb3cb1de77a7d467fccb715dc6da83c6d2c5c2a6 Signed-off-by: Alexander Ivchenko <alexander.ivchenko@intel.com>
* [2.24] fix MIPS static executable segfaultAndrew Hsieh2014-05-011-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Previous commit f25603579c0a04b3d5099259cf54c5b3c8775b78 isn't complete because .ctors/.dtors in crtbegin*/crtend* aren't excluded from .init_array/.fini_array. Static executable (eg. $NDK/tests/device/static-executable) causes "Bus Error" because call_array() in __libc_init() call ffffffff from __INIT_ARRAY__ not properly terminaed by NULL. Disassembly of section .init_array: 000b42ac <__INIT_ARRAY__>: b42ac: ff ff ff ff 000b42b0 <__CTOR_LIST__>: b42b0: ff ff ff ff dc 09 08 00 f8 09 08 00 00 00 00 00 000b42c0 <__CTOR_END__>: b42c0: 00 00 00 00 Note that Android uses .init/.fini_array (move away from .ctors/.dtors), but we can't simply remove _CTOR* from crtbegin_static/dynamic.o because older device (eg. ICS) call_array() on CTOR_LIST The correct fix is to exclude them Thanks to icebergfu@gmail.com for identifying the issues. Change-Id: I7a955753baa00fd486cc5a37362ab91c3a21d1e1
* [2.24] Only quote arguments in pex-win32.c that need itRay Donnelly2014-04-141-9/+38
| | | | | | See 99e61be119cf94aed94e96a1cc192b4733ed7c1d Change-Id: I8d21ba308aa4d1e31a908b16f4e0e3168d7b8787
* [2.24] Fix alignment for data segment for 64 bits.Alexander Ivchenko2014-04-141-5/+8
| | | | | | See 4c195079b72a16cb62cb9a6e8010b3dc0202795b Change-Id: I64dab07994f832898584d34095c3d3ab015c2fe9
* [2.24] Silence ARM as error "MOV Rd, Rs" two low regs with clang/armv5/thumb1Andrew Hsieh2014-04-141-0/+7
| | | | | | See 92337cf27b1497415e3f345ea9292e96ced2a8fa Change-Id: Id8c37627f3a2e6ec904ac95139c144bd834e6e50
* [2.24] Modify linker script generation for MIPS AndroidAndrew Hsieh2014-04-144-29/+39
| | | | | | | See dca628154da7b641772aad6e6e63325a642b9472 and 9adb6697703c230d1bded964b2fd2dceb80db2f3 Change-Id: Ia55791b46bbd1a509b12f2e1e37cdc5d7ec27754
* [2.24] Fix newer binutils not to assert on non-existence tag_FP_archAndrew Hsieh2014-04-143-5/+10
| | | | | | | See 6dc39c25be5791b015878f23a2d2e84f2b16ae43 and 1342ca94f07e5164f14acb74b2c3903ba0c4009a Change-Id: I6b189890304d15972929e1171630c6ecd843139c
* [2.24] Support decoding of symbols for plt entries on armAndrew Hsieh2014-04-141-0/+15
| | | | | | | | See 2ea716fce6d62ca9b3845c6dde40271438a2891a, f9dadca89a4a993e5c68137b5b162b5e79fa4455 and fa1f1a225fd4598b2fb6edf4bf63591c9e72d13a Change-Id: I17fa387a88f96e01a97a3621e2d8eda405b079be
* Initial checkin of binutils 2.24.Ben Cheng2014-03-2615000-0/+4788965
Change-Id: I0dfcbae6608dded6c3586bf5f4ac27e9612e70a2