public inbox for elfutils@sourceware.org
 help / color / mirror / Atom feed
* [Bug tools/29498] New: Is it expected that eu-strip strips .note.GNU-stack
@ 2022-08-16 21:23 jpalus at fastmail dot com
  2022-08-17  7:16 ` [Bug tools/29498] " mliska at suse dot cz
                   ` (2 more replies)
  0 siblings, 3 replies; 4+ messages in thread
From: jpalus at fastmail dot com @ 2022-08-16 21:23 UTC (permalink / raw)
  To: elfutils-devel

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

            Bug ID: 29498
           Summary: Is it expected that eu-strip strips .note.GNU-stack
           Product: elfutils
           Version: unspecified
            Status: UNCONFIRMED
          Severity: normal
          Priority: P2
         Component: tools
          Assignee: unassigned at sourceware dot org
          Reporter: jpalus at fastmail dot com
                CC: elfutils-devel at sourceware dot org
  Target Milestone: ---

Accidentally we've started to strip crt*.o files produced by glibc and were
surprised by the fact that eu-strip gets rid of .note.GNU-stack section
resulting in incorrect linking.

$ gcc -c test.c -o test.o
$ readelf -S test.o|grep GNU-stack
  [ 5] .note.GNU-stack   PROGBITS         0000000000000000  00000074
$ eu-strip test.o
$ readelf -S test.o|grep GNU-stack
(empty)

I see following comment in strip.c:

> - special sections named ".comment" and ".note" are kept


https://sourceware.org/git/?p=elfutils.git;a=blob;f=src/strip.c;h=452b12796dd3b7ff3a46d13a2bfb9aa0f5c93ac9;hb=HEAD#l1361

The question is whether observed behavior is expected or rather .note.GNU-stack
should be kept?

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

^ permalink raw reply	[flat|nested] 4+ messages in thread

* [Bug tools/29498] Is it expected that eu-strip strips .note.GNU-stack
  2022-08-16 21:23 [Bug tools/29498] New: Is it expected that eu-strip strips .note.GNU-stack jpalus at fastmail dot com
@ 2022-08-17  7:16 ` mliska at suse dot cz
  2022-10-27 20:34 ` mark at klomp dot org
  2022-10-28 23:06 ` jpalus at fastmail dot com
  2 siblings, 0 replies; 4+ messages in thread
From: mliska at suse dot cz @ 2022-08-17  7:16 UTC (permalink / raw)
  To: elfutils-devel

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

Martin Liska <mliska at suse dot cz> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
   Last reconfirmed|                            |2022-08-17
             Status|UNCONFIRMED                 |NEW
                 CC|                            |mliska at suse dot cz
     Ever confirmed|0                           |1

--- Comment #1 from Martin Liska <mliska at suse dot cz> ---
It's definitelly not consistent with strip (from binutils) that keeps the
section.

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

^ permalink raw reply	[flat|nested] 4+ messages in thread

* [Bug tools/29498] Is it expected that eu-strip strips .note.GNU-stack
  2022-08-16 21:23 [Bug tools/29498] New: Is it expected that eu-strip strips .note.GNU-stack jpalus at fastmail dot com
  2022-08-17  7:16 ` [Bug tools/29498] " mliska at suse dot cz
@ 2022-10-27 20:34 ` mark at klomp dot org
  2022-10-28 23:06 ` jpalus at fastmail dot com
  2 siblings, 0 replies; 4+ messages in thread
From: mark at klomp dot org @ 2022-10-27 20:34 UTC (permalink / raw)
  To: elfutils-devel

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

Mark Wielaard <mark at klomp dot org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |mark at klomp dot org

--- Comment #2 from Mark Wielaard <mark at klomp dot org> ---
Actual SHF_NOTE sections are kept, as are allocated SHF_PROGBITS sections. But
this is neither.

How does binutils strip know it should keep this section? Does it just
hard-code the name?

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

^ permalink raw reply	[flat|nested] 4+ messages in thread

* [Bug tools/29498] Is it expected that eu-strip strips .note.GNU-stack
  2022-08-16 21:23 [Bug tools/29498] New: Is it expected that eu-strip strips .note.GNU-stack jpalus at fastmail dot com
  2022-08-17  7:16 ` [Bug tools/29498] " mliska at suse dot cz
  2022-10-27 20:34 ` mark at klomp dot org
@ 2022-10-28 23:06 ` jpalus at fastmail dot com
  2 siblings, 0 replies; 4+ messages in thread
From: jpalus at fastmail dot com @ 2022-10-28 23:06 UTC (permalink / raw)
  To: elfutils-devel

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

--- Comment #3 from Jan Palus <jpalus at fastmail dot com> ---
If I understand it correctly in binutils primary criteria for removing section
is whether it is marked with SEC_DEBUGGING flag:

https://sourceware.org/git/?p=binutils-gdb.git;a=blob;f=binutils/objcopy.c;h=d20aaef9f4f2e2a910bd7bf666dab6e3c158fc1b;hb=HEAD#l1366

and the flag for ELF seems to be set here:

https://sourceware.org/git/?p=binutils-gdb.git;a=blob;f=bfd/elf.c;h=81825b748d75f2b68a6cca1c54b126df53c36dc2;hb=HEAD#l1093

          if (startswith (name, ".debug")
              || startswith (name, ".gnu.debuglto_.debug_")
              || startswith (name, ".gnu.linkonce.wi.")
              || startswith (name, ".zdebug"))
            flags |= SEC_DEBUGGING | SEC_ELF_OCTETS;
          else if (startswith (name, GNU_BUILD_ATTRS_SECTION_NAME)
                   || startswith (name, ".note.gnu"))
            {
              flags |= SEC_ELF_OCTETS;
              opb = 1;
            }
          else if (startswith (name, ".line")
                   || startswith (name, ".stab")
                   || strcmp (name, ".gdb_index") == 0)
            flags |= SEC_DEBUGGING;

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

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2022-10-28 23:06 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-08-16 21:23 [Bug tools/29498] New: Is it expected that eu-strip strips .note.GNU-stack jpalus at fastmail dot com
2022-08-17  7:16 ` [Bug tools/29498] " mliska at suse dot cz
2022-10-27 20:34 ` mark at klomp dot org
2022-10-28 23:06 ` jpalus at fastmail dot com

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).