Los archivos de objetos no se agregaron correctamente al archivo en mac

Estoy tratando de construir un archivo a partir de una colección de archivos de objetos. Estoy haciendo esto con

ar -rs my_archive.a foo.o bar.o other_object_files.o.

En una máquina Linux, todo está bien, pero cuando intento el mismo comando en mi Mac, parece que solo se agregan algunos archivos de objetos. Esto da como resultado símbolos indefinidos que corresponden a subrutinas en, digamos,other_object_files.o.

Además, si trato de vincular manualmente los archivos de objetos que dieron lugar a símbolos indefinidos, puedo construir correctamente el ejecutable.

Es decir

ifort -o my_exec main.o other_object_files.o my_archive.a

funciona bien.

¿Me estoy perdiendo alguna diferencia entre Linux y Mac con respecto a esto?

EDITAR

Denm other_object_files.o los símbolos se ven bien, por lo que es realmente como si no se agregaran correctamente al archivo.

Aquí hay algunas líneas demy_archive.atanto en Linux como en Mac (los nombres del objeto y los archivos de archivo son diferentes, por supuesto)

Linux:

ed_2.1-opt.a:decomp_coms.o:0000000000000000 T decomp_coms._
ed_2.1-opt.a:decomp_coms.o:0000000000000038 R decomp_coms___debug_param_const
ed_2.1-opt.a:decomp_coms.o:0000000000000030 D decomp_coms_mp_cwd_frac_
ed_2.1-opt.a:decomp_coms.o:0000000000000008 D decomp_coms_mp_decay_rate_fsc_
ed_2.1-opt.a:decomp_coms.o:0000000000000000 D decomp_coms_mp_decay_rate_ssc_
ed_2.1-opt.a:decomp_coms.o:0000000000000010 D decomp_coms_mp_decay_rate_stsc_
ed_2.1-opt.a:decomp_coms.o:0000000000000004 C decomp_coms_mp_decomp_scheme_
ed_2.1-opt.a:decomp_coms.o:0000000000000044 C decomp_coms_mp_f_labile_

Mac:

ed_2.1-opt.a:decomp_coms.o: 0000000000000000 T _decomp_coms._
ed_2.1-opt.a:decomp_coms.o: 000000000000058c S _decomp_coms._.eh
ed_2.1-opt.a:decomp_coms.o: 0000000000000010 C _decomp_coms_mp_cwd_frac_
ed_2.1-opt.a:decomp_coms.o: 0000000000000010 C _decomp_coms_mp_decay_rate_fsc_
ed_2.1-opt.a:decomp_coms.o: 0000000000000010 C _decomp_coms_mp_decay_rate_ssc_
ed_2.1-opt.a:decomp_coms.o: 0000000000000010 C _decomp_coms_mp_decay_rate_stsc_
ed_2.1-opt.a:decomp_coms.o: 0000000000000010 C _decomp_coms_mp_decomp_scheme_
ed_2.1-opt.a:decomp_coms.o: 0000000000000050 C _decomp_coms_mp_f_labile_

EDITAR

Intentado también

libtool -static -arch_only x86_64 -o my_archive.a foo.o bar.o other_object_files.o

siguiendo esto SOenviar pero de nuevo no hay progreso.

Respuestas a la pregunta(1)

Su respuesta a la pregunta