For those readers who follow the emacs religion: Andreas Fuchs found that the emacs build expects /usr/lib/crtbegin.o
, which does not exist on DragonFly. Rahul Siddharthan removed the mention of crtbegin.o from the makefile for emacs, and that seems to fix it.
Updated: Hiten Pandya added a port override for emacs, made by Aaron Malone. That solves it.