summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKinsey Moore <kinsey.moore@oarcorp.com>2022-04-18 12:24:47 -0500
committerJoel Sherrill <joel@rtems.org>2022-04-26 09:23:22 -0500
commit88dc1880ec18372941fc5830ce6f60d2b60f1569 (patch)
tree5304589e952eacbeecd3abc09291257dfc3b00d0
parentMAINTAINERS: add emeritus category and retire some maintainers (diff)
downloadrtems-88dc1880ec18372941fc5830ce6f60d2b60f1569.tar.bz2
wscript: Allow start code to be written in C
Start code for most platforms requires hand-coded ASM but some can be bootstrapped entirely in C, especially for paravirtualized platforms. This change allows start code to be written in C where possible instead of requiring architecture-specific ASM to bridge to C.
-rwxr-xr-xwscript6
1 files changed, 5 insertions, 1 deletions
diff --git a/wscript b/wscript
index 0291b6025a..59ab96c43d 100755
--- a/wscript
+++ b/wscript
@@ -561,7 +561,11 @@ class StartFileItem(Item):
super(StartFileItem, self).__init__(uid, data)
def do_build(self, bld, bic):
- tgt = self.asm(bld, bic, self.data["source"], self.get(bld, "target"))
+ source = self.data["source"]
+ if os.path.splitext(source[0])[1] == ".S":
+ tgt = self.asm(bld, bic, source, self.get(bld, "target"))
+ else:
+ tgt = self.cc(bld, bic, source, self.get(bld, "target"))
node = bld.bldnode.make_node(tgt)
try:
bld.start_files.append(node)