[PATCH] i386: Accept both .plt.got and .plt.sec sections

H.J. Lu hjl.tools@gmail.com
Mon Nov 12 17:34:00 GMT 2018


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                         | 5 +++++
 ld/testsuite/ld-i386/plt-main-ibt.dd | 2 +-
 2 files changed, 6 insertions(+), 1 deletion(-)

diff --git a/ld/ChangeLog b/ld/ChangeLog
index 510e333756..803662ffdb 100644
--- a/ld/ChangeLog
+++ b/ld/ChangeLog
@@ -1,3 +1,8 @@
+2018-11-12  H.J. Lu  <hongjiu.lu@intel.com>
+
+	* testsuite/ld-i386/plt-main-ibt.dd: Accept both .plt.got and
+	.plt.sec sections.
+
 2018-11-12  Nick Clifton  <nickc@redhat.com>
 
 	PR 10865
diff --git a/ld/testsuite/ld-i386/plt-main-ibt.dd b/ld/testsuite/ld-i386/plt-main-ibt.dd
index 18240a26f0..6a1d4bf979 100644
--- a/ld/testsuite/ld-i386/plt-main-ibt.dd
+++ b/ld/testsuite/ld-i386/plt-main-ibt.dd
@@ -1,5 +1,5 @@
 #...
-Disassembly of section .plt.got:
+Disassembly of section .plt.(sec|got):
 
 [a-f0-9]+ <[_a-z]+@plt>:
 [ 	]*[a-f0-9]+:	f3 0f 1e fb          	endbr32 
-- 
2.19.1



More information about the Binutils mailing list