Mirror of the gdb-patches mailing list
 help / color / mirror / Atom feed
From: Mark Kettenis <mark.kettenis@xs4all.nl>
To: randolph@tausq.org
Cc: gdb-patches@sources.redhat.com
Subject: Re: [hppa-hpux] Core file support for hppa64-hp-hpux11.11
Date: Fri, 18 Nov 2005 15:30:00 -0000	[thread overview]
Message-ID: <200511181421.jAIELKb5020229@elgar.sibelius.xs4all.nl> (raw)
In-Reply-To: <437DD009.1080302@tausq.org> (message from Randolph Chung on Fri, 18 Nov 2005 20:58:49 +0800)

> Date: Fri, 18 Nov 2005 20:58:49 +0800
> From: Randolph Chung <randolph@tausq.org>
> 
> > Yes.  The section will come out as .core.kernel in objdump.  Perhaps
> > it should be .hp.core.kernel.  I'll leave the naming decision to you
> > and/or the binutils maintainers.  But I think that's better than
> > having all those .proc0, .proc1, .proc2 sections that we have now.
> > And it makes it easier to pick the right one from GDB.
> 
> actually there's no . prefix unless i explicitly pass one, and they will 
> look like:

Hmm, looks like I misread the code in bfd//elf.c then.

> /home/tausq/core:     file format elf64-hppa
> 
> Sections:
> Idx Name          Size      VMA               LMA               File off 
>   Algn
>    0 hp.core.version0 00000004  0000000000000000  0000000000000000 
> 00000350  2**0
>                    CONTENTS, READONLY
>    1 hp.core.kernel1 0000003c  0000000000000000  0000000000000000 
> 00000354  2**0
>                   CONTENTS, READONLY
>    2 hp.core.comm2 00000009  0000000000000000  0000000000000000 
> 00000390  2**0
>                    CONTENTS, READONLY
>    [...]
> 
> Does this match what you have in mind?

It sort of screws up the formatting doesn't it.  Perhaps something
like the attached is better; we only need the HP_CORE_KERNEL section
don't we?  This gives output like this:

/tmp/core:     file format elf64-hppa

Sections:
Idx Name          Size      VMA               LMA               File off  Algn
  0 proc0         00000004  0000000000000000  0000000000000000  00000350  2**0
                  CONTENTS, READONLY
  1 proc1         0000003c  0000000000000000  0000000000000000  00000354  2**0
                  CONTENTS, READONLY
  2 .kernel       0000003c  0000000000000000  0000000000000000  00000354  2**0
                  CONTENTS, READONLY
  3 proc2         00000009  0000000000000000  0000000000000000  00000390  2**0
                  CONTENTS, READONLY
  4 proc3         00000498  0000000000000000  0000000000000000  000003a0  2**0
                  CONTENTS, READONLY
  5 .reg/0        00000498  0000000000000000  0000000000000000  000003a0  2**2
                  CONTENTS
  6 .reg          00000498  0000000000000000  0000000000000000  000003a0  2**2
                  CONTENTS
  7 proc4         0000c000  8000000100000000  0000000000000000  00000838  2**0
                  CONTENTS, ALLOC, LOAD, CODE


Index: ChangeLog
from  Mark Kettenis  <kettenis@gnu.org>

	* elf64-hppa.c (elf64_hppa_section_from_phdr): Create .kernel
	pseudo-section.  Make sure .reg section comes after the proc
	section it's generated from.

Index: elf64-hppa.c
===================================================================
RCS file: /cvs/src/src/bfd/elf64-hppa.c,v
retrieving revision 1.66
diff -u -p -r1.66 elf64-hppa.c
--- elf64-hppa.c 18 Nov 2005 00:48:50 -0000 1.66
+++ elf64-hppa.c 18 Nov 2005 14:19:00 -0000
@@ -2652,6 +2652,22 @@ static bfd_boolean
 elf64_hppa_section_from_phdr (bfd *abfd, Elf_Internal_Phdr *hdr, int index,
 			      const char *typename)
 {
+  if (hdr->p_type == PT_HP_CORE_KERNEL)
+    {
+      asection *sect;
+
+      if (!_bfd_elf_make_section_from_phdr (abfd, hdr, index, typename))
+	return FALSE;
+
+      sect = bfd_make_section_anyway (abfd, ".kernel");
+      if (sect == NULL)
+	return FALSE;
+      sect->size = hdr->p_filesz;
+      sect->filepos = hdr->p_offset;
+      sect->flags = SEC_HAS_CONTENTS | SEC_READONLY;
+      return TRUE;
+    }
+
   if (hdr->p_type == PT_HP_CORE_PROC)
     {
       int sig;
@@ -2663,10 +2679,12 @@ elf64_hppa_section_from_phdr (bfd *abfd,
 
       elf_tdata (abfd)->core_signal = sig;
 
-      /* gdb uses the ".reg" section to read register contents.  */
-      if (!_bfd_elfcore_make_pseudosection (abfd, ".reg", hdr->p_filesz,
-	  				    hdr->p_offset))
+      if (!_bfd_elf_make_section_from_phdr (abfd, hdr, index, typename))
 	return FALSE;
+
+      /* GDB uses the ".reg" section to read register contents.  */
+      return _bfd_elfcore_make_pseudosection (abfd, ".reg", hdr->p_filesz,
+					      hdr->p_offset);
     }
 
   if (hdr->p_type == PT_HP_CORE_LOADABLE


      reply	other threads:[~2005-11-18 14:21 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2005-11-17 12:56 Randolph Chung
2005-11-17 14:46 ` Mark Kettenis
2005-11-17 15:52   ` Randolph Chung
2005-11-17 16:02     ` Mark Kettenis
2005-11-18  3:37       ` Randolph Chung
2005-11-18  4:44         ` Mark Kettenis
2005-11-18 13:49           ` Randolph Chung
2005-11-18 15:30             ` Mark Kettenis [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=200511181421.jAIELKb5020229@elgar.sibelius.xs4all.nl \
    --to=mark.kettenis@xs4all.nl \
    --cc=gdb-patches@sources.redhat.com \
    --cc=randolph@tausq.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox