[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
66/176: gnu: binutils-boot: Update to 2.30.
From: |
Jan Nieuwenhuizen |
Subject: |
66/176: gnu: binutils-boot: Update to 2.30. |
Date: |
Fri, 31 Aug 2018 11:20:15 -0400 (EDT) |
janneke pushed a commit to branch wip-bootstrap
in repository guix.
commit 6a0515e88d10ecedf4326d584534d3c9d962cd47
Author: Jan Nieuwenhuizen <address@hidden>
Date: Sat Jun 9 23:32:09 2018 +0200
gnu: binutils-boot: Update to 2.30.
* gnu/packages/mes.scm (binutils-boot): Update to 2.30.
* gnu/packages/patches/binutils-boot-2.30.patch: New file.
* gnu/packages/patches/binutils-boot-2.25.patch: Remove.
* gnu/local.mk (dist_patch_DATA): Rename it.
---
gnu/packages/mes.scm | 6 +-
gnu/packages/patches/binutils-boot-2.30.patch | 282 ++++++++++++++++++++++++++
2 files changed, 285 insertions(+), 3 deletions(-)
diff --git a/gnu/packages/mes.scm b/gnu/packages/mes.scm
index 41fbcf8..a83a8f6 100644
--- a/gnu/packages/mes.scm
+++ b/gnu/packages/mes.scm
@@ -545,15 +545,15 @@ standard.")
(package
(inherit binutils)
(name "binutils-boot")
- (version "2.25")
+ (version "2.30")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnu/binutils/binutils-"
version ".tar.gz"))
- (patches (search-patches "binutils-boot-2.25.patch"))
+ (patches (search-patches "binutils-boot-2.30.patch"))
(sha256
(base32
- "0b9gj330zjv5hby6kgf1nda5ca7pp3z1ips6dykm46mld1qkgkyc"))))
+ "1sp9g7zrrcsl25hxiqzmmcrdlbm7rbmj0vki18lks28wblcm0f4c"))))
(supported-systems '("i686-linux"))
(native-inputs `(("flex" ,flex) ; MORTAL SIN HERE
("mes" ,mes-boot)
diff --git a/gnu/packages/patches/binutils-boot-2.30.patch
b/gnu/packages/patches/binutils-boot-2.30.patch
new file mode 100644
index 0000000..80028a4
--- /dev/null
+++ b/gnu/packages/patches/binutils-boot-2.30.patch
@@ -0,0 +1,282 @@
+libiberty/md5.c does not compile with our (patched) tcc-0.9.26,
+so we use md5.c from binutils-2.14
+
+tcc-0.9.27 is known to compile that file, this md5.c patch can be
+removed after upgrading tcc.
+
+diff -purN -x config.status -x config.h -x BOOT
../binutils-2.30/bfd/Makefile.in binutils-2.30/bfd/Makefile.in
+--- ../binutils-2.30/bfd/Makefile.in 2018-01-27 15:58:29.000000000 +0100
++++ binutils-2.30/bfd/Makefile.in 2018-06-09 22:10:42.546333481 +0200
+@@ -386,7 +386,7 @@ libbfd_la_LDFLAGS = $(am__append_1) -rel
+ # This is where we get zlib from. zlibdir is -L../zlib and zlibinc is
+ # -I../zlib, unless we were configured with --with-system-zlib, in which
+ # case both are empty.
+-ZLIB = @zlibdir@ -lz
++ZLIB = address@hidden@
+ ZLIBINC = @zlibinc@
+ AM_CFLAGS = $(WARN_CFLAGS) $(ZLIBINC)
+ AM_CPPFLAGS = -DBINDIR='"$(bindir)"'
+diff -purN -x config.status -x config.h -x BOOT
../binutils-2.30/binutils/Makefile.in binutils-2.30/binutils/Makefile.in
+--- ../binutils-2.30/binutils/Makefile.in 2018-01-27 16:02:51.000000000
+0100
++++ binutils-2.30/binutils/Makefile.in 2018-06-09 22:55:02.974051534 +0200
+@@ -357,7 +357,7 @@ LEX = `if [ -f ../flex/flex ]; then echo
+ LEXLIB = @LEXLIB@
+ LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@
+ LIBICONV = @LIBICONV@
+-LIBINTL = @LIBINTL@
++LIBINTL = @LIBINTL@ ../zlib/libz.a
+ LIBINTL_DEP = @LIBINTL_DEP@
+ LIBOBJS = @LIBOBJS@
+ LIBS = @LIBS@
+@@ -476,7 +476,7 @@ am__skipyacc =
+ # This is where we get zlib from. zlibdir is -L../zlib and zlibinc is
+ # -I../zlib, unless we were configured with --with-system-zlib, in which
+ # case both are empty.
+-ZLIB = @zlibdir@ -lz
++ZLIB = @zlibdir@ $(PWD)/../zlib/libz.a
+ ZLIBINC = @zlibinc@
+ AM_CFLAGS = $(WARN_CFLAGS) $(ZLIBINC)
+ AM_CFLAGS_FOR_BUILD = $(WARN_CFLAGS_FOR_BUILD) $(ZLIBINC)
+diff -purN -x config.status -x config.h -x BOOT
../binutils-2.30/gas/Makefile.in binutils-2.30/gas/Makefile.in
+--- ../binutils-2.30/gas/Makefile.in 2018-01-27 15:59:06.000000000 +0100
++++ binutils-2.30/gas/Makefile.in 2018-06-09 22:15:27.247014898 +0200
+@@ -215,7 +215,7 @@ LDFLAGS = @LDFLAGS@
+ LEX = `if [ -f ../flex/flex ] ; then echo ../flex/flex ; else echo @LEX@ ; fi`
+ LEXLIB = @LEXLIB@
+ LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@
+-LIBINTL = @LIBINTL@
++LIBINTL = @LIBINTL@ ../zlib/libz.a
+ LIBINTL_DEP = @LIBINTL_DEP@
+ LIBM = @LIBM@
+ LIBOBJS = @LIBOBJS@
+diff -purN -x config.status -x config.h -x BOOT ../binutils-2.30/gas/read.c
binutils-2.30/gas/read.c
+--- ../binutils-2.30/gas/read.c 2018-01-13 14:31:15.000000000 +0100
++++ binutils-2.30/gas/read.c 2018-06-09 20:08:32.809230911 +0200
+@@ -38,7 +38,9 @@
+ #include "obstack.h"
+ #include "ecoff.h"
+ #include "dw2gencfi.h"
++#if !MES_BOOTSTRAP
+ #include "wchar.h"
++#endif
+
+ #ifndef TC_START_LABEL
+ #define TC_START_LABEL(STR, NUL_CHAR, NEXT_CHAR) (NEXT_CHAR == ':')
+diff -purN -x config.status -x config.h -x BOOT
../binutils-2.30/gprof/Makefile.in binutils-2.30/gprof/Makefile.in
+--- ../binutils-2.30/gprof/Makefile.in 2018-01-27 16:02:44.000000000 +0100
++++ binutils-2.30/gprof/Makefile.in 2018-06-09 22:58:52.717801489 +0200
+@@ -229,7 +229,7 @@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_P
+ INSTOBJEXT = @INSTOBJEXT@
+ LD = @LD@
+ LDFLAGS = @LDFLAGS@
+-LIBINTL = @LIBINTL@
++LIBINTL = @LIBINTL@ ../zlib/libz.a
+ LIBINTL_DEP = @LIBINTL_DEP@
+ LIBOBJS = @LIBOBJS@
+ LIBS = @LIBS@
+diff -purN -x config.status -x config.h -x BOOT
../binutils-2.30/ld/Makefile.in binutils-2.30/ld/Makefile.in
+--- ../binutils-2.30/ld/Makefile.in 2018-01-27 16:03:10.000000000 +0100
++++ binutils-2.30/ld/Makefile.in 2018-06-09 22:58:33.937494883 +0200
+@@ -294,7 +294,7 @@ LDFLAGS = @LDFLAGS@
+ LEX = `if [ -f ../flex/flex ]; then echo ../flex/flex; else echo @LEX@; fi`
+ LEXLIB = @LEXLIB@
+ LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@
+-LIBINTL = @LIBINTL@
++LIBINTL = @LIBINTL@ ../zlib/libz.a
+ LIBINTL_DEP = @LIBINTL_DEP@
+ LIBOBJS = @LIBOBJS@
+ LIBS = @LIBS@
+diff -purN -x config.status -x config.h -x BOOT
../binutils-2.30/libiberty/md5.c binutils-2.30/libiberty/md5.c
+--- ../binutils-2.30/libiberty/md5.c 2018-01-13 14:31:16.000000000 +0100
++++ binutils-2.30/libiberty/md5.c 2018-06-09 18:54:17.647816563 +0200
+@@ -1,6 +1,6 @@
+ /* md5.c - Functions to compute MD5 message digest of files or memory blocks
+ according to the definition of MD5 in RFC 1321 from April 1992.
+- Copyright (C) 1995-2018 Free Software Foundation, Inc.
++ Copyright (C) 1995, 1996 Free Software Foundation, Inc.
+
+ NOTE: This source is derived from an old version taken from the GNU C
+ Library (glibc).
+@@ -17,7 +17,7 @@
+
+ You should have received a copy of the GNU General Public License
+ along with this program; if not, write to the Free Software Foundation,
+- Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA. */
++ Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
+
+ /* Written by Ulrich Drepper <address@hidden>, 1995. */
+
+@@ -62,7 +62,8 @@ static const unsigned char fillbuf[64] =
+ /* Initialize structure containing state of computation.
+ (RFC 1321, 3.3: Step 3) */
+ void
+-md5_init_ctx (struct md5_ctx *ctx)
++md5_init_ctx (ctx)
++ struct md5_ctx *ctx;
+ {
+ ctx->A = (md5_uint32) 0x67452301;
+ ctx->B = (md5_uint32) 0xefcdab89;
+@@ -76,19 +77,17 @@ md5_init_ctx (struct md5_ctx *ctx)
+ /* Put result from CTX in first 16 bytes following RESBUF. The result
+ must be in little endian byte order.
+
+- IMPORTANT: RESBUF may not be aligned as strongly as MD5_UNIT32 so we
+- put things in a local (aligned) buffer first, then memcpy into RESBUF. */
++ IMPORTANT: On some systems it is required that RESBUF is correctly
++ aligned for a 32 bits value. */
+ void *
+-md5_read_ctx (const struct md5_ctx *ctx, void *resbuf)
++md5_read_ctx (ctx, resbuf)
++ const struct md5_ctx *ctx;
++ void *resbuf;
+ {
+- md5_uint32 buffer[4];
+-
+- buffer[0] = SWAP (ctx->A);
+- buffer[1] = SWAP (ctx->B);
+- buffer[2] = SWAP (ctx->C);
+- buffer[3] = SWAP (ctx->D);
+-
+- memcpy (resbuf, buffer, 16);
++ ((md5_uint32 *) resbuf)[0] = SWAP (ctx->A);
++ ((md5_uint32 *) resbuf)[1] = SWAP (ctx->B);
++ ((md5_uint32 *) resbuf)[2] = SWAP (ctx->C);
++ ((md5_uint32 *) resbuf)[3] = SWAP (ctx->D);
+
+ return resbuf;
+ }
+@@ -99,11 +98,12 @@ md5_read_ctx (const struct md5_ctx *ctx,
+ IMPORTANT: On some systems it is required that RESBUF is correctly
+ aligned for a 32 bits value. */
+ void *
+-md5_finish_ctx (struct md5_ctx *ctx, void *resbuf)
++md5_finish_ctx (ctx, resbuf)
++ struct md5_ctx *ctx;
++ void *resbuf;
+ {
+ /* Take yet unprocessed bytes into account. */
+ md5_uint32 bytes = ctx->buflen;
+- md5_uint32 swap_bytes;
+ size_t pad;
+
+ /* Now count remaining bytes. */
+@@ -114,13 +114,10 @@ md5_finish_ctx (struct md5_ctx *ctx, voi
+ pad = bytes >= 56 ? 64 + 56 - bytes : 56 - bytes;
+ memcpy (&ctx->buffer[bytes], fillbuf, pad);
+
+- /* Put the 64-bit file length in *bits* at the end of the buffer.
+- Use memcpy to avoid aliasing problems. On most systems, this
+- will be optimized away to the same code. */
+- swap_bytes = SWAP (ctx->total[0] << 3);
+- memcpy (&ctx->buffer[bytes + pad], &swap_bytes, sizeof (swap_bytes));
+- swap_bytes = SWAP ((ctx->total[1] << 3) | (ctx->total[0] >> 29));
+- memcpy (&ctx->buffer[bytes + pad + 4], &swap_bytes, sizeof (swap_bytes));
++ /* Put the 64-bit file length in *bits* at the end of the buffer. */
++ *(md5_uint32 *) &ctx->buffer[bytes + pad] = SWAP (ctx->total[0] << 3);
++ *(md5_uint32 *) &ctx->buffer[bytes + pad + 4] = SWAP ((ctx->total[1] << 3) |
++ (ctx->total[0] >> 29));
+
+ /* Process last bytes. */
+ md5_process_block (ctx->buffer, bytes + pad + 8, ctx);
+@@ -132,7 +129,9 @@ md5_finish_ctx (struct md5_ctx *ctx, voi
+ resulting message digest number will be written into the 16 bytes
+ beginning at RESBLOCK. */
+ int
+-md5_stream (FILE *stream, void *resblock)
++md5_stream (stream, resblock)
++ FILE *stream;
++ void *resblock;
+ {
+ /* Important: BLOCKSIZE must be a multiple of 64. */
+ #define BLOCKSIZE 4096
+@@ -187,7 +186,10 @@ md5_stream (FILE *stream, void *resblock
+ output yields to the wanted ASCII representation of the message
+ digest. */
+ void *
+-md5_buffer (const char *buffer, size_t len, void *resblock)
++md5_buffer (buffer, len, resblock)
++ const char *buffer;
++ size_t len;
++ void *resblock;
+ {
+ struct md5_ctx ctx;
+
+@@ -203,7 +205,10 @@ md5_buffer (const char *buffer, size_t l
+
+
+ void
+-md5_process_bytes (const void *buffer, size_t len, struct md5_ctx *ctx)
++md5_process_bytes (buffer, len, ctx)
++ const void *buffer;
++ size_t len;
++ struct md5_ctx *ctx;
+ {
+ /* When we already have some bits in our internal buffer concatenate
+ both inputs first. */
+@@ -231,29 +236,9 @@ md5_process_bytes (const void *buffer, s
+ /* Process available complete blocks. */
+ if (len > 64)
+ {
+-#if !_STRING_ARCH_unaligned
+-/* To check alignment gcc has an appropriate operator. Other
+- compilers don't. */
+-# if __GNUC__ >= 2
+-# define UNALIGNED_P(p) (((md5_uintptr) p) % __alignof__ (md5_uint32) != 0)
+-# else
+-# define UNALIGNED_P(p) (((md5_uintptr) p) % sizeof (md5_uint32) != 0)
+-# endif
+- if (UNALIGNED_P (buffer))
+- while (len > 64)
+- {
+- memcpy (ctx->buffer, buffer, 64);
+- md5_process_block (ctx->buffer, 64, ctx);
+- buffer = (const char *) buffer + 64;
+- len -= 64;
+- }
+- else
+-#endif
+- {
+- md5_process_block (buffer, len & ~63, ctx);
+- buffer = (const void *) ((const char *) buffer + (len & ~63));
+- len &= 63;
+- }
++ md5_process_block (buffer, len & ~63, ctx);
++ buffer = (const void *) ((const char *) buffer + (len & ~63));
++ len &= 63;
+ }
+
+ /* Move remaining bytes in internal buffer. */
+@@ -278,7 +263,10 @@ md5_process_bytes (const void *buffer, s
+ It is assumed that LEN % 64 == 0. */
+
+ void
+-md5_process_block (const void *buffer, size_t len, struct md5_ctx *ctx)
++md5_process_block (buffer, len, ctx)
++ const void *buffer;
++ size_t len;
++ struct md5_ctx *ctx;
+ {
+ md5_uint32 correct_words[16];
+ const md5_uint32 *words = (const md5_uint32 *) buffer;
+@@ -293,7 +281,8 @@ md5_process_block (const void *buffer, s
+ length of the file up to 2^64 bits. Here we only compute the
+ number of bytes. Do a double word increment. */
+ ctx->total[0] += len;
+- ctx->total[1] += ((len >> 31) >> 1) + (ctx->total[0] < len);
++ if (ctx->total[0] < len)
++ ++ctx->total[1];
+
+ /* Process all bytes in the buffer with 64 bytes in each round of
+ the loop. */
+diff -purN -x config.status -x config.h -x BOOT
../binutils-2.30/zlib/configure binutils-2.30/zlib/configure
+--- ../binutils-2.30/zlib/configure 2018-01-13 14:31:16.000000000 +0100
++++ binutils-2.30/zlib/configure 2018-06-09 21:10:55.006956398 +0200
+@@ -11116,7 +11116,7 @@ if test "${ac_cv_lib_z_deflate+set}" = s
+ $as_echo_n "(cached) " >&6
+ else
+ ac_check_lib_save_LIBS=$LIBS
+-LIBS="-lz $LIBS"
++LIBS="$PWD/libz.a $LIBS"
+ if test x$gcc_no_link = xyes; then
+ as_fn_error "Link tests are not allowed after GCC_NO_EXECUTABLES."
"$LINENO" 5
+ fi
- 56/176: gnu: mescc-tools-boot: Update for mes 0.15., (continued)
- 56/176: gnu: mescc-tools-boot: Update for mes 0.15., Jan Nieuwenhuizen, 2018/08/31
- 18/176: gnu: mescc-tools-boot: Use bootstrap Guile and simplify., Jan Nieuwenhuizen, 2018/08/31
- 16/176: bump: mes-boot: fixup for 80-setjmp test, Jan Nieuwenhuizen, 2018/08/31
- 40/176: gnu: tinycc-boot: Update for mes-0.12., Jan Nieuwenhuizen, 2018/08/31
- 45/176: gnu: %mes-seed: Update for mes 0.13., Jan Nieuwenhuizen, 2018/08/31
- 58/176: gnu: mes-boot: Update to 0.15., Jan Nieuwenhuizen, 2018/08/31
- 70/176: gnu: linux-libre-headers-boot0: Export., Jan Nieuwenhuizen, 2018/08/31
- 74/176: gnu: gcc-boot: Update to 3.4.0., Jan Nieuwenhuizen, 2018/08/31
- 73/176: gnu: gcc-boot: Update to 3.2., Jan Nieuwenhuizen, 2018/08/31
- 62/176: gnu: Add binutils-boot 2.5.1., Jan Nieuwenhuizen, 2018/08/31
- 66/176: gnu: binutils-boot: Update to 2.30.,
Jan Nieuwenhuizen <=
- 75/176: Revert "gnu: gcc-boot: Update to 3.4.0.", Jan Nieuwenhuizen, 2018/08/31
- 76/176: Revert "gnu: gcc-boot: Update to 3.2.", Jan Nieuwenhuizen, 2018/08/31
- 72/176: gnu: gcc-boot: Update to 3.0., Jan Nieuwenhuizen, 2018/08/31
- 85/176: gnu: mes-boot: Update for linux-4.17 elf32-header fix., Jan Nieuwenhuizen, 2018/08/31
- 96/176: gnu: Add binutils-boot0-cheat., Jan Nieuwenhuizen, 2018/08/31
- 98/176: gnu: binutils-boot0: Inject AR, LD from bootstrap-binaries., Jan Nieuwenhuizen, 2018/08/31
- 101/176: gnu: binutils-mesboot0: Rename from binutils-boot0., Jan Nieuwenhuizen, 2018/08/31
- 90/176: gnu: glibc-boot: Install all headers. WIP plus more, Jan Nieuwenhuizen, 2018/08/31
- 110/176: Revert "REMOVEME: %fake-bootstrap => #t.", Jan Nieuwenhuizen, 2018/08/31
- 32/176: gnu: Update tcc-boot: mescc char cast truncate bug #2., Jan Nieuwenhuizen, 2018/08/31