From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 10090 invoked by alias); 19 Jan 2016 16:50:39 -0000 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 Received: (qmail 10029 invoked by uid 89); 19 Jan 2016 16:50:39 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-0.9 required=5.0 tests=AWL,BAYES_50,RCVD_IN_DNSWL_LOW,SPF_PASS autolearn=ham version=3.3.2 spammy=segments, sk:elf_int, sk:Elf_Int, miscellaneous X-HELO: mail-qk0-f170.google.com Received: from mail-qk0-f170.google.com (HELO mail-qk0-f170.google.com) (209.85.220.170) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with (AES128-GCM-SHA256 encrypted) ESMTPS; Tue, 19 Jan 2016 16:50:32 +0000 Received: by mail-qk0-f170.google.com with SMTP id o6so25495943qkc.2 for ; Tue, 19 Jan 2016 08:50:32 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:in-reply-to:references:date :message-id:subject:from:to:cc:content-type; bh=pdkTCNak3taqmBTOnI5H+zCKBdqkAU7aj+hMP1zDsw0=; b=LwhZEYGPLSuWxw4CT1cUhM08SIEjhrgbChEc5Ca6lao29S4WH9wEE3/gb/9LRFD6qS W8Hny94aBnVW0z9AxTavmNpUlQjAWWuxeiUS8GSIfWP4UI+lJr+lw8G05eUJykvTC65T 9VV7wKKAWBnBRscJtL7Bm4a6gBPLdTjTkPT82A/BHcNOvF1QWf0ZtbyNgm1/1IuelI7n eEPsTCuXqJ33Oq2dbLiIYcaTBWIBXPvwQwWaLafHIQj/6AcidVoaMD9OlBKPZuUSDk5V 287W94jWqscandYTF9N7N/XMtOKfRIfzoCOhlkBx9+BxFNHPElaTC1P9WaXM1mckw4sJ uD+g== X-Gm-Message-State: ALoCoQmGLVA7vSyeRp9qJxVDDZjedjGbUjZQUKB3GaKYejWwEjnrbwmnVT3DBS9GrZ3s5WDremTWc+7Z026RfHj7vedOTI0jqUCQbVAhxWGIql3HLgGiCd4= MIME-Version: 1.0 X-Received: by 10.55.75.85 with SMTP id y82mr38951441qka.29.1453222230563; Tue, 19 Jan 2016 08:50:30 -0800 (PST) Received: by 10.140.90.84 with HTTP; Tue, 19 Jan 2016 08:50:30 -0800 (PST) In-Reply-To: <1453084047-16175-2-git-send-email-jhb@FreeBSD.org> References: <1453084047-16175-1-git-send-email-jhb@FreeBSD.org> <1453084047-16175-2-git-send-email-jhb@FreeBSD.org> Date: Tue, 19 Jan 2016 16:50:00 -0000 Message-ID: Subject: Re: [PATCH v3 1/6] Add support to readelf for reading FreeBSD ELF core notes. From: Christophe Lyon To: John Baldwin Cc: gdb-patches@sourceware.org, binutils@sourceware.org Content-Type: text/plain; charset=UTF-8 X-SW-Source: 2016-01/txt/msg00439.txt.bz2 On 18 January 2016 at 03:27, John Baldwin wrote: > binutils/ChangeLog: > > * readelf.c (get_freebsd_elfcore_note_type): New > (process_note): Add support for FreeBSD core notes. > > include/ChangeLog: > > * elf/common.h (NT_FREEBSD_THRMISC): Define. > (NT_FREEBSD_PROCSTAT_PROC): Define. > (NT_FREEBSD_PROCSTAT_FILES): Define. > (NT_FREEBSD_PROCSTAT_VMMAP): Define. > (NT_FREEBSD_PROCSTAT_GROUPS): Define. > (NT_FREEBSD_PROCSTAT_UMASK): Define. > (NT_FREEBSD_PROCSTAT_RLIMIT): Define. > (NT_FREEBSD_PROCSTAT_OSREL): Define. > (NT_FREEBSD_PROCSTAT_PSSTRINGS): Define. > (NT_FREEBSD_PROCSTAT_AUXV): Define. > --- > binutils/ChangeLog | 5 +++++ > binutils/readelf.c | 35 +++++++++++++++++++++++++++++++++++ > include/ChangeLog | 13 +++++++++++++ > include/elf/common.h | 14 ++++++++++++++ > 4 files changed, 67 insertions(+) > > diff --git a/binutils/ChangeLog b/binutils/ChangeLog > index 21dcb2c..47773c9 100644 > --- a/binutils/ChangeLog > +++ b/binutils/ChangeLog > @@ -1,3 +1,8 @@ > +2016-01-09 John Baldwin > + > + * readelf.c (get_freebsd_elfcore_note_type): New > + (process_note): Add support for FreeBSD core notes. > + > 2016-01-01 Alan Modra > > Update year range in copyright notice of all files. > diff --git a/binutils/readelf.c b/binutils/readelf.c > index 47ac1ad..fa9cda1 100644 > --- a/binutils/readelf.c > +++ b/binutils/readelf.c > @@ -15388,6 +15388,37 @@ process_netbsd_elf_note (Elf_Internal_Note * pnote) > } > > static const char * > +get_freebsd_elfcore_note_type (unsigned e_type) > +{ > + static char buff[64]; Hi, This makes the build fail when using -Werror: ./../binutils/readelf.c: In function 'get_freebsd_elfcore_note_type': ../../binutils/readelf.c:15416:15: error: unused variable 'buff' [-Werror=unused-variable] static char buff[64]; Christophe. > + > + switch (e_type) > + { > + case NT_FREEBSD_THRMISC: > + return _("NT_THRMISC (thrmisc structure)"); > + case NT_FREEBSD_PROCSTAT_PROC: > + return _("NT_PROCSTAT_PROC (proc data)"); > + case NT_FREEBSD_PROCSTAT_FILES: > + return _("NT_PROCSTAT_FILES (files data)"); > + case NT_FREEBSD_PROCSTAT_VMMAP: > + return _("NT_PROCSTAT_VMMAP (vmmap data)"); > + case NT_FREEBSD_PROCSTAT_GROUPS: > + return _("NT_PROCSTAT_GROUPS (groups data)"); > + case NT_FREEBSD_PROCSTAT_UMASK: > + return _("NT_PROCSTAT_UMASK (umask data)"); > + case NT_FREEBSD_PROCSTAT_RLIMIT: > + return _("NT_PROCSTAT_RLIMIT (rlimit data)"); > + case NT_FREEBSD_PROCSTAT_OSREL: > + return _("NT_PROCSTAT_OSREL (osreldate data)"); > + case NT_FREEBSD_PROCSTAT_PSSTRINGS: > + return _("NT_PROCSTAT_PSSTRINGS (ps_strings data)"); > + case NT_FREEBSD_PROCSTAT_AUXV: > + return _("NT_PROCSTAT_AUXV (auxv data)"); > + } > + return get_note_type (e_type); > +} > + > +static const char * > get_netbsd_elfcore_note_type (unsigned e_type) > { > static char buff[64]; > @@ -15636,6 +15667,10 @@ process_note (Elf_Internal_Note * pnote) > /* GNU-specific object file notes. */ > nt = get_gnu_elf_note_type (pnote->type); > > + else if (const_strneq (pnote->namedata, "FreeBSD")) > + /* FreeBSD-specific core file notes. */ > + nt = get_freebsd_elfcore_note_type (pnote->type); > + > else if (const_strneq (pnote->namedata, "NetBSD-CORE")) > /* NetBSD-specific core file notes. */ > nt = get_netbsd_elfcore_note_type (pnote->type); > diff --git a/include/ChangeLog b/include/ChangeLog > index 80fc4a8..7dadeba 100644 > --- a/include/ChangeLog > +++ b/include/ChangeLog > @@ -1,3 +1,16 @@ > +2016-01-16 John Baldwin > + > + * elf/common.h (NT_FREEBSD_THRMISC): Define. > + (NT_FREEBSD_PROCSTAT_PROC): Define. > + (NT_FREEBSD_PROCSTAT_FILES): Define. > + (NT_FREEBSD_PROCSTAT_VMMAP): Define. > + (NT_FREEBSD_PROCSTAT_GROUPS): Define. > + (NT_FREEBSD_PROCSTAT_UMASK): Define. > + (NT_FREEBSD_PROCSTAT_RLIMIT): Define. > + (NT_FREEBSD_PROCSTAT_OSREL): Define. > + (NT_FREEBSD_PROCSTAT_PSSTRINGS): Define. > + (NT_FREEBSD_PROCSTAT_AUXV): Define. > + > 2016-01-11 Nick Clifton > > Import this change from GCC mainline: > diff --git a/include/elf/common.h b/include/elf/common.h > index ce506fc..767ad3e 100644 > --- a/include/elf/common.h > +++ b/include/elf/common.h > @@ -595,6 +595,20 @@ > /* Note segment for SystemTap probes. */ > #define NT_STAPSDT 3 > > +/* Note segments for core files on FreeBSD systems. Note name is > + "FreeBSD". */ > + > +#define NT_FREEBSD_THRMISC 7 /* Thread miscellaneous info. */ > +#define NT_FREEBSD_PROCSTAT_PROC 8 /* Procstat proc data. */ > +#define NT_FREEBSD_PROCSTAT_FILES 9 /* Procstat files data. */ > +#define NT_FREEBSD_PROCSTAT_VMMAP 10 /* Procstat vmmap data. */ > +#define NT_FREEBSD_PROCSTAT_GROUPS 11 /* Procstat groups data. */ > +#define NT_FREEBSD_PROCSTAT_UMASK 12 /* Procstat umask data. */ > +#define NT_FREEBSD_PROCSTAT_RLIMIT 13 /* Procstat rlimit data. */ > +#define NT_FREEBSD_PROCSTAT_OSREL 14 /* Procstat osreldate data. */ > +#define NT_FREEBSD_PROCSTAT_PSSTRINGS 15 /* Procstat ps_strings data. */ > +#define NT_FREEBSD_PROCSTAT_AUXV 16 /* Procstat auxv data. */ > + > /* Note segments for core files on NetBSD systems. Note name > must start with "NetBSD-CORE". */ > > -- > 2.7.0 >