summaryrefslogtreecommitdiffstats
path: root/meta/recipes-devtools/elfutils/elfutils-0.166/uclibc-support.patch
blob: 62999985cce52f05f741e30962f7c507d1977a87 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
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.166/configure.ac
===================================================================
--- elfutils-0.166.orig/configure.ac
+++ elfutils-0.166/configure.ac
@@ -79,6 +79,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
@@ -347,18 +355,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.166/libcpu/Makefile.am
===================================================================
--- elfutils-0.166.orig/libcpu/Makefile.am
+++ elfutils-0.166/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.166/libdw/Makefile.am
===================================================================
--- elfutils-0.166.orig/libdw/Makefile.am
+++ elfutils-0.166/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 -lz $(argp_LDADD) $(zip_LIBS)
+		-ldl -lz $(argp_LDADD) $(zip_LIBS) $(libdw_so_LDLIBS)
 	@$(textrel_check)
 	$(AM_V_at)ln -fs $@ $@.$(VERSION)
 
Index: elfutils-0.166/libelf/Makefile.am
===================================================================
--- elfutils-0.166.orig/libelf/Makefile.am
+++ elfutils-0.166/libelf/Makefile.am
@@ -96,6 +96,11 @@ libelf_pic_a_SOURCES =
 am_libelf_pic_a_OBJECTS = $(libelf_a_SOURCES:.c=.os)
 
 libelf_so_LDLIBS = -lz
+
+if USE_UCLIBC
+libelf_so_LDLIBS += -lintl
+endif
+
 if USE_LOCKS
 libelf_so_LDLIBS += -lpthread
 endif