[PATCHv4][BZ #17833] _dl_close_worker() does not release inconsistent objects.

Pavel Kopyl p.kopyl@samsung.com
Wed May 13 11:40:00 GMT 2015



On 04/24/2015 02:47 PM, H.J. Lu wrote:
> On Fri, Apr 24, 2015 at 3:33 AM, Pavel Kopyl <p.kopyl@samsung.com> wrote:
>>
>> On 03/03/2015 12:13 PM, Pavel Kopyl wrote:
>>>
>>> On 03/01/2015 10:17 PM, Mike Frysinger wrote:
>>>> On 27 Feb 2015 16:32, Pavel Kopyl wrote:
>>>>> --- /dev/null
>>>>> +++ b/elf/tst-unique5lib.cc
>>>>> @@ -0,0 +1,13 @@
>>>>> +
>>>> i know existing tests are bad examples, but lets try and start fixing
>>>> that.
>>>> namely, there should be a header here giving a quick overview of what it
>>>> is
>>>> exactly you're testing for, and a BZ reference.
>>>>
>>>>> +extern int not_exist ();
>>>>> +
>>>>> +inline int make_unique ()
>>>>> +{
>>>>> +  static int unique;
>>>>> +  return ++unique;
>>>>> +}
>>>>> +
>>>>> +int foo ()
>>>>> +{
>>>>> +  return make_unique () + not_exist ();
>>>>> +}
>>>> i don't know if this is just copy & pasting, but prototypes that do not
>>>> intend
>>>> to take args should always be (void).
>>>> -mike
>>>
>>> Thanks for review, I fixed that in patch v3.
>> Ping.
>>
> Some comments:
>
> 1. The bug report is against STB_GNU_UNIQUE.  But I don't see STB_GNU_UNIQUE in
> testcase.  I can't tell if the original STB_GNU_UNIQUE bug is fixed.
> 2. Your testcase ignores dlopen error.  Why should it work at all?
> 3. Your testcase doesn't use test-skeleton.c.
>

Thanks for review!

1. I added some comments in testcase to be more clear.

2. Actually the call below is expected to return NULL because of 
undefined symbol in the library.

dlopen ("$ORIGIN/tst-unique5lib.so", RTLD_NOW);

It's a goal of this testcase: I need some library with STB_GNU_UNIQUE 
symbols that returns error when trying to load it.
In new patch version I especially point out to this fact by checking 
return value.

3. It seems for me that template of the test-skeleton.c is not 
appropriate because this testcase has two related binary -  library and 
executable.


-Pavel




-------------- next part --------------
A non-text attachment was scrubbed...
Name: delete_inconsistent_objs_v4.patch
Type: text/x-patch
Size: 6494 bytes
Desc: not available
URL: <http://sourceware.org/pipermail/libc-alpha/attachments/20150513/a73ceb12/attachment.bin>


More information about the Libc-alpha mailing list