天嵌 ARM开发社区

 找回密码
 注册
查看: 2233|回复: 2

linux内核代码 汇编部分 疑问

[复制链接]
wukui1008 发表于 2011-12-27 22:28:38 | 显示全部楼层 |阅读模式
linux内核的汇编部分有3个文件
arch\arm\boot\compressed        head.s
arch\arm\kernel                          head.s
arch\arm\kernel                          head-common.s
请问这3个文件里的代码编译后放在哪个段里面?又是在哪里指定了其需要编译进哪个段的?

我只看到arch\arm\kernel                          head.s  
里面有.section ".text.head", "ax"
其他2个文件没有找到。。。。。。。。
另外我看了system.map  
发现arch\arm\kernel                          head-common.s
也被放在了.section ".text.head"   但是找不到是在哪里指定的。。?

至于这个文件arch\arm\boot\compressed        head.s
我是完全没找到。。。。。。。

球高人解答一下啊。。。。
anqi8955 发表于 2011-12-28 16:25:00 | 显示全部楼层
你的内核是哪个版本?在linux2.6.22里面有一个  
.text.head : {
                _stext = .;
                _sinittext = .;
                *(.text.head)
        }
段, "."指向的是PAGE_OFFSET + TEXT_OFFSET 是一个虚拟地址,是编译后链接的地址。
主要就是在head.s文件里面,贯穿到汇编的所有部分,你可以看下,我也在看这个可以互相探讨!1:handshake
 楼主| wukui1008 发表于 2011-12-28 23:01:43 | 显示全部楼层
我的内核是2.6.30
.text.head : {
                _stext = .;
                _sinittext = .;
                *(.text.head)
        }
上面这个是vmlinux.lds里面的东西
但汇编S文件要编译进这个段  是需要有地方指定才对
我只看到arch\arm\kernel                          head.s  
里面有.section ".text.head", "ax"  所以这个head.s被编译进这个段
其他2个文件里面没有找到。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

i.MX8系列ARM cortex A53 M4 工控板上一条 /1 下一条

Archiver|手机版|小黑屋|天嵌 嵌入式开发社区 ( 粤ICP备11094220号-2 )

GMT+8, 2024-9-28 07:27 , Processed in 1.032266 second(s), 18 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表