On Mon, Aug 20, 2012 at 5:30 PM, Cary Coutant <ccout...@google.com> wrote: > This patch is for the google/gcc-4_7 branch. > > When a location list or location expression is removed from a DIE, we > need to remove entries in the .debug_addr table that were referenced > by those location expressions. Except for one case, the existing code > checked only the first descriptor in each location expression instead > of looping through all the descriptors. In cases where we don't > remove the .debug_addr table entries, an ICE occurs during assembly > output. > > This patch also fixes an ICE in output_pubname with -ggnu-pubnames, > where we are asserting on TAGs that GDB doesn't care about. Instead > of asserting, we should just be setting the flags to 0. > > > 2012-08-20 Cary Coutant <ccout...@google.com> > > gcc/ > * dwarf2out.c (remove_loc_list_addr_table_entries): Change > parameter; update all calls. > (output_pubname): Don't assert on unknown TAGs. > (resolve_addr): Call remove_loc_list_addr_table_entries for all > location expressions.
OK for google 4.7. Sterling