Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 2 Aug 2018 13:04:49 -0600
From:      Warner Losh <imp@bsdimp.com>
To:        Eric McCorkle <eric@metricspace.net>
Cc:        Brooks Davis <brooks@freebsd.org>, FreeBSD Hackers <freebsd-hackers@freebsd.org>
Subject:   Re: A few build system questions
Message-ID:  <CANCZdfqFJs_dTc1gXf8=5ZcC=C9HghHU%2Bb0uzfjZkpA__%2B=DjA@mail.gmail.com>
In-Reply-To: <7a14aee9-8205-4fc7-a7a0-a9ed2f33751d@metricspace.net>
References:  <bedd6e76-bbe4-7690-70ed-041bbe7970f7@metricspace.net> <20180802153357.GA25687@spindle.one-eyed-alien.net> <7f143985-2ebb-210a-e314-0deebd3d9f5b@metricspace.net> <CANCZdfpACQP6gypGm_Jp1qQxMpTZT7XoUJnZPQMt7M46cgiqhQ@mail.gmail.com> <7a14aee9-8205-4fc7-a7a0-a9ed2f33751d@metricspace.net>

next in thread | previous in thread | raw e-mail | index | archive | help
On Thu, Aug 2, 2018 at 11:45 AM, Eric McCorkle <eric@metricspace.net> wrote:

> On 08/02/2018 12:56, Warner Losh wrote:
> >
> >
> > On Thu, Aug 2, 2018, 5:19 PM Eric McCorkle <eric@metricspace.net
> > <mailto:eric@metricspace.net>> wrote:
> >
> >     On 08/02/2018 11:33, Brooks Davis wrote:
> >     > On Thu, Aug 02, 2018 at 11:17:06AM -0400, Eric McCorkle wrote:
> >     >> Hi,
> >     >>
> >     >> I have a few questions about how to accomplish some things with
> the
> >     >> build system.
> >     >>
> >     >> First, I want to create some libraries that exist only as static
> >     >> archives, meaning no shared object (ex. libsomething.a, but no
> >     >> libsomething.so)
> >     >
> >     > If it's something for use by only the base system PRIVATELIB= will
> >     > do it (and change the name to libprivatesomethi.a).  If you want
> to be
> >     > broadly available outside the base system, NO_SHARED= should do it
> >     IIRC.
> >
> >     If loader and kernel are able to use private libraries, then that is
> >     probably better, actually.
> >
> >
> > They aren't.  Src/stand depends on no objects in the system other than
> > what is built in src/stand. What you are proposing is a non-starter. The
> > loader
>
> I think you hit "send" too soon...
>
> Basically what I'm trying to do at this point is two things.
>
> First, I want to convert some certs into C declarations and embed them
> into a static library, which can in turn be used to embed them into
> applications.  This is essentially the same thing that some drivers do,
> where they embed the firmware binaries directly into the driver.
>

This is easy.


> Second, and a (somewhat) separate thing, I'm trying to see if I can get
> a PoC of extracting the specific primitives out of OpenSSL and using
> them in place of the current software crypto implementations in kernel
> and loader.  (objcopy ought to be able to do this to a static library in
> theory)
>

Such a strategy won't fly for various reasons. Userland, the loader and the
kernel are all compiled with different options. You'll need to recompile
for each and not do objcopy tricks because the current build model doesn't
allow for that.

Warner



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CANCZdfqFJs_dTc1gXf8=5ZcC=C9HghHU%2Bb0uzfjZkpA__%2B=DjA>