source: rtems/c/PROBLEMS @ 98100d2
Last change on this file since 98100d2 was 98100d2, checked in by Joel Sherrill <joel.sherrill@…>, on Jun 27, 1998 at 5:09:47 PM

Monstrous patch from Ralf Corsepius <corsepiu@…>. I have
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/, 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/ 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.)

  • 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/* 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
  • 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 i3456?86-unknown-freebsd2.12? with i3456?86-*freebsd2.* in, as I suppose there might exist a variety of valid vendors (2nd field of the name-tripple)
  • Disabled override MAKEFLAGS in toplevel - 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.
  • Property mode set to 100644
File size: 2.5 KB
2#  $Id$
5This is the list of outstanding problems in this release.
7+   AMD 29k port is based on a non-GNU toolset.
9+   The test spfatal is out of date and as a result will NOT execute
10    correctly.  The addition of POSIX and consequent ongoing initialization
11    reorganization makes it pointless to fix this until the POSIX support
12    is completely in place.
14+   The m68k family has become quite large and an understanding of the
15    compatibility of the peripherals on the various members of the 683xx
16    family would allow someone to designate some of the drivers submitted
17    for the gen683xx BSPs as useful on other members.
19+   The only supported i960 family member is the CA.  No support for the
20    floating point support found in other family members is present.
21    This also implies that RTEMS may "think" of something as generic
22    across the i960 family when in fact it is specific to the CA.
23    To make matters worse, the i960 target board owned by the RTEMS Project
24    is now broken and as a result even the i960CA is a "compile only" port.
26+   Some of the BSPs still define RAM_START and RAM_END in the bsp.h file.
27    It is better to define these in the linkcmds file.  It is also nice
28    to use the linkcmds file to place overlays for on-board hardware.
30+   Not all of the BSP console drivers have been converted to termios.
31    Look at the m68k/gen68360, sparc/erc32, and powerpc/psim BSPs for
32    examples.
34+   UNIX port notes:
36       + sometimes a stray SIGALRM is reported as spfatal completes.
38       + There are conflicts between the names of native library routines
39         which MUST be used and those in the POSIX support.  This must
40         be addressed.  The POSIX API cannot be used with this port as a
41         result of this.
43+   Some of the tests may execute correctly and not produce the exact
44    ordering of lines in the screen file.  This appears to be a combination
45    of a number of factors including buffering, processor speed, IO
46    device overhead, and clock interrupt rate.
48+   The clock device drivers should really avoid doing the division
49    by 1000 in the clock tick ISR to convert microseconds into
50    milliseconds.  This only applies to clock drivers which generate
51    an ISR each millisecond and only call rtems_clock_tick every
52    so many ISRs.
54+  Cross-check configure --enable-* flags.
55   + warn/refuse to configure when --enable-libcdir and
56     --enable-gcc28 are given.
57   + force --enable-libcdir when --disable-gcc28 is given
Note: See TracBrowser for help on using the repository browser.