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: Define __start/__stop symbols when there is only a dynamic def


On Mon, Jan 29, 2018 at 2:58 PM, Michael Matz <matz@suse.de> wrote:
> Hi,
>
> On Mon, 29 Jan 2018, H.J. Lu wrote:
>
>> > Yes, that's it.  (the associated lib.c needs to have a regular ref
>> > symbol to __start___symbol and that lib needs to have something else
>> > than "6" in its __verbose section, in order to test the exact
>> > situation of pacemaker). With the patch from Alan ./app will have
>> > __start___verbose in its symbol table, but not yet in the dynamic
>> > symbol table.  So with only Alans patch -E would be necessary.  With
>> > the addition of the bfd_elf_link_record_dynamic_symbol() call to
>> > bfd_elf_define_start_stop the above testcase will start working as is
>> > even without -E.
>>
>> I don't think Alan's patch nor yours are correct.  Here is mine with
>> your testcase.  OK for master?
>
> In which way is the combination not correct?  I.e. make a testcase that
> doesn't work with our stuff but with yours.
>
> (Note, in order for the semantics to be the same as before 2.29, these
> symbols must not be created if there's neither a ref_regular ref, nor a
> dynamic definition in any of the shared libs on the link cmdline).
>

I asked specially if the testcase is correct:

https://sourceware.org/ml/binutils/2018-01/msg00421.html

There is no reference to __start___verbose from executable nor
from dynamic object.

BTW, your patch:

https://sourceware.org/ml/binutils/2018-01/msg00416.html

may make .startof symbols dynamic.

-- 
H.J.


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