ld-elf/eh4: Pass -z max-page-size=0x200000 -z noseparate-code to ld
authorH.J. Lu <hjl.tools@gmail.com>
Sat, 17 Feb 2018 13:30:13 +0000 (05:30 -0800)
committerH.J. Lu <hjl.tools@gmail.com>
Sat, 17 Feb 2018 13:31:15 +0000 (05:31 -0800)
commit92d9e363b5ab7f96a2c8e6d3ae86cf8cc91dca9d
treee5f1f3ce9226927231f54b17bff894e9050df662
parent62a02d25b6e5d9f92c205260daa11355d0c62532
ld-elf/eh4: Pass -z max-page-size=0x200000 -z noseparate-code to ld

-z separate-code creates separate code LOAD segment, aligns it to the
maximum page size and places .plt section before .text section.  But
ld-elf/eh4 passes -Ttext 0x400 to linker to place .text section at
address 0x400, which is impossible for linker to accomplish:

$ ld -shared -Ttext 0x400 -z separate-code -o x.so eh4.o
ld: section .eh_frame LMA [0000000000200000,000000000020006b] overlaps section .plt LMA [0000000000200000,000000000020001f]

Since ld-elf/eh4 also checks exact addresses, this patch passes
-z max-page-size=0x200000 -z noseparate-code to ld.

PR ld/22845
* ld-elf/eh4.d: Pass -z max-page-size=0x200000 -z noseparate-code
to ld.
ld/ChangeLog
ld/testsuite/ld-elf/eh4.d