[Bug gold/20878] gold powerpc64 le linux fails to link large Linux kernel

2017-02-21 Thread cvs-commit at gcc dot gnu.org
https://sourceware.org/bugzilla/show_bug.cgi?id=20878

--- Comment #8 from cvs-commit at gcc dot gnu.org  ---
The binutils-2_27-branch branch has been updated by Alan Modra
:

https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=983d1db4d7b5644b8c16a64bb6cb7267f602ebef

commit 983d1db4d7b5644b8c16a64bb6cb7267f602ebef
Author: Alan Modra 
Date:   Wed Dec 7 14:12:26 2016 +1030

[GOLD] powerpc64le-linux fails to link large Linux kernel

Gold attaches stubs to an existing section in contrast to ld.bfd which
inserts a new section for stubs.  If we want stubs before branches,
then the stubs must be added to the previous section.  Adding to the
previous section is a disaster if there is a large gap between the
previous section and the group.

PR gold/20878
* powerpc.cc (Stub_control): Replace stubs_always_before_branch_
with stubs_always_after_branch_, group_end_addr_ with
group_start_addr_.
(Stub_control::can_add_to_stub_group): Rewrite to suit scanning
sections by increasing address.
(Target_powerpc::group_sections): Scan that way.  Delete corner
case.
* options.h (--stub-group-size): Update help string.

-- 
You are receiving this mail because:
You are on the CC list for the bug.
___
bug-binutils mailing list
bug-binutils@gnu.org
https://lists.gnu.org/mailman/listinfo/bug-binutils


[Bug gold/20878] gold powerpc64 le linux fails to link large Linux kernel

2016-12-18 Thread npiggin at gmail dot com
https://sourceware.org/bugzilla/show_bug.cgi?id=20878

npiggin at gmail dot com changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution|--- |FIXED

--- Comment #7 from npiggin at gmail dot com ---
Fixed

-- 
You are receiving this mail because:
You are on the CC list for the bug.
___
bug-binutils mailing list
bug-binutils@gnu.org
https://lists.gnu.org/mailman/listinfo/bug-binutils


[Bug gold/20878] gold powerpc64 le linux fails to link large Linux kernel

2016-12-07 Thread npiggin at gmail dot com
https://sourceware.org/bugzilla/show_bug.cgi?id=20878

--- Comment #6 from npiggin at gmail dot com ---
This commit fixes the bug for me. Thank you.

-- 
You are receiving this mail because:
You are on the CC list for the bug.
___
bug-binutils mailing list
bug-binutils@gnu.org
https://lists.gnu.org/mailman/listinfo/bug-binutils


[Bug gold/20878] gold powerpc64 le linux fails to link large Linux kernel

2016-12-06 Thread cvs-commit at gcc dot gnu.org
https://sourceware.org/bugzilla/show_bug.cgi?id=20878

--- Comment #5 from cvs-commit at gcc dot gnu.org  ---
The master branch has been updated by Alan Modra :

https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=a5018ae555cdf491005907c03f997558ba15fc47

commit a5018ae555cdf491005907c03f997558ba15fc47
Author: Alan Modra 
Date:   Wed Dec 7 14:12:26 2016 +1030

[GOLD] powerpc64le-linux fails to link large Linux kernel

Gold attaches stubs to an existing section in contrast to ld.bfd which
inserts a new section for stubs.  If we want stubs before branches,
then the stubs must be added to the previous section.  Adding to the
previous section is a disaster if there is a large gap between the
previous section and the group.

PR gold/20878
* powerpc.cc (Stub_control): Replace stubs_always_before_branch_
with stubs_always_after_branch_, group_end_addr_ with
group_start_addr_.
(Stub_control::can_add_to_stub_group): Rewrite to suit scanning
sections by increasing address.
(Target_powerpc::group_sections): Scan that way.  Delete corner
case.
* options.h (--stub-group-size): Update help string.

-- 
You are receiving this mail because:
You are on the CC list for the bug.
___
bug-binutils mailing list
bug-binutils@gnu.org
https://lists.gnu.org/mailman/listinfo/bug-binutils


[Bug gold/20878] gold powerpc64 le linux fails to link large Linux kernel

2016-12-05 Thread amodra at gmail dot com
https://sourceware.org/bugzilla/show_bug.cgi?id=20878

Alan Modra  changed:

   What|Removed |Added

 Status|UNCONFIRMED |ASSIGNED
   Last reconfirmed||2016-12-06
   Assignee|ccoutant at gmail dot com  |amodra at gmail dot com
 Ever confirmed|0   |1

--- Comment #4 from Alan Modra  ---
This one is a real pain.  It's due to gold adding stubs at the end of a section
rather than as ld.bfd does, in a separate section inserted just before one of
the group sections.  I think I need to rewrite the powerpc.cc group_sections
code, throwing out --stub-group-size negative meaning that the stubs are always
before the branch and switch to --stub-group-size negative meaning that the
stubs are always *after* the branch.  The problem is that if we want stubs
before branches, then the stubs must be added to the previous section.  Adding
to the previous section is a disaster if there is a large gap between the
previous section and the group.  That's exactly what happens with the kernel:
stubs are attached to a .meminit.text input section (last in output .text) for
the group of .init.text and .exit.text sections.

-- 
You are receiving this mail because:
You are on the CC list for the bug.
___
bug-binutils mailing list
bug-binutils@gnu.org
https://lists.gnu.org/mailman/listinfo/bug-binutils


[Bug gold/20878] gold powerpc64 le linux fails to link large Linux kernel

2016-12-01 Thread npiggin at gmail dot com
https://sourceware.org/bugzilla/show_bug.cgi?id=20878

--- Comment #3 from npiggin at gmail dot com ---
The files are too large to attach here. I've uploaded to:

fs.ozlabs.ibm.com/~npiggin/binutils-pr20878.tar.xz

(IBM-internal, apologies to others)

You'll want to unpack that inside a new directory. Then within that directory
run:

ld -EL -m elf64lppc -Bstatic --build-id -X -o vmlinux -T
./arch/powerpc/kernel/vmlinux.lds --whole-archive built-in.o .tmp_kallsyms4.o

-- 
You are receiving this mail because:
You are on the CC list for the bug.
___
bug-binutils mailing list
bug-binutils@gnu.org
https://lists.gnu.org/mailman/listinfo/bug-binutils


[Bug gold/20878] gold powerpc64 le linux fails to link large Linux kernel

2016-11-30 Thread amodra at gmail dot com
https://sourceware.org/bugzilla/show_bug.cgi?id=20878

--- Comment #2 from Alan Modra  ---
Please attach the object files referenced by that linker command line.  My
attempts at a kernel "configured with all options" led to lots of errors
"relocation truncated to fit: R_PPC64_REL24 (stub)"
This with ld.bfd.

-- 
You are receiving this mail because:
You are on the CC list for the bug.
___
bug-binutils mailing list
bug-binutils@gnu.org
https://lists.gnu.org/mailman/listinfo/bug-binutils