From: Mikko Rapeli <mikko.rapeli@iki.fi>
To: Pascal Terjan <pterjan@gmail.com>
Cc: "David S. Miller" <davem@davemloft.net>, netdev@vger.kernel.org
Subject: Re: linux/atm_zatm.h not really usable in userspace since cf00713a655d3019be7faa184402f16c43a0fed3
Date: Sat, 15 Oct 2016 17:09:06 +0300 [thread overview]
Message-ID: <20161015140906.GC2831@lakka.kapsi.fi> (raw)
In-Reply-To: <CA+CX+bjErkFu=VVv55PtiWg-Z88twBUyE20vo5A3fk9=ZD_LLw@mail.gmail.com>
On Sat, Oct 15, 2016 at 01:05:10PM +0100, Pascal Terjan wrote:
> It is no longer possible to include <linux/atm_zatm.h> + userspace
> headers using time, for example <stdlib.h>, this broke for example
> the build of linux-atm.
>
> Reproducer:
>
> $ cat test.c
> #include <linux/atm_zatm.h>
> #include <stdlib.h>
If possible, please reverse the order of includes to first include glibc
headers and then Linux kernel uapi ones.
Kernel uapi headers did not declare their header file dependencies correctly
and I've been fixing them. I have also tried to fix compatibility issues
with glibc headers, but unfortunately they only work when glibc headers
are included before kernel headers. Userspace which has been relying on
the magic include order for various uapi headers is now unfortunately
affected. Sorry about that.
-Mikko
> $ gcc -c test.c
> In file included from /usr/include/sys/select.h:43:0,
> from /usr/include/sys/types.h:219,
> from /usr/include/stdlib.h:314,
> from test.c:2:
> /usr/include/time.h:120:8: error: redefinition of 'struct timespec'
> struct timespec
> ^
> In file included from /usr/include/linux/atm_zatm.h:17:0,
> from test.c:1:
> /usr/include/linux/time.h:9:8: note: originally defined here
> struct timespec {
> ^
> In file included from /usr/include/sys/select.h:45:0,
> from /usr/include/sys/types.h:219,
> from /usr/include/stdlib.h:314,
> from test.c:2:
> /usr/include/bits/time.h:30:8: error: redefinition of 'struct timeval'
> struct timeval
> ^
> In file included from /usr/include/linux/atm_zatm.h:17:0,
> from test.c:1:
> /usr/include/linux/time.h:15:8: note: originally defined here
> struct timeval {
> ^
next prev parent reply other threads:[~2016-10-15 14:09 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-10-15 12:05 linux/atm_zatm.h not really usable in userspace since cf00713a655d3019be7faa184402f16c43a0fed3 Pascal Terjan
2016-10-15 14:09 ` Mikko Rapeli [this message]
2016-10-15 14:33 ` Pascal Terjan
2016-10-15 15:10 ` Mikko Rapeli
2016-10-15 15:14 ` Pascal Terjan
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20161015140906.GC2831@lakka.kapsi.fi \
--to=mikko.rapeli@iki.fi \
--cc=davem@davemloft.net \
--cc=netdev@vger.kernel.org \
--cc=pterjan@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox