Ningún archivo de encabezado lo define; esas macros están predefinidas por el compilador. Para conocer la lista completa de macros predefinidas, haga lo siguiente:
echo | gcc -E -dM -
Luego busque en los resultados posibles macros.
Más precisamente, creo que aquí es donde el __x86_64__
se define por ejemplo:https://github.com/gcc-mirror/gcc/blob/releases%2Fgcc-10.2.0/gcc/config/i386/i386-c.c#L688
cpp_define (parse_in, "__x86_64__");
pero no tuve la paciencia para modificar el código fuente, recompilarlo y probarlo todavía. Una buena manera de buscar es:
git grep '"__aarch64__'