当前位置

维护glibc-kernheaders的一点心得

主标签

负责作mgc的glibc-kernheader包。说不上是维护吧,因为对RPM整套系统的理解不够,spec是用的RH的。其实,glibc-kernheader里提供的就是linux kernle中的include/下的一些头文件。

从POSIX说起,POSIX就是一整套的操作系统标准。Linux Kernel就是实现、并兼容了这一套标准。所以,我觉得,完全依照kenel中的include,是对POSIX的尊重:) 其实各个发行版中的这部分都是由专人维护的,如剔除一些没有用的头文件,修改一些头文件,如 include/linux/errno.h 。 在kernel里,

#ifndef _LINUX_ERRNO_H
#define _LINUX_ERRNO_H

#include <asm/errno.h>

#endif

而asm/errno.h则是:

#ifndef _I386_ERRNO_H
#define _I386_ERRNO_H

#include <asm-generic/errno.h >

#endif

所以,我修改了RH里的SPCE后,保留了asm-generic目录。目前还没有发现其他多层包含关
系有没有保留的。

另外,有两个文件是需要在制作kernel包的时候提供的,那就是autoconf.h与version.h。
autoconf.h是根据每次进行kernel make的时候根据不同的内核配置产生的头文件。而
version.h则是不同的kernel版本的头文件。
其中,autoconf.h是这样的得到的:
先配置kernel,在$LINUX(内核源代码目录的最高一层)保存.config文件,然后执行
make include/linux/autoconf.h。

大概就是这样了,有什么问题还请提出、指正。相关的文件参见:
http://www.magiclinux.org/people/baif/glibc/headers/

评论

caihua用你的kernheader包无法编译wine,说是fb.h有问题。

Yourfeng说过。我忘了具体细节是什么了。让他站内发信给我。

看来我的认识有偏差阿。 :)

http://ep09.pld-linux.org/%7Emmazur/linux-libc-headers/