I couldn't get the xgcc command to work as it I got a not found error, nor could I find in either the Linux OS package list or the Alpha precompiled cross Compiler directory.
I ended up using the the Makefile in util/m5 (makefile.alpha) and setting the path of CrossCompile to the Alpha precompiled cross compiler obtained from the M5 wiki: http://www.m5sim.org/dist/current/alphaev67-unknown-linux-gnu-x86-32.tar.bz2 and changed the name of assembly file to have a .S suffix. There really is no harm in using a .S suffix right, so my approach should be fine in the long run? My other question is as follows: When running it, I get the following output: Global frequency set at 1000000000000 ticks per second 0: system.remote_gdb.listener: listening for remote gdb #0 on port 7000 **** REAL SIMULATION **** info: Entering event queue @ 0. Starting simulation... info: Increasing stack size by one page. hack: be nice to actually delete the event here Exiting @ cycle 1699000 because halt instruction encountered Instead of getting the previous error, I get the simulation to complete, and I believe it's working because it seems to encounter the 'halt' instruction in the test01.S file, but is there a way I can check the program correctness of it, by somehow printing out the value stored in a specific register? For example, add the values of some registers to together, and then print the value stored resulting destination location? Malek On Tue, Jun 22, 2010 at 4:56 PM, Gabriel Michael Black <gbl...@eecs.umich.edu> wrote: > You're probably confusing our loader which is likely making more assumptions > than it should about how a binary is put together. You may make it happy by > putting your code in the text section by adding a .text directive. > > Gabe > > Quoting soumyaroop roy <s...@cse.usf.edu>: > >> Hello Malek: >> >> How are you generating the executable a.out? Seems like the problem is >> in the executable format. >> >> Use (xgcc is the cross compiler gcc): >> xgcc -o <output_file> <assembly_file> -static >> >> or >> >> xgcc -o <output_file> -x assembler <assembly_file> -static >> >> >> if your assembly file does not have a '.s' suffix (which is the case >> in your example). >> >> -Soumyaroop >> >> >> On Tue, Jun 22, 2010 at 3:16 PM, Malek Musleh <malek.mus...@gmail.com> >> wrote: >>> >>> Hello, >>> >>> I am trying to run an alpha assembly program in M5. I just wrote a few >>> line asm program (test01.asm) and tried to compile it with the alpha >>> cross compiler: >>> >>> >>> crosscompilers/ALPHA/alphaev67-unknown-linux-gnu/bin/alphaev67-unknown-linux-gnu-as >>> >>> >>> It is able to compile without any warnings or errors, but when I try >>> running in using Alpha_SE/m5.opt I get the following error: >>> >>> m5.opt: build/ALPHA_SE/base/loader/elf_object.cc:351: >>> ElfObject::ElfObject(const std::string&, int, size_t, uint8_t*, >>> ObjectFile::Arch, ObjectFile::OpSys): Assertion `text.size != 0' >>> failed. >>> Program aborted at cycle 0 >>> Aborted >>> >>> >>> My command line is: command line: ./build/ALPHA_SE/m5.opt >>> ./configs/example/se.py -c ../alpha_programs/asm/a.out >>> >>> My test program is as follows: >>> >>> test01.asm: >>> >>> >>> .align 4 >>> .file 1 "test01.asm" >>> .loc 1 2 >>> .globl main >>> .ent main >>> >>> main: >>> >>> lda $4, 15($31) # $31 is 0, 0xF >>> addl $4, 1, $1 >>> and $4, 0XFF >>> halt >>> .end main >>> >>> Do I need to modify the config script to run asm binaries, or is there >>> something else that I am missing? >>> >>> Thanks. >>> >>> Malek >>> _______________________________________________ >>> m5-users mailing list >>> m5-users@m5sim.org >>> http://m5sim.org/cgi-bin/mailman/listinfo/m5-users >>> >> >> >> >> -- >> Soumyaroop Roy >> Ph.D. Candidate >> Department of Computer Science and Engineering >> University of South Florida, Tampa >> http://www.csee.usf.edu/~sroy >> _______________________________________________ >> m5-users mailing list >> m5-users@m5sim.org >> http://m5sim.org/cgi-bin/mailman/listinfo/m5-users > > > _______________________________________________ > m5-users mailing list > m5-users@m5sim.org > http://m5sim.org/cgi-bin/mailman/listinfo/m5-users _______________________________________________ m5-users mailing list m5-users@m5sim.org http://m5sim.org/cgi-bin/mailman/listinfo/m5-users