mirror of
https://github.com/openwrt/openwrt.git
synced 2025-02-26 11:11:46 +00:00
elfutils: update to 0.179
Removed sys/cdefs usage. The header is deprecated. Removed canonicalize_file_name define. It's already fixed upstream. Added --disable-debuginfod. Seems to be needed. Modified patch 005 to build more stuff. It was failing before. It still only builds libraries. Modified patch 100 to use strerror under non-glibc. It is used under glibc as strerror is not thread safe. It is under musl and uClibc-ng. strerror_l is not available under uClibc-ng. Signed-off-by: Rosen Penev <rosenp@gmail.com>
This commit is contained in:
parent
76d22fc24b
commit
d27623b542
@ -7,12 +7,12 @@
|
|||||||
include $(TOPDIR)/rules.mk
|
include $(TOPDIR)/rules.mk
|
||||||
|
|
||||||
PKG_NAME:=elfutils
|
PKG_NAME:=elfutils
|
||||||
PKG_VERSION:=0.177
|
PKG_VERSION:=0.179
|
||||||
PKG_RELEASE:=2
|
PKG_RELEASE:=1
|
||||||
|
|
||||||
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
|
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
|
||||||
PKG_SOURCE_URL:=https://sourceware.org/$(PKG_NAME)/ftp/$(PKG_VERSION)
|
PKG_SOURCE_URL:=https://sourceware.org/$(PKG_NAME)/ftp/$(PKG_VERSION)
|
||||||
PKG_HASH:=fa489deccbcae7d8c920f60d85906124c1989c591196d90e0fd668e3dc05042e
|
PKG_HASH:=25a545566cbacaa37ae6222e58f1c48ea4570f53ba991886e2f5ce96e22a23a2
|
||||||
|
|
||||||
PKG_MAINTAINER:=Luiz Angelo Daros de Luca <luizluca@gmail.com>
|
PKG_MAINTAINER:=Luiz Angelo Daros de Luca <luizluca@gmail.com>
|
||||||
PKG_LICENSE:=GPL-3.0-or-later
|
PKG_LICENSE:=GPL-3.0-or-later
|
||||||
@ -63,6 +63,7 @@ endif
|
|||||||
|
|
||||||
CONFIGURE_ARGS += \
|
CONFIGURE_ARGS += \
|
||||||
--program-prefix=eu- \
|
--program-prefix=eu- \
|
||||||
|
--disable-debuginfod \
|
||||||
--without-lzma
|
--without-lzma
|
||||||
|
|
||||||
TARGET_CFLAGS += -D_GNU_SOURCE -Wno-unused-result -Wno-format-nonliteral
|
TARGET_CFLAGS += -D_GNU_SOURCE -Wno-unused-result -Wno-format-nonliteral
|
||||||
|
@ -1,52 +1,3 @@
|
|||||||
--- a/libelf/libelfP.h
|
|
||||||
+++ b/libelf/libelfP.h
|
|
||||||
@@ -39,6 +39,9 @@
|
|
||||||
#include <stdio.h>
|
|
||||||
#include <string.h>
|
|
||||||
|
|
||||||
+#ifdef _ /* fix libintl-stub */
|
|
||||||
+#undef _
|
|
||||||
+#endif
|
|
||||||
/* gettext helper macros. */
|
|
||||||
#define _(Str) dgettext ("elfutils", Str)
|
|
||||||
|
|
||||||
--- a/libdw/libdwP.h
|
|
||||||
+++ b/libdw/libdwP.h
|
|
||||||
@@ -35,7 +35,9 @@
|
|
||||||
#include <libdw.h>
|
|
||||||
#include <dwarf.h>
|
|
||||||
|
|
||||||
-
|
|
||||||
+#ifdef _ /* fix libintl-stub */
|
|
||||||
+#undef _
|
|
||||||
+#endif
|
|
||||||
/* gettext helper macros. */
|
|
||||||
#define _(Str) dgettext ("elfutils", Str)
|
|
||||||
|
|
||||||
--- a/libdwfl/libdwflP.h
|
|
||||||
+++ b/libdwfl/libdwflP.h
|
|
||||||
@@ -43,6 +43,9 @@
|
|
||||||
|
|
||||||
typedef struct Dwfl_Process Dwfl_Process;
|
|
||||||
|
|
||||||
+#ifdef _ /* fix libintl-stub */
|
|
||||||
+#undef _
|
|
||||||
+#endif
|
|
||||||
/* gettext helper macros. */
|
|
||||||
#define _(Str) dgettext ("elfutils", Str)
|
|
||||||
|
|
||||||
--- a/libasm/libasmP.h
|
|
||||||
+++ b/libasm/libasmP.h
|
|
||||||
@@ -35,6 +35,9 @@
|
|
||||||
|
|
||||||
#include "libdwelf.h"
|
|
||||||
|
|
||||||
+#ifdef _ /* fix libintl-stub */
|
|
||||||
+#undef _
|
|
||||||
+#endif
|
|
||||||
/* gettext helper macros. */
|
|
||||||
#define _(Str) dgettext ("elfutils", Str)
|
|
||||||
|
|
||||||
--- a/config/libelf.pc.in
|
--- a/config/libelf.pc.in
|
||||||
+++ b/config/libelf.pc.in
|
+++ b/config/libelf.pc.in
|
||||||
@@ -8,7 +8,7 @@ Description: elfutils libelf library to
|
@@ -8,7 +8,7 @@ Description: elfutils libelf library to
|
||||||
@ -60,7 +11,7 @@
|
|||||||
Requires.private: zlib
|
Requires.private: zlib
|
||||||
--- a/configure.ac
|
--- a/configure.ac
|
||||||
+++ b/configure.ac
|
+++ b/configure.ac
|
||||||
@@ -543,6 +543,9 @@ AC_CONFIG_FILES([config/libelf.pc config
|
@@ -586,6 +586,9 @@ AC_CONFIG_FILES([config/libelf.pc config
|
||||||
AC_SUBST(USE_NLS, yes)
|
AC_SUBST(USE_NLS, yes)
|
||||||
AM_PO_SUBDIRS
|
AM_PO_SUBDIRS
|
||||||
|
|
||||||
@ -70,3 +21,51 @@
|
|||||||
dnl Appended to the config.h file.
|
dnl Appended to the config.h file.
|
||||||
dnl We hide all kinds of configuration magic in lib/eu-config.h.
|
dnl We hide all kinds of configuration magic in lib/eu-config.h.
|
||||||
AH_BOTTOM([#include <eu-config.h>])
|
AH_BOTTOM([#include <eu-config.h>])
|
||||||
|
--- a/libasm/libasmP.h
|
||||||
|
+++ b/libasm/libasmP.h
|
||||||
|
@@ -36,6 +36,9 @@
|
||||||
|
|
||||||
|
#include "libdwelf.h"
|
||||||
|
|
||||||
|
+#ifdef _ /* fix libintl-stub */
|
||||||
|
+#undef _
|
||||||
|
+#endif
|
||||||
|
/* gettext helper macros. */
|
||||||
|
#define _(Str) dgettext ("elfutils", Str)
|
||||||
|
|
||||||
|
--- a/libdw/libdwP.h
|
||||||
|
+++ b/libdw/libdwP.h
|
||||||
|
@@ -37,6 +37,9 @@
|
||||||
|
#include <dwarf.h>
|
||||||
|
#include "atomics.h"
|
||||||
|
|
||||||
|
+#ifdef _ /* fix libintl-stub */
|
||||||
|
+#undef _
|
||||||
|
+#endif
|
||||||
|
|
||||||
|
/* gettext helper macros. */
|
||||||
|
#define _(Str) dgettext ("elfutils", Str)
|
||||||
|
--- a/libdwfl/libdwflP.h
|
||||||
|
+++ b/libdwfl/libdwflP.h
|
||||||
|
@@ -44,6 +44,9 @@
|
||||||
|
|
||||||
|
typedef struct Dwfl_Process Dwfl_Process;
|
||||||
|
|
||||||
|
+#ifdef _ /* fix libintl-stub */
|
||||||
|
+#undef _
|
||||||
|
+#endif
|
||||||
|
/* gettext helper macros. */
|
||||||
|
#define _(Str) dgettext ("elfutils", Str)
|
||||||
|
|
||||||
|
--- a/libelf/libelfP.h
|
||||||
|
+++ b/libelf/libelfP.h
|
||||||
|
@@ -39,6 +39,9 @@
|
||||||
|
#include <stdio.h>
|
||||||
|
#include <string.h>
|
||||||
|
|
||||||
|
+#ifdef _ /* fix libintl-stub */
|
||||||
|
+#undef _
|
||||||
|
+#endif
|
||||||
|
/* gettext helper macros. */
|
||||||
|
#define _(Str) dgettext ("elfutils", Str)
|
||||||
|
|
||||||
|
@ -1,12 +1,11 @@
|
|||||||
--- a/Makefile.am
|
--- a/Makefile.am
|
||||||
+++ b/Makefile.am
|
+++ b/Makefile.am
|
||||||
@@ -27,8 +27,7 @@ AM_MAKEFLAGS = --no-print-directory
|
@@ -27,7 +27,7 @@ AM_MAKEFLAGS = --no-print-directory
|
||||||
pkginclude_HEADERS = version.h
|
pkginclude_HEADERS = version.h
|
||||||
|
|
||||||
# Add doc back when we have some real content.
|
SUBDIRS = config m4 lib libelf libcpu backends libebl libdwelf libdwfl libdw \
|
||||||
-SUBDIRS = config m4 lib libelf libebl libdwelf libdwfl libdw libcpu libasm \
|
- libasm src po doc tests
|
||||||
- backends src po tests
|
+ libasm
|
||||||
+SUBDIRS = config m4 lib libelf libebl libdwelf libdwfl libdw libasm
|
|
||||||
|
|
||||||
EXTRA_DIST = elfutils.spec GPG-KEY NOTES CONTRIBUTING \
|
if DEBUGINFOD
|
||||||
COPYING COPYING-GPLV2 COPYING-LGPLV3
|
SUBDIRS += debuginfod
|
||||||
|
@ -22,20 +22,9 @@ https://sourceware.org/bugzilla/show_bug.cgi?id=21002
|
|||||||
#include <stddef.h>
|
#include <stddef.h>
|
||||||
#include <stdint.h>
|
#include <stdint.h>
|
||||||
#include <sys/param.h>
|
#include <sys/param.h>
|
||||||
@@ -38,6 +49,10 @@
|
|
||||||
#include <byteswap.h>
|
|
||||||
#include <unistd.h>
|
|
||||||
|
|
||||||
+#ifndef __GLIBC__
|
|
||||||
+#define canonicalize_file_name(name) realpath(name,NULL)
|
|
||||||
+#endif
|
|
||||||
+
|
|
||||||
#if __BYTE_ORDER == __LITTLE_ENDIAN
|
|
||||||
# define LE32(n) (n)
|
|
||||||
# define LE64(n) (n)
|
|
||||||
--- a/libdw/libdw_alloc.c
|
--- a/libdw/libdw_alloc.c
|
||||||
+++ b/libdw/libdw_alloc.c
|
+++ b/libdw/libdw_alloc.c
|
||||||
@@ -73,5 +73,5 @@ __attribute ((noreturn)) attribute_hidde
|
@@ -147,5 +147,5 @@ __attribute ((noreturn)) attribute_hidde
|
||||||
__libdw_oom (void)
|
__libdw_oom (void)
|
||||||
{
|
{
|
||||||
while (1)
|
while (1)
|
||||||
@ -44,12 +33,15 @@ https://sourceware.org/bugzilla/show_bug.cgi?id=21002
|
|||||||
}
|
}
|
||||||
--- a/libdwfl/dwfl_error.c
|
--- a/libdwfl/dwfl_error.c
|
||||||
+++ b/libdwfl/dwfl_error.c
|
+++ b/libdwfl/dwfl_error.c
|
||||||
@@ -154,7 +154,7 @@ dwfl_errmsg (int error)
|
@@ -154,7 +154,11 @@ dwfl_errmsg (int error)
|
||||||
switch (error &~ 0xffff)
|
switch (error &~ 0xffff)
|
||||||
{
|
{
|
||||||
case OTHER_ERROR (ERRNO):
|
case OTHER_ERROR (ERRNO):
|
||||||
- return strerror_r (error & 0xffff, "bad", 0);
|
+#if defined(__GLIBC__) && !defined(__UCLIBC__)
|
||||||
+ return strerror_l (error & 0xffff, LC_GLOBAL_LOCALE);
|
return strerror_r (error & 0xffff, "bad", 0);
|
||||||
|
+#else
|
||||||
|
+ return strerror (error & 0xffff);
|
||||||
|
+#endif
|
||||||
case OTHER_ERROR (LIBELF):
|
case OTHER_ERROR (LIBELF):
|
||||||
return elf_errmsg (error & 0xffff);
|
return elf_errmsg (error & 0xffff);
|
||||||
case OTHER_ERROR (LIBDW):
|
case OTHER_ERROR (LIBDW):
|
||||||
|
@ -72,7 +72,7 @@
|
|||||||
struct parse_opt *opt = state->hook;
|
struct parse_opt *opt = state->hook;
|
||||||
--- a/libdwfl/Makefile.am
|
--- a/libdwfl/Makefile.am
|
||||||
+++ b/libdwfl/Makefile.am
|
+++ b/libdwfl/Makefile.am
|
||||||
@@ -49,7 +49,7 @@ libdwfl_a_SOURCES = dwfl_begin.c dwfl_en
|
@@ -50,7 +50,7 @@ libdwfl_a_SOURCES = dwfl_begin.c dwfl_en
|
||||||
argp-std.c find-debuginfo.c \
|
argp-std.c find-debuginfo.c \
|
||||||
dwfl_build_id_find_elf.c \
|
dwfl_build_id_find_elf.c \
|
||||||
dwfl_build_id_find_debuginfo.c \
|
dwfl_build_id_find_debuginfo.c \
|
||||||
|
51
package/libs/elfutils/patches/110-no-cdefs.patch
Normal file
51
package/libs/elfutils/patches/110-no-cdefs.patch
Normal file
@ -0,0 +1,51 @@
|
|||||||
|
From e399540ab67ffe83ca3c4cb768a2f0f2f32a9057 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Rosen Penev <rosenp@gmail.com>
|
||||||
|
Date: Sun, 5 Apr 2020 15:56:59 -0700
|
||||||
|
Subject: [PATCH] libelf: remove usage of sys/cdefs
|
||||||
|
|
||||||
|
sys/cdefs is a deprecated glibc header that is unavailable with other
|
||||||
|
libc implementations such as musl.
|
||||||
|
|
||||||
|
features.h under glibc includes sys/cdefs whereas it does not under musl.
|
||||||
|
|
||||||
|
Signed-off-by: Rosen Penev <rosenp@gmail.com>
|
||||||
|
---
|
||||||
|
lib/fixedsizehash.h | 1 -
|
||||||
|
libelf/elf.h | 10 ++++++----
|
||||||
|
2 files changed, 6 insertions(+), 5 deletions(-)
|
||||||
|
|
||||||
|
--- a/lib/fixedsizehash.h
|
||||||
|
+++ b/lib/fixedsizehash.h
|
||||||
|
@@ -30,7 +30,6 @@
|
||||||
|
#include <errno.h>
|
||||||
|
#include <stdlib.h>
|
||||||
|
#include <string.h>
|
||||||
|
-#include <sys/cdefs.h>
|
||||||
|
|
||||||
|
#include <system.h>
|
||||||
|
|
||||||
|
--- a/libelf/elf.h
|
||||||
|
+++ b/libelf/elf.h
|
||||||
|
@@ -19,9 +19,9 @@
|
||||||
|
#ifndef _ELF_H
|
||||||
|
#define _ELF_H 1
|
||||||
|
|
||||||
|
-#include <features.h>
|
||||||
|
-
|
||||||
|
-__BEGIN_DECLS
|
||||||
|
+#ifdef __cplusplus
|
||||||
|
+extern "C" {
|
||||||
|
+#endif
|
||||||
|
|
||||||
|
/* Standard ELF types. */
|
||||||
|
|
||||||
|
@@ -4007,6 +4007,8 @@ enum
|
||||||
|
#define R_NDS32_TLS_TPOFF 102
|
||||||
|
#define R_NDS32_TLS_DESC 119
|
||||||
|
|
||||||
|
-__END_DECLS
|
||||||
|
+#ifdef __cplusplus
|
||||||
|
+}
|
||||||
|
+#endif
|
||||||
|
|
||||||
|
#endif /* elf.h */
|
Loading…
x
Reference in New Issue
Block a user