
编译
天麓
很懒的码农
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
慢慢欣赏linux 内核安装ko到指定的目录
linux内核安装ko到指定的目录原创 2022-10-08 17:31:10 · 1586 阅读 · 0 评论 -
编译内核报错 bison not found
$ make defconfig YACC scripts/kconfig/zconf.tab.c/bin/sh: 1: bison: not foundmake[1]: *** [scripts/Makefile.lib:196:scripts/kconfig/zconf.tab.c] 错误 127make: *** [Makefile:534:defconfig] 错误 2$ sudo apt install bison flex正在读取软件包列表... 完成正在分析软件包的依赖关...原创 2021-09-08 13:36:03 · 6560 阅读 · 0 评论 -
linux下arm交叉编译应用程序
在linux下交叉编译出适用树莓派ARM架构的可执行程序https://m.linuxidc.com/Linux/2019-05/158608.htm原创 2021-09-06 22:43:39 · 427 阅读 · 0 评论 -
慢慢欣赏linux elf文件
readelf -h vmlinux简单介绍一下Linux中ELF格式文件http://www.elecfans.com/emb/20190402898901.html原创 2020-09-13 22:39:48 · 221 阅读 · 0 评论 -
慢慢欣赏linux 内核的重定位
内核非解压缩部分是增加 -fPIC选项。static 的全局变量访问类似于函数,是通过当前地址ip + 固定偏移访问;非static 的全局变量是通过got表访问;没有外部函数,不依赖于外部函数,所以不需要got表和plt表。内核压缩的部分没有使用-fPIC选项,而是使用重定位表搞定,实现方式如下,参考后面的文章。1: subl $4, %edimovl 0(%edi), %ecxtestl %ecx, %ecx 重定位表最后以一个零结束,如果遇到零,则重定位完成。jz 2fad...原创 2020-09-19 22:18:33 · 769 阅读 · 0 评论 -
慢慢欣赏linux 内核反汇编分析
vmlinux: file format elf32-i386Disassembly of section .text:c0400000 <_text>:c0400000: f6 86 11 02 00 00 40 testb $0x40,0x211(%esi)c0400007: 75 14 jne c040001d <_text+0x1d>c0400009: 0f 01 .原创 2020-09-10 23:34:46 · 661 阅读 · 1 评论 -
慢慢欣赏linux 生成内核镜像
all: bzImage || \/ bzImage: vmlinux $(Q)$(MAKE) $(build)=$(boot) $(KBUILD_IMAGE) || \/ //vmlinux展开 # vmlinux image - including updated kernel symbols vmlinux: $(vmlinux-lds) $(vmlinux-init) $(vmlinux-main) vmlinux.o $(kallsyms.o) FORCE .原创 2020-09-06 21:10:36 · 463 阅读 · 0 评论 -
慢慢欣赏linux kbuild如何编译c和汇编
c码编译流程$(vmlinux-dirs): prepare scripts $(Q)$(MAKE) $(build)=$@ || \/vmlinux-dirs := $(patsubst %/,%,$(filter %/, $(init-y) $(init-m) \ $(core-y) $(core-m) $(drivers-y) $(drivers-m) \ $(net-y) $(net-m) $(libs-y) $(libs-m))) || \/vmli原创 2020-09-05 23:00:10 · 254 阅读 · 0 评论 -
慢慢欣赏linux kbuild的一些技巧
host-csingle := $(foreach m,$(__hostprogs),$(if $($(m)-objs),,$(m))) <=__hostprogs := $(sort $(hostprogs-y) $(hostprogs-m)) <=hostprogs-y := fixdep docproc hash所以 host-csingle 的值为 fixdep docproc hashif_changed_dep = $(if $(strip $(any-prereq.原创 2020-08-29 22:35:51 · 231 阅读 · 0 评论 -
x86_64汇编语言
【逆向学习记录】GOT表与PLT表https://blog.csdn.net/zhy025907/article/details/86088368【逆向学习记录】x86-64栈帧及跳转https://blog.csdn.net/zhy025907/article/details/85923242x86-64指令和ABIhttp://weizhenwei.github.io/blog/2014/12/25/x86-64zhi-ling-he-abi/...原创 2020-08-23 09:11:11 · 509 阅读 · 0 评论