aboutsummaryrefslogtreecommitdiffstats
path: root/driver
diff options
context:
space:
mode:
authorBernhard Schommer <bernhardschommer@gmail.com>2015-11-20 11:03:37 +0100
committerBernhard Schommer <bernhardschommer@gmail.com>2015-11-20 11:03:37 +0100
commitb9280baa78fe99bea7c392214e6af6f3af45e5ed (patch)
tree3ec268aa4d3d5641609efef0eb5899107aef8dc8 /driver
parentcf417332491f1c2a738705d4f1d874e4edd4d636 (diff)
downloadcompcert-b9280baa78fe99bea7c392214e6af6f3af45e5ed.tar.gz
compcert-b9280baa78fe99bea7c392214e6af6f3af45e5ed.zip
Separate assembler options for the diab backend.
The diab backend calls the assembler directly and does not call the compiler like for the gcc based backends. Fix 17668.
Diffstat (limited to 'driver')
-rw-r--r--driver/Driver.ml5
1 files changed, 4 insertions, 1 deletions
diff --git a/driver/Driver.ml b/driver/Driver.ml
index a8f762fd..6d961c64 100644
--- a/driver/Driver.ml
+++ b/driver/Driver.ml
@@ -575,7 +575,10 @@ let cmdline_actions =
Exact "-mthumb", Set option_mthumb;
Exact "-marm", Unset option_mthumb;
(* Assembling options *)
- Prefix "-Wa,", Self (fun s -> assembler_options := s :: !assembler_options);
+ Prefix "-Wa,", Self (fun s -> if Configuration.system = "diab" then
+ assembler_options := List.rev_append (explode_comma_option s) !assembler_options
+ else
+ assembler_options := s :: !assembler_options);
(* Linking options *)
Prefix "-l", Self push_linker_arg;
Prefix "-L", Self push_linker_arg;