URN Logo
UNIX Resources » Linux » China Linux Forum » CPU 与 编译器 » 4 » 问大家一个gcc编译的问题。
announcement 声明: 本页内容为中国Linux论坛的内容镜像,文章的版权以及其他所有的相关权利属于中国Linux论坛和相应文章的作者,如果转载,请注明文章来源及相关版权信息。
Resources
China Linux Forum(finished)
Linux Forum(finished)
FreeBSD China(finished)
linuxforum.net
  业界新闻与评论
  自由软件杂谈
  IT 人生
  Linux软件快递
  翻译作坊
  Linux图书与评论
  GNU Emacs/XEmacs
  Linux 中文环境和中文化
  Linux桌面与办公软件
  Linux 多媒体与娱乐版
  自由之窗Mozilla
  笔记本电脑上的Linux
  Gentoo
  Debian 一族
  网络管理技术
  Linux 安装与入门
  WEB服务器和FTP服务器
  域名服务器和邮件服务器
  Linux防火墙和代理服务器应用
  文件及打印服务器
  技术培训与认证
  Linux内核技术
  Linux 嵌入技术
  Linux设备驱动程序
  Linux 集群技术
  LINUX平台数据库
  系统和网络安全
  CPU 与 编译器
  系统计算研究所专栏
  Linux下的GUI软件开发
  C/C++编程版
  PHP 技 术
  Java&jsp技术
  Shell编程技术
  Perl 编 程
  Python 编 程
  XML/Web Service 技术
  永远的Unix
  FreeBSD世界
   
问大家一个gcc编译的问题。
问大家一个gcc编译的问题。 - soupbetter [2006-04-10 11:01 | 329 byte(s)]
 
Re: 问大家一个gcc编译的问题。 - shy828301 [2006-04-10 11:09 | 35 byte(s)]
 
Re: 问大家一个gcc编译的问题。 - soupbetter [2006-04-10 12:11 | 135 byte(s)]
 
Re: 问大家一个gcc编译的问题。 - shy828301 [2006-04-10 12:33 | 62 byte(s)]
 
Re: 问大家一个gcc编译的问题。 - soupbetter [2006-04-10 17:49 | 97 byte(s)]
 
Re: 问大家一个gcc编译的问题。 - soupbetter [2006-04-13 17:50 | 205 byte(s)]
 
Re: 问大家一个gcc编译的问题。 - shy828301 [2006-04-13 18:03 | 329 byte(s)]
 
Re: 问大家一个gcc编译的问题。 - soupbetter [2006-04-19 22:21 | 340 byte(s)]
 
Re: 问大家一个gcc编译的问题。 - daiyuwen [2006-04-25 17:36 | 728 byte(s)]
 
Re: 问大家一个gcc编译的问题。 - soupbetter [2006-04-27 18:43 | 18 byte(s)]
 
