summaryrefslogtreecommitdiff
path: root/system
diff options
context:
space:
mode:
Diffstat (limited to 'system')
-rw-r--r--system/autoconf/autoconf-2.69-fix-perl-regex.patch11
-rw-r--r--system/binutils/memory.patch449
-rw-r--r--system/bzip2/CVE-2016-3189.patch12
-rw-r--r--system/coreutils/no-doc.patch22
-rw-r--r--system/coreutils/printf-musl.patch53
-rw-r--r--system/coreutils/seq-write-error.patch45
-rw-r--r--system/coreutils/sort-debug-locale.patch79
-rw-r--r--system/gcc/401-libsanitizer-linux.patch100
-rw-r--r--system/gcc/402-libsanitizer-utmp.patch75
-rw-r--r--system/git/0001-gc-use-s-type-character-for-fscanf.patch33
-rw-r--r--system/gmp/gmp-4.1.4-noexecstack.patch20
-rw-r--r--system/vim/no-default-mouse.patch16
12 files changed, 0 insertions, 915 deletions
diff --git a/system/autoconf/autoconf-2.69-fix-perl-regex.patch b/system/autoconf/autoconf-2.69-fix-perl-regex.patch
deleted file mode 100644
index 9cccf912b..000000000
--- a/system/autoconf/autoconf-2.69-fix-perl-regex.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- autoconf-2.69/bin/autoscan.in.old 2012-04-25 02:37:26.000000000 +0000
-+++ autoconf-2.69/bin/autoscan.in 2017-08-03 23:59:38.720214631 +0000
-@@ -358,7 +358,7 @@
- {
- # Strip out comments and variable references.
- s/#.*//;
-- s/\${[^\}]*}//g;
-+ s/\$\{[^\}]*\}//g;
- s/@[^@]*@//g;
-
- # Tokens in the code.
diff --git a/system/binutils/memory.patch b/system/binutils/memory.patch
deleted file mode 100644
index f2cfea130..000000000
--- a/system/binutils/memory.patch
+++ /dev/null
@@ -1,449 +0,0 @@
-From 9999de060bbcc7cca9dce213deeeec6593887a8e Mon Sep 17 00:00:00 2001
-From: "H.J. Lu" <hjl.tools@gmail.com>
-Date: Tue, 27 Feb 2018 12:22:58 -0800
-Subject: [PATCH] Limit memory size to half of address space
-
-When link_info.keep_memory is TRUE, linker caches the relocation
-information and symbol tables of input files in memory. On 32-bit
-hosts, linker runs out of 32-bit virtual memory on input files with many
-relocations. This patch limits the allocated memory size to half of
-the address space for 32-bit hosts.
-
-bfd/
-
- PR ld/18028
- * bfd-in.h (_bfd_link_keep_memory): New.
- * bfd-in2.h: Regenerated.
- * bfd.c (bfd): Add alloc_size.
- * elf-bfd.h (_bfd_elf_link_info_read_relocs): New.
- * elf32-i386.c (elf_i386_check_relocs): Use _bfd_link_keep_memory.
- Update cache_size.
- * elf64-x86-64.c (elf_x86_64_check_relocs): Likewise.
- * elflink.c (_bfd_elf_link_read_relocs): Renamed to ...
- (_bfd_elf_link_info_read_relocs): This. Update cache_size.
- (_bfd_elf_link_read_relocs): New.
- (_bfd_elf_link_check_relocs): Call _bfd_elf_link_info_read_relocs
- instead of _bfd_elf_link_read_relocs.
- (elf_link_add_object_symbols): Likewise.
- (elf_link_input_bfd): Likewise.
- (init_reloc_cookie_rels): Likewise.
- (init_reloc_cookie): Update cache_size. Call
- _bfd_elf_link_info_read_relocs instead of
- _bfd_elf_link_read_relocs.
- (link_info_ok): New.
- (elf_gc_smash_unused_vtentry_relocs): Updated. Call
- _bfd_elf_link_info_read_relocs instead of
- _bfd_elf_link_read_relocs.
- (bfd_elf_gc_sections): Use link_info_ok. Pass &link_info_ok
- to elf_gc_smash_unused_vtentry_relocs.
- * linker.c (_bfd_link_keep_memory): New.
- * opncls.c (bfd_alloc): Update alloc_size.
-
-include/
-
- PR ld/18028
- * bfdlink.h (bfd_link_info): Add cache_size and max_alloc_size.
-
-ld/
-
- PR ld/18028
- * ldmain.c: Include "bfd_stdint.h".
- (main): Set link_info.max_alloc_size to half of the address space.
----
- bfd/bfd-in.h | 2 ++
- bfd/bfd-in2.h | 5 +++
- bfd/bfd.c | 3 ++
- bfd/elf-bfd.h | 3 ++
- bfd/elf32-i386.c | 3 +-
- bfd/elf64-x86-64.c | 3 +-
- bfd/elflink.c | 89 ++++++++++++++++++++++++++++++++++++++++--------------
- bfd/linker.c | 33 ++++++++++++++++++++
- bfd/opncls.c | 2 ++
- include/bfdlink.h | 7 +++++
- ld/ldmain.c | 3 ++
- 11 files changed, 128 insertions(+), 25 deletions(-)
-
-diff --git a/bfd/bfd-in.h b/bfd/bfd-in.h
-index a06cd740c0..ca4bec8aab 100644
---- a/bfd/bfd-in.h
-+++ b/bfd/bfd-in.h
-@@ -600,6 +600,8 @@ struct bfd_section_already_linked;
- struct bfd_elf_version_tree;
- #endif
-
-+extern bfd_boolean _bfd_link_keep_memory (struct bfd_link_info *);
-+
- extern bfd_boolean bfd_section_already_linked_table_init (void);
- extern void bfd_section_already_linked_table_free (void);
- extern bfd_boolean _bfd_handle_already_linked
-diff --git a/bfd/bfd-in2.h b/bfd/bfd-in2.h
-index 9742c1ac7f..0794bcdcdb 100644
---- a/bfd/bfd-in2.h
-+++ b/bfd/bfd-in2.h
-@@ -607,6 +607,8 @@ struct bfd_section_already_linked;
- struct bfd_elf_version_tree;
- #endif
-
-+extern bfd_boolean _bfd_link_keep_memory (struct bfd_link_info *);
-+
- extern bfd_boolean bfd_section_already_linked_table_init (void);
- extern void bfd_section_already_linked_table_free (void);
- extern bfd_boolean _bfd_handle_already_linked
-@@ -6989,6 +6991,9 @@ struct bfd
- be used only for archive elements. */
- int archive_pass;
-
-+ /* The total size of memory from bfd_alloc. */
-+ bfd_size_type alloc_size;
-+
- /* Stuff only useful for object files:
- The start address. */
- bfd_vma start_address;
-diff --git a/bfd/bfd.c b/bfd/bfd.c
-index 288b5b14fe..182b544662 100644
---- a/bfd/bfd.c
-+++ b/bfd/bfd.c
-@@ -267,6 +267,9 @@ CODE_FRAGMENT
- . be used only for archive elements. *}
- . int archive_pass;
- .
-+. {* The total size of memory from bfd_alloc. *}
-+. bfd_size_type alloc_size;
-+.
- . {* Stuff only useful for object files:
- . The start address. *}
- . bfd_vma start_address;
-diff --git a/bfd/elf-bfd.h b/bfd/elf-bfd.h
-index afd6982a92..37a7b07e51 100644
---- a/bfd/elf-bfd.h
-+++ b/bfd/elf-bfd.h
-@@ -2294,6 +2294,9 @@ extern char *_bfd_elfcore_strndup
-
- extern Elf_Internal_Rela *_bfd_elf_link_read_relocs
- (bfd *, asection *, void *, Elf_Internal_Rela *, bfd_boolean);
-+extern Elf_Internal_Rela *_bfd_elf_link_info_read_relocs
-+ (bfd *, struct bfd_link_info *, asection *, void *, Elf_Internal_Rela *,
-+ bfd_boolean);
-
- extern bfd_boolean _bfd_elf_link_output_relocs
- (bfd *, asection *, Elf_Internal_Shdr *, Elf_Internal_Rela *,
-diff --git a/bfd/elf32-i386.c b/bfd/elf32-i386.c
-index 61a14097b0..9a781dc089 100644
---- a/bfd/elf32-i386.c
-+++ b/bfd/elf32-i386.c
-@@ -1909,13 +1909,14 @@ elf_i386_check_relocs (bfd *abfd,
-
- if (elf_section_data (sec)->this_hdr.contents != contents)
- {
-- if (!converted && !info->keep_memory)
-+ if (!converted && !_bfd_link_keep_memory (info))
- free (contents);
- else
- {
- /* Cache the section contents for elf_link_input_bfd if any
- load is converted or --no-keep-memory isn't used. */
- elf_section_data (sec)->this_hdr.contents = contents;
-+ info->cache_size += sec->size;
- }
- }
-
-diff --git a/bfd/elf64-x86-64.c b/bfd/elf64-x86-64.c
-index 7016964ace..4ba15ec9fa 100644
---- a/bfd/elf64-x86-64.c
-+++ b/bfd/elf64-x86-64.c
-@@ -2281,13 +2281,14 @@ elf_x86_64_check_relocs (bfd *abfd, struct bfd_link_info *info,
-
- if (elf_section_data (sec)->this_hdr.contents != contents)
- {
-- if (!converted && !info->keep_memory)
-+ if (!converted && !_bfd_link_keep_memory (info))
- free (contents);
- else
- {
- /* Cache the section contents for elf_link_input_bfd if any
- load is converted or --no-keep-memory isn't used. */
- elf_section_data (sec)->this_hdr.contents = contents;
-+ info->cache_size += sec->size;
- }
- }
-
-diff --git a/bfd/elflink.c b/bfd/elflink.c
-index 092edaea26..831605b80a 100644
---- a/bfd/elflink.c
-+++ b/bfd/elflink.c
-@@ -2475,14 +2475,16 @@ elf_link_read_relocs_from_section (bfd *abfd,
- according to the KEEP_MEMORY argument. If O has two relocation
- sections (both REL and RELA relocations), then the REL_HDR
- relocations will appear first in INTERNAL_RELOCS, followed by the
-- RELA_HDR relocations. */
-+ RELA_HDR relocations. If INFO isn't NULL and KEEP_MEMORY is TRUE,
-+ update cache_size. */
-
- Elf_Internal_Rela *
--_bfd_elf_link_read_relocs (bfd *abfd,
-- asection *o,
-- void *external_relocs,
-- Elf_Internal_Rela *internal_relocs,
-- bfd_boolean keep_memory)
-+_bfd_elf_link_info_read_relocs (bfd *abfd,
-+ struct bfd_link_info *info,
-+ asection *o,
-+ void *external_relocs,
-+ Elf_Internal_Rela *internal_relocs,
-+ bfd_boolean keep_memory)
- {
- void *alloc1 = NULL;
- Elf_Internal_Rela *alloc2 = NULL;
-@@ -2502,7 +2504,11 @@ _bfd_elf_link_read_relocs (bfd *abfd,
-
- size = (bfd_size_type) o->reloc_count * sizeof (Elf_Internal_Rela);
- if (keep_memory)
-- internal_relocs = alloc2 = (Elf_Internal_Rela *) bfd_alloc (abfd, size);
-+ {
-+ internal_relocs = alloc2 = (Elf_Internal_Rela *) bfd_alloc (abfd, size);
-+ if (info)
-+ info->cache_size += size;
-+ }
- else
- internal_relocs = alloc2 = (Elf_Internal_Rela *) bfd_malloc (size);
- if (internal_relocs == NULL)
-@@ -2568,6 +2574,22 @@ _bfd_elf_link_read_relocs (bfd *abfd,
- return NULL;
- }
-
-+/* This is similar to _bfd_elf_link_info_read_relocs, except for that
-+ NULL is passed to _bfd_elf_link_info_read_relocs for pointer to
-+ struct bfd_link_info. */
-+
-+Elf_Internal_Rela *
-+_bfd_elf_link_read_relocs (bfd *abfd,
-+ asection *o,
-+ void *external_relocs,
-+ Elf_Internal_Rela *internal_relocs,
-+ bfd_boolean keep_memory)
-+{
-+ return _bfd_elf_link_info_read_relocs (abfd, NULL, o, external_relocs,
-+ internal_relocs, keep_memory);
-+
-+}
-+
- /* Compute the size of, and allocate space for, REL_HDR which is the
- section header for a section containing relocations for O. */
-
-@@ -3736,8 +3758,10 @@ _bfd_elf_link_check_relocs (bfd *abfd, struct bfd_link_info *info)
- || bfd_is_abs_section (o->output_section))
- continue;
-
-- internal_relocs = _bfd_elf_link_read_relocs (abfd, o, NULL, NULL,
-- info->keep_memory);
-+ internal_relocs = _bfd_elf_link_info_read_relocs (abfd, info,
-+ o, NULL,
-+ NULL,
-+ _bfd_link_keep_memory (info));
- if (internal_relocs == NULL)
- return FALSE;
-
-@@ -4990,9 +5014,10 @@ elf_link_add_object_symbols (bfd *abfd, struct bfd_link_info *info)
- && (s->flags & SEC_DEBUGGING) != 0))
- continue;
-
-- internal_relocs = _bfd_elf_link_read_relocs (abfd, s, NULL,
-- NULL,
-- info->keep_memory);
-+ internal_relocs = _bfd_elf_link_info_read_relocs (abfd, info,
-+ s, NULL,
-+ NULL,
-+ _bfd_link_keep_memory (info));
- if (internal_relocs == NULL)
- goto error_free_vers;
-
-@@ -10518,8 +10543,10 @@ elf_link_input_bfd (struct elf_final_link_info *flinfo, bfd *input_bfd)
-
- /* Get the swapped relocs. */
- internal_relocs
-- = _bfd_elf_link_read_relocs (input_bfd, o, flinfo->external_relocs,
-- flinfo->internal_relocs, FALSE);
-+ = _bfd_elf_link_info_read_relocs (input_bfd, flinfo->info, o,
-+ flinfo->external_relocs,
-+ flinfo->internal_relocs,
-+ FALSE);
- if (internal_relocs == NULL
- && o->reloc_count > 0)
- return FALSE;
-@@ -12684,8 +12711,12 @@ init_reloc_cookie (struct elf_reloc_cookie *cookie,
- info->callbacks->einfo (_("%P%X: can not read symbols: %E\n"));
- return FALSE;
- }
-- if (info->keep_memory)
-- symtab_hdr->contents = (bfd_byte *) cookie->locsyms;
-+ if (_bfd_link_keep_memory (info) )
-+ {
-+ symtab_hdr->contents = (bfd_byte *) cookie->locsyms;
-+ info->cache_size += (cookie->locsymcount
-+ * sizeof (Elf_External_Sym_Shndx));
-+ }
- }
- return TRUE;
- }
-@@ -12718,8 +12749,9 @@ init_reloc_cookie_rels (struct elf_reloc_cookie *cookie,
- }
- else
- {
-- cookie->rels = _bfd_elf_link_read_relocs (abfd, sec, NULL, NULL,
-- info->keep_memory);
-+ cookie->rels = _bfd_elf_link_info_read_relocs (abfd, info, sec,
-+ NULL, NULL,
-+ _bfd_link_keep_memory (info));
- if (cookie->rels == NULL)
- return FALSE;
- cookie->rel = cookie->rels;
-@@ -13233,14 +13265,21 @@ elf_gc_propagate_vtable_entries_used (struct elf_link_hash_entry *h, void *okp)
- return TRUE;
- }
-
-+struct link_info_ok
-+{
-+ struct bfd_link_info *info;
-+ bfd_boolean ok;
-+};
-+
- static bfd_boolean
--elf_gc_smash_unused_vtentry_relocs (struct elf_link_hash_entry *h, void *okp)
-+elf_gc_smash_unused_vtentry_relocs (struct elf_link_hash_entry *h, void *ptr)
- {
- asection *sec;
- bfd_vma hstart, hend;
- Elf_Internal_Rela *relstart, *relend, *rel;
- const struct elf_backend_data *bed;
- unsigned int log_file_align;
-+ struct link_info_ok *info = (struct link_info_ok *) ptr;
-
- /* Take care of both those symbols that do not describe vtables as
- well as those that are not loaded. */
-@@ -13256,9 +13295,10 @@ elf_gc_smash_unused_vtentry_relocs (struct elf_link_hash_entry *h, void *okp)
- hstart = h->root.u.def.value;
- hend = hstart + h->size;
-
-- relstart = _bfd_elf_link_read_relocs (sec->owner, sec, NULL, NULL, TRUE);
-+ relstart = _bfd_elf_link_info_read_relocs (sec->owner, info->info,
-+ sec, NULL, NULL, TRUE);
- if (!relstart)
-- return *(bfd_boolean *) okp = FALSE;
-+ return info->ok = FALSE;
- bed = get_elf_backend_data (sec->owner);
- log_file_align = bed->s->log_file_align;
-
-@@ -13379,6 +13419,7 @@ bfd_elf_gc_sections (bfd *abfd, struct bfd_link_info *info)
- elf_gc_mark_hook_fn gc_mark_hook;
- const struct elf_backend_data *bed = get_elf_backend_data (abfd);
- struct elf_link_hash_table *htab;
-+ struct link_info_ok info_ok;
-
- if (!bed->can_gc_sections
- || !is_elf_hash_table (info->hash))
-@@ -13420,8 +13461,10 @@ bfd_elf_gc_sections (bfd *abfd, struct bfd_link_info *info)
- return FALSE;
-
- /* Kill the vtable relocations that were not used. */
-- elf_link_hash_traverse (htab, elf_gc_smash_unused_vtentry_relocs, &ok);
-- if (!ok)
-+ info_ok.info = info;
-+ info_ok.ok = TRUE;
-+ elf_link_hash_traverse (htab, elf_gc_smash_unused_vtentry_relocs, &info_ok);
-+ if (!info_ok.ok)
- return FALSE;
-
- /* Mark dynamically referenced symbols. */
-diff --git a/bfd/linker.c b/bfd/linker.c
-index c29a6e7e10..909d768552 100644
---- a/bfd/linker.c
-+++ b/bfd/linker.c
-@@ -3471,3 +3471,36 @@ _bfd_nolink_bfd_define_start_stop (struct bfd_link_info *info ATTRIBUTE_UNUSED,
- {
- return (struct bfd_link_hash_entry *) _bfd_ptr_bfd_null_error (sec->owner);
- }
-+
-+bfd_boolean
-+_bfd_link_keep_memory (struct bfd_link_info * info)
-+{
-+ bfd *abfd;
-+ bfd_size_type size;
-+
-+ if (!info->keep_memory)
-+ return FALSE;
-+
-+ /* Keep allocated memory size below limit only for 32-bit hosts. */
-+ if (sizeof (void *) > 4)
-+ return TRUE;
-+
-+ abfd = info->input_bfds;
-+ size = info->cache_size;
-+ do
-+ {
-+ if (size >= info->max_alloc_size)
-+ {
-+ /* Over the limit. Reduce the memory usage. */
-+ info->keep_memory = FALSE;
-+ return FALSE;
-+ }
-+ if (!abfd)
-+ break;
-+ size += abfd->alloc_size;
-+ abfd = abfd->link.next;
-+ }
-+ while (1);
-+
-+ return TRUE;
-+}
-diff --git a/bfd/opncls.c b/bfd/opncls.c
-index 16b568c8ab..86262e1231 100644
---- a/bfd/opncls.c
-+++ b/bfd/opncls.c
-@@ -949,6 +949,8 @@ bfd_alloc (bfd *abfd, bfd_size_type size)
- ret = objalloc_alloc ((struct objalloc *) abfd->memory, ul_size);
- if (ret == NULL)
- bfd_set_error (bfd_error_no_memory);
-+ else
-+ abfd->alloc_size += size;
- return ret;
- }
-
-diff --git a/include/bfdlink.h b/include/bfdlink.h
-index 5d637acbab..f06d5171c3 100644
---- a/include/bfdlink.h
-+++ b/include/bfdlink.h
-@@ -635,6 +635,13 @@ struct bfd_link_info
-
- /* The version information. */
- struct bfd_elf_version_tree *version_info;
-+
-+ /* Size of cache. Backend can use it to keep strace cache size. */
-+ bfd_size_type cache_size;
-+
-+ /* The maximum size of allocated memory. Backend can use cache_size
-+ and and max_alloc_size to decide if keep_memory should be honored. */
-+ bfd_size_type max_alloc_size;
- };
-
- /* This structures holds a set of callback functions. These are called
-diff --git a/ld/ldmain.c b/ld/ldmain.c
-index b6914db5da..14c3349c97 100644
---- a/ld/ldmain.c
-+++ b/ld/ldmain.c
-@@ -21,6 +21,7 @@
-
- #include "sysdep.h"
- #include "bfd.h"
-+#include "bfd_stdint.h"
- #include "safe-ctype.h"
- #include "libiberty.h"
- #include "progress.h"
-@@ -271,6 +272,8 @@ main (int argc, char **argv)
-
- link_info.allow_undefined_version = TRUE;
- link_info.keep_memory = TRUE;
-+ /* Limit the allocated memory size to half of the address space. */
-+ link_info.max_alloc_size = ((uintptr_t) (void *) -1) / 2;
- link_info.combreloc = TRUE;
- link_info.strip_discarded = TRUE;
- link_info.emit_hash = DEFAULT_EMIT_SYSV_HASH;
diff --git a/system/bzip2/CVE-2016-3189.patch b/system/bzip2/CVE-2016-3189.patch
deleted file mode 100644
index 6622670c9..000000000
--- a/system/bzip2/CVE-2016-3189.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff --git a/bzip2recover.c b/bzip2recover.c
-index f9de049..d159c92 100644
---- a/bzip2recover.c
-+++ b/bzip2recover.c
-@@ -457,6 +457,7 @@ Int32 main ( Int32 argc, Char** argv )
- bsPutUChar ( bsWr, 0x50 ); bsPutUChar ( bsWr, 0x90 );
- bsPutUInt32 ( bsWr, blockCRC );
- bsClose ( bsWr );
-+ outFile = NULL;
- }
- if (wrBlock >= rbCtr) break;
- wrBlock++;
diff --git a/system/coreutils/no-doc.patch b/system/coreutils/no-doc.patch
deleted file mode 100644
index a1d74623b..000000000
--- a/system/coreutils/no-doc.patch
+++ /dev/null
@@ -1,22 +0,0 @@
---- coreutils-8.27/Makefile.in.old 2017-03-09 05:24:51.000000000 +0000
-+++ coreutils-8.27/Makefile.in 2017-06-22 03:07:59.568716258 +0000
-@@ -2363,7 +2363,7 @@
- }
- man1dir = $(mandir)/man1
- NROFF = nroff
--MANS = $(man1_MANS)
-+MANS =
- HEADERS = $(noinst_HEADERS)
- RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \
- distclean-recursive maintainer-clean-recursive
---- coreutils-8.27/Makefile.in.old 2017-06-22 03:08:55.821951666 +0000
-+++ coreutils-8.27/Makefile.in 2017-06-22 03:19:51.770820411 +0000
-@@ -12192,7 +12192,7 @@
-
- info-am: $(INFO_DEPS)
-
--install-data-am: install-info-am install-man
-+install-data-am: install-info-am
-
- install-dvi: install-dvi-recursive
-
diff --git a/system/coreutils/printf-musl.patch b/system/coreutils/printf-musl.patch
deleted file mode 100644
index 28a951635..000000000
--- a/system/coreutils/printf-musl.patch
+++ /dev/null
@@ -1,53 +0,0 @@
-From ad5c14dcadd4603363e68da960ed0101b61439bd Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?P=C3=A1draig=20Brady?= <P@draigBrady.com>
-Date: Sat, 12 Aug 2017 23:53:33 -0700
-Subject: [PATCH] tests: fix false failure with large printf formats
-
-* tests/misc/printf-surprise.sh: With musl libc the
-large printf format does succeed, outputting data.
-To avoid SIGPIPE being generated we ignore that signal
-and then handle the subsequent EPIPE error.
-Reported by A. Wilcox
----
- tests/misc/printf-surprise.sh | 8 ++++++--
- 1 file changed, 6 insertions(+), 2 deletions(-)
-
-diff --git a/tests/misc/printf-surprise.sh b/tests/misc/printf-surprise.sh
-index 2edd34c..46c0d8f 100755
---- a/tests/misc/printf-surprise.sh
-+++ b/tests/misc/printf-surprise.sh
-@@ -50,6 +50,9 @@ vm=$(get_min_ulimit_v_ env $prog %20f 0) \
-
- mkfifo_or_skip_ fifo
-
-+(trap '' PIPE && yes | :) 2>&1 | grep -qF 'Broken pipe' ||
-+ skip_ 'trapping SIGPIPE is not supported'
-+
- # Disable MALLOC_PERTURB_, to avoid triggering this bug
- # https://bugs.debian.org/481543#77
- export MALLOC_PERTURB_=0
-@@ -60,11 +63,11 @@ cleanup_() { kill $pid 2>/dev/null && wait $pid; }
- head -c 10 fifo > out & pid=$!
-
- # Trigger large mem allocation failure
--( ulimit -v $vm && env $prog %20000000f 0 2>err-msg > fifo )
-+( trap '' PIPE && ulimit -v $vm && env $prog %20000000f 0 2>err-msg > fifo )
- exit=$?
-
- # Map this longer, and rarer, diagnostic to the common one.
--# printf: cannot perform formatted output: Cannot allocate memory" \
-+# printf: cannot perform formatted output: Cannot allocate memory"
- sed 's/cannot perform .*/write error/' err-msg > k && mv k err-msg
- err_msg=$(tr '\n' : < err-msg)
-
-@@ -81,6 +84,7 @@ n_out=$(wc -c < out)
-
- case $n_out:$diagnostic:$exit in
- 10:n:0) ;; # ok, succeeds w/no diagnostic: FreeBSD 6.1
-+ 10:y:1) ;; # ok, fails with EPIPE diagnostic: musl libc
- 0:y:1) ;; # ok, glibc-2.8 and newer, when printf(3) fails with ENOMEM
-
- # With MALLOC_PERTURB_=0, this no longer happens.
---
-2.9.3
-
diff --git a/system/coreutils/seq-write-error.patch b/system/coreutils/seq-write-error.patch
deleted file mode 100644
index 4892a82ec..000000000
--- a/system/coreutils/seq-write-error.patch
+++ /dev/null
@@ -1,45 +0,0 @@
-From 1e1dbbe0f95c7170009f3ba4d8380c1b98ff53c8 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?P=C3=A1draig=20Brady?= <P@draigBrady.com>
-Date: Sun, 13 Aug 2017 00:18:43 -0700
-Subject: [PATCH] seq: produce consistent error messages upon write error
-
-* src/seq.c (io_error): Use the same error message as would
-be generated at exit time when closing the stdout stream.
-The inconsistency was added with commit v8.25-26-gc92585b.
-This was noticed due to an inconsistency in the expected
-error message generated by seq on musl libc.
-Reported by A. Wilcox.
----
- src/seq.c | 2 +-
- tests/misc/seq-epipe.sh | 2 +-
- 2 files changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/src/seq.c b/src/seq.c
-index bb191ba..5e5b381 100644
---- a/src/seq.c
-+++ b/src/seq.c
-@@ -284,7 +284,7 @@ io_error (void)
- {
- /* FIXME: consider option to silently ignore errno=EPIPE */
- clearerr (stdout);
-- die (EXIT_FAILURE, errno, _("standard output"));
-+ die (EXIT_FAILURE, errno, _("write error"));
- }
-
- /* Actually print the sequence of numbers in the specified range, with the
-diff --git a/tests/misc/seq-epipe.sh b/tests/misc/seq-epipe.sh
-index edbd563..69dd75d 100755
---- a/tests/misc/seq-epipe.sh
-+++ b/tests/misc/seq-epipe.sh
-@@ -33,7 +33,7 @@ compare exp code || fail=1
-
- # The error message must begin with "standard output:"
- # (but don't hard-code the strerror text)
--grep '^seq: standard output: ' err \
-+grep '^seq: write error: ' err \
- || { warn_ "seq emitted incorrect error on EPIPE"; \
- cat err;\
- fail=1; }
---
-2.9.3
-
diff --git a/system/coreutils/sort-debug-locale.patch b/system/coreutils/sort-debug-locale.patch
deleted file mode 100644
index 27921abbd..000000000
--- a/system/coreutils/sort-debug-locale.patch
+++ /dev/null
@@ -1,79 +0,0 @@
-From b938d8966c3d1afec9730d403fd6a6eb4d856b85 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?P=C3=A1draig=20Brady?= <P@draigBrady.com>
-Date: Sun, 13 Aug 2017 00:45:32 -0700
-Subject: [PATCH] sort: handle musl locale differences in --debug reporting
-
-* src/sort.c (main): Don't assume hard_LC_COLLATE implies
-a successful setting of the locale as musl defaults to
-UTF8 when failing to set the specified locale.
-* tests/misc/sort-debug-warn.sh: Adjust for the now
-separated locale debug info and map the musl specific
-message back to the common case.
-Reported by A. Wilcox.
----
- src/sort.c | 17 +++++++++--------
- tests/misc/sort-debug-warn.sh | 9 +++++++--
- 2 files changed, 16 insertions(+), 10 deletions(-)
-
-diff --git a/src/sort.c b/src/sort.c
-index 015e40e..ba6ceac 100644
---- a/src/sort.c
-+++ b/src/sort.c
-@@ -4675,18 +4675,19 @@ main (int argc, char **argv)
-
- /* Always output the locale in debug mode, since this
- is such a common source of confusion. */
-+
-+ /* OpenBSD can only set some categories with LC_ALL above,
-+ so set LC_COLLATE explicitly to flag errors. */
-+ if (locale_ok)
-+ locale_ok = !! setlocale (LC_COLLATE, "");
-+ if (! locale_ok)
-+ error (0, 0, "%s", _("failed to set locale"));
- if (hard_LC_COLLATE)
- error (0, 0, _("using %s sorting rules"),
- quote (setlocale (LC_COLLATE, NULL)));
- else
-- {
-- /* OpenBSD can only set some categories with LC_ALL above,
-- so set LC_COLLATE explicitly to flag errors. */
-- if (locale_ok)
-- locale_ok = !! setlocale (LC_COLLATE, "");
-- error (0, 0, "%s%s", locale_ok ? "" : _("failed to set locale; "),
-- _("using simple byte comparison"));
-- }
-+ error (0, 0, "%s", _("using simple byte comparison"));
-+
- key_warnings (&gkey, gkey_only);
- }
-
-diff --git a/tests/misc/sort-debug-warn.sh b/tests/misc/sort-debug-warn.sh
-index 3602c84..8119693 100755
---- a/tests/misc/sort-debug-warn.sh
-+++ b/tests/misc/sort-debug-warn.sh
-@@ -71,7 +71,8 @@ sort: using simple byte comparison
- 17
- sort: using simple byte comparison
- 18
--sort: failed to set locale; using simple byte comparison
-+sort: failed to set locale
-+sort: using simple byte comparison
- EOF
-
- echo 1 >> out
-@@ -109,7 +110,11 @@ sort -rM --debug /dev/null 2>>out #no warning
- echo 17 >> out
- sort -rM -k1,1 --debug /dev/null 2>>out #no warning
- echo 18 >> out
--LC_ALL=missing sort --debug /dev/null 2>>out
-+LC_ALL=missing sort --debug /dev/null 2>>out.t
-+# musl libc accepts "missing" and implicitly uses UTF8,
-+# so adjust the expected message accordingly.
-+sed 's/using .*missing.* sorting rules/using simple byte comparison/' \
-+ out.t >>out
-
- compare exp out || fail=1
-
---
-2.9.3
-
diff --git a/system/gcc/401-libsanitizer-linux.patch b/system/gcc/401-libsanitizer-linux.patch
deleted file mode 100644
index 8a662a268..000000000
--- a/system/gcc/401-libsanitizer-linux.patch
+++ /dev/null
@@ -1,100 +0,0 @@
---- gcc-8.3.0/libsanitizer/sanitizer_common/sanitizer_linux.cc.old 2017-10-19 11:23:59.000000000 +0000
-+++ gcc-8.3.0/libsanitizer/sanitizer_common/sanitizer_linux.cc 2019-06-27 05:39:48.258332316 +0000
-@@ -752,7 +752,9 @@
- }
-
- #if SANITIZER_LINUX
-+#ifndef SA_RESTORER
- #define SA_RESTORER 0x04000000
-+#endif
- // Doesn't set sa_restorer if the caller did not set it, so use with caution
- //(see below).
- int internal_sigaction_norestorer(int signum, const void *act, void *oldact) {
-@@ -1687,65 +1689,59 @@
- }
-
- static void GetPcSpBp(void *context, uptr *pc, uptr *sp, uptr *bp) {
--#if defined(__arm__)
- ucontext_t *ucontext = (ucontext_t*)context;
-+#if defined(__arm__)
- *pc = ucontext->uc_mcontext.arm_pc;
- *bp = ucontext->uc_mcontext.arm_fp;
- *sp = ucontext->uc_mcontext.arm_sp;
- #elif defined(__aarch64__)
-- ucontext_t *ucontext = (ucontext_t*)context;
- *pc = ucontext->uc_mcontext.pc;
- *bp = ucontext->uc_mcontext.regs[29];
- *sp = ucontext->uc_mcontext.sp;
- #elif defined(__hppa__)
-- ucontext_t *ucontext = (ucontext_t*)context;
- *pc = ucontext->uc_mcontext.sc_iaoq[0];
- /* GCC uses %r3 whenever a frame pointer is needed. */
- *bp = ucontext->uc_mcontext.sc_gr[3];
- *sp = ucontext->uc_mcontext.sc_gr[30];
- #elif defined(__x86_64__)
- # if SANITIZER_FREEBSD
-- ucontext_t *ucontext = (ucontext_t*)context;
- *pc = ucontext->uc_mcontext.mc_rip;
- *bp = ucontext->uc_mcontext.mc_rbp;
- *sp = ucontext->uc_mcontext.mc_rsp;
- #elif SANITIZER_NETBSD
-- ucontext_t *ucontext = (ucontext_t *)context;
- *pc = ucontext->uc_mcontext.__gregs[_REG_RIP];
- *bp = ucontext->uc_mcontext.__gregs[_REG_RBP];
- *sp = ucontext->uc_mcontext.__gregs[_REG_RSP];
- # else
-- ucontext_t *ucontext = (ucontext_t*)context;
- *pc = ucontext->uc_mcontext.gregs[REG_RIP];
- *bp = ucontext->uc_mcontext.gregs[REG_RBP];
- *sp = ucontext->uc_mcontext.gregs[REG_RSP];
- # endif
- #elif defined(__i386__)
- # if SANITIZER_FREEBSD
-- ucontext_t *ucontext = (ucontext_t*)context;
- *pc = ucontext->uc_mcontext.mc_eip;
- *bp = ucontext->uc_mcontext.mc_ebp;
- *sp = ucontext->uc_mcontext.mc_esp;
- #elif SANITIZER_NETBSD
-- ucontext_t *ucontext = (ucontext_t *)context;
- *pc = ucontext->uc_mcontext.__gregs[_REG_EIP];
- *bp = ucontext->uc_mcontext.__gregs[_REG_EBP];
- *sp = ucontext->uc_mcontext.__gregs[_REG_ESP];
- # else
-- ucontext_t *ucontext = (ucontext_t*)context;
- *pc = ucontext->uc_mcontext.gregs[REG_EIP];
- *bp = ucontext->uc_mcontext.gregs[REG_EBP];
- *sp = ucontext->uc_mcontext.gregs[REG_ESP];
- # endif
--#elif defined(__powerpc__) || defined(__powerpc64__)
-- ucontext_t *ucontext = (ucontext_t*)context;
-- *pc = ucontext->uc_mcontext.regs->nip;
-- *sp = ucontext->uc_mcontext.regs->gpr[PT_R1];
-+#elif defined(__powerpc64__)
-+ *pc = ucontext->uc_mcontext.gp_regs[32];
-+ *sp = ucontext->uc_mcontext.gp_regs[1];
-+ *bp = ucontext->uc_mcontext.gp_regs[31];
-+#elif defined(__powerpc__)
-+ *pc = ucontext->uc_mcontext.gregs[32];
-+ *sp = ucontext->uc_mcontext.gregs[1];
- // The powerpc{,64}-linux ABIs do not specify r31 as the frame
- // pointer, but GCC always uses r31 when we need a frame pointer.
-- *bp = ucontext->uc_mcontext.regs->gpr[PT_R31];
-+ *bp = ucontext->uc_mcontext.gregs[31];
- #elif defined(__sparc__)
-- ucontext_t *ucontext = (ucontext_t*)context;
- uptr *stk_ptr;
- # if defined (__arch64__)
- *pc = ucontext->uc_mcontext.mc_gregs[MC_PC];
-@@ -1759,12 +1755,10 @@
- *bp = stk_ptr[15];
- # endif
- #elif defined(__mips__)
-- ucontext_t *ucontext = (ucontext_t*)context;
- *pc = ucontext->uc_mcontext.pc;
- *bp = ucontext->uc_mcontext.gregs[30];
- *sp = ucontext->uc_mcontext.gregs[29];
- #elif defined(__s390__)
-- ucontext_t *ucontext = (ucontext_t*)context;
- # if defined(__s390x__)
- *pc = ucontext->uc_mcontext.psw.addr;
- # else
diff --git a/system/gcc/402-libsanitizer-utmp.patch b/system/gcc/402-libsanitizer-utmp.patch
deleted file mode 100644
index 7929cd8b9..000000000
--- a/system/gcc/402-libsanitizer-utmp.patch
+++ /dev/null
@@ -1,75 +0,0 @@
---- gcc-8.3.0/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cc.old 2018-05-31 09:58:32.000000000 +0000
-+++ gcc-8.3.0/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cc 2019-06-27 08:52:53.520080465 +0000
-@@ -43,9 +43,6 @@
- #include <termios.h>
- #include <time.h>
- #include <wchar.h>
--#if !SANITIZER_MAC && !SANITIZER_FREEBSD
--#include <utmp.h>
--#endif
-
- #if !SANITIZER_IOS
- #include <net/route.h>
-@@ -291,9 +288,6 @@
- int shmctl_shm_stat = (int)SHM_STAT;
- #endif
-
--#if !SANITIZER_MAC && !SANITIZER_FREEBSD
-- unsigned struct_utmp_sz = sizeof(struct utmp);
--#endif
- #if !SANITIZER_ANDROID
- unsigned struct_utmpx_sz = sizeof(struct utmpx);
- #endif
---- gcc-8.3.0/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.h.old 2017-10-19 11:23:59.000000000 +0000
-+++ gcc-8.3.0/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.h 2019-06-27 08:53:41.114993442 +0000
-@@ -873,9 +873,6 @@
- extern int shmctl_shm_stat;
- #endif
-
--#if !SANITIZER_MAC && !SANITIZER_FREEBSD
-- extern unsigned struct_utmp_sz;
--#endif
- #if !SANITIZER_ANDROID
- extern unsigned struct_utmpx_sz;
- #endif
---- gcc-8.3.0/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc.old 2017-10-19 11:23:59.000000000 +0000
-+++ gcc-8.3.0/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc 2019-06-27 08:54:20.530780618 +0000
-@@ -6106,38 +6106,7 @@
-
- // FIXME: add other *stat interceptor
-
--#if SANITIZER_INTERCEPT_UTMP
--INTERCEPTOR(void *, getutent, int dummy) {
-- void *ctx;
-- COMMON_INTERCEPTOR_ENTER(ctx, getutent, dummy);
-- void *res = REAL(getutent)(dummy);
-- if (res)
-- COMMON_INTERCEPTOR_INITIALIZE_RANGE(res, __sanitizer::struct_utmp_sz);
-- return res;
--}
--INTERCEPTOR(void *, getutid, void *ut) {
-- void *ctx;
-- COMMON_INTERCEPTOR_ENTER(ctx, getutid, ut);
-- void *res = REAL(getutid)(ut);
-- if (res)
-- COMMON_INTERCEPTOR_INITIALIZE_RANGE(res, __sanitizer::struct_utmp_sz);
-- return res;
--}
--INTERCEPTOR(void *, getutline, void *ut) {
-- void *ctx;
-- COMMON_INTERCEPTOR_ENTER(ctx, getutline, ut);
-- void *res = REAL(getutline)(ut);
-- if (res)
-- COMMON_INTERCEPTOR_INITIALIZE_RANGE(res, __sanitizer::struct_utmp_sz);
-- return res;
--}
--#define INIT_UTMP \
-- COMMON_INTERCEPT_FUNCTION(getutent); \
-- COMMON_INTERCEPT_FUNCTION(getutid); \
-- COMMON_INTERCEPT_FUNCTION(getutline);
--#else
- #define INIT_UTMP
--#endif
-
- #if SANITIZER_INTERCEPT_UTMPX
- INTERCEPTOR(void *, getutxent, int dummy) {
diff --git a/system/git/0001-gc-use-s-type-character-for-fscanf.patch b/system/git/0001-gc-use-s-type-character-for-fscanf.patch
deleted file mode 100644
index e3fe78cf6..000000000
--- a/system/git/0001-gc-use-s-type-character-for-fscanf.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-From afceb0f7755a87d0dd2194e95f26c9dc8f4bc688 Mon Sep 17 00:00:00 2001
-From: "A. Wilcox" <AWilcox@Wilcox-Tech.com>
-Date: Fri, 15 Sep 2017 23:55:57 -0500
-Subject: [PATCH] gc: use 's' type character for fscanf
-
-The ISO C standard states that using a field width together with the 'c'
-type character will read the exact amount specified; if that amount of
-bytes is not available, a match error occurs.
-
-This patch allows the t6500 test to pass on the musl libc, and `git gc`
-to behave correctly on systems utilising musl.
-
-Signed-off-by: A. Wilcox <AWilcox@Wilcox-Tech.com>
----
- builtin/gc.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/builtin/gc.c b/builtin/gc.c
-index 3c78fcb..bb2d6c1 100644
---- a/builtin/gc.c
-+++ b/builtin/gc.c
-@@ -258,7 +258,7 @@ static const char *lock_repo_for_gc(int force, pid_t* ret_pid)
- int should_exit;
-
- if (!scan_fmt)
-- scan_fmt = xstrfmt("%s %%%dc", "%"SCNuMAX, HOST_NAME_MAX);
-+ scan_fmt = xstrfmt("%s %%%ds", "%"SCNuMAX, HOST_NAME_MAX);
- fp = fopen(pidfile_path, "r");
- memset(locking_host, 0, sizeof(locking_host));
- should_exit =
---
-2.10.0
-
diff --git a/system/gmp/gmp-4.1.4-noexecstack.patch b/system/gmp/gmp-4.1.4-noexecstack.patch
deleted file mode 100644
index 093bec1a5..000000000
--- a/system/gmp/gmp-4.1.4-noexecstack.patch
+++ /dev/null
@@ -1,20 +0,0 @@
-fixed executable stack
-
-http://bugs.gentoo.org/115038
-
---- gmp-4.1.4/configure
-+++ gmp-4.1.4/configure
-@@ -21689,6 +21689,13 @@
- fi
- echo "')" >> $gmp_configm4
- echo "define(\`__CONFIG_M4_INCLUDED__')" >> $gmp_configm4
-+# Gentoo hack
-+case $host_os in
-+ *linux*)
-+ echo '.section .note.GNU-stack,"",%progbits' >> $gmp_configm4
-+ echo '.previous' >> $gmp_configm4
-+ ;;
-+esac
-
- # Create Makefiles
- # FIXME: Upcoming version of autoconf/automake may not like broken lines.
diff --git a/system/vim/no-default-mouse.patch b/system/vim/no-default-mouse.patch
deleted file mode 100644
index c34b9cae7..000000000
--- a/system/vim/no-default-mouse.patch
+++ /dev/null
@@ -1,16 +0,0 @@
-diff -Nurd vim-8.1.0712/runtime/defaults.vim vim-8.1.0712.new/runtime/defaults.vim
---- vim-8.1.0712/runtime/defaults.vim 2019-01-09 16:02:43.000000000 -0600
-+++ vim-8.1.0712.new/runtime/defaults.vim 2019-01-27 01:18:04.196123398 -0600
-@@ -73,12 +73,6 @@
- " Revert with ":iunmap <C-U>".
- inoremap <C-U> <C-G>u<C-U>
-
--" In many terminal emulators the mouse works just fine. By enabling it you
--" can position the cursor, Visually select and scroll with the mouse.
--if has('mouse')
-- set mouse=a
--endif
--
- " Switch syntax highlighting on when the terminal has colors or when using the
- " GUI (which always has colors).
- if &t_Co > 2 || has("gui_running")