Summary: | #include <linux/usbdevice_fs.h> does not compile due to missing __user definition | ||
---|---|---|---|
Product: | Sisyphus | Reporter: | Damir Shayhutdinov <damir> |
Component: | glibc-kernheaders | Assignee: | Dmitry V. Levin <ldv> |
Status: | CLOSED FIXED | QA Contact: | qa-sisyphus |
Severity: | normal | ||
Priority: | P2 | CC: | glebfm, ldv, placeholder |
Version: | unstable | ||
Hardware: | all | ||
OS: | Linux |
Description
Damir Shayhutdinov
2007-01-10 15:48:16 MSK
На самом деле макрос __user определяется в <linux/compiler.h>; можно либо добавить #include <linux/compiler.h> в файлы, использующие __user, либо пропустить файлы заголовков через sed, чтобы убрать эти конструкции: # Eliminate the contents of (and inclusions of) compiler.h HDRSED := sed -e "s/ inline / __inline__ /g" \ -e "s/[[:space:]]__user[[:space:]]\+/ /g" \ -e "s/(__user[[:space:]]\+/ (/g" \ -e "s/[[:space:]]__force[[:space:]]\+/ /g" \ -e "s/(__force[[:space:]]\+/ (/g" \ -e "s/[[:space:]]__iomem[[:space:]]\+/ /g" \ -e "s/(__iomem[[:space:]]\+/ (/g" \ -e "s/[[:space:]]__attribute_const__[[:space:]]\+/\ /g" \ -e "s/[[:space:]]__attribute_const__$$//" \ -e "/^\#include <linux\/compiler.h>/d" (из linux-2.6.18/scripts/Makefile.headersinst). Вариант "добавить #include <linux/compiler.h> в файлы, использующие заголовки ядра" не годится, поскольку linux/compiler.h не входит в набор файлов, которые разработчики ядра считают допустимыми для использования в userspace (этот файл не устанавливается по make headers_install). Hopefully fixed in 2.6.17-alt4. |