[PATCH 0/4] Add a ./bootstrap script to automate bundling and generating files

Luke T. Shumaker lukeshu@lukeshu.com
Thu Jun 6 20:11:33 GMT 2024


As I started hacking on binutils trying to figure out how to make the
changes I actually wanted to make, I was befuddled by how to update
certain things (things bundled from GCC).  As I looked into it, I was
horrified to discover that this has been a mostly-manual process, and
often missed certain files.  So, I spent some time tracking down where
each file came from, and writing a script to replicate the process.

I *think* I got all of the bundled+generated files; LMK if there are
any bundled/generated files still sitting around after a `./bootstrap
clean`.

Most of the meat of this (both in implementation, and in
commit-message description) is in the final commit of this patchset.

I anticipate sending some follow-up patchsets that update versions of
things and remove historical cruft, as well as updating documentation
files that describe outdated versions of the bundle process.  But for
now I've focused on just documenting (via code) how the files got to
be how they are right now.

I have mixed feeling about whether I think said files should be
checked into Git, but I have no real compulsion to change things if
checking them in is working for you.

####

I've CC'd AMS because we discussed this a bit on Mastodon.

I've CC'd Ralf because I suspect he might have some commentary on
`bootstrap.d/libtool-patches/0001-ltmain.m4sh-Add-Ralf-s-unpublished-changes.patch`
and the ltmain.sh bit toward the end of
`bootstrap.d/autotools1-addmissing.mk`.

I've CC'd Tom because the "readline" commit is about a mistake he
introduced.  Also, it seems like he's historically been one of the
main people to update bundled files.

####

Looking at recent commits, it looks like I don't need to fuss with
ChangeLog or adding a special ChangeLog footer to my commit messages?
Let me know if I'm mistaken on that.

The FSF should have a copyright assignment form from me on file, but
maybe I need to do a new one for binutils-gdb specifically?

####

