[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: CVS commit: src/usr.sbin/puffs/rump_smbfs
On Fri, Sep 11, 2009 at 14:47:45 +1000, Geoff Wing wrote:
> 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.
No, uipc_domain.c does not need to create the link set section because
other files in the kernel do.
In rump world things get more tricky because uipc_domain.c and files
that actually define domains live in different DSOs. So uipc_domain.o
has unresolved refs to start/stop symbols, which is ok. The real
problem, as pooka explained further down the thread, is that the
start/stop symbols were no longer generated in the component that
actually defined domains because no file in that component actually
referenced them (uipc_domain.o is in another DSO) and new binutils
changed the way those symbols are created.
PS: It's really amazing how rump can cope with link sets in the DSO
world at all. One can condescentingly call it a hack, but link sets
are not rump's fault. People are most welcome to fix this ugliness
properly by helping to get rid of link sets in the kernel.
uwe%stderr.spb.ru@localhost | Zu Grunde kommen
http://snark.ptc.spbu.ru/~uwe/ | Ist zu Grunde gehen
Main Index |
Thread Index |