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: RISC-V: Relax RISCV_PCREL_* to RISCV_GPREL_*


On Tue, 10 Oct 2017 15:23:33 PDT (-0700), H.J. Lu wrote:
> On 10/10/17, Palmer Dabbelt <palmer@dabbelt.com> wrote:
>> I've had these two patches sitting in my tree for a few months.  I've been
>> slowly going though and testing all our out-of-tree patches and getting
>> them
>> upstream, with these two as the last major ones we have.  I was hoping to
>> go
>> convert all our relaxations over to using R_RISCV_DELETE, with the idea
>> being
>> that we could avoid the O(n^2) copying we do when relaxing, but it looks
>> like I
>> won't get time to do that for a while.
>>
>> Despite the patches not being quite done, they do seem to work correctly
>> (they're been on the branch we at SiFive make releases from for a while),
>> enable a new optimization, and generally don't seem to hurt -- essentially
>> they
>> just add some code that should be used to clean up a few more places.
>>
>> I'll commit these to master unless anyone has any objections or notices
>> anything I screwed up :).
>>
>> [PATCH 1/2] RISC-V: Add R_RISCV_DELETE, which marks bytes for
>> [PATCH 2/2] RISC-V: Relax RISCV_PCREL_* to RISCV_GPREL_*
>>
>
> For  riscv32-linux target, I see:
>
> FAIL: difference of two undefined symbols
> FAIL: align
> FAIL: .sleb128 tests (2)
> FAIL: .sleb128 tests (4)
> FAIL: .sleb128 tests (5)
> FAIL: .sleb128 tests (7)
> FAIL: relax .uleb128
> FAIL: Disabling section padding
> FAIL: DWARF2 10
> FAIL: lns-duplicate
> FAIL: lns-common-1
> FAIL: ld-elf/compressed1d
> FAIL: ld-elf/stab
> FAIL: ld-scripts/fill
> FAIL: ld-scripts/empty-address-2a
> FAIL: ld-scripts/empty-address-2b
> FAIL: PHDRS2
> FAIL: ld-scripts/size-1
>
> Please fix them.
>
> Thanks.

Oh, sorry about that -- it turns out we actually haven't been running the
binutils test suite (we just run the GCC test suite).  It's something we really
should be doing, it's just hard to find the time to actually get through these
things with all the other issues we keep finding :).  I've managed to get the
GAS test suite clean with these two tests, though the readelf one might be
no good.  Are those two OK for master?

I've added the binutils test suites to our toolchain regression test suite so
we shouldn't be adding any new test failures on any commits from now on.  I'll
keep pushing on the other test failures, but it might take a bit to get through
all of them.

Given that this doesn't add any new test failures, is it OK for master?

Thanks for pointing this out!

[PATCH 1/2] RISC-V: Fix readelf's R_RISCV_{ADD,SUB}{8,16,32,64}
[PATCH 2/2] RISC-V: Mark unsupported gas testcases


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