kernel/sili: Actually print the generation.
alc(4): Ifdef out an unused variable and assignment.
kernel/hammer: Remove an unused variable.
kernel/gre: Remove unused variables.
kernel/{a,b}list: Remove some unused variables in the debug code.
vkernel: Move things from dev/virtual to dev/virtual/vkernel.

This is so we can later put any other "virtual" device drivers in their
own subdirectories in dev/virtual.
dev/virtual/vkernel Makefiles: Remove bogus .PATHs.
vkernel: Fix DEV_SUPPORT.
kernel: Really fix DEV_SUPPORT for sys/dev/virtual.

Reported-by: aggelos
kernel: Add sbuf_done() (taken from FreeBSD).
kernel/acpi: Bring in acpi_wmi(4) from FreeBSD, which acpi_hp(4) needs.

Also, hook acpi_hp(4) back into the build.

Some fixes to acpi_hp(4) were brought in, too.

It is all untested, unfortunately. The hope is, that someone with a
HP laptop might check it out.
Merge branch 'master' into gsocdrm_github
crtstuff: Remove unused crtbegin/crtend support files

These files were imported:
commit 9b1e249481830caa2004c437ecda34c48b92798d (joerg, 2004-06-14)

The files stop being useful here:
commit fd8b66cd017f88e1baffc6426ca74ea7f57dbadd (corecode, 2007-01-15)
rtld: Don't use toupper function in rtld_printf.c

The libc function toupper may not function correctly due to TLS use when
LD_DEBUG is in effect.  Rather than determine this for sure, just use the
FreeBSD approach of eliminating ctype.h macro.

Taken from: FreeBSD SVN 232729 (2012-03-09)
crtstuff: Move 6 identical sed patterns to variable

This note.ABI-tag pattern will be changed in an upcoming commit.
Taken from: FreeBSD SVN 232832 (2012-03-11)
crtstuff: Move ELF note definitions to dedicated header

Currently only note.ABI-tag is defined in crt files for the purpose
of identifying the operating system and version that created the binary.
Soon a new type of note will be created to indicate whether crt is
responsible for calling the _init function or not.  Creating a separate
header avoids duplicate note definitions.
crtstuff: refactor

Add common/initfini.c file to provide common prototypes and functions
to all DragonFly arches, particularly focusing on the various types
of initialization and finalization.
rtld: Add main object initialization and finalization

Since DragonFly's inception, crt1 has called _init and _fini functions of
the binary rather than leaving this task to the runtime linker.  Likely
this was done in order to use the same crt code for both statically and
dynamically linked binaries.

When FreeBSD imported DragonFly's preinit, init, and fini array handling
code, they moved the _init and _fini calls to rtld.  In order for rtld to
maintain compatiblity with binaries created with crt code that call these
functions, rtld looks for an ELF note that indicates the binary was built
with a crt that does not call _init and _fini.

This commit imports this capability as well as synchronizes some of the
changes FreeBSD made to the DragonFly code.  Many of the differences
weren't necessary, but some represented improvements.  In any case, it
benefits both operating systems to minimize the differences between the
runtime linkers in order to continue to collaborate and share new
features.

Taken from: FreeBSD SVN 232831 (2012-03-11)

One key difference between the DragonFly and FreeBSD implementations is
that FreeBSD will not properly execute a binary that requires
initialization and/or finalization if the PT_NOTE program header is
intentionally omitted using a custom linker script and the PHDRS
directive.  In the same case, DragonFly will look to see if the main
binary contains a gnu hash dynamic tag.  If it does, it assumes the binary
was built with the new crt, which is a very good assumption.  Since gnu
hash was inserted by default into binaries only a week ago, there's only
a window of few days where this isn't true, and PT_NOTE-free binaries are
very rare.
crtstuff: Stop calling _init/_fini methods on dyn binaries

The runtime linker has already been modified to add the ability to call
_init and _fini methods on the main executable.  Previously it would
only do this for shared libraries.

A new ELF note with value 0x20 is added to signify that the crt code
no longer calls these methods so that rtld will know that it needs
to do it.  The name of the note section has been changed from
.note.ABI-tag to .note.tag.  There was an option to put the two notes
each in their own section, or put both notes in the same section.  The
latter was selected.  Since the second note is not an ABI-tag, the
section was simply renamed.  This doesn't cause any issues.

Taken from: FreeBSD SVN 232832 (2012-03-11)
rtld: fixing bad patch

This code should have been part of the last rtld commit, but apparently
the wrong patch was committed.