Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependents: HelloWorld_CCA01M1 HelloWorld_CCA02M1 CI-data-logger-server HelloWorld_CCA02M1 ... more
This is a fork of the events subdirectory of https://github.com/ARMmbed/mbed-os.
Note, you must import this library with import name: events!!!
Diff: tools/toolchains/gcc.py
- Revision:
- 9801:cd7ddeab0c7c
- Parent:
- 9735:d72b98706fba
- Child:
- 9803:5fbb0ffac3cc
--- a/tools/toolchains/gcc.py Tue Feb 07 10:39:22 2017 -0600
+++ b/tools/toolchains/gcc.py Wed Feb 01 15:59:27 2017 -0600
@@ -15,7 +15,7 @@
limitations under the License.
"""
import re
-from os.path import join, basename, splitext
+from os.path import join, basename, splitext, dirname
from tools.toolchains import mbedToolchain, TOOLCHAIN_PATHS
from tools.hooks import hook_tool
@@ -93,6 +93,7 @@
self.flags['ld'] += self.cpu
self.ld = [join(tool_path, "arm-none-eabi-gcc")] + self.flags['ld']
self.sys_libs = ["stdc++", "supc++", "m", "c", "gcc"]
+ self.preproc = [join(tool_path, "arm-none-eabi-cpp"), "-E", "-P"]
self.ar = join(tool_path, "arm-none-eabi-ar")
self.elf2bin = join(tool_path, "arm-none-eabi-objcopy")
@@ -213,6 +214,15 @@
libs.append("-l%s" % name[3:])
libs.extend(["-l%s" % l for l in self.sys_libs])
+ # Preprocess
+ if mem_map:
+ preproc_output = join(dirname(output), ".link_script.ld")
+ cmd = (self.preproc + [mem_map] + self.ld[1:] +
+ [ "-o", preproc_output])
+ self.cc_verbose("Preproc: %s" % ' '.join(cmd))
+ self.default_cmd(cmd)
+ mem_map = preproc_output
+
# Build linker command
map_file = splitext(output)[0] + ".map"
cmd = self.ld + ["-o", output, "-Wl,-Map=%s" % map_file] + objects + ["-Wl,--start-group"] + libs + ["-Wl,--end-group"]