Accordind to PR26968 description,
"In a FreeBSD/i386 buildworld many objects have SHF_MERGE with sh_entsize == 0, and this shouldn't be a fatal error. "
Probably we do not want to spread the fix on different targets as looks these objects are just broken on i386.
So patch fixes it only for I386 target.
This is no longer true; the objects with sh_entsize == 0 were due to a bug with lld -r that has since been fixed. So we no longer encounter this issue on FreeBSD/i386. Thus, this issue comes down to a question of what should lld do if it encounters atypical / unusual input.
From http://www.sco.com/developers/gabi/1998-04-29/ch4.sheader.html, sh_entsize
https://docs.oracle.com/cd/E19120-01/open.solaris/819-0690/ggdlu/index.html suggests that mergeable string sections may have sh_entsize == 0.
In my opinion restoring rL263664 is reasonable; objects with SHF_MERGE and sh_entsize == 0 are not invalid, and the linker is free to just avoid the merge optimization in this case.