#
# Copyright (C) 2010-2014 OpenWrt.org
+# Copyright (C) 2016 Luiz Angelo Daros de Luca <luizluca@gmail.com>
#
# This is free software, licensed under the GNU General Public License v2.
# See /LICENSE for more information.
include $(TOPDIR)/rules.mk
PKG_NAME:=elfutils
-PKG_VERSION:=0.165
+PKG_VERSION:=0.167
PKG_RELEASE:=1
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
PKG_SOURCE_URL:=http://fedorahosted.org/releases/e/l/$(PKG_NAME)/$(PKG_VERSION)
-PKG_MD5SUM:=c37fdbe18e848002b451562cba964679
+PKG_MD5SUM:=efc6c2067dfad5646777e93e85222e8f
PKG_MAINTAINER:=Luiz Angelo Daros de Luca <luizluca@gmail.com>
PKG_LICENSE:=GPL-3.0+
PKG_LICENSE_FILES:=COPYING COPYING-GPLV2 COPYING-LGPLV3
define Package/libasm
$(call Package/elfutils/Default)
TITLE+= (libasm)
- DEPENDS:=libelf1
+ DEPENDS:=libelf1 +libdw
endef
define Package/libdw
--- a/libasm/libasmP.h
+++ b/libasm/libasmP.h
-@@ -33,6 +33,9 @@
+@@ -35,6 +35,9 @@
- #include <libasm.h>
+ #include "libdwelf.h"
+#ifdef _ /* fix libintl-stub */
+#undef _
--- a/libelf/libelf.h
+++ b/libelf/libelf.h
-@@ -35,6 +35,11 @@
- /* Get the ELF types. */
- #include <elf.h>
+@@ -108,6 +108,11 @@ typedef struct
+ size_t d_align; /* Alignment in section. */
+ } Elf_Data;
+#ifndef _LIBC
+#ifndef __mempcpy
+#endif
+#endif
- /* Known translation types. */
+ /* Commands for `...'. */
typedef enum
--- a/Makefile.in
+++ b/Makefile.in
-@@ -378,8 +378,7 @@ AM_MAKEFLAGS = --no-print-directory
+@@ -377,8 +377,7 @@ AM_MAKEFLAGS = --no-print-directory
pkginclude_HEADERS = version.h
# Add doc back when we have some real content.
--- a/libdw/Makefile.in
+++ b/libdw/Makefile.in
-@@ -996,7 +996,7 @@ libdw.so$(EXEEXT): $(srcdir)/libdw.map l
+@@ -1002,7 +1002,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\
#include <fcntl.h>
#include <gelf.h>
#include <libdw.h>
---- a/src/i386_ld.c
-+++ b/src/i386_ld.c
-@@ -20,7 +20,7 @@
- #endif
-
- #include <assert.h>
--#include <error.h>
-+#include <err.h>
- #include <libintl.h>
- #include <stdlib.h>
- #include <string.h>
---- a/src/ld.c
-+++ b/src/ld.c
-@@ -21,7 +21,7 @@
-
- #include <argp.h>
- #include <assert.h>
--#include <error.h>
-+#include <err.h>
- #include <fcntl.h>
- #include <libelf.h>
- #include <libintl.h>
---- a/src/ldgeneric.c
-+++ b/src/ldgeneric.c
-@@ -23,7 +23,7 @@
- #include <ctype.h>
- #include <dlfcn.h>
- #include <errno.h>
--#include <error.h>
-+#include <err.h>
- #include <fcntl.h>
- #include <fnmatch.h>
- #include <gelf.h>
---- a/src/ldlex.c
-+++ b/src/ldlex.c
-@@ -1106,7 +1106,7 @@ char *ldtext;
- #include <assert.h>
- #include <ctype.h>
- #include <elf.h>
--#include <error.h>
-+#include <err.h>
- #include <inttypes.h>
- #include <libintl.h>
- #include <stdbool.h>
---- a/src/ldscript.c
-+++ b/src/ldscript.c
-@@ -95,7 +95,7 @@
- #endif
-
- #include <assert.h>
--#include <error.h>
-+#include <err.h>
- #include <libintl.h>
- #include <stdbool.h>
- #include <stdint.h>
-@@ -106,7 +106,7 @@
- #include <system.h>
- #include <ld.h>
-
--/* The error handler. */
-+/* The err.handler. */
- static void yyerror (const char *s);
-
- /* Some helper functions we need to construct the data structures
--- a/src/nm.c
+++ b/src/nm.c
@@ -26,7 +26,7 @@
+#include <err.h>
#include <unistd.h>
#include <dwarf.h>
- #include <sys/resource.h>
+
--- a/tests/dwfl-bug-getmodules.c
+++ b/tests/dwfl-bug-getmodules.c
@@ -18,7 +18,7 @@
#include <libelfP.h>
#include <dwarf.h>
#include <stdlib.h>
---- a/src/ldlex.l
-+++ b/src/ldlex.l
-@@ -23,7 +23,7 @@
- #include <assert.h>
- #include <ctype.h>
- #include <elf.h>
--#include <error.h>
-+#include <err.h>
- #include <inttypes.h>
- #include <libintl.h>
- #include <stdbool.h>
---- a/libebl/eblwstrtab.c
-+++ b/libebl/eblwstrtab.c
-@@ -305,7 +305,7 @@ copystrings (struct Ebl_WStrent *nodep,
-
- /* Process the current node. */
- nodep->offset = *offsetp;
-- *freep = wmempcpy (*freep, nodep->string, nodep->len);
-+ *freep = wmemcpy (*freep, nodep->string, nodep->len) + nodep->len;
- *offsetp += nodep->len * sizeof (wchar_t);
-
- for (subs = nodep->next; subs != NULL; subs = subs->next)
--- a/libdwfl/dwfl_error.c
+++ b/libdwfl/dwfl_error.c
@@ -140,6 +140,7 @@ __libdwfl_seterrno (Dwfl_Error error)
typedef struct Dwfl Dwfl;
--- a/libdwfl/find-debuginfo.c
+++ b/libdwfl/find-debuginfo.c
-@@ -372,7 +372,7 @@ dwfl_standard_find_debuginfo (Dwfl_Modul
+@@ -385,7 +385,7 @@ dwfl_standard_find_debuginfo (Dwfl_Modul
/* If FILE_NAME is a symlink, the debug file might be associated
with the symlink target name instead. */
dwfl_addrmodule.$(OBJEXT) dwfl_addrdwarf.$(OBJEXT) \
cu.$(OBJEXT) dwfl_module_nextcu.$(OBJEXT) \
dwfl_nextcu.$(OBJEXT) dwfl_cumodule.$(OBJEXT) \
-@@ -425,7 +425,7 @@ libdwfl_a_SOURCES = dwfl_begin.c dwfl_en
+@@ -432,7 +432,7 @@ libdwfl_a_SOURCES = dwfl_begin.c dwfl_en
dwfl_getmodules.c dwfl_getdwarf.c dwfl_module_getdwarf.c \
dwfl_module_getelf.c dwfl_validate_address.c argp-std.c \
find-debuginfo.c dwfl_build_id_find_elf.c \
linux-proc-maps.c dwfl_addrmodule.c dwfl_addrdwarf.c cu.c \
dwfl_module_nextcu.c dwfl_nextcu.c dwfl_cumodule.c \
dwfl_module_addrdie.c dwfl_addrdie.c lines.c dwfl_lineinfo.c \
-@@ -562,7 +562,6 @@ distclean-compile:
+@@ -569,7 +569,6 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lines.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/link_map.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/linux-core-attach.Po@am__quote@
+++ /dev/null
---- a/libelf/libelf.h
-+++ b/libelf/libelf.h
-@@ -36,6 +36,30 @@
- /* Get the ELF types. */
- #include <elf.h>
-
-+#ifndef ELFCOMPRESS_ZLIB
-+typedef struct
-+{
-+ Elf32_Word ch_type; /* Compression format. */
-+ Elf32_Word ch_size; /* Uncompressed data size. */
-+ Elf32_Word ch_addralign; /* Uncompressed data alignment. */
-+} Elf32_Chdr;
-+
-+typedef struct
-+{
-+ Elf64_Word ch_type; /* Compression format. */
-+ Elf64_Word ch_reserved;
-+ Elf64_Xword ch_size; /* Uncompressed data size. */
-+ Elf64_Xword ch_addralign; /* Uncompressed data alignment. */
-+} Elf64_Chdr;
-+
-+/* Legal values for ch_type (compression algorithm). */
-+#define ELFCOMPRESS_ZLIB 1 /* ZLIB/DEFLATE algorithm. */
-+#define ELFCOMPRESS_LOOS 0x60000000 /* Start of OS-specific. */
-+#define ELFCOMPRESS_HIOS 0x6fffffff /* End of OS-specific. */
-+#define ELFCOMPRESS_LOPROC 0x70000000 /* Start of processor-specific. */
-+#define ELFCOMPRESS_HIPROC 0x7fffffff /* End of processor-specific. */
-+#endif
-+
- #ifndef _LIBC
- #ifndef __mempcpy
- #define __mempcpy mempcpy