[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Bug gold/20522] linking powerpc64le Linux kernel with --emit-relocs cau
From: |
amodra at gmail dot com |
Subject: |
[Bug gold/20522] linking powerpc64le Linux kernel with --emit-relocs causes internal error in set_info_section, at output.h:3386 |
Date: |
Mon, 29 Aug 2016 02:29:11 +0000 |
https://sourceware.org/bugzilla/show_bug.cgi?id=20522
Alan Modra <amodra at gmail dot com> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|UNCONFIRMED |NEW
Last reconfirmed| |2016-08-29
CC| |amodra at gmail dot com
Ever confirmed|0 |1
--- Comment #1 from Alan Modra <amodra at gmail dot com> ---
I think what is going on here is that with both -pie -and --emit-relocs we have
dynamic relocs *and* the non-alloc relocation sections that are adjusted copies
of the input relocations.
The linux kernel script contains the following
.rela.dyn : AT(ADDR(.rela.dyn) - (0xc000000000000000 -0x00000000))
{
__rela_dyn_start = .;
*(.rela*)
}
I think gold is attempting to mash together the dynamic relocs and the copies
of input relocations, which is just plain wrong. GNU ld ignores the script
above for the non-alloc relocation sections..
Incidentally, changing the kernel script "*(.rela*)" to "*(.rela.dyn)" avoids
the problem. The changed script works with GNU ld too, except when -z
nocombreloc is in effect.
--
You are receiving this mail because:
You are on the CC list for the bug.