This is the mail archive of the elfutils-devel@sourceware.org mailing list for the elfutils project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[patch] readelf.c: Use real output width [Re: [patch] Implement reglocs for s390/s390x]


Hi Roland,

branch jankratochvil/readelf-width

On Wed, 10 Oct 2012 20:47:13 +0200, Roland McGrath wrote:
> I don't recall at all why I
> set ITEM_WRAP_COLUMN so high.  At the moment I can't think of any good
> rationale for ever wrapping past column 79, and 75 seems like a good choice.
> Does anything bad happen if you just change ITEM_WRAP_COLUMN to 75?

Yes, bad will happen:

    info.si_signo: 6, info.si_code: 0, info.si_errno: 0, cursig: 6
->
    info.si_signo: 6, info.si_code: 0
    info.si_errno: 0, cursig: 6

etc., everything gets too narrow.

Because max_width is very exaggerated there while the values here like "0" or
"6" are in reality much shorter.

I find the output with applied patch fine, do you see a problem there?

To see the reason this is a debug output with print_core_item having added:
printf ("<%zu:%s>", format_max, format);

Note segment of 2108 bytes at offset 0x2d4:
  Owner          Data size  Type
  CORE                 144  PRSTATUS
    info.si_signo: 6<11:%d>, info.si_code: 0<11:%d>, info.si_errno: 0<11:%d>, cursig: 6<6:%d>
    sigpend: <><132:<%s>>
    sighold: <><132:<%s>>
    pid: 21689<11:%d>, ppid: 21686<11:%d>, pgrp: 21686<11:%d>, sid: 5663<11:%d>
    utime: 0.000000<18:%lu.%.6lu>, stime: 0.000999<18:%lu.%.6lu>, cutime: 0.000000<18:%lu.%.6lu>, cstime: 0.000000<18:%lu.%.6lu>
    orig_eax: 270<11:%d>, fpvalid: 1<11:%d>
    ebx:          21687<11:%11d>  ecx:          21689<11:%11d>  edx:              6<11:%11d>
    esi:              0<11:%11d>  edi:     -143585292<11:%11d>  ebp:     0xf7562308<11: 0x%.8x>
    eax:              0<11:%11d>  eip:     0xf774d430<11: 0x%.8x>  eflags:  0x00000296<11: 0x%.8x>
    esp:     0xf75621a4<11: 0x%.8x>
    ds: 0x002b<6:0x%.4x>  es: 0x002b<6:0x%.4x>  fs: 0x0000<6:0x%.4x>  gs: 0x0063<6:0x%.4x>  cs: 0x0023<6:0x%.4x>  ss: 0x002b<6:0x%.4x>
  CORE                 124  PRPSINFO
    state: 2<4:%d>, sname: D<1:%c>, zomb: 0<4:%d>, nice: 0<4:%d>, flag: 0x00402404<11:0x%.8x>
    uid: 1001<6:%d>, gid: 1001<6:%d>, pid: 21687<11:%d>, ppid: 21686<11:%d>, pgrp: 21686<11:%d>, sid: 5663<11:%d>
    fname: backtrace-child<16:%.*s>, psargs: ./backtrace-child-biarch --gencore --run <80:%.*s>
  CORE                 160  AUXV
    SYSINFO: 0xf774d420
    SYSINFO_EHDR: 0xf774d000
    HWCAP: 0xbfebfbff  <fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe>
    PAGESZ: 4096
    CLKTCK: 100
    PHDR: 0xf7771034
    PHENT: 32
    PHNUM: 8
    BASE: 0xa84c7000
    FLAGS: 0
    ENTRY: 0xf7771670
    UID: 1001
    EUID: 1001
    GID: 1001
    EGID: 1001
    SECURE: 0
    RANDOM: 0xffcfabbb
    EXECFN: 0xffcfcfdf
    PLATFORM: 0xffcfabcb
    NULL
  CORE                 108  FPREGSET
    st0: 0x00000000000000000000<22:0x%s>  st1: 0x00000000000000000000<22:0x%s>
    st2: 0x00000000000000000000<22:0x%s>  st3: 0x00000000000000000000<22:0x%s>
    st4: 0x00000000000000000000<22:0x%s>  st5: 0x00000000000000000000<22:0x%s>
    st6: 0x00000000000000000000<22:0x%s>  st7: 0x00000000000000000000<22:0x%s>
    fctrl: 0x037f<6:0x%.4x>  fstat: 0xffff<6:0x%.4x>
  LINUX                512  PRXFPREG
    xmm0: 0x00000000000000000000000000000000<34:0x%.16lx%.16lx>
    xmm1: 0x00000000000000000000000000000000<34:0x%.16lx%.16lx>
    xmm2: 0x000000000030392e34312e3200504d53<34:0x%.16lx%.16lx>
    xmm3: 0xffffffffff00000000000000ff000000<34:0x%.16lx%.16lx>
    xmm4: 0x000000000030392e34312e3200504d53<34:0x%.16lx%.16lx>
    xmm5: 0x00000000000000000000000000000000<34:0x%.16lx%.16lx>
    xmm6: 0x00000000000000000000000000000000<34:0x%.16lx%.16lx>
    xmm7: 0x00000000000000000000000000000000<34:0x%.16lx%.16lx>
    st0: 0x00000000000000000000<22:0x%s>  st1: 0x00000000000000000000<22:0x%s>
    st2: 0x00000000000000000000<22:0x%s>  st3: 0x00000000000000000000<22:0x%s>
    st4: 0x00000000000000000000<22:0x%s>  st5: 0x00000000000000000000<22:0x%s>
    st6: 0x00000000000000000000<22:0x%s>  st7: 0x00000000000000000000<22:0x%s>
    mxcsr:  0x00001f80<11: 0x%.8x>
    fctrl: 0x037f<6:0x%.4x>  fstat: 0x0000<6:0x%.4x>
  LINUX                 48  386_TLS
    index: 12<11:%d>, base: 0xf7562b40<11:0x%.8x>, limit: 0x000fffff<11:0x%.8x>, flags: 0x00000051<11:0x%.8x>
    index: 13<11:%d>, base: 0x00000000<11:0x%.8x>, limit: 0x00000000<11:0x%.8x>, flags: 0x00000028<11:0x%.8x>
    index: 14<11:%d>, base: 0x00000000<11:0x%.8x>, limit: 0x00000000<11:0x%.8x>, flags: 0x00000028<11:0x%.8x>
  CORE                 144  PRSTATUS
    info.si_signo: 6<11:%d>, info.si_code: 0<11:%d>, info.si_errno: 0<11:%d>, cursig: 6<6:%d>
    sigpend: <><132:<%s>>
    sighold: <><132:<%s>>
    pid: 21687<11:%d>, ppid: 21686<11:%d>, pgrp: 21686<11:%d>, sid: 5663<11:%d>
    utime: 0.000000<18:%lu.%.6lu>, stime: 0.000999<18:%lu.%.6lu>, cutime: 0.000000<18:%lu.%.6lu>, cstime: 0.000000<18:%lu.%.6lu>
    orig_eax: 240<11:%d>, fpvalid: 1<11:%d>
    ebx:     -145347672<11:%11d>  ecx:              0<11:%11d>  edx:          21689<11:%11d>
    esi:              0<11:%11d>  edi:     -143470604<11:%11d>  ebp:     0xf7562b40<11: 0x%.8x>
    eax:           -512<11:%11d>  eip:     0xf774d430<11: 0x%.8x>  eflags:  0x00000296<11: 0x%.8x>
    esp:     0xffcfa900<11: 0x%.8x>
    ds: 0x002b<6:0x%.4x>  es: 0x002b<6:0x%.4x>  fs: 0x0000<6:0x%.4x>  gs: 0x0000<6:0x%.4x>  cs: 0x0023<6:0x%.4x>  ss: 0x002b<6:0x%.4x>
  CORE                 108  FPREGSET
    st0: 0x00000000000000000000<22:0x%s>  st1: 0x00000000000000000000<22:0x%s>
    st2: 0x00000000000000000000<22:0x%s>  st3: 0x00000000000000000000<22:0x%s>
    st4: 0x00000000000000000000<22:0x%s>  st5: 0x00000000000000000000<22:0x%s>
    st6: 0x00000000000000000000<22:0x%s>  st7: 0x00000000000000000000<22:0x%s>
    fctrl: 0x037f<6:0x%.4x>  fstat: 0xffff<6:0x%.4x>
  LINUX                512  PRXFPREG
    xmm0: 0x00000000000000000000000000000000<34:0x%.16lx%.16lx>
    xmm1: 0x00000000000000000000000000000000<34:0x%.16lx%.16lx>
    xmm2: 0x000000000030392e34312e3200504d53<34:0x%.16lx%.16lx>
    xmm3: 0xffffffffff00000000000000ff000000<34:0x%.16lx%.16lx>
    xmm4: 0x000000000030392e34312e3200504d53<34:0x%.16lx%.16lx>
    xmm5: 0x00000000000000000000000000000000<34:0x%.16lx%.16lx>
    xmm6: 0x00000000000000000000000000000000<34:0x%.16lx%.16lx>
    xmm7: 0x00000000000000000000000000000000<34:0x%.16lx%.16lx>
    st0: 0x00000000000000000000<22:0x%s>  st1: 0x00000000000000000000<22:0x%s>
    st2: 0x00000000000000000000<22:0x%s>  st3: 0x00000000000000000000<22:0x%s>
    st4: 0x00000000000000000000<22:0x%s>  st5: 0x00000000000000000000<22:0x%s>
    st6: 0x00000000000000000000<22:0x%s>  st7: 0x00000000000000000000<22:0x%s>
    mxcsr:  0x00001f80<11: 0x%.8x>
    fctrl: 0x037f<6:0x%.4x>  fstat: 0x0000<6:0x%.4x>
  LINUX                 48  386_TLS
    index: 12<11:%d>, base: 0xf7563940<11:0x%.8x>, limit: 0x000fffff<11:0x%.8x>, flags: 0x00000051<11:0x%.8x>
    index: 13<11:%d>, base: 0x00000000<11:0x%.8x>, limit: 0x00000000<11:0x%.8x>, flags: 0x00000028<11:0x%.8x>
    index: 14<11:%d>, base: 0x00000000<11:0x%.8x>, limit: 0x00000000<11:0x%.8x>, flags: 0x00000028<11:0x%.8x>



