elfutils: import package from packages.git
[openwrt.git] / package / libs / elfutils / patches / 101-no-fts.patch
diff --git a/package/libs/elfutils/patches/101-no-fts.patch b/package/libs/elfutils/patches/101-no-fts.patch
new file mode 100644 (file)
index 0000000..9dd7ee2
--- /dev/null
@@ -0,0 +1,109 @@
+--- a/libdwfl/argp-std.c
++++ b/libdwfl/argp-std.c
+@@ -52,9 +52,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 }
+@@ -81,15 +78,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
+ {
+@@ -219,43 +207,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"));
+-          result = INTUSE(dwfl_linux_kernel_report_modules) (dwfl);
+-          if (result != 0)
+-            /* Non-fatal to have no modules since we do have the kernel.  */
+-            failure (dwfl, 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"));
+-          opt->dwfl = dwfl;
+-        }
+-      else
+-        goto toomany;
+-      }
+-      break;
+-
+     case ARGP_KEY_SUCCESS:
+       {
+       struct parse_opt *opt = state->hook;
+--- a/libdwfl/Makefile.in
++++ b/libdwfl/Makefile.in
+@@ -113,7 +113,7 @@ am__libdwfl_a_SOURCES_DIST = dwfl_begin.
+       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 \
+-      dwfl_build_id_find_debuginfo.c linux-kernel-modules.c \
++      dwfl_build_id_find_debuginfo.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 \
+@@ -142,7 +142,7 @@ am_libdwfl_a_OBJECTS = dwfl_begin.$(OBJE
+       dwfl_validate_address.$(OBJEXT) argp-std.$(OBJEXT) \
+       find-debuginfo.$(OBJEXT) dwfl_build_id_find_elf.$(OBJEXT) \
+       dwfl_build_id_find_debuginfo.$(OBJEXT) \
+-      linux-kernel-modules.$(OBJEXT) linux-proc-maps.$(OBJEXT) \
++      linux-proc-maps.$(OBJEXT) \
+       dwfl_addrmodule.$(OBJEXT) dwfl_addrdwarf.$(OBJEXT) \
+       cu.$(OBJEXT) dwfl_module_nextcu.$(OBJEXT) \
+       dwfl_nextcu.$(OBJEXT) dwfl_cumodule.$(OBJEXT) \
+@@ -402,7 +402,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 \
+-      dwfl_build_id_find_debuginfo.c linux-kernel-modules.c \
++      dwfl_build_id_find_debuginfo.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 \
+@@ -540,7 +540,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@
+-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/linux-kernel-modules.Po@am__quote@
+ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/linux-pid-attach.Po@am__quote@
+ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/linux-proc-maps.Po@am__quote@
+ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lzma.Po@am__quote@