From 228e534f16219c61a3f2d1aea96cc5d78215b2d4 Mon Sep 17 00:00:00 2001 From: Alan Modra Date: Thu, 21 Feb 2013 03:02:30 +0000 Subject: [PATCH] * elf-bfd.h (struct core_elf_obj_tdata): New. (struct elf_obj_tdata): Delete core_signal, core_pid, core_lwpid, core_program, and core_command. Add "core". * elf.c (bfd_elf_mkcorefile): Allocate "core" struct. Update all refs to tdata core fields. * elf32-am33lin.c, * elf32-arm.c, * elf32-cris.c, * elf32-frv.c, * elf32-hppa.c, * elf32-i386.c, * elf32-m68k.c, * elf32-mips.c, * elf32-nios2.c, * elf32-ppc.c, * elf32-s390.c, * elf32-score.c, * elf32-score7.c, * elf32-sh.c, * elf32-sparc.c, * elf32-tilegx.c, * elf32-tilepro.c, * elf32-xtensa.c, * elf64-aarch64.c, * elf64-hppa.c, * elf64-mips.c, * elf64-ppc.c, * elf64-tilegx.c, * elf64-x86-64.c, * elfcore.h, * elfn32-mips.c: Update all refs to tdata core fields. --- bfd/ChangeLog | 16 ++++++++++ bfd/elf-bfd.h | 20 +++++++----- bfd/elf.c | 87 +++++++++++++++++++++++++++-------------------------- bfd/elf32-am33lin.c | 10 +++--- bfd/elf32-arm.c | 12 ++++---- bfd/elf32-cris.c | 18 +++++------ bfd/elf32-frv.c | 10 +++--- bfd/elf32-hppa.c | 10 +++--- bfd/elf32-i386.c | 20 ++++++------ bfd/elf32-m68k.c | 12 ++++---- bfd/elf32-mips.c | 10 +++--- bfd/elf32-nios2.c | 10 +++--- bfd/elf32-ppc.c | 12 ++++---- bfd/elf32-s390.c | 4 +-- bfd/elf32-score.c | 17 +++++++---- bfd/elf32-score7.c | 15 +++++---- bfd/elf32-sh.c | 10 +++--- bfd/elf32-sparc.c | 8 ++--- bfd/elf32-tilegx.c | 10 +++--- bfd/elf32-tilepro.c | 10 +++--- bfd/elf32-xtensa.c | 10 +++--- bfd/elf64-aarch64.c | 4 +-- bfd/elf64-hppa.c | 12 ++++---- bfd/elf64-mips.c | 10 +++--- bfd/elf64-ppc.c | 10 +++--- bfd/elf64-tilegx.c | 10 +++--- bfd/elf64-x86-64.c | 22 +++++++------- bfd/elfcore.h | 8 ++--- bfd/elfn32-mips.c | 10 +++--- 29 files changed, 225 insertions(+), 192 deletions(-) diff --git a/bfd/ChangeLog b/bfd/ChangeLog index ed4508f..8952bcb 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,5 +1,21 @@ 2013-02-21 Alan Modra + * elf-bfd.h (struct core_elf_obj_tdata): New. + (struct elf_obj_tdata): Delete core_signal, core_pid, core_lwpid, + core_program, and core_command. Add "core". + * elf.c (bfd_elf_mkcorefile): Allocate "core" struct. + Update all refs to tdata core fields. + * elf32-am33lin.c, * elf32-arm.c, * elf32-cris.c, * elf32-frv.c, + * elf32-hppa.c, * elf32-i386.c, * elf32-m68k.c, * elf32-mips.c, + * elf32-nios2.c, * elf32-ppc.c, * elf32-s390.c, * elf32-score.c, + * elf32-score7.c, * elf32-sh.c, * elf32-sparc.c, * elf32-tilegx.c, + * elf32-tilepro.c, * elf32-xtensa.c, * elf64-aarch64.c, + * elf64-hppa.c, * elf64-mips.c, * elf64-ppc.c, * elf64-tilegx.c, + * elf64-x86-64.c, * elfcore.h, * elfn32-mips.c: Update all refs + to tdata core fields. + +2013-02-21 Alan Modra + * elf-bfd.h (struct elf_obj_tdata): Rename segment_map to seg_map. Delete num_locals and num_globals. (elf_num_locals, elf_num_globals): Don't define. diff --git a/bfd/elf-bfd.h b/bfd/elf-bfd.h index b59ef20..ac4da71 100644 --- a/bfd/elf-bfd.h +++ b/bfd/elf-bfd.h @@ -1534,6 +1534,16 @@ struct elf_build_id_info } u; }; +/* tdata information grabbed from an elf core file. */ +struct core_elf_obj_tdata +{ + int signal; + int pid; + int lwpid; + char* program; + char* command; +}; + /* Some private data is stashed away for future use using the tdata pointer in the bfd structure. */ @@ -1564,13 +1574,6 @@ struct elf_obj_tdata bfd_vma gp; /* The gp value */ unsigned int gp_size; /* The gp size */ - /* Information grabbed from an elf core file. */ - int core_signal; - int core_pid; - int core_lwpid; - char* core_program; - char* core_command; - /* A mapping from external symbols to entries in the linker hash table, used when linking. This is indexed by the symbol index minus the sh_info field of the symbol table header. */ @@ -1681,6 +1684,9 @@ struct elf_obj_tdata /* An identifier used to distinguish different target specific extensions to this structure. */ enum elf_target_id object_id; + + /* Information grabbed from an elf core file. */ + struct core_elf_obj_tdata *core; }; #define elf_tdata(bfd) ((bfd) -> tdata.elf_obj_data) diff --git a/bfd/elf.c b/bfd/elf.c index c69129d..09cd93a 100644 --- a/bfd/elf.c +++ b/bfd/elf.c @@ -263,7 +263,10 @@ bfd_boolean bfd_elf_mkcorefile (bfd *abfd) { /* I think this can be done just like an object file. */ - return abfd->xvec->_bfd_set_format[(int) bfd_object] (abfd); + if (!abfd->xvec->_bfd_set_format[(int) bfd_object] (abfd)) + return FALSE; + elf_tdata (abfd)->core = bfd_zalloc (abfd, sizeof (*elf_tdata (abfd)->core)); + return elf_tdata (abfd)->core != NULL; } static char * @@ -7913,9 +7916,9 @@ elfcore_make_pid (bfd *abfd) { int pid; - pid = elf_tdata (abfd)->core_lwpid; + pid = elf_tdata (abfd)->core->lwpid; if (pid == 0) - pid = elf_tdata (abfd)->core_pid; + pid = elf_tdata (abfd)->core->pid; return pid; } @@ -8005,10 +8008,10 @@ elfcore_grok_prstatus (bfd *abfd, Elf_Internal_Note *note) /* Do not overwrite the core signal if it has already been set by another thread. */ - if (elf_tdata (abfd)->core_signal == 0) - elf_tdata (abfd)->core_signal = prstat.pr_cursig; - if (elf_tdata (abfd)->core_pid == 0) - elf_tdata (abfd)->core_pid = prstat.pr_pid; + if (elf_tdata (abfd)->core->signal == 0) + elf_tdata (abfd)->core->signal = prstat.pr_cursig; + if (elf_tdata (abfd)->core->pid == 0) + elf_tdata (abfd)->core->pid = prstat.pr_pid; /* pr_who exists on: solaris 2.5+ @@ -8017,9 +8020,9 @@ elfcore_grok_prstatus (bfd *abfd, Elf_Internal_Note *note) linux 2.[01] */ #if defined (HAVE_PRSTATUS_T_PR_WHO) - elf_tdata (abfd)->core_lwpid = prstat.pr_who; + elf_tdata (abfd)->core->lwpid = prstat.pr_who; #else - elf_tdata (abfd)->core_lwpid = prstat.pr_pid; + elf_tdata (abfd)->core->lwpid = prstat.pr_pid; #endif } #if defined (HAVE_PRSTATUS32_T) @@ -8034,10 +8037,10 @@ elfcore_grok_prstatus (bfd *abfd, Elf_Internal_Note *note) /* Do not overwrite the core signal if it has already been set by another thread. */ - if (elf_tdata (abfd)->core_signal == 0) - elf_tdata (abfd)->core_signal = prstat.pr_cursig; - if (elf_tdata (abfd)->core_pid == 0) - elf_tdata (abfd)->core_pid = prstat.pr_pid; + if (elf_tdata (abfd)->core->signal == 0) + elf_tdata (abfd)->core->signal = prstat.pr_cursig; + if (elf_tdata (abfd)->core->pid == 0) + elf_tdata (abfd)->core->pid = prstat.pr_pid; /* pr_who exists on: solaris 2.5+ @@ -8046,9 +8049,9 @@ elfcore_grok_prstatus (bfd *abfd, Elf_Internal_Note *note) linux 2.[01] */ #if defined (HAVE_PRSTATUS32_T_PR_WHO) - elf_tdata (abfd)->core_lwpid = prstat.pr_who; + elf_tdata (abfd)->core->lwpid = prstat.pr_who; #else - elf_tdata (abfd)->core_lwpid = prstat.pr_pid; + elf_tdata (abfd)->core->lwpid = prstat.pr_pid; #endif } #endif /* HAVE_PRSTATUS32_T */ @@ -8240,13 +8243,13 @@ elfcore_grok_psinfo (bfd *abfd, Elf_Internal_Note *note) memcpy (&psinfo, note->descdata, sizeof (psinfo)); #if defined (HAVE_PSINFO_T_PR_PID) || defined (HAVE_PRPSINFO_T_PR_PID) - elf_tdata (abfd)->core_pid = psinfo.pr_pid; + elf_tdata (abfd)->core->pid = psinfo.pr_pid; #endif - elf_tdata (abfd)->core_program + elf_tdata (abfd)->core->program = _bfd_elfcore_strndup (abfd, psinfo.pr_fname, sizeof (psinfo.pr_fname)); - elf_tdata (abfd)->core_command + elf_tdata (abfd)->core->command = _bfd_elfcore_strndup (abfd, psinfo.pr_psargs, sizeof (psinfo.pr_psargs)); } @@ -8259,13 +8262,13 @@ elfcore_grok_psinfo (bfd *abfd, Elf_Internal_Note *note) memcpy (&psinfo, note->descdata, sizeof (psinfo)); #if defined (HAVE_PSINFO32_T_PR_PID) || defined (HAVE_PRPSINFO32_T_PR_PID) - elf_tdata (abfd)->core_pid = psinfo.pr_pid; + elf_tdata (abfd)->core->pid = psinfo.pr_pid; #endif - elf_tdata (abfd)->core_program + elf_tdata (abfd)->core->program = _bfd_elfcore_strndup (abfd, psinfo.pr_fname, sizeof (psinfo.pr_fname)); - elf_tdata (abfd)->core_command + elf_tdata (abfd)->core->command = _bfd_elfcore_strndup (abfd, psinfo.pr_psargs, sizeof (psinfo.pr_psargs)); } @@ -8283,7 +8286,7 @@ elfcore_grok_psinfo (bfd *abfd, Elf_Internal_Note *note) implementations, so strip it off if it exists. */ { - char *command = elf_tdata (abfd)->core_command; + char *command = elf_tdata (abfd)->core->command; int n = strlen (command); if (0 < n && command[n - 1] == ' ') @@ -8308,7 +8311,7 @@ elfcore_grok_pstatus (bfd *abfd, Elf_Internal_Note *note) memcpy (&pstat, note->descdata, sizeof (pstat)); - elf_tdata (abfd)->core_pid = pstat.pr_pid; + elf_tdata (abfd)->core->pid = pstat.pr_pid; } #if defined (HAVE_PSTATUS32_T) else if (note->descsz == sizeof (pstatus32_t)) @@ -8318,7 +8321,7 @@ elfcore_grok_pstatus (bfd *abfd, Elf_Internal_Note *note) memcpy (&pstat, note->descdata, sizeof (pstat)); - elf_tdata (abfd)->core_pid = pstat.pr_pid; + elf_tdata (abfd)->core->pid = pstat.pr_pid; } #endif /* Could grab some more details from the "representative" @@ -8348,11 +8351,11 @@ elfcore_grok_lwpstatus (bfd *abfd, Elf_Internal_Note *note) memcpy (&lwpstat, note->descdata, sizeof (lwpstat)); - elf_tdata (abfd)->core_lwpid = lwpstat.pr_lwpid; + elf_tdata (abfd)->core->lwpid = lwpstat.pr_lwpid; /* Do not overwrite the core signal if it has already been set by another thread. */ - if (elf_tdata (abfd)->core_signal == 0) - elf_tdata (abfd)->core_signal = lwpstat.pr_cursig; + if (elf_tdata (abfd)->core->signal == 0) + elf_tdata (abfd)->core->signal = lwpstat.pr_cursig; /* Make a ".reg/999" section. */ @@ -8435,11 +8438,11 @@ elfcore_grok_win32pstatus (bfd *abfd, Elf_Internal_Note *note) switch (type) { case 1 /* NOTE_INFO_PROCESS */: - /* FIXME: need to add ->core_command. */ + /* FIXME: need to add ->core->command. */ /* process_info.pid */ - elf_tdata (abfd)->core_pid = bfd_get_32 (abfd, note->descdata + 8); + elf_tdata (abfd)->core->pid = bfd_get_32 (abfd, note->descdata + 8); /* process_info.signal */ - elf_tdata (abfd)->core_signal = bfd_get_32 (abfd, note->descdata + 12); + elf_tdata (abfd)->core->signal = bfd_get_32 (abfd, note->descdata + 12); break; case 2 /* NOTE_INFO_THREAD */: @@ -8764,15 +8767,15 @@ static bfd_boolean elfcore_grok_netbsd_procinfo (bfd *abfd, Elf_Internal_Note *note) { /* Signal number at offset 0x08. */ - elf_tdata (abfd)->core_signal + elf_tdata (abfd)->core->signal = bfd_h_get_32 (abfd, (bfd_byte *) note->descdata + 0x08); /* Process ID at offset 0x50. */ - elf_tdata (abfd)->core_pid + elf_tdata (abfd)->core->pid = bfd_h_get_32 (abfd, (bfd_byte *) note->descdata + 0x50); /* Command name at 0x7c (max 32 bytes, including nul). */ - elf_tdata (abfd)->core_command + elf_tdata (abfd)->core->command = _bfd_elfcore_strndup (abfd, note->descdata + 0x7c, 31); return elfcore_make_note_pseudosection (abfd, ".note.netbsdcore.procinfo", @@ -8785,7 +8788,7 @@ elfcore_grok_netbsd_note (bfd *abfd, Elf_Internal_Note *note) int lwp; if (elfcore_netbsd_get_lwpid (note, &lwp)) - elf_tdata (abfd)->core_lwpid = lwp; + elf_tdata (abfd)->core->lwpid = lwp; if (note->type == NT_NETBSDCORE_PROCINFO) { @@ -8848,15 +8851,15 @@ static bfd_boolean elfcore_grok_openbsd_procinfo (bfd *abfd, Elf_Internal_Note *note) { /* Signal number at offset 0x08. */ - elf_tdata (abfd)->core_signal + elf_tdata (abfd)->core->signal = bfd_h_get_32 (abfd, (bfd_byte *) note->descdata + 0x08); /* Process ID at offset 0x20. */ - elf_tdata (abfd)->core_pid + elf_tdata (abfd)->core->pid = bfd_h_get_32 (abfd, (bfd_byte *) note->descdata + 0x20); /* Command name at 0x48 (max 32 bytes, including nul). */ - elf_tdata (abfd)->core_command + elf_tdata (abfd)->core->command = _bfd_elfcore_strndup (abfd, note->descdata + 0x48, 31); return TRUE; @@ -8919,7 +8922,7 @@ elfcore_grok_nto_status (bfd *abfd, Elf_Internal_Note *note, long *tid) unsigned flags; /* nto_procfs_status 'pid' field is at offset 0. */ - elf_tdata (abfd)->core_pid = bfd_get_32 (abfd, (bfd_byte *) ddata); + elf_tdata (abfd)->core->pid = bfd_get_32 (abfd, (bfd_byte *) ddata); /* nto_procfs_status 'tid' field is at offset 4. Pass it back. */ *tid = bfd_get_32 (abfd, (bfd_byte *) ddata + 4); @@ -8930,15 +8933,15 @@ elfcore_grok_nto_status (bfd *abfd, Elf_Internal_Note *note, long *tid) /* nto_procfs_status 'what' field is at offset 14. */ if ((sig = bfd_get_16 (abfd, (bfd_byte *) ddata + 14)) > 0) { - elf_tdata (abfd)->core_signal = sig; - elf_tdata (abfd)->core_lwpid = *tid; + elf_tdata (abfd)->core->signal = sig; + elf_tdata (abfd)->core->lwpid = *tid; } /* _DEBUG_FLAG_CURTID (current thread) is 0x80. Some cores do not come from signals so we make sure we set the current thread just in case. */ if (flags & 0x00000080) - elf_tdata (abfd)->core_lwpid = *tid; + elf_tdata (abfd)->core->lwpid = *tid; /* Make a ".qnx_core_status/%d" section. */ sprintf (buf, ".qnx_core_status/%ld", *tid); @@ -8986,7 +8989,7 @@ elfcore_grok_nto_regs (bfd *abfd, sect->alignment_power = 2; /* This is the current thread. */ - if (elf_tdata (abfd)->core_lwpid == tid) + if (elf_tdata (abfd)->core->lwpid == tid) return elfcore_maybe_make_sect (abfd, base, sect); return TRUE; diff --git a/bfd/elf32-am33lin.c b/bfd/elf32-am33lin.c index dd2aed4..f23ef8e 100644 --- a/bfd/elf32-am33lin.c +++ b/bfd/elf32-am33lin.c @@ -53,10 +53,10 @@ elf32_am33lin_grok_prstatus (bfd *abfd, Elf_Internal_Note *note) case 184: case 188: /* Linux/am33 */ /* pr_cursig */ - elf_tdata (abfd)->core_signal = bfd_get_16 (abfd, note->descdata + 12); + elf_tdata (abfd)->core->signal = bfd_get_16 (abfd, note->descdata + 12); /* pr_pid */ - elf_tdata (abfd)->core_lwpid = bfd_get_32 (abfd, note->descdata + 24); + elf_tdata (abfd)->core->lwpid = bfd_get_32 (abfd, note->descdata + 24); /* pr_reg */ offset = 72; @@ -79,9 +79,9 @@ elf32_am33lin_grok_psinfo (bfd *abfd, Elf_Internal_Note *note) return FALSE; case 124: /* Linux/am33 elf_prpsinfo */ - elf_tdata (abfd)->core_program + elf_tdata (abfd)->core->program = _bfd_elfcore_strndup (abfd, note->descdata + 28, 16); - elf_tdata (abfd)->core_command + elf_tdata (abfd)->core->command = _bfd_elfcore_strndup (abfd, note->descdata + 44, 80); } @@ -90,7 +90,7 @@ elf32_am33lin_grok_psinfo (bfd *abfd, Elf_Internal_Note *note) implementations, so strip it off if it exists. */ { - char *command = elf_tdata (abfd)->core_command; + char *command = elf_tdata (abfd)->core->command; int n = strlen (command); if (0 < n && command[n - 1] == ' ') diff --git a/bfd/elf32-arm.c b/bfd/elf32-arm.c index 8fc25db..cf5bc6d 100644 --- a/bfd/elf32-arm.c +++ b/bfd/elf32-arm.c @@ -1945,10 +1945,10 @@ elf32_arm_nabi_grok_prstatus (bfd *abfd, Elf_Internal_Note *note) case 148: /* Linux/ARM 32-bit. */ /* pr_cursig */ - elf_tdata (abfd)->core_signal = bfd_get_16 (abfd, note->descdata + 12); + elf_tdata (abfd)->core->signal = bfd_get_16 (abfd, note->descdata + 12); /* pr_pid */ - elf_tdata (abfd)->core_lwpid = bfd_get_32 (abfd, note->descdata + 24); + elf_tdata (abfd)->core->lwpid = bfd_get_32 (abfd, note->descdata + 24); /* pr_reg */ offset = 72; @@ -1971,11 +1971,11 @@ elf32_arm_nabi_grok_psinfo (bfd *abfd, Elf_Internal_Note *note) return FALSE; case 124: /* Linux/ARM elf_prpsinfo. */ - elf_tdata (abfd)->core_pid + elf_tdata (abfd)->core->pid = bfd_get_32 (abfd, note->descdata + 12); - elf_tdata (abfd)->core_program + elf_tdata (abfd)->core->program = _bfd_elfcore_strndup (abfd, note->descdata + 28, 16); - elf_tdata (abfd)->core_command + elf_tdata (abfd)->core->command = _bfd_elfcore_strndup (abfd, note->descdata + 44, 80); } @@ -1983,7 +1983,7 @@ elf32_arm_nabi_grok_psinfo (bfd *abfd, Elf_Internal_Note *note) onto the end of the args in some (at least one anyway) implementations, so strip it off if it exists. */ { - char *command = elf_tdata (abfd)->core_command; + char *command = elf_tdata (abfd)->core->command; int n = strlen (command); if (0 < n && command[n - 1] == ' ') diff --git a/bfd/elf32-cris.c b/bfd/elf32-cris.c index 5f0eca9..7af0255 100644 --- a/bfd/elf32-cris.c +++ b/bfd/elf32-cris.c @@ -511,10 +511,10 @@ cris_elf_grok_prstatus (bfd *abfd, Elf_Internal_Note *note) case 202: /* Linux/CRISv32 */ /* pr_cursig */ - elf_tdata (abfd)->core_signal = bfd_get_16 (abfd, note->descdata + 12); + elf_tdata (abfd)->core->signal = bfd_get_16 (abfd, note->descdata + 12); /* pr_pid */ - elf_tdata (abfd)->core_lwpid = bfd_get_32 (abfd, note->descdata + 22); + elf_tdata (abfd)->core->lwpid = bfd_get_32 (abfd, note->descdata + 22); /* pr_reg */ offset = 70; @@ -530,10 +530,10 @@ cris_elf_grok_prstatus (bfd *abfd, Elf_Internal_Note *note) case 214: /* Linux/CRIS */ /* pr_cursig */ - elf_tdata (abfd)->core_signal = bfd_get_16 (abfd, note->descdata + 12); + elf_tdata (abfd)->core->signal = bfd_get_16 (abfd, note->descdata + 12); /* pr_pid */ - elf_tdata (abfd)->core_lwpid = bfd_get_32 (abfd, note->descdata + 22); + elf_tdata (abfd)->core->lwpid = bfd_get_32 (abfd, note->descdata + 22); /* pr_reg */ offset = 70; @@ -557,9 +557,9 @@ cris_elf_grok_psinfo (bfd *abfd, Elf_Internal_Note *note) return FALSE; case 124: /* Linux/CRISv32 elf_prpsinfo */ - elf_tdata (abfd)->core_program + elf_tdata (abfd)->core->program = _bfd_elfcore_strndup (abfd, note->descdata + 28, 16); - elf_tdata (abfd)->core_command + elf_tdata (abfd)->core->command = _bfd_elfcore_strndup (abfd, note->descdata + 44, 80); } else @@ -569,9 +569,9 @@ cris_elf_grok_psinfo (bfd *abfd, Elf_Internal_Note *note) return FALSE; case 124: /* Linux/CRIS elf_prpsinfo */ - elf_tdata (abfd)->core_program + elf_tdata (abfd)->core->program = _bfd_elfcore_strndup (abfd, note->descdata + 28, 16); - elf_tdata (abfd)->core_command + elf_tdata (abfd)->core->command = _bfd_elfcore_strndup (abfd, note->descdata + 44, 80); } @@ -580,7 +580,7 @@ cris_elf_grok_psinfo (bfd *abfd, Elf_Internal_Note *note) implementations, so strip it off if it exists. */ { - char *command = elf_tdata (abfd)->core_command; + char *command = elf_tdata (abfd)->core->command; int n = strlen (command); if (0 < n && command[n - 1] == ' ') diff --git a/bfd/elf32-frv.c b/bfd/elf32-frv.c index 0f35082..efe731c 100644 --- a/bfd/elf32-frv.c +++ b/bfd/elf32-frv.c @@ -6746,10 +6746,10 @@ elf32_frv_grok_prstatus (bfd *abfd, Elf_Internal_Note *note) struct. */ case 268: /* `pr_cursig' is at offset 12. */ - elf_tdata (abfd)->core_signal = bfd_get_16 (abfd, note->descdata + 12); + elf_tdata (abfd)->core->signal = bfd_get_16 (abfd, note->descdata + 12); /* `pr_pid' is at offset 24. */ - elf_tdata (abfd)->core_lwpid = bfd_get_32 (abfd, note->descdata + 24); + elf_tdata (abfd)->core->lwpid = bfd_get_32 (abfd, note->descdata + 24); /* `pr_reg' is at offset 72. */ offset = 72; @@ -6785,11 +6785,11 @@ elf32_frv_grok_psinfo (bfd *abfd, Elf_Internal_Note *note) case 124: /* `pr_fname' is found at offset 28 and is 16 bytes long. */ - elf_tdata (abfd)->core_program + elf_tdata (abfd)->core->program = _bfd_elfcore_strndup (abfd, note->descdata + 28, 16); /* `pr_psargs' is found at offset 44 and is 80 bytes long. */ - elf_tdata (abfd)->core_command + elf_tdata (abfd)->core->command = _bfd_elfcore_strndup (abfd, note->descdata + 44, 80); } @@ -6798,7 +6798,7 @@ elf32_frv_grok_psinfo (bfd *abfd, Elf_Internal_Note *note) implementations, so strip it off if it exists. */ { - char *command = elf_tdata (abfd)->core_command; + char *command = elf_tdata (abfd)->core->command; int n = strlen (command); if (0 < n && command[n - 1] == ' ') diff --git a/bfd/elf32-hppa.c b/bfd/elf32-hppa.c index 5399d49..c74c053 100644 --- a/bfd/elf32-hppa.c +++ b/bfd/elf32-hppa.c @@ -1706,10 +1706,10 @@ elf32_hppa_grok_prstatus (bfd *abfd, Elf_Internal_Note *note) case 396: /* Linux/hppa */ /* pr_cursig */ - elf_tdata (abfd)->core_signal = bfd_get_16 (abfd, note->descdata + 12); + elf_tdata (abfd)->core->signal = bfd_get_16 (abfd, note->descdata + 12); /* pr_pid */ - elf_tdata (abfd)->core_lwpid = bfd_get_32 (abfd, note->descdata + 24); + elf_tdata (abfd)->core->lwpid = bfd_get_32 (abfd, note->descdata + 24); /* pr_reg */ offset = 72; @@ -1732,9 +1732,9 @@ elf32_hppa_grok_psinfo (bfd *abfd, Elf_Internal_Note *note) return FALSE; case 124: /* Linux/hppa elf_prpsinfo. */ - elf_tdata (abfd)->core_program + elf_tdata (abfd)->core->program = _bfd_elfcore_strndup (abfd, note->descdata + 28, 16); - elf_tdata (abfd)->core_command + elf_tdata (abfd)->core->command = _bfd_elfcore_strndup (abfd, note->descdata + 44, 80); } @@ -1742,7 +1742,7 @@ elf32_hppa_grok_psinfo (bfd *abfd, Elf_Internal_Note *note) onto the end of the args in some (at least one anyway) implementations, so strip it off if it exists. */ { - char *command = elf_tdata (abfd)->core_command; + char *command = elf_tdata (abfd)->core->command; int n = strlen (command); if (0 < n && command[n - 1] == ' ') diff --git a/bfd/elf32-i386.c b/bfd/elf32-i386.c index 16dd28eb..c048e58 100644 --- a/bfd/elf32-i386.c +++ b/bfd/elf32-i386.c @@ -425,10 +425,10 @@ elf_i386_grok_prstatus (bfd *abfd, Elf_Internal_Note *note) return FALSE; /* pr_cursig */ - elf_tdata (abfd)->core_signal = bfd_get_32 (abfd, note->descdata + 20); + elf_tdata (abfd)->core->signal = bfd_get_32 (abfd, note->descdata + 20); /* pr_pid */ - elf_tdata (abfd)->core_lwpid = bfd_get_32 (abfd, note->descdata + 24); + elf_tdata (abfd)->core->lwpid = bfd_get_32 (abfd, note->descdata + 24); /* pr_reg */ offset = 28; @@ -443,10 +443,10 @@ elf_i386_grok_prstatus (bfd *abfd, Elf_Internal_Note *note) case 144: /* Linux/i386 */ /* pr_cursig */ - elf_tdata (abfd)->core_signal = bfd_get_16 (abfd, note->descdata + 12); + elf_tdata (abfd)->core->signal = bfd_get_16 (abfd, note->descdata + 12); /* pr_pid */ - elf_tdata (abfd)->core_lwpid = bfd_get_32 (abfd, note->descdata + 24); + elf_tdata (abfd)->core->lwpid = bfd_get_32 (abfd, note->descdata + 24); /* pr_reg */ offset = 72; @@ -471,9 +471,9 @@ elf_i386_grok_psinfo (bfd *abfd, Elf_Internal_Note *note) if (pr_version != 1) return FALSE; - elf_tdata (abfd)->core_program + elf_tdata (abfd)->core->program = _bfd_elfcore_strndup (abfd, note->descdata + 8, 17); - elf_tdata (abfd)->core_command + elf_tdata (abfd)->core->command = _bfd_elfcore_strndup (abfd, note->descdata + 25, 81); } else @@ -484,11 +484,11 @@ elf_i386_grok_psinfo (bfd *abfd, Elf_Internal_Note *note) return FALSE; case 124: /* Linux/i386 elf_prpsinfo. */ - elf_tdata (abfd)->core_pid + elf_tdata (abfd)->core->pid = bfd_get_32 (abfd, note->descdata + 12); - elf_tdata (abfd)->core_program + elf_tdata (abfd)->core->program = _bfd_elfcore_strndup (abfd, note->descdata + 28, 16); - elf_tdata (abfd)->core_command + elf_tdata (abfd)->core->command = _bfd_elfcore_strndup (abfd, note->descdata + 44, 80); } } @@ -497,7 +497,7 @@ elf_i386_grok_psinfo (bfd *abfd, Elf_Internal_Note *note) onto the end of the args in some (at least one anyway) implementations, so strip it off if it exists. */ { - char *command = elf_tdata (abfd)->core_command; + char *command = elf_tdata (abfd)->core->command; int n = strlen (command); if (0 < n && command[n - 1] == ' ') diff --git a/bfd/elf32-m68k.c b/bfd/elf32-m68k.c index d47f753..76a1e0c 100644 --- a/bfd/elf32-m68k.c +++ b/bfd/elf32-m68k.c @@ -4777,10 +4777,10 @@ elf_m68k_grok_prstatus (bfd *abfd, Elf_Internal_Note *note) case 154: /* Linux/m68k */ /* pr_cursig */ - elf_tdata (abfd)->core_signal = bfd_get_16 (abfd, note->descdata + 12); + elf_tdata (abfd)->core->signal = bfd_get_16 (abfd, note->descdata + 12); /* pr_pid */ - elf_tdata (abfd)->core_lwpid = bfd_get_32 (abfd, note->descdata + 22); + elf_tdata (abfd)->core->lwpid = bfd_get_32 (abfd, note->descdata + 22); /* pr_reg */ offset = 70; @@ -4803,11 +4803,11 @@ elf_m68k_grok_psinfo (bfd *abfd, Elf_Internal_Note *note) return FALSE; case 124: /* Linux/m68k elf_prpsinfo. */ - elf_tdata (abfd)->core_pid + elf_tdata (abfd)->core->pid = bfd_get_32 (abfd, note->descdata + 12); - elf_tdata (abfd)->core_program + elf_tdata (abfd)->core->program = _bfd_elfcore_strndup (abfd, note->descdata + 28, 16); - elf_tdata (abfd)->core_command + elf_tdata (abfd)->core->command = _bfd_elfcore_strndup (abfd, note->descdata + 44, 80); } @@ -4815,7 +4815,7 @@ elf_m68k_grok_psinfo (bfd *abfd, Elf_Internal_Note *note) onto the end of the args in some (at least one anyway) implementations, so strip it off if it exists. */ { - char *command = elf_tdata (abfd)->core_command; + char *command = elf_tdata (abfd)->core->command; int n = strlen (command); if (n > 0 && command[n - 1] == ' ') diff --git a/bfd/elf32-mips.c b/bfd/elf32-mips.c index 18eb643..cb7692b 100644 --- a/bfd/elf32-mips.c +++ b/bfd/elf32-mips.c @@ -2186,10 +2186,10 @@ elf32_mips_grok_prstatus (bfd *abfd, Elf_Internal_Note *note) case 256: /* Linux/MIPS */ /* pr_cursig */ - elf_tdata (abfd)->core_signal = bfd_get_16 (abfd, note->descdata + 12); + elf_tdata (abfd)->core->signal = bfd_get_16 (abfd, note->descdata + 12); /* pr_pid */ - elf_tdata (abfd)->core_lwpid = bfd_get_32 (abfd, note->descdata + 24); + elf_tdata (abfd)->core->lwpid = bfd_get_32 (abfd, note->descdata + 24); /* pr_reg */ offset = 72; @@ -2212,9 +2212,9 @@ elf32_mips_grok_psinfo (bfd *abfd, Elf_Internal_Note *note) return FALSE; case 128: /* Linux/MIPS elf_prpsinfo */ - elf_tdata (abfd)->core_program + elf_tdata (abfd)->core->program = _bfd_elfcore_strndup (abfd, note->descdata + 32, 16); - elf_tdata (abfd)->core_command + elf_tdata (abfd)->core->command = _bfd_elfcore_strndup (abfd, note->descdata + 48, 80); } @@ -2223,7 +2223,7 @@ elf32_mips_grok_psinfo (bfd *abfd, Elf_Internal_Note *note) implementations, so strip it off if it exists. */ { - char *command = elf_tdata (abfd)->core_command; + char *command = elf_tdata (abfd)->core->command; int n = strlen (command); if (0 < n && command[n - 1] == ' ') diff --git a/bfd/elf32-nios2.c b/bfd/elf32-nios2.c index 35fda54..85ef7c9 100644 --- a/bfd/elf32-nios2.c +++ b/bfd/elf32-nios2.c @@ -880,10 +880,10 @@ nios2_grok_prstatus (bfd *abfd, Elf_Internal_Note *note) case 212: /* Linux/Nios II */ /* pr_cursig */ - elf_tdata (abfd)->core_signal = bfd_get_16 (abfd, note->descdata + 12); + elf_tdata (abfd)->core->signal = bfd_get_16 (abfd, note->descdata + 12); /* pr_pid */ - elf_tdata (abfd)->core_pid = bfd_get_32 (abfd, note->descdata + 24); + elf_tdata (abfd)->core->pid = bfd_get_32 (abfd, note->descdata + 24); /* pr_reg */ offset = 72; @@ -907,9 +907,9 @@ nios2_grok_psinfo (bfd *abfd, Elf_Internal_Note *note) return FALSE; case 124: /* Linux/Nios II elf_prpsinfo */ - elf_tdata (abfd)->core_program + elf_tdata (abfd)->core->program = _bfd_elfcore_strndup (abfd, note->descdata + 28, 16); - elf_tdata (abfd)->core_command + elf_tdata (abfd)->core->command = _bfd_elfcore_strndup (abfd, note->descdata + 44, 80); } @@ -918,7 +918,7 @@ nios2_grok_psinfo (bfd *abfd, Elf_Internal_Note *note) implementations, so strip it off if it exists. */ { - char *command = elf_tdata (abfd)->core_command; + char *command = elf_tdata (abfd)->core->command; int n = strlen (command); if (0 < n && command[n - 1] == ' ') diff --git a/bfd/elf32-ppc.c b/bfd/elf32-ppc.c index 8925d5a..bac1ce2 100644 --- a/bfd/elf32-ppc.c +++ b/bfd/elf32-ppc.c @@ -2216,10 +2216,10 @@ ppc_elf_grok_prstatus (bfd *abfd, Elf_Internal_Note *note) case 268: /* Linux/PPC. */ /* pr_cursig */ - elf_tdata (abfd)->core_signal = bfd_get_16 (abfd, note->descdata + 12); + elf_tdata (abfd)->core->signal = bfd_get_16 (abfd, note->descdata + 12); /* pr_pid */ - elf_tdata (abfd)->core_lwpid = bfd_get_32 (abfd, note->descdata + 24); + elf_tdata (abfd)->core->lwpid = bfd_get_32 (abfd, note->descdata + 24); /* pr_reg */ offset = 72; @@ -2242,11 +2242,11 @@ ppc_elf_grok_psinfo (bfd *abfd, Elf_Internal_Note *note) return FALSE; case 128: /* Linux/PPC elf_prpsinfo. */ - elf_tdata (abfd)->core_pid + elf_tdata (abfd)->core->pid = bfd_get_32 (abfd, note->descdata + 16); - elf_tdata (abfd)->core_program + elf_tdata (abfd)->core->program = _bfd_elfcore_strndup (abfd, note->descdata + 32, 16); - elf_tdata (abfd)->core_command + elf_tdata (abfd)->core->command = _bfd_elfcore_strndup (abfd, note->descdata + 48, 80); } @@ -2255,7 +2255,7 @@ ppc_elf_grok_psinfo (bfd *abfd, Elf_Internal_Note *note) implementations, so strip it off if it exists. */ { - char *command = elf_tdata (abfd)->core_command; + char *command = elf_tdata (abfd)->core->command; int n = strlen (command); if (0 < n && command[n - 1] == ' ') diff --git a/bfd/elf32-s390.c b/bfd/elf32-s390.c index 2c0822b..948b621 100644 --- a/bfd/elf32-s390.c +++ b/bfd/elf32-s390.c @@ -3869,10 +3869,10 @@ elf_s390_grok_prstatus (bfd * abfd, Elf_Internal_Note * note) case 224: /* S/390 Linux. */ /* pr_cursig */ - elf_tdata (abfd)->core_signal = bfd_get_16 (abfd, note->descdata + 12); + elf_tdata (abfd)->core->signal = bfd_get_16 (abfd, note->descdata + 12); /* pr_pid */ - elf_tdata (abfd)->core_lwpid = bfd_get_32 (abfd, note->descdata + 24); + elf_tdata (abfd)->core->lwpid = bfd_get_32 (abfd, note->descdata + 24); /* pr_reg */ offset = 72; diff --git a/bfd/elf32-score.c b/bfd/elf32-score.c index ee3a668..dae7f69 100644 --- a/bfd/elf32-score.c +++ b/bfd/elf32-score.c @@ -3906,10 +3906,12 @@ s3_bfd_score_elf_grok_prstatus (bfd *abfd, Elf_Internal_Note *note) case 148: /* Linux/Score 32-bit. */ /* pr_cursig */ - elf_tdata (abfd)->core_signal = score_bfd_get_16 (abfd, note->descdata + 12); + elf_tdata (abfd)->core->signal + = score_bfd_get_16 (abfd, note->descdata + 12); /* pr_pid */ - elf_tdata (abfd)->core_lwpid = score_bfd_get_32 (abfd, note->descdata + 24); + elf_tdata (abfd)->core->lwpid + = score_bfd_get_32 (abfd, note->descdata + 24); /* pr_reg */ offset = 72; @@ -3919,7 +3921,8 @@ s3_bfd_score_elf_grok_prstatus (bfd *abfd, Elf_Internal_Note *note) } /* Make a ".reg/999" section. */ - return _bfd_elfcore_make_pseudosection (abfd, ".reg", raw_size, note->descpos + offset); + return _bfd_elfcore_make_pseudosection (abfd, ".reg", raw_size, + note->descpos + offset); } static bfd_boolean @@ -3931,8 +3934,10 @@ s3_bfd_score_elf_grok_psinfo (bfd *abfd, Elf_Internal_Note *note) return FALSE; case 124: /* Linux/Score elf_prpsinfo. */ - elf_tdata (abfd)->core_program = _bfd_elfcore_strndup (abfd, note->descdata + 28, 16); - elf_tdata (abfd)->core_command = _bfd_elfcore_strndup (abfd, note->descdata + 44, 80); + elf_tdata (abfd)->core->program + = _bfd_elfcore_strndup (abfd, note->descdata + 28, 16); + elf_tdata (abfd)->core->command + = _bfd_elfcore_strndup (abfd, note->descdata + 44, 80); } /* Note that for some reason, a spurious space is tacked @@ -3940,7 +3945,7 @@ s3_bfd_score_elf_grok_psinfo (bfd *abfd, Elf_Internal_Note *note) implementations, so strip it off if it exists. */ { - char *command = elf_tdata (abfd)->core_command; + char *command = elf_tdata (abfd)->core->command; int n = strlen (command); if (0 < n && command[n - 1] == ' ') diff --git a/bfd/elf32-score7.c b/bfd/elf32-score7.c index 30bfe39..b9b9f30 100644 --- a/bfd/elf32-score7.c +++ b/bfd/elf32-score7.c @@ -3722,10 +3722,10 @@ s7_bfd_score_elf_grok_prstatus (bfd *abfd, Elf_Internal_Note *note) case 272: /* Linux/Score elf_prstatus */ /* pr_cursig */ - elf_tdata (abfd)->core_signal = bfd_get_16 (abfd, note->descdata + 12); + elf_tdata (abfd)->core->signal = bfd_get_16 (abfd, note->descdata + 12); /* pr_pid */ - elf_tdata (abfd)->core_lwpid = bfd_get_32 (abfd, note->descdata + 24); + elf_tdata (abfd)->core->lwpid = bfd_get_32 (abfd, note->descdata + 24); /* pr_reg */ offset = 72; @@ -3737,7 +3737,8 @@ s7_bfd_score_elf_grok_prstatus (bfd *abfd, Elf_Internal_Note *note) } /* Make a ".reg/999" section. */ - return _bfd_elfcore_make_pseudosection (abfd, ".reg", raw_size, note->descpos + offset); + return _bfd_elfcore_make_pseudosection (abfd, ".reg", raw_size, + note->descpos + offset); } bfd_boolean @@ -3750,10 +3751,12 @@ s7_bfd_score_elf_grok_psinfo (bfd *abfd, Elf_Internal_Note *note) case 128: /* Linux/Score elf_prpsinfo. */ /* pr_fname */ - elf_tdata (abfd)->core_program = _bfd_elfcore_strndup (abfd, note->descdata + 32, 16); + elf_tdata (abfd)->core->program + = _bfd_elfcore_strndup (abfd, note->descdata + 32, 16); /* pr_psargs */ - elf_tdata (abfd)->core_command = _bfd_elfcore_strndup (abfd, note->descdata + 48, 80); + elf_tdata (abfd)->core->command + = _bfd_elfcore_strndup (abfd, note->descdata + 48, 80); break; } @@ -3762,7 +3765,7 @@ s7_bfd_score_elf_grok_psinfo (bfd *abfd, Elf_Internal_Note *note) implementations, so strip it off if it exists. */ { - char *command = elf_tdata (abfd)->core_command; + char *command = elf_tdata (abfd)->core->command; int n = strlen (command); if (0 < n && command[n - 1] == ' ') diff --git a/bfd/elf32-sh.c b/bfd/elf32-sh.c index 12872a1..fff324d 100644 --- a/bfd/elf32-sh.c +++ b/bfd/elf32-sh.c @@ -7292,10 +7292,10 @@ elf32_shlin_grok_prstatus (bfd *abfd, Elf_Internal_Note *note) case 168: /* Linux/SH */ /* pr_cursig */ - elf_tdata (abfd)->core_signal = bfd_get_16 (abfd, note->descdata + 12); + elf_tdata (abfd)->core->signal = bfd_get_16 (abfd, note->descdata + 12); /* pr_pid */ - elf_tdata (abfd)->core_lwpid = bfd_get_32 (abfd, note->descdata + 24); + elf_tdata (abfd)->core->lwpid = bfd_get_32 (abfd, note->descdata + 24); /* pr_reg */ offset = 72; @@ -7318,9 +7318,9 @@ elf32_shlin_grok_psinfo (bfd *abfd, Elf_Internal_Note *note) return FALSE; case 124: /* Linux/SH elf_prpsinfo */ - elf_tdata (abfd)->core_program + elf_tdata (abfd)->core->program = _bfd_elfcore_strndup (abfd, note->descdata + 28, 16); - elf_tdata (abfd)->core_command + elf_tdata (abfd)->core->command = _bfd_elfcore_strndup (abfd, note->descdata + 44, 80); } @@ -7329,7 +7329,7 @@ elf32_shlin_grok_psinfo (bfd *abfd, Elf_Internal_Note *note) implementations, so strip it off if it exists. */ { - char *command = elf_tdata (abfd)->core_command; + char *command = elf_tdata (abfd)->core->command; int n = strlen (command); if (0 < n && command[n - 1] == ' ') diff --git a/bfd/elf32-sparc.c b/bfd/elf32-sparc.c index f722fcc..63996c4 100644 --- a/bfd/elf32-sparc.c +++ b/bfd/elf32-sparc.c @@ -41,16 +41,16 @@ elf32_sparc_grok_psinfo (bfd *abfd, Elf_Internal_Note *note) return FALSE; case 260: /* Solaris prpsinfo_t. */ - elf_tdata (abfd)->core_program + elf_tdata (abfd)->core->program = _bfd_elfcore_strndup (abfd, note->descdata + 84, 16); - elf_tdata (abfd)->core_command + elf_tdata (abfd)->core->command = _bfd_elfcore_strndup (abfd, note->descdata + 100, 80); break; case 336: /* Solaris psinfo_t. */ - elf_tdata (abfd)->core_program + elf_tdata (abfd)->core->program = _bfd_elfcore_strndup (abfd, note->descdata + 88, 16); - elf_tdata (abfd)->core_command + elf_tdata (abfd)->core->command = _bfd_elfcore_strndup (abfd, note->descdata + 104, 80); break; } diff --git a/bfd/elf32-tilegx.c b/bfd/elf32-tilegx.c index 1b4884b..648fbf1 100644 --- a/bfd/elf32-tilegx.c +++ b/bfd/elf32-tilegx.c @@ -38,11 +38,11 @@ tilegx_elf_grok_prstatus (bfd *abfd, Elf_Internal_Note *note) return FALSE; /* pr_cursig */ - elf_tdata (abfd)->core_signal = + elf_tdata (abfd)->core->signal = bfd_get_16 (abfd, note->descdata + TILEGX_PRSTATUS_OFFSET_PR_CURSIG); /* pr_pid */ - elf_tdata (abfd)->core_pid = + elf_tdata (abfd)->core->pid = bfd_get_32 (abfd, note->descdata + TILEGX_PRSTATUS_OFFSET_PR_PID); /* pr_reg */ @@ -60,9 +60,9 @@ tilegx_elf_grok_psinfo (bfd *abfd, Elf_Internal_Note *note) if (note->descsz != TILEGX_PRPSINFO_SIZEOF) return FALSE; - elf_tdata (abfd)->core_program + elf_tdata (abfd)->core->program = _bfd_elfcore_strndup (abfd, note->descdata + TILEGX_PRPSINFO_OFFSET_PR_FNAME, 16); - elf_tdata (abfd)->core_command + elf_tdata (abfd)->core->command = _bfd_elfcore_strndup (abfd, note->descdata + TILEGX_PRPSINFO_OFFSET_PR_PSARGS, ELF_PR_PSARGS_SIZE); @@ -70,7 +70,7 @@ tilegx_elf_grok_psinfo (bfd *abfd, Elf_Internal_Note *note) onto the end of the args in some (at least one anyway) implementations, so strip it off if it exists. */ { - char *command = elf_tdata (abfd)->core_command; + char *command = elf_tdata (abfd)->core->command; int n = strlen (command); if (0 < n && command[n - 1] == ' ') diff --git a/bfd/elf32-tilepro.c b/bfd/elf32-tilepro.c index db37403..db31eeb 100644 --- a/bfd/elf32-tilepro.c +++ b/bfd/elf32-tilepro.c @@ -944,11 +944,11 @@ tilepro_elf_grok_prstatus (bfd *abfd, Elf_Internal_Note *note) return FALSE; /* pr_cursig */ - elf_tdata (abfd)->core_signal = + elf_tdata (abfd)->core->signal = bfd_get_16 (abfd, note->descdata + TILEPRO_PRSTATUS_OFFSET_PR_CURSIG); /* pr_pid */ - elf_tdata (abfd)->core_pid = + elf_tdata (abfd)->core->pid = bfd_get_32 (abfd, note->descdata + TILEPRO_PRSTATUS_OFFSET_PR_PID); /* pr_reg */ @@ -966,11 +966,11 @@ tilepro_elf_grok_psinfo (bfd *abfd, Elf_Internal_Note *note) if (note->descsz != TILEPRO_PRPSINFO_SIZEOF) return FALSE; - elf_tdata (abfd)->core_program + elf_tdata (abfd)->core->program = _bfd_elfcore_strndup (abfd, note->descdata + TILEPRO_PRPSINFO_OFFSET_PR_FNAME, 16); - elf_tdata (abfd)->core_command + elf_tdata (abfd)->core->command = _bfd_elfcore_strndup (abfd, note->descdata + TILEPRO_PRPSINFO_OFFSET_PR_PSARGS, ELF_PR_PSARGS_SIZE); @@ -980,7 +980,7 @@ tilepro_elf_grok_psinfo (bfd *abfd, Elf_Internal_Note *note) onto the end of the args in some (at least one anyway) implementations, so strip it off if it exists. */ { - char *command = elf_tdata (abfd)->core_command; + char *command = elf_tdata (abfd)->core->command; int n = strlen (command); if (0 < n && command[n - 1] == ' ') diff --git a/bfd/elf32-xtensa.c b/bfd/elf32-xtensa.c index 1e4bb46..64ae6e4 100644 --- a/bfd/elf32-xtensa.c +++ b/bfd/elf32-xtensa.c @@ -3782,10 +3782,10 @@ elf_xtensa_grok_prstatus (bfd *abfd, Elf_Internal_Note *note) based on the size. Just assume this is GNU/Linux. */ /* pr_cursig */ - elf_tdata (abfd)->core_signal = bfd_get_16 (abfd, note->descdata + 12); + elf_tdata (abfd)->core->signal = bfd_get_16 (abfd, note->descdata + 12); /* pr_pid */ - elf_tdata (abfd)->core_lwpid = bfd_get_32 (abfd, note->descdata + 24); + elf_tdata (abfd)->core->lwpid = bfd_get_32 (abfd, note->descdata + 24); /* pr_reg */ offset = 72; @@ -3806,9 +3806,9 @@ elf_xtensa_grok_psinfo (bfd *abfd, Elf_Internal_Note *note) return FALSE; case 128: /* GNU/Linux elf_prpsinfo */ - elf_tdata (abfd)->core_program + elf_tdata (abfd)->core->program = _bfd_elfcore_strndup (abfd, note->descdata + 32, 16); - elf_tdata (abfd)->core_command + elf_tdata (abfd)->core->command = _bfd_elfcore_strndup (abfd, note->descdata + 48, 80); } @@ -3817,7 +3817,7 @@ elf_xtensa_grok_psinfo (bfd *abfd, Elf_Internal_Note *note) implementations, so strip it off if it exists. */ { - char *command = elf_tdata (abfd)->core_command; + char *command = elf_tdata (abfd)->core->command; int n = strlen (command); if (0 < n && command[n - 1] == ' ') diff --git a/bfd/elf64-aarch64.c b/bfd/elf64-aarch64.c index 4b8fe43..61909b9 100644 --- a/bfd/elf64-aarch64.c +++ b/bfd/elf64-aarch64.c @@ -1531,11 +1531,11 @@ elf64_aarch64_grok_prstatus (bfd *abfd, Elf_Internal_Note *note) case 408: /* sizeof(struct elf_prstatus) on Linux/arm64. */ /* pr_cursig */ - elf_tdata (abfd)->core_signal + elf_tdata (abfd)->core->signal = bfd_get_16 (abfd, note->descdata + 12); /* pr_pid */ - elf_tdata (abfd)->core_lwpid + elf_tdata (abfd)->core->lwpid = bfd_get_32 (abfd, note->descdata + 32); /* pr_reg */ diff --git a/bfd/elf64-hppa.c b/bfd/elf64-hppa.c index 8348fd8..0ceccf6 100644 --- a/bfd/elf64-hppa.c +++ b/bfd/elf64-hppa.c @@ -2591,10 +2591,10 @@ elf64_hppa_grok_prstatus (bfd *abfd, Elf_Internal_Note *note) case 760: /* Linux/hppa */ /* pr_cursig */ - elf_tdata (abfd)->core_signal = bfd_get_16 (abfd, note->descdata + 12); + elf_tdata (abfd)->core->signal = bfd_get_16 (abfd, note->descdata + 12); /* pr_pid */ - elf_tdata (abfd)->core_lwpid = bfd_get_32 (abfd, note->descdata + 32); + elf_tdata (abfd)->core->lwpid = bfd_get_32 (abfd, note->descdata + 32); /* pr_reg */ offset = 112; @@ -2620,16 +2620,16 @@ elf64_hppa_grok_psinfo (bfd *abfd, Elf_Internal_Note *note) return FALSE; case 136: /* Linux/hppa elf_prpsinfo. */ - elf_tdata (abfd)->core_program + elf_tdata (abfd)->core->program = _bfd_elfcore_strndup (abfd, note->descdata + 40, 16); - elf_tdata (abfd)->core_command + elf_tdata (abfd)->core->command = _bfd_elfcore_strndup (abfd, note->descdata + 56, 80); } /* Note that for some reason, a spurious space is tacked onto the end of the args in some (at least one anyway) implementations, so strip it off if it exists. */ - command = elf_tdata (abfd)->core_command; + command = elf_tdata (abfd)->core->command; n = strlen (command); if (0 < n && command[n - 1] == ' ') @@ -2772,7 +2772,7 @@ elf64_hppa_section_from_phdr (bfd *abfd, Elf_Internal_Phdr *hdr, int sec_index, if (bfd_bread (&sig, 4, abfd) != 4) return FALSE; - elf_tdata (abfd)->core_signal = sig; + elf_tdata (abfd)->core->signal = sig; if (!_bfd_elf_make_section_from_phdr (abfd, hdr, sec_index, typename)) return FALSE; diff --git a/bfd/elf64-mips.c b/bfd/elf64-mips.c index e9e58df..c24a4ee 100644 --- a/bfd/elf64-mips.c +++ b/bfd/elf64-mips.c @@ -4008,10 +4008,10 @@ elf64_mips_grok_prstatus (bfd *abfd, Elf_Internal_Note *note) case 480: /* Linux/MIPS - N64 kernel */ /* pr_cursig */ - elf_tdata (abfd)->core_signal = bfd_get_16 (abfd, note->descdata + 12); + elf_tdata (abfd)->core->signal = bfd_get_16 (abfd, note->descdata + 12); /* pr_pid */ - elf_tdata (abfd)->core_lwpid = bfd_get_32 (abfd, note->descdata + 32); + elf_tdata (abfd)->core->lwpid = bfd_get_32 (abfd, note->descdata + 32); /* pr_reg */ offset = 112; @@ -4034,9 +4034,9 @@ elf64_mips_grok_psinfo (bfd *abfd, Elf_Internal_Note *note) return FALSE; case 136: /* Linux/MIPS - N64 kernel elf_prpsinfo */ - elf_tdata (abfd)->core_program + elf_tdata (abfd)->core->program = _bfd_elfcore_strndup (abfd, note->descdata + 40, 16); - elf_tdata (abfd)->core_command + elf_tdata (abfd)->core->command = _bfd_elfcore_strndup (abfd, note->descdata + 56, 80); } @@ -4045,7 +4045,7 @@ elf64_mips_grok_psinfo (bfd *abfd, Elf_Internal_Note *note) implementations, so strip it off if it exists. */ { - char *command = elf_tdata (abfd)->core_command; + char *command = elf_tdata (abfd)->core->command; int n = strlen (command); if (0 < n && command[n - 1] == ' ') diff --git a/bfd/elf64-ppc.c b/bfd/elf64-ppc.c index 82b3e41..22468ec 100644 --- a/bfd/elf64-ppc.c +++ b/bfd/elf64-ppc.c @@ -2677,10 +2677,10 @@ ppc64_elf_grok_prstatus (bfd *abfd, Elf_Internal_Note *note) return FALSE; /* pr_cursig */ - elf_tdata (abfd)->core_signal = bfd_get_16 (abfd, note->descdata + 12); + elf_tdata (abfd)->core->signal = bfd_get_16 (abfd, note->descdata + 12); /* pr_pid */ - elf_tdata (abfd)->core_lwpid = bfd_get_32 (abfd, note->descdata + 32); + elf_tdata (abfd)->core->lwpid = bfd_get_32 (abfd, note->descdata + 32); /* pr_reg */ offset = 112; @@ -2697,11 +2697,11 @@ ppc64_elf_grok_psinfo (bfd *abfd, Elf_Internal_Note *note) if (note->descsz != 136) return FALSE; - elf_tdata (abfd)->core_pid + elf_tdata (abfd)->core->pid = bfd_get_32 (abfd, note->descdata + 24); - elf_tdata (abfd)->core_program + elf_tdata (abfd)->core->program = _bfd_elfcore_strndup (abfd, note->descdata + 40, 16); - elf_tdata (abfd)->core_command + elf_tdata (abfd)->core->command = _bfd_elfcore_strndup (abfd, note->descdata + 56, 80); return TRUE; diff --git a/bfd/elf64-tilegx.c b/bfd/elf64-tilegx.c index bd5f653..1043346 100644 --- a/bfd/elf64-tilegx.c +++ b/bfd/elf64-tilegx.c @@ -38,11 +38,11 @@ tilegx_elf_grok_prstatus (bfd *abfd, Elf_Internal_Note *note) return FALSE; /* pr_cursig */ - elf_tdata (abfd)->core_signal = + elf_tdata (abfd)->core->signal = bfd_get_16 (abfd, note->descdata + TILEGX_PRSTATUS_OFFSET_PR_CURSIG); /* pr_pid */ - elf_tdata (abfd)->core_pid = + elf_tdata (abfd)->core->pid = bfd_get_32 (abfd, note->descdata + TILEGX_PRSTATUS_OFFSET_PR_PID); /* pr_reg */ @@ -60,9 +60,9 @@ tilegx_elf_grok_psinfo (bfd *abfd, Elf_Internal_Note *note) if (note->descsz != TILEGX_PRPSINFO_SIZEOF) return FALSE; - elf_tdata (abfd)->core_program + elf_tdata (abfd)->core->program = _bfd_elfcore_strndup (abfd, note->descdata + TILEGX_PRPSINFO_OFFSET_PR_FNAME, 16); - elf_tdata (abfd)->core_command + elf_tdata (abfd)->core->command = _bfd_elfcore_strndup (abfd, note->descdata + TILEGX_PRPSINFO_OFFSET_PR_PSARGS, ELF_PR_PSARGS_SIZE); @@ -70,7 +70,7 @@ tilegx_elf_grok_psinfo (bfd *abfd, Elf_Internal_Note *note) onto the end of the args in some (at least one anyway) implementations, so strip it off if it exists. */ { - char *command = elf_tdata (abfd)->core_command; + char *command = elf_tdata (abfd)->core->command; int n = strlen (command); if (0 < n && command[n - 1] == ' ') diff --git a/bfd/elf64-x86-64.c b/bfd/elf64-x86-64.c index 045b281..9406479 100644 --- a/bfd/elf64-x86-64.c +++ b/bfd/elf64-x86-64.c @@ -348,10 +348,10 @@ elf_x86_64_grok_prstatus (bfd *abfd, Elf_Internal_Note *note) case 296: /* sizeof(istruct elf_prstatus) on Linux/x32 */ /* pr_cursig */ - elf_tdata (abfd)->core_signal = bfd_get_16 (abfd, note->descdata + 12); + elf_tdata (abfd)->core->signal = bfd_get_16 (abfd, note->descdata + 12); /* pr_pid */ - elf_tdata (abfd)->core_lwpid = bfd_get_32 (abfd, note->descdata + 24); + elf_tdata (abfd)->core->lwpid = bfd_get_32 (abfd, note->descdata + 24); /* pr_reg */ offset = 72; @@ -361,11 +361,11 @@ elf_x86_64_grok_prstatus (bfd *abfd, Elf_Internal_Note *note) case 336: /* sizeof(istruct elf_prstatus) on Linux/x86_64 */ /* pr_cursig */ - elf_tdata (abfd)->core_signal + elf_tdata (abfd)->core->signal = bfd_get_16 (abfd, note->descdata + 12); /* pr_pid */ - elf_tdata (abfd)->core_lwpid + elf_tdata (abfd)->core->lwpid = bfd_get_32 (abfd, note->descdata + 32); /* pr_reg */ @@ -389,20 +389,20 @@ elf_x86_64_grok_psinfo (bfd *abfd, Elf_Internal_Note *note) return FALSE; case 124: /* sizeof(struct elf_prpsinfo) on Linux/x32 */ - elf_tdata (abfd)->core_pid + elf_tdata (abfd)->core->pid = bfd_get_32 (abfd, note->descdata + 12); - elf_tdata (abfd)->core_program + elf_tdata (abfd)->core->program = _bfd_elfcore_strndup (abfd, note->descdata + 28, 16); - elf_tdata (abfd)->core_command + elf_tdata (abfd)->core->command = _bfd_elfcore_strndup (abfd, note->descdata + 44, 80); break; case 136: /* sizeof(struct elf_prpsinfo) on Linux/x86_64 */ - elf_tdata (abfd)->core_pid + elf_tdata (abfd)->core->pid = bfd_get_32 (abfd, note->descdata + 24); - elf_tdata (abfd)->core_program + elf_tdata (abfd)->core->program = _bfd_elfcore_strndup (abfd, note->descdata + 40, 16); - elf_tdata (abfd)->core_command + elf_tdata (abfd)->core->command = _bfd_elfcore_strndup (abfd, note->descdata + 56, 80); } @@ -411,7 +411,7 @@ elf_x86_64_grok_psinfo (bfd *abfd, Elf_Internal_Note *note) implementations, so strip it off if it exists. */ { - char *command = elf_tdata (abfd)->core_command; + char *command = elf_tdata (abfd)->core->command; int n = strlen (command); if (0 < n && command[n - 1] == ' ') diff --git a/bfd/elfcore.h b/bfd/elfcore.h index 8d5ec6d..429c09c 100644 --- a/bfd/elfcore.h +++ b/bfd/elfcore.h @@ -22,19 +22,19 @@ char* elf_core_file_failing_command (bfd *abfd) { - return elf_tdata (abfd)->core_command; + return elf_tdata (abfd)->core->command; } int elf_core_file_failing_signal (bfd *abfd) { - return elf_tdata (abfd)->core_signal; + return elf_tdata (abfd)->core->signal; } int elf_core_file_pid (bfd *abfd) { - return elf_tdata (abfd)->core_pid; + return elf_tdata (abfd)->core->pid; } bfd_boolean @@ -51,7 +51,7 @@ elf_core_file_matches_executable_p (bfd *core_bfd, bfd *exec_bfd) } /* See if the name in the corefile matches the executable name. */ - corename = elf_tdata (core_bfd)->core_program; + corename = elf_tdata (core_bfd)->core->program; if (corename != NULL) { const char* execname = strrchr (exec_bfd->filename, '/'); diff --git a/bfd/elfn32-mips.c b/bfd/elfn32-mips.c index 8804900..18c3d40 100644 --- a/bfd/elfn32-mips.c +++ b/bfd/elfn32-mips.c @@ -3257,10 +3257,10 @@ elf32_mips_grok_prstatus (bfd *abfd, Elf_Internal_Note *note) case 440: /* Linux/MIPS N32 */ /* pr_cursig */ - elf_tdata (abfd)->core_signal = bfd_get_16 (abfd, note->descdata + 12); + elf_tdata (abfd)->core->signal = bfd_get_16 (abfd, note->descdata + 12); /* pr_pid */ - elf_tdata (abfd)->core_lwpid = bfd_get_32 (abfd, note->descdata + 24); + elf_tdata (abfd)->core->lwpid = bfd_get_32 (abfd, note->descdata + 24); /* pr_reg */ offset = 72; @@ -3283,9 +3283,9 @@ elf32_mips_grok_psinfo (bfd *abfd, Elf_Internal_Note *note) return FALSE; case 128: /* Linux/MIPS elf_prpsinfo */ - elf_tdata (abfd)->core_program + elf_tdata (abfd)->core->program = _bfd_elfcore_strndup (abfd, note->descdata + 32, 16); - elf_tdata (abfd)->core_command + elf_tdata (abfd)->core->command = _bfd_elfcore_strndup (abfd, note->descdata + 48, 80); } @@ -3294,7 +3294,7 @@ elf32_mips_grok_psinfo (bfd *abfd, Elf_Internal_Note *note) implementations, so strip it off if it exists. */ { - char *command = elf_tdata (abfd)->core_command; + char *command = elf_tdata (abfd)->core->command; int n = strlen (command); if (0 < n && command[n - 1] == ' ') -- 2.7.4