Thanks,
Jan


commit 033e40bfb2d9e780197995f378c0c51c666ecabc
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Wed Oct 10 22:27:58 2012 +0200

    src/
    2012-10-10  Jan Kratochvil  <jan.kratochvil@redhat.com>
    
    	* readelf.c (ITEM_WRAP_COLUMN, REGISTER_WRAP_COLUMN): Merge to ...
    	(WRAP_COLUMN): ... here, keep it at 75.
    	(print_core_item): Remove parameter format_max.  Update function
    	comment.  Replace FORMAT_MAX by the real output width.
    	(handle_core_item): Remove the FORMAT_MAX values in TYPES, DO_TYPE,
    	calls of print_core_item, remove variable maxfmt, change
    	ITEM_WRAP_COLUMN to WRAP_COLUMN.
    	(handle_core_register): Remove the FORMAT_MAX values in TYPES, BITS,
    	calls of print_core_item, change REGISTER_WRAP_COLUMN to WRAP_COLUMN.
    
    tests/
    2012-10-10  Jan Kratochvil  <jan.kratochvil@redhat.com>
    
    	* run-readelf-mixed-corenote.sh: Update expected output.
    	* run-readelf-vmcoreinfo.sh: Likewise.
    
    Signed-off-by: Jan Kratochvil <jan.kratochvil@redhat.com>

