]> git.proxmox.com Git - mirror_ubuntu-kernels.git/commit
cris: arch-v10: kgdb: Add '__used' for static variable is_dyn_brkp
authorChen Gang <xili_gchen_5257@hotmail.com>
Wed, 5 Aug 2015 22:34:53 +0000 (00:34 +0200)
committerJesper Nilsson <jespern@axis.com>
Mon, 2 Nov 2015 19:03:04 +0000 (20:03 +0100)
commitc33fe4444395a6972b30cb91676d04af2a3dc1a5
tree6ad372d9dfb4a773ebbfdcd1fcb63103e8d3e5a4
parent8f40dcebefd4a9e8fa24d2ac5e3fd5e410eea58d
cris: arch-v10: kgdb: Add '__used' for static variable is_dyn_brkp

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 <gang.chen.5i5j@gmail.com>
Signed-off-by: Jesper Nilsson <jespern@axis.com>
arch/cris/arch-v10/kernel/kgdb.c