免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 12912 | 回复: 10
打印 上一主题 下一主题

Linux 2.6.30下'NR_syscalls' 在哪里定义了 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2009-11-09 16:11 |只看该作者 |倒序浏览
最近把一个老版本的内核模块迁移到 linux 2.6.30 下,编译时,出现:error: 'NR_syscalls' undeclared (first use in this function)
不知道 linux 2.6.30 中 'NR_syscalls' 在哪里定义了,在unistd.h中没找到,有知道的大牛们告知一下,谢谢了!

论坛徽章:
5
摩羯座
日期:2014-07-22 09:03:552015元宵节徽章
日期:2015-03-06 15:50:392015亚冠之大阪钢巴
日期:2015-06-12 16:01:352015年中国系统架构师大会
日期:2015-06-29 16:11:2815-16赛季CBA联赛之四川
日期:2018-12-17 14:10:21
2 [报告]
发表于 2009-11-09 16:26 |只看该作者
把glibc升级应该就可以了

论坛徽章:
0
3 [报告]
发表于 2009-11-09 16:27 |只看该作者

回复 #1 wangpeng168 的帖子

include/asm-generic/unistd.h? 加define NR_calls __NR__calls,试一下。

[ 本帖最后由 zhiguo9503 于 2009-11-9 16:33 编辑 ]

论坛徽章:
0
4 [报告]
发表于 2009-11-09 16:32 |只看该作者

回复 #2 T-Bagwell 的帖子

升了啊,是最新的啊,我看看3楼说的找找看

论坛徽章:
0
5 [报告]
发表于 2009-11-09 16:34 |只看该作者

回复 #3 zhiguo9503 的帖子

按你的路径找了,压根就没这文件,郁闷啊!
按道理这个是预定义好的啊,自己给添上不知有用否?

[ 本帖最后由 wangpeng168 于 2009-11-9 16:37 编辑 ]

论坛徽章:
0
6 [报告]
发表于 2009-11-09 16:43 |只看该作者

回复 #3 zhiguo9503 的帖子

#ifndef _LINUX_UNISTD_H_
#define _LINUX_UNISTD_H_

/*
* Include machine specific syscall numbers
*/
#include <asm/unistd.h>

#endif /* _LINUX_UNISTD_H_ */

在/lib/modules/2.6.30/build/include/unistd.h   中的内容,就是没看见<asm/unistd.h>
不知道在哪里?

论坛徽章:
0
7 [报告]
发表于 2009-11-09 16:50 |只看该作者

回复 #1 wangpeng168 的帖子

arch/x86/include/asm/unistd.h->unistd_32.h,没有这个define

论坛徽章:
0
8 [报告]
发表于 2009-11-09 16:59 |只看该作者

回复 #7 zhiguo9503 的帖子

恩,unistd_32.h这个倒是有,但还是没有'NR_syscalls'的定义,
arch/x86/include/asm/unistd.h 内容

#ifdef __KERNEL__
# ifdef CONFIG_X86_32
#  include "unistd_32.h"
# else
#  include "unistd_64.h"
# endif
#else
# ifdef __i386__
#  include "unistd_32.h"
# else
#  include "unistd_64.h"
# endif
#endif

