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>
		
			
				
	
	
		
			84 lines
		
	
	
		
			2.7 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
			
		
		
	
	
			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 \
 |