summaryrefslogtreecommitdiffstats
path: root/binutils-2.23/gold
Commit message (Collapse)AuthorAgeFilesLines
* Remove old versions of binutils.Dan Albert2015-06-17447-182382/+0
| | | | Change-Id: If634d8d30cfa8c88ca3ba59691a0df4ee5596f85
* [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.21, 2.22, 2.23] Backport of the patch for keeping lto sectionsAlexander Ivchenko2014-03-051-1/+2
| | | | | | | | | | | | 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>
* [2.23] Use relative relocation for R_X86_64_32 on x32Pavel Chupin2013-09-061-1/+2
| | | | | | | | | | | | | | | | 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>
* [2.21], [2.22], [2.23] Backport of the patch for fixing large symbol alignment.Alexander Ivchenko2013-06-064-7/+94
| | | | | | | | | | | | | | | 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>
* Merge "[2.22], [2.23] Backport of the patch that enables ↵Andrew Hsieh2013-06-038-6/+202
|\ | | | | | | "--sort-section=name" command line option in gold."
| * [2.22], [2.23] Backport of the patch that enables "--sort-section=name"Alexander Ivchenko2013-05-318-6/+202
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* | [2.23] Fix main() relocation issue on x32 goldPavel Chupin2013-05-313-54/+90
|/ | | | | | | | | | | | | | | | | | | | | | | 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>
* [2.22], [2.23] Backport of 4 patches from trunk for enablingAlexander Ivchenko2013-05-2410-22/+175
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* [2.23] Backport mingw/plugins fixes from trunkPavel Chupin2013-04-159-5/+119
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* [2.23] text section reorderingAndrew Hsieh2013-04-1010-2/+296
| | | | | | | See dbb331ef919ae846a3983b7be1e5ffbb1ee1a839 and 43cc3f59831134ed0b2447bb21767371417ac54a Change-Id: Iacfaec947be7ab977959b03af019493c81464474
* [2.23] Fix the "DIV usage mismatch between blah.o and output" errorBen Cheng2013-04-101-21/+77
| | | | | | See http://sourceware.org/ml/binutils/2012-12/msg00202.html Change-Id: I5a1ad8614c8513e9c778e9207b9cfba2dac44c9f
* Initial checkin for binutils 2.23.2 (needed by aarch64)Ben Cheng2013-04-09439-0/+181440
Change-Id: I7e5f319e9e632cc0ccc8a4ec1051169ed2849ca4