From: Alan Modra Date: Thu, 21 Jan 2016 02:45:02 +0000 (+1030) Subject: Rename elf-linux-psinfo.h to elf-linux-core.h X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=de64ce13a78669f094d6909fce51d210e2f9d2c0;p=binutils-gdb.git Rename elf-linux-psinfo.h to elf-linux-core.h Since it will sometime have more than just prpsinfo. Also, elf32-ppc.c needlessly includes this header. * elf-linux-core.h: Rename 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/ChangeLog b/bfd/ChangeLog index 4523178c3d1..d06be409612 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,3 +1,12 @@ +2016-01-21 Alan Modra + + * elf-linux-core.h: Rename 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. + 2016-01-21 Alan Modra * configure.ac: Move corefile selection later in file. Move diff --git a/bfd/Makefile.am b/bfd/Makefile.am index cb3a8564b08..db6f059aa2a 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/Makefile.in b/bfd/Makefile.in index 6b90be7d42f..2a5de7cd293 100644 --- a/bfd/Makefile.in +++ b/bfd/Makefile.in @@ -1095,7 +1095,7 @@ BUILD_CFILES = \ CFILES = $(SOURCE_CFILES) $(BUILD_CFILES) 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 00000000000..ceb88bd291e --- /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 ceb88bd291e..00000000000 --- 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 b2a50bff3e7..dba5a0f0002 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 54cb5d4edc7..c2f2b700543 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 { diff --git a/bfd/po/SRC-POTFILES.in b/bfd/po/SRC-POTFILES.in index 25375de26bf..f12ad705411 100644 --- a/bfd/po/SRC-POTFILES.in +++ b/bfd/po/SRC-POTFILES.in @@ -157,7 +157,7 @@ elf-bfd.h elf-eh-frame.c elf-hppa.h elf-ifunc.c -elf-linux-psinfo.h +elf-linux-core.h elf-m10200.c elf-m10300.c elf-nacl.c