Fix illegal memory access whilst parsing corrupt DWARF debug information.
[binutils-gdb.git] / binutils / README-how-to-make-a-release
index ea8a5a10318f19b4555868fcdfd56de67e772507..7aa5efa04970701a6f4e0afb1151990ba7a43dd1 100644 (file)
@@ -35,7 +35,8 @@ Approx time to complete from here: 2 hours ....
      in the gold directory - it has its own release numbering.
 
      Likewise for the ChangeLog files in: bfd, binutils, config, cpu,
-     elfcpp, gas, gold, gprof, include, ld, libctf, opcodes and toplevel.
+     elfcpp, gas, gold, gprof, include, ld, libctf, libiberty, opcodes
+     and toplevel.
 
      Add a note of the name of the new branch to binutils/BRANCHES.
 
@@ -43,8 +44,8 @@ Approx time to complete from here: 2 hours ....
 
   4. Create the release branch using:
 
-       git branch binutils-2_37-branch
-        git push origin binutils-2_37-branch
+       git branch binutils-2_38-branch
+        git push origin binutils-2_38-branch
 
      If you get a message like:
      
@@ -54,7 +55,7 @@ Approx time to complete from here: 2 hours ....
 
   5. Make sure that the branch is there.  IE check out the branch sources:
   
-        git clone ssh://sourceware.org/git/binutils-gdb.git -b binutils-2_37-branch 2.37
+        git clone ssh://sourceware.org/git/binutils-gdb.git -b binutils-2_38-branch 2.38
 
      If you get a message about being in a "detached head" state, something
      has gone wrong...
@@ -76,21 +77,21 @@ Approx time to complete from here: 2 hours ....
      ask Joel Brobecker <brobecker AT adacore DOT com>.
 
   7. Rename the current HEAD version entry in Bugzilla, and create a
-     new one.  E.g. rename "2.37 (HEAD)" to 2.37, and create
-     "2.38 (HEAD)":
+     new one.  E.g. rename "2.38 (HEAD)" to 2.38, and create
+     "2.39 (HEAD)":
      
         https://sourceware.org/bugzilla/editversions.cgi?product=binutils
 
   8. Update bfd/version.m4 on HEAD to indicate that is now a snapshot
      of the next release:
      
-       m4_define([BFD_VERSION], [2.37.50])
+       m4_define([BFD_VERSION], [2.38.50])
        
      Update the release number in bfd/version.m4 for the BRANCH.
      The branch only needs the point value set to 90 as the release
      has not actually happened yet.
 
-       m4_define([BFD_VERSION], [2.36.90])
+       m4_define([BFD_VERSION], [2.37.90])
 
      Regenerate various files on both branch and HEAD by configuring
      with "--enable-maintainer-mode --enable-gold" and then building
@@ -114,12 +115,12 @@ Approx time to complete from here: 2 hours ....
 
      c. Build a test target using this tarball.
 
-           cp binutils-2.36.90.tar.xz /dev/shm
+           cp binutils-2.37.90.tar.xz /dev/shm
           pushd /dev/shm
           tar xvf binutils-2.36.90.tar.xz
           mkdir build
           cd build
-          ../binutils-2.36.90/configure --quiet --enable-gold
+          ../binutils-2.37.90/configure --quiet --enable-gold
           make
           popd
 
@@ -127,8 +128,8 @@ Approx time to complete from here: 2 hours ....
 
      d. Upload the pre-release snapshot to the sourceware FTP site:
 
-          scp binutils-2.36.90.tar.xz sourceware.org:~ftp/pub/binutils/snapshots
-          ssh sourceware.org sha256sum ~ftp/pub/binutils/snapshots/binutils-2.36.90.tar.xz
+          scp binutils-2.37.90.tar.xz sourceware.org:~ftp/pub/binutils/snapshots
+          ssh sourceware.org sha256sum ~ftp/pub/binutils/snapshots/binutils-2.37.90.tar.xz
 
      e. Clean up the source directory again.
 
@@ -141,11 +142,11 @@ Approx time to complete from here: 2 hours ....
 ------------------------------------------------------------------------
 Dear Translation Project
 
-  The <NEW_VERSION> release branch has been created for the GNU binutils.
+  The 2.38 release branch has been created for the GNU Binutils project.
 
   A snapshot of the branch sources can be found here:
 
