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: [PATCH 3/5] remove deleted BFDs from the archive cache


On Thu, Aug 16, 2012 at 10:45 PM, H.J. Lu <hjl.tools@gmail.com> wrote:
> On Thu, Aug 16, 2012 at 10:42 PM, H.J. Lu <hjl.tools@gmail.com> wrote:
>> On Thu, Aug 16, 2012 at 10:30 PM, H.J. Lu <hjl.tools@gmail.com> wrote:
>>> On Thu, Aug 16, 2012 at 10:28 PM, H.J. Lu <hjl.tools@gmail.com> wrote:
>>>> On Thu, Aug 16, 2012 at 10:04 PM, H.J. Lu <hjl.tools@gmail.com> wrote:
>>>>> On Thu, Aug 16, 2012 at 8:53 PM, Hans-Peter Nilsson
>>>>> <hans-peter.nilsson@axis.com> wrote:
>>>>>> (Just replying to the last message in the thread)
>>>>>>
>>>>>>> xcalloc shouldn't be called from within bfd.  I've already committed a
>>>>>>> kneejerk patch to revert Tom's last change, instead using bfd_zmalloc
>>>>>>> here.  Tom said he'd look into fixing the leak this causes, so I'm
>>>>>>> happy to leave that to him.  :)
>>>>>>
>>>>>> The last I see is (2012-08-17-02:39:34 UTC)
>>>>>>
>>>>>> bfd:
>>>>>> 2012-08-17  Yuri Chornoivan  <yurchor@ukr.net>
>>>>>>
>>>>>>         * elf-bfd.h, * elf32-ppc.c, * elf64-ia64-vms.c, * elfnn-ia64.c,
>>>>>>         * elfxx-mips.c, * vms-alpha.c: Typo fixes.
>>>>>>
>>>>>> 2012-08-17  Alan Modra  <amodra@gmail.com>
>>>>>>
>>>>>>         PR binutils/14475:
>>>>>>         * archive.c (bfd_ar_hdr_from_filesystem): Revert last change.
>>>>>>         Instead malloc areltdata.
>>>>>>
>>>>>> binutils:
>>>>>> 2012-08-17  Yuri Chornoivan  <yurchor@ukr.net>
>>>>>>
>>>>>>         * doc/binutils.texi, * objdump.c, * od-xcoff.c: Typo fixes.
>>>>>>
>>>>>> 2012-08-16  H.J. Lu  <hongjiu.lu@intel.com>
>>>>>>
>>>>>>         PR binutils/14481
>>>>>>         * Makefile.am (BFDTEST1_PROG): New.
>>>>>>         (TEST_PROGS): Likewise.
>>>>>>         (bfdtest1_DEPENDENCIES): Likewise.
>>>>>>         (noinst_PROGRAMS): Add $(TEST_PROGS).
>>>>>>         * Makefile.in: Regenerated.
>>>>>>
>>>>>>         * bfdtest1.c: New file.
>>>>>>
>>>>>> With this I still see FAILS for cris-elf and cris-linux-gnu (but
>>>>>> not for arm-unknown-eabi, mipsisa32r2el-unknown-linux-gnu,
>>>>>> mmix-knuth-mmixware):
>>>>
>>>> This should be a clue.
>>>>
>>>>>> Running /tmp/hpautotest-binutils/bsrc/src/binutils/testsuite/binutils-all/ar.exp ...
>>>>>> FAIL: ar long file names (bfdtest1)
>>>>>> FAIL: ar thin archive (bfdtest1)
>>>>
>>>> This fixes it.
>>>>
>>>>
>>
>>>>  /* a.out link code.  */
>>>
>>> Patch is wrong.
>>>
>>
>> Here is the correct patch.
>>
>> --
>> H.J.
>> --
>> diff --git a/bfd/aout-target.h b/bfd/aout-target.h
>> index f6e8bd2..b0edb17 100644
>> --- a/bfd/aout-target.h
>> +++ b/bfd/aout-target.h
>> @@ -577,7 +577,7 @@ MY_bfd_final_link (bfd *abfd, struct bfd_link_info *info)
>>  #endif
>>
>>  #ifndef MY_close_and_cleanup
>> -#define MY_close_and_cleanup MY_bfd_free_cached_info
>> +#define MY_close_and_cleanup _bfd_generic_close_and_cleanup
>>  #endif
>>
>>  #ifndef MY_get_dynamic_symtab_upper_bound
>
> More potential problems:
>
> aout-adobe.c:#define aout_32_close_and_cleanup
> aout_32_bfd_free_cached_info
> aout-tic30.c:#define MY_close_and_cleanup MY_bfd_free_cached_info
> bout.c:#define aout_32_close_and_cleanup
> aout_32_bfd_free_cached_info
> coff-sh.c:#define coff_small_close_and_cleanup \
> elf64-aarch64.c:#define bfd_elf64_close_and_cleanup             \
> elf64-ia64-vms.c:#define bfd_elf64_close_and_cleanup elf64_vms_close_and_cleanup
> elfxx-target.h:#define  bfd_elfNN_close_and_cleanup _bfd_elf_close_and_cleanup
> i386os9k.c:#define aout_32_close_and_cleanup aout_32_bfd_free_cached_info
> som.c:#define   som_close_and_cleanup                   som_bfd_free_cached_info
> vms-alpha.c:#define alpha_vms_close_and_cleanup    vms_close_and_cleanup
>
> We need to make sure that all of them call  _bfd_generic_close_and_cleanup
> at the end.
>

I took a closer look.  My change may not be correct.
I reopened:

http://sourceware.org/bugzilla/show_bug.cgi?id=14481

I will leave it to target maintainers.


-- 
H.J.


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