Current-Users archive

[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 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.

SY, Uwe
--                       |       Zu Grunde kommen          |       Ist zu Grunde gehen

Home | Main Index | Thread Index | Old Index