-    https://sourceware.org/pub/binutils/snapshots/binutils-<OLD_VERSION>.90.tar.xz
+    https://sourceware.org/pub/binutils/snapshots/binutils-2.37.90.tar.xz
 
   We hope to make the official release of the sources on the <DATE>
   although that could change if there are important bugs that need to
@@ -161,7 +162,7 @@ Hi Everyone,
 
   The <NEW_VERSION> branch has now been created:
 
-     git clone git://sourceware.org/git/binutils-gdb.git -b binutils-<NEW_VERSION>-branch <NEW_VERSION>
+     git clone git://sourceware.org/git/binutils-gdb.git -b binutils-<NEW_VERSION>-branch
 
   A snapshot of the sources is also available here:
 
@@ -200,10 +201,10 @@ When the time comes to actually make the release....
 
   21. Update the release number in bfd/version.m4 on the release
       branch to a whole new minor version number, without a point
-      value.  Eg "2.36.90" becomes "2.37".  Change bfd/development.sh
+      value.  Eg "2.37.90" becomes "2.38".  Change bfd/development.sh
       to set all values to "false".  Regenerate the configure and
       makefiles.  And *info* files.  Add ChangeLog entries for the
-      updates and add a  "this-is-the-2.3x-release" comment and
+      updates and add a  "this-is-the-2.38-release" comment and
       commit.
 
   22. Check that your file creation mask will create the
@@ -227,7 +228,13 @@ When the time comes to actually make the release....
             ./src-release.sh -b -g -l -x binutils
 
   24. Check that the files in the tarballs have the correct
-      permissions.  (FIXME: How to do this ?)
+      permissions.
+
+           tar tvf binutils-2.37.tar.bz2 | grep -e "---"
+
+      Also check that the man files are not empty.  (cf PR 28144).
+
+           tar tvf binutils-2.37.tar.xz | grep -e "\.1"
 
   25. Sanity check the release on x86_64-pc-linux-gnu by building and
       running the testsuites (gas, gold, binutils and ld).  Make the
@@ -237,7 +244,7 @@ When the time comes to actually make the release....
         cd /dev/shm
        mkdir delme
        cd delme
-       tar xvf <path-to-sources>/binutils-2.*.tar.xz
+       tar xvf <path-to-sources>/binutils-2.*.tar.lz
        chmod -R -w binutils-2.*
        mkdir build
        cd build
@@ -247,14 +254,17 @@ When the time comes to actually make the release....
         make install-gas install-gold install-ld install-binutils
 
         # Needed for step 29...
-        make html
+        make html pdf
 
   26. Tag the branch with the new release number:
 
             git tag -a binutils-2_3x     <=== Be careful to get the tag right
+           
              [optional: add "-u XXXXX" to sign with a gpg key]
              enter a tag message such as: "Official Binutils 2.3x release"
-             
+
+            eg: git tag -a binutils-2_37 -u DD9E3C4F
+
         NB/ If you do sign the binaries make sure to use a key
        that has been published with the FSF.
 
@@ -316,20 +326,40 @@ When the time comes to actually make the release....
       however, so the directories had to be made by hand, as shown above).
 
          cd as
-        lcd <build-dir>/gas/doc/as.html
-        put *      {be patient - this takes a long time...}
+        lcd <build-dir>/gas/doc/as
+        put *                {be patient - this takes a long time...}
+        lcd ..
+        cd ..
+        put as.html
+        put as.pdf
         cd ../bfd
-        lcd ../../../bfd/doc/bfd.html
+        lcd ../../bfd/doc/bfd
         put *
+        cd ..
+        lcd ..
+        put bfd.html
+        put bfd.pdf
         cd ../binutils
-        lcd ../../../binutils/doc/binutils.html
+        lcd ../../binutils/doc/binutils
         put *
+        cd ..
+        lcd ..
+        put binutils.html
+        put binutils.pdf
         cd ../gprof
-        lcd ../../../gprof/gprof.html
+        lcd ../../gprof/doc/gprof
         put *
+        cd ..
+        lcd ../..
+        put gprof.html
+        put gprof.pdf
         cd ../ld
-        lcd ../../ld/ld.html
+        lcd ../ld/doc/ld
         put *
+        cd ..
+        lcd ../..
+        put ld.html
+        put ld.pdf
         
       Edit the top level binutils index.html file to change the links
       to point to the new documentation.