Files
rtems/make/custom/simhppa.cfg
Joel Sherrill b8a30d07a5 Patch rtems-rc-20000713-1-cvs.diff from Ralf Corsepius <corsepiu@faw.uni-ulm.de>
that is yet another multilib-related structual cleanup patch:

  Changes:
  * Make RTEMS_TEST_NO_PAUSE a tests/ subpackage specific option.
    - Remove RTEMS_TEST_NO_PAUSE from custom/*.cfg, targopts.h and
      cpuopts.h.
    - Add autoconf macros RTEMS_*_RTEMS_TEST_NO_PAUSE
      (aclocal/rtems-test-no-pause.m4).
    - Add RTEMS_*_RTEMS_TEST_NO_PAUSE support to sptests/configure.ins
      and tmtests/configure.in. These are the only subdirectories which
      currently apply RTEMS_TEST_NO_PAUSE.
    - Add autoconf-DEFS support to all test subpackages' configure.ins
      below tests/. I.e. AC_DEFINES now get explicitly propagated as
      preprocessor defines into Makefiles, cf. AM_CPPFLAGS in
      tests/*/*.am, instead of using a global config-files.
    - Remove NDEBUG from custom/*.cfg.

  * AC_DEFINE POSIX_API, ITRON_API and MULTIPROCESSING in
    exec/configure.in, only.
    - All other sources now should relay on the values from cpuopts.h
      and should not define them themselves.
    - Several related changes to many configure.ins

  * Bug-fixes to RTEMS_*_RTEMS_DEBUG macros (Actually workarounds to
    quoting bugs in autoconf).

  Notes:
    * This patch is rather immature and only tested for a small subset
      of BSPs (requires the tests to be enabled and therefore takes an
      tremendous amount of disc space and time.)
    * The patches to *cfg were generated by a script. Expect file
      formating changes :)
2000-07-13 15:05:38 +00:00

118 lines
3.4 KiB
INI

#
# Config file for the 7100 pa-risc simulator
#
# $Id$
#
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.
# 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 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