printk %pF %pS含义【转】

简介: 作者:啐楼链接:https://www.zhihu.com/question/37769890/answer/73532192来源:知乎著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
作者:啐楼
链接:https://www.zhihu.com/question/37769890/answer/73532192
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

Symbols/Function Pointers:
%pF versatile_init+0x0/0x110
%pf versatile_init %pS versatile_init+0x0/0x110
%pSR versatile_init+0x9/0x110
(with __builtin_extract_return_addr() translation)
%ps versatile_init
%pB prev_fn_of_versatile_init+0x88/0x88
For printing symbols and function pointers. The 'S' and 's' specifiers result in the symbol name with ('S') or without ('s') offsets. Where this is used on a kernel without KALLSYMS - the symbol address is printed instead. The 'B' specifier results in the symbol name with offsets and should be used when printing stack backtraces. The specifier takes into consideration the effect of compiler optimisations which may occur when tail-call's are used and marked with the noreturn GCC attribute. On ia64, ppc64 and parisc64 architectures function pointers are actually function descriptors which must first be resolved. The 'F' and 'f' specifiers perform this resolution and then provide the same functionality as the 'S' and 's' specifiers.
【作者】 张昺华
【新浪微博】 张昺华--sky
【twitter】 @sky2030_
【facebook】 张昺华 zhangbinghua
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利.
目录
相关文章
|
6月前
|
安全 C语言
snprintf的用法
简要介绍了snprintf的常用方法,能大大的简化我们的代码
|
6月前
|
编译器 C++
offsetof宏的使用、模拟实现及 (size_t)&(((struct_type*)0)->mem_name)的解释
offsetof宏的使用、模拟实现及 (size_t)&(((struct_type*)0)->mem_name)的解释
|
编解码 Ubuntu Linux
Linux FrameBuffer(三)- struct fb_fix_screeninfo 和 struct fb_var_screeninfo 详解
Linux FrameBuffer(三)- struct fb_fix_screeninfo 和 struct fb_var_screeninfo 详解
462 0
|
存储 数据安全/隐私保护 开发者
Stat 结构体 | 学习笔记
快速学习 Stat 结构体
117 0
|
网络协议 Linux API
PF_RING实现分析(2)
4、mmap操作 用户态的接下来调用: ring->buffer = (char *)mmap(NULL, PAGE_SIZE, PROT_READ|PROT_WRITE, MAP_SHARED, ring->fd, 0); 复制代码 进行内存映射。 同样地,内核调用相应的ring_mmap进行处理。 Ring选项结构通过ring_sk宏与sk 建立关联 struct ring_opt *pfr = ring_sk(sk); 复制代码
415 0
|
存储 Linux API
PF_RING实现分析(1)
内核版本:Linux 2.6.30.9 PF_RING版本:4.1.0 最近看了一个PF_RING的实现,看了个大概,发上来大家讨论讨论,共同学习。 一、什么是PF_RING PF_RING是一个第三方的内核数据包捕获接口,类似于libpcap。 二、为什么需要PF_RING 一切为了效率,按照其官方网站上的测试数据,在Linux平台之上,其效率至少高于libpcap 50% - 60%,甚至是一倍。更好的是,PF_RING提供了一个修改版本的libpcap,使之建立在PF_RING接口之上。这样,原来使用libpcap的程序,就可以自然过渡了。
694 0
PF_RING实现分析(3)
刚刚接触PF_RING,学习了,O(∩_∩)O 有个问题请教一下九贱前辈:内核中的PACKET_MMAP跟PF_RING有什么不同呢? 感觉PACKET_MMAP跟transparent_mode=0时的PF_RING原理上是一样的( ⊙ o ⊙ )啊...?
166 0
|
机器学习/深度学习 监控