From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 12210 invoked by alias); 26 Apr 2012 18:03:24 -0000 Received: (qmail 12194 invoked by uid 22791); 26 Apr 2012 18:03:22 -0000 X-SWARE-Spam-Status: No, hits=-5.0 required=5.0 tests=AWL,BAYES_00,KHOP_RCVD_UNTRUST,RCVD_IN_DNSWL_HI,T_RP_MATCHES_RCVD X-Spam-Check-By: sourceware.org Received: from cam-admin0.cambridge.arm.com (HELO cam-admin0.cambridge.arm.com) (217.140.96.50) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Thu, 26 Apr 2012 18:03:09 +0000 Received: from mudshark.cambridge.arm.com (mudshark.cambridge.arm.com [10.1.79.58]) by cam-admin0.cambridge.arm.com (8.12.6/8.12.6) with ESMTP id q3QI33OK021918; Thu, 26 Apr 2012 19:03:03 +0100 (BST) Received: by mudshark.cambridge.arm.com (Postfix, from userid 1000) id 9418BC12EA; Thu, 26 Apr 2012 19:03:02 +0100 (BST) From: Will Deacon To: gdb-patches@sourceware.org Cc: palves@redhat.com, Will Deacon Subject: [PATCH v3] gdbserver: uclinux: pull in ptrace offset definitions from asm/ptrace.h Date: Thu, 26 Apr 2012 18:06:00 -0000 Message-Id: <1335463380-7288-1-git-send-email-will.deacon@arm.com> 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: 2012-04/txt/msg00937.txt.bz2 When debugging a uclinux target, it is necessary to retrieve the text and data offsets of the running program in order for symbol resolution to work correctly. This patch pulls in definitions for PT_{TEXT,DATA,TEXT_END}_ADDR from the kernel's exported ptrace header, which can be issued as `magic' addresses to the PTRACE_PEEKUSER request in order to retrieve the child offsets. For those architectures currently providing their own inline definitions, the existing code is used as a fallback if the header doesn't provide any overrides. --- 2012-04-26 Will Deacon * linux-low.c: Pull in PT_TEXT_ADDR, PT_TEXT_END_ADDR and PT_DATA_ADDR definitions from asm/ptrace.h. gdb/gdbserver/linux-low.c | 6 ++++++ 1 files changed, 6 insertions(+), 0 deletions(-) diff --git a/gdb/gdbserver/linux-low.c b/gdb/gdbserver/linux-low.c index bbb0693..0d1cbd0 100644 --- a/gdb/gdbserver/linux-low.c +++ b/gdb/gdbserver/linux-low.c @@ -78,6 +78,8 @@ #ifdef __UCLIBC__ #if !(defined(__UCLIBC_HAS_MMU__) || defined(__ARCH_HAS_MMU__)) +/* PTRACE_TEXT_ADDR and friends. */ +#include #define HAS_NOMMU #endif #endif @@ -4759,6 +4761,9 @@ linux_stopped_data_address (void) } #if defined(__UCLIBC__) && defined(HAS_NOMMU) +#if !(defined(PT_TEXT_ADDR) || \ + defined(PT_DATA_ADDR) || \ + defined(PT_TEXT_END_ADDR)) #if defined(__mcoldfire__) /* These should really be defined in the kernel's ptrace.h header. */ #define PT_TEXT_ADDR 49*4 @@ -4773,6 +4778,7 @@ linux_stopped_data_address (void) #define PT_DATA_ADDR (0x10004*4) #define PT_TEXT_END_ADDR (0x10008*4) #endif +#endif /* Under uClinux, programs are loaded at non-zero offsets, which we need to tell gdb about. */ -- 1.7.4.1