Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit cac66535 authored by Linus Torvalds's avatar Linus Torvalds
Browse files

Merge branch 'perf-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip

Pull perf revert from Ingo Molnar:
 "This fixes the 'perf top' regression Markus Trippelsdorf reported"

* 'perf-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
  Revert "perf symbols: Demangle cloned functions"
parents b97b869a 14951f22
Loading
Loading
Loading
Loading
+1 −26
Original line number Diff line number Diff line
@@ -928,33 +928,8 @@ int dso__load_sym(struct dso *dso, struct map *map,
		 * to it...
		 */
		if (symbol_conf.demangle) {
			/*
			 * The demangler doesn't deal with cloned functions.
			 * XXXX.clone.NUM or similar
			 * Strip the dot part and readd it later.
			 */
			char *p = (char *)elf_name, *dot;
			dot = strchr(elf_name, '.');
			if (dot) {
				p = strdup(elf_name);
				if (!p)
					goto new_symbol;
				dot = strchr(p, '.');
				*dot = 0;
			}

			demangled = bfd_demangle(NULL, p,
			demangled = bfd_demangle(NULL, elf_name,
						 DMGL_PARAMS | DMGL_ANSI);
			if (dot)
				*dot = '.';
			if (demangled && dot) {
				demangled = realloc(demangled, strlen(demangled) + strlen(dot) + 1);
				if (!demangled)
					goto new_symbol;
				strcpy(demangled + (dot - p), dot);
			}
			if (p != elf_name)
				free(p);
			if (demangled != NULL)
				elf_name = demangled;
		}