Re: [Suggestion] tile: include: asm: missing "feedback.h" file.

From: Chris Metcalf
Date: Thu Jun 27 2013 - 10:16:21 EST


On 6/26/2013 12:25 AM, Chen Gang wrote:
> Hello Maintainers:
>
> The compilation failed by "make ARCH=tile tilegx_defconfig", and "make
> ARCH=tile CROSS_COMPILE=tile-linux-gnu-" for upstream next-20130625.
>
> The related error:
>
> CC kernel/bounds.s
> In file included from include/linux/linkage.h:7:0,
> from include/linux/kernel.h:6,
> from include/asm-generic/bug.h:13,
> from arch/tile/include/generated/asm/bug.h:1,
> from include/linux/bug.h:4,
> from include/linux/page-flags.h:9,
> from kernel/bounds.c:9:
> /root/linux-next/arch/tile/include/asm/linkage.h:18:22: fatal error: feedback.h: No such file or directory
>
> We really need "feedback.h"
>
> arch/tile/kernel/entry.S: Assembler messages:
> arch/tile/kernel/entry.S:26: Error: Unknown opcode `feedback_enter(current_text_addr)'.
> arch/tile/kernel/entry.S:46: Error: Unknown opcode `feedback_enter(dump_stack)'.
> arch/tile/kernel/entry.S:53: Error: Unknown opcode `feedback_enter(KBacktraceIterator_init_current)'.
> arch/tile/kernel/entry.S:61: Error: Unknown opcode `feedback_enter(smp_nap)'.
> arch/tile/kernel/entry.S:76: Error: Unknown opcode `feedback_enter(_cpu_idle)'.
>
> Welcome any suggestions and completions.

This is fixed in gcc 4.7.2 or later. For the workaround, see:

http://www.tilera.com/scm/source.html#feedback_h

Essentially, you just have to create a dummy <feedback.h> header, e.g. for 4.7.1:

cat > $install/lib/gcc/tilegx-unknown-linux-gnu/4.7.1/include/feedback.h
#define FEEDBACK_ENTER_EXPLICIT(FUNCNAME, SECNAME, SIZE)
#define FEEDBACK_ENTER(FUNCNAME)
#define FEEDBACK_REENTER(FUNCNAME)
#define FEEDBACK_ENTRY(FUNCNAME, SECNAME, SIZE)
^D

--
Chris Metcalf, Tilera Corp.
http://www.tilera.com

--
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/