openwrt/package/libs/elfutils/patches/101-no-fts.patch
Rosen Penev d27623b542 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>
2020-04-13 22:40:19 +02:00

84 lines
2.7 KiB
Diff

--- a/libdwfl/argp-std.c
+++ b/libdwfl/argp-std.c
@@ -56,9 +56,6 @@ static const struct argp_option options[
{ "linux-process-map", 'M', "FILE", 0,
N_("Find addresses in files mapped as read from FILE"
" in Linux /proc/PID/maps format"), 0 },
- { "kernel", 'k', NULL, 0, N_("Find addresses in the running kernel"), 0 },
- { "offline-kernel", 'K', "RELEASE", OPTION_ARG_OPTIONAL,
- N_("Kernel with all modules"), 0 },
{ "debuginfo-path", OPT_DEBUGINFO, "PATH", 0,
N_("Search path for separate debuginfo files"), 0 },
{ NULL, 0, NULL, 0, NULL, 0 }
@@ -85,15 +82,6 @@ static const Dwfl_Callbacks proc_callbac
.find_elf = INTUSE(dwfl_linux_proc_find_elf),
};
-static const Dwfl_Callbacks kernel_callbacks =
- {
- .find_debuginfo = INTUSE(dwfl_standard_find_debuginfo),
- .debuginfo_path = &debuginfo_path,
-
- .find_elf = INTUSE(dwfl_linux_kernel_find_elf),
- .section_address = INTUSE(dwfl_linux_kernel_module_section_address),
- };
-
/* Structure held at state->HOOK. */
struct parse_opt
{
@@ -226,43 +214,6 @@ parse_opt (int key, char *arg, struct ar
}
break;
- case 'k':
- {
- struct parse_opt *opt = state->hook;
- if (opt->dwfl == NULL)
- {
- Dwfl *dwfl = INTUSE(dwfl_begin) (&kernel_callbacks);
- int result = INTUSE(dwfl_linux_kernel_report_kernel) (dwfl);
- if (result != 0)
- return fail (dwfl, result, _("cannot load kernel symbols"), state);
- result = INTUSE(dwfl_linux_kernel_report_modules) (dwfl);
- if (result != 0)
- /* Non-fatal to have no modules since we do have the kernel. */
- argp_failure (state, 0, result, _("cannot find kernel modules"));
- opt->dwfl = dwfl;
- }
- else
- goto toomany;
- }
- break;
-
- case 'K':
- {
- struct parse_opt *opt = state->hook;
- if (opt->dwfl == NULL)
- {
- Dwfl *dwfl = INTUSE(dwfl_begin) (&offline_callbacks);
- int result = INTUSE(dwfl_linux_kernel_report_offline) (dwfl, arg,
- NULL);
- if (result != 0)
- return fail (dwfl, result, _("cannot find kernel or modules"), state);
- opt->dwfl = dwfl;
- }
- else
- goto toomany;
- }
- break;
-
case ARGP_KEY_SUCCESS:
{
struct parse_opt *opt = state->hook;
--- a/libdwfl/Makefile.am
+++ b/libdwfl/Makefile.am
@@ -50,7 +50,7 @@ libdwfl_a_SOURCES = dwfl_begin.c dwfl_en
argp-std.c find-debuginfo.c \
dwfl_build_id_find_elf.c \
dwfl_build_id_find_debuginfo.c \
- linux-kernel-modules.c linux-proc-maps.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 \