if attr.form in ('DW_FORM_data1', 'DW_FORM_data2',
'DW_FORM_data4', 'DW_FORM_data8'):
return '' # No extra description needed
+ elif attr.form == 'DW_FORM_sdata':
+ return str(attr.value)
else:
return describe_DWARF_expr(attr.value, die.cu.structs)
--- /dev/null
+/* Generated by compiling with gcc 4.4 (or higher?) as follows:\r
+**\r
+** gcc -g -o hello.out hello.c\r
+**\r
+** To run the test that shows the error, do a readelf dump:\r
+** readelf.py --debug-dump=info hello.out\r
+** \r
+** When using an unmodified descriptions.py, you will get a \r
+** python exception when it tries to read the 'ijk' element \r
+** from the elf file. My new version of descriptions.py fixes \r
+** this problem.\r
+*/\r
+\r
+#include <stdio.h>\r
+\r
+struct def\r
+{\r
+ int ijk;\r
+ char c;\r
+ long long lint;\r
+ float mno;\r
+ int bit1 : 1;\r
+ int bit3 : 3;\r
+ int bit2 : 2;\r
+ int bit4 : 4;\r
+//};\r
+}__attribute__((__packed__));\r
+\r
+const int GLOBAL_CONST;\r
+\r
+int tryGlobal;\r
+struct def hiLo;\r
+\r
+int main()\r
+{\r
+ int abc;\r
+ printf("Hello World\n");\r
+ return 0;\r
+}\r
+\r