ELF重定向分析(2):依赖共享库的可执行文件
2019-8-17
本系列第二篇,分析依赖共享库时可执行文件的重定向方式。4 依赖共享库的可执行文件源代码如下:访问全局变量,全局函数,静态变量,静态函数,共享库中的变量,共享库中的函数。为了简化,一个函数访问一种变量。exe_lib.c12345678910111213141516171819202122232425
QCA9563 u-boot移植
2019-8-17
犯下的大坑,导致了浪费很多时间调试1 没有修改.config中的CONFIG_SYS_TEXT_BASE=0x9ffb0000以为是修改include/configs/ap152.h的CONFIG_SYS_LOAD_ADDR.导致绝对地址跳转失败, 调了几个小时,最后反汇编才发现。2 擦除的时候只擦
gcc如何产生GDB调试用的符号文件
2019-8-17
objycopy只拷贝调试信息objcopy --only-keep-debug main main.debugStrip debug information from origin file:objcopy --strip-debug mainorstrip --strip-debug --str
rtnl lock
2019-8-20
内核的接口很多都显式的要求在rtnl lock的保护下,它是一个mutex锁,用来保护netdevice等相关的数据,在内核,用户配置间的一致性。定义在:net/core/rtnetlink.cvoid rtnl_lock(void){ mutex_lock(&rtnl_mutex);}EXP
编译共享库的时候强制检查未定义符号
2019-8-20
编译共享库的时候,有时候书写错误,比如snprintf写成了snrpintf,编译共享库的时候没有报错,但是后面使用共享库的其它程序链接的时候报错了。华为的VRP8系统,使用大量的so,并采用dlopen的方式加载,经常出现未定义符号而单板起不来的问题。可以在编译共享库的时候指定:-Wl,--no-
vim添加gtags支持
2019-8-26
cscope的一个严重的缺陷是,它会把结构体声明等也当成定义,当你要查看一个结构体的定义时,很多没有用的输出。int (*setup)(struct platform_device *, struct legacy_probe *probe,struct platform_device;发现gtag
diff产生patch
2019-8-31
使用-u选项,产生unified格式的patch,默认的格式是normal格式:$ diff -u a/lib/route/route.c b/lib/route/route.c--- a/lib/route/route.c 2017-08-18 21:09:44.000000000 +
The Point-to-Point Protocol (PPP)
2019-9-18
RFC 1661 The Point-to-Point Protocol (PPP)PPP主要包括3个部分PPP Encapsulation 一个Link Control Protocol (LCP) 来建立、配置、测试数据链路连接。一组Network Control Protocols (NCP
IP Version 6 over PPP
2019-9-18
Sending IPv6 Datagrams在任何IPv6数据包可以发送前,PPP必须进入network-layer protocol phase,而且IPv6 Control Protocol必须达到Opened state。IPv6包被encapsulated到PPP data link lay
64位ubuntu 16.04支持运行32位程序
2019-9-27
安装32位C库:apt-get install libc6:i386 libstdc++6:i386当然你能还需要安装其它一些知名开源C库apt-get install zlib1g:i386
Copyright © linuxdev.cc 2017-2024. Some Rights Reserved.