diff options
Diffstat (limited to 'recipes-devtools/elfutils')
-rw-r--r-- | recipes-devtools/elfutils/elfutils-0.148/uclibc-support-for-elfutils-0.148.patch | 91 | ||||
-rw-r--r-- | recipes-devtools/elfutils/elfutils_0.148.bb | 46 |
2 files changed, 26 insertions, 111 deletions
diff --git a/recipes-devtools/elfutils/elfutils-0.148/uclibc-support-for-elfutils-0.148.patch b/recipes-devtools/elfutils/elfutils-0.148/uclibc-support-for-elfutils-0.148.patch deleted file mode 100644 index 3cf16ac..0000000 --- a/recipes-devtools/elfutils/elfutils-0.148/uclibc-support-for-elfutils-0.148.patch +++ /dev/null @@ -1,91 +0,0 @@ -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. - -Signed-off-by: Khem Raj <raj.khem> - -Upstream-Status: Inappropriate [uclibc specific] - -Index: elfutils-0.148/configure.ac -=================================================================== ---- elfutils-0.148.orig/configure.ac -+++ elfutils-0.148/configure.ac -@@ -55,9 +55,16 @@ AS_IF([test "$use_locks" = yes], [AC_DEF - - 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.]) -+ - dnl Add all the languages for which translations are available. - ALL_LINGUAS= -- - AC_PROG_CC - AC_PROG_RANLIB - AC_PROG_YACC -Index: elfutils-0.148/libelf/Makefile.am -=================================================================== ---- elfutils-0.148.orig/libelf/Makefile.am -+++ elfutils-0.148/libelf/Makefile.am -@@ -93,7 +93,12 @@ if !MUDFLAP - libelf_pic_a_SOURCES = - am_libelf_pic_a_OBJECTS = $(libelf_a_SOURCES:.c=.os) - -+ - libelf_so_LDLIBS = -+if USE_UCLIBC -+libelf_so_LDLIBS += -lintl -luargp -+endif -+ - if USE_LOCKS - libelf_so_LDLIBS += -lpthread - endif -Index: elfutils-0.148/libdw/Makefile.am -=================================================================== ---- elfutils-0.148.orig/libdw/Makefile.am -+++ elfutils-0.148/libdw/Makefile.am -@@ -98,6 +98,11 @@ if !MUDFLAP - libdw_pic_a_SOURCES = - am_libdw_pic_a_OBJECTS = $(libdw_a_SOURCES:.c=.os) - -+libdw_so_LDLIBS = -+if USE_UCLIBC -+libdw_so_LDLIBS += -lintl -luargp -+endif -+ - libdw_so_SOURCES = - libdw.so: $(srcdir)/libdw.map libdw_pic.a \ - ../libdwfl/libdwfl_pic.a ../libebl/libebl.a \ -@@ -108,7 +113,7 @@ libdw.so: $(srcdir)/libdw.map libdw_pic. - -Wl,--enable-new-dtags,-rpath,$(pkglibdir) \ - -Wl,--version-script,$<,--no-undefined \ - -Wl,--whole-archive $(filter-out $<,$^) -Wl,--no-whole-archive\ -- -ldl $(zip_LIBS) -+ -ldl $(zip_LIBS) $(libdw_so_LDLIBS) - if readelf -d $@ | fgrep -q TEXTREL; then exit 1; fi - ln -fs $@ $@.$(VERSION) - -Index: elfutils-0.148/libcpu/Makefile.am -=================================================================== ---- elfutils-0.148.orig/libcpu/Makefile.am -+++ elfutils-0.148/libcpu/Makefile.am -@@ -63,6 +63,10 @@ i386_parse_CFLAGS = -DNMNES="`wc -l < i3 - i386_lex.o: i386_parse.h - i386_gendis_LDADD = $(libeu) -lm $(libmudflap) - -+if USE_UCLIBC -+i386_gendis_LDADD += -luargp -lintl -+endif -+ - i386_parse.h: i386_parse.c ; - - noinst_HEADERS = memory-access.h i386_parse.h i386_data.h diff --git a/recipes-devtools/elfutils/elfutils_0.148.bb b/recipes-devtools/elfutils/elfutils_0.148.bb index 1f07a28..f3e3373 100644 --- a/recipes-devtools/elfutils/elfutils_0.148.bb +++ b/recipes-devtools/elfutils/elfutils_0.148.bb @@ -1,7 +1,7 @@ SUMMARY = "Utilities and libraries for handling compiled object files" HOMEPAGE = "https://fedorahosted.org/elfutils" SECTION = "base" -LICENSE = "(GPL-2+ & Elfutils-Exception)" +LICENSE = "(GPL-2.0-or-later & Elfutils-Exception)" LIC_FILES_CHKSUM = "file://COPYING;md5=0636e73ff0215e8d672dc4c32c317bb3\ file://EXCEPTION;md5=570adcb0c1218ab57f2249c67d0ce417" DEPENDS = "libtool bzip2 zlib virtual/libintl" @@ -42,14 +42,11 @@ SRC_URI += "\ " # Only apply when building musl based target recipe -SRC_URI_append_libc-musl = " file://musl-support-for-elfutils-0.148.patch" - -# Only apply when building uclibc based target recipe -SRC_URI_append_libc-uclibc = " file://uclibc-support-for-elfutils-0.148.patch" +SRC_URI:append:libc-musl = " file://musl-support-for-elfutils-0.148.patch" # The buildsystem wants to generate 2 .h files from source using a binary it just built, # which can not pass the cross compiling, so let's work around it by adding 2 .h files -# along with the do_configure_prepend() +# along with the do_configure:prepend() SRC_URI += "\ file://i386_dis.h \ @@ -61,30 +58,39 @@ inherit autotools gettext # but 0.175 has different license, so to be safe don't backport the fix, just ignore the issue CFLAGS += "-Wno-error=missing-attributes" +# There is a fix in 0.171 version (commit b10d7eb74064c5906f031cd17c0f82041c6a4ca1) +# but 0.171 has different license, so to be safe don't backport the fix, just ignore the issue +CFLAGS += "-Wno-error=format-truncation=" + +# There is a fix in 0.182 version (commit 5621fe5443da23112170235dd5cac161e5c75e65) +# but 0.182 has different license, so to be safe don't backport the fix, just ignore the issue +CFLAGS += "-Wno-error=stringop-overflow=" + +# There are fixes in later versions for this but the old version won't be reproducible +TARGET_CC_ARCH:remove:class-target = " -Wdate-time" + EXTRA_OECONF = "--program-prefix=eu- --without-lzma" -EXTRA_OECONF_append_class-native = " --without-bzlib" -EXTRA_OECONF_append_libc-uclibc = " --enable-uclibc" +EXTRA_OECONF:append:class-native = " --without-bzlib" -do_configure_prepend() { +do_configure:prepend() { sed -i '/^i386_dis.h:/,+4 {/.*/d}' ${S}/libcpu/Makefile.am cp ${WORKDIR}/*dis.h ${S}/libcpu } -# we can not build complete elfutils when using uclibc or musl +# we can not build complete elfutils when using musl # but some recipes e.g. gcc 4.5 depends on libelf so we -# build only libelf for uclibc and musl cases +# build only libelf for musl cases -EXTRA_OEMAKE_libc-musl = "-C libelf" -EXTRA_OEMAKE_libc-uclibc = "-C libelf" -EXTRA_OEMAKE_class-native = "" -EXTRA_OEMAKE_class-nativesdk = "" +EXTRA_OEMAKE:libc-musl = "-C libelf" +EXTRA_OEMAKE:class-native = "" +EXTRA_OEMAKE:class-nativesdk = "" BBCLASSEXTEND = "native nativesdk" # Package utilities separately PACKAGES =+ "${PN}-binutils libelf libasm libdw" -FILES_${PN}-binutils = "\ +FILES:${PN}-binutils = "\ ${bindir}/eu-addr2line \ ${bindir}/eu-ld \ ${bindir}/eu-nm \ @@ -92,13 +98,13 @@ FILES_${PN}-binutils = "\ ${bindir}/eu-size \ ${bindir}/eu-strip" -FILES_libelf = "${libdir}/libelf-${PV}.so ${libdir}/libelf.so.*" -FILES_libasm = "${libdir}/libasm-${PV}.so ${libdir}/libasm.so.*" -FILES_libdw = "${libdir}/libdw-${PV}.so ${libdir}/libdw.so.* ${libdir}/elfutils/lib*" +FILES:libelf = "${libdir}/libelf-${PV}.so ${libdir}/libelf.so.*" +FILES:libasm = "${libdir}/libasm-${PV}.so ${libdir}/libasm.so.*" +FILES:libdw = "${libdir}/libdw-${PV}.so ${libdir}/libdw.so.* ${libdir}/elfutils/lib*" # Some packages have the version preceeding the .so instead properly # versioned .so.<version>, so we need to reorder and repackage. #FILES_${PN} += "${libdir}/*-${PV}.so ${base_libdir}/*-${PV}.so" #FILES_SOLIBSDEV = "${libdir}/libasm.so ${libdir}/libdw.so ${libdir}/libelf.so" # The package contains symlinks that trip up insane -INSANE_SKIP_${MLPREFIX}libdw = "dev-so" +INSANE_SKIP:${MLPREFIX}libdw = "dev-so" |