Oh, right. When I think "cross compiler" I assume "for an embedded target". Yes, two compilers with different $host but same $target *should* (but currently don't) produce the same objects.
Two compilers with the same $host but different $target won't, even if the two $targets are very similar.