I am having problems with the CTF conversion for code like this:
------
typedef int (*functype_t)(int);
functype_t woof;
int meow(int arg)
{
return (arg);
}
int main()
{
int ret;
woof = meow;
ret = (*woof)(1);
return (ret);
}
-----
On FreeBSD, we are using gcc 4.2.1 which outputs dwarf for the first line:
- DW_TAG_typedef
- DW_TAG_pointer_type
- DW_TAG_subroutine_type DW_TAG_formal_parameter
- DW_TAG_base_type
The error I get from ctfconvert is:
ERROR: test8.c: failed to get mapping for tid 119 <77>
where tid 119 (or 77 in hex) is the DW_TAG_subroutine_type.
I don''t have an intel machine that can run Solaris, so I can''t
test that myself.
I wonder what the CTF should be given that the subroutine_type is unnamed, but
not flagged by gcc with a DW_AT_declaration like I thought it would have been.
--
John Birrell
--
This message posted from opensolaris.org