diff mbox

[1/7] selftest: sync: basic tests for sw_sync framework

Message ID 87ponq6kea.fsf@concordia.ellerman.id.au (mailing list archive)
State New, archived
Headers show

Commit Message

Michael Ellerman Sept. 27, 2016, 4:23 a.m. UTC
Emilio López <emilio.lopez@collabora.co.uk> writes:
> El 22/09/16 a las 06:43, Michael Ellerman escribió:
>> Emilio López <emilio.lopez@collabora.co.uk> writes:
>>
>> Please don't include the *kernel* headers, they're really not meant to
>> be used in userspace programs :)
>>
>>> +CFLAGS += -I../../../../usr/include/
>>
>> That is the correct place to get them from. They'll have been put there
>> by 'make headers_install'.
>
> My inspiration here has been tools/testing/selftests/memfd/Makefile, 
> which does it this way. If I only include the ones on usr then it 
> doesn't build, as there's no sync_file.h available, even after running 
> make headers_install. How am I supposed to use the ioctls from there?

It looks like it's missing from include/uapi/linux/Kbuild, you need to
add it to the list of exported headers:



cheers

Comments

Emilio López Sept. 27, 2016, 2:51 p.m. UTC | #1
Hi,

El 27/09/16 a las 01:23, Michael Ellerman escribió:
> Emilio López <emilio.lopez@collabora.co.uk> writes:
>> El 22/09/16 a las 06:43, Michael Ellerman escribió:
>>> Emilio López <emilio.lopez@collabora.co.uk> writes:
>>>
>>> Please don't include the *kernel* headers, they're really not meant to
>>> be used in userspace programs :)
>>>
>>>> +CFLAGS += -I../../../../usr/include/
>>>
>>> That is the correct place to get them from. They'll have been put there
>>> by 'make headers_install'.
>>
>> My inspiration here has been tools/testing/selftests/memfd/Makefile,
>> which does it this way. If I only include the ones on usr then it
>> doesn't build, as there's no sync_file.h available, even after running
>> make headers_install. How am I supposed to use the ioctls from there?
>
> It looks like it's missing from include/uapi/linux/Kbuild, you need to
> add it to the list of exported headers:

I tried that over the weekend and it worked, but I wondered if it was 
the way to go. Thanks for the confirmation :) I've sent a patch for 
that[0] now.

With that resolved, CFLAGS can just be

CFLAGS += -O2 -g -std=gnu89 -pthread -Wall -Wextra
CFLAGS += -I../../../../usr/include/

I'll wait a bit more to see if anyone else has any comments, otherwise 
I'll send a v2 in a couple of days.

Thanks!
Emilio

[0] https://lkml.org/lkml/2016/9/27/289
diff mbox

Patch

diff --git a/include/uapi/linux/Kbuild b/include/uapi/linux/Kbuild
index dd604395606b..40411b4ff012 100644
--- a/include/uapi/linux/Kbuild
+++ b/include/uapi/linux/Kbuild
@@ -397,6 +397,7 @@  header-y += stddef.h
 header-y += string.h
 header-y += suspend_ioctls.h
 header-y += swab.h
+header-y += sync_file.h
 header-y += synclink.h
 header-y += sysctl.h
 header-y += sysinfo.h