On Thursday 2009-09-10 13:55 +0300, Antti Kantee output: :No, that is *absolutely the wrong thing*, since while it might make :the build work, it breaks the resulting binary. I'm a bit baffled that :breakage like that was committed to rump_nfs/Makefile in the first place. : :It seems there is a regression in binutils 2.19 which prevents the :standard DOMAIN_DEFINE() macro from working. I suggest reverting back :to 2.16 until the cause is identified and the bug is fixed.
No, that's a red herring. The problem is a long-standing one with sys/kern/uipc_domain.c (from rev 1.49 2005/01/23 onwards). Someone has it use link sets without ever creating a section header so that they actually work properly. This caused librumpnet.so to also have a bad copy. With the following initial patch, you should see a link section with "objdump -h". The second patch just removes the other wrong build stuff. Regards, Geoff Index: sys/kern/uipc_domain.c =================================================================== RCS file: /cvsroot/src/sys/kern/uipc_domain.c,v retrieving revision 1.83 diff -u -r1.83 uipc_domain.c --- sys/kern/uipc_domain.c 8 Sep 2009 18:01:34 -0000 1.83 +++ sys/kern/uipc_domain.c 11 Sep 2009 04:25:50 -0000 @@ -76,6 +76,9 @@ static struct sysctllog *domain_sysctllog; static void sysctl_net_setup(void); +static struct domain dummy_static_domain; +__link_set_add_bss(domains, dummy_static_domain); + void domaininit(bool addroute) { Index: usr.sbin/puffs/rump_nfs/Makefile =================================================================== RCS file: /cvsroot/src/usr.sbin/puffs/rump_nfs/Makefile,v retrieving revision 1.4 diff -u -r1.4 Makefile --- usr.sbin/puffs/rump_nfs/Makefile 21 Aug 2009 14:41:22 -0000 1.4 +++ usr.sbin/puffs/rump_nfs/Makefile 11 Sep 2009 04:26:11 -0000 @@ -20,9 +20,6 @@ #LDADD+= -lrumpfs_nfs -lrumpnet -lrumpnet_net -lrumpnet_netinet \ -lrumpnet_virtif -LDFLAGS+= -Wl,--ignore-unresolved-symbol,__start_link_set_domains -LDFLAGS+= -Wl,--ignore-unresolved-symbol,__stop_link_set_domains - ISRUMP= # gives me nightmares #CPPFLAGS+= -DINET6 # for getnfsargs?