Commit Graph

1325 Commits

Author SHA1 Message Date
Joel Sherrill
818c361b94 Renamed init.o to exinit.o to avoid naming conflicts with tests. 1998-02-17 23:34:15 +00:00
Joel Sherrill
78fdf2b8c0 Installing sptables with version information. 1998-02-17 23:33:53 +00:00
Joel Sherrill
70a88c31dd renamed init.c exinit.c 1998-02-17 22:16:02 +00:00
Joel Sherrill
e810408ea7 First cut at automatic insertion of version information. 1998-02-17 21:39:36 +00:00
Joel Sherrill
ac61209b11 Added unused warning per discussion on rtems-snapshots list. 1998-02-17 19:16:18 +00:00
Joel Sherrill
9646d5bea1 Patch from Eric Norum <eric@skatter.usask.ca>:
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......
1998-02-17 18:46:38 +00:00
Joel Sherrill
e81ef51bf1 Patch from Ralf Corsepius <corsepiu@faw.uni-ulm.de>:
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 (:-).
1998-02-17 14:12:01 +00:00
Joel Sherrill
b4589477a7 Swapped C++ and ASM "endifs" 1998-02-17 13:21:37 +00:00
Joel Sherrill
a858910778 Incorporated Ralf Corsepius' idea for new -q flags to properly support
"gmake debug".
1998-02-11 22:13:46 +00:00
Joel Sherrill
fc56b90cd3 Don't install tools using variant name. 1998-02-11 21:57:20 +00:00
Joel Sherrill
360930c376 Install size info using "standard" suffix. 1998-02-11 21:56:30 +00:00
Joel Sherrill
b68e057ebe Fixed to correctly operate on target variants like debug and profile. 1998-02-07 19:56:00 +00:00
Joel Sherrill
e496c1f1ed Should not install build-tools using target variant options. 1998-02-07 19:43:38 +00:00
Joel Sherrill
f02ffcaa6a Problem report from Brian Cuthie regarding incorrect calculation
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.
1998-02-06 13:47:09 +00:00
Joel Sherrill
0312defbeb Patch from Ralf Corsepius to reduce the amount of memory consumed by
the workspace by default.
1998-02-04 15:35:26 +00:00
Joel Sherrill
77ea27fc16 Ralf Corsepius noticed that generally was spelled incorrectly. 1998-02-04 14:47:23 +00:00
Joel Sherrill
f00d7add72 Added call to libc_wrapup() in _exit. This fixes a problem where
the atexit routines on the global reentrancy structure were not
invoked.  But it does not seem like a 100% correct solution.
1998-02-03 18:30:05 +00:00
Joel Sherrill
52dd75da50 Corrected spelling error so interrupt driven console would work. 1998-02-03 18:29:05 +00:00
Joel Sherrill
5c3511e5cf Big patch form Ralf Corsepius described in this email:
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
1998-01-30 21:49:51 +00:00
Joel Sherrill
421dfef68e Corrected Linux port for glibc2 1998-01-30 20:59:22 +00:00
Joel Sherrill
3a85d03d4e Change to remove warning on glibc2 systems per Ralf Corsepius's
suggestion.
1998-01-28 15:39:30 +00:00
Joel Sherrill
16fc19518a Fix from Eric Norum:
There's an explicit invocation of `make' in c/Makefile.in.  This
  breaks for those of us with different `gmake' and `make' programs.
1998-01-27 20:24:52 +00:00
Joel Sherrill
35eb035a15 Fixed missing carriage return at the bottom of the file reported
by Ralf Corsepius
1998-01-27 14:02:21 +00:00
Joel Sherrill
2ece449623 new file 1998-01-26 19:53:28 +00:00
Joel Sherrill
2936b425fd Solaris port updates from Chris Johns 1998-01-23 17:45:05 +00:00
Joel Sherrill
48971e5ed0 Cleaned up a bit. 1998-01-23 17:06:36 +00:00
Joel Sherrill
bd620fe64a Added information about multilib problems. 1998-01-23 17:06:17 +00:00
Joel Sherrill
fdff6bf20c Added some GRUB information from Phil Wilshire. 1998-01-22 17:50:27 +00:00
Joel Sherrill
9ad1f135fa Added autoconf support for strerror/sys_errlist per Ralf Corsepius'
direction.  This fixes a problem reported by Steve Evans of Radstone
since he is using glibc2.
1998-01-21 18:28:09 +00:00
Joel Sherrill
419fdf1248 Corrected prototypes for main per Ralf Corsepius' report of warnings
generated when egcs is used with "-Wall -pedantic".
1998-01-21 16:50:18 +00:00
Joel Sherrill
6ab91d9724 Removed warning per Chris Johns' suggestion. 1998-01-20 20:32:15 +00:00
Joel Sherrill
fbaf52eb26 Removed warning per Chris John's suggestion. 1998-01-20 20:31:21 +00:00
Joel Sherrill
cb5bfe40fd Removed CONFIG_DIR and PROJECT_HOME directories. 1998-01-20 19:41:09 +00:00
Joel Sherrill
bffb938799 Removed PROJECT_HOME and CONFIG_DIR variables. 1998-01-20 19:30:30 +00:00
Joel Sherrill
3294650cc3 Added _times_r. 1998-01-19 22:31:23 +00:00
Joel Sherrill
866c465f53 more info from Eric 1998-01-19 22:27:56 +00:00
Joel Sherrill
4dc0fd685b Patch from Eric Norum:
With this in place, it is possible to fdopen a TCP stream socket and
  getc/fprintf/etc. on the STDIO stream!