diff --git a/src/readelf.c b/src/readelf.c
index 5d167eb..1a9092c 100644
--- a/src/readelf.c
+++ b/src/readelf.c
@@ -7337,24 +7337,30 @@ print_debug (Dwfl_Module *dwflmod, Ebl *ebl, GElf_Ehdr *ehdr)
 
 
 #define ITEM_INDENT		4
-#define ITEM_WRAP_COLUMN	150
-#define REGISTER_WRAP_COLUMN	75
+#define WRAP_COLUMN		75
+
+/* Print "NAME: FORMAT", wrapping when output text would make the line exceed
+   WRAP_COLUMN.  We do not want the line breaks to depend on the particular
+   values, this is why the FORMAT strings typically already contain their
+   maximum width.  */
 
-/* Print "NAME: FORMAT", wrapping when FORMAT_MAX chars of FORMAT would
-   make the line exceed ITEM_WRAP_COLUMN.  Unpadded numbers look better
-   for the core items.  But we do not want the line breaks to depend on
-   the particular values.  */
 static unsigned int
-__attribute__ ((format (printf, 7, 8)))
+__attribute__ ((format (printf, 6, 7)))
 print_core_item (unsigned int colno, char sep, unsigned int wrap,
-		 size_t name_width, const char *name,
-		 size_t format_max, const char *format, ...)
+		 size_t name_width, const char *name, const char *format, ...)
 {
   size_t len = strlen (name);
   if (name_width < len)
     name_width = len;
 
-  size_t n = name_width + sizeof ": " - 1 + format_max;
+  char *out;
+  va_list ap;
+  va_start (ap, format);
+  int i = vasprintf (&out, format, ap);
+  assert (i >= 0);
+  va_end (ap);
+
+  size_t n = name_width + sizeof ": " - 1 + strlen (out);
 
   if (colno == 0)
     {
@@ -7372,12 +7378,7 @@ print_core_item (unsigned int colno, char sep, unsigned int wrap,
       colno = ITEM_INDENT + n;
     }
 
-  printf ("%s: %*s", name, (int) (name_width - len), "");
-
-  va_list ap;
-  va_start (ap, format);
-  vprintf (format, ap);
-  va_end (ap);
+  printf ("%s: %*s%s", name, (int) (name_width - len), "", out);
 
   return colno;
 }
@@ -7420,14 +7421,14 @@ handle_core_item (Elf *core, const Ebl_Core_Item *item, const void *desc,
   uint_fast16_t count = item->count ?: 1;
 
 #define TYPES								      \
-  DO_TYPE (BYTE, Byte, "0x%.2" PRIx8, "%" PRId8, 4);			      \
-  DO_TYPE (HALF, Half, "0x%.4" PRIx16, "%" PRId16, 6);			      \
-  DO_TYPE (WORD, Word, "0x%.8" PRIx32, "%" PRId32, 11);			      \
-  DO_TYPE (SWORD, Sword, "%" PRId32, "%" PRId32, 11);			      \
-  DO_TYPE (XWORD, Xword, "0x%.16" PRIx64, "%" PRId64, 20);		      \
-  DO_TYPE (SXWORD, Sxword, "%" PRId64, "%" PRId64, 20)
-
-#define DO_TYPE(NAME, Name, hex, dec, max) GElf_##Name Name[count]
+  DO_TYPE (BYTE, Byte, "0x%.2" PRIx8, "%" PRId8);			      \
+  DO_TYPE (HALF, Half, "0x%.4" PRIx16, "%" PRId16);			      \
+  DO_TYPE (WORD, Word, "0x%.8" PRIx32, "%" PRId32);			      \
+  DO_TYPE (SWORD, Sword, "%" PRId32, "%" PRId32);			      \
+  DO_TYPE (XWORD, Xword, "0x%.16" PRIx64, "%" PRId64);			      \
+  DO_TYPE (SXWORD, Sxword, "%" PRId64, "%" PRId64)
+
+#define DO_TYPE(NAME, Name, hex, dec) GElf_##Name Name[count]
   union { TYPES; } value;
 #undef DO_TYPE
 
@@ -7459,10 +7460,10 @@ handle_core_item (Elf *core, const Ebl_Core_Item *item, const void *desc,
       assert (count == 1);
       switch (type)
 	{
-#define DO_TYPE(NAME, Name, hex, dec, max)				      \
+#define DO_TYPE(NAME, Name, hex, dec)					      \
 	  case ELF_T_##NAME:						      \
-	    colno = print_core_item (colno, ',', ITEM_WRAP_COLUMN,	      \
-				     0, item->name, max, dec, value.Name[0]); \
+	    colno = print_core_item (colno, ',', WRAP_COLUMN,		      \
+				     0, item->name, dec, value.Name[0]); \
 	    break
 	  TYPES;
 #undef DO_TYPE
@@ -7475,10 +7476,10 @@ handle_core_item (Elf *core, const Ebl_Core_Item *item, const void *desc,
       assert (count == 1);
       switch (type)
 	{
-#define DO_TYPE(NAME, Name, hex, dec, max)				      \
+#define DO_TYPE(NAME, Name, hex, dec)					      \
 	  case ELF_T_##NAME:						      \
-	    colno = print_core_item (colno, ',', ITEM_WRAP_COLUMN,	      \
-				     0, item->name, max, hex, value.Name[0]); \
+	    colno = print_core_item (colno, ',', WRAP_COLUMN,		      \
+				     0, item->name, hex, value.Name[0]);      \
 	    break
 	  TYPES;
 #undef DO_TYPE
@@ -7546,8 +7547,7 @@ handle_core_item (Elf *core, const Ebl_Core_Item *item, const void *desc,
 	if (lastbit > 0 && lastbit + 1 != nbits)
 	  p += sprintf (p, "-%u", nbits - bias);
 
-	colno = print_core_item (colno, ',', ITEM_WRAP_COLUMN, 0, item->name,
-				 4 + nbits * 4,
+	colno = print_core_item (colno, ',', WRAP_COLUMN, 0, item->name,
 				 negate ? "~<%s>" : "<%s>", printed);
       }
       break;
@@ -7557,14 +7557,12 @@ handle_core_item (Elf *core, const Ebl_Core_Item *item, const void *desc,
       assert (count == 2);
       Dwarf_Word sec;
       Dwarf_Word usec;
-      size_t maxfmt = 7;
       switch (type)
 	{
-#define DO_TYPE(NAME, Name, hex, dec, max)				      \
+#define DO_TYPE(NAME, Name, hex, dec)					      \
 	  case ELF_T_##NAME:						      \
 	    sec = value.Name[0];					      \
 	    usec = value.Name[1];					      \
-	    maxfmt += max;						      \
 	    break
 	  TYPES;
 #undef DO_TYPE
@@ -7587,19 +7585,19 @@ handle_core_item (Elf *core, const Ebl_Core_Item *item, const void *desc,
 	  else
 	    usec &= UINT32_MAX;
 	}
-      colno = print_core_item (colno, ',', ITEM_WRAP_COLUMN, 0, item->name,
-			       maxfmt, "%" PRIu64 ".%.6" PRIu64, sec, usec);
+      colno = print_core_item (colno, ',', WRAP_COLUMN, 0, item->name,
+			       "%" PRIu64 ".%.6" PRIu64, sec, usec);
       break;
 
     case 'c':
       assert (count == 1);
-      colno = print_core_item (colno, ',', ITEM_WRAP_COLUMN, 0, item->name,
-			       1, "%c", value.Byte[0]);
+      colno = print_core_item (colno, ',', WRAP_COLUMN, 0, item->name,
+			       "%c", value.Byte[0]);
       break;
 
     case 's':
-      colno = print_core_item (colno, ',', ITEM_WRAP_COLUMN, 0, item->name,
-			       count, "%.*s", (int) count, value.Byte);
+      colno = print_core_item (colno, ',', WRAP_COLUMN, 0, item->name,
+			       "%.*s", (int) count, value.Byte);
       break;
 
     case '\n':
@@ -7626,7 +7624,7 @@ handle_core_item (Elf *core, const Ebl_Core_Item *item, const void *desc,
 	  s = eol + 1;
 	}
 
-      colno = ITEM_WRAP_COLUMN;
+      colno = WRAP_COLUMN;
       break;
 
     default:
@@ -7722,7 +7720,7 @@ handle_core_items (Elf *core, const void *desc, size_t descsz,
 	    colno = handle_core_item (core, *item, desc, colno, NULL);
 
 	  /* Force a line break at the end of the group.  */
-	  colno = ITEM_WRAP_COLUMN;
+	  colno = WRAP_COLUMN;
 	}
 
       if (descsz == 0)
@@ -7790,12 +7788,12 @@ handle_core_register (Ebl *ebl, Elf *core, int maxregname,
       register_info (ebl, reg, regloc, name, &bits, &type);
 
 #define TYPES								      \
-      BITS (8, BYTE, "%4" PRId8, "0x%.2" PRIx8, 4);			      \
-      BITS (16, HALF, "%6" PRId16, "0x%.4" PRIx16, 6);			      \
-      BITS (32, WORD, "%11" PRId32, " 0x%.8" PRIx32, 11);		      \
-      BITS (64, XWORD, "%20" PRId64, "  0x%.16" PRIx64, 20)
+      BITS (8, BYTE, "%4" PRId8, "0x%.2" PRIx8);			      \
+      BITS (16, HALF, "%6" PRId16, "0x%.4" PRIx16);			      \
+      BITS (32, WORD, "%11" PRId32, " 0x%.8" PRIx32);			      \
+      BITS (64, XWORD, "%20" PRId64, "  0x%.16" PRIx64)
 
-#define BITS(bits, xtype, sfmt, ufmt, max)				\
+#define BITS(bits, xtype, sfmt, ufmt)				\
       uint##bits##_t b##bits; int##bits##_t b##bits##s
       union { TYPES; uint64_t b128[2]; } value;
 #undef	BITS
@@ -7807,17 +7805,17 @@ handle_core_register (Ebl *ebl, Elf *core, int maxregname,
 	case DW_ATE_address:
 	  switch (bits)
 	    {
-#define BITS(bits, xtype, sfmt, ufmt, max)				      \
+#define BITS(bits, xtype, sfmt, ufmt)					      \
 	    case bits:							      \
 	      desc = convert (core, ELF_T_##xtype, 1, &value, desc, 0);	      \
 	      if (type == DW_ATE_signed)				      \
-		colno = print_core_item (colno, ' ', REGISTER_WRAP_COLUMN,    \
+		colno = print_core_item (colno, ' ', WRAP_COLUMN,	      \
 					 maxregname, name,		      \
-					 max, sfmt, value.b##bits##s);	      \
+					 sfmt, value.b##bits##s);	      \
 	      else							      \
-		colno = print_core_item (colno, ' ', REGISTER_WRAP_COLUMN,    \
+		colno = print_core_item (colno, ' ', WRAP_COLUMN,	      \
 					 maxregname, name,		      \
-					 max, ufmt, value.b##bits);	      \
+					 ufmt, value.b##bits);		      \
 	      break
 
 	    TYPES;
@@ -7826,9 +7824,9 @@ handle_core_register (Ebl *ebl, Elf *core, int maxregname,
 	      assert (type == DW_ATE_unsigned);
 	      desc = convert (core, ELF_T_XWORD, 2, &value, desc, 0);
 	      int be = elf_getident (core, NULL)[EI_DATA] == ELFDATA2MSB;
-	      colno = print_core_item (colno, ' ', REGISTER_WRAP_COLUMN,
+	      colno = print_core_item (colno, ' ', WRAP_COLUMN,
 				       maxregname, name,
-				       34, "0x%.16" PRIx64 "%.16" PRIx64,
+				       "0x%.16" PRIx64 "%.16" PRIx64,
 				       value.b128[!be], value.b128[be]);
 	      break;
 
@@ -7857,9 +7855,8 @@ handle_core_register (Ebl *ebl, Elf *core, int maxregname,
 	      *h++ = "0123456789abcdef"[bytes[idx] >> 4];
 	      *h++ = "0123456789abcdef"[bytes[idx] & 0xf];
 	    }
-	  colno = print_core_item (colno, ' ', REGISTER_WRAP_COLUMN,
-				   maxregname, name,
-				   2 + sizeof hex - 1, "0x%s", hex);
+	  colno = print_core_item (colno, ' ', WRAP_COLUMN,
+				   maxregname, name, "0x%s", hex);
 	  break;
 	}
       desc += regloc->pad;
@@ -7998,7 +7995,7 @@ handle_core_registers (Ebl *ebl, Elf *core, const void *desc,
 				      reg->regloc, desc, colno);
 
       /* Force a line break at the end of the group.  */
-      colno = REGISTER_WRAP_COLUMN;
+      colno = WRAP_COLUMN;
     }
 
   return colno;
diff --git a/tests/run-readelf-mixed-corenote.sh b/tests/run-readelf-mixed-corenote.sh
index f9b96c8..5406433 100755
--- a/tests/run-readelf-mixed-corenote.sh
+++ b/tests/run-readelf-mixed-corenote.sh
@@ -25,8 +25,7 @@ Note segment of 892 bytes at offset 0x274:
   Owner          Data size  Type
   CORE                 148  PRSTATUS
     info.si_signo: 11, info.si_code: 0, info.si_errno: 0, cursig: 11
-    sigpend: <>
-    sighold: <>
+    sigpend: <>, sighold: <>
     pid: 11087, ppid: 11063, pgrp: 11087, sid: 11063
     utime: 0.000000, stime: 0.010000, cutime: 0.000000, cstime: 0.000000
     orig_r0: -1, fpvalid: 1
diff --git a/tests/run-readelf-vmcoreinfo.sh b/tests/run-readelf-vmcoreinfo.sh
index da361c8..b441a58 100755
--- a/tests/run-readelf-vmcoreinfo.sh
+++ b/tests/run-readelf-vmcoreinfo.sh
@@ -25,8 +25,7 @@ Note segment of 2104 bytes at offset 0x158:
   Owner          Data size  Type
   CORE                 336  PRSTATUS
     info.si_signo: 0, info.si_code: 0, info.si_errno: 0, cursig: 0
-    sigpend: <>
-    sighold: <>
+    sigpend: <>, sighold: <>
     pid: 3519, ppid: 0, pgrp: 0, sid: 0
     utime: 0.000000, stime: 0.000000, cutime: 0.000000, cstime: 0.000000
     orig_rax: -1, fpvalid: 0
@@ -43,8 +42,7 @@ Note segment of 2104 bytes at offset 0x158:
     cs: 0x0010  ss: 0x0018  ds: 0x0000  es: 0x0000  fs: 0x0000  gs: 0x0000
   CORE                 336  PRSTATUS
     info.si_signo: 0, info.si_code: 0, info.si_errno: 0, cursig: 0
-    sigpend: <>
-    sighold: <>
+    sigpend: <>, sighold: <>
     pid: 0, ppid: 0, pgrp: 0, sid: 0
     utime: 0.000000, stime: 0.000000, cutime: 0.000000, cstime: 0.000000
     orig_rax: -1, fpvalid: 0

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]