Re: linux-next: manual merge of the ftrace tree

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi All,

On Fri, 15 Aug 2008 11:54:10 +1000 Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx> wrote:
>
> Today's linux-next merge of the ftrace tree got a conflict in
> kernel/module.c between commit 1b75321c2d0561d9ecfe3794fa939264f3eb7e26
> ("driver core: basic infrastructure for per-module dynamic debug
> messages") from the driver-core tree and commit
> e543dff1468a55cdff9932dd3a806524790cf0b3 ("tracing: Kernel Tracepoints")
> from the ftrace tree.
> 
> Overlapping additions.  I fixed it up. Probably worth a look once I
> publish the tree.

Today this has expanded to include commit
be1c870c22e9b27170b5dd5028b6eaf2aab7b508 ("ftrace: enable mcount
recording for modules") also from the ftrace tree.  I have fixed it up as
below.

-- 
Cheers,
Stephen Rothwell                    sfr@xxxxxxxxxxxxxxxx
http://www.canb.auug.org.au/~sfr/

diff --cc kernel/module.c
index b610466,7426681..0000000
--- a/kernel/module.c
+++ b/kernel/module.c
@@@ -44,9 -44,10 +44,11 @@@
  #include <linux/unwind.h>
  #include <asm/uaccess.h>
  #include <asm/cacheflush.h>
 +#include <asm/sections.h>
  #include <linux/license.h>
  #include <asm/sections.h>
+ #include <linux/tracepoint.h>
+ #include <linux/ftrace.h>
  
  #if 0
  #define DEBUGP printk
@@@ -1866,7 -1836,9 +1871,10 @@@ static struct module *load_module(void 
  #endif
  	unsigned int markersindex;
  	unsigned int markersstringsindex;
 +	unsigned int verboseindex;
+ 	unsigned int tracepointsindex;
+ 	unsigned int tracepointsstringsindex;
+ 	unsigned int mcountindex;
  	struct module *mod;
  	long err = 0;
  	void *percpu = NULL, *ptr = NULL; /* Stops spurious gcc warning */
@@@ -2153,7 -2126,12 +2162,13 @@@
  	markersindex = find_sec(hdr, sechdrs, secstrings, "__markers");
   	markersstringsindex = find_sec(hdr, sechdrs, secstrings,
  					"__markers_strings");
 +	verboseindex = find_sec(hdr, sechdrs, secstrings, "__verbose");
+ 	tracepointsindex = find_sec(hdr, sechdrs, secstrings, "__tracepoints");
+ 	tracepointsstringsindex = find_sec(hdr, sechdrs, secstrings,
+ 					"__tracepoints_strings");
+ 
+ 	mcountindex = find_sec(hdr, sechdrs, secstrings,
+ 			       "__mcount_loc");
  
  	/* Now do relocations. */
  	for (i = 1; i < hdr->e_shnum; i++) {
@@@ -2203,8 -2188,16 +2225,17 @@@
  		marker_update_probe_range(mod->markers,
  			mod->markers + mod->num_markers);
  #endif
+ #ifdef CONFIG_TRACEPOINTS
+ 		tracepoint_update_probe_range(mod->tracepoints,
+ 			mod->tracepoints + mod->num_tracepoints);
+ #endif
+ 	}
+ 
+ 	/* sechdrs[0].sh_size is always zero */
+ 	mseg = (void *)sechdrs[mcountindex].sh_addr;
+ 	ftrace_init_module(mseg, mseg + sechdrs[mcountindex].sh_size);
+ 
 +	dynamic_printk_setup(mod, sechdrs, verboseindex, secstrings);
  	err = module_finalize(hdr, sechdrs, mod);
  	if (err < 0)
  		goto cleanup;
--
To unsubscribe from this list: send the line "unsubscribe linux-next" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Kernel]     [Linux USB Development]     [Yosemite News]     [Linux SCSI]

  Powered by Linux