ar em um arquivo .a existente?

Essencialmente, o que eu quero fazer é o seguinte:

gcc foo.c -o foo.o
ar rcs foo.a foo.o
gcc bar.c -o boo.o
ar rcs bar.a bar.o foo.a

Quero arquivar um objeto e uma biblioteca estática em outra biblioteca estática. Infelizmente, o último comando não acaba contendo foo.o (contém bar.o e foo.a); portanto, quando chego ao estágio de vinculação, o vinculador não consegue encontrar os símbolos de foo.o.

Existe uma maneira de fazer o que eu quero aqui? Estou fazendo tudo isso de improviso, então estou procurando uma solução que não envolva extrair e arquivar novamente os objetos (o que parece meio doloroso). Existe uma maneira de fazer esse tipo de instalação "arquivar de outro arquivamento"?

questionAnswers(2)

yourAnswerToTheQuestion