aboutsummaryrefslogtreecommitdiffstats
path: root/driver
diff options
context:
space:
mode:
authorBernhard Schommer <bernhardschommer@gmail.com>2016-02-29 09:04:23 +0100
committerBernhard Schommer <bernhardschommer@gmail.com>2016-02-29 09:04:23 +0100
commit214fc8b834760925e77e3c713c1e7dcf06a4889e (patch)
tree7c23d115fce1e5f73fd42371b20986bc41f5e59c /driver
parentbd6f371e4be7e745c049c5c5cc7523c6c2995df5 (diff)
downloadcompcert-214fc8b834760925e77e3c713c1e7dcf06a4889e.tar.gz
compcert-214fc8b834760925e77e3c713c1e7dcf06a4889e.zip
Added gcc's Xassembler option.
The Xassembler option passes one option to the assembler and can be used to pass options to the underlying assembler that the gcc driver does not recognize. Bug 18066
Diffstat (limited to 'driver')
-rw-r--r--driver/Driver.ml11
1 files changed, 8 insertions, 3 deletions
diff --git a/driver/Driver.ml b/driver/Driver.ml
index 88f9fad0..77bf52a9 100644
--- a/driver/Driver.ml
+++ b/driver/Driver.ml
@@ -508,6 +508,7 @@ Target processor options:
-marm (ARM only) Use classic ARM instruction encoding
Assembling options:
-Wa,<opt> Pass option <opt> to the assembler
+ -Xassembler <opt> Pass <opt> as an option to the assembler
Linking options:
-l<lib> Link library <lib>
-L<dir> Add <dir> to search path for libraries
@@ -515,14 +516,14 @@ Linking options:
linking
-nodefaultlibs (GCC only) Do not use the standard system libraries when
linking
- -nostdlib (GCC only) Do not use the standard system libraries when
- linking
+ -nostdlib (GCC only) Do not use the standard system startup files or
+ libraries when linking
-s Remove all symbol table and relocation information from the
executable
-static Prevent linking with the shared libraries
-T <file> Use <file> as linker command file
- -Xlinker <opt> Pass <opt> as an option to the linker
-Wl,<opt> Pass option <opt> to the linker
+ -Xlinker <opt> Pass <opt> as an option to the linker
-u <symb> Pretend the symbol <symb> is undefined to force linking of
library modules to define it.
Tracing options:
@@ -643,6 +644,10 @@ let cmdline_actions =
assembler_options := List.rev_append (explode_comma_option s) !assembler_options
else
assembler_options := s :: !assembler_options);
+ Exact "-Xassembler", String (fun s -> if Configuration.system = "diab" then
+ assembler_options := s::!assembler_options
+ else
+ assembler_options := s::"-Xassembler":: !assembler_options);
(* Linking options *)
Prefix "-l", Self push_linker_arg;
Prefix "-L", Self push_linker_arg;