From 01ae828e0958a75b6964bee4a2c32066fd9592aa Mon Sep 17 00:00:00 2001 From: Jean Privat Date: Sat, 10 Jan 2015 10:34:30 -0500 Subject: [PATCH] compiler: add an aditionnal linker_script file Signed-off-by: Jean Privat --- src/compiler/abstract_compiler.nit | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/src/compiler/abstract_compiler.nit b/src/compiler/abstract_compiler.nit index d681036..fe348b4 100644 --- a/src/compiler/abstract_compiler.nit +++ b/src/compiler/abstract_compiler.nit @@ -371,6 +371,18 @@ class MakefileToolchain dep_rules.add(o) end + # Generate linker script, if any + if not compiler.linker_script.is_empty then + var linker_script_path = "{compile_dir}/linker_script" + ofiles.add "linker_script" + var f = new OFStream.open(linker_script_path) + for l in compiler.linker_script do + f.write l + f.write "\n" + end + f.close + end + var java_files = new Array[ExternFile] var pkgconfigs = new Array[String] @@ -511,6 +523,10 @@ abstract class AbstractCompiler # Where global declaration are stored (the main .h) var header: CodeWriter is writable, noinit + # Additionnal linker script for `ld`. + # Mainly used to do specific link-time symbol resolution + var linker_script = new Array[String] + # Provide a declaration that can be requested (before or latter) by a visitor fun provide_declaration(key: String, s: String) do -- 1.7.9.5