linux-sparse.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] don't call sparse when called to generate dependencies
@ 2008-08-25 21:33 Alexander Shishkin
  2008-08-26  7:44 ` Bernd Petrovitsch
  2008-08-27  0:43 ` Josh Triplett
  0 siblings, 2 replies; 5+ messages in thread
From: Alexander Shishkin @ 2008-08-25 21:33 UTC (permalink / raw)
  To: sparse development list; +Cc: Alexander Shishkin

I have a situation here when $(CC) is called with -M options with
slighly different set of -I/-D/etc arguments, which causes all sorts of
funny reports from sparse. Also, this increases the overall build time
because every compilation unit if sparsed twice.

Signed-off-by: Alexander Shishkin <alexander.shishckin@gmail.com>
---
 cgcc |    7 +++++++
 1 files changed, 7 insertions(+), 0 deletions(-)

diff --git a/cgcc b/cgcc
index 4fab530..89adbed 100755
--- a/cgcc
+++ b/cgcc
@@ -7,6 +7,7 @@ my $check = $ENV{'CHECK'} || 'sparse';
 my $m32 = 0;
 my $m64 = 0;
 my $has_specs = 0;
+my $gendeps = 0;
 my $do_check = 0;
 my $do_compile = 1;
 my $verbose = 0;
@@ -22,6 +23,7 @@ foreach (@ARGV) {
 
     $m32 = 1 if /^-m32$/;
     $m64 = 1 if /^-m64$/;
+    $gendeps = 1 if /^-M$/;
 
     if (/^-specs=(.*)$/) {
 	$check .= &add_specs ($1);
@@ -44,6 +46,11 @@ foreach (@ARGV) {
     $check .= $this_arg unless &cc_only_option ($_);
 }
 
+if ($gendeps) {
+    $do_compile = 1;
+    $do_check = 0;
+}
+
 if ($do_check) {
     if (!$has_specs) {
 	$check .= &add_specs ('host_arch_specs');
-- 
1.5.6.3


^ permalink raw reply related	[flat|nested] 5+ messages in thread

* Re: [PATCH] don't call sparse when called to generate dependencies
  2008-08-25 21:33 [PATCH] don't call sparse when called to generate dependencies Alexander Shishkin
@ 2008-08-26  7:44 ` Bernd Petrovitsch
  2008-08-26  9:19   ` Alexander Shishkin
  2008-08-27  0:43 ` Josh Triplett
  1 sibling, 1 reply; 5+ messages in thread
From: Bernd Petrovitsch @ 2008-08-26  7:44 UTC (permalink / raw)
  To: sparse development list


On Tue, 2008-08-26 at 00:33 +0300, Alexander Shishkin wrote:
> I have a situation here when $(CC) is called with -M options with
> slighly different set of -I/-D/etc arguments, which causes all sorts of

I (obviously) don't know any details about your situation but do you
have any specific reason that you have different sets of -I/-D
parameters on dependency generation and the real compile run?

Personally I see only subtle problems on the horizon with such a
situation.
Let alone that it is somewhat simpler to have *one* CFLAGS/CPPFLAGS/...
variable and use that everywhere.

	Bernd
-- 
Firmix Software GmbH                   http://www.firmix.at/
mobil: +43 664 4416156                 fax: +43 1 7890849-55
          Embedded Linux Development and Services



^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH] don't call sparse when called to generate dependencies
  2008-08-26  7:44 ` Bernd Petrovitsch
@ 2008-08-26  9:19   ` Alexander Shishkin
  2008-08-26 10:00     ` Bernd Petrovitsch
  0 siblings, 1 reply; 5+ messages in thread
From: Alexander Shishkin @ 2008-08-26  9:19 UTC (permalink / raw)
  To: Bernd Petrovitsch; +Cc: sparse development list

On Tue, Aug 26, 2008 at 10:44 AM, Bernd Petrovitsch <bernd@firmix.at> wrote:
> I (obviously) don't know any details about your situation but do you
> have any specific reason that you have different sets of -I/-D
> parameters on dependency generation and the real compile run?
To put a long story short: I run sparse against netbsd tree. To be
slightly more elaborate, I should mention that I wasn't able so far to
fully appreciate the beauty and elegance of certain design decisions
of the project in question. Nevertheless, I'm seeing different reports
from gendep and compilation runs.

> Personally I see only subtle problems on the horizon with such a
> situation.
> Let alone that it is somewhat simpler to have *one* CFLAGS/CPPFLAGS/...
> variable and use that everywhere.
Well, that aside, the overall build time significantly increases with
having to run sparse twice. Same warnings/errors are reported twice.

I still think that sparse has no business validating any code when
cgcc is called in -M mode; all those files are going to be compiled
later on anyway. And it's the compilation stage where warnings are
desirable.

Regards,
--
Alex

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH] don't call sparse when called to generate dependencies
  2008-08-26  9:19   ` Alexander Shishkin
@ 2008-08-26 10:00     ` Bernd Petrovitsch
  0 siblings, 0 replies; 5+ messages in thread
From: Bernd Petrovitsch @ 2008-08-26 10:00 UTC (permalink / raw)
  To: Alexander Shishkin; +Cc: sparse development list


On Tue, 2008-08-26 at 12:19 +0300, Alexander Shishkin wrote:
> On Tue, Aug 26, 2008 at 10:44 AM, Bernd Petrovitsch <bernd@firmix.at> wrote:
[....]
> > Let alone that it is somewhat simpler to have *one* CFLAGS/CPPFLAGS/...
> > variable and use that everywhere.
> Well, that aside, the overall build time significantly increases with
> having to run sparse twice. Same warnings/errors are reported twice.

Of course (and especially on a large source tree).

> I still think that sparse has no business validating any code when
> cgcc is called in -M mode; all those files are going to be compiled

Yes, that also seems superflous to me in general.

> later on anyway. And it's the compilation stage where warnings are
> desirable.

ACK.

	Bernd
-- 
Firmix Software GmbH                   http://www.firmix.at/
mobil: +43 664 4416156                 fax: +43 1 7890849-55
          Embedded Linux Development and Services



^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH] don't call sparse when called to generate dependencies
  2008-08-25 21:33 [PATCH] don't call sparse when called to generate dependencies Alexander Shishkin
  2008-08-26  7:44 ` Bernd Petrovitsch
@ 2008-08-27  0:43 ` Josh Triplett
  1 sibling, 0 replies; 5+ messages in thread
From: Josh Triplett @ 2008-08-27  0:43 UTC (permalink / raw)
  To: Alexander Shishkin; +Cc: sparse development list

On Tue, 2008-08-26 at 00:33 +0300, Alexander Shishkin wrote:
> I have a situation here when $(CC) is called with -M options with
> slighly different set of -I/-D/etc arguments, which causes all sorts of
> funny reports from sparse. Also, this increases the overall build time
> because every compilation unit if sparsed twice.

Makes sense, given that -M implies -E.  Applied, thanks.

- Josh Triplett



^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2008-08-27  0:42 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-08-25 21:33 [PATCH] don't call sparse when called to generate dependencies Alexander Shishkin
2008-08-26  7:44 ` Bernd Petrovitsch
2008-08-26  9:19   ` Alexander Shishkin
2008-08-26 10:00     ` Bernd Petrovitsch
2008-08-27  0:43 ` Josh Triplett

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).