bug-binutils
[Top][All Lists]
Advanced

[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.


reply via email to

[Prev in Thread] Current Thread [Next in Thread]