diff --git a/tools/toolchains/arm.py b/tools/toolchains/arm.py index c4633debf7..338ff68b85 100644 --- a/tools/toolchains/arm.py +++ b/tools/toolchains/arm.py @@ -157,10 +157,11 @@ class ARM(mbedToolchain): @hook_tool def link(self, output, objects, libraries, lib_dirs, mem_map): + map_file = splitext(output)[0] + ".map" if len(lib_dirs): - args = ["-o", output, "--userlibpath", ",".join(lib_dirs), "--info=totals", "--list=.link_totals.txt"] + args = ["-o", output, "--userlibpath", ",".join(lib_dirs), "--info=totals", "--map", "--list=%s" % map_file] else: - args = ["-o", output, "--info=totals", "--list=.link_totals.txt"] + args = ["-o", output, "--info=totals", "--map", "--list=%s" % map_file] if mem_map: args.extend(["--scatter", mem_map]) diff --git a/tools/toolchains/gcc.py b/tools/toolchains/gcc.py index df4be262ac..0a0b91f410 100644 --- a/tools/toolchains/gcc.py +++ b/tools/toolchains/gcc.py @@ -216,7 +216,8 @@ class GCC(mbedToolchain): libs.extend(libs) # Build linker command - cmd = self.ld + ["-o", output] + objects + map_file = splitext(output)[0] + ".map" + cmd = self.ld + ["-o", output, "-Wl,-Map=%s" % map_file] + objects if mem_map: cmd.extend(['-T', mem_map]) diff --git a/tools/toolchains/iar.py b/tools/toolchains/iar.py index 7d2fb60992..dc33198b1e 100644 --- a/tools/toolchains/iar.py +++ b/tools/toolchains/iar.py @@ -145,7 +145,8 @@ class IAR(mbedToolchain): @hook_tool def link(self, output, objects, libraries, lib_dirs, mem_map): # Build linker command - cmd = [self.ld, "-o", output, "--skip_dynamic_initialization"] + objects + libraries + map_file = splitext(output)[0] + ".map" + cmd = [self.ld, "-o", output, "--skip_dynamic_initialization", "--map=%s" % map_file] + objects + libraries if mem_map: args.extend(["--config", mem_map])