http://sourceware.org/bugzilla/show_bug.cgi?id=13046
Summary: Calling equ'd symbols Product: binutils Version: 2.21 Status: NEW Severity: normal Priority: P2 Component: gas AssignedTo: unassig...@sources.redhat.com ReportedBy: wayo.cava...@gmail.com Here's a small NASM program: [BITS 64] [ORG 0x0000000000200000] b_print_newline equ 0x0000000000100040 start: call b_print_newline ret Assemble it: $ nasm -f bin pr-nl-a.asm -o pr-nl-a.app Disassemble it: $ objdump -D -b binary -m i386:x86-64 pr-nl-a.app pr-nl-a.app: file format binary Disassembly of section .data: 0000000000000000 <.data>: 0: e8 3b 00 f0 ff callq 0xfffffffffff00040 5: c3 retq Here's a GAS version: .set b_print_newline , 0x0000000000100040 .text .global _start _start: call b_print_newline ret Assemble and link it: $ as -o pr-nl-b.o pr-nl-b.s $ ld -Ttext 200000 --oformat binary -o pr-nl-b.app pr-nl-b.o Disassemble it: $ objdump -D -b binary -m i386:x86-64 pr-nl-b.app pr-nl-b.app: file format binary Disassembly of section .data: 0000000000000000 <.data>: 0: ff 14 25 40 00 10 00 callq *0x100040 7: c3 retq As you can see, the disassembled code differs slightly. The code for `call` in NASM: 0: e8 3b 00 f0 ff callq 0xfffffffffff00040 vs GAS: 0: ff 14 25 40 00 10 00 callq *0x100040 Also, here's the program in FASM: b_print_newline equ 0x0000000000100040 use64 org 0x0000000000200000 start: call b_print_newline ret It does the right thing: $ objdump -D -b binary -m i386:x86-64 pr-nl-c.app pr-nl-c.app: file format binary Disassembly of section .data: 0000000000000000 <.data>: 0: e8 3b 00 f0 ff callq 0xfffffffffff00040 5: c3 retq I brought this issue up on the binutils list. It was suggested that I open a bug for this: http://sourceware.org/ml/binutils/2011-07/msg00277.html -- Configure bugmail: http://sourceware.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug. _______________________________________________ bug-binutils mailing list bug-binutils@gnu.org https://lists.gnu.org/mailman/listinfo/bug-binutils