https://sourceware.org/bugzilla/show_bug.cgi?id=33293

            Bug ID: 33293
           Summary: readelf should add a newline after 'Properties:'
           Product: binutils
           Version: 2.46 (HEAD)
            Status: NEW
          Severity: normal
          Priority: P2
         Component: binutils
          Assignee: unassigned at sourceware dot org
          Reporter: sam at gentoo dot org
  Target Milestone: ---

```
$ cat dummy.s
# Dummy
        .section        ".note.GNU-stack"

$ gcc -O2 -mno-direct-extern-access -c dummy.s -o dummy.o
$ gcc -shared -Wl,-z,lam-u57,-z,indirect-extern-access -z nomemory-seal dummy.o
-o lam-u57.so
$ readelf -n lam-u57.so

Displaying notes found in: .note.gnu.build-id
  Owner                Data size        Description
  GNU                  0x00000014       NT_GNU_BUILD_ID (unique build ID
bitstring)
    Build ID: 6055b92fd65e72fdca1a635d49c997adcceb199b

Displaying notes found in: .note.gnu.property
  Owner                Data size        Description
  GNU                  0x00000040       NT_GNU_PROPERTY_TYPE_0
      Properties: 1_needed: indirect external access # <--- 1_needed should be
on a new line, like the others below
        x86 feature: LAM_U57
        x86 feature used: x86
        x86 ISA used: x86-64-baseline
```

It's missing because the alignment and newline happens in the next label in the
loop:

    next:
      ptr += ((datasz + (size - 1)) & ~ (size - 1));
      if (ptr == ptr_end)
        break;

      if (do_wide)
        printf (", ");
      else
        printf ("\n\t");

I'll test the trivial patch later (\t needed for the first entry that will
follow too):

--- a/binutils/readelf.c
+++ b/binutils/readelf.c
@@ -21325,7 +21325,7 @@ print_gnu_property_note (Filedata * filedata,
Elf_Internal_Note * pnote)
   unsigned char * ptr_end = ptr + pnote->descsz;
   unsigned int    size = is_32bit_elf ? 4 : 8;

-  printf (_("      Properties: "));
+  printf (_("      Properties:\n\t"));

   if (pnote->descsz < 8 || (pnote->descsz % size) != 0)
     {

but there'll be testsuite fallout so I'll wait until the other issues are
sorted.

-- 
You are receiving this mail because:
You are on the CC list for the bug.

Reply via email to