So, I wanted to upgrade Firefox on my FreeBSD 10 workstation, and this in turn caused some supporting libraries to be upgraded, and this broke all sorts of things again.
Initially gdm just segfaulted. After more manual upgrades, it turned out to work again, except that GDM had lost all localization, and in particular got the wrong keymap for the login screen.
It appears that gdm_lang is no longer honored (despite still being mentioned in /usr/local/etc/rc.d/gdm): you now need to set gdm’s locale in /usr/local/etc/gdm/locale.conf. Also note that unlike other user-editable configuration files, this one is overwritten each time gdm is reinstalled.