设置编译器标志的问题

时间:2010-06-29 21:38:40

标签: c++ compiler-construction g++

我正在尝试配置我的交叉编译器(mipseb-linux-g ++)以使用MIPSI ISA生成二进制文件。这个“-mips1”有一个标志。我的make文件中有这个标志,由于某些原因,g ++仍在生成MIPSII指令(我假设它是默认的?)。我做错了吗?这是我的流程:

  • 编写c ++程序
  • 使用mipseb-linux-g ++编译
  • 使用mipseb-linux-objdump
  • 生成十六进制转储
  • 查看HEX转储以查看是否有任何MIPS II指令(如beqzl)

这是我的makefile:

##############################################################################
#  \author acc@cs.rochester.edu
#  \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

0 个答案:

没有答案