All of lore.kernel.org
 help / color / mirror / Atom feed
* [Buildroot] compiler plugins & compiling the kernel
@ 2016-08-20 17:10 Kenneth Adam Miller
  2016-08-20 18:01 ` Thomas Petazzoni
       [not found] ` <CAMKF1sr1ZvZZW++J4pxixtr1KXGi8qGBRFEJGoaJSc_=Yn=x3Q@mail.gmail.com>
  0 siblings, 2 replies; 10+ messages in thread
From: Kenneth Adam Miller @ 2016-08-20 17:10 UTC (permalink / raw)
  To: buildroot

Hello all,


I've noticed that when the kernel is built, it appears to always be
built with the host compiler, and not the buildroot specified cross
compiler. Why is that?

In addition, for some pax related options, it requires gcc plugins for
the version being used. That means that I would have to have plugin
support for my host, correct? I don't believe that there is a way to
enable plugin support for the buildroot toolchain or for crosstool. At
least, when I looked and searched I didn't see any option that
mentioned that. I just want to make sure that I have it correct in
that my host compiler is being used to build the kernel.

^ permalink raw reply	[flat|nested] 10+ messages in thread

* [Buildroot] compiler plugins & compiling the kernel
  2016-08-20 17:10 [Buildroot] compiler plugins & compiling the kernel Kenneth Adam Miller
@ 2016-08-20 18:01 ` Thomas Petazzoni
  2016-08-20 22:39   ` Kenneth Adam Miller
       [not found] ` <CAMKF1sr1ZvZZW++J4pxixtr1KXGi8qGBRFEJGoaJSc_=Yn=x3Q@mail.gmail.com>
  1 sibling, 1 reply; 10+ messages in thread
From: Thomas Petazzoni @ 2016-08-20 18:01 UTC (permalink / raw)
  To: buildroot

Hello,

On Sat, 20 Aug 2016 13:10:07 -0400, Kenneth Adam Miller wrote:

> I've noticed that when the kernel is built, it appears to always be
> built with the host compiler, and not the buildroot specified cross
> compiler. Why is that?

This is not true, the kernel is built with the cross-compiler.
Otherwise, Buildroot would never be able to build an ARM, PowerPC or
MIPS kernel on a x86 or x86-64 build machine.

> In addition, for some pax related options, it requires gcc plugins for
> the version being used. That means that I would have to have plugin
> support for my host, correct?

No, you would need support for plugins in the cross-compiler.

> I don't believe that there is a way to
> enable plugin support for the buildroot toolchain or for crosstool. At
> least, when I looked and searched I didn't see any option that
> mentioned that. I just want to make sure that I have it correct in
> that my host compiler is being used to build the kernel.

You're not correct. Support for plugins should be added to the
cross-compiler if you need plugin support to build your kernel.

Best regards,

Thomas
-- 
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux and Kernel engineering
http://free-electrons.com

^ permalink raw reply	[flat|nested] 10+ messages in thread

* [Buildroot] compiler plugins & compiling the kernel
  2016-08-20 18:01 ` Thomas Petazzoni
@ 2016-08-20 22:39   ` Kenneth Adam Miller
  2016-08-21  3:43     ` Kenneth Adam Miller
  0 siblings, 1 reply; 10+ messages in thread
From: Kenneth Adam Miller @ 2016-08-20 22:39 UTC (permalink / raw)
  To: buildroot

On Sat, Aug 20, 2016 at 2:01 PM, Thomas Petazzoni
<thomas.petazzoni@free-electrons.com> wrote:
> Hello,
>
> On Sat, 20 Aug 2016 13:10:07 -0400, Kenneth Adam Miller wrote:
>
>> I've noticed that when the kernel is built, it appears to always be
>> built with the host compiler, and not the buildroot specified cross
>> compiler. Why is that?
>
> This is not true, the kernel is built with the cross-compiler.
> Otherwise, Buildroot would never be able to build an ARM, PowerPC or
> MIPS kernel on a x86 or x86-64 build machine.
>

