gcc-4.7.2-3.fc18.x86_64 includes this file, which is actually a symlink: /usr/lib/gcc/x86_64-redhat-linux/4.7.2/32/libgcc_s.so -> /lib/libgcc_s.so.1 This symlink is broken (gcc -m32 fails) unless libgcc.i686 is manually installed. Perhaps libgcc.i686 should be a prereq of the main x86-64 gcc package. Or perhaps the /32/ multilib files should not be in the base rpm.
This is by design. Prereq of i686 packages in x86_64 devel packages is highly undesirable (many people don't need/want -m32 support and don't want any i686.rpm packages installed). And moving stuff to a different package wouldn't help in any way, gcc -m32 would still fail unless you install the needed 32-bit devel support (libgcc.i686, glibc-devel.i686, libstdc++-devel.i686 or more).