Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 29 May 1999 14:28:24 -0500 (CDT)
From:      Mohit Aron <aron@cs.rice.edu>
To:        des@flood.ping.uio.no (Dag-Erling Smorgrav)
Cc:        freebsd-hackers@freebsd.org
Subject:   Re: symorder for FreeBSD-3.x
Message-ID:  <199905291928.OAA15760@cs.rice.edu>
In-Reply-To: <xzp7lpsoexu.fsf@localhost.ping.uio.no> from "Dag-Erling Smorgrav" at May 29, 99 03:14:05 am

next in thread | previous in thread | raw e-mail | index | archive | help

> 
> COFF? FreeBSD never supported COFF, to the best of my knowledge.
> 

Sorry, should've said a.out.

> You might want to take a look at objcopy(1).
> 


I was interested in functionality given by 'symorder -c' that can localize
all function and data definitions in an object file. objcopy() does have
a '-L' option that can do this on a per symbol basis, but there seems to be
no way of localizing all the symbols (barring the cumbersome specification of
all global symbols using -L to objcopy).

I was looking for the above functionality for localizing symbol definitions
in kernel modules so that they don't conflict with the default kernel. For
example, if loading an alternate network stack as a module, several global
definitions can conflict with those in the kernel (e.g. tcp_input(), ...).

However, I discovered that kldload doesn't care about such conflicts and simply
goes ahead and loads the module anyway even if there are conflicting symbol
definitions in the module (the lkm modload used to complain about this). I
don't know whether this is an elf feature or a bug. Can someone clarify ?



- Mohit


To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-hackers" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199905291928.OAA15760>