Yu Wai Wong
2006-09-16 05:32:33 UTC
Since I'm starting to fiddle around with the nachos istallation on linux,
we may as well have a common thread for those linux users out there. I've
basically taken the source files and unpacked them. I then go to the
directory build.linux. In there I copied the Makefile I found in
build.solaris ( that for some reason didnt
show up symbolicly) to build.linux. I 'make depend' then 'make nachos'.
The following error is what shows up:
g++ -g -Wall -Wno-deprecated -I../network -I../filesys -I../userprog
-I../threads -I../machine -I../lib -DRDATA -DSIM_FIX -DFILESYS_STUB
-DRR_QUANTUM -Dx86 -DLINUX -march=athlon64 -O2 -m32 -DCHANGED -c
../network/post.cc
/lib/cpp -P -I../network -I../filesys -I../userprog -I../threads
-I../machine -I../lib -Dx86 -DLINUX -march=athlon64 -O2 -m32
../threads/switch.s > swtch.s
as -o switch.o swtch.s
swtch.s: Assembler messages:
swtch.s:6: Error: suffix or operands invalid for `push'
swtch.s:8: Error: suffix or operands invalid for `push'
swtch.s:9: Error: suffix or operands invalid for `call'
swtch.s:10: Error: suffix or operands invalid for `call'
swtch.s:11: Error: suffix or operands invalid for `call'
swtch.s:15: Error: suffix or operands invalid for `pop'
I run a Gentoo Linux amd64 with the flags inside Makefile.dep
HOSTCFLAGS = -Dx86 -DLINUX -march=athlon64 -O2 -m32
inside code/threads/switch.s the -Dx86 switch from Makefile.dep flows to
the #ifdef x86
where it then defines ThreadRoot and SWITCH itself. I know theres some way
to compile this as a 32-bit binary but i seem to be missing something
simple as the amd64 cpu does not understand push or call or pop
apparently.
we may as well have a common thread for those linux users out there. I've
basically taken the source files and unpacked them. I then go to the
directory build.linux. In there I copied the Makefile I found in
build.solaris ( that for some reason didnt
show up symbolicly) to build.linux. I 'make depend' then 'make nachos'.
The following error is what shows up:
g++ -g -Wall -Wno-deprecated -I../network -I../filesys -I../userprog
-I../threads -I../machine -I../lib -DRDATA -DSIM_FIX -DFILESYS_STUB
-DRR_QUANTUM -Dx86 -DLINUX -march=athlon64 -O2 -m32 -DCHANGED -c
../network/post.cc
/lib/cpp -P -I../network -I../filesys -I../userprog -I../threads
-I../machine -I../lib -Dx86 -DLINUX -march=athlon64 -O2 -m32
../threads/switch.s > swtch.s
as -o switch.o swtch.s
swtch.s: Assembler messages:
swtch.s:6: Error: suffix or operands invalid for `push'
swtch.s:8: Error: suffix or operands invalid for `push'
swtch.s:9: Error: suffix or operands invalid for `call'
swtch.s:10: Error: suffix or operands invalid for `call'
swtch.s:11: Error: suffix or operands invalid for `call'
swtch.s:15: Error: suffix or operands invalid for `pop'
I run a Gentoo Linux amd64 with the flags inside Makefile.dep
HOSTCFLAGS = -Dx86 -DLINUX -march=athlon64 -O2 -m32
inside code/threads/switch.s the -Dx86 switch from Makefile.dep flows to
the #ifdef x86
where it then defines ThreadRoot and SWITCH itself. I know theres some way
to compile this as a 32-bit binary but i seem to be missing something
simple as the amd64 cpu does not understand push or call or pop
apparently.