The warning is generated in set_source_info
set_source_info is called from systems/i*.pas to indicate what the cpu+os compiler was built FROM. It should only be called once
For example in i_linux.pas
{$ifdef CPUI386}
{$ifdef linux}
{ some FreeBSD versions define linux as well }
{$ifndef FreeBSD}
set_source_info(system_i386_linux_info);
{$endif FreeBSD}
{$endif}
{$endif CPUI386}
...
{$ifdef CPUX86_64}
{$ifdef linux}
set_source_info(system_x86_64_linux_info);
{$endif linux}
{$endif CPUX86_64}
...
linux might be defined, but only one of CPUI386 and CPUX86_64 should be defined. Since you can't build a compiler that runs on both (well it can but it will be built for one ISA or the other)