<feed xmlns='http://www.w3.org/2005/Atom'>
<title>buildroot/package/binutils/2.24, branch 2015.11.1</title>
<subtitle>OpenPOWER buildroot sources</subtitle>
<id>https://git.raptorcs.com/git/buildroot/atom?h=2015.11.1</id>
<link rel='self' href='https://git.raptorcs.com/git/buildroot/atom?h=2015.11.1'/>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/buildroot/'/>
<updated>2015-10-04T16:27:27+00:00</updated>
<entry>
<title>binutils: backport auto-litpools xtensa gas option</title>
<updated>2015-10-04T16:27:27+00:00</updated>
<author>
<name>Max Filippov</name>
<email>jcmvbkbc@gmail.com</email>
</author>
<published>2015-08-12T22:20:00+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/buildroot/commit/?id=e0ae34b02943cc3d218ec4a489809c4848546a8c'/>
<id>urn:sha1:e0ae34b02943cc3d218ec4a489809c4848546a8c</id>
<content type='text'>
Auto-litpools is the automated version of text-section-literals: literal
pool candidate frags are planted every N frags and during relaxation
they are turned into actual literal pools where literals are moved to
become reachable for their first reference by L32R instruction.

Signed-off-by: Max Filippov &lt;jcmvbkbc@gmail.com&gt;
Signed-off-by: Thomas Petazzoni &lt;thomas.petazzoni@free-electrons.com&gt;
</content>
</entry>
<entry>
<title>binutils: fix xtensa gas segfault with --text-section-literals</title>
<updated>2015-07-11T10:33:13+00:00</updated>
<author>
<name>Max Filippov</name>
<email>jcmvbkbc@gmail.com</email>
</author>
<published>2015-05-26T08:24:00+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/buildroot/commit/?id=c7e1c58fac893943d7679cc2905dab555f8d4c73'/>
<id>urn:sha1:c7e1c58fac893943d7679cc2905dab555f8d4c73</id>
<content type='text'>
Building libgcc with TARGET_ABI flags results in assembler segfault on
xtensa, because code in sections .init and .fini emits literals w/o
.literal_position directive. This patch turns the segfault into assembly
error.

Signed-off-by: Max Filippov &lt;jcmvbkbc@gmail.com&gt;
Signed-off-by: Thomas Petazzoni &lt;thomas.petazzoni@free-electrons.com&gt;
</content>
</entry>
<entry>
<title>binutils: fix xtensa ld bug triggered by --gc-sections</title>
<updated>2015-05-16T16:28:06+00:00</updated>
<author>
<name>Max Filippov</name>
<email>jcmvbkbc@gmail.com</email>
</author>
<published>2015-05-14T04:38:59+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/buildroot/commit/?id=384c919321a53bdb74539cd1c8e0f098e49e8f8e'/>
<id>urn:sha1:384c919321a53bdb74539cd1c8e0f098e49e8f8e</id>
<content type='text'>
elf_xtensa_gc_sweep_hook doesn't correctly unreference symbols that were
made local, that results in link failure with the following message:

  BFD (GNU Binutils) 2.24 internal error, aborting at elf32-xtensa.c line
  3372 in elf_xtensa_finish_dynamic_sections

elf_xtensa_gc_sweep_hook determines symbol reference type (PLT or GOT) by
relocation type. Relocation types are not changed when symbol becomes
local, but its PLT references are added to GOT references and
plt.refcount is set to 0. Such symbol cannot be unreferences in the
elf_xtensa_gc_sweep_hook and its extra references make calculated GOT
relocations section size not match number of GOT relocations.

Fix it by treating PLT reference as GOT reference when plt.refcount is
not positive.

Fixes:
  http://autobuild.buildroot.net/results/3e2e24f697e26c93d4d95782b1cb7799fa620a7a/
  http://autobuild.buildroot.org/results/97d4c96d6f6cdc1ed4007456f4ab70be9dfa41b5/

