0001-Fix-build-with-Linux-kernel-headers-v4.15.patch 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. From 15f93dd90484532e25c8f3e43fb34a361a79d7f2 Mon Sep 17 00:00:00 2001
  2. From: Baruch Siach <baruch@tkos.co.il>
  3. Date: Fri, 9 Feb 2018 11:55:19 +0200
  4. Subject: [PATCH] Fix build with Linux kernel headers v4.15
  5. Linux kernel version 4.15 changed the libc/kernel headers suppression
  6. logic in a way that introduces collisions:
  7. In file included from ./../include/vrrp_ipaddress.h:32:0,
  8. from ./../include/vrrp_arp.h:31,
  9. from vrrp.c:29:
  10. /home/peko/autobuild/instance-1/output/host/arc-buildroot-linux-uclibc/sysroot/usr/include/linux/in.h:29:3: error: redeclaration of enumerator 'IPPROTO_IP'
  11. IPPROTO_IP = 0, /* Dummy protocol for TCP */
  12. ^
  13. /home/peko/autobuild/instance-1/output/host/arc-buildroot-linux-uclibc/sysroot/usr/include/netinet/in.h:33:5: note: previous definition of 'IPPROTO_IP' was here
  14. IPPROTO_IP = 0, /* Dummy protocol for TCP. */
  15. ^~~~~~~~~~
  16. Include the libc netinet/in.h header first to suppress the kernel
  17. header.
  18. In addition, add _GNU_SOURCE to vrrp.c for the libc provided in6_pktinfo
  19. definition.
  20. Signed-off-by: Baruch Siach <baruch@tkos.co.il>
  21. ---
  22. Upstream status: https://github.com/acassen/keepalived/pull/777
  23. keepalived/include/vrrp_arp.h | 1 +
  24. keepalived/vrrp/vrrp.c | 1 +
  25. 2 files changed, 2 insertions(+)
  26. diff --git a/keepalived/include/vrrp_arp.h b/keepalived/include/vrrp_arp.h
  27. index 77a26c450b12..a103ab075c1d 100644
  28. --- a/keepalived/include/vrrp_arp.h
  29. +++ b/keepalived/include/vrrp_arp.h
  30. @@ -24,6 +24,7 @@
  31. #define _VRRP_ARP_H
  32. /* system includes */
  33. +#include <netinet/in.h>
  34. #include <net/ethernet.h>
  35. #include <net/if_arp.h>
  36. diff --git a/keepalived/vrrp/vrrp.c b/keepalived/vrrp/vrrp.c
  37. index 3d2bfe41ab4f..435a4b54b2a9 100644
  38. --- a/keepalived/vrrp/vrrp.c
  39. +++ b/keepalived/vrrp/vrrp.c
  40. @@ -26,6 +26,7 @@
  41. #include "config.h"
  42. /* local include */
  43. +#define _GNU_SOURCE
  44. #include "vrrp_arp.h"
  45. #include "vrrp_ndisc.h"
  46. #include "vrrp_scheduler.h"
  47. --
  48. 2.15.1