Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 22 Jun 2004 18:44:11 +0300
From:      Ruslan Ermilov <ru@freebsd.org>
To:        ngl <ngl@ur.ru>
Cc:        freebsd-standards@freebsd.org
Subject:   Re: EXPORT_SYMS
Message-ID:  <20040622154411.GA47418@ip.net.ua>
In-Reply-To: <047b01c4584d$262017a0$8501a8c0@spirit>
References:  <047b01c4584d$262017a0$8501a8c0@spirit>

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

--ibTvN161/egqYuK8
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable

On Tue, Jun 22, 2004 at 05:36:23PM +0600, ngl wrote:
> In KLD module makefile i can specify=20
> EXPORT_SYMS=3D  name1, name2, ...
> What does it mean ?
>=20
According to sys/conf/kmod.mk:

# EXPORT_SYMS   A list of symbols that should be exported from the module,
#               or the name of a file containing a list of symbols, or YES
#               to export all symbols.  If not defined, no symbols are
#               exported.

This is used to avoid possible name conflicts between different modules.
All symbols that aren't exported (none are exported by default) will be
made local by objcopy(1).  In the past, two different modules could define
a common global name, and resolution of a name could give unpredictable
results, often resulting in a panic.

Note: if module A depends on symbol S from module B, and the dependency
of A on B is recorded, S should *not* be global.


Cheers,
--=20
Ruslan Ermilov
ru@FreeBSD.org
FreeBSD committer

--ibTvN161/egqYuK8
Content-Type: application/pgp-signature
Content-Disposition: inline

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.4 (FreeBSD)

iD8DBQFA2FPLqRfpzJluFF4RAt6dAJ9CO6b/3pFngm3uHwZ8ts5BcD9SBQCdEjfn
Qj1mvwEwJht5OvtFBR42AZ8=
=jBHW
-----END PGP SIGNATURE-----

--ibTvN161/egqYuK8--



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