Signed-off-by: Max Filippov &lt;jcmvbkbc@gmail.com&gt;
Signed-off-by: Thomas Petazzoni &lt;thomas.petazzoni@free-electrons.com&gt;
</content>
</entry>
<entry>
<title>binutils: fix xtensa gas trampolines regression</title>
<updated>2015-05-10T21:08:54+00:00</updated>
<author>
<name>Max Filippov</name>
<email>jcmvbkbc@gmail.com</email>
</author>
<published>2015-05-10T13:43:49+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/buildroot/commit/?id=af863a3bc0d3528031cad59dbf8a981f030d4be8'/>
<id>urn:sha1:af863a3bc0d3528031cad59dbf8a981f030d4be8</id>
<content type='text'>
xtensa trampolines relaxation optimization caused the following build
errors:
  Error: operand 1 of 'j' has out of range value '131643'
  Error: operand 1 of 'j' has out of range value '4294836162'
  Error: operand 1 of 'j' has out of range value '4294836072'

Extra condition 'abs (addr - trampaddr) &lt; J_RANGE / 2' for trampoline
selection results in regressions: when relaxable jump is little longer
than J_RANGE so that single trampoline makes two new jumps, one longer
than J_RANGE / 2 and one shorter, correct trampoline cannot be found.

Drop that condition.

Upstream status: patch submitted.
Fix squashed into the optimization patch.
Fixes:
  http://autobuild.buildroot.net/results/5ba7d18262ce6a2dfd69db07d064a971267f1128/

Signed-off-by: Max Filippov &lt;jcmvbkbc@gmail.com&gt;
Signed-off-by: Peter Korsgaard &lt;peter@korsgaard.com&gt;
</content>
</entry>
<entry>
<title>binutils: backport xtensa trampolines relaxation optimization</title>
<updated>2015-05-05T20:44:47+00:00</updated>
<author>
<name>Max Filippov</name>
<email>jcmvbkbc@gmail.com</email>
</author>
<published>2015-05-05T19:57:21+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/buildroot/commit/?id=911c5e2dd30e9d96984dfaa03c9b1f3bc95ea2fa'/>
<id>urn:sha1:911c5e2dd30e9d96984dfaa03c9b1f3bc95ea2fa</id>
<content type='text'>
This optimization alone reduces gnuradio build time for xtensa from 2
hours to 40 minutes.

Signed-off-by: Max Filippov &lt;jcmvbkbc@gmail.com&gt;
Signed-off-by: Thomas Petazzoni &lt;thomas.petazzoni@free-electrons.com&gt;
</content>
</entry>
<entry>
<title>binutils: backport xtensa ld optimizations</title>
<updated>2015-04-09T19:52:36+00:00</updated>
<author>
<name>Max Filippov</name>
<email>jcmvbkbc@gmail.com</email>
</author>
<published>2015-04-09T16:55:51+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/buildroot/commit/?id=c6d9a92dbd173902b0fccd04ba613dcdce9494f8'/>
<id>urn:sha1:c6d9a92dbd173902b0fccd04ba613dcdce9494f8</id>
<content type='text'>
This series optimizes most time-consuming algorithms and data structures
in the xtensa link-time relaxation code, leaving relaxation logic intact.

Speedup linking typical linux kernel is ~8 times (1 minute instead of 8),
pathological cases (linking objects partially linked without relaxation)
are handled ~60 times faster (1 minute instead of an hour).

Signed-off-by: Max Filippov &lt;jcmvbkbc@gmail.com&gt;
Signed-off-by: Thomas Petazzoni &lt;thomas.petazzoni@free-electrons.com&gt;
</content>
</entry>
<entry>
<title>binutils/2.24: add patch to warn about unsafe library paths</title>
<updated>2014-12-10T23:05:52+00:00</updated>
<author>
<name>Thomas Petazzoni</name>
<email>thomas.petazzoni@free-electrons.com</email>
</author>
<published>2014-12-10T22:53:47+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/buildroot/commit/?id=48bc113e3f1abbe77ff96b76b2d34e40db7a0206'/>
<id>urn:sha1:48bc113e3f1abbe77ff96b76b2d34e40db7a0206</id>
<content type='text'>
This commit adds a patch to binutils borrowed from CodeSourcery/Yocto
that warns about unsafe library paths (i.e /usr/lib, /usr/local/lib,
etc.). The patch was adapted to binutils 2.24, and modified to support
the BR_COMPILER_PARANOID_UNSAFE_PATH environment variable to error out
instead of just warn when unsafe paths are used. Even though erroring
out can be chosen by passing --error-poison-system-directories, we are
not sure this option in LDFLAGS will always be passed, so having an
environment variable guarantees it will always be passed, and also
allows to have an identical behavior to the external toolchain
wrapper.

