On Thu, Aug 06, 2015 at 12:34:53AM +0200, Chen Gang wrote:
> Within one C file, current gcc can optimize the global static variables
> according to the C code, but it will skip assembly code -- it will pass
> them to gas directly.
>
> if the static variable is used between C code and assembly code in one C
> file (e.g. is_dyn_brkp in kgdb.c), it needs '__used' to let gcc know it
> should be still used, or gcc may remove it for optimization.
>
> The related error in this case:
>
> LD init/built-in.o
> arch/cris/arch-v10/kernel/built-in.o: In function `kgdb_handle_breakpoint':
> (.text+0x2aca): undefined reference to `is_dyn_brkp'
> arch/cris/arch-v10/kernel/built-in.o: In function `is_static':
> kgdb.c:(.text+0x2ada): undefined reference to `is_dyn_brkp'
>
> Signed-off-by: Chen Gang <[email protected]>
Added to the cris tree, thanks!
/^JN - Jesper Nilsson
--
Jesper Nilsson -- [email protected]
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/