Well I'm not arguing with you, but I had at one point set up buildroot
within a docker instance, and then started the build going when it
stopped because of some compiler centric package on my host. I
installed something, and then the build continued in exactly that
sequence. Although, because my docker instance was stopped abruptly
and since bash saves history to disk after having been exited I don't
have that package name. The compiler packages I have are gcc, gcc-5,
gcc-5-base:amd64, gcc-5-locales, gcc-5-plugin-dev, gcc-6-base:amd64,
libgcc-5-dev:amd64, libgcc1:amd64

>> In addition, for some pax related options, it requires gcc plugins for
>> the version being used. That means that I would have to have plugin
>> support for my host, correct?
>
> No, you would need support for plugins in the cross-compiler.
>

We have been building gr-security modded kernels for some time on a
different machine with gcc 4.8, but I'm having this confusion; does
the buildroot internal compiler support that? Because I'm getting an
error in buildroot indicating that compiler plugins must be supported,
and I'm using the buildroot internal compiler with version 5.x, it
confused me a little bit.

>> I don't believe that there is a way to
>> enable plugin support for the buildroot toolchain or for crosstool. At
>> least, when I looked and searched I didn't see any option that
>> mentioned that. I just want to make sure that I have it correct in
>> that my host compiler is being used to build the kernel.
>
> You're not correct. Support for plugins should be added to the
> cross-compiler if you need plugin support to build your kernel.
>

That doesn't appear to be an option in buildroot.

> Best regards,
>
> Thomas
> --
> Thomas Petazzoni, CTO, Free Electrons
> Embedded Linux and Kernel engineering
> http://free-electrons.com

^ permalink raw reply	[flat|nested] 10+ messages in thread

* [Buildroot] compiler plugins & compiling the kernel
  2016-08-20 22:39   ` Kenneth Adam Miller
@ 2016-08-21  3:43     ` Kenneth Adam Miller
  2016-08-24  0:46       ` Arnout Vandecappelle
  0 siblings, 1 reply; 10+ messages in thread
From: Kenneth Adam Miller @ 2016-08-21  3:43 UTC (permalink / raw)
  To: buildroot

On Sat, Aug 20, 2016 at 6:39 PM, Kenneth Adam Miller
<kennethadammiller@gmail.com> wrote:
> On Sat, Aug 20, 2016 at 2:01 PM, Thomas Petazzoni
> <thomas.petazzoni@free-electrons.com> wrote:
>> Hello,
>>
>> On Sat, 20 Aug 2016 13:10:07 -0400, Kenneth Adam Miller wrote:
>>
>>> I've noticed that when the kernel is built, it appears to always be
>>> built with the host compiler, and not the buildroot specified cross
>>> compiler. Why is that?
>>
>> This is not true, the kernel is built with the cross-compiler.
>> Otherwise, Buildroot would never be able to build an ARM, PowerPC or
>> MIPS kernel on a x86 or x86-64 build machine.
>>
>
> Well I'm not arguing with you, but I had at one point set up buildroot
> within a docker instance, and then started the build going when it
> stopped because of some compiler centric package on my host. I
> installed something, and then the build continued in exactly that
> sequence. Although, because my docker instance was stopped abruptly
> and since bash saves history to disk after having been exited I don't
> have that package name. The compiler packages I have are gcc, gcc-5,
> gcc-5-base:amd64, gcc-5-locales, gcc-5-plugin-dev, gcc-6-base:amd64,
> libgcc-5-dev:amd64, libgcc1:amd64
>
>>> In addition, for some pax related options, it requires gcc plugins for
>>> the version being used. That means that I would have to have plugin
>>> support for my host, correct?
>>
>> No, you would need support for plugins in the cross-compiler.
>>
>
> We have been building gr-security modded kernels for some time on a
> different machine with gcc 4.8, but I'm having this confusion; does
> the buildroot internal compiler support that? Because I'm getting an
> error in buildroot indicating that compiler plugins must be supported,
> and I'm using the buildroot internal compiler with version 5.x, it
> confused me a little bit.
>

I found the exact output that brought about the build error.

>>> linux-headers 3.14.51 Configuring...
...
make[2]: Entering directory ... build/linux-headers-3.14.51
Makefile:652 *** Your gcc installation does not support plugins. If
the necessary headers for plugin support are missing, they should be
installed. On Debian, apt-get install gcc-<ver>-plugin-dev. If you
choose to ignore this error and...

>>> I don't believe that there is a way to
>>> enable plugin support for the buildroot toolchain or for crosstool. At
>>> least, when I looked and searched I didn't see any option that
>>> mentioned that. I just want to make sure that I have it correct in
>>> that my host compiler is being used to build the kernel.
>>
>> You're not correct. Support for plugins should be added to the
>> cross-compiler if you need plugin support to build your kernel.
>>
>
> That doesn't appear to be an option in buildroot.
>
>> Best regards,
>>
>> Thomas
>> --
>> Thomas Petazzoni, CTO, Free Electrons
>> Embedded Linux and Kernel engineering
>> http://free-electrons.com

^ permalink raw reply	[flat|nested] 10+ messages in thread

* [Buildroot] compiler plugins & compiling the kernel
       [not found]   ` <CAMKF1sqteu5nK9NGfr1M=A3nZFk2H_J5zhu3BYq0110sjz8vDQ@mail.gmail.com>
