From 214fc8b834760925e77e3c713c1e7dcf06a4889e Mon Sep 17 00:00:00 2001 From: Bernhard Schommer Date: Mon, 29 Feb 2016 09:04:23 +0100 Subject: 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 --- driver/Driver.ml | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) (limited to 'driver/Driver.ml') 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, Pass option to the assembler + -Xassembler Pass as an option to the assembler Linking options: -l Link library -L Add 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 Use as linker command file - -Xlinker Pass as an option to the linker -Wl, Pass option to the linker + -Xlinker Pass as an option to the linker -u Pretend the symbol 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; -- cgit