| Commit message (Collapse) | Author | Files | Lines |
|
Adjust various build files. Remove automatic generation of the
c/src/lib/libbsp/*/acinclude.m4 files from bootstrap script.
This patch is a part of the BSP source reorganization.
Update #3285.
|
|
This patch is a part of the BSP source reorganization.
Update #3285.
|
|
|
|
updates #2566.
|
|
For the main BSP:
The size of the sample executables without this option were:
text data bss dec hex filename
117616 1728 27312 146656 23ce0 base_sp.exe
108256 1696 26912 136864 216a0 hello.exe
29728 1216 23344 54288 d410 minimum.exe
535168 5632 38800 579600 8d810 fileio.exe
136624 1808 27424 165856 287e0 nsecs.exe
192128 2112 27920 222160 363d0 paranoia.exe
121472 1728 27344 150544 24c10 ticker.exe
120304 1760 30752 152816 254f0 unlimited.exe
859008 21600 34400 915008 df640 cxx_iostream.exe
207536 2320 27488 237344 39f20 cdtest.exe
185136 2224 29136 216496 34db0 capture.exe
The size of the sample executables with this option enabled were:
text data bss dec hex filename
110384 1696 27248 139328 22040 base_sp.exe
100080 1648 26832 128560 1f630 hello.exe
22496 1184 23296 46976 b780 minimum.exe
519376 5600 38464 563440 898f0 fileio.exe
130432 1776 27360 159568 26f50 nsecs.exe
184448 2064 27856 214368 34560 paranoia.exe
114976 1696 27280 143952 23250 ticker.exe
112448 1712 30672 144832 235c0 unlimited.exe
190368 2256 27136 219760 35a70 cxx_iostream.exe
191312 2176 27408 220896 35ee0 cdtest.exe
175216 2160 29072 206448 32670 capture.exe
For the gen68360_040 BSP variant:
The size of the sample executables without this option were:
text data bss dec hex filename
112624 1712 27328 141664 22960 base_sp.exe
101584 1680 26912 130176 1fc80 hello.exe
29936 1184 23344 54464 d4c0 minimum.exe
530080 5616 38800 574496 8c420 fileio.exe
131552 1792 27424 160768 27400 nsecs.exe
161296 2080 27920 191296 2eb40 paranoia.exe
116400 1712 27344 145456 23830 ticker.exe
115312 1728 30752 147792 24150 unlimited.exe
861952 21488 34384 917824 e0140 cxx_iostream.exe
202336 2128 27472 231936 38a00 cdtest.exe
179968 2208 29136 211312 33970 capture.exe
The size of the sample executables with this option enabled were:
text data bss dec hex filename
105360 1664 27264 134288 20c90 base_sp.exe
93360 1616 26832 121808 1dbd0 hello.exe
21840 1152 23296 46288 b4d0 minimum.exe
513920 5568 38464 557952 88380 fileio.exe
125312 1760 27360 154432 25b40 nsecs.exe
153632 2048 27856 183536 2ccf0 paranoia.exe
109856 1680 27280 138816 21e40 ticker.exe
107376 1680 30672 139728 221d0 unlimited.exe
185040 2128 27104 214272 34500 cxx_iostream.exe
186032 2064 27376 215472 349b0 cdtest.exe
170016 2144 29072 201232 31210 capture.exe
For the pgh360 BSP variant:
The size of the sample executables without this option were:
text data bss dec hex filename
117424 1728 27312 146464 23c20 base_sp.exe
108064 1696 26912 136672 215e0 hello.exe
29536 1216 23344 54096 d350 minimum.exe
534976 5632 38800 579408 8d750 fileio.exe
136432 1808 27424 165664 28720 nsecs.exe
191936 2112 27920 221968 36310 paranoia.exe
121280 1728 27344 150352 24b50 ticker.exe
120096 1760 30752 152608 25420 unlimited.exe
858816 21600 34400 914816 df580 cxx_iostream.exe
207344 2320 27488 237152 39e60 cdtest.exe
184944 2224 29136 216304 34cf0 capture.exe
The size of the sample executables with this option enabled were:
text data bss dec hex filename
110176 1696 27248 139120 21f70 base_sp.exe
99888 1648 26832 128368 1f570 hello.exe
22304 1184 23296 46784 b6c0 minimum.exe
519168 5600 38464 563232 89820 fileio.exe
130224 1776 27360 159360 26e80 nsecs.exe
184256 2064 27856 214176 344a0 paranoia.exe
114784 1696 27280 143760 23190 ticker.exe
112256 1712 30672 144640 23500 unlimited.exe
190160 2256 27136 219552 359a0 cxx_iostream.exe
191120 2176 27408 220704 35e20 cdtest.exe
175024 2160 29072 206256 325b0 capture.exe
|
|
Script does what is expected and tries to do it as
smartly as possible.
+ remove occurrences of two blank comment lines
next to each other after Id string line removed.
+ remove entire comment blocks which only exited to
contain CVS Ids
+ If the processing left a blank line at the top of
a file, it was removed.
|
|
* make/custom/gen68360.cfg, make/custom/gen68360_040.cfg,
make/custom/pgh360.cfg: Simplify and clean up.
|
|
* make/custom/gen68360.cfg: Remove RTEMS_BSP_FAMILY.
* make/custom/pgh360.cfg: Remove RTEMS_BSP_FAMILY.
|
|
* make/custom/gen68360_040.cfg: New (relocated from /make/custom).
* make/custom/gen68360.cfg: New (relocated from /make/custom).
* make/custom/pgh360.cfg: New (relocated from /make/custom).
|
|
* custom/av5282.cfg, custom/csb360.cfg, custom/gen68302.cfg,
custom/gen68340.cfg, custom/gen68360.cfg, custom/mcf5206elite.cfg,
custom/mcf5235.cfg, custom/mrm332.cfg, custom/mvme136.cfg,
custom/mvme147.cfg, custom/mvme162.cfg, custom/mvme162lx.cfg,
custom/mvme167.cfg, custom/ods68302.cfg, custom/sim68000.cfg,
custom/simcpu32.cfg, custom/uC5282.cfg: Change CCFLAGS to use the
-mcpu= option for Coldfires now supported in GCC 4.3.0.
2008-06-10 Matthew Riek <matthew.riek@ibiscomputer.com.au>
* custom/mcf52235.cfg: New.
|
|
application. Share as much logic as possible for .num file and size information. Let BSPs provide custom rules to tranform executable from linked .exe to downloadable RTEMS Application Loadable File (RALF) .ralf file.
|
|
|
|
|
|
* custom/av5282.cfg, custom/bare.cfg, custom/dmv152.cfg,
custom/gen405.cfg, custom/gen5200.cfg, custom/gen68302.cfg,
custom/gen68340.cfg, custom/gen68360.cfg, custom/helas403.cfg,
custom/hurricane.cfg, custom/i386ex.cfg, custom/idp.cfg,
custom/mbx8xx.cfg, custom/mcf5206elite.cfg, custom/mcf5235.cfg,
custom/mcp750.cfg, custom/mpc8260ads.cfg, custom/mrm332.cfg,
custom/mtx603e.cfg, custom/mvme136.cfg, custom/mvme147.cfg,
custom/mvme162.cfg, custom/mvme162lx.cfg, custom/mvme167.cfg,
custom/mvme2100.cfg, custom/mvme2307.cfg, custom/mvme5500.cfg,
custom/ods68302.cfg, custom/pc386.cfg, custom/psim.cfg,
custom/rbtx4925.cfg, custom/sim68000.cfg, custom/simcpu32.cfg,
custom/ss555.cfg, custom/ts_386ex.cfg, custom/uC5282.cfg:
CFLAGS_OPTIMIZE_V = -O2.
|
|
|
|
|
|
|
|
|
|
* custom/efi332.cfg, custom/gen68340.cfg, custom/gen68360.cfg,
custom/mrm332.cfg: Use more proper CPU models so libcpu knows more.
|
|
* Per PR260 eliminate use of make-target-options. This impacted
RTEMS allowing a distinction between the CPU32 and CPU32+ in the
SuperCore and required that the m68k optimized memcpy be moved
to libcpu.
* custom/gen68360.cfg: Remove make-target-options.
|
|
* 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/erc32.cfg: Add comment on -mno-v8, -mcypress.
* custom/gen68302.cfg: Comment out LIBC_LIB[C|M].
* custom/gen68340.cfg: Comment out LIBC_LIB[C|M].
* custom/gen68360.cfg: Comment out LIBC_LIB[C|M].
* custom/idp.cfg: Comment out LIBC_LIB[C|M].
* custom/mvme162.cfg: Comment out LIBC_LIB[C|M].
* custom/ods68302.cfg: Comment out LIBC_LIB[C|M].
|
|
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.
|
|
|
|
that contains:
* Removes remaining (now illegal) references to $(SRC) from a couple of
Makefile.ams
* Removes duplicate AC_CONFIG_SUBDIRS macro from c/configure.in
* Moves ENABLE_LIBCDIR into RTEMS_PROG_C[C|XX]_FOR_TARGET (hides LIBCDIR
from most configure scripts, i.e. LIBCDIR becomes less visible)
* Adds RTEMS_PROG_C[C|XX]_FOR_TARGET and RTEMS_CANONICALIZE_TOOLS to
libbsp/*/configure.ins (A minor bug in previous implementations, which
only has an impact when switching to GNU/Cygnus canonicalization)
* Cleans up several bogus comments.
* Removes MKLIB
* Switches the version number to 4.5.0 (for testing version number
handling)
|
|
* the PACKHEX etc problem
* prevents the *.rels being removed inside the build-tree
* a typo which only shows for when MP is activated
* Alters some custom/*cfg files
|
|
|
|
<corsepiu@faw.uni-ulm.de> which does the following:
This is the configuration cleanup patch:
Main changes:
* TARGET_ARCH removed
* target.cfg.in moved to c/make/target.cfg.in (Only configured once for
all BSPs of a target)
* BARE_XXX variables appended to bsp.cfg.in
* autogen renamed to bootstrap
* removed stray variables from make/custom/*.cfg
To apply:
cd <source-tree>
rm c/src/make/target.cfg.in
cp autogen bootstrap
mkdir c/make
cp make/target.cfg.in c/make/target.cfg.in
rm make/target.cfg.in
rm autogen
patch -p1 < rtems-rc-19991105-1.diff
|
|
|
|
Here's a patch to get rid of the `#define RTEMS__mcpu32p__ 1' when
gen68360.cfg is being used as a companion for gen68360_040.cfg. The
old version worked because of the order of the conditional tests in
m68k.h (the check for __mc68040__ is before the test for
RTEMS__mcpu32p__) , but I think it might have been a little confusing
to others just getting started.
|
|
I found that my 68040/68360 test programs would not run even after
I fixed the `wrong BSP' problem.
It seems that there's a bug in the interrupt handling code for
processors with hardware interrupt stacks (e.g. 68040). The wrong
status register was getting pushed on the stack for the `return
from exception' to call _ISR__Dispatch. This ended up making
the context switch code run on the interrupt stack, so interrupt-driven
context switches would always fail.
I guess that no one has tried running any of the RTEMS-4.0 snapshots
on a 68040 machine!
Anyhow, here are the patches for
1) gen68360.cfg --- to fix the `wrong-BSP' problem.
2) m68k/cpu_asm.s --- to fix the hardware interrupt stack problem.
With these patches in place, the network demo programs run on my
68040/68360 system. The paranoia program runs with no failures,
defects nor flaws.
|
|
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.
|
|
|
|
|
|
Here are some patches to the gen68360 BSP. The improvements include:
Boot prom run-time selection of DRAM size (1/4/16 Mbytes)
Full 32-bit ethernet address obtained from boot prom.
Updated README.
|
|
I've included a version of make/custom/gen68360.cfg that works with
this. Note that I've removed the option of using `-m68020
-msoft-float -mno-bitfield' as an alternative to using `-mcpu32'.
The alternative won't work with the new system (since it predefines
__mc68020__ and not __mcpu32__), and didn't really work before anyway
(since the newlib that gets linked was built with `-m68020
-msoft-float' and so could contain bitfield operators).
|
|
While trying to work through this problem I decided that the
build-time selection of the console I/O operation (polling or
interrupt) was too clumsy. Here's a patch that allows run-time
(actually init-time) selection of the console I/O mode.
It also shows the need for another `flags' or `options' field in
the rtems_driver_address_table structure...
|
|
|