1998-01-19 22:22:25 +00:00
Joel Sherrill
6f9c75c322 Ralf Corsepius reported a number of missing CVS Id's:
> RTEMS is under CVS control and has been since rtems 3.1.16 which was
  > around May 1995.  So I just to add the $Id$.  If you notice other files
  > with missing $Id$'s let me know.  I try to keep w\up with it.

  Now that you have asked -- I'll attach a list of files lacking an RCS-Id to
  this mail. This list has been generated by a little sh-script I'll also
  enclose.
1998-01-16 16:56:48 +00:00
Joel Sherrill
3a7782b09e Jennifer found some uninitialized variables:
+ major and minor number elements in rtems_termios_open.

  + arg->ioctl_return in rtems_termios_ioctl routine.
1998-01-16 15:37:20 +00:00
Joel Sherrill
87904ba261 Error reported by Duncan Smith <dds@flavors.com>:
>> >>There is a 30 day error in  _TOD_Days_since_last_leap_year[2..3]
    >> >
    >> >Thanks.
    >> >What's the condition to hit this error?
    >> >Every year 4n+2 and 4n+3 ?
    >> >(i.e. 1998, 1999, 2002, 2003, ...)
    >> >
    >> OK:  96 97       00 01       04 05 ...
    >> Bad:       98 99       02 03       06 07 ...

There is also a problem in newlib 1.7.x reported at the same time:

  >> I found another, that would strike only on 2/29/2000, or other leapyears.
  >> Only a problem on 1 day.
  >>
  >> Joel:  FYI, there is a bug in Newlib localtime.c, localtime or (_tm_time).
  >> Ours is modified for dst and timezones, but the bug was in original source.
  >> I have not looked at the latest public source (nor do I know where to find
  >> it).
1998-01-15 21:39:15 +00:00
Joel Sherrill
35a1ec9933 Updates from Eric Norum. Changed CPU CFLAG and went to a common name
for the network driver attach entry point.
1998-01-06 20:18:21 +00:00
Joel Sherrill
2872e0bb1c Changed initial settings of first time. 1998-01-06 15:47:37 +00:00
Joel Sherrill
b2225d72ba Fixed spacing. 1998-01-06 15:40:35 +00:00
Joel Sherrill
2934c3e3d8 Updated for the first time in a long while. 1997-12-23 16:24:21 +00:00
Joel Sherrill
4f7fd59a87 Added CONFIGURE_GNAT_KEYS to correct the number of keys configured
for GNAT.  It was the number of Ada tasks when in fact the run-time
only required a single key.

Also added the CONFIGURE_MAXIMUM_FAKE_ADA_TASKS constant to account
for resources allocated for each non-Ada task/thread which invokes
the Ada run-time implicitly through an Ada call.
1997-12-23 16:03:43 +00:00
Joel Sherrill
c257ec4eb4 Fixes from Eric Norum. C++ support added in previous version was broken:
1) In my haste to add C++ constructor/destructors to the 68360
   linkcmds scripts I managed to break all existing 68360 programs.
   Linker scripts which actually produce a working executable are
   contained below.  The problem was that the constructor/destructors
   weren't included before the etext symbol.

On top of that Eric and I appear to have problems with attachments:

   2) In deciphering the above problem I think I stumbled across the
   reason you've had with patches mailed from me.  I noticed that the
   linkcmds (and linkcmds.bootp) scripts in the latest distribution have
   a control-M (carriage return) at the end of each line.  Could you
   check the files below before installing them in the distribution and
   see that there aren't returns in the files?  Maybe if I send
   everything as a tar attatchment things will work better.
1997-12-22 18:23:58 +00:00
Joel Sherrill
608641e6d2 Corrected prototypes for all termios console write driver entries to
properly reflect the const on the buffer pointer being passed in.
1997-12-22 17:29:51 +00:00
Joel Sherrill
2ab1b3ac52 Now generating this file with autoconf to avoid having to embed so
much target specific information in the script.
1997-12-22 17:28:32 +00:00
Joel Sherrill
86765accd2 Changed invocation of size_rtems to match new autoconf'ed version. 1997-12-22 17:27:49 +00:00
Joel Sherrill
4bf453a349 Changed from .align to .p2align to avoid differences in meaning of
.align between i386-rtems (real number on .align) and i386-go32-rtems
(power of 2).
1997-12-22 17:27:17 +00:00