Re: Issue with as86/ld86 and ORG
Posted: Sat Sep 05, 2009 5:12 pm
Are the changes on sourceforge? The files on there I see are pretty out of date.
Edit: NM, I see you sub'd them to the SVN
Edit: NM, I see you sub'd them to the SVN
The Place to Start for Operating System Developers
https://f.osdev.org/
Code: Select all
g++ -O2 -I./include -DX86LIB_BUILD -c x86Lib.cpp -o objs/x86Lib.o
In file included from ./include/x86Lib.h:430,
from x86Lib.cpp:31:
./include/opcode_def.h:478: error: extra qualification ‘x86Lib::x86CPU::’ on member ‘ReadByte’
./include/opcode_def.h:486: error: extra qualification ‘x86Lib::x86CPU::’ on member ‘ReadWord’
./include/opcode_def.h:504: error: extra qualification ‘x86Lib::x86CPU::’ on member ‘ReadDword’
./include/opcode_def.h:522: error: extra qualification ‘x86Lib::x86CPU::’ on member ‘WriteByte’
./include/opcode_def.h:530: error: extra qualification ‘x86Lib::x86CPU::’ on member ‘WriteWord’
./include/opcode_def.h:544: error: extra qualification ‘x86Lib::x86CPU::’ on member ‘WriteDword’
In file included from ./include/x86Lib.h:438,
from x86Lib.cpp:31:
./include/x86Lib_internal.h:293: error: definition of ‘uint16_t x86Lib::ModRM16::GetRegD()’ is not in namespace enclosing ‘x86Lib::ModRM16’
./include/x86Lib_internal.h:324: error: definition of ‘uint16_t x86Lib::ModRM16::GetDisp()’ is not in namespace enclosing ‘x86Lib::ModRM16’
./include/x86Lib_internal.h:359: error: definition of ‘void x86Lib::ModRM16::ModRM16(x86Lib::x86CPU*)’ is not in namespace enclosing ‘x86Lib::ModRM16’
./include/x86Lib_internal.h:369: error: definition of ‘void x86Lib::ModRM16::ModRM16()’ is not in namespace enclosing ‘x86Lib::ModRM16’
./include/x86Lib_internal.h:375: error: definition of ‘uint8_t x86Lib::ModRM16::ReadByter()’ is not in namespace enclosing ‘x86Lib::ModRM16’
./include/x86Lib_internal.h:390: error: definition of ‘uint16_t x86Lib::ModRM16::ReadWordr()’ is not in namespace enclosing ‘x86Lib::ModRM16’
./include/x86Lib_internal.h:406: error: definition of ‘uint32_t x86Lib::ModRM16::ReadDword()’ is not in namespace enclosing ‘x86Lib::ModRM16’
./include/x86Lib_internal.h:425: error: definition of ‘void x86Lib::ModRM16::WriteByter(uint8_t)’ is not in namespace enclosing ‘x86Lib::ModRM16’
./include/x86Lib_internal.h:440: error: definition of ‘void x86Lib::ModRM16::WriteWordr(uint16_t)’ is not in namespace enclosing ‘x86Lib::ModRM16’
./include/x86Lib_internal.h:455: error: definition of ‘void x86Lib::ModRM16::WriteDword(uint32_t)’ is not in namespace enclosing ‘x86Lib::ModRM16’
./include/x86Lib_internal.h:472: error: definition of ‘uint8_t x86Lib::ModRM16::GetLength()’ is not in namespace enclosing ‘x86Lib::ModRM16’
./include/x86Lib_internal.h:492: error: definition of ‘uint8_t x86Lib::ModRM16::GetExtra()’ is not in namespace enclosing ‘x86Lib::ModRM16’
./include/x86Lib_internal.h:496: error: definition of ‘uint16_t x86Lib::ModRM16::ReadOffset()’ is not in namespace enclosing ‘x86Lib::ModRM16’
make: *** [release] Error 1
Code: Select all
NOT DX
Code: Select all
g++ -O2 -I./include -DX86LIB_BUILD -c x86Lib.cpp -o objs/x86Lib.o
g++ -O2 -I./include -DX86LIB_BUILD -c ops/ect.cpp -o objs/ops/ect.o
g++ -O2 -I./include -DX86LIB_BUILD -c ops/maths.cpp -o objs/ops/maths.o
g++ -O2 -I./include -DX86LIB_BUILD -c ops/flow.cpp -o objs/ops/flow.o
g++ -O2 -I./include -DX86LIB_BUILD -c ops/strings.cpp -o objs/ops/strings.o
g++ -O2 -I./include -DX86LIB_BUILD -c ops/flags.cpp -o objs/ops/flags.o
g++ -O2 -I./include -DX86LIB_BUILD -c ops/store.cpp -o objs/ops/store.o
g++ -O2 -I./include -DX86LIB_BUILD -c ops/groups.cpp -o objs/ops/groups.o
ar crs libx86Lib.a objs/x86Lib.o objs/ops/ect.o objs/ops/groups.o objs/ops/store.o objs/ops/flags.o objs/ops/strings.o objs/ops/flow.o objs/ops/maths.o
g++ -O2 -I./include -DX86LIB_BUILD -c tester.cpp -o objs/tester.o
g++ -O2 -I./include -DX86LIB_BUILD -static -o x86Lib_test objs/tester.o -lx86Lib -L.
ld: library not found for -lcrt0.o
collect2: ld returned 1 exit status
make: *** [release] Error 1
I don't compile it often with windows.. so I don't know much about that...myk wrote:Yea I've got no problem with that.
Is there a good way of managing devices? Currently I kinda hacked it into PhysMemory but I don't really like having that class depending on a LCDDisplay class that may or may not be used. Is there anything like your InstallOp function that could install a device at a certain address?
I need to switch over to the SVN version of your code lol. Currently I'm not even using it as a library since xcode is was giving me trouble when I compiled it and then tried using it in my project... blah... I'm not too familiar with these dev tools.
what problems were there with the DumpState?myk wrote:Ok, got everything ported over to using a library built from SVN. I had some trouble linking in the DumpState code so I just hacked it out for the time being. It was giving me some very long error doing with standard output or something.
I'm going to get this current code to where I was before and then start up on coding up some LCD command parsing.