Using .. as source for kernel
HOSTLD scripts/dtc/dtc
/usr/bin/ld: scripts/dtc/dtc-parser.tab.o:(.bss+0x10): multiple definition of `yylloc'; scripts/dtc/dtc-lexer.lex.o:(.bss+0x0): first defined here
collect2: error: ld returned 1 exit status
make[2]: *** [scripts/Makefile.host:99: scripts/dtc/dtc] Error 1
make[1]: *** [/home/golden/workspace/kernel-4.20.17/Makefile:1250: scripts_dtc] Error 2
make[1]: Leaving directory '/home/golden/workspace/kernel-4.20.17/build'
make: *** [Makefile:152: sub-make] Error 2
原因是系统自动升级,当前gcc版本升级为10.3.0,应该是新版本的兼容问题。
$ gcc --version
gcc (Ubuntu 10.3.0-1ubuntu1) 10.3.0
将gcc版本还原为9.3.0后,问题解决:
sudo apt install gcc-9
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-9 100