[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Bug gas/13046] New: Calling equ'd symbols
From: |
wayo.cavazos at gmail dot com |
Subject: |
[Bug gas/13046] New: Calling equ'd symbols |
Date: |
Sat, 30 Jul 2011 18:23:43 +0000 |
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: address@hidden
ReportedBy: address@hidden
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 gas/13046] New: Calling equ'd symbols,
wayo.cavazos at gmail dot com <=