+2009-09-11 Doug Evans <dje@google.com>
+
+ * objfiles.c (struct objfile_data): Delete member cleanup and replace
+ with save, free.
+ (register_objfile_data_with_cleanup): Delete arg cleanup and replace
+ with save, free. All callers updated.
+ (clear_objfile_data): Replace cleanup loop with separate save and
+ free loops.
+ * objfiles.h (register_objfile_data_with_cleanup): Update.
+ * arm-tdep.c (arm_objfile_data_free): Renamed from
+ arm_objfile_data_cleanup, all callers updated.
+ * dwarf2read.c (dwarf2_per_objfile_free): Renamed from
+ dwarf2_per_objfile_cleanup, all callers updated.
+ * python/py-objfile.c (py_free_objfile): Renamed from clean_up_objfile,
+ all callers updated.
+ * python/py-type.c (save_objfile_types): Renamed from
+ clean_up_objfile_types, all callers updated.
+
+2009-09-11 Tom Tromey <tromey@redhat.com>
+
+ * dwarf2loc.c (struct piece_closure) <arch>: New field.
+ (dwarf2_evaluate_loc_desc): Update.
+ (dwarf2_loc_desc_needs_frame): Likewise.
+ (allocate_piece_closure): Initialize new field.
+ (read_pieced_value): Update.
+ (write_pieced_value): Update.
+ (copy_pieced_value_closure): Update.
+ * dwarf2expr.h (enum dwarf_value_location): New.
+ (struct dwarf_expr_context) <in_reg>: Remove.
+ <location, len, data>: New fields.
+ (struct dwarf_expr_piece) <in_reg, value>: Remove.
+ <location, v>: New fields.
+ * dwarf2expr.c (add_piece): Remove in_reg, value arguments.
+ Update.
+ (require_composition): New function.
+ (execute_stack_op): Update.
+ <DW_OP_implicit_value, DW_OP_stack_value>: New cases.
+ <DW_OP_reg0>: Set location, not in_reg.
+ <DW_OP_regx>: Likewise. Use require_composition.
+ <DW_OP_fbreg>: Update.
+ <DW_OP_piece>: Likewise.
+ * dwarf2-frame.c (execute_stack_op): Update.
+
2009-09-10 Anthony Green <green@moxielogic.com>
* moxie-tdep.c (moxie_analyze_prologue): Recognize new prologue