diff options
Diffstat (limited to 'experimental/elfutils/musl-fts-obstack.patch')
-rw-r--r-- | experimental/elfutils/musl-fts-obstack.patch | 115 |
1 files changed, 115 insertions, 0 deletions
diff --git a/experimental/elfutils/musl-fts-obstack.patch b/experimental/elfutils/musl-fts-obstack.patch new file mode 100644 index 000000000..a9e5fec71 --- /dev/null +++ b/experimental/elfutils/musl-fts-obstack.patch @@ -0,0 +1,115 @@ +--- a/configure.ac 2015-10-15 15:16:57.000000000 +0200 ++++ b/configure.ac 2015-11-20 05:32:57.723901582 +0100 +@@ -305,6 +305,62 @@ + fi + AC_SUBST([argp_LDADD]) + ++dnl Check if we have fts available from our libc ++AC_LINK_IFELSE( ++ [AC_LANG_PROGRAM( ++ [#if !defined(__x86_64__) ++ #undef _FILE_OFFSET_BITS ++ #define _FILE_OFFSET_BITS 32 ++ #endif ++ #include <fts.h>], ++ [FTS* fts = 0; return fts_close(fts); return 0;] ++ )], ++ [libc_has_fts="true"], ++ [libc_has_fts="false"] ++) ++ ++dnl If our libc doesn't provide fts, then test for libfts ++if test "$libc_has_fts" = "false" ; then ++ AC_MSG_WARN("libc does not have fts") ++ AC_CHECK_LIB([fts], [fts_close], [have_fts="true"], [have_fts="false"]) ++ ++ if test "$have_fts" = "false"; then ++ AC_MSG_ERROR("no libfts found") ++ else ++ fts_LDADD="-lfts" ++ fi ++else ++ fts_LDADD="" ++fi ++AC_SUBST([fts_LDADD]) ++ ++dnl Check if we have obstack available from our libc ++AC_LINK_IFELSE( ++ [AC_LANG_PROGRAM( ++ [#include <obstack.h>], ++ [_obstack_begin(0, 0, 0, NULL, NULL); return 0;] ++ )], ++ [libc_has_obstack="true"], ++ [libc_has_obstack="false"] ++) ++ ++dnl If our libc doesn't provide obstack, then test for libobstack ++if test "$libc_has_obstack" = "false" ; then ++ AC_MSG_WARN("libc does not have obstack") ++ AC_CHECK_LIB([obstack], [_obstack_begin], [have_obstack="true"], [have_obstack="false"]) ++ ++ if test "$have_obstack" = "false"; then ++ AC_MSG_ERROR("no libobstack found") ++ else ++ obstack_LDADD="-lobstack" ++ fi ++else ++ obstack_LDADD="" ++fi ++AC_SUBST([obstack_LDADD]) ++ ++dnl The directories with content. ++ + dnl The directories with content. + + dnl Documentation. +--- a/src/Makefile.am.orig 2016-08-29 21:38:11.179295769 +0200 ++++ b/src/Makefile.am 2016-08-03 18:19:47.000000000 +0200 +@@ -67,22 +67,22 @@ + ar_no_Wstack_usage = yes + unstrip_no_Wstack_usage = yes + ++readelf_LDADD = $(libdw) $(libebl) $(libelf) $(libeu) $(argp_LDADD) $(fts_LDADD) $(obstack_LDADD) -ldl ++nm_LDADD = $(libdw) $(libebl) $(libelf) $(libeu) $(argp_LDADD) $(fts_LDADD) $(obstack_LDADD) -ldl \ +-readelf_LDADD = $(libdw) $(libebl) $(libelf) $(libeu) $(argp_LDADD) -ldl +-nm_LDADD = $(libdw) $(libebl) $(libelf) $(libeu) $(argp_LDADD) -ldl \ + $(demanglelib) ++size_LDADD = $(libelf) $(libeu) $(argp_LDADD) $(fts_LDADD) $(obstack_LDADD) ++strip_LDADD = $(libebl) $(libelf) $(libdw) $(libeu) $(argp_LDADD) $(fts_LDADD) $(obstack_LDADD) -ldl ++elflint_LDADD = $(libebl) $(libelf) $(libeu) $(argp_LDADD) $(fts_LDADD) $(obstack_LDADD) -ldl ++findtextrel_LDADD = $(libdw) $(libelf) $(libeu) $(argp_LDADD) $(fts_LDADD) $(obstack_LDADD) ++addr2line_LDADD = $(libdw) $(libelf) $(libeu) $(argp_LDADD) $(fts_LDADD) $(obstack_LDADD) $(demanglelib) ++elfcmp_LDADD = $(libebl) $(libelf) $(libeu) $(argp_LDADD) $(fts_LDADD) $(obstack_LDADD) -ldl +-size_LDADD = $(libelf) $(libeu) $(argp_LDADD) +-strip_LDADD = $(libebl) $(libelf) $(libdw) $(libeu) $(argp_LDADD) -ldl +-elflint_LDADD = $(libebl) $(libelf) $(libeu) $(argp_LDADD) -ldl +-findtextrel_LDADD = $(libdw) $(libelf) $(libeu) $(argp_LDADD) +-addr2line_LDADD = $(libdw) $(libelf) $(libeu) $(argp_LDADD) $(demanglelib) +-elfcmp_LDADD = $(libebl) $(libelf) $(libeu) $(argp_LDADD) -ldl + objdump_LDADD = $(libasm) $(libebl) $(libelf) $(libeu) $(argp_LDADD) -ldl ++ranlib_LDADD = libar.a $(libelf) $(libeu) $(argp_LDADD) $(fts_LDADD) $(obstack_LDADD) ++strings_LDADD = $(libelf) $(libeu) $(argp_LDADD) $(fts_LDADD) $(obstack_LDADD) ++ar_LDADD = libar.a $(libelf) $(libeu) $(argp_LDADD) $(fts_LDADD) $(obstack_LDADD) ++unstrip_LDADD = $(libebl) $(libelf) $(libdw) $(libeu) $(argp_LDADD) $(fts_LDADD) $(obstack_LDADD) -ldl ++stack_LDADD = $(libebl) $(libelf) $(libdw) $(libeu) $(argp_LDADD) $(fts_LDADD) $(obstack_LDADD) -ldl $(demanglelib) ++elfcompress_LDADD = $(libebl) $(libelf) $(libdw) $(libeu) $(argp_LDADD) $(fts_LDADD) $(obstack_LDADD) +-ranlib_LDADD = libar.a $(libelf) $(libeu) $(argp_LDADD) +-strings_LDADD = $(libelf) $(libeu) $(argp_LDADD) +-ar_LDADD = libar.a $(libelf) $(libeu) $(argp_LDADD) +-unstrip_LDADD = $(libebl) $(libelf) $(libdw) $(libeu) $(argp_LDADD) -ldl +-stack_LDADD = $(libebl) $(libelf) $(libdw) $(libeu) $(argp_LDADD) -ldl $(demanglelib) +-elfcompress_LDADD = $(libebl) $(libelf) $(libdw) $(libeu) $(argp_LDADD) + + installcheck-binPROGRAMS: $(bin_PROGRAMS) + bad=0; pid=$$$$; list="$(bin_PROGRAMS)"; for p in $$list; do \ +--- a/libdw/Makefile.am.orig 2017-08-05 01:41:04.103553705 +0000 ++++ b/libdw/Makefile.am 2017-08-05 01:43:55.366543497 +0000 +@@ -105,7 +105,7 @@ + libdw_so_LIBS = libdw_pic.a ../libdwelf/libdwelf_pic.a \ + ../libdwfl/libdwfl_pic.a ../libebl/libebl.a + libdw_so_DEPS = ../lib/libeu.a ../libelf/libelf.so +-libdw_so_LDLIBS = $(libdw_so_DEPS) -ldl -lz $(argp_LDADD) $(zip_LIBS) ++libdw_so_LDLIBS = $(libdw_so_DEPS) -ldl -lz $(argp_LDADD) $(fts_LDADD) $(obstack_LDADD) $(zip_LIBS) + libdw_so_SOURCES = + libdw.so$(EXEEXT): $(srcdir)/libdw.map $(libdw_so_LIBS) $(libdw_so_DEPS) + # The rpath is necessary for libebl because its $ORIGIN use will |