Re: [PATCH 2/9 v2] Introduce nat/linux-namespaces.[ch]

Michael Eager
2015-06-15T22:12:57Z

[-- Attachment #1: Type: text/plain, Size: 2052 bytes --]

On 06/15/2015 08:02 AM, Michael Eager wrote:
> On 04/30/2015 05:05 AM, Gary Benson wrote:
>> This commit introduces new shared files nat/linux-namespaces.[ch]
>> containing code to support Linux namespaces that will be used by
>> both GDB and gdbserver.
>>
>> gdb/ChangeLog:
>>
>> * configure.ac (AC_CHECK_FUNCS): Add setns.
>> * config.in: Regenerate.
>> * configure: Likewise.
>> * nat/linux-namespaces.h: New file.
>> * nat/linux-namespaces.c: Likewise.
>> * Makefile.in (HFILES_NO_SRCDIR): Add nat/linux-namespaces.h.
>> (linux-namespaces.o): New rule.
>> * config/aarch64/linux.mh (NATDEPFILES): Add linux-namespaces.o.
>> * config/alpha/alpha-linux.mh (NATDEPFILES): Likewise.
>> * config/arm/linux.mh (NATDEPFILES): Likewise.
>> * config/i386/linux.mh (NATDEPFILES): Likewise.
>> * config/i386/linux64.mh (NATDEPFILES): Likewise.
>> * config/ia64/linux.mh (NATDEPFILES): Likewise.
>> * config/m32r/linux.mh (NATDEPFILES): Likewise.
>> * config/m68k/linux.mh (NATDEPFILES): Likewise.
>> * config/mips/linux.mh (NATDEPFILES): Likewise.
>> * config/pa/linux.mh (NATDEPFILES): Likewise.
>> * config/powerpc/linux.mh (NATDEPFILES): Likewise.
>> * config/powerpc/ppc64-linux.mh (NATDEPFILES): Likewise.
>> * config/powerpc/spu-linux.mh (NATDEPFILES): Likewise.
>> * config/s390/linux.mh (NATDEPFILES): Likewise.
>> * config/sparc/linux.mh (NATDEPFILES): Likewise.
>> * config/sparc/linux64.mh (NATDEPFILES): Likewise.
>> * config/tilegx/linux.mh (NATDEPFILES): Likewise.
>> * config/xtensa/linux.mh (NATDEPFILES): Likewise.
>
> This patch causes a build failure in nat/linux-namespaces.c with
> glibc-2.5, which does not define MSG_CMSG_CLOEXEC. It looks like
> this symbol was introduced in glib-2.7.

Here is a patch which allows this to compile if the symbol is not defined.

Changelog:

* nat/linux-namespaces.c (MSG_CMSG_CLOEXEC): Define if not defined.

--
Michael Eager eager@eagercon.com
1960 Park Blvd., Palo Alto, CA 94306 650-325-8077

[-- Attachment #2: 0001-GDB-Define-MSG_CMSG_CLOEXEC-if-undefined.patch --]
[-- Type: text/x-patch, Size: 681 bytes --]

From 7ccb1f19f15c6ef052d06f1da9e92fda9c2c1fe7 Mon Sep 17 00:00:00 2001
From: Michael Eager <meager@cisco.com>
Date: Mon, 15 Jun 2015 11:26:12 -0700
Subject: [PATCH] GDB -- Define MSG_CMSG_CLOEXEC if undefined

* nat/linux-namespaces.c (MSG_CMSG_CLOEXEC): Define.
---
gdb/nat/linux-namespaces.c | 4 ++++
1 file changed, 4 insertions(+)

diff --git a/gdb/nat/linux-namespaces.c b/gdb/nat/linux-namespaces.c
index f18e40d..3fc4326 100644
--- a/gdb/nat/linux-namespaces.c
+++ b/gdb/nat/linux-namespaces.c
@@ -47,6 +47,10 @@ setns (int fd, int nstype)
}
#endif

+#ifndef MSG_CMSG_CLOEXEC
+#define MSG_CMSG_CLOEXEC 0
+#endif
+
/* A Linux namespace. */

struct linux_ns
--
2.2.1