[Qemu-devel] [PATCH 05/12] slirp: poison IN6_*_ADDR_*() macros to avoid them

Philippe Mathieu-Daudé posted 12 patches 7 years, 9 months ago
[Qemu-devel] [PATCH 05/12] slirp: poison IN6_*_ADDR_*() macros to avoid them
Posted by Philippe Mathieu-Daudé 7 years, 9 months ago
Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
---
 slirp/ip6.h | 19 +++++++++++++++++++
 1 file changed, 19 insertions(+)

diff --git a/slirp/ip6.h b/slirp/ip6.h
index 6c5d4eeaa3..c6493a0856 100644
--- a/slirp/ip6.h
+++ b/slirp/ip6.h
@@ -8,6 +8,25 @@
 
 #include "net/eth.h"
 
+#ifdef __GNUC__
+# undef IN6_IS_ADDR_UNSPECIFIED
+# pragma GCC poison IN6_IS_ADDR_UNSPECIFIED
+# undef IN6_IS_ADDR_LOOPBACK
+# pragma GCC poison IN6_IS_ADDR_LOOPBACK
+# undef IN6_IS_ADDR_LINKLOCAL
+# pragma GCC poison IN6_IS_ADDR_LINKLOCAL
+# undef IN6_IS_ADDR_SITELOCAL
+# pragma GCC poison IN6_IS_ADDR_SITELOCAL
+# undef IN6_IS_ADDR_V4MAPPED
+# pragma GCC poison IN6_IS_ADDR_V4MAPPED
+# undef IN6_IS_ADDR_V4COMPAT
+# pragma GCC poison IN6_IS_ADDR_V4COMPAT
+# undef IN6_ARE_ADDR_EQUAL
+# pragma GCC poison IN6_ARE_ADDR_EQUAL
+# undef IN6_IS_ADDR_MULTICAST
+# pragma GCC poison IN6_IS_ADDR_MULTICAST
+#endif
+
 #define ALLNODES_MULTICAST  { .s6_addr = \
                             { 0xff, 0x02, 0x00, 0x00,\
                             0x00, 0x00, 0x00, 0x00,\
-- 
2.15.1


Re: [Qemu-devel] [PATCH 05/12] slirp: poison IN6_*_ADDR_*() macros to avoid them
Posted by Thomas Huth 7 years, 9 months ago
Please add a proper patch description here why you are doing this. At
least it is not clear to me at a first glance.

 Thomas


On 08.01.2018 18:28, Philippe Mathieu-Daudé wrote:
> Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
> ---
>  slirp/ip6.h | 19 +++++++++++++++++++
>  1 file changed, 19 insertions(+)
> 
> diff --git a/slirp/ip6.h b/slirp/ip6.h
> index 6c5d4eeaa3..c6493a0856 100644
> --- a/slirp/ip6.h
> +++ b/slirp/ip6.h
> @@ -8,6 +8,25 @@
>  
>  #include "net/eth.h"
>  
> +#ifdef __GNUC__
> +# undef IN6_IS_ADDR_UNSPECIFIED
> +# pragma GCC poison IN6_IS_ADDR_UNSPECIFIED
> +# undef IN6_IS_ADDR_LOOPBACK
> +# pragma GCC poison IN6_IS_ADDR_LOOPBACK
> +# undef IN6_IS_ADDR_LINKLOCAL
> +# pragma GCC poison IN6_IS_ADDR_LINKLOCAL
> +# undef IN6_IS_ADDR_SITELOCAL
> +# pragma GCC poison IN6_IS_ADDR_SITELOCAL
> +# undef IN6_IS_ADDR_V4MAPPED
> +# pragma GCC poison IN6_IS_ADDR_V4MAPPED
> +# undef IN6_IS_ADDR_V4COMPAT
> +# pragma GCC poison IN6_IS_ADDR_V4COMPAT
> +# undef IN6_ARE_ADDR_EQUAL
> +# pragma GCC poison IN6_ARE_ADDR_EQUAL
> +# undef IN6_IS_ADDR_MULTICAST
> +# pragma GCC poison IN6_IS_ADDR_MULTICAST
> +#endif
> +
>  #define ALLNODES_MULTICAST  { .s6_addr = \
>                              { 0xff, 0x02, 0x00, 0x00,\
>                              0x00, 0x00, 0x00, 0x00,\
>