summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* updated copyright to 1998Joel Sherrill1998-02-172-2/+2
|
* Added .eh_frame, C++ constructor, and C++ destructor sections.Joel Sherrill1998-02-1717-1/+251
|
* Renamed init.o to exinit.o to avoid naming conflicts with tests.Joel Sherrill1998-02-172-4/+4
|
* Installing sptables with version information.Joel Sherrill1998-02-172-6/+6
|
* mods from Ralf CorsepiusJoel Sherrill1998-02-170-0/+0
|
* renamed init.c exinit.cJoel Sherrill1998-02-171-1/+1
|
* First cut at automatic insertion of version information.Joel Sherrill1998-02-174-6/+28
|
* added -Wno-unused to debug flagsJoel Sherrill1998-02-171-1/+1
|
* Ralf Corsepius pushing us farther down the autconf path:Joel Sherrill1998-02-172-0/+3
| | | | | | | | | | "Ladies and Gentlement, we proudly present: a roughly hacked autoconf-ed rtems-glom.in" (:-) BTW, to follow up to the discussion about installation points, rtems-glom in its current shape is an ideal example of a target dependent file. If bsp-specific configure-scripts would exist, it might also be a bsp-dependent file that contains RTEMS_BSP hard-coded (by configure) into it.
* Added unused warning per discussion on rtems-snapshots list.Joel Sherrill1998-02-172-4/+4
|
* Patch from Eric Norum <eric@skatter.usask.ca>:Joel Sherrill1998-02-174-7/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | I've gone through and cleaned up the TFTP driver so that it fits into the libio system. Here's the comment from the new driver: /* * Usage: * * To open `/bootfiles/image' on `hostname' for reading: * fd = open ("/TFTP/hostname/bootfiles/image", O_RDONLY); * * The `hostname' can be a symbolic name or four * dot-separated decimal values. * * To open a file on the host which supplied the BOOTP * information just leave the `hostname' part empty: * fd = open ("/TFTP//bootfiles/image", O_RDONLY); * */ You can `fopen' TFTP files the same way: fp = fopen (fullname, "r"); nread = fread (cbuf, sizeof cbuf[0], sizeof cbuf, fp); The diff's are included below. I've also modified the TFTP demo program and the bootstrap PROM example. They should be on my ftp site `soon'. The one thing I don't like is the way I had to do an end-run on the libio routines to get errno passed back from my driver to the application (since there are some errno codes that don't map to RTEMS status codes). My approach was to set errno in the driver and have the driver routine return an RTEMS status code that I `know' isn't in the errno_assoc[] in libio.c. Perhaps there should be an RTEMS_TRANPARENT_ERRNO status code (or something similar) which driver routines could return to indicate that the driver routine has set errno and that the libio routines shouldn't attempt to map the returned status code to errno. Actually, I think the entire I/O system needs looking at -- as you've already mentioned. The hacks I've dropped in to syscalls.c to make fstat work, for example, are *not* shining examples of good code......
* Patch from Ralf Corsepius <corsepiu@faw.uni-ulm.de>:Joel Sherrill1998-02-175-84/+281
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Yep, I have a bunch of bug-fixes and additions pending (Yet another monster patch, ... I can hear you scream :-). 1) configure.in : one AC_CONFIG_HEADER(...) line too much. 2) configure.in: gcc28 support is enabled by default, i.e. if no --enable-gcc28 option is passed on the command line. I am not sure if this is intentional. IMO, AC_ARG_ENABLE for --enable-gcc28 should look like: AC_ARG_ENABLE(gcc28, \ [ --enable-gcc28 enable use of gcc 2.8.x features], \ [case "${enableval}" in yes) RTEMS_USE_GCC272=no ;; no) RTEMS_USE_GCC272=yes ;; *) AC_MSG_ERROR(bad value ${enableval} for gcc-28 option) ;; esac],[RTEMS_USE_GCC272=yes]) 3) At the end of c/src/exec/score/cpu/m68k/m68k.h > #ifdef __cplusplus > } > #endif > > #endif /* !ASM */ in my opinion these two statements should be swapped: > #endif /* !ASM */ > > #ifdef __cplusplus > } > #endif I didn't try to compile for m68k, but does't this give an error? Is it compensated somewhere else - or didn't I look carefully enough? 5) configure.in: --enable-cpp should probably be renamed to --enable-cxx, as gnu-programs use "cxx" to specify C++ specific configure options, while cpp is used for the preprocessor (e.g egcs uses --with-cxx-includedir, autoconf internally uses $CXX), 6) The macro files from aclocal/*.m4 contain the buggy sed-rules formerly contained in aclocal..m4, i.e. the sed/sort-bug fix to aclocal.m4 didn't make it to aclocal/*.m4. I think I should feel guilty for that - Obviously I submitted the contents of an old aclocal-directory last time. - Sorry. 7) For sh-rtems, we currently need to add additional managers to MANAGERS_REQUIRED (from inside of custom/*.cfg). Currently MANAGERS_REQUIRED is defined in make/compilers/*.cfg. This seems to prevent overriding MANAGERS_REQUIRED from custom/*.cfg files - Obviously the files are included in such a way that the settings from compilers/*cfg always override settings from custom/*.cfg files. Furthermore, I think, defining MANAGERS_* inside gcc-<target>.cfg files is not correct - MANAGERS are not gcc-variant-dependent, but depend on targets/bsps and therefore should be defined in a bsp/target dependent file, e.g. in custom/*.cfg or target.cfg.in. I think defining default settings for MANAGERS* in custom/default.cfg could be an appropriate location. But this requires all custom/*.cfg files to include default.cfg, which *-posix.cfg files don't seem to do. Therefore I would like propose to move MANAGERS* to target.cfg.in - they are included by all custom/*.cfg files. Perhaps we/you should use this opportunity to merge parts from custom/default.cfg into target.cfg.in. This ensures to have the setting included once per target makefile and will open the opportunity to have autoconf doing additional work on bsp-configurations. Peanuts sofar, ... but here it comes ... (:-) 8) I am preparing a major enhancement to autoconf support for gnutools/compilers. It is not yet finished, but usable and I'll therefore attach a preliminary version to this mail. Motivation: * Fix problems with --enable-gcc28, if target-cc is not gcc28 compatible * Fix -pipe problems * Fix problems with hard-coded paths in configuration files (esp. posix) * Fix consistency problems with explictly given gnutools and gcc's gnutools Currently included: * detection and checking of host and target compiler (gcc/g++) * checking if target gnutools are in path * checking if <target>-gcc -specs works (autodisabling gcc28 if not) * checking if <target>-gcc -pipe works Todo : * *posix.cfg files are not yet adapted => The hard-coded paths for these systems are still in use. * Check if the host compiler $CC is properly propagated to the Makefiles (I doubt it, but this should not matter) * Check if rtems' generic tools still work properly (It looks like, but who knows) * Integrate CXX support into default.cfg or gcc-target-default.cfg (It looks like C++ support is only used by posix BSPs) * Automatically handle RANLIB/MKLIB for targets * Plenty ... (:-) Open problems: * Untested for non-gcc compatible host and target compilers. This should be no problem if the tools are named follow gnutool's naming convention and are included in $PATH while running configure. * Intentionally using different tools than that gcc has been configured for, e.g. use a different assembler ? This should be still possible if XX_FOR_TARGET is hard-coded into custom/*.cfg. I don't see why anybody should want to do this, but who knows? I have tested this version on linux and solaris hosts, with gcc's directories mounted at weird non-standard mount points, using egcs (linux/sh-rtemscoff), gcc-2.7.2.2 using native tools (solaris), gcc-2.7.2.3 w/ gnutools (solaris/linux). I don't expect it to break anything, but of cause I can't promise it. It will break most/all *-posix.cfg configuration almost for certain, but not more as rtems' current *posix.cfg configurations already do (hard-coded configurations). I am not sure if this is ready to be included into the next snapshot or not. Perhaps you might try this on your systems and if it you don't notice serious bugs you might put it into the snapshot for public testing (I don't like this, but I don't see another possiblity to test generality). I enclose a patch for configure.in and some configuration files which comprizes fixes for all items mentioned except of #3 . Don't forget to run "aclocal -I aclocal; autoconf;" after applying the patch (:-).
* Patch from Ralf Corsepius <corsepiu@@faw.uni-ulm.de>:Joel Sherrill1998-02-171-8/+26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Yep, I have a bunch of bug-fixes and additions pending (Yet another monster patch, ... I can hear you scream :-). 1) configure.in : one AC_CONFIG_HEADER(...) line too much. 2) configure.in: gcc28 support is enabled by default, i.e. if no --enable-gcc28 option is passed on the command line. I am not sure if this is intentional. IMO, AC_ARG_ENABLE for --enable-gcc28 should look like: AC_ARG_ENABLE(gcc28, \ [ --enable-gcc28 enable use of gcc 2.8.x features], \ [case "${enableval}" in yes) RTEMS_USE_GCC272=no ;; no) RTEMS_USE_GCC272=yes ;; *) AC_MSG_ERROR(bad value ${enableval} for gcc-28 option) ;; esac],[RTEMS_USE_GCC272=yes]) 3) At the end of c/src/exec/score/cpu/m68k/m68k.h > #ifdef __cplusplus > } > #endif > > #endif /* !ASM */ in my opinion these two statements should be swapped: > #endif /* !ASM */ > > #ifdef __cplusplus > } > #endif I didn't try to compile for m68k, but does't this give an error? Is it compensated somewhere else - or didn't I look carefully enough? 5) configure.in: --enable-cpp should probably be renamed to --enable-cxx, as gnu-programs use "cxx" to specify C++ specific configure options, while cpp is used for the preprocessor (e.g egcs uses --with-cxx-includedir, autoconf internally uses $CXX), 6) The macro files from aclocal/*.m4 contain the buggy sed-rules formerly contained in aclocal..m4, i.e. the sed/sort-bug fix to aclocal.m4 didn't make it to aclocal/*.m4. I think I should feel guilty for that - Obviously I submitted the contents of an old aclocal-directory last time. - Sorry. 7) For sh-rtems, we currently need to add additional managers to MANAGERS_REQUIRED (from inside of custom/*.cfg). Currently MANAGERS_REQUIRED is defined in make/compilers/*.cfg. This seems to prevent overriding MANAGERS_REQUIRED from custom/*.cfg files - Obviously the files are included in such a way that the settings from compilers/*cfg always override settings from custom/*.cfg files. Furthermore, I think, defining MANAGERS_* inside gcc-<target>.cfg files is not correct - MANAGERS are not gcc-variant-dependent, but depend on targets/bsps and therefore should be defined in a bsp/target dependent file, e.g. in custom/*.cfg or target.cfg.in. I think defining default settings for MANAGERS* in custom/default.cfg could be an appropriate location. But this requires all custom/*.cfg files to include default.cfg, which *-posix.cfg files don't seem to do. Therefore I would like propose to move MANAGERS* to target.cfg.in - they are included by all custom/*.cfg files. Perhaps we/you should use this opportunity to merge parts from custom/default.cfg into target.cfg.in. This ensures to have the setting included once per target makefile and will open the opportunity to have autoconf doing additional work on bsp-configurations. Peanuts sofar, ... but here it comes ... (:-) 8) I am preparing a major enhancement to autoconf support for gnutools/compilers. It is not yet finished, but usable and I'll therefore attach a preliminary version to this mail. Motivation: * Fix problems with --enable-gcc28, if target-cc is not gcc28 compatible * Fix -pipe problems * Fix problems with hard-coded paths in configuration files (esp. posix) * Fix consistency problems with explictly given gnutools and gcc's gnutools Currently included: * detection and checking of host and target compiler (gcc/g++) * checking if target gnutools are in path * checking if <target>-gcc -specs works (autodisabling gcc28 if not) * checking if <target>-gcc -pipe works Todo : * *posix.cfg files are not yet adapted => The hard-coded paths for these systems are still in use. * Check if the host compiler $CC is properly propagated to the Makefiles (I doubt it, but this should not matter) * Check if rtems' generic tools still work properly (It looks like, but who knows) * Integrate CXX support into default.cfg or gcc-target-default.cfg (It looks like C++ support is only used by posix BSPs) * Automatically handle RANLIB/MKLIB for targets * Plenty ... (:-) Open problems: * Untested for non-gcc compatible host and target compilers. This should be no problem if the tools are named follow gnutool's naming convention and are included in $PATH while running configure. * Intentionally using different tools than that gcc has been configured for, e.g. use a different assembler ? This should be still possible if XX_FOR_TARGET is hard-coded into custom/*.cfg. I don't see why anybody should want to do this, but who knows? I have tested this version on linux and solaris hosts, with gcc's directories mounted at weird non-standard mount points, using egcs (linux/sh-rtemscoff), gcc-2.7.2.2 using native tools (solaris), gcc-2.7.2.3 w/ gnutools (solaris/linux). I don't expect it to break anything, but of cause I can't promise it. It will break most/all *-posix.cfg configuration almost for certain, but not more as rtems' current *posix.cfg configurations already do (hard-coded configurations). I am not sure if this is ready to be included into the next snapshot or not. Perhaps you might try this on your systems and if it you don't notice serious bugs you might put it into the snapshot for public testing (I don't like this, but I don't see another possiblity to test generality). I enclose a patch for configure.in and some configuration files which comprizes fixes for all items mentioned except of #3 . Don't forget to run "aclocal -I aclocal; autoconf;" after applying the patch (:-).
* Update from Ralf Corsepius:Joel Sherrill1998-02-172-5/+4
| | | | | | | 6) The macro files from aclocal/*.m4 contain the buggy sed-rules formerly contained in aclocal..m4, i.e. the sed/sort-bug fix to aclocal.m4 didn't make it to aclocal/*.m4. I think I should feel guilty for that - Obviously I submitted the contents of an old aclocal-directory last time. - Sorry.
* Update from Ralf Corsepius:Joel Sherrill1998-02-172-146/+1041
| | | | | | | | | | | | Yep, I have a bunch of bug-fixes and additions pending (Yet another monster patch, ... I can hear you scream :-). 1) configure.in : one AC_CONFIG_HEADER(...) line too much. 5) configure.in: --enable-cpp should probably be renamed to --enable-cxx, as gnu-programs use "cxx" to specify C++ specific configure options, while cpp is used for the preprocessor (e.g egcs uses --with-cxx-includedir, autoconf internally uses $CXX),
* Swapped C++ and ASM "endifs"Joel Sherrill1998-02-171-2/+2
|
* Incorporated Ralf Corsepius' idea for new -q flags to properly supportJoel Sherrill1998-02-1123-40/+157
| | | | "gmake debug".
* Don't install tools using variant name.Joel Sherrill1998-02-111-1/+1
|
* Install size info using "standard" suffix.Joel Sherrill1998-02-111-8/+1
|
* Fixed hppa1.1 configuration.Joel Sherrill1998-02-112-6/+6
|
* new test casesJoel Sherrill1998-02-112-0/+92
|
* new directory structure for hwapiJoel Sherrill1998-02-112-2/+2
|
* hwapi addedJoel Sherrill1998-02-111-1/+2
|
* updatesJoel Sherrill1998-02-1117-655/+540
|
* Robin Kirkham reported that the install point was incorrect in this file.Joel Sherrill1998-02-101-1/+1
|
* Fixed to correctly operate on target variants like debug and profile.Joel Sherrill1998-02-073-21/+56
|
* Should not install build-tools using target variant options.Joel Sherrill1998-02-072-2/+2
|
* Updated copyrightsJoel Sherrill1998-02-06191-198/+192
|
* Added @table/@end table capability along with the avdas.d test case whereJoel Sherrill1998-02-063-3/+363
| | | | this capability was first used.
* Problem report from Brian Cuthie regarding incorrect calculationJoel Sherrill1998-02-061-1/+2
| | | | | | | | | of BSS size. The conversion from a count of u8's to a count of u32's was shifting in the wrong direction. This error had been in the start code a long time. It had not caused problems because the BSS is typically much smaller than the C heap which typically follows it in memory. Plus since this code was executed at start time, all that really happened was an extra zeroing of some memory.
* Added code to more correctly process abstract types (handle, range, etc).Joel Sherrill1998-02-052-22/+76
|
* Removed special ix86-rtems stanza.Joel Sherrill1998-02-041-32/+29
|
* Change suggested by Ralf Corsepius:Joel Sherrill1998-02-042-43/+276
| | | | | | | | | | | | | | | | | | | | | | | | | | I am not sure if this is related to this problem, but here is an observation: All config.sub scripts from rtems' intrastructure packages internally transform i386-rtems into i386-pc-rtems newlib-1.8.0-rtems/config.sub i386-rtems --> i386-pc-rtems egcs-1.0/config.sub i386-rtems ---> i386-pc-rtems egcs-1.0.1/config.sub i386-rtems ---> i386-pc-rtems bintutils-2.8.1.0.19/config.sub i386-rtems ---> i386-pc-rtems gas-98xxxx/config.sub i386-rtems ---> i386-pc-rtems The only exception is rtems itself: rtems/config.sub i386-rtems ---> i386-rtems I am not sure if this influences i386-rtems + c++/posix, but this indicates that rtems' config.sub script should to be updated. To fix this, simply copying config.sub e.g. from egcs and removing all i[3456]-rtems* case statement lines from configure.in should be sufficient. BTW, from autoconf's point of view i386-pc-rtems is the correct target conforming autoconf's naming conventions, but using i386-rtems for all packages (infrastructure and rtems) should make no difference.
* Cleaned up the definition of CONSOLE_USE_POLLED and CONSOLE_USE_INTERRUPTS.Joel Sherrill1998-02-041-9/+9
|
* Patch from Ralf Corsepius to reduce the amount of memory consumed byJoel Sherrill1998-02-043-6/+18
| | | | the workspace by default.
* New autoconf feature from Ralf Corsepius:Joel Sherrill1998-02-045-0/+108
| | | | | | | | | | | | | | | | | | | | It adds make rules for reconfiguring build-trees ("make Makefile") and adds dependency rules for configure and friends (i.e. calls autoconf). Most of this code has been "borrowed" from automake and was adapted to rtems. Addionally, I added automatic generation of the "aclocal.m4"-file by "aclocal" (from the automake package). Therefore I splitted aclocal.m4 into several separate files (attached to this mail), each containing one of rtems customized autoconf/m4-macros and have put them into a new subdirectory "aclocal". Normal users won't be influenced and won't even need this, unless they try to modify configure.in. The main advantage of this is: these aclocal/m4-macros become reusable and easier to administer. As a disadvantage, rtems becomes dependent of having aclocal/automake installed. To keep building rtems functional if autoconf or aclocal isn't installed, the related Makefile commands are prefixed by "-" -- only an error message should be issued by "make".
* Ralf Corsepius noticed that generally was spelled incorrectly.Joel Sherrill1998-02-0412-12/+12
|
* Added call to libc_wrapup() in _exit. This fixes a problem whereJoel Sherrill1998-02-033-0/+3
| | | | | the atexit routines on the global reentrancy structure were not invoked. But it does not seem like a 100% correct solution.
* Corrected spelling error so interrupt driven console would work.Joel Sherrill1998-02-031-2/+2
|
* Fixed so installed Makefile structure work.Joel Sherrill1998-02-021-3/+4
|
* Big patch form Ralf Corsepius described in this email:Joel Sherrill1998-01-30480-1924/+974
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Here is the result of my nightly work to get RTEMS_ROOT=$srcdir working with different shells and relative/absolute paths. What I did is relatively simple in principle: Instead of setting RTEMS_ROOT in configure.in and then let configure substitute @RTEMS_ROOT@ inside the Makefiles, I now let each Makefile set RTEMS_ROOT from each Makefile's @top_srcdir@ value. The difference is subtile, but with enormous side effects: - If RTEMS_ROOT is set in configure, then the same single value will be propagated to all Makefiles. This breaks using relative paths, as the relative path to the root of the source tree is used inside of all subdirectory Makefiles. - Now each Makefile.in sets RTEMS_ROOT = @top_srcdir@. top_srcdir is computed individually by configure for each single Makefile.in, hereby receiving the correct value, no matter if relative or absolute paths are used. To get this working, I needed to remove setting RTEMS_ROOT from target.cfg.in, because this overrides the value of RTEMS_ROOT from each individual Makefile. Furthermore, I removed RTEMS_CUSTOM from the Makefiles and replaced all "include $(RTEMS_CUSTOM)" directives with"include $(RTEMS_ROOT)/make/custom/$(RTEMS_BSP)". Perhaps you don't like this, but I think, to have one variable less is clearer and easier to understand than having several variables refering to the next one. I enclose a small patch to this mail, which - fixes the config.h problem (to finally clearify misunderstands) - removes assignment/subsitution of RTEMS_ROOT from configure.in - contains a workaround for the application Makefile's RTEMS_ROOT problem (reported by Eric) - removes some unused lines from the toplevel Makefile.in - removes assignment of RTEMS_ROOT from make/target.cfg.in
* Corrected Linux port for glibc2Joel Sherrill1998-01-3010-7/+16
|
* correctionJoel Sherrill1998-01-301-1/+2
|
* configure.inJoel Sherrill1998-01-301-16/+111
|
* Modified output of @Example style in MsWord output routine so it wouldJoel Sherrill1998-01-302-4/+36
| | | | be one paragraph with manual line breaks rather than multiple paragraphs..
* Change to remove warning on glibc2 systems per Ralf Corsepius'sJoel Sherrill1998-01-282-2/+12
| | | | suggestion.
* Fix from Eric Norum:Joel Sherrill1998-01-271-1/+1
| | | | | There's an explicit invocation of `make' in c/Makefile.in. This breaks for those of us with different `gmake' and `make' programs.
* Removed some stanzas per Ralf Corsepius:Joel Sherrill1998-01-271-18/+2
| | | | | | | > 4) The toplevel Makefile.in contains rules named make_subdir and > clean_modules, which probably can be deleted, IMO. > At least make_subdir doesn't give any sense anymore. (I had removed it > im my original patch).
* not submittedJoel Sherrill1998-01-271-106/+0
|
* Fixed missing carriage return at the bottom of the file reportedJoel Sherrill1998-01-271-1/+0
| | | | by Ralf Corsepius