#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 */
        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++) {
                marker_update_probe_range(mod->markers,
                        mod->markers + mod->num_markers);
  #endif
+       dynamic_printk_setup(sechdrs, verboseindex);
 +#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);
 +
        err = module_finalize(hdr, sechdrs, mod);
        if (err < 0)
                goto cleanup;