2012-09-06 Cary Coutant <ccoutant@google.com>
gold/ * dwarf_reader.cc (Dwarf_die::read_attributes): Add DW_FORM_GNU_addr_index and DW_FORM_GNU_str_index. (Dwarf_die::skip_attributes): Likewise. * object.cc (Read_symbols_data::~Read_symbols_data): Update comment. * testsuite/gdb_index_test.cc (inline_func_1): New function. (main): Call it. * testsuite/gdb_index_test_comm.sh: Check index for inline function.
This commit is contained in:
parent
aae628c131
commit
d2d60eefc4
5 changed files with 28 additions and 1 deletions
|
@ -1,3 +1,13 @@
|
|||
2012-09-06 Cary Coutant <ccoutant@google.com>
|
||||
|
||||
* dwarf_reader.cc (Dwarf_die::read_attributes): Add
|
||||
DW_FORM_GNU_addr_index and DW_FORM_GNU_str_index.
|
||||
(Dwarf_die::skip_attributes): Likewise.
|
||||
* object.cc (Read_symbols_data::~Read_symbols_data): Update comment.
|
||||
* testsuite/gdb_index_test.cc (inline_func_1): New function.
|
||||
(main): Call it.
|
||||
* testsuite/gdb_index_test_comm.sh: Check index for inline function.
|
||||
|
||||
2012-09-05 H.J. Lu <hongjiu.lu@intel.com>
|
||||
|
||||
* testsuite/script_test_3.t: Add .got.plt output section
|
||||
|
|
|
@ -745,6 +745,8 @@ Dwarf_die::read_attributes()
|
|||
pattr += len;
|
||||
break;
|
||||
case elfcpp::DW_FORM_udata:
|
||||
case elfcpp::DW_FORM_GNU_addr_index:
|
||||
case elfcpp::DW_FORM_GNU_str_index:
|
||||
attr_value.val.uintval = read_unsigned_LEB_128(pattr, &len);
|
||||
pattr += len;
|
||||
break;
|
||||
|
@ -895,6 +897,8 @@ Dwarf_die::skip_attributes()
|
|||
break;
|
||||
case elfcpp::DW_FORM_ref_udata:
|
||||
case elfcpp::DW_FORM_udata:
|
||||
case elfcpp::DW_FORM_GNU_addr_index:
|
||||
case elfcpp::DW_FORM_GNU_str_index:
|
||||
read_unsigned_LEB_128(pattr, &len);
|
||||
pattr += len;
|
||||
break;
|
||||
|
|
|
@ -48,7 +48,8 @@ namespace gold
|
|||
|
||||
// Struct Read_symbols_data.
|
||||
|
||||
// Destroy any remaining File_view objects.
|
||||
// Destroy any remaining File_view objects and buffers of decompressed
|
||||
// sections.
|
||||
|
||||
Read_symbols_data::~Read_symbols_data()
|
||||
{
|
||||
|
|
|
@ -123,6 +123,16 @@ struct anonymous_union_container {
|
|||
|
||||
anonymous_union_container anonymous_union_var;
|
||||
|
||||
#ifdef __GNUC__
|
||||
#define ALWAYS_INLINE __attribute__((always_inline))
|
||||
#else
|
||||
#define ALWAYS_INLINE
|
||||
#endif
|
||||
|
||||
static inline ALWAYS_INLINE int
|
||||
inline_func_1(int i)
|
||||
{ return i * 17; }
|
||||
|
||||
int
|
||||
main()
|
||||
{
|
||||
|
@ -134,5 +144,6 @@ main()
|
|||
check(&two::c2v1);
|
||||
check(&two::c2v2);
|
||||
check(&two::c2v3);
|
||||
anonymous_union_var.u.b = inline_func_1(3) - 51;
|
||||
return anonymous_union_var.u.b;
|
||||
}
|
||||
|
|
|
@ -80,5 +80,6 @@ check $STDOUT "^\[ *[0-9]*\] two::c2<int>:"
|
|||
check $STDOUT "^\[ *[0-9]*\] two::c2v1:"
|
||||
check $STDOUT "^\[ *[0-9]*\] two::c2v2:"
|
||||
check $STDOUT "^\[ *[0-9]*\] anonymous_union_var:"
|
||||
check $STDOUT "^\[ *[0-9]*\] inline_func_1:"
|
||||
|
||||
exit 0
|
||||
|
|
Loading…
Reference in a new issue