This is the mail archive of the binutils@sourceware.org mailing list for the binutils project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: RFA: ELF: Call check_relocs after opening all inputs


On 10/9/17, Alan Modra <amodra@gmail.com> wrote:
> On Mon, Oct 09, 2017 at 06:57:19PM -0700, H.J. Lu wrote:
>> On 10/9/17, H.J. Lu <hjl.tools@gmail.com> wrote:
>> > On 10/9/17, Alan Modra <amodra@gmail.com> wrote:
>> >> On Mon, Oct 09, 2017 at 05:17:39AM -0700, H.J. Lu wrote:
>> >>> On 10/9/17, Alan Modra <amodra@gmail.com> wrote:
>> >>> > powerpc64-linux  +FAIL: PR ld/13195
>> >>> > powerpc64-linux  +FAIL: Build rdynamic-1
>> >>> > powerpc64-linux  +FAIL: Build dynamic-1
>> >>>
>> >>> How can I reproduce it on x86? powerpc64-linux is clean on
>> >>> users/hjl/check_relocs branch.
>> >>
>> >> You would need a powerpc64-linux cross-compiler installed since the
>> >> testcases are in C.  Don't worry about it.  I'll fix the powerpc64
>> >> --gc-sections problem, which is that gc_mark_hook uses opd->func_sec
>> >> to look through .opd relocs but opd->func_sec is set up by
>> >> check_relocs.
>> >
>> > I updated users/hjl/check_relocs branch to call check_relocs after
>> > opening
>> > all inputs.  Also garbage collection doesn't need to undo what
>> > check_relocs
>> > has done for symbols which have been garbage collected.    Since ELF
>> > targets never see the removed sections, there is no need for
>> > gc_sweep_hook.
>> > I removed gc_sweep_hook from elf_backend_data.
>> >
>> > There are no regressions on all ELF targets I tested.
>> >
>> > Please test this branch on your favorite native targets and let me know
>> > if you run into any regressions.
>> >
>>
>> FYI,
>>
>> Tested natively without regressions on i686, x86-64 and x32.  Tested
>> cross binutils on x86-64 without regressions for aarch64-linux,
>> alpha-linux, arm-linux, bfin-elf, cr16-elf, cris-elf, crx-elf, frv-linux,
>> hppa64-linux, hppa-linux, ia64-linux, lm32-elf, m32r-elf, m68k-linux,
>> mcore-elf, metag-elf, microblaze-linux, mips-linux, mmix, mn10300-elf,
>> nds32le-linux, nios2-linux, or1k-elf, powerpc64-linux, powerpc-linux,
>> riscv32-linux, riscv64-linux, s390-linux, s390x-linux, score-elf,
>> sh3-linux, sparc64-linux, sparc-linux, tic6x-elf, tilegx-linux,
>> tilepro-linux, vax-linux, x86_64-mingw32 and xtensa-linux.
>
>
> On an x86_64-linux to arm-linuxeabi cross build I see these:
> FAIL: Default group size
> FAIL: Group size=2
> FAIL: Cortex-A8 erratum fix, relocate bl.w and far call
>
> They look to be all due to hash traversals changing with different
> symbol table contents, so really a testsuite problem.
>
> Other than that, your branch looks good after I apply the ppc64 fixes.
> Give people a week to do some native testing then commit it.
>

Sure.

BTW, I rebased users/hjl/check_relocs branch to include your ppc64 fixes.

Thanks.

-- 
H.J.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]