The goal of this to avoid the declaration of arch-specific builtins when the architecture doesn't match. As nice side-effects it also: * add support for arch-specific builtins in their target-<arch>.c * let these builtins declarations be done via a table (it was done via a serie of function calls, one by builtin). * add minimal support for the architectures Alpha, Blackfin & Nios2. These changes are motivated by a recent report from the kbuild test bot (which seems to find lately much more sparse-related issues in the kernel than it used to, often address-space & endianness problems). Luc Van Oostenryck (7): builtin: can be initialized later builtin: use a table for the builtins builtin: unify the 2 tables of builtins builtin: add support for arch-specific builtins arch: add specificities for Nios2 arch: add specificities for Blackfin arch: add specificities for Alpha Makefile | 3 + builtin.c | 439 ++++++++++++++++++++++--------------------------- builtin.h | 15 ++ lib.c | 2 +- machine.h | 5 + symbol.c | 1 - symbol.h | 1 - target-alpha.c | 30 ++++ target-bfin.c | 26 +++ target-nios2.c | 31 ++++ target.c | 6 + target.h | 7 + 12 files changed, 321 insertions(+), 245 deletions(-) create mode 100644 builtin.h create mode 100644 target-alpha.c create mode 100644 target-bfin.c create mode 100644 target-nios2.c base-commit: 42323db3955557b223268ec4196acb77308ab204 -- 2.27.0