25 Mar, 2020

1 commit


15 Jan, 2020

1 commit

  • Currently, usr/gen_initramfs.sh takes care of all the use-cases:

    [1] generates a cpio file unless CONFIG_INITRAMFS_SOURCE points to
    a single cpio archive

    [2] If CONFIG_INITRAMFS_SOURCE is the path to a cpio archive,
    use it as-is.

    [3] Compress the cpio file according to CONFIG_INITRAMFS_COMPRESSION_*
    unless it is passed a compressed archive.

    To simplify the script, move [2] and [3] to usr/Makefile.

    If CONFIG_INITRAMFS_SOURCE is the path to a cpio archive, there is
    no need to run this shell script.

    For the cpio archive compression, you can re-use the rules from
    scripts/Makefile.lib .

    Signed-off-by: Masahiro Yamada

    Masahiro Yamada
     

08 Jul, 2019

1 commit

  • Multiple people have suggested compile-testing UAPI headers to ensure
    they can be really included from user-space. "make headers_check" is
    obviously not enough to catch bugs, and we often leak unresolved
    references to user-space.

    Use the new header-test-y syntax to implement it. Please note exported
    headers are compile-tested with a completely different set of compiler
    flags. The header search path is set to $(objtree)/usr/include since
    exported headers should not include unexported ones.

    We use -std=gnu89 for the kernel space since the kernel code highly
    depends on GNU extensions. On the other hand, UAPI headers should be
    written in more standardized C, so they are compiled with -std=c90.
    This will emit errors if C++ style comments, the keyword 'inline', etc.
    are used. Please use C style comments (/* ... */), '__inline__', etc.
    in UAPI headers.

    There is additional compiler requirement to enable this test because
    many of UAPI headers include , , ,
    etc. directly or indirectly. You cannot use kernel.org pre-built
    toolchains [1] since they lack .

    I reused CONFIG_CC_CAN_LINK to check the system header availability.
    The intention is slightly different, but a compiler that can link
    userspace programs provide system headers.

    For now, a lot of headers need to be excluded because they cannot
    be compiled standalone, but this is a good start point.

    [1] https://mirrors.edge.kernel.org/pub/tools/crosstool/index.html

    Signed-off-by: Masahiro Yamada
    Reviewed-by: Sam Ravnborg

    Masahiro Yamada
     

20 Sep, 2009

1 commit


17 Jul, 2007

1 commit

  • headers_install by default puts headers into usr/include/ .
    They're auto-generated, so should be ignored.

    Same for *.orig, *.rej .

    Signed-off-by: Alexey Dobriyan
    Cc: David Woodhouse
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Alexey Dobriyan
     

18 Oct, 2005

1 commit