This is the mail archive of the gdb-patches@sourceware.org mailing list for the GDB 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 07/40] objfile_per_bfd_storage non-POD


On 06/27/2017 01:00 PM, Yao Qi wrote:
> Pedro Alves <palves@redhat.com> writes:
> 
>> A following patch will want to add a std::vector to
>> objfile_per_bfd_storage.  That makes it non-trivially
>> constructible/destructible.  Since objfile_per_bfd_storage objects are
>> allocated on an obstack, we need to call their ctors/dtors manually.
>> This is what this patch does.  And then since we can now rely on
>> ctors/dtors being run, make objfile_per_bfd_storage::storage_obstack
>> be an auto_obstack.
> 
> It is good trick to class-fy some structures which are allocated on
> obstack.
> 
>>
>> gdb/ChangeLog:
>> yyyy-mm-dd  Pedro Alves  <palves@redhat.com>
>>
>> 	* objfiles.c (get_objfile_bfd_data): Call bfd_alloc instead of
>> 	bfd_zalloc.  Call objfile_per_bfd_storage's ctor.
>> 	(free_objfile_per_bfd_storage): Call objfile_per_bfd_storage's
>> 	dtor.
>> 	* objfiles.h (objfile_per_bfd_storage): Add ctor.  Make
>> 	'storage_obstack' field an auto_obstack.  In-class initialize all
>> 	non-bitfield fields.  Make minsyms_read bool.
>> 	* symfile.c (read_symbols): Adjust.
> 
> Patch is good to me.
> 

Thanks, pushed it in.

Thanks,
Pedro Alves


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