Dear Wiki user,
You have subscribed to a wiki page or wiki category on "Fedora Project Wiki" for
change notification.
The following page has been changed by BobJensen:
http://fedoraproject.org/wiki/Docs/Beats/Devel/Tools?action=diff&rev2...
------------------------------------------------------------------------------
= Tools =
-
- The linker includes support for the new ELF symbol hash table format. Use the
{{{--hash-style}}} option of the linker to select the format(s).
-
- == Kernel header files ==
-
- This release of Fedora has been built using Linux kernel headers exported directly from
the kernel, using the new `headers_install` feature of the 2.6.18 kernel. Thus, the
`glibc-kernheaders` package has been removed and replaced with `kernel-headers`, a
subpackage of `kernel`. The process of generating kernel headers has been
[
http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit...
changed] which provides several [
http://lkml.org/lkml/2006/7/2/24 benefits] included
easier maintenance and consistency.
-
- Developers may notice some changes between these new kernel headers and what was present
before, including but not limited to the following:
-
- * The `<linux/compiler.h>` header file has been removed, since it contains
nothing of use to userspace.
-
- * The `_syscallX()` macros are removed. Userspace should use `syscall()` from the C
library instead.
-
- * The `PAGE_SIZE` macro is removed from some architectures, since the page size is
variable. Userspace should be using `sysconf(_SC_PAGE_SIZE)` or `getpagesize()` instead.
-
- * The `<asm/atomic.h>` and `<asm/bitops.h>` header files have been removed.
These were not designed for use in userspace, and would fail to compile on some
architectures while silently giving non-atomic behaviour on others. The C compiler
provides its own
[
http://gcc.gnu.org/onlinedocs/gcc-4.1.1/gcc/Atomic-Builtins.html#Atomic-B... atomic
builtin functions] which are suitable for use in userspace programs instead.
-
- * Content which was previously protected with `#ifdef __KERNEL__` is now elided
completely with the `unifdef` tool. Defining `__KERNEL___` in order to see parts which
should not be visible to userspace is no longer effective.
-
- In addition, some other header files that are not suitable for use in userspace have
been removed, and still more headers have been edited to remove unsuitable content.
-
- [[Admonition("note", "Kernel header changes are not
Fedora-specific", "These changes are inherited from the upstream kernel and are
not specific to Fedora. Any distribution using the current officially-exported kernel
headers would be the same.")]]
-
[[Include(/GCC)]]