This is the mail archive of the
binutils@sourceware.org
mailing list for the binutils project.
Re: Patch: merge src and gcc copies of dwarf2.h
Tom Tromey <tromey@redhat.com> writes:
> 2009-06-29 Tom Tromey <tromey@redhat.com>
> * dwarf2.h: Remove.
> * Makefile.in (DWARF2_H): New variable.
> (except.o): Use it.
> (dwarf2out.o): Likewise.
> (dwarf2asm.o): Likewise.
> * config/i386/t-i386: Use DWARF2_H.
> * except.c: Include elf/dwarf2.h.
> * unwind-dw2.c: Include elf/dwarf2.h.
> * dwarf2out.c: Include elf/dwarf2.h.
> (dw_loc_descr_struct) <dw_loc_opc>: Now a bitfield.
> <dtprel>: New field.
> (dwarf_stack_op_name): Don't handle INTERNAL_DW_OP_tls_addr.
> (size_of_loc_descr): Likewise.
> (output_loc_operands_raw): Likewise.
> (output_loc_operands): Handle new dtprel field.
> (loc_checksum): Update.
> (loc_descriptor_from_tree_1) <VAR_DDECL>: Set dtprel field.
> * unwind-dw2-fde-glibc.c: Include elf/dwarf2.h.
> * unwind-dw2-fde.c: Include elf/dwarf2.h.
> * dwarf2asm.c: Include elf/dwarf2.h.
> * unwind-dw2-fde-darwin.c: Include elf/dwarf2.h.
> * config/mmix/mmix.c: Include elf/dwarf2.h.
> * config/rs6000/darwin-fallback.c: Include elf/dwarf2.h.
> * config/xtensa/unwind-dw2-xtensa.c: Include elf/dwarf2.h.
> * config/sh/sh.c: Include elf/dwarf2.h.
> * config/i386/i386.c: Include elf/dwarf2.h.
> 2009-06-29 Tom Tromey <tromey@redhat.com>
> * raise-gcc.c: Include elf/dwarf2.h.
> 2009-06-29 Tom Tromey <tromey@redhat.com>
> * elf/dwarf2.h: New file. Merged with gdb.
> @@ -7280,7 +7285,10 @@
> static inline void
> loc_checksum (dw_loc_descr_ref loc, struct md5_ctx *ctx)
> {
> - CHECKSUM (loc->dw_loc_opc);
> + int tem;
> +
> + tem = ((unsigned int) loc->dw_loc_opc << 1) | loc->dtprel;
> + CHECKSUM (tem);
This appears to change the checksum, which probably doesn't matter too
much, but since it can appear in a .o file it seems to me that we might
as well keep the same checksum, as in
tem = (loc->dtprel << 8) | ((unsigned int) loc->dw_loc_opc);
This patch is OK for gcc with that change.
Thanks.
Ian