当前位置: 首页 > news >正文

【嵌入式ARM汇编基础】-ELF文件格式内部结构详解(二)

ELF文件格式内部结构详解(二)

文章目录

  • ELF文件格式内部结构详解(二)
    • 6、ELF文件头
      • 6.1 ELF 文件头信息字段
      • 6.2 目标平台字段
      • 6.3 入口点字段
      • 6.4 表位置字段
    • 7、ELF程序头
      • 7.1 PHDR 程序头
      • 7.2 INTERP 程序头
      • 7.3 LOAD 程序头文件
      • 7.4 动态程序头
      • 7.5 NOTE 程序头
      • 7.6 TLS 程序头
      • 7.7 GNU_EH_FRAME 程序头
      • 7.8 GNU_STACK 程序头
      • 7.9 GNU_RELRO 程序头
    • 8、ELF Section头信息
    • 9、ELF 元节(Meta-Sections)
      • 9.1 字符串表部分
      • 9.2 符号表部分
    • 10、ELF 的主要部分
      • 10.1 .text 部分
      • 10.2 .data 部分
      • 10.3 .bss 部分
      • 10.4 .rodata 部分
      • 10.5 .tdata 和 .tbss 部分
    • 11、符号
      • 11.1 全局符号与局部符号
      • 11.2 弱符号
      • 11.3 符号版本
      • 11.4 映射符号

编译和链接过程的最终输出是一个可执行和可链接格式 (ELF) 文件,其中包含操作系统和加载器加载和运行程序所需的所有信息。从最抽象的层面来看,ELF 文件可以被认为是一组描述程序及其运行方式的表。在 ELF 格式中,存在三种类型的表:位于文件开头的 ELF 文件头、程序头、描述如何将 ELF 程序加载到内存中的节头,以及 ELF 文件中指示加载器如何准备执行的逻辑节。

6、ELF文件头

ELF 文件的开头是 ELF 文件头。ELF 文件头描述了程序的全局属性,例如程序设计运行的架构、程序入口点以及指向文件中其他表的指针和大小。

给定一个 ELF 文件,例如我们之前在“汇编和链接”部分中汇编和链接的 print32.so 和 print64.so 程序,我们可以使用 readelf 之类的程序查看这些属性和节。可以使用 readelf 的 -h 参数查看 ELF 文件头,如下所示:

在这里插入图片描述

相关文章:

  • C语言再出发:2025年AI时代的关键语言
  • JavaWeb学习——day9(图书管理系统初级)
  • Day 2 学习主题「面向对象 + Pythonic 风格」
  • Linux服务器部署Leantime与cpolar构建低成本团队协作环境
  • 数据分享:汽车行业-汽车属性数据集
  • 英特尔汽车业务败走中国,喊出“All in”才过两个月
  • 测试方法的分类
  • 香港维尔利健康科技集团推出AI辅助医学影像训练平台,助力医护人才数字化转型
  • aws(学习笔记第四十七课) codepipeline-docker-build
  • 深入解析设备管理系统新趋势:物联网与云原生驱动的智能化实践
  • 软件测试之基于博客系统项目的性能测试
  • 大数据赋能智慧城市:从数据洪流到科学规划的“智慧之匙”
  • 互联网医院系统源码解析:如何实现视频问诊、电子处方等核心功能?
  • 详解零拷贝
  • 面试150 验证回文串
  • 七天学会SpringCloud分布式微服务——02——第一个微服务项目
  • Redis-基本命令
  • Tailwind CSS 尺寸控制
  • 兰洋科技上合组织论坛发表专题分享,全球液冷布局引领绿色算力未来
  • 开发基于Jeston Orin Nx 开发版 16G的实现