The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Интерактивная система просмотра системных руководств (man-ов)

 ТемаНаборКатегория 
 
 [Cписок руководств | Печать]

genksyms (8)
  • >> genksyms (8) ( Linux man: Команды системного администрирования )
  •  

    NAME

    genksyms - generate symbol version information
     
    

    SYNOPSIS

    genksyms [-wq] [-dD] [-V] [-k version] [-p string] [output directory]  

    DESCRIPTION

    Genksyms reads (on standard input) the output from "gcc -E source.c" and generates a file containing version information.

    Depending on the output format indicated by the -k option, the output will either be written to a .ver file in the named output directory, or to the standard output.

    Genksyms normally looks for explicit symbol table definitions in the source file. All definitions and declarations of typedefstructunion and enum will be saved for later expansion. Every global symbol will also be saved, together with pointers that will enable a full expansion later on.

    When a symbol table is found in the source, the symbol will be expanded to its full definition, where all structs, unions, enums and typedefs will be expanded down to their basic part, recursively. This final string will then be used as input to a CRC algorithm that will give an integer that will change as soon as any of the included definitions changes, for this symbol.

    The version information in the kernel normally looks like: symbol_R12345678, where 12345678 is the hexadecimal representation of the CRC.  

    OPTIONS

    -d, --debug
    Output debugging information; repeating this option increases the verbosity. Debug level 1 generates moderate information about the actions being taken; debug level 2 enables parser recognition output; debug level 3 enables lexical analysis output.
    -D, --dump
    Dump expanded symbol definitions to stderr. For debugging use only.
    -h, --help
    Display a summary of options and immediately exit.
    -k version--kernel version
    Select the version of the kernel for which to generate output. Omitting this option assumes a version below 2.1.0. Versions below 2.1.18 use checksum version 1, and produce their output in the directory given on the command line. Versions 2.1.18 and above use checksum version 2 and produce their output on stdout.
    -p string--prefix string
    Prepend the given string to the CRCs generated for all symbols. This is intended for use with, e.g., SMP kernels, wherein the modules are not compatible at a level below that described by the data types. This is primarily caused by inline function expansions in the module code itself.
    -q, --quiet
    Quiet warnings, i.e. reverse the -w option.
    -V, --version
    Display the version of genksyms.
    -w, --warnings
    Enable warnings due to unrecognized syntax and declared but undefined structures. These warnings are normally suppressed.
     

    SEE ALSO

    insmod(8), modprobe(8)  

    BUGS

    The -h option is broken; --help is fine.
    genksyms [-V | --version] should display version information and then exit immediately. Instead, it prints the version information and behaves as if no options were given. Although the fix for this bug is trivial, it changes the behaviour of modutils. Given the large number of distributions and scripts that run modutils and expect the current behaviour, any change of behaviour is unacceptable in 2.4. Don't bother sending patches for this bug, it will not be fixed in 2.4, it should be fixed in 2.5.  

    HISTORY

    This versioning concept is a result from discussions, not at least on the KERNEL-channel, with a lot of people.

    The genksyms utility was created in 1994 by Bjorn Ekwall <bj0rn@blox.se> being mostly inspired by Jacques Gelinas <jack@solucorp.ca> and Jeremy Fitzhardinge <jeremy@suite.sw.oz.au>

    It was rewritten in 1996 by Richard Henderson to use a proper lexer and parser.


     

    Index

    NAME
    SYNOPSIS
    DESCRIPTION
    OPTIONS
    SEE ALSO
    BUGS
    HISTORY


    Поиск по тексту MAN-ов: 




    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2024 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру