https://gcc.gnu.org/bugzilla/show_bug.cgi?id=125197
--- Comment #13 from Jonathan Wakely <redi at gcc dot gnu.org> --- It's been reported now because the implicit linking to libatomic made people notice it recently. For x86_64-linux, doesn't the -m32 flag imply -march=x86-64 i.e. the 32-bit instructions supported by all x86_64 CPUs? If you want to use an x86_64 multilib compiler to produce code for i486 then you need to say so explicitly, the -m32 option does not default to producing code that will run on non-x86_64 CPUs. Is the sparcv9 -m32 multilib different? Does it really need to (*by default*) produce code that will run on pre-sparcv9 CPUs? If you're using a sparcv9 compiler, I would expect it to default to emitting code that requires sparcv9, and you should use -march=cypress or similar if you explicitly want to target something older than sparcv9.
