i386: Accept both .plt.got and .plt.sec sections
authorH.J. Lu <hjl.tools@gmail.com>
Mon, 12 Nov 2018 17:29:49 +0000 (09:29 -0800)
committerH.J. Lu <hjl.tools@gmail.com>
Mon, 12 Nov 2018 17:29:49 +0000 (09:29 -0800)
commitf77984e974c13d54a5c6a1e5d443c0c4564e48e8
treeaf9ed8d09f7ac11951b4ebf101296bd1f4d0f9d3
parent53a89d6e5861d23b2b9ad0c82247daddc117701a
i386: Accept both .plt.got and .plt.sec sections

Glibc commit:

commit a15529fda8d132621328c3fe32997a3d9c55aef4
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Mon May 14 09:23:55 2018 -0700

    i386: Replace PREINIT_FUNCTION@PLT with *%eax in call

    Since we have loaded address of PREINIT_FUNCTION into %eax, we can
    avoid extra branch to PLT slot.

changed __gmon_start__ relocations in crt1.o from

00000015  0000092b R_386_GOT32X           00000000   __gmon_start__
0000001e  00000904 R_386_PLT32            00000000   __gmon_start__

to

00000015  00000a2b R_386_GOT32X           00000000   __gmon_start__

As the result, .plt.sec section may be generated instead of .plt.got
section, depending on __gmon_start__ relocations.

* testsuite/ld-i386/plt-main-ibt.dd: Accept both .plt.got and
.plt.sec sections.
ld/ChangeLog
ld/testsuite/ld-i386/plt-main-ibt.dd