summaryrefslogtreecommitdiff
path: root/libre/xen/patch-gcc6-etherboot-rm-unused-string-functions.patch
diff options
context:
space:
mode:
Diffstat (limited to 'libre/xen/patch-gcc6-etherboot-rm-unused-string-functions.patch')
-rw-r--r--libre/xen/patch-gcc6-etherboot-rm-unused-string-functions.patch257
1 files changed, 257 insertions, 0 deletions
diff --git a/libre/xen/patch-gcc6-etherboot-rm-unused-string-functions.patch b/libre/xen/patch-gcc6-etherboot-rm-unused-string-functions.patch
new file mode 100644
index 000000000..991d43330
--- /dev/null
+++ b/libre/xen/patch-gcc6-etherboot-rm-unused-string-functions.patch
@@ -0,0 +1,257 @@
+From b54167b8b6a35c7dab19bbe4b421d447036558d4 Mon Sep 17 00:00:00 2001
+From: Michael Brown <mcb30@ipxe.org>
+Date: Mon, 16 Feb 2015 15:33:32 +0000
+Subject: [PATCH] [libc] Remove unused string functions
+
+Signed-off-by: Michael Brown <mcb30@ipxe.org>
+---
+ src/core/stringextra.c | 188 ------------------------------------------------
+ src/include/string.h | 6 --
+ 2 files changed, 0 insertions(+), 194 deletions(-)
+
+diff --git a/src/core/stringextra.c b/src/core/stringextra.c
+index 0a50985..18ffc63 100644
+--- a/src/core/stringextra.c
++++ b/src/core/stringextra.c
+@@ -38,122 +38,6 @@ FILE_LICENCE ( GPL2_ONLY );
+
+ /* *** FROM string.c *** */
+
+-#ifndef __HAVE_ARCH_STRNICMP
+-/**
+- * strnicmp - Case insensitive, length-limited string comparison
+- * @s1: One string
+- * @s2: The other string
+- * @len: the maximum number of characters to compare
+- */
+-int strnicmp(const char *s1, const char *s2, size_t len)
+-{
+- /* Yes, Virginia, it had better be unsigned */
+- unsigned char c1, c2;
+-
+- c1 = 0; c2 = 0;
+- if (len) {
+- do {
+- c1 = *s1; c2 = *s2;
+- s1++; s2++;
+- if (!c1)
+- break;
+- if (!c2)
+- break;
+- if (c1 == c2)
+- continue;
+- c1 = tolower(c1);
+- c2 = tolower(c2);
+- if (c1 != c2)
+- break;
+- } while (--len);
+- }
+- return (int)c1 - (int)c2;
+-}
+-#endif
+-
+-char * ___strtok;
+-
+-#ifndef __HAVE_ARCH_STRNCAT
+-/**
+- * strncat - Append a length-limited, %NUL-terminated string to another
+- * @dest: The string to be appended to
+- * @src: The string to append to it
+- * @count: The maximum numbers of bytes to copy
+- *
+- * Note that in contrast to strncpy, strncat ensures the result is
+- * terminated.
+- */
+-char * strncat(char *dest, const char *src, size_t count)
+-{
+- char *tmp = dest;
+-
+- if (count) {
+- while (*dest)
+- dest++;
+- while ((*dest++ = *src++)) {
+- if (--count == 0) {
+- *dest = '\0';
+- break;
+- }
+- }
+- }
+-
+- return tmp;
+-}
+-#endif
+-
+-#ifndef __HAVE_ARCH_STRSPN
+-/**
+- * strspn - Calculate the length of the initial substring of @s which only
+- * contain letters in @accept
+- * @s: The string to be searched
+- * @accept: The string to search for
+- */
+-size_t strspn(const char *s, const char *accept)
+-{
+- const char *p;
+- const char *a;
+- size_t count = 0;
+-
+- for (p = s; *p != '\0'; ++p) {
+- for (a = accept; *a != '\0'; ++a) {
+- if (*p == *a)
+- break;
+- }
+- if (*a == '\0')
+- return count;
+- ++count;
+- }
+-
+- return count;
+-}
+-#endif
+-
+-#ifndef __HAVE_ARCH_STRCSPN
+-/**
+- * strcspn - Calculate the length of the initial substring of @s which only
+- * contain letters not in @reject
+- * @s: The string to be searched
+- * @accept: The string to search for
+- */
+-size_t strcspn(const char *s, const char *reject)
+-{
+- const char *p;
+- const char *r;
+- size_t count = 0;
+-
+- for (p = s; *p != '\0'; ++p) {
+- for (r = reject; *r != '\0'; ++r) {
+- if (*p == *r)
+- return count;
+- }
+- ++count;
+- }
+-
+- return count;
+-}
+-#endif
+-
+ #ifndef __HAVE_ARCH_STRPBRK
+ /**
+ * strpbrk - Find the first occurrence of a set of characters
+@@ -174,35 +58,6 @@ char * strpbrk(const char * cs,const char * ct)
+ }
+ #endif
+
+-#ifndef __HAVE_ARCH_STRTOK
+-/**
+- * strtok - Split a string into tokens
+- * @s: The string to be searched
+- * @ct: The characters to search for
+- *
+- * WARNING: strtok is deprecated, use strsep instead.
+- */
+-char * strtok(char * s,const char * ct)
+-{
+- char *sbegin, *send;
+-
+- sbegin = s ? s : ___strtok;
+- if (!sbegin) {
+- return NULL;
+- }
+- sbegin += strspn(sbegin,ct);
+- if (*sbegin == '\0') {
+- ___strtok = NULL;
+- return( NULL );
+- }
+- send = strpbrk( sbegin, ct);
+- if (send && *send != '\0')
+- *send++ = '\0';
+- ___strtok = send;
+- return (sbegin);
+-}
+-#endif
+-
+ #ifndef __HAVE_ARCH_STRSEP
+ /**
+ * strsep - Split a string into tokens
+@@ -230,46 +85,3 @@ char * strsep(char **s, const char *ct)
+ return sbegin;
+ }
+ #endif
+-
+-#ifndef __HAVE_ARCH_BCOPY
+-/**
+- * bcopy - Copy one area of memory to another
+- * @src: Where to copy from
+- * @dest: Where to copy to
+- * @count: The size of the area.
+- *
+- * Note that this is the same as memcpy(), with the arguments reversed.
+- * memcpy() is the standard, bcopy() is a legacy BSD function.
+- *
+- * You should not use this function to access IO space, use memcpy_toio()
+- * or memcpy_fromio() instead.
+- */
+-char * bcopy(const char * src, char * dest, int count)
+-{
+- return memmove(dest,src,count);
+-}
+-#endif
+-
+-#ifndef __HAVE_ARCH_MEMSCAN
+-/**
+- * memscan - Find a character in an area of memory.
+- * @addr: The memory area
+- * @c: The byte to search for
+- * @size: The size of the area.
+- *
+- * returns the address of the first occurrence of @c, or 1 byte past
+- * the area if @c is not found
+- */
+-void * memscan(const void * addr, int c, size_t size)
+-{
+- unsigned char * p = (unsigned char *) addr;
+-
+- while (size) {
+- if (*p == c)
+- return (void *) p;
+- p++;
+- size--;
+- }
+- return (void *) p;
+-}
+-#endif
+diff --git a/src/include/string.h b/src/include/string.h
+index 3482e1b..dfd78a6 100644
+--- a/src/include/string.h
++++ b/src/include/string.h
+@@ -19,11 +19,9 @@ FILE_LICENCE ( GPL2_ONLY );
+ #include <stddef.h>
+ #include <bits/string.h>
+
+-int __pure strnicmp(const char *s1, const char *s2, size_t len) __nonnull;
+ char * strcpy(char * dest,const char *src) __nonnull;
+ char * strncpy(char * dest,const char *src,size_t count) __nonnull;
+ char * strcat(char * dest, const char * src) __nonnull;
+-char * strncat(char *dest, const char *src, size_t count) __nonnull;
+ int __pure strcmp(const char * cs,const char * ct) __nonnull;
+ int __pure strncmp(const char * cs,const char * ct,
+ size_t count) __nonnull;
+@@ -31,16 +29,12 @@ char * __pure strchr(const char * s, int c) __nonnull;
+ char * __pure strrchr(const char * s, int c) __nonnull;
+ size_t __pure strlen(const char * s) __nonnull;
+ size_t __pure strnlen(const char * s, size_t count) __nonnull;
+-size_t __pure strspn(const char *s, const char *accept) __nonnull;
+-size_t __pure strcspn(const char *s, const char *reject) __nonnull;
+ char * __pure strpbrk(const char * cs,const char * ct) __nonnull;
+-char * strtok(char * s,const char * ct) __nonnull;
+ char * strsep(char **s, const char *ct) __nonnull;
+ void * memset(void * s,int c,size_t count) __nonnull;
+ void * memmove(void * dest,const void *src,size_t count) __nonnull;
+ int __pure memcmp(const void * cs,const void * ct,
+ size_t count) __nonnull;
+-void * __pure memscan(const void * addr, int c, size_t size) __nonnull;
+ char * __pure strstr(const char * s1,const char * s2) __nonnull;
+ void * __pure memchr(const void *s, int c, size_t n) __nonnull;
+ char * __malloc strdup(const char *s) __nonnull;
+--
+1.7.9
+