This is the mail archive of the
gcc-cvs@gcc.gnu.org
mailing list for the GCC project.
r190553 - in /branches/google/gcc-4_7/gcc: Chan...
- From: ccoutant at gcc dot gnu dot org
- To: gcc-cvs at gcc dot gnu dot org
- Date: Tue, 21 Aug 2012 00:52:42 -0000
- Subject: r190553 - in /branches/google/gcc-4_7/gcc: Chan...
Author: ccoutant
Date: Tue Aug 21 00:52:41 2012
New Revision: 190553
URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=190553
Log:
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.
Modified:
branches/google/gcc-4_7/gcc/ChangeLog.google-4_7
branches/google/gcc-4_7/gcc/dwarf2out.c