From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 959 invoked by alias); 18 Feb 2011 07:30:52 -0000 Received: (qmail 949 invoked by uid 22791); 18 Feb 2011 07:30:50 -0000 X-SWARE-Spam-Status: No, hits=-1.8 required=5.0 tests=AWL,BAYES_00,TW_EG,T_RP_MATCHES_RCVD X-Spam-Check-By: sourceware.org Received: from mail.codesourcery.com (HELO mail.codesourcery.com) (38.113.113.100) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Fri, 18 Feb 2011 07:30:44 +0000 Received: (qmail 8303 invoked from network); 18 Feb 2011 07:30:41 -0000 Received: from unknown (HELO ?192.168.0.101?) (yao@127.0.0.2) by mail.codesourcery.com with ESMTPA; 18 Feb 2011 07:30:41 -0000 Message-ID: <4D5E2021.2070107@codesourcery.com> Date: Fri, 18 Feb 2011 08:24:00 -0000 From: Yao Qi User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.2.13) Gecko/20101208 Lightning/1.0b2 Thunderbird/3.1.7 MIME-Version: 1.0 To: gdb-patches@sourceware.org Subject: [common] Merge duplicated macros in linux-nat.c and linux-low.c Content-Type: multipart/mixed; boundary="------------050804090902060205040501" X-IsSubscribed: yes Mailing-List: contact gdb-patches-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sourceware.org X-SW-Source: 2011-02/txt/msg00447.txt.bz2 This is a multi-part message in MIME format. --------------050804090902060205040501 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Content-length: 294 Some ptrace related macros are duplicated in linux-nat.c and gdbserver/linux-low.c. This patch is to move them together in common/linux-common.h. Rebuild gdb and gdbserver on x86-linux successfully. Note that the dependency tracking in gdbserver is not done in this patch. -- Yao (齐尧) --------------050804090902060205040501 Content-Type: text/x-patch; name="linux-common-h-0218.patch" Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename="linux-common-h-0218.patch" Content-length: 6539 gdb/ * linux-nat.c: Move common macros to ... * common/linux-common.h: ... here. New. * linux-nat.h: Include linux-common.h. gdb/gdbserver/ * linux-low.c: Move common macros to linux-common.h. * linux-low.h: Include linux-common.h. diff --git a/gdb/common/linux-common.h b/gdb/common/linux-common.h new file mode 100644 index 0000000..8d54d51 --- /dev/null +++ b/gdb/common/linux-common.h @@ -0,0 +1,60 @@ +/* Copyright (C) 2011 Free Software Foundation, Inc. + + This file is part of GDB. + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include + +#ifndef PTRACE_GETSIGINFO +# define PTRACE_GETSIGINFO 0x4202 +# define PTRACE_SETSIGINFO 0x4203 +#endif + +/* If the system headers did not provide the constants, hard-code the normal + values. */ +#ifndef PTRACE_EVENT_FORK + +#define PTRACE_SETOPTIONS 0x4200 +#define PTRACE_GETEVENTMSG 0x4201 + +/* options set using PTRACE_SETOPTIONS */ +#define PTRACE_O_TRACESYSGOOD 0x00000001 +#define PTRACE_O_TRACEFORK 0x00000002 +#define PTRACE_O_TRACEVFORK 0x00000004 +#define PTRACE_O_TRACECLONE 0x00000008 +#define PTRACE_O_TRACEEXEC 0x00000010 +#define PTRACE_O_TRACEVFORKDONE 0x00000020 +#define PTRACE_O_TRACEEXIT 0x00000040 + +/* Wait extended result codes for the above trace options. */ +#define PTRACE_EVENT_FORK 1 +#define PTRACE_EVENT_VFORK 2 +#define PTRACE_EVENT_CLONE 3 +#define PTRACE_EVENT_EXEC 4 +#define PTRACE_EVENT_VFORK_DONE 5 +#define PTRACE_EVENT_EXIT 6 + +#endif /* PTRACE_EVENT_FORK */ + +#ifndef O_LARGEFILE +#define O_LARGEFILE 0 +#endif + +/* We can't always assume that this flag is available, but all systems + with the ptrace event handlers also have __WALL, so it's safe to use + in some contexts. */ +#ifndef __WALL +#define __WALL 0x40000000 /* Wait for any child. */ +#endif diff --git a/gdb/gdbserver/linux-low.c b/gdb/gdbserver/linux-low.c index 93f3570..1d9d150 100644 --- a/gdb/gdbserver/linux-low.c +++ b/gdb/gdbserver/linux-low.c @@ -52,47 +52,9 @@ #define SPUFS_MAGIC 0x23c9b64e #endif -#ifndef PTRACE_GETSIGINFO -# define PTRACE_GETSIGINFO 0x4202 -# define PTRACE_SETSIGINFO 0x4203 -#endif -#ifndef O_LARGEFILE -#define O_LARGEFILE 0 -#endif -/* If the system headers did not provide the constants, hard-code the normal - values. */ -#ifndef PTRACE_EVENT_FORK - -#define PTRACE_SETOPTIONS 0x4200 -#define PTRACE_GETEVENTMSG 0x4201 - -/* options set using PTRACE_SETOPTIONS */ -#define PTRACE_O_TRACESYSGOOD 0x00000001 -#define PTRACE_O_TRACEFORK 0x00000002 -#define PTRACE_O_TRACEVFORK 0x00000004 -#define PTRACE_O_TRACECLONE 0x00000008 -#define PTRACE_O_TRACEEXEC 0x00000010 -#define PTRACE_O_TRACEVFORKDONE 0x00000020 -#define PTRACE_O_TRACEEXIT 0x00000040 - -/* Wait extended result codes for the above trace options. */ -#define PTRACE_EVENT_FORK 1 -#define PTRACE_EVENT_VFORK 2 -#define PTRACE_EVENT_CLONE 3 -#define PTRACE_EVENT_EXEC 4 -#define PTRACE_EVENT_VFORK_DONE 5 -#define PTRACE_EVENT_EXIT 6 - -#endif /* PTRACE_EVENT_FORK */ - -/* We can't always assume that this flag is available, but all systems - with the ptrace event handlers also have __WALL, so it's safe to use - in some contexts. */ -#ifndef __WALL -#define __WALL 0x40000000 /* Wait for any child. */ -#endif + #ifndef W_STOPCODE #define W_STOPCODE(sig) ((sig) << 8 | 0x7f) diff --git a/gdb/gdbserver/linux-low.h b/gdb/gdbserver/linux-low.h index 6635bc6..0891e06 100644 --- a/gdb/gdbserver/linux-low.h +++ b/gdb/gdbserver/linux-low.h @@ -22,6 +22,7 @@ #endif #include "gdb_proc_service.h" +#include "linux-common.h" #ifdef HAVE_LINUX_REGSETS typedef void (*regset_fill_func) (struct regcache *, void *); diff --git a/gdb/linux-nat.c b/gdb/linux-nat.c index cd88df8..b6c78cd 100644 --- a/gdb/linux-nat.c +++ b/gdb/linux-nat.c @@ -156,53 +156,12 @@ But we would still have to have some support for SIGSTOP, since PTRACE_ATTACH generates it, and there are races with trying to find a signal that is not blocked. */ -#ifndef O_LARGEFILE -#define O_LARGEFILE 0 -#endif - -/* If the system headers did not provide the constants, hard-code the normal - values. */ -#ifndef PTRACE_EVENT_FORK - -#define PTRACE_SETOPTIONS 0x4200 -#define PTRACE_GETEVENTMSG 0x4201 - -/* Options set using PTRACE_SETOPTIONS. */ -#define PTRACE_O_TRACESYSGOOD 0x00000001 -#define PTRACE_O_TRACEFORK 0x00000002 -#define PTRACE_O_TRACEVFORK 0x00000004 -#define PTRACE_O_TRACECLONE 0x00000008 -#define PTRACE_O_TRACEEXEC 0x00000010 -#define PTRACE_O_TRACEVFORKDONE 0x00000020 -#define PTRACE_O_TRACEEXIT 0x00000040 - -/* Wait extended result codes for the above trace options. */ -#define PTRACE_EVENT_FORK 1 -#define PTRACE_EVENT_VFORK 2 -#define PTRACE_EVENT_CLONE 3 -#define PTRACE_EVENT_EXEC 4 -#define PTRACE_EVENT_VFORK_DONE 5 -#define PTRACE_EVENT_EXIT 6 - -#endif /* PTRACE_EVENT_FORK */ /* Unlike other extended result codes, WSTOPSIG (status) on PTRACE_O_TRACESYSGOOD syscall events doesn't return SIGTRAP, but instead SIGTRAP with bit 7 set. */ #define SYSCALL_SIGTRAP (SIGTRAP | 0x80) -/* We can't always assume that this flag is available, but all systems - with the ptrace event handlers also have __WALL, so it's safe to use - here. */ -#ifndef __WALL -#define __WALL 0x40000000 /* Wait for any child. */ -#endif - -#ifndef PTRACE_GETSIGINFO -# define PTRACE_GETSIGINFO 0x4202 -# define PTRACE_SETSIGINFO 0x4203 -#endif - /* The single-threaded native GNU/Linux target_ops. We save a pointer for the use of the multi-threaded target. */ static struct target_ops *linux_ops; diff --git a/gdb/linux-nat.h b/gdb/linux-nat.h index 42cb2fc..cd4bf5d 100644 --- a/gdb/linux-nat.h +++ b/gdb/linux-nat.h @@ -19,7 +19,7 @@ along with this program. If not, see . */ #include "target.h" - +#include "linux-common.h" #include /* Structure describing an LWP. This is public only for the purposes --------------050804090902060205040501--