This is the mail archive of the
gdb-patches@sourceware.org
mailing list for the GDB project.
Re: [PATCH v4 12/14] add linux_infcall_mmap
- From: Yao Qi <yao at codesourcery dot com>
- To: Ulrich Weigand <uweigand at de dot ibm dot com>
- Cc: Jan Kratochvil <jan dot kratochvil at redhat dot com>, <gdb-patches at sourceware dot org>
- Date: Mon, 15 Dec 2014 21:49:15 +0800
- Subject: Re: [PATCH v4 12/14] add linux_infcall_mmap
- Authentication-results: sourceware.org; auth=none
- References: <201412151241 dot sBFCfZex012704 at d03av02 dot boulder dot ibm dot com>
Ulrich Weigand <uweigand@de.ibm.com> writes:
> /home/uweigand/dailybuild/spu-tc-2014-12-13/binutils-gdb-head/binutils-gdb/gdb/linux-tdep.c:
> In function 'linux_infcall_mmap':
> /home/uweigand/dailybuild/spu-tc-2014-12-13/binutils-gdb-head/binutils-gdb/gdb/linux-tdep.c:1945:
> error: expected identifier before numeric constant
>
> on my RHEL 5 build system, presumably because ARG_MAX is defined
> (to a numeric constant) by a system header.
>
> Can we give those more distinctive names?
I got the same problem. Patch below unblocks the build.
--
Yao (éå)
From: Yao Qi <yao@codesourcery.com>
Date: Mon, 15 Dec 2014 21:40:29 +0800
Subject: [PATCH] Replace ARG_MAX with ARG_LAST
We define an enum ARG_MAX in linux_infcall_mmap, but it is conflict
with macro ARG_MAX which is defined in /usr/include/linux/limits.h.
This causes a build failure below,
gdb/linux-tdep.c: In function 'linux_infcall_mmap':
gdb/linux-tdep.c:1945:70: error: expected identifier before numeric constant
the enum in the pre-processed source becomes:
enum
{
ARG_ADDR, ARG_LENGTH, ARG_PROT, ARG_FLAGS, ARG_FD, ARG_OFFSET, 131072
};
This patch is to replace ARG_MAX with ARG_LAST.
gdb:
2014-12-15 Yao Qi <yao@codesourcery.com>
* linux-tdep.c (linux_infcall_mmap): Replace ARG_MAX with
ARG_LAST.
---
gdb/linux-tdep.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/gdb/linux-tdep.c b/gdb/linux-tdep.c
index 485f5ca..6b5e475 100644
--- a/gdb/linux-tdep.c
+++ b/gdb/linux-tdep.c
@@ -1942,9 +1942,9 @@ linux_infcall_mmap (CORE_ADDR size, unsigned prot)
CORE_ADDR retval;
enum
{
- ARG_ADDR, ARG_LENGTH, ARG_PROT, ARG_FLAGS, ARG_FD, ARG_OFFSET, ARG_MAX
+ ARG_ADDR, ARG_LENGTH, ARG_PROT, ARG_FLAGS, ARG_FD, ARG_OFFSET, ARG_LAST
};
- struct value *arg[ARG_MAX];
+ struct value *arg[ARG_LAST];
arg[ARG_ADDR] = value_from_pointer (builtin_type (gdbarch)->builtin_data_ptr,
0);
@@ -1961,7 +1961,7 @@ linux_infcall_mmap (CORE_ADDR size, unsigned prot)
arg[ARG_FD] = value_from_longest (builtin_type (gdbarch)->builtin_int, -1);
arg[ARG_OFFSET] = value_from_longest (builtin_type (gdbarch)->builtin_int64,
0);
- addr_val = call_function_by_hand (mmap_val, ARG_MAX, arg);
+ addr_val = call_function_by_hand (mmap_val, ARG_LAST, arg);
retval = value_as_address (addr_val);
if (retval == (CORE_ADDR) -1)
error (_("Failed inferior mmap call for %s bytes, errno is changed."),
--
1.9.3