From patchwork Thu Jan 21 09:14:00 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Alan Modra X-Patchwork-Id: 10493 Received: (qmail 70224 invoked by alias); 21 Jan 2016 09:14:11 -0000 Mailing-List: contact gdb-patches-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Unsubscribe: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sourceware.org Delivered-To: mailing list gdb-patches@sourceware.org Received: (qmail 70206 invoked by uid 89); 21 Jan 2016 09:14:10 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-1.5 required=5.0 tests=AWL, BAYES_00, FREEMAIL_FROM, RCVD_IN_DNSWL_LOW, SPF_PASS, UNSUBSCRIBE_BODY autolearn=no version=3.3.2 spammy=franklin, renamed, Franklin, 427 X-Spam-User: qpsmtpd, 2 recipients X-HELO: mail-pa0-f54.google.com Received: from mail-pa0-f54.google.com (HELO mail-pa0-f54.google.com) (209.85.220.54) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with (AES128-GCM-SHA256 encrypted) ESMTPS; Thu, 21 Jan 2016 09:14:07 +0000 Received: by mail-pa0-f54.google.com with SMTP id uo6so20648527pac.1; Thu, 21 Jan 2016 01:14:07 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:date:from:to:subject:message-id:mime-version :content-type:content-disposition:user-agent; bh=g2DhFMC3IPHk+Eo249Ro56oqCuW8zPSkSwIx942TEJ8=; b=QofLE98Ru+hDtDJ+3l8ItfCYqjcQuI5b/jwGLWZx/05TY1n7YMXCNvmSNktE0aUgAP 8sX5AcxODjfdgY+AFDrMIoMcSuMc6bW8nLlWNzZnY3aZc/XsOJ9ficxHH62GRYt+MsIf PJaGpv7w/ov5dRkFPAJ+ioMkHeY0C3NZinOsi2hzCmYB+AWlInckkJgSAo0Fmt+wzz0C 5s9RFy1C94WfyVDQekBDpmlpoHH8W2hkhr034iiDUJ+4ubyDVbmrm3UwxoXh66FV0IV6 thPP3PXN/NgeVPKteftUAKQEK5zZWc0b5Km/PHl0FoMc8wOtHwZnMvOdYELMjh1mZ8vc saAg== X-Gm-Message-State: ALoCoQmhHiEUvpbwAltgZmUZUdJEFV8mmDqrVCYdfHthY5/piru6ai+yo3+H+QAo8CMY3MeTzM5Eqdo0yDdDfRVmKQjQaN5cdg== X-Received: by 10.66.235.36 with SMTP id uj4mr60236890pac.85.1453367645875; Thu, 21 Jan 2016 01:14:05 -0800 (PST) Received: from bubble.grove.modra.org (CPE-58-160-163-67.gqzg1.fli.bigpond.net.au. [58.160.163.67]) by smtp.gmail.com with ESMTPSA id dz8sm971220pab.19.2016.01.21.01.14.04 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 21 Jan 2016 01:14:05 -0800 (PST) Received: by bubble.grove.modra.org (Postfix, from userid 1000) id EB62FEA0186; Thu, 21 Jan 2016 19:44:00 +1030 (ACDT) Date: Thu, 21 Jan 2016 19:44:00 +1030 From: Alan Modra To: binutils@sourceware.org, gdb-patches@sourceware.org Subject: Rename elf-linux-psinfo.h to elf-linux-core.h Message-ID: <20160121091400.GG17028@bubble.grove.modra.org> MIME-Version: 1.0 Content-Disposition: inline User-Agent: Mutt/1.5.23 (2014-03-12) Since it will sometime have more than just prpsinfo. bfd/ * elf-linux-core.h: Renamed from elf-linux-psinfo.h. * elf.c: Adjust #include. * elf32-ppc.c: Don't #include elf-linux-psinfo.h * Makefile.am (SOURCE_HFILES): Update. * Makefile.in: Regenerate. * po/SRC-PORFILES.in: Regenerate. diff --git a/bfd/Makefile.am b/bfd/Makefile.am index cb3a856..db6f059 100644 --- a/bfd/Makefile.am +++ b/bfd/Makefile.am @@ -790,7 +790,7 @@ CFILES = $(SOURCE_CFILES) $(BUILD_CFILES) ## This is a list of all .h files which are in the source tree. SOURCE_HFILES = \ aout-target.h aoutf1.h aoutx.h coffcode.h coffswap.h ecoffswap.h \ - elf-bfd.h elf-hppa.h elf-linux-psinfo.h elf32-hppa.h \ + elf-bfd.h elf-hppa.h elf-linux-core.h elf32-hppa.h \ elf64-hppa.h elfcode.h elfcore.h \ freebsd.h genlink.h go32stub.h \ libaout.h libbfd.h libcoff.h libecoff.h libhppa.h libieee.h \ diff --git a/bfd/elf-linux-core.h b/bfd/elf-linux-core.h new file mode 100644 index 0000000..ceb88bd --- /dev/null +++ b/bfd/elf-linux-core.h @@ -0,0 +1,127 @@ +/* Definitions for PRPSINFO structures under ELF on GNU/Linux. + Copyright (C) 2013-2016 Free Software Foundation, Inc. + + This file is part of BFD, the Binary File Descriptor library. + + 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, write to the Free Software + Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, + MA 02110-1301, USA. */ + +#ifndef ELF_LINUX_PSINFO_H +#define ELF_LINUX_PSINFO_H + +/* The PRPSINFO structures defined below are used by most + architectures, although some of them define their own versions + (like e.g., PPC). */ + +/* External 32-bit structure for PRPSINFO. This structure is + ABI-defined, thus we choose to use char arrays here in order to + avoid dealing with different types in different architectures. + + This structure will ultimately be written in the corefile's note + section, as the PRPSINFO. */ + +struct elf_external_linux_prpsinfo32 + { + char pr_state; /* Numeric process state. */ + char pr_sname; /* Char for pr_state. */ + char pr_zomb; /* Zombie. */ + char pr_nice; /* Nice val. */ + char pr_flag[4]; /* Flags. */ + char pr_uid[2]; + char pr_gid[2]; + char pr_pid[4]; + char pr_ppid[4]; + char pr_pgrp[4]; + char pr_sid[4]; + char pr_fname[16]; /* Filename of executable. */ + char pr_psargs[80]; /* Initial part of arg list. */ + }; + +/* Helper macro to swap (properly handling endianess) things from the + `elf_internal_linux_prpsinfo' structure to the + `elf_external_linux_prpsinfo32' structure. + + Note that FROM should be a pointer, and TO should be the explicit + type. */ + +#define LINUX_PRPSINFO32_SWAP_FIELDS(abfd, from, to) \ + do \ + { \ + H_PUT_8 (abfd, from->pr_state, &to.pr_state); \ + H_PUT_8 (abfd, from->pr_sname, &to.pr_sname); \ + H_PUT_8 (abfd, from->pr_zomb, &to.pr_zomb); \ + H_PUT_8 (abfd, from->pr_nice, &to.pr_nice); \ + H_PUT_32 (abfd, from->pr_flag, to.pr_flag); \ + H_PUT_16 (abfd, from->pr_uid, to.pr_uid); \ + H_PUT_16 (abfd, from->pr_gid, to.pr_gid); \ + H_PUT_32 (abfd, from->pr_pid, to.pr_pid); \ + H_PUT_32 (abfd, from->pr_ppid, to.pr_ppid); \ + H_PUT_32 (abfd, from->pr_pgrp, to.pr_pgrp); \ + H_PUT_32 (abfd, from->pr_sid, to.pr_sid); \ + strncpy (to.pr_fname, from->pr_fname, sizeof (to.pr_fname)); \ + strncpy (to.pr_psargs, from->pr_psargs, sizeof (to.pr_psargs)); \ + } while (0) + +/* External 64-bit structure for PRPSINFO. This structure is + ABI-defined, thus we choose to use char arrays here in order to + avoid dealing with different types in different architectures. + + This structure will ultimately be written in the corefile's note + section, as the PRPSINFO. */ + +struct elf_external_linux_prpsinfo64 + { + char pr_state; /* Numeric process state. */ + char pr_sname; /* Char for pr_state. */ + char pr_zomb; /* Zombie. */ + char pr_nice; /* Nice val. */ + char pr_flag[8]; /* Flags. */ + char gap[4]; + char pr_uid[4]; + char pr_gid[4]; + char pr_pid[4]; + char pr_ppid[4]; + char pr_pgrp[4]; + char pr_sid[4]; + char pr_fname[16]; /* Filename of executable. */ + char pr_psargs[80]; /* Initial part of arg list. */ + }; + +/* Helper macro to swap (properly handling endianess) things from the + `elf_internal_linux_prpsinfo' structure to the + `elf_external_linux_prpsinfo64' structure. + + Note that FROM should be a pointer, and TO should be the explicit + type. */ + +#define LINUX_PRPSINFO64_SWAP_FIELDS(abfd, from, to) \ + do \ + { \ + H_PUT_8 (abfd, from->pr_state, &to.pr_state); \ + H_PUT_8 (abfd, from->pr_sname, &to.pr_sname); \ + H_PUT_8 (abfd, from->pr_zomb, &to.pr_zomb); \ + H_PUT_8 (abfd, from->pr_nice, &to.pr_nice); \ + H_PUT_64 (abfd, from->pr_flag, to.pr_flag); \ + H_PUT_32 (abfd, from->pr_uid, to.pr_uid); \ + H_PUT_32 (abfd, from->pr_gid, to.pr_gid); \ + H_PUT_32 (abfd, from->pr_pid, to.pr_pid); \ + H_PUT_32 (abfd, from->pr_ppid, to.pr_ppid); \ + H_PUT_32 (abfd, from->pr_pgrp, to.pr_pgrp); \ + H_PUT_32 (abfd, from->pr_sid, to.pr_sid); \ + strncpy (to.pr_fname, from->pr_fname, sizeof (to.pr_fname)); \ + strncpy (to.pr_psargs, from->pr_psargs, sizeof (to.pr_psargs)); \ + } while (0) + +#endif diff --git a/bfd/elf-linux-psinfo.h b/bfd/elf-linux-psinfo.h deleted file mode 100644 index ceb88bd..0000000 --- a/bfd/elf-linux-psinfo.h +++ /dev/null @@ -1,127 +0,0 @@ -/* Definitions for PRPSINFO structures under ELF on GNU/Linux. - Copyright (C) 2013-2016 Free Software Foundation, Inc. - - This file is part of BFD, the Binary File Descriptor library. - - 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, write to the Free Software - Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, - MA 02110-1301, USA. */ - -#ifndef ELF_LINUX_PSINFO_H -#define ELF_LINUX_PSINFO_H - -/* The PRPSINFO structures defined below are used by most - architectures, although some of them define their own versions - (like e.g., PPC). */ - -/* External 32-bit structure for PRPSINFO. This structure is - ABI-defined, thus we choose to use char arrays here in order to - avoid dealing with different types in different architectures. - - This structure will ultimately be written in the corefile's note - section, as the PRPSINFO. */ - -struct elf_external_linux_prpsinfo32 - { - char pr_state; /* Numeric process state. */ - char pr_sname; /* Char for pr_state. */ - char pr_zomb; /* Zombie. */ - char pr_nice; /* Nice val. */ - char pr_flag[4]; /* Flags. */ - char pr_uid[2]; - char pr_gid[2]; - char pr_pid[4]; - char pr_ppid[4]; - char pr_pgrp[4]; - char pr_sid[4]; - char pr_fname[16]; /* Filename of executable. */ - char pr_psargs[80]; /* Initial part of arg list. */ - }; - -/* Helper macro to swap (properly handling endianess) things from the - `elf_internal_linux_prpsinfo' structure to the - `elf_external_linux_prpsinfo32' structure. - - Note that FROM should be a pointer, and TO should be the explicit - type. */ - -#define LINUX_PRPSINFO32_SWAP_FIELDS(abfd, from, to) \ - do \ - { \ - H_PUT_8 (abfd, from->pr_state, &to.pr_state); \ - H_PUT_8 (abfd, from->pr_sname, &to.pr_sname); \ - H_PUT_8 (abfd, from->pr_zomb, &to.pr_zomb); \ - H_PUT_8 (abfd, from->pr_nice, &to.pr_nice); \ - H_PUT_32 (abfd, from->pr_flag, to.pr_flag); \ - H_PUT_16 (abfd, from->pr_uid, to.pr_uid); \ - H_PUT_16 (abfd, from->pr_gid, to.pr_gid); \ - H_PUT_32 (abfd, from->pr_pid, to.pr_pid); \ - H_PUT_32 (abfd, from->pr_ppid, to.pr_ppid); \ - H_PUT_32 (abfd, from->pr_pgrp, to.pr_pgrp); \ - H_PUT_32 (abfd, from->pr_sid, to.pr_sid); \ - strncpy (to.pr_fname, from->pr_fname, sizeof (to.pr_fname)); \ - strncpy (to.pr_psargs, from->pr_psargs, sizeof (to.pr_psargs)); \ - } while (0) - -/* External 64-bit structure for PRPSINFO. This structure is - ABI-defined, thus we choose to use char arrays here in order to - avoid dealing with different types in different architectures. - - This structure will ultimately be written in the corefile's note - section, as the PRPSINFO. */ - -struct elf_external_linux_prpsinfo64 - { - char pr_state; /* Numeric process state. */ - char pr_sname; /* Char for pr_state. */ - char pr_zomb; /* Zombie. */ - char pr_nice; /* Nice val. */ - char pr_flag[8]; /* Flags. */ - char gap[4]; - char pr_uid[4]; - char pr_gid[4]; - char pr_pid[4]; - char pr_ppid[4]; - char pr_pgrp[4]; - char pr_sid[4]; - char pr_fname[16]; /* Filename of executable. */ - char pr_psargs[80]; /* Initial part of arg list. */ - }; - -/* Helper macro to swap (properly handling endianess) things from the - `elf_internal_linux_prpsinfo' structure to the - `elf_external_linux_prpsinfo64' structure. - - Note that FROM should be a pointer, and TO should be the explicit - type. */ - -#define LINUX_PRPSINFO64_SWAP_FIELDS(abfd, from, to) \ - do \ - { \ - H_PUT_8 (abfd, from->pr_state, &to.pr_state); \ - H_PUT_8 (abfd, from->pr_sname, &to.pr_sname); \ - H_PUT_8 (abfd, from->pr_zomb, &to.pr_zomb); \ - H_PUT_8 (abfd, from->pr_nice, &to.pr_nice); \ - H_PUT_64 (abfd, from->pr_flag, to.pr_flag); \ - H_PUT_32 (abfd, from->pr_uid, to.pr_uid); \ - H_PUT_32 (abfd, from->pr_gid, to.pr_gid); \ - H_PUT_32 (abfd, from->pr_pid, to.pr_pid); \ - H_PUT_32 (abfd, from->pr_ppid, to.pr_ppid); \ - H_PUT_32 (abfd, from->pr_pgrp, to.pr_pgrp); \ - H_PUT_32 (abfd, from->pr_sid, to.pr_sid); \ - strncpy (to.pr_fname, from->pr_fname, sizeof (to.pr_fname)); \ - strncpy (to.pr_psargs, from->pr_psargs, sizeof (to.pr_psargs)); \ - } while (0) - -#endif diff --git a/bfd/elf.c b/bfd/elf.c index b2a50bf..dba5a0f 100644 --- a/bfd/elf.c +++ b/bfd/elf.c @@ -42,7 +42,7 @@ SECTION #include "elf-bfd.h" #include "libiberty.h" #include "safe-ctype.h" -#include "elf-linux-psinfo.h" +#include "elf-linux-core.h" #ifdef CORE_HEADER #include CORE_HEADER diff --git a/bfd/elf32-ppc.c b/bfd/elf32-ppc.c index 83b4143..e7fc158 100644 --- a/bfd/elf32-ppc.c +++ b/bfd/elf32-ppc.c @@ -35,7 +35,6 @@ #include "elf32-ppc.h" #include "elf-vxworks.h" #include "dwarf2.h" -#include "elf-linux-psinfo.h" typedef enum split16_format_type {