A while back, in October 2016, when attempting to build an (older 3.x) kernel for the x86_64, I got the following error:
$ make
[...]
CC scripts/mod/empty.o
scripts/mod/empty.c:1:0: error: code model kernel does not support PIC mode
/* empty file to figure out endianness / word size */
[...]
It turns out that it’s not a kernel issue at all. Rather, it's a compiler switch issue on Ubuntu 16.10: gcc(1) insists on using the -fPIE (where PIE is short for Position Independent Executable) flag by default. In the Makefile of older kernels, we need to turn this off. It's been fixed since.
This Q&A on the AskUbuntu website, on the topic of Kernel doesn't support PIC mode for compiling?, describes how this can be done: https://askubuntu.com/questions/851433/kernel-doesnt-support-pic-mode-for-compiling.
(Interestingly, in the preceding Watching the kernel build run section, with...