Control: reassign -1 linux-libc-dev 4.8.5-1 Control: retitle -1 linux/atm_zatm.h change breaks time.h inclusion Control: tags -1 fixed-upstream patch
On Wed, Nov 16, 2016 at 09:46:03AM +0000, Chris Lamb wrote: >... > In file included from /usr/include/linux/atm_zatm.h:17:0, > from zntune.c:17: > /usr/include/linux/time.h:9:8: error: redefinition of 'struct timespec' > struct timespec { > ^~~~~~~~ > In file included from /usr/include/x86_64-linux-gnu/sys/select.h:45:0, > from /usr/include/x86_64-linux-gnu/sys/types.h:219, > from /usr/include/stdlib.h:275, > from zntune.c:9: > /usr/include/time.h:120:8: note: originally defined here > struct timespec >... Thanks for your report, this is a bug in the kernel userspace headers. I've attached the fix that was applied upstream. > Regards, cu Adrian -- "Is there not promise of rain?" Ling Tan asked suddenly out of the darkness. There had been need of rain for many days. "Only a promise," Lao Er said. Pearl S. Buck - Dragon Seed
commit 7b5b74efcca00f15c2aec1dc7175bfe34b6ec643 Author: Mike Frysinger <vap...@gentoo.org> Date: Thu Nov 10 19:08:39 2016 -0500 Revert "include/uapi/linux/atm_zatm.h: include linux/time.h" This reverts commit cf00713a655d ("include/uapi/linux/atm_zatm.h: include linux/time.h"). This attempted to fix userspace breakage that no longer existed when the patch was merged. Almost one year earlier, commit 70ba07b675b5 ("atm: remove 'struct zatm_t_hist'") deleted the struct in question. After this patch was merged, we now have to deal with people being unable to include this header in conjunction with standard C library headers like stdlib.h (which linux-atm does). Example breakage: x86_64-pc-linux-gnu-gcc -DHAVE_CONFIG_H -I. -I../.. -I./../q2931 -I./../saal \ -I. -DCPPFLAGS_TEST -I../../src/include -O2 -march=native -pipe -g \ -frecord-gcc-switches -freport-bug -Wimplicit-function-declaration \ -Wnonnull -Wstrict-aliasing -Wparentheses -Warray-bounds \ -Wfree-nonheap-object -Wreturn-local-addr -fno-strict-aliasing -Wall \ -Wshadow -Wpointer-arith -Wwrite-strings -Wstrict-prototypes -c zntune.c In file included from /usr/include/linux/atm_zatm.h:17:0, from zntune.c:17: /usr/include/linux/time.h:9:8: error: redefinition of ‘struct timespec’ struct timespec { ^ 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 zntune.c:9: /usr/include/time.h:120:8: note: originally defined here struct timespec ^ Signed-off-by: Mike Frysinger <vap...@gentoo.org> Acked-by: Mikko Rapeli <mikko.rap...@iki.fi> Signed-off-by: David S. Miller <da...@davemloft.net> diff --git a/include/uapi/linux/atm_zatm.h b/include/uapi/linux/atm_zatm.h index 5cd4d4d..9c9c6ad 100644 --- a/include/uapi/linux/atm_zatm.h +++ b/include/uapi/linux/atm_zatm.h @@ -14,7 +14,6 @@ #include <linux/atmapi.h> #include <linux/atmioc.h> -#include <linux/time.h> #define ZATM_GETPOOL _IOW('a',ATMIOC_SARPRV+1,struct atmif_sioc) /* get pool statistics */