This is the mail archive of the
binutils@sourceware.org
mailing list for the binutils project.
Re: linker plugin api limitation
- From: Evgenii Stepanov <eugeni dot stepanov at gmail dot com>
- To: Rafael EspÃndola <rafael dot espindola at gmail dot com>
- Cc: Cary Coutant <ccoutant at gmail dot com>, "H.J. Lu" <hjl dot tools at gmail dot com>, Binutils <binutils at sourceware dot org>
- Date: Tue, 1 Mar 2016 18:27:20 -0800
- Subject: Re: linker plugin api limitation
- Authentication-results: sourceware.org; auth=none
- References: <CAG3jReJDT2ZDNRh-cYSSBG76FnrReQWbgFgfsA_gvLdb5zmEEw at mail dot gmail dot com> <CAMe9rOqQnyagQ=4BdfkNgPiAzc9X4B0=BNibChyhJfd3osCcmw at mail dot gmail dot com> <CAG3jRe+BBQ-oSU9gu8h26jWZYh1ET03cAunVxsFyUomyC8XJZA at mail dot gmail dot com> <CAMe9rOoRMbnbn+WQ2OYfFDOjqedOQb7z0kcPLpGOAn8RZd01cQ at mail dot gmail dot com> <CAG3jReL4_b=1QUVbtbFsD3A=MmXUB0ia=0NAmA+Vfs_8R4PBrA at mail dot gmail dot com> <CAMe9rOrrp7mxdQV+SEfpxTOMQmREg2HYY9S9H=Z4c8QX0JE6bw at mail dot gmail dot com> <CAG3jReJqFPpUZa-crehm-r2MEnw_ogMjbVVrOhe0jSruGDhXsg at mail dot gmail dot com> <CABMLtrhEQ824a-R02oO0GY+t6LHn65bokqHggCsGaY03eFMR2A at mail dot gmail dot com> <CAMe9rOoqnpXmviqZ-rfUUc0FxwGB5=Rodyc0Pq4HQ3-CQy2WDg at mail dot gmail dot com> <CAG3jReJRXr1K=i9DvUO+JH-27xa=aNObUQaq3DNshUk+r2Zyew at mail dot gmail dot com> <CAMe9rOpLaGp=3fBxKiCxmnXBqvzNszz1VThbTm3m7tG+X6rPuQ at mail dot gmail dot com> <CAG3jReLJpvLnVnr-LLt=d+i34_-9ogt7HoBo=agEimYc7TcpbA at mail dot gmail dot com> <CAJimCsFcSBUuV9ncF9RQ02E_cv_-4=fjmFA1sSDxN2ZT6s_Ytw at mail dot gmail dot com> <CAG3jRe+DwrBQ5EKKqAVK-G2EuPjgMb7OVrqY-tr_d2-vBkd+_g at mail dot gmail dot com>
I've sent the fix (get_symbols() returning LDPS_NO_SYMS) to the ML
recently, but it looks like this is only part of the problem.
I've filed https://llvm.org/bugs/show_bug.cgi?id=26807 with a test
case for a similar problem where gold incorrectly decides to include
an input file in the link (and fails even before the first
get_symbols() call). I'm not sure what's going on at this point.
On Tue, Feb 23, 2016 at 5:35 AM, Rafael EspÃndola
<rafael.espindola@gmail.com> wrote:
>> I think I'd prefer to have get_input_file() return a new status code
>> (or maybe LDPS_NO_SYMS). But I don't think that interface is used in
>> the LTO plugin, and I can see not wanting to call get_input_file() and
>> release_input_file() in cases where the plugin didn't have to call it
>> before.
>
> It is used (at least on the llvm side) to get the filesize and name
> fields, so yes, having it return LDPS_NO_SYMS or a new code should
> work.
>
>> So I'd be OK with adding either a new status return for get_symbols()
>> or a new symbol resolution value to replace LDPR_PREEMPTED_REG for
>> this case. Either one will warrant a "V3".
>>
>> I guess I'd lean towards having get_symbols() just return LDPS_NO_SYMS
>> for this case.
>
> Cheers,
> Rafael