The cirros image was rebuilt against the 3.13.0-83 kernel, drivers e1000e, igbvf...
[packages/trusty/cirros-testvm.git] / cirros-testvm / src-cirros / buildroot-2015.05 / package / elfutils / 0001-argp-support.patch
diff --git a/cirros-testvm/src-cirros/buildroot-2015.05/package/elfutils/0001-argp-support.patch b/cirros-testvm/src-cirros/buildroot-2015.05/package/elfutils/0001-argp-support.patch
new file mode 100644 (file)
index 0000000..1a74b35
--- /dev/null
@@ -0,0 +1,93 @@
+Allow the usage of an external implementation of the argp functions
+
+uClibc lack the argp family of functions that glibc has. Therefore, we
+add a check in the configure script to see if argp_parse is available
+in the C library. If not, we look if it is available in the additional
+'argp' library. If so, we link against that library. If not, we error
+out.
+
+This allows to build elfutils against uClibc with an external argp
+library.
+
+Based on the former patch by Thomas Petazzoni.
+
+Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
+Signed-off-by: Vicente Olivert Riera <Vincent.Riera@imgtec.com>
+
+diff -rup a/configure.ac b/configure.ac
+--- a/configure.ac     2015-01-06 11:30:02.170052875 +0000
++++ b/configure.ac     2015-01-06 11:31:10.122219826 +0000
+@@ -253,6 +253,13 @@ AC_SUBST([LIBEBL_SUBDIR])
+ AC_DEFINE_UNQUOTED(LIBEBL_SUBDIR, "$LIBEBL_SUBDIR")
+ AH_TEMPLATE([LIBEBL_SUBDIR], [$libdir subdirectory containing libebl modules.])
++AC_CHECK_FUNC([argp_parse])
++if test "$ac_cv_func_argp_parse" != yes; then
++      AC_CHECK_LIB([argp],[argp_parse],ARGP_LIBS=-largp,
++              AC_MSG_ERROR([No argp_parse function available.]))
++fi
++AC_SUBST(ARGP_LIBS)
++
+ dnl Test for zlib and bzlib, gives ZLIB/BZLIB .am
+ dnl conditional and config.h USE_ZLIB/USE_BZLIB #define.
+ save_LIBS="$LIBS"
+diff -rup a/libdw/Makefile.am b/libdw/Makefile.am
+--- a/libdw/Makefile.am        2014-12-19 20:43:11.000000000 +0000
++++ b/libdw/Makefile.am        2015-01-06 11:32:21.075438524 +0000
+@@ -112,7 +112,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 $(zip_LIBS)
++              -ldl $(zip_LIBS) $(ARGP_LIBS)
+       @$(textrel_check)
+       ln -fs $@ $@.$(VERSION)
+diff -rup a/src/Makefile.am b/src/Makefile.am
+--- a/src/Makefile.am  2015-01-06 11:30:02.430057339 +0000
++++ b/src/Makefile.am  2015-01-06 11:34:53.061049752 +0000
+@@ -94,27 +94,29 @@ readelf_no_Werror = yes
+ strings_no_Werror = yes
+ addr2line_no_Wformat = yes
+-readelf_LDADD = $(libdw) $(libebl) $(libelf) $(libeu) -ldl
++readelf_LDADD = $(libdw) $(libebl) $(libelf) $(libeu) -ldl $(ARGP_LIBS)
+ nm_LDADD = $(libdw) $(libebl) $(libelf) $(libeu) -ldl \
+-         $(demanglelib)
+-size_LDADD = $(libelf) $(libeu)
+-strip_LDADD = $(libebl) $(libelf) $(libeu) -ldl
+-ld_LDADD = $(libebl) $(libelf) $(libeu) -ldl
++         $(demanglelib) $(ARGP_LIBS)
++size_LDADD = $(libelf) $(libeu) $(ARGP_LIBS)
++strip_LDADD = $(libebl) $(libelf) $(libeu) -ldl $(ARGP_LIBS)
++ld_LDADD = $(libebl) $(libelf) $(libeu) -ldl $(ARGP_LIBS)
+ if NATIVE_LD
+ # -ldl is always needed for libebl.
+ ld_LDADD += libld_elf.a
+ endif
+ ld_LDFLAGS = -rdynamic
+-elflint_LDADD  = $(libebl) $(libelf) $(libeu) -ldl
+-findtextrel_LDADD = $(libdw) $(libelf)
+-addr2line_LDADD = $(libdw) $(libelf)
+-elfcmp_LDADD = $(libebl) $(libelf) -ldl
+-objdump_LDADD  = $(libasm) $(libebl) $(libelf) $(libeu) -ldl
+-ranlib_LDADD = libar.a $(libelf) $(libeu)
+-strings_LDADD = $(libelf) $(libeu)
+-ar_LDADD = libar.a $(libelf) $(libeu)
+-unstrip_LDADD = $(libebl) $(libelf) $(libdw) $(libeu) -ldl
+-stack_LDADD = $(libebl) $(libelf) $(libdw) $(libeu) -ldl $(demanglelib)
++elflint_LDADD  = $(libebl) $(libelf) $(libeu) -ldl $(ARGP_LIBS)
++findtextrel_LDADD = $(libdw) $(libelf) $(ARGP_LIBS)
++addr2line_LDADD = $(libdw) $(libelf) $(ARGP_LIBS)
++elfcmp_LDADD = $(libebl) $(libelf) -ldl $(ARGP_LIBS)
++objdump_LDADD  = $(libasm) $(libebl) $(libelf) $(libeu) -ldl \
++      $(ARGP_LIBS)
++ranlib_LDADD = libar.a $(libelf) $(libeu) $(ARGP_LIBS)
++strings_LDADD = $(libelf) $(libeu) $(ARGP_LIBS)
++ar_LDADD = libar.a $(libelf) $(libeu) $(ARGP_LIBS)
++unstrip_LDADD = $(libebl) $(libelf) $(libdw) $(libeu) -ldl $(ARGP_LIBS)
++stack_LDADD = $(libebl) $(libelf) $(libdw) $(libeu) -ldl \
++      $(demanglelib) $(ARGP_LIBS)
+ ldlex.o: ldscript.c
+ ldlex_no_Werror = yes