summaryrefslogtreecommitdiffstats
path: root/make (follow)
Commit message (Collapse)AuthorAgeFilesLines
* Patch from Ralf Corsepius <corsepiu@faw.uni-ulm.de>:Joel Sherrill1999-04-192-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is an attempt to work-around a couple of nasty bugs in librdbg's Makefiles and configuration: Configure and build RTEMS as below: configure --enable-networking --enable-rdbg --target=i386-rtems make RTEMS_BSP=i386ex After a few minutes you will notice that building aborts in librdbg .... Analysis: 1) librdbg is tried to be built, though librdbg is not supported and the required directory hierarchy librdbg/i386/i386ex/ is not existant. The cause for this is incorrect setting of HAS_RDBG in most make/custom/*.cfg files (except pc386.cfg). At the moment all custom/*.cfg files (except pc386.cfg) in general are required to contain HAS_RDBG=no. However, having HAS_NETWORKING=no in most custom/*.cfg files and the toplevel configure script suppress building librdbg for all CPUs except of i386. => The i386ex BSP falls though this scheme and librdbg is tried to be build (CPU=i386 and HAS_NETWORKING=yes). 2) The Makefile.ins below lib/librdbg in general support i386/pc386 only and are not capable to be used for multiple CPUs or BSPs (RPCGEN generates it's target and bsp-specific files into librdbg/, therefore no other CPU or BSP can ever be built afterwards). This problem is hidden until now, because only a single CPU/BSP pair (i386/pc386) is really supported. 3) The Makefile.ins below lib/librdbg can delete source files due to improper handling of source files (make clean removes the *.x files in the source-tree when configuring inside of the source-tree). The patch below tries to work-around these problems for the i386ex and the pc386 BSPs. This work-around is rather fragile (it applies rpcgen -D, I don't know how portable this is) and incomplete (all custom/*.cfg except of pc386.cfg should contain HAS_RDBG=no), nevertheless it should work.
* Patch from Ralf Corsepius <corsepiu@faw.uni-ulm.de>:Joel Sherrill1999-04-164-51/+13
| | | | | | | | | | | | | | | | FYI: I am not talking about using "make -C <dir>", which probably is much faster on M$ hosts than RTEMS's implementation, but about removing --enable-gmake-print support and to apply a variant of automake's subdirectory. Automake's subdirectory rule seems to be a little bit faster, but I wouldn't bet on this. Attached to this mail is my proposal. After applying the patch, please run cvs rm aclocal/enable-gmake-print.m4 ./autogen
* Patch from Ralf Corsepius <corsepiu@faw.uni-ulm.de>:Joel Sherrill1999-04-124-14/+0
| | | | | | | | Installing of bsp_specs for aliased bsps is broken. Instead of installing RTEMS_BSP_FAMILY/bsp_specs, RTEMS_BSP/bsp_specs was tried to be installed. The patch below should fix this problem (tested with mips64orion p4600 and p4650).
* Patch from Ralf Corsepius <corsepiu@faw.uni-ulm.de>:Joel Sherrill1999-03-291-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Yet some more modifications, I would recommend to be considered before releasing a snapshot: 1. Cleanup to aclocal/ cvs rm -f aclocal/cygwin.m4 cvs rm -f aclocal/exeext.m4 They are neither used nor needed anymore, however they also don't disturb (we use autoconf-2.13's AC_EXEEXT instead, now) ---------- 2. rtems-rc-19990328-0.diff Some (minor) bug-fixes: * make/Templates/Makefile.inc.in: use the new installation directory ($(prefix)/ instead of $(prefix)/rtems/) * c/src/exec/score/tools/generic/Makefile.am: added line to include local.am * c/src/exec/score/tools/*/configure.in: added CVS Id header ---------- 3. rtems-rc-19990328-1.diff Enhancements and cleanups to autogen, rtems-polish.sh, configure.in etc. * autogen: Use the file "VERSION" to detect RTEMS toplevel directory, extended usage-message, use "find -print" * c/update-tools/cipolish: New script to beautify configure.in scripts * c/update-tools/rtems-polish.sh: Use the file "VERSION" to detect RTEMS toplevel directory, extended usage-message, added variable for perl scripts' subdirectory, use "find -print", cipolish support, new options -ac -am -ci. * aclocal/*.m4, configure.in: moved some AC_SUBST lines to aclocal/*.m4 (reduces size of configure.in scripts, eases splitting configure.in scripts). ----------
* Automake II patch from Ralf Corsepius <corsepiu@faw.uni-ulm.de>:Joel Sherrill1999-03-242-3/+2
| | | | | | | | | | | With my most recent automake patch (automake II) we could even simplify more files below make/, because the host-compiler related parts of those files aren't used anymore :-. Whatsoever, the patch below should fix this problem. Note: This is a mere bug fix, it doesn't move any of the variables involved to target.cfg nor does it try to eliminate any variable.
* Enable building the network stack.Joel Sherrill1999-03-231-4/+0
|
* Towards automake XI patch from Ralf Corsepius <corsepiu@faw.uni-ulm.de>:Joel Sherrill1999-03-192-14/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch is the most scary of all proposals I've been mailing to you this week until now. It consists of 3 parts: 1. a patch 2. a perl script (acpolish) 3. a shell script wrapper to invoke the perl-script. The perl-script reads in each Makefile.in and modifies them ("polishes/beautifies" them :-). These modifications are not easy to describe: Basically, it hard-codes some automake Makefile-variables and rules into RTEMS autoconf-Makefile.ins (Note: autoconf vs. automake!!) and converts some settings/variables to configure scripts' requirements (Yes, plural). E.g. it adds the automake standard variables $top_builddir and $subdir, adds dependency rules for automatic re-generation of Makefiles from Makefile.in, adds support variables for relative paths to multiple configure scripts etc. The patch is a one-line patch to enable the support of the new features added by acpolish. The shell script is a wrapper which pokes around inside of the source tree for Makefile.ins and invokes acpolish on all autoconf-Makefile.ins. acpolish is designed to be able to run several times on the same Makefile.in and may once become a more general tool to convert RTEMS Makefile.in to automake. Therefore, I'd like to keep it inside of source tree. (e.g. as contrib/acpolish or c/update-tools/acpolish). However, it doesn't make sense to export it outside of RTEMS. To apply this: cd <source-tree> patch -p1 -E < <path-to-patch>/rtems-rc-19990318-1.diff tar xzvf <path-to>/rtems-rc-polish.tar.gz ./rtems-polish.sh ./autogen Note: The path contrib/acpolish is hard-coded into rtems-polish.sh, if you decide to put it in an alternative place, please modify rtems-polish.sh to reflect this change. Later: cvs rm make/rtems.cfg (It isn't used anymore) cvs add contrib cvs add contrib/acpolish cvs commit I've tested this intensively, but naturally I can't exclude bugs. Ralf. PS.: Most probably, this is the last "Towards automake" patch. The next one probably will be a real automake patch.
* Towards automake IX patch from Ralf Corsepius <corsepiu@faw.uni-ulm.de>:Joel Sherrill1999-03-191-18/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is the next step towards automake: * Two scripts for the toplevel directory: a) "autogen" (Idea borrowed from libtool and gnome) A helper script to recursively regenerate autoconf/automake/aclocal generated files (Still not perfect but sufficient). b) "missing" (from automake-cvs archive). This file normally is automatically generated by automake, but we have to manually add it until we add automake support to the toplevel configure script. "chmod 755 missing autogen" after applying the patch. * Changing the toplevel installation directory [ I can hear you falling off the chair ;-] Until now rtems installed itself to $(prefix)/rtems. This is in contradiction to automake and GNU/FSF/Cygnus conventions. With this patch applied, rtems installs into $(prefix). To achieve the old behaviour simply configure with --prefix=<install-dir>/rtems instead of --prefix=<install-dir> This is a widely visible change and I can understand if you don't like it at the present point. It enables us to use automake's default installation paths instead of having to set up installation paths manually. At the moment this doesn't help much, but in the not so far future this would enable us to mix cpu-only dependent libraries into the host's cross-compiler library and header files into newlib's include directories, tools into the toolchain directories etc. I would recommend to change the main installation directory, however it's up to you to draw the final design decision.
* Patch from Ralf Corsepius <corsepiu@faw.uni-ulm.de>Joel Sherrill1999-03-172-0/+4
|
* Unlimited objects patch from Chris Johns <ccj@acm.org>. Email follows:Joel Sherrill1999-03-171-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | First, the unlimited patch. I have compiled the unlmited patch for the Linux posix BSP only and it seems to work cleanly. I would like a really major application run on this change before commiting as the changes are very core and significant. I am currently building all the tests to run. I have no targets suitable to test on at the moment. I have tested the patch for inline functions and macros. Turning macros on has found some core bugs. I have fixed these but have not run all the tests. Please review the patch for these changes. They are: 1) The conditional compilation for MP support broke the core messages code. You cannot embed a conditional macro in another macro. The Send and Urgent Send calls are macros. 2) User extensions handler initialisation now has two parameters. I have updated the macros to support the extra parameter. The patch also contains the gcc-target-default.cfg fix required to build the kernel. More of a by product than a fix for you.
* Patch from John S. Gwynne <jgwynne@mrcday.com> to correct minorJoel Sherrill1999-03-161-4/+1
| | | | | | | | | | | problems that prevented the 19990302 snapshot from running on the efi332. I'm happy to report that rtems-19990302 is running on the efi332 board. I have enclosed a few minor patches below to the efi332 bsp. All patches are within that library but one. make/custom/efi332.cfg has a patch to select the right CPU_CFLAGS (at one time -m68332 was a problem... -mcpu32 or -m68332 work fine now).
* Added $(CPPFLAGS) to all gcc 2.8 style make-exe rules.Joel Sherrill1999-03-0834-38/+41
|
* Patch from Charles Gauthier <Charles.Gauthier@@iit.nrc.ca> to addressJoel Sherrill1999-02-241-3/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | FP issues on this target: The default variants of libc, libm and libgcc assume that a 68881 coprocessor is present. Without the FPSP, any floating point operation, including printf() with a "%f" format specifier, is likely to cause an unimplemented instruction exception. The FPSP works with the default variants of libc, libm and libgcc. It does not work in conjunction with the msoft-float variants. The paranoia test goes into an infinite loop at milestone 40. I am guessing that floor() is returning an incorrect value. The msoft-float variants of libc, libm and libgcc appear to do floating point I/O properly. They only failed in paranoia. Offhand, I can't think of why they would conflict with the FPSP, so I think that there is something wrong with the msoft-float code. It might be my installation. Given my experiences, I decided to install the FPSP in bsp_start(), and to link against the default variants of libc, libm and libgcc. This causes the executables to increase in size by about 60 KB. The README file and the mvme167.cfg specify how to remove the FPSP, and how to link against the msoft-float variants of the libraries. This is not what Eric Norum had done: on my host, his gen68360_040 port links RTEMS code with the msoft-float variants of libc and libm, and the default variant of libgcc. In this configuration, the output of printf() with "%f" is garbage on my target.
* Patch from Ralf Corsepius <corsepiu@faw.uni-ulm.de>. The following emailJoel Sherrill1999-02-241-8/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | is long but I hate to lose the information so I am including it here. > I am still fixing and recompiling but this is the issue that was not the > result of another patch. This is a fundamental build issue that I value > your opinion on. This is difficult issue (I.e. I have no destinct solution for it) Background: (gnu-) make's implicit rules apply CFLAGS, CPPFLAGS, CXXFLAGS, ASFLAGS and LDFLAGS (cf. make.info/Implicit Rules/Catalogue of Rules), only. In brief: CPPFLAGS .. passed to the c-preprocessor CFLAGS ... passed to the c-compiler CXXFLAGS ... equivalent to CFLAGS but passed to the c++ compiler (Attention: CFLAGS is not passed to the c++ compiler) ASFLAGS .. equivalent to CFLAGS, but passed to the assembler LDFLAGS .. equivalent to CFLAGS, but passed to the linker A bit oversimplifying, these make rules are as follows .c.o: $(CC) $(CPPFLAGS) $(CFLAGS) -c .cc.o: $(CXX) $(CPPFLAGS) $(CXXFLAGS) -c .S.s: $(CPP) $(CPPFLAGS) .s.o: $(AS) $(ASFLAGS) My reading of the documentation (make.info) is that {AS|AR|CC|CXX|CPP}FLAGS are ment to be passed to the related tools directly, however examinating the rule set of gmake (gmake -p -f /dev/null") shows that many rules use $(CC) instead of the related tools (eg. linker rules) etc. I.e. these flags should not rely on being passed through cpp or gcc. With gcc being the common frontend for all of these tools of a gnu-toolchain the situation becomes difficult (Which option is passed to whom and which tool really uses it?), because these variable can also contain the toolchain's frontend (eg. AS=gcc, LD=gcc, CPP=gcc -E). For some commonly used options the situation is quite clear: * -g -> CFLAGS * -OX -> CFLAGS * -D -> CPPFLAGS * -A -> CPPFLAGS But where to add -m, -B, -specs, -qrtems_XXX ? * -B, -specs, -qrtems_XXX are gcc-frontend options * -m is a combinations of flags to go to different destinations, in many (all?) cases, the following is valid -m is expanded by gcc into a set of -D and -A options -m is interpreted by cc1 as a machine flag to generate a specific instruction set. -m is interpreted by gcc as an implicit linker search path for multilibs to set up calls to LD. >From my point of view this indicates we can either destingush between these different usages (= separately add -m to CFLAGS, LDFLAGS etc) or to add it to CPPFLAGS and use gcc (the frontend) instead of calling each tool directly (less error prone) -- I vote for CPPFLAGS, but I am not sure. ----------------- Now, where to add CPU_CFLAGS? AFAIS, in probably all cases CPU_CFLAGS contain -D -A, and -m options, only. * -D and -A are supposed to go to CPPFLAGS * -mXXX options can have multiple meanings (It can be gcc, collect2/ld and cc1/cc1plus option simultaneously) Here, I made a mistake - I destinguished between CPU_DEFINES to be added to CPPFLAGS and CPU_CFLAGS to be added to CFLAGS and CXXFLAGS (cf. gcc-target-default.cfg), generally assuming CPU_CFLAGS are CFLAGS. This breaks preprocessing *.S into *.i files because CPU_CFLAGS flags were not added to CPPFLAGS. Hence *all* *.S were compiled without taking -mXX-flags into account. The i960/cvme BSP was the only one which explicitly checked for a specific -m flag (-mca) and refused to compile without it -- all other CPUs/BSPs silently swallowed this. IMO, we can either 1) add CPU_CFLAGS and CPU_DEFINES to CPPFLAGS, thus silently convert CPU_CFLAGS's meaning into CPU_DEFINES (Alternative solution: rename CPU_CFLAGS to CPU_DEFINES and merge CPU_FLAGS with CPU_DEFINES). or 2) destinguish between CPU_DEFINES and CPU_CFLAGS. In this case we would need to check the contents of each CPU_CFLAGS in custom/*.cfg and move the some parts of the contents to CPU_DEFINES and keep other parts in CPU_CFLAGS (CFLAGS must contain options for the c/c++-compiler only!). Though Solution 2) is the clearer one, I implemented 1) which is the simplier one (the patch below). ATTENTION: This patch is small in size, but affects almost everything. ------------ Additional complications araise with linking: Some BSPs call LD and AS directly (esp. gcc-2.7 make-exe rules). If LD=gcc then LDFLAGS are supposed to be gcc-options, but if LD=ld then LDFLAGS is supposed to contain ld-options. An analog thought is valid for AS, but luckily enough ASFLAGS is not used of inside the whole source tree. Most RTEMS' custom/*.cfg use $(CC) $(CFLAGS) to link with gcc-2.8 make-exe rules. With the patch below (CPU_CFLAGS added to CPPFLAGS) this means CPU_CFLAGS will not be passed to the linker, which is incorrect for multilibbed CPU's. gmake's default rule set contains a variety of rules for linking, all ending up in calling $(CC) $(LDFLAGS) for linking at their very end. IMO, this means we should use something like LINK.o = $(CC) $(LDFLAGS) in gcc-target-default.cfg + modify all gcc-2.8 make-exe rules to use $(LINK.o) ....... + setup LDFLAGS according to the requirements of the above. I.e. we should use $(CC) for linking instead of calling the linker (LD) directly and set LDFLAGS = $(CPPFLAGS) $(CFLAGS) or similar.
* Added $(LIB_VARIANT) to start16.bin.Joel Sherrill1999-02-241-1/+1
|
* Corrected spacing.Joel Sherrill1999-02-241-1/+1
|
* BSP for Vista Score603e added.Joel Sherrill1999-02-191-0/+156
|
* MVME167 BSP submitted by Charles Gauthier <Charles.Gauthier@iit.nrc.ca>.Joel Sherrill1999-02-181-0/+74
|
* Part of the automake VI patch from Ralf Corsepius <corsepiu@faw.uni-ulm.de>:Joel Sherrill1999-02-185-13/+15
| | | | | | | | | | | | | | | | > 5) rtems-rc-19990202-1.diff/reorg-install.sh > > reorg-install.sh fixes a Makefile variable name clash of RTEMS > configuration files and automake/autoconf standards. > Until now, RTEMS used $(INSTALL) for install-if-change. Automake and > autoconf use $(INSTALL) for a bsd-compatible install. As > install-if-change and bsd-install are not compatible, I renamed all > references to install-if-changed to $(INSTALL_CHANGED) and used > $(INSTALL) for bsd-install (==automake/autoconf standard). When > automake will be introduced install-if-change will probably be replaced > by $(INSTALL) and therefore will slowly vanish. For the moment, this > patch fixes a very nasty problem which prevents adding any automake file > until now (There are still more).
* Part of the automake VI patch from Ralf Corsepius <corsepiu@faw.uni-ulm.de>:Joel Sherrill1999-02-181-8/+0
| | | | | | | | | | | | | | | | | | > 3) rtems-rc-19990131-2.diff > > This patch removes generating bsp_specs from leaf.cfg and generates > bsp_specs from inside of c/Makefile instead. > > The motivation behind this patch is to avoid "polluting" Makefiles by > unneccessary rules from included Makefile-fragments (*.cfg-files) and > try to handle files by explicit rules in Makefiles instead (FYI: > automake-1.4 physically includes Makefile fragments at the time > automake is run, not at the time make is run as RTEMS Makefile.ins do > now) > > Nevertheless, this patch is rather uncritical, almost cosmetical - If > you don't like it, then dump it ;-, however I doubt that subsequent > patches will apply then ;-.
* Added rejected patch from automake VI from Ralf Corsepius.Joel Sherrill1999-02-181-6/+9
|
* Part of automake VI patch from Ralf Corsepius <corsepiu@faw.uni-ulm.de>:Joel Sherrill1999-02-184-56/+32
| | | | | | | | | | | | | | > 2) rtems-rc-19990131-1.diff > > Rework of compilers/*.cfg files (esp. gcc-target-default.cfg) to adapt > the flags/makefile variables to automake and make standards (cf. > make.info - implicit rules/variables). > > This patch is rather risky and may probably break things, but is an > essential step towards automake. > > FWIW: It also reverts the i386-ASMFLAGS/ASFLAGS-patch, which was wrong, > as I had to experience ;-.
* Part of automake VI Patch from Ralf Corsepius <corsepiu@faw.uni-ulm.de>.Joel Sherrill1999-02-1814-20/+40
| | | | | | | > Adds variables to the custom/*cfg files to specify the location of > tools. The purpose is to remove hard-coded paths from the Makefiles. > > In later steps this eases moving the tools to other locations.
* Part of the targopts.h change in generation patch from Ralf CorsepiusJoel Sherrill1999-02-181-51/+0
| | | | <corsepiu@faw.uni-ulm.de>.
* ./clock/Makefile.in,vJoel Sherrill1999-02-181-0/+111
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ./clock/clock.c,v ./console/Makefile.in,v ./console/config.c,v ./console/console.c,v ./console/console.h,v ./console/debugio.c,v ./console/i8042.c,v ./console/i8042_p.h,v ./console/i8042vga.c,v ./console/i8042vga.h,v ./console/ns16550.c,v ./console/ns16550.h,v ./console/ns16550_p.h,v ./console/ns16550cfg.c,v ./console/ns16550cfg.h,v ./console/vga.c,v ./console/vga_p.h,v ./console/z85c30.c,v ./console/z85c30.h,v ./console/z85c30_p.h,v ./console/z85c30cfg.c,v ./console/z85c30cfg.h,v ./include/Makefile.in,v ./include/bsp.h,v ./include/chain.h,v ./include/coverhd.h,v ./include/extisrdrv.h,v ./include/nvram.h,v ./include/pci.h,v ./include/tod.h,v ./network/Makefile.in,v ./network/amd79c970.c,v ./network/amd79c970.h,v ./nvram/Makefile.in,v ./nvram/ds1385.h,v ./nvram/mk48t18.h,v ./nvram/nvram.c,v ./nvram/prepnvr.h,v ./nvram/stk11c68.h,v ./pci/Makefile.in,v ./pci/pci.c,v ./start/Makefile.in,v ./start/start.s,v ./startup/Makefile.in,v ./startup/bspclean.c,v ./startup/bspstart.c,v ./startup/bsptrap.s,v ./startup/device-tree,v ./startup/genpvec.c,v ./startup/linkcmds,v ./startup/rtems-ctor.cc,v ./startup/sbrk.c,v ./startup/setvec.c,v ./startup/spurious.c,v ./startup/swap.c,v ./timer/Makefile.in,v ./timer/timer.c,v ./tod/Makefile.in,v ./tod/cmos.h,v ./tod/tod.c,v ./universe/Makefile.in,v ./universe/universe.c,v ./vectors/Makefile.in,v ./vectors/README,v ./vectors/align_h.s,v ./vectors/vectors.s,v ./wrapup/Makefile.in,v ./Makefile.in,v ./README,v ./STATUS,v ./bsp_specs,v
* Jay Monkman <jmonkman@frasca.com> submitted the eth_comm BSP for a PPC860Joel Sherrill1999-02-171-0/+84
| | | | based board.
* Commented out disable of building network code so it is built. You canJoel Sherrill1999-02-051-1/+1
| | | | | hack through some paths to check error checking paths without a network driver.
* Added instruction and data cache enable.Joel Sherrill1999-02-051-2/+13
|
* Added comments to indicate what options are required to take advantageJoel Sherrill1999-01-191-1/+3
| | | | | | of removal of unused function code found in newer binutils/egcs snapshots. Early test with psim and hello.exe showed about a 13% gain.
* Changed definition of ASMFLAGS since as does not recognize -B optionJoel Sherrill1999-01-191-1/+1
| | | | used in gcc.
* Patch from Ralf Corsepius <corsepiu@faw.uni-ulm.de> to rename allJoel Sherrill1998-12-143-14/+7
| | | | | .s files to .S in conformance with GNU conventions. This is a minor step along the way to supporting automake.
* Patch from Emmanuel Raguet <raguet@crf.canon.fr> to add remote debug serverJoel Sherrill1998-12-032-0/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | and RPC support to RTEMS. Thanks. :) Email follows: Hello, For Xmas, here is the Remote Debugger on RTEMS ! Here are 2 patches for the Remote Debugger on RTEMS for pc386 from Linux host : - one for RTEMS it self, - one for GDB-4.17. 1/ RTEMS patch -------------- This patch adds 2 libraries : - a simplified SUN RPC library - the Remote Debugger library The configuration command is the following : ../rtems4/configure --target=i386-rtemself --enable-rtemsbsp=pc386 --enable-rdbg The SUN RPC library is built only if networking is set. The RDBG library is built if networking and enable-rdbg are set. The function used to initialize the debugger is : rtems_rdbg_initialize (); A special function has been created to force a task to be in a "debug" state : enterRdbg(). The use of this function is not mandatory. 2/ GDB-4.17 patch ----------------- This patch create a new RTEMS target for GDB-4.17. The configuration command is the following : ./configure --enable-shared --target=i386RTEMS To connect to a target, use : target rtems [your_site_address] Then, attach the target using : attach 1 And... Debug ;) You can obtain the original GDB-4.17 on ftp://ftp.debian.org/debian/dists/stable/main/source/devel/gdb_4.17.orig.tar.gz This has been tested from a Debian 2.0.1 linux host.
* Added --disable-multiprocessing flag and modified a lot of files to makeJoel Sherrill1998-11-2315-36/+8
| | | | it work.
* Removed "HAS_NETWORKING=no".Joel Sherrill1998-11-231-4/+0
|
* Bug report from Peter Mueller <pmueller@decrc.abb.de>:Joel Sherrill1998-11-191-1/+1
| | | | | | | | I use the m68k/efi332 BSP together with a home made board. After some time of debugging I found that the m68020 CPU is used to build rtems. This is not correct, because the 68332 does not have some of the 68020 features (no separate int stack ...). It is necessary to change this to mcpu32. After a clean/make everything works fine.
* Merged Vista SCORE603e, Radstone PPCn_60x, and DY-4 DMV177 BSPs alongJoel Sherrill1998-10-282-4/+1
| | | | with libchip.
* Patch from Erik Ivanenko <erik.ivanenko@utoronto.ca>:Joel Sherrill1998-10-221-15/+16
| | | | | | | | | | Please find attached a new i386ex.cfg. It has been altered to change the files that get generated with the .nxe extension to .coff. This change is necessary to align the file names generated by "make-exe" to the those referred to in the GDB.HOWTO found in the i386/shared/comm directory. It has been successfully tested on ticker ( without GDB), and base_sp( with GDB ) . I just set a breakpoint and continue...
* Removed unnecessary settings.Joel Sherrill1998-10-151-6/+0
|
* Patch from Ralf Corsepius <corsepiu@faw.uni-ulm.de>:Joel Sherrill1998-10-141-0/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 1. Rtems contains some perl scripts that use hard-coded paths to /usr/bin/perl or /usr/local/bin/perl I have already fixed these problems by adding some checks to configure.in. While doing this, I also cleaned up some more autoconf related problems for generating shell scripts. This patch might seem a bit scary to you, but I am quite confident it won't break something (I've been testing it for almost a week now, however it might introduce typos for a limited number configurations I don't have access to - But it shouldn't be a problem for you to test them :-). I expect to get this finished tonight, hence you will very likely have the patch when you get up tomorrow. Changes: * Check for PERL and disable all PERL scripts if perl wasn't found. * Generate all KSHELL-scripts with autoconf instead of make-script * Automatic dependency handling for autoconf generated KSHELL or PERL scripts (make/rtems.cfg) Notes: * this patch contains new files and deletes some other files. * The patch is relative to rtems-4.0.0-beta4 with my previous rtems-rc-981014-1.diff patch applied. Testing: I tested it with sh-rtems and posix under linux. Now all targets which are touched by this patch and which are not used while building for sh-rtems and posix still need to be tested. AFAIS, only the sparc/erc32 BSP should be affected by this criterion. And if you like to, you should also consider testing it on a Cygwin32 and a Solaris host for one arbitrary BSP.
* Patch from Ralf Corsepius <corsepiu@faw.uni-ulm.de>:Joel Sherrill1998-10-141-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2. "make profile" doesn't work. It aborts when building host-tools for embedded targets. I didn't yet have enough time to fix this problem. AFAIS this problem is related to handling of LDFLAGS_PROFILE[|_V] in gcc.cfg.in. For host applications, we use gcc for linking host applications, too. With profiling enabled CFLAGS_PROFILE_V contains -pg and is used to compile, but LDFLAGS_PROFILE_V is empty, hence -pg will not be passed to the linker causing gcc to fail to link, because it can't resolve some symbols introduced by compiling with -pg. I am not sure if I can provide a patch for this - Ether it is trivial to fix or requires basic work on host configuration ;- Fixing this one was trivial - But hard to trace. LDFLAGS_PROFILE_V needs to contain the same flags as CFLAGS_PROFILE_V, if gcc is used for linking (What else should have been expected ?, :-). The same problem was present for *_DEBUG_V, but apparently wasn't noticed by anybody, because things didn't break, but were silently ignored. I fixed these problems by setting these flags in configure.in whenever gcc is reported to be the host-compiler. For non-gcc host compilers "make debug" and "make profile" now becomes the same as an ordinary "make". This is a hack and addressing this problen could be more sophisticated, but I don't think it gives much sense to support compile variants for any host program (Who will ever try to profile/debug host tools?). Therefore I don't think it's useful to invest more effort into this problem.
* Patch from Ralf Corsepius <corsepiu@faw.uni-ulm.de> to correct minorJoel Sherrill1998-10-131-4/+0
| | | | cosmetic things.
* Patch from Ralf Corsepius <corsepiu@faw.uni-ulm.de>:Joel Sherrill1998-10-054-13/+0
| | | | | | | | | | | | | | | | | | | | As mentioned in other mails before, there is are minor inconsistencies in the posix custom/*cfg files. Linux-posix.cfg sets RTEMS_BSP=posix FreeBSD-posix.cfg sets RTEMS_BSP=posix Solaris-posix.cfg first sets RTEMS_BSP=posix, later it sets RTEMS_BSP=solaris2 1. Setting RTEMS_BSP=posix is redunant to settings in default.cfg 2. The solaris variant of setting RTEMS_BSP is merely non-functional. The patch attached to this mail should clean up this issue. The patch was tested by building the posix bsp under i686-pc-linux-glibc1/glibc2 and Solaris2.6 (I did not run any rtems program, however) The HPUX9 and FreeBSD configuration files were adapted in analogy to the solaris and linux configurations.
* Switched from HAS_KA9Q=no to HAS_NETWORKING=no.Joel Sherrill1998-10-011-2/+2
|
* Patch from Eric Norum <eric@skatter.usask.ca>:Joel Sherrill1998-10-011-0/+8
| | | | | | | | | 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.
* BSP submitted by Thomas Doerfler <td@imd.m.isar.de>:Joel Sherrill1998-09-301-0/+110
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* Patch from Eric Norum <eric@skatter.USask.Ca>:Joel Sherrill1998-09-301-7/+0
| | | | | | | | | | | | | | | | | | | | | | | 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.
* Improved missing directory message.Joel Sherrill1998-09-241-1/+4
|
* Patch from Aleksey (Quality Quorum <qqi@world.std.com>):Joel Sherrill1998-09-231-0/+1
| | | | | | | | | | | 1. Finally fixes raw interrupts for pc386 2. Makes some minor cleanup in console and startup 3. Makes rtems_termios_dequeue_characters() to return count of outstanding chars - it allows to simplify console isrs a little bit. 4. pc386 uart modified to be friendlier to termios parameter changes, to have minor performance improvement and to take advantage of of above termios modification.
* Updates to tree to make it build with all desired changes and the conversionJoel Sherrill1998-09-111-1/+1
| | | | of the SONIC driver to the new FreeBSD stack instead of KA9Q.
* Patch from Chris Johns <ccj@acm.org>:Joel Sherrill1998-09-101-1/+1
| | | | | | | | | | | I have managed to build the bsp ods68302 and the rtti test case I made with egcs-1.1b and binutils-2.9.1. I have built our C++ application and got no link errors so it looks like this is now working. I am yet to test the code but getting the thing to link was the problem. Please find a patch attached which removes the -fno-rtti option.