mirror of
https://git.yoctoproject.org/poky
synced 2026-05-09 05:29:32 +00:00
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
This commit is contained in:
@@ -0,0 +1,100 @@
|
||||
Index: elfutils-0.131/libelf/common.h
|
||||
===================================================================
|
||||
--- elfutils-0.131.orig/libelf/common.h 2008-04-02 13:32:19.000000000 -0300
|
||||
+++ elfutils-0.131/libelf/common.h 2008-04-02 13:35:53.000000000 -0300
|
||||
@@ -110,45 +110,6 @@
|
||||
}
|
||||
|
||||
|
||||
-/* Acquire lock for the descriptor and all children. */
|
||||
-static void
|
||||
-libelf_acquire_all (Elf *elf)
|
||||
-{
|
||||
- rwlock_wrlock (elf->lock);
|
||||
-
|
||||
- if (elf->kind == ELF_K_AR)
|
||||
- {
|
||||
- Elf *child = elf->state.ar.children;
|
||||
-
|
||||
- while (child != NULL)
|
||||
- {
|
||||
- if (child->ref_count != 0)
|
||||
- libelf_acquire_all (child);
|
||||
- child = child->next;
|
||||
- }
|
||||
- }
|
||||
-}
|
||||
-
|
||||
-/* Release own lock and those of the children. */
|
||||
-static void
|
||||
-libelf_release_all (Elf *elf)
|
||||
-{
|
||||
- if (elf->kind == ELF_K_AR)
|
||||
- {
|
||||
- Elf *child = elf->state.ar.children;
|
||||
-
|
||||
- while (child != NULL)
|
||||
- {
|
||||
- if (child->ref_count != 0)
|
||||
- libelf_release_all (child);
|
||||
- child = child->next;
|
||||
- }
|
||||
- }
|
||||
-
|
||||
- rwlock_unlock (elf->lock);
|
||||
-}
|
||||
-
|
||||
-
|
||||
/* Macro to convert endianess in place. It determines the function it
|
||||
has to use itself. */
|
||||
#define CONVERT(Var) \
|
||||
Index: elfutils-0.131/libelf/elf_readall.c
|
||||
===================================================================
|
||||
--- elfutils-0.131.orig/libelf/elf_readall.c 2008-04-02 13:36:06.000000000 -0300
|
||||
+++ elfutils-0.131/libelf/elf_readall.c 2008-04-02 13:38:25.000000000 -0300
|
||||
@@ -60,6 +60,45 @@
|
||||
#include "common.h"
|
||||
|
||||
|
||||
+/* Acquire lock for the descriptor and all children. */
|
||||
+static void
|
||||
+libelf_acquire_all (Elf *elf)
|
||||
+{
|
||||
+ rwlock_wrlock (elf->lock);
|
||||
+
|
||||
+ if (elf->kind == ELF_K_AR)
|
||||
+ {
|
||||
+ Elf *child = elf->state.ar.children;
|
||||
+
|
||||
+ while (child != NULL)
|
||||
+ {
|
||||
+ if (child->ref_count != 0)
|
||||
+ libelf_acquire_all (child);
|
||||
+ child = child->next;
|
||||
+ }
|
||||
+ }
|
||||
+}
|
||||
+
|
||||
+/* Release own lock and those of the children. */
|
||||
+static void
|
||||
+libelf_release_all (Elf *elf)
|
||||
+{
|
||||
+ if (elf->kind == ELF_K_AR)
|
||||
+ {
|
||||
+ Elf *child = elf->state.ar.children;
|
||||
+
|
||||
+ while (child != NULL)
|
||||
+ {
|
||||
+ if (child->ref_count != 0)
|
||||
+ libelf_release_all (child);
|
||||
+ child = child->next;
|
||||
+ }
|
||||
+ }
|
||||
+
|
||||
+ rwlock_unlock (elf->lock);
|
||||
+}
|
||||
+
|
||||
+
|
||||
static void
|
||||
set_address (Elf *elf, size_t offset)
|
||||
{
|
||||
@@ -0,0 +1,105 @@
|
||||
---
|
||||
backends/ia64_retval.c | 3 +++
|
||||
libdw/libdw.h | 2 +-
|
||||
libdw/libdwP.h | 3 +++
|
||||
src/ld.h | 3 +++
|
||||
src/strip.c | 3 +++
|
||||
src/unstrip.c | 4 ++++
|
||||
6 files changed, 17 insertions(+), 1 deletion(-)
|
||||
|
||||
--- elfutils-0.131.orig/backends/ia64_retval.c
|
||||
+++ elfutils-0.131/backends/ia64_retval.c
|
||||
@@ -31,10 +31,13 @@
|
||||
#include <dwarf.h>
|
||||
|
||||
#define BACKEND ia64_
|
||||
#include "libebl_CPU.h"
|
||||
|
||||
+#if defined(__GNUC_GNU_INLINE__) || defined(__GNUC_STDC_INLINE__)
|
||||
+#define inline inline __attribute__ ((gnu_inline))
|
||||
+#endif
|
||||
|
||||
/* r8, or pair r8, r9, or aggregate up to r8-r11. */
|
||||
static const Dwarf_Op loc_intreg[] =
|
||||
{
|
||||
{ .atom = DW_OP_reg8 }, { .atom = DW_OP_piece, .number = 8 },
|
||||
--- elfutils-0.131.orig/libdw/libdw.h
|
||||
+++ elfutils-0.131/libdw/libdw.h
|
||||
@@ -62,11 +62,11 @@
|
||||
# define __nonnull_attribute__(args...)
|
||||
# define __deprecated_attribute__
|
||||
#endif
|
||||
|
||||
|
||||
-#ifdef __GNUC_STDC_INLINE__
|
||||
+#if defined(__GNUC_GNU_INLINE__) || defined(__GNUC_STDC_INLINE__)
|
||||
# define __libdw_extern_inline extern __inline __attribute__ ((__gnu_inline__))
|
||||
#else
|
||||
# define __libdw_extern_inline extern __inline
|
||||
#endif
|
||||
|
||||
--- elfutils-0.131.orig/libdw/libdwP.h
|
||||
+++ elfutils-0.131/libdw/libdwP.h
|
||||
@@ -54,10 +54,13 @@
|
||||
#include <libintl.h>
|
||||
#include <stdbool.h>
|
||||
|
||||
#include <libdw.h>
|
||||
|
||||
+#if defined(__GNUC_GNU_INLINE__) || defined(__GNUC_STDC_INLINE__)
|
||||
+#define inline inline __attribute__ ((gnu_inline))
|
||||
+#endif
|
||||
|
||||
/* gettext helper macros. */
|
||||
#define _(Str) dgettext ("elfutils", Str)
|
||||
|
||||
|
||||
--- elfutils-0.131.orig/src/ld.h
|
||||
+++ elfutils-0.131/src/ld.h
|
||||
@@ -30,10 +30,13 @@
|
||||
#include <obstack.h>
|
||||
#include <stdbool.h>
|
||||
#include <stdio.h>
|
||||
#include "xelf.h"
|
||||
|
||||
+#if defined(__GNUC_GNU_INLINE__) || defined(__GNUC_STDC_INLINE__)
|
||||
+#define inline inline __attribute__ ((gnu_inline))
|
||||
+#endif
|
||||
|
||||
/* Recommended size of the buffer passed to ld_strerror. */
|
||||
#define ERRBUFSIZE (512)
|
||||
|
||||
/* Character used to introduce version name after symbol. */
|
||||
--- elfutils-0.131.orig/src/strip.c
|
||||
+++ elfutils-0.131/src/strip.c
|
||||
@@ -50,10 +50,13 @@
|
||||
|
||||
#include <elf-knowledge.h>
|
||||
#include <libebl.h>
|
||||
#include <system.h>
|
||||
|
||||
+#if defined(__GNUC_GNU_INLINE__) || defined(__GNUC_STDC_INLINE__)
|
||||
+#define inline inline __attribute__ ((gnu_inline))
|
||||
+#endif
|
||||
|
||||
/* Name and version of program. */
|
||||
static void print_version (FILE *stream, struct argp_state *state);
|
||||
void (*argp_program_version_hook) (FILE *, struct argp_state *) = print_version;
|
||||
|
||||
--- elfutils-0.131.orig/src/unstrip.c
|
||||
+++ elfutils-0.131/src/unstrip.c
|
||||
@@ -60,10 +60,14 @@
|
||||
|
||||
#ifndef _
|
||||
# define _(str) gettext (str)
|
||||
#endif
|
||||
|
||||
+#if defined(__GNUC_GNU_INLINE__) || defined(__GNUC_STDC_INLINE__)
|
||||
+#define inline inline __attribute__ ((gnu_inline))
|
||||
+#endif
|
||||
+
|
||||
/* Name and version of program. */
|
||||
static void print_version (FILE *stream, struct argp_state *state);
|
||||
void (*argp_program_version_hook) (FILE *, struct argp_state *)
|
||||
= print_version;
|
||||
|
||||
@@ -0,0 +1,154 @@
|
||||
---
|
||||
configure.ac | 4 ++++
|
||||
lib/Makefile.am | 2 +-
|
||||
libasm/Makefile.am | 2 +-
|
||||
libcpu/Makefile.am | 2 +-
|
||||
libdw/Makefile.am | 2 +-
|
||||
libebl/Makefile.am | 2 +-
|
||||
libelf/Makefile.am | 2 +-
|
||||
src/Makefile.am | 2 +-
|
||||
tests/Makefile.am | 4 ++--
|
||||
9 files changed, 13 insertions(+), 9 deletions(-)
|
||||
|
||||
--- elfutils-0.131.orig/configure.ac
|
||||
+++ elfutils-0.131/configure.ac
|
||||
@@ -54,10 +54,14 @@ AC_DEFINE(USE_TLS))
|
||||
AH_TEMPLATE([USE_TLS], [Defined if thread local storage should be used.])
|
||||
|
||||
dnl Add all the languages for which translations are available.
|
||||
ALL_LINGUAS=
|
||||
|
||||
+if test X"$CFLAGS" = X; then
|
||||
+ CFLAGS="-Wall -g -O2"
|
||||
+fi
|
||||
+
|
||||
AC_PROG_CC
|
||||
AC_PROG_RANLIB
|
||||
AC_PROG_YACC
|
||||
AM_PROG_LEX
|
||||
|
||||
--- elfutils-0.131.orig/lib/Makefile.am
|
||||
+++ elfutils-0.131/lib/Makefile.am
|
||||
@@ -28,11 +28,11 @@ DEFS = -D_GNU_SOURCE -DHAVE_CONFIG_H
|
||||
if MUDFLAP
|
||||
AM_CFLAGS = -fmudflap
|
||||
else
|
||||
AM_CFLAGS =
|
||||
endif
|
||||
-AM_CFLAGS += -fpic -Wall -Wshadow -Werror -Wunused -Wextra $($(*F)_CFLAGS)
|
||||
+AM_CFLAGS += -fpic -Wshadow -Wunused $($(*F)_CFLAGS)
|
||||
INCLUDES = -I$(srcdir)/../libelf -I..
|
||||
|
||||
noinst_LIBRARIES = libeu.a
|
||||
|
||||
libeu_a_SOURCES = xstrndup.c xmalloc.c next_prime.c \
|
||||
--- elfutils-0.131.orig/libasm/Makefile.am
|
||||
+++ elfutils-0.131/libasm/Makefile.am
|
||||
@@ -28,11 +28,11 @@ DEFS = -D_GNU_SOURCE -DHAVE_CONFIG_H
|
||||
if MUDFLAP
|
||||
AM_CFLAGS = -fmudflap
|
||||
else
|
||||
AM_CFLAGS =
|
||||
endif
|
||||
-AM_CFLAGS += -std=gnu99 -Wall -Wshadow -Werror -Wunused -Wextra -Wformat=2
|
||||
+AM_CFLAGS += -std=gnu99 -Wall -Wshadow -Wunused -Wextra -Wformat=2
|
||||
INCLUDES = -I. -I$(srcdir) -I.. \
|
||||
-I$(top_srcdir)/libelf -I$(top_srcdir)/libebl -I$(top_srcdir)/libdw\
|
||||
-I$(top_srcdir)/lib
|
||||
GCC_INCLUDE = -I$(shell $(CC) -print-file-name=include)
|
||||
VERSION = 1
|
||||
--- elfutils-0.131.orig/libcpu/Makefile.am
|
||||
+++ elfutils-0.131/libcpu/Makefile.am
|
||||
@@ -23,11 +23,11 @@
|
||||
## included package. Should you wish to participate in the Open Invention
|
||||
## Network licensing program, please visit www.openinventionnetwork.com
|
||||
## <http://www.openinventionnetwork.com>.
|
||||
##
|
||||
DEFS = -D_GNU_SOURCE -DHAVE_CONFIG_H
|
||||
-AM_CFLAGS = -Wall -Wshadow -Werror -Wextra -Wformat=2 -Wunused
|
||||
+AM_CFLAGS = -Wshadow -Wformat=2 -Wunused
|
||||
INCLUDES = -I$(srcdir)
|
||||
|
||||
noinst_LIBRARIES = libcpu_i386.a
|
||||
|
||||
libcpu_i386_a_SOURCES = i386_dis.c
|
||||
--- elfutils-0.131.orig/libdw/Makefile.am
|
||||
+++ elfutils-0.131/libdw/Makefile.am
|
||||
@@ -31,11 +31,11 @@ else
|
||||
AM_CFLAGS =
|
||||
endif
|
||||
if BUILD_STATIC
|
||||
AM_CFLAGS += -fpic
|
||||
endif
|
||||
-AM_CFLAGS += -Wall -Werror -Wshadow -Wunused -Wformat=2 -Wextra -std=gnu99
|
||||
+AM_CFLAGS += -Wshadow -Wunused -Wformat=2 -std=gnu99
|
||||
INCLUDES = -I. -I$(srcdir) -I$(srcdir)/../libelf -I.. -I$(srcdir)/../lib
|
||||
VERSION = 1
|
||||
|
||||
COMPILE.os = $(filter-out -fprofile-arcs, $(filter-out -ftest-coverage, \
|
||||
$(COMPILE)))
|
||||
--- elfutils-0.131.orig/libebl/Makefile.am
|
||||
+++ elfutils-0.131/libebl/Makefile.am
|
||||
@@ -28,11 +28,11 @@ DEFS = -D_GNU_SOURCE -DHAVE_CONFIG_H -DO
|
||||
if MUDFLAP
|
||||
AM_CFLAGS = -fmudflap
|
||||
else
|
||||
AM_CFLAGS =
|
||||
endif
|
||||
-AM_CFLAGS += -fpic -Wall -Wshadow -Werror -Wunused -Wextra -Wformat=2 \
|
||||
+AM_CFLAGS += -fpic -Wshadow -Wunused -Wformat=2 \
|
||||
-std=gnu99
|
||||
|
||||
INCLUDES = -I$(srcdir) -I$(top_srcdir)/libelf -I$(top_srcdir)/libdw \
|
||||
-I$(top_srcdir)/lib -I..
|
||||
VERSION = 1
|
||||
--- elfutils-0.131.orig/libelf/Makefile.am
|
||||
+++ elfutils-0.131/libelf/Makefile.am
|
||||
@@ -31,11 +31,11 @@ else
|
||||
AM_CFLAGS =
|
||||
endif
|
||||
if BUILD_STATIC
|
||||
AM_CFLAGS += -fpic
|
||||
endif
|
||||
-AM_CFLAGS += -Wall -Wshadow -Werror -Wunused -Wextra -Wformat=2 -std=gnu99 \
|
||||
+AM_CFLAGS += -Wshadow -Wunused -Wformat=2 -std=gnu99 \
|
||||
$($(*F)_CFLAGS)
|
||||
INCLUDES = -I$(srcdir) -I$(top_srcdir)/lib -I..
|
||||
GCC_INCLUDE = -I$(shell $(CC) -print-file-name=include)
|
||||
VERSION = 1
|
||||
PACKAGE_VERSION = @PACKAGE_VERSION@
|
||||
--- elfutils-0.131.orig/src/Makefile.am
|
||||
+++ elfutils-0.131/src/Makefile.am
|
||||
@@ -30,11 +30,11 @@ if MUDFLAP
|
||||
AM_CFLAGS = -fmudflap
|
||||
else
|
||||
AM_CFLAGS =
|
||||
endif
|
||||
AM_CFLAGS += -Wall -Wshadow -std=gnu99 $(native_ld_cflags) \
|
||||
- $(if $($(*F)_no_Werror),,-Werror) \
|
||||
+ $(if $($(*F)_no_Werror),,) \
|
||||
$(if $($(*F)_no_Wunused),,-Wunused -Wextra) \
|
||||
$(if $($(*F)_no_Wformat),,-Wformat=2) $(CFLAGS_$(*F))
|
||||
|
||||
INCLUDES = -I$(srcdir) -I$(srcdir)/../libelf -I$(srcdir)/../libebl \
|
||||
-I$(srcdir)/../libdw -I$(srcdir)/../libdwfl \
|
||||
--- elfutils-0.131.orig/tests/Makefile.am
|
||||
+++ elfutils-0.131/tests/Makefile.am
|
||||
@@ -24,15 +24,15 @@
|
||||
## Network licensing program, please visit www.openinventionnetwork.com
|
||||
## <http://www.openinventionnetwork.com>.
|
||||
##
|
||||
DEFS = -DHAVE_CONFIG_H -D_GNU_SOURCE
|
||||
if MUDFLAP
|
||||
-AM_CFLAGS = -Wall -Werror -Wextra -std=gnu99 -fmudflap\
|
||||
+AM_CFLAGS = -Wall -Wextra -std=gnu99 -fmudflap\
|
||||
$(if $($(*F)_no_Wformat),-Wno-format,-Wformat=2)
|
||||
BUILD_RPATH = \$$ORIGIN/../backends
|
||||
else
|
||||
-AM_CFLAGS = -Wall -Werror -Wextra -std=gnu99 \
|
||||
+AM_CFLAGS = -Wall -Wextra -std=gnu99 \
|
||||
$(if $($(*F)_no_Wformat),-Wno-format,-Wformat=2)
|
||||
BUILT_RPATH = \$$ORIGIN/../libasm:\$$ORIGIN/../libdw:\$$ORIGIN/../backends:\$$ORIGIN/../libelf
|
||||
endif
|
||||
|
||||
AM_LDFLAGS =
|
||||
@@ -0,0 +1,53 @@
|
||||
SECTION = "base"
|
||||
LICENSE = "OSL"
|
||||
DESCRIPTION = "A collection of utilities and DSOs to handle compiled objects."
|
||||
DEPENDS = "libtool"
|
||||
|
||||
SRC_URI = "http://distro.ibiblio.org/pub/linux/distributions/gentoo/distfiles/elfutils-${PV}.tar.gz \
|
||||
file://warnings.patch;patch=1 \
|
||||
file://gcc-4.3_support.diff;patch=1 \
|
||||
file://gnu_inline.diff;patch=1"
|
||||
|
||||
inherit autotools
|
||||
|
||||
# Package binaries that overlap with binutils separately
|
||||
PACKAGES =+ "${PN}-binutils"
|
||||
FILES_${PN}-binutils = "\
|
||||
${bindir}/addr2line \
|
||||
${bindir}/ld \
|
||||
${bindir}/nm \
|
||||
${bindir}/readelf \
|
||||
${bindir}/size \
|
||||
${bindir}/strip"
|
||||
# Fix library issues
|
||||
FILES_${PN} =+ "${libdir}/*-${PV}.so"
|
||||
|
||||
SOV = "${PV}"
|
||||
do_stage () {
|
||||
install -m 0644 libelf/libelf.a ${STAGING_LIBDIR}/libelf.a
|
||||
install -m 0755 libelf/libelf.so.1 ${STAGING_LIBDIR}/libelf-${SOV}.so
|
||||
ln -sf libelf-${SOV}.so ${STAGING_LIBDIR}/libelf.so.1
|
||||
ln -sf libelf.so.1 ${STAGING_LIBDIR}/libelf.so
|
||||
install -m 0644 libasm/libasm.a ${STAGING_LIBDIR}/libasm.a
|
||||
install -m 0755 libasm/libasm.so.1 ${STAGING_LIBDIR}/libasm-${SOV}.so
|
||||
ln -sf libasm-${SOV}.so ${STAGING_LIBDIR}/libasm.so.1
|
||||
ln -sf libasm.so.1 ${STAGING_LIBDIR}/libasm.so
|
||||
install -m 0644 libdw/libdw.a ${STAGING_LIBDIR}/libdw.a
|
||||
install -m 0755 libdw/libdw.so.1 ${STAGING_LIBDIR}/libdw-${SOV}.so
|
||||
ln -sf libdw-${SOV}.so ${STAGING_LIBDIR}/libdw.so.1
|
||||
ln -sf libdw.so.1 ${STAGING_LIBDIR}/libdw.so
|
||||
install -m 0644 libebl/libebl.a ${STAGING_LIBDIR}/libebl.a
|
||||
install -d ${STAGING_LIBDIR}/elfutils/
|
||||
install -m 0755 backends/libebl_*.so ${STAGING_LIBDIR}/elfutils/
|
||||
|
||||
install -m 0644 ${S}/libelf/libelf.h ${STAGING_INCDIR}/
|
||||
install -m 0644 ${S}/libelf/gelf.h ${STAGING_INCDIR}/
|
||||
install -m 0644 ${S}/libelf/nlist.h ${STAGING_INCDIR}/
|
||||
install -d ${STAGING_INCDIR}/elfutils
|
||||
install -m 0644 ${S}/libebl/libebl.h ${STAGING_INCDIR}/elfutils/
|
||||
install -m 0644 ${S}/libdw/libdw.h ${STAGING_INCDIR}/elfutils/
|
||||
install -m 0644 ${S}/libasm/libasm.h ${STAGING_INCDIR}/elfutils/
|
||||
}
|
||||
|
||||
# The elfutils package contains symlinks that trip up insane
|
||||
INSANE_SKIP_elfutils = "1"
|
||||
Reference in New Issue
Block a user