This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [google]Pass --save-temps to the assembler (issue4436049)


On Tue, Apr 19, 2011 at 12:19 PM, Diego Novillo <dnovillo@google.com> wrote:
> On Tue, Apr 19, 2011 at 15:02, Easwaran Raman <eraman@google.com> wrote:
>> This makes the gcc driver pass the --save-temps option to the assembler or assembler wrapper so that post-assembly tools like MAO can be integrated. Bootstraps on x86_64. Ok for google/main?
>>
>> 2011-04-19 ?Easwaran Raman ?<eraman@google.com>
>>
>> ? ? ? ?* gcc/gcc.c (static const char *asm_options): Pass
>
> No need to specify 'static const char *'. ?Just 'asm_options'.
>
>> ? ? ? ?--save-temps to the assembler.
>
> Could you add a comment stating what version of binutils we need to use this?
>
> I will commit this patch for you. ?Given that you will be sending
> other patches, please fill in the write access form at
> http://sourceware.org/cgi-bin/pdw/ps_form.cgi
>
>
> Diego.
>

The revised patch has a comment that this should be used with an
assembler wrapper that can recognize --save-temps.

-Easwaran
2011-04-19  Easwaran Raman  <eraman@google.com>

	* gcc/gcc.c (asm_options): Pass --save-temps to assembler.

Index: gcc/gcc.c
===================================================================
--- gcc/gcc.c	(revision 172727)
+++ gcc/gcc.c	(working copy)
@@ -775,12 +775,16 @@ static const char *cc1_options =
  %{fmudflap|fmudflapth:-fno-builtin -fno-merge-constants}\
  %{coverage:-fprofile-arcs -ftest-coverage}";
 
+/* If an assembler wrapper is used to invoke post-assembly tools
+   like MAO, --save-temps need to be passed to save the output of
+   such post-processing tools. This is not compatible with vanilla
+   binutils gas which does not recognize --save-temps.  */
 static const char *asm_options =
 "%{-target-help:%:print-asm-header()} "
 #if HAVE_GNU_AS
 /* If GNU AS is used, then convert -w (no warnings), -I, and -v
    to the assembler equivalents.  */
-"%{v} %{w:-W} %{I*} "
+"%{v} %{w:-W} %{I*} %{save-temps:--save-temps} "
 #endif
 "%a %Y %{c:%W{o*}%{!o*:-o %w%b%O}}%{!c:-o %d%w%u%O}";
 

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]