This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [google/gcc-4_7] Fix ICEs with -gfission.
- From: Sterling Augustine <saugustine at google dot com>
- To: Cary Coutant <ccoutant at google dot com>
- Cc: gcc-patches at gcc dot gnu dot org
- Date: Mon, 20 Aug 2012 17:31:09 -0700
- Subject: Re: [google/gcc-4_7] Fix ICEs with -gfission.
- References: <20120821003032.CFE91E0433@ccoutant.mtv.corp.google.com>
On Mon, Aug 20, 2012 at 5:30 PM, Cary Coutant <ccoutant@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 <ccoutant@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