Go to:
Gentoo Home
Documentation
Forums
Lists
Bugs
Planet
Store
Wiki
Get Gentoo!
Gentoo's Bugzilla – Attachment 376194 Details for
Bug 470884
dev-libs/elfutils: build fails on uclibc
Home
|
New
–
[Ex]
|
Browse
|
Search
|
Privacy Policy
|
[?]
|
Reports
|
Requests
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
[patch]
Check if libc provides dgettext
elfutils-0.158-check-libc-dgettext.patch (text/plain), 9.14 KB, created by
Alex Guzman
on 2014-05-02 11:07:11 UTC
(
hide
)
Description:
Check if libc provides dgettext
Filename:
MIME Type:
Creator:
Alex Guzman
Created:
2014-05-02 11:07:11 UTC
Size:
9.14 KB
patch
obsolete
>commit 5a0cb621e914dbfab385a99a8cc79be81c1e0221 >Author: Daniel Guzman <daniel@guzman.io> >Date: Fri May 2 02:13:08 2014 +0000 > > [PATCH] Use -lintl when libc doesn't provide dgettext > > dgettext is usually provided directly by libc, but when using uClibc, > the macro is expanded to libintl_dgettext, which is provided by > libintl. This causes a compilation failure, so this patch fixes that > by explicitly checking if the libc provides dgettext, then checking > if libintl provides it and mending the linker flags if so. If not, > configure will properly fail. > > Signed-off-by: Daniel Guzman <daniel@guzman.io> >--- > configure.ac | 34 ++++++++++++++++++++++++++++++++++ > libasm/Makefile.am | 1 + > libdw/Makefile.am | 2 +- > libelf/Makefile.am | 1 + > src/Makefile.am | 30 +++++++++++++++--------------- > tests/Makefile.am | 20 ++++++++++---------- > 6 files changed, 62 insertions(+), 26 deletions(-) > >diff --git a/configure.ac b/configure.ac >index 5fbf883..cdd7709 100644 >--- a/configure.ac >+++ b/configure.ac >@@ -326,6 +326,40 @@ else > fi > AC_SUBST([argp_LDADD]) > >+dnl Check if we have dgettext available from our libc >+AC_LINK_IFELSE( >+ [AC_LANG_PROGRAM( >+ [#include <libintl.h>], >+ [char *test=dgettext("test","test"); return 0;] >+ )], >+ [libc_has_dgettext="true"], >+ [libc_has_dgettext="false"] >+) >+ >+dnl If our libc doesn't provide dgettext, then test for libintl support >+if test "$libc_has_dgettext" = "false" ; then >+ OLD_LIBS="$LIBS" >+ LIBS="$OLD_LIBS -lintl" >+ AC_MSG_WARN("libc does not have dgettext") >+ AC_LINK_IFELSE( >+ [AC_LANG_PROGRAM( >+ [#include <libintl.h>], >+ [char *test=dgettext("test","test"); return 0;] >+ )], >+ [libintl_has_dgettext="true"], >+ [libintl_has_dgettext="false"] >+ ) >+ if test "$libintl_has_dgettext" = "false"; then >+ AC_MSG_ERROR("no libintl with dgettext found") >+ else >+ intl_LDADD="-lintl" >+ fi >+ LIBS="$OLD_LIBS" >+else >+ intl_LDADD="" >+fi >+AC_SUBST([intl_LDADD]) >+ > > dnl Check for __mempcpy > AC_CHECK_FUNCS_ONCE([__mempcpy]) >diff --git a/libasm/Makefile.am b/libasm/Makefile.am >index 4d81536..d528add 100644 >--- a/libasm/Makefile.am >+++ b/libasm/Makefile.am >@@ -59,6 +59,7 @@ libasm_pic_a_SOURCES = > am_libasm_pic_a_OBJECTS = $(libasm_a_SOURCES:.c=.os) > > libasm_so_LDLIBS = >+libasm_so_LDLIBS += $(intl_LDADD) > if USE_LOCKS > libasm_so_LDLIBS += -lpthread > endif >diff --git a/libdw/Makefile.am b/libdw/Makefile.am >index b452c7d..ddfa367 100644 >--- a/libdw/Makefile.am >+++ b/libdw/Makefile.am >@@ -111,7 +111,7 @@ libdw.so: $(srcdir)/libdw.map libdw_pic.a \ > -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) $(intl_LDADD) $(zip_LIBS) > if $(READELF) -d $@ | fgrep -q TEXTREL; then exit 1; fi > ln -fs $@ $@.$(VERSION) > >diff --git a/libelf/Makefile.am b/libelf/Makefile.am >index 4646fba..489e13d 100644 >--- a/libelf/Makefile.am >+++ b/libelf/Makefile.am >@@ -97,6 +97,7 @@ libelf_pic_a_SOURCES = > am_libelf_pic_a_OBJECTS = $(libelf_a_SOURCES:.c=.os) > > libelf_so_LDLIBS = >+libelf_so_LDLIBS += $(intl_LDADD) > if USE_LOCKS > libelf_so_LDLIBS += -lpthread > endif >diff --git a/src/Makefile.am b/src/Makefile.am >index 40fa528..0a3c229 100644 >--- a/src/Makefile.am >+++ b/src/Makefile.am >@@ -98,27 +98,27 @@ ldgeneric_no_Wunused = yes > # Buggy old compilers. > readelf_no_Werror = yes > >-readelf_LDADD = $(libdw) $(libebl) $(libelf) $(libeu) $(libmudflap) $(argp_LDADD) -ldl >-nm_LDADD = $(libdw) $(libebl) $(libelf) $(libeu) $(libmudflap) $(argp_LDADD) -ldl \ >+readelf_LDADD = $(libdw) $(libebl) $(libelf) $(libeu) $(libmudflap) $(argp_LDADD) $(intl_LDADD) -ldl >+nm_LDADD = $(libdw) $(libebl) $(libelf) $(libeu) $(libmudflap) $(argp_LDADD) $(intl_LDADD) -ldl \ > $(demanglelib) >-size_LDADD = $(libelf) $(libeu) $(libmudflap) $(argp_LDADD) >-strip_LDADD = $(libebl) $(libelf) $(libeu) $(libmudflap) $(argp_LDADD) -ldl >-ld_LDADD = $(libebl) $(libelf) $(libeu) $(libmudflap) $(argp_LDADD) -ldl >+size_LDADD = $(libelf) $(libeu) $(libmudflap) $(argp_LDADD) $(intl_LDADD) >+strip_LDADD = $(libebl) $(libelf) $(libeu) $(libmudflap) $(argp_LDADD) $(intl_LDADD) -ldl >+ld_LDADD = $(libebl) $(libelf) $(libeu) $(libmudflap) $(argp_LDADD) $(intl_LDADD) -ldl > if NATIVE_LD > # -ldl is always needed for libebl. > ld_LDADD += libld_elf.a > endif > ld_LDFLAGS = -rdynamic >-elflint_LDADD = $(libebl) $(libelf) $(libeu) $(libmudflap) $(argp_LDADD) -ldl >-findtextrel_LDADD = $(libdw) $(libelf) $(libmudflap) $(argp_LDADD) >-addr2line_LDADD = $(libdw) $(libelf) $(libmudflap) $(argp_LDADD) >-elfcmp_LDADD = $(libebl) $(libelf) $(libmudflap) $(argp_LDADD) -ldl >-objdump_LDADD = $(libasm) $(libebl) $(libelf) $(libeu) $(libmudflap) $(argp_LDADD) -ldl >-ranlib_LDADD = libar.a $(libelf) $(libeu) $(libmudflap) $(argp_LDADD) >-strings_LDADD = $(libelf) $(libeu) $(libmudflap) $(argp_LDADD) >-ar_LDADD = libar.a $(libelf) $(libeu) $(libmudflap) $(argp_LDADD) >-unstrip_LDADD = $(libebl) $(libelf) $(libdw) $(libeu) $(libmudflap) $(argp_LDADD) -ldl >-stack_LDADD = $(libebl) $(libelf) $(libdw) $(libeu) $(libmudflap) $(argp_LDADD) -ldl \ >+elflint_LDADD = $(libebl) $(libelf) $(libeu) $(libmudflap) $(argp_LDADD) $(intl_LDADD) -ldl >+findtextrel_LDADD = $(libdw) $(libelf) $(libmudflap) $(argp_LDADD) $(intl_LDADD) >+addr2line_LDADD = $(libdw) $(libelf) $(libmudflap) $(argp_LDADD) $(intl_LDADD) >+elfcmp_LDADD = $(libebl) $(libelf) $(libmudflap) $(argp_LDADD) $(intl_LDADD) -ldl >+objdump_LDADD = $(libasm) $(libebl) $(libelf) $(libeu) $(libmudflap) $(argp_LDADD) $(intl_LDADD) -ldl >+ranlib_LDADD = libar.a $(libelf) $(libeu) $(libmudflap) $(argp_LDADD) $(intl_LDADD) >+strings_LDADD = $(libelf) $(libeu) $(libmudflap) $(argp_LDADD) $(intl_LDADD) >+ar_LDADD = libar.a $(libelf) $(libeu) $(libmudflap) $(argp_LDADD) $(intl_LDADD) >+unstrip_LDADD = $(libebl) $(libelf) $(libdw) $(libeu) $(libmudflap) $(argp_LDADD) $(intl_LDADD) -ldl >+stack_LDADD = $(libebl) $(libelf) $(libdw) $(libeu) $(libmudflap) $(argp_LDADD) $(intl_LDADD) -ldl \ > $(demanglelib) > > ldlex.o: ldscript.c >diff --git a/tests/Makefile.am b/tests/Makefile.am >index 1688e8a..688dd39 100644 >--- a/tests/Makefile.am >+++ b/tests/Makefile.am >@@ -346,12 +346,12 @@ get_files_LDADD = $(libdw) $(libelf) $(libmudflap) > get_aranges_LDADD = $(libdw) $(libelf) $(libmudflap) > allfcts_LDADD = $(libdw) $(libelf) $(libmudflap) > line2addr_no_Wformat = yes >-line2addr_LDADD = $(libdw) $(libmudflap) $(argp_LDADD) >-addrscopes_LDADD = $(libdw) $(libmudflap) $(argp_LDADD) >-funcscopes_LDADD = $(libdw) $(libmudflap) $(argp_LDADD) >-funcretval_LDADD = $(libdw) $(libmudflap) $(argp_LDADD) >-allregs_LDADD = $(libdw) $(libmudflap) $(argp_LDADD) >-find_prologues_LDADD = $(libdw) $(libmudflap) $(argp_LDADD) >+line2addr_LDADD = $(libdw) $(libmudflap) $(argp_LDADD) $(intl_LDADD) >+addrscopes_LDADD = $(libdw) $(libmudflap) $(argp_LDADD) $(intl_LDADD) >+funcscopes_LDADD = $(libdw) $(libmudflap) $(argp_LDADD) $(intl_LDADD) >+funcretval_LDADD = $(libdw) $(libmudflap) $(argp_LDADD) $(intl_LDADD) >+allregs_LDADD = $(libdw) $(libmudflap) $(argp_LDADD) $(intl_LDADD) >+find_prologues_LDADD = $(libdw) $(libmudflap) $(argp_LDADD) $(intl_LDADD) > #show_ciefde_LDADD = ../libdwarf/libdwarf.so $(libelf) $(libmudflap) > asm_tst1_LDADD = $(libasm) $(libebl) $(libelf) $(libmudflap) -ldl > asm_tst2_LDADD = $(libasm) $(libebl) $(libelf) $(libmudflap) -ldl >@@ -362,24 +362,24 @@ asm_tst6_LDADD = $(libasm) $(libebl) $(libelf) $(libmudflap) -ldl > asm_tst7_LDADD = $(libasm) $(libebl) $(libelf) $(libmudflap) -ldl > asm_tst8_LDADD = $(libasm) $(libebl) $(libelf) $(libmudflap) -ldl > asm_tst9_LDADD = $(libasm) $(libebl) $(libelf) $(libmudflap) -ldl >-dwflmodtest_LDADD = $(libdw) $(libebl) $(libelf) $(libmudflap) $(argp_LDADD) -ldl >+dwflmodtest_LDADD = $(libdw) $(libebl) $(libelf) $(libmudflap) $(argp_LDADD) $(intl_LDADD) -ldl > rdwrmmap_LDADD = $(libelf) $(libmudflap) > dwfl_bug_addr_overflow_LDADD = $(libdw) $(libebl) $(libelf) $(libmudflap) -ldl > arls_LDADD = $(libelf) $(libmudflap) > dwfl_bug_fd_leak_LDADD = $(libdw) $(libebl) $(libelf) $(libmudflap) -ldl > dwfl_bug_report_LDADD = $(libdw) $(libebl) $(libelf) $(libmudflap) -ldl > dwfl_bug_getmodules_LDADD = $(libdw) $(libebl) $(libelf) $(libmudflap) -ldl >-dwfl_addr_sect_LDADD = $(libdw) $(libebl) $(libelf) $(libmudflap) $(argp_LDADD) -ldl >+dwfl_addr_sect_LDADD = $(libdw) $(libebl) $(libelf) $(libmudflap) $(argp_LDADD) $(intl_LDADD) -ldl > dwarf_getmacros_LDADD = $(libdw) $(libmudflap) > dwarf_getstring_LDADD = $(libdw) $(libmudflap) >-addrcfi_LDADD = $(libdw) $(libebl) $(libelf) $(libmudflap) $(argp_LDADD) -ldl >+addrcfi_LDADD = $(libdw) $(libebl) $(libelf) $(libmudflap) $(argp_LDADD) $(intl_LDADD) -ldl > test_flag_nobits_LDADD = $(libelf) $(libmudflap) > rerequest_tag_LDADD = $(libdw) $(libmudflap) > alldts_LDADD = $(libebl) $(libelf) $(libmudflap) > md5_sha1_test_LDADD = $(libeu) > typeiter_LDADD = $(libdw) $(libelf) $(libmudflap) > typeiter2_LDADD = $(libdw) $(libelf) $(libmudflap) >-low_high_pc_LDADD = $(libdw) $(libelf) $(libmudflap) $(argp_LDADD) >+low_high_pc_LDADD = $(libdw) $(libelf) $(libmudflap) $(argp_LDADD) $(intl_LDADD) > test_elf_cntl_gelf_getshdr_LDADD = $(libelf) $(libmudflap) > dwflsyms_LDADD = $(libdw) $(libelf) $(libmudflap) > dwfllines_LDADD = $(libdw) $(libelf) $(libmudflap)
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
Attachments on
bug 470884
:
348828
|
348830
|
348832
|
348908
|
349604
|
349608
|
350476
|
350478
|
350480
|
350482
|
350484
|
350486
| 376194 |
376196
|
376198
|
459426
|
459428
|
459430
|
459432
|
459434