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=14&rev1=13 ------------------------------------------------------------------------------ = 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;h=8d730cfb50cc77da6d00f941daef440918a1922f 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-Builtins 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)]] -- Fedora-relnotes-content mailing list Fedora-relnotes-content@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/fedora-relnotes-content