arch/x86/include/asm/unistd_32.h 内容

  1. #ifndef _ASM_X86_UNISTD_32_H
  2. #define _ASM_X86_UNISTD_32_H

  3. /*
  4. * This file contains the system call numbers.
  5. */

  6. #define __NR_restart_syscall      0
  7. #define __NR_exit                 1
  8. #define __NR_fork                 2
  9. #define __NR_read                 3
  10. #define __NR_write                4
  11. #define __NR_open                 5
  12. #define __NR_close                6
  13. #define __NR_waitpid              7
  14. #define __NR_creat                8
  15. #define __NR_link                 9
  16. #define __NR_unlink              10
  17. #define __NR_execve              11
  18. #define __NR_chdir               12
  19. #define __NR_time                13
  20. #define __NR_mknod               14
  21. #define __NR_chmod               15
  22. #define __NR_lchown              16
  23. #define __NR_break               17
  24. #define __NR_oldstat             18
  25. #define __NR_lseek               19
  26. #define __NR_getpid              20
  27. #define __NR_mount               21
  28. #define __NR_umount              22
  29. #define __NR_setuid              23
  30. #define __NR_getuid              24
  31. #define __NR_stime               25
  32. #define __NR_ptrace              26
  33. #define __NR_alarm               27
  34. #define __NR_oldfstat            28
  35. #define __NR_pause               29
  36. #define __NR_utime               30
  37. #define __NR_stty                31
  38. #define __NR_gtty                32
  39. #define __NR_access              33
  40. #define __NR_nice                34
  41. #define __NR_ftime               35
  42. #define __NR_sync                36
  43. #define __NR_kill                37
  44. #define __NR_rename              38
  45. #define __NR_mkdir               39
  46. #define __NR_rmdir               40
  47. #define __NR_dup                 41
  48. #define __NR_pipe                42
  49. #define __NR_times               43
  50. #define __NR_prof                44
  51. #define __NR_brk                 45
  52. #define __NR_setgid              46
  53. #define __NR_getgid              47
  54. #define __NR_signal              48
  55. #define __NR_geteuid             49
  56. #define __NR_getegid             50
  57. #define __NR_acct                51
  58. #define __NR_umount2             52
  59. #define __NR_lock                53
  60. #define __NR_ioctl               54
  61. #define __NR_fcntl               55
  62. #define __NR_mpx                 56
  63. #define __NR_setpgid             57
  64. #define __NR_ulimit              58
  65. #define __NR_oldolduname         59
  66. #define __NR_umask               60
  67. #define __NR_chroot              61
  68. #define __NR_ustat               62
  69. #define __NR_dup2                63
  70. #define __NR_getppid             64
  71. #define __NR_getpgrp             65
  72. #define __NR_setsid              66
  73. #define __NR_sigaction           67
  74. #define __NR_sgetmask            68
  75. #define __NR_ssetmask            69
  76. #define __NR_setreuid            70
  77. #define __NR_setregid            71
  78. #define __NR_sigsuspend          72
  79. #define __NR_sigpending          73
  80. #define __NR_sethostname         74
  81. #define __NR_setrlimit           75
  82. #define __NR_getrlimit           76   /* Back compatible 2Gig limited rlimit */
  83. #define __NR_getrusage           77
  84. #define __NR_gettimeofday        78
  85. #define __NR_settimeofday        79
  86. #define __NR_getgroups           80
  87. #define __NR_setgroups           81
  88. #define __NR_select              82
  89. #define __NR_symlink             83
  90. #define __NR_oldlstat            84
  91. #define __NR_readlink            85
  92. #define __NR_uselib              86
  93. #define __NR_swapon              87
  94. #define __NR_reboot              88
  95. #define __NR_readdir             89
  96. #define __NR_mmap                90
  97. #define __NR_munmap              91
  98. #define __NR_truncate            92
  99. #define __NR_ftruncate           93
  100. #define __NR_fchmod              94
  101. #define __NR_fchown              95
  102. #define __NR_getpriority         96
  103. #define __NR_setpriority         97
  104. #define __NR_profil              98
  105. #define __NR_statfs              99
  106. #define __NR_fstatfs            100
  107. #define __NR_ioperm             101
  108. #define __NR_socketcall         102
  109. #define __NR_syslog             103
  110. #define __NR_setitimer          104
  111. #define __NR_getitimer          105
  112. #define __NR_stat               106
  113. #define __NR_lstat              107
  114. #define __NR_fstat              108
  115. #define __NR_olduname           109
  116. #define __NR_iopl               110
  117. #define __NR_vhangup            111
  118. #define __NR_idle               112
  119. #define __NR_vm86old            113
  120. #define __NR_wait4              114
  121. #define __NR_swapoff            115
  122. #define __NR_sysinfo            116
  123. #define __NR_ipc                117
  124. #define __NR_fsync              118
  125. #define __NR_sigreturn          119
  126. #define __NR_clone              120
  127. #define __NR_setdomainname      121
  128. #define __NR_uname              122
  129. #define __NR_modify_ldt         123
  130. #define __NR_adjtimex           124
  131. #define __NR_mprotect           125
  132. #define __NR_sigprocmask        126
  133. #define __NR_create_module      127
  134. #define __NR_init_module        128
  135. #define __NR_delete_module      129
  136. #define __NR_get_kernel_syms    130
  137. #define __NR_quotactl           131
  138. #define __NR_getpgid            132
  139. #define __NR_fchdir             133
  140. #define __NR_bdflush            134
  141. #define __NR_sysfs              135
  142. #define __NR_personality        136
  143. #define __NR_afs_syscall        137 /* Syscall for Andrew File System */
  144. #define __NR_setfsuid           138
  145. #define __NR_setfsgid           139
  146. #define __NR__llseek            140
  147. #define __NR_getdents           141
  148. #define __NR__newselect         142
  149. #define __NR_flock              143
  150. #define __NR_msync              144
  151. #define __NR_readv              145
  152. #define __NR_writev             146
  153. #define __NR_getsid             147
  154. #define __NR_fdatasync          148
  155. #define __NR__sysctl            149
  156. #define __NR_mlock              150
  157. #define __NR_munlock            151
  158. #define __NR_mlockall           152
  159. #define __NR_munlockall         153
  160. #define __NR_sched_setparam             154
  161. #define __NR_sched_getparam             155
  162. #define __NR_sched_setscheduler         156
  163. #define __NR_sched_getscheduler         157
  164. #define __NR_sched_yield                158
  165. #define __NR_sched_get_priority_max     159
  166. #define __NR_sched_get_priority_min     160
  167. #define __NR_sched_rr_get_interval      161
  168. #define __NR_nanosleep          162
  169. #define __NR_mremap             163
  170. #define __NR_setresuid          164
  171. #define __NR_getresuid          165
  172. #define __NR_vm86               166
  173. #define __NR_query_module       167
  174. #define __NR_poll               168
  175. #define __NR_nfsservctl         169
  176. #define __NR_setresgid          170
  177. #define __NR_getresgid          171
  178. #define __NR_prctl              172
  179. #define __NR_rt_sigreturn       173
  180. #define __NR_rt_sigaction       174
  181. #define __NR_rt_sigprocmask     175
  182. #define __NR_rt_sigpending      176
  183. #define __NR_rt_sigtimedwait    177
  184. #define __NR_rt_sigqueueinfo    178
  185. #define __NR_rt_sigsuspend      179
  186. #define __NR_pread64            180
  187. #define __NR_pwrite64           181
  188. #define __NR_chown              182
  189. #define __NR_getcwd             183
  190. #define __NR_capget             184
  191. #define __NR_capset             185
  192. #define __NR_sigaltstack        186
  193. #define __NR_sendfile           187
  194. #define __NR_getpmsg            188     /* some people actually want streams */
  195. #define __NR_putpmsg            189     /* some people actually want streams */
  196. #define __NR_vfork              190
  197. #define __NR_ugetrlimit         191     /* SuS compliant getrlimit */
  198. #define __NR_mmap2              192
  199. #define __NR_truncate64         193
  200. #define __NR_ftruncate64        194
  201. #define __NR_stat64             195
  202. #define __NR_lstat64            196
  203. #define __NR_fstat64            197
  204. #define __NR_lchown32           198
  205. #define __NR_getuid32           199
  206. #define __NR_getgid32           200
  207. #define __NR_geteuid32          201
  208. #define __NR_getegid32          202
  209. #define __NR_setreuid32         203
  210. #define __NR_setregid32         204
  211. #define __NR_getgroups32        205
  212. #define __NR_setgroups32        206
  213. #define __NR_fchown32           207
  214. #define __NR_setresuid32        208
  215. #define __NR_getresuid32        209
  216. #define __NR_setresgid32        210
  217. #define __NR_getresgid32        211
  218. #define __NR_chown32            212
  219. #define __NR_setuid32           213
  220. #define __NR_setgid32           214
  221. #define __NR_setfsuid32         215
  222. #define __NR_setfsgid32         216
  223. #define __NR_pivot_root         217
  224. #define __NR_mincore            218
  225. #define __NR_madvise            219
  226. #define __NR_madvise1           219     /* delete when C lib stub is removed */
  227. #define __NR_getdents64         220
  228. #define __NR_fcntl64            221
  229. /* 223 is unused */
  230. #define __NR_gettid             224
  231. #define __NR_readahead          225
  232. #define __NR_setxattr           226
  233. #define __NR_lsetxattr          227
  234. #define __NR_fsetxattr          228
  235. #define __NR_getxattr           229
  236. #define __NR_lgetxattr          230
  237. #define __NR_fgetxattr          231
  238. #define __NR_listxattr          232
  239. #define __NR_llistxattr         233
  240. #define __NR_flistxattr         234
  241. #define __NR_removexattr        235
  242. #define __NR_lremovexattr       236
  243. #define __NR_fremovexattr       237
  244. #define __NR_tkill              238
  245. #define __NR_sendfile64         239
  246. #define __NR_futex              240
  247. #define __NR_sched_setaffinity  241
  248. #define __NR_sched_getaffinity  242
  249. #define __NR_set_thread_area    243
  250. #define __NR_get_thread_area    244
  251. #define __NR_io_setup           245
  252. #define __NR_io_destroy         246
  253. #define __NR_io_getevents       247
  254. #define __NR_io_submit          248
  255. #define __NR_io_cancel          249
  256. #define __NR_fadvise64          250
  257. /* 251 is available for reuse (was briefly sys_set_zone_reclaim) */
  258. #define __NR_exit_group         252
  259. #define __NR_lookup_dcookie     253
  260. #define __NR_epoll_create       254
  261. #define __NR_epoll_ctl          255
  262. #define __NR_epoll_wait         256
  263. #define __NR_remap_file_pages   257
  264. #define __NR_set_tid_address    258
  265. #define __NR_timer_create       259
  266. #define __NR_timer_settime      (__NR_timer_create+1)
  267. #define __NR_timer_gettime      (__NR_timer_create+2)
  268. #define __NR_timer_getoverrun   (__NR_timer_create+3)
  269. #define __NR_timer_delete       (__NR_timer_create+4)
  270. #define __NR_clock_settime      (__NR_timer_create+5)
  271. #define __NR_clock_gettime      (__NR_timer_create+6)
  272. #define __NR_clock_getres       (__NR_timer_create+7)
  273. #define __NR_clock_nanosleep    (__NR_timer_create+8)
  274. #define __NR_statfs64           268
  275. #define __NR_fstatfs64          269
  276. #define __NR_tgkill             270
  277. #define __NR_utimes             271
  278. #define __NR_fadvise64_64       272
  279. #define __NR_vserver            273
  280. #define __NR_mbind              274
  281. #define __NR_get_mempolicy      275
  282. #define __NR_set_mempolicy      276
  283. #define __NR_mq_open            277
  284. #define __NR_mq_unlink          (__NR_mq_open+1)
  285. #define __NR_mq_timedsend       (__NR_mq_open+2)
  286. #define __NR_mq_timedreceive    (__NR_mq_open+3)
  287. #define __NR_mq_notify          (__NR_mq_open+4)
  288. #define __NR_mq_getsetattr      (__NR_mq_open+5)
  289. #define __NR_kexec_load         283
  290. #define __NR_waitid             284
  291. /* #define __NR_sys_setaltroot  285 */
  292. #define __NR_add_key            286
  293. #define __NR_request_key        287
  294. #define __NR_keyctl             288
  295. #define __NR_ioprio_set         289
  296. #define __NR_ioprio_get         290
  297. #define __NR_inotify_init       291
  298. #define __NR_inotify_add_watch  292
  299. #define __NR_inotify_rm_watch   293
  300. #define __NR_migrate_pages      294
  301. #define __NR_openat             295
  302. #define __NR_mkdirat            296
  303. #define __NR_mknodat            297
  304. #define __NR_fchownat           298
  305. #define __NR_futimesat          299
  306. #define __NR_fstatat64          300
  307. #define __NR_unlinkat           301
  308. #define __NR_renameat           302
  309. #define __NR_linkat             303
  310. #define __NR_symlinkat          304
  311. #define __NR_readlinkat         305
  312. #define __NR_fchmodat           306
  313. #define __NR_faccessat          307
  314. #define __NR_pselect6           308
  315. #define __NR_ppoll              309
  316. #define __NR_unshare            310
  317. #define __NR_set_robust_list    311
  318. #define __NR_get_robust_list    312
  319. #define __NR_splice             313
  320. #define __NR_sync_file_range    314
  321. #define __NR_tee                315
  322. #define __NR_vmsplice           316
  323. #define __NR_move_pages         317
  324. #define __NR_getcpu             318
  325. #define __NR_epoll_pwait        319
  326. #define __NR_utimensat          320
  327. #define __NR_signalfd           321
  328. #define __NR_timerfd_create     322
  329. #define __NR_eventfd            323
  330. #define __NR_fallocate          324
  331. #define __NR_timerfd_settime    325
  332. #define __NR_timerfd_gettime    326
  333. #define __NR_signalfd4          327
  334. #define __NR_eventfd2           328
  335. #define __NR_epoll_create1      329
  336. #define __NR_dup3               330
  337. #define __NR_pipe2              331
  338. #define __NR_inotify_init1      332
  339. #define __NR_preadv             333
  340. #define __NR_pwritev            334

  341. #ifdef __KERNEL__

  342. #define __ARCH_WANT_IPC_PARSE_VERSION
  343. #define __ARCH_WANT_OLD_READDIR
  344. #define __ARCH_WANT_OLD_STAT
  345. #define __ARCH_WANT_STAT64
  346. #define __ARCH_WANT_SYS_ALARM
  347. #define __ARCH_WANT_SYS_GETHOSTNAME
  348. #define __ARCH_WANT_SYS_PAUSE
  349. #define __ARCH_WANT_SYS_SGETMASK
  350. #define __ARCH_WANT_SYS_SIGNAL
  351. #define __ARCH_WANT_SYS_TIME
  352. #define __ARCH_WANT_SYS_UTIME
  353. #define __ARCH_WANT_SYS_WAITPID
  354. #define __ARCH_WANT_SYS_SOCKETCALL
  355. #define __ARCH_WANT_SYS_FADVISE64
  356. #define __ARCH_WANT_SYS_GETPGRP
  357. #define __ARCH_WANT_SYS_LLSEEK
  358. #define __ARCH_WANT_SYS_NICE
  359. #define __ARCH_WANT_SYS_OLD_GETRLIMIT
  360. #define __ARCH_WANT_SYS_OLDUMOUNT
  361. #define __ARCH_WANT_SYS_SIGPENDING
  362. #define __ARCH_WANT_SYS_SIGPROCMASK
  363. #define __ARCH_WANT_SYS_RT_SIGACTION
  364. #define __ARCH_WANT_SYS_RT_SIGSUSPEND

  365. /*
  366. * "Conditional" syscalls
  367. *
  368. * What we want is __attribute__((weak,alias("sys_ni_syscall"))),
  369. * but it doesn't work on all toolchains, so we just do it by hand
  370. */
  371. #ifndef cond_syscall
  372. #define cond_syscall(x) asm(".weak\t" #x "\n\t.set\t" #x ",sys_ni_syscall")
  373. #endif

  374. #endif /* __KERNEL__ */
  375. #endif /* _ASM_X86_UNISTD_32_H */
复制代码

[ 本帖最后由 wangpeng168 于 2009-11-9 17:10 编辑 ]

论坛徽章:
1
天蝎座
日期:2013-10-23 21:11:03
9 [报告]
发表于 2009-11-09 20:15 |只看该作者
http://lxr.linux.no/
这里搜了一下,到2.6.24.X还有x86的,到2.6.25就搜不到了
要不LZ自己加上

论坛徽章:
1
天蝎座
日期:2013-10-23 21:11:03
10 [报告]
发表于 2009-11-09 20:22 |只看该作者
刚google了一下
http://kerneltrap.org/mailarchive/linux-kernel/2008/1/18/579362
有人把它去掉了
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP