Modify ↓
Ticket #174 (new defect)
Opened 14 months ago
dd words memory expressions, overriding each other with 64 bit registers
| Reported by: | bjohnst8@… | Owned by: | |
|---|---|---|---|
| Priority: | P1 | Milestone: | |
| Component: | Core | Version: | 0.8.0 |
| Severity: | major | Keywords: | dd expressions override using 64 bit registers |
| Cc: |
Description
I believe there is a problem with the use of dd when using 64 bit registers, namely rax... essentially one memory expression runs into the other, which means that when one expression is altered so to is the other. the compiler fails to warn about this behaviour. I use standard yasm -f elf -g dwarf2 -m amd64 FILENAME.asm ld -o FILENAME FILENAME.o
the simplest fix to the problem is to use dq expressions instead of dd or to place a dummy dd expression between them, however I believe the compiler should warn about this eventuallity
I have included the simple program I have built to show this problem
Attachments
Note: See
TracTickets for help on using
tickets.


simple example of the override problem