summaryrefslogtreecommitdiffstats
path: root/package/binutils/arc-2015.06/0005-Test-the-entire-object-if-it-contains-only-data-sect.patch
Commit message (Collapse)AuthorAgeFilesLines
* toolchain: bump ARC toolchain components to arc-2015.12-rc1Alexey Brodkin2016-01-191-35/+0
| | | | | | | | | | | | | | | | | | | | | This change introduces newer ARC toolchain in Buildroot. Note this is the first release candidate and we'll probably see another RC before cutting the final release. That new arc-2015.12 release doesn't bring any significant changes but mostly is focused on fixes and minor improvements here and there. Most noticeable changes are: * GCC updated to v4.8.5 * GDB updated to 7.10 You may find more info on fixes and improvements in that release at: https://github.com/foss-for-synopsys-dwc-arc-processors/toolchain/releases/tag/arc-2015.12-rc1 Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com> Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Cc: Peter Korsgaard <peter@korsgaard.com> Cc: arc-buildroot@synopsys.com Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* binutils: fix building perf on ARCAlexey Brodkin2015-10-171-0/+35
It turned out one of the previous fixes (required to build Linux kernel) ------------------>8------------------- ARC Binutils: https://github.com/foss-for-synopsys-dwc-arc-processors/binutils-gdb/commit/a65b844aed9153789356e098984452df2f5d9058 Buildroot: http://git.buildroot.net/buildroot/commit/?id=2d4e2e238a0ea9395152ae71d882d79b1f35094c ------------------>8------------------- broke building of some other software packages. In particular perf built for ARCv2 had corrupted .plt entries that lead to immediate crash on perf execution. That's an example of normal .plt entries: ------------------>8------------------- < 1-st PLT entry >: 12c24: 30 27 8c 7f 0d 00 74 95 ld r12,[pcl,0x000d9574] 12c2c: 21 20 00 03 j.d [r12] 12c30: 0a 24 c0 1f mov r12,pcl < 2-nd PLT entry >: 12c34: 30 27 8c 7f 0d 00 68 95 ld r12,[pcl,0x000d9568] 12c3c: 21 20 00 03 j.d [r12] 12c40: 0a 24 c0 1f mov r12,pcl ------------------>8------------------- Note right after jump in its delay-slot r12 gets set with current value of program counter. This is required for the first symbol resolution, see implementation of _dl_linux_resolve here: http://git.uclibc.org/uClibc/tree/ldso/ldso/arc/resolve.S#n46 And that's what we got in .plt after mentioned fixes: ------------------>8------------------- < 1-st PLT entry>: 13384: 30 27 8c 7f 0f 00 84 75 ld r12,[pcl,0x000f7584] 1338c: 21 20 00 03 j.d [r12] < 2-nd PLT entry>: 13390: 30 27 8c 7f 0f 00 78 75 ld r12,[pcl,0x000f7578] 13398: 21 20 00 03 j.d [r12] ------------------>8------------------- Note r12 setup is missing. That happened because linker thought the size of PLT entry is 12 bytes (which is exactly the size of PLT entry for ARCv1, read ARC750/770) while for ARCv2 PLT entry is 16-bytes long. And erroneously trailing 4 bytes were truncated. Current commit fixes this misbehavior and PLT gets generated properly again. Now we have a fix for that issue, see https://github.com/foss-for-synopsys-dwc-arc-processors/binutils-gdb/commit/5df50c61083165455aae5504c5c3566fa5ccebb1 This fix is in arc-2.23-dev branch and will be a part of the next release of ARC tools, so then this patch must be removed from buildroot. Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
OpenPOWER on IntegriCloud