I applied the patch, and it didn't change anything at first.
Then I decided to build xulrunner with the gold linker instead of gnu ld
linker and it built fine. DragonFly 3.1 has the ability to switch to
gold using the environment variable LDVER.
e.g. "> env LDVER=ld.gold bmake"
Previously with gnu ld, I also tried replacing -lkvm with
/usr/lib/libkvm.a, and the static version was also ignored.
I guess the early conclusion is that the patch is correct and gnu ld
linker is malfunctioning. I don't know what workaround could be applied
for gnu ld linker other than to put -lkvm much earlier in the command
line perhaps (assumes it's a command line position related issued,
perhaps affected by previous -L switches).