MIPS: Enable GCOV
authorXingxing Su <suxingxing@loongson.cn>
Thu, 3 Dec 2020 07:22:51 +0000 (15:22 +0800)
committerThomas Bogendoerfer <tsbogend@alpha.franken.de>
Fri, 4 Dec 2020 12:00:53 +0000 (13:00 +0100)
commit8b3165e54566e8bb8f4b7d4e5f12ced78ce462bb
treed7f2c9af831258975d050bb6c3f8ddc3f3bbccbe
parent79109a515ac3f1009632f4a4c81597e9438a2d65
MIPS: Enable GCOV

Enable gcov profiling of the entire kernel on mips. Required changes
include disabling profiling for:

* arch/kernel/boot/compressed: not linked to main kernel.

Lightly tested on Loongson 3A3000 an 3A4000, seems to work as expected.

without "GCOV_PROFILE := n" in compressed Makefile,
build errors as follows:
...
ld: arch/mips/boot/compressed/string.o:(.data+0x88):
 undefined reference to `__gcov_merge_add'
ld: arch/mips/boot/compressed/string.o:
 in function `_GLOBAL__sub_I_00100_0_memcpy':
string.c:(.text.startup+0x4): undefined reference to `__gcov_init'
ld: arch/mips/boot/compressed/string.o:
 in function `_GLOBAL__sub_D_00100_1_memcpy':
string.c:(.text.exit+0x0): undefined reference to `__gcov_exit'
...

Signed-off-by: Youling Tang <tangyouling@loongson.cn>
Signed-off-by: Xingxing Su <suxingxing@loongson.cn>
Signed-off-by: Thomas Bogendoerfer <tsbogend@alpha.franken.de>
arch/mips/Kconfig
arch/mips/boot/compressed/Makefile