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 祝好, 刘智猷