Eu fiz isso no passado para bibliotecas, mas não criei ferramentas, então não vejo por que o seguinte não deveria funcionar, a não ser problemas de compatibilidade binária se você cria alguma biblioteca. Como vitalyster apontou esta não é uma abordagem ideal e você pode ter problemas, mas é tecnicamente possível fazê-lo desta forma.
A maneira que eu fiz isso é incluir o pacote (no seu caso GCC) no meu projeto e configurar o build / use no build (em repositórios) para construir apenas as arquiteturas que não têm uma versão nova o suficiente .
Também coloco BuildRequires: gcc >= 4.8
em sua especificação para garantir que a versão mais recente seja escolhida, mas isso não é necessário
Um exemplo pode ser encontrado em link no pacote luajit está disponível somente no repositório openSUSE: Factory , então eu tenho uma cópia no repositório que constrói para tudo, exceto openSUSE: Factory , que usa aquele fornecido no repositório upstream.
No seu repositório você pode ramificar o pacote existente , o que significa que você pode encontrar uma versão do gcc que já está disponível no obs e usar isso em vez de criar o seu próprio.