Luke T. Shumaker (4):
  readline: Fix examples/rlfe/configure.ac
  Update COPYING files from gnu.org
  zlib: Remove files that should certainly not be checked in
  Add a ./bootstrap script to automate bundling and generating files

 .gitignore                                    |    1 +
 COPYING                                       |   41 +-
 COPYING.LIB                                   |   23 +-
 COPYING3                                      |    8 +-
 COPYING3.LIB                                  |    8 +-
 bfd/COPYING                                   |    8 +-
 bootstrap                                     |  266 ++++
 bootstrap.d/autotools0-install.mk             |   47 +
 bootstrap.d/autotools1-addmissing.mk          |  162 +++
 bootstrap.d/autotools2-run.mk                 |   90 ++
 bootstrap.d/bundle-gcc-include.txt            |   47 +
 bootstrap.d/bundle-gcc.mk                     |  118 ++
 bootstrap.d/bundle-gnulib.mk                  |   45 +
 bootstrap.d/bundle-licenses.mk                |   47 +
 bootstrap.d/bundle-readline.mk                |   44 +
 bootstrap.d/bundle-zlib.mk                    |   45 +
 ....m4sh-Add-Ralf-s-unpublished-changes.patch |  703 +++++++++++
 ...btool-Fix-relink-mode-to-use-absolut.patch |   28 +
 .../1001-PR-target-59788.patch                |   26 +
 ...output-of-find-to-enable-determinist.patch |   37 +
 ...AVE_DOS_BASED_FILE_SYSTEM-for-Cygwin.patch |   32 +
 ...from-libtool.m4-macros-and-config.rp.patch |   72 ++
 .../2001-Sync-libtool.m4-with-GCC-tree.patch  |   76 ++
 .../2002-PR-target-38607.patch                |   37 +
 ...NABLE_LOCK-ld-m-flags-Remove-non-can.patch |   51 +
 ...004-Update-libtool.m4-from-GCC-trunk.patch |   70 ++
 ...005-Sync-top-level-btool.m4-with-GCC.patch |   39 +
 ...to-autoconf-2.69-and-automake-1.15.1.patch |  377 ++++++
 ...e-GNU-Hurd-test-from-upstream.-In-up.patch |   50 +
 ...008-GCC-Pass-plugin-to-AR-and-RANLIB.patch |   85 ++
 ...Check-if-AR-works-with-plugin-and-rc.patch |   69 ++
 ...the-haiku-operating-system.-These-ar.patch |   28 +
 ...ol.m4-augment-symcode-for-Solaris-11.patch |   33 +
 ...libtool.m4-fix-nm-BSD-flag-detection.patch |  161 +++
 ...he-NM-nm-over-here-B-option-with-pat.patch |   99 ++
 ...btool-and-dependencies-for-Darwin20-.patch |   73 ++
 ...y-support-for-shared-libs-on-VxWorks.patch |   81 ++
 ...1-build-to-remove-source-paths-from-.patch |   58 +
 ...output-of-find-to-enable-determinist.patch |   44 +
 ...-uclinuxfdpiceabi-in-configure-scrip.patch |   53 +
 bootstrap.d/libtool-patches/README.sh         |   24 +
 config/patches/0001-binutils-ChangeLog.patch  |  830 +++++++++++++
 .../0002-Finalized-intl-update-patches.patch  | 1082 +++++++++++++++++
 ...-libiberty-Disable-hwcaps-for-sha1.o.patch |   52 +
 ...he-sanitizer-configure-check-failure.patch |  101 ++
 gas/COPYING                                   |    8 +-
 gdb/COPYING                                   |    8 +-
 gnulib/update-gnulib.sh                       |    3 +
 ...001-Another-part-of-fixing-make-TAGS.patch |   37 +
 ...to-autoconf-2.69-and-automake-1.15.1.patch |  198 +++
 ...-configure-Implement-enable-host-pie.patch |   42 +
 .../patches/0004-merge-ChangeLog.patch        |   52 +
 ...-Invoke-D-demangler-when-format-auto.patch |   45 +
 ...he-sanitizer-configure-check-failure.patch |   49 +
 readline/patches/0001-gdb-bundle.patch        |  102 ++
 ...0002-Fix-Readline-8.1-build-on-mingw.patch |   40 +
 ...rt-changes-needed-to-properly-detect.patch |  255 ++++
 ...dline-fix-extra-quit-message-problem.patch |   81 ++
 ...-Fix-double-free-in-_rl_scxt_dispose.patch |  119 ++
 readline/patches/0006-gdb-bad-merge.patch     |   10 +
 readline/readline/examples/rlfe/configure.in  |    2 +-
 sim/COPYING                                   |    8 +-
 zlib/contrib/masmx64/gvmat64.obj              |  Bin 4119 -> 0 bytes
 zlib/contrib/masmx64/inffasx64.obj            |  Bin 5913 -> 0 bytes
 zlib/contrib/masmx86/gvmat32.obj              |  Bin 10241 -> 0 bytes
 zlib/contrib/masmx86/inffas32.obj             |  Bin 14893 -> 0 bytes
 zlib/example.c                                |  565 ---------
 zlib/minigzip.c                               |  440 -------
 68 files changed, 6472 insertions(+), 1063 deletions(-)
 create mode 100755 bootstrap
 create mode 100644 bootstrap.d/autotools0-install.mk
 create mode 100644 bootstrap.d/autotools1-addmissing.mk
 create mode 100644 bootstrap.d/autotools2-run.mk
 create mode 100644 bootstrap.d/bundle-gcc-include.txt
 create mode 100644 bootstrap.d/bundle-gcc.mk
 create mode 100644 bootstrap.d/bundle-gnulib.mk
 create mode 100644 bootstrap.d/bundle-licenses.mk
 create mode 100644 bootstrap.d/bundle-readline.mk
 create mode 100644 bootstrap.d/bundle-zlib.mk
 create mode 100644 bootstrap.d/libtool-patches/0001-ltmain.m4sh-Add-Ralf-s-unpublished-changes.patch
 create mode 100644 bootstrap.d/libtool-patches/1000-Backport-from-Libtool-Fix-relink-mode-to-use-absolut.patch
 create mode 100644 bootstrap.d/libtool-patches/1001-PR-target-59788.patch
 create mode 100644 bootstrap.d/libtool-patches/1002-libtool.m4-Sort-output-of-find-to-enable-determinist.patch
 create mode 100644 bootstrap.d/libtool-patches/1003-Do-not-use-HAVE_DOS_BASED_FILE_SYSTEM-for-Cygwin.patch
 create mode 100644 bootstrap.d/libtool-patches/2000-Remove-freebsd1-from-libtool.m4-macros-and-config.rp.patch
 create mode 100644 bootstrap.d/libtool-patches/2001-Sync-libtool.m4-with-GCC-tree.patch
 create mode 100644 bootstrap.d/libtool-patches/2002-PR-target-38607.patch
 create mode 100644 bootstrap.d/libtool-patches/2003-libtool.m4-_LT_ENABLE_LOCK-ld-m-flags-Remove-non-can.patch
 create mode 100644 bootstrap.d/libtool-patches/2004-Update-libtool.m4-from-GCC-trunk.patch
 create mode 100644 bootstrap.d/libtool-patches/2005-Sync-top-level-btool.m4-with-GCC.patch
 create mode 100644 bootstrap.d/libtool-patches/2006-Bump-to-autoconf-2.69-and-automake-1.15.1.patch
 create mode 100644 bootstrap.d/libtool-patches/2007-libtool.m4-update-GNU-Hurd-test-from-upstream.-In-up.patch
 create mode 100644 bootstrap.d/libtool-patches/2008-GCC-Pass-plugin-to-AR-and-RANLIB.patch
 create mode 100644 bootstrap.d/libtool-patches/2009-GCC-Check-if-AR-works-with-plugin-and-rc.patch
 create mode 100644 bootstrap.d/libtool-patches/2010-Add-support-for-the-haiku-operating-system.-These-ar.patch
 create mode 100644 bootstrap.d/libtool-patches/2011-libtool.m4-augment-symcode-for-Solaris-11.patch
 create mode 100644 bootstrap.d/libtool-patches/2012-libtool.m4-fix-nm-BSD-flag-detection.patch
 create mode 100644 bootstrap.d/libtool-patches/2013-libtool.m4-fix-the-NM-nm-over-here-B-option-with-pat.patch
 create mode 100644 bootstrap.d/libtool-patches/2014-Darwin-Update-libtool-and-dependencies-for-Darwin20-.patch
 create mode 100644 bootstrap.d/libtool-patches/2015-Generic-configury-support-for-shared-libs-on-VxWorks.patch
 create mode 100644 bootstrap.d/libtool-patches/2016-Fix-hppa64-hpux11-build-to-remove-source-paths-from-.patch
 create mode 100644 bootstrap.d/libtool-patches/2017-libtool.m4-Sort-output-of-find-to-enable-determinist.patch
 create mode 100644 bootstrap.d/libtool-patches/2018-FDPIC-Handle-arm-uclinuxfdpiceabi-in-configure-scrip.patch
 create mode 100644 bootstrap.d/libtool-patches/README.sh
 create mode 100644 config/patches/0001-binutils-ChangeLog.patch
 create mode 100644 config/patches/0002-Finalized-intl-update-patches.patch
 create mode 100644 config/patches/0003-libiberty-Disable-hwcaps-for-sha1.o.patch
 create mode 100644 config/patches/0004-mmap-Avoid-the-sanitizer-configure-check-failure.patch
 create mode 100644 libdecnumber/patches/0001-Another-part-of-fixing-make-TAGS.patch
 create mode 100644 libdecnumber/patches/0002-Bump-to-autoconf-2.69-and-automake-1.15.1.patch
 create mode 100644 libdecnumber/patches/0003-configure-Implement-enable-host-pie.patch
 create mode 100644 libdecnumber/patches/0004-merge-ChangeLog.patch
 create mode 100644 libiberty/patches/0001-libiberty-Invoke-D-demangler-when-format-auto.patch
 create mode 100644 libiberty/patches/0002-mmap-Avoid-the-sanitizer-configure-check-failure.patch
 create mode 100644 readline/patches/0001-gdb-bundle.patch
 create mode 100644 readline/patches/0002-Fix-Readline-8.1-build-on-mingw.patch
 create mode 100644 readline/patches/0003-readline-back-port-changes-needed-to-properly-detect.patch
 create mode 100644 readline/patches/0004-gdb-readline-fix-extra-quit-message-problem.patch
 create mode 100644 readline/patches/0005-readline-Fix-double-free-in-_rl_scxt_dispose.patch
 create mode 100644 readline/patches/0006-gdb-bad-merge.patch
 delete mode 100644 zlib/contrib/masmx64/gvmat64.obj
 delete mode 100644 zlib/contrib/masmx64/inffasx64.obj
 delete mode 100644 zlib/contrib/masmx86/gvmat32.obj
 delete mode 100644 zlib/contrib/masmx86/inffas32.obj
 delete mode 100644 zlib/example.c
 delete mode 100644 zlib/minigzip.c

-- 
Happy hacking,
~ Luke T. Shumaker


More information about the Gdb-patches mailing list