uprobes-inode.c:262: error: implicit declaration of function 'uprobe_register'

Negreanu Marius groleo@gmail.com
Mon Apr 9 19:42:00 GMT 2012


On Mon, Apr 9, 2012 at 8:52 PM, Josh Stone <jistone@redhat.com> wrote:
> On 04/09/2012 05:19 AM, Negreanu Marius wrote:
>> On Fri, Apr 6, 2012 at 11:36 PM, Negreanu Marius <groleo@gmail.com> wrote:
>>> Hi,
>>>
>>> on latest master, I'm getting this error:
>>>       uprobes-inode.c:262: error: implicit declaration of function
>>> 'uprobe_register'
>>>
>>> I can see that STAPCONF_UPROBE_REGISTER_EXPORTED controls when
>>> uprobe_register is defined,
>>> but I don't know where should uprobe_register come from when
>>> STAPCONF_UPROBE_REGISTER_EXPORTED is 1 .
>>
>> Heh,
>> <linux/wait.h> was not included by asm/uprobes.h
>> and ./runtime/autoconf-old-inode-uprobes.c was failing because of this.
>>
>> The failing of the autoconf test meant undefined
>> STAPCONF_UPROBE_REGISTER_EXPORTED .
>
> Aha, good sleuthing.  If necessary, we can just add that #include to our
> autoconf as a workaround.  But if uprobes.h is using definitions from
> wait.h, it ought to make the #include itself. (cc srikar)

kernel uprobes.h is using a wait_queue but forgets include wait.h directly;
so it's the kernel duty to have the includes done right; otherwise, I guess
all #include <uprobes.h> that are done in the autoconf*.c would have
to be prepended
by the missing includes.


Thanks,
Marius



More information about the Systemtap mailing list