This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [google/gcc-4_7] Fix ICEs with -gfission.


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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]