URL
https://opencores.org/ocsvn/openrisc/openrisc/trunk
Subversion Repositories openrisc
[/] [openrisc/] [trunk/] [rtos/] [rtems/] [make/] [custom/] [simhppa.cfg] - Rev 609
Go to most recent revision | Compare with Previous | Blame | View Log
#
# Config file for the 7100 pa-risc simulator
#
# $Id: simhppa.cfg,v 1.2 2001-09-27 12:02:52 chris Exp $
#
include $(RTEMS_ROOT)/make/custom/default.cfg
RTEMS_CPU=hppa1.1
RTEMS_CPU_MODEL=hppa7200
# This is the actual bsp directory used during the build process.
RTEMS_BSP_FAMILY=simhppa
# This contains the compiler options necessary to select the CPU model
# and (hopefully) optimize for it.
#
# Possibles:
# -mpa-risc-1-1 -- HPPA 1.1 instead of 1.0
# -mportable-runtime
#
CPU_CFLAGS = -mpa-risc-1-1 -mportable-runtime
# Possibles:
# -Wall -- lots of warnings
# -pipe -- compiler uses pipes to talk to phases (usually faster)
# -ansi -- ANSI C compliance
# -fasm -- ANSI, but allow inline assembler
# -mgas -- we are using gas as assembler
# -fno-keep-inline-functions -- do not emit any inlines as static
CFLAGS_DEFAULT = $(CPU_CFLAGS) -Wall -ansi -fasm -mgas
# optimize flag: typically -0, could use -O4 or -fast
# -O4 is ok for RTEMS
# NOTE: some level of -O may be actually required by inline assembler
CFLAGS_OPTIMIZE_V=-O4 -fno-keep-inline-functions
# This makes the target dependent options file.
# NDEBUG (C library)
# if defined asserts do not generate code. This is commonly used
# as a command line option.
#
# RTEMS_TEST_NO_PAUSE (RTEMS tests)
# do not pause between screens of output in the rtems tests
#
# RTEMS_DEBUG (RTEMS)
# If defined, debug checks in RTEMS and support library code are enabled.
#
# SIMHPPA_FAST_IDLE (simhppa)
# If defined, speed up the clock ticks while the idle task is running so
# time spent in the idle task is minimized. This significantly reduces
# the wall time required to execute the RTEMS test suites.
#
define make-target-options
@echo "/* #define NDEBUG 1 */ " >>$@
@echo "#define RTEMS_TEST_NO_PAUSE 1" >>$@
@echo "/* #define RTEMS_DEBUG 1 */" >>$@
@echo "#define SIMHPPA_FAST_IDLE 1 " >>$@
endef
#
# GNU ld options
# `-Tbss ORG'
# `-Tdata ORG'
# `-Ttext ORG'
# Use ORG as the starting address for--respectively--the `bss',
# `data', or the `text' segment of the output file. ORG must be a
# single hexadecimal integer; for compatibility with other linkers,
# you may omit the leading `0x' usually associated with hexadecimal
# values.
# 'NODE' is set to 1 or 2 for multi cpu tests (ref: mptests/mp01/node1/Makefile)
# If NODE is set as an environment variable, don't trust it, zero it out.
# (NODE turns out to be a very common environment variable)
ifeq (,$(NODE))
NODE=0
else
ifeq "$(origin NODE)" "environment"
NODE=0
endif
endif
# XXX some/all of this should move into 'linkcmds'
# single processor
DATA_0_BASE=0x40001000
TEXT_0_BASE=0x00001000
# first node (mptests number them from 1)
DATA_1_BASE=$(DATA_0_BASE)
TEXT_1_BASE=$(TEXT_0_BASE)
# second node (mptests number them from 1)
DATA_2_BASE=0x48001000
TEXT_2_BASE=0x08001000
# for hpux ld
#LD_LOC_OPTIONS=-D $(DATA_$(NODE)_BASE) -R $(TEXT_$(NODE)_BASE)
# for gnu ld
LD_LOC_OPTIONS=-Tdata $(DATA_$(NODE)_BASE) -Ttext $(TEXT_$(NODE)_BASE)
GCC_LD_LOC_OPTIONS=-W,l-T -W,ldata -W,l$(DATA_$(NODE)_BASE) \
-W,l-T -W,ltext -W,l$(TEXT_$(NODE)_BASE)
# The following are definitions of make-exe which will work using ld as
# is currently required. It is expected that as of gcc 2.8, the end user
# will be able to override parts of the compilers specs and link using gcc.
ifeq ($(RTEMS_USE_GCC272),yes)
define make-exe
$(LDARGS) $(LD) $(LD_LOC_OPTIONS) $(XLDFLAGS) -a archive \
-o $@ -u atexit \
$(START_FILE) $(LINK_OBJS) --start-group $(LINK_LIBS) --end-group
$(NM) -g -n $@ > $(basename $@).num
$(SIZE) $@
endef
else
define make-exe
$(LINK.c) $(AM_CFLAGS) $(AM_LDFLAGS) $(GCC_LD_LOC_OPTIONS) \
-o $@ \
$(LINK_OBJS) $(LINK_LIBS)
$(NM) -g -n $@ > $(basename $@).num
$(SIZE) $@
endef
endif
# Miscellaneous additions go here
# BSP-specific tools
PRINTDUMP=$(PROJECT_TOOLS)/print_dump
Go to most recent revision | Compare with Previous | Blame | View Log