summaryrefslogtreecommitdiffstats
path: root/meta/packages/elfutils
diff options
context:
space:
mode:
authorMarcin Juszkiewicz <hrw@openedhand.com>2008-07-25 09:28:48 +0000
committerMarcin Juszkiewicz <hrw@openedhand.com>2008-07-25 09:28:48 +0000
commit20d9950f50dafc490092286776d41d14cfbb93ed (patch)
treea03140d9b9b51d500849de4deabea673db6454ab /meta/packages/elfutils
parent41d6612ec730f93046aaf1978adb4be77bc257bd (diff)
downloadpoky-20d9950f50dafc490092286776d41d14cfbb93ed.tar.gz
elfutils: added 0.131 with Debian patches to build with gcc 4.3.1
git-svn-id: https://svn.o-hand.com/repos/poky/trunk@4949 311d38ba-8fff-0310-9ca6-ca027cbcb966
Diffstat (limited to 'meta/packages/elfutils')
-rw-r--r--meta/packages/elfutils/elfutils-0.131/gcc-4.3_support.diff100
-rw-r--r--meta/packages/elfutils/elfutils-0.131/gnu_inline.diff105
-rw-r--r--meta/packages/elfutils/elfutils-0.131/warnings.patch154
-rw-r--r--meta/packages/elfutils/elfutils_0.131.bb53
4 files changed, 412 insertions, 0 deletions
diff --git a/meta/packages/elfutils/elfutils-0.131/gcc-4.3_support.diff b/meta/packages/elfutils/elfutils-0.131/gcc-4.3_support.diff
new file mode 100644
index 0000000000..b337da9b60
--- /dev/null
+++ b/meta/packages/elfutils/elfutils-0.131/gcc-4.3_support.diff
@@ -0,0 +1,100 @@
1Index: elfutils-0.131/libelf/common.h
2===================================================================
3--- elfutils-0.131.orig/libelf/common.h 2008-04-02 13:32:19.000000000 -0300
4+++ elfutils-0.131/libelf/common.h 2008-04-02 13:35:53.000000000 -0300
5@@ -110,45 +110,6 @@
6 }
7
8
9-/* Acquire lock for the descriptor and all children. */
10-static void
11-libelf_acquire_all (Elf *elf)
12-{
13- rwlock_wrlock (elf->lock);
14-
15- if (elf->kind == ELF_K_AR)
16- {
17- Elf *child = elf->state.ar.children;
18-
19- while (child != NULL)
20- {
21- if (child->ref_count != 0)
22- libelf_acquire_all (child);
23- child = child->next;
24- }
25- }
26-}
27-
28-/* Release own lock and those of the children. */
29-static void
30-libelf_release_all (Elf *elf)
31-{
32- if (elf->kind == ELF_K_AR)
33- {
34- Elf *child = elf->state.ar.children;
35-
36- while (child != NULL)
37- {
38- if (child->ref_count != 0)
39- libelf_release_all (child);
40- child = child->next;
41- }
42- }
43-
44- rwlock_unlock (elf->lock);
45-}
46-
47-
48 /* Macro to convert endianess in place. It determines the function it
49 has to use itself. */
50 #define CONVERT(Var) \
51Index: elfutils-0.131/libelf/elf_readall.c
52===================================================================
53--- elfutils-0.131.orig/libelf/elf_readall.c 2008-04-02 13:36:06.000000000 -0300
54+++ elfutils-0.131/libelf/elf_readall.c 2008-04-02 13:38:25.000000000 -0300
55@@ -60,6 +60,45 @@
56 #include "common.h"
57
58
59+/* Acquire lock for the descriptor and all children. */
60+static void
61+libelf_acquire_all (Elf *elf)
62+{
63+ rwlock_wrlock (elf->lock);
64+
65+ if (elf->kind == ELF_K_AR)
66+ {
67+ Elf *child = elf->state.ar.children;
68+
69+ while (child != NULL)
70+ {
71+ if (child->ref_count != 0)
72+ libelf_acquire_all (child);
73+ child = child->next;
74+ }
75+ }
76+}
77+
78+/* Release own lock and those of the children. */
79+static void
80+libelf_release_all (Elf *elf)
81+{
82+ if (elf->kind == ELF_K_AR)
83+ {
84+ Elf *child = elf->state.ar.children;
85+
86+ while (child != NULL)
87+ {
88+ if (child->ref_count != 0)
89+ libelf_release_all (child);
90+ child = child->next;
91+ }
92+ }
93+
94+ rwlock_unlock (elf->lock);
95+}
96+
97+
98 static void
99 set_address (Elf *elf, size_t offset)
100 {
diff --git a/meta/packages/elfutils/elfutils-0.131/gnu_inline.diff b/meta/packages/elfutils/elfutils-0.131/gnu_inline.diff
new file mode 100644
index 0000000000..8652d0e1cf
--- /dev/null
+++ b/meta/packages/elfutils/elfutils-0.131/gnu_inline.diff
@@ -0,0 +1,105 @@
1---
2 backends/ia64_retval.c | 3 +++
3 libdw/libdw.h | 2 +-
4 libdw/libdwP.h | 3 +++
5 src/ld.h | 3 +++
6 src/strip.c | 3 +++
7 src/unstrip.c | 4 ++++
8 6 files changed, 17 insertions(+), 1 deletion(-)
9
10--- elfutils-0.131.orig/backends/ia64_retval.c
11+++ elfutils-0.131/backends/ia64_retval.c
12@@ -31,10 +31,13 @@
13 #include <dwarf.h>
14
15 #define BACKEND ia64_
16 #include "libebl_CPU.h"
17
18+#if defined(__GNUC_GNU_INLINE__) || defined(__GNUC_STDC_INLINE__)
19+#define inline inline __attribute__ ((gnu_inline))
20+#endif
21
22 /* r8, or pair r8, r9, or aggregate up to r8-r11. */
23 static const Dwarf_Op loc_intreg[] =
24 {
25 { .atom = DW_OP_reg8 }, { .atom = DW_OP_piece, .number = 8 },
26--- elfutils-0.131.orig/libdw/libdw.h
27+++ elfutils-0.131/libdw/libdw.h
28@@ -62,11 +62,11 @@
29 # define __nonnull_attribute__(args...)
30 # define __deprecated_attribute__
31 #endif
32
33
34-#ifdef __GNUC_STDC_INLINE__
35+#if defined(__GNUC_GNU_INLINE__) || defined(__GNUC_STDC_INLINE__)
36 # define __libdw_extern_inline extern __inline __attribute__ ((__gnu_inline__))
37 #else
38 # define __libdw_extern_inline extern __inline
39 #endif
40
41--- elfutils-0.131.orig/libdw/libdwP.h
42+++ elfutils-0.131/libdw/libdwP.h
43@@ -54,10 +54,13 @@
44 #include <libintl.h>
45 #include <stdbool.h>
46
47 #include <libdw.h>
48
49+#if defined(__GNUC_GNU_INLINE__) || defined(__GNUC_STDC_INLINE__)
50+#define inline inline __attribute__ ((gnu_inline))
51+#endif
52
53 /* gettext helper macros. */
54 #define _(Str) dgettext ("elfutils", Str)
55
56
57--- elfutils-0.131.orig/src/ld.h
58+++ elfutils-0.131/src/ld.h
59@@ -30,10 +30,13 @@
60 #include <obstack.h>
61 #include <stdbool.h>
62 #include <stdio.h>
63 #include "xelf.h"
64
65+#if defined(__GNUC_GNU_INLINE__) || defined(__GNUC_STDC_INLINE__)
66+#define inline inline __attribute__ ((gnu_inline))
67+#endif
68
69 /* Recommended size of the buffer passed to ld_strerror. */
70 #define ERRBUFSIZE (512)
71
72 /* Character used to introduce version name after symbol. */
73--- elfutils-0.131.orig/src/strip.c
74+++ elfutils-0.131/src/strip.c
75@@ -50,10 +50,13 @@
76
77 #include <elf-knowledge.h>
78 #include <libebl.h>
79 #include <system.h>
80
81+#if defined(__GNUC_GNU_INLINE__) || defined(__GNUC_STDC_INLINE__)
82+#define inline inline __attribute__ ((gnu_inline))
83+#endif
84
85 /* Name and version of program. */
86 static void print_version (FILE *stream, struct argp_state *state);
87 void (*argp_program_version_hook) (FILE *, struct argp_state *) = print_version;
88
89--- elfutils-0.131.orig/src/unstrip.c
90+++ elfutils-0.131/src/unstrip.c
91@@ -60,10 +60,14 @@
92
93 #ifndef _
94 # define _(str) gettext (str)
95 #endif
96
97+#if defined(__GNUC_GNU_INLINE__) || defined(__GNUC_STDC_INLINE__)
98+#define inline inline __attribute__ ((gnu_inline))
99+#endif
100+
101 /* Name and version of program. */
102 static void print_version (FILE *stream, struct argp_state *state);
103 void (*argp_program_version_hook) (FILE *, struct argp_state *)
104 = print_version;
105
diff --git a/meta/packages/elfutils/elfutils-0.131/warnings.patch b/meta/packages/elfutils/elfutils-0.131/warnings.patch
new file mode 100644
index 0000000000..132e3cf63c
--- /dev/null
+++ b/meta/packages/elfutils/elfutils-0.131/warnings.patch
@@ -0,0 +1,154 @@
1---
2 configure.ac | 4 ++++
3 lib/Makefile.am | 2 +-
4 libasm/Makefile.am | 2 +-
5 libcpu/Makefile.am | 2 +-
6 libdw/Makefile.am | 2 +-
7 libebl/Makefile.am | 2 +-
8 libelf/Makefile.am | 2 +-
9 src/Makefile.am | 2 +-
10 tests/Makefile.am | 4 ++--
11 9 files changed, 13 insertions(+), 9 deletions(-)
12
13--- elfutils-0.131.orig/configure.ac
14+++ elfutils-0.131/configure.ac
15@@ -54,10 +54,14 @@ AC_DEFINE(USE_TLS))
16 AH_TEMPLATE([USE_TLS], [Defined if thread local storage should be used.])
17
18 dnl Add all the languages for which translations are available.
19 ALL_LINGUAS=
20
21+if test X"$CFLAGS" = X; then
22+ CFLAGS="-Wall -g -O2"
23+fi
24+
25 AC_PROG_CC
26 AC_PROG_RANLIB
27 AC_PROG_YACC
28 AM_PROG_LEX
29
30--- elfutils-0.131.orig/lib/Makefile.am
31+++ elfutils-0.131/lib/Makefile.am
32@@ -28,11 +28,11 @@ DEFS = -D_GNU_SOURCE -DHAVE_CONFIG_H
33 if MUDFLAP
34 AM_CFLAGS = -fmudflap
35 else
36 AM_CFLAGS =
37 endif
38-AM_CFLAGS += -fpic -Wall -Wshadow -Werror -Wunused -Wextra $($(*F)_CFLAGS)
39+AM_CFLAGS += -fpic -Wshadow -Wunused $($(*F)_CFLAGS)
40 INCLUDES = -I$(srcdir)/../libelf -I..
41
42 noinst_LIBRARIES = libeu.a
43
44 libeu_a_SOURCES = xstrndup.c xmalloc.c next_prime.c \
45--- elfutils-0.131.orig/libasm/Makefile.am
46+++ elfutils-0.131/libasm/Makefile.am
47@@ -28,11 +28,11 @@ DEFS = -D_GNU_SOURCE -DHAVE_CONFIG_H
48 if MUDFLAP
49 AM_CFLAGS = -fmudflap
50 else
51 AM_CFLAGS =
52 endif
53-AM_CFLAGS += -std=gnu99 -Wall -Wshadow -Werror -Wunused -Wextra -Wformat=2
54+AM_CFLAGS += -std=gnu99 -Wall -Wshadow -Wunused -Wextra -Wformat=2
55 INCLUDES = -I. -I$(srcdir) -I.. \
56 -I$(top_srcdir)/libelf -I$(top_srcdir)/libebl -I$(top_srcdir)/libdw\
57 -I$(top_srcdir)/lib
58 GCC_INCLUDE = -I$(shell $(CC) -print-file-name=include)
59 VERSION = 1
60--- elfutils-0.131.orig/libcpu/Makefile.am
61+++ elfutils-0.131/libcpu/Makefile.am
62@@ -23,11 +23,11 @@
63 ## included package. Should you wish to participate in the Open Invention
64 ## Network licensing program, please visit www.openinventionnetwork.com
65 ## <http://www.openinventionnetwork.com>.
66 ##
67 DEFS = -D_GNU_SOURCE -DHAVE_CONFIG_H
68-AM_CFLAGS = -Wall -Wshadow -Werror -Wextra -Wformat=2 -Wunused
69+AM_CFLAGS = -Wshadow -Wformat=2 -Wunused
70 INCLUDES = -I$(srcdir)
71
72 noinst_LIBRARIES = libcpu_i386.a
73
74 libcpu_i386_a_SOURCES = i386_dis.c
75--- elfutils-0.131.orig/libdw/Makefile.am
76+++ elfutils-0.131/libdw/Makefile.am
77@@ -31,11 +31,11 @@ else
78 AM_CFLAGS =
79 endif
80 if BUILD_STATIC
81 AM_CFLAGS += -fpic
82 endif
83-AM_CFLAGS += -Wall -Werror -Wshadow -Wunused -Wformat=2 -Wextra -std=gnu99
84+AM_CFLAGS += -Wshadow -Wunused -Wformat=2 -std=gnu99
85 INCLUDES = -I. -I$(srcdir) -I$(srcdir)/../libelf -I.. -I$(srcdir)/../lib
86 VERSION = 1
87
88 COMPILE.os = $(filter-out -fprofile-arcs, $(filter-out -ftest-coverage, \
89 $(COMPILE)))
90--- elfutils-0.131.orig/libebl/Makefile.am
91+++ elfutils-0.131/libebl/Makefile.am
92@@ -28,11 +28,11 @@ DEFS = -D_GNU_SOURCE -DHAVE_CONFIG_H -DO
93 if MUDFLAP
94 AM_CFLAGS = -fmudflap
95 else
96 AM_CFLAGS =
97 endif
98-AM_CFLAGS += -fpic -Wall -Wshadow -Werror -Wunused -Wextra -Wformat=2 \
99+AM_CFLAGS += -fpic -Wshadow -Wunused -Wformat=2 \
100 -std=gnu99
101
102 INCLUDES = -I$(srcdir) -I$(top_srcdir)/libelf -I$(top_srcdir)/libdw \
103 -I$(top_srcdir)/lib -I..
104 VERSION = 1
105--- elfutils-0.131.orig/libelf/Makefile.am
106+++ elfutils-0.131/libelf/Makefile.am
107@@ -31,11 +31,11 @@ else
108 AM_CFLAGS =
109 endif
110 if BUILD_STATIC
111 AM_CFLAGS += -fpic
112 endif
113-AM_CFLAGS += -Wall -Wshadow -Werror -Wunused -Wextra -Wformat=2 -std=gnu99 \
114+AM_CFLAGS += -Wshadow -Wunused -Wformat=2 -std=gnu99 \
115 $($(*F)_CFLAGS)
116 INCLUDES = -I$(srcdir) -I$(top_srcdir)/lib -I..
117 GCC_INCLUDE = -I$(shell $(CC) -print-file-name=include)
118 VERSION = 1
119 PACKAGE_VERSION = @PACKAGE_VERSION@
120--- elfutils-0.131.orig/src/Makefile.am
121+++ elfutils-0.131/src/Makefile.am
122@@ -30,11 +30,11 @@ if MUDFLAP
123 AM_CFLAGS = -fmudflap
124 else
125 AM_CFLAGS =
126 endif
127 AM_CFLAGS += -Wall -Wshadow -std=gnu99 $(native_ld_cflags) \
128- $(if $($(*F)_no_Werror),,-Werror) \
129+ $(if $($(*F)_no_Werror),,) \
130 $(if $($(*F)_no_Wunused),,-Wunused -Wextra) \
131 $(if $($(*F)_no_Wformat),,-Wformat=2) $(CFLAGS_$(*F))
132
133 INCLUDES = -I$(srcdir) -I$(srcdir)/../libelf -I$(srcdir)/../libebl \
134 -I$(srcdir)/../libdw -I$(srcdir)/../libdwfl \
135--- elfutils-0.131.orig/tests/Makefile.am
136+++ elfutils-0.131/tests/Makefile.am
137@@ -24,15 +24,15 @@
138 ## Network licensing program, please visit www.openinventionnetwork.com
139 ## <http://www.openinventionnetwork.com>.
140 ##
141 DEFS = -DHAVE_CONFIG_H -D_GNU_SOURCE
142 if MUDFLAP
143-AM_CFLAGS = -Wall -Werror -Wextra -std=gnu99 -fmudflap\
144+AM_CFLAGS = -Wall -Wextra -std=gnu99 -fmudflap\
145 $(if $($(*F)_no_Wformat),-Wno-format,-Wformat=2)
146 BUILD_RPATH = \$$ORIGIN/../backends
147 else
148-AM_CFLAGS = -Wall -Werror -Wextra -std=gnu99 \
149+AM_CFLAGS = -Wall -Wextra -std=gnu99 \
150 $(if $($(*F)_no_Wformat),-Wno-format,-Wformat=2)
151 BUILT_RPATH = \$$ORIGIN/../libasm:\$$ORIGIN/../libdw:\$$ORIGIN/../backends:\$$ORIGIN/../libelf
152 endif
153
154 AM_LDFLAGS =
diff --git a/meta/packages/elfutils/elfutils_0.131.bb b/meta/packages/elfutils/elfutils_0.131.bb
new file mode 100644
index 0000000000..3385ae0c27
--- /dev/null
+++ b/meta/packages/elfutils/elfutils_0.131.bb
@@ -0,0 +1,53 @@
1SECTION = "base"
2LICENSE = "OSL"
3DESCRIPTION = "A collection of utilities and DSOs to handle compiled objects."
4DEPENDS = "libtool"
5
6SRC_URI = "http://distro.ibiblio.org/pub/linux/distributions/gentoo/distfiles/elfutils-${PV}.tar.gz \
7 file://warnings.patch;patch=1 \
8 file://gcc-4.3_support.diff;patch=1 \
9 file://gnu_inline.diff;patch=1"
10
11inherit autotools
12
13# Package binaries that overlap with binutils separately
14PACKAGES =+ "${PN}-binutils"
15FILES_${PN}-binutils = "\
16 ${bindir}/addr2line \
17 ${bindir}/ld \
18 ${bindir}/nm \
19 ${bindir}/readelf \
20 ${bindir}/size \
21 ${bindir}/strip"
22# Fix library issues
23FILES_${PN} =+ "${libdir}/*-${PV}.so"
24
25SOV = "${PV}"
26do_stage () {
27 install -m 0644 libelf/libelf.a ${STAGING_LIBDIR}/libelf.a
28 install -m 0755 libelf/libelf.so.1 ${STAGING_LIBDIR}/libelf-${SOV}.so
29 ln -sf libelf-${SOV}.so ${STAGING_LIBDIR}/libelf.so.1
30 ln -sf libelf.so.1 ${STAGING_LIBDIR}/libelf.so
31 install -m 0644 libasm/libasm.a ${STAGING_LIBDIR}/libasm.a
32 install -m 0755 libasm/libasm.so.1 ${STAGING_LIBDIR}/libasm-${SOV}.so
33 ln -sf libasm-${SOV}.so ${STAGING_LIBDIR}/libasm.so.1
34 ln -sf libasm.so.1 ${STAGING_LIBDIR}/libasm.so
35 install -m 0644 libdw/libdw.a ${STAGING_LIBDIR}/libdw.a
36 install -m 0755 libdw/libdw.so.1 ${STAGING_LIBDIR}/libdw-${SOV}.so
37 ln -sf libdw-${SOV}.so ${STAGING_LIBDIR}/libdw.so.1
38 ln -sf libdw.so.1 ${STAGING_LIBDIR}/libdw.so
39 install -m 0644 libebl/libebl.a ${STAGING_LIBDIR}/libebl.a
40 install -d ${STAGING_LIBDIR}/elfutils/
41 install -m 0755 backends/libebl_*.so ${STAGING_LIBDIR}/elfutils/
42
43 install -m 0644 ${S}/libelf/libelf.h ${STAGING_INCDIR}/
44 install -m 0644 ${S}/libelf/gelf.h ${STAGING_INCDIR}/
45 install -m 0644 ${S}/libelf/nlist.h ${STAGING_INCDIR}/
46 install -d ${STAGING_INCDIR}/elfutils
47 install -m 0644 ${S}/libebl/libebl.h ${STAGING_INCDIR}/elfutils/
48 install -m 0644 ${S}/libdw/libdw.h ${STAGING_INCDIR}/elfutils/
49 install -m 0644 ${S}/libasm/libasm.h ${STAGING_INCDIR}/elfutils/
50}
51
52# The elfutils package contains symlinks that trip up insane
53INSANE_SKIP_elfutils = "1"