I passed -m68020 to gcc invocation, but gcc takes libs from m68020-60 -
why is that? Would be nice if someone can explain it in one sentence :)
As far as I understood the -m68020 is using the fpu, while 68020-60
doesn't.
There's no magic. It's well defined behavior, you can take a look at
Vincent's patch, there's config file where you define your multilib
configuration. In practice it means for what CPUs libgcc& friends
will be build. More or less standard targets are 68000 (default for
Atari), 68020-60 and since ACP project, Coldfire target. All other
options (m68881, m68030, m68040, ...) are just fallbacks to one of
mentioned targets. So m68020/030/040/060 will always choose
/usr/lib/m68020-60/libc.a for example. If you ask why it is so -- it's
because each library (not only gcc but each one you use) would be
needed to recompile for all those targets and of course, nobody is
willing to provide 10 targets of openssl library (it takes long time
to compile, you need to tweak Makefiles / rpm spec files etc).
Just remember to use those three targets and you're fine. And you can
always check with -Wl,-t command line parameter what are you linking
if not sure. (i.e. gcc -m68020 -Wl,-t hello hello.c)