Subject: 问大家一个gcc编译的问题。
Author: soupbetter    Posted: 2006-04-10 11:01    Length: 329 byte(s)
[Original] [Print] [Top]
我目前的认识是:gcc编译出来的执行文件都是某一种格式(format)的,比如elf格式,它要想运行在host上需要host上已有的程序来解释它,比如有个pmon之类类似bios的程序。如果我想编译出一个在flash上运行上电自加载的执行文件,其实也相当于一个bios的执行文件,它是不是应该全部由机器码组成,不含格式信息?gcc怎么使用才能做到呢?谢谢您的帮助! :)
[Original] [Print] [Top]
Subject: Re: 问大家一个gcc编译的问题。
Author: shy828301    Posted: 2006-04-10 11:09    Length: 35 byte(s)
[Original] [Print] [Top]
可以用objcopy,指定输出为binary格式
[Original] [Print] [Top]
Subject: Re: 问大家一个gcc编译的问题。
Author: soupbetter    Posted: 2006-04-10 12:11    Length: 135 byte(s)
[Original] [Print] [Top]
恩,谢谢:)
另外,在《see mips run》说是用gcc-conv的话可以把某种格式文件转换成在prom上运行的文件,这和objcopy的区别是什么呢?
[Original] [Print] [Top]
Subject: Re: 问大家一个gcc编译的问题。
Author: shy828301    Posted: 2006-04-10 12:33    Length: 62 byte(s)
[Original] [Print] [Top]
这个没用过,就不太清楚了,可能pmon支持某种特殊格式的文件运行吧
[Original] [Print] [Top]
Subject: Re: 问大家一个gcc编译的问题。
Author: soupbetter    Posted: 2006-04-10 17:49    Length: 97 byte(s)
[Original] [Print] [Top]
pmon是支持的,但是我想编译出一个“没有格式”,直接“取指”就可以运行的文件,先试试binary看看 :)
[Original] [Print] [Top]
Subject: Re: 问大家一个gcc编译的问题。
Author: soupbetter    Posted: 2006-04-13 17:50    Length: 205 byte(s)
[Original] [Print] [Top]
恩,的确用objcopy -O binary是可以生成二进制的。感谢shy! 现在的问题是:如果原来的汇编文件有数据段的话,ld的用法不甚明了啊,到底Ttext和Tdata的参数如何设置呢。。。不知大家有没有关于ld用法特别实用的资料? :)
[Original] [Print] [Top]
Subject: Re: 问大家一个gcc编译的问题。
Author: shy828301    Posted: 2006-04-13 18:03    Length: 329 byte(s)
[Original] [Print] [Top]
汇编文件有数据段也无所谓,就是直接(*.data)就包含所有.o文件的数据段了.
http://www.gnu.org/software/binutils/manual/ld-2.9.1/html_mono/ld.html这个是ld的在线手册,已经很全了
[Original] [Print] [Top]
Subject: Re: 问大家一个gcc编译的问题。
Author: soupbetter    Posted: 2006-04-19 22:21    Length: 340 byte(s)
[Original] [Print] [Top]
嗯,非常全的资料,谢谢! :)
读的过程中想到一个很“基础”的问题:
比如 ld -Ttext 0xbfc00000 ......
这个地址是什么地址呢? 是物理地址?貌似不太对啊,因为cpu对物理地址的分配应该是事先确定的吧。是逻辑地址?是不是有了这个参数项,程序中的相对地址都以它为基址连接成物理地址? 不懂,实在是基础薄弱啊。。。 期待指教 :)
[Original] [Print] [Top]
Subject: Re: 问大家一个gcc编译的问题。
Author: daiyuwen    Posted: 2006-04-25 17:36    Length: 728 byte(s)
[Original] [Print] [Top]
-Ttext, -Tdata, -Tbss指定的是运行时的地址,GNU 手册里叫做relocation address, 有的工具叫它execute address。什么是运行时的地址, 举个例子:

int flag = 0xFF;

int foo (void)
{
return flag;
}

全局变量flag将被放在data段里,如果你在连接的时候指定了-Tdata 0x1000, flag位于data段偏移0处,那么生成的foo的代码会象这样:

从0x1000 处取一个4字节的整型数来

也就是说运行时的代码知道data段的位置,期望那里是正确的数据。 这就需要有外部的力量把text, data,BSS等搬到代码期望的位置。如果有操作系统的话,这工作由loader完成,如果没有操作系统,就得程序自己完成。

relocation address与用不用MMU没有关系。
[Original] [Print] [Top]
Subject: Re: 问大家一个gcc编译的问题。
Author: soupbetter    Posted: 2006-04-27 18:43    Length: 18 byte(s)
[Original] [Print] [Top]
谢谢!我明白了:)
[Original] [Print] [Top]
« Previous thread
请教:有谁研究过Stanford的SUIF编译框架,请赐教!
CPU 与 编译器
4
Next thread »
有谁知道关于清华thump第一版五级流水的dcache的问题
     

Copyright © 2007 UNIX Resources Network, All Rights Reserved.      About URN | Privacy & Legal | Help | Contact us
备案序号: 京ICP备05006143    webmaster: webmaster@unixresources.net
This page created on 2008-07-17 03:47:16, cost 0.065562009811401 ms.