tags:

views:

46

answers:

0

I'm trying to configure my cross compiler (mipseb-linux-g++) to generate binaries with the MIPSI ISA. There is a flag for this "-mips1". I have this flag in my make file and for some reason g++ is still generating MIPSII instructions (which I assume is default?). Am I doing anything wrong? Here's my process flow:

  • write c++ program
  • compile using mipseb-linux-g++
  • generate a hex dump with mipseb-linux-objdump
  • look in HEX dump to see if there are any MIPS II instructions (like beqzl)

Here is my makefile:

##############################################################################
#  \author [email protected]
#  \version 0.01
#  \brief
##############################################################################

# Environment variables which should already be set in your path
# ACC_PATH ?= $(shell `pwd | awk 'BEGIN{FS="benchmarks/acc"} {print $1}'`)
# BENCHDIR ?= $(ACC_PATH)/benchmarks
# SESCSOURCEDIR ?= $(ACC_PATH)/sesc
# SESCBUILDDIR ?= $(ACC_PATH)/build
XTOOLSPREFIX ?= /home/seas/grad/dasnyder/cmplrs

##############################################################################

# Compiler and linker
CC     = $(XTOOLSPREFIX)/bin/mipseb-linux-gcc
CXX    = $(XTOOLSPREFIX)/bin/mipseb-linux-g++
LD     = $(XTOOLSPREFIX)/bin/mipseb-linux-gcc
AR     = $(XTOOLSPREFIX)/bin/mipseb-linux-ar
RANLIB = $(XTOOLSPREFIX)/bin/mipseb-linux-ranlib

# Common compiler flags
CFLAGS = -O3 -funroll-loops -fsched-interblock \
         -finline-functions -fomit-frame-pointer -funroll-loops \
         -mips1 -mabi=32 -mtune=r2000 -static -Wa,-non_shared \
         -mno-abicalls -fno-PIC -freduce-all-givs \
         -I. -I$(XTOOLSPREFIX)/mipseb-linux/include

# C++ flags
CXXFLAGS = ${CFLAGS} -I$(XTOOLSPREFIX)/mipseb-linux/include/c++/3.2 \
         -I$(XTOOLSPREFIX)/mipseb-linux/include/c++/3.2/mips-linux-gnu \
         -mips1 -mabi=32 -mtune=r2000 -msoft-float -funroll-loops \
         -fdelayed-branch

# Common linker flags
# LDFLAGS = -Wl,--script=$(SESCSOURCEDIR)/src/libapp/mint.x \
#         -L$(SESCBUILDDIR)/obj/mipseb_obj -L$(XTOOLSPREFIX)/mipseb-linux/lib

LDFLAGS = -L$(XTOOLSPREFIX)/mipseb-linux/lib -lstdc++ -lm


# Common libs
LIBS    =

# Common definitions
DEFS    =

# Emacs tags
EMACSTAGS = TAGS