[PATCH v4] Add support for the readnever concept
Fri Dec 1 20:00:00 GMT 2017
On 12/01/2017 05:21 PM, Sergio Durigan Junior wrote:
> On Friday, December 01 2017, Tom Tromey wrote:
>>>>>>> "Pedro" == Pedro Alves <firstname.lastname@example.org> writes:
>> Pedro> On 12/01/2017 04:35 AM, Sergio Durigan Junior wrote:
>>>>> If readnever_symbol_files is set, then it'll have been propagated to
>> objfile-> flags before we get here, no?
>>>> Hm, I think so, yes. I mean, assuming that objfile != NULL when we call
>>>> the readers, then yes;
>> Pedro> Certainly you can assume that. A reader's job is to read
>> Pedro> in the passed in objfile. The very first line of elf_symfile_read
>> Pedro> would immediately crash otherwise, for example.
>> Perhaps an ATTRIBUTE_NONNULL is in order somewhere.
> I thought about a gdb_assert, actually. But yeah, I agree. I'll push
> what Pedro has approved, and if he's OK with it, I'll prepare a patch
> with a gdb_assert.
gdb_assert (objfile != NULL) sprinkled around in the readers would be
pointless IMO. It's not like there's any real risk that you'd
be sometimes passing a NULL pointer down to the readers in some
corner cases. That'd be pretty gross mistake. The objfile is kind of
like a "this" pointer here:
read_symbols (struct objfile *objfile, symfile_add_flags add_flags)
(*objfile->sf->sym_read) (objfile, add_flags);
(obviously the above crashes with a NULL objfile. And up the
call stack, there are many other places that'd crash first
before you even get here.)
More information about the Gdb-patches