文档章节

gcc设置段基址

i
 i不歪
发布于 2016/04/06 09:56
字数 287
阅读 43
收藏 0

gcc设置段基址

@(编译相关)[gcc设置段基址]


[TOC]


设置代码段基址

向gcc/g++中传入这个命令行选项:-Wl,-Ttext-segment=<地址>,-Wl表示这个命令行选项是传给链接器(即,ld)的。

命令行选项说明

查找ld的命令行选项手册(https://ftp.gnu.org/old-gnu/Manuals/ld-2.9.1/html_node/ld_3.html#SEC3)可找到下面的说明:

-Tbss org
-Tdata org
-Ttext org
Use org as the starting address for--respectively--the bss, data, or the text segment of the output file. org must be a single hexadecimal integer; for compatibility with other linkers, you may omit the leading `0x' usually associated with hexadecimal values.

上面英文的意思是:使用org作为输出文件的bss,data或text段的起始地址。org必须是一个十六进制整数;为了与其他链接器兼容,不要在十六进制数的前面添加'0x'。

起始地址可以理解为基址

我没有找到"-Ttext-segment"这个命令行选项,我认为"-Ttext-segment"与"-Ttext"表示同一个意思。

例子

使用下面的命令,gcc编译出来的ELF文件的text段基址为0x60000000:

gcc -Wl,-Ttext-segment=0x60000000 ...

© 著作权归作者所有

共有 人打赏支持
i
粉丝 5
博文 71
码字总数 62055
作品 0
西城
私信 提问
GDT,LDT,GDTR,LDTR 详解,包你理解透彻

一、引入 保护模式下的段寄存器 由 16位的选择器 与 64位的段描述符寄存器 构成 段描述符寄存器: 存储段描述符 选择器:存储段描述符的索引 段寄存器 PS:原先实模式下的各个段寄存器作为保...

simpower
05/30
0
0
编译可在Android上运行的qemu user mode

前言 本文在Ubuntu 64位系统上对qemu项目进行交叉编译,并且只编译与qemu user mode有关的代码。 下文中的”NDK”若无特殊说明均指”Android NDK”。 下文中”$NDK”表示的是NDK的根目录。 ...

阿里聚安全
2016/07/20
552
1
80X86汇编寄存器汇总

开始逆向方面的学习了,汇编寄存器是第一关,在此作为备忘录。 数据寄存器: AX:累加器 BX:基址寄存器 CX:计数寄存器 DX:数据寄存器 段寄存器: CS:代码段段寄存器 DS:数据段段寄存器 SS:堆栈...

长平狐
2012/08/13
98
0
OS 学习笔记导航

环境搭建 000 实验环境搭建 保护模式 001 保护模式 002 段寄存器 003 段选择子与段描述符结构 004 段描述符属性分析 005 特权级 006 数据段权限检查 007 代码段权限检查与 jmp 008 跨段提权与...

q1007729991
2016/09/14
0
0
自制操作系统Antz day05——深入理解保护模式与进入方法

Antz系统更新地址: https://www.cnblogs.com/LexMoon/category/1262287.html   在前几天的任务中,我们已经简单实现了MBR,直接操作显示器和硬盘操作来加载其他扇区的程序,我们这些任务都...

奶BerBer
07/29
0
0

没有更多内容

加载失败,请刷新页面

加载更多

websocket 接口简单测试工具,webcoket实用测试工具

chorme 插件 Simple WebSocket Client 对开发来说够用了,能连互联网,也能连本地的。

SimonAt
6分钟前
0
0
Ext中 get、getDom、getCmp的区别

getDom方法能够得到文档中的DOM节点,该方法中包含一个参数,该参数可以是DOM节点的id、DOM节点对象或DOM节点对应的Ext元素(Element)等。 (与getElementById是一个效果) •Ext.onReady(funct...

休辞醉倒
14分钟前
0
0
springboot jpa 访问数据库

spring boot(五):spring data jpa的使用 SpringBoot非官方教程 | 第三篇:SpringBoot用JdbcTemplates访问Mysql

颖辉小居
28分钟前
4
0
Quartz + Oracle 分布式Job实现

简述 实现 依赖包 <dependency><groupId>org.quartz-scheduler</groupId><artifactId>quartz</artifactId><version>2.2.3</version><exclusions><exclusion><groupId>com.zax......

呼呼南风
34分钟前
5
0
崛起于Springboot2.X之集成规则引擎Drools(41)

1、创建Springboot项目,勾选Web模块和lombok插件 2、添加pom其他依赖 <dependency> <groupId>org.kie</groupId> <artifactId>kie-spring</artifactId> <version>7.11.0.Fin......

木九天
42分钟前
5
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部