| Commit message (Collapse) | Author | Files | Lines |
|
* custom/p4000.cfg, custom/p4600.cfg, custom/p4650.cfg: Re-added
these -- copied from the 4.6 branch.
|
|
* custom/dmv177.cfg: Add -D_OLD_EXCEPTIONS -Dppc603e to CPU_CFLAGS.
Remove obsolete comments.
* custom/eth_comm.cfg: Remove make-target-options.
Add -Dmpc$(CPU_TYPE) -DPPC_ABI=PPC_ABI_EABI -DPPC_ASM=PPC_ASM_ELF to
CPU_CFLAGS.
* custom/gen405.cfg: Add -D_OLD_EXCEPTIONS -Dppc405 to CPU_CFLAGS.
* custom/helas403.cfg: Add -D_OLD_EXCEPTIONS -Dppc403 to CPU_CFLAGS.
* custom/mbx8xx.cfg: Remove make-target-options.
Add -Dmpc$(CPU_TYPE) -D$(RTEMS_MBX_MODEL) to CPU_CFLAGS.
Remove obsolete comments.
* custom/mcp750.cfg: Add -Dmpc750 to CPU_CFLAGS.
Remove obsolete comments.
* custom/mpc8260ads.cfg: Remove make-target-options.
Add -Dmpc8260 -DPPC_ABI=PPC_ABI_EABI -DPPC_ASM=PPC_ASM_ELF to
CPU_CFLAGS.
* custom/mvme2307.cfg: Add -Dmpc604 to CPU_CFLAGS.
Remove obsolete comments.
* custom/ppcn_60x.cfg: Add -D_OLD_EXCEPTIONS -Dppc603e to
CPU_CFLAGS.
Remove obsolete comments.
* custom/psim.cfg: Add -D_OLD_EXCEPTIONS -Dppc603e to CPU_CFLAGS.
Remove obsolete comments.
* custom/score603e.cfg: Add -D_OLD_EXCEPTIONS -Dppc603e to
CPU_CFLAGS.
Remove obsolete comments.
|
|
* custom/cvme961.cfg: Remove GCC272 support.
* custom/dmv152.cfg: Remove GCC272 support.
* custom/efi332.cfg: Remove GCC272 support.
* custom/efi68k.cfg: Remove GCC272 support.
* custom/eth_comm.cfg: Remove GCC272 support.
* custom/gen405.cfg: Remove GCC272 support.
* custom/gen68302.cfg: Remove GCC272 support.
* custom/gen68340.cfg: Remove GCC272 support.
* custom/gen68360.cfg: Remove GCC272 support.
* custom/genmongoosev.cfg: Remove GCC272 support.
* custom/helas403.cfg: Remove GCC272 support.
* custom/i386ex.cfg: Remove GCC272 support.
* custom/i960sim.cfg: Remove GCC272 support.
* custom/idp.cfg: Remove GCC272 support.
* custom/leon2.cfg: Remove GCC272 support.
* custom/mbx8xx.cfg: Remove GCC272 support.
* custom/mcf5206elite.cfg: Remove GCC272 support.
* custom/mpc8260ads.cfg: Remove GCC272 support.
* custom/mrm332.cfg: Remove GCC272 support.
* custom/mvme136.cfg: Remove GCC272 support.
* custom/mvme147.cfg: Remove GCC272 support.
* custom/mvme167.cfg: Remove GCC272 support.
* custom/ods68302.cfg: Remove GCC272 support.
* custom/p4000.cfg: Remove GCC272 support.
* custom/p4600.cfg: Remove GCC272 support.
* custom/p4650.cfg: Remove GCC272 support.
* custom/pc386.cfg: Remove GCC272 support.
* custom/portsw.cfg: Remove GCC272 support.
* custom/psim.cfg: Remove GCC272 support.
* custom/rxgen960.cfg: Remove GCC272 support.
* custom/score603e.cfg: Remove GCC272 support.
* custom/sim68000.cfg: Remove GCC272 support.
* custom/simhppa.cfg: Remove GCC272 support.
* custom/simsh4.cfg: Remove GCC272 support.
* custom/ts_386ex.cfg: Remove GCC272 support.
|
|
* custom/gen405.cfg: Remove PPC_VECTOR_FILE_BASE, PPC_USE_SPRG;
Remove make-target-options.
* custom/helas403.cfg: Remove PPC_VECTOR_FILE_BASE, PPC_USE_SPRG;
Remove make-target-options.
* custom/mbx8xx.cfg: Remove INSTRUCTION_CACHE_ENABLE,
DATA_CACHE_ENABLE.
* custom/mbx860_005b.cfg: Remove INSTRUCTION_CACHE_ENABLE,
DATA_CACHE_ENABLE.
* custom/mpc8260ads.cfg: Remove INSTRUCTION_CACHE_ENABLE,
DATA_CACHE_ENABLE.
|
|
* custom/papyrus.cfg: Removed.
* custom/Makefile.am, custom/helas403.cfg: Removed reference to above.
|
|
* custom/helas403.cfg, custom/gen405.cfg: Removed dependency on
the --srec-len argument to objcopy only supported in binutils 2.11
or newer.
|
|
This modification is part of the submitted modifications necessary to
support the IBM PPC405 family. This submission was reviewed by
Thomas Doerfler <Thomas.Doerfler@imd-systems.de> who ensured it did
not negatively impact the ppc403 BSPs. The submission and tracking
process was captured as PR50.
* custom/gen405.cfg: New file.
* custom/helas403.cfg: Modified to generate Srecords.
|
|
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 :)
|
|
|
|
that is yet another multilib-related structual cleanup patch:
Changes:
* Make RTEMS_DEBUG a global per-cpu configuration option
* Remove RTEMS_DEBUG from targopts.h
* Add a global --enable-rtems-debug option disabled by default.
* Add RTEMS_DEBUG to cpuopts.h
* Remove all references to RTEMS_DEBUG from custom/*.cfg
Notes:
* RTEMS_DEBUG is set in c/src/exec/configure.in only
(RTEMS_CHECK_RTEMS_DEBUG) and should be defined in cpuopts.h only.
BSPs should not redefine it, but use the value being provided by
cpuopts.h.
=> With multilibs, users have to choose: Either enable RTEMS_DEBUG
for all BSPs and CPU_MODELs of a cpu or not.
* Only few BSPs had RTEMS_DEBUG enabled, therefore I set the default
to disabled.
* This patch influences the per-BSP building scheme. Existing BSPs
which set RTEMS_DEBUG in their make-target-options rule might have
problems at runtime.
|
|
|
|
applied. This modified many Makefiles and custom files and makes many more
settings (network, multiprocessing, etc) gnerated by autoconf.
|
|
|
|
|
|
Finally I am through: I have found the last bugs that made RTEMS-
4.0-beta3 start on my ppc403 board from ROM. So now the '403
support is up to date again.
Roughly I have added the following features:
- support for the on-chip interrupt controller (in a separate module)
- interrupt support for the console device
- termios support for the console device
==============================================
Since the BSP behaivour changed in some details (console no
longer is polling, other memory layout etc) I have created a new
BSP "helas403" rather than changing the "papyrus" BSP. The old
"polled" console driver still sticks around in "console.c.polled"
To get the BSP up and running, I had to create the new BSP files
(derived from papyrus). Besides that, the following source areas
have been changed:
- c/src/lib/libcpu/powerpc/ppc403: changes to console driver, small
changes to clock driver, new "ictrl" interrupt controller driver
- c/src/exec/score/cpu/powerpc/ppc.h: some small changes
(added ppc403 characteristics like a exception vector prefix
register, some special register definitions). I am quite sure, they
are compatible with the existing sources, although I did not check
- c/src/exec/score/cpu/powerpc/cpu.c: There is one severe
limitation in the exception entries: Due to the current code
arrangement, the "branch absolute" to the ISR handler may only
jump to the first 128MByte or the last 128MByte of the 4GByte
address range. When the ppc403 is running out of ROM, the ROM
functions are located in the last 128MByte (0xFFF00000 and up).
These addresses were not handled correctly (sign reduced) in
"install_raw_handler". The change I added should work on existing
ppc BSPs aswell...
- c/src/lib/libc/termios.c: During my tests, I added one change you
sent me, so this patch will already be incorporated in the current
source tree.
There are some smaller changes, see the attached diff file.
=========================================
Concerning the GNU toolchain:
I tried several tool chains. Finally I almost succeeded with
egcs-1.0.3a with patch egcs-1.0.3-rtems-diff-19980527
I had to add the following lines to the egcs files. Without them
configure complaint that the cross compiler could not generate
executable output.
- additional lines needed in egcs distribution in file
gcc/config/rs6000/rtems.h:
+++ lines start
#undef STARTFILE_DEFAULT_SPEC
#define STARTFILE_DEFAULT_SPEC "ecrti.o%s"
#undef ENDFILE_DEFAULT_SPEC
#define ENDFILE_DEFAULT_SPEC "ecrtn.o%s"
++++ lines end
As far as I have seen in the Changelog of egcs, you have recently
sent two patches affecting the powerpc support, but they were
added in the wrong order.... :-(
egcs-19980628 with patch egcs-19980628-rtems-diff-19980707 does
not work!
I used binutils 2.9.1 with patch binutils-2.9.1-rtems-diff-19980515
(binutils 2.8.1 does not work, internal error in gas)
and newlib-1.8.0 with patch newlib-1.8.0-rtems-diff-19980707
Finally I had to poke a line in the "bit" script, since, on my LINUX
machine, the GNU make is only available as "make", not as
"gmake"...
For all the tools and newlib I selected configuration "powerpc-
rtems".
--------------------------------------------
IMD Ingenieurbuero fuer Microcomputertechnik
Thomas Doerfler Herbststrasse 8
D-82178 Puchheim Germany
email: td@imd.m.isar.de
|
|
|
|
|
|
made no attempt to divide the comments up and place them with just
the appropriate files. Here is an excerpt from Ralf's email:
Changes including comments on changes I made after cycling through
all the targets:
* Added ranlib support. Now all targets use "ranlib" instead of "ar -s"
to build an index for a library. If ranlib isn't detected during
configuration, check if ar -s is working and try "ar -s" instead of
* Removed $(XXX_FOR_TARGET) from make/target.cfg.in, use $(XXX) instead now.
* gcc-target-default.cfg: LINK_XXXX-defines reworked to solve the -l
problem under posix (cf gcc-target-default.cfg)
* rtems-glom replaced by Makefile-rules inside of the wrapup/Makefile.in
that has been using rtems-glom until now.
* Removed CCC and friends in gcc-target-default.cfg, as they have been
breaking CXX support.
* Removed CONFIG.$(TARGET_ARCH).CC lines from several custom/*.cfg
files, because this is now set in custom/default.cfg.
* Added aclocal/ar-s.m4, check whether "ar -s" is working
* Added aclocal/cygwin.m4 and aclocal/exeext.m4.
* Reworked aclocal/canonicalize-tools.m4: Added ar -s check; fixes for
problems when XXX_FOR_TARGET is given via environment variables (didn't
work for gcc until now), adding cygwin check, improved autoconf-cache
handling.
* Removed -l from make rule dependencies. LINK_LIBS is now allowed to
contain -L and -l. LINK_OBJS and LINK_FILES must not contain -L or -l.
gcc28 make-exe rules now link using $(LINK_OBJS) $(LINK_LIBS) => Almost
all custom/*.cfg are modified. This is very likely to break something
because of typos or having missed to edit a file.
Open problems, known bugs, things I didn't do:
* custom/p4000.cfg seems to be out of date and requires to be reviewed.
(JRS NOTE: It is subordinate p4650 and p4600 -- both of which build ok
after minor changes.)
* custom/psim.cfg needs to be reviewed, I added some changes to it, I am
insecure about.
(JRS NOTE: psim had a minor problem endif/endef swapped but runs fine.)
* rtems-glom.in can now be removed.
* gcc*.cfg files "make depend" rules don't honor language specific flags
(e.g CXXFLAGS is ignored for *.cc) - Nothing to worry about now, but may
cause problems for hosts/targets not using gcc or rtems-add-ons that use
external packages.
* AFAIS, the no_bsp BSP can't be build anymore, i.e. configure refused
to configure for it whatever I tried.
* The toplevel and toplevel+1 README files are quite out-dated
* cygwin.m4 isn't of much use for rtems. In most cases (cf.
aclocal/*.m4) it is worked around by directly using $host_os. I think
I'll remove it soon after the next snapshot
* Before release the cygwin patch needs to be tested under cygwin. I may
have broken/missed something (esp. the sed-pattern to convert \\ into /
may be broken).
* You should try to build/run the posix-BSP under solaris - I don't
expect problems, but I am not 100% sure, esp. with regard to ranlib/ar -s.
* You should consider to convert all make/compilers/*.cfg files into
make/compilers/*.cfg.in files and let autoconf generate the *.cfg. This
may help getting rid of some if/then/else statements and help
hard-coding some defines into those files in future and shouldn't
disturb now.
* Not having installed libc.a/libm.a on a host may still break building
rtems, esp. when using -disable-gcc28 as the gcc27-configuration scheme
directly accesses libc.a and libm.a. The problem should not appear when
using gcc28 because it references libc/libm only through -lc and -lm
which may be static or dynamic (I didn't test this).
* shgen is not yet included (I didn't yet have enough time to integrate it).
* I know about a few more configure-probs (esp. cross-checking
--enable-* flags).
+ warn/refuse to configure when --enable-libcdir and
--enable-gcc28 are given.
+ force --enable-libcdir when --disable-gcc28 is given
* Replaced KSHELL with @KSH@ in some shell scripts generated by configure.in.
* Added a dependency to aclocal/*.m4 in the toplevel Makefile => configure
and aclocal.m4 will now be rebuild when any aclocal/*.m4 file is changed
* Some changes to aclocal/gcc-pipe.m4 and aclocal/gcc-specs.m4
* Replaced i[[3456]]86-unknown-freebsd2.[[12]] with i[[3456]]86-*freebsd2.*
in configure.in, as I suppose there might exist a variety of valid vendors
(2nd field of the name-tripple)
* Disabled override MAKEFLAGS in toplevel Makefile.in - Potential
side-effects are not really clear to me.
* In mvme162.cfg, $(LINK_LIBS) is missing in the CC line in gcc28's make-exe
rule (yet another one I missed to edit). Just append $(LINK_LIBS) to
the "CC" line, like I hopefully did to ALL other custom/*.cfg files.
* the problem with mvme162lx.cfg is a follow-up problem of the
mvme162.cfg-bug.
* mvme162/console and idp/console had variables named Buffer which
conflicted with similarly named variables in some tests.
|
|
|
|
eliminates the need to build the entire application with the
STACK_CHECKER_ON macro defined.
|
|
|
|
|
|
|
|
|