Re: [PATCH] cgcc: Fix preprocessing of assembler files

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Sat, Jan 04, 2014 at 11:20:48AM +0100, Stefan Weil wrote:
> The old code does not preprocess assembler files when cgcc is called like
> this:
> 
> cgcc -E -o multiboot.asm multiboot.S
> 
> As the preprocessor is not called, no multiboot.asm is generated, and any
> further build steps which need it will fail.
> 
> Fix this by using a new intermediate variable $do_preprocess.
> 
> Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx>

Seems reasonable.
Reviewed-by: Josh Triplett <josh@xxxxxxxxxxxxxxxx>

> 
> This patch allows using cgcc for QEMU builds. I did not run any other tests,
> so please review carefully.
> 
> Thanks,
> Stefan Weil
> 
>  cgcc |    9 +++++++--
>  1 file changed, 7 insertions(+), 2 deletions(-)
> 
> diff --git a/cgcc b/cgcc
> index c075e5f..a43e074 100755
> --- a/cgcc
> +++ b/cgcc
> @@ -10,6 +10,7 @@ my $has_specs = 0;
>  my $gendeps = 0;
>  my $do_check = 0;
>  my $do_compile = 1;
> +my $do_preprocess = 0;
>  my $gcc_base_dir;
>  my $verbose = 0;
>  
> @@ -44,8 +45,7 @@ while (@ARGV) {
>          next;
>      }
>  
> -    # If someone adds "-E", don't pre-process twice.
> -    $do_compile = 0 if $_ eq '-E';
> +    $do_preprocess = 1 if $_ eq '-E';
>  
>      $verbose = 1 if $_ eq '-v';
>  
> @@ -59,6 +59,11 @@ if ($gendeps) {
>      $do_check = 0;
>  }
>  
> +if ($do_check && $do_preprocess) {
> +    # If someone adds "-E", don't pre-process twice.
> +    $do_compile = 0;
> +}
> +
>  if ($do_check) {
>      if (!$has_specs) {
>  	$check .= &add_specs ('host_arch_specs');
> -- 
> 1.7.10.4
> 
> --
> To unsubscribe from this list: send the line "unsubscribe linux-sparse" in
> the body of a message to majordomo@xxxxxxxxxxxxxxx
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
--
To unsubscribe from this list: send the line "unsubscribe linux-sparse" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [Newbies FAQ]     [LKML]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Trinity Fuzzer Tool]

  Powered by Linux