[lto] PATCH: map/unmap LTO sections, + bug fixes

Mark Mitchell mark@codesourcery.com
Thu Sep 14 03:52:00 GMT 2006


Sandra Loosemore wrote:
> Here's the patch to implement the map/unmap functions for the LTO 
> information. I've also attempted to fix some bugs in the DIE readers for 
> parameters and subroutines, so that it can read a file containing the 
> identity function without croaking. 

Looks good.  Thanks for fixing my dumbnesses!

> ! const void *
> ! lto_elf_map_fn_body (lto_file *file,
> ! 		     const char *fn)
>   {
> !   /* Look in the ELF file to find the actual data, which should be
>        in the section named LTO_SECTION_NAME_PREFIX || "the function name".  */
> !   const char *name = concat (LTO_SECTION_NAME_PREFIX, fn, NULL);
> !   Elf_Data *data = lto_elf_find_section_data ((lto_elf_file *)file, name);
> ! 
> !   if (! data)
> !     return NULL;
> !   else
> !     return (const void *)(data->d_buf);
>   }

I think you have a memory leak here: "name" will be allocated with 
malloc, but you never free it.  I think you should call free before 
returning, independent of the value returned by lto_elf_find_section_data.

Thanks,

-- 
Mark Mitchell
CodeSourcery
mark@codesourcery.com
(650) 331-3385 x713



More information about the Gcc-patches mailing list