Project

General

Profile

Actions

Bug #1629

closed

git: Add -Werror to the kernel build.

Added by joelkp over 14 years ago. Updated over 14 years ago.

Status:
Closed
Priority:
Normal
Assignee:
-
Category:
-
Target version:
-
Start date:
Due date:
% Done:

0%

Estimated time:

Description

On Tue, Dec 15, 2009 at 2:52 PM, Sascha Wildner
<> wrote:

commit 40ec0564adaa677a0dab5299bdd491a2245e94a0
Author: Sascha Wildner <>
Date:   Tue Dec 15 15:52:07 2009 +0100

   Add -Werror to the kernel build.
[...]

I'd guess the following is probably related to this. Anyhow:

A user following the development changes of DragonFly, I noted that
building the kernel now errors out due to warnings of unused variables
- the ones in question being used only by debug code (KKASSERT, etc.),
and my kernel config disabling debug options.

The following files have these warnings:

sys/kern/kern_lock.c
sys/kern/kern_sig.c
sys/kern/lwkt_thread.c
sys/kern/vfs_cache.c
sys/kern/vfs_syscalls.c
sys/vfs/nfs/nfs_vnops.c
sys/vfs/hammer/hammer_object.c
sys/vfs/hammer/hammer_subs.c
sys/platform/pc32/i386/pmap.c

I don't know if these fit the preferred style of solving this, but
diffs to remove the warnings (mostly adding #ifdef INVARIANTS) to make
it build attached. At any rate, having a look at it will quickly show
where it's located.


Files

hammer_object.c.diff (49 Bytes) hammer_object.c.diff joelkp, 12/15/2009 11:19 PM
hammer_subs.c.diff (90 Bytes) hammer_subs.c.diff joelkp, 12/15/2009 11:19 PM
kern_lock.c.diff (160 Bytes) kern_lock.c.diff joelkp, 12/15/2009 11:19 PM
kern_sig.c.diff (49 Bytes) kern_sig.c.diff joelkp, 12/15/2009 11:19 PM
lwkt_thread.c.diff (41 Bytes) lwkt_thread.c.diff joelkp, 12/15/2009 11:19 PM
nfs_vnops.c.diff (49 Bytes) nfs_vnops.c.diff joelkp, 12/15/2009 11:19 PM
vfs_cache.c.diff (45 Bytes) vfs_cache.c.diff joelkp, 12/15/2009 11:19 PM
vfs_syscalls.c.diff (144 Bytes) vfs_syscalls.c.diff joelkp, 12/15/2009 11:19 PM
pmap.c.diff (45 Bytes) pmap.c.diff joelkp, 12/15/2009 11:19 PM
Actions #1

Updated by aoiko over 14 years ago

Joel K. Pettersson wrote:

On Tue, Dec 15, 2009 at 2:52 PM, Sascha Wildner
<> wrote:

commit 40ec0564adaa677a0dab5299bdd491a2245e94a0
Author: Sascha Wildner <>
Date: Tue Dec 15 15:52:07 2009 +0100

Add -Werror to the kernel build.
[...]

I'd guess the following is probably related to this. Anyhow:

A user following the development changes of DragonFly, I noted that
building the kernel now errors out due to warnings of unused variables
- the ones in question being used only by debug code (KKASSERT, etc.),
and my kernel config disabling debug options.

I don't think that's the proper way to deal with variables that are only
used in debug statements.

We should add something like this:

#ifndef INVARIANTS
#define debug_var __attribute((unused))
#else
#define __debug_var
#endif

and then use

int a __debug_var;

for such variables.

Aggelos

Actions #2

Updated by swildner over 14 years ago

Am 16.12.2009 00:28, schrieb Aggelos Economopoulos:

I don't think that's the proper way to deal with variables that are only
used in debug statements.

We should add something like this:

#ifndef INVARIANTS
#define debug_var __attribute((unused))
#else
#define __debug_var
#endif

and then use

int a __debug_var;

for such variables.

That looks like a sound idea. I'm on it (testing kernel builds without
INVARIANTS at the moment).

Sascha

Actions #3

Updated by swildner over 14 years ago

Am 16.12.2009 00:14, schrieb Joel K. Pettersson:

I'd guess the following is probably related to this. Anyhow:

A user following the development changes of DragonFly, I noted that
building the kernel now errors out due to warnings of unused variables
- the ones in question being used only by debug code (KKASSERT, etc.),
and my kernel config disabling debug options.

The following files have these warnings:

sys/kern/kern_lock.c
sys/kern/kern_sig.c
sys/kern/lwkt_thread.c
sys/kern/vfs_cache.c
sys/kern/vfs_syscalls.c
sys/vfs/nfs/nfs_vnops.c
sys/vfs/hammer/hammer_object.c
sys/vfs/hammer/hammer_subs.c
sys/platform/pc32/i386/pmap.c

I don't know if these fit the preferred style of solving this, but
diffs to remove the warnings (mostly adding #ifdef INVARIANTS) to make
it build attached. At any rate, having a look at it will quickly show
where it's located.

I think I've fixed it (as aggelos suggested). Can you try again with
latest master?

Sascha

Actions #4

Updated by joelkp over 14 years ago

I think I've fixed it (as aggelos suggested). Can you try again with
latest master?

Sascha

It builds as expected.

Joel

Actions

Also available in: Atom PDF