return 0;
 }
 
-/* Get attribute and translate it as a sdata */
-static int die_get_attr_sdata(Dwarf_Die *tp_die, unsigned int attr_name,
-                             Dwarf_Sword *result)
-{
-       Dwarf_Attribute attr;
-
-       if (dwarf_attr_integrate(tp_die, attr_name, &attr) == NULL ||
-           dwarf_formsdata(&attr, result) != 0)
-               return -ENOENT;
-
-       return 0;
-}
-
 /**
  * die_is_signed_type - Check whether a type DIE is signed or not
  * @tp_die: a DIE of a type
 /* Get the call file index number in CU DIE */
 static int die_get_call_fileno(Dwarf_Die *in_die)
 {
-       Dwarf_Sword idx;
+       Dwarf_Word idx;
 
-       if (die_get_attr_sdata(in_die, DW_AT_call_file, &idx) == 0)
+       if (die_get_attr_udata(in_die, DW_AT_call_file, &idx) == 0)
                return (int)idx;
        else
                return -ENOENT;
 /* Get the declared file index number in CU DIE */
 static int die_get_decl_fileno(Dwarf_Die *pdie)
 {
-       Dwarf_Sword idx;
+       Dwarf_Word idx;
 
-       if (die_get_attr_sdata(pdie, DW_AT_decl_file, &idx) == 0)
+       if (die_get_attr_udata(pdie, DW_AT_decl_file, &idx) == 0)
                return (int)idx;
        else
                return -ENOENT;