public inbox for binutils@sourceware.org
 help / color / mirror / Atom feed
From: "H.J. Lu" <hjl.tools@gmail.com>
To: binutils@sourceware.org
Cc: Kaylee Blake <klkblake@gmail.com>, Alan Modra <amodra@gmail.com>,
	Nick Clifton <nickc@redhat.com>
Subject: [PATCH v2 0/6] ELF: Strip section header in ELF objects
Date: Sat,  3 Jul 2021 13:13:56 -0700	[thread overview]
Message-ID: <20210703201402.1136267-1-hjl.tools@gmail.com> (raw)

I have been carrying this set of patches for more than a year.  It
takes forever to resolve Kaylee's paperwork with the FSF.  Is there
a way to avoid such a long delay?

H.J.
---
Section header isn't mandatory on ELF executable nor shared library.
This patch adds a new linker option, -z nosectionheader, to omit ELF
section header, an new objcopy and strip option, --strip-sections, to
remove ELF section header.

H.J. Lu (4):
  bfd: Improve nm and objdump without section header
  binutils: Add a --strip-sections test
  ld: Add tests for -z nosectionheader and --strip-sections
  ld: Add -z nosectionheader test to bootstrap.exp

Kaylee Blake (2):
  ELF: Strip section header in ELF objects
  ld: Add a simple test for -z nosectionheader

 bfd/bfd-in2.h                                 |   8 +-
 bfd/bfd.c                                     |   8 +-
 bfd/elf-bfd.h                                 |  15 +
 bfd/elf.c                                     | 740 ++++++++++++++++--
 bfd/elfcode.h                                 |  91 ++-
 bfd/elflink.c                                 |  12 +
 bfd/elfxx-target.h                            |   6 +-
 binutils/NEWS                                 |   3 +
 binutils/doc/binutils.texi                    |  10 +
 binutils/objcopy.c                            |  33 +-
 binutils/testsuite/binutils-all/objcopy.exp   |   5 +
 .../testsuite/binutils-all/strip-sections-1.d |   5 +
 ld/NEWS                                       |   3 +
 ld/emultempl/elf.em                           |   4 +
 ld/ld.h                                       |   3 +
 ld/ld.texi                                    |   5 +
 ld/ldlang.c                                   |   4 +
 ld/lexsup.c                                   |   8 +
 ld/testsuite/ld-bootstrap/bootstrap.exp       |  10 +-
 ld/testsuite/ld-elf/hash-2.d                  |  11 +
 ld/testsuite/ld-elf/no-section-header.exp     | 370 +++++++++
 ld/testsuite/ld-elf/nosectionheader.d         |  12 +
 ld/testsuite/ld-elf/pr25617-1-no-sec-hdr.nd   |   3 +
 ld/testsuite/ld-elf/pr25617-1-no-sec-hdr.rd   |  20 +
 .../ld-elf/pr25617-1-static-no-sec-hdr.rd     |  12 +
 ld/testsuite/ld-elf/pr25617-1a-no-sec-hdr.nd  |   3 +
 ld/testsuite/ld-elf/pr25617-1a-no-sec-hdr.rd  |  20 +
 ld/testsuite/ld-elf/pr25617-1a-sec-hdr.rd     |  19 +
 ld/testsuite/ld-elf/pr25617-1a.c              |  11 +
 ld/testsuite/ld-elf/pr25617-1b.c              |  15 +
 ld/testsuite/ld-elf/start-noheader.rd         |  11 +
 .../ld-elf/start-shared-noheader-gnu.rd       |  22 +
 .../ld-elf/start-shared-noheader-sysv.rd      |  22 +
 ld/testsuite/ld-elf/start-shared-noheader.nd  |   5 +
 34 files changed, 1443 insertions(+), 86 deletions(-)
 create mode 100644 binutils/testsuite/binutils-all/strip-sections-1.d
 create mode 100644 ld/testsuite/ld-elf/hash-2.d
 create mode 100644 ld/testsuite/ld-elf/no-section-header.exp
 create mode 100644 ld/testsuite/ld-elf/nosectionheader.d
 create mode 100644 ld/testsuite/ld-elf/pr25617-1-no-sec-hdr.nd
 create mode 100644 ld/testsuite/ld-elf/pr25617-1-no-sec-hdr.rd
 create mode 100644 ld/testsuite/ld-elf/pr25617-1-static-no-sec-hdr.rd
 create mode 100644 ld/testsuite/ld-elf/pr25617-1a-no-sec-hdr.nd
 create mode 100644 ld/testsuite/ld-elf/pr25617-1a-no-sec-hdr.rd
 create mode 100644 ld/testsuite/ld-elf/pr25617-1a-sec-hdr.rd
 create mode 100644 ld/testsuite/ld-elf/pr25617-1a.c
 create mode 100644 ld/testsuite/ld-elf/pr25617-1b.c
 create mode 100644 ld/testsuite/ld-elf/start-noheader.rd
 create mode 100644 ld/testsuite/ld-elf/start-shared-noheader-gnu.rd
 create mode 100644 ld/testsuite/ld-elf/start-shared-noheader-sysv.rd
 create mode 100644 ld/testsuite/ld-elf/start-shared-noheader.nd

-- 
2.31.1


             reply	other threads:[~2021-07-03 20:14 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-07-03 20:13 H.J. Lu [this message]
2021-07-03 20:13 ` [PATCH v2 1/6] " H.J. Lu
2021-07-03 20:13 ` [PATCH v2 2/6] bfd: Improve nm and objdump without section header H.J. Lu
2021-07-03 20:13 ` [PATCH v2 3/6] ld: Add a simple test for -z nosectionheader H.J. Lu
2021-07-03 20:14 ` [PATCH v2 4/6] binutils: Add a --strip-sections test H.J. Lu
2021-07-03 20:14 ` [PATCH v2 5/6] ld: Add tests for -z nosectionheader and --strip-sections H.J. Lu
2021-07-03 20:14 ` [PATCH v2 6/6] ld: Add -z nosectionheader test to bootstrap.exp H.J. Lu

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=20210703201402.1136267-1-hjl.tools@gmail.com \
    --to=hjl.tools@gmail.com \
    --cc=amodra@gmail.com \
    --cc=binutils@sourceware.org \
    --cc=klkblake@gmail.com \
    --cc=nickc@redhat.com \
    /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;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).