Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 10 Jan 2004 12:16:58 +0100
From:      des@des.no (Dag-Erling =?iso-8859-1?q?Sm=F8rgrav?=)
To:        Alfred Perlstein <alfred@freebsd.org>
Cc:        hackers@freebsd.org
Subject:   Re: help with linking please
Message-ID:  <xzp3caojbo5.fsf@dwp.des.no>
In-Reply-To: <20040110050033.GP9623@elvis.mu.org> (Alfred Perlstein's message of "Fri, 9 Jan 2004 21:00:33 -0800")
References:  <20040110050033.GP9623@elvis.mu.org>

next in thread | previous in thread | raw e-mail | index | archive | help
Alfred Perlstein <alfred@freebsd.org> writes:
> I'm having a hell of a time doing this so I can produce a static
> .o or .a with most of the symbols stripped.  Two problems seem to be
> that even if I use "ld -r -o main.o obj1.o obj2.c libfoo.a" then I
> can not strip symbols in obj1.o that are referenced from obj2.o
> even after I combine the object files.

You can link all your object files into one:

$ ld -r -o all.o foo.o bar.o baz.o

then strip unwanted symbols with {objcopy,strip} -N (or better yet,
use {objcopy,strip} -K to strip all symbols except the ones you want
to export)

this is precisely what we do with klds to reduce namespace pollution.

DES
--=20
Dag-Erling Sm=F8rgrav - des@des.no



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