[linux-unicore] 答复: [linux-unicore] Unicore32 ELF中的$a symbol

  • From: "Guan Xuetao" <gxt@xxxxxxxxxxxxxxx>
  • To: <linux-unicore@xxxxxxxxxxxxx>
  • Date: Tue, 29 Jan 2013 17:29:36 +0800

我询问了一下,这个符号可能是调试时使用的临时符号,为什么要有,并不明确


> -----邮件原件-----
> 发件人: linux-unicore-bounce@xxxxxxxxxxxxx
> [mailto:linux-unicore-bounce@xxxxxxxxxxxxx] 代表 刘智猷
> 发送时间: Monday, January 28, 2013 13:46
> 收件人: linux-unicore@xxxxxxxxxxxxx; Guan Xuetao
> 主题: [linux-unicore] Unicore32 ELF中的$a symbol
> 
> Hi,
> 
> 我现在已经让binutils支持一些与重定向无关的指令。比如,
> 
> [easyhard@here ~/unicore32-dis]$ cat test2.s
>     and r0, r1, r2
>     xor r3, r4, r5
>     add r0, r1, r2 >> #15
>     add r0, r1, r2 << #15
>     add r0, r1, r2 |> #15
>     add r0, r1, r2 <> #15
>     add.a r0, r1, r2 >> #15
>     add.a r0, r1, r2 << #15
>     add.a r0, r1, r2 |> #15
>     add.a r0, r1, r2 <> #15
>     add r0, r1, r2 >> r3
>     add r0, r1, r2 << r3
>     add r0, r1, r2 |> r3
>     add r0, r1, r2 <> r3
>     add.a r0, r1, r2 >> r3
>     add.a r0, r1, r2 << r3
>     add.a r0, r1, r2 |> r3
>     add.a r0, r1, r2 <> r3
> 
> 已经可以用gas产生.o文件,但是我发现即使是闭源的工具链,产生的.o
> 文件里也包含一个$a symbol。而且闭源的工具链在readelf
> -s或者是objdump -s中会把这个$a symbol偷偷去掉。 这个$a symbol有什么
> 来头吗?
> 
> $ unicore32-linux-readelf -s test2.o
> 
> Symbol table '.symtab' contains 6 entries:
>    Num:    Value  Size Type    Bind   Vis      Ndx Name
>      0: 00000000     0 NOTYPE  LOCAL  DEFAULT  UND
>      1: 00000000     0 SECTION LOCAL  DEFAULT    1
>      2: 00000000     0 SECTION LOCAL  DEFAULT    2
>      3: 00000000     0 SECTION LOCAL  DEFAULT    3
>      4: 00000000     0 NOTYPE  LOCAL  DEFAULT    1 $a
>      5: 00000000     0 SECTION LOCAL  DEFAULT    4
> 
> 
> 
> $ unicore32-linux-objdump -t test2.o
> 
> test2.o:     file format elf32-littleunicore32
> 
> SYMBOL TABLE:
> 00000000 l    d  .text    00000000 .text
> 00000000 l    d  .data    00000000 .data
> 00000000 l    d  .bss    00000000 .bss
> 00000000 l    d  .UNICORE32.attributes
> 00000000 .UNICORE32.attributes
> 
> 祝好,
> 刘智猷

Other related posts:

  • » [linux-unicore] 答复: [linux-unicore] Unicore32 ELF中的$a symbol - Guan Xuetao