Yonghong,
An update on this thread. I successfully reproduced this issue on a 8.2.0 gcc compiler, It looks like gcc 4.9 did not have this issue. I was also using clang which did not show this bug.
It seems having a DW_AT_specification that refers to another DW_TAG_variable isn't handled in pahole. I have a (maybe hacky) pahole patch as fix and let me clean it up and post for review soon.
Hao