| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
| |
This is ported from upstream binutils 2.24 branch
commit: cde98f8566e14f52b896abc92c357cdd14717505
Change-Id: Ic5af0a8a8f77444d418d16713e5d6ae490ee8adf
|
|\ |
|
| |
| |
| |
| | |
Change-Id: Ib83ffec3512b8306458d6ea608f730d08f5b1c10
|
|\| |
|
| |
| |
| |
| | |
Change-Id: Ibc79d4e05b92b9f23a0b1a381d94c588f56a0749
|
|/
|
|
|
|
|
| |
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
|
|
|
|
| |
Change-Id: I24f28bc29dff188ba059388d8d5478f51da56a12
|
|\
| |
| |
| | |
by backporting the following patch from mainline:"
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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>
|
|/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
| |
See 99e61be119cf94aed94e96a1cc192b4733ed7c1d
Change-Id: I8d21ba308aa4d1e31a908b16f4e0e3168d7b8787
|
|
|
|
|
|
| |
See 4c195079b72a16cb62cb9a6e8010b3dc0202795b
Change-Id: I64dab07994f832898584d34095c3d3ab015c2fe9
|
|
|
|
|
|
| |
See 92337cf27b1497415e3f345ea9292e96ced2a8fa
Change-Id: Id8c37627f3a2e6ec904ac95139c144bd834e6e50
|
|
|
|
|
|
|
| |
See dca628154da7b641772aad6e6e63325a642b9472 and
9adb6697703c230d1bded964b2fd2dceb80db2f3
Change-Id: Ia55791b46bbd1a509b12f2e1e37cdc5d7ec27754
|
|
|
|
|
|
|
| |
See 6dc39c25be5791b015878f23a2d2e84f2b16ae43 and
1342ca94f07e5164f14acb74b2c3903ba0c4009a
Change-Id: I6b189890304d15972929e1171630c6ecd843139c
|
|
|
|
|
|
|
|
| |
See 2ea716fce6d62ca9b3845c6dde40271438a2891a,
f9dadca89a4a993e5c68137b5b162b5e79fa4455 and
fa1f1a225fd4598b2fb6edf4bf63591c9e72d13a
Change-Id: I17fa387a88f96e01a97a3621e2d8eda405b079be
|
|
Change-Id: I0dfcbae6608dded6c3586bf5f4ac27e9612e70a2
|