teawater / kgtp

KGTP is a comprehensive dynamic tracer for analysing Linux kernel and application (including Android) problems on production systems in real time.
http://teawater.github.io/kgtp/
85 stars 36 forks source link

Kgtp build issue in linux4.4.0 #49

Open hongjiujing opened 8 years ago

hongjiujing commented 8 years ago

make CROSS_COMPILE= -C /lib/modules/4.4.0-21-generic/build/ M=/home/jiujin/kgtp/kgtp modules make[1]: Entering directory '/usr/src/linux-headers-4.4.0-21-generic' CC [M] /home/jiujin/kgtp/kgtp/gtp.o /home/jiujin/kgtp/kgtp/gtp.c: In function ‘gtp_hwb_stop’: /home/jiujin/kgtp/kgtp/gtp.c:676:2: error: implicit declaration of function ‘get_cpu_var’ [-Werror=implicit-function-declaration] get_cpu_var(gtp_hwb_sync_count_local) = gtp_hwb_sync_count; ^ /home/jiujin/kgtp/kgtp/gtp.c:676:42: error: lvalue required as left operand of assignment get_cpu_var(gtp_hwb_sync_count_local) = gtp_hwb_sync_count; ^ /home/jiujin/kgtp/kgtp/gtp.c: In function ‘gtp_hwb_sync_local’: /home/jiujin/kgtp/kgtp/gtp.c:688:42: error: lvalue required as left operand of assignment get_cpu_var(gtp_hwb_sync_count_local) = gtp_hwb_sync_count; ^ /home/jiujin/kgtp/kgtp/gtp.c: In function ‘gtp_step_id_hooks_get_val’: /home/jiujin/kgtp/kgtp/gtp.c:1993:7: error: lvalue required as increment operand if (++ get_cpu_var(gtp_step_id) == 0) ^ /home/jiujin/kgtp/kgtp/gtp.c:1994:31: error: lvalue required as left operand of assignment get_cpu_var(gtp_step_id) = 1; ^ /home/jiujin/kgtp/kgtp/gtp.c: In function ‘pc_pe_list_disable’: /home/jiujin/kgtp/kgtp/gtp.c:3286:11: warning: assignment makes pointer from integer without a cast [-Wint-conversion] for (ppl = get_cpu_var(pc_pe_list); ppl; ppl = ppl->pc_next) { ^ /home/jiujin/kgtp/kgtp/gtp.c: In function ‘pc_pe_list_enable’: /home/jiujin/kgtp/kgtp/gtp.c:3308:11: warning: assignment makes pointer from integer without a cast [-Wint-conversion] for (ppl = get_cpu_var(pc_pe_list); ppl; ppl = ppl->pc_next) { ^ /home/jiujin/kgtp/kgtp/gtp.c: In function ‘gtp_pc_pe_en’: /home/jiujin/kgtp/kgtp/gtp.c:3325:35: warning: initialization makes pointer from integer without a cast [-Wint-conversion] struct gtp_var_perf_event _ppl = get_cpu_var(pc_pe_list); ^ /home/jiujin/kgtp/kgtp/gtp.c:3327:11: warning: assignment makes pointer from integer without a cast [-Wint-conversion] for (ppl = get_cpu_var(pc_pe_list); ppl; ppl = ppl->pc_next) ^ /home/jiujin/kgtp/kgtp/gtp.c:3330:41: error: lvalue required as left operand of assignment get_cpu_var(pc_pe_list_all_disabled) = !enable; ^ /home/jiujin/kgtp/kgtp/gtp.c: In function ‘gtp_action_printk’: /home/jiujin/kgtp/kgtp/gtp.c:3937:16: warning: initialization makes pointer from integer without a cast [-Wint-conversion] char *pbuf = get_cpu_var(gtp_printf); ^ /home/jiujin/kgtp/kgtp/gtp.c: In function ‘gtp_action_x’: /home/jiujin/kgtp/kgtp/gtp.c:4511:16: warning: initialization makes pointer from integer without a cast [-Wint-conversion] char pbuf = __get_cpu_var(gtp_printf); ^ /home/jiujin/kgtp/kgtp/gtp.c:4512:20: warning: initialization makes pointer from integer without a cast [-Wint-conversion] ULONGEST stack = get_cpu_var(action_x_stack); ^ /home/jiujin/kgtp/kgtp/gtp.c: In function ‘gtp_step_stop’: /home/jiujin/kgtp/kgtp/gtp.c:5097:29: error: request for member ‘irq_need_open’ in something not a structure or union if (get_cpu_var(gtp_step).irq_need_open) { ^ /home/jiujin/kgtp/kgtp/gtp.c:5104:25: error: request for member ‘step’ in something not a structure or union get_cpu_var(gtp_step).step = 0; ^ /home/jiujin/kgtp/kgtp/gtp.c:5105:25: error: request for member ‘tpe’ in something not a structure or union __get_cpu_var(gtp_step).tpe = NULL; ^ /home/jiujin/kgtp/kgtp/gtp.c:5106:25: error: request for member ‘irq_need_open’ in something not a structure or union get_cpu_var(gtp_step).irq_need_open = 0; ^ /home/jiujin/kgtp/kgtp/gtp.c: In function ‘gtp_handler’: /home/jiujin/kgtp/kgtp/gtp.c:5121:47: error: request for member ‘step’ in something not a structure or union if (gts->step == 0 && get_cpu_var(gtp_step).step) ^ /home/jiujin/kgtp/kgtp/gtp.c: In function ‘gtp_handler_begin’: /home/jiujin/kgtp/kgtp/gtp.c:5301:33: error: lvalue required as left operand of assignment __get_cpu_var(rdtsc_current) = a; ^ /home/jiujin/kgtp/kgtp/gtp.c:5306:39: error: lvalue required as left operand of assignment get_cpu_var(local_clock_current) = GTP_LOCAL_CLOCK; ^ /home/jiujin/kgtp/kgtp/gtp.c:5313:36: error: lvalue required as left operand of assignment get_cpu_var(gtp_handler_began) = 1; ^ /home/jiujin/kgtp/kgtp/gtp.c: In function ‘gtp_handler_end’: /home/jiujin/kgtp/kgtp/gtp.c:5327:38: error: lvalue required as left operand of assignment get_cpu_var(local_clock_offset) += GTP_LOCAL_CLOCK ^ /home/jiujin/kgtp/kgtp/gtp.c:5329:39: error: lvalue required as left operand of assignment get_cpu_var(local_clock_current) = 0; ^ /home/jiujin/kgtp/kgtp/gtp.c:5337:32: error: lvalue required as left operand of assignment get_cpu_var(rdtsc_offset) += a ^ /home/jiujin/kgtp/kgtp/gtp.c:5339:33: error: lvalue required as left operand of assignment get_cpu_var(rdtsc_current) = 0; ^ /home/jiujin/kgtp/kgtp/gtp.c:5343:36: error: lvalue required as left operand of assignment get_cpu_var(gtp_handler_began) = 0; ^ /home/jiujin/kgtp/kgtp/gtp.c: In function ‘gtp_kp_post_handler_1’: /home/jiujin/kgtp/kgtp/gtp.c:5395:26: error: request for member ‘step’ in something not a structure or union get_cpu_var(gtp_step).step = tpe->step; ^ /home/jiujin/kgtp/kgtp/gtp.c:5396:26: error: request for member ‘tpe’ in something not a structure or union get_cpu_var(gtp_step).tpe = tpe; ^ /home/jiujin/kgtp/kgtp/gtp.c:5402:27: error: request for member ‘irq_need_open’ in something not a structure or union get_cpu_var(gtp_step).irq_need_open = 1; ^ /home/jiujin/kgtp/kgtp/gtp.c:5404:27: error: request for member ‘irq_need_open’ in something not a structure or union get_cpu_var(gtp_step).irq_need_open = 0; ^ /home/jiujin/kgtp/kgtp/gtp.c: In function ‘gtp_step_check_insn’: /home/jiujin/kgtp/kgtp/gtp.c:6056:26: error: request for member ‘irq_need_open’ in something not a structure or union get_cpu_var(gtp_step).irq_need_open = 1; ^ /home/jiujin/kgtp/kgtp/gtp.c:6061:26: error: request for member ‘irq_need_open’ in something not a structure or union get_cpu_var(gtp_step).irq_need_open = 0; ^ /home/jiujin/kgtp/kgtp/gtp.c: In function ‘gtp_notifier_call’: /home/jiujin/kgtp/kgtp/gtp.c:6104:36: error: request for member ‘lock’ in something not a structure or union spin_lock(&get_cpu_var(gtp_step).lock); ^ /home/jiujin/kgtp/kgtp/gtp.c:6112:31: error: request for member ‘tpe’ in something not a structure or union if (!get_cpu_var(gtp_step).tpe || user_mode(args->regs)) ^ /home/jiujin/kgtp/kgtp/gtp.c:6125:38: error: request for member ‘tpe’ in something not a structure or union gts.tpe = get_cpu_var(gtp_step).tpe; ^ /home/jiujin/kgtp/kgtp/gtp.c:6127:39: error: request for member ‘step’ in something not a structure or union gts.step = get_cpu_var(gtp_step).step; ^ /home/jiujin/kgtp/kgtp/gtp.c:6132:31: error: request for member ‘step’ in something not a structure or union if (get_cpu_var(gtp_step).step > 1 && !need_stop) { ^ /home/jiujin/kgtp/kgtp/gtp.c:6143:28: error: request for member ‘step’ in something not a structure or union get_cpu_var(gtp_step).step--; ^ /home/jiujin/kgtp/kgtp/gtp.c:6150:38: error: request for member ‘lock’ in something not a structure or union spin_unlock(&get_cpu_var(gtp_step).lock); ^ /home/jiujin/kgtp/kgtp/gtp.c: In function ‘gtp_register_hwb’: /home/jiujin/kgtp/kgtp/gtp.c:6403:37: error: lvalue required as unary ‘&’ operand arch_send_call_function_ipi_mask(&get_cpu_var(gtp_hwb_sync_cpu_mask)); ^ /home/jiujin/kgtp/kgtp/gtp.c: In function ‘gtp_unregister_hwb’: /home/jiujin/kgtp/kgtp/gtp.c:6457:37: error: lvalue required as unary ‘&’ operand arch_send_call_function_ipi_mask(&__get_cpu_var(gtp_hwb_sync_cpu_mask)); ^ /home/jiujin/kgtp/kgtp/gtp.c: In function ‘gtp_modules_traceframe_info_get’: /home/jiujin/kgtp/kgtp/gtp.c:10702:24: error: ‘struct module’ has no member named ‘module_core’ (unsigned long)mod->module_core, ^ /home/jiujin/kgtp/kgtp/gtp.c:10703:24: error: ‘struct module’ has no member named ‘core_text_size’ (unsigned long)mod->core_textsize); ^ cc1: some warnings being treated as errors scripts/Makefile.build:264: recipe for target '/home/jiujin/kgtp/kgtp/gtp.o' failed make[2]: ** [/home/jiujin/kgtp/kgtp/gtp.o] Error 1

splade commented 7 years ago

__get_cpu_var removed in kernel 4.x