diff --git a/elfcpp/ChangeLog b/elfcpp/ChangeLog index e2de091830..d4380aedd5 100644 --- a/elfcpp/ChangeLog +++ b/elfcpp/ChangeLog @@ -1,3 +1,7 @@ +2011-07-01 Ian Lance Taylor + + * dwarf.h (enum DW_CFA): Define. + 2010-08-12 Cary Coutant * elfcpp.h (enum SHT): Add SHT_GNU_INCREMENTAL_GOT_PLT. diff --git a/elfcpp/dwarf.h b/elfcpp/dwarf.h index c6ff402719..d599c9750b 100644 --- a/elfcpp/dwarf.h +++ b/elfcpp/dwarf.h @@ -1,6 +1,6 @@ // dwarf.h -- DWARF2 constants -*- C++ -*- -// Copyright 2006, 2007, Free Software Foundation, Inc. +// Copyright 2006, 2007, 2008, 2011 Free Software Foundation, Inc. // Written by Ian Lance Taylor . // This file is part of elfcpp. @@ -403,6 +403,52 @@ enum DW_OP DW_OP_GNU_push_tls_address =0xe0 }; +// Call frame information. + +enum DW_CFA +{ + DW_CFA_advance_loc = 0x40, + DW_CFA_offset = 0x80, + DW_CFA_restore = 0xc0, + + DW_CFA_nop = 0x00, + DW_CFA_set_loc = 0x01, + DW_CFA_advance_loc1 = 0x02, + DW_CFA_advance_loc2 = 0x03, + DW_CFA_advance_loc4 = 0x04, + DW_CFA_offset_extended = 0x05, + DW_CFA_restore_extended = 0x06, + DW_CFA_undefined = 0x07, + DW_CFA_same_value = 0x08, + DW_CFA_register = 0x09, + DW_CFA_remember_state = 0x0a, + DW_CFA_restore_state = 0x0b, + DW_CFA_def_cfa = 0x0c, + DW_CFA_def_cfa_register = 0x0d, + DW_CFA_def_cfa_offset = 0x0e, + + // DWARF 3. + DW_CFA_def_cfa_expression = 0x0f, + DW_CFA_expression = 0x10, + DW_CFA_offset_extended_sf = 0x11, + DW_CFA_def_cfa_sf = 0x12, + DW_CFA_def_cfa_offset_sf = 0x13, + DW_CFA_val_offset = 0x14, + DW_CFA_val_offset_sf = 0x15, + DW_CFA_val_expression = 0x16, + + DW_CFA_lo_user = 0x1c, + DW_CFA_hi_user = 0x3f, + + // SGI/MIPS specific. + DW_CFA_MIPS_advance_loc8 = 0x1d, + + // GNU extensions. + DW_CFA_GNU_window_save = 0x2d, + DW_CFA_GNU_args_size = 0x2e, + DW_CFA_GNU_negative_offset_extended = 0x2f +}; + } // End namespace elfcpp. #endif // !defined(ELFCPP_DWARF_H)