Signed-off-by: Thomas Petazzoni &lt;thomas.petazzoni@free-electrons.com&gt;
Tested-by: Romain Naour &lt;romain.naour@openwide.fr&gt;
</content>
</entry>
<entry>
<title>binutils: fix xtensa trampolines search code for conditional branches</title>
<updated>2014-11-26T13:48:25+00:00</updated>
<author>
<name>Max Filippov</name>
<email>jcmvbkbc@gmail.com</email>
</author>
<published>2014-11-26T09:03:00+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/buildroot/commit/?id=b20bb0c7b744b10fc875506549924641b79e5309'/>
<id>urn:sha1:b20bb0c7b744b10fc875506549924641b79e5309</id>
<content type='text'>
This fixes the following build errors seen when assembling huge files
produced by gcc:
  Error: jump target out of range; no usable trampoline found
  Error: operand 1 of 'j' has out of range value '307307'

Fixes:
  http://autobuild.buildroot.net/results/545/545168d9caf3bdb3dd3eb3bae58ba9db8a33384a/

Backported from: d92b6eece424f0ad35d96fdd85bf207295e8c4c3
Signed-off-by: Max Filippov &lt;jcmvbkbc@gmail.com&gt;
Signed-off-by: Peter Korsgaard &lt;peter@korsgaard.com&gt;
</content>
</entry>
<entry>
<title>binutils: fix 'call8: call target out of range' xtensa ld bug</title>
<updated>2014-09-23T19:56:46+00:00</updated>
<author>
<name>Max Filippov</name>
<email>jcmvbkbc@gmail.com</email>
</author>
<published>2014-09-23T03:23:29+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/buildroot/commit/?id=9849f0052cbd9460888e93ca28b98e43437277f9'/>
<id>urn:sha1:9849f0052cbd9460888e93ca28b98e43437277f9</id>
<content type='text'>
This fixes the following linux kernel build errors:

  LD      init/built-in.o
  net/built-in.o: In function `raw_proc_exit':
  (.init.text+0xe29): dangerous relocation:
		      call8: call target out of range: udp_proc_register
  net/built-in.o: In function `udp_table_init':
  (.init.text+0xf09): dangerous relocation:
		      call8: call target out of range: udp_proc_register
  net/built-in.o: In function `inet_init':
  af_inet.c:(.init.text+0x142e): dangerous relocation:
				 call8: call target out of range: udp4_proc_exit
  net/built-in.o: In function `ip_auto_config':
  ipconfig.c:(.init.text+0x28aa): dangerous relocation:
				  call8: call target out of range: arp_send

Backported from: 331ed1307b93d3ff77d248bdf2f7b79a20851457
Signed-off-by: Max Filippov &lt;jcmvbkbc@gmail.com&gt;
Signed-off-by: Thomas Petazzoni &lt;thomas.petazzoni@free-electrons.com&gt;
</content>
</entry>
<entry>
<title>binutils: fix xtensa ld segfault on linking linux modules</title>
<updated>2014-07-12T12:34:05+00:00</updated>
<author>
<name>Max Filippov</name>
<email>jcmvbkbc@gmail.com</email>
</author>
<published>2014-07-10T16:25:13+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/buildroot/commit/?id=0dd180ec1901edac7d1f10a0e68951f738299c9d'/>
<id>urn:sha1:0dd180ec1901edac7d1f10a0e68951f738299c9d</id>
<content type='text'>
This fixes the following build error reproducible with any linux kernel
module built with a recent buildroot toolchain:

  LD [M]  fs/jbd2/jbd2.ko
  /bin/sh: line 1: 12069 Segmentation fault
  buildroot/host/usr/bin/xtensa-buildroot-linux-uclibc-ld -r --no-relax
  -T linux/scripts/module-common.lds --build-id
  -o fs/jbd2/jbd2.ko fs/jbd2/jbd2.o fs/jbd2/jbd2.mod.o

Backported from: e7d17e71cdc10a2e81e454ce3b9637f1b2a587f2
Signed-off-by: Max Filippov &lt;jcmvbkbc@gmail.com&gt;
Signed-off-by: Thomas Petazzoni &lt;thomas.petazzoni@free-electrons.com&gt;
</content>
</entry>
</feed>
