diff options
Diffstat (limited to 'user/ltrace/musl.patch')
-rw-r--r-- | user/ltrace/musl.patch | 153 |
1 files changed, 153 insertions, 0 deletions
diff --git a/user/ltrace/musl.patch b/user/ltrace/musl.patch new file mode 100644 index 000000000..2dc909c95 --- /dev/null +++ b/user/ltrace/musl.patch @@ -0,0 +1,153 @@ +--- ./configure.ac.orig ++++ ./configure.ac +@@ -34,6 +34,7 @@ + case "${host_os}" in + linux-gnu*) HOST_OS="linux-gnu" ;; + linux-uclibc*) HOST_OS="linux-gnu" ;; ++ linux-musl*) HOST_OS="linux-gnu" ;; + *) AC_MSG_ERROR([unkown host-os ${host_os}]) ;; + esac + AC_SUBST(HOST_OS) +@@ -234,6 +235,7 @@ + sys/param.h \ + sys/time.h \ + unistd.h \ ++ error.h \ + ]) + + # Checks for typedefs, structures, and compiler characteristics. +diff --git a/expr.c b/expr.c +index 32860fd..374c549 100644 +--- a/expr.c ++++ b/expr.c +@@ -19,9 +19,12 @@ + */ + + #include <string.h> ++#include <stdio.h> + #include <assert.h> + #include <errno.h> ++#ifdef HAVE_ERROR_H + #include <error.h> ++#endif + #include <stdlib.h> + + #include "expr.h" +@@ -330,8 +333,11 @@ expr_self(void) + static struct expr_node *node = NULL; + if (node == NULL) { + node = malloc(sizeof(*node)); +- if (node == NULL) +- error(1, errno, "malloc expr_self"); ++ if (node == NULL) { ++ fprintf(stderr, "%s: malloc expr_self\n", ++ strerror(errno)); ++ exit(1); ++ } + expr_init_self(node); + } + return node; +diff --git a/glob.c b/glob.c +index 075c867..06fec47 100644 +--- a/glob.c ++++ b/glob.c +@@ -180,7 +180,7 @@ glob_to_regex(const char *glob, char **retp) + goto fail; + } + *retp = buf; +- return REG_NOERROR; ++ return 0; + } + + int +@@ -188,7 +188,7 @@ globcomp(regex_t *preg, const char *glob, int cflags) + { + char *regex = NULL; + int status = glob_to_regex(glob, ®ex); +- if (status != REG_NOERROR) ++ if (status != 0) + return status; + assert(regex != NULL); + status = regcomp(preg, regex, cflags); +diff --git a/options.c b/options.c +index 1e19dc7..1dc5e1e 100644 +--- a/options.c ++++ b/options.c +@@ -204,7 +204,7 @@ compile_libname(const char *expr, const char *a_lib, int lib_re_p, + + regex_t lib_re; + int status = (lib_re_p ? regcomp : globcomp)(&lib_re, lib, 0); +- if (status != REG_NOERROR) { ++ if (status != 0) { + char buf[100]; + regerror(status, &lib_re, buf, sizeof buf); + fprintf(stderr, "Rule near '%s' will be ignored: %s.\n", +diff --git a/read_config_file.c b/read_config_file.c +index e247436..73528fe 100644 +--- a/read_config_file.c ++++ b/read_config_file.c +@@ -27,7 +27,9 @@ + #include <stdlib.h> + #include <ctype.h> + #include <errno.h> ++#ifdef HAVE_ERROR_H + #include <error.h> ++#endif + #include <assert.h> + + #include "common.h" +@@ -1258,8 +1260,12 @@ void + init_global_config(void) + { + struct arg_type_info *info = malloc(2 * sizeof(*info)); +- if (info == NULL) +- error(1, errno, "malloc in init_global_config"); ++ if (info == NULL) { ++ report_error(filename, line_no, ++ "%s: malloc in init_global_config", ++ strerror(errno)); ++ exit(1); ++ } + + memset(info, 0, 2 * sizeof(*info)); + info[0].type = ARGTYPE_POINTER; +diff --git a/zero.c b/zero.c +index bc119ee..e685f59 100644 +--- a/zero.c ++++ b/zero.c +@@ -18,8 +18,11 @@ + * 02110-1301 USA + */ + ++#ifdef HAVE_ERROR_H + #include <error.h> ++#endif + #include <errno.h> ++#include <string.h> + + #include "zero.h" + #include "common.h" +@@ -96,8 +99,11 @@ expr_node_zero(void) + static struct expr_node *node = NULL; + if (node == NULL) { + node = malloc(sizeof(*node)); +- if (node == NULL) +- error(1, errno, "malloc expr_node_zero"); ++ if (node == NULL) { ++ report_global_error("%s: malloc expr_node_zero", ++ strerror(errno)); ++ exit(1); ++ } + expr_init_cb1(node, &zero1_callback, + expr_self(), 0, (void *)-1); + } +--- ./proc.h.orig ++++ ./proc.h +@@ -26,6 +26,7 @@ + #include "config.h" + + #include <sys/time.h> ++#include <unistd.h> + + #if defined(HAVE_LIBUNWIND) + # include <libunwind.h> |