Re: tools/liblockdep: Build failure

From: Robin Hack
Date: Tue Apr 01 2014 - 04:03:34 EST


Hi.

I have same issue.

I investigated output of gcc -E and I found that asmlinkage macro isn't
expanded as is expected.

$ grep asmlinkage common.o
asmlinkage extern void lockdep_sys_exit(void);

On Tue, Apr 01, 2014 at 06:04:35AM +0000, Eunbong Song wrote:
>
> There is tools/liblockdep build failure.
> I have been trying to find the cause and i found commit id 63f9a7fde715352e0769302527670542a664b981 is the casue.
>
> Author: Andi Kleen <ak@xxxxxxxxxxxxxxx>
> Date: Sat Feb 8 08:52:01 2014 +0100
>
> asmlinkage: Make lockdep_sys_exit asmlinkage
>
> lockdep_sys_exit can be called from assembler code, so make it
> asmlinkage.
>
> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx>
> Cc: Ingo Molnar <mingo@xxxxxxxxxx>
> Signed-off-by: Andi Kleen <ak@xxxxxxxxxxxxxxx>
> Link: http://lkml.kernel.org/r/1391845930-28580-5-git-send-email-ak@xxxxxxxxxxxxxxx
> Signed-off-by: H. Peter Anvin <hpa@xxxxxxxxxxxxxxx>
>
> diff --git a/include/linux/lockdep.h b/include/linux/lockdep.h
> index 92b1bfc..7df9aa6 100644
> --- a/include/linux/lockdep.h
> +++ b/include/linux/lockdep.h
> @@ -265,7 +265,7 @@ extern void lockdep_info(void);
> extern void lockdep_reset(void);
> extern void lockdep_reset_lock(struct lockdep_map *lock);
> extern void lockdep_free_key_range(void *start, unsigned long size);
> -extern void lockdep_sys_exit(void);
> +extern asmlinkage void lockdep_sys_exit(void);
>
> extern void lockdep_off(void);
> extern void lockdep_on(void);
> diff --git a/kernel/locking/lockdep.c b/kernel/locking/lockdep.c
> index eb8a547..c8b6753 100644
> --- a/kernel/locking/lockdep.c
> +++ b/kernel/locking/lockdep.c
> @@ -4191,7 +4191,7 @@ void debug_show_held_locks(struct task_struct *task)
> }
> EXPORT_SYMBOL_GPL(debug_show_held_locks);
>
> -void lockdep_sys_exit(void)
> +asmlinkage void lockdep_sys_exit(void)
> {
> struct task_struct *curr = current;
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/