| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
| |
local patches will be re-applied later
commit a30720e3e633f275250e26f85ccae5dbdddfb6c6
Author: Alan Modra <amodra@gmail.com>
Date: Wed Nov 19 10:30:16 2014 +1030
daily update
Change-Id: Ieb2a3f4dd2ecb289ac5305ff08d428b2847494ab
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
7a17fb955bb42018c3c84e003700ac120c3502d4
b2a417bdb17191ef2afc20bbd308e308c0730403
e0bca373a85fa71b89d9ea42370433b3c0499b9d
57fbbfbda5a77b558c24a44e7eed8c4030c31bcd
160ce55a90bcdcb3000d74805795969edc3f8422
b33d0ddc123435be5e60ebb15a37b3bfb651dc7e
f25603579c0a04b3d5099259cf54c5b3c8775b78
1000fadfaa979b623e1fbd0c87858be4f5b6dffd
83cabeb81083ac53719eaaf68c48734ff9c48fa9
Change-Id: I174be6632426ed720e643bca7c48a9077b31d34b
|
|
|
|
|
|
| |
For MIPS -mmsa support
Change-Id: I08c4f002fa7b33dec85ed75956e6ab551bb03c96
|
|\
| |
| |
| | |
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
|
|\ |
|
| |
| |
| |
| |
| |
| |
| |
| | |
.. it always quoted all arguments, irrespective of whether
there was a need to. This means the 32k limit is getting
hit more often than it needs to.
Change-Id: I5fb427cc3ad6a00a8099d3ed0fce1f43ed027f78
|
|/
|
|
| |
Change-Id: I0dfcbae6608dded6c3586bf5f4ac27e9612e70a2
|
|
|
|
|
|
|
|
|
|
|
|
| |
when linking with "-r" options (ld bfd behaviour).
2012-10-16 Sriraman Tallam <tmsriram@google.com>
* layout.cc (Layout::include_section): Keep sections marked
SHF_EXCLUDE when doing relocatable links.
Change-Id: Icc49c2b8e34097ec95d869a70d367ef6faf320ed
Signed-off-by: Alexander Ivchenko <alexander.ivchenko@intel.com>
|
|
|
|
|
|
|
|
|
| |
Without this fix, each library in 64 bit mode weights
more than 2MB, which is far too large. Roll back the
default value for the alignment of data segment.
Change-Id: I8cd1e3d22d2245ba78b348c5ada77ee594be1fdf
Signed-off-by: Alexander Ivchenko <alexander.ivchenko@intel.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
build of binutils with texinfo-5.0.
2013-01-06 Andreas Schwab <schwab@linux-m68k.org>
* doc/c-mips.texi (MIPS Opts): Fix use of @itemx.
* doc/c-score.texi (SCORE-Opts): Likewise.
* doc/c-tic54x.texi (TIC54X-Directives): Likewise.
2013-03-14 Andreas Schwab <schwab@suse.de>
* doc/c-arc.texi (ARC Directives): Revert last change and use
@itemize instead of @table.
* doc/c-arm.texi (ARM-Instruction-Set): Likewise.
2013-03-14 Nick Clifton <nickc@redhat.com>
PR gas/15212
* doc/c-arc.texi (ARC Directives): Use @code instead of @bullte
for table format.
* doc/c-arm.texi (ARM-Instruction-Set): Likewise. Also add text
to the @item directives.
(ARM-Neon-Alignment): Move to correct place in the document.
* doc/c-cr16.texi (CR16 Operand Qualifiers): Fix up table
formatting.
* doc/c-tic54x.texi (TIC54X-Subsyms): Correct use of
@smallexample.
2013-01-04 Andreas Schwab <schwab@linux-m68k.org>
* doc/binutils.texi (elfedit): Fix use of @itemx in @table.
2013-01-07 Patrice Dumas <pertusus@free.fr>
* ld.texinfo: Replace @ with @@ when it is part of the text.
Correct ordering of M68HC11 entry.
* doc/binutils.texi: Fix ordering of top level nodes.
Replace erroneous uses of @itemx with @item.
* bfd.texinfo: Replace @ with @@ when it is part of the text.
Change-Id: Ib60e0340bf8d3e3b29ff4e93d34c6ac389c78fca
Signed-off-by: Alexander Ivchenko <alexander.ivchenko@intel.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
x32 is supported in gold at 2.23+.
Backport of trunk patch 1.165 (CVS revision of x86_64.cc).
ChangeLog entry:
2013-09-03 Pavel Chupin <pavel.v.chupin@intel.com>
PR gold/15927
* x86_64.cc (Target_x86_64<size>::Scan::global): Use relative
relocation for R_X86_64_32 on x32.
Change-Id: I15b444d7b74171e87d349ea96548d6607ef7a242
Signed-off-by: Pavel Chupin <pavel.v.chupin@intel.com>
|
|
|
|
| |
Change-Id: Ibcc5b2ab16e640f7fd3d8a0420fec1bd91a6e6fa
|
|
|
|
|
|
|
|
|
| |
For binutils-2.22 make check-gold was broken. This patch reverts
4dd978c332b01f700fb83a8ea57043fe08557093 and applies
3dcb6e6fd79152c6baa321d2af8892b714cad958 instead.
Change-Id: I7589c72aab9b180473c6e2049c7c6e72f9a8d808
Signed-off-by: Alexander Ivchenko <alexander.ivchenko@intel.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2013-06-05 Alexander Ivchenko <alexander.ivchenko@intel.com>
gold/
* layout.cc (Layout::set_segment_offsets): Taking care of the case when
the maximum segment alignment is larger than the page size.
* testsuite/Makefile.am (large_symbol_alignment): Test that Gold
correctly aligns the symbols with large alignemnt.
* testsuite/Makefile.in: Regenerate.
* testsuite/large_symbol_alignment.cc: New file.
Change-Id: I2fe5b73b9e76050f0f42bbbc9086d0d5824c0020
Signed-off-by: Alexander Ivchenko <alexander.ivchenko@intel.com>
|
|\
| |
| |
| | |
"--sort-section=name" command line option in gold."
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
command line option in gold.
2013-05-30 Alexander Ivchenko <alexander.ivchenko@intel.com>
Sriraman Tallam <tmsriram@google.com>
* options.h (sort_section): New option.
* output.h (Input_section_sort_section_prefix_special_ordering_compare):
Rename from Input_section_sort_section_name_special_ordering_compare.
(Input_section_sort_section_name_compare): New struct.
* output.cc (Output_section::Input_section_sort_section_name_compare::
operator()): New function.
(Output_section::sort_attached_input_sections): Use new sort function
for .text if --sort-section=name is specified.
* layout.cc (Layout::make_output_section):
Add sorting by name when --sort-section=name is specified.
* testsuite/Makefile.am (text_section_grouping): Test option
--sort-section=name.
* testsuite/Makefile.in: Regenerate.
* testsuite/section_sorting_name.cc: New file.
* testsuite/section_sorting_name.sh: New file.
Change-Id: Icbb4bb11b95398c1f052326145aefaa2bdf41614
Signed-off-by: Alexander Ivchenko <alexander.ivchenko@intel.com>
|
|\ \ |
|
| |/
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Can be seen as runtime segfault on any test linked by gold 2.23 for x32
target. bfd linker is fine. gold starting from 2.23 supports x32.
Backport of patch tracked by gold/ChangeLog revision 1.957:
2012-09-12 Ian Lance Taylor <iant@google.com>
PR gold/14570
* output.cc: Rename Output_data_got template parameter from size
to got_size for all functions. Compile all variants of
Output_data_got.
(Output_data_got::Got_entry::write): Correct use of size for
symbol value. Use local_is_tls rather than casting to
Sized_relobj_file.
* object.h (class Object): Add local_is_tls and do_local_is_tls.
(class Sized_relobj_file): Add do_local_is_tls.
* incremental.h (class Sized_relobj_incr): Add do_local_is_tls.
Change-Id: I2d3848b2a3ca4b8942649ee04d53ad2679c05f8c
Signed-off-by: Pavel Chupin <pavel.v.chupin@intel.com>
|
|/
|
|
|
|
|
|
|
|
|
|
| |
2013-05-03 Alan Modra <amodra@bigpond.net.au>
2013-05-01 H.J. Lu <hjl.tools@gmail.com>
2013-05-01 Cary Coutant <ccoutant@google.com>
2013-04-29 Alexander Ivchenko <alexander.ivchenko@intel.com>
See the same patch to 2.22/2.23 f69768d4c89186a859db6aa967f9bde047b50b6d
for more details
Change-Id: Ifb8582f1bee390fb26ce0f6fa56b8958fd589a9a
|
|
|
|
|
|
|
|
| |
http://comments.gmane.org/gmane.comp.gnu.binutils.cvs/21090
Fixes as.exe crash on Windows x86_64:
"out of memory allocating 4294967280 bytes"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
merging string literals:
2013-05-03 Alan Modra <amodra@bigpond.net.au>
* merge.cc (Output_merge_string::do_add_input_section): Correct
scan for number of strings. Rename vars to avoid shadowing.
Include missing terminator in input_size_.
2013-05-01 H.J. Lu <hjl.tools@gmail.com>
Restore empty string handling
* merge.cc (Output_merge_string<Char_type>::do_add_input_section):
Restore empty string handling.
2013-05-01 Cary Coutant <ccoutant@google.com>
gold/
* stringpool.cc (Stringpool_template::new_key_offset): Fix
uninitialized warning.
2013-04-29 Alexander Ivchenko <alexander.ivchenko@intel.com>
gold/
* output.cc (Output_section::add_merge_input_section): Allow
to merge sections if the alignment is more than character size.
* merge.h (Output_merge_string::Output_merge_string): Remove
assert.
* merge.cc (Output_merge_string<Char_type>::do_add_input_section): Count
only not-null strings. Check the alignment of strings.
* stringpool.h
(Stringpool_template<Stringpool_char>::Stringpool_template): Add
alignment as the argument.
(Stringpool_template<Stringpool_char>::addralign_): New class member.
* stringpool.cc (Stringpool_template<Stringpool_char>::new_key_offset):
Align non-zero length strings according to the addralign_.
(Stringpool_template<Stringpool_char>::set_string_offsets):
Updating offsets according to the given alignment.
* testsuite/Makefile.am (text_section_grouping): Test if string
literals are getting merged.
* testsuite/Makefile.in: Regenerate.
* testsuite/merge_string_literals_1.c: New file.
* testsuite/merge_string_literals_2.c: Ditto.
* testsuite/merge_string_literals.sh: Ditto.
Change-Id: I865560473766a31294d88ddcf43b2991c569c638
Signed-off-by: Alexander Ivchenko <alexander.ivchenko@intel.com>
|
|\ |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Clang -target armv5te-none-linux-androideabi -mthumb generates
"MOV Rd, Rs" with two low regs and expect it doesn't change CPSR.
The only encoding in thumb1 allows it is "Hi register operations"
with H1=0 && H2=0 but the behavior is undefined in v5t until v6.
The assembler from binutils-2.22 (compiled with gcc4.7) starts to
check and abort with message reads:
main.s:86: Error: MOV Rd, Rs with two low registers is not permitted on this architecture -- mov r0,r4
Temporily disable this error before clang is fixed.
Change-Id: I3332707e28c00af220896c64b98deef1a4237749
|
|/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Backport of 3 patches:
2012-10-13 H.J. Lu <hongjiu.lu@intel.com>
* Makefile.am (LIBDL): Replace -ldl with @lt_cv_dlopen_libs@.
* configure.in (lt_cv_dlopen_libs): AC_SUBST.
* Makefile.in: Regenerated.
* configure: Likewise.
2013-01-11 Pavel Chupin <pavel.v.chupin@intel.com>
Fix mingw gold build with plugins enabled
* Makefile.am: Replace -ldl with @DLOPEN_LIBS@.
* configure.ac: Export DLOPEN_LIBS and add headers check.
* plugin.cc: Handle non-dlfcn case.
* Makefile.in: Regenerate.
* config.in: Regenerate.
* configure: Regenerate.
* testsuite/Makefile.in: Regenerate.
2013-02-11 Ian Lance Taylor <iant@google.com>
* descriptors.cc (Descriptors::close_all): New function.
* descriptors.h (class Descriptors): Declare close_all.
(close_all_descriptors): New inline function.
* plugin.cc: Include "descriptors.h".
(Plugin_manager::cleanup): Call close_all_descriptors.
Change-Id: I57e583b3566d214e816363501d1047833e834417
Signed-off-by: Pavel Chupin <pavel.v.chupin@intel.com>
|
|\ |
|
| |
| |
| |
| |
| |
| |
| | |
See dbb331ef919ae846a3983b7be1e5ffbb1ee1a839 and
43cc3f59831134ed0b2447bb21767371417ac54a
Change-Id: Iacfaec947be7ab977959b03af019493c81464474
|
|\| |
|
| |
| |
| |
| |
| |
| | |
See http://sourceware.org/ml/binutils/2012-12/msg00202.html
Change-Id: I5a1ad8614c8513e9c778e9207b9cfba2dac44c9f
|
|/
|
|
|
|
| |
See 9adb6697703c230d1bded964b2fd2dceb80db2f3
Change-Id: I8de1821e683bd7210f30c19ad6170beb56915228
|
|
|
|
|
|
| |
See 1342ca94f07e5164f14acb74b2c3903ba0c4009a
Change-Id: I77b5ce1671fcb6e8b5dca0ddf2269aeaf8f3883d
|
|
|
|
|
|
|
| |
See e84d2df4e4d8a96c78d8f738a6a1754343d61038
and 0bacab67d884144f0f0701359c481a6f0749f1f3
Change-Id: Iff854f6d77e859c83a287810c7dc666cf8a70878
|