diff options
Diffstat (limited to 'yocto-poky/meta/recipes-devtools/elfutils/elfutils-0.164/uclibc-support.patch')
-rw-r--r-- | yocto-poky/meta/recipes-devtools/elfutils/elfutils-0.164/uclibc-support.patch | 129 |
1 files changed, 129 insertions, 0 deletions
diff --git a/yocto-poky/meta/recipes-devtools/elfutils/elfutils-0.164/uclibc-support.patch b/yocto-poky/meta/recipes-devtools/elfutils/elfutils-0.164/uclibc-support.patch new file mode 100644 index 000000000..966b70fcc --- /dev/null +++ b/yocto-poky/meta/recipes-devtools/elfutils/elfutils-0.164/uclibc-support.patch @@ -0,0 +1,129 @@ +From 3daec2dd11a04955f95e8f65a48820103d84dbec Mon Sep 17 00:00:00 2001 +From: Junling Zheng <zhengjunling@huawei.com> +Date: Thu, 9 Apr 2015 12:12:49 +0000 +Subject: [PATCH] uclibc support for elfutils 0.161 + +on uclibc systems libintl and libuargp are separate from libc. +so they need to be specified on commandline when we use proxy-libintl +then libintl is a static archive so it should be listed last since +elfutils does not respect disable-nls we need to link in libintl + +We add a new option --enable-uclibc which will be used to control +the uclibc specific configurations during build. + +Upstream-Status: Inappropriate [uclibc specific] + +Signed-off-by: Khem Raj <raj.khem> +Signed-off-by: Junling Zheng <zhengjunling@huawei.com> +[Junling Zheng: + - adjust context +] +--- + configure.ac | 8 ++++++++ + libcpu/Makefile.am | 4 ++++ + libdw/Makefile.am | 7 ++++++- + libelf/Makefile.am | 5 +++++ + 4 files changed, 23 insertions(+), 1 deletion(-) + +Index: elfutils-0.164/configure.ac +=================================================================== +--- elfutils-0.164.orig/configure.ac ++++ elfutils-0.164/configure.ac +@@ -66,6 +66,14 @@ AS_IF([test "$use_locks" = yes], + + AH_TEMPLATE([USE_LOCKS], [Defined if libraries should be thread-safe.]) + ++AC_ARG_ENABLE([uclibc], ++AS_HELP_STRING([--enable-uclibc], [Use uclibc for system libraries]), ++use_uclibc=yes, use_uclibc=no) ++AM_CONDITIONAL(USE_UCLIBC, test "$use_uclibc" = yes) ++AS_IF([test "$use_uclibc" = yes], [AC_DEFINE(USE_UCLIBC)]) ++ ++AH_TEMPLATE([USE_UCLIBC], [Defined if uclibc libraries are used.]) ++ + AC_PROG_CC + AC_PROG_RANLIB + AC_PROG_YACC +@@ -291,18 +299,13 @@ AC_LINK_IFELSE( + ) + + dnl If our libc doesn't provide argp, then test for libargp +-if test "$libc_has_argp" = "false" ; then +- AC_MSG_WARN("libc does not have argp") +- AC_CHECK_LIB([argp], [argp_parse], [have_argp="true"], [have_argp="false"]) +- +- if test "$have_argp" = "false"; then +- AC_MSG_ERROR("no libargp found") +- else +- argp_LDADD="-largp" +- fi +-else +- argp_LDADD="" +-fi ++AS_IF([test "x$libc_has_argp" = "xfalse"], ++ [AC_MSG_WARN("libc does not have argp") ++ AC_CHECK_LIB([argp], [argp_parse], [have_argp="true" argp_LDADD="-largp"], [have_argp="false"])], [argp_LDADD=""]) ++ ++AS_IF([test "x$libc_has_argp" = "xfalse" -a "x$have_argp" = "xfalse"], ++ AC_CHECK_LIB([uargp], [argp_parse], [have_uargp="true" argp_LDADD="-luargp"], [have_uargp="false"])], [argp_LDADD=""]) ++ + AC_SUBST([argp_LDADD]) + + dnl The directories with content. +Index: elfutils-0.164/libcpu/Makefile.am +=================================================================== +--- elfutils-0.164.orig/libcpu/Makefile.am ++++ elfutils-0.164/libcpu/Makefile.am +@@ -80,6 +80,10 @@ i386_parse_CFLAGS = -DNMNES="`wc -l < i3 + i386_lex.o: i386_parse.h + i386_gendis_LDADD = $(libeu) -lm + ++if USE_UCLIBC ++i386_gendis_LDADD += -lintl ++endif ++ + i386_parse.h: i386_parse.c ; + + EXTRA_DIST = defs/i386 +Index: elfutils-0.164/libdw/Makefile.am +=================================================================== +--- elfutils-0.164.orig/libdw/Makefile.am ++++ elfutils-0.164/libdw/Makefile.am +@@ -102,6 +102,11 @@ endif + libdw_pic_a_SOURCES = + am_libdw_pic_a_OBJECTS = $(libdw_a_SOURCES:.c=.os) + ++libdw_so_LDLIBS = ++if USE_UCLIBC ++libdw_so_LDLIBS += -lintl ++endif ++ + libdw_so_SOURCES = + libdw.so$(EXEEXT): $(srcdir)/libdw.map libdw_pic.a ../libdwelf/libdwelf_pic.a \ + ../libdwfl/libdwfl_pic.a ../libebl/libebl.a \ +@@ -112,7 +117,7 @@ libdw.so$(EXEEXT): $(srcdir)/libdw.map l + -Wl,--enable-new-dtags,-rpath,$(pkglibdir) \ + -Wl,--version-script,$<,--no-undefined \ + -Wl,--whole-archive $(filter-out $<,$^) -Wl,--no-whole-archive\ +- -ldl $(argp_LDADD) $(zip_LIBS) ++ -ldl $(argp_LDADD) $(zip_LIBS) $(libdw_so_LDLIBS) + @$(textrel_check) + $(AM_V_at)ln -fs $@ $@.$(VERSION) + +Index: elfutils-0.164/libelf/Makefile.am +=================================================================== +--- elfutils-0.164.orig/libelf/Makefile.am ++++ elfutils-0.164/libelf/Makefile.am +@@ -93,7 +93,12 @@ libelf_a_SOURCES = elf_version.c elf_has + libelf_pic_a_SOURCES = + am_libelf_pic_a_OBJECTS = $(libelf_a_SOURCES:.c=.os) + ++ + libelf_so_LDLIBS = ++if USE_UCLIBC ++libelf_so_LDLIBS += -lintl ++endif ++ + if USE_LOCKS + libelf_so_LDLIBS += -lpthread + endif |