summaryrefslogtreecommitdiff
path: root/lua_scripts
diff options
context:
space:
mode:
authorLauri Aarnio <Lauri.Aarnio@iki.fi>2009-03-31 18:02:12 +0300
committerLauri Leukkunen <lle@rahina.org>2009-03-31 19:14:55 +0300
commit86e0e47bc9706567c44f9ee48badd4f299bb7eed (patch)
treec3ec1e18887d35e258260ae8e8ee6eae394aadf1 /lua_scripts
parentc6e2b12d9896fef56ad0a0f72d57005f08137ab3 (diff)
Added "nomap" mapping mode: SB2 can now be used to do native builds, too!
- "nomap" mode passes all paths, execs, etc. thru the logic in our preload library, but does not map anything. This is mostly useful for debugging SB2 itself, but can be used for benchmarking etc. also. - Had to add a new option to sb2-init, otherwise "nomap" mode could not be properly initialized on 64-bit intel hosts.
Diffstat (limited to 'lua_scripts')
-rw-r--r--lua_scripts/pathmaps/nomap/00_default.lua68
1 files changed, 68 insertions, 0 deletions
diff --git a/lua_scripts/pathmaps/nomap/00_default.lua b/lua_scripts/pathmaps/nomap/00_default.lua
new file mode 100644
index 0000000..7f955bb
--- /dev/null
+++ b/lua_scripts/pathmaps/nomap/00_default.lua
@@ -0,0 +1,68 @@
+-- Copyright (C) 2007 Lauri Leukkunen <lle@rahina.org>
+-- Copyright (C) 2007 Nokia Corporation.
+-- Licensed under MIT license.
+
+-- "nomap" mapping mode: Does not map any paths anywhere, but still pushes
+-- all paths thru SB2's path mapping logic, handles execs, etc.
+--
+-- This is useful for benchmarking, debugging (SB2's logs are available, if
+-- needed), and of course this makes SB2 fully symmetric because now SB2
+-- can be used both for cross-compiling and for native builds! :-) ;-)
+--
+-- Note that the target architecture should be set to host architecture
+-- while using this mode; usually a special "nomap" target should be created.
+-- Example:
+-- for 64-bit intel/amd architectures ("uname -m" displays "x86_64"):
+-- sb2-init -A amd64 -M x86_64 -n -m nomap nomap
+-- Next, use "sb2 -t nomap" to enter this mode (i.e. things usually go wrong
+-- if you try to use the the "-m" option to enter this mode, but the target
+-- is still something else than the host. The destination architecture is not
+-- selected by the mapping mode...)
+
+-- Rule file interface version, mandatory.
+--
+rule_file_interface_version = "21"
+----------------------------------
+
+-- disable the gcc toolchain tricks.
+enable_cross_gcc_toolchain = false
+
+nomap_chain = {
+ next_chain = nil,
+ binary = nil,
+ rules = {
+ -- Don't map.
+ {prefix = "/", use_orig_path = true},
+ }
+}
+
+export_chains = {
+ nomap_chain
+}
+
+-- Exec policy rules.
+
+default_exec_policy = {
+ name = "Default"
+}
+
+-- Note that the real path (mapped path) is used when looking up rules!
+all_exec_policies_chain = {
+ next_chain = nil,
+ binary = nil,
+ rules = {
+ -- DEFAULT RULE (must exist):
+ {prefix = "/", exec_policy = default_exec_policy}
+ }
+}
+
+exec_policy_chains = {
+ all_exec_policies_chain
+}
+
+-- This table lists all exec policies - this is used when the current
+-- process wants to locate the currently active policy
+all_exec_policies = {
+ default_exec_policy,
+}
+