Yeah, at this point it's still in 16-bit real mode. First it checks for the A20 line, then it tries to set it, then it switches to protected mode. I tried using pushw, it gives exactly the same error. I'm compiling on Ubuntu 11.04 (64 bit), without using a cross-compiler. Should I be using a cross-compiler? I can't see how that would make much difference (except maybe the version of gas I've got doesn't let you mess with the segment registers because that's the operating system's job?), but I'll give it a go... do I have to download and build it all myself, or is there an Ubuntu package for binutils, etc? Can I just run "sudo apt-get binutils-something"?
**update: I found the "GCC Cross-Compiler on Debian Linux" page, very helpful. I'll give it a try in a minute.
**update 2: Mostly, worked fine, but I haven't tested it yet. I got one error on apt-get update:
Code: Select all
W: Failed to fetch http://www.pedigree-project.org/debian/dists/stable/main/binary-amd64/Packages 404 Not Found