summaryrefslogtreecommitdiffstats
path: root/binutils-2.25/gold/arm.cc
Commit message (Collapse)AuthorAgeFilesLines
* various build fixes for Debian StretchWolfgang Wiedmeyer2016-12-071-35/+0
| | | | Signed-off-by: Wolfgang Wiedmeyer <wolfgit@wiedmeyer.de>
* Backport upstream patch to fix linker internal error.Han Shen2016-02-051-21/+106
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The error happens while linking a huge arm32 binary (for example, a debuggable chrome browser on arm) - the plt jump offset overflows. This fixes the problem by introducing another level of indirection. By default this does not affect anything. However in case of plt jump offset overflow, instead of triggering an internal error, the linker generates a proper message and suggests add "--long-plt" to the linker command. Tested via linking debug chrome browser for arm32. Also tested by build.py on android. The upstream patch - commit ce3e49806d505721e0875e704de0b6fcba7660ed Author: Peter Collingbourne <pcc@google.com> Date: Thu Dec 17 16:50:35 2015 -0800 Implement --long-plt flag (ARM only). gold/ PR gold/18780 * arm.cc (Target_arm::do_make_data_plt): Choose PLT generator based on value of --long-plt flag. (Output_data_plt_arm_standard::do_get_plt_entry_size): Moved to Output_data_plt_arm_short. (Output_data_plt_arm_standard::do_fill_plt_entry): Likewise. (Output_data_plt_arm_standard::plt_entry): Likewise. (Output_data_plt_arm_standard::do_fill_first_plt_entry): Fix variable reference. (Output_data_plt_arm_short): New class. (Output_data_plt_arm_short::do_fill_plt_entry): Error out on too large PLT offsets instead of asserting. (Output_data_plt_arm_long): New class. * options.h (General_options): Define --long-plt flag. Change-Id: Ia61126a09f2213d1ca5c3635ec9e5b36a63f6cf3
* Create an unified binutils source tree for both Android and ChromiumOS.Han Shen2015-11-191-9/+94
| | | | | | | | | | | | | | | | | | | | | | About source code - The base version of this binutils is newer than that of aosp/binutils-2.25, it is based on the binutils that is used to build google products and ChromiumOS. And it contains *all* local Android patches as well as all patches that are cherry-picked from upstream for aosp/binutils-2.25 tree (up to Nov. 5 - 932d71b85). You may find the detailed development history for this binutils tree here - https://chromium.googlesource.com/chromiumos/third_party/binutils/+log/unification (This CL is a combination of all the CLs in it. After this CL is submitted the tree will be identical to https://chromium.googlesource.com/chromiumos/third_party/binutils/+log/unification at 2865a3615d80bd5f82d14d7e0484e84dc052596a) About testing - We tested this binutils for both ChromiumOS and Android. For android, we tested building N4, N5X, N6, N7, N9 using new binutils, we also did a full-build of toolchain (by build.py) and built a N5X image; for ChromiumOS - it passed ChromiumOS toolchain release tests on all 4 platforms (x86, x86_64, arm32 and arm64). Change-Id: I2bb2cf579f9458d0a8bc9612331dc7d5043e3d82
* Plumb --pic-veneer option for gold.Lee Campbell2015-11-051-3/+4
| | | | | | | | | | Cherry-pick of upstream commit cdb061674c044636465e52a8c989b9011f2ec8ac gold/ChangeLog: * arm.cc (Reloc_stub::stub_type_for_reloc): Plumb to stub generation. * options.h (General_options): Add --pic-veneer option. BUG: 25512672
* Drop 'missing mapping symbols' warning for arm and aarch64.Han Shen2015-09-291-9/+2
| | | | | | | | | | | | | | | | | | | | | | | | | The psABI (AAELF) says this about mapping symbols: 4.6.5.1 Section-relative mapping symbols Mapping symbols defined in a section define a sequence of half-open address intervals that cover the address range of the section. Each interval starts at the address defined by the mapping symbol, and continues up to, but not including, the address defined by the next (in address order) mapping symbol or the end of the section. A section must have a mapping symbol defined at the beginning of the section; however, if the section contains only data then the mapping symbol may be omitted. That makes it pretty clear that, in the absence of a mapping symbol, the entire section can be treated as data. gold/ChangeLog: * aarch64.cc (AArch64_relobj::scan_errata): Drop missing symbol warning. * arm.cc (Arm_relobj::scan_section_for_cortex_a8_erratum): Drop missing symbol warning. (cherry picked from commit 61163dfaaedb90d78e11c1d79ad1e469daf3da47)
* Update binutils-2.25/gold to ToTAndrew Hsieh2015-02-241-51/+565
| | | | | | | | | | | | | commit be66981e1605eff305ac9c561825f4bd6801fca2 Author: H.J. Lu <hjl.tools@gmail.com> Date: Sun Feb 22 05:18:50 2015 -0800 Set GOLD_DEFAULT_SIZE to 32 for x32 * configure.ac (default_size): Set to 32 for x32. * configure: Regenerated. Change-Id: I4b2d8927e4e41cf2fac3c92d00e8aef69b5ce21f
* [2.25] sync to a30720e3e633f275250e26f85ccae5dbdddfb6c6Andrew Hsieh2014-12-091-5/+7
| | | | | | | | | | | | 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
* Add upstream binutils-2.25 snapshot 4/4 2014Andrew Hsieh2014-06-131-0/+12387
For MIPS -mmsa support Change-Id: I08c4f002fa7b33dec85ed75956e6ab551bb03c96