On 10/5/2015 9:56 PM, David Gibson wrote: > On Fri, Oct 02, 2015 at 09:52:48PM -0700, Frank Rowand wrote: >> From: Frank Rowand <frank.rowand@xxxxxxxxxxxxxx> >> >> Proof of concept patch. >> >> Annotates input source file and line number of nodes and properties >> as comments in output .dts file when --annotate flag is supplied. < snip > >> Index: b/srcpos.c >> =================================================================== >> --- a/srcpos.c >> +++ b/srcpos.c >> @@ -246,6 +246,41 @@ srcpos_copy(struct srcpos *pos) >> return pos_new; >> } >> >> +struct srcpos * >> +srcpos_copy_all(struct srcpos *pos) >> +{ >> + struct srcpos *pos_new; >> + struct srcfile_state *srcfile_state; >> + >> + if (!pos) >> + return NULL; >> + >> + pos_new = srcpos_copy(pos); >> + >> + if (pos_new) { >> + /* allocate without free */ >> + srcfile_state = xmalloc(sizeof(struct srcfile_state)); >> + memcpy(srcfile_state, pos->file, sizeof(struct srcfile_state)); >> + >> + pos_new->file = srcfile_state; >> + } >> + >> + return pos_new; >> +} > > You still don't need this function. srcfile_states have unlimited > lifetime. My observation about this is buried in a late reply to v5, so copying here: If I don't allocate a new copy of pos->file, then the file names are incorrect. I'm not sure why. I can dig into this deeper to try to understand what is going on if you want me to. It sounds like I do need to debug this. -Frank -- To unsubscribe from this list: send the line "unsubscribe devicetree-compiler" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html