@ 2016-08-21  3:55     ` Khem Raj
  2016-08-21 15:21       ` Kenneth Adam Miller
  0 siblings, 1 reply; 10+ messages in thread
From: Khem Raj @ 2016-08-21  3:55 UTC (permalink / raw)
  To: buildroot

On Aug 20, 2016 10:10 AM, "Kenneth Adam Miller" <kennethadammiller@gmail.com>
wrote:
>
> Hello all,
>
>
> I've noticed that when the kernel is built, it appears to always be
> built with the host compiler, and not the buildroot specified cross
> compiler. Why is that?
>

Some portions are compiled for the build host. E.g. Tools. They will always
use native compiler. But the kernel proper should be using cross compiler

> In addition, for some pax related options, it requires gcc plugins for
> the version being used. That means that I would have to have plugin
> support for my host, correct? I don't believe that there is a way to
> enable plugin support for the buildroot toolchain or for crosstool. At
> least, when I looked and searched I didn't see any option that
> mentioned that. I just want to make sure that I have it correct in
> that my host compiler is being used to build the kernel.
> _______________________________________________
> buildroot mailing list
> buildroot at busybox.net
> http://lists.busybox.net/mailman/listinfo/buildroot
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.busybox.net/pipermail/buildroot/attachments/20160820/e1001007/attachment.html>

^ permalink raw reply	[flat|nested] 10+ messages in thread

* [Buildroot] compiler plugins & compiling the kernel
  2016-08-21  3:55     ` Khem Raj
@ 2016-08-21 15:21       ` Kenneth Adam Miller
  0 siblings, 0 replies; 10+ messages in thread
From: Kenneth Adam Miller @ 2016-08-21 15:21 UTC (permalink / raw)
  To: buildroot

On Sat, Aug 20, 2016 at 11:55 PM, Khem Raj <raj.khem@gmail.com> wrote:
> On Aug 20, 2016 10:10 AM, "Kenneth Adam Miller"
> <kennethadammiller@gmail.com> wrote:
>>
>> Hello all,
>>
>>
>> I've noticed that when the kernel is built, it appears to always be
>> built with the host compiler, and not the buildroot specified cross
>> compiler. Why is that?
>>
>
> Some portions are compiled for the build host. E.g. Tools. They will always
> use native compiler. But the kernel proper should be using cross compiler
>

Oh ok. Maybe that's it.

>> In addition, for some pax related options, it requires gcc plugins for
>> the version being used. That means that I would have to have plugin
>> support for my host, correct? I don't believe that there is a way to
>> enable plugin support for the buildroot toolchain or for crosstool. At
>> least, when I looked and searched I didn't see any option that
>> mentioned that. I just want to make sure that I have it correct in
>> that my host compiler is being used to build the kernel.
>> _______________________________________________
>> buildroot mailing list
>> buildroot at busybox.net
>> http://lists.busybox.net/mailman/listinfo/buildroot

^ permalink raw reply	[flat|nested] 10+ messages in thread

* [Buildroot] compiler plugins & compiling the kernel
  2016-08-21  3:43     ` Kenneth Adam Miller
@ 2016-08-24  0:46       ` Arnout Vandecappelle
  2016-08-24  0:49         ` Kenneth Adam Miller
  2016-08-24  9:34         ` Peter Korsgaard
  0 siblings, 2 replies; 10+ messages in thread
From: Arnout Vandecappelle @ 2016-08-24  0:46 UTC (permalink / raw)
  To: buildroot

On 21-08-16 05:43, Kenneth Adam Miller wrote:
> On Sat, Aug 20, 2016 at 6:39 PM, Kenneth Adam Miller
> <kennethadammiller@gmail.com> wrote:
>> On Sat, Aug 20, 2016 at 2:01 PM, Thomas Petazzoni
>> <thomas.petazzoni@free-electrons.com> wrote:
>>> Hello,
>>>
>>> On Sat, 20 Aug 2016 13:10:07 -0400, Kenneth Adam Miller wrote:
[snip]
>>>> In addition, for some pax related options, it requires gcc plugins for
>>>> the version being used. That means that I would have to have plugin
>>>> support for my host, correct?
>>>
>>> No, you would need support for plugins in the cross-compiler.
>>>
>>
>> We have been building gr-security modded kernels for some time on a
>> different machine with gcc 4.8, but I'm having this confusion; does
>> the buildroot internal compiler support that? Because I'm getting an
>> error in buildroot indicating that compiler plugins must be supported,
>> and I'm using the buildroot internal compiler with version 5.x, it
>> confused me a little bit.
>>
> 
> I found the exact output that brought about the build error.
> 
>>>> linux-headers 3.14.51 Configuring...
> ...
> make[2]: Entering directory ... build/linux-headers-3.14.51
> Makefile:652 *** Your gcc installation does not support plugins. If
> the necessary headers for plugin support are missing, they should be
> installed. On Debian, apt-get install gcc-<ver>-plugin-dev. If you
> choose to ignore this error and...

 Ah, this is annoying...

 When installing linux-headers, we don't pass the cross-compilation arguments,
because the cross-compiler doesn't exist yet at that point. So the installation
will use the host compiler instead for that check. Which is of course wrong.

 Well, actually it's a bug in gr-security, because this check shouldn't be done
for install_headers (gcc isn't even called).

> 
>>>> I don't believe that there is a way to
>>>> enable plugin support for the buildroot toolchain or for crosstool. At
>>>> least, when I looked and searched I didn't see any option that
>>>> mentioned that. I just want to make sure that I have it correct in
>>>> that my host compiler is being used to build the kernel.
>>>
>>> You're not correct. Support for plugins should be added to the
>>> cross-compiler if you need plugin support to build your kernel.
>>>
>>
>> That doesn't appear to be an option in buildroot.

 Well, we pass --enable-plugins when BR2_GCC_ENABLE_LTO is set. We don't pass
--disable-plugins so it really depends on the gcc defaults. But then, we don't
install the plugin development headers to HOST_DIR, so it will probably be
difficult to actually compile a plugin.

 Regards,
 Arnout

-- 
Arnout Vandecappelle                          arnout at mind be
Senior Embedded Software Architect            +32-16-286500
Essensium/Mind                                http://www.mind.be
G.Geenslaan 9, 3001 Leuven, Belgium           BE 872 984 063 RPR Leuven
LinkedIn profile: http://www.linkedin.com/in/arnoutvandecappelle
GPG fingerprint:  7493 020B C7E3 8618 8DEC 222C 82EB F404 F9AC 0DDF

^ permalink raw reply	[flat|nested] 10+ messages in thread

* [Buildroot] compiler plugins & compiling the kernel
  2016-08-24  0:46       ` Arnout Vandecappelle
@ 2016-08-24  0:49         ` Kenneth Adam Miller
  2016-08-24  9:34         ` Peter Korsgaard
  1 sibling, 0 replies; 10+ messages in thread
From: Kenneth Adam Miller @ 2016-08-24  0:49 UTC (permalink / raw)
  To: buildroot

On Tue, Aug 23, 2016 at 8:46 PM, Arnout Vandecappelle <arnout@mind.be> wrote:
> On 21-08-16 05:43, Kenneth Adam Miller wrote:
>> On Sat, Aug 20, 2016 at 6:39 PM, Kenneth Adam Miller
>> <kennethadammiller@gmail.com> wrote:
>>> On Sat, Aug 20, 2016 at 2:01 PM, Thomas Petazzoni
>>> <thomas.petazzoni@free-electrons.com> wrote:
>>>> Hello,
>>>>
>>>> On Sat, 20 Aug 2016 13:10:07 -0400, Kenneth Adam Miller wrote:
> [snip]
>>>>> In addition, for some pax related options, it requires gcc plugins for
>>>>> the version being used. That means that I would have to have plugin
>>>>> support for my host, correct?
>>>>
>>>> No, you would need support for plugins in the cross-compiler.
>>>>
>>>
>>> We have been building gr-security modded kernels for some time on a
>>> different machine with gcc 4.8, but I'm having this confusion; does
>>> the buildroot internal compiler support that? Because I'm getting an
>>> error in buildroot indicating that compiler plugins must be supported,
>>> and I'm using the buildroot internal compiler with version 5.x, it
>>> confused me a little bit.
>>>
>>
>> I found the exact output that brought about the build error.
>>
>>>>> linux-headers 3.14.51 Configuring...
>> ...
>> make[2]: Entering directory ... build/linux-headers-3.14.51
>> Makefile:652 *** Your gcc installation does not support plugins. If
>> the necessary headers for plugin support are missing, they should be
>> installed. On Debian, apt-get install gcc-<ver>-plugin-dev. If you
>> choose to ignore this error and...
>
>  Ah, this is annoying...
>
>  When installing linux-headers, we don't pass the cross-compilation arguments,
> because the cross-compiler doesn't exist yet at that point. So the installation
> will use the host compiler instead for that check. Which is of course wrong.
>
>  Well, actually it's a bug in gr-security, because this check shouldn't be done
> for install_headers (gcc isn't even called).
>

Bummer, since gr security is no longer even being offered with a free
version anymore for it to be maintained there would have to be a
community consensus around what a good solution is and where
everything can be heaped. In any case, I was able to get past it and
get my kernel compiled. It was giving me some heartache for quite some
time though.

>>
>>>>> I don't believe that there is a way to
>>>>> enable plugin support for the buildroot toolchain or for crosstool. At
>>>>> least, when I looked and searched I didn't see any option that
>>>>> mentioned that. I just want to make sure that I have it correct in
>>>>> that my host compiler is being used to build the kernel.
>>>>
>>>> You're not correct. Support for plugins should be added to the
>>>> cross-compiler if you need plugin support to build your kernel.
>>>>
>>>
>>> That doesn't appear to be an option in buildroot.
>
>  Well, we pass --enable-plugins when BR2_GCC_ENABLE_LTO is set. We don't pass
> --disable-plugins so it really depends on the gcc defaults. But then, we don't
> install the plugin development headers to HOST_DIR, so it will probably be
> difficult to actually compile a plugin.
>
>  Regards,
>  Arnout
>
> --
> Arnout Vandecappelle                          arnout at mind be
> Senior Embedded Software Architect            +32-16-286500
> Essensium/Mind                                http://www.mind.be
> G.Geenslaan 9, 3001 Leuven, Belgium           BE 872 984 063 RPR Leuven
> LinkedIn profile: http://www.linkedin.com/in/arnoutvandecappelle
> GPG fingerprint:  7493 020B C7E3 8618 8DEC 222C 82EB F404 F9AC 0DDF

^ permalink raw reply	[flat|nested] 10+ messages in thread

* [Buildroot] compiler plugins & compiling the kernel
  2016-08-24  0:46       ` Arnout Vandecappelle
  2016-08-24  0:49         ` Kenneth Adam Miller
@ 2016-08-24  9:34         ` Peter Korsgaard
  2016-08-25  5:15           ` Kenneth Adam Miller
  1 sibling, 1 reply; 10+ messages in thread
From: Peter Korsgaard @ 2016-08-24  9:34 UTC (permalink / raw)
  To: buildroot

>>>>> "Arnout" == Arnout Vandecappelle <arnout@mind.be> writes:

Hi,

 >>>>> linux-headers 3.14.51 Configuring...
 >> ...
 >> make[2]: Entering directory ... build/linux-headers-3.14.51
 >> Makefile:652 *** Your gcc installation does not support plugins. If
 >> the necessary headers for plugin support are missing, they should be
 >> installed. On Debian, apt-get install gcc-<ver>-plugin-dev. If you
 >> choose to ignore this error and...

 >  Ah, this is annoying...

 >  When installing linux-headers, we don't pass the cross-compilation arguments,
 > because the cross-compiler doesn't exist yet at that point. So the installation
 > will use the host compiler instead for that check. Which is of course wrong.

 >  Well, actually it's a bug in gr-security, because this check shouldn't be done
 > for install_headers (gcc isn't even called).

Yes, to me this is really a bug in gr-security, and not much we can do
about it.

 >>>> You're not correct. Support for plugins should be added to the
 >>>> cross-compiler if you need plugin support to build your kernel.
 >>>> 
 >>> 
 >>> That doesn't appear to be an option in buildroot.

 >  Well, we pass --enable-plugins when BR2_GCC_ENABLE_LTO is set. We don't pass
 > --disable-plugins so it really depends on the gcc defaults. But then, we don't
 > install the plugin development headers to HOST_DIR, so it will probably be
 > difficult to actually compile a plugin.

But patches are welcome!

-- 
Bye, Peter Korsgaard

^ permalink raw reply	[flat|nested] 10+ messages in thread

* [Buildroot] compiler plugins & compiling the kernel
  2016-08-24  9:34         ` Peter Korsgaard
@ 2016-08-25  5:15           ` Kenneth Adam Miller
  0 siblings, 0 replies; 10+ messages in thread
From: Kenneth Adam Miller @ 2016-08-25  5:15 UTC (permalink / raw)
  To: buildroot

On Wed, Aug 24, 2016 at 5:34 AM, Peter Korsgaard <peter@korsgaard.com> wrote:
>>>>>> "Arnout" == Arnout Vandecappelle <arnout@mind.be> writes:
>
> Hi,
>
>  >>>>> linux-headers 3.14.51 Configuring...
>  >> ...
>  >> make[2]: Entering directory ... build/linux-headers-3.14.51
>  >> Makefile:652 *** Your gcc installation does not support plugins. If
>  >> the necessary headers for plugin support are missing, they should be
>  >> installed. On Debian, apt-get install gcc-<ver>-plugin-dev. If you
>  >> choose to ignore this error and...
>
>  >  Ah, this is annoying...
>
>  >  When installing linux-headers, we don't pass the cross-compilation arguments,
>  > because the cross-compiler doesn't exist yet at that point. So the installation
>  > will use the host compiler instead for that check. Which is of course wrong.
>
>  >  Well, actually it's a bug in gr-security, because this check shouldn't be done
>  > for install_headers (gcc isn't even called).
>
> Yes, to me this is really a bug in gr-security, and not much we can do
> about it.
>
>  >>>> You're not correct. Support for plugins should be added to the
>  >>>> cross-compiler if you need plugin support to build your kernel.
>  >>>>
>  >>>
>  >>> That doesn't appear to be an option in buildroot.
>
>  >  Well, we pass --enable-plugins when BR2_GCC_ENABLE_LTO is set. We don't pass
>  > --disable-plugins so it really depends on the gcc defaults. But then, we don't
>  > install the plugin development headers to HOST_DIR, so it will probably be
>  > difficult to actually compile a plugin.
>
> But patches are welcome!

It's duly noted on my TODO list.

>
> --
> Bye, Peter Korsgaard

^ permalink raw reply	[flat|nested] 10+ messages in thread

end of thread, other threads:[~2016-08-25  5:15 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-08-20 17:10 [Buildroot] compiler plugins & compiling the kernel Kenneth Adam Miller
2016-08-20 18:01 ` Thomas Petazzoni
2016-08-20 22:39   ` Kenneth Adam Miller
2016-08-21  3:43     ` Kenneth Adam Miller
2016-08-24  0:46       ` Arnout Vandecappelle
2016-08-24  0:49         ` Kenneth Adam Miller
2016-08-24  9:34         ` Peter Korsgaard
2016-08-25  5:15           ` Kenneth Adam Miller
     [not found] ` <CAMKF1sr1ZvZZW++J4pxixtr1KXGi8qGBRFEJGoaJSc_=Yn=x3Q@mail.gmail.com>
     [not found]   ` <CAMKF1sqteu5nK9NGfr1M=A3nZFk2H_J5zhu3BYq0110sjz8vDQ@mail.gmail.com>
2016-08-21  3:55     ` Khem Raj
2016-08-21 15:21       ` Kenneth Adam Miller

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.