Here's the code I have:

open I0, "test.txt", "<"
open I1, "testdtxt", "<"
end

I assemble and load it into pdb and get this:

Parrot Debugger 0.0.1

(pdb) list
1  open_i_sc_sc I0,"test.txt<","<"
2  open_i_sc_sc I1,"testdtxt","<"
3  end

(pdb)

The first one is listed as "test.txt<" instead of "test.txt"
And when I run it through gdb:

GNU gdb Red Hat Linux 7.x (5.0rh-15) (MI_OUT)
Copyright 2001 Free Software Foundation, Inc.
GDB free software, covered by the GNU General Public License, and you
are welcome to change it and/or distribute copies of it under certain
conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB.  Type "show warranty" for
details.
This GDB was configured as "i386-redhat-linux"...
(gdb) break Parrot_open_i_sc_sc
Breakpoint 1 at 0x804b146: file core.ops, line 146.
(gdb) run -t openfile.pbc
Starting program: /home/bryan/parrot/parrot -t openfile.pbc
PC=0; OP=10 (open_i_sc_sc); ARGS=(I0=0, "test.txt<", "<")

Breakpoint 1, Parrot_open_i_sc_sc (cur_opcode=0x814b8a0,
interpreter=0x8139750) at core.ops:146
146       $1 = (INTVAL)fopen(string_to_cstring(interpreter, ($2)),
string_to_cstring(interpreter, ($3)));
(gdb) cont
Continuing.
PC=4; OP=10 (open_i_sc_sc); ARGS=(I1=0, "testdtxttest.txt", "<")

Breakpoint 1, Parrot_open_i_sc_sc (cur_opcode=0x814b8b0,
interpreter=0x8139750) at core.ops:146
146       $1 = (INTVAL)fopen(string_to_cstring(interpreter, ($2)),
string_to_cstring(interpreter, ($3)));
(gdb)

Notice the first time I hit I had "test.txt<", which is what pdb showed,
but notice the second time, I have "testdtxttest.txt"

Is this an assembler problem or a problem with open?

--
Bryan